:root{--forest:#0d6049;--green:#378841;--leaf:#8ec546;--sun:#fec627;--cream:#f7f2e8;--surface:#fffdf7;--mint:#dceee2;--blush:#f6d9db;--lilac:#e4ddf1;--ink:#173f33;--muted:#4b6559;--border:#c4d0c2;--familiar:#edf1e4;--shadow:0 12px 36px #163d2c12;font-size:18px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Atkinson Hyperlegible',Arial,sans-serif;line-height:1.6}img{max-width:100%;display:block}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}button{cursor:pointer}h1,h2,h3,.btn,.wordmark,.primary-nav{font-family:'Nunito',Arial,sans-serif}h1,h2,h3{margin:0 0 .55em;line-height:1.1;text-wrap:balance}h1{font-size:clamp(2.4rem,4.7vw,4rem);font-weight:900;letter-spacing:-.035em}h2{font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:900;letter-spacing:-.025em}h3{font-size:1.15rem;font-weight:800;line-height:1.25}p{margin:0 0 1.1em;max-width:65ch}p:last-child{margin-bottom:0}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--forest);outline-offset:5px}h1[tabindex]:focus,h2[tabindex]:focus{outline:none}[hidden]{display:none!important}.shell{width:min(1180px,calc(100% - 64px));margin-inline:auto}.section-pad{padding:84px 0}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;left:20px;top:12px;z-index:1000;background:var(--sun);color:#173f33;padding:12px 18px;border-radius:8px}.utility-bar{font-size:.76rem;border-bottom:1px solid var(--border)}.utility-inner,.utility-left,.utility-actions{display:flex;align-items:center;gap:16px}.utility-inner{justify-content:space-between;min-height:46px}.utility-left{gap:22px}.utility-actions{gap:3px}.utility-actions button{min-height:44px;min-width:44px;border:0;background:none;color:var(--ink);border-radius:8px;padding:5px 10px}.utility-actions button[aria-pressed=true]{background:var(--mint)}.theme-toggle{margin-left:8px;border-left:1px solid var(--border)!important;border-radius:0!important;min-width:108px!important}.site-header{position:sticky;top:0;z-index:100;background:var(--cream);border-bottom:1px solid var(--border)}.nav-wrap{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:26px;position:relative}.wordmark{font-size:1.45rem;font-weight:900;text-decoration:none;line-height:1.05;white-space:nowrap;letter-spacing:-.04em}.wordmark span{display:block;font:700 .55rem 'Atkinson Hyperlegible',sans-serif;letter-spacing:.1em;margin-top:7px}.primary-nav{display:flex;align-items:center;gap:19px;font-size:.72rem;font-weight:800}.primary-nav a{text-decoration:none;padding:12px 0}.primary-nav a:hover,.primary-nav [aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}.nav-cta{font-size:.78rem;white-space:nowrap}.menu-toggle{display:none;min-height:44px;padding:8px 16px;background:var(--mint);border:1px solid var(--border);border-radius:10px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 21px;border-radius:14px;text-decoration:none;color:#173f33;font-weight:900;font-size:.9rem;border:1px solid transparent;line-height:1.4;text-align:center;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-2px);box-shadow:0 5px 0 #173f331a}.btn-yellow{background:var(--sun)}.btn-mint{background:var(--mint);color:var(--ink);border-color:var(--border)}.dual-cta{display:flex;gap:12px;flex-wrap:wrap}.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);margin-bottom:20px}.hero{padding:64px 0 80px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:54px;align-items:center}.hero-copy h1 span{display:block;font-size:.8em;font-weight:800;margin-top:.15em}.hero-sub{font-size:1.1rem;margin:24px 0}.hero .dual-cta{display:grid;grid-template-columns:1fr 1fr}.trust-row{display:flex;flex-wrap:wrap;gap:18px;font-size:.7rem;margin-top:24px}.trust-row>div{display:flex;align-items:center;gap:7px}.trust-row strong{color:var(--forest)}.hero-visual{position:relative;min-width:0;padding:10px 12px 82px 0}.room-photo{margin:0;position:relative}.room-photo>img{width:100%;height:480px;object-fit:cover;border-radius:48% 48% 8% 8% / 28% 28% 8% 8%;object-position:50% 50%;border:7px solid var(--surface)}.room-photo figcaption{font-size:.75rem;padding:12px 0 0 8px;color:var(--muted)}.hero-badge{position:absolute;width:180px;height:180px;bottom:0;right:-12px;border-radius:50%;box-shadow:var(--shadow);border:6px solid var(--surface)}.scribble{font-family:'Nunito',sans-serif;font-style:italic;font-weight:800;color:var(--forest);transform:rotate(-3deg)}.hero-note{position:absolute;bottom:16px;left:20px;font-size:1.05rem;line-height:1.25}.familiar{background:var(--familiar);border-radius:65px 65px 0 0}.familiar h2{max-width:18ch}.familiar-layout{display:grid;grid-template-columns:1fr 270px;gap:50px;margin-top:36px}.recognition-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.recognition-list article{display:flex;gap:16px;align-items:center;padding:18px 12px;border-radius:20px;background:var(--surface)}.recognition-list article:nth-child(3n+1){background:transparent}.recognition-list img{width:65px;height:65px;object-fit:contain;flex-shrink:0}.recognition-list h3{font-size:1rem;margin:0}.recognition-list p{font-size:.8rem;margin:.5em 0 0;color:var(--muted)}.soft-route{display:flex;flex-direction:column;justify-content:center;gap:14px}.soft-route .scribble{font-size:1.35rem;line-height:1.45;margin-bottom:15px}.meet-grid,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:start}.meet-grid{align-items:center}.no-portrait-card{position:relative;padding:25px 15px 0 0}.no-portrait-card>img{width:100%;height:470px;object-fit:cover;border-radius:25px 25px 90px 25px}.sticky{position:absolute;left:-12px;top:0;background:var(--blush);color:var(--ink);padding:22px 20px;border-radius:8px;max-width:235px;text-align:center;font-size:1rem;line-height:1.3;box-shadow:var(--shadow)}.heart-accent{width:40px;height:36px;object-fit:contain;margin:8px auto -7px}.lead{font-size:1.2rem;font-weight:700;line-height:1.45}.credential-grid{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.credential-grid span{background:var(--mint);padding:9px 12px;border-radius:8px;font-size:.77rem;font-weight:700}.gym,.closing{background:#125741;color:#fff9e9}.gym .eyebrow,.gym .scribble{color:#fff9e9}.gym h2{max-width:19ch}.gym-head{display:flex;align-items:center;justify-content:space-between;gap:50px;margin-bottom:26px}.gym-head .scribble{font-size:1.3rem;flex-shrink:0}.photo-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:220px 220px;gap:16px}.photo-grid img{width:100%;height:100%;object-fit:cover;border-radius:18px}.photo-grid .photo-feature{grid-row:span 2}.gym-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.gym .btn-mint,.closing .btn-mint{background:#dceee2;color:#173f33}.process{position:relative}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:42px;position:relative}.steps:before{content:'';position:absolute;inset:30px 5% auto;border-top:3px dashed #6e9877;transform:rotate(-3deg)}.steps article{position:relative}.steps article:nth-child(even){padding-top:28px}.steps span{display:grid;place-items:center;width:58px;height:58px;background:var(--sun);color:#173f33;border-radius:48% 52% 44% 56%;font:900 1rem 'Nunito',sans-serif;margin-bottom:22px;position:relative}.steps article:nth-child(2) span{background:#f6d9db}.steps article:nth-child(3) span{background:#8ec546}.steps article:nth-child(4) span{background:#e4ddf1}.steps p{font-size:.9rem}.center-note{max-width:65ch;text-align:center;margin:35px auto 0;font-size:.95rem}.services{padding-top:30px}.price-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:30px}.price{grid-column:span 2;padding:26px;border-radius:20px;min-width:0}.price:nth-child(n+4){grid-column:span 3}.price.yellow{background:#f9ebba;color:#173f33}.price.mint{background:var(--mint)}.price.lilac{background:var(--lilac)}.price.blush{background:var(--blush)}.price>p:first-child{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.price p{font-size:.88rem}.price strong{display:block;font:900 1.7rem 'Nunito',sans-serif;margin-bottom:14px}.price h3{margin-top:15px}.price small{display:block;font-size:.83rem}.price a{display:inline-block;padding:10px 0;min-height:44px;font-weight:700}.reviews{background:var(--surface);position:relative}.reviews-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.review-wall{columns:3;column-gap:22px;padding:8px 5px}.review-wall blockquote{break-inside:avoid;margin:0 0 22px;padding:23px 22px;background:var(--cream);border-radius:8px 18px 12px 18px;box-shadow:0 3px 0 #173f330c;font-size:.88rem}.review-wall blockquote:nth-child(3n+1){transform:rotate(-1.1deg)}.review-wall blockquote:nth-child(4n+2){transform:rotate(1.2deg);background:var(--mint)}.review-wall blockquote:nth-child(5n){background:var(--blush)}.review-wall blockquote p{white-space:pre-line;margin-bottom:12px}.review-wall cite{font-style:normal;font-weight:700;font-size:.83rem;display:block}.review-source{font-size:.7rem;display:inline-block;padding:8px 0;min-height:38px}.faq-find .two-col{gap:60px}.accordion{margin-top:24px}.accordion details{border-bottom:1px solid var(--border);padding:17px 0}.accordion summary{font:800 1rem 'Nunito',sans-serif;cursor:pointer;line-height:1.4;padding:4px 0}.accordion details p{padding:12px 0 0;font-size:.95rem}.find-card{background:var(--mint);padding:32px;border-radius:30px 30px 80px 30px}.find-card img{width:100%;height:250px;object-fit:cover;border-radius:18px;margin:24px 0}.closing{padding:52px 0}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.closing h2{max-width:19ch}.closing-inner>.dual-cta{min-width:290px;flex-direction:column}.closing p{font-size:.88rem}.closing a:focus-visible,.gym a:focus-visible{outline-color:var(--sun)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 0;font-size:.75rem}.footer-inner nav{display:flex;gap:18px;flex-wrap:wrap}.footer-inner nav a{padding:12px 0}.footer-inner p{margin:0}.help-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.help-photo{margin:0}.help-photo img{height:440px;width:100%;object-fit:cover;border-radius:48% 48% 12% 12% / 28% 28% 12% 12%}.help-photo figcaption{font-size:.8rem;padding-top:14px;color:var(--muted)}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px}.help-grid article{padding:22px 6px;border-bottom:1px solid var(--border)}.service-icon{width:76px;height:76px;object-fit:contain;margin-bottom:22px}.help-grid p{font-size:.93rem}.help-grid a{font-weight:700;display:inline-block;padding:10px 0}.approach-badge{width:min(300px,100%);height:auto;border-radius:50%;justify-self:center}.help-details{max-width:950px}.help-detail{display:grid;grid-template-columns:120px 1fr;gap:42px;padding:45px 0;border-bottom:1px solid var(--border);scroll-margin-top:110px}.help-detail>img{width:110px;height:110px;object-fit:contain}.help-detail h2{font-size:2rem}.help-detail li{margin-bottom:8px}.help-detail .btn{margin-top:16px}.quiz-shell{width:min(680px,calc(100% - 40px));margin:46px auto 70px}.quiz-kicker{font-size:.73rem;font-weight:700;letter-spacing:.09em;text-align:center;margin-bottom:22px;color:var(--forest)}.quiz-card{display:none;background:var(--surface);padding:40px;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);scroll-margin-top:110px}.quiz-card.active{display:block}.quiz-card h1{font-size:2.9rem}.quiz-card h2{font-size:2rem}.quiz-art{width:80px;height:70px;object-fit:contain;margin-bottom:22px}.quiz-benefits{padding-left:1.2em}.quiz-note{font-size:.82rem;color:var(--muted);margin:24px 0}.quiz-card progress{display:block;width:100%;height:9px;appearance:none;border:0;border-radius:10px;overflow:hidden;background:var(--mint)}progress::-webkit-progress-bar{background:var(--mint)}progress::-webkit-progress-value{background:var(--forest);border-radius:10px}progress::-moz-progress-bar{background:var(--forest)}.question-count{margin:14px 0 24px;font-size:.8rem;color:var(--muted)}fieldset{border:0;padding:0;margin:24px 0}.answers,.checklist{display:grid;gap:12px}.answers label,.checklist label{display:flex;gap:12px;align-items:center;padding:14px 18px;border:1px solid var(--border);border-radius:12px;cursor:pointer;min-height:54px}.answers label:has(input:checked),.checklist label:has(input:checked){background:var(--mint);border:2px solid var(--forest);padding:13px 17px}.answers label:hover,.checklist label:hover{background:var(--mint)}input[type=radio],input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--forest)}.quiz-navigation{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px}.text-button{background:none;border:0;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px;font-weight:700}.result>.btn{display:flex;margin-top:12px}#result-summary{background:var(--mint);border-radius:12px}#result-summary:has(ul){padding:16px 22px;margin-bottom:22px}#result-summary ul{padding-left:20px;margin:0}.prose{max-width:760px}.prose h1{margin-bottom:30px}.prose h2{font-size:1.6rem;margin-top:36px}.prose .dual-cta{margin:24px 0}
html[data-theme=dark]{--cream:#142e26;--surface:#1b3b30;--ink:#f5f0df;--forest:#b4dca4;--muted:#c3cebf;--border:#587564;--mint:#2c4b3a;--blush:#503b3c;--lilac:#403e52;--familiar:#20392a;color-scheme:dark}.price.yellow a:focus-visible{outline-color:#173f33}html[data-theme=dark] .hero-badge,html[data-theme=dark] .approach-badge{background:#fff;border-color:#fff}html[data-theme=dark] .gym,html[data-theme=dark] .closing{background:#0b231c}html[data-theme=dark] .room-photo>img{border-color:#365444}html[data-theme=dark] .btn-yellow:focus-visible{outline-color:#b4dca4}html[data-text=sm]{font-size:16px}html[data-text=md]{font-size:18px}html[data-text=lg]{font-size:22px}
@media(min-width:1101px){html[data-text=lg] .primary-nav{gap:12px;font-size:.65rem}html[data-text=lg] .nav-wrap{gap:16px}html[data-text=lg] .nav-cta{font-size:.65rem}}
@media(max-width:1100px){.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px 24px;background:var(--surface);border:1px solid var(--border);border-radius:0 0 18px 18px;box-shadow:var(--shadow);font-size:1rem;max-height:75vh;overflow:auto}.primary-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.primary-nav a{padding:12px}.menu-toggle{display:block;margin-left:auto}.nav-cta{display:none}.hero-grid{gap:34px}.hero .dual-cta{grid-template-columns:1fr}.hero-badge{width:150px;height:150px}.hero-note{font-size:.9rem}.familiar-layout{grid-template-columns:1fr 230px;gap:30px}.recognition-list{grid-template-columns:1fr}.meet-grid{gap:35px}.photo-grid{grid-template-rows:190px 190px}.steps{gap:20px}.review-wall{columns:3}.footer-inner{flex-wrap:wrap}.utility-left span:nth-child(2){display:none}}
@media(max-width:760px){.shell{width:calc(100% - 36px)}.section-pad{padding:56px 0}.utility-left{display:none}.utility-inner{justify-content:flex-end}.utility-actions{width:100%;justify-content:flex-end}.utility-actions:before{content:'Reading options';font-size:.72rem;margin-right:auto}.nav-wrap{min-height:76px}.hero{padding:36px 0 54px}.hero-grid,.help-hero-grid,.meet-grid,.two-col{grid-template-columns:1fr;gap:32px}.hero h1{font-size:clamp(2.1rem,8vw,3.4rem)}.hero-sub{font-size:1rem;margin:20px 0}.hero .dual-cta{grid-template-columns:1fr 1fr;gap:10px}.hero .btn{font-size:.82rem;padding:14px 10px}.hero-visual{padding:0 0 72px;max-width:540px;width:100%;margin:auto}.room-photo>img{height:360px}.hero-badge{right:5px;bottom:0;width:145px;height:145px}.hero-note{left:10px;bottom:4px;font-size:1rem}.room-photo figcaption{max-width:calc(100% - 155px);font-size:.72rem}.trust-row{gap:12px;font-size:.68rem;justify-content:space-between}.familiar{border-radius:35px 35px 0 0}.familiar-layout{grid-template-columns:1fr;gap:26px;margin-top:26px}.recognition-list{gap:10px}.recognition-list article{padding:16px 12px}.recognition-list article:nth-child(3n+1){background:var(--surface)}.recognition-list article:nth-child(even){background:transparent}.soft-route .scribble{max-width:23ch;margin:8px 0}.soft-route{align-items:flex-start}.no-portrait-card{padding:20px 0 0 10px}.no-portrait-card>img{height:380px}.sticky{left:0;font-size:.9rem;padding:18px;max-width:220px}.gym-head{align-items:flex-start;gap:15px}.gym-head .scribble{display:none}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 190px;gap:10px}.photo-grid .photo-feature{grid-column:1/-1;grid-row:auto}.gym-actions>.btn{flex:1;min-width:200px}.steps{grid-template-columns:1fr;gap:28px}.steps:before{inset:25px auto 40px 28px;border-top:0;border-left:3px dashed #6e9877;transform:none}.steps article,.steps article:nth-child(even){padding:0 0 0 85px;min-height:75px}.steps span{position:absolute;top:0;left:0}.steps h3{margin-bottom:8px}.price-grid{grid-template-columns:1fr 1fr;gap:14px}.price,.price:nth-child(n+4){grid-column:auto}.price:first-child{grid-column:1/-1}.price{padding:22px}.reviews-head{align-items:flex-start;flex-direction:column;gap:18px}.review-wall{columns:2;column-gap:16px}.review-wall blockquote{padding:20px 18px;margin-bottom:16px}.find-card{padding:26px}.closing-inner{display:block}.closing-inner>.dual-cta{margin-top:24px;min-width:0}.footer-inner{flex-direction:column;align-items:flex-start;gap:20px}.help-photo img{height:340px}.help-grid{grid-template-columns:1fr 1fr;gap:20px}.help-detail{grid-template-columns:65px 1fr;gap:18px;padding:30px 0}.help-detail>img{width:65px;height:65px}.help-detail h2{font-size:1.7rem}.quiz-shell{margin:28px auto 50px;width:calc(100% - 28px)}.quiz-card{padding:26px 22px}.quiz-card h1{font-size:2.3rem}.quiz-card h2{font-size:1.6rem}.quiz-kicker{font-size:.64rem}.quiz-navigation{gap:12px}.quiz-navigation .btn{padding:12px 16px}.quiz-navigation .text-button{font-size:.85rem}}
@media(max-width:450px){.hero .dual-cta{grid-template-columns:1fr}.hero .btn{font-size:.9rem}.hero-badge{width:125px;height:125px}.room-photo>img{height:300px}.room-photo figcaption{max-width:calc(100% - 130px)}.hero-note{font-size:.9rem}.trust-row{font-size:.64rem;gap:8px}.price-grid,.help-grid{grid-template-columns:1fr}.price:first-child{grid-column:auto}.review-wall{columns:1;padding-inline:4px}.review-wall blockquote{padding:22px}.recognition-list img{width:55px;height:55px}.photo-grid{grid-template-rows:260px 140px}.help-detail{grid-template-columns:1fr}.help-detail>img{width:70px;height:70px}.utility-actions:before{font-size:.65rem}.utility-actions button{padding:5px 6px;min-width:40px}.theme-toggle{min-width:95px!important;margin-left:0}.wordmark{font-size:1.35rem}.quiz-navigation{flex-wrap:wrap}.quiz-card{padding:24px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(forced-colors:active){.btn,.answers label,.checklist label{border:1px solid ButtonText}.text-size[aria-pressed=true]{outline:2px solid Highlight}}
.process-heading{display:flex;align-items:center;justify-content:space-between;gap:35px}.path-landscape{width:44%;height:auto;max-height:220px;object-fit:contain}.process-heading h2{margin:0}@media(max-width:760px){.process-heading{flex-direction:column;align-items:flex-start;gap:12px}.path-landscape{width:min(420px,100%);align-self:center;max-height:170px}.process-heading h2 br{display:none}}@media(max-width:360px){.utility-actions:before{display:none}.utility-actions{justify-content:space-between}.nav-wrap{gap:8px}.wordmark{font-size:1.15rem}.wordmark span{font-size:.48rem}.menu-toggle{padding:8px 12px}}
/* Composition refinement: the path connects the page, with editorial sections rather than repeated cards. */
.hero{padding:48px 0 34px;position:relative}.hero-grid{grid-template-columns:1.04fr 1fr;gap:22px 46px;align-items:center}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(2.6rem,4.7vw,4rem);line-height:1.07;letter-spacing:-.035em}.hero h1 em{font-style:normal;color:var(--forest);position:relative;white-space:nowrap}.hero h1 em:after{content:'';position:absolute;height:7px;bottom:0;left:0;right:0;border-radius:50%;background:var(--sun);transform:rotate(-2deg);z-index:-1}.hero-copy h1 span{font-size:.77em;line-height:1.15;margin-top:14px;font-weight:800}.hero-sub{font-size:1rem;max-width:39ch;margin:24px 0}.hero .dual-cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.hero .btn{min-width:300px;padding:15px 20px;border-radius:12px}.hero-visual{min-height:520px;padding:30px 0 90px;isolation:isolate}.room-photo>img{height:400px;border:0;border-radius:0;clip-path:polygon(0 29%,19% 10%,34% 20%,58% 0,79% 23%,100% 36%,100% 100%,0 100%);object-position:center 57%}.room-photo figcaption{position:absolute;top:100%;padding-top:30px;font-size:.72rem;left:5px;max-width:170px;z-index:4}.hero-badge{width:124px;height:124px;right:-4px;top:0;bottom:auto;border:0;box-shadow:none;z-index:-1;transform:rotate(6deg)}.hero-landscape{position:absolute;left:-8%;bottom:16px;width:117%;max-width:none;height:220px;object-fit:fill;z-index:2;pointer-events:none}.hero-note{bottom:-3px;right:-5px;left:auto;background:var(--cream);padding:10px 16px;font-size:1rem;z-index:4;border-radius:55% 45% 40% 45%;transform:rotate(-7deg)}.photo-label{position:absolute;top:4px;left:10px;font:700 .65rem 'Atkinson Hyperlegible',sans-serif;letter-spacing:.12em;color:var(--muted);transform:rotate(-5deg);z-index:4}.hero-grid>.trust-row{grid-column:1/-1;justify-content:center;margin-top:0;gap:48px;padding:22px 0 2px;border-top:1px solid var(--border);font-size:.76rem}.hero-grid>.trust-row strong{font-size:.85rem}
.familiar{border-radius:0;background:var(--cream);position:relative;padding-top:70px}.familiar:before{content:'';position:absolute;top:0;left:0;right:0;height:20px;background:var(--familiar);clip-path:polygon(0 0,100% 0,100% 28%,85% 90%,66% 35%,40% 100%,18% 30%,0 75%)}.familiar>.shell>.eyebrow,.familiar>.shell>h2{text-align:center;margin-inline:auto}.familiar>.shell>h2{max-width:none}.familiar-layout{display:block;margin-top:36px}.recognition-list{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:120px;row-gap:10px;max-width:1040px;margin:auto;padding:10px 0 15px}.recognition-list article{position:relative;z-index:1;padding:20px 18px;min-height:112px;border-radius:18px;background:var(--familiar)!important}.recognition-list article:nth-of-type(even){transform:translateY(36px)}.recognition-list article:nth-of-type(3n){background:transparent!important}.recognition-list h3{font-size:1.07rem;line-height:1.35;font-weight:800}.recognition-list img{width:74px;height:74px;margin-right:3px}.recognition-path{position:absolute;inset:0 37% 0;display:flex;flex-direction:column;z-index:0;opacity:.8}.recognition-path i{height:33%;width:100%;border:2px dashed #90b18e;border-radius:50%;border-top-color:transparent;border-bottom-color:transparent;transform:rotate(-15deg)}.recognition-path i:nth-child(even){transform:rotate(20deg)}.little-tags{display:flex;gap:6px;flex-wrap:wrap}.little-tags span{background:var(--surface);padding:1px 7px;border-radius:3px;font-size:.73rem}.soft-route{position:relative;max-width:750px;margin:56px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;align-items:center}.soft-route .scribble{grid-row:1/3;font-size:1.35rem;margin:0;text-align:center}.route-heart{position:absolute;width:52px;height:52px;object-fit:contain;left:calc(50% - 70px);top:-38px;transform:rotate(10deg)}
.meet{padding:74px 0 82px}.meet-grid{gap:0;background:#15583f;color:#fff8e9;border-radius:10px 60px 10px 60px;overflow:visible;align-items:stretch}.meet-grid>div:last-child{padding:52px 44px 42px}.meet .eyebrow,.meet .scribble{color:inherit}.meet h2{font-size:3rem}.meet .lead{font-size:1.25rem;max-width:23ch}.meet .credential-grid{gap:0;margin:22px 0}.meet .credential-grid span{background:none;border:0;border-bottom:1px solid #6f977e;border-radius:0;padding:8px 0;margin-right:20px;font-size:.75rem}.meet .btn{background:#dceee2;color:#173f33}.meet .no-portrait-card{padding:0;position:relative;margin:-18px 0 22px -12px}.no-portrait-card>img{height:100%;min-height:480px;border-radius:12px 12px 60px 12px;transform:rotate(-2deg);box-shadow:0 12px 25px #102f271f}.sticky{top:auto;bottom:-20px;left:22px;z-index:3;color:#173f33!important;background:#f6d9db;transform:rotate(-6deg);padding:20px 30px;max-width:260px}.meet .heart-accent{width:36px;height:32px}.meet a:focus-visible{outline-color:var(--sun)}
.gym{padding-top:78px;padding-bottom:78px;border-radius:55px 0 0 0}.gym-head{margin-bottom:40px}.gym-head h2{max-width:21ch;font-size:clamp(2.1rem,3.8vw,3.2rem)}.gym .photo-grid{grid-template-columns:1.28fr 1fr;grid-template-rows:230px 230px;gap:24px 34px;padding:0 15px 0 0;align-items:stretch}.gym .photo-grid img{border:8px solid #fff8e9;border-bottom-width:25px;border-radius:3px;box-shadow:0 6px 20px #001d1820;object-position:center 65%}.gym .photo-feature{transform:rotate(-2deg)}.gym .photo-grid img:nth-child(2){transform:rotate(3deg)}.gym .photo-grid img:nth-child(3){transform:rotate(-1deg)}.gym-actions{margin-top:36px;justify-content:flex-start;gap:18px}.process{padding-top:78px;padding-bottom:58px;background:var(--familiar)}.process-heading{align-items:end}.process-heading .path-landscape{width:41%;max-height:170px;opacity:.95}.steps{gap:46px;margin-top:45px;min-height:260px}.steps:before{top:55px;left:4%;right:4%;height:80px;border:3px dashed #72946d;border-top:0;border-radius:0 0 55% 55%;transform:rotate(-4deg)}.steps article:nth-child(2){padding-top:40px}.steps article:nth-child(3){padding-top:70px}.steps article:nth-child(4){padding-top:12px}.steps span{width:62px;height:62px;font-size:1.1rem;border:5px solid var(--familiar)}.steps h3{font-size:1.1rem}.center-note{font-style:normal;transform:none;font-size:.84rem;border-top:1px solid var(--border);padding-top:20px;margin-top:25px}
.services{padding:80px 0}.service-menu{display:grid;grid-template-columns:.85fr 1.5fr;gap:65px;align-items:start;margin-top:40px}.assessment-feature{background:var(--mint);padding:38px 34px 125px;border-radius:10px 10px 90px 10px;position:relative;overflow:hidden}.assessment-feature h3{font-size:2rem;line-height:1.12}.assessment-feature>strong{font:900 3rem 'Nunito',sans-serif;line-height:1.1;display:block;margin:8px 0 24px}.report-option{display:flex;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:.88rem;margin-bottom:24px}.report-option b{font-size:1.2rem}.assessment-feature>img{position:absolute;width:140px;height:125px;object-fit:contain;bottom:-2px;right:8px;transform:rotate(15deg)}.service-rows>article{display:grid;grid-template-columns:1fr auto;gap:20px;padding:25px 0;border-bottom:1px solid var(--border)}.service-rows>article:first-child{padding-top:0}.service-rows .eyebrow{margin-bottom:10px;font-size:.67rem}.service-rows h3{font-size:1.18rem;margin-bottom:8px}.service-rows p{font-size:.88rem;margin-bottom:8px}.service-rows strong{font:900 1.75rem 'Nunito',sans-serif;text-align:right;min-width:88px}.service-rows strong small{display:block;font:400 .73rem 'Atkinson Hyperlegible',sans-serif}.report-inline{font-size:.8rem;color:var(--muted)}.small-note{display:inline-block;font-size:.74rem;background:#faecb9;color:#173f33;padding:4px 9px;transform:rotate(-1deg)}.service-rows a{font-size:.82rem;display:inline-block;padding-top:8px}.reviews{border-radius:60px 0 0 0}.review-wall blockquote{border-radius:3px 12px 5px 9px;position:relative;padding-top:28px}.review-wall blockquote:nth-child(3n+1):before{content:'';width:45px;height:12px;position:absolute;top:-5px;left:40%;background:#e7c67788;transform:rotate(-4deg)}.review-wall blockquote:nth-child(3n+2){margin-top:12px}.reviews-head h2{font-size:clamp(2rem,3.5vw,3rem)}.faq-find{padding-bottom:80px}.find-card{border-radius:5px 35px 5px 60px}.find-card>img{height:300px;object-position:center 70%;border-radius:5px}.landscape-closing{position:relative;isolation:isolate;padding:85px 0 65px;overflow:hidden;background:#104f3c}.closing-landscape{position:absolute;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 80%;opacity:.18;z-index:-1}.landscape-closing .closing-inner{align-items:start}.landscape-closing h2{font-size:clamp(2rem,3.3vw,3rem);max-width:19ch;margin-bottom:20px}.landscape-closing .dual-cta{min-width:320px;gap:24px}.landscape-closing .dual-cta p{font-size:.86rem;margin-bottom:8px}.landscape-closing .dual-cta .btn{width:100%}.help-photo{position:relative;padding-top:35px;padding-bottom:70px}.help-photo>img:first-of-type{border-radius:0;clip-path:polygon(0 25%,22% 5%,39% 18%,61% 0,100% 32%,100% 100%,0 100%);height:420px}.help-landscape{position:absolute;bottom:28px;left:-5%;width:110%;max-width:none;height:170px!important;border-radius:0!important;object-fit:fill!important}.help-photo figcaption{position:absolute;bottom:0;left:0;right:0}.help-grid{gap:15px 55px}.help-grid article:nth-child(2),.help-grid article:nth-child(5){padding-top:50px}.help-grid article{border-bottom-style:dashed}.help-detail{gap:45px}.help-detail:nth-child(even){margin-left:9%}.quiz-scenery{position:fixed;bottom:0;left:0;right:0;opacity:.18;pointer-events:none;z-index:-1}.quiz-scenery img{width:100%;height:240px;object-fit:cover;object-position:center bottom}.quiz-body .site-header .nav-cta{display:none}.quiz-card{border-radius:8px 28px 8px 28px;box-shadow:0 14px 0 -7px var(--mint),0 20px 45px #173f330a}.quiz-art{transform:rotate(-5deg)}
@media(max-width:1100px) and (min-width:761px){.hero-grid{grid-template-columns:1fr 1fr;gap:24px}.hero h1{font-size:2.7rem}.desktop-break{display:none}.hero .btn{min-width:0;width:100%;font-size:.8rem}.hero-visual{min-height:460px}.room-photo>img{height:350px}.hero-landscape{height:180px}.hero-badge{width:105px;height:105px}.recognition-list{column-gap:70px}.meet-grid>div:last-child{padding:34px 28px}.meet h2{font-size:2.5rem}.service-menu{gap:35px;grid-template-columns:1fr 1.3fr}.assessment-feature{padding:28px 24px 110px}.assessment-feature h3{font-size:1.7rem}.steps{gap:25px}.help-hero-grid{gap:30px}}
@media(max-width:760px){.hero{padding:27px 0 24px}.hero-grid{display:grid;grid-template-columns:1fr;gap:16px}.hero h1{font-size:clamp(2rem,7.9vw,3rem);line-height:1.08;text-wrap:pretty}.desktop-break{display:none}.hero-copy h1 span{font-size:.83em;margin-top:8px}.hero-copy>.eyebrow{font-size:.68rem;letter-spacing:.06em;margin-bottom:15px}.hero-sub{font-size:.94rem;line-height:1.45;margin:17px 0}.hero .dual-cta{display:grid;grid-template-columns:1fr;gap:9px;align-items:stretch}.hero .btn{min-width:0;min-height:48px;padding:12px 15px;font-size:.88rem;width:100%}.hero-visual{min-height:0;height:340px;padding:20px 0 70px;margin-top:12px}.room-photo>img{height:260px;clip-path:polygon(0 23%,20% 7%,36% 18%,60% 0,100% 25%,100% 100%,0 100%);object-position:center 65%}.photo-label{font-size:.55rem;top:0;left:3px}.hero-badge{width:87px;height:87px;top:-6px;right:0}.hero-landscape{width:108%;left:-4%;bottom:27px;height:125px}.hero-note{font-size:.78rem;bottom:2px;right:0;padding:7px 10px}.room-photo figcaption{top:100%;left:3px;padding-top:13px;font-size:.66rem;max-width:180px}.hero-grid>.trust-row{font-size:.63rem;gap:10px;padding:18px 0 0;justify-content:space-between;margin-top:0}.hero-grid>.trust-row strong{font-size:.7rem}.familiar{padding-top:48px}.familiar>.shell>.eyebrow,.familiar>.shell>h2{text-align:left;margin-left:0}.familiar>.shell>h2{font-size:2rem;max-width:16ch}.familiar-layout{margin-top:22px}.recognition-list{grid-template-columns:1fr;gap:10px;padding:0}.recognition-list article,.recognition-list article:nth-of-type(even){transform:none;padding:15px 13px;min-height:84px;background:var(--familiar)!important;border-radius:12px 24px 15px 22px}.recognition-list article:nth-of-type(odd){background:transparent!important}.recognition-list img{width:57px;height:57px;flex-shrink:0}.recognition-list h3{font-size:.98rem;line-height:1.35}.recognition-path{display:none}.little-tags span{padding:1px 5px;font-size:.7rem}.soft-route{display:flex;align-items:stretch;margin:30px 0 0;gap:12px;padding:0 8px}.soft-route .scribble{text-align:center;font-size:1.22rem;margin:4px 0 14px;grid-row:auto}.route-heart{left:auto;right:-6px;top:-28px;width:42px;height:42px}.meet{padding:50px 0 62px}.meet-grid{grid-template-columns:1fr;border-radius:5px 35px 5px 40px;gap:0}.meet-grid>div:last-child{padding:35px 25px}.meet .no-portrait-card{margin:-10px 8px 0 -4px}.no-portrait-card>img{height:290px;min-height:0;border-radius:7px 7px 40px 7px;transform:rotate(-1.5deg)}.sticky{bottom:-12px;left:14px;font-size:.85rem;padding:14px 18px;max-width:225px}.meet h2{font-size:2.35rem}.meet .lead{font-size:1.12rem;max-width:none}.meet .credential-grid span{font-size:.73rem}.gym{padding-top:50px;padding-bottom:54px;border-radius:32px 0 0 0}.gym-head{margin-bottom:22px}.gym .photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:290px 160px;gap:14px 10px;padding:0 5px}.gym .photo-feature{grid-column:1/-1;grid-row:auto}.gym .photo-grid img{border-width:5px;border-bottom-width:17px;object-position:center 65%}.gym .photo-grid img:nth-child(2){transform:rotate(2deg)}.gym .photo-grid img:nth-child(3){transform:rotate(-3deg)}.gym-actions{gap:10px;margin-top:26px}.process{padding-top:54px;padding-bottom:45px}.process-heading{position:relative;display:block;padding-right:0}.process-heading .path-landscape{position:absolute;right:0;top:-20px;width:130px;opacity:.3;z-index:0}.process-heading>div{position:relative;z-index:1}.process-heading h2{max-width:17ch;font-size:2rem}.process-heading h2 br{display:inline}.steps{margin-top:35px;gap:28px;min-height:0}.steps:before{inset:16px auto 30px 28px;width:0;height:auto;border:0;border-left:3px dashed #72946d;border-radius:0;transform:none}.steps article,.steps article:nth-child(2),.steps article:nth-child(3),.steps article:nth-child(4){padding:0 0 0 85px;min-height:75px}.steps span{width:60px;height:60px}.steps p{font-size:.9rem}.center-note{text-align:left;font-size:.83rem}.services{padding:56px 0}.service-menu{grid-template-columns:1fr;gap:30px;margin-top:26px}.assessment-feature{padding:28px 26px 30px;border-radius:7px 7px 50px 7px}.assessment-feature h3{font-size:1.8rem;max-width:14ch}.assessment-feature>img{width:80px;height:110px;top:44px;bottom:auto;right:12px;transform:rotate(8deg)}.assessment-feature>strong{font-size:2.7rem}.assessment-feature>.btn{width:100%}.service-rows>article{gap:14px;padding:22px 0}.service-rows h3{font-size:1.03rem}.service-rows strong{font-size:1.5rem;min-width:72px}.service-rows .eyebrow{font-size:.64rem}.reviews{border-radius:32px 0 0 0}.review-wall blockquote{font-size:.9rem;margin-bottom:22px}.faq-find{padding-bottom:50px}.find-card{padding:25px;border-radius:7px 30px 7px 40px}.find-card>img{height:275px}.landscape-closing{padding:58px 0}.landscape-closing h2{font-size:2.25rem}.landscape-closing .dual-cta{min-width:0;gap:24px;margin-top:30px}.landscape-closing .closing-landscape{height:55%;opacity:.2}.help-photo{padding-top:22px;padding-bottom:55px}.help-photo>img:first-of-type{height:310px}.help-landscape{height:130px!important;bottom:26px}.help-grid{gap:16px 30px}.help-grid article:nth-child(2),.help-grid article:nth-child(5){padding-top:22px}.help-detail:nth-child(even){margin-left:0}.help-detail{gap:20px}.quiz-card{padding:28px 22px}.quiz-scenery img{height:150px}.quiz-body .site-header{position:static}.quiz-body .quiz-shell{margin-top:25px}}
@media(max-width:360px){.hero h1{font-size:1.95rem}.hero-copy h1 span{font-size:.84em}.hero-sub{font-size:.9rem}.hero-grid>.trust-row{font-size:.57rem;gap:5px}.hero-grid>.trust-row strong{font-size:.62rem}.hero-visual{height:310px}.room-photo>img{height:240px}.hero-landscape{height:115px}.room-photo figcaption{max-width:145px;font-size:.62rem}.hero .btn{font-size:.8rem}.assessment-feature>img{width:60px;right:5px}.service-rows strong{font-size:1.35rem}.service-menu .assessment-feature{padding-inline:22px}}
@media(prefers-reduced-motion:reduce){.hero .btn:hover{transform:none}}
@media(min-width:761px){.hero h1{font-size:clamp(2.4rem,4vw,3.45rem);text-wrap:pretty}.hero-copy h1 span{font-size:.82em;max-width:22ch}.hero-visual{min-height:510px}.hero .dual-cta{flex-direction:row;align-items:stretch;flex-wrap:wrap}.hero .btn{min-width:0;font-size:.82rem}.hero-sub{max-width:46ch}.hero-note{bottom:-3px}}@media(min-width:1101px){.hero-grid{column-gap:36px;grid-template-columns:1.05fr 1fr}}
.meet .no-portrait-card{min-height:520px}.meet .no-portrait-card>img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}@media(max-width:760px){.meet .no-portrait-card{min-height:290px}.meet .no-portrait-card>img{height:290px}}
@media(max-width:450px){.utility-actions:before{content:'Reading';font-size:.7rem}}

/* --- 19 Sep 2026: gap fixes against design/mockups/01-03 --- */
.steps article .step-note{margin:10px 0 0;max-width:30ch;font-size:.95rem;line-height:1.2;color:var(--forest);transform:rotate(-1.5deg)}
.steps article .step-note i{font-style:normal;margin-right:4px}
.gym .shell{position:relative}
.gym-pink-note{display:none}
@media (min-width:1101px){
  .steps{position:relative}
  .steps article:nth-child(2){padding-top:64px}
  /* the note floats above step 02, arrow pointing down at it, like mockup 01 */
  .process-heading{margin-bottom:66px}
  .steps article .step-note{position:absolute;top:-58px;left:100px;width:36ch;max-width:none;font-size:.98rem;transform:rotate(-2.5deg)}
  /* pink note beside the small photos, top-right, overlapping the corner only */
  .gym-pink-note{display:block;position:absolute;top:-34px;right:-22px;z-index:2;background:var(--blush);color:var(--ink);padding:10px 14px;border-radius:14px;font-size:.95rem;line-height:1.15;max-width:13ch;transform:rotate(3deg);box-shadow:0 8px 20px #0b231c33}
  /* desktop: six notes in a row and the same "read all" control the mobile wall uses.
     reference.css sets .reviews-toggle{display:none} unscoped and loads later, hence the extra class */
  .reviews-collapsed blockquote:nth-child(n+7){display:none}
  .reviews .reviews-toggle{display:flex;width:auto;margin:22px auto 0}
}

/* --- 19 Sep 2026: section dividers as rolling hills (design/mockups/00-first-desktop, 01).
   Masks, not fills: the colour comes from the section background, so dark mode holds.
   Doubled class selectors out-rank the single-class hats in mockup/reference/art-direction.css. --- */
:root{--edge:72px}
.familiar.section-pad::before,.familiar.section-pad::after,
.gym.section-pad::before,.gym.section-pad::after,
.services.section-pad::before,.services.section-pad::after,
.closing.landscape-closing::before{top:calc(1px - var(--edge));height:calc(var(--edge) + 22px);background:inherit;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 60 C150 44 280 62 430 50 C600 36 720 60 860 46 C1000 32 1080 22 1180 12 C1250 6 1330 10 1440 28 L1440 80 L0 80 Z%22 fill=%22%23000%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 60 C150 44 280 62 430 50 C600 36 720 60 860 46 C1000 32 1080 22 1180 12 C1250 6 1330 10 1440 28 L1440 80 L0 80 Z%22 fill=%22%23000%22/%3E%3C/svg%3E")}
/* the banded sections sit above what follows them, so their skirts are not painted over by the next
   section's background; a hat overlaps the previous sibling and is safe by tree order alone */
.familiar.section-pad,.gym.section-pad,.services.section-pad{position:relative;isolation:isolate;z-index:2}
.closing.landscape-closing{position:relative;isolation:isolate}

/* familiar: soft wave in, soft wave out */
.familiar.section-pad::before{top:calc(1px - var(--edge));background:var(--familiar);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 54 C160 22 320 70 500 46 C690 20 850 66 1030 40 C1190 16 1320 44 1440 30 L1440 80 L0 80 Z%22 fill=%22%23000%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 54 C160 22 320 70 500 46 C690 20 850 66 1030 40 C1190 16 1320 44 1440 30 L1440 80 L0 80 Z%22 fill=%22%23000%22/%3E%3C/svg%3E")}
.familiar.section-pad::after{bottom:calc(1px - var(--edge));background:var(--familiar);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 0 L1440 0 L1440 38 C1290 66 1140 20 980 44 C820 68 650 24 480 46 C310 70 150 28 0 50 Z%22 fill=%22%23000%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 0 L1440 0 L1440 38 C1290 66 1140 20 980 44 C820 68 650 24 480 46 C310 70 150 28 0 50 Z%22 fill=%22%23000%22/%3E%3C/svg%3E")}
/* gym: rises to a crest on the right going in, one broad roll going out */
.gym.section-pad::before{top:calc(1px - var(--edge));height:calc(var(--edge) + 18px);background:inherit;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 66 C110 48 210 32 350 34 C470 36 560 58 690 54 C830 50 950 28 1090 18 C1220 10 1340 4 1440 0 L1440 80 L0 80 Z%22 fill=%22%23000%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 66 C110 48 210 32 350 34 C470 36 560 58 690 54 C830 50 950 28 1090 18 C1220 10 1340 4 1440 0 L1440 80 L0 80 Z%22 fill=%22%23000%22/%3E%3C/svg%3E")}
.gym.section-pad::after{bottom:calc(1px - var(--edge));height:calc(var(--edge) + 10px);background:inherit;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 0 L1440 0 L1440 26 C1300 50 1160 78 990 62 C820 46 700 12 540 22 C380 32 210 76 0 62 Z%22 fill=%22%23000%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 0 L1440 0 L1440 26 C1300 50 1160 78 990 62 C820 46 700 12 540 22 C380 32 210 76 0 62 Z%22 fill=%22%23000%22/%3E%3C/svg%3E")}
/* services sits on the pale green band, as in the mockups, with a wave in and out */
.services.section-pad{background:var(--familiar)}
.services.section-pad::before{top:calc(1px - var(--edge));background:var(--familiar);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 40 C200 66 360 18 560 44 C760 70 900 24 1100 48 C1260 66 1360 30 1440 36 L1440 80 L0 80 Z%22 fill=%22%23000%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 40 C200 66 360 18 560 44 C760 70 900 24 1100 48 C1260 66 1360 30 1440 36 L1440 80 L0 80 Z%22 fill=%22%23000%22/%3E%3C/svg%3E")}
.services.section-pad::after{bottom:calc(1px - var(--edge));background:var(--familiar);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 0 L1440 0 L1440 38 C1290 66 1140 20 980 44 C820 68 650 24 480 46 C310 70 150 28 0 50 Z%22 fill=%22%23000%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 0 L1440 0 L1440 38 C1290 66 1140 20 980 44 C820 68 650 24 480 46 C310 70 150 28 0 50 Z%22 fill=%22%23000%22/%3E%3C/svg%3E")}
/* closing: the band climbs to the right, under the sun */
.closing.landscape-closing::before{top:calc(1px - var(--edge));height:calc(var(--edge) + 14px);background:inherit;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 62 C180 48 340 66 520 52 C700 38 860 60 1020 42 C1160 26 1300 12 1440 4 L1440 80 L0 80 Z%22 fill=%22%23000%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 62 C180 48 340 66 520 52 C700 38 860 60 1020 42 C1160 26 1300 12 1440 4 L1440 80 L0 80 Z%22 fill=%22%23000%22/%3E%3C/svg%3E")}
/* the section that follows a skirt needs room so text never sits under the wave */
.meet.section-pad,.process.section-pad,.reviews.section-pad{padding-top:calc(var(--edge) + 6px)}
@media (max-width:760px){:root{--edge:40px}}
@media (min-width:761px) and (max-width:1100px){:root{--edge:54px}}

/* only the sun-and-peaks scene rises above the services wave; the section itself must stay below it */
.process.section-pad .process-scene{z-index:2}
/* two trees on the gym's crest, as in the mockups; desktop only */
.gym-tree{display:none}
@media (min-width:1101px){
  .gym-tree{display:block;position:absolute;z-index:1;pointer-events:none;height:auto}
  .gym-tree-a{width:72px;top:-100px;right:250px}
  .gym-tree-b{width:50px;top:-78px;right:206px}
}

/* --- 19 Sep 2026: closing band + footer, to design/mockups/00-first-desktop and 01 --- */
.closing.landscape-closing{padding:64px 0 60px;margin-top:0;overflow:visible;background:#166345}
.closing.landscape-closing .closing-inner{display:grid;grid-template-columns:minmax(300px,36%) auto;align-items:center;justify-content:start;gap:32px;text-align:left;padding-right:120px}
.closing.landscape-closing h2{font-size:clamp(1.8rem,2.6vw,2.3rem);line-height:1.08;max-width:none;margin:0;color:#fff;white-space:nowrap}
.closing.landscape-closing .dual-cta{display:flex;flex-direction:row;flex-wrap:nowrap;gap:16px;margin:0;min-width:0}
.closing.landscape-closing .dual-cta .btn{display:flex;align-items:center;gap:16px;padding:12px 20px;border-radius:18px;text-align:left;font-size:.88rem;line-height:1.15;width:auto;white-space:nowrap}
.closing.landscape-closing .dual-cta .btn span{display:flex;flex-direction:column}
.closing.landscape-closing .dual-cta .btn small{font-size:.74rem;font-weight:500;opacity:.8;margin-bottom:2px}
.closing.landscape-closing .dual-cta p{display:none}
.closing.landscape-closing .closing-note{position:absolute;right:36px;top:calc(-1 * var(--edge) - 70px);margin:0;color:var(--forest);font-size:1.35rem;line-height:1.02;transform:rotate(-7deg);z-index:1;text-align:left}
.closing.landscape-closing .closing-note span{display:inline-block;transform:rotate(20deg);font-size:1.3em;line-height:0}
/* the sun sits behind the band's own crest: z -2 is under the hat (-1) */
.closing-scene{position:absolute;right:150px;top:calc(-1 * var(--edge) - 78px);width:150px;height:150px;pointer-events:none;z-index:-2}
.closing-scene .original-sun{position:static;display:block;width:150px;height:auto}
.closing-hill-front{position:absolute;right:270px;top:calc(-1 * var(--edge) - 12px);width:260px;height:84px;z-index:-1;pointer-events:none;fill:var(--leaf);opacity:.95}
.closing-path{position:absolute;left:0;top:calc(-1 * var(--edge));width:100%;height:calc(100% + var(--edge));z-index:-1;pointer-events:none;fill:var(--cream)}
html[data-theme=dark] .closing-hill-front{opacity:.55}
@media (max-width:1100px){
  .closing.landscape-closing .closing-inner{grid-template-columns:1fr;padding-right:0;gap:24px}
  .closing-scene{right:24px}
  .closing.landscape-closing .closing-note{right:24px}
}
@media (max-width:760px){
  .closing.landscape-closing{padding:44px 0 40px}
  .closing.landscape-closing .dual-cta{flex-direction:column}
  .closing.landscape-closing .dual-cta .btn{width:100%}
  .closing-scene{width:88px;height:88px;right:20px;top:calc(-1 * var(--edge) - 30px)}
  .closing-scene .original-sun{width:88px}
  .closing-hill-front{width:200px;height:64px;right:60px;top:calc(-1 * var(--edge) - 6px)}
  .closing.landscape-closing .closing-note{display:none}
  .closing-path{display:none}
}
/* footer */
footer .footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px;padding:34px 0 30px;font-size:.78rem}
footer .footer-brand > a{display:block;width:104px;margin:0 0 4px}
footer .footer-brand .footer-contact a{display:inline;width:auto;margin:0}
footer .footer-brand p{margin:4px 0 0;font-size:.78rem;color:var(--muted)}
footer .footer-brand .footer-contact a{color:var(--ink)}
footer nav{display:flex;gap:18px;flex-wrap:wrap}
footer .footer-badges{display:flex;align-items:center;gap:20px}
footer .badge{display:inline-flex;align-items:center;gap:10px;color:var(--ink);line-height:1.05}
footer .badge-hcpc{flex-direction:column;align-items:center;gap:0;background:#10508f;color:#fff;border-radius:4px;padding:6px 10px 5px;min-width:64px}
footer .badge-hcpc strong{font-family:'Nunito',sans-serif;font-weight:800;font-size:1.25rem;letter-spacing:.01em;line-height:1}
footer .badge-hcpc small{font-size:.58rem;letter-spacing:.02em;margin-top:2px}
footer .badge-rcot strong{font-family:'Nunito',sans-serif;font-weight:800;font-size:1.05rem;border:2px solid var(--forest);border-radius:6px;padding:6px 7px;color:var(--forest)}
footer .badge-rcot small{font-size:.66rem;color:var(--muted)}
footer .footer-meta{margin:0;line-height:1.35;color:var(--muted)}
footer .footer-meta strong{color:var(--ink)}
footer .footer-social a{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--forest);color:#fff;align-items:center;justify-content:center;margin-left:8px}
@media (max-width:760px){
  footer .footer-inner{flex-direction:column;align-items:center;text-align:center;gap:18px}
  footer .footer-brand a{margin-inline:auto}
}

/* --- 19 Sep 2026: "Does any of this sound familiar?" to design/mockups/00-first-desktop (desktop) --- */
@media (min-width:1101px){
  /* this mockup puts the section on cream and the Georgie section on the pale band */
  .familiar.section-pad{background:var(--cream);padding:64px 0 56px}
  .familiar.section-pad::before,.familiar.section-pad::after{display:none}
  .meet.section-pad{background:var(--familiar);position:relative;isolation:isolate;z-index:1;padding-top:40px}
  .meet.section-pad::before{content:'';position:absolute;left:0;right:0;width:100%;height:var(--edge);top:calc(1px - var(--edge));background:var(--familiar);z-index:-1;pointer-events:none;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 54 C160 22 320 70 500 46 C690 20 850 66 1030 40 C1190 16 1320 44 1440 30 L1440 80 L0 80 Z%22 fill=%22%23000%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 80%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 54 C160 22 320 70 500 46 C690 20 850 66 1030 40 C1190 16 1320 44 1440 30 L1440 80 L0 80 Z%22 fill=%22%23000%22/%3E%3C/svg%3E")}
  .familiar.section-pad>.shell>.eyebrow{text-transform:none;letter-spacing:0;font-weight:400;font-size:1.1rem;color:var(--ink);margin:0 0 4px}
  .familiar.section-pad .familiar-title h2{font-size:clamp(2rem,2.8vw,2.7rem);max-width:none;margin:0}
  .familiar.section-pad .familiar-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:56px;align-items:start;margin-top:34px}
  .familiar.section-pad .recognition-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 40px;position:relative;padding:10px 0 12px}
  .familiar.section-pad .recognition-list article{display:flex;align-items:flex-start;gap:18px;position:relative;z-index:1;margin:0;padding:0;background:none;border:0;box-shadow:none}
  .familiar.section-pad .recognition-list article>img{width:76px;height:76px;flex:0 0 76px;margin-top:-6px}
  .familiar.section-pad .recognition-list h3{font-size:1.02rem;line-height:1.3;margin:2px 0 0;max-width:22ch}
  .familiar.section-pad .little-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
  .familiar.section-pad .little-tags span{display:inline-block;font-size:.7rem;padding:3px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--muted)}
  .familiar.section-pad .recognition-trail{position:absolute;left:-14px;top:0;width:calc(100% + 28px);height:100%;z-index:0;pointer-events:none;overflow:visible}
  .familiar.section-pad .soft-route{position:relative;display:flex;flex-direction:column;gap:12px;padding-top:44px;text-align:left}
  .familiar.section-pad .soft-route>img{display:none}
  .familiar.section-pad .soft-blob{background:#c9e2a3;color:var(--forest);border-radius:52% 48% 46% 54% / 58% 44% 56% 42%;padding:34px 30px 32px;margin-bottom:6px}
  .familiar.section-pad .soft-blob p{margin:0;font-family:'Nunito',sans-serif;font-weight:800;font-size:1.2rem;line-height:1.2;text-align:center;font-style:normal;transform:none}
  .familiar.section-pad .soft-route .btn{width:100%;justify-content:center;font-size:.86rem;padding:12px 16px}
  .familiar.section-pad .little-forest{position:absolute;inset:0;pointer-events:none;z-index:0}
  .familiar.section-pad .little-forest img{position:absolute;width:auto}
  .familiar.section-pad .little-forest img:nth-child(1){height:58px;left:-12px;top:6px}
  .familiar.section-pad .little-forest img:nth-child(2){height:44px;left:46px;top:-18px}
  .familiar.section-pad .little-forest img:nth-child(3){height:36px;right:70px;top:-8px}
  .familiar.section-pad .little-forest img:nth-child(4){height:48px;right:-8px;top:22px}
  .familiar.section-pad .little-forest img:nth-child(5){height:30px;left:-22px;top:142px}
  .familiar.section-pad .soft-blob,.familiar.section-pad .soft-route .btn{position:relative;z-index:1}
}

@media (min-width:1101px){
  /* the familiar section has no skirt at desktop, so it must not out-rank the Georgie band's hat */
  .familiar.section-pad{z-index:0}
  .familiar.section-pad .little-tags span:nth-child(n){display:inline-block}
  .familiar.section-pad .recognition-list h3{max-width:26ch}
}

@media (min-width:1101px){
  /* reference.css hides the 4th tag and pins the tag row for the old one-row layout; out-rank both */
  .familiar.section-pad .recognition-list article:first-of-type .little-tags{position:static;flex-wrap:wrap}
  .familiar.section-pad .recognition-list article:first-of-type .little-tags span:last-child{display:inline-block}
}

@media (min-width:1101px){
  .familiar.section-pad .recognition-list{grid-template-columns:1.18fr 1fr 1.1fr;gap:58px 36px}
  .familiar.section-pad .little-tags{flex-wrap:nowrap;white-space:nowrap;width:max-content;max-width:none}
  .familiar.section-pad .little-tags span{font-size:.66rem;padding:2px 8px}
  .familiar.section-pad .recognition-trail{left:-10px;width:calc(100% + 20px);top:-6px;height:calc(100% + 12px)}
}

@media (min-width:1101px){
  /* the mockup's rows do not share columns: row two is spiral | cutlery (from a quarter across) | runner */
  .familiar.section-pad .recognition-list{grid-template-columns:repeat(12,minmax(0,1fr));gap:58px 0;column-gap:0}
  .familiar.section-pad .recognition-list article{padding-right:28px}
  .familiar.section-pad .recognition-list article:nth-of-type(1){grid-column:1/5}
  .familiar.section-pad .recognition-list article:nth-of-type(2){grid-column:5/9}
  .familiar.section-pad .recognition-list article:nth-of-type(3){grid-column:9/13}
  .familiar.section-pad .recognition-list article:nth-of-type(4){grid-column:1/4}
  .familiar.section-pad .recognition-list article:nth-of-type(5){grid-column:4/9}
  .familiar.section-pad .recognition-list article:nth-of-type(6){grid-column:9/13}
  .familiar.section-pad .recognition-trail{left:0;width:100%;top:0;height:100%}
}

/* ---- 19 Sep 2026: Georgie + Sensory Gym sections rebuilt to the first mockup (design/mockups/00-first-desktop.webp) ---- */
.meet.section-pad .meet-grid{background:none;color:var(--ink);border-radius:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px;align-items:center;position:relative;overflow:visible}
.meet.section-pad .meet-grid>div{padding:0}
.meet-visual{position:relative;min-height:540px}
.meet-proud{position:absolute;left:0;top:30px;margin:0;font-size:1.22rem;line-height:1.18;transform:rotate(-9deg);color:var(--forest);z-index:3;max-width:12ch}
.meet.section-pad .meet-proud .heart-accent{display:inline-block;width:26px;height:24px;margin:4px 0 0 46px;transform:rotate(12deg)}
.portrait-blob{position:absolute;left:150px;top:0;width:392px;height:430px;background:#f6f1e4;border-radius:52% 48% 46% 54% / 60% 58% 42% 40%;overflow:hidden;z-index:1}
.portrait-blob img{position:absolute;left:50%;top:16px;width:102%;height:auto;max-width:none;transform:translateX(-50%)}
.meet-hill{position:absolute;left:-70px;bottom:-30px;width:560px;max-width:none;z-index:2;pointer-events:none}
.meet-copy h2{font-size:2.9rem;margin-bottom:.35em}
.meet.section-pad .lead{font-size:1.18rem;line-height:1.35;max-width:none;margin-bottom:.9em}
.meet-copy>p:not(.lead){font-size:.97rem;max-width:52ch}
.meet.section-pad .credential-grid{display:flex;gap:16px;margin:26px 0 24px;padding:0;list-style:none;flex-wrap:nowrap}
.meet.section-pad .credential-grid li{flex:1 1 0;background:none;border:0;padding:0;margin:0;text-align:center;font-size:.72rem;font-weight:700;line-height:1.3;color:var(--ink)}
.credential-grid svg{width:38px;height:38px;color:var(--forest);display:block;margin:0 auto 8px}
.meet.section-pad .btn{background:#dceee2;color:#173f33}
.meet-note{position:absolute;right:0;top:-22px;margin:0;background:#f6d9db;color:#173f33;padding:22px 26px;border-radius:8px;max-width:250px;text-align:center;font-size:1.05rem;line-height:1.3;box-shadow:var(--shadow);transform:rotate(4deg);z-index:3}
.meet-tree{position:absolute;width:64px;height:64px;right:-8px;bottom:-46px;z-index:2}
.meet-tree-b{width:46px;height:46px;right:58px;bottom:-34px}
.gym.section-pad .gym-head{align-items:flex-start;margin-bottom:28px}
.gym-head .gym-scribble{position:relative;padding-right:36px;margin-top:6px}
.scribble-arrow{position:absolute;right:-4px;bottom:-50px;width:52px;height:52px;transform:rotate(10deg)}
.gym-showcase{display:grid;grid-template-columns:1.45fr repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.gym-room{width:100%;height:100%;min-height:240px;object-fit:cover;border-radius:18px}
.gym-card{margin:0;background:#fff;border-radius:16px;overflow:hidden;color:var(--ink);display:flex;flex-direction:column}
.gym-card img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;display:block}
.gym-card div{padding:12px 14px 14px}
.gym-card h3{font-size:.95rem;margin:0 0 4px;color:#173f33}
.gym-card p{font-size:.74rem;line-height:1.35;color:#5b6b60;margin:0;max-width:none}
.gym.section-pad .gym-actions{justify-content:center;margin-top:28px}
@media (max-width:1100px){
  .meet.section-pad .meet-grid{grid-template-columns:1fr;gap:28px}
  .meet-visual{min-height:0;height:470px;max-width:540px;width:100%;margin:0 auto}
  .portrait-blob{left:auto;right:8px;top:10px;width:340px;height:370px}
  .meet-hill{left:-40px;bottom:-12px;width:430px}
  .meet-note{position:static;display:inline-block;transform:rotate(-2deg);max-width:280px;margin:0}
  .meet-tree{display:none}
  .meet.section-pad .credential-grid{flex-wrap:wrap}.meet.section-pad .credential-grid li{flex:1 1 30%}
  .gym-showcase{grid-template-columns:repeat(4,minmax(0,1fr))}.gym-room{grid-column:1/-1;height:280px;min-height:0}
}
@media (max-width:760px){
  .meet-visual{height:410px}.portrait-blob{width:270px;height:300px;right:0;top:44px}.meet-proud{font-size:1.05rem;top:0}.meet-hill{width:340px;left:-30px;bottom:-8px}
  .meet-copy h2{font-size:2.3rem}.meet.section-pad .lead{font-size:1.08rem}.meet.section-pad .credential-grid li{flex:1 1 45%}
  .gym-showcase{grid-template-columns:1fr 1fr;gap:10px}.gym-room{height:230px}.gym-card img{aspect-ratio:3/2}.scribble-arrow{display:none}
}
/* 19 Sep, pass 2: keep the blob inside its column, free the gym from the reference grid */
.meet.section-pad .meet-grid{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:30px}
.meet-copy{position:relative;z-index:2}
.portrait-blob{left:118px;width:378px;height:420px}
.meet-tree{display:none}
.gym.section-pad>.shell{display:block}
.gym.section-pad .gym-head{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;position:relative;padding:0;margin:0 0 26px;max-width:none}
.gym.section-pad .gym-head h2{max-width:none;font-size:clamp(2rem,3vw,2.5rem);margin-bottom:.3em}
.gym.section-pad .gym-head>div p{font-size:.95rem;max-width:60ch}
.gym.section-pad .gym-head>.scribble{position:relative;right:auto;top:auto;bottom:auto;background:none;color:#fff9e9;padding:0 44px 0 0;font-size:1.4rem;line-height:1.25;transform:rotate(-4deg);margin:2px 20px 0 0;flex-shrink:0;z-index:2;display:block}
.gym.section-pad .scribble-arrow{position:absolute;right:-2px;bottom:-54px;width:56px;height:56px;transform:rotate(6deg)}
.gym.section-pad .gym-showcase{width:100%}
.gym.section-pad .gym-actions{display:flex;justify-content:center;gap:14px;margin:28px auto 0;width:100%}
@media (max-width:1100px){.gym.section-pad .gym-head>.scribble{display:none}}
/* 19 Sep, pass 3: portrait as a hill-shaped photo running into the wave, small mound, mockup proportions */
.meet.section-pad .meet-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;align-items:start}
.meet-visual{min-height:520px}
.meet-proud{top:84px;left:-6px;font-size:1.2rem;max-width:11ch;padding-right:0}
.proud-arrow{position:absolute;right:-34px;top:-2px;width:52px;height:38px;color:var(--forest)}
.meet.section-pad .meet-proud .heart-accent{margin:6px 0 0 40px}
.portrait-blob{left:54px;top:4px;width:470px;height:auto;bottom:-96px;border-radius:0;background:#f4efe3;-webkit-clip-path:url(#portrait-shape);clip-path:url(#portrait-shape)}
.portrait-blob img{top:12px;left:53%;width:100%}
.meet-hill{display:none}
.meet-mound{position:absolute;left:-40px;bottom:-78px;width:330px;height:auto;z-index:3;pointer-events:none}
.meet-copy{padding-top:56px}
.meet-copy h2{font-size:2.4rem;margin-bottom:.4em}
.meet.section-pad .lead{font-size:1.12rem;line-height:1.4}
.meet-copy>p:not(.lead){font-size:.95rem;max-width:50ch}
.meet.section-pad .credential-grid{margin:24px 0 22px;gap:14px}
.meet-note{top:8px;right:-10px;max-width:240px;font-size:1rem;padding:20px 24px}
.gym.section-pad .gym-showcase{grid-template-columns:1.9fr repeat(4,minmax(0,1fr))}
.gym.section-pad .gym-actions{justify-content:flex-start;margin-left:calc((100% - 56px) * 1.9 / 5.9 + 14px)}
@media (max-width:1100px){
  .meet-visual{height:520px}.portrait-blob{left:auto;right:0;top:20px;width:360px;bottom:-40px}.meet-mound{width:260px;bottom:-30px;left:-20px}.meet-proud{top:40px}.meet-copy{padding-top:0}
  .gym.section-pad .gym-actions{margin-left:0;justify-content:center}
}
@media (max-width:760px){.meet-visual{height:420px}.portrait-blob{width:290px;top:50px;bottom:-30px}.meet-mound{width:200px;bottom:-20px}.meet-proud{top:0;font-size:1.05rem}.proud-arrow{right:-30px}}
/* 19 Sep, pass 4: mound rises above the wave, note clear of the lead, scribble lines as written */
.meet-mound{width:330px;left:-46px;bottom:-112px}
.meet-proud{max-width:none;top:86px}
.proud-arrow{right:auto;left:118px;top:20px}
.meet-note{top:-26px;right:-16px}
.meet.section-pad .lead{padding-right:210px}
.meet-copy h2{padding-right:210px}
@media (max-width:1100px){.meet.section-pad .lead,.meet-copy h2{padding-right:0}.meet-mound{bottom:-60px}}
/* 19 Sep, pass 5: pink note sits beside the heading, clear of the lead */
.meet-note{top:-44px;right:-24px;max-width:232px;padding:18px 22px;font-size:.98rem}
.meet.section-pad .lead{padding-right:0;font-size:1.1rem}
@media (max-width:1100px){.meet-note{max-width:280px;padding:20px 24px}}
/* 19 Sep, pass 6: the tablet/phone single column has to come after the desktop column rule */
@media (max-width:1100px){
  .meet.section-pad .meet-grid{grid-template-columns:1fr;gap:26px;align-items:start}
  .meet-visual{min-height:0;height:500px;max-width:560px;width:100%;margin:0 auto}
  .portrait-blob{left:auto;right:0;top:16px;width:370px;bottom:-40px}
  .meet-mound{width:270px;left:-10px;bottom:-56px}
  .meet-proud{top:36px;left:0}
  .meet-copy{padding-top:0}
  .meet-note{position:static;display:inline-block;transform:rotate(-2deg);margin:22px 0 0;max-width:300px}
}
@media (max-width:760px){
  .meet-visual{height:430px}.portrait-blob{width:300px;top:40px;bottom:-30px}.meet-mound{width:210px;bottom:-24px;left:-14px}.meet-proud{top:0;font-size:1.05rem}
}
/* 19 Sep, pass 7: gym showcase columns below desktop, at the same specificity as the desktop rule */
@media (max-width:1100px){.gym.section-pad .gym-showcase{grid-template-columns:repeat(4,minmax(0,1fr))}.gym.section-pad .gym-room{grid-column:1/-1;height:280px;min-height:0}}
@media (max-width:760px){.gym.section-pad .gym-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gym.section-pad .gym-room{height:230px}}
/* 19 Sep, pass 8: below desktop there is no wave under the portrait, so keep the mound and photo inside the visual */
@media (max-width:1100px){.meet-visual{height:500px}.portrait-blob{bottom:0;top:auto;height:470px}.meet-mound{bottom:-6px;left:0;width:270px}}
@media (max-width:760px){.meet-visual{height:440px}.portrait-blob{height:390px;width:300px}.meet-mound{width:210px;bottom:-4px;left:-10px}}
/* 19 Sep, pass 9: the cream below the portrait was showing in the wave's dips at wider viewports; keep the photo's bottom under the wave at every width */
@media (min-width:1101px){
  .meet-visual{min-height:470px}
  .meet-copy{padding-top:36px}
  .portrait-blob img{width:106%;top:10px}
  .portrait-blob{bottom:-110px}
}
/* 19 Sep, pass 10: the mound is an illustration (assets/mound-path.webp, generated + recoloured), not hand-drawn SVG */
.meet-mound{width:480px;height:auto;left:-70px;bottom:-72px}
@media (max-width:1100px){.meet-mound{width:320px;left:-16px;bottom:-4px}}
@media (max-width:760px){.meet-mound{width:240px;left:-14px;bottom:-2px}}


/* 21 Sep 2026: approved mockup details — services, process, FAQ and location.
   Scoped selectors intentionally outrank the later legacy style sheets. */
.services .reference-prices .price-category{font:400 .72rem/1.3 'Atkinson Hyperlegible',sans-serif;margin:0 0 10px;color:#416253}
.services .reference-prices article{border:1px solid #ffffff80;border-radius:14px 19px 12px 16px}
.services .reference-prices h3{margin-top:0}
.services .reference-prices strong+h3{margin-top:14px}
.services .section-heading .eyebrow{max-width:15ch;text-align:center;line-height:1.1;transform:rotate(-3deg);margin-right:18px}
.faq-find .accordion{border:1px solid var(--border);border-radius:7px;overflow:hidden}
.faq-find .accordion details{padding:0;border:0;border-bottom:1px solid var(--border)}
.faq-find .accordion details:last-child{border-bottom:0}
.faq-find .accordion summary{padding:12px 34px 12px 15px;min-height:44px}
.faq-find .accordion details p{padding:0 15px 15px;margin:0;line-height:1.45}
.faq-find .accordion details[open]{background:var(--surface)}
.faq-find .find-card .find-note{position:absolute;right:-8px;top:42px;z-index:1;background:var(--forest);color:var(--cream);font-size:.95rem;line-height:1.12;text-align:center;padding:13px 20px;transform:rotate(-7deg);border-radius:48% 44% 46% 40%}
.faq-find .find-card .find-note::after{content:'';position:absolute;right:24px;bottom:-9px;border:7px solid transparent;border-top-color:var(--forest);transform:rotate(-20deg)}
@media(min-width:1101px){
 .faq-find .two-col{gap:60px}
 .faq-find .find-card{border-left:1px solid var(--border);padding-left:30px}
 .process.section-pad{padding-bottom:42px}
 .process.section-pad .process-scene{width:250px;height:220px;right:-35px;bottom:-42px}
 .process.section-pad .process-scene>img{height:170px}
 .process.section-pad .process-scene .original-sun{width:155px;left:72px;top:8px}
 .process.section-pad .process-scene p{left:-12px;top:48px;font-size:1.1rem;max-width:8ch}
}
@media(max-width:760px){
 .services .section-heading .eyebrow{max-width:none;margin:0 0 16px;transform:none;text-align:left}
 .services .reference-prices .price-category{font-size:.78rem;margin-bottom:8px}
 .faq-find .find-card .find-note{top:auto;bottom:108px;right:0;font-size:.95rem}
}
/* The desktop dotted trail must not become a grid item above the mobile concerns. */
@media(max-width:1100px){.familiar .recognition-list>.recognition-trail{display:none}}
/* Keep the handwritten pricing note from narrowing the cards at tablet widths. */
.services .section-heading::after{content:'';display:block;clear:both}
.services .reference-prices{width:100%;clear:both}
@media(min-width:761px) and (max-width:1100px){.familiar .soft-route .little-forest{display:none}}

/* 21 Sep: familiar composition, approved screenshot corrections. */
.familiar.section-pad{background:#f3eddf}
html[data-theme=dark] .familiar.section-pad{background:#29483b}
.familiar.section-pad .little-tags span{border:0;background:#e7e5d7;color:#3f5149;padding:1px 6px;border-radius:7px}
.familiar.section-pad .soft-route .btn{display:flex;align-items:center;white-space:nowrap;gap:8px}
.meet.section-pad .meet-note,.hero .hero-note{background:transparent url('assets/brush-note.webp') center/100% 100% no-repeat;border:0;border-radius:0;box-shadow:none;color:#173f33;padding:24px 28px}
@media(min-width:1101px){
 .familiar.section-pad{padding:28px 0 48px}
 .familiar.section-pad::before{display:block;content:'';position:absolute;inset:-27px 0 auto;height:28px;background:#f3eddf;border-radius:52% 48% 0 0 / 100% 100% 0 0;mask:none;-webkit-mask:none;border-top:1px solid #e9dfcb;z-index:-1}
 html[data-theme=dark] .familiar.section-pad::before{background:#29483b;border-color:#3e5b4b}
 .familiar.section-pad>.shell>.eyebrow{font-size:1rem;margin-bottom:2px}
 .familiar.section-pad .familiar-title h2{font-size:clamp(1.8rem,2.35vw,2.35rem);line-height:1.15}
 .familiar.section-pad .familiar-layout{grid-template-columns:minmax(0,1fr) 240px;gap:32px;margin-top:32px}
 .familiar.section-pad .recognition-list{padding:4px 0 0;row-gap:70px}
 .familiar.section-pad .recognition-list article{gap:12px;padding-right:20px}
 .familiar.section-pad .recognition-list article>img{width:64px;height:64px;flex-basis:64px;object-fit:contain}
 .familiar.section-pad .recognition-list h3{font-size:.85rem;line-height:1.3;font-weight:750;max-width:28ch}
 .familiar.section-pad .little-tags{gap:4px;margin-top:7px}
 .familiar.section-pad .little-tags span{font-size:.62rem;padding:1px 5px}
 .familiar.section-pad .recognition-trail{left:-12px;top:0;width:calc(100% + 24px);height:100%}
 .familiar.section-pad .soft-route{margin-top:-40px;padding-top:38px;gap:9px}
 .familiar.section-pad .soft-blob{background:#afd079;padding:27px 20px 25px;margin-bottom:0}
 .familiar.section-pad .soft-blob p{font-size:1rem;line-height:1.25;font-weight:750}
 .familiar.section-pad .soft-route .btn{font-size:.7rem;padding:10px 12px;min-height:44px}
 .familiar.section-pad .little-forest{z-index:2}
 .familiar.section-pad .little-forest img{object-fit:contain}
 .familiar.section-pad .little-forest img:nth-child(1){width:48px;height:62px;left:14px;top:-24px;transform:rotate(-7deg)}
 .familiar.section-pad .little-forest img:nth-child(2){width:34px;height:43px;left:92px;top:-7px;transform:rotate(7deg)}
 .familiar.section-pad .little-forest img:nth-child(3){width:30px;height:38px;right:44px;top:6px;opacity:.7}
 .familiar.section-pad .little-forest img:nth-child(4){width:34px;height:46px;right:0;top:24px;transform:rotate(14deg)}
 .familiar.section-pad .little-forest img:nth-child(5){width:31px;height:43px;left:-27px;top:111px;transform:rotate(-10deg)}
 .meet.section-pad{padding-top:12px}
 .meet.section-pad .portrait-blob img{top:-10px}
 .meet.section-pad .meet-note{transform:rotate(-7deg)}
}
@media(min-width:1101px){
 .familiar.section-pad .little-forest img:nth-child(1){width:85px;height:105px;left:-7px;right:auto;top:-57px}
 .familiar.section-pad .little-forest img:nth-child(2){width:65px;height:77px;left:66px;right:auto;top:-30px}
 .familiar.section-pad .little-forest img:nth-child(3){width:53px;height:67px;left:auto;right:34px;top:-17px}
 .familiar.section-pad .little-forest img:nth-child(4){width:64px;height:75px;left:auto;right:-28px;top:0}
 .familiar.section-pad .little-forest img:nth-child(5){width:57px;height:72px;left:-46px;right:auto;top:94px}
}
/* A section skirt is anchored only at the bottom, never stretched between top and bottom. */
.gym.section-pad::after,.services.section-pad::after{top:auto;border-radius:0}
.gym.section-pad::before,.services.section-pad::before{border-radius:0}
@media(min-width:1101px){.familiar.section-pad .little-forest{width:100%;transform:none}}
@media(min-width:1101px){
 .familiar.section-pad::before{width:100%;left:0;right:0}
 .familiar.section-pad .recognition-list article{background:transparent!important}
}
@media(max-width:1100px){.familiar.section-pad::before,.familiar.section-pad::after{background:#f3eddf}html[data-theme=dark] .familiar.section-pad::before,html[data-theme=dark] .familiar.section-pad::after{background:#29483b}}
.hero .photo-sticky{background:transparent url('assets/brush-note.webp') center/100% 100% no-repeat;border-radius:0;box-shadow:none;padding:24px 22px;color:#173f33}
.hero .photo-sticky::after{display:none}
/* Keep accessible text enlargement free to wrap despite compact desktop buttons. */
html[data-text=lg] .familiar.section-pad .soft-route .btn{white-space:normal}
.meet.section-pad .meet-note,.hero .hero-note,.hero .photo-sticky{background-size:100% 145%}
@media(max-width:760px){.hero .photo-sticky{width:145px;max-width:145px;padding:20px 18px;font-size:1rem}}
/* 21 Sep: route needs vertical room for loops, not a compressed underline. */
@media(min-width:1101px){
 .familiar.section-pad .recognition-list{row-gap:104px;padding-bottom:12px}
 .familiar.section-pad .recognition-trail{left:0;width:100%;height:100%;top:0}
 .familiar.section-pad .recognition-list article:nth-of-type(5){padding-left:14px}
}
@media(min-width:1101px){.familiar.section-pad .recognition-list article:nth-of-type(2) h3{max-width:16ch}}
html[data-text=lg] .familiar.section-pad .recognition-trail{display:none}
/* Keep the desktop route visible at every reading size. */
@media(min-width:1101px){
 html[data-text] .familiar.section-pad .recognition-trail{display:block}
 html[data-text=lg] .familiar.section-pad .recognition-list{row-gap:118px}
}

/* 21 Sep: Georgie composition follows the approved mountain/photo mockup. */
.meet.section-pad .credential-grid li{font-weight:400;line-height:1.3}
.meet.section-pad .credential-grid svg{width:46px;height:46px;margin-bottom:7px}
.meet.section-pad .meet-note{width:270px;max-width:270px;padding:22px 18px;font-size:1.03rem;line-height:1.25;transform:rotate(-7deg)}
.meet-note .note-heart{color:#fec627;-webkit-text-stroke:1px #075749;font-size:1.3em;white-space:nowrap}
.meet-note .note-arrow{position:absolute;width:42px;height:58px;bottom:-44px;left:45%;color:#e9aebc;transform:rotate(8deg)}
.meet.section-pad .meet-proud .heart-accent{display:block;width:36px;height:36px;margin:8px auto 0;transform:rotate(10deg)}
.meet.section-pad .proud-arrow{left:auto;right:-34px;top:20px;width:44px;height:42px;transform:rotate(45deg)}
.gym-fir-cluster{position:absolute;width:112px;height:auto;right:6%;top:-66px;z-index:3;pointer-events:none}
.gym.section-pad::before{filter:drop-shadow(0 -3px 0 #f7f2e8)}
@media(min-width:1101px){
 .meet.section-pad{padding-top:8px;padding-bottom:24px}
 .meet.section-pad::before{height:54px;top:-53px;mask-size:100% 100%;-webkit-mask-size:100% 100%}
 .meet.section-pad .meet-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:30px;align-items:start}
 .meet.section-pad .meet-visual{min-height:410px;height:410px}
 .meet.section-pad .portrait-blob{left:24px;right:auto;top:-26px;bottom:-42px;width:calc(100% - 18px);height:auto}
 .meet.section-pad .portrait-blob img{width:96%;height:auto;left:55%;top:22px;transform:translateX(-50%)}
 .meet.section-pad .meet-mound{left:-34px;bottom:-15px;width:265px;height:210px;object-fit:fill}
 .meet.section-pad .meet-proud{left:-22px;top:44px;font-size:1.03rem;line-height:1.22}
 .meet.section-pad .meet-copy{padding-top:12px}
 .meet.section-pad .meet-copy h2{font-size:2.05rem;margin:0 0 8px;padding-right:245px;line-height:1.15}
 .meet.section-pad .lead{font-size:1.02rem;line-height:1.3;margin:0 0 18px;padding-right:240px}
 .meet.section-pad .meet-copy>p:not(.lead){font-size:.91rem;line-height:1.4;max-width:49ch;margin:0 0 18px}
 .meet.section-pad .credential-grid{margin:18px 0 16px;gap:20px}
 .meet.section-pad .credential-grid li{font-size:.74rem}
 .meet.section-pad .meet-note{top:0;right:-10px;width:250px;max-width:250px;font-size:.98rem}
 .meet.section-pad .btn{font-size:.78rem;padding:10px 18px;min-height:44px}
}
@media(min-width:1101px) and (max-width:1300px){
 .meet.section-pad .meet-note{width:210px;max-width:210px;font-size:.87rem;right:-8px}
 .meet.section-pad .lead,.meet.section-pad .meet-copy h2{padding-right:190px}
 .meet.section-pad .meet-copy h2{font-size:1.8rem}
 .meet.section-pad .meet-proud{font-size:.92rem;left:-12px}
}
@media(max-width:1100px){
 .meet.section-pad .meet-mound{width:240px;height:190px;object-fit:fill;left:0;bottom:-4px}
 .meet.section-pad .meet-note{margin:12px auto 30px}
 .meet-note .note-arrow{display:none}
 .gym-fir-cluster{width:90px;top:-52px;right:5%}
}
@media(max-width:760px){
 .meet.section-pad .meet-mound{width:190px;height:155px;left:-12px}
 .meet.section-pad .meet-proud{font-size:1rem;max-width:13ch}
 .meet.section-pad .credential-grid{gap:20px 12px}
 .meet.section-pad .credential-grid svg{width:42px;height:42px}
 .meet.section-pad .meet-note{width:270px;max-width:100%}
}
@media(min-width:1101px){
 .meet.section-pad .portrait-blob img{width:90%;top:64px;left:53%}
 .meet.section-pad .meet-mound{bottom:-34px}
 .meet.section-pad .meet-copy>p:not(.lead){max-width:44ch}
 .meet-note .note-arrow{height:94px;bottom:-80px;left:54%}
 .gym-fir-cluster{top:-113px;right:5%;width:108px}
}
@media(min-width:1101px){.gym-fir-cluster{right:1.5%;top:-98px;width:96px}}
@media(max-width:1100px){.meet.section-pad .portrait-blob img{width:90%;left:53%;top:58px}}
@media(max-width:1100px){
 .meet.section-pad .meet-copy h2,.meet.section-pad .lead{padding-right:0;max-width:none}
 .meet.section-pad .meet-copy h2{font-size:1.8rem;line-height:1.15}
}

/* 21 Sep: fit the whole supplied portrait and ground the decorations on the wave. */
.meet.section-pad{--georgie-band:#dfe8d8;background:var(--georgie-band)}
.meet.section-pad::before{background:var(--georgie-band)}
html[data-theme=dark] .meet.section-pad{--georgie-band:#28473b}
.meet.section-pad .portrait-blob img{width:100%;height:calc(100% - 58px);max-width:none;object-fit:contain;object-position:center bottom;top:auto;bottom:0;left:0;transform:none}
.gym .gym-fir-cluster{width:96px;height:64px;object-fit:contain;right:1.5%;top:calc(1px - var(--edge) - 62px)}
@media(min-width:1101px){
 .meet.section-pad .meet-mound{width:205px;height:150px;object-fit:contain;left:-20px;bottom:-26px}
}
@media(max-width:1100px){.meet.section-pad .meet-mound{width:190px;height:140px;object-fit:contain;bottom:-2px}}
@media(max-width:760px){
 .meet.section-pad .meet-mound{width:155px;height:115px;left:-8px}
 .gym .gym-fir-cluster{width:78px;height:52px;top:calc(1px - var(--edge) - 50px)}
}
.gym .gym-fir-cluster{margin-top:6px}
/* The raster sits inside its hill silhouette, just as the portrait sits in its mountain mask. */
.meet.section-pad .meet-mound{clip-path:url(#hill-silhouette);object-fit:fill}

/* 21 Sep — cohesive drawn annotations and mockup proportions, including A+. */
body .scribble,body .gym-mobile-note,body .services .eyebrow{font-family:'Patrick Hand',cursive;font-weight:400;font-style:normal;letter-spacing:.025em;line-height:1.22}
.drawn-heart{display:inline-block;width:1.25em;height:1.25em;vertical-align:-.24em;color:#075749;transform:rotate(-9deg)}
.meet.section-pad .meet-proud .drawn-heart{display:block;width:30px;height:32px;margin:8px auto;transform:rotate(11deg)}
.meet.section-pad .credential-grid svg{width:43px;height:43px;margin:0 auto 12px;overflow:visible}
.meet.section-pad .credential-grid li{font-weight:400;line-height:1.35}
.meet.section-pad .meet-note{letter-spacing:.035em;line-height:1.35;transform:rotate(-6deg)}
.gym.section-pad .gym-head>.scribble{font-size:1.35rem;letter-spacing:.04em}
.gym-scribble::after,.services.section-pad .eyebrow::after{content:'';position:absolute;right:-12px;top:4px;width:30px;height:40px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 40'%3E%3Cpath d='M4 13L10 3M12 21L26 15M14 31L25 34' stroke='%23edbc51' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.process.section-pad{position:relative;background:#f3eddf;padding:32px 0 42px}
.process.section-pad>.shell{position:relative}
.process.section-pad .steps::before{display:none}
.process.section-pad .steps article{position:relative;z-index:1}
.process.section-pad .steps p{max-width:23ch;line-height:1.4}
.process.section-pad .steps span{width:52px;height:52px;font-weight:700;margin-bottom:12px}
.process.section-pad .step-note{font-size:.86rem;line-height:1.2;letter-spacing:.015em}
.step-arrow{position:absolute;width:55px;height:42px;left:-60px;top:12px}
.process-trees{position:absolute;bottom:0;left:0;width:85px;height:auto;z-index:2}
.services.section-pad{background:var(--cream);padding:28px 0 32px;position:relative}
.services.section-pad .section-heading{margin:0 0 20px}
.services.section-pad .eyebrow{position:relative;padding-right:32px;font-size:1.05rem;max-width:14ch;line-height:1.2}
.services.section-pad .reference-prices{gap:14px;margin-top:0}
.services.section-pad .reference-prices article{padding:20px 19px;border-radius:17px;min-width:0}
.services.section-pad .reference-prices h3{font-size:.89rem;line-height:1.3;margin-bottom:4px}
.services.section-pad .reference-prices strong{font-size:1.1rem;line-height:1.3;margin-bottom:11px}
.services.section-pad .reference-prices p{font-size:.82rem;line-height:1.4;margin-bottom:4px}
.services.section-pad .reference-prices .price-category{font-size:.75rem;margin-bottom:12px}
.services.section-pad .reference-prices .price-note{max-width:24ch;padding:12px 15px;margin-top:16px;border-radius:24px}
.services.section-pad .reference-prices .btn{font-size:.75rem;white-space:normal;padding:10px 12px;min-height:44px}
@media(min-width:1101px){
 .meet.section-pad{padding:28px 0 42px}
 .meet.section-pad .meet-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:44px}
 .meet.section-pad .meet-visual{height:440px;min-height:440px}
 .meet.section-pad .meet-copy h2{font-size:1.95rem;padding-right:0;max-width:calc(100% - 205px);margin-bottom:12px}
 .meet.section-pad .lead{font-size:1rem;line-height:1.4;padding-right:210px;margin-bottom:24px}
 .meet.section-pad .meet-copy>p:not(.lead){font-size:.91rem;max-width:49ch;line-height:1.5;margin-bottom:24px}
 .meet.section-pad .meet-note{width:215px;max-width:215px;right:-8px;top:10px;font-size:1rem;padding:20px 12px}
 .meet.section-pad .credential-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin:26px 0 22px}
 .meet.section-pad .credential-grid li{font-size:.76rem}
 .process.section-pad .process-heading h2,.services.section-pad h2{font-size:1.85rem}
 html[data-text] .process.section-pad .steps{padding-right:200px;gap:28px;margin-top:60px;min-height:190px}
 html[data-text] .process.section-pad .steps-trail{display:block;width:calc(100% - 100px);left:-45px;height:115px;top:-8px;color:#46876b}
 .process.section-pad .steps article:nth-of-type(2){padding-top:0}
 .process.section-pad .steps article:nth-of-type(3){padding-top:24px}
 .process.section-pad .steps article:nth-of-type(4){padding-top:4px}
 .process.section-pad .steps h3{font-size:.94rem}
 .process.section-pad .steps p{font-size:.84rem}
 .process.section-pad .steps .step-note{position:absolute;left:95px;top:-65px;width:25ch;max-width:25ch;font-size:.82rem;transform:rotate(-7deg)}
 html[data-text] .process.section-pad .process-scene{display:block;width:230px;height:230px;right:-45px;bottom:-42px}
 .process.section-pad .process-scene>img{height:155px}
 .process.section-pad .process-scene .original-sun{width:145px;left:85px;top:0}
 .process.section-pad .process-scene p{left:-5px;top:26px;font-size:1.05rem}
 html[data-text] .services.section-pad .reference-prices{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(min-width:761px) and (max-width:1100px){
 .meet.section-pad .credential-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
 .meet.section-pad .meet-copy{max-width:720px;margin:auto}
 .process.section-pad .steps{padding-right:0;gap:24px}
 .process.section-pad .step-note{position:static;width:auto;max-width:24ch;margin-top:18px}
 .step-arrow{display:none}
 html[data-text] .services.section-pad .reference-prices{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .meet.section-pad .credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;margin:28px 0}
 .meet.section-pad .credential-grid li:last-child{grid-column:1/-1}
 .meet.section-pad .meet-copy>p{line-height:1.5}
 .meet.section-pad .meet-note{font-size:1.12rem;margin:18px auto 42px}
 .process.section-pad{padding-bottom:45px}
 .process.section-pad .steps{gap:30px;padding-right:0}
 .process.section-pad .steps::before{display:block;left:25px;border-left:2px dashed #46876b}
 .process.section-pad .steps article{padding-left:76px}
 .process.section-pad .step-note{position:relative;left:auto;top:auto;width:auto;margin:16px 0 0;transform:rotate(-3deg)}
 .step-arrow{display:none}
 .process-trees{width:55px}
 html[data-text] .services.section-pad .reference-prices{display:grid;grid-template-columns:1fr}
 .services.section-pad .reference-prices article{padding:22px}
 .services.section-pad .reference-prices h3{font-size:1rem}
 .services.section-pad .reference-prices p{font-size:.95rem}
 .services.section-pad .reference-prices strong{font-size:1.2rem}
 .services.section-pad .eyebrow{float:none;margin:0 0 14px;max-width:22ch}
}
html[data-theme=dark] .process.section-pad{background:#213b30}
/* Keep heading clear of the gym wave and the pricing aside to two lines. */
.process.section-pad{padding-top:68px}
.services.section-pad .section-heading>div{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%}
.services.section-pad .section-heading h2{order:-1;margin:0}
.services.section-pad .eyebrow{float:none;width:220px;max-width:none;flex-shrink:0;margin:0}
.services.section-pad .reference-prices{margin-top:22px}
@media(max-width:760px){.services.section-pad .section-heading>div{display:block}.services.section-pad .eyebrow{margin-bottom:14px;width:auto}}
.process.section-pad .process-scene .process-peaks{position:absolute;bottom:0;left:0;width:100%;height:190px;z-index:2}
@media(min-width:1101px){.process.section-pad .process-scene p{left:-16px;top:6px;max-width:9ch}.process.section-pad .process-scene .original-sun{top:-16px}}
@media(min-width:1101px){.meet.section-pad .meet-mound{bottom:-56px}}
/* Retain the journey illustration below the stacked steps at smaller widths. */
@media(max-width:1100px){
 .process.section-pad{padding-bottom:210px}
 html[data-text] .process.section-pad .process-scene{display:block;width:220px;height:185px;right:-8px;bottom:-210px;overflow:visible}
 .process.section-pad .process-scene .original-sun{left:90px;top:-5px;width:120px}
 .process.section-pad .process-scene .process-peaks{height:165px}
 .process.section-pad .process-scene p{left:-18px;right:auto;top:2px;font-size:1rem;max-width:9ch}
}
.services.section-pad::before{content:'';position:absolute;left:0;top:-15px;width:100%;height:16px;background:var(--cream);clip-path:polygon(0 60%,12% 25%,26% 48%,40% 90%,55% 70%,72% 15%,85% 40%,100% 70%,100% 100%,0 100%)}
/* Old two-column gym placement must not push the new full-width actions offscreen. */
.gym.section-pad .gym-actions{grid-column:auto;grid-row:auto;width:100%;min-width:0;justify-self:stretch;transform:none}
.gym.section-pad .gym-actions{margin:28px 0 0;max-width:100%;flex-wrap:wrap}

/* 21 Sep — generous desktop chapters and a quieter, established closing sequence. */
@media(min-width:1101px){
 body:has(.hero) .site-header .nav-wrap{min-height:124px;padding-block:18px}
 body:has(.hero) .utility-inner{min-height:36px}
 .hero .hero-grid,html[data-text=lg] .hero .hero-grid{min-height:max(650px,calc(92svh - 160px))}
 .hero .hero-copy,html[data-text=lg] .hero .hero-copy{padding-top:62px;padding-bottom:135px}
 .hero .hero-grid>.trust-row,html[data-text=lg] .hero .hero-grid>.trust-row{bottom:58px}
 main>.section-pad{min-height:67svh;display:flex;flex-direction:column;justify-content:center;padding-top:88px;padding-bottom:88px}
 main>.section-pad>.shell{width:86%;flex-shrink:0}
 .familiar.section-pad{padding-top:86px;padding-bottom:90px}
 .familiar.section-pad .familiar-layout{margin-top:58px}
 .meet.section-pad{padding-top:74px;padding-bottom:76px}
 .meet.section-pad .meet-grid{align-items:center}
 .meet.section-pad .meet-visual{height:480px;min-height:480px}
 .gym.section-pad{padding-top:80px;padding-bottom:84px}
 .gym.section-pad .gym-head{margin-bottom:42px}
 .gym.section-pad .gym-actions{margin-top:36px}
 .process.section-pad{padding-top:90px;padding-bottom:82px}
 html[data-text] .process.section-pad .steps{margin-top:85px;min-height:230px;gap:36px;padding-right:230px}
 html[data-text] .process.section-pad .process-scene{bottom:-82px;width:255px;height:240px}
 .services.section-pad{padding-top:80px;padding-bottom:80px}
 .services.section-pad .reference-prices{margin-top:40px;gap:20px}
 .services.section-pad .reference-prices article{padding:26px 22px;min-height:300px}
 .reviews.section-pad{padding-top:86px;padding-bottom:86px}
 .reviews.section-pad .reviews-head{margin-bottom:36px}
 .faq-find.section-pad{padding-top:88px;padding-bottom:135px}
 .faq-find.section-pad .two-col{grid-template-columns: .95fr 1.05fr;gap:48px;align-items:start}
 .faq-find.section-pad h2,.faq-find.section-pad .find-card>.eyebrow{font-size:1.55rem;line-height:1.2;margin-bottom:24px}
 .faq-find.section-pad .find-card{padding-left:36px;column-gap:24px;grid-template-columns:.95fr 1.15fr;align-content:start}
 .faq-find.section-pad .find-card h2{font-size:1rem;margin-bottom:8px;padding-left:26px;position:relative}
 .faq-find.section-pad .find-card h2::before{content:'';position:absolute;left:0;top:0;width:20px;height:25px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 30'%3E%3Cpath d='M12 28S3 17 3 11a9 9 0 0118 0c0 6-9 17-9 17Z' fill='none' stroke='%23075749' stroke-width='2.4'/%3E%3Ccircle cx='12' cy='11' r='3' fill='%23075749'/%3E%3C/svg%3E") center/contain no-repeat}
 .faq-find.section-pad .find-card>img{height:285px;transform:none;border-radius:16px 20px 15px 18px;object-position:center 58%;grid-row:2/7}
 .faq-find.section-pad .find-card>p:last-child{grid-column:1;border-top:1px solid var(--border);padding-top:18px;margin-top:10px}
 .faq-find.section-pad .find-card .find-note{top:35px;right:-16px;bottom:auto;max-width:210px;font-size:.9rem}
 .faq-find.section-pad .find-card .find-note::after{border:0;width:38px;height:52px;bottom:-48px;right:26px;transform:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 52'%3E%3Cpath d='M18 3C34 18 26 37 7 43M8 32L6 44L18 46' fill='none' stroke='%23075749' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
 .closing.landscape-closing{min-height:67svh;display:flex;align-items:center;padding:90px 0;isolation:isolate}
 .closing.landscape-closing .closing-inner{grid-template-columns:1fr 1.6fr;padding-right:0;gap:64px;text-align:left}
 .closing.landscape-closing h2{font-size:2.1rem;line-height:1.18}
 .closing.landscape-closing .dual-cta{gap:18px}
 .closing.landscape-closing .btn{min-height:76px;padding:18px 22px}
 .closing.landscape-closing .closing-path{width:100%;opacity:1}
 body:has(.hero) footer .footer-inner{padding:28px 0;gap:22px;flex-wrap:nowrap;font-size:.7rem}
 body:has(.hero) footer .footer-brand{display:grid;grid-template-columns:85px auto;column-gap:16px;align-items:center;max-width:360px}
 body:has(.hero) footer .footer-brand>a{grid-row:1/3}
 body:has(.hero) footer .footer-brand img{width:85px;height:auto}
 body:has(.hero) footer .footer-contact{font-size:.65rem}
 body:has(.hero) footer .footer-badges{gap:16px}
}
.faq-find.section-pad .accordion summary{justify-content:flex-start;align-items:center;gap:12px;padding:15px 18px;font-size:.89rem;font-weight:600}
.faq-find.section-pad .accordion summary::before{content:'+';font-size:1.2rem;color:var(--forest);font-weight:700;width:15px;flex-shrink:0}
.faq-find.section-pad .accordion details[open] summary::before{content:'−'}
.faq-find.section-pad .accordion summary::after{content:'⌄';font-size:.85rem;margin-left:auto}
.faq-find.section-pad .accordion details[open] summary::after{content:'⌃'}
.faq-find.section-pad .accordion details p{padding:0 20px 18px 45px;font-size:.83rem;line-height:1.5}
.closing.landscape-closing .closing-hill-front{width:360px;height:125px;right:0;top:calc(-1 * var(--edge) - 65px);fill:#247a4f;opacity:1}
.closing.landscape-closing .closing-scene{right:130px;top:calc(-1 * var(--edge) - 100px)}
.closing.landscape-closing .closing-note{right:35px;top:calc(-1 * var(--edge) - 110px);font-size:1.05rem;max-width:10ch;line-height:1.2}
@media(max-width:1100px){.faq-find.section-pad{padding-bottom:100px}.closing.landscape-closing .closing-hill-front{width:240px;height:90px}.closing.landscape-closing .closing-scene{right:80px}.closing.landscape-closing .closing-note{display:none}}
@media(max-width:760px){.faq-find.section-pad .find-card{border-left:0;padding-left:0}.closing.landscape-closing .closing-scene{top:calc(-1 * var(--edge) - 45px)}.closing.landscape-closing .closing-hill-front{top:calc(-1 * var(--edge) - 32px)}}
@media(min-width:1101px){
 .process.section-pad>.shell{position:static}
 html[data-text] .process.section-pad .process-scene{bottom:0;right:0}
 .reviews.section-pad .review-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));columns:auto;gap:28px}
 .reviews.section-pad .review-wall blockquote{margin:0;background:var(--surface);color:var(--ink);padding:30px;border-radius:18px;transform:none;font-size:.95rem;line-height:1.5;min-height:230px;display:flex;flex-direction:column;align-items:flex-start}
 .reviews.section-pad .review-wall blockquote p{margin-bottom:22px}
 .reviews.section-pad .review-wall blockquote cite{margin-top:auto}
 .reviews.section-pad .review-wall.reviews-collapsed blockquote:nth-child(n+4){display:none}
 .reviews.section-pad .review-source{font-size:.72rem;margin-top:12px}
 .reviews.section-pad .reviews-toggle{margin-top:32px}
 body:has(.hero) footer .footer-brand{max-width:340px}
 body:has(.hero) footer .footer-contact a{white-space:nowrap}
}
@media(min-width:1101px){
 .reviews.section-pad .review-wall blockquote:nth-child(n){background:var(--surface)!important;padding:30px!important;color:var(--ink);transform:none}
 .reviews.section-pad .review-wall blockquote::before{display:none}
}
@media(max-width:760px){
 .closing.landscape-closing .closing-inner{min-width:0;grid-template-columns:minmax(0,1fr)}
 .closing.landscape-closing .dual-cta{width:100%;max-width:100%;min-width:0}
 .closing.landscape-closing .dual-cta .btn{width:100%;min-width:0;white-space:normal;gap:12px}
 .closing.landscape-closing .dual-cta .btn span{min-width:0}
}
@media(max-width:760px){
 .closing.landscape-closing h2{font-size:1.65rem;line-height:1.2;white-space:normal;width:100%;max-width:100%;min-width:0}
 .closing.landscape-closing .closing-scene{width:88px;height:88px;top:calc(-1 * var(--edge) - 70px)}
 .closing.landscape-closing .closing-scene .original-sun{width:88px;max-width:100%}
}

/* Pricing is a guided choice: assessment + ongoing support, then specialist routes. */
html[data-text] .services.section-pad .reference-prices{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;align-items:stretch}
.services.section-pad .reference-prices article{grid-column:span 2;min-height:0;padding:26px 28px;display:flex;flex-direction:column;border:1px solid transparent}
.services.section-pad .reference-prices .assessment-card{grid-column:span 2;border-color:#e4ba4a;background:#fff0c7}
.services.section-pad .reference-prices .therapy-card{grid-column:span 4;background:#e3ede1}
.services.section-pad .reference-prices h3{font-size:1rem;line-height:1.25;margin:0 0 10px}
.services.section-pad .reference-prices strong{font-size:1.3rem;line-height:1.25;margin:0 0 12px;display:block}
.services.section-pad .reference-prices strong small{font:400 .8rem 'Atkinson Hyperlegible',sans-serif}
.services.section-pad .reference-prices p{font-size:.85rem;line-height:1.4}
.services.section-pad .reference-prices .price-category{font-size:.74rem;margin-bottom:18px}
.price-options,.therapy-options{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.price-options>div+div,.therapy-options>div+div{border-left:1px solid #07574925;padding-left:24px}
.services.section-pad .price-options p{font-size:.75rem;min-height:2.8em;margin-bottom:6px}
.services.section-pad .therapy-options{flex:1}
.services.section-pad .package-prices{display:flex;align-items:baseline;gap:24px;margin-top:12px}
.services.section-pad .package-prices p{font-size:.75rem}
.services.section-pad .package-prices p strong{font-size:1rem;margin-top:4px}
.services.section-pad .reference-prices .price-note{background:transparent;border-radius:0;padding:0;max-width:none;font-size:.76rem;margin:0 0 16px}
.services.section-pad .service-action{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;font-family:'Nunito',sans-serif;font-weight:800;font-size:.8rem;line-height:1.3;text-decoration:none;border-top:1px solid #07574926;padding:14px 0 0;margin-top:auto;color:inherit}
.services.section-pad .service-action>span:last-child{flex-shrink:0;font-size:1.2rem}
.services.section-pad .primary-action{background:var(--sun);border:0;border-radius:28px;padding:12px 20px;color:#073f35;margin-top:8px}
.services.section-pad .service-action:hover span:first-child{text-decoration:underline;text-underline-offset:4px}
html[data-theme=dark] .services.section-pad .reference-prices .assessment-card{background:#4a4228}
html[data-theme=dark] .services.section-pad .reference-prices .therapy-card{background:#2c4b3a}
@media(min-width:1101px){.services.section-pad .reference-prices article:nth-child(n+3){padding-top:24px;padding-bottom:20px}.services.section-pad .reference-prices article:nth-child(n+3) h3{max-width:26ch}}
@media(min-width:761px) and (max-width:1100px){.services.section-pad .reference-prices .assessment-card,.services.section-pad .reference-prices .therapy-card{grid-column:span 6}.services.section-pad .reference-prices article{grid-column:span 3}.services.section-pad .reference-prices article:last-child{grid-column:span 6}}
@media(max-width:760px){html[data-text] .services.section-pad .reference-prices{grid-template-columns:1fr}.services.section-pad .reference-prices article,.services.section-pad .reference-prices .assessment-card,.services.section-pad .reference-prices .therapy-card{grid-column:auto;padding:24px}.therapy-options{grid-template-columns:1fr;gap:18px}.therapy-options>div+div{border-left:0;border-top:1px solid #07574925;padding:18px 0 0}.services.section-pad .service-action{margin-top:16px}.price-options{gap:14px}.price-options>div+div{padding-left:14px}}

/* Closing is a compact landscape sign-off, not a full-height content chapter. */
.closing.landscape-closing{min-height:0;padding:54px 0 48px;background:#166345}
.closing.landscape-closing::before{background:#166345}
.closing.landscape-closing .closing-inner{position:relative;z-index:3}
.closing.landscape-closing .closing-hill-front{width:340px;height:122px;right:0;top:-104px;z-index:2;opacity:1}
.closing.landscape-closing .closing-scene{right:42px;top:-145px;width:130px;height:130px;z-index:1}
.closing.landscape-closing .closing-scene .original-sun{width:130px;height:auto}
.closing.landscape-closing .closing-note{top:-155px;right:10px;transform:translateY(-45px) rotate(-8deg);font-size:.95rem;max-width:12ch;z-index:3}
.closing.landscape-closing .closing-path{top:calc(-1 * var(--edge));height:calc(100% + var(--edge));z-index:0}
@media(min-width:1101px){
 .closing.landscape-closing .closing-inner{grid-template-columns:1fr 1.65fr;gap:30px;padding-right:190px}
 .closing.landscape-closing h2{font-size:1.7rem;line-height:1.2;margin:0}
 .closing.landscape-closing .dual-cta{min-width:0;gap:16px}
 .closing.landscape-closing .btn{padding:16px 20px;min-height:72px;font-size:.8rem;white-space:normal}
 .closing.landscape-closing .btn small{font-size:.73rem}
 .faq-find.section-pad{padding-bottom:150px}
}
@media(min-width:761px) and (max-width:1100px){.closing.landscape-closing .closing-inner{padding-right:0}.closing.landscape-closing .closing-hill-front{width:270px;height:105px;top:-90px}}
@media(max-width:760px){
 .closing.landscape-closing{padding:40px 0}
 .closing.landscape-closing .closing-hill-front{width:230px;height:86px;top:-71px}
 .closing.landscape-closing .closing-scene{width:90px;height:90px;right:20px;top:-103px}
 .closing.landscape-closing .closing-scene .original-sun{width:90px}
 .closing.landscape-closing .closing-note{display:none}
 .faq-find.section-pad{padding-bottom:125px}
}
html[data-theme=dark] .closing.landscape-closing,html[data-theme=dark] .closing.landscape-closing::before{background:#0b231c}
.closing.landscape-closing .closing-note{transform:rotate(-8deg);top:-172px;right:14px}
.closing.landscape-closing .closing-hill-front{top:-126px}
@media(max-width:760px){.closing.landscape-closing .closing-hill-front{top:-85px}}

/* One continuous closing landscape: the hills are the edge of the band itself. */
.closing.landscape-closing{background:transparent;isolation:isolate;padding:58px 0 48px;position:relative}
.closing.landscape-closing::before,.closing.landscape-closing::after{display:none}
.closing-landscape-unified{position:absolute;left:0;top:-110px;width:100%;height:calc(100% + 110px);z-index:1;pointer-events:none}
.closing.landscape-closing .closing-inner{z-index:3}
.closing.landscape-closing .closing-scene{z-index:0;right:65px;top:-114px;width:128px;height:128px}
.closing.landscape-closing .closing-scene .original-sun{width:128px}
.closing.landscape-closing .closing-note{right:230px;top:-88px;font-size:1.05rem;line-height:1.2;max-width:12ch;z-index:2;transform:rotate(-7deg)}
html[data-theme=dark] .closing.landscape-closing{background:transparent}
html[data-theme=dark] .closing-landscape-unified .closing-ground{fill:#0b231c}
@media(min-width:1101px){
 .closing.landscape-closing .closing-inner{padding-right:140px;grid-template-columns:1fr 1.65fr;gap:38px}
 body:has(.hero) footer .footer-inner{display:grid;grid-template-columns:minmax(245px,1.3fr) auto minmax(245px,1.1fr) auto 32px;gap:26px;align-items:center;font-size:.68rem}
 body:has(.hero) footer .footer-brand{display:grid;grid-template-columns:75px 1fr;gap:6px 14px;max-width:none;font-size:.66rem}
 body:has(.hero) footer .footer-brand img{width:75px}
 body:has(.hero) footer .footer-brand p{line-height:1.4}
 body:has(.hero) footer .footer-contact{font-size:.62rem}
 body:has(.hero) footer .footer-inner nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex-wrap:nowrap}
 body:has(.hero) footer .footer-inner nav a{padding:3px 0;white-space:nowrap}
 body:has(.hero) footer .footer-badges{gap:12px;flex-wrap:nowrap;font-size:.62rem}
 body:has(.hero) footer .footer-meta{font-size:.64rem;white-space:nowrap}
}
@media(max-width:1100px){.closing.landscape-closing .closing-note{display:none}.closing.landscape-closing .closing-scene{right:30px;width:105px;height:105px;top:-99px}.closing.landscape-closing .closing-scene .original-sun{width:105px}}
@media(max-width:760px){
 .closing.landscape-closing{padding:40px 0}
 .closing-landscape-unified{top:-75px;height:calc(100% + 75px)}
 .closing.landscape-closing .closing-scene{right:6px;top:-64px;width:68px;height:68px}
 .closing.landscape-closing .closing-scene .original-sun{width:68px}
}
@media(min-width:1101px){.closing.landscape-closing .closing-note{top:-122px;right:235px}.closing.landscape-closing .closing-scene{top:-133px}}
@media(max-width:760px){
 .closing.landscape-closing{background:#166345}
 .closing-landscape-unified{height:150px;top:-80px}
 .closing-landscape-unified>path:last-child{display:none}
 .closing.landscape-closing .closing-scene{top:-92px}
 html[data-theme=dark] .closing.landscape-closing{background:#0b231c}
}

/* A useful first fold: compact sticky navigation, content-led hero height. */
body .site-header{position:sticky;top:0;z-index:100;background:var(--cream);box-shadow:0 1px 0 #07574912}
html{scroll-padding-top:145px}
@media(min-width:1101px){
 body:has(.hero) .site-header .nav-wrap{min-height:84px;padding-block:8px}
 body:has(.hero) .site-header .mockup-brand{width:102px}
 body:has(.hero) .site-header .utility-inner{min-height:28px}
 main>.hero.section-pad{display:block;min-height:0;padding:0;justify-content:initial}
 html[data-text] .hero .hero-grid{min-height:560px;align-items:start;grid-template-columns:46% 54%;width:86%}
 html[data-text] .hero .hero-copy{padding-top:26px;padding-bottom:90px;align-self:start}
 .hero .hero-copy>.eyebrow{margin-bottom:14px}
 .hero .hero-copy h1{font-size:2.8rem;line-height:1.06;margin-bottom:18px}
 .hero .hero-copy h1 span{font-size:.68em;line-height:1.15;margin-top:8px}
 .hero .hero-sub{font-size:.95rem;line-height:1.4;max-width:44ch;margin:18px 0 20px}
 html[data-text] .hero .hero-grid>.trust-row{bottom:30px;width:48%;gap:20px}
 html[data-text] .hero .hero-visual{top:8px;bottom:0;height:auto;min-height:0}
 .hero .dual-cta .btn{min-height:64px}
}
@media(max-width:760px){
 body .site-header .nav-wrap{min-height:88px;padding-block:6px}
 body .site-header .mockup-brand{width:90px}
 body .site-header .menu-toggle{top:25px}
 body .site-header .utility-inner{min-height:30px}
 .hero.section-pad{padding-top:16px}
 .hero .hero-copy>.eyebrow{margin-bottom:13px}
 .hero .hero-copy h1{margin-bottom:16px}
 .hero .hero-sub{margin:16px 0 20px;line-height:1.4}
 html[data-text] .hero .hero-grid>.trust-row{padding:24px 0 18px}
 html[data-text] .hero .hero-visual{margin-top:18px}
}

/* v44: shared peaks traced from the supplied logo; original sun pixels only. */
.process.section-pad .process-scene img.process-peaks{height:auto;width:100%;bottom:0;object-fit:contain}
.meet.section-pad .meet-mound{clip-path:none;object-fit:contain}
.closing.landscape-closing .closing-landscape-unified{overflow:visible}
@media(max-width:760px){
 .closing.landscape-closing .closing-landscape-unified>image{ x:990px;y:-30px;width:450px;height:155px; }
}

/* v45: section-specific landscapes, with natural slopes and a shared horizon. */
.closing.landscape-closing .footer-ridge{position:absolute;width:clamp(330px,31vw,500px);height:auto;right:-10px;bottom:calc(100% - 40px);z-index:0;pointer-events:none}
.closing.landscape-closing .closing-note{right:28px;top:-215px;max-width:12ch}
.meet.section-pad .meet-mound{width:100%;height:auto;left:0;bottom:-42px;clip-path:none;object-fit:contain;z-index:3}
.meet.section-pad .portrait-blob{bottom:-42px}
html[data-text] .process.section-pad .process-scene{width:340px;height:230px;right:-4px;bottom:0}
.process.section-pad .process-scene img.process-peaks{width:100%;height:auto;bottom:0}
.process.section-pad .process-scene p{left:8px;top:0;max-width:9ch}
@media(max-width:1100px){
 .meet.section-pad .meet-mound{bottom:0;width:100%}
 .meet.section-pad .portrait-blob{bottom:0}
 html[data-text] .process.section-pad .process-scene{width:300px;height:190px;bottom:-210px;right:-22px}
 .closing.landscape-closing .footer-ridge{width:350px;bottom:calc(100% - 30px)}
}
@media(max-width:760px){
 .closing.landscape-closing .footer-ridge{width:300px;right:-45px;bottom:calc(100% - 24px)}
 .faq-find.section-pad{padding-bottom:155px}
 .meet.section-pad .meet-mound{width:100%;bottom:0}
 .process.section-pad .process-scene p{left:4px;top:-8px}
}
@media(min-width:1101px){
 .closing.landscape-closing .closing-note{right:330px;top:-130px}
 .meet.section-pad .meet-mound{bottom:-56px}
}
.meet.section-pad .portrait-blob img{height:80%;width:100%;object-fit:contain;object-position:center bottom}

@media(max-width:760px){.closing.landscape-closing .footer-ridge{right:-4px}}
html[data-theme=dark] .closing.landscape-closing .footer-ridge{content:url("assets/brand/footer-ridge-dark.svg")}
html[data-theme=dark] .meet.section-pad .meet-mound{content:url("assets/brand/portrait-foothills-dark.svg")}

/* v46: mobile hero composed as a broad mountain scene. */
@media(max-width:760px){
 html[data-text] .hero.section-pad .hero-grid .hero-visual{height:360px;min-height:0;margin-top:0;padding:0;clip-path:none;overflow:visible}
 html[data-text] .hero.section-pad .hero-visual .room-photo{position:absolute;inset:16px 0 24px;z-index:1}
 html[data-text] .hero.section-pad .hero-visual .room-photo>img{clip-path:url(#mobile-hero-mountain);height:100%;width:100%;object-fit:cover;object-position:32% 76%;border:0;border-radius:0}
 html[data-text] .hero.section-pad .hero-visual .original-sun{width:145px;right:0;top:7px;left:auto;z-index:0;max-width:none}
 html[data-text] .hero.section-pad .hero-visual .hero-landscape{display:none}
 html[data-text] .hero.section-pad .hero-visual .hero-terrain{display:block;position:absolute;left:0;bottom:0;width:100%;height:132px;z-index:3}
 html[data-text] .hero.section-pad .hero-visual .photo-sticky{display:block;width:112px;max-width:112px;right:12px;bottom:34px;padding:13px 10px;font-size:.85rem;line-height:1.12;z-index:4;transform:rotate(-5deg)}
 .hero.section-pad .hero-visual .photo-sticky img{width:17px;height:17px;margin:6px auto 0}
 html[data-text] .hero .hero-grid>.trust-row{padding-bottom:14px}
}
@media(max-width:760px){
 html[data-text] .hero.section-pad .hero-visual .original-sun{right:45px;top:62px}
 html[data-text] .hero.section-pad .hero-visual .room-photo>img{object-position:40% 57%}
}
@media(max-width:760px){html[data-text] .hero.section-pad .hero-visual .original-sun{right:20px;top:70px}}

/* v47: overlap the sun mask with the ridge so no background sliver shows. */
@media(min-width:761px){html[data-text] .hero.section-pad .hero-visual .original-sun{transform:translateY(6px)}}

/* v48: actual member artwork for client review, with individual attribution. */
html[data-text] .hero .hero-grid>.trust-row{width:49%;gap:18px;align-items:center}
html[data-text] .hero .trust-row .official-credential{display:flex;flex-direction:column;gap:3px;align-items:center;font-size:.62rem}
.hero .trust-row .official-credential img{width:64px;height:66px;object-fit:contain;background:white}
.hero .trust-row .rcot-credential img{width:170px;height:75px}
@media(min-width:1101px){
 html[data-text] .hero .hero-visual .original-sun{right:24%;top:38px;width:29%;transform:none}
 html[data-text] .hero .hero-copy{padding-bottom:130px}
 html[data-text] .hero .hero-grid{min-height:610px}
}
@media(max-width:760px){
 html[data-text] .hero .hero-grid>.trust-row{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:18px 10px}
 .hero .trust-row>div:last-child{grid-column:1/-1;justify-content:center;flex-direction:row;gap:12px}
 .hero .trust-row>div:last-child br{display:none}
}
@media(min-width:1101px){html[data-text] .hero .hero-visual .original-sun{right:19%;top:78px}}

/* v49: tuck the desktop sun mask below the photo ridge. */
@media(min-width:1101px){html[data-text] .hero .hero-visual .original-sun{top:78px;right:18%}}
/* v50: keep the reassurance hill and its trees together on smaller screens. */
@media(max-width:1100px){
 html[data-text] .familiar.section-pad .soft-route{display:flex;flex-direction:column;align-items:stretch;position:relative;width:100%;max-width:430px;margin:32px auto 0;padding:64px 0 0;gap:12px}
 html[data-text] .familiar.section-pad .soft-route .soft-blob{display:flex;align-items:center;justify-content:center;min-height:145px;margin:0 12px 4px;padding:28px 28px;background:#afd079;color:#075749;border-radius:52% 48% 46% 54% / 58% 44% 56% 42%}
 html[data-text] .familiar.section-pad .soft-route .soft-blob p{margin:0;max-width:20ch;font-family:'Nunito',sans-serif;font-size:1.15rem;font-weight:800;line-height:1.3;text-align:center}
 html[data-text] .familiar.section-pad .soft-route .little-forest{display:flex;position:absolute;inset:0 0 auto;align-items:flex-end;justify-content:center;gap:0;width:100%;height:90px;transform:none;z-index:2;pointer-events:none}
 html[data-text] .familiar.section-pad .soft-route .little-forest img{position:static;display:block;flex:none;width:70px;height:80px;object-fit:contain;transform:rotate(-5deg);opacity:1;align-self:flex-end}
 html[data-text] .familiar.section-pad .soft-route .little-forest img:nth-child(2){width:84px;height:105px;transform:rotate(5deg);margin-bottom:3px}
 html[data-text] .familiar.section-pad .soft-route .little-forest img:nth-child(3){width:65px;height:76px;transform:rotate(6deg)}
 html[data-text] .familiar.section-pad .soft-route .little-forest img:nth-child(n+4){display:none}
 html[data-text] .familiar.section-pad .soft-route .btn{width:100%;white-space:normal;min-height:52px;padding:14px 18px;font-size:.9rem;line-height:1.3;text-align:center}
}

/* v51 — considered mobile rhythm, alignment and manual gallery. */
.mobile-nav-actions,.gallery-controls{display:none}
html[data-text]{scroll-padding-top:var(--header-offset,145px)}
@media(max-width:1100px){
 html.menu-open{overflow:hidden}
 .primary-nav.open{max-height:calc(100dvh - var(--header-offset,120px));overflow-y:auto;overscroll-behavior:contain}
 .primary-nav .mobile-nav-actions{display:grid;gap:10px;padding-top:12px;border-top:1px solid #c9d9cd}
 .primary-nav .mobile-nav-actions .btn{display:flex;min-height:48px;white-space:normal;justify-content:center;text-align:center;font-size:.9rem}
}
@media(max-width:760px){
 html[data-text] main>.section-pad{min-height:0;padding-top:52px;padding-bottom:52px}
 html[data-text] .shell{width:calc(100% - 40px)}
 html[data-text] .hero.section-pad{padding-top:24px;padding-bottom:0}
 html[data-text] .hero-copy h1, .hero-copy .eyebrow,.hero-copy .hero-sub,
 .familiar.section-pad h2,.familiar.section-pad>.shell>.eyebrow,
 .meet.section-pad .meet-copy h2,.meet.section-pad .meet-copy .lead,
 .gym.section-pad .eyebrow,.gym.section-pad .gym-head,
 .process.section-pad h2,.services.section-pad .section-heading,
 .reviews.section-pad h2,.faq-find.section-pad h2,.find-card>.eyebrow,
 .closing.landscape-closing h2{text-align:center}
 html[data-text] .hero-copy h1 br{display:none}
 html[data-text] .hero-copy h1{font-size:clamp(2rem,8.6vw,2.8rem);line-height:1.12;text-wrap:balance}
 html[data-text] .hero-copy h1>span{font-size:clamp(1.6rem,6.8vw,2.1rem);line-height:1.3;margin-top:18px;text-wrap:balance}
 html[data-text] .hero-copy .hero-sub{max-width:36ch;margin:24px auto;line-height:1.5}
 .dual-cta .btn{text-align:left}
 .familiar.section-pad .recognition-list article{text-align:left;padding:18px;gap:16px}
 .familiar.section-pad .recognition-list h3{line-height:1.35}
 html[data-text] .meet.section-pad .credential-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px 10px;margin:28px 0}
 html[data-text] .meet.section-pad .credential-grid li{flex:0 0 calc((100% - 20px)/3);font-size:.78rem;line-height:1.4}
 html[data-text] .meet.section-pad .credential-grid svg{width:34px;height:34px;margin-bottom:8px}
 .meet.section-pad .meet-copy>.btn{display:flex;width:fit-content;margin:0 auto;min-height:48px}
 html[data-text] .meet.section-pad .meet-note{position:relative;inset:auto;margin:24px auto 10px;text-align:center}
 html[data-text] .gym.section-pad .gym-showcase{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;padding-bottom:12px;margin-top:24px;scrollbar-width:thin}
 html[data-text] .gym.section-pad .gym-showcase>*{flex:0 0 88%;width:88%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;grid-column:auto;align-self:stretch;margin:0}
 html[data-text] .gym.section-pad .gym-showcase>.gym-room{height:310px;object-fit:cover;border-radius:18px}
 html[data-text] .gym.section-pad .gym-card{overflow:hidden;border-radius:18px;text-align:left}
 html[data-text] .gym.section-pad .gym-card>img{height:210px;width:100%;object-fit:cover}
 html[data-text] .gym.section-pad .gym-card>div{padding:16px}
 .gallery-controls:not([hidden]){display:flex;align-items:center;justify-content:center;gap:20px;margin:12px 0 24px;color:var(--cream)}
 .gallery-controls button{width:48px;height:48px;border:1px solid currentColor;border-radius:50%;color:inherit;background:transparent;font:inherit;font-size:1.4rem;cursor:pointer}
 .gallery-controls button:disabled{opacity:.4;cursor:default}
 html[data-text] .process.section-pad{padding-bottom:0;overflow:hidden}
 .process.section-pad .process-trees{display:none}
 html[data-text] .process.section-pad .process-scene{position:relative;inset:auto;width:min(300px,100%);height:210px;margin:36px -20px 0 auto}
 html[data-text] .process.section-pad .process-scene p{left:0;top:0;max-width:9ch;font-size:1.15rem}
 html[data-text] .process.section-pad .steps{margin-bottom:0;padding-bottom:0}
 html[data-text] .services.section-pad .reference-prices{gap:16px;margin-top:26px}
 html[data-text] .services.section-pad .reference-prices>article{padding:24px;min-height:0;text-align:left}
 html[data-text] .reviews.section-pad .review-wall.reviews-collapsed blockquote:nth-child(n+4){display:none}
 .faq-find.section-pad .accordion summary::after{display:none}
 .faq-find.section-pad .accordion summary{min-height:56px;gap:12px}
 .faq-find.section-pad .faq-callout{text-align:center}
 .faq-find.section-pad .faq-callout .btn{width:100%;min-height:52px;white-space:normal;margin-top:16px}
 .faq-find.section-pad .two-col{gap:56px}
 html[data-text] .find-card .find-note{position:static;display:block;width:fit-content;max-width:100%;margin:20px auto;padding:14px 22px;transform:rotate(-3deg);order:0}
 .find-card a[href*="google.com/maps"]{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 20px;background:var(--mint);border-radius:28px;font-weight:800;text-decoration:none}
 .footer-contact{font-size:0}
 .footer-contact a{display:block;font-size:1rem;min-height:44px;padding:10px 0}
 footer nav a,footer .footer-social a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
 .btn,.service-action,.gallery-controls button{transition:transform .16s ease,background-color .16s ease}
 .btn:active,.service-action:active,.gallery-controls button:active{transform:translateY(1px)}
 .accordion details[open]>p{animation:answer-in .18s ease-out}
}
@keyframes answer-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.service-action,.gallery-controls button{transition:none}.accordion details[open]>p{animation:none}}
footer .footer-official{display:flex;align-items:center;justify-content:center;gap:20px}
footer .footer-official>div{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.7rem}
footer .footer-official img{display:block;object-fit:contain;width:74px;height:76px}
footer .footer-official>div:nth-child(2) img{width:170px;height:76px;background:white}
@media(max-width:760px){
 html[data-text] .find-card .find-note{margin:18px auto 20px}
 .reviews.section-pad>.shell>p{text-align:center}
 html[data-text] .process.section-pad .process-scene{margin-top:32px}
}
@media(max-width:760px){html[data-text] .process.section-pad>.shell{padding-bottom:0}}
@media(max-width:760px){main{overflow-x:clip}}
@media(max-width:760px){
 html[data-text] .services.section-pad .section-heading .eyebrow{width:100%;text-align:center;margin-inline:auto}
 html[data-text] footer .footer-brand .footer-contact{display:flex;flex-direction:column;align-items:center;gap:0;font-size:0}
 html[data-text] footer .footer-brand .footer-contact a{display:flex;align-items:center;min-height:44px;font-size:1rem;padding:10px 0}
 html[data-text] .closing.landscape-closing .dual-cta .btn{justify-content:space-between;text-align:left}
 html[data-text] .closing.landscape-closing .dual-cta .btn>span{text-align:left}
}
@media(max-width:760px){html[data-text] footer .footer-brand .footer-contact{width:100%;max-width:none}html[data-text] footer .footer-brand .footer-contact a{flex:none;white-space:nowrap;width:auto;max-width:100%}}

/* v52 — review doodles have no badge/background. */
html[data-text] .reviews .review-wall blockquote::before,
html[data-text] .reviews .review-wall blockquote:nth-child(n)::before{background:transparent;border:0;border-radius:0;box-shadow:none}

/* v53 — reserve the closing ridge's full height below location copy. */
@media(max-width:760px){
 html[data-text] main>.faq-find.section-pad{padding-bottom:180px}
}
/* 21 Sep: hidden SVG <defs> holders; was an inline style attribute, which the CSP header blocks on Netlify */
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
/* 21 Sep, review round 1 (Dan): header logo without blend tricks, dark-mode pricing text, centred hero eyebrow */
.site-header .mockup-brand{background:transparent}
.site-header .mockup-brand .brand-colour{mix-blend-mode:normal;filter:none}
html[data-theme=dark] .site-header .mockup-brand .brand-white{filter:none;mix-blend-mode:normal}
html[data-theme=dark] .services.section-pad .reference-prices :is(.assessment-card,.therapy-card){color:#fff8e9}
html[data-theme=dark] .services.section-pad .reference-prices :is(.assessment-card,.therapy-card) :is(h3,p,strong,span,small,b,em,div,dt,dd):not(.service-action):not(.service-action *){color:#fff8e9}
html[data-theme=dark] .services.section-pad .reference-prices :is(.assessment-card,.therapy-card) .price-category{color:#cfe3d6}
html[data-theme=dark] .services.section-pad .reference-prices .assessment-card{border-color:#e4ba4a}
@media (max-width:1100px){.hero.section-pad .hero-copy>.eyebrow{max-width:none;margin-left:auto;margin-right:auto;text-align:center}}
/* 21 Sep, pre-send: Georgie's own wording and brand lines */
.price-when{font-size:.8rem;line-height:1.4;color:#416253;margin:-6px 0 14px;max-width:34ch}
html[data-theme=dark] .services.section-pad .reference-prices .assessment-card .price-when{color:#cfe3d6}
.footer-strap{font-family:'Patrick Hand',cursive;font-size:1.05rem;color:var(--forest);margin:8px 0 2px}
.footer-social a+a{margin-left:10px}
.therapy-card .price-when{margin:4px 0 0}
html[data-theme=dark] .services.section-pad .reference-prices .therapy-card .price-when{color:#cfe3d6}
.review-leave{font-weight:700;white-space:nowrap}
/* 22 Sep 2026: Georgie's Pastel round (52 comments) */
.quiz-link{margin:14px 0 0;font-size:.88rem;font-weight:700}
.quiz-link a{text-underline-offset:.25em}
.nav-cta-quiz{margin-right:10px;font-size:.74rem;padding:12px 16px}
@media (max-width:1100px){.nav-cta-quiz{display:none}}
.trust-row .credential-star{font-size:1.1rem}
.meet-bio{font-size:.92rem;line-height:1.55}
.gym.section-pad .gym-showcase .gym-room-card{margin:0;display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;color:var(--ink)}
.gym.section-pad .gym-showcase .gym-room-card>.gym-room{flex:1 1 auto;min-height:190px;height:auto;border-radius:0;width:100%;object-fit:cover}
.gym.section-pad .gym-showcase .gym-room-card>div{padding:12px 14px 14px}
.gym.section-pad .gym-showcase .gym-room-card h3{font-size:.95rem;margin:0 0 4px;color:#173f33}
.gym.section-pad .gym-showcase .gym-room-card p{font-size:.74rem;line-height:1.35;color:#5b6b60;margin:0;max-width:none}
.services.section-pad .reference-prices .therapy-card{grid-column:span 2}
.services.section-pad .reference-prices .therapy-card .price-note{margin-top:8px}
.services.section-pad .reference-prices .package-card>p:not(.price-category){font-size:.88rem;margin:0 0 10px}
.approach-badge{border-radius:24px}
.quiz-landscape>p{color:#fff9e9}
.quiz-card.result .result-sun{margin:-12px auto 4px}
@media (max-width:1100px){html[data-text] .gym.section-pad .gym-showcase>.gym-room-card>.gym-room{height:250px;min-height:0}.services.section-pad .reference-prices .therapy-card{grid-column:span 2}}
@media (max-width:760px){.services.section-pad .reference-prices .therapy-card{grid-column:1/-1}.quiz-link{font-size:.84rem;text-align:center}}
/* 22 Sep, round 2 fixes: trust row wraps to two lines, quiz handnote out of the dark green, quick-check pill on the quiz page itself is pointless */
.hero .trust-row{flex-wrap:wrap;row-gap:10px;max-width:640px}
.quiz-landscape>p{position:absolute;right:16px;top:-46px;color:var(--forest)}
.quiz-body .nav-cta-quiz{display:none}
/* 22 Sep, round 2 fixes b: five trust items wrap to two rows at desktop; quiz handnote sits in the cream gap above the hills */
@media (min-width:1101px){html[data-text] .hero.section-pad .hero-grid>.trust-row{flex-wrap:wrap;row-gap:8px;width:52%;bottom:22px;align-items:center}}
.quiz-landscape>p{top:-84px;right:10px}
/* 22 Sep: the desktop hero note is CSS-generated; Georgie's wording (Pastel #7) */
.hero.section-pad .hero-visual::after{content:"Big\a challenges,\a small steps,\a brighter days."}
html[data-text] .hero.section-pad .hero-grid .hero-visual::after{content:"Big\a challenges,\a small steps,\a brighter days."}
/* 22 Sep: quiz handnote anchored above the landscape's top edge, whatever the hill height (Pastel #37) */
.quiz-card.active .quiz-landscape>p,.quiz-card .quiz-landscape>p{position:absolute!important;top:auto!important;bottom:calc(100% + 14px)!important;right:16px!important;left:auto!important;color:var(--forest)!important;transform:rotate(-4deg)}
/* 22 Sep: credentials as one slow-scrolling strip (Dan: the 2x2 grid looked wrong on phones) */
.trust-strip{position:absolute;left:0;bottom:26px;width:50%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.trust-track{display:flex;width:max-content;animation:trust-scroll 34s linear infinite}
.trust-strip:hover .trust-track,.trust-strip:focus-within .trust-track{animation-play-state:paused}
.trust-set{display:flex;align-items:center;gap:34px;padding-right:34px}
.trust-item{display:flex;align-items:center;gap:10px;font-size:.74rem;font-weight:700;line-height:1.2;white-space:nowrap;color:var(--ink)}
.trust-item img{height:44px;width:auto;background:#fff;border-radius:6px;padding:3px;box-shadow:0 1px 0 #173f331a}
.trust-item small{display:block;font-weight:400;font-size:.64rem;color:var(--muted);margin-top:2px}
.trust-item .credential-star{font-size:1.15rem;color:var(--forest);line-height:1}
@keyframes trust-scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.trust-track{animation:none;width:auto}.trust-set{flex-wrap:wrap;row-gap:10px}.trust-set[aria-hidden]{display:none}.trust-strip{-webkit-mask-image:none;mask-image:none}}
html[data-theme=dark] .trust-item{color:#fff8e9}html[data-theme=dark] .trust-item small{color:#cfe3d6}html[data-theme=dark] .trust-item .credential-star{color:#8ec546}
@media (max-width:1100px){.trust-strip{position:static;width:100%;margin:22px 0 0}.trust-track{animation-duration:26s}}
@media (max-width:760px){.trust-strip{margin-top:18px}.trust-item{font-size:.7rem}.trust-item img{height:40px}}
/* 22 Sep: strip sits closer to the buttons on desktop; phone handnote centred and unclipped */
@media (min-width:1101px){.trust-strip{bottom:52px;width:48%}}
@media (max-width:760px){.hero.section-pad .hero-handnote{left:0;right:0;width:auto;max-width:none;text-align:center;padding:0 16px;transform:none;font-size:1.05rem;line-height:1.3}}
/* 22 Sep: below desktop the hero note is a centred handwritten line, never clipped */
@media (max-width:1100px){.hero.section-pad .hero-handnote{left:0;right:0;width:auto;max-width:none;text-align:center;padding:0 16px;transform:rotate(-2deg);font:400 1.2rem/1.3 'Patrick Hand',cursive;color:var(--forest);margin:0}}
@media (max-width:760px){.hero.section-pad .hero-handnote{font-size:1.1rem}}
/* 22 Sep: below desktop the CSS hero note becomes a centred handwritten line above the photo */
@media (max-width:1100px){
  .hero.section-pad .hero-visual::after,html[data-text] .hero.section-pad .hero-grid .hero-visual::after{content:"Big challenges, small steps, brighter days.";display:block;position:absolute;left:0;right:0;top:0;width:auto;max-width:none;text-align:center;padding:0 24px;margin:0;transform:rotate(-2deg);font:400 1.25rem/1.25 'Patrick Hand',cursive;color:var(--forest);white-space:normal;z-index:3}
}
@media (max-width:760px){.hero.section-pad .hero-visual::after,html[data-text] .hero.section-pad .hero-grid .hero-visual::after{font-size:1.1rem;padding:0 16px}}
/* 22 Sep: air between the strip and the hero note below desktop */
@media (max-width:1100px){.hero.section-pad .hero-visual::after,html[data-text] .hero.section-pad .hero-grid .hero-visual::after{top:22px}.hero.section-pad .hero-grid>.hero-visual{margin-top:14px}}
/* 22 Sep: Georgie's bio centred below desktop, like the lead above it */
@media (max-width:1100px){.meet.section-pad .meet-copy>p.meet-bio{text-align:center;margin-left:auto;margin-right:auto;max-width:34ch}}
/* 22 Sep: every gallery slide gets the same photo height below desktop, so the title bars line up */
@media (max-width:1100px){
  html[data-text] .gym.section-pad .gym-showcase>.gym-card>img,html[data-text] .gym.section-pad .gym-showcase>.gym-room-card>.gym-room,.gym.section-pad .gym-showcase>.gym-card>img,.gym.section-pad .gym-showcase>.gym-room-card>.gym-room{height:300px;min-height:0;flex:0 0 auto;aspect-ratio:auto;object-fit:cover}
  .gym.section-pad .gym-showcase>.gym-card>div,.gym.section-pad .gym-showcase>.gym-room-card>div{padding:14px 16px 16px}
}
@media (max-width:760px){html[data-text] .gym.section-pad .gym-showcase>.gym-card>img,html[data-text] .gym.section-pad .gym-showcase>.gym-room-card>.gym-room,.gym.section-pad .gym-showcase>.gym-card>img,.gym.section-pad .gym-showcase>.gym-room-card>.gym-room{height:250px}}
/* 22 Sep: the FAQ callout button reads centred when it goes full width */
.faq-find .faq-callout .btn,html[data-text] .faq-find .faq-callout .btn{display:inline-flex;justify-content:center;align-items:center;text-align:center;padding-left:20px;padding-right:20px}
/* 22 Sep: below desktop the photo starts under the hero note instead of behind it */
@media (max-width:1100px){
  .hero.section-pad .hero-visual::after,html[data-text] .hero.section-pad .hero-grid .hero-visual::after{top:10px}
  html[data-text] .hero.section-pad .hero-visual .room-photo,.hero.section-pad .hero-visual .room-photo{top:66px}
  .hero.section-pad .hero-grid>.hero-visual{min-height:500px}
}
@media (max-width:760px){.hero.section-pad .hero-grid>.hero-visual{min-height:0;height:392px}}
/* 22 Sep: one button in the header; the quiz is a menu link named by its question; links never wrap */
.primary-nav{gap:clamp(12px,1.3vw,20px);font-size:clamp(.66rem,.85vw,.74rem)}
.primary-nav>a{white-space:nowrap}
@media (max-width:1100px){.primary-nav>a{white-space:normal}}
/* 22 Sep: How We Can Help centred below desktop, like the homepage */
@media (max-width:1100px){
  .help-hero-grid>div{text-align:center}
  .help-hero-grid>div>p{margin-left:auto;margin-right:auto}
  .help-hero-grid .btn{margin-left:auto;margin-right:auto}
  .approach .two-col>div{text-align:center}
  .approach .two-col>div>p{margin-left:auto;margin-right:auto}
  .approach .two-col>div>.eyebrow{text-align:center}
}
@media (max-width:760px){
  .help-grid article{text-align:center}
  .help-grid article .service-icon{margin-left:auto;margin-right:auto}
  .help-grid article p{margin-left:auto;margin-right:auto}
  .help-details .help-detail{grid-template-columns:1fr;gap:12px;text-align:center}
  .help-details .help-detail>img{margin:0 auto}
  .help-details .help-detail h2{text-align:center}
  .help-details .help-detail p{margin-left:auto;margin-right:auto}
  .help-details .help-detail ul{display:inline-block;text-align:left;margin:0 auto;padding-left:1.2em}
  .help-details .help-detail .btn{margin-left:auto;margin-right:auto}
  .closing .closing-inner,.closing .closing-inner h2,.closing .closing-inner p{text-align:center}
  .closing .closing-inner .dual-cta{justify-content:center}
}
/* 22 Sep: card links centred with the rest of the card on phones */
@media (max-width:760px){.help-grid article{display:flex;flex-direction:column;align-items:center}.help-grid article>a{margin-left:auto;margin-right:auto}}
/* 22 Sep: the process trail stays in the band of the numbered circles, clear of the step titles */
@media (min-width:1101px){html[data-text] .process.section-pad .steps-trail,.process.section-pad .steps-trail{height:76px;top:-2px}}
/* 22 Sep: five menu links; footer carries FAQs and Find us */
.primary-nav{gap:clamp(16px,1.6vw,26px);font-size:clamp(.7rem,.9vw,.78rem)}
/* 22 Sep: menu text sized to the logo and button; gym cards fill their photo so every caption sits at the bottom */
.primary-nav{font-size:clamp(.78rem,.95vw,.96rem);gap:clamp(16px,1.5vw,28px)}
@media (min-width:1101px){.gym.section-pad .gym-showcase>.gym-card>img{flex:1 1 auto;height:auto;min-height:150px;aspect-ratio:auto;object-fit:cover}}
/* 22 Sep: menu link size pinned at the link level, close to the button's size; gym captions equal height so their tops align */
@media (min-width:1101px){
  html[data-text] .site-header .primary-nav>a,.site-header .nav-wrap .primary-nav>a{font-size:clamp(.82rem,1vw,.95rem);padding:12px 0}
  html[data-text] .site-header .primary-nav,.site-header .nav-wrap .primary-nav{gap:clamp(16px,1.5vw,28px)}
  .gym.section-pad .gym-showcase>.gym-card>div,.gym.section-pad .gym-showcase>.gym-room-card>div{min-height:92px}
}
@media (min-width:1101px){html[data-text] .site-header .primary-nav>a,.site-header .nav-wrap .primary-nav>a{font-size:clamp(.82rem,1vw,.9rem)}}
/* 23 Sep: Georgie's second-pass comments (#53-56) */
/* The landscape is position:absolute at the card's foot, so the card's own bottom padding is what makes room for the saying below the Next button. */
.quiz-card:not([data-step="0"]):not(.result){padding-bottom:215px}
.quiz-card:not([data-step="0"]):not(.result) .quiz-landscape>p{bottom:calc(100% + 6px)!important;right:12px!important;text-align:right;transform:rotate(-3deg)}
@media (max-width:760px){.quiz-card:not([data-step="0"]):not(.result){padding-bottom:185px}}

/* 23 Sep: quiz result, "Still have questions?" was jammed under the second button (Dan) */
.quiz-card.result .result-more{margin-top:44px;padding-top:32px;border-top:1px solid rgba(7,87,73,.16)}
.quiz-card.result .result-more h3{margin:0 0 12px}
.quiz-card.result .result-more>p{margin:0 0 22px}
.quiz-card.result .result-more .quiz-benefits{margin:0 0 8px}
.quiz-card.result .result-more+.quiz-navigation{margin-top:40px}
@media (max-width:760px){.quiz-card.result .result-more{margin-top:36px;padding-top:26px}}

/* 23 Sep: the free guide, offered on the quiz result for an email, delivered on guide-thanks */
.guide-offer{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:start;background:var(--surface);border:1.5px solid var(--border);border-radius:22px;padding:20px 22px;margin:26px 0 6px;position:relative;z-index:3}
.guide-offer img{width:96px;height:auto;border-radius:8px;box-shadow:var(--shadow);border:1px solid var(--border)}
.guide-offer h3{margin:0 0 6px}
.guide-offer p{margin:0 0 12px}
.guide-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.guide-form label,.guide-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.guide-form input[type=email]{flex:1 1 200px;min-height:48px;border:1.5px solid var(--border);border-radius:99px;padding:10px 18px;font:inherit;background:var(--surface);color:var(--ink)}
.guide-form input[type=email]:focus{outline:3px solid var(--sun);outline-offset:2px}
.guide-form .btn{flex:0 0 auto}
.guide-offer .quiz-note{margin:10px 0 0}
@media (max-width:600px){.guide-offer{grid-template-columns:1fr}.guide-offer img{width:84px}.guide-form .btn{width:100%}}
.guide-thanks .dual-cta{margin:18px 0 22px}

/* 24 Sep: Sort The Clicks credit band under the footer (Georgie asked for the promotion) */
.stc-band{background:var(--ink);color:var(--cream);border-top:1px solid rgba(255,255,255,.14);padding:22px 0 26px;font-size:.86rem;line-height:1.55}
.stc-band p{margin:0;max-width:760px;opacity:.88}
.stc-band strong{color:inherit;font-family:'Nunito',sans-serif;font-weight:800}
.stc-band a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.45)}
.stc-band a:hover,.stc-band a:focus-visible{text-decoration-color:currentColor;opacity:1}
@media (max-width:760px){.stc-band{text-align:center;padding:20px 0 24px}}

