﻿/* Local refinement, matched to Jay's Centred Garden hero. */
:root{--ground:#fffefb;--surface:#fffefb;--ink:#183d2c;--forest:#234c36;--forest-deep:#173a2a;--muted:#626b61;--mint:#eef2e9;--line:#dce2d7;--action:#234c36;--action-hover:#163d28;--action-ink:#fffefb;--pad:clamp(62px,7vw,96px);--head-gap:36px}
body{background:var(--ground);color:var(--ink)}
h2{font-size:clamp(34px,4vw,54px);line-height:1.08;font-weight:550;letter-spacing:-.045em;text-wrap:balance}
h3{font-weight:550;letter-spacing:-.025em}p{line-height:1.65}
.section-kicker{font-size:11px;line-height:1.5;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#617453;margin-bottom:16px}
.button{width:auto;max-width:100%;min-height:50px;padding:14px 23px;background:#234c36;color:#fffefb;border:0;border-radius:10px;box-shadow:none;font-size:14px;font-weight:550;line-height:1.4;white-space:normal;gap:22px;transition:background .18s,transform .18s}
.button::after{content:'↗';font-size:17px;font-weight:400;transition:transform .18s}
.button:hover{background:#163d28;transform:translateY(-1px)}.button:hover::after{transform:translate(2px,-2px)}
.button:focus-visible,.round:focus-visible,.quiet-link:focus-visible,summary:focus-visible,.footer-links a:focus-visible{outline:3px solid #77945c;outline-offset:4px;box-shadow:none}
.button-note{font-size:12px;max-width:none;text-align:left;color:var(--muted)}
.cta-row{text-align:center;margin-top:38px}
.dark .button{background:#fffefb;color:#234c36}.dark .button:hover{background:#e9efdf}
.round{width:46px;height:46px;border:1px solid #ced7c8;background:transparent;color:#234c36;border-radius:50%;transition:background .18s}
.round:hover:not(:disabled){background:#e9efe2}.round:disabled{opacity:.3;cursor:default}.round svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.trust{padding-block:20px;background:#fffefb}
.trust-inner{border-bottom:0;padding-bottom:0;display:flex;align-items:center;justify-content:center;gap:45px}
.trust-stat{gap:17px;text-align:left}.trust-stat strong{font-size:42px;font-weight:500;letter-spacing:-.055em;color:var(--forest)}.trust-stat span{font-size:12px;line-height:1.6;letter-spacing:0;color:var(--muted)}
.trust-message{border-left:1px solid var(--line);padding-left:40px;color:#527147;font:500 26px/1.2 Caveat,cursive}
.results{padding-top:40px;background:var(--ground)}
.results .block-head{text-align:center}.result-card{background:#f3f4ed;border-radius:16px;padding:12px;box-shadow:none}.result-story{padding:19px 12px 15px}.result-story h3{font-size:21px}.result-story blockquote{font-size:16px;line-height:1.65}.result-meta{color:#617453;font-size:11px;letter-spacing:.09em}.result-count,.result-nav>p{color:var(--muted);font-size:12px}
.programme{background:#f1f4eb;color:var(--ink)}.programme h2{color:var(--ink);font-size:clamp(34px,3.7vw,50px)}
.programme-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:70px}
.programme .numbered{margin-top:32px}.programme .numbered li{grid-template-columns:42px minmax(0,1fr);gap:18px;padding-block:19px;border-color:#d5dfcd}.programme .numbered li:first-child{padding-top:0}.programme .numbered h3{font-size:21px;color:var(--ink)}.programme .numbered p{font-size:15px;color:var(--muted);line-height:1.7;margin-top:7px;max-width:44ch}
.benefit-icon{display:grid;place-items:center;width:40px;height:40px;color:#45623c}.benefit-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.plan-media{max-width:340px}.plan-media img{border-radius:25px}.plan-media figcaption{position:static;background:transparent;padding:14px 0 0;text-align:center;font-size:12px;font-weight:400;color:var(--muted)}
.food-wrap{margin-top:78px;min-width:0}.food-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.food-heading h3{font-size:clamp(30px,3.2vw,42px);line-height:1.1;letter-spacing:-.04em}.food-heading p:last-child{margin-top:14px;font-size:15px;color:var(--muted)}
.meal-track{list-style:none;margin:0;padding:0 0 12px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;min-width:0}
.meal-track::-webkit-scrollbar{display:none}.meal-track:focus-visible{outline:2px solid #77945c;outline-offset:5px}
.meal-card{min-width:0;scroll-snap-align:start}.meal-card figure{margin:0}.meal-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px}.meal-card figcaption{padding:17px 2px 8px}.meal-card figcaption span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#617453;margin-bottom:8px}.meal-card h4{font-size:19px;font-weight:550;letter-spacing:-.025em;line-height:1.3;color:var(--ink)}
.meal-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:15px;padding-top:20px;border-top:1px solid #d7dfce}.meal-nav p{font-size:12px;color:var(--muted)}.meal-nav p>span:first-child{margin-inline:10px}.meal-controls{display:flex;gap:9px}
.reframe{background:#fffefb}.reframe-grid{gap:clamp(32px,6vw,80px)}.reframe-copy h2{font-size:clamp(34px,3.5vw,48px)}.reframe-copy p{font-size:16px}.reframe-viewport{border-radius:18px}.reframe-nav{padding-top:19px}.reframe-nav .swipe-hint{font-size:12px}
.process{background:#f4f5ee;color:var(--ink)}.process .block-head{text-align:center}.process .block-head h2{max-width:650px;margin-inline:auto}.process-flow .num{background:#e6ecdd;border:0;color:#33572e;font-size:15px;font-weight:500;width:39px;height:39px}.process-flow p{color:var(--muted);font-size:15px;line-height:1.7}.process-flow h3{color:var(--ink);font-size:22px;font-weight:550}.process-flow li:not(:last-child)::after{background:#c4d0ba;opacity:1}.process .cta-row{margin-top:38px}
.coaches{background:#fffefb}.coaches .block-head{text-align:center}.coaches h2{max-width:650px;margin-inline:auto}
.coach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start}
.coach{background:transparent;border:0;padding:0;border-radius:0;min-width:0}.coach-profile{display:block;text-align:center}.coach-profile img{aspect-ratio:4/4.5;border-radius:16px;object-fit:cover;object-position:center 15%;width:100%}.coach-profile img.coach-photo-studio{object-position:center 15%}
.coach-heading{margin-top:22px}.coach-heading h3{font-size:25px}.coach-role{font-size:12px;margin-top:5px}.coach-intro{font-size:14px;line-height:1.65;color:var(--muted);margin:15px auto 0;max-width:27ch;min-height:70px}
.coach-details{margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.coach-details summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;font-size:13px;font-weight:550;color:#234c36;cursor:pointer;list-style:none;padding:12px 3px}.coach-details summary::-webkit-details-marker{display:none}.disclosure-icon{position:relative;width:16px;height:16px;flex:none}.disclosure-icon::before,.disclosure-icon::after{content:'';position:absolute;background:#527349;left:1px;right:1px;top:7px;height:1px}.disclosure-icon::after{transform:rotate(90deg);transition:transform .18s}.coach-details[open] .disclosure-icon::after{transform:rotate(0)}.coach-copy{margin-top:0;padding:4px 3px 21px}.coach-bio{font-size:14px;color:var(--muted);line-height:1.75}.coach-roster{max-width:650px;margin:35px auto 0!important;text-align:center;font-size:14px;line-height:1.7}
.stories{background:#f4f5ee}.stories .block-head{text-align:center}.video-grid{max-width:720px;margin-inline:auto;gap:24px}.video-play{border:0;background:#fffefb;color:#234c36;width:56px;height:56px}.video-play:hover{background:#e8efde}
.faq{background:#fffefb}.faq-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px;align-items:start}.faq-intro h2{max-width:340px}.faq-intro>p:not(.section-kicker){font-size:15px;color:var(--muted);margin-top:22px;max-width:30ch}.quiet-link{display:inline-flex;align-items:center;gap:16px;color:#33572e;font-size:13px;min-height:48px;margin-top:17px;text-decoration:underline;text-underline-offset:5px}
.faq-list{border-top:1px solid var(--line)}.faq details{border-color:var(--line)}.faq summary{min-height:85px;padding:25px 5px;font-size:17px;font-weight:500;line-height:1.5;gap:25px}.faq summary::after{height:28px;width:28px;flex-basis:28px;border-radius:50%;background-color:#eff3e9;background-size:12px 1px,1px 12px}.faq details[open] summary::after{background-size:12px 1px,0 0}.faq details[open]{background:#f7f8f2}.faq details>div{padding:0 6px 26px}.faq details p{font-size:15px;line-height:1.8;padding-right:38px}.faq details[open] summary{padding-bottom:15px}
.final{background:#234c36}.final-grid{align-items:center;gap:75px}.final h2{max-width:480px}.final-copy>p,.final .ticks{font-size:15px;line-height:1.75}.final .ticks li::before{color:#d9e8c6}.final .button{margin-top:8px}.final-media{max-width:390px;justify-self:center}.final-media img{border-radius:22px}.final-media figcaption{font:500 27px/1.2 Caveat,cursive;margin-top:16px;color:#e0eacb;background:none;padding:0;text-align:center;position:static}
.press-proof-section{background:#fffefb}.footer{background:#173a2a;padding-block:38px 42px}.footer-grid{align-items:center;gap:28px}.footer-name{font-size:15px;font-weight:550}.footer-place{font-size:12px;margin-top:7px}.footer-links{display:flex;align-items:center;gap:10px}.footer-links a{display:grid;place-items:center;width:44px;height:44px;color:#eff4e6;background:#244633;border:0;border-radius:50%;transition:background .18s}.footer-links a:hover{background:#375b42}.footer-links svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.footer-note{font-size:11px;line-height:1.8;color:#bdcbbb;max-width:780px;padding-top:24px;border-top:1px solid #ffffff24}
.sticky-cta{background:#234c36;border:0;border-radius:10px;color:#fffefb;box-shadow:0 5px 25px #173a2a25;font-size:13px;padding:15px 23px;min-height:48px;bottom:max(14px,env(safe-area-inset-bottom))}
@media(min-width:720px){.process-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.process-flow li{display:block;border-top:1px solid #ccd6c2;padding-top:24px}.process-flow li:not(:last-child)::after{display:none}.process-flow .num{margin-bottom:20px}.process-flow p{max-width:none;font-size:14px}.process-flow h3{font-size:21px;padding:0}.process-flow li:last-child{border-top:1px solid #ccd6c2;padding-top:24px}}
@media(max-width:1099px){.coach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px;max-width:900px}.coach-profile img{max-height:340px}.coach-intro{min-height:46px;max-width:35ch}.programme-grid{gap:35px}.faq-grid{gap:40px}}
@media(max-width:719px){:root{--gutter:22px;--pad:62px}.button{min-height:50px;font-size:14px;padding:14px 21px}.cta-row .button{width:auto}.trust{padding:18px 0}.trust-inner{flex-direction:column;gap:8px;padding-bottom:0}.trust-stat strong{font-size:37px}.trust-stat span{font-size:12px}.trust-message{border:0;padding:0;font-size:23px}.results{padding-top:36px}.result-card{padding:10px}.result-story{padding:17px 8px}.programme-grid{grid-template-columns:1fr;gap:35px}.programme h2{font-size:35px}.programme .numbered h3{font-size:20px}.programme .numbered p{font-size:15px}.plan-media{max-width:290px}.food-wrap{margin-top:48px}.food-heading{margin-bottom:23px}.food-heading h3{font-size:32px}.food-heading p:last-child{font-size:14px;max-width:32ch}.meal-track{grid-auto-columns:85%;gap:16px}.meal-card h4{font-size:20px}.meal-nav{gap:10px}.meal-nav p{font-size:11px}.meal-nav p>span:first-child{margin-inline:5px}.round{width:44px;height:44px}.reframe-grid{gap:36px}.reframe-copy p{font-size:15px}.reframe-nav{gap:10px}.reframe-nav .swipe-hint{font-size:11px}.process-flow p{font-size:15px}.coach-grid{grid-template-columns:1fr;gap:30px;max-width:570px}.coach-profile{display:grid;grid-template-columns:105px minmax(0,1fr);gap:20px;text-align:left;align-items:center}.coach-profile img{width:105px;height:142px;aspect-ratio:auto;border-radius:12px}.coach-heading{margin:0}.coach-heading h3{font-size:24px}.coach-intro{font-size:14px;min-height:0;max-width:none;margin-top:10px;line-height:1.6}.coach-details{margin-top:17px}.coach-details summary{font-size:14px;min-height:50px}.coach-bio{font-size:15px}.coach-roster{padding-inline:0}.video-grid{gap:16px}.faq-grid{grid-template-columns:1fr;gap:28px}.faq-intro h2{max-width:none}.faq-intro>p:not(.section-kicker){margin-top:16px;max-width:35ch}.quiet-link{margin-top:8px}.faq summary{font-size:16px;min-height:78px;gap:18px;padding-block:22px}.faq details p{font-size:15px;padding-right:8px}.faq details>div{padding-bottom:23px}.final-grid{gap:35px}.final-copy>p,.final .ticks{font-size:15px}.final-media{max-width:300px}.footer{padding-bottom:94px}.footer-links{justify-content:flex-start}.footer-note{font-size:11px}.section-kicker{font-size:10px}.stories .video-grid{max-width:420px}}
@media(min-width:720px) and (max-width:999px){.meal-track{grid-auto-columns:calc((100% - 20px)/2)}}
@media(max-width:370px){.coach-profile{grid-template-columns:88px minmax(0,1fr);gap:14px}.coach-profile img{width:88px;height:135px}.coach-intro{font-size:13px}.reframe-nav .swipe-hint{max-width:115px}.meal-nav p{max-width:120px}.meal-nav p>span:first-child{display:none}.meal-nav [data-carousel-count]{display:block}.programme .numbered li{gap:12px;grid-template-columns:34px minmax(0,1fr)}.benefit-icon{width:32px}}
@media(prefers-reduced-motion:reduce){.button,.button::after,.round,.disclosure-icon::after{transition:none}.button:hover{transform:none}}
/* Benefits stand on their own; the interactive app is already in the hero. */
.programme-grid{grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.programme-copy{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;align-items:start}.programme-copy h2{position:sticky;top:35px}.programme .numbered{margin-top:0}}
