/* Glow picker: shared across public pages; the existing ring lifecycle stays intact. */
#mm-colour-picker{
 --mm-picker-size:min(520px,62vh,68vw);--mm-picker-control:44px;
 width:calc(var(--mm-picker-size) + 40px);max-width:calc(100vw - 30px);
 max-height:calc(100dvh - 30px);padding:20px;
 overflow:visible;border:0;background:transparent;color:var(--ink,var(--purple));
}
#mm-colour-picker::backdrop{
 background:color-mix(in srgb,var(--mm-picker-overlay,#402144) 50%,transparent);
 mix-blend-mode:multiply;transition:opacity 550ms cubic-bezier(.22,.61,.36,1),background-color 550ms cubic-bezier(.22,.61,.36,1);
}
#mm-colour-picker .mm-extra-colours{width:var(--mm-picker-size);margin:0;isolation:isolate}
#mm-colour-picker .mm-picker-glow{
 position:absolute;inset:-6.25%;width:112.5%;height:112.5%;object-fit:contain;z-index:-1;
 pointer-events:none;filter:none!important;opacity:0;mix-blend-mode:normal;
}
#mm-colour-picker .mm-picker-centre{position:absolute;inset:27% 16%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;translate:0 -10px;text-align:center;pointer-events:none;color:var(--ink,var(--purple))}
#mm-colour-picker .mm-picker-prompt{font-family:var(--mm-body-font);font-size:clamp(18px,1.6vw,24px);font-weight:400;line-height:1.4;white-space:pre-line}
#mm-colour-picker .mm-extra-colour-name{position:static;display:block;color:inherit;font-family:var(--mm-brand-font);font-size:clamp(36px,4.5vw,68px);font-weight:600;line-height:.95;letter-spacing:-.03em;white-space:pre-line}
#mm-colour-picker .mm-extra-colours button{width:44px;height:44px}
#mm-colour-picker .mm-extra-colours button:focus-visible{outline:2px solid var(--mm-focus-colour,var(--purple));outline-offset:8px}
#mm-colour-picker .mm-picker-controls{position:absolute;left:calc(20px + var(--mm-picker-size) + 35px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:0;border:0;overflow:visible}
/* Icon circles are excluded from the shared text-pill dimensions. */
@layer mm-pill-body-text{
 body #mm-colour-picker .mm-picker-controls :is(button.pill,button.mm-colour-close){padding:0!important;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%!important;font-size:28px!important;line-height:1!important}
}
:root body #mm-colour-picker .mm-picker-controls button,
:root body #mm-colour-picker .mm-picker-controls button:is(:hover,:focus,:focus-visible,[aria-pressed=true]){
 position:relative;inset:auto;display:grid;place-items:center;flex:0 0 auto;margin:0;
 background:var(--mm-c-bab0a0,#bab0a0)!important;color:var(--ink,var(--purple))!important;border:0!important;box-shadow:none!important;
}
:root body #mm-colour-picker .mm-picker-controls button:focus-visible{outline:2px solid var(--mm-focus-colour,var(--purple))!important;outline-offset:4px!important}
#mm-colour-picker .mm-picker-controls button[data-mm-colour-choice=bw]{margin-top:0}
#mm-colour-picker .mm-picker-controls button[data-mm-colour-choice=bw]::before{content:none}
#mm-colour-picker .mm-picker-separator{display:block;flex:0 0 2px;width:44px;height:2px;margin:0;background:var(--mm-c-bab0a0,#bab0a0)}
#mm-colour-picker .mm-picker-controls button::after{content:attr(data-tip);position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%);font-family:var(--mm-brand-font);font-size:18px;font-weight:600;line-height:1.42;white-space:nowrap;color:var(--ink,var(--purple));opacity:0;pointer-events:none;transition:opacity 220ms}
#mm-colour-picker .mm-picker-controls button:is(:hover,:focus-visible)::after{opacity:1}
#mm-colour-picker .mm-picker-icon{display:block;position:static;width:18px;height:18px;margin:0;border:1px solid currentColor;box-sizing:border-box}
#mm-colour-picker .mm-clear-icon{display:block;width:24px;height:24px;margin:0;line-height:0;vertical-align:initial}
#mm-colour-picker .mm-clear-icon svg{display:block;width:100%;height:100%}
#mm-colour-picker .mm-picker-icon-bw{background:linear-gradient(90deg,#000000,#ffffff)}
#mm-colour-picker .mm-picker-icon-contrast{background:linear-gradient(90deg,#000000 50%,#ffffff 50%)}
#mm-colour-picker .mm-picker-icon-contrast-blue-yellow{background:linear-gradient(90deg,#000080 50%,#ffff00 50%)}
#mm-colour-picker .mm-picker-icon-contrast-black-green{background:linear-gradient(90deg,#000000 50%,#00ff00 50%)}
@media(max-width:800px){
 #mm-colour-picker{--mm-picker-size:min(66vw,56dvh);padding:15px;width:calc(var(--mm-picker-size) + 30px)}
 #mm-colour-picker .mm-picker-controls{left:calc(15px + var(--mm-picker-size) + 10px);gap:10px}
 #mm-colour-picker .mm-picker-centre{inset:25% 14%;gap:6px}
 #mm-colour-picker .mm-picker-prompt{font-size:clamp(14px,3vw,20px)}
 #mm-colour-picker .mm-extra-colour-name{font-size:clamp(25px,6vw,45px)}
 #mm-colour-picker .mm-picker-controls button::after{left:auto;right:calc(100% + 10px);padding:3px 6px;background:var(--mm-c-bab0a0,#bab0a0)}
}
@media(max-height:500px){#mm-colour-picker{--mm-picker-size:min(65vw,75dvh)}#mm-colour-picker .mm-picker-controls{gap:5px;scale:.8}}
@media(prefers-reduced-motion:reduce){#mm-colour-picker::backdrop,#mm-colour-picker .mm-picker-controls button::after{transition:none}}

:root[data-mm-colour="contrast"]{
 --mm-contrast-bg:#000000;--mm-contrast-text:#FFFFFF;
 --mm-c-000000:#FFFFFF;--mm-rgb-000000:255 255 255;
 --mm-c-402144:#FFFFFF;--mm-rgb-402144:255 255 255;
 --mm-c-723b7a:#FFFFFF;--mm-rgb-723b7a:255 255 255;
 --mm-c-958584:#000000;--mm-rgb-958584:0 0 0;
 --mm-c-b7ad9d:#000000;--mm-rgb-b7ad9d:0 0 0;
 --mm-c-ba9fbd:#000000;--mm-rgb-ba9fbd:0 0 0;
 --mm-c-bab0a0:#000000;--mm-rgb-bab0a0:0 0 0;
 --mm-c-bea1c2:#000000;--mm-rgb-bea1c2:0 0 0;
 --mm-c-c3a5c8:#000000;--mm-rgb-c3a5c8:0 0 0;
 --mm-c-cbc4b9:#000000;--mm-rgb-cbc4b9:0 0 0;
 --mm-c-d0c8bc:#000000;--mm-rgb-d0c8bc:0 0 0;
 --mm-c-d3bfd6:#000000;--mm-rgb-d3bfd6:0 0 0;
 --mm-c-d7d0c5:#000000;--mm-rgb-d7d0c5:0 0 0;
 --mm-c-d8d0c4:#000000;--mm-rgb-d8d0c4:0 0 0;
 --mm-c-dad5cd:#000000;--mm-rgb-dad5cd:0 0 0;
 --mm-c-ded8ce:#000000;--mm-rgb-ded8ce:0 0 0;
 --mm-c-f26e38:#000000;--mm-rgb-f26e38:0 0 0;
 --mm-c-ffffff:#000000;--mm-rgb-ffffff:0 0 0;
 --mm-action-background:#000000;--mm-action-text:#FFFFFF;--mm-navigation-hover:#FFFFFF;--mm-focus-colour:#FFFFFF;--mm-hero-heading-colour:#FFFFFF;--mm-faq-background:#000000;
}

:root[data-mm-colour="contrast-blue-yellow"]{
 --mm-contrast-bg:#000080;--mm-contrast-text:#FFFF00;
 --mm-c-000000:#FFFF00;--mm-rgb-000000:255 255 0;
 --mm-c-402144:#FFFF00;--mm-rgb-402144:255 255 0;
 --mm-c-723b7a:#FFFF00;--mm-rgb-723b7a:255 255 0;
 --mm-c-958584:#000080;--mm-rgb-958584:0 0 128;
 --mm-c-b7ad9d:#000080;--mm-rgb-b7ad9d:0 0 128;
 --mm-c-ba9fbd:#000080;--mm-rgb-ba9fbd:0 0 128;
 --mm-c-bab0a0:#000080;--mm-rgb-bab0a0:0 0 128;
 --mm-c-bea1c2:#000080;--mm-rgb-bea1c2:0 0 128;
 --mm-c-c3a5c8:#000080;--mm-rgb-c3a5c8:0 0 128;
 --mm-c-cbc4b9:#000080;--mm-rgb-cbc4b9:0 0 128;
 --mm-c-d0c8bc:#000080;--mm-rgb-d0c8bc:0 0 128;
 --mm-c-d3bfd6:#000080;--mm-rgb-d3bfd6:0 0 128;
 --mm-c-d7d0c5:#000080;--mm-rgb-d7d0c5:0 0 128;
 --mm-c-d8d0c4:#000080;--mm-rgb-d8d0c4:0 0 128;
 --mm-c-dad5cd:#000080;--mm-rgb-dad5cd:0 0 128;
 --mm-c-ded8ce:#000080;--mm-rgb-ded8ce:0 0 128;
 --mm-c-f26e38:#000080;--mm-rgb-f26e38:0 0 128;
 --mm-c-ffffff:#000080;--mm-rgb-ffffff:0 0 128;
 --mm-action-background:#000080;--mm-action-text:#FFFF00;--mm-navigation-hover:#FFFF00;--mm-focus-colour:#FFFF00;--mm-hero-heading-colour:#FFFF00;--mm-faq-background:#000080;
}

:root[data-mm-colour="contrast-black-green"]{
 --mm-contrast-bg:#000000;--mm-contrast-text:#00FF00;
 --mm-c-000000:#00FF00;--mm-rgb-000000:0 255 0;
 --mm-c-402144:#00FF00;--mm-rgb-402144:0 255 0;
 --mm-c-723b7a:#00FF00;--mm-rgb-723b7a:0 255 0;
 --mm-c-958584:#000000;--mm-rgb-958584:0 0 0;
 --mm-c-b7ad9d:#000000;--mm-rgb-b7ad9d:0 0 0;
 --mm-c-ba9fbd:#000000;--mm-rgb-ba9fbd:0 0 0;
 --mm-c-bab0a0:#000000;--mm-rgb-bab0a0:0 0 0;
 --mm-c-bea1c2:#000000;--mm-rgb-bea1c2:0 0 0;
 --mm-c-c3a5c8:#000000;--mm-rgb-c3a5c8:0 0 0;
 --mm-c-cbc4b9:#000000;--mm-rgb-cbc4b9:0 0 0;
 --mm-c-d0c8bc:#000000;--mm-rgb-d0c8bc:0 0 0;
 --mm-c-d3bfd6:#000000;--mm-rgb-d3bfd6:0 0 0;
 --mm-c-d7d0c5:#000000;--mm-rgb-d7d0c5:0 0 0;
 --mm-c-d8d0c4:#000000;--mm-rgb-d8d0c4:0 0 0;
 --mm-c-dad5cd:#000000;--mm-rgb-dad5cd:0 0 0;
 --mm-c-ded8ce:#000000;--mm-rgb-ded8ce:0 0 0;
 --mm-c-f26e38:#000000;--mm-rgb-f26e38:0 0 0;
 --mm-c-ffffff:#000000;--mm-rgb-ffffff:0 0 0;
 --mm-action-background:#000000;--mm-action-text:#00FF00;--mm-navigation-hover:#00FF00;--mm-focus-colour:#00FF00;--mm-hero-heading-colour:#00FF00;--mm-faq-background:#000000;
}

/* Exact two-colour interfaces, including all shared cards, forms and navigation. */
:root[data-mm-colour^="contrast"] body{background:var(--mm-contrast-bg);color:var(--mm-contrast-text)}
:root[data-mm-colour^="contrast"] body :is(header,footer,main,section,article,details,.testimonial-preview-copy,.booking-panel,.booking-coach,.booking-team-card,.privacy-notice,.services-dropdown,dialog:not(#mm-colour-picker)){
 background-color:var(--mm-contrast-bg)!important;color:var(--mm-contrast-text)!important;border-color:var(--mm-contrast-text)!important;
}
:root[data-mm-colour^="contrast"] body :is(p,h1,h2,h3,h4,h5,h6,a,label,summary,li,dt,dd,.team-pronouns,.mm-profile-role):not(:where(#mm-colour-picker *,a.pill,a.pill *,a.button,a.btn)){
 color:var(--mm-contrast-text)!important;-webkit-text-fill-color:var(--mm-contrast-text)!important;
}
:root[data-mm-colour^="contrast"] body :is(input:not([type=hidden]),textarea,select){background:var(--mm-contrast-bg)!important;color:var(--mm-contrast-text)!important;border-color:var(--mm-contrast-text)!important}
:root[data-mm-colour^="contrast"] body :is(button,a.pill,a.button,a.btn,input[type=submit]):not(:where(#mm-colour-picker *,[data-mm-colour-choice],.nav-services-toggle,.nav-colour-toggle,.menu,.testimonial-preview,.booking-coach,.mm-interactive-card)){
 background:var(--mm-contrast-bg)!important;color:var(--mm-contrast-text)!important;-webkit-text-fill-color:var(--mm-contrast-text)!important;border-color:var(--mm-contrast-text)!important;
}
:root[data-mm-colour^="contrast"] body :is(.site-header,.site-footer) :is(a,button):not(.pill){color:var(--mm-contrast-text)!important}
:root[data-mm-colour^="contrast"] body :is(.hero-copy,.study-hero-copy) > :is(a.pill,button.pill){background:var(--mm-contrast-bg)!important;color:var(--mm-contrast-text)!important;-webkit-text-fill-color:var(--mm-contrast-text)!important}
:root[data-mm-colour^="contrast"] body :is(.hero-copy,.study-hero-copy) > :is(a.pill,button.pill) *{color:inherit!important;-webkit-text-fill-color:inherit!important}
:root[data-mm-colour^="contrast"] body .mm-colour-dialog .mm-picker-centre{color:var(--mm-contrast-text)}

/* Symmetric dialog padding centres the ring; side controls sit outside its width. */
@media(max-width:800px){
 #mm-colour-picker .mm-extra-colours button::before{width:32px!important;height:32px!important;left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:16px 16px}
}
:root[data-mm-colour^="contrast"]{--mm-photo-treatment:grayscale(1) contrast(1.2)}
:root[data-mm-colour^="contrast"] :is(.hero,.study-hero) .veil{background:color-mix(in srgb,var(--mm-contrast-bg) 50%,transparent)!important}
:root[data-mm-colour^="contrast"] img:is([data-mm-image],[src*="assets/uploads/"],[src*="assets/photos/"],[src*="assets/team/"],[src*="assets/testimonials/"],[src*="assets/shop/"]){filter:brightness(var(--mm-photo-brightness,1)) var(--mm-photo-treatment)!important}
/* Reduced motion must retain the positioning transform while skipping travel. */
@media(prefers-reduced-motion:reduce){#mm-colour-picker .mm-extra-colours button{transform:translate(-50%,-50%)!important}}

/* Match the established high-specificity action rules using the exact mode pair. */
:root[data-mm-colour^="contrast"] body :is(button,a.pill,a.button,a.btn,input[type=submit],input[type=button],input[type=reset]):not(.booking-profile-link):not(.nav-services-toggle):not(.nav-colour-toggle):not(.menu):not([data-mm-colour-choice]):not(.testimonial-nav):not(.booking-calendar-arrow):not(.booking-calendar button):not(.booking-slot):not(.testimonial-filter):not([role=tab]){background:var(--mm-contrast-bg)!important;color:var(--mm-contrast-text)!important;-webkit-text-fill-color:var(--mm-contrast-text)!important;border:1px solid var(--mm-contrast-text)!important}
:root[data-mm-colour^="contrast"] body :is(button,a.pill,a.button,a.btn,input[type=submit],input[type=button],input[type=reset]):not(.booking-profile-link):not(.nav-services-toggle):not(.nav-colour-toggle):not(.menu):not([data-mm-colour-choice]):not(.testimonial-nav):not(.booking-calendar-arrow):not(.booking-calendar button):not(.booking-slot):not(.testimonial-filter):not([role=tab]):is(.hero .pill,.study-hero .pill){background:var(--mm-contrast-bg)!important;color:var(--mm-contrast-text)!important;-webkit-text-fill-color:var(--mm-contrast-text)!important;border-color:var(--mm-contrast-text)!important}

@layer mm-pill-body-text{
 body #mm-colour-picker .mm-picker-controls button.mm-colour-close{font-size:32px!important;font-weight:400!important;line-height:1!important}
}
#mm-colour-picker:focus{outline:none!important;box-shadow:none!important}
:root[data-mm-input-modality=pointer] #mm-colour-picker .mm-picker-controls button:not(:hover)::after{opacity:0}

/* Close/reset retain accessible names without hover or focus captions. */
#mm-colour-picker .mm-picker-controls :is(.mm-colour-close,.mm-clear-colours)::after{content:none;display:none}

/* Mode circles reveal their labels within the expanding surface. */
#mm-colour-picker .mm-picker-controls{width:44px;align-items:flex-start;flex-wrap:nowrap}
#mm-colour-picker .mm-picker-controls button[data-mm-colour-choice]::after{content:none;display:none}
@layer mm-pill-body-text{
 body #mm-colour-picker .mm-picker-controls button.pill[data-mm-colour-choice]{
  width:44px!important;border-radius:9999px!important;transform:none!important;
  transition:width 550ms cubic-bezier(.22,.61,.36,1)!important;
 }
 body #mm-colour-picker .mm-picker-controls button.pill[data-mm-colour-choice]:is(:hover,:focus-visible){width:var(--mm-mode-open-width,180px)!important}
}
#mm-colour-picker .mm-picker-controls button[data-mm-colour-choice]{overflow:hidden;isolation:isolate;max-width:none}
#mm-colour-picker .mm-picker-controls button[data-mm-colour-choice] .mm-picker-icon{position:absolute;left:13px;top:13px}
#mm-colour-picker .mm-mode-label{position:absolute;left:44px;top:50%;translate:0 -50%;width:max-content;font-family:var(--mm-brand-font);font-size:18px;font-weight:600;line-height:1.42;white-space:nowrap;color:inherit;opacity:0;pointer-events:none;transition:opacity 550ms cubic-bezier(.22,.61,.36,1)}
#mm-colour-picker .mm-picker-controls button:is(:hover,:focus-visible) .mm-mode-label{opacity:1}
/* Narrow screens grow inward, keeping the full description within the viewport. */
@media(max-width:800px){#mm-colour-picker .mm-picker-controls button[data-mm-colour-choice]{align-self:flex-end}}
@media(prefers-reduced-motion:reduce){
 @layer mm-pill-body-text{body #mm-colour-picker .mm-picker-controls button.pill[data-mm-colour-choice]{transition:none!important}}
 #mm-colour-picker .mm-mode-label{transition:none}
}

/* One component treatment for all three exact high-contrast colour pairs. */
:root[data-mm-colour^="contrast"]{--mm-contrast-outline:3px solid var(--mm-contrast-text)}
@layer mm-pill-body-text{
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(.service,.pathway,.benefit-card,.study-card,.study-action-card,.shop-card,.about-mission-card,.mission-person,.about-person,.testimonial-preview,.booking-team-card,.booking-coach,.community-circle,.community-option,.mm-interactive-card,.services-dropdown){
  border:var(--mm-contrast-outline)!important;background-color:var(--mm-contrast-bg)!important;color:var(--mm-contrast-text)!important;
 }
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(.testimonial-preview-copy,.shop-card-copy){border:0!important}
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(.pill,a.button,a.btn,button.button,button.btn,.booking-secondary,input[type=submit],input[type=button],input[type=reset],.testimonial-nav,.booking-calendar-arrow,.booking-month-nav button,.booking-slot,.booking-calendar button,.mission-person-toggle,.mission-person-edge-toggle,.mm-colour-close,.testimonial-dialog-close,.booking-profile-close){
  border:var(--mm-contrast-outline)!important;background:var(--mm-contrast-bg)!important;color:var(--mm-contrast-text)!important;-webkit-text-fill-color:var(--mm-contrast-text)!important;
 }
 /* Plain navigation and text links retain their text-only geometry. */
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(.testimonial-filter,[role=tab]){
  border:var(--mm-contrast-outline)!important;background:var(--mm-contrast-bg)!important;color:var(--mm-contrast-text)!important;-webkit-text-fill-color:var(--mm-contrast-text)!important;
 }
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(.testimonial-filter,[role=tab]):is([aria-pressed=true],[aria-selected=true]){
  border:var(--mm-contrast-outline)!important;background:var(--mm-contrast-text)!important;color:var(--mm-contrast-bg)!important;-webkit-text-fill-color:var(--mm-contrast-bg)!important;
 }
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(.testimonial-filter,[role=tab]) *{color:inherit!important;-webkit-text-fill-color:inherit!important}
 /* Qualification tags invert the exact palette pair, including all inline runs. */
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .mission-person-tags>span,
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .mission-person-tags>span *{
  background:var(--mm-contrast-text)!important;color:var(--mm-contrast-bg)!important;-webkit-text-fill-color:var(--mm-contrast-bg)!important;
 }
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .site-header :is([aria-current=page],.nav-services-toggle.is-current),
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) footer [aria-current=page]{
  color:var(--mm-contrast-text)!important;-webkit-text-fill-color:var(--mm-contrast-text)!important;text-decoration:underline!important;text-underline-offset:6px;text-decoration-thickness:1px;
 }
 /* Future-topic circles are inset surfaces, so outline that surface just once. */
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .community-future-topics button.community-option{border:0!important;background:transparent!important}
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .community-future-topics button.community-option::before{border:var(--mm-contrast-outline)!important;background:var(--mm-contrast-bg)!important;box-sizing:border-box}
 /* Share the same alpha-mask chevrons in team, testimonial and approach carousels. */
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .testimonial-nav{
  background-image:none!important;color:var(--mm-contrast-text)!important;opacity:1;
  --mm-contrast-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m8 5 5 5-5 5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 }
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .testimonial-nav.testimonial-prev{
  --mm-contrast-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m12 5-5 5 5 5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 }
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .testimonial-nav::after{
  content:""!important;position:absolute;inset:0;width:auto;height:auto;pointer-events:none;background:var(--mm-contrast-text)!important;
  -webkit-mask:var(--mm-contrast-chevron) center/58% 58% no-repeat!important;mask:var(--mm-contrast-chevron) center/58% 58% no-repeat!important;
 }
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .faq-grid>details{border-color:var(--mm-contrast-text)!important}
}

/* Global section boundaries ignore intervening templates/dialogs and other helpers. */
@layer mm-pill-body-text{
 :root[data-mm-colour^="contrast"] body>main>section~section:not(:is(.hero,.study-hero,.growth-feature,.testimonial-image-break,.mm-image-break)):not(:has(>img,>picture,>figure)){
  border-top:var(--mm-contrast-outline)!important;
 }
 :root[data-mm-colour^="contrast"] body>main.about-page>:is(section.study-intro,section#about-mission,section#about-team){border-top:0!important}
}
@layer mm-pill-body-text{
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(.testimonial-filter,[role=tab]){box-shadow:none!important}
}
:root[data-mm-colour^="contrast"] #mm-colour-picker .mm-picker-controls button[data-mm-colour-choice] .mm-picker-icon{left:10px;top:10px}

/* Logo tint follows the foreground, never a background-mapped surface token. */
:root[data-mm-colour^="contrast"] :is(.mm-logo-tint,.mm-nav-logo-tint){flood-color:var(--mm-contrast-text)!important}

/* Header divider matches the shared high-contrast component border. */
@layer mm-pill-body-text{
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .site-header{border-bottom:var(--mm-contrast-outline)!important}
}

/* Footer divider uses the same border without changing navigation geometry. */
@layer mm-pill-body-text{
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page)>footer{border-top:var(--mm-contrast-outline)!important;box-sizing:border-box}
}

/* Keep labels readable, including during a staggered CSS/JavaScript upload. */
#mm-colour-picker .mm-mode-label{color:inherit!important;-webkit-text-fill-color:inherit!important}
#mm-colour-picker .mm-picker-controls button[data-mm-colour-choice]:not(:has(.mm-mode-label))::after{
 content:attr(data-tip);display:block;left:44px;right:auto;top:50%;transform:translateY(-50%);
 padding:0;background:transparent;color:inherit!important;-webkit-text-fill-color:inherit!important;
 font-family:var(--mm-brand-font);font-size:18px;font-weight:600;line-height:1.42;white-space:nowrap;
}

/* Legal shortcuts, forms and booking states share the exact contrast pairs. */
@layer mm-pill-body-text{
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .legal-contents a{
  border:var(--mm-contrast-outline)!important;box-shadow:none!important;background:var(--mm-contrast-bg)!important;color:var(--mm-contrast-text)!important;-webkit-text-fill-color:var(--mm-contrast-text)!important;
 }
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .legal-contents a[aria-current=location]{
  background:var(--mm-contrast-text)!important;color:var(--mm-contrast-bg)!important;-webkit-text-fill-color:var(--mm-contrast-bg)!important;
 }
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .legal-contents a *{color:inherit!important;-webkit-text-fill-color:inherit!important}
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(input:not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]),textarea,select){
  border:var(--mm-contrast-outline)!important;background:var(--mm-contrast-bg)!important;color:var(--mm-contrast-text)!important;-webkit-text-fill-color:var(--mm-contrast-text)!important;
 }
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(input,textarea)::placeholder{color:var(--mm-contrast-text)!important;opacity:1}
 /* The booking layout is a wrapper, not another outlined content tile. */
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .booking-panel{border:0!important;box-shadow:none!important}
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(.booking-calendar button,.booking-slot){box-shadow:none!important}
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(input,textarea,select,.booking-calendar button,.booking-slot):is(:disabled,[aria-disabled=true]){
  border:3px dotted var(--mm-contrast-text)!important;box-shadow:none!important;opacity:1!important;background:var(--mm-contrast-bg)!important;color:var(--mm-contrast-text)!important;-webkit-text-fill-color:var(--mm-contrast-text)!important;
 }
 /* Replace the old black-only dotted SVG, which disappears on dark surfaces. */
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(.booking-calendar button,.booking-slot):is(:disabled,[aria-disabled=true])::after{content:none!important;display:none!important}
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(.booking-calendar button,.booking-slot):not(:disabled):not([aria-disabled=true]):is([aria-pressed=true],:hover){
  background:var(--mm-contrast-text)!important;color:var(--mm-contrast-bg)!important;-webkit-text-fill-color:var(--mm-contrast-bg)!important;
 }
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(.booking-calendar button,.booking-slot) *{color:inherit!important;-webkit-text-fill-color:inherit!important}
}

/* Number and downward-toggle circles use the explicitly requested white surface. */
@layer mm-pill-body-text{
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(.study-step-number,.mission-person-edge-toggle,.mission-person-toggle,.testimonial-toggle):is(span,button,a),
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .testimonial-copy>details>summary::after{
  background-color:#ffffff!important;color:var(--mm-contrast-bg)!important;-webkit-text-fill-color:var(--mm-contrast-bg)!important;border-color:#ffffff!important;
 }
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .study-step-number *{color:inherit!important;-webkit-text-fill-color:inherit!important}
}

:root[data-mm-colour="contrast"]{--mm-svg-4:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-5:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 12l5-5 5 5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-6:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-7:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 12l5-5 5 5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-10:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-11:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 12l5-5 5 5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-12:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-13:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 12l5-5 5 5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}

:root[data-mm-colour="contrast-blue-yellow"]{--mm-svg-4:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23000080' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-5:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 12l5-5 5 5' fill='none' stroke='%23000080' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-6:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23000080' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-7:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 12l5-5 5 5' fill='none' stroke='%23000080' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-10:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23000080' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-11:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 12l5-5 5 5' fill='none' stroke='%23000080' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-12:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23000080' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-13:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 12l5-5 5 5' fill='none' stroke='%23000080' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}

:root[data-mm-colour="contrast-black-green"]{--mm-svg-4:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-5:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 12l5-5 5 5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-6:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-7:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 12l5-5 5 5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-10:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-11:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 12l5-5 5 5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-12:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--mm-svg-13:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 12l5-5 5 5' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
@layer mm-pill-body-text{
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) :is(button.mission-person-edge-toggle,button.mission-person-toggle){background-image:var(--mm-svg-12)!important;background-position:center!important;background-size:58% 58%!important;background-repeat:no-repeat!important}
 :root[data-mm-colour^="contrast"] body:not(.mm-admin-page) .mission-person-shell:has(.mission-person[open])>.mission-person-edge-toggle{background-image:var(--mm-svg-13)!important}
}

/* Reveal mode descriptions only as the 550ms pill expansion finishes. */
#mm-colour-picker .mm-picker-controls button[data-mm-colour-choice] .mm-mode-label,
#mm-colour-picker .mm-picker-controls button[data-mm-colour-choice]:not(:has(.mm-mode-label))::after{
 transition:opacity 150ms cubic-bezier(.22,.61,.36,1);
}
#mm-colour-picker .mm-picker-controls button[data-mm-colour-choice]:is(:hover,:focus-visible) .mm-mode-label,
#mm-colour-picker .mm-picker-controls button[data-mm-colour-choice]:not(:has(.mm-mode-label)):is(:hover,:focus-visible)::after{
 transition:opacity 100ms cubic-bezier(.22,.61,.36,1) 550ms;
}
@media(prefers-reduced-motion:reduce){
 #mm-colour-picker .mm-picker-controls button[data-mm-colour-choice] .mm-mode-label,
 #mm-colour-picker .mm-picker-controls button[data-mm-colour-choice]:not(:has(.mm-mode-label))::after{transition:none!important}
}

/* Opacity is the label's only motion: avoid translated-text raster shifts. */
#mm-colour-picker .mm-picker-controls button[data-mm-colour-choice] .mm-mode-label,
#mm-colour-picker .mm-picker-controls button[data-mm-colour-choice]:not(:has(.mm-mode-label))::after{
 top:50%;margin-top:-.71em;transform:none!important;translate:none!important;animation:none!important;
}
/* On inward expansion, anchor the label to the stationary right edge. */
@media(max-width:800px){
 #mm-colour-picker .mm-picker-controls button[data-mm-colour-choice] .mm-mode-label,
 #mm-colour-picker .mm-picker-controls button[data-mm-colour-choice]:not(:has(.mm-mode-label))::after{left:auto;right:14px}
}
