
/* Martin Gladman Website: one stylesheet for every block.
   Layout follows the Everyday Sexology design; colours follow the Martin Gladman branding guide
   (teal #005973 and silver). Colours, fonts and spacing come from tokens.css. Classes start with mg-. */

.mg-page, .mg-page *{box-sizing:border-box}
.mg-page{
  margin:0;background:var(--white);color:var(--ink);
  font-family:var(--font-body);font-weight:300;font-size:1.125rem;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.mg-page p{margin:0}
.mg-page a{color:var(--teal)}
.mg-page a:hover{color:var(--teal-deep)}
.mg-page :focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:2px}
.mg-page img{display:block;max-width:100%}

/* Column wrapper: sets the side gutter. */
.mg-wrap{
  max-width:var(--content-width);margin-inline:auto;
  padding-left:max(var(--space-3),env(safe-area-inset-left,0px));
  padding-right:max(var(--space-3),env(safe-area-inset-right,0px));
}
.mg-section{padding-block:var(--space-6)}
.mg-band{background:var(--band)}
.mg-rule{border:0;border-top:1px solid var(--ink);margin:0}
.mg-flow{display:grid;gap:var(--space-4)}

/* ---------- Type ---------- */
.mg-title{
  font-family:var(--font-heading);font-weight:300;text-transform:uppercase;letter-spacing:.01em;
  font-size:clamp(1.75rem,3.6vw,2.5rem);line-height:1.15;margin:0;text-align:center;color:var(--ink);text-wrap:balance;
}
.mg-feature-title{font-family:var(--font-heading);font-weight:300;text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.15rem);line-height:1.15;margin:0;color:var(--ink);text-wrap:balance}
.mg-eyebrow{font-family:var(--font-heading);font-weight:400;text-transform:uppercase;letter-spacing:.16em;font-size:.875rem;line-height:1.4;color:var(--teal-deep);margin:0}
.mg-lead{font-weight:400;font-size:1.3rem;line-height:1.5}
.mg-small{font-size:.94rem;color:var(--ink-muted)}

/* ---------- Buttons ---------- */
.mg-button{
  display:inline-block;font-family:var(--font-heading);font-weight:400;font-size:.875rem;letter-spacing:.03em;text-transform:uppercase;
  text-decoration:none;text-align:center;padding:.7rem 1.6rem;border-radius:var(--radius-button);border:0;cursor:pointer;
  background:var(--teal);color:var(--white) !important;transition:background .2s,box-shadow .2s;
}
.mg-button:hover{background:var(--teal-deep)}
.mg-button--silver{
  background:linear-gradient(100deg,var(--silver-dark) 0%,var(--silver-light) 32%,var(--silver) 58%,var(--silver-light) 80%,var(--silver-dark) 100%);
  color:var(--teal) !important;
}
.mg-button--silver:hover{background:var(--silver-light)}
.mg-button--white{background:var(--white);color:var(--ink) !important;box-shadow:inset 0 0 0 1px var(--silver)}
.mg-button--white:hover{background:var(--white);box-shadow:inset 0 0 0 1px var(--teal)}

/* ---------- Site header: teal info strip, pale sky band with wordmark, menu and Book online ---------- */
.mg-topbar{background:var(--teal-deep);color:var(--white);font-family:var(--font-heading);font-weight:300;font-size:.82rem;letter-spacing:.02em}
.mg-topbar .mg-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.75rem;min-height:36px;padding-block:.35rem}
.mg-topbar span:first-child{margin-right:auto}
.mg-topbar a{color:var(--white);text-decoration:none}
.mg-topbar a:hover{color:var(--band)}
.mg-header{background:var(--band);color:var(--ink);position:relative;z-index:20}
.mg-header__inner{display:flex;align-items:center;gap:var(--space-3) var(--space-4);min-height:80px;padding-block:.75rem;flex-wrap:wrap}
.mg-brand{display:grid;gap:.15rem;text-decoration:none;color:var(--teal-deep) !important;margin-right:auto}
.mg-brand__name{font-family:var(--font-heading);font-weight:400;text-transform:uppercase;letter-spacing:.14em;font-size:1.375rem;line-height:1.1}
.mg-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.4rem}
.mg-nav li{position:relative}
.mg-nav a{font-family:var(--font-heading);font-weight:300;font-size:1rem;color:var(--ink);text-decoration:none;display:inline-block;padding:.35rem 0}
.mg-nav a:hover{color:var(--teal)}
.mg-nav > ul > li > a[aria-current="page"]{color:var(--teal-deep);box-shadow:inset 0 -1px 0 var(--teal-deep)}
.mg-nav__sub{
  position:absolute;top:100%;left:-1rem;min-width:13rem;z-index:30;display:block !important;
  background:var(--white);box-shadow:0 8px 24px rgba(29,43,48,.14);padding:.5rem 0 !important;border-radius:var(--radius-box);
  visibility:hidden;opacity:0;transition:opacity .15s;
}
.mg-nav__sub a{display:block;padding:.4rem 1rem;white-space:nowrap}
.mg-nav li:hover > .mg-nav__sub,.mg-nav li:focus-within > .mg-nav__sub{visibility:visible;opacity:1}
.mg-header .mg-button{padding:.75rem 1.15rem}
.mg-header__actions{display:flex;gap:var(--space-2);align-items:center}
.mg-header__actions .mg-button--white{color:var(--ink)}

.mg-menu-toggle{display:none}
@media (max-width:1180px){
  .mg-menu-toggle{
    display:inline-block;background:none;border:1px solid var(--teal-deep);color:var(--teal-deep);border-radius:var(--radius-button);
    font-family:var(--font-heading);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;padding:.55rem 1rem;cursor:pointer;
  }
  .mg-nav{flex-basis:100%;order:5}
  .mg-nav[data-open="false"]{display:none}
  .mg-nav ul{flex-direction:column;gap:0;padding-bottom:.5rem}
  .mg-nav__sub{position:static;visibility:visible;opacity:1;box-shadow:none;background:none;padding:0 0 .4rem 1rem !important;min-width:0}
  .mg-nav__sub a{color:var(--ink-muted)}
}
@media (max-width:640px){
  .mg-topbar span:first-child{flex-basis:100%;margin-right:0}
}
@media (max-width:480px){
  .mg-brand{flex-basis:100%}
  .mg-header__actions{margin-left:auto}
  .mg-header__inner{column-gap:var(--space-2)}
  .mg-header .mg-button{padding:.55rem .8rem;font-size:.7rem;letter-spacing:.02em}
  .mg-menu-toggle{padding:.5rem .8rem !important;font-size:.75rem !important}
}

/* ---------- Hero (homepage): words on pale sky beside the photo, never over it ---------- */
.mg-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--white);min-height:clamp(30rem,44vw,36rem)}
.mg-hero > *{min-width:0}
.mg-hero__text{display:flex;flex-direction:column;justify-content:center;gap:1.25rem;padding-block:var(--space-5);
  padding-left:max(var(--space-3),env(safe-area-inset-left,0px),calc((100vw - var(--content-width)) / 2 + var(--space-3)));padding-right:var(--space-5)}
.mg-hero__text h1{margin:0;font-family:var(--font-heading);font-weight:300;text-transform:uppercase;font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.1;color:var(--ink);text-wrap:balance}
.mg-hero__text p{max-width:30em;font-size:1.15rem;color:#33454b}
.mg-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:.5rem}
.mg-hero__photo{width:100%;height:100%;min-height:22rem;object-fit:cover;object-position:45% 0%;display:block}
@media (max-width:820px){
  .mg-hero{grid-template-columns:1fr}
  .mg-hero__text{padding-right:max(var(--space-3),env(safe-area-inset-right,0px))}
  .mg-hero__photo{height:24rem}
}

/* ---------- Inner page hero ---------- */
.mg-page-hero{position:relative;min-height:clamp(16rem,36vw,26rem);display:grid;align-items:end;overflow:hidden;background:var(--ink)}
.mg-page-hero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mg-page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.55))}
.mg-page-hero h1{position:relative;z-index:1;margin:0;padding-block:2rem;color:var(--white);font-family:var(--font-heading);font-weight:400;text-transform:uppercase;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15;text-wrap:balance}

/* ---------- Feature band: the three services in columns with fine lines (services strip a) ---------- */
.mg-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:3.25rem}
.mg-features > *{padding:0 2.5rem;border-left:1px solid var(--ink);display:grid;gap:.6rem;align-content:start;min-width:0;text-decoration:none;color:var(--ink) !important}
.mg-features > :first-child{border-left:0;padding-left:0}
.mg-features > :last-child{padding-right:0}
.mg-features h2{font-family:var(--font-heading);font-weight:400;text-transform:uppercase;font-size:1.375rem;line-height:1.2;margin:0}
.mg-features p{font-size:1.05rem;color:var(--ink-muted)}
.mg-features__more{font-family:var(--font-heading);font-weight:400;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);margin-top:.25rem}
.mg-features > a:hover h2{color:var(--teal)}
.mg-features > a:hover .mg-features__more{text-decoration:underline}
@media (max-width:720px){
  .mg-features{grid-template-columns:1fr;gap:1.5rem}
  .mg-features > *{border-left:0;padding:0 0 1.5rem;border-bottom:1px solid var(--ink)}
  .mg-features > :last-child{border-bottom:0;padding-bottom:0}
}

/* ---------- Services list: editorial ruled list (services strip e) ---------- */
.mg-svclist{display:grid;grid-template-columns:minmax(0,17rem) minmax(0,1fr);gap:var(--space-5)}
.mg-svclist__intro{display:grid;gap:.9rem;align-content:start}
.mg-svclist__rows{border-top:1px solid var(--ink)}
.mg-svclist__rows a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 2.5rem;gap:2rem;align-items:center;padding-block:1.6rem;border-bottom:1px solid var(--ink);text-decoration:none;color:var(--ink) !important}
.mg-svclist__name{font-family:var(--font-heading);font-weight:300;text-transform:uppercase;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.15}
.mg-svclist__rows p{color:var(--ink-muted)}
.mg-svclist__arrow{font-size:1.4rem;color:var(--teal-deep);text-align:right;transition:transform .2s}
.mg-svclist__rows a:hover .mg-svclist__name{color:var(--teal)}
.mg-svclist__rows a:hover .mg-svclist__arrow{transform:translateX(4px)}
@media (max-width:820px){
  .mg-svclist{grid-template-columns:1fr;gap:var(--space-4)}
  .mg-svclist__rows a{grid-template-columns:minmax(0,1fr) 2rem;gap:.4rem 1rem}
  .mg-svclist__rows p{grid-column:1;grid-row:2}
  .mg-svclist__arrow{grid-column:2;grid-row:1 / 3}
}

/* ---------- Section intro ---------- */
.mg-intro{display:grid;gap:var(--space-3);justify-items:center;text-align:center;max-width:var(--measure);margin:0 auto var(--space-5)}
.mg-intro--wide{max-width:none}

/* ---------- Statement with video (introduction 4) ---------- */
.mg-statement{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-5);padding-bottom:2.5rem;border-bottom:1px solid var(--ink)}
.mg-statement > *{min-width:0}
.mg-statement h2{margin:0;font-family:var(--font-heading);font-weight:300;text-transform:uppercase;font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.15;text-wrap:balance}
.mg-statement__body{display:grid;gap:var(--space-3);color:#33454b}
.mg-video-wide{position:relative;display:block;margin-top:var(--space-5)}
.mg-video-wide img{display:block;width:100%;aspect-ratio:16/9;max-height:calc(100vh - 6rem);object-fit:cover;object-position:50% 8%}
.mg-watch{position:absolute;left:2rem;bottom:2rem;display:flex;align-items:center;gap:1rem;background:var(--white);border-radius:var(--radius-button);padding:.6rem 1.5rem .6rem .6rem;font-family:var(--font-heading);font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.mg-watch::before{content:"";width:44px;height:44px;border-radius:50%;flex:0 0 44px;
  background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l9 6-9 6z' fill='%23ffffff'/%3E%3C/svg%3E") center/20px no-repeat}
.mg-video-wide:hover .mg-watch{color:var(--teal)}
@media (max-width:760px){
  .mg-statement{grid-template-columns:1fr;gap:var(--space-4)}
  .mg-video-wide img{aspect-ratio:16/9}
  .mg-watch{left:1rem;bottom:1rem}
}

/* ---------- Text beside video (introduction 2) ---------- */
.mg-intro-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--space-5);align-items:center}
.mg-intro-side > *{min-width:0}
.mg-intro-side__text{display:grid;gap:var(--space-3);justify-items:start}

/* ---------- Video band on pale sky (introduction 3) ---------- */
.mg-videoband{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--space-5);align-items:center}
.mg-videoband > *{min-width:0}
.mg-videoband__text{display:grid;gap:var(--space-3);justify-items:start}

/* Video poster with a play button, shared by the video layouts */
.mg-poster{position:relative;display:block}
.mg-poster img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:50% 10%}
.mg-poster::after{content:"";position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;
  background:rgba(255,255,255,.9) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l9 6-9 6z' fill='%23005973'/%3E%3C/svg%3E") 54% 50%/30px no-repeat;transition:transform .2s}
.mg-poster:hover::after{transform:scale(1.06)}
@media (max-width:760px){.mg-intro-side,.mg-videoband{grid-template-columns:1fr}}

/* ---------- Video ---------- */
.mg-video{width:100%;max-width:44rem;margin-inline:auto;aspect-ratio:16/9;background:var(--ink);display:block;object-fit:cover;object-position:50% 10%}

/* ---------- Feature rows (photo + text, alternating, hairlines between) ---------- */
.mg-rows{display:grid}
.mg-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-5);align-items:center;padding-block:var(--space-5);border-top:1px solid var(--ink)}
.mg-row:last-child{border-bottom:1px solid var(--ink)}
.mg-row > *{min-width:0}
.mg-row__photo{aspect-ratio:2/1;width:100%;object-fit:cover;object-position:50% 15%;border-radius:var(--radius-photo)}
.mg-row__text{display:grid;gap:var(--space-3);justify-items:start}
.mg-row--flip{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
.mg-row--flip .mg-row__text{order:-1;text-align:right;justify-items:end}
@media (max-width:760px){
  .mg-row,.mg-row--flip{grid-template-columns:1fr;gap:var(--space-4)}
  .mg-row--flip .mg-row__text{order:0;text-align:left;justify-items:start}
}

/* ---------- Text with photo (Meet Martin split) ---------- */
.mg-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-5);align-items:center}
.mg-split > *{min-width:0}
.mg-split__photo{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 0%;border-radius:var(--radius-photo)}
.mg-split__text{display:grid;gap:var(--space-3);justify-items:start}
.mg-split__text .mg-button{margin-top:var(--space-3)}
.mg-split--flip > .mg-split__photo{order:-1}
@media (max-width:760px){.mg-split{grid-template-columns:1fr}.mg-split__photo{order:-1;max-width:28rem}}

/* ---------- Cards (photo with silver caption) ---------- */
.mg-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--space-4)}
.mg-card{display:grid;grid-template-rows:auto 1fr;background:var(--band);text-decoration:none;color:var(--ink) !important}
.mg-card img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 15%}
.mg-card__caption{padding:1rem;text-align:center;display:grid;gap:.2rem;align-content:start}
.mg-card__title{font-family:var(--font-heading);font-weight:400;text-transform:uppercase;font-size:1.15rem;margin:0}
.mg-card__meta{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;color:var(--ink-muted)}
a.mg-card:hover .mg-card__title{color:var(--teal)}

/* ---------- FAQ accordion ---------- */
.mg-faq{display:grid;gap:.75rem;max-width:var(--measure);margin-inline:auto}
.mg-faq details{background:var(--white);border:1px solid var(--silver);border-radius:var(--radius-box)}
.mg-faq summary{list-style:none;cursor:pointer;display:flex;gap:1.25rem;align-items:center;padding:.85rem 1.25rem;font-weight:300}
.mg-faq summary::-webkit-details-marker{display:none}
.mg-faq summary::before{content:"";flex:0 0 18px;height:18px;
  background:linear-gradient(var(--ink),var(--ink)) center/18px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1px 18px no-repeat}
.mg-faq details[open] summary::before{background:linear-gradient(var(--ink),var(--ink)) center/18px 1px no-repeat}
.mg-faq details[open] summary{color:var(--teal)}
.mg-faq details > div{padding:0 1.25rem 1.1rem calc(1.25rem + 18px + 1.25rem);display:grid;gap:.75rem}

/* ---------- Steps: connected timeline (how it works B) ---------- */
.mg-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);position:relative;text-align:center;counter-reset:step}
.mg-steps::before{content:"";position:absolute;left:12.5%;right:12.5%;top:24px;height:1px;background:var(--teal)}
.mg-steps li{counter-increment:step;position:relative;display:flex;flex-direction:column;align-items:center;gap:.55rem;min-width:0}
.mg-steps li::before{content:counter(step);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin-bottom:.4rem;
  font-family:var(--font-heading);font-weight:300;font-size:1.25rem;background:var(--white);color:var(--teal-deep);box-shadow:inset 0 0 0 1px var(--teal)}
.mg-steps li:first-child::before{background:var(--teal);color:var(--white)}
.mg-steps li.is-optional::before{box-shadow:none;outline:1px dashed var(--teal);outline-offset:-1px}
.mg-steps h3{font-family:var(--font-heading);font-weight:400;text-transform:uppercase;font-size:1.05rem;line-height:1.3;margin:0;min-height:2.6em;display:flex;align-items:flex-start;justify-content:center}
.mg-steps p{font-size:1rem;color:#33454b;max-width:17rem}
.mg-steps__tag{font-family:var(--font-heading);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);
  border:1px solid var(--teal);border-radius:var(--radius-button);padding:.1rem .6rem}
.mg-steps h3{flex-wrap:wrap;align-items:center;gap:.35rem .75rem}
.mg-steps h3 .mg-steps__tag{font-weight:400;line-height:1.5;white-space:nowrap}
@media (max-width:820px){
  .mg-steps{grid-template-columns:1fr;gap:var(--space-4);text-align:left}
  .mg-steps::before{left:24px;right:auto;top:24px;bottom:24px;width:1px;height:auto}
  .mg-steps li{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:var(--space-3);row-gap:.35rem;align-items:start}
  .mg-steps li::before{grid-row:1 / span 3;margin:0}
  .mg-steps li > *{grid-column:2;justify-self:start}
  .mg-steps p{max-width:none}
  .mg-steps h3{min-height:0;justify-content:flex-start}
}

/* ---------- How it works with photo (how it works E) ---------- */
.mg-howto{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch}
.mg-howto__photo{width:100%;height:100%;min-height:34rem;object-fit:cover;object-position:30% 0%;display:block}
.mg-howto__body{display:grid;align-content:center;gap:var(--space-4);padding-block:var(--space-6);
  padding-left:clamp(24px,6vw,var(--space-6));padding-right:max(16px,env(safe-area-inset-right,0px))}
.mg-howto__body > *{max-width:36rem}
.mg-howto__body .mg-title{margin:0;text-align:left}
.mg-howto__body .mg-button{justify-self:start}
/* steps as a vertical timeline */
.mg-steps--list{grid-template-columns:1fr;gap:var(--space-4);text-align:left}
.mg-steps--list::before{display:none}
.mg-steps--list li:not(:last-child)::after{content:"";position:absolute;left:24px;top:48px;bottom:calc(-1 * var(--space-4));width:1px;background:var(--teal)}
.mg-steps--list li{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:var(--space-3);row-gap:.3rem;align-items:start}
.mg-steps--list li::before{grid-row:1 / span 3;margin:0}
.mg-steps--list li > *{grid-column:2;justify-self:start}
.mg-steps--list h3{min-height:0;justify-content:flex-start;padding-top:.7rem}
.mg-steps--list p{max-width:none}
.mg-steps--list li > h3{justify-self:stretch}
@media (max-width:820px){
  .mg-howto{grid-template-columns:1fr}
  .mg-howto__photo{min-height:0;height:auto;aspect-ratio:4/3;object-position:30% 0%}
  .mg-howto__body{padding-left:max(16px,env(safe-area-inset-left,0px));padding-block:var(--space-5)}
}

/* ---------- Photo hero: large full-width photo, no words (homepage) ---------- */
.mg-photohero{background:var(--white)}
.mg-photohero img{display:block;width:100%;height:auto;aspect-ratio:16/9;min-height:20rem;object-fit:cover;object-position:40% 0%}

/* ---------- Welcome panel: title left, services listed right (full hero 2) ---------- */
.mg-welcome__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);padding-block:var(--space-5) var(--space-6);align-items:start}
.mg-welcome__intro{display:grid;gap:var(--space-3);align-content:start}
.mg-welcome__intro h1{margin:0;font-family:var(--font-heading);font-weight:300;text-transform:uppercase;font-size:clamp(2rem,3.4vw,2.7rem);line-height:1.12;text-wrap:balance}
.mg-welcome__intro p:not(.mg-eyebrow){margin:0;font-size:1.1rem;color:#33454b;max-width:30em}
.mg-welcome__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}
.mg-svcrows{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--ink)}
.mg-svcrows a{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-4);row-gap:.3rem;padding:1.15rem 0;border-top:1px solid var(--ink);color:var(--ink);text-decoration:none}
.mg-svcrows a::after{content:"→";grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--teal-deep);font-size:1.2rem;transition:transform .2s}
.mg-svcrows a:hover::after,.mg-svcrows a:focus-visible::after{transform:translateX(4px)}
.mg-svcrows a:hover h2{color:var(--teal)}
.mg-svcrows h2{margin:0;font-family:var(--font-heading);font-weight:400;text-transform:uppercase;font-size:1.15rem}
.mg-svcrows p{margin:0;font-size:1rem;color:var(--ink-muted)}
@media (max-width:860px){.mg-welcome__grid{grid-template-columns:1fr;gap:var(--space-5)}}

/* ---------- Page title: inner pages, words only on white (no text over photos) ---------- */
.mg-pagetitle{background:var(--white);border-bottom:1px solid var(--band)}
.mg-pagetitle .mg-wrap{display:grid;gap:var(--space-3);padding-block:var(--space-6) var(--space-5);max-width:var(--content-width)}
.mg-pagetitle h1{margin:0;font-family:var(--font-heading);font-weight:300;text-transform:uppercase;font-size:clamp(2rem,4vw,3rem);line-height:1.1;text-wrap:balance}
.mg-pagetitle__lead{margin:0;font-size:1.15rem;color:#33454b;max-width:40em}
.mg-features__h{font-family:var(--font-heading);font-weight:400;text-transform:uppercase;font-size:1.25rem;line-height:1.2;margin:0}
.mg-svcrows h3{margin:0;font-family:var(--font-heading);font-weight:400;text-transform:uppercase;font-size:1.15rem}

.mg-split__photo--wide{aspect-ratio:4/3;object-position:50% 20%}
.mg-svcrows--four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 var(--space-4);border-bottom:0}
.mg-svcrows--four a{border-bottom:1px solid var(--ink)}
@media (max-width:760px){.mg-svcrows--four{grid-template-columns:1fr}}

/* ---------- About top (About page, option 1): title + first paragraph beside the photo, rest in two columns ---------- */
.mg-abouttop .mg-wrap{padding-block:var(--space-5) var(--space-6)}
.mg-abouttop__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--space-6);align-items:center}
.mg-abouttop__intro{display:grid;gap:var(--space-3);min-width:0}
.mg-abouttop__intro h1{margin:0;font-family:var(--font-heading);font-weight:300;text-transform:uppercase;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.05;text-wrap:balance}
.mg-abouttop__lead{margin:0;font-size:1.15rem;line-height:1.65;color:var(--ink)}
.mg-abouttop__photo{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 25%;border-radius:var(--radius-photo);display:block}
.mg-abouttop__more{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--teal)}
.mg-abouttop__more > div{display:grid;gap:var(--space-3);align-content:start;min-width:0;color:#33454b}
.mg-abouttop__more .mg-button{justify-self:start;margin-top:var(--space-2)}
@media (max-width:860px){
  .mg-abouttop__head,.mg-abouttop__more{grid-template-columns:1fr;gap:var(--space-4)}
  .mg-abouttop__photo{order:-1}
}

.mg-eyebrow--stack{display:grid;gap:.35rem;letter-spacing:.12em}
.mg-aboutcreds{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;border-bottom:1px solid var(--silver,#c9dde4);max-width:28rem}
.mg-aboutcreds li{display:grid;gap:.25rem;padding:.9rem 0;border-top:1px solid #c9dde4}
.mg-aboutcreds span{font-family:var(--font-heading);font-weight:400;font-size:1rem;line-height:1.35;color:var(--ink)}
.mg-aboutcreds small{font-family:var(--font-heading);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep);line-height:1.5}
.mg-aboutwide__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}
.mg-page{scroll-behavior:smooth}
/* ---------- About wide (About page, option 2): wide photo first, then title left and words right ---------- */
.mg-aboutwide__photo{display:block;width:100%;height:auto;aspect-ratio:2.2/1;min-height:18rem;object-fit:cover;object-position:50% 40%}
.mg-aboutwide__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--space-6);padding-block:var(--space-5) var(--space-6)}
.mg-aboutwide__head{display:grid;gap:var(--space-3);align-content:start}
.mg-aboutwide__head h1{margin:0;font-family:var(--font-heading);font-weight:300;text-transform:uppercase;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.05;text-wrap:balance}
.mg-aboutwide__body{display:grid;gap:var(--space-3);color:#33454b;min-width:0}
.mg-aboutwide__lead{font-size:1.15rem;color:var(--ink)}
.mg-aboutwide__body .mg-button{justify-self:start;margin-top:var(--space-2)}
@media (max-width:860px){.mg-aboutwide__grid{grid-template-columns:1fr;gap:var(--space-4)}}

/* ---------- Credentials beside a photo (square photo, list with provider in small capitals) ---------- */
.mg-credsphoto{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-6);align-items:center}
.mg-credsphoto__text{display:grid;gap:var(--space-4);min-width:0}
.mg-credsphoto__text .mg-title{text-align:left;margin:0}
.mg-credslist{list-style:none;margin:0;padding:0;display:grid;border-bottom:1px solid var(--ink)}
.mg-credslist li{display:grid;gap:.3rem;padding:1.1rem 0;border-top:1px solid var(--ink)}
.mg-credslist span{font-family:var(--font-heading);font-weight:400;font-size:1.1rem;line-height:1.35}
.mg-credslist small{font-family:var(--font-heading);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep)}
.mg-credslist em{font-style:normal;font-size:.95rem;color:var(--ink-muted)}
.mg-credsphoto__photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:62% 30%;border-radius:var(--radius-photo);display:block}
@media (max-width:860px){.mg-credsphoto{grid-template-columns:1fr;gap:var(--space-4)}.mg-credsphoto__photo{order:-1;aspect-ratio:4/3}}

/* ---------- Booking page: note for current clients beside a photo ---------- */
.mg-booking{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--space-6);align-items:stretch}
.mg-booking__text{display:grid;gap:var(--space-4);min-width:0}
.mg-booking__text h1{margin:0;font-family:var(--font-heading);font-weight:300;text-transform:uppercase;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.05}
.mg-booking__text > .mg-eyebrow{margin-bottom:calc(-1 * var(--space-3))}
.mg-booking__lead{margin:0;font-size:1.2rem;color:var(--ink)}
.mg-booking__panel{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--band)}
.mg-booking__panel--clients{background:var(--white);border:1px solid var(--band)}
.mg-booking__panel h2{margin:0;font-family:var(--font-heading);font-weight:400;text-transform:uppercase;font-size:1.15rem;letter-spacing:.04em}
.mg-booking__panel p{margin:0;color:#33454b}
.mg-booking__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.mg-booking__photo{order:-1;width:100%;height:100%;min-height:24rem;object-fit:cover;object-position:55% 50%;border-radius:var(--radius-photo);display:block}
@media (max-width:860px){.mg-booking{grid-template-columns:1fr}.mg-booking__photo{height:auto;min-height:0;aspect-ratio:3/2}}

/* ---------- Testimonial ---------- */
.mg-quote{margin:0 auto;max-width:var(--measure);text-align:center;display:grid;gap:var(--space-3)}
.mg-quote p{font-size:1.05rem}
.mg-quote footer{font-style:italic;color:var(--ink-muted)}

/* ---------- Call to action ---------- */
.mg-cta{display:grid;gap:var(--space-4);justify-items:center;text-align:center;max-width:var(--measure);margin-inline:auto}
.mg-cta__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}

/* ---------- Detail sections (inner pages) ---------- */
.mg-detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-5);align-items:start}
.mg-detail > *{min-width:0}
.mg-detail__main{display:grid;gap:var(--space-4)}
.mg-detail__part{border-top:1px solid var(--ink);padding-top:var(--space-4);display:grid;gap:var(--space-3)}
.mg-detail__part h2{font-family:var(--font-heading);font-weight:400;text-transform:uppercase;font-size:1.15rem;margin:0}
.mg-side{display:grid;gap:var(--space-3)}
.mg-side h2{font-family:var(--font-heading);font-weight:400;text-transform:uppercase;font-size:1.3rem;margin:0 0 var(--space-2)}
.mg-side a.mg-side__item{display:flex;align-items:center;gap:1rem;background:var(--band);border-radius:var(--radius-button);padding:.85rem 1.1rem;color:var(--ink);text-decoration:none}
.mg-side a.mg-side__item::before{content:"";flex:0 0 14px;height:14px;border-radius:50%;background:var(--white)}
.mg-side a.mg-side__item:hover{color:var(--teal)}
@media (max-width:760px){.mg-detail{grid-template-columns:1fr}}

/* ---------- Conditions list ---------- */
.mg-conditions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-6);max-width:60rem;margin-inline:auto}
.mg-conditions__group{display:grid;gap:var(--space-3);align-content:start;border-top:1px solid var(--teal);padding-top:var(--space-3)}
.mg-conditions__group h3{margin:0;font-family:var(--font-heading);font-weight:400;font-size:.875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep)}
.mg-conditions ul{margin:0;padding-left:1.15rem;display:grid;gap:.45rem;align-content:start}
.mg-conditions li::marker{color:var(--teal)}
.mg-conditions__also{grid-column:1 / -1;margin:0;color:var(--ink-muted);font-size:.95rem}
@media (max-width:700px){.mg-conditions{grid-template-columns:1fr;gap:var(--space-4)}}

/* ---------- Fee table ---------- */
.mg-fees-wrap{overflow-x:auto;max-width:52rem;margin-inline:auto}
.mg-fees{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:32rem}
.mg-fees th,.mg-fees td{padding:.9rem .75rem;text-align:left;border-bottom:1px solid var(--silver);vertical-align:top}
.mg-fees thead th{font-family:var(--font-heading);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:.85rem;color:var(--ink-muted);border-bottom:1px solid var(--ink)}
.mg-fees tbody th{font-weight:400}
.mg-fees .num{text-align:right;white-space:nowrap}
.mg-fees small{display:block;color:var(--ink-muted);font-size:.9rem}
.mg-fees td.mg-fees__pay{color:var(--teal);font-weight:400}

/* ---------- Credentials ---------- */
.mg-creds{list-style:none;margin:0 auto;padding:0;display:grid;max-width:48rem}
.mg-creds li{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-4);border-top:1px solid var(--ink)}
.mg-creds li:last-child{border-bottom:1px solid var(--ink)}
.mg-creds__year{font-family:var(--font-heading);color:var(--teal);font-variant-numeric:tabular-nums}
.mg-creds__title{font-weight:400}
@media (max-width:480px){.mg-creds li{grid-template-columns:1fr;gap:.2rem}}
.mg-creds--plain li{grid-template-columns:1fr;text-align:center;justify-items:center}

/* ---------- Location ---------- */
.mg-location{display:grid;gap:var(--space-3);justify-items:start}
.mg-location address{font-style:normal;font-weight:400}
.mg-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:var(--space-2);width:100%;margin-top:var(--space-3)}
.mg-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* ---------- Contact details ---------- */
.mg-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-5);max-width:52rem;margin-inline:auto}
.mg-contact dl{margin:0;display:grid;gap:var(--space-4)}
.mg-contact dt{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;color:var(--ink-muted)}
.mg-contact dd{margin:.25rem 0 0;font-weight:400}
.mg-contact address{font-style:normal}

/* ---------- Common enquiries ---------- */
.mg-enquiries{display:grid;gap:var(--space-4)}
.mg-enquiries h2{font-family:var(--font-heading);font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:1rem;margin:0;text-align:center}
.mg-enquiries__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-5);max-width:44rem;margin-inline:auto}
.mg-enquiries ul{list-style:none;margin:0;padding:0;display:grid;gap:.2rem;font-size:.95rem}
.mg-enquiries a{color:var(--ink-muted);text-decoration:none}
.mg-enquiries a:hover{color:var(--teal);text-decoration:underline}
@media (max-width:640px){.mg-enquiries__cols{grid-template-columns:1fr;gap:1rem;text-align:center}}

/* ---------- Site footer ---------- */
.mg-footer{background:var(--band);color:var(--ink)}
.mg-footer h2{font-family:var(--font-heading);font-weight:400;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;color:var(--teal-deep);margin:0}
.mg-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.mg-footer a{color:var(--ink-muted);text-decoration:none}
.mg-footer a:hover{color:var(--teal);text-decoration:underline}
.mg-footer__row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:var(--space-5);align-items:center;padding-block:var(--space-5) var(--space-4)}
.mg-footer__brand{display:grid;gap:.7rem;min-width:0}
.mg-footer__brand .mg-brand{margin:0;color:var(--teal) !important}
.mg-footer__quals{font-size:.875rem;color:var(--ink-muted)}
.mg-footer__contact{display:grid;gap:.35rem;font-size:.95rem;color:var(--ink-muted);min-width:0}
.mg-footer__contact > a:not(:last-child){color:var(--ink)}
.mg-footer__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}
.mg-footer__actions .mg-button--white{color:var(--ink)}
@media (max-width:980px){.mg-footer__row{grid-template-columns:1fr 1fr}.mg-footer__actions{grid-column:1 / -1;justify-content:flex-start}}
@media (max-width:600px){.mg-footer__row{grid-template-columns:1fr;gap:var(--space-4)}}
.mg-footer__about{margin:0;font-size:.9rem;line-height:1.55;color:var(--ink-muted);max-width:30rem}
.mg-footer__creds summary{border-top-color:var(--teal)}
.mg-footer__creds{margin-top:calc(-1 * var(--space-4))}
.mg-footer__credlist{display:grid;gap:.6rem;padding-block:var(--space-2) var(--space-3);font-size:.9rem;color:var(--ink-muted)}
.mg-footer__credlist span{display:block;color:var(--ink)}
.mg-footer__enquiries{padding-bottom:var(--space-4)}
.mg-footer__enquiries summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--teal);padding-block:var(--space-3)}
.mg-footer__enquiries summary::-webkit-details-marker{display:none}
.mg-footer__enquiries summary::after{content:"";flex:0 0 14px;height:14px;
  background:linear-gradient(var(--teal-deep),var(--teal-deep)) center/14px 1px no-repeat,linear-gradient(var(--teal-deep),var(--teal-deep)) center/1px 14px no-repeat}
.mg-footer__enquiries[open] summary::after{background:linear-gradient(var(--teal-deep),var(--teal-deep)) center/14px 1px no-repeat}
.mg-footer__enquiries summary:hover h2{color:var(--teal)}
.mg-footer__enq-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3) var(--space-5);padding-block:var(--space-2) var(--space-3)}
.mg-footer__enquiries h3{font-family:var(--font-heading);font-weight:400;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .4rem}
.mg-footer__enquiries ul{font-size:.9rem;gap:.25rem}
.mg-footer__strip{background:var(--teal);color:var(--white);font-size:.85rem}
.mg-footer__strip .mg-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;padding-block:.8rem}
.mg-footer__strip ul{display:flex;flex-wrap:wrap;gap:.3rem 1.25rem;font-size:.85rem}
.mg-footer__strip a{color:var(--white)}
.mg-footer__strip a:hover{color:var(--silver-light)}

@media (max-width:560px){
  .mg-footer__cols,.mg-footer__enq-cols{grid-template-columns:1fr}
  .mg-footer__cols{gap:var(--space-4)}
}

@media (prefers-reduced-motion:reduce){.mg-page *{transition:none!important}}

/* SiteFooter: four columns (footer option 1, chosen 2026-11-05) */
.mg-footer__row{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1.1fr);gap:var(--space-5) var(--space-6);align-items:start;padding-block:var(--space-6) var(--space-5)}
.mg-footer__brand{gap:var(--space-3)}
.mg-footer__actions{justify-content:flex-start}
.mg-footer__col{display:grid;align-content:start;gap:.75rem;min-width:0}
.mg-footer__col ul{gap:.4rem;font-size:.95rem}
.mg-footer__contact{gap:.45rem;font-size:.95rem}
.mg-footer__contact address{font-style:normal;font-size:.875rem;line-height:1.45;margin-top:.35rem}
.mg-footer a.mg-footer__strong{color:var(--ink)}
@media (max-width:980px){.mg-footer__row{grid-template-columns:repeat(3,minmax(0,1fr))}.mg-footer__brand{grid-column:1 / -1}}
@media (max-width:600px){.mg-footer__row{grid-template-columns:1fr 1fr;gap:var(--space-4)}.mg-footer__contact{grid-column:1 / -1}}

/* BioReading: wide photo, then one centred reading column with a pull quote (Martin Gladman page, option 2) */
.mg-bioread__photo{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:2.4/1;min-height:18rem;object-fit:cover;object-position:66% 4%}
.mg-bioread__col{max-width:42rem;margin-inline:auto;display:grid;gap:var(--space-3);padding-block:var(--space-5) var(--space-6);min-width:0}
.mg-bioread__col h1{margin:0;font-family:var(--font-heading);font-weight:300;text-transform:uppercase;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.05;text-wrap:balance}
.mg-bioread__col p{margin:0;font-size:1.0625rem;line-height:1.75;color:#33454b}
.mg-bioread__col .mg-eyebrow{margin:0}
.mg-bioread__lead{font-size:1.2rem !important;color:var(--ink) !important}
.mg-bioread__quote{margin:var(--space-3) 0;padding:.25rem 0 .25rem var(--space-4);border-left:2px solid var(--teal);font-family:var(--font-heading);font-weight:300;font-size:clamp(1.4rem,2.6vw,1.8rem);line-height:1.4;color:var(--teal)}
.mg-bioread__col .mg-button{justify-self:start;margin-top:var(--space-2)}

.mg-bioread__h{margin:var(--space-4) 0 -.25rem;padding-top:var(--space-3);border-top:1px solid var(--teal);font-family:var(--font-heading);font-weight:400;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep)}
h1 + .mg-bioread__h{margin-top:var(--space-3)}
.mg-section--ruled > .mg-wrap{border-top:1px solid var(--teal);padding-top:var(--space-5)}
.mg-section.mg-section--ruled{padding-top:0}

/* Story: heading and pull quote on the left, story paragraphs on the right (About page, Martin’s story) */
.mg-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--space-6);align-items:start}
.mg-story__head{display:grid;gap:var(--space-4);position:sticky;top:var(--space-5)}
.mg-story__head .mg-title{margin:0;text-align:left}
.mg-story__head .mg-bioread__quote{margin:0}
.mg-story__body{display:grid;gap:var(--space-3);color:#33454b;min-width:0}
.mg-story__body p{margin:0;line-height:1.75}
@media (max-width:860px){.mg-story{grid-template-columns:1fr;gap:var(--space-4)}.mg-story__head{position:static}}

/* AtAGlance: fees, rebate and locations as a ruled list beside a clinic photo (homepage, option 5) */
.mg-glance{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--space-6);align-items:stretch}
.mg-glance__text{display:grid;gap:var(--space-4);align-content:start;min-width:0}
.mg-glance__text .mg-title{margin:0;text-align:left}
.mg-glance__list{margin:0;display:grid}
.mg-glance__list > div{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:var(--space-4);border-top:1px solid var(--teal);padding-block:.8rem}
.mg-glance__list > div:last-child{border-bottom:1px solid var(--teal)}
.mg-glance__list dt{font-family:var(--font-heading);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep);padding-top:.2rem}
.mg-glance__list dd{margin:0;color:var(--ink)}
.mg-glance__list a{color:var(--ink);text-decoration-color:var(--teal);text-underline-offset:3px}
.mg-glance__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}
.mg-textlink{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.mg-glance__photo{display:block;width:100%;max-width:100%;height:100%;min-height:22rem;object-fit:cover;object-position:50% 50%}
@media (max-width:860px){.mg-glance{grid-template-columns:1fr;gap:var(--space-5)}.mg-glance__photo{height:auto;aspect-ratio:4/3;min-height:0;order:-1}}
@media (max-width:520px){.mg-glance__list > div{grid-template-columns:1fr;gap:.2rem}}

/* Phone chrome (6 Nov 2026): thin drifting info strip, menu on the right, floating Enquire now */
.mg-fab{display:none}
@media (max-width:640px){
  .mg-topbar{overflow:hidden;font-size:.78rem}
  .mg-topbar .mg-wrap{display:inline-flex;flex-wrap:nowrap;white-space:nowrap;min-height:30px;padding-block:.3rem;gap:2.5rem;width:max-content;max-width:none;animation:mg-ticker 22s linear infinite}
  .mg-topbar span:first-child{flex-basis:auto !important;margin-right:0 !important}
  @keyframes mg-ticker{from{transform:translateX(100vw)}to{transform:translateX(-100%)}}
  .mg-header__inner{min-height:64px;flex-wrap:wrap}
  .mg-brand{flex-basis:auto !important}
  .mg-brand__name{font-size:1.1rem;letter-spacing:.12em}
  .mg-header__actions{display:none !important}
  .mg-menu-toggle{margin-left:auto;padding:.55rem 1.1rem !important;font-size:.8rem !important}
  .mg-nav a{font-size:1.05rem;padding-block:.55rem}
  .mg-fab{display:inline-flex;align-items:center;justify-content:center;position:fixed;z-index:50;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom,0px));background:var(--teal);color:#fff !important;text-decoration:none;font-family:var(--font-heading);font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;padding:.9rem 1.6rem;border-radius:999px;box-shadow:0 6px 18px rgba(0,40,52,.28);white-space:nowrap}
  .mg-fab:active{background:var(--teal-deep)}
  .mg-page{padding-bottom:84px}
  p,li{font-size:1.0625rem}
}
@media (max-width:640px) and (prefers-reduced-motion:reduce){
  .mg-topbar .mg-wrap{animation:none;transform:none;width:auto;max-width:100%}
  .mg-topbar span:nth-child(2){display:none}
}
/* Article (blog), one type scale (6 Nov 2026)
   kicker .78rem caps · H1 3.25rem · part title 1.75rem · H2 2rem · lead/definition 1.3rem · body 1.125rem · pull quote 2.1rem · small .875rem */
.mg-article__hero{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:2.6/1;min-height:14rem;object-fit:cover;object-position:60% 50%}
.mg-ed__main{max-width:42rem;margin-inline:auto;display:flex;flex-direction:column;padding-block:var(--space-6);min-width:0;color:#33454b}
.mg-ed__main > *{margin:0 0 1.5rem}
.mg-ed__main p,.mg-ed__main li{font-size:1.125rem;line-height:1.75;font-weight:400}
.mg-ed__main a{color:var(--teal);text-underline-offset:3px}
.mg-article__kicker{font-family:var(--font-heading);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:1rem !important}
.mg-article__kicker a{color:inherit;text-decoration:none}
.mg-ed__main h1{font-family:var(--font-heading);font-weight:300;font-size:clamp(2.3rem,4.4vw,3.25rem);line-height:1.1;color:var(--ink);text-wrap:balance;margin-bottom:1rem !important}
.mg-article__sub{font-family:var(--font-heading);font-weight:300;font-size:1.75rem !important;line-height:1.3 !important;color:var(--teal);text-wrap:balance;margin-bottom:1.25rem !important}
.mg-article__byline{font-size:.875rem !important;line-height:1.5 !important;color:var(--ink-muted);margin-bottom:3rem !important}
.mg-article__byline a{color:inherit}
.mg-ed__main h2{font-family:var(--font-heading);font-weight:400;font-size:2rem;line-height:1.2;color:var(--ink);text-wrap:balance;margin:3.5rem 0 1.25rem}
.mg-article__lead,.mg-def{font-family:var(--font-heading);font-weight:300;font-size:1.3rem !important;line-height:1.6 !important;color:var(--ink) !important}
.mg-cite{font-size:.75em;white-space:nowrap;color:var(--ink-muted)}
.mg-cite a{text-decoration:none}
/* lists: thin teal dash instead of dots */
.mg-ed__main ul{list-style:none;padding:0;display:grid;gap:.6rem}
.mg-ed__main ul > li{position:relative;padding-left:1.5rem}
.mg-ed__main ul > li::before{content:"";position:absolute;left:0;top:.85em;width:.8rem;height:1px;background:var(--teal)}
.mg-checks{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}
.mg-checks li{font-size:1.05rem !important;line-height:1.55 !important;color:var(--ink)}
/* in short */
.mg-keypoints{border-left:2px solid var(--teal);padding:.25rem 0 .25rem 1.5rem;margin-bottom:3rem !important}
.mg-keypoints h2{font-family:var(--font-heading);font-weight:400;font-size:.78rem !important;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);margin:0 0 .75rem !important}
.mg-keypoints ul{gap:.5rem}
.mg-keypoints li{color:var(--ink) !important}
/* pull quote: aligned to the text, quotes do the work */
.mg-pull{margin:3rem 0 !important;padding:0;border:0}
.mg-pull p{margin:0;font-family:var(--font-heading);font-weight:300;font-size:2.1rem !important;line-height:1.25 !important;color:var(--teal);text-wrap:balance}
/* notes */
.mg-article__note{background:var(--band);padding:1.5rem 1.75rem;margin:1rem 0 2.5rem !important}
.mg-article__note p{margin:0;color:var(--ink);font-size:1.05rem !important}
.mg-article__note h3{margin:0 0 .5rem;font-family:var(--font-heading);font-weight:400;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep)}
/* figures and tables */
.mg-article__fig,.mg-article__table{margin:1.5rem 0 2.5rem !important;display:grid;gap:.75rem;min-width:0}
.mg-chart{overflow-x:auto;max-width:100%}
.mg-chart svg{display:block;width:100%;min-width:34rem;height:auto}
.mg-article__fig figcaption,.mg-article__table figcaption{font-size:.875rem;line-height:1.55;color:var(--ink-muted)}
.mg-article__table{--tw:min(64rem,calc(100vw - 32px));width:var(--tw);max-width:none;margin-left:calc((100% - var(--tw)) / 2) !important}
.mg-article__table h3{margin:0;font-family:var(--font-heading);font-weight:400;font-size:1.3rem;color:var(--ink)}
.mg-tablewrap{overflow-x:auto;max-width:100%}
.mg-tablewrap table{border-collapse:collapse;width:100%;min-width:44rem;font-size:.9rem}
.mg-tablewrap th,.mg-tablewrap td{text-align:left;vertical-align:top;padding:.7rem .6rem;border-bottom:1px solid #d3e3e9}
.mg-tablewrap thead th{font-family:var(--font-heading);font-weight:400;font-size:.8rem;color:var(--teal-deep);border-bottom:1px solid var(--teal)}
.mg-tablewrap tbody th{font-weight:400;color:var(--ink);min-width:11rem}
.mg-scrollhint{display:none;margin:0;font-size:.8rem !important;color:var(--ink-muted);font-style:italic}
/* five aspects summary */
.mg-ranges{background:var(--band);padding:2rem;margin:1rem 0 3rem !important;display:grid;gap:1rem}
.mg-ranges h3{margin:0;font-family:var(--font-heading);font-weight:400;font-size:1.5rem;color:var(--ink)}
.mg-ranges__intro{margin:0;font-size:.95rem !important;color:var(--ink-muted)}
.mg-ranges dl{margin:0;display:grid}
.mg-ranges dl > div{display:grid;grid-template-columns:9rem minmax(0,1fr) minmax(0,1fr);gap:1rem;padding-block:.9rem;border-top:1px solid #b9d2db}
.mg-ranges dt{font-family:var(--font-heading);font-size:1.1rem;color:var(--ink)}
.mg-ranges dd{margin:0;font-size:.95rem;line-height:1.5;color:var(--ink)}
.mg-ranges dd span:first-child{display:block;font-family:var(--font-heading);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep)}
/* next part, the full guide, fold-outs */
.mg-nextpart{display:grid;gap:.4rem;padding:1.75rem 2rem;background:var(--teal);color:#fff !important;text-decoration:none;margin:2rem 0 3rem !important}
.mg-nextpart span{font-family:var(--font-heading);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#d9eaf0}
.mg-nextpart strong{font-family:var(--font-heading);font-weight:300;font-size:1.6rem;line-height:1.3}
.mg-nextpart:hover{background:var(--teal-deep)}
.mg-series-wrap{margin-bottom:3rem !important}
.mg-series__title{font-family:var(--font-heading);font-weight:400;font-size:.78rem !important;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);margin:0 0 .75rem !important}
.mg-series ol{list-style:none;margin:0;padding:0;display:grid}
.mg-series a{display:grid;grid-template-columns:5rem 1fr;gap:1rem;align-items:baseline;padding:.9rem 0;border-top:1px solid #d3e3e9;color:var(--ink);text-decoration:none;font-size:1.05rem;line-height:1.45}
.mg-series li:last-child a{border-bottom:1px solid #d3e3e9}
.mg-series a span{font-family:var(--font-heading);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep)}
.mg-series a[aria-current="page"]{color:var(--teal)}
.mg-series a[aria-current="page"]::after{content:"You’re reading this part";grid-column:2;font-size:.8rem;color:var(--ink-muted);margin-top:-.4rem}
.mg-series a:hover{color:var(--teal)}
.mg-more{border-top:1px solid #d3e3e9;margin-bottom:0 !important}
.mg-more:last-of-type{border-bottom:1px solid #d3e3e9}
.mg-more summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.1rem}
.mg-more summary::-webkit-details-marker{display:none}
.mg-more summary::after{content:"+";font-family:var(--font-heading);font-weight:300;font-size:1.5rem;color:var(--teal)}
.mg-more[open] summary::after{content:"–"}
.mg-more summary h2{margin:0 !important;font-size:1.25rem !important}
.mg-more > *:not(summary){margin:0 0 1.25rem}
.mg-article__refs{padding-left:2rem;display:grid;gap:.5rem}
.mg-article__refs li{font-size:.875rem !important;line-height:1.55 !important;overflow-wrap:anywhere;scroll-margin-top:6rem}
.mg-article__small{display:grid;gap:.6rem;margin-top:2.5rem !important}
.mg-article__small p{font-size:.8rem !important;line-height:1.55 !important;color:var(--ink-muted)}
/* author band */
.mg-author{display:grid;grid-template-columns:minmax(0,16rem) minmax(0,1fr);gap:var(--space-5);align-items:center;max-width:56rem}
.mg-author__photo{display:block;width:100%;max-width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.mg-author__text{display:grid;gap:var(--space-3);min-width:0}
.mg-author__text > *{margin:0}
.mg-author__text .mg-title{text-align:left}
.mg-author__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}
/* phones */
@media (max-width:640px){
  .mg-article__hero{aspect-ratio:16/9;min-height:0}
  .mg-ed__main{padding-block:2.5rem 4rem}
  .mg-ed__main > *{margin-bottom:1.25rem}
  .mg-ed__main h1{font-size:2.15rem}
  .mg-article__sub{font-size:1.4rem !important}
  .mg-article__byline{margin-bottom:2.25rem !important}
  .mg-ed__main p,.mg-ed__main li{font-size:1.125rem}
  .mg-article__lead,.mg-def{font-size:1.2rem !important}
  .mg-ed__main h2{font-size:1.65rem;margin-top:2.75rem}
  .mg-checks{grid-template-columns:1fr}
  .mg-pull{margin:2.25rem 0 !important}
  .mg-pull p{font-size:1.65rem !important}
  .mg-ranges{padding:1.25rem}
  .mg-ranges dl > div{grid-template-columns:1fr 1fr}
  .mg-ranges dt{grid-column:1 / -1}
  .mg-scrollhint{display:block}
  .mg-chart svg{min-width:36rem}
  .mg-series a{grid-template-columns:1fr;gap:.2rem}
  .mg-series a[aria-current="page"]::after{grid-column:1;margin-top:0}
  .mg-nextpart strong{font-size:1.35rem}
  .mg-author{grid-template-columns:1fr}
  .mg-author__photo{max-width:14rem}
}
/* Side-rail editorial layout (option 2, 6 Nov 2026): rail for part, byline, In short and pull quotes; fine lines between sections */
.mg-ed{max-width:62rem;margin-inline:auto;padding-block:4rem 5rem}
.mg-ed__row{display:grid;grid-template-columns:15rem minmax(0,42rem);gap:0 4.5rem;align-items:start}
.mg-ed__row--section{border-top:1px solid #c5d9e0;padding-top:3rem;margin-top:2rem}
.mg-ed__row--section .mg-ed__main > h2:first-child{margin-top:0}
.mg-ed__row--wide{display:block;margin-block:1rem 2.5rem}
.mg-ed__row--wide .mg-article__table,.mg-ed__row--wide .mg-ranges{width:auto;margin:0 !important}
.mg-ed__row--title{margin-bottom:3rem;align-items:end}
.mg-ed__rail{display:flex;flex-direction:column;gap:1.75rem;padding-top:.4rem;min-width:0}
.mg-ed__main{min-width:0}
.mg-article .mg-ed__main > *{margin:0 0 1.5rem}
.mg-ed__part{margin:0;font-family:var(--font-heading);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);padding-bottom:.75rem;border-bottom:1px solid #c5d9e0}
.mg-ed__rail .mg-article__byline{margin:0 !important;line-height:1.7 !important}
.mg-ed__main h1{margin-bottom:1rem !important}
.mg-ed__main .mg-article__sub{margin-bottom:0 !important}
/* In short in the rail */
.mg-ed__rail .mg-keypoints{border-left:0;border-top:1px solid var(--teal);padding:1rem 0 0;margin:0 !important}
.mg-ed__rail .mg-keypoints li{font-size:.95rem !important;line-height:1.55 !important}
.mg-ed__rail .mg-keypoints ul > li{padding-left:1.1rem}
.mg-ed__rail .mg-keypoints ul > li::before{width:.55rem}
/* pull quotes in the rail */
.mg-ed__rail .mg-pull{margin:0 !important;border-top:1px solid var(--teal);padding-top:1rem}
.mg-ed__rail .mg-pull p{font-size:1.45rem !important;line-height:1.35 !important}
@media (max-width:960px){
  .mg-ed__row{grid-template-columns:12rem minmax(0,1fr);gap:0 2.5rem}
}
@media (max-width:760px){
  .mg-ed{padding-block:2.5rem 4rem}
  .mg-ed__row{grid-template-columns:1fr}
  .mg-ed__row--title{margin-bottom:2rem}
  .mg-ed__row--title .mg-ed__rail{order:2;margin-top:1.25rem}
  .mg-ed__row--title .mg-ed__part{border:0;padding:0}
  .mg-ed__rail:empty{display:none}
  .mg-ed__rail{gap:1.25rem;padding-top:0;margin-bottom:1.5rem}
  .mg-ed__rail .mg-pull p{font-size:1.6rem !important}
  .mg-ed__row--section{padding-top:2.25rem;margin-top:1.25rem}
}
.mg-ed__row--quote .mg-ed__rail{align-self:end;padding-bottom:1.75rem}
.mg-ed__rail ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.mg-ed__rail ul > li{position:relative;padding-left:1.1rem;margin:0}
.mg-ed__rail ul > li::before{content:"";position:absolute;left:0;top:.75em;width:.55rem;height:1px;background:var(--teal)}
.mg-ed__row--section{margin-top:1rem;padding-top:2.75rem}
.mg-ed__row--title{align-items:start}
.mg-ed__row--title .mg-ed__rail{padding-top:4.2rem}
@media (max-width:760px){
  .mg-ed__row--quote .mg-ed__rail{order:2;padding-bottom:0;margin:0 0 2rem}
  .mg-ed__row--title .mg-ed__rail{padding-top:0}
}
.mg-ed__row--title{margin-bottom:1.5rem}
@media (max-width:760px){
  .mg-ed__row{display:flex;flex-direction:column}
  .mg-ed__row:not(.mg-ed__row--title) .mg-ed__rail{display:contents}
  .mg-ed__rail .mg-keypoints{order:0;margin-bottom:2rem !important}
  .mg-ed__main{order:1}
  .mg-ed__rail .mg-pull{order:2;margin:0 0 2rem !important}
  .mg-ed__row--title .mg-ed__rail{padding-top:0 !important;margin-top:1.5rem !important;margin-bottom:0}
  .mg-ed__row--title .mg-ed__main > *:last-child{margin-bottom:0}
}
.mg-ed__main{padding-block:0 !important;margin-inline:0;max-width:none}
.mg-ed__row--title .mg-ed__rail{padding-top:.5rem}
.mg-ed__row--title{margin-bottom:3rem}
/* rail pull quotes: no rule, aligned to the top of their section/row (with the heading) */
.mg-ed__rail .mg-pull{border-top:0 !important;padding-top:0 !important}
.mg-ed__row--quote .mg-ed__rail{align-self:start;padding-bottom:0;padding-top:.15rem}
.mg-ed__rail .mg-keypoints + .mg-pull{margin-top:1rem !important}
.mg-ed__rail .mg-keypoints{border-top:0 !important;padding-top:.15rem !important}
.mg-ed__row--title{margin-bottom:0 !important;padding-bottom:3rem}
/* full-width figures */
.mg-ed__row--wide .mg-article__fig{margin:0 !important;padding:2.5rem 0 .5rem;border-top:1px solid #c5d9e0}
.mg-ed__row--wide .mg-article__fig .mg-chart svg{max-width:62rem;margin-inline:auto}
.mg-ed__row--wide .mg-article__fig figcaption{max-width:42rem;margin-left:calc(15rem + 4.5rem)}
@media (max-width:960px){.mg-ed__row--wide .mg-article__fig figcaption{margin-left:calc(12rem + 2.5rem)}}
@media (max-width:760px){.mg-ed__row--wide .mg-article__fig figcaption{margin-left:0}.mg-ed__row--wide .mg-article__fig{padding-top:1.5rem}}
/* next part: light, clearly a link to the next article */
.mg-ed .mg-nextpart{display:grid;justify-items:start;gap:.9rem;background:none;padding:0 0 1rem;margin:0 0 3rem !important;color:inherit !important}
.mg-ed .mg-nextpart:hover{background:none}
.mg-ed .mg-nextpart::after{content:none}
.mg-nextpart__label{margin:0 !important;font-family:var(--font-heading);font-size:.78rem !important;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep)}
.mg-ed .mg-nextpart__title{font-family:var(--font-heading);font-weight:300;font-size:1.9rem;line-height:1.25;color:var(--ink);text-decoration:none;text-wrap:balance}
.mg-ed .mg-nextpart__title:hover{color:var(--teal)}
.mg-ed .mg-nextpart .mg-button{color:#fff;margin-top:.4rem}
@media (max-width:640px){.mg-ed .mg-nextpart__title{font-size:1.5rem}}
/* end of article: full block width, signals the end of the document */
.mg-ed__end{border-top:1px solid var(--teal);margin-top:3rem;padding-top:3rem;display:grid;gap:2.5rem}
.mg-ed__endgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:4.5rem;align-items:start}
.mg-ed__end .mg-nextpart{margin:0 !important;padding:0}
.mg-ed__end .mg-series-wrap{margin:0 !important}
.mg-ed__end .mg-more{margin:0 !important}
.mg-ed__end .mg-article__small{margin:0 !important;max-width:none}
.mg-ed__end .mg-article__small p{margin:0}
.mg-ed__end p.mg-nextpart__title{margin:0;font-family:var(--font-heading);font-weight:300;font-size:1.9rem;line-height:1.25;color:var(--ink)}
@media (max-width:760px){.mg-ed__endgrid{grid-template-columns:1fr;gap:2.5rem}.mg-ed__end{padding-top:2.25rem}}
/* Title block (option 1, refined): Part + kicker on one line; byline level with the top of the heading; subheading given room */
.mg-ed__title{display:grid;grid-template-columns:15rem minmax(0,42rem);column-gap:4.5rem;row-gap:1.25rem;align-items:start;padding-bottom:3rem}
.mg-ed__title > *{margin:0 !important}
.mg-ed__title .mg-ed__part{grid-column:1;grid-row:1;border:0;padding:0;align-self:baseline}
.mg-ed__title .mg-article__kicker{grid-column:2;grid-row:1;align-self:baseline}
.mg-ed__title .mg-article__byline{grid-column:1;grid-row:2;padding-top:.7rem;line-height:1.7 !important}
.mg-ed__title h1{grid-column:2;grid-row:2}
.mg-ed__title .mg-article__sub{grid-column:2;grid-row:3;margin-top:.75rem !important}
@media (max-width:960px){.mg-ed__title{grid-template-columns:12rem minmax(0,1fr);column-gap:2.5rem}}
@media (max-width:760px){
  .mg-ed__title{display:flex;flex-direction:column;row-gap:0;padding-bottom:2rem}
  .mg-ed__title .mg-article__kicker{order:1;margin-bottom:1rem !important}
  .mg-ed__title h1{order:2;margin-bottom:1rem !important}
  .mg-ed__title .mg-article__sub{order:3;margin:0 0 1.5rem !important}
  .mg-ed__title .mg-ed__part{order:4;margin-bottom:.4rem !important}
  .mg-ed__title .mg-article__byline{order:5;padding-top:0}
}
.mg-ed__title + .mg-ed__row--section{margin-top:0}
.mg-ed__title h1{font-family:var(--font-heading);font-weight:300;font-size:clamp(2.3rem,4.4vw,3.25rem);line-height:1.1;color:var(--ink);text-wrap:balance}
.mg-ed__title .mg-article__sub{font-family:var(--font-heading);font-weight:300;font-size:1.75rem !important;line-height:1.3 !important;color:var(--teal);text-wrap:balance}
.mg-ed__title .mg-article__byline{font-size:.875rem !important;color:var(--ink-muted)}
@media (max-width:640px){.mg-ed__title h1{font-size:2.15rem}.mg-ed__title .mg-article__sub{font-size:1.4rem !important}}
/* italic subheading (part title) */
.mg-ed__title .mg-article__sub{font-style:italic}
/* Fees & Rebates (option 1: side rail) with numbered circle steps */
.mg-ed--page{padding-top:5rem}
.mg-ed__label{margin:0;font-family:var(--font-heading);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);padding-top:.35rem}
.mg-ed__intro{grid-column:2;grid-row:3;margin-top:.75rem !important}
.mg-ed__title .mg-ed__intro{font-family:var(--font-heading);font-weight:300;font-size:1.35rem !important;line-height:1.55 !important;color:var(--ink)}
.mg-fees__row{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:baseline;border-top:1px solid #c5d9e0;padding-block:1.1rem}
.mg-fees__row:last-child{border-bottom:1px solid #c5d9e0}
.mg-fees__row h3{margin:0;font-family:var(--font-heading);font-weight:400;font-size:1.2rem;color:var(--ink)}
.mg-fees__row p{margin:.2rem 0 0 !important;font-size:.95rem !important;color:var(--ink-muted)}
.mg-fees__price{font-family:var(--font-heading);font-weight:300;font-size:2.4rem;line-height:1;color:var(--teal)}
.mg-steps2{list-style:none;margin:0;padding:0;display:grid}
.mg-steps2 li{display:grid;grid-template-columns:2.75rem 1fr;gap:1.25rem;position:relative;padding-bottom:1.75rem;margin:0}
.mg-steps2 li::before{content:"";position:absolute;left:1.375rem;top:2.75rem;bottom:0;width:1px;background:#c5d9e0}
.mg-steps2 li:last-child{padding-bottom:0}
.mg-steps2 li:last-child::before{content:none}
.mg-steps2__num{width:2.75rem;height:2.75rem;border:1px solid var(--teal);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:300;font-size:1.1rem;color:var(--teal);background:#fff}
.mg-steps2 h3{margin:.45rem 0 .25rem;font-family:var(--font-heading);font-weight:400;font-size:1.2rem;color:var(--ink)}
.mg-steps2 p{margin:0 !important}
.mg-steps2 li > div{padding-left:0}
.mg-ed .mg-steps2 li::marker{content:none}
.mg-fees__help{font-family:var(--font-heading) !important;font-weight:300;font-size:1.65rem !important;line-height:1.4 !important;color:var(--teal) !important;text-wrap:balance}
.mg-fees__faq{margin-bottom:2rem !important}
.mg-fees__faq .mg-more summary h3{margin:0;font-family:var(--font-heading);font-weight:400;font-size:1.15rem;color:var(--ink)}
.mg-fees__faq .mg-more p{margin:0 0 1.25rem !important}
.mg-ed--page .mg-ed__row--section{margin-top:0;padding-top:2.75rem;padding-bottom:2.75rem}
@media (max-width:760px){.mg-ed--page{padding-top:2.5rem}.mg-ed__label{margin-bottom:1rem}.mg-fees__price{font-size:2rem}.mg-fees__help{font-size:1.35rem !important}.mg-ed__row--section .mg-ed__rail{display:block !important}}
.mg-fees__row:first-child,.mg-fees__faq .mg-more:first-child{border-top:0}
.mg-fees__row:first-child{padding-top:0}
.mg-fees__faq{margin-bottom:0 !important}
.mg-fees__faq .mg-more:first-child summary{padding-top:0}
.mg-freelist{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.4rem}
.mg-freelist li{margin:0;font-size:1rem}
.mg-freelist strong{font-weight:400;color:var(--ink)}
.mg-fees__faq .mg-more p + p{margin-top:-.5rem !important}
.mg-ed__title .mg-article__sub{font-style:normal !important}
.mg-ed__statement{font-family:var(--font-heading) !important;font-weight:400;font-size:1.35rem !important;line-height:1.5 !important;color:var(--ink) !important;text-wrap:balance}

/* Nav label without a page (6 Nov 2026): Therapy Services opens its dropdown only; /therapy-services 301s to Home */
.mg-nav__label{display:inline-block;background:none;border:0;margin:0;cursor:default;font-family:var(--font-heading);font-weight:300;font-size:1rem;color:var(--ink);padding:.35rem 0;line-height:inherit}
.mg-nav__label:hover,.mg-nav__label:focus-visible{color:var(--teal)}
.mg-nav__label[data-current]{color:var(--teal-deep);box-shadow:inset 0 -1px 0 var(--teal-deep)}
@media (max-width:640px){.mg-nav__label{font-size:1.05rem;padding-block:.55rem}}

/* Place pages (6 Nov 2026): photo-led clinic pages, square-cornered photos, no text over photos */
.mg-place__hero{margin:0 0 3rem}
.mg-place__hero img{display:block;width:100%;max-width:100%;aspect-ratio:21/9;object-fit:cover;object-position:50% 55%}
.mg-place__pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin:0}
.mg-place__pair figure{margin:0;min-width:0}
.mg-place__pair img{display:block;width:100%;max-width:100%;aspect-ratio:4/5;object-fit:cover}
.mg-place figcaption{font-size:.85rem;color:var(--ink-muted);margin-top:.6rem;line-height:1.5}
.mg-place__services{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.15rem}
.mg-place__services li{padding:.7rem 0;border-top:1px solid #c5d9e0}
.mg-place__services li:last-child{border-bottom:1px solid #c5d9e0}
.mg-place__services a{text-decoration:none;color:var(--ink);font-family:var(--font-heading);font-weight:300;font-size:1.15rem}
.mg-place__services a:hover{color:var(--teal)}
.mg-place__address{font-style:normal;font-family:var(--font-heading);font-weight:300;font-size:1.3rem;line-height:1.45;margin:0 0 1.25rem}
@media (max-width:640px){.mg-place__hero img{aspect-ratio:4/3}.mg-place__pair{grid-template-columns:1fr}.mg-place__pair img{aspect-ratio:4/3}}
.mg-place__services li{padding-left:0 !important}
.mg-place__services li::before{content:none !important;display:none !important}
/* Place pages follow the About format (6 Nov 2026) */
.mg-place__there{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--space-5);align-items:start}
.mg-place__there .mg-title{margin:0}
.mg-place__pair img{aspect-ratio:3/2}
.mg-place__also{margin:var(--space-4) 0 0;color:var(--ink-muted)}
@media (max-width:760px){.mg-place__there{grid-template-columns:1fr;gap:var(--space-3)}}
.mg-place__there p:last-child{margin-top:var(--space-4)}
.mg-place__credit{font-size:.8rem;color:var(--ink-muted);margin:var(--space-3) 0 0}

/* Early Intervention Plan (6 Nov 2026): the 1–10 scale, match-the-moment pairs */
.mg-scale{margin:0;padding:2.5rem 0 .5rem;border-top:1px solid #c5d9e0}
.mg-scale h3{margin:0 0 .4rem;font-family:var(--font-heading);font-weight:400;font-size:1.3rem;color:var(--ink)}
.mg-scale__intro{margin:0 0 1.5rem;color:var(--ink-muted);max-width:42rem}
.mg-scale__head,.mg-scale__row{display:grid;grid-template-columns:4rem minmax(0,1fr) minmax(0,1.25fr);gap:1.5rem;align-items:start}
.mg-scale__head{padding:0 0 .6rem;border-bottom:1px solid #c5d9e0;font-family:var(--font-heading);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep)}
.mg-scale__list{list-style:none;margin:0;padding:0}
.mg-scale__list > li{padding:1.1rem 0 !important;border-bottom:1px solid #dcebf2}
.mg-scale__list > li::before{content:none !important;display:none !important}
.mg-scale__num{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:50%;font-family:var(--font-heading);font-size:1.05rem;background:rgba(0,89,115,calc(.08 + var(--lvl) * .092));color:var(--teal-deep)}
.mg-scale__row[style*="--lvl:5"] .mg-scale__num,.mg-scale__row[style*="--lvl:6"] .mg-scale__num,.mg-scale__row[style*="--lvl:7"] .mg-scale__num,.mg-scale__row[style*="--lvl:8"] .mg-scale__num,.mg-scale__row[style*="--lvl:9"] .mg-scale__num,.mg-scale__row[style*="--lvl:10"] .mg-scale__num{color:#fff}
.mg-scale__look p,.mg-scale__do p{margin:0;line-height:1.6}
.mg-scale__look p{color:var(--ink)}
.mg-scale__do p{color:var(--ink-muted)}
.mg-scale__label{display:none}
@media (max-width:760px){
  .mg-scale__head{display:none}
  .mg-scale__row{grid-template-columns:3rem minmax(0,1fr);gap:.4rem 1rem}
  .mg-scale__do{grid-column:2}
  .mg-scale__label{display:block;font-family:var(--font-heading);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep);margin:.3rem 0 .2rem}
}
.mg-match{margin:1.25rem 0 0;display:grid;gap:0}
.mg-match > div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:1.5rem;padding:.8rem 0;border-top:1px solid #c5d9e0}
.mg-match > div:last-child{border-bottom:1px solid #c5d9e0}
.mg-match dt{font-family:var(--font-heading);font-weight:300;font-size:1.1rem;color:var(--ink)}
.mg-match dd{margin:0;color:var(--teal-deep)}
.mg-eip__list > li{margin-bottom:.6rem}
.mg-eip__list ul{margin-top:.5rem}
.mg-eip__download{margin:1.5rem 0 0}

/* Phone rhythm for side-rail pages (6 Nov 2026): even space above and below pull quotes */
@media (max-width:760px){
  .mg-ed__row:not(.mg-ed__row--title) .mg-ed__main > *:last-child{margin-bottom:0 !important}
  .mg-ed__row--section{padding-bottom:2.25rem}
  .mg-ed__row--quote .mg-ed__rail{margin:2.25rem 0 0 !important;padding:0 !important}
  .mg-ed__row--quote .mg-ed__rail .mg-pull{margin:0 !important}
}
/* Contact page (6 Nov 2026) */
.mg-contact{margin:0;display:grid}
.mg-contact > div{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:1.5rem;padding:1rem 0;border-top:1px solid #b9d3dd}
.mg-contact > div:last-child{border-bottom:1px solid #b9d3dd}
.mg-contact dt{font-family:var(--font-heading);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep);padding-top:.35rem}
.mg-contact dd{margin:0;font-family:var(--font-heading);font-weight:300;font-size:1.3rem;color:var(--ink);overflow-wrap:anywhere}
.mg-contact a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--teal)}
.mg-clinics{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.mg-clinic{border-top:1px solid var(--teal);padding-top:1.25rem;min-width:0}
.mg-clinic h3{margin:.25rem 0 .75rem;font-family:var(--font-heading);font-weight:300;font-size:1.75rem;color:var(--ink)}
@media (max-width:640px){.mg-contact > div{grid-template-columns:1fr;gap:.25rem}.mg-contact dd{font-size:1.15rem}.mg-clinics{grid-template-columns:1fr;gap:var(--space-4)}}
.mg-contact{display:block !important;min-width:0}
.mg-contact__row{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:1.5rem;padding:1rem 0;border-top:1px solid #b9d3dd;margin:0}
.mg-contact__row:last-child{border-bottom:1px solid #b9d3dd}
.mg-contact__k{margin:0;font-family:var(--font-heading);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep);padding-top:.35rem}
.mg-contact__v{margin:0;font-family:var(--font-heading);font-weight:300;font-size:1.3rem;color:var(--ink);overflow-wrap:anywhere}
@media (max-width:640px){.mg-contact__row{grid-template-columns:1fr;gap:.25rem}.mg-contact__v{font-size:1.15rem}}
.mg-contact__row{align-items:baseline}.mg-contact__row > p{margin:0 !important;padding-top:0 !important}
/* Blog listing (6 Nov 2026) */
.mg-postlist h2{margin:0 0 1rem !important;font-size:clamp(1.6rem,2.6vw,2.2rem) !important;line-height:1.2 !important;text-wrap:balance}
.mg-postlist h2 a{color:var(--ink);text-decoration:none}
.mg-postlist h2 a:hover{color:var(--teal)}
.mg-postlist .mg-article__kicker{margin:0 0 .6rem !important}
.mg-postlist__sub{font-size:1.1rem;color:var(--ink)}
.mg-postlist ul{color:var(--ink-muted)}

/* Phone footer (6 Nov 2026): Explore beside Contact; Services links live in the menu */
@media (max-width:600px){
  .mg-footer__row{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr) !important;gap:var(--space-5) var(--space-4) !important}
  .mg-footer__brand{grid-column:1 / -1}
  .mg-footer__row > nav[aria-labelledby="ft-services"]{display:none}
  .mg-footer__contact{grid-column:auto !important;min-width:0}
  .mg-footer__contact .mg-footer__strong{font-size:.95rem;overflow-wrap:anywhere}
  .mg-footer__contact address{font-size:.9rem}
}
@media (max-width:600px){.mg-footer__contact .mg-footer__strong{font-size:.875rem;overflow-wrap:normal}}
/* Rail labels as headings (EIP article, 6 Nov 2026) */
h2.mg-ed__label{font-weight:400;line-height:1.5;text-wrap:balance}
.mg-ed__rail .mg-keypoints + h2.mg-ed__label{margin-top:1rem}
/* Vimeo player swap (6 Nov 2026) */
.mg-video-frame{position:relative;width:100%;max-width:100%;aspect-ratio:16/9;background:#000}
.mg-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mg-video-frame{margin-top:var(--space-5)}
.mg-statement__actions{margin-top:.5rem !important}
.mg-steps__note{text-transform:none;letter-spacing:0;font-weight:300;color:var(--ink-muted);font-size:.95em}
/* Conditions: no rules above groups (6 Nov 2026) */
.mg-conditions__group{border-top:0;padding-top:0}
/* Conditions: short teal accent above each group label instead of full rules */
.mg-conditions__group h3{display:flex;flex-direction:column;gap:.85rem}
.mg-conditions__group h3::before{content:"";display:block;width:2.5rem;height:2px;background:var(--teal)}
/* Conditions: back to full rules above each group (Martin preferred original) */
.mg-conditions__group{border-top:1px solid var(--teal);padding-top:var(--space-3)}
.mg-conditions__group h3{display:block}
.mg-conditions__group h3::before{content:none}

/* UX pass (6 Nov 2026) */
.mg-nav__phone{display:none}
@media (max-width:1180px){.mg-nav__phone{display:block}.mg-nav__phone a{color:var(--teal-deep) !important}}
@media (max-width:640px){
  .mg-footer__actions{display:none}
  .mg-footer__contact a{display:inline-block;padding-block:.55rem}
  .mg-textlink{display:inline-block;padding-block:.6rem}
}
.mg-textlink{padding-block:.4rem;display:inline-block}
/* FAB reveal (6 Nov 2026) */
.mg-fab{opacity:0;pointer-events:none;transition:opacity .25s ease}
.mg-fab.is-visible{opacity:1;pointer-events:auto}
@media (prefers-reduced-motion:reduce){.mg-fab{transition:none}}
/* Welcome panel breathing room (6 Nov 2026) */
.mg-welcome__intro{gap:1.6rem}
.mg-welcome__intro .mg-eyebrow{line-height:1.7;margin-bottom:-.35rem}
.mg-welcome__intro p:not(.mg-eyebrow){line-height:1.75}
.mg-welcome__actions{margin-top:.75rem}
/* Footer balance (6 Nov 2026): less space on top, a little more under the fold-outs */
.mg-footer__row{padding-block:var(--space-5) var(--space-5) !important}
.mg-footer__enquiries{padding-bottom:0}
.mg-footer__enquiries:last-of-type{padding-bottom:var(--space-5)}
@media (max-width:640px){.mg-footer__row{padding-block:var(--space-5) var(--space-4) !important}}
.mg-footer__row{padding-block:3.25rem 2.75rem !important}
.mg-footer__enquiries:last-of-type{padding-bottom:2.75rem}
.mg-footer__creds{margin-top:0}
.mg-footer__row{padding-block:3.25rem 2.25rem !important}
/* Booking form (Halaxy embed, 6 Nov 2026) */
.mg-bookform{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:var(--space-6);align-items:start}
.mg-bookform__intro .mg-title{margin:0 0 var(--space-4);text-align:left}
.mg-bookform__frame{min-width:0;display:grid;gap:.75rem}
.mg-bookform__frame iframe{display:block;width:100%;max-width:100%;height:960px;border:0;background:#fff}
@media (max-width:900px){.mg-bookform{grid-template-columns:1fr;gap:var(--space-5)}.mg-bookform__frame iframe{height:1100px}}
/* Booking form: full width so the Halaxy widget (sidebar + steps) never squeezes or scrolls sideways */
.mg-bookform{grid-template-columns:1fr !important;gap:var(--space-5) !important}
.mg-bookform__intro .mg-title{text-align:center;margin-bottom:var(--space-4)}
.mg-bookform__intro .mg-steps2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);max-width:62rem;margin-inline:auto}
.mg-bookform__intro .mg-steps2 > li{padding-bottom:0 !important}
.mg-bookform__intro .mg-steps2 > li::after,.mg-bookform__intro .mg-steps2 > li::before{display:none !important}
.mg-bookform__frame{max-width:62rem;margin-inline:auto;width:100%}
.mg-bookform__frame iframe{height:1150px;border:1px solid #dcebf2}
@media (max-width:760px){.mg-bookform__intro .mg-steps2{grid-template-columns:1fr}.mg-bookform__frame iframe{height:1350px}}
/* How it works: balanced on wide screens (6 Nov 2026) */
@media (min-width:861px){
  .mg-howto{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .mg-howto__body{display:grid;align-content:center;justify-content:center;padding-inline:clamp(2rem,5vw,5rem)}
  .mg-howto__body > *{max-width:34rem}
}
/* Lighter dividers site-wide (6 Nov 2026) */
:root{--line-soft:rgba(0,89,115,.24)}
.mg-svcrows,.mg-svcrows a,.mg-statement,.mg-rule,.mg-glance__list > div,.mg-glance__list,.mg-conditions__group,.mg-section--ruled > .mg-wrap,.mg-section--ruled,.mg-footer__enquiries summary,.mg-footer__creds summary,.mg-ed__row--section,.mg-place__services li,.mg-contact__row,.mg-clinic,.mg-match > div,.mg-scale__head,.mg-scale__list > li{border-color:var(--line-soft) !important}
/* At a glance: full-bleed photo on the right, mirrors How it works (6 Nov 2026) */
@media (min-width:861px){
  #at-a-glance{padding-block:0 !important}
  #at-a-glance .mg-glance{max-width:none !important;width:100%;padding:0 !important;margin:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}
  #at-a-glance .mg-glance__text{padding-block:var(--space-6);padding-inline:clamp(2rem,5vw,5rem);justify-content:center;align-content:center}
  #at-a-glance .mg-glance__text > *{width:min(38rem,100%)}
  #at-a-glance .mg-glance__photo{height:100%;min-height:100%;object-position:50% 50%}
}
@media (min-width:861px){#at-a-glance .mg-glance__text{justify-items:center}#at-a-glance .mg-glance__text > *{justify-self:center}}
/* Homepage FAQ: tighter section, longer thinner bars (6 Nov 2026) */
.mg-section--faq{padding-block:4.5rem 4rem}
.mg-section--faq .mg-intro{margin-bottom:2rem}
.mg-section--faq .mg-faq{max-width:64rem;gap:.6rem}
.mg-section--faq .mg-faq summary{padding:.6rem 1.25rem;min-height:3rem}
@media (max-width:640px){.mg-section--faq{padding-block:3rem}}
.mg-section--faq{padding-bottom:3rem}
.mg-section--faq .mg-intro .mg-title{max-width:none}
/* Edge-bleed photos with breathing room above and below (6 Nov 2026) */
@media (min-width:861px){
  .mg-howto{padding-block:var(--space-6);align-items:center}
  .mg-howto__photo{height:auto;min-height:0;aspect-ratio:4/5;max-height:44rem}
  #at-a-glance{padding-block:var(--space-6) !important}
  #at-a-glance .mg-glance{align-items:center}
  #at-a-glance .mg-glance__text{padding-block:0}
  #at-a-glance .mg-glance__photo{height:auto;min-height:0;aspect-ratio:4/5;max-height:44rem}
}
.mg-bookform__intro .mg-steps2{grid-template-columns:repeat(4,minmax(0,1fr));max-width:72rem}
@media (max-width:1100px){.mg-bookform__intro .mg-steps2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.mg-bookform__intro .mg-steps2{grid-template-columns:1fr}}
/* Welcome panel stacked (tablet/phone): one consistent reading width (6 Nov 2026) */
@media (max-width:860px){
  .mg-welcome__grid{gap:var(--space-5);padding-block:var(--space-5)}
  .mg-welcome__intro,.mg-svcrows{max-width:38rem;width:100%}
  .mg-welcome__intro h1{font-size:clamp(1.9rem,5.2vw,2.5rem);max-width:16ch}
  .mg-welcome__intro .mg-eyebrow{font-size:.75rem;line-height:1.7}
  .mg-svcrows a{padding-block:1rem}
}
@media (max-width:860px){.mg-welcome__intro h1{max-width:none}}
/* Lock garden photo crop on the face at every width */
.mg-howto__photo{object-position:24% 0% !important}
/* Tablet breathing room: wider side margins 641–1180px; stacked At a glance and How it works keep a readable width */
@media (min-width:641px) and (max-width:1180px){
  .mg-wrap{padding-left:max(2.5rem,env(safe-area-inset-left,0px)) !important;padding-right:max(2.5rem,env(safe-area-inset-right,0px)) !important}
  .mg-howto__body{padding-left:max(2.5rem,env(safe-area-inset-left,0px)) !important;padding-right:max(2.5rem,env(safe-area-inset-right,0px)) !important}
}
@media (max-width:860px){
  #at-a-glance .mg-glance__text,#at-a-glance .mg-glance__photo{max-width:42rem}
  .mg-howto__body > *{max-width:42rem}
  #at-a-glance .mg-glance__list > div{padding-block:.9rem}
}
/* Garden photo now pre-cropped with face centred */
.mg-howto__photo{object-position:50% 0% !important}
/* Stacked At a glance: centre photo and table */
@media (max-width:860px){#at-a-glance .mg-glance__text,#at-a-glance .mg-glance__photo{margin-inline:auto;width:100%}}
/* More room above buttons that follow text */
.mg-statement__actions{margin-top:1.5rem !important}
.mg-howto__body > .mg-button{margin-top:1rem}
#at-a-glance .mg-glance__actions{margin-top:.75rem}
/* Footer credentials: tidy grid (6 Nov 2026) */
.mg-footer__credlist{list-style:none;margin:0;padding:.5rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 3rem}
.mg-footer__credlist li{display:grid;gap:.2rem;margin:0;padding:0;font-size:.95rem;line-height:1.5;color:var(--ink-muted)}
.mg-footer__credlist li::before{content:none !important}
.mg-footer__credlist li span{display:block;color:var(--ink)}
@media (min-width:1100px){.mg-footer__credlist{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.mg-footer__credlist{grid-template-columns:1fr;gap:1rem}}
.mg-footer__credlist{gap:1.75rem 3rem;padding:.75rem 0 1rem;align-items:start}
.mg-footer__credlist li{display:block}
.mg-footer__credlist li span{margin-bottom:.25rem}
/* Book online stacked: smaller photo, less gap (6 Nov 2026) */
@media (max-width:860px){
  .mg-booking{gap:var(--space-4)}
  .mg-booking__photo{min-height:0;height:auto;aspect-ratio:16/9;max-height:18rem}
  .mg-booking__text h1{font-size:clamp(2rem,7vw,2.8rem)}
}
.mg-fees__hero{aspect-ratio:21/8;max-height:30rem;object-position:50% 55%}
@media (max-width:760px){.mg-fees__hero{aspect-ratio:3/2;max-height:none}}
/* Device pass fixes (6 Nov 2026) */
.mg-fees{min-width:0 !important}
@media (max-width:480px){.mg-fees__row{grid-template-columns:1fr;gap:.35rem}.mg-fees__price{font-size:1.8rem}}
/* Credentials: aligned rows, qualification | institution */
.mg-footer__credlist{display:block !important;padding:.25rem 0 1rem}
.mg-footer__credlist li{display:grid !important;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:.25rem 2.5rem;padding:.8rem 0;border-top:1px solid var(--line-soft,rgba(0,89,115,.24))}
.mg-footer__credlist li:first-child{border-top:0}
.mg-footer__credlist li span{margin:0 !important}
@media (max-width:640px){.mg-footer__credlist li{grid-template-columns:1fr}}
/* Bigger tap targets for small text links */
.mg-footer__contact a,.mg-textlink{display:inline-block;min-height:44px;line-height:44px}
.mg-footer__contact address a{min-height:0;line-height:inherit}
/* Title block on phones: natural reading order (kicker, title, intro) */
@media (max-width:760px){.mg-ed__title{display:flex !important;flex-direction:column;gap:.85rem}.mg-ed__title > *{order:0 !important;grid-column:auto !important;grid-row:auto !important;margin:0 !important}.mg-ed__title .mg-ed__part{display:none}}
.mg-fees{align-self:stretch;width:100% !important}
.mg-steps2,.mg-steps2 > li,.mg-steps2 > li > div{min-width:0;max-width:100%}
.mg-steps2 > li > div{overflow-wrap:anywhere}
/* FAQ open state: clearer question/answer (6 Nov 2026) */
.mg-faq details{transition:background-color .2s,border-color .2s}
.mg-faq details[open]{background:var(--band);border-color:transparent}
.mg-faq details[open] summary{color:var(--teal-deep);font-weight:400}
.mg-faq details > div{color:#33454b;font-size:1rem;line-height:1.7}
.mg-faq details[open] > div{padding-top:1rem;margin-inline:1.25rem 1.25rem;padding-left:calc(18px + 1.25rem);border-top:1px solid rgba(0,89,115,.18);padding-right:0}
.mg-faq details > div p{margin:0}
.mg-faq details > div a{color:var(--teal-deep)}
/* Footer contact: even rhythm on desktop, finger-size targets only on touch screens */
.mg-footer__contact{display:grid;gap:.5rem;align-content:start}
.mg-footer__contact a,.mg-textlink{min-height:0 !important;line-height:1.5 !important;padding-block:.15rem !important;display:inline-block}
.mg-footer__contact address{margin:.35rem 0 0}
@media (pointer:coarse){.mg-footer__contact > a,.mg-textlink{padding-block:.6rem !important}}
/* Conditions: even space above heading and below lists */
.mg-rule--conditions{margin:0 0 4.5rem}
.mg-band:has(.mg-rule--conditions){padding-bottom:4.5rem !important}
.mg-band:has(.mg-rule--conditions) .mg-intro{margin-bottom:3rem}
@media (max-width:760px){.mg-rule--conditions{margin-bottom:3rem}.mg-band:has(.mg-rule--conditions){padding-bottom:3rem !important}}
/* Phone pass (6 Nov 2026) */
.mg-faq details{border-radius:1.5rem}
@media (max-width:760px){
  .mg-section{padding-block:3.5rem}
  .mg-section--faq{padding-block:3rem 2.5rem}
  .mg-title{font-size:1.6rem !important;line-height:1.2;text-wrap:balance}
  .mg-faq summary{padding:.75rem 1.1rem;gap:1rem}
  .mg-faq details[open] > div{margin-inline:1.1rem;padding-left:0}
  .mg-ed__main{width:100%;align-self:stretch}
  .mg-fees__row{grid-template-columns:1fr auto !important;gap:1rem !important;align-items:center}
  .mg-fees__price{font-size:1.7rem !important}
  .mg-booking__photo{display:none}
  .mg-footer__contact{gap:.35rem}
  .mg-footer__contact > a{padding-block:.35rem !important}
  .mg-footer__contact address{margin-top:.5rem}
}
/* Landscape phone pass (6 Nov 2026) */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.mg-footer__contact{gap:.2rem !important}
.mg-footer__contact > a{padding-block:.3rem !important;min-height:0 !important;line-height:1.5 !important}
.mg-footer__contact address{margin-top:.6rem !important}
.mg-footer__contact h2{margin-bottom:.4rem}
@media (min-width:861px){
  .mg-howto{align-items:stretch !important}
  .mg-howto__photo{aspect-ratio:auto !important;height:100% !important;max-height:none !important;min-height:26rem !important}
  #at-a-glance .mg-glance{align-items:stretch !important}
  #at-a-glance .mg-glance__photo{aspect-ratio:auto !important;height:100% !important;max-height:none !important;min-height:26rem !important}
}
/* Footer contact fold (6 Nov 2026) */
.mg-footer__contact .mg-fold summary{list-style:none;cursor:default;pointer-events:none}
.mg-footer__contact .mg-fold summary::-webkit-details-marker{display:none}
.mg-footer__contact .mg-fold summary h2{margin:0 0 .5rem}
.mg-fold__body{display:grid;gap:.2rem;align-content:start}
@media (max-width:760px){
  .mg-footer__contact .mg-fold summary{pointer-events:auto;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line-soft,rgba(0,89,115,.24));padding-block:var(--space-3)}
  .mg-footer__contact .mg-fold summary h2{margin:0}
  .mg-footer__contact .mg-fold summary::after{content:"";width:14px;height:14px;background:linear-gradient(var(--teal-deep),var(--teal-deep)) center/14px 1px no-repeat,linear-gradient(var(--teal-deep),var(--teal-deep)) center/1px 14px no-repeat}
  .mg-footer__contact .mg-fold[open] summary::after{background:linear-gradient(var(--teal-deep),var(--teal-deep)) center/14px 1px no-repeat}
  .mg-footer__contact .mg-fold__body{padding-bottom:var(--space-3)}
  .mg-footer__contact{gap:0 !important}
  .mg-footer__row{row-gap:var(--space-4) !important}
  .mg-footer__creds summary{border-top-color:var(--line-soft,rgba(0,89,115,.24))}
}
/* Video poster: blurred still with centred play button; same size before and after play */
.mg-video-wide{display:block;position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#1d2b30}
.mg-video-wide img{width:100%;height:100% !important;max-height:none !important;aspect-ratio:auto !important;object-fit:cover;object-position:50% 40% !important;display:block;transform:scale(1.04)}
.mg-video-wide::after{content:"";position:absolute;inset:0;background:rgba(0,40,52,.18)}
.mg-play{position:absolute;left:50%;top:50%;width:5.5rem;height:5.5rem;margin:-2.75rem 0 0 -2.75rem;border-radius:50%;background:rgba(255,255,255,.92);z-index:1;box-shadow:0 8px 30px rgba(0,30,40,.25);transition:transform .2s}
.mg-play::before{content:"";position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:.95rem 0 .95rem 1.55rem;border-color:transparent transparent transparent var(--teal)}
.mg-play__label{position:absolute;left:0;right:0;top:calc(50% + 3.6rem);text-align:center;z-index:1;color:#fff;font-family:var(--font-heading);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.mg-video-wide:hover .mg-play,.mg-video-wide:focus-visible .mg-play{transform:scale(1.06)}
.mg-video-frame{width:100%;aspect-ratio:16/9;margin-top:var(--space-5)}
@media (max-width:640px){.mg-play{width:4.25rem;height:4.25rem;margin:-2.125rem 0 0 -2.125rem}.mg-play::before{border-width:.75rem 0 .75rem 1.2rem}.mg-play__label{top:calc(50% + 2.9rem);font-size:.75rem}}
@media (max-width:760px){.mg-footer__contact{justify-self:stretch !important;width:100%;min-width:0 !important}.mg-footer__contact .mg-fold{width:100%}.mg-footer__row{padding-bottom:0 !important}}
/* Open fold-out questions: bolder heading (6 Nov 2026) */
.mg-more[open] > summary h3,.mg-more[open] > summary{color:var(--teal-deep)}
.mg-more[open] > summary h3{font-weight:500 !important}
/* Location list in booking steps */
.mg-loclist{list-style:none;margin:.2rem 0 0;padding:0;display:grid;gap:.15rem}
.mg-loclist li{margin:0;padding:0}
.mg-loclist li::before{content:none !important}
.mg-steps2 .mg-loclist li{display:block !important;grid-template-columns:none !important;padding:0 !important;position:static}
.mg-steps2 .mg-loclist li::before,.mg-steps2 .mg-loclist li::after{content:none !important}
.mg-steps2 > li > div{overflow-wrap:break-word !important}
.mg-more[open] > summary h3{font-weight:400 !important;letter-spacing:.005em}
