@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
.title-fixed{display:block}.sport-rotation{display:flex;align-items:center;gap:14px;color:#164B7A;min-height:2.25em;font-size:1em;letter-spacing:-.045em}.sport-phrase{max-width:8.5em}.sport-icon{width:.85em;height:.85em;flex:0 0 .85em}.rotation-toggle{background:none;border:0;border-bottom:1px solid #D9E0E6;color:#5F6B76;padding:0 0 2px;font-size:10px;cursor:pointer}.hero h1.rotating-title{margin-bottom:8px}@media(prefers-reduced-motion:reduce){.sport-rotation{animation:none}}
:root{--paper:#F4F6F8;--ink:#202830;--muted:#5F6B76;--line:#D9E0E6;--green:#D9E0E6;--dark:#102B43;--orange:#D63D3D}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit}button{font:inherit}.wrap{width:min(1240px,90%);margin:auto}.draft{background:#D9E0E6;text-align:center;font-size:11px;letter-spacing:.08em;padding:7px 12px}.skip{position:absolute;left:10px;top:-60px;background:white;padding:12px;z-index:20}.skip:focus{top:0}header{border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:108px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px}.brand svg{width:47px;height:45px}.brand strong{display:block;font-family:Manrope,sans-serif;letter-spacing:.055em;font-size:22px;line-height:1.2}.brand small{display:block;font-size:9px;letter-spacing:.19em;text-transform:uppercase}.navlinks{display:flex;gap:26px;align-items:center}.navlinks a{text-decoration:none;font-size:13px}.navlinks a[aria-current=page]{border-bottom:1px solid var(--ink)}.navlinks .button{border:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--dark);color:white;padding:14px 23px;text-decoration:none;font-size:13px;border:1px solid var(--dark);border-radius:3px;transition:background .2s}.button:hover{background:#164B7A}.button.light{background:transparent;color:var(--ink);border-color:#D9E0E6}.button.light:hover{background:var(--green)}.menu{display:none;background:none;border:1px solid var(--line);padding:8px 13px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:700;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:24px;height:1px;background:currentColor}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500;line-height:1.08;letter-spacing:-.045em;margin:0}h1{font-size:clamp(46px,5.5vw,78px)}h2{font-size:clamp(34px,4vw,51px)}h3{font-size:25px}p{margin:20px 0;color:var(--muted)}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;padding:66px 0 64px;align-items:center}.hero h1{margin:25px 0}.hero h1 em{font-style:normal;color:#164B7A}.hero p{font-size:16px;max-width:460px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.location{font-size:11px;margin-top:30px;letter-spacing:.04em;color:var(--muted)}.landscape{position:relative;min-height:485px;background:#D9E0E6;border-radius:120px 3px 3px 3px;overflow:hidden;display:flex;align-items:flex-end}.landscape svg{width:100%;height:100%;position:absolute;inset:0}.placeholder-label{position:absolute;top:32px;left:32px;font-size:9px;letter-spacing:.14em;border:1px solid #5F6B76;padding:6px 10px;border-radius:20px}.landscape-caption{position:relative;color:#fff;padding:32px;width:100%;z-index:1}.landscape-caption small{font-size:9px;text-transform:uppercase;letter-spacing:.16em}.landscape-caption p{font-size:28px;line-height:1.15;color:white;letter-spacing:-.03em;margin:9px 0}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px}.strip small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;display:block;color:var(--muted)}.strip strong{font-weight:500;font-size:15px}.section{padding:85px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.section .eyebrow{margin-bottom:23px}.lead{font-size:18px}.textlink{text-decoration:none;border-bottom:1px solid;padding-bottom:4px;font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}.card{border-top:1px solid #D9E0E6;padding:25px 5px}.card .number{font-size:11px;display:block;margin-bottom:38px;color:var(--orange)}.card p{font-size:14px}.tag{display:inline-block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;background:#D9E0E6;padding:4px 9px;margin-bottom:15px}.portrait{background:#D9E0E6;min-height:440px;display:grid;place-content:center;text-align:center;border-radius:3px;position:relative}.portrait svg{width:145px;height:180px;margin:auto;color:#5F6B76}.portrait span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:25px;color:#5F6B76}.credential{padding:20px 0;border-top:1px solid var(--line)}.credential small{color:var(--muted);font-size:12px}.credential h3{font-size:22px;margin:7px 0}.credential a{font-size:12px}.cta{background:var(--dark);color:#F4F6F8;padding:55px;border-radius:3px;display:flex;gap:35px;align-items:center;justify-content:space-between;margin-bottom:65px}.cta h2{font-size:35px}.cta p{color:#D9E0E6;margin:14px 0 0}.cta .button{background:var(--paper);color:var(--ink);white-space:nowrap}.pagehead{padding:65px 0 50px;max-width:800px}.pagehead h1{margin:24px 0}.pagehead p{max-width:600px}.faq{max-width:850px;margin-bottom:70px}details{border-top:1px solid var(--line);padding:22px 0}details:last-child{border-bottom:1px solid var(--line)}summary{font-size:18px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px}summary:after{content:'+'}details[open] summary:after{content:'−'}details p{max-width:720px;font-size:15px}.contactgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;margin-bottom:80px}.contactbox{padding:35px;background:#FFFFFF}.contactbox h3{margin-top:16px}.contactrow{padding:20px 0;border-bottom:1px solid var(--line)}.contactrow small{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.contactrow p{margin:8px 0}.note{font-size:12px}footer{border-top:1px solid var(--line);padding:35px 0 25px}.foot{display:flex;justify-content:space-between;gap:30px}.footlinks{display:flex;gap:24px;flex-wrap:wrap;font-size:12px}.copyright{font-size:10px;color:var(--muted);margin-top:35px;display:flex;justify-content:space-between}:focus-visible{outline:3px solid #D63D3D;outline-offset:5px}@media(max-width:850px){.nav{min-height:85px;flex-wrap:wrap;padding:18px 0;gap:18px}.menu{display:block}.navlinks{display:none;width:100%;flex-direction:column;align-items:flex-start;padding-bottom:15px}.navlinks.open{display:flex}.hero{gap:35px;padding:40px 0;grid-template-columns:1fr 1fr}.landscape{min-height:400px}.split{gap:35px}.strip{gap:15px}.strip strong{font-size:12px}.cta{padding:32px}.contactgrid{gap:30px}}@media(max-width:600px){.hero,.split,.contactgrid{grid-template-columns:1fr}.hero{gap:35px}.landscape{min-height:360px}.hero h1{font-size:52px}.strip{grid-template-columns:1fr;gap:20px}.strip strong{font-size:15px}.section{padding:55px 0}.cards{grid-template-columns:1fr}.card .number{margin-bottom:22px}.cta,.foot{flex-direction:column;align-items:flex-start}.cta h2{font-size:30px}.pagehead{padding:45px 0 30px}.copyright{gap:20px;flex-direction:column}.portrait{min-height:340px}.brand strong{font-size:19px}}

.sport-phrase{min-width:0;overflow-wrap:normal}.sport-rotation{gap:12px}.sport-icon{width:.65em;height:.65em;flex-basis:.65em}
/* Reserve the longest phrase's footprint; both headline lines share one size. */
.hero>div:first-child{min-width:0;container-type:inline-size}
.hero h1.rotating-title{font-size:clamp(20px,8.3cqw,64px);line-height:1.15}
.sport-rotation{height:1.4em;min-height:1.4em;width:100%;gap:.2em;white-space:nowrap;align-items:center}
.sport-phrase{display:block;flex:0 0 8.65em;max-width:none;white-space:nowrap}
.sport-icon{width:.65em;height:.65em;flex:0 0 .65em}

/* Clinic brand palette */
:root{--blue:#164B7A;--red:#D63D3D;--navy:#102B43;--graphite:#202830;--steel:#5F6B76;--silver:#D9E0E6;--chalk:#F4F6F8;--white:#FFFFFF}
.brand-logo{display:block;width:66px;height:auto;object-fit:contain;flex-shrink:0}.brand{color:var(--navy)}.button{background:var(--blue);border-color:var(--blue)}.button:hover{background:var(--navy);border-color:var(--navy)}h1,h2,h3{color:var(--navy)}.sport-rotation,.hero h1 em{color:var(--blue)}.sport-icon{color:var(--red)}.eyebrow:before{background:var(--red)}.textlink{color:var(--blue)}.navlinks a[aria-current=page]{border-color:var(--red)}.placeholder-label{background:var(--chalk);color:var(--steel)}.cta h2{color:var(--white)}@media(max-width:600px){.brand-logo{width:48px}.brand{gap:9px}.brand strong{font-size:18px}.brand small{font-size:8px;letter-spacing:.12em}}
/* Icons follow phrase width; the outer line keeps a fixed footprint. */
.sport-phrase{flex:0 0 auto}
/* Larger two-line headline, sized to fit the longest rotating phrase. */
.hero{grid-template-columns:1.8fr 1fr;gap:40px}
.hero h1.rotating-title{font-size:clamp(24px,11.8cqw,100px);line-height:1.08}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero .landscape{min-height:360px}}

/* Keep the homepage eyebrow on a single responsive line. */
.hero p.eyebrow{white-space:nowrap;font-size:min(10px,2.5cqw);max-width:none;gap:1em}
.hero p.eyebrow:before{width:2.4em;flex-shrink:0}

/* Swipeable About photo gallery, with a stable frame for mixed photo sizes. */
.emma-gallery{min-width:0;width:100%}.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;border-radius:3px;background:var(--navy);scrollbar-width:thin;scrollbar-color:var(--steel) var(--navy)}.gallery-slide{flex:0 0 100%;min-width:0;aspect-ratio:3/4;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center}.gallery-slide img{display:block;width:100%;height:100%;object-fit:contain}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:16px}.gallery-controls button{width:44px;height:44px;border:1px solid var(--silver);background:var(--white);color:var(--blue);border-radius:3px;font-size:22px;cursor:pointer}.gallery-controls button:hover{background:var(--silver)}.gallery-controls button:disabled{opacity:.35;cursor:default}.gallery-count{font-size:13px;color:var(--steel)}

.clinic-location{border-top:1px solid var(--silver);padding:36px 0; margin-bottom:29px;display:flex;align-items:center;justify-content:space-between;gap:24px}.clinic-location h2{font-size:28px}.clinic-location address{font-style:normal;color:var(--steel);margin-top:16px}.clinic-location .textlink{white-space:nowrap}@media(max-width:600px){.clinic-location{align-items:flex-start;flex-direction:column}}

.clinic-approach{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:64px 0;border-top:1px solid var(--silver)}.clinic-approach h2{font-size:clamp(32px,3.5vw,46px)}.clinic-approach p:first-child{margin-top:0}.clinic-approach .textlink{display:inline-block;margin-top:4px}@media(max-width:850px){.clinic-approach{gap:35px}}@media(max-width:600px){.clinic-approach{grid-template-columns:1fr;gap:24px;padding:44px 0}}

/* Display the supplied signature lettering beside the original athlete mark. */
.brand-wordmark{display:block;position:relative;overflow:hidden;width:225px;aspect-ratio:1072/254;flex-shrink:0;mix-blend-mode:multiply}
.brand-wordmark img{position:absolute;display:block;width:111.9403%;max-width:none;height:auto;left:-5.97015%;top:-178.34646%}
@media(max-width:600px){.brand-wordmark{width:165px}}
