/* Mission values: short, equally weighted passages in the established card system. */
.about-mission{background:var(--lilac);padding-top:var(--mm-section-top);padding-bottom:var(--mm-section-top)}
.about-mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--mm-card-gap,30px)}
.about-mission .about-mission-card{padding:var(--mm-box-padding,30px);background:rgb(var(--mm-rgb-ffffff,255 255 255) / .3);min-width:0}
.about-mission-card h3{font-size:clamp(24px,2vw,30px);line-height:1.2;margin:0 0 20px;font-weight:600}
.about-mission-card p{font-size:var(--body-copy-size);line-height:var(--body-copy-leading);margin:0}
@media(max-width:900px){.about-mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.about-mission-grid{grid-template-columns:1fr}}
@media(max-width:800px){.about-mission{padding-bottom:var(--mm-mobile-section-bottom,29px)}}

/* Team profile mockup: portrait beside identity, then one calm reading column. */
.testimonial-dialog.mm-team-profile{width:min(1000px,calc(100% - 32px))}
.mm-team-profile .mm-profile-header{display:grid;grid-template-columns:150px minmax(0,1fr);gap:40px;align-items:center;margin:0 0 40px}
.mm-team-profile .mm-profile-portrait{display:block;width:150px;height:150px;object-fit:cover;border-radius:50%;margin:0}
.mm-team-profile .mm-profile-identity{min-width:0;text-align:left}
.mm-team-profile .mm-profile-identity h2{font-size:clamp(32px,4vw,44px);line-height:1.2;margin:0 0 15px;letter-spacing:-.03em;text-align:left}
.mm-team-profile .mm-profile-identity .team-pronouns{font-size:var(--body-copy-size)!important;line-height:var(--body-copy-leading);font-weight:350!important;letter-spacing:normal}
.mm-team-profile .mm-profile-role{display:block;font-size:var(--body-copy-size);line-height:var(--body-copy-leading);margin:0 0 25px;text-align:left}
.mm-team-profile .mission-person-tags{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px;margin:0;text-align:left}
.mm-team-profile .mission-person-tags>span{background:var(--lilac);padding:5px 12px;font-size:16px;line-height:var(--body-copy-leading)}
.mm-team-profile .mm-profile-body p{font-size:var(--body-copy-size);line-height:var(--body-copy-leading);margin:0 0 1.2em}
.mm-team-profile .mm-profile-body p:last-child{margin-bottom:0}
.mm-team-profile .mm-profile-intro,.mm-team-profile .mm-profile-intro strong{font-weight:600}
@media(max-width:600px){
 .mm-team-profile .mm-profile-header{grid-template-columns:92px minmax(0,1fr);align-items:start;gap:20px;margin-bottom:30px}
 .mm-team-profile .mm-profile-portrait{width:92px;height:92px}
 .mm-team-profile .mm-profile-identity h2{font-size:30px}
 .mm-team-profile .mm-profile-identity .team-pronouns{display:block;margin-top:5px;white-space:normal}
 .mm-team-profile .mm-profile-role{margin-bottom:15px}
}

/* Body font switch. To revert, set --mm-body-font to var(--mm-brand-font). */
:root{--mm-brand-font:Montserrat,Arial,sans-serif;--mm-body-font:Roboto,Arial,sans-serif}
body{font-family:var(--mm-body-font)}
h1,h2,h3,h4,h5,h6{font-family:var(--mm-brand-font)}
.site-header,.site-footer,footer,.pill,button,[role="button"],input,select,textarea{font-family:var(--mm-body-font)}

/* Slightly larger reading text; action and navigation sizing stays independent. */
:root{--body-copy-size:clamp(19.5px,calc(1.45vw + 2.5px),23.5px);--body-copy-leading:1.35}

.site-header,footer{--body-copy-size:clamp(17px,1.45vw,21px);--body-copy-leading:1.45}

/* Circles are 10% smaller; a single gap controls both grid directions. */
.about-page .study-intro{padding-bottom:0}
.about-page .study-intro-layout{grid-template-columns:minmax(0,1fr);gap:0}
.about-page .study-intro-layout>h2,.about-page .study-intro-layout>.study-banner-copy{grid-column:1 / -1}
.about-page .study-intro-layout .study-banner-copy>.kicker:empty{margin:0}
/* Join the intro to the values; override the shared section !important rules.
   Match the visible last-row-to-boundary gap, allowing for heading font bearings. */
#top.about-page>.study-intro{padding-bottom:0!important}
#top.about-page>.about-mission{padding-top:var(--mm-section-bottom,80px)!important}
.about-page .study-intro-layout>h2{margin-bottom:-.15em}
@supports(text-box-trim:trim-end){
 .about-page .study-intro-layout>h2{margin-bottom:0;text-box-trim:trim-end;text-box-edge:cap alphabetic}
}
@media(max-width:800px){#top.about-page>.about-mission{padding-top:var(--mm-mobile-section-bottom,29px)!important}}
.about-mission{container-type:inline-size}
.about-mission .study-section-head[hidden]{display:none}
.about-mission-grid{--mm-value-diameter:calc(100cqw / 5.8);--mm-value-gap:calc(var(--mm-value-diameter)*.20);isolation:isolate;align-items:start;grid-template-columns:repeat(5,var(--mm-value-diameter));justify-content:center;width:100%;margin-inline:auto;gap:var(--mm-value-gap)}
.about-mission .about-mission-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-self:center;text-align:center;width:100%;aspect-ratio:1;border-radius:50%;padding:calc(var(--mm-value-diameter)/20);transform:scale(1);transform-origin:center;transition:transform 550ms cubic-bezier(.16,1,.3,1);z-index:0}
.about-mission-card h3{font-size:var(--body-copy-size);line-height:var(--body-copy-leading);margin-bottom:15px;text-wrap:balance}
.about-mission-card p{font-size:var(--body-copy-size);line-height:var(--body-copy-leading);margin:0;max-width:29ch;text-wrap:balance}
.about-mission-card .sketch-ring{position:absolute;inset:0;width:100%;height:100%;margin:0;overflow:visible;pointer-events:none;z-index:1}
.about-mission-card .sketch-ring path{fill:none;stroke:var(--purple);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset 850ms cubic-bezier(.35,0,.15,1),opacity 550ms cubic-bezier(.16,1,.3,1)}
.about-mission-card>h3,.about-mission-card>p{position:relative;z-index:2}
@media(hover:hover) and (pointer:fine){
 .about-mission .about-mission-card:hover{transform:scale(1.15);z-index:2}
 .about-mission-card:hover .sketch-ring path{stroke-dashoffset:0;opacity:1}
}
@media(max-width:1100px){.about-mission-grid{--mm-value-diameter:calc((100cqw - 30px)*.3375);--mm-value-gap:calc((100cqw - 30px)/16 + 7.5px);grid-template-columns:repeat(2,var(--mm-value-diameter))}}
@media(max-width:600px){.about-mission-grid{--mm-value-diameter:min(243px,67.5cqw);--mm-value-gap:calc(var(--mm-value-diameter)/6 + 5px);grid-template-columns:var(--mm-value-diameter);max-width:none}}
@media(prefers-reduced-motion:reduce){.about-mission .about-mission-card,.about-mission-card .sketch-ring path{transition:none}.about-mission .about-mission-card:hover{transform:none}}

/* A visual line break does not become a newline in protected editor content. */
.about-mission-card p .mm-circle-last-word{display:block;white-space:nowrap}

/* Shared public heading alignment and fully rounded action controls. */
body:not(.mm-admin-page){--mm-action-radius:999px}
body:not(.mm-admin-page) main :is(h1,h2){text-align:left!important}
body:not(.mm-admin-page) main :is(.study-section-head,.benefits-head,.testimonials-head,.faq-head,.pathways-head,.shop-head,.mission-team-title){text-align:left!important;margin-inline:0}
body:not(.mm-admin-page) main :is(.study-section-head,.benefits-head,.testimonials-head,.faq-head,.pathways-head,.shop-head)>p{text-align:left!important}
body:not(.mm-admin-page) main :is(.testimonial-filters,.faq-filters,.shop-filters,[role=tablist]){justify-content:flex-start!important;text-align:left}
body:not(.mm-admin-page) .mission-title{font-family:var(--mm-brand-font)!important}
/* Natural hero photographs in every palette and viewport. Keep the separate
   gradient veil and the homepage picture crossfade unchanged. */
body:not(.mm-admin-page) :is(.hero .hero-bg,.study-hero>img){
 --mm-photo-brightness:1;
 filter:none!important;
 opacity:1!important;
 mix-blend-mode:normal!important;
}
/* Tile markers are explicitly editable text, rather than permanent empty dots. */
body:not(.mm-admin-page) .pathway ul{list-style:none;padding-left:0}
html:not(.mm-inline-editing) main li.mm-empty-tile-item{display:none}
html.mm-inline-editing main li.mm-empty-tile-item{min-height:1.5em}

html.mm-inline-editing main li.mm-empty-tile-item :is([data-mm-text],mm-edit-text){display:block;min-height:1.5em}
/* Left align the remaining section introductions, including their descriptions. */
body:not(.mm-admin-page) main :is(.intro,.about,.contact,.study-final,.study-vision,.study-get-started,.study-included,.study-how,.testimonials,.faq) :is(h2+p,.section-intro,.section-description){text-align:left!important}

body:not(.mm-admin-page) main :is(.study-card:not(.about-mission-card),.benefit-card,.pathway,.service,.growth-feature-copy) :is(h3,p){text-align:left!important}

/* One full-width section heading, with the retired kicker kept in protected storage. */
body:not(.mm-admin-page) main .intro{display:block;padding-top:var(--mm-heading-section-top)!important}
body:not(.mm-admin-page) main .intro > .kicker{display:none}
body:not(.mm-admin-page) main .intro h2{font-size:clamp(38px,4.3vw,66px);line-height:1.02;letter-spacing:-.035em;font-weight:700;text-align:left!important;max-width:none;margin:0}
body:not(.mm-admin-page) main .intro h2 br{display:none}

/* Retire the final circle visually while preserving its protected editor fields. */
.about-mission .about-mission-card:nth-child(9){display:none}

/* Shared large-heading top inset: 20% more than the previous half-section spacing. */
:root{--mm-heading-section-top:calc(var(--mm-section-top) * .6)}
body:not(.mm-admin-page) main > section:has(h2,.mission-team-title):not(.hero):not(.study-hero):not(.intro):not(.growth-feature):not(.testimonial-image-break):not(.about-mission),
body:not(.mm-admin-page) .growth-feature-copy:has(h2){padding-top:var(--mm-heading-section-top)!important}

/* Homepage services are retired; retain the protected source fields. */
body:not(.mm-admin-page) main:not(.study-page) > .services{display:none}
body:not(.mm-admin-page) .benefits-head{max-width:none;text-align:left}
body:not(.mm-admin-page) .benefits-head > p{max-width:none;margin-inline:0;text-align:left}
.approach-carousel{position:relative}
.approach-carousel .benefits-grid{display:grid;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:calc((100% - 2 * var(--mm-card-gap,24px)) / 3);grid-auto-rows:1fr;gap:var(--mm-card-gap,24px);overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;position:relative;padding-block:20px;margin-block:-20px}
.approach-carousel .benefits-grid::-webkit-scrollbar{display:none}
.approach-carousel .benefit-card{min-width:0;height:auto}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .approach-carousel .benefit-card:hover{transform:scale(1.025);z-index:2}
 .approach-carousel .benefit-card:nth-child(3n+1){transform-origin:left center}
 .approach-carousel .benefit-card:nth-child(3n){transform-origin:right center}
}
.approach-carousel .approach-arrow{position:absolute;top:50%;transform:translateY(-50%);margin:0;z-index:3}
.approach-carousel .testimonial-prev{left:-20px;right:auto}
.approach-carousel .testimonial-next{right:-20px;left:auto}
.approach-carousel .approach-arrow:disabled{opacity:.4;cursor:default}
.approach-carousel .approach-arrow:focus-visible,.approach-carousel .benefits-grid:focus-visible{outline:2px solid var(--mm-focus-colour,var(--purple));outline-offset:4px}
.approach-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:800px){.approach-carousel .benefits-grid{grid-auto-columns:100%}}

/* Empty editor rows must not add space above the trial buttons. */
html:not(.mm-inline-editing) main :is(ul,ol):not(:has(li:not(.mm-empty-tile-item))),
html:not(.mm-inline-editing) .pathways .pathway > p:empty{display:none}
html:not(.mm-inline-editing) .pathways .pathway > .pathway-tag{margin-bottom:calc((24px + 22px + 28px) / 2)}
html:not(.mm-inline-editing) .pathways .pathway > .mm-empty-tile-row{display:none}

/* Empty first heading fields must not leave a blank line above the visible title. */
html:not(.mm-inline-editing) main :is(h1,h2,h3) > mm-content:empty + br{display:none}

/* More breathing room inside the values circles; copy uses three balanced lines. */
.about-mission .about-mission-card{padding:calc(var(--mm-value-diameter) / 10)}
html:not(.mm-inline-editing) .about-mission-card p{width:100%;max-width:none;white-space:nowrap;text-wrap:nowrap;font-size:var(--mm-circle-copy-size,var(--body-copy-size))!important}
html:not(.mm-inline-editing) .about-mission-card p br:not(.mm-circle-break){display:none}
html:not(.mm-inline-editing) .about-mission-card p :is(span,strong,em,u,mm-content){font-size:inherit!important;line-height:inherit!important}

/* Public focus rings belong to form fields and validation reminders only. */
:root body:not(.mm-admin-page) :not(input):not(textarea):not(select):not([contenteditable=true]):not([aria-invalid=true]):not(.booking-missing):is(:focus,:focus-visible),
:root body:not(.mm-admin-page) input:is([type=button],[type=submit],[type=reset]):is(:focus,:focus-visible){outline:none!important;box-shadow:none!important}

/* The separated About team segment uses the same section inset as other headings. */
.mm-about-shared-team > .mission-inner > .mission-team{margin-top:0}

/* Adjacent About segments share one heading inset rather than stacking two gaps. */
#top.about-page > #about-community{padding-bottom:0!important}
#top.about-page > .study-intro{padding-top:var(--mm-heading-section-top)!important}
#top.about-page > .about-mission{padding-bottom:0!important}

/* Two shared lilac surfaces: the approved circle backdrop and its 30% white card tint. */
:root{--mm-lilac-dark:var(--mm-c-bea1c2,#bea1c2);--mm-lilac-light:color-mix(in srgb,var(--mm-c-ffffff,#ffffff) 30%,var(--mm-lilac-dark) 70%);--lilac:var(--mm-lilac-dark);--light-lilac:var(--mm-lilac-light);--sand:var(--mm-lilac-dark)}
body:not(.mm-admin-page) main:not(.study-page) > .intro{display:none}
body:not(.mm-admin-page) .pathways{background:var(--mm-lilac-dark)}
body:not(.mm-admin-page) .pathways .pathway,
body:not(.mm-admin-page) .about-mission .about-mission-card,
body:not(.mm-admin-page) .mission-section .mission-person,
body:not(.mm-admin-page) .about-person,
body:not(.mm-admin-page) .study-get-started .study-card,
body:not(.mm-admin-page) .testimonial-dialog[data-backdrop=team]{background:var(--mm-lilac-light)!important}
body:not(.mm-admin-page) .booking-page .booking-team-card{background:var(--mm-lilac-light)!important}
/* Hover must not introduce a third lilac surface. */
@media(prefers-reduced-motion:no-preference){
 .mm-icon-in-view:is(.service,.pathway,.benefit-card,.study-card):hover :is(.service-icon,.pathway-icon,.benefit-icon) path{animation-play-state:running}
}

/* Homepage introduction sits between the growth photo and community invitation. */
.growth-feature > .mm-home-community-intro{padding-top:var(--mm-heading-section-top)!important;padding-bottom:var(--mm-section-bottom,80px)!important}
@media(max-width:800px){.growth-feature > .mm-home-community-intro{padding-bottom:var(--mm-mobile-section-bottom,29px)!important}}
.growth-feature .mm-home-community-intro .mission-title{font-size:clamp(3rem,4.55vw,5.15rem);line-height:.93;letter-spacing:-.045em}
@media(max-width:900px){.growth-feature .mm-home-community-intro .mission-title{font-size:clamp(2.7rem,9vw,4.3rem)}}

/* Homepage team heading uses the same single top inset as the community introduction. */
body:not(.mm-admin-page) main:not(.study-page) > .mission-section:has(.mission-team-title){padding-top:var(--mm-heading-section-top)!important}
body:not(.mm-admin-page) main:not(.study-page) > .mission-section > .mission-inner > .mission-team{margin-top:0}

/* Testimonials invert the established cream surfaces. */
body:not(.mm-admin-page) .testimonials{background:var(--mm-c-cbc4b9,#cbc4b9)}
body:not(.mm-admin-page) .testimonials .testimonial-preview{background:var(--mm-c-bab0a0,#bab0a0)}
body:not(.mm-admin-page) .testimonials .testimonial-filter[aria-pressed=false],
body:not(.mm-admin-page) .testimonials .testimonial-filter:hover{background:var(--mm-c-bab0a0,#bab0a0);color:var(--purple)}

/* Circle copy always uses the body face, regardless of its editable field type. */
body:not(.mm-admin-page) .about-mission-card :is(h3,p){font-family:var(--mm-body-font)!important;font-size:var(--mm-circle-copy-size,var(--body-copy-size))!important;line-height:var(--body-copy-leading)!important;font-weight:350;letter-spacing:normal;margin:0;width:100%;max-width:none}
body:not(.mm-admin-page) .about-mission-card :is(h3,p) *{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important}
html:not(.mm-inline-editing) .about-mission-card :is(h3,p):empty{display:none}
html:not(.mm-inline-editing) .about-mission-card h3{white-space:nowrap;text-wrap:nowrap}
html:not(.mm-inline-editing) .about-mission-card h3 br:not(.mm-circle-break){display:none}

/* Card hover never starts icon motion; scroll reveals remain sequential. */
@media(hover:hover) and (pointer:fine){
 :is(.service,.pathway,.benefit-card,.study-card):not(.mm-icon-in-view):hover :is(.service-icon,.pathway-icon,.benefit-icon) path{animation:none!important}
}
/* Give top image-header CTAs a little more room beside their labels. */
body:not(.mm-admin-page) .hero .hero-copy > .pill,
body:not(.mm-admin-page) .study-hero-copy > .pill{padding-inline:24px!important}

/* Service icons share the left text edge inside each card. */
body:not(.mm-admin-page) .pathways .pathway > .pathway-icon{display:block;align-self:flex-start;margin-left:0;margin-right:auto}

/* Tile actions align with the text; hover icon cycles are controlled once in JavaScript. */
body:not(.mm-admin-page) .pathways .pathway > .pathway-cta{align-self:flex-start}
:is(.pathway,.benefit-card,.study-card).mm-tile-icon-hover > :is(.pathway-icon,.benefit-icon){visibility:visible!important}
:is(.pathway,.benefit-card,.study-card).mm-tile-icon-hover > :is(.pathway-icon,.benefit-icon) path{animation:none!important;stroke-dashoffset:0}

/* Specialist and team headings share the same gap before their cards. */
:root{--mm-heading-card-gap:clamp(30px,3vw,46px)}
body:not(.mm-admin-page) .benefits-head{margin-bottom:var(--mm-heading-card-gap)}
body:not(.mm-admin-page) .benefits-head h2{margin-bottom:0}
body:not(.mm-admin-page) .benefits-head > p:not(:empty){margin-top:24px}
body:not(.mm-admin-page) .benefits-head > p:empty{display:none}
body:not(.mm-admin-page) .mission-team-title{padding-bottom:var(--mm-heading-card-gap)!important}
body:not(.mm-admin-page) .benefits-head > p:has(> strong:empty):has(> mm-content:empty){display:none}

/* One visible stroke weight and theme colour for all illustrative icons and focus rings.
   Reference: online coworking's 15.2-unit stroke in a 512-unit viewBox at 76px. */
:root{--mm-icon-stroke-colour:var(--purple);--mm-icon-stroke-width:calc(76px * 15.2 / 512)}
body:not(.mm-admin-page) :is(.service-icon,.pathway-icon,.benefit-icon,.about-pathway-icon,.sketch-ring) :is(path,line,polyline,polygon,circle,ellipse,rect){stroke:var(--mm-icon-stroke-colour)!important;stroke-width:var(--mm-icon-path-stroke,15.2)!important;vector-effect:none;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:800px){:root{--mm-icon-stroke-width:calc(68px * 15.2 / 512)}}

/* Carousel navigation reveals complete icons; every tile uses the shared hover redraw. */
.approach-carousel .benefit-card .benefit-icon{visibility:visible!important}
.approach-carousel .benefit-card .benefit-icon path{animation:none!important;stroke-dashoffset:0}

/* A saved bullet preference changes only the marker, preserving the text field. */
main li:is([data-mm-bullet="false"],.mm-no-bullet,:has([data-mm-bullet="false"])){list-style-type:none!important}

/* Give every hero action a little more separation from its introduction. */
body:not(.mm-admin-page) :is(.hero .hero-copy,.study-hero-copy) > .pill{margin-top:10px}

/* Contact columns follow the team cards' shared widths and centre gutter. */
body:not(.mm-admin-page) main :is(.contact,.contact-enquiry-layout){column-gap:var(--mm-card-gap)}
body:not(.mm-admin-page) main :is(.contact,.contact-enquiry-layout)>*{min-width:0}
@media(min-width:901px){
 body:not(.mm-admin-page) main :is(.contact,.contact-enquiry-layout){grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Shop is the master for the About community introduction's top inset. */
#top.about-page > #about-community{padding-top:var(--mm-heading-section-top)!important}

/* Shared final call-to-action: heading and action in one left-aligned column. */
body:not(.mm-admin-page) main .study-final .study-banner{grid-template-columns:minmax(0,1fr);gap:0;text-align:left}
body:not(.mm-admin-page) main .study-final .study-banner>.kicker{display:none}
body:not(.mm-admin-page) main .study-final .study-banner-copy{grid-column:1;padding-top:0!important;text-align:left}
body:not(.mm-admin-page) main .study-final .study-banner-copy>h2{margin:0;text-align:left!important;max-width:none;white-space:pre-line}
body:not(.mm-admin-page) main .study-final .mm-next-step-heading .mm-next-step-lead{display:block;font-size:clamp(46px,7vw,90px)!important}
body:not(.mm-admin-page) main .study-final .study-banner-copy>.pill{display:inline-flex;margin-top:30px;align-self:flex-start}

/* One public section-heading system, based on the Shop introduction. */
:root{
 --mm-section-heading-size:clamp(36px,4.4vw,64px);
 --mm-section-heading-weight:600;
 --mm-section-heading-leading:1.05;
 --mm-section-heading-tracking:-.03em;
}
@media(max-width:800px){:root{--mm-section-heading-size:36px}}
body:not(.mm-admin-page) :is(main,#top) :is(h2,.mission-team-title,.mm-section-title):not(:where(dialog *,template *,form *,.booking-panel *,.mm-team-profile *)){
 font-family:var(--mm-brand-font)!important;
 font-size:var(--mm-section-heading-size)!important;
 font-weight:var(--mm-section-heading-weight)!important;
 line-height:var(--mm-section-heading-leading)!important;
 letter-spacing:var(--mm-section-heading-tracking)!important;
}
body:not(.mm-admin-page) :is(main,#top) :is(h2,.mission-team-title,.mm-section-title):not(:where(dialog *,template *,form *,.booking-panel *,.mm-team-profile *)) :is(strong,b,span,mm-content,mm-edit-text):not(.mm-next-step-lead,.mm-contact-curious,[data-mm-text="text:196ef3b5e85f9bf5285b"]){
 font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;
}
body:not(.mm-admin-page) #contact .contact-intro h2 :is(.mm-contact-curious,[data-mm-text="text:196ef3b5e85f9bf5285b"]){font-size:clamp(46px,7vw,90px)!important}
/* Preserve the editor's sentence line break within Contact's existing paragraph. */
.contact-page [data-mm-text="text:3c8fb11e56abd39c14d6"]{white-space:pre-line}
/* Stored line breaks and blank lines remain visible without injecting HTML. */
main [data-mm-paragraph-breaks],html.mm-inline-editing mm-edit-text{white-space:pre-line}
/* Legal shortcuts use the same body-sized pill typography as other filters. */
body:not(.mm-admin-page) .legal-page .legal-contents a{font-family:var(--mm-body-font);font-size:var(--body-copy-size);font-weight:350;line-height:var(--mm-action-line-height);padding:10px 18px}
@media(max-width:800px){body:not(.mm-admin-page) .legal-page .legal-contents a{padding-block:6px}}
body:not(.mm-admin-page) .legal-page .legal-retention-item :is(dt,dd,p,li){font-size:var(--body-copy-size);line-height:var(--body-copy-leading)}
body:not(.mm-admin-page) .legal-page .legal-retention-item{padding-inline:0}
/* Override the generic subpage anchor offset, including anchors on containers. */
body:not(.mm-admin-page) .legal-page [id]{scroll-margin-top:calc(var(--mm-navigation-height) + 20px)}
@media(min-width:801px){body:not(.mm-admin-page) .legal-page [id]{scroll-margin-top:calc(var(--mm-navigation-height) + var(--mm-legal-contents-height,240px) + 20px)}}
/* Place Work and Pause guidance headings above their full-width instructions. */
main :is(#arranging-sessions,#access-to-work-support).study-banner{grid-template-columns:minmax(0,1fr);gap:30px}
main :is(#arranging-sessions,#access-to-work-support).study-banner > .study-banner-copy{grid-column:1;padding-top:0!important}
/* Retired Study email box; the three action cards and Funding tabs stay visible. */
main.study-page:not([data-mm-funding-layout]) .study-get-started > article#switch-email{display:none!important}
main.study-page:not([data-mm-funding-layout]) .study-get-started > .study-switch-guide:not(:has(h3:not(:empty),h4:not(:empty),p:not(:empty))){display:none}
body:not(.mm-admin-page) main#top.study-page:not([data-mm-funding-layout]) > .study-get-started{padding-bottom:16px!important}
@media(max-width:800px){body:not(.mm-admin-page) main#top.study-page:not([data-mm-funding-layout]) > .study-get-started{padding-bottom:16px!important}}

/* Homepage and About community introductions share one body treatment. */
.mission-grid > .mission-copy{
 font-family:var(--mm-body-font);
 font-size:var(--body-copy-size);
 font-weight:350;
 line-height:var(--body-copy-leading);
 margin:0;
}
.mission-grid > .mission-copy > p{margin:0 0 1.45em}
.mission-grid > .mission-copy > p:last-child{margin-bottom:0}

/* Study is the master desktop height for all subpage image banners.
   Let wrapped mobile content grow and retain the shared mobile CTA inset. */
:root{--mm-image-banner-height:430px;--mm-subpage-hero-height:var(--mm-image-banner-height)}
@media(min-width:801px){
 body:not(.mm-admin-page) main.study-page > .study-hero{
  height:var(--mm-subpage-hero-height);min-height:var(--mm-subpage-hero-height);
  display:flex;align-items:center;
 }
 body:not(.mm-admin-page) main.study-page > .study-hero > .study-hero-copy{
  width:100%;padding-top:0;padding-bottom:0;
 }
}

/* Cleared hero lines do not reserve space on the public banner. */
html:not(.mm-inline-editing) .study-hero-copy > .mm-empty-hero-field{display:none}
html:not(.mm-inline-editing) .study-hero-copy .hero-intro > mm-content:empty + br{display:none}

/* All present and future full-width image breakers share the banner height. */
body:not(.mm-admin-page) :is(main,#top) :is(.growth-feature-media,.testimonial-image-break,.mm-image-break){
 height:var(--mm-image-banner-height);min-height:var(--mm-image-banner-height);max-height:var(--mm-image-banner-height);
 padding:0!important;overflow:hidden;position:relative;
}
body:not(.mm-admin-page) :is(main,#top) :is(.growth-feature-media,.mm-image-break) img{
 display:block;width:100%;height:100%;min-height:0;object-fit:cover;
}
body:not(.mm-admin-page) :is(main,#top) :is(.growth-feature-media,.testimonial-image-break,.mm-image-break)>picture{display:block;width:100%;height:100%}

/* Align small right-hand copy optically with the larger left-hand heading.
   Apply only while these shared introduction layouts have side-by-side columns. */
:root{--mm-heading-copy-top-offset:10px}
@media(min-width:901px){
 body:not(.mm-admin-page) main .mission-grid > .mission-copy,
 body:not(.mm-admin-page) main .study-banner:not(:where(.about-page .study-intro-layout)) > .study-banner-copy,
 body:not(.mm-admin-page) main .mm-heading-copy-grid > .mm-heading-copy{
  padding-top:var(--mm-heading-copy-top-offset);
 }
}

/* Paragraphs and lists share the same spacing in every heading/copy layout. */
body:not(.mm-admin-page) main :is(.mission-copy,.study-banner-copy,.mm-heading-copy){
 font-family:var(--mm-body-font);font-size:var(--body-copy-size);font-weight:350;line-height:var(--body-copy-leading);
}
body:not(.mm-admin-page) main :is(.mission-copy,.study-banner-copy,.mm-heading-copy) > :is(p,ul,ol){margin-block:0 1.45em}
body:not(.mm-admin-page) main :is(.mission-copy,.study-banner-copy,.mm-heading-copy) > :last-child{margin-bottom:0}
html:not(.mm-inline-editing) main :is(.mission-copy,.study-banner-copy,.mm-heading-copy) > :is(.mm-empty-copy-field,p:empty){display:none}

/* Shop session details and payment information use standard body sizing. */
body:not(.mm-admin-page) main :is(.shop-duration,.shop-payment-link){font-size:var(--body-copy-size)!important;line-height:var(--body-copy-leading)!important}

/* The important layer keeps one text size above older component overrides.
   Hero actions retain their existing sizing; circular icon controls are excluded. */
@layer mm-pill-body-text{
 body:not(.mm-admin-page) :is(.pill,.testimonial-filter,.booking-secondary,button.button,button.btn,a.button,a.btn,input[type=submit],input[type=button]):not(:where(.hero *,.study-hero *,.mm-back-to-top)){
  font-size:var(--body-copy-size)!important;
 }
}

@layer mm-pill-body-text{
 body:not(.mm-admin-page) button.pill.mm-back-to-top{
  font-size:18px!important;
  line-height:1.15!important;
  padding:12.15px!important;
  width:calc(3.5em + 24.3px)!important;height:calc(3.5em + 24.3px)!important;min-width:calc(3.5em + 24.3px)!important;min-height:calc(3.5em + 24.3px)!important;
 }
}

body:not(.mm-admin-page) .mm-back-to-top > span{white-space:nowrap;flex-shrink:0}

/* Spare viewport height belongs to the page, never beneath or inside its footer. */
body:not(.mm-admin-page):has(>footer){min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body:not(.mm-admin-page):has(>footer)>main{flex:1 0 auto}
body:not(.mm-admin-page)>footer{flex-shrink:0;margin-bottom:0}
@media(min-width:801px){
 body:not(.mm-admin-page)>footer{
  height:var(--mm-navigation-height);min-height:var(--mm-navigation-height);max-height:var(--mm-navigation-height);
  padding-block:0!important;align-items:center;align-content:center;
 }
}

/* Extend the final content surface itself to the footer on short pages. */
body:not(.mm-admin-page):has(>footer)>main{display:flex;flex-direction:column}
body:not(.mm-admin-page):has(>footer)>main>section{flex-shrink:0}
body:not(.mm-admin-page):has(>footer)>main>section:last-of-type{flex-grow:1}

/* Retire the Shop instructions section, retaining protected fields for recovery. */
body:not(.mm-admin-page) main.shop-page > .study-intro{display:none!important}

/* All SVG line drawings share the same rendered stroke reference. */
body:not(.mm-admin-page) svg:is(.service-icon,.pathway-icon,.benefit-icon,.about-pathway-icon,.sketch-ring,[data-mm-line-drawing]){stroke-width:var(--mm-icon-stroke-width)}
body:not(.mm-admin-page) svg[data-mm-line-drawing] [data-mm-line-stroke]{stroke-width:var(--mm-icon-path-stroke,15.2)!important;vector-effect:none}

/* Fully rounded public buttons, with the same normal weight as body copy. */
@layer mm-pill-body-text{
 body:not(.mm-admin-page) :is(button,.pill,.testimonial-filter,.booking-secondary,a.button,a.btn,input[type=submit],input[type=button],input[type=reset]):not(:where(.testimonial-preview,.booking-coach,.booking-slot,.booking-calendar *,.mm-interactive-card)){
  border-radius:9999px!important;
 }
 body:not(.mm-admin-page) :is(.pill,.testimonial-filter,.booking-secondary,button.button,button.btn,a.button,a.btn,input[type=submit],input[type=button],input[type=reset]){
  font-weight:350!important;
 }
}
/* Retire the homepage plant break and its lilac community introduction. */
body:not(.mm-admin-page) main:not(.study-page) > .growth-feature{display:none!important}
/* Allow the expanded Shop grid's unchanged hover scale inside its clipping frame. */
body:not(.mm-admin-page) .shop-results{
 padding-block:20px;margin-block:-20px;
 padding-inline:calc(20px + var(--mm-three-column-expansion));
 margin-inline:calc(-20px - var(--mm-three-column-expansion));
}
@media(max-width:1000px){
 body:not(.mm-admin-page) .shop-results{padding-inline:20px;margin-inline:-20px}
}

/* Pill controls use the body typeface, including hero and back-to-top actions. */
@layer mm-pill-body-text{
 body:not(.mm-admin-page) :is(.pill,.testimonial-filter,.booking-secondary,button.button,button.btn,a.button,a.btn,input[type=submit],input[type=button],input[type=reset]){
  font-family:var(--mm-body-font)!important;
 }
}

/* Slightly slimmer pills: remove 2px above and below their text globally. */
@layer mm-pill-body-text{
 body:not(.mm-admin-page) :is(.pill,.booking-secondary,button.button,button.btn,a.button,a.btn,input[type=submit],input[type=button],input[type=reset]):not(.mm-back-to-top){padding-block:9px!important}
 body:not(.mm-admin-page) .testimonial-filter{padding-block:10px!important}
 @media(max-width:800px){
  body:not(.mm-admin-page) .testimonial-filter{padding-block:6px!important}
 }
}

/* Montserrat is reserved for headings and the approved heading-like labels. */
body:not(.mm-admin-page) :is(.shop-price>strong,.testimonial-preview-title,.mission-person-intro>strong,.mm-heading-label){font-family:var(--mm-brand-font)}
body:not(.mm-admin-page) :is(.team-pronouns,.mm-profile-role,.mission-person-tags,.site-header,.site-footer,footer){font-family:var(--mm-body-font)!important}

/* Specialist approach headings match the Work/Pause pathway headings. */
body:not(.mm-admin-page) .benefit-card h3{font-size:clamp(24px,2vw,31px);line-height:1.08;font-weight:700;letter-spacing:-.025em}

/* Navigation and footer use the main body's responsive text size. */
body:not(.mm-admin-page) :is(.site-header,footer,.site-footer){--body-copy-size:clamp(19.5px,calc(1.45vw + 2.5px),23.5px)}
body:not(.mm-admin-page) .site-header :is(nav>a,nav>span[aria-current],.nav-services-toggle,.services-dropdown>a,.services-dropdown>span),
body:not(.mm-admin-page) footer :is(.footer-legal a,p){font-size:var(--body-copy-size)!important;line-height:var(--body-copy-leading)!important}

/* FAQ questions match standard body text sizing across all pages. */
body:not(.mm-admin-page) :is(.faq summary,.faq-grid>details>summary,.faq-question){font-size:var(--body-copy-size)!important;line-height:var(--body-copy-leading)!important}

/* Navigation and footer links use normal body weight. */
body:not(.mm-admin-page) .site-header :is(nav>a,nav>span[aria-current],.nav-services-toggle,.services-dropdown>a,.services-dropdown>span),
body:not(.mm-admin-page) footer :is(.footer-legal a,p){font-weight:350!important}

/* FAQ questions match the team community excerpt's semibold body treatment. */
body:not(.mm-admin-page) :is(.faq summary,.faq-grid>details>summary,.faq-question){font-family:var(--mm-body-font)!important;font-weight:600!important;letter-spacing:normal}
body:not(.mm-admin-page) :is(.faq summary,.faq-grid>details>summary,.faq-question) :is(strong,b,span,mm-content,mm-edit-text){font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important;letter-spacing:inherit!important}

/* Team names match testimonial titles; pronouns keep their dedicated body styling. */
body:not(.mm-admin-page) .mission-person-intro > strong{font-family:var(--mm-brand-font);font-size:clamp(24px,2vw,32px);font-weight:600;line-height:1.2}

/* One authoritative content gutter for every public page and card layout. */
:root{--mm-content-gutter:100px;--mm-page-x:var(--mm-content-gutter);--mm-card-grid-gutter:var(--mm-content-gutter);--mm-three-column-gutter:var(--mm-content-gutter);--mm-three-column-expansion:0px}
@media(max-width:900px){:root{--mm-content-gutter:50px}}
@media(max-width:520px){:root{--mm-content-gutter:25px}}
body:not(.mm-admin-page) :is(main,#top) > .study-section{padding-inline:var(--mm-content-gutter)!important}
/* About's circle composition retains its approved, independently sized gutter. */
#top.about-page > #about-mission{--mm-page-x:clamp(100px,7vw,140px);padding-inline:var(--mm-page-x)!important}
@media(max-width:900px){#top.about-page > #about-mission{--mm-page-x:50px}}
@media(max-width:520px){#top.about-page > #about-mission{--mm-page-x:25px}}

/* Colour-picker label matches Shop product-heading typography. */
body:not(.mm-admin-page) .mm-extra-colour-name{font-family:var(--mm-brand-font);font-size:clamp(24px,2vw,30px);font-weight:600;line-height:1.15;letter-spacing:normal}

/* Side-column introductions use body sizing, including the left preheading. */
body:not(.mm-admin-page) main .study-banner > .kicker{font-family:var(--mm-body-font);font-size:var(--body-copy-size)!important;line-height:var(--body-copy-leading)!important}
/* One heading-to-paragraph gap, matching the contact introduction reference. */
:root{--mm-heading-body-gap:1em}
body:not(.mm-admin-page) main :is(.contact-intro,.study-banner-copy,.mm-heading-copy,.study-section-head,.intro,.growth-feature-copy) > :is(h1,h2,h3) + p{margin-top:var(--mm-heading-body-gap)!important}

/* Navigation/footer text matches the back-to-top size without changing body copy. */
body:not(.mm-admin-page) .site-header :is(nav>a,nav>span[aria-current],.nav-services-toggle,.services-dropdown>a,.services-dropdown>span),
body:not(.mm-admin-page) footer :is(.footer-legal a,p){font-size:18px!important}

/* Keep all navigation/footer text normal, including editor-formatted descendants. */
@layer mm-pill-body-text{
 body:not(.mm-admin-page) .site-header :is(nav>a,nav>span[aria-current],.nav-services-toggle,.services-dropdown>a,.services-dropdown>span),
 body:not(.mm-admin-page) .site-header :is(nav>a,nav>span[aria-current],.nav-services-toggle,.services-dropdown>a,.services-dropdown>span) *,
 body:not(.mm-admin-page) footer :is(.footer-legal a,p),
 body:not(.mm-admin-page) footer :is(.footer-legal a,p) *{font-weight:350!important}
}

/* Reverse these assets only when their reveal starts. An animation name applied
   before reveal creates a finished zero-duration animation that will not replay. */
@media(prefers-reduced-motion:no-preference){
 body:not(.mm-admin-page) :is(main,#top) .mm-icon-in-view svg:is([data-mm-icon-src="assets/icons/focus-and-goals.svg"],[data-mm-icon-src="assets/icons/growth.svg"]) path{animation-name:mm-icon-draw-reverse!important}
}

/* Homepage image hero is twice the shared desktop subpage banner height. */
@media(min-width:801px){
 body:not(.mm-admin-page) main > .hero{height:calc(var(--mm-subpage-hero-height) * 2);min-height:calc(var(--mm-subpage-hero-height) * 2)}
}

/* Anchor desktop hero copy to the same bottom edge, regardless of image height. */
:root{--mm-desktop-hero-button-bottom:85px}
@media(min-width:801px){
 body:not(.mm-admin-page) main > .hero > .hero-copy{bottom:var(--mm-desktop-hero-button-bottom)}
 body:not(.mm-admin-page) main.study-page > .study-hero{align-items:flex-end}
 body:not(.mm-admin-page) main.study-page > .study-hero > .study-hero-copy{padding-bottom:var(--mm-desktop-hero-button-bottom)}
}

/* More breathing room below the homepage title, with the CTA still bottom-anchored. */
body:not(.mm-admin-page) main > .hero > .hero-copy > h1{margin-bottom:50px}

/* Community reuses the About composition, with one double-diameter circle. */
.community-circle-section .community-circle-grid{
 --mm-value-diameter:min(100cqw,calc(200cqw / 5.8));
 grid-template-columns:var(--mm-value-diameter);
}
.community-circle-section .community-circle{gap:20px;padding:calc(var(--mm-value-diameter) / 10)}
body:not(.mm-admin-page) .community-circle-section .community-circle :is(h3,p){white-space:normal;text-wrap:balance;max-width:32ch}
@media(max-width:1100px){.community-circle-section .community-circle-grid{--mm-value-diameter:min(100cqw,calc((100cqw - 30px) * .675))}}
@media(max-width:600px){.community-circle-section .community-circle-grid{--mm-value-diameter:min(100cqw,486px)}}

/* Preserve the About circle composition's sizing basis before doubling it. */
main.community-page > .community-circle-section{--mm-page-x:clamp(100px,7vw,140px);padding-inline:var(--mm-page-x)!important}
@media(max-width:900px){main.community-page > .community-circle-section{--mm-page-x:50px}}
@media(max-width:520px){main.community-page > .community-circle-section{--mm-page-x:25px}}

main.community-page > .community-intro{background:var(--lilac)}

/* Community circle headings grow with the viewport and wrap within the text panel. */
body:not(.mm-admin-page) main.community-page .community-circle > h3{
 font-family:var(--mm-brand-font)!important;
 font-size:clamp(32px,3vw,44px)!important;
 font-weight:700!important;
 line-height:1.08!important;
 letter-spacing:-.025em!important;
 max-width:100%;white-space:normal;text-wrap:balance;overflow-wrap:anywhere;
}

/* Edited headings must wrap within their assigned column, never over body copy. */
body:not(.mm-admin-page) main :is(.mission-grid,.study-banner) > :is(h1,h2,h3,.mission-title){min-width:0;max-width:100%;overflow-wrap:anywhere}
body:not(.mm-admin-page) main :is(.mission-grid,.study-banner) > :is(.mission-copy,.study-banner-copy){min-width:0}

/* Community orbit: the complete large/small circle composition is centred. */
main.community-page > .community-circle-section{padding-inline:var(--mm-content-gutter)!important;container-type:inline-size}
@media(min-width:901px){
 main.community-page > .community-intro{padding-bottom:30px!important}
 main.community-page > .community-circle-section{padding-top:30px!important}
}
.community-circle-section .community-orbit{
 display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:60px;
 width:100%;max-width:1300px;margin-inline:auto;
}
.community-circle-section .community-orbit > .community-circle{width:100%;padding:40px;gap:0;min-width:0}
.community-copy-host{width:100%;min-width:0;position:relative}
.community-detail[hidden],.community-option-wrap[hidden]{display:none!important}
body:not(.mm-admin-page) .community-circle .community-detail>h3{font-family:var(--mm-brand-font)!important;font-size:clamp(32px,3vw,44px)!important;font-weight:700!important;line-height:1.08!important;letter-spacing:-.025em!important;margin:0 0 20px;max-width:100%;white-space:normal;text-wrap:balance;overflow-wrap:anywhere}
body:not(.mm-admin-page) .community-circle .community-detail>p{white-space:normal;text-wrap:balance}
.community-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px;min-width:0;align-content:start}
.community-option-wrap{min-width:0;aspect-ratio:1}
body:not(.mm-admin-page) button.community-option{
 display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;border-radius:50%;
 background:rgb(var(--mm-rgb-ffffff,255 255 255) / .3);color:var(--purple);cursor:pointer;
 transform:scale(1);transition:transform 550ms cubic-bezier(.16,1,.3,1);position:relative;
}
:root{--mm-line-icon-size:76px}
@media(max-width:800px){:root{--mm-line-icon-size:68px}}
.community-option .community-icon{display:block;width:var(--mm-line-icon-size);height:var(--mm-line-icon-size);max-width:none;margin:0;overflow:visible;pointer-events:none}
.community-option .community-icon path{animation:none!important;stroke-dasharray:1 1;stroke-dashoffset:0}
.community-orbit:not(.is-ready) .community-option{cursor:default}
@media(hover:hover) and (pointer:fine){
 .community-orbit.is-ready .community-option:hover{transform:scale(1.15);z-index:2}
}
.community-orbit.is-ready .community-option:focus-visible{transform:scale(1.15);outline:2px solid var(--mm-focus-colour,var(--purple));outline-offset:5px;z-index:2}
@media(max-width:1200px){
 .community-circle-section .community-orbit{gap:40px;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
 .community-options{gap:20px}
 .community-circle-section .community-orbit>.community-circle{padding:25px}
}
@media(max-width:1100px){
 .community-circle-section .community-orbit{grid-template-columns:minmax(0,1fr);gap:35px;max-width:700px}
 .community-circle-section .community-orbit>.community-circle{width:min(100%,480px);justify-self:center;padding:40px}
 .community-options{gap:20px}
}
@media(max-width:600px){
 .community-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
 .community-circle-section .community-orbit>.community-circle{padding:25px}
}
@media(max-width:360px){.community-options{gap:15px}}
@media(prefers-reduced-motion:reduce){
 body:not(.mm-admin-page) button.community-option{transition:none}
 .community-orbit.is-ready .community-option:is(:hover,:focus-visible){transform:none}
}
html.mm-inline-editing .community-option .community-icon{opacity:1!important;pointer-events:auto}

.community-orbit.has-no-options{grid-template-columns:minmax(0,1fr);max-width:480px}
.community-orbit.has-no-options .community-options{display:none}
@layer mm-pill-body-text{
 body:not(.mm-admin-page) button.community-option{background:rgb(var(--mm-rgb-ffffff,255 255 255) / .3)!important;color:var(--purple)!important;border:0!important}
}
@media(min-width:901px){
 body:not(.mm-admin-page) :is(main,#top).community-page > .community-intro{padding-bottom:30px!important}
 body:not(.mm-admin-page) :is(main,#top).community-page > .community-circle-section{padding-top:30px!important}
}

/* Centre each bounded text panel, not only the outer circle's flex item. */
.community-circle .community-detail{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}
body:not(.mm-admin-page) .community-circle .community-detail > :is(h3,p){margin-inline:auto;text-align:center!important}

/* Community meetup: circle and supporting copy, followed by a full-width topic row. */
.community-circle-section .community-orbit[data-community-meetup]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;max-width:none;align-items:center}
.community-circle-section .community-orbit[data-community-meetup]>.community-circle{width:min(100%,500px);justify-self:center;padding:40px;gap:20px}
.community-main-icon{width:var(--mm-line-icon-size);height:var(--mm-line-icon-size);display:block;flex-shrink:0;overflow:visible}
.community-main-icon path{animation:none!important;stroke-dasharray:1 1;stroke-dashoffset:0;opacity:1}
.community-meetup-list{min-width:0;align-self:center}
.community-meetup-point{margin:0 0 1.45em}
.community-meetup-point:last-child{margin-bottom:0}
.community-meetup-point strong{font-family:var(--mm-body-font);font-weight:700;display:block}
.community-meetup-point p{margin:0}
.community-future-topics{grid-column:1/-1;min-width:0;width:100%}
.community-future-heading{font-family:var(--mm-brand-font);font-size:var(--mm-section-heading-size);font-weight:var(--mm-section-heading-weight);line-height:var(--mm-section-heading-leading);letter-spacing:var(--mm-section-heading-tracking);margin:0 0 40px}
[data-community-topic-label]{display:block;min-height:1.05em;color:var(--purple)}
[data-community-topic-hint]{color:var(--light-lilac)}
[data-community-topic-output]{color:var(--purple)}
[data-community-topic-label] [hidden]{display:none!important}
.community-future-topics .community-options{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:30px}
.community-future-topics .community-option-wrap{width:100%;max-width:140px;justify-self:start}
.community-future-topics .community-option-wrap[hidden],.community-orbit [data-community-main][hidden]{display:none!important}
.community-orbit.has-no-options .community-future-topics{display:none}
@media(max-width:1100px) and (min-width:801px){
 .community-circle-section .community-orbit[data-community-meetup]{gap:40px}
 .community-circle-section .community-orbit[data-community-meetup]>.community-circle{padding:25px;gap:15px}
 body:not(.mm-admin-page) .community-circle .community-detail>h3{font-size:32px!important}
}
@media(max-width:800px){
 .community-circle-section .community-orbit[data-community-meetup]{grid-template-columns:minmax(0,1fr);gap:40px}
 .community-circle-section .community-orbit[data-community-meetup]>.community-circle{width:min(100%,480px);padding:30px}
 .community-future-topics .community-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
 .community-future-heading{margin-bottom:30px}
}
/* Keep the large card circular even when edited text needs extra room. */
.community-circle-section .community-orbit[data-community-meetup]>.community-circle{display:block;aspect-ratio:1;min-height:0}
.community-main-content{position:absolute;left:40px;right:40px;top:50%;display:flex;flex-direction:column;align-items:center;gap:20px;transform:translateY(-50%);transform-origin:center}
.community-orbit:has([data-community-main][hidden])>.community-meetup-list{grid-column:1/-1}
@media(max-width:1100px) and (min-width:801px){.community-main-content{left:25px;right:25px;gap:15px}}
@media(max-width:800px){.community-main-content{left:30px;right:30px}}
.community-meetup-point[hidden]{display:none!important}
.community-meetup-point strong{font-size:var(--body-copy-size)!important;line-height:var(--body-copy-leading)}
body:not(.mm-admin-page) .community-main-content .community-detail>h3{font-size:clamp(32px,2.5vw,40px)!important}
body:not(.mm-admin-page) .community-future-heading{margin-bottom:40px!important}
@media(max-width:800px){body:not(.mm-admin-page) .community-future-heading{margin-bottom:30px!important}}
.community-future-heading>mm-content{display:block}

/* The editable meetup heading honours manually entered line breaks. */
.community-page #community-circle-title{white-space:pre-line}

/* Optical centring for asymmetric artwork in Community topic circles. */
.community-option svg[data-mm-icon-choice="study.svg"]{translate:-5% -1%}
.community-option svg[data-mm-icon-choice="step-forward.svg"]{translate:-2% 4%}

/* Meetup information uses an unboxed two-column layout. */
.community-meetup-card{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:60px;min-width:0;padding:0;border-radius:0;background:transparent}
.community-meetup-card>.community-circle{display:block;width:min(90%,450px);justify-self:center;aspect-ratio:1;min-height:0;min-width:0;padding:40px;gap:20px}
body:not(.mm-admin-page) .community-page .community-meetup-card>.community-circle{background:rgb(var(--mm-rgb-ffffff,255 255 255) / .3)!important}
.community-meetup-card:has([data-community-main][hidden])>.community-meetup-list{grid-column:1/-1}
@media(max-width:1100px) and (min-width:801px){
 .community-meetup-card{gap:40px}
 .community-meetup-card>.community-circle{padding:25px}
}
@media(max-width:800px){
 .community-meetup-card{grid-template-columns:minmax(0,1fr);gap:40px}
 .community-meetup-card>.community-circle{width:min(90%,430px);padding:30px}
}
.community-meetup-card>.study-section-head{grid-column:1/-1;margin:0}
.community-meetup-card{row-gap:40px}

/* The meetup card title uses a smaller panel-heading scale. */
body:not(.mm-admin-page) .community-meetup-card #community-circle-title .mm-next-step-lead{font-size:clamp(32px,2.5vw,40px)!important}

/* A gentler hover enlargement for the large Community circle. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .community-meetup-card>.community-circle:hover{transform:scale(1.10)}
}

/* Fit edited circle copy while retaining the shared icon dimensions. */
body:not(.mm-admin-page) .community-main-content .community-detail>h3{font-size:calc(clamp(32px,2.5vw,40px) * var(--mm-community-copy-scale,1))!important}
body:not(.mm-admin-page) .community-main-content .community-detail>p{font-size:calc(var(--body-copy-size) * var(--mm-community-copy-scale,1))!important}

/* Separate smaller heading labels from their larger second lines. */
body:not(.mm-admin-page) .community-meetup-card #community-circle-title .mm-next-step-lead{display:inline-block;margin-bottom:20px}

/* Static, editable body descriptions below each topic circle. */
.community-future-topics .community-option-wrap{aspect-ratio:auto;align-self:start}
body:not(.mm-admin-page) .community-future-topics button.community-option{height:auto;aspect-ratio:1}
.community-topic-description{display:block;margin-top:15px;font-family:var(--mm-body-font);font-size:var(--body-copy-size);font-weight:350;line-height:var(--body-copy-leading);color:var(--purple);text-align:center;overflow-wrap:normal;word-break:normal;hyphens:none}
.community-topic-description:empty{display:none}

/* Smaller background circles keep the shared icon size and layout unchanged. */
@layer mm-pill-body-text{
 body:not(.mm-admin-page) .community-future-topics button.community-option{background:transparent!important}
}
.community-future-topics button.community-option::before{content:"";position:absolute;inset:5%;border-radius:50%;background:rgb(var(--mm-rgb-ffffff,255 255 255) / .3);pointer-events:none;z-index:0}
.community-future-topics button.community-option>.community-icon{position:relative;z-index:1}

/* Balance the stars' heavier upper pair within the small topic circle. */
.community-option svg[data-mm-icon-choice="free-trials.svg"]{translate:0 5%}

/* Left-aligned topic rows with consistent, generous space between circles. */
.community-future-topics .community-options{grid-template-columns:repeat(auto-fill,140px);justify-content:start;column-gap:40px;row-gap:40px}
@media(max-width:800px){
 .community-future-topics .community-options{grid-template-columns:repeat(auto-fill,minmax(110px,140px));column-gap:30px;row-gap:35px}
}
@media(max-width:390px){
 .community-future-topics .community-options{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px}
}

/* Share entries reuse the FAQ background, separators and title presentation. */
body:not(.mm-admin-page) main>.community-share-space{background:var(--mm-faq-background);padding-top:var(--mm-section-top);padding-bottom:var(--mm-section-top)}
.community-share-space>h2{margin:0 0 40px}
.community-share-entry{padding:0 0 30px;border-top:var(--mm-faq-separator)}
.community-share-entry:last-child{border-bottom:var(--mm-faq-separator)}
body:not(.mm-admin-page) .community-share-entry>h3{font-family:var(--mm-body-font)!important;font-size:var(--mm-faq-title-size);font-weight:var(--mm-faq-title-weight);line-height:var(--mm-faq-title-leading);min-height:var(--mm-faq-title-min-height);padding-block:var(--mm-faq-row-padding);display:flex;align-items:center;margin:0}
.community-share-entry>p{margin:0 0 15px}
.community-share-entry>a{color:inherit;text-underline-offset:.2em}
.community-share-entry>a:hover{color:inherit}
@media(max-width:800px){body:not(.mm-admin-page) main>.community-share-space{padding-bottom:var(--mm-mobile-section-bottom)}}

.community-share-entry[hidden]{display:none!important}
.community-share-entry:not([hidden]):has(~ .community-share-entry):not(:has(~ .community-share-entry:not([hidden]))){border-bottom:var(--mm-faq-separator)}

/* Reuse the try/choose/enjoy card-title scale for these smaller headings. */
:root{--mm-card-title-size:clamp(24px,2vw,31px)}
body:not(.mm-admin-page) .benefit-card h3{font-size:var(--mm-card-title-size)}
body:not(.mm-admin-page) .community-share-entry>h3,
body:not(.mm-admin-page) .community-meetup-card #community-circle-title .mm-next-step-lead{font-family:var(--mm-brand-font)!important;font-size:var(--mm-card-title-size)!important;font-weight:700;line-height:1.08;letter-spacing:-.025em}
.community-share-entry{padding:25px 0}
body:not(.mm-admin-page) .community-share-entry>h3{display:block;min-height:0;padding:0;margin:0 0 15px}
.community-share-description{margin-top:15px}
.community-share-description>p{margin:0;white-space:normal!important}
.community-share-description>a{display:inline-block;margin-top:10px;font-size:var(--body-copy-size);color:inherit;text-underline-offset:.2em}
.community-share-description>a:hover{color:inherit}
html.mm-inline-editing .community-share-description[hidden]{display:block!important}

[data-community-share-retired]{display:none!important}
.community-share-description{margin-top:0}

html:not(.mm-inline-editing) [data-community-share-placeholder]{display:none!important}

/* Topic circles animate on hover without indicating a navigable link. */
html:not(.mm-inline-editing) body:not(.mm-admin-page) .community-future-topics button.community-option{cursor:default}

/* Extra breathing room above the future-topic heading. */
.community-future-topics{padding-top:20px}

/* Services stays visibly current on every route in its dropdown. */
.site-header .nav-services-toggle[data-mm-services-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}

/* Shared enquiry forms always use regular body weight, including imported forms. */
body:not(.mm-admin-page) .contact-form,
body:not(.mm-admin-page) .contact-form :is(label,input,select,textarea){font-weight:350!important}
body:not(.mm-admin-page) .booking-page,
body:not(.mm-admin-page) #booking-form,
body:not(.mm-admin-page) :is(.booking-page,#booking-form) :is(label,input,select,textarea){font-weight:350!important}

/* Explicit normal-weight text remains regular at the global body weight. */
body:not(.mm-admin-page) [data-mm-weight="normal"]{font-weight:350!important}
