:root{--ink:#171914;--deep:#141611;--paper:#f4f2eb;--white:#fff;--lime:#c9f15b;--sage:#dce4d0;--muted:#777b70;--line:rgba(255,255,255,.18);--dark-line:rgba(23,25,20,.16);--sans:'DM Sans',Arial,sans-serif;--display:'Manrope','DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}a{color:inherit;text-decoration:none}.skip-link{position:absolute;top:-100px;left:18px;z-index:30;padding:12px 16px;background:var(--lime);color:var(--ink)}.skip-link:focus{top:18px}.site-header{height:82px;padding:0 6.2vw;display:flex;align-items:center;justify-content:space-between;background:var(--deep);color:var(--white);position:relative;z-index:5}.brand{display:inline-flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:29px;height:29px;border:2px solid var(--lime);border-radius:50%;font-family:var(--display);font-size:17px;font-weight:700;color:var(--lime);line-height:1}.brand-name{font-family:var(--display);font-size:21px;font-weight:800;letter-spacing:-1.5px}.brand-name span{color:var(--lime)}.nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:600}.nav a:not(.nav-cta){color:#d1d3cd;transition:color .2s}.nav a:hover{color:var(--lime)}.nav-cta{border:1px solid rgba(201,241,91,.7);padding:12px 17px;color:var(--lime);border-radius:2px}.nav-cta span{margin-left:12px}.menu-toggle{display:none}.section-pad{padding-left:9.5vw;padding-right:9.5vw}.eyebrow{display:flex;align-items:center;gap:11px;font-size:10px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#c7c9c0}.eyebrow-line{display:block;width:27px;height:2px;background:var(--lime)}.eyebrow-dark{color:#65695f}.eyebrow-dark .eyebrow-line{background:#8ba83d}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em;color:var(--lime)}.button{min-height:51px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-size:11px;font-weight:700;letter-spacing:.03em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-lime{background:var(--lime);color:var(--deep)}.button-lime:hover{background:#dcff8b}.button-dark{background:var(--deep);color:var(--white)}.button-dark:hover{background:#34382d}.button span{font-size:15px}.text-link{font-size:11px;font-weight:600;color:#e3e4dd;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:5px}.text-link span{padding-left:7px}.text-link-dark{color:var(--ink);border-color:#85897e}.hero{min-height:670px;position:relative;overflow:hidden;padding:76px 6.2vw 59px;background:var(--deep);color:var(--white);display:grid;grid-template-columns:1fr .88fr;align-items:center;gap:5vw}.hero-copy{position:relative;z-index:1;max-width:610px;padding-bottom:28px}.hero h1,.welcome h2,.section-heading h2,.method h2,.story h2,.program-copy h2,.closing h2{font-family:var(--display);font-weight:600;letter-spacing:-.067em;line-height:.98;margin:23px 0}.hero h1{font-size:clamp(60px,8.2vw,112px)}.hero-text{max-width:445px;margin:25px 0 0;color:#c5c8bd;font-size:15px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:29px}.hero-note{margin-top:37px;font-size:10px;letter-spacing:.03em;color:#a7aa9f;display:flex;align-items:center;gap:10px}.note-dot{width:6px;height:6px;border-radius:50%;background:var(--lime)}.hero-signature{margin-top:39px;padding-top:17px;border-top:1px solid var(--line);font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.06em}.hero-signature span{font-family:var(--sans);font-size:10px;font-weight:500;color:#9ca094}.hero-photo{height:min(68vh,610px);min-height:460px;position:relative;overflow:hidden;background:#242720}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,12,9,.55),transparent 40%)}.hero-photo img{object-position:50% 40%;filter:saturate(.83)}.hero-photo figcaption,.welcome-photo figcaption,.story-photo figcaption,.gallery-tall figcaption,.program-photo figcaption{position:absolute;z-index:1;left:20px;bottom:19px;color:white;font-family:Georgia,serif;font-size:17px;font-style:italic;text-shadow:0 1px 8px rgba(0,0,0,.45)}.hero-bottom{position:absolute;bottom:0;left:6.2vw;right:6.2vw;height:49px;border-top:1px solid var(--line);display:flex;align-items:center;gap:18px;font-size:9px;letter-spacing:.18em;color:#a6a99f}.bottom-dash{height:1px;width:30px;background:var(--lime);opacity:.7}.welcome{padding-top:112px;padding-bottom:112px;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:9vw;background:var(--paper)}.welcome-copy{max-width:480px}.welcome h2,.section-heading h2,.method h2,.story h2,.closing h2{font-size:clamp(43px,6vw,76px)}.welcome h2 em,.method h2 em,.story h2 em{color:#819d38}.welcome-copy>p:not(.eyebrow){max-width:440px;font-size:14px;line-height:1.85;color:#62665c}.welcome-copy .text-link{display:inline-block;margin-top:14px}.welcome-photo{height:510px;position:relative;background:#d8d5cc}.welcome-photo img{object-position:52% center}.welcome-photo:after,.story-photo:after,.program-photo:after,.gallery-tall:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(12,14,10,.5),transparent);pointer-events:none}.training{padding-top:99px;padding-bottom:112px;background:#1a1d17;color:var(--white)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:43px}.section-heading h2{margin-bottom:0}.section-heading h2 em{color:var(--lime)}.section-heading>p{max-width:340px;color:#b2b5aa;margin:0 0 5px;font-size:13px;line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{position:relative;min-height:298px;padding:29px 27px 25px;background:#22251f;border:1px solid rgba(255,255,255,.09);display:flex;flex-direction:column;align-items:flex-start;transition:transform .25s,border-color .25s}.service-card:hover{transform:translateY(-4px);border-color:rgba(201,241,91,.55)}.service-featured{background:var(--lime);color:var(--deep)}.service-number{position:absolute;right:22px;top:21px;font-size:10px;letter-spacing:.08em;color:#a3a79a}.service-featured .service-number{color:#53652c}.service-kicker{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--lime);margin:22px 0 15px}.service-featured .service-kicker{color:#53652c}.service-card h3{font-family:var(--display);font-size:22px;letter-spacing:-.05em;line-height:1.15;margin:0 0 12px;max-width:260px}.service-card p{font-size:12px;line-height:1.75;color:#b7baaf;margin:0;max-width:290px}.service-featured p{color:#424a32}.card-link{margin-top:auto;padding-top:22px;font-size:10px;font-weight:700;letter-spacing:.025em;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:6px}.service-featured .card-link{border-color:#687e34}.card-link span{padding-left:9px}.method{padding-top:108px;padding-bottom:108px;background:var(--sage);display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.method-intro{max-width:440px}.method-intro>p:not(.eyebrow){font-size:14px;line-height:1.85;color:#51574b}.method-list article{display:grid;grid-template-columns:41px 1fr;gap:20px;padding:22px 0;border-top:1px solid rgba(23,25,20,.2)}.method-list article:last-child{border-bottom:1px solid rgba(23,25,20,.2)}.method-list article>span{font-size:10px;letter-spacing:.1em;color:#6f8439;padding-top:5px}.method-list h3{font-family:var(--display);font-size:19px;letter-spacing:-.035em;margin:0 0 8px}.method-list p{font-size:12px;line-height:1.75;color:#565b51;margin:0;max-width:430px}.training-gallery{height:415px;display:grid;grid-template-columns:1.25fr .8fr .8fr;gap:5px;background:var(--deep);overflow:hidden}.training-gallery figure{height:100%;position:relative;overflow:hidden;background:#252820}.training-gallery img{transition:transform .6s;filter:saturate(.82)}.training-gallery figure:hover img{transform:scale(1.035)}.gallery-tall:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(0deg,rgba(8,10,8,.55),transparent)}.gallery-tall figcaption{font-size:19px}.story{padding-top:118px;padding-bottom:120px;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:center;background:#fbfaf5}.story-photo{height:620px;position:relative;overflow:hidden;background:#232720}.story-photo img{object-position:50% 42%;filter:saturate(.78)}.story-copy{max-width:630px}.story h2{margin:22px 0}.story-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;color:#62665c}.credentials{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.credentials span{padding:9px 11px;border:1px solid #c5c9ba;border-radius:20px;font-size:9px;letter-spacing:.03em;color:#494e43}.results{padding-top:104px;padding-bottom:110px;background:#1a1d17;color:var(--white)}.results-heading{margin-bottom:38px}.results-heading>p{color:#b7baaf}.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.result-card{height:430px;position:relative;overflow:hidden;background:#242720}.result-card:after{content:"";position:absolute;inset:46% 0 0;background:linear-gradient(0deg,rgba(8,10,8,.8),transparent)}.result-card img{transition:transform .5s;filter:saturate(.78)}.result-card:hover img{transform:scale(1.02)}.result-self img{object-position:50% 40%}.result-client img{object-position:50% 47%}.result-card figcaption{position:absolute;z-index:1;left:24px;right:24px;bottom:22px;display:flex;justify-content:space-between;align-items:end;gap:12px}.result-card figcaption span{font-family:var(--display);font-size:17px;font-weight:600}.result-card figcaption small{font-size:10px;color:#d4d6cf}.programs{padding-top:94px;padding-bottom:94px;background:#c9f15b;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:8vw}.program-copy{max-width:600px}.program-copy .eyebrow{color:#46552c}.program-copy .eyebrow-line{background:#46552c}.program-copy h2{font-size:clamp(42px,5.7vw,69px);margin:23px 0}.program-copy h2 em{color:#42551d}.program-copy>p:not(.eyebrow){max-width:500px;font-size:13px;line-height:1.85;color:#3b452d;margin-bottom:27px}.program-photo{height:420px;position:relative;overflow:hidden;background:#47523a}.program-photo img{object-position:center 44%;filter:saturate(.8)}.closing{background:var(--deep);color:var(--white);padding-top:93px;padding-bottom:100px;text-align:center}.closing .eyebrow{justify-content:center}.closing h2{font-size:clamp(48px,7vw,86px);margin:24px 0 18px}.closing h2 em{color:var(--lime)}.closing>p:not(.eyebrow){color:#b5b8ac;font-size:13px;margin:0 auto 27px;line-height:1.75}.site-footer{padding:27px 6.2vw;background:#0c0e0b;color:#dedfd9;display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:14px}.brand-footer .brand-name{font-size:18px}.brand-footer .brand-mark{width:25px;height:25px;font-size:14px}.site-footer>p{font-size:10px;color:#9da095;letter-spacing:.04em}.footer-right{display:flex;gap:18px;font-size:10px;color:#c5c7be}.footer-right a:first-child{color:var(--lime)}.site-footer small{grid-column:1/-1;font-size:9px;color:#797d71;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}
@media(max-width:900px){.section-pad{padding-left:7vw;padding-right:7vw}.site-header{padding:0 5vw}.hero{padding-left:5vw;padding-right:5vw;grid-template-columns:1fr .9fr;gap:3vw;min-height:620px}.hero h1{font-size:clamp(57px,8.6vw,85px)}.hero-photo{height:510px;min-height:400px}.nav{gap:18px;font-size:11px}.welcome{gap:6vw}.welcome-photo{height:440px}.service-card{padding:25px 20px;min-height:320px}.method{gap:6vw}.story{gap:6vw}.story-photo{height:550px}.result-card{height:350px}.program-photo{height:360px}}
@media(max-width:650px){html{scroll-padding-top:68px}.site-header{height:68px;padding:0 22px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:10px;cursor:pointer}.menu-toggle span{width:23px;height:1px;background:var(--lime)}.nav{display:none;position:absolute;left:0;right:0;top:68px;padding:17px 22px 23px;background:var(--deep);border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav a:not(.nav-cta){padding:14px 0;border-bottom:1px solid var(--line)}.nav-cta{margin-top:16px;text-align:center}.section-pad{padding-left:22px;padding-right:22px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:31px;min-height:auto;padding:59px 22px 64px}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(60px,15vw,88px);margin-top:21px}.hero-text{font-size:14px;max-width:420px}.hero-actions{gap:18px;flex-wrap:wrap}.hero-note{margin-top:26px;line-height:1.6}.hero-signature{margin-top:25px}.hero-photo{height:440px;min-height:0}.hero-photo img{object-position:50% 36%}.hero-bottom{left:22px;right:22px;height:43px;font-size:8px;gap:10px;letter-spacing:.13em}.bottom-dash{width:14px}.welcome{padding-top:75px;padding-bottom:78px;display:flex;flex-direction:column;align-items:stretch;gap:31px}.welcome h2,.section-heading h2,.method h2,.story h2{font-size:clamp(42px,11vw,62px)}.welcome-copy>p:not(.eyebrow){font-size:13px}.welcome-photo{height:390px}.training{padding-top:76px;padding-bottom:80px}.section-heading{display:block;margin-bottom:29px}.section-heading>p{margin-top:18px;font-size:13px}.service-grid{grid-template-columns:1fr;gap:11px}.service-card{min-height:258px;padding:24px}.method{padding-top:75px;padding-bottom:78px;display:block}.method-intro{margin-bottom:28px}.method-intro>p:not(.eyebrow){font-size:13px}.method-list article{grid-template-columns:30px 1fr;gap:14px;padding:19px 0}.training-gallery{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:330px 190px}.training-gallery .gallery-tall{grid-column:1/-1}.training-gallery figure:not(.gallery-tall):last-child{display:none}.training-gallery figcaption{font-size:17px}.story{padding-top:78px;padding-bottom:82px;display:flex;flex-direction:column;align-items:stretch;gap:31px}.story-photo{height:460px;order:2}.story-copy{order:1}.story-copy>p:not(.eyebrow){font-size:13px}.credentials{gap:6px}.credentials span{font-size:8px;padding:8px 9px}.results{padding-top:75px;padding-bottom:79px}.results-grid{grid-template-columns:1fr;gap:11px}.result-card{height:340px}.result-card figcaption{left:17px;right:17px;bottom:16px}.result-card figcaption span{font-size:15px}.result-card figcaption small{font-size:9px}.programs{padding-top:75px;padding-bottom:77px;display:flex;flex-direction:column;align-items:stretch;gap:30px}.program-copy h2{font-size:clamp(43px,11vw,63px)}.program-copy>p:not(.eyebrow){font-size:13px}.program-photo{height:350px}.closing{padding-top:76px;padding-bottom:82px}.closing h2{font-size:clamp(48px,12vw,70px)}.closing>p:not(.eyebrow){max-width:360px}.site-footer{padding:25px 22px 18px;grid-template-columns:1fr auto;gap:8px}.site-footer>p{grid-column:1/-1;grid-row:2;margin:4px 0}.footer-right{grid-column:2;grid-row:1;flex-direction:column;gap:8px;text-align:right}.site-footer small{margin-top:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Keep Osi's full body visible and center the story caption. */
.story-photo-full img{object-position:50% 42%}
.story-photo-full figcaption{left:50%;right:auto;width:max-content;max-width:calc(100% - 40px);text-align:center;transform:translateX(-50%)}
.story-photo-centered figcaption{left:50%;right:auto;width:max-content;max-width:calc(100% - 40px);text-align:center;transform:translateX(-50%)}
@media(max-width:650px){.story-photo-full{height:650px}.story-photo-full img{object-position:50% 42%}}

/* Paige Hathaway inspired: light, editorial, and restrained. */
:root{--ink:#303b43;--deep:#fff;--paper:#fff;--white:#303b43;--lime:#57b7b3;--sage:#f2f7f6;--muted:#68757b;--line:rgba(48,59,67,.15);--dark-line:rgba(48,59,67,.14)}
body{background:#fff;color:#303b43}
.site-header{background:#fff;color:#303b43;border-bottom:1px solid #edf0ef}
.brand-mark{border-color:#57b7b3;color:#57b7b3}
.brand-name span{color:#57b7b3}
.nav a:not(.nav-cta){color:#505e65}
.nav a:hover{color:#329b98}
.nav-cta{border-color:#57b7b3;color:#348f8c;border-radius:24px}
.menu-toggle span{background:#439f9c}
.eyebrow{color:#65747a}
.eyebrow-line{background:#57b7b3}
.eyebrow-dark{color:#65747a}
.eyebrow-dark .eyebrow-line{background:#57b7b3}
em,.welcome h2 em,.method h2 em,.story h2 em{color:#3caaa6}
.button-lime{background:#57b7b3;color:#fff;border-radius:28px}
.button-lime:hover{background:#399d99}
.button-dark{background:#57b7b3;color:#fff;border-radius:28px}
.button-dark:hover{background:#399d99}
.text-link{color:#3b7778;border-color:#9acbc8}
.text-link-dark{color:#3b7778;border-color:#9acbc8}
.hero{background:#fff;color:#303b43;grid-template-columns:.95fr 1fr;gap:7vw;min-height:680px;padding-top:68px;padding-bottom:78px}
.hero-photo{order:-1;height:min(72vh,630px);min-height:480px;background:#edf3f2}
.hero-photo:after{display:none}
.hero-photo img{filter:none}
.hero h1{font-size:clamp(58px,7.3vw,98px)}
.hero-text{color:#66747a}
.hero-note{color:#68767c}
.note-dot{background:#57b7b3}
.hero-signature{border-color:#e3e9e8}
.hero-signature span{color:#68767c}
.hero-bottom{border-color:#e3e9e8;color:#718086}
.bottom-dash{background:#57b7b3}
.welcome{background:#fff}
.welcome-copy>p:not(.eyebrow){color:#657178}
.welcome-photo{background:#edf3f2}
.welcome-photo:after,.story-photo:after,.program-photo:after,.gallery-tall:after{opacity:.25}
.training{background:#fff;color:#303b43}
.section-heading h2 em{color:#3caaa6}
.section-heading>p{color:#657178}
.service-card,.service-featured{background:#fff;color:#303b43;border:1px solid #e1e9e8;border-radius:3px}
.service-card:hover{border-color:#88c9c6;box-shadow:0 8px 26px rgba(31,71,74,.07)}
.service-number{color:#829095}
.service-featured .service-number{color:#648b89}
.service-kicker,.service-featured .service-kicker{color:#408f8d}
.service-card p,.service-featured p{color:#657178}
.card-link{border-color:#abd3d1}
.service-featured .card-link{border-color:#abd3d1}
.method{background:#f2f7f6}
.method-intro>p:not(.eyebrow){color:#5f6d72}
.method-list article{border-color:#dce7e6}
.method-list article:last-child{border-color:#dce7e6}
.method-list article>span{color:#409d99}
.method-list p{color:#647176}
.training-gallery{background:#fff;gap:8px}
.training-gallery figure{background:#eef3f2}
.training-gallery img{filter:none}
.story{background:#fff}
.story-copy>p:not(.eyebrow){color:#657178}
.credentials span{border-color:#d5e1e0;color:#526268}
.results{background:#fff;color:#303b43}
.results-heading>p{color:#657178}
.result-card{background:#f2f5f4;border-radius:3px}
.result-card img{filter:none}
.result-card:after{inset:55% 0 0;background:linear-gradient(0deg,rgba(20,33,36,.68),transparent)}
.programs{background:#f2f7f6}
.program-copy .eyebrow{color:#65747a}
.program-copy .eyebrow-line{background:#57b7b3}
.program-copy h2 em{color:#3caaa6}
.program-copy>p:not(.eyebrow){color:#5f6d72}
.program-photo{background:#e6eeee}
.program-photo img{filter:none}
.closing{background:#fff;color:#303b43;border-top:1px solid #edf1f0}
.closing h2 em{color:#3caaa6}
.closing>p:not(.eyebrow){color:#657178}
.site-footer{background:#f6f8f7;color:#46545a;border-top:1px solid #e7eeed}
.site-footer>p{color:#6f7c81}
.footer-right{color:#526167}
.footer-right a:first-child{color:#368e8b}
.site-footer small{color:#7d888c;border-color:#e2e9e8}
@media(max-width:650px){
  .nav{background:#fff;border-color:#edf0ef}
  .nav a:not(.nav-cta){border-color:#edf0ef;color:#505e65}
  .hero{padding-top:38px;padding-bottom:63px;gap:27px}
  .hero-photo{order:-1;height:390px;min-height:0}
  .hero-bottom{color:#718086}
}

/* Use OsiFit's logo in the site header and footer. */
.brand{gap:0}
.brand-logo{display:block;width:clamp(130px,13vw,158px);height:auto;max-height:54px;object-fit:contain;object-position:left center}
.brand-footer .brand-logo{width:146px;max-height:50px}
@media(max-width:650px){.brand-logo{width:132px;max-height:45px}.brand-footer .brand-logo{width:126px;max-height:43px}}

/* Soft rose replaces the teal accent while keeping text readable on white. */
:root{--lime:#5D9B83}
.brand-mark{border-color:#5D9B83;color:#477862}
.brand-name span,.nav a:hover,.footer-right a:first-child{color:#477862}
.nav-cta{border-color:#a6c3b4;color:#477862}
.menu-toggle span,.eyebrow-line,.eyebrow-dark .eyebrow-line,.bottom-dash,.program-copy .eyebrow-line{background:#5D9B83}
em,.welcome h2 em,.method h2 em,.story h2 em,.section-heading h2 em,.program-copy h2 em,.closing h2 em{color:#5D9B83}
.button-lime,.button-dark{background:#5D9B83;color:#ffffff}
.button-lime:hover,.button-dark:hover{background:#dfa1b8}
.text-link,.text-link-dark{color:#477862;border-color:#a6c3b4}
.service-kicker,.service-featured .service-kicker,.method-list article>span{color:#477862}
.nav-cta:hover{color:#3f6f5b}
.midlife{background:#fff;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:7vw;padding-top:105px;padding-bottom:105px}
.midlife-copy{max-width:590px}
.midlife-copy h2{font-family:var(--display);font-size:clamp(43px,5.6vw,72px);font-weight:600;letter-spacing:-.067em;line-height:.98;margin:23px 0}
.midlife-copy h2 em{color:#5D9B83}
.midlife-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#657178}
.midlife-copy .text-link{display:inline-flex;margin-top:13px}
.midlife-photo{height:530px;position:relative;background:#f6f9f7;border:1px solid #dce8e0}
.midlife-photo img{object-fit:contain}
.midlife-photo figcaption{position:absolute;left:15px;right:15px;bottom:13px;text-align:center;font-family:var(--sans);font-size:10px;letter-spacing:.06em;color:#466654;background:rgba(255,255,255,.9);padding:10px}
.credential-block{margin-top:27px;padding:20px 21px;background:#f6f9f7;border:1px solid #dce8e0}
.credential-block h3{margin:0 0 13px;font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:-.02em;color:#3e3a3d}
.credential-credit{margin:0 0 12px;color:#477862;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.credentials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.credentials span{display:flex;align-items:center;min-height:43px;padding:9px 11px;border:1px solid #dce8e0;border-radius:2px;background:#fff;color:#70505e;font-size:9px;line-height:1.45;font-weight:600}
.credentials .nasm-cert{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
.nasm-cert small{font-size:8px;line-height:1;text-transform:uppercase;letter-spacing:.09em;color:#5D9B83;font-weight:700}
.glute-specialty{background:#fff;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:7vw;padding-top:96px;padding-bottom:96px}
.glute-copy{max-width:600px}
.glute-copy h2{font-family:var(--display);font-size:clamp(43px,5.6vw,72px);font-weight:600;letter-spacing:-.067em;line-height:.98;margin:23px 0}
.glute-copy h2 em{color:#5D9B83}
.glute-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#657178}
.glute-copy .button{display:inline-flex;margin-top:13px}
.glute-copy .text-link{display:flex;width:max-content;margin-top:16px}
.glute-media{display:grid;max-width:800px;gap:12px;margin:36px auto 0}
.glute-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.glute-gallery-card{position:relative;aspect-ratio:3/4;min-width:0;overflow:hidden;background:#f6f9f7;border:1px solid #dce8e0}
.glute-gallery-card img{width:100%;height:100%;object-fit:cover}
.glute-gallery-card figcaption{position:absolute;left:10px;right:10px;bottom:10px;text-align:center;font-size:10px;color:#70505e;background:rgba(255,255,255,.92);padding:8px}
.glute-specialty{display:block}
.glute-copy{max-width:800px;margin:0 auto}
.training-gallery{grid-template-columns:1fr 1fr}
.results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.result-card{height:390px}
@media(max-width:900px){.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-card{height:350px}}
@media(max-width:650px){.results-grid{grid-template-columns:1fr}.result-card{height:340px}.midlife{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding-top:78px;padding-bottom:80px}.midlife-copy h2{font-size:clamp(43px,11vw,62px)}.midlife-photo{height:390px;width:100%}.credentials{grid-template-columns:1fr}.credential-block{padding:17px}.glute-specialty{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding-top:78px;padding-bottom:80px}.glute-copy h2{font-size:clamp(43px,11vw,62px)}.glute-copy .text-link{max-width:100%;white-space:normal}.glute-media{width:100%;margin-top:0}.glute-gallery{gap:10px}.glute-gallery-card figcaption{font-size:9px;left:6px;right:6px;bottom:6px;padding:6px}.training-gallery{height:280px;grid-template-columns:1fr 1fr;grid-template-rows:1fr}}

/* Readability pass: keep supporting copy comfortably legible without zooming. */
.nav{font-size:14px}
.eyebrow{font-size:12px}
.button{font-size:14px}
.text-link{font-size:14px}
.hero-text{font-size:17px}
.hero-note{font-size:12px}
.hero-signature{font-size:14px}
.hero-signature span{font-size:12px}
.hero-photo figcaption,.welcome-photo figcaption,.story-photo figcaption,.gallery-tall figcaption,.program-photo figcaption{font-size:18px}
.hero-bottom{font-size:11px}
.welcome-copy>p:not(.eyebrow),.method-intro>p:not(.eyebrow),.story-copy>p:not(.eyebrow),.midlife-copy>p:not(.eyebrow),.glute-copy>p:not(.eyebrow),.program-copy>p:not(.eyebrow),.closing>p:not(.eyebrow){font-size:16px}
.section-heading>p{font-size:15px}
.service-card p{font-size:15px}
.card-link{font-size:13px}
.service-kicker{font-size:11px}
.method-list article>span{font-size:12px}
.method-list p{font-size:15px}
.credentials span{font-size:12px}
.credential-block h3{font-size:17px}
.credential-credit{font-size:12px}
.nasm-cert small{font-size:10px}

.result-card figcaption span{font-size:19px}
.result-card figcaption small{font-size:12px}
.site-footer>p,.footer-right{font-size:13px}
.site-footer small{font-size:12px}
@media(max-width:900px){.nav{font-size:13px}}
@media(max-width:650px){
  .nav{font-size:15px}
  .hero-text{font-size:16px}
  .hero-note{font-size:13px}
  .hero-bottom{font-size:10px}
  .welcome-copy>p:not(.eyebrow),.method-intro>p:not(.eyebrow),.story-copy>p:not(.eyebrow),.midlife-copy>p:not(.eyebrow),.glute-copy>p:not(.eyebrow),.program-copy>p:not(.eyebrow),.closing>p:not(.eyebrow){font-size:16px}
  .section-heading>p{font-size:15px}
  .service-card p,.method-list p{font-size:15px}
  .credentials span{font-size:13px}
  .nasm-cert small{font-size:11px}
  .result-card figcaption span{font-size:18px}
  .result-card figcaption small{font-size:12px}
  .footer-right,.site-footer>p{font-size:13px}
}

/* Make the NASM source clear on every certification. */
.credentials .nasm-cert{min-height:58px;gap:5px}
.nasm-cert small{font-size:13px;line-height:1.2;letter-spacing:.04em;text-transform:none;color:#3f6f5b}
@media(max-width:650px){.nasm-cert small{font-size:13px}}

/* Raise the remaining small labels and captions for easier reading. */
.eyebrow{font-size:14px}
.button,.text-link,.card-link{font-size:15px}
.hero-note,.hero-signature span,.hero-bottom{font-size:14px}
.service-number,.service-kicker,.method-list article>span{font-size:13px}
.credential-credit,.credentials span,.nasm-cert small{font-size:14px}

.result-card figcaption small{font-size:14px}
.site-footer>p,.footer-right,.site-footer small{font-size:14px}
@media(max-width:650px){
  .eyebrow,.hero-note,.hero-signature span,.hero-bottom{font-size:14px}
  .button,.text-link,.card-link{font-size:15px}
  .credentials span,.credential-credit,.nasm-cert small{font-size:14px}
  
  .result-card figcaption small{font-size:14px}
  .site-footer>p,.footer-right,.site-footer small{font-size:14px}
}


/* Make the glute program schedule easy to spot. */
.glute-plan-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0;padding:16px 18px;background:#f6f9f7;border:1px solid #dce8e0}
.glute-plan-summary div{display:flex;flex-direction:column;gap:5px}
.glute-plan-summary dt{font-size:14px;font-weight:600;color:#875266}
.glute-plan-summary dd{margin:0;font-size:19px;font-weight:700;line-height:1.3;color:#303b43}

/* A small site-wide type increase for comfortable reading. */
body{font-size:17px}
.nav{font-size:15px}
.eyebrow{font-size:15px}
.button,.text-link,.card-link{font-size:16px}
.hero-text,.welcome-copy>p:not(.eyebrow),.method-intro>p:not(.eyebrow),.story-copy>p:not(.eyebrow),.midlife-copy>p:not(.eyebrow),.glute-copy>p:not(.eyebrow),.program-copy>p:not(.eyebrow),.closing>p:not(.eyebrow){font-size:17px}
.hero-note,.hero-signature span,.hero-bottom{font-size:15px}
.section-heading>p,.service-card p,.method-list p{font-size:16px}
.service-number,.service-kicker,.method-list article>span{font-size:14px}
.glute-gallery-card figcaption{font-size:15px;padding:10px}
.credentials span,.credential-credit,.nasm-cert small{font-size:15px}
.result-card figcaption span{font-size:20px}
.result-card figcaption small,.site-footer>p,.footer-right,.site-footer small{font-size:15px}
@media(max-width:900px){.nav{font-size:14px}}
@media(max-width:650px){
  .nav{font-size:16px}
  .hero-text,.welcome-copy>p:not(.eyebrow),.method-intro>p:not(.eyebrow),.story-copy>p:not(.eyebrow),.midlife-copy>p:not(.eyebrow),.glute-copy>p:not(.eyebrow),.program-copy>p:not(.eyebrow),.closing>p:not(.eyebrow){font-size:17px}
  .section-heading>p,.service-card p,.method-list p{font-size:16px}
  .credentials span,.credential-credit,.nasm-cert small{font-size:15px}
  .glute-plan-summary{gap:10px;padding:14px 13px}
  .glute-plan-summary dt{font-size:13px}
  .glute-plan-summary dd{font-size:17px}
  .glute-gallery-card figcaption{font-size:14px;left:6px;right:6px;bottom:6px;padding:7px}
  .result-card figcaption span{font-size:19px}
  .result-card figcaption small,.footer-right,.site-footer>p{font-size:15px}
}

/* White and soft sage brand treatment selected for OsiFit. */
:root{--ink:#303b43;--deep:#fff;--paper:#fff;--white:#303b43;--lime:#5D9B83;--sage:#fff;--line:rgba(48,59,67,.14);--dark-line:rgba(48,59,67,.14)}
body{background:#fff;color:#303b43}
.site-header,.hero,.welcome,.training,.method,.story,.midlife,.glute-specialty,.results,.programs,.closing,.site-footer{background:#fff;color:#303b43}
.site-header,.site-footer{border-color:#e2e9e6}
.brand-mark{border-color:#5D9B83;color:#5D9B83}
.brand-name span{color:#5D9B83}
.nav a:not(.nav-cta){color:#505e65}
.nav a:hover{color:#477862}
.nav-cta{border-color:#5D9B83;color:#477862}
.menu-toggle span,.eyebrow-line,.eyebrow-dark .eyebrow-line,.bottom-dash,.note-dot{background:#5D9B83}
.eyebrow-dark,.hero-note,.hero-text,.hero-signature span,.hero-bottom,.welcome-copy>p:not(.eyebrow),.section-heading>p,.service-card p,.method-intro>p:not(.eyebrow),.method-list p,.story-copy>p:not(.eyebrow),.midlife-copy>p:not(.eyebrow),.glute-copy>p:not(.eyebrow),.program-copy>p:not(.eyebrow),.closing>p:not(.eyebrow){color:#657178}
.hero-signature,.hero-bottom{border-color:#e2e9e6}
em,.welcome h2 em,.method h2 em,.story h2 em,.section-heading h2 em,.program-copy h2 em,.closing h2 em,.midlife-copy h2 em,.glute-copy h2 em{color:#5D9B83}
.welcome h2{color:#5D9B83}
.button-lime,.button-dark{background:#5D9B83;color:#fff}
.button-lime:hover,.button-dark:hover{background:#477862}
.text-link-dark{color:#477862;border-color:#a6c3b4}
.training{color:#303b43}
.service-card,.service-featured{background:#fff;color:#303b43;border:1px solid #e1e9e6}
.service-card:hover{border-color:#9bbca9;box-shadow:0 8px 26px rgba(31,71,54,.07)}
.service-number,.service-featured .service-number{color:#477862}
.service-kicker,.service-featured .service-kicker,.method-list article>span{color:#477862}
.method-list article,.method-list article:last-child{border-color:rgba(48,59,67,.18)}
.credential-block{background:#f6f9f7;border-color:#dce8e0}
.credential-block h3{color:#303b43}
.credential-credit,.nasm-cert small{color:#477862}
.credentials span{border-color:#dce8e0;color:#466654}
.midlife-photo,.glute-gallery-card{background:#f6f9f7;border-color:#e1e9e6}
.midlife-photo figcaption,.glute-gallery-card figcaption{color:#466654}
.glute-plan-summary{background:#f6f9f7;border-color:#dce8e0}
.glute-plan-summary dt{color:#477862}
.results{color:#303b43}
.programs{background:#fff}
.site-footer{color:#303b43}
.site-footer>p,.footer-right,.site-footer small{color:#657178}
.site-footer small{border-color:#e2e9e6}
.welcome .eyebrow-dark .eyebrow-line{background:#5D9B83}

/* Keep all remaining accent text and links in the selected sage palette. */
.text-link,.text-link-dark{color:#477862;border-color:#a6c3b4}
.footer-right a:first-child{color:#477862}

/* Center and enlarge the OsiFit logo, with the desktop navigation beneath it. */
.site-header{
  height:auto;
  min-height:138px;
  padding:14px 6.2vw 12px;
  flex-direction:column;
  justify-content:center;
  gap:13px;
}
.site-header>.brand .brand-logo{
  width:clamp(235px,23vw,300px);
  max-height:88px;
  object-position:center;
}
.site-header>.nav{justify-content:center}

/* Short professional introduction directly beneath the main portrait. */
.hero{grid-template-columns:1fr .88fr;grid-template-rows:auto auto;row-gap:0}
.hero-photo{grid-column:1;grid-row:1}
.hero-credentials{
  grid-column:1;
  grid-row:2;
  margin:0;
  padding:22px 20px 24px;
  border:1px solid #e2e9e6;
  border-top:0;
  color:#303b43;
  font-size:18px;
  font-weight:700;
  line-height:1.55;
}
.hero-copy{grid-column:2;grid-row:1 / span 2}
.eyebrow{justify-content:center;text-align:center}
.hero-philosophy{margin:42px 0 10px;padding:27px 24px;background:#f6f9f7;border-left:4px solid #5D9B83}
.hero-philosophy h2{margin:0 0 18px;font-family:var(--display);font-size:clamp(38px,4.4vw,62px);font-weight:600;letter-spacing:-.06em;line-height:1.02;color:#303b43}
.hero-philosophy h2 em{color:#5D9B83}
.hero-philosophy p{margin:0;color:#657178;font-size:17px;line-height:1.8}
.approach-photo{width:min(100%,500px);aspect-ratio:4/3;margin:28px auto 0;overflow:hidden;background:#f6f9f7}
.approach-photo img{display:block;width:100%;height:100%;object-fit:cover}
.hero-approach-photo{grid-column:1/-1;grid-row:3;height:470px;margin-top:48px;position:relative;overflow:hidden;background:#f6f9f7}
.hero-approach-photo img{object-position:52% center}
.hero-approach-photo:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(0deg,rgba(12,14,10,.34),transparent);pointer-events:none}
.hero-approach-photo figcaption{position:absolute;z-index:1;left:24px;bottom:22px;color:#fff;font-family:Georgia,serif;font-size:18px;font-style:italic;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.hero-photo{height:auto;min-height:0}
.hero-photo img{height:min(72vh,630px);min-height:480px}
.hero-photo figcaption{position:static;left:auto;right:auto;bottom:auto;transform:none;width:100%;max-width:none;padding:14px 18px 16px;background:#f6f9f7;color:#477862;font-size:20px;font-weight:700;line-height:1.2;text-align:center;white-space:normal;text-shadow:none}

@media(max-width:650px){
  html{scroll-padding-top:94px}
  .site-header{
    height:94px;
    min-height:94px;
    padding:0 18px;
    flex-direction:row;
    justify-content:center;
    gap:0;
  }
  .site-header>.brand .brand-logo{width:230px;max-height:78px}
  .site-header>.menu-toggle{position:absolute;right:16px}
  .site-header>.nav{top:94px}
  .hero{display:flex;gap:0;padding-top:32px}
  .hero-photo{order:-2}
  .hero-photo img{height:390px;min-height:0}
  .hero-credentials{
    order:-1;
    margin:0 0 36px;
    padding:18px 16px 20px;
    font-size:17px;
    line-height:1.55;
  }
  .hero-philosophy{margin:36px 0 8px;padding:23px 18px}
  .hero-philosophy h2{font-size:clamp(39px,10.5vw,55px)}
  .hero-philosophy p{font-size:17px}
  .approach-photo{width:90%;max-width:420px;margin-top:24px}
  .hero-approach-photo{order:1;height:390px;margin-top:38px}
}

/* Keep the glute program visually connected to the training options above it. */
.training{padding-bottom:28px}
.glute-specialty{padding-top:28px}
.glute-copy h2{font-weight:700}
@media(max-width:650px){
  .training{padding-bottom:20px}
  .glute-specialty{padding-top:22px}
}
.about-me-link{margin-top:24px;padding:0 30px;border-radius:999px;background:#e6a0b8;color:#33212a;letter-spacing:.06em}.about-me-link:hover{background:#d987a5}
