@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#173c3d;--deep:#103e40;--body:#475b59;--mint:#cde9dc;--green:#6aaa85;--paper:#fafbf8;--line:#d7e1da;--white:#fff;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.7}a{color:inherit;text-underline-offset:5px}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #268b81;outline-offset:5px}.skip{position:absolute;left:15px;top:-100px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}.announcement{background:var(--deep);color:#f6fbf7;text-align:center;font-size:12px;letter-spacing:.13em;padding:8px 20px}.header{background:rgba(250,251,248,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.navwrap{max-width:1360px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:23px 5%;gap:24px}.brand{width:220px;flex-shrink:0}.nav{display:flex;gap:25px;align-items:center}.nav a{text-decoration:none;font-size:14px;font-weight:500}.nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--deep);color:white;text-decoration:none;border:1px solid var(--deep);border-radius:3px;padding:14px 23px;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;gap:18px;transition:background .2s,transform .2s}.btn:hover{background:#25605b;transform:translateY(-2px)}.btn.light{background:var(--mint);border-color:var(--mint);color:var(--ink)}.btn.outline{background:transparent;color:var(--ink)}.textlink{font-size:15px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:5px}.menu{display:none}.wrap{max-width:1220px;margin:auto;padding:0 5%}.hero{position:relative;min-height:640px;display:flex;align-items:center;background:#ececea;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero .wrap{position:relative;width:100%;max-width:1360px;padding-top:65px;padding-bottom:65px}.hero-copy{max-width:560px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px;color:#42695a}.hero h1{font:500 clamp(42px,4.65vw,68px)/1.1 var(--serif);letter-spacing:-.035em;margin:0 0 26px}.hero h1 em,h1 em,h2 em{font-weight:400;color:#397965}.hero p:not(.eyebrow){max-width:435px;color:#344c49;line-height:1.7;margin-bottom:28px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:23px}.micro{font-size:12px;color:#52625c;margin-top:24px!important;letter-spacing:.035em}.trust{padding:23px 5%;border-bottom:1px solid var(--line);display:flex;justify-content:center;align-items:baseline;gap:45px;color:#3d6057;font-size:13px;letter-spacing:.025em}.trust strong{font-family:var(--serif);font-size:25px;color:var(--ink);margin-right:9px;font-weight:500}.section{padding:90px 0}.section.soft{background:#edf3ed}.section.dark{background:var(--deep);color:#fff}.section.dark p{color:#d5e5de}.section.dark .eyebrow{color:#a4d3b8}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.18;letter-spacing:-.025em}h1{font-size:clamp(40px,5vw,64px)}h2{font-size:clamp(32px,3.5vw,46px);margin:0 0 22px}h3{font-size:27px;margin:16px 0}p{margin:0 0 20px;color:var(--body)}.intro{max-width:740px;margin:0 auto 46px;text-align:center}.intro p{max-width:640px;margin-left:auto;margin-right:auto}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.service{border:1px solid var(--line);background:#fff;border-radius:4px;overflow:hidden}.service img{width:100%;height:300px;object-fit:cover}.service:nth-child(1) img{object-position:center 55%}.service:nth-child(2) img{object-position:center top}.service .inside{padding:27px}.service p{font-size:15px;line-height:1.7}.service .num{font-size:12px;letter-spacing:.1em;color:#568370}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split img{width:100%;height:590px;object-fit:cover;border-radius:3px}.split .eyebrow{margin-top:0}.quote{font:400 27px/1.5 var(--serif);margin:27px 0;color:var(--ink)}.list{padding:0;list-style:none;margin:25px 0}.list li{padding:15px 0;border-bottom:1px solid var(--line);color:var(--body)}.list li:before{content:'+';color:#397965;margin-right:15px}.dark .list li{color:#e5eee8;border-color:#426361}.dark .list li:before{color:#a4d3b8}.cta{text-align:center;max-width:730px;margin:auto}.cta .btn{margin-top:12px}.newsletter{padding:55px 0;background:#dfece3}.newsletter .split{gap:45px}.newsletter h2{font-size:32px}.newsletter p{font-size:15px}.footer{background:#0d3032;color:#d3e4dc;padding:65px 0 24px}.footer p{color:#bccdc6;font-size:14px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.footer img{width:230px;margin-bottom:24px}.footer h3{font:600 14px var(--sans);color:white;letter-spacing:.04em;margin:0 0 20px}.footer a{font-size:14px;text-decoration:none}.footer ul{padding:0;list-style:none;margin:0}.footer li{margin-bottom:9px}.footer-bottom{border-top:1px solid #365255;margin-top:45px;padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.footer-bottom a{font-size:12px}.legal-note{font-size:12px!important;line-height:1.65;margin-top:25px;max-width:960px}.pagehead{padding:70px 0 60px}.pagehead h1{max-width:850px;margin:12px 0 25px}.pagehead p{max-width:680px;font-size:19px}.pagehead.splithead .split{gap:65px}.pagehead.splithead img{height:520px}.breadcrumbs{font-size:12px;color:#64746b;margin-bottom:27px}.offer{padding:40px;border:1px solid var(--line);background:white;border-radius:4px}.offer h3{margin-top:0}.offer .eyebrow{font-size:11px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.stack>*+*{margin-top:26px}.narrow{max-width:820px;margin:auto}.note{background:#edf3ed;border-left:3px solid #6aaa85;padding:22px 26px;font-size:15px}.note p:last-child{margin-bottom:0}.steps{counter-reset:steps}.step{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.step:before{counter-increment:steps;content:'0' counter(steps);font:28px var(--serif);color:#558568}.step h3{font-size:24px;margin:0 0 12px}.step p{font-size:16px}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding:0;list-style:none}.credentials li{padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{font-size:18px;font-weight:500;cursor:pointer;padding-right:20px}.faq details p{font-size:16px;margin:18px 0 0;max-width:720px}.empty-story{border:1px solid var(--line);padding:45px;text-align:center;background:#fff}.empty-story h2{font-size:34px}.form-card{background:white;border:1px solid var(--line);padding:36px;border-radius:4px}.form-card h2{font-size:31px}label{display:block;font-weight:500;font-size:14px;margin-bottom:7px}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;border:1px solid #b8c9bf;border-radius:3px;background:#fff;color:var(--ink);padding:13px 14px;min-height:49px}textarea{resize:vertical;min-height:110px}.field{margin-bottom:23px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.check{display:flex;align-items:flex-start;gap:12px;font-weight:400;line-height:1.6;font-size:14px}.check input{width:18px;height:18px;flex-shrink:0;margin-top:4px;accent-color:var(--deep)}.form-small{font-size:13px;line-height:1.6;margin:16px 0}.form-status{margin-top:15px;font-size:14px}.form-status:empty{display:none}.error{color:#8a2828}.quiz-progress{display:flex;gap:8px;margin-bottom:28px}.quiz-progress span{height:4px;background:#dfe9e1;flex:1}.quiz-progress span.active{background:#397965}.quiz-option{display:flex;gap:14px;align-items:flex-start;padding:17px;border:1px solid var(--line);border-radius:3px;margin-bottom:12px;cursor:pointer;font-weight:400;font-size:16px}.quiz-option:has(input:checked){background:#edf5ef;border-color:#397965}.quiz-option input{margin-top:7px;accent-color:var(--deep)}.quiz-option small{display:block;color:#627169;font-size:13px}.quiz-nav{display:flex;justify-content:space-between;margin-top:28px}.quiz-step[hidden],[hidden]{display:none!important}.result{background:#e9f3ec;padding:25px;margin-bottom:30px}.result h3{font-size:26px;margin:5px 0 12px}.result p{font-size:15px;margin:0}.small{font-size:14px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px;gap:20px}.section-heading h2{margin-bottom:0}.honeypot{position:absolute;left:-9999px}.legal h2{font-size:28px;margin-top:35px}.legal li{color:var(--body);margin-bottom:8px}.home-note{border-top:1px solid var(--line);padding-top:20px;font-size:14px}.mobile-only{display:none}
@media(min-width:1500px){.hero>img{object-position:center 58%}.hero{min-height:720px}}
@media(max-width:1050px){.nav{gap:15px}.nav a{font-size:13px}.brand{width:185px}.navwrap{padding:20px 4%}.hero-copy{max-width:460px}.hero h1{font-size:52px}.hero>img{object-position:58% center}.hero p:not(.eyebrow){max-width:360px}.split{gap:40px}.trust{gap:25px}.service img{height:250px}.service .inside{padding:21px}}
@media(max-width:800px){.navwrap{padding:18px 6%;flex-wrap:wrap;gap:15px}.brand{width:190px}.menu{display:block;background:transparent;border:1px solid var(--line);border-radius:3px;padding:8px 12px;color:var(--ink);font-size:14px}.nav{display:none;width:100%;align-items:stretch;gap:0;flex-direction:column;padding-top:10px}.nav.open{display:flex}.nav a{padding:13px 0;font-size:16px}.nav a.btn{padding:14px}.announcement{font-size:10px;letter-spacing:.08em}.hero{display:block;min-height:0}.hero>img{position:relative;height:330px;object-position:70% center;object-fit:cover}.hero .wrap{padding:34px 6% 42px;background:#f0f2ed}.hero-copy{max-width:none}.hero h1{font-size:46px;max-width:500px}.hero p:not(.eyebrow){max-width:none;font-size:16px}.eyebrow{font-size:11px}.hero .eyebrow{margin-bottom:18px}.trust{flex-wrap:wrap;gap:8px 24px;padding:20px 6%;font-size:11px}.trust strong{font-size:20px}.section{padding:60px 0}.wrap{padding:0 6%}.grid3,.grid2,.split{grid-template-columns:1fr;gap:28px}.service{display:grid;grid-template-columns:.75fr 1fr}.service img{height:100%;min-height:260px}.service h3{font-size:25px}.service .inside{padding:23px}.split img{height:450px}.split.reverse .copy{order:2}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}.pagehead{padding:45px 0}.pagehead.splithead img{height:380px}.pagehead p{font-size:17px}.pagehead h1{font-size:44px}.offer{padding:28px}.section-heading{display:block}.section-heading .textlink{display:inline-block;margin-top:18px}.newsletter .split{gap:20px}.form-card{padding:25px}.credentials{grid-template-columns:1fr}.intro{margin-bottom:30px}.empty-story{padding:28px}}
@media(max-width:480px){.hero>img{height:255px;object-position:65% center}.hero h1{font-size:40px}.actions{align-items:flex-start;flex-direction:column;gap:19px}.service{display:block}.service img{height:310px;min-height:0}.service:nth-child(1) img{object-position:center 45%}.service:nth-child(2) img{object-position:center top}.service:nth-child(3) img{object-position:center 35%}.form-row{grid-template-columns:1fr;gap:0}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.split img{height:390px}.pagehead h1{font-size:39px}.quote{font-size:24px}.quiz-nav .btn{padding:13px 17px}.trust{font-size:10px;gap:4px 15px}.trust strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-family:var(--serif);font-size:28px;line-height:1.3;margin-bottom:25px;padding:0}legend .eyebrow{font-family:var(--sans);display:inline-block;margin-bottom:10px}.quiz-error:empty{display:none}.quiz-error{font-size:14px}#service-quiz{scroll-margin-top:125px}#gym-confidence{scroll-margin-top:125px}legend:focus,h3:focus{outline:none}input[type=radio]{width:18px;height:18px;flex-shrink:0}.pagehead h1 em{display:inline-block}.footer a:hover,.nav a:not(.btn):hover{color:#6db69a}.footer img{height:auto}.brand img{height:auto}
@media(max-width:800px){.split:has(>.form-card)>.form-card{order:-1}}

/* Preserve the existing photo spaces while showing the full seated pose. */
.hero{background:#c9c9c9}
.hero>img{width:auto;height:auto;max-width:100%;max-height:100%;right:0;bottom:0;object-fit:contain;object-position:right bottom;mask-image:linear-gradient(to bottom,transparent,#000 6%),linear-gradient(to right,transparent,#000 8%);mask-composite:intersect}
.pagehead.splithead .main-header-photo{object-fit:contain;object-position:center;background:#d2d2d2}


@media(max-width:800px){.hero>img{width:100%;object-fit:cover;object-position:65% bottom;mask-image:none}}

@media(min-width:481px) and (max-width:800px){.hero>img{width:auto;max-width:100%;margin-left:auto;object-fit:contain;object-position:right bottom;mask-image:linear-gradient(to right,transparent,#000 8%)}}

/* Keep each service portrait complete inside its existing header space. */
.pagehead.splithead .service-page-photo{object-fit:contain;object-position:center}

/* Preserve the coach portrait proportions at every screen width. */
.split .coach-photo,.pagehead.splithead .coach-photo{width:100%;height:auto;aspect-ratio:5/6;max-width:480px;margin-inline:auto;object-fit:contain;object-position:center}

/* Leave headroom in the peptide service-card portrait on larger screens too. */
.service:nth-child(3) img{object-position:center 35%}

/* Align the homepage portrait's crown with its frame, without changing the asset or scale.
   The crown sits 354px down in the 1200px-wide photo. Clamp at the bottom edge
   where a tall tablet frame already shows the full height of the photograph. */
.home-services .service:nth-child(3){container-type:inline-size;--portrait-head-offset:-29.5cqw}
.home-services .service:nth-child(3) img{object-position:center max(100%,var(--portrait-head-offset))}
@media(min-width:481px) and (max-width:800px){.home-services .service:nth-child(3){--portrait-head-offset:-12.642857cqw}}
