:root{--ink:#0b2b20;--paper:#f4f1e8;--blue:#4f8f68;--coral:#c99a38;--lime:#b7d86f;--violet:#d8c9a7;--line:rgba(11,43,32,.18);--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:17px;line-height:1.55}a{color:inherit}button,a{touch-action:manipulation}.skip-link{position:fixed;top:10px;left:10px;z-index:1000;padding:10px 16px;background:white;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:auto;padding:0 28px;border-bottom:1px solid var(--line)}.wordmark{display:flex;flex-direction:column;text-decoration:none;font-family:"Manrope",sans-serif;font-weight:800;line-height:.92;letter-spacing:-.045em;font-size:20px}.wordmark span:last-child{color:#e95f4d}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a{text-decoration:none;font-weight:600;font-size:15px}.nav-cta{border:1.5px solid var(--ink);border-radius:999px;padding:11px 18px}.nav-cta:hover{background:var(--ink);color:white}.menu-button{display:none;background:none;border:1px solid var(--ink);border-radius:999px;padding:9px 14px;font:600 14px inherit}.hero{min-height:calc(100vh - 92px);max-width:var(--max);margin:auto;padding:80px 28px;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:50px;overflow:hidden}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.15em;font-weight:700;font-size:13px;margin:0 0 20px}.hero h1{font-family:"Manrope",sans-serif;font-size:clamp(50px,7.1vw,104px);letter-spacing:-.07em;line-height:.87;margin:0;max-width:850px}.hero h1 em{font-style:normal;color:#e95f4d}.hero-intro{font-size:20px;max-width:630px;margin:36px 0 30px}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;gap:12px;align-items:center;justify-content:center;text-decoration:none;padding:16px 22px;border-radius:999px;font-weight:700}.button.primary{background:var(--ink);color:white}.button.primary:hover{background:#e95f4d}.text-link{font-weight:700;text-underline-offset:5px}.location{margin-top:42px;font-size:14px;font-weight:600;color:#51566d}.motion-mark{width:min(38vw,450px);aspect-ratio:1;position:relative;display:grid;place-items:center;margin:auto}.orbit{position:absolute;border:3px solid var(--ink);border-radius:50%;inset:8%}.orbit-one{transform:rotate(37deg);border-radius:48% 52% 64% 36%}.orbit-two{inset:20%;border-color:#e95f4d;transform:rotate(-22deg);border-radius:62% 38% 45% 55%}.core{width:44%;aspect-ratio:1;border-radius:50%;background:var(--blue);display:grid;place-items:center;text-align:center;font:800 clamp(22px,3vw,38px)/.85 "Manrope",sans-serif;transform:rotate(-7deg);box-shadow:20px 20px 0 var(--lime)}.marquee{background:var(--ink);color:white;overflow:hidden;padding:18px 0;white-space:nowrap;font:700 clamp(18px,2.2vw,30px) "Manrope",sans-serif}.marquee div{width:max-content;animation:slide 22s linear infinite}.marquee span{color:var(--blue);margin:0 24px}@keyframes slide{to{transform:translateX(-25%)}}.section{max-width:var(--max);margin:auto;padding:110px 28px}.about{display:grid;grid-template-columns:1.1fr .9fr;gap:90px}.section h2{font:800 clamp(40px,5vw,70px)/.98 "Manrope",sans-serif;letter-spacing:-.055em;margin:0}.about-copy{padding-top:34px}.about-copy>p{font-size:20px;margin:0 0 22px}.credentials{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}.credentials span{border:1px solid var(--ink);border-radius:999px;padding:9px 13px;font-size:13px;font-weight:700}.services{border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end;margin-bottom:55px}.section-heading>p{font-size:18px;max-width:450px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.service-card{min-height:340px;padding:34px;border:1.5px solid var(--ink);border-radius:28px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);box-shadow:8px 8px 0 var(--ink)}.card-blue{background:var(--blue)}.card-coral{background:var(--coral)}.card-lime{background:var(--lime)}.card-violet{background:var(--violet)}.card-number{font:700 13px "Manrope",sans-serif}.service-card h3{font:800 clamp(34px,4vw,55px) "Manrope",sans-serif;letter-spacing:-.05em;margin:42px 0 12px}.service-card p{max-width:500px;margin:0;font-size:18px}.card-meta{margin-top:auto;padding-top:30px;font-size:14px;font-weight:700}.approach{background:var(--ink);color:white;max-width:none;padding-left:max(28px,calc((100vw - var(--max))/2 + 28px));padding-right:max(28px,calc((100vw - var(--max))/2 + 28px))}.approach .section-label{color:var(--blue)}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid rgba(255,255,255,.24)}.approach-grid>div{padding:38px 35px 20px 0;border-right:1px solid rgba(255,255,255,.24)}.approach-grid>div+div{padding-left:35px}.approach-grid>div:last-child{border:0}.approach-grid strong{color:var(--coral);font-size:14px}.approach-grid h3{font:700 27px "Manrope",sans-serif;margin:40px 0 12px}.approach-grid p{color:#c8cada;margin:0}.journey{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.journey-copy>p:not(.section-label){font-size:19px;max-width:620px;margin:25px 0 30px}.contact-panel{border:1.5px solid var(--ink);border-radius:28px;padding:30px;background:white;box-shadow:10px 10px 0 var(--blue)}.contact-panel>p{font:700 17px "Manrope",sans-serif;margin:0 0 20px}.contact-panel a{display:flex;justify-content:space-between;gap:15px;text-decoration:none;padding:18px 0;border-top:1px solid var(--line)}.contact-panel span{color:#686d82}.contact-panel strong{font-size:15px;text-align:right}.contact-panel a:hover strong{text-decoration:underline}footer{background:#e95f4d;color:var(--ink);padding:65px max(28px,calc((100vw - var(--max))/2 + 28px));display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:30px}.footer-mark{font-size:28px}.footer-mark span:last-child{color:var(--ink)}footer p{margin:0;font-weight:600}.copyright{text-align:right;font-size:14px}
@media(max-width:800px){.site-header{height:76px;padding:0 20px}.menu-button{display:block}.site-header nav{display:none;position:absolute;z-index:10;top:76px;left:0;right:0;background:var(--paper);padding:25px 20px 30px;border-bottom:1px solid var(--ink);flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav a{text-align:center}.hero{min-height:auto;padding:55px 20px 70px;grid-template-columns:1fr}.hero h1{font-size:clamp(50px,15vw,76px)}.hero-intro{font-size:18px}.motion-mark{width:min(88vw,390px);margin-top:20px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.section{padding:78px 20px}.about,.section-heading,.journey{grid-template-columns:1fr;gap:30px}.about-copy{padding-top:0}.about-copy>p{font-size:18px}.service-grid{grid-template-columns:1fr}.service-card{min-height:310px;padding:26px}.approach-grid{grid-template-columns:1fr}.approach-grid>div,.approach-grid>div+div{padding:28px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.24)}.approach-grid>div:last-child{border:0}.approach-grid h3{margin:22px 0 8px}.journey{gap:48px}.contact-panel a{flex-direction:column;gap:3px}.contact-panel strong{text-align:left;overflow-wrap:anywhere}footer{grid-template-columns:1fr;align-items:start}.copyright{text-align:left;margin-top:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.service-card{transition:none}}

/* Racing-green identity and persistent navigation */
html{scroll-padding-top:110px}
.site-header{max-width:none;position:sticky;top:0;z-index:100;padding-left:max(28px,calc((100vw - var(--max))/2 + 28px));padding-right:max(28px,calc((100vw - var(--max))/2 + 28px));background:rgba(244,241,232,.93);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.wordmark span:last-child,.hero h1 em{color:#2f704e}
.hero h1 .movement-line{color:#4f8f68}
.button.primary:hover{background:#2f704e}
.orbit-two{border-color:#c99a38}
.location{color:#52645c}
.approach-grid p{color:#d7e0db}
.contact-panel span{color:#617069}
footer{background:var(--paper);border-top:1px solid var(--line)}
.marquee{white-space:normal}
.marquee div{width:100%;padding:0 20px;text-align:center;animation:none}
.getting-started{border-bottom:1px solid var(--line)}
.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.booking-card{display:flex;flex-direction:column;align-items:flex-start;padding:32px;border:1.5px solid var(--ink);border-radius:28px;background:#fff}
.booking-card h3{font:800 clamp(26px,3vw,36px)/1.15 "Manrope",sans-serif;letter-spacing:-.035em;margin:0 0 16px}
.booking-card>p:not(.section-label){margin:0 0 28px}
.booking-card .button{margin-top:auto;text-align:center;max-width:100%}
.booking-card .section-label{color:#2f704e}
.booking-card a:focus-visible{outline:3px solid #2f704e;outline-offset:5px}
@media(max-width:800px){.booking-grid{grid-template-columns:1fr}.booking-card{padding:24px}}
@media(max-width:800px){.site-header{padding-left:20px;padding-right:20px}}

/* Supplied MMMP identity: serif typography and the tree-pose hero. */
:root{--brand:#004329;--heading:Georgia,"Times New Roman",serif}
.wordmark{width:210px;flex-shrink:0}
.logo-window{display:block;position:relative;width:100%;aspect-ratio:1021/244;overflow:hidden}
.logo-window img{display:block;position:absolute;width:122.821%;max-width:none;height:auto;left:-11.557%;top:-205.328%}
.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px;padding-top:34px;padding-bottom:52px;min-height:calc(90svh - 92px)}
.hero-copy{min-width:0}
.hero h1{font-family:var(--heading);font-weight:700;font-size:clamp(2.6rem,5.1vw,4.25rem);line-height:1.1;letter-spacing:-.045em}
.hero-intro{margin-top:28px;font-size:1.125rem;max-width:34rem}
.hero-brand{width:100%;max-width:540px;justify-self:center}
.hero-brand img{display:block;width:100%;height:auto}
.section h2{font-family:var(--heading);font-weight:700;font-size:clamp(2.25rem,4.6vw,3.75rem);line-height:1.1;letter-spacing:-.035em}
.service-card h3{font-family:var(--heading);font-weight:700;line-height:1.12;letter-spacing:-.03em}
.booking-card h3,.approach-grid h3{font-family:var(--heading);font-weight:700;line-height:1.18;letter-spacing:-.025em}
.eyebrow,.section-label,.credentials span{font-size:.875rem}
.footer-mark{width:250px;max-width:100%}
a:focus-visible,button:focus-visible{outline:3px solid #2f704e;outline-offset:5px}
@media(max-width:1000px) and (min-width:801px){.hero{gap:20px;grid-template-columns:1.2fr 1fr}.hero h1{font-size:3rem}.hero-actions{flex-wrap:wrap;gap:18px}.site-header nav{gap:18px}}
@media(max-width:800px){.wordmark{width:180px}.hero{grid-template-columns:minmax(0,1fr);padding:44px 20px 54px;gap:30px;min-height:auto}.hero h1{font-size:clamp(2rem,7.8vw,3.8rem)}.hero-brand{max-width:360px}.hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:20px}.location{margin-top:28px}.footer-mark{width:230px}}

/* Six-link navigation: collapse before labels become crowded. */
.site-header nav{gap:22px}
.site-header nav a{white-space:nowrap}
@media(max-width:1080px){
  .site-header{height:76px;padding-left:20px;padding-right:20px}
  .site-header .wordmark{width:180px}
  .menu-button{display:block;min-height:44px;font-family:inherit;font-size:14px;font-weight:600}
  .site-header nav{display:none;position:absolute;z-index:10;top:76px;left:0;right:0;background:var(--paper);padding:20px;border-bottom:1px solid var(--ink);flex-direction:column;align-items:stretch;gap:10px;max-height:calc(100dvh - 76px);overflow-y:auto}
  .site-header nav.open{display:flex}
  .site-header nav a{text-align:center;padding:10px 16px;white-space:normal}
}

/* Stable benefits layout and logo-first mobile hero. */
.benefits-list{list-style:none;margin:0 auto;padding:0 24px;max-width:var(--max);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:32px;text-align:center}
.benefits-list li{position:relative;min-width:0;line-height:1.4}
.benefits-list li+li::before{content:"✦";position:absolute;left:-24px;color:var(--blue);width:16px;text-align:center}
@media(max-width:800px){
  .hero-brand{grid-row:1;max-width:300px}
  .hero{padding-top:24px;gap:24px}
  .marquee{padding:22px 0;font-size:1rem}
  .benefits-list{max-width:480px;padding:0 16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
  .benefits-list li+li::before{content:none}
}
@media(max-width:22rem){.benefits-list{column-gap:12px}}
@media(max-width:18rem){.benefits-list{grid-template-columns:minmax(0,1fr)}}

/* Five spacious approach steps and service colour trials. */
.approach-grid{grid-template-columns:minmax(0,1fr)}
.approach-grid>div,.approach-grid>div+div{display:grid;grid-template-columns:44px minmax(180px,.8fr) minmax(0,1.7fr);gap:28px;padding:32px 0;border:0;border-bottom:1px solid rgba(255,255,255,.24);align-items:start}
.approach-grid h3{margin:0}
.approach-grid strong{padding-top:5px}
.approach-grid p{max-width:44rem}
.card-coral{background:#c78f73}
.card-violet{background:#d7cdb9}
@media(max-width:800px){
  .approach-grid>div,.approach-grid>div+div{grid-template-columns:32px minmax(0,1fr);gap:12px 18px;padding:28px 0}
  .approach-grid p{grid-column:2}
}

/* Heading-only sections after removing repeated introductions. */
.services>.section-heading,.getting-started>.section-heading{grid-template-columns:minmax(0,1fr);gap:0}

/* Recognizable contact icons with clear labels and generous tap targets. */
.contact-icons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.contact-panel .contact-icons a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0;min-height:116px;padding:20px 12px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);text-align:center}
.contact-icons svg{display:block;width:32px;height:32px;flex-shrink:0;fill:currentColor}
.contact-panel .contact-icons span{color:inherit;font-size:1rem;font-weight:700;overflow-wrap:anywhere}
.contact-panel .contact-icons a:hover,.contact-panel .contact-icons a:focus-visible{background:var(--ink);color:var(--paper)}
.contact-panel .contact-icons a:focus-visible{outline:3px solid #2f704e;outline-offset:4px}
@media(max-width:22rem){.contact-icons{gap:10px}.contact-panel .contact-icons a{padding:16px 8px}}
@media(max-width:18rem){.contact-icons{grid-template-columns:minmax(0,1fr)}}

/* Compact hero rhythm for portrait phones only. */
@media(max-width:600px) and (orientation:portrait){
  .site-header .wordmark{width:160px;max-width:calc(100% - 96px)}
  .hero{gap:20px;padding-bottom:32px}
  .hero .eyebrow{margin-bottom:14px}
  .hero-intro{margin-top:18px;margin-bottom:20px}
  .hero-actions{flex-direction:column;align-items:center;gap:6px}
  .hero-actions .button{max-width:100%;min-height:44px;text-align:center}
  .hero-actions .text-link{display:inline-flex;align-items:center;min-height:44px}
  .hero .location{margin:16px 0 0}
}

/* Lightweight privacy and navigation utility pages. */
.privacy-link{display:inline-block;margin-top:10px;text-underline-offset:4px;min-height:32px}
.utility-header{max-width:var(--max);margin:auto;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}
.utility-header>a:last-child{padding:12px 0;font-weight:700}
.utility-page{max-width:760px;margin:auto;padding:56px 24px 80px;overflow-wrap:anywhere}
.utility-page h1{font-family:var(--heading);font-size:clamp(2rem,5vw,3.5rem);line-height:1.12}
.utility-page h2{font-family:var(--heading);font-size:1.5rem;line-height:1.25;margin-top:32px}
.utility-page p{line-height:1.7}
.notice-date{font-size:.875rem;color:#52645c}
@media(max-width:600px){.utility-header .wordmark{width:160px;max-width:65%}.utility-page{padding-top:32px}}

/* Readable small text on the existing green surfaces. */
.card-blue{color:#031c12}
.approach .section-label{color:var(--lime)}

/* Final launch review: appointment details, semantic label and clear focus. */
.booking-card>p.booking-details{font-size:.875rem;font-weight:700;color:#2f704e;margin:0 0 18px}
.approach h2.section-label{font-family:"DM Sans",sans-serif;font-size:.875rem;font-weight:700;line-height:1.55;letter-spacing:.15em;margin:0 0 20px}
a:focus-visible,button:focus-visible,.booking-card a:focus-visible,.contact-panel .contact-icons a:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 3px var(--paper),0 0 0 6px var(--ink),0 0 0 8px var(--paper)}

/* Active section highlight in the main navigation */
.site-header nav a:not(.nav-cta){position:relative;transition:color .18s}
.site-header nav a:not(.nav-cta):hover{color:#2f704e}
.site-header nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:3px;border-radius:2px;background:#2f704e;transform:scaleX(0);transform-origin:left;transition:transform .18s}
.site-header nav a:not(.nav-cta):hover::after{transform:scaleX(1)}
.site-header nav a.active:not(.nav-cta){color:#2f704e;font-weight:700}
.site-header nav a.active:not(.nav-cta)::after{transform:scaleX(1)}

.notfound-page .section-label{color:#2f704e;margin:0 0 12px}
.notfound-page h1{margin:0 0 20px}
.notfound-links{list-style:none;margin:32px 0;padding:0;display:grid;gap:14px}
.notfound-links li{line-height:1.6}
.notfound-links a{font-weight:700;color:#2f704e;text-decoration:underline;text-underline-offset:4px}
.notfound-links a:hover{color:var(--ink)}
