@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;500;600;700&display=swap');
:root{--paper:#fffefa;--ink:#30372f;--muted:#62685f;--gold:#8c713e;--line:#dddcd3;--serif:'Source Code Pro',monospace;--sans:'Source Code Pro',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(2.8rem,5vw,4.6rem);margin-bottom:0}p{margin-bottom:1.5rem}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip{position:absolute;top:-80px;left:20px;padding:10px;background:white;z-index:10}.skip:focus{top:10px}.preview-bar{display:flex;justify-content:space-between;gap:20px;padding:7px 5%;font-size:12px;letter-spacing:.04em;background:#f0f0e9;color:#5d6459;border-bottom:1px solid var(--line)}header{height:116px;padding:12px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--paper)}.brand-logo{width:94px;height:94px;flex-shrink:0;display:block}.brand-logo img{object-fit:contain}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav a:hover{color:var(--gold)}.nav-cta{border-bottom:1px solid var(--gold);padding:9px 0}.menu-toggle{display:none}.hero{position:relative;min-height:610px;display:flex;align-items:center;isolation:isolate;color:white;overflow:hidden}.hero-background{position:absolute;inset:0;z-index:-2;object-position:center 18%}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(32,30,24,.7),rgba(32,30,24,0) 28%),linear-gradient(90deg,rgba(32,30,24,.76) 0%,rgba(32,30,24,.72) 42%,rgba(32,30,24,.43) 70%,rgba(32,30,24,.14) 100%);z-index:-1}.hero-copy{padding:76px 7%;max-width:800px}.eyebrow{font-size:14px;font-weight:500;letter-spacing:.14em;line-height:1.7;color:var(--gold);margin-bottom:24px}.hero .eyebrow{color:#f5ead2;font-size:14px;letter-spacing:.11em}.hero h1{font-size:clamp(4rem,8.7vw,8rem);line-height:.98;margin-bottom:38px;letter-spacing:-.025em}.button{display:inline-block;background:var(--ink);color:white;border:1px solid var(--ink);padding:15px 25px;font-size:15px;font-weight:500;line-height:1.5;max-width:100%;text-align:center;transition:background-color .2s,border-color .2s}.button:hover{background:#485142;border-color:#485142}.hero .button{background:#fffefa;color:#30372f;border-color:#fffefa}.hero .button:hover{background:#ebe9e0;border-color:#ebe9e0}.booking-context{font-size:12px;color:var(--muted);margin:12px 0 0;line-height:1.6}.hero .booking-context{color:#e4e4da}.hero-caption{position:absolute;right:5%;bottom:28px;margin:0;font-size:12px;letter-spacing:.05em;color:#f2f0e8}.section{padding:110px 7%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-bottom:1px solid var(--line)}.intro-copy{padding-top:25px}.intro-copy>p:not(.large-copy),.concierge-copy>p:not(.large-copy),.staff-copy>p{color:var(--muted)}.large-copy{font-size:23px;line-height:1.5;color:var(--ink);margin-bottom:20px}.text-link{display:inline-block;border-bottom:1px solid var(--gold);font-size:14px;padding-bottom:5px}.text-link:hover{color:var(--gold)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}.section-head>p{max-width:290px;color:var(--muted);font-size:16px;margin-bottom:5px}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 55px;border-top:1px solid var(--line)}.provider{padding:32px 0;border-bottom:1px solid var(--line)}.provider-role{font-size:12px;letter-spacing:.035em;color:var(--muted);margin:0 0 9px}.provider h3{font-family:var(--serif);font-size:36px;line-height:1.15;letter-spacing:-.02em;margin:0}.review-note{font-size:12px;color:var(--muted);margin:24px 0 0}.care{background:#eef0eb}.services{border-top:1px solid #cbd0c6}.services details{border-bottom:1px solid #cbd0c6}.services summary{display:flex;gap:24px;align-items:center;list-style:none;padding:25px 0;cursor:pointer}.services summary::-webkit-details-marker{display:none}.service-number{font-size:12px;color:var(--gold);min-width:24px}.services h3{font-family:var(--sans);font-size:20px;font-weight:400;line-height:1.4;margin:0}.plus{position:relative;margin-left:auto;width:20px;height:20px;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;top:9px;left:2px;width:16px;height:1px;background:var(--ink)}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}.services details>p{max-width:650px;margin:0 44px 25px 48px;color:var(--muted);font-size:15px}.service-note{font-size:12px;color:var(--muted);margin:24px 0 0}.concierge{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-bottom:1px solid var(--line)}.concierge-copy{padding-top:25px}.membership-note{font-size:12px;padding-top:20px;border-top:1px solid var(--line);margin-bottom:0}.staff{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:80px;padding-bottom:80px}.staff h2{font-size:clamp(2.5rem,4vw,3.5rem)}.staff-copy{padding-top:16px}.staff-copy>p:first-child{margin-bottom:20px}.staff-copy .review-note{margin-top:0}.location{display:grid;grid-template-columns:1fr 1fr;background:#eef0eb}.location-photo{min-height:570px}.location-photo img{object-position:center}.location-copy{padding:80px 14%;align-self:center}.location h2{font-size:clamp(2.8rem,4.8vw,4.5rem);margin-bottom:30px}address{font-style:normal;font-size:16px;color:var(--ink);margin-bottom:14px}address strong{font-weight:500}.location-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;margin-bottom:25px}.begin{display:grid;grid-template-columns:1.25fr 1fr;gap:12%;align-items:center}.begin h2{font-size:clamp(2.8rem,4.5vw,4.5rem);margin-bottom:24px}.begin>div>p:not(.eyebrow){max-width:410px;color:var(--muted);margin-bottom:0}.begin-action{justify-self:end}.booking-help{font-size:12px;color:var(--muted);margin:14px 0 0}.booking-help a{border-bottom:1px solid var(--gold)}footer{padding:45px 7% 25px;border-top:1px solid var(--line);background:#f7f7f1}.footer-top{display:flex;align-items:center;gap:42px;padding-bottom:38px}.footer-top>p{font-family:var(--serif);font-size:24px;line-height:1.2;margin:0}.footer-links{display:flex;flex-wrap:wrap;gap:14px 24px;margin-left:auto;max-width:330px;font-size:13px}.footer-links a:hover{color:var(--gold)}.footer-bottom{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.footer-bottom p{margin:10px 0 0;max-width:800px}
@media(min-width:1500px){.section{padding-left:max(7%,calc((100vw - 1300px)/2));padding-right:max(7%,calc((100vw - 1300px)/2))}}
@media(max-width:980px){header{height:105px}.brand-logo{width:84px;height:84px}.menu-toggle{display:flex;gap:14px;align-items:center;border:0;background:none;font-family:var(--sans);font-size:14px;color:var(--ink);cursor:pointer;padding:14px 0}header{position:relative;z-index:5}nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:24px 7%;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.hero{min-height:540px}.hero h1{font-size:clamp(4rem,9.5vw,6rem)}.section{padding:85px 7%}.intro,.concierge,.staff{gap:7%}.section-head>p{max-width:250px}.provider h3{font-size:31px}.location-copy{padding:65px 12%}.location-photo{min-height:510px}.begin{gap:5%}.begin-action{justify-self:start}}
@media(max-width:650px){.preview-bar{padding:7px 6%;font-size:11px;letter-spacing:0}.preview-bar span{font-size:11px}header{height:94px;padding-left:6%;padding-right:6%}.brand-logo{width:76px;height:76px}.hero{min-height:540px;align-items:center}.hero-copy{padding:60px 7% 85px;width:100%}.hero .eyebrow{font-size:12px;max-width:290px;letter-spacing:.08em}.hero h1{font-size:clamp(3.8rem,14vw,5.5rem);margin-bottom:32px}.hero-background{object-position:62% center}.hero:before{background:linear-gradient(90deg,rgba(32,30,24,.75) 0%,rgba(32,30,24,.72) 85%,rgba(32,30,24,.62) 100%)}.hero-caption{left:7%;right:auto;bottom:25px;font-size:11px}.section{padding:65px 7%}.intro,.concierge,.staff{grid-template-columns:1fr;gap:30px}.intro-copy,.concierge-copy,.staff-copy{padding-top:0}h2{font-size:3rem}.eyebrow{font-size:12px;margin-bottom:20px}.large-copy{font-size:21px}.section-head{display:block;margin-bottom:32px}.section-head>p{margin-top:24px;max-width:100%;font-size:15px}.team-grid{grid-template-columns:1fr;gap:0}.provider{padding:25px 0}.provider h3{font-size:34px}.services h3{font-size:18px}.services summary{gap:12px;padding:22px 0}.services details>p{margin-left:36px;margin-right:0}.location{grid-template-columns:1fr}.location-photo{min-height:0;height:340px}.location-copy{padding:55px 7%}.location h2{font-size:3rem}.begin{grid-template-columns:1fr;gap:30px}.begin h2{font-size:3rem}.footer-top{flex-wrap:wrap;gap:25px}.footer-links{margin-left:0;max-width:none;width:100%;gap:15px 24px}.footer-top>p{font-size:25px}.button{font-size:15px;padding:15px 23px}.staff h2{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
@media(forced-colors:active){.button,.hero .button,.button:hover,.hero .button:hover{background:ButtonFace;color:ButtonText;border-color:ButtonText}.hero:before{background:Canvas}.hero{color:CanvasText}.hero .eyebrow,.hero .booking-context,.hero-caption{color:CanvasText}}
/* Compensate for the supplied logo's built-in white margin. */
.brand-logo img{transform:scale(1.4)}

/* Distinctive, lightly drawn display lettering with room between forms. */
h1,h2{letter-spacing:-.015em}
.hero h1{line-height:1.05;letter-spacing:-.015em}
.provider h3,.footer-top>p{letter-spacing:0}

/* Warm, reflective brass drawn from the supplied photograph of the ZuVida sign. */
:root{
 --gold:#80651d;
 --gold-brass:#d4b74c;
 --gold-highlight:#f5da76;
 --gold-shadow:#b08b30;
 --gold-metal:linear-gradient(112deg,#ccb14b 0%,#e3c85e 24%,#f4dc7b 43%,#d4b64a 66%,#e8cf6b 84%,#c7a842 100%);
}
/* Compact, matte olive appointment actions echo the site's natural palette. */
.button,.hero .button{
 background-color:#414b3f;
 background-image:none;
 border-color:#414b3f;
 border-radius:5px;
 color:#fffefa;
 box-shadow:none;
 font-weight:500;
 padding:10px 18px;
 font-size:14px;
}
.button:hover,.hero .button:hover{
 background-color:#333c31;
 background-image:none;
 border-color:#333c31;
 color:#fffefa;
}
.hero .eyebrow{color:#f1d56e}
.nav-cta{border-bottom:2px solid #c7a642}
.nav-cta:hover{border-bottom-color:#97711d}
.text-link,.booking-help a{border-bottom-color:#c5a23b}
.team-grid,.provider{border-color:#d9c78d}
.services,.services details{border-color:#cdbd89}
.service-number{color:#81661f}
.services .plus:before,.services .plus:after{background:#ad8730}
.intro,.concierge,footer{border-color:#d6c185}
.footer-bottom,.membership-note{border-color:#decea4}
.brand-logo img{filter:saturate(1.22) contrast(1.02)}
@media(forced-colors:active){
 .button,.hero .button,.button:hover,.hero .button:hover{background:ButtonFace;background-image:none;color:ButtonText;border-color:ButtonText;box-shadow:none}
 .hero .eyebrow{color:CanvasText}
 .brand-logo img{filter:none}
}

/* A slimmer navigation strip, with the brand layered into the landscape. */
header{height:62px;padding:8px 5%;justify-content:flex-end}
.hero-logo{position:absolute;top:20px;right:5%;width:330px;height:330px;opacity:.95;mix-blend-mode:screen}
.hero-logo img{object-fit:contain;filter:grayscale(1) contrast(2) invert(1) brightness(5)}
.hero-logo:focus-visible{outline-color:#fffefa}
@media(max-width:980px){header{height:58px}.hero-logo{width:240px;height:240px;right:3%;top:12px}}
@media(max-width:650px){header{height:54px;padding:5px 6%}.hero-logo{width:165px;height:165px;top:0;right:3%}.hero-copy{padding-top:145px}.hero{min-height:610px}}
@media(forced-colors:active){.hero-logo{mix-blend-mode:normal;opacity:1}.hero-logo img{filter:none}}

/* Gold brand on the shaded left; care message on the right. */
.hero:before{background:linear-gradient(0deg,rgba(32,30,24,.7),rgba(32,30,24,0) 28%),linear-gradient(90deg,rgba(32,30,24,.72) 0%,rgba(32,30,24,.64) 42%,rgba(32,30,24,.64) 100%)}
.hero-logo{left:4%;right:auto;top:50%;transform:translateY(-50%);width:440px;height:440px;opacity:1;mix-blend-mode:normal}
.hero-logo img{filter:url(#logo-remove-paper)}
.hero-copy{margin-left:50%;max-width:none;padding:76px 5% 76px 2%;width:50%}
.hero h1{font-size:clamp(4rem,7.8vw,7.5rem)}
@media(max-width:980px){.hero-logo{width:350px;height:350px;left:1%}.hero-copy{padding:65px 5% 75px 2%}.hero h1{font-size:clamp(3.5rem,8vw,5.5rem)}.hero .eyebrow{font-size:12px;letter-spacing:.07em}}
@media(max-width:650px){.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero-logo{position:relative;left:auto;right:auto;top:auto;transform:none;width:280px;height:280px;margin:-15px auto -35px}.hero-copy{margin-left:0;width:100%;padding:0 7% 100px}.hero h1{font-size:clamp(3.8rem,14vw,5.5rem)}.hero:before{background:rgba(32,30,24,.7)}}
@media(forced-colors:active){.hero-logo img{filter:none}}

/* Clean vector contours, positioned near the left edge to reveal the landscape. */
.hero-logo{left:2%;width:300px;height:250px}
.hero-logo img{filter:none}
@media(max-width:980px){.hero-logo{left:2%;width:270px;height:225px}}
@media(max-width:650px){.hero-logo{left:auto;width:235px;height:195px;margin:28px 7% 32px}}

/* Give the landscape more room between the brand and the care message. */
.hero-logo{width:270px;height:225px;top:44%}
.hero-copy{margin-left:55%;width:45%;padding-left:2%}
.hero h1{font-size:clamp(4rem,7.3vw,7rem)}
@media(max-width:980px){.hero-logo{width:245px;height:205px}.hero-copy{margin-left:53%;width:47%}.hero h1{font-size:clamp(3.5rem,7.5vw,5.5rem)}}
@media(max-width:650px){.hero-logo{top:auto;width:215px;height:180px;margin:22px 7% 28px}.hero-copy{margin-left:0;width:100%;padding-left:7%}.hero h1{font-size:clamp(3.8rem,14vw,5.5rem)}}

/* Align the brand and message on the hero's vertical center. */
.hero-logo{top:50%}
.hero h1{font-size:clamp(3.5rem,6.2vw,6rem);color:#deca91}
@media(max-width:980px){.hero h1{font-size:clamp(3rem,6.5vw,4.6rem)}}
@media(max-width:650px){.hero-logo{top:auto}.hero h1{font-size:clamp(3.3rem,12vw,4.6rem)}}
@media(forced-colors:active){.hero h1{color:CanvasText}}

/* A quiet, pearlescent iridescence for the care headline. */
.hero h1{color:#e0e4ed;background:linear-gradient(115deg,#d5e6e9 0%,#e8e8ef 19%,#d4cbea 36%,#f0dce8 49%,#e7edf0 62%,#c5e1dc 79%,#dbd5ed 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
@media(forced-colors:active){.hero h1{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}

/* Bring the two focal points inward and give the pearl colors more presence. */
.hero-logo{left:14%}
.hero-copy{margin-left:50%;width:50%;padding-left:2%}
.hero h1{background-image:linear-gradient(115deg,#b9eef4 0%,#e7f3ff 16%,#bcacf2 31%,#f3bde6 46%,#f5e4fa 56%,#a8e5e0 72%,#b8cef8 87%,#dec3f5 100%)}
@media(max-width:980px){.hero-logo{left:8%}.hero-copy{margin-left:51%;width:49%;padding-left:2%}}
@media(max-width:650px){.hero-logo{left:auto;margin:22px auto 28px}.hero-copy{margin-left:0;width:100%;padding-left:7%}}
@media(forced-colors:active){.hero h1{background-image:none}}

/* Keep the logo and message together as a compact central pair. */
.hero-logo{left:calc(50% - 300px)}
.hero-copy{margin-left:50%;padding-left:0;width:50%}
@media(max-width:980px){.hero-logo{left:calc(50% - 270px)}.hero-copy{margin-left:50%;padding-left:0;width:50%}}
@media(max-width:650px){.hero-logo{left:auto}.hero-copy{margin-left:0;width:100%;padding-left:7%}}

/* Keep the care message subordinate to the ZuVida brand. */
.hero h1{font-size:clamp(2.6rem,4.4vw,4.2rem);line-height:1.15;margin-bottom:28px}
@media(max-width:980px){.hero h1{font-size:clamp(2.4rem,4.8vw,3.5rem)}}
@media(max-width:650px){.hero h1{font-size:clamp(2.6rem,9vw,3.3rem)}}

/* Santorini blue pairs with the gold brand. */
.hero h1{color:#51a5eb;background:none;-webkit-text-fill-color:#51a5eb}
.button,.hero .button{background:#1769aa;border-color:#1769aa;color:#fffefa}
.button:hover,.hero .button:hover{background:#12558b;border-color:#12558b;color:#fffefa}
@media(forced-colors:active){.hero h1{color:CanvasText;-webkit-text-fill-color:CanvasText}.button,.hero .button,.button:hover,.hero .button:hover{background:ButtonFace;color:ButtonText;border-color:ButtonText}}

/* Reveal more of the landscape and set the message in one horizontal line. */
.hero:before{background:linear-gradient(90deg,rgba(32,30,24,.4),rgba(32,30,24,.2) 55%,rgba(32,30,24,.12))}
.hero-logo{left:50%;top:34%;transform:translate(-50%,-50%)}
.hero-copy{margin-left:0;width:100%;max-width:none;padding:0 6%;display:flex;justify-content:center;align-items:center;gap:32px;position:absolute;top:68%;transform:translateY(-50%)}
.hero h1{margin:0;white-space:nowrap}
.hero .button{flex-shrink:0}
@media(max-width:980px){.hero-logo{left:50%}.hero-copy{margin-left:0;width:100%;padding:0 5%;gap:24px}}
@media(max-width:650px){.hero{min-height:540px;display:flex;justify-content:center;gap:20px;padding:35px 7%}.hero-logo{position:relative;left:auto;top:auto;transform:none;margin:0 auto;width:215px;height:180px}.hero-copy{position:relative;top:auto;transform:none;margin:0;padding:0;width:100%;flex-wrap:wrap;gap:22px}.hero h1{white-space:normal;text-align:center}.hero:before{background:rgba(32,30,24,.3)}}

@media(min-width:981px){.hero-logo{left:2%;top:50%;transform:translateY(-50%)}.hero-copy{left:calc(270px + 5%);top:50%;width:calc(95% - 270px);padding:0 3% 0 0;gap:24px;justify-content:flex-start}}

/* Place the appointment action in the open sky above the brand. */
.hero-copy{position:absolute;left:5%;top:36px;transform:none;margin:0;width:auto;max-width:none;padding:0;display:block}
@media(max-width:980px){.hero-copy{left:5%;top:28px;width:auto;padding:0;margin:0}}
@media(max-width:650px){.hero-copy{position:absolute;left:7%;top:24px;transform:none;width:auto;padding:0;margin:0}.hero-logo{margin:0 auto}}

/* Quiet ivory appointment actions complement the landscape and gold brand. */
.button,.hero .button{background:#f5f2e9;color:#354032;border:1px solid #d9d8cc;border-radius:6px;box-shadow:0 2px 8px #27312412;padding:10px 18px;font-weight:500}
.button:hover,.hero .button:hover{background:#e8eadf;color:#354032;border-color:#bfc6b6}
@media(forced-colors:active){.button,.hero .button,.button:hover,.hero .button:hover{background:ButtonFace;color:ButtonText;border-color:ButtonText;box-shadow:none}}

/* Tuck the appointment action into the upper-left sky. */
.hero-copy{left:2%;top:12px}
@media(max-width:980px){.hero-copy{left:2%;top:12px}}
@media(max-width:650px){.hero-copy{left:4%;top:12px}}

/* The supplied staff portrait is displayed in full, with its original pixels unchanged. */
.provider-with-portrait{display:flex;align-items:center;gap:26px}
.provider-with-portrait .provider-portrait{width:132px;height:auto;aspect-ratio:594/662;object-fit:contain;flex-shrink:0;border-radius:4px}
.provider-identity{min-width:0}
@media(max-width:980px){.provider-with-portrait{gap:20px}.provider-with-portrait .provider-portrait{width:112px}}
@media(max-width:650px){.provider-with-portrait{gap:20px}.provider-with-portrait .provider-portrait{width:104px}}
@media(max-width:360px){.provider-with-portrait{gap:18px}.provider-with-portrait .provider-portrait{width:90px}}

/* Tommy's original photograph, framed above the shirt logo without editing its pixels. */
.provider-with-portrait .provider-portrait-tommy{display:block;position:relative;overflow:hidden}
.provider-portrait-tommy img{position:absolute;top:0;left:50%;width:112%;height:auto;max-width:none;object-fit:contain;transform:translateX(-50%)}

/* Provider biographies remain fully visible, with a comfortable reading width. */
.provider-with-portrait{display:grid;grid-template-columns:132px minmax(0,1fr);align-content:start;gap:22px 26px}
.provider-bio{grid-column:1/-1;margin:0;max-width:60ch;color:var(--muted);font-size:16px;line-height:1.75}
@media(max-width:980px){.provider-with-portrait{grid-template-columns:112px minmax(0,1fr);gap:20px}}
@media(max-width:650px){.provider-with-portrait{grid-template-columns:104px minmax(0,1fr)}}
@media(max-width:360px){.provider-with-portrait{grid-template-columns:90px minmax(0,1fr);column-gap:18px}}

/* An open editorial pause between the landscape and the care team. */
.intro{
 display:block;position:relative;
 padding-top:105px;padding-bottom:70px;
 background:#f5f2e9;border:0;
}
.intro>div:first-child{max-width:1000px}
.intro h2{font-size:clamp(3.3rem,6.5vw,6.2rem);line-height:1.08;color:#424a3c;letter-spacing:-.025em}
.intro h2:after{content:'';display:block;width:76px;height:1px;background:#ad8b42;margin-top:32px}
.intro-copy{max-width:510px;margin:45px 5% 0 auto;padding-top:0}
.intro .large-copy{font-size:21px;color:#424a3c;margin-bottom:18px}
.intro-copy>p:not(.large-copy){color:#626655;font-size:16px;line-height:1.9}
.intro .text-link{color:#705621;border-bottom-color:#ad8b42}
.intro .text-link:hover{color:#4e401f}
@media(min-width:981px){.intro h2{max-width:970px}}
@media(max-width:980px){.intro{padding-top:80px;padding-bottom:65px}.intro-copy{margin-right:0;max-width:480px}}
@media(max-width:650px){.intro{padding-top:65px;padding-bottom:55px}.intro h2{font-size:clamp(3.2rem,11vw,4.5rem)}.intro-copy{margin:32px 0 0;max-width:100%}.intro .large-copy{font-size:20px}}
@media(forced-colors:active){.intro{background:Canvas}.intro h2,.intro .large-copy,.intro-copy>p:not(.large-copy),.intro .text-link{color:CanvasText}.intro h2:after{background:CanvasText}}

/* Source Code Pro: allow the wider monospace forms room to breathe. */
h1,h2,h3{letter-spacing:-.035em;line-height:1.2}
h2{font-size:clamp(2rem,3.5vw,3.4rem)}
.intro h2{font-size:clamp(2.4rem,4.8vw,4.6rem);line-height:1.2;letter-spacing:-.04em}
.provider h3{font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.3;letter-spacing:-.04em;overflow-wrap:break-word}
.location h2,.begin h2,.staff h2{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.25}
nav{gap:24px;font-size:13px}
.large-copy{font-size:21px}
.footer-top>p{font-size:20px}
@media(max-width:650px){h2,.location h2,.begin h2,.staff h2{font-size:clamp(1.8rem,7vw,2.4rem)}.intro h2{font-size:clamp(2rem,8vw,3rem)}.provider h3{font-size:1.6rem}.large-copy{font-size:19px}.services h3{font-size:17px}.footer-top>p{font-size:18px}}

/* Staff placeholders share the same presentation as the rest of the team. */
.placeholder-note{font-size:13px;color:var(--muted);margin:18px 0 0;line-height:1.7}

/* A continuous olive portrait gallery for the whole ZuVida team. */
.team{background:#343d32;color:#f6f2e7}
.team .section-head{display:block;margin-bottom:50px}
.team .section-head h2{color:#e6d19d;max-width:700px;font-size:clamp(2.2rem,4vw,3.8rem)}
.team .section-head h2 br{display:none}
.team .section-head>p{max-width:none;margin:22px 0 0;color:#d8ddcf}
.team-grid{display:flex;flex-direction:column;border:0;gap:0}
.team-profile{display:flex;gap:44px;align-items:flex-start;padding:38px 0;border-top:1px solid #778064}
.team-profile-copy{flex:1;min-width:0;padding-top:12px}
.team-profile h3{font-family:var(--sans);font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.25;letter-spacing:-.04em;margin:0;color:#f6f2e7;overflow-wrap:break-word}
.team-profile .provider-role{color:#d9c18a;font-size:13px;margin-bottom:13px}
.team-profile>.provider-portrait,.team-portrait-placeholder{width:160px;height:180px;flex-shrink:0;border-radius:80px 80px 5px 5px;overflow:hidden}
.team-profile>img.provider-portrait{object-fit:contain;background:#56604e}
.team-profile>.provider-portrait-tommy{position:relative;display:block}
.team-portrait-placeholder{border:1px solid #818b73;background:#414c3d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#d7c38e}
.team-portrait-placeholder>span{font-size:36px;font-weight:400;letter-spacing:.02em}
.team-portrait-placeholder>small{font-size:10px;color:#c8cfbc}
.team-biography{margin-top:24px;max-width:650px}
.team-biography summary{display:inline-flex;align-items:center;gap:25px;list-style:none;cursor:pointer;font-size:13px;color:#e4cd98;padding-bottom:8px;border-bottom:1px solid #998553}
.team-biography summary::-webkit-details-marker{display:none}
.team-biography summary span{font-size:20px;line-height:1}
.team-biography[open] summary span{transform:rotate(45deg)}
.team-biography>div{padding-top:22px;color:#dde1d4;font-size:15px;line-height:1.9}
.team-biography p:last-child{margin-bottom:0}
.team-pending{color:#c4ccb9;font-size:13px;margin:23px 0 0}
.team .review-note{color:#c4ccb9;border-top:1px solid #778064;padding-top:25px;margin-top:0}
@media(max-width:650px){.team-profile{gap:24px;padding:30px 0}.team-profile>.provider-portrait,.team-portrait-placeholder{width:96px;height:112px;border-radius:48px 48px 4px 4px}.team-profile-copy{padding-top:0}.team-profile h3{font-size:1.4rem}.team-profile .provider-role{font-size:11px}.team-portrait-placeholder>span{font-size:27px}.team-portrait-placeholder>small{font-size:8px}.team-biography>div{font-size:14px}.team-pending{font-size:11px}.team .section-head h2{font-size:2rem}}
@media(forced-colors:active){.team,.team-portrait-placeholder{background:Canvas;color:CanvasText}.team-profile h3,.team .section-head h2,.team .section-head>p,.team-profile .provider-role,.team-biography summary,.team-biography>div,.team-pending,.team .review-note{color:CanvasText}}

/* Simple rectangular portraits throughout the team gallery. */
.team-profile>.provider-portrait,.team-portrait-placeholder{border-radius:4px}

/* Name and credentials sit together, with the complete biography alongside. */
.team-profile{gap:30px}
.team-profile-copy{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.35fr);gap:34px;padding-top:6px;align-items:start}
.team-profile h3{font-size:clamp(1.35rem,2.1vw,2rem);line-height:1.3}
.team-profile .provider-role{margin:14px 0 0;font-size:12px;line-height:1.7}
.team-biography{margin:0;max-width:none;color:#dde1d4;font-size:15px;line-height:1.9}
.team-biography p:last-child{margin-bottom:0}
.team-pending{margin:0;padding-top:4px}
@media(max-width:980px){.team-profile-copy{grid-template-columns:1fr;gap:22px}.team-profile{gap:28px}}
@media(max-width:650px){.team-profile{gap:20px}.team-profile-copy{gap:20px}.team-profile h3{font-size:1.4rem}.team-biography{font-size:14px;line-height:1.8}.team-profile .provider-role{font-size:11px}}

/* Give biographies a wider measure for shorter, lighter profile rows. */
@media(min-width:981px){
 .team{padding-left:5%;padding-right:5%}
 .team-profile{gap:24px}
 .team-profile>.provider-portrait,.team-portrait-placeholder{width:140px;height:158px}
 .team-profile-copy{grid-template-columns:205px minmax(0,1fr);gap:24px}
 .team-profile h3{font-size:1.35rem}
}
@media(min-width:1500px){.team{padding-left:max(5%,calc((100vw - 1400px)/2));padding-right:max(5%,calc((100vw - 1400px)/2))}.team-profile-copy{grid-template-columns:250px minmax(0,1fr)}}

/* Frame the owner’s desert trail photograph around the main saguaro and path. */
.hero-background{object-position:center 35%}
@media(max-width:650px){.hero-background{object-position:48% center}}

/* Lift the brand into the clear sky of the new photograph. */
.hero-logo{top:29%}
@media(max-width:650px){.hero-logo{top:auto}}

/* Frame Dr. Byron’s supplied portrait without the surrounding black bars. */
.provider-portrait-byron{display:block;position:relative;overflow:hidden}
.provider-portrait-byron img{position:absolute;top:0;left:50%;width:196%;height:100%;max-width:none;object-fit:cover;transform:translateX(-50%)}

.byron-message h4{font-size:16px;font-weight:500;color:#e6d19d;line-height:1.5;margin:0 0 18px}.byron-message p{margin-bottom:18px}

/* Center the smaller brand in the sky between the saguaros. */
.hero-logo{left:50%;top:42%;width:200px;height:166px;transform:translate(-50%,-50%)}
@media(max-width:980px){.hero-logo{left:50%;top:42%;width:180px;height:150px;transform:translate(-50%,-50%)}}
@media(max-width:650px){.hero-logo{position:absolute;left:50%;top:39%;width:170px;height:141px;transform:translate(-50%,-50%);margin:0}}

/* Shade the sky behind the centered mark while retaining the landscape. */
.hero:before{background:radial-gradient(ellipse 38% 43% at 50% 40%,rgba(20,34,47,.48) 0%,rgba(20,34,47,.23) 58%,rgba(20,34,47,0) 100%),linear-gradient(90deg,rgba(32,30,24,.3),rgba(32,30,24,.15) 55%,rgba(32,30,24,.1))}
.hero-logo img{filter:brightness(1.23) saturate(1.08) drop-shadow(0 1px 2px rgba(12,22,30,.6))}
@media(max-width:650px){.hero:before{background:radial-gradient(ellipse 68% 37% at 50% 39%,rgba(20,34,47,.48),rgba(20,34,47,.12) 80%),rgba(32,30,24,.15)}}
@media(forced-colors:active){.hero:before{background:Canvas}.hero-logo img{filter:none}}

/* Clear logo rendering and social links in the footer. */
.hero-logo img{filter:brightness(1.23) saturate(1.08);image-rendering:auto}
.footer-socials{display:grid;grid-template-columns:max-content max-content;align-items:center;gap:10px 35px;padding:0 0 28px;font-size:13px}
.footer-socials>span{grid-row:1 / span 2;align-self:start;padding-top:10px}
.footer-socials>a{grid-column:2;justify-self:start}
.footer-socials>a{display:inline-flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #c5a23b}
.footer-socials svg{width:22px;height:22px;flex-shrink:0}
.footer-socials>a>span{color:var(--muted);font-size:12px}
.footer-socials>a:hover{color:var(--gold)}
@media(max-width:650px){.footer-socials{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px}.footer-socials>span{grid-row:auto;padding-top:0}.footer-socials>a{grid-column:1;flex-wrap:wrap}}
@media(forced-colors:active){.hero-logo img{filter:none}}

/* Waiting-room slate blue pairs with the existing warm gold accents. */
.team{background:#4d5e6b}
.team .section-head>p,.team-biography{color:#edf0ee}
.team-profile,.team .review-note{border-color:#9a9f94}
.team-portrait-placeholder{background:#596c79;border-color:#94a1a7}
.team-portrait-placeholder>small,.team-pending,.team .review-note{color:#e0e6e7}
.team-profile>img.provider-portrait{background:#596c79}
@media(forced-colors:active){.team,.team-portrait-placeholder{background:Canvas}.team .section-head>p,.team-biography,.team-portrait-placeholder>small,.team-pending,.team .review-note{color:CanvasText}}

/* Center each portrait and its caption beside the accompanying biography. */
.team-profile{display:grid;grid-template-columns:340px minmax(0,1fr);gap:52px;align-items:center}
.team-profile-person{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;padding:10px 25px}
.team-profile-person>.provider-portrait,.team-profile-person>.team-portrait-placeholder{width:140px;height:158px;flex-shrink:0;border-radius:4px;overflow:hidden}
.team-profile-person>img.provider-portrait{object-fit:contain;background:#596c79}
.team-profile-person>.provider-portrait-tommy{display:block;position:relative}
.team-profile-person .team-name{width:100%;max-width:290px}
.team-profile .provider-role{margin-top:10px}
@media(min-width:1500px){.team-profile{grid-template-columns:340px minmax(0,1fr)}}
@media(max-width:980px){.team-profile{grid-template-columns:240px minmax(0,1fr);gap:32px}.team-profile-person{padding:5px 10px}}
@media(max-width:650px){.team-profile{grid-template-columns:1fr;gap:25px;align-items:start}.team-profile-person{padding:0;gap:16px}.team-profile-person>.provider-portrait,.team-profile-person>.team-portrait-placeholder{width:140px;height:158px}.team-profile-person .team-name{max-width:100%}}

/* Larger portraits take advantage of the caption beneath each photo. */
.team-profile-person>.provider-portrait,.team-profile-person>.team-portrait-placeholder{width:190px;height:214px}
@media(max-width:980px){.team-profile-person>.provider-portrait,.team-profile-person>.team-portrait-placeholder{width:170px;height:192px}}
@media(max-width:650px){.team-profile-person>.provider-portrait,.team-profile-person>.team-portrait-placeholder{width:180px;height:203px}}

/* Ivory service cards with slate-blue headings and warm gold detailing. */
.care{background:#e6ecef}
.care .section-head h2{color:#425666}
.care .section-head>p{color:#52636f}
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;border:0}
.service-card{position:relative;padding:30px 32px;background:#fffdf7;border:1px solid #d1c39d;border-radius:8px;box-shadow:0 5px 18px #344c5e08}
.service-card .service-number{display:inline-block;color:#876b29;letter-spacing:.1em;margin-bottom:22px;font-size:12px}
.services .service-card h3{color:#425666;font-size:21px;font-weight:500;line-height:1.4;letter-spacing:-.035em;margin:0 0 18px}
.service-card>p{font-size:14px;line-height:1.85;color:#59646a;margin:0}
.care .service-note{color:#52636f;margin-top:30px}
@media(max-width:650px){.services{grid-template-columns:1fr;gap:16px}.service-card{padding:26px}.services .service-card h3{font-size:19px}.service-card .service-number{margin-bottom:16px}}
@media(forced-colors:active){.care,.service-card{background:Canvas;box-shadow:none}.care .section-head h2,.care .section-head>p,.services .service-card h3,.service-card>p,.care .service-note{color:CanvasText}.service-card{border-color:CanvasText}}

/* A soft mist-blue transition from the landscape to the slate team section. */
.intro{background:linear-gradient(160deg,#e8f0f1 0%,#dce8ec 52%,#bccdd7 100%)}
.intro h2,.intro .large-copy{color:#3e5361}
.intro-copy>p:not(.large-copy){color:#4d606a}
@media(forced-colors:active){.intro{background:Canvas}.intro h2,.intro .large-copy,.intro-copy>p:not(.large-copy){color:CanvasText}}

/* Interactive two-sided service cards. */
button.service-card{display:block;width:100%;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none;perspective:1200px;cursor:pointer;text-align:left;font-family:var(--sans);color:inherit}
.service-card-inner{display:grid;transform-style:preserve-3d;transition:transform .55s ease;min-height:315px}
.service-face{grid-area:1/1;display:flex;flex-direction:column;padding:30px 32px;border:1px solid #d1c39d;border-radius:8px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 5px 18px #344c5e08}
.service-front{background:#fffdf7;justify-content:center}
.service-back{background:#4d5e6b;transform:rotateY(180deg);color:#fffdf7}
.service-title{display:block;font-size:21px;font-weight:500;line-height:1.4;letter-spacing:-.035em;color:#425666;margin-bottom:18px}
.service-back .service-title{color:#e6d19d;font-size:18px}
.service-description{display:block;font-size:14px;line-height:1.8;color:#f0f2ed}
.service-hint{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:#876b29;margin-top:25px}
.service-back .service-hint{color:#e6d19d;margin-top:auto;padding-top:20px}
.service-card.is-flipped .service-card-inner{transform:rotateY(180deg)}
.service-card:focus-visible{outline:2px solid #80651d;outline-offset:6px}
@media(max-width:650px){.service-face{padding:26px}.service-card-inner{min-height:330px}.service-title{font-size:19px}}
@media(prefers-reduced-motion:reduce){.service-card-inner{transition:none}}
@media(forced-colors:active){.service-front,.service-back{background:Canvas;color:CanvasText}.service-title,.service-back .service-title,.service-description,.service-hint,.service-back .service-hint{color:CanvasText}}

/* Temporary stock photography adds a visual introduction to each service. */
.service-front{position:relative;overflow:hidden;padding:0;justify-content:flex-start}
.service-photo{width:100%;height:165px;object-fit:cover;filter:saturate(.72);flex-shrink:0}
.service-front .service-number{margin:20px 26px 10px}
.service-front .service-title{margin:0 26px 14px;font-size:20px}
.service-front .service-hint{margin:auto 26px 24px;padding-top:8px}
.service-card-inner{min-height:345px}
@media(max-width:650px){.service-card-inner{min-height:360px}.service-front .service-title{font-size:19px}}

/* Photo-led card fronts with a compact title band below. */
.service-card-inner{min-height:420px}
.service-photo{height:315px}
.service-front .service-number{display:none}
.service-front .service-title{margin:16px 24px 6px;font-size:19px;line-height:1.3}
.service-front .service-hint{margin:auto 24px 15px;padding-top:0;font-size:11px}
@media(max-width:650px){.service-card-inner{min-height:400px}.service-photo{height:300px}.service-front .service-title{font-size:18px;margin-top:14px}}

/* Trim the stray cactus at the upper-left edge of the hero. */
.hero-background{transform:scale(1.045);transform-origin:center center}

/* Quiet button outlines make the navigation easier to recognize. */
nav{gap:10px}
nav a{display:inline-block;padding:8px 12px;border:1px solid #d6dfe2;border-radius:5px;background:#f1f5f5;color:#405563;line-height:1.5;transition:background-color .18s,border-color .18s}
nav a:hover{background:#e4ecef;border-color:#aebdc5;color:#354a58}
nav .nav-cta{padding:8px 12px;border:1px solid #c9b575;background:#f7f2e6;color:#67521f}
nav .nav-cta:hover{background:#efe6ce;border-color:#a88b45}
@media(max-width:980px){nav.open{gap:12px}nav a{padding:10px 14px}}
@media(prefers-reduced-motion:reduce){nav a{transition:none}}
@media(forced-colors:active){nav a,nav .nav-cta{background:ButtonFace;color:ButtonText;border-color:ButtonText}}

/* A broader, shorter introduction makes better use of the section. */
.intro-copy{max-width:780px;margin:32px 0 0 auto}
.intro{padding-top:80px;padding-bottom:65px}
.intro-copy>p:not(.large-copy){line-height:1.75;margin-bottom:20px}
@media(max-width:980px){.intro-copy{max-width:100%;margin-top:30px}}
@media(max-width:650px){.intro{padding-top:55px;padding-bottom:50px}.intro-copy{margin-top:26px}}

/* A glimpse of the real clinic accompanies the practice introduction. */
.intro-photo{display:block;width:100%;height:340px;object-fit:cover;object-position:center 57%;margin-top:36px;border-radius:6px}
@media(max-width:650px){.intro-photo{height:250px;margin-top:28px}}

/* Photography from the clinic: spacious views and quiet material details. */
.intro-photo{height:clamp(300px,42vw,540px);object-position:center 62%}
.clinic-gallery{background:#faf7ef;color:#405563}
.clinic-gallery .section-head{align-items:end}
.clinic-gallery .section-head>p{color:#596975;max-width:430px}
.clinic-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.clinic-photo{margin:0;min-width:0}
.clinic-photo-wide{grid-column:span 2}
.clinic-photo img{display:block;width:100%;height:300px;object-fit:cover;border-radius:5px}
.clinic-photo-wide img{height:400px;object-position:center 52%}
.clinic-photo-wide+.clinic-photo img{height:400px;object-position:center}
.clinic-photo-art{grid-column:span 2}
.clinic-photo-art img{object-position:center 52%}
.clinic-photo figcaption,.arrival-photo figcaption{font-size:12px;line-height:1.6;color:#705c32;margin-top:12px}
.arrival-photo{margin:28px 0 24px;max-width:360px}
.arrival-photo img{display:block;width:100%;height:195px;object-fit:cover;object-position:center 60%;border-radius:4px}
.location-photo img{object-position:center}
@media(max-width:980px){.clinic-photo-grid{gap:20px}.clinic-photo img{height:240px}.clinic-photo-wide img,.clinic-photo-wide+.clinic-photo img{height:320px}}
@media(max-width:650px){.intro-photo{height:290px}.clinic-photo-grid{grid-template-columns:1fr;gap:28px}.clinic-photo-wide,.clinic-photo-art{grid-column:auto}.clinic-photo img,.clinic-photo-wide img,.clinic-photo-wide+.clinic-photo img{height:280px}.clinic-photo-art img{height:340px}.clinic-gallery .section-head{display:block}.clinic-gallery .section-head>p{margin-top:24px}.arrival-photo{max-width:100%}.arrival-photo img{height:220px}}

/* Keep clinic contact visible at the very top of the page. */
.preview-bar{align-items:center;flex-wrap:wrap;background:#4d5e6b;color:#fffdf7;padding-top:10px;padding-bottom:10px;gap:8px 20px}.top-phone{font-weight:600;white-space:nowrap;color:#f0dbac}.top-phone:hover,.footer-phone:hover{text-decoration:underline}.location-phone{margin-top:22px}.footer-phone{display:inline-block;font-size:15px;margin-top:12px;line-height:1.6}

/* Room views expand the caption-free clinic gallery. */
.clinic-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clinic-photo-art{grid-column:auto}.clinic-photo img,.clinic-photo-wide+.clinic-photo img{height:380px}.clinic-photo-wide img{height:440px}
@media(max-width:650px){.clinic-photo-grid{grid-template-columns:1fr}.clinic-photo-wide{grid-column:auto}.clinic-photo img,.clinic-photo-wide img,.clinic-photo-wide+.clinic-photo img{height:340px}}

/* Keep the clinic label close to its photo gallery. */
.clinic-gallery .section-head{align-items:flex-end;margin-bottom:28px}
.clinic-gallery .section-head .eyebrow{margin-bottom:5px}

/* Show the infusion chair and adjacent IV pole. */
.service-photo[src="clinic-iv-infusion-chair.jpeg"]{object-position:35% 85%}

/* Phone contact shares the main navigation row. */
header{justify-content:space-between}
header>.top-phone{color:#705c32;font-size:13px;margin-right:auto}
@media(max-width:650px){header>.top-phone{font-size:12px}}

/* A sky-blue navigation band fades into the landscape below. */
header{background:linear-gradient(180deg,rgba(222,236,244,.5),rgba(222,236,244,0)),linear-gradient(105deg,#6088a7 0%,#628ab0 50%,#78abd0 100%);border-bottom:1px solid rgba(230,242,249,.2)}
header>.top-phone{color:#fff8e7;text-shadow:0 1px 2px rgba(28,54,74,.25)}
header nav a{background:rgba(242,248,252,.88);border-color:rgba(239,247,251,.6)}
header nav .nav-cta{background:rgba(250,242,222,.95);border-color:#d2bc7d}
.menu-toggle{color:#fff8e7}
@media(max-width:980px){header nav{background:linear-gradient(135deg,#6088a7,#78abd0)}}
@media(forced-colors:active){header,header nav{background:Canvas}header>.top-phone,.menu-toggle{color:CanvasText;text-shadow:none}header nav a,header nav .nav-cta{background:ButtonFace;border-color:ButtonText;color:ButtonText}}

/* Navigation floats directly over the hero sky. */
header{position:absolute;top:0;left:0;right:0;z-index:10;background:transparent;border-bottom:0}
.hero{padding-top:62px}
@media(max-width:980px){.hero{padding-top:58px}header nav{background:rgba(96,136,167,.97)}}
@media(max-width:650px){.hero{padding-top:54px}}
@media(forced-colors:active){header{background:Canvas}}

/* An understated, contemporary introduction headline. */
.intro h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.1rem,4.2vw,3.7rem);font-weight:400;letter-spacing:-.045em;line-height:1.16;max-width:760px}

/* A quiet brass social rail stays within the desktop page gutter. */
.social-dock{
 position:fixed;z-index:9;left:0;top:50%;transform:translateY(-50%);
 display:flex;flex-direction:column;align-items:center;padding:5px 3px;
 color:#705721;background:#fffdf7;border:1px solid #cbb677;border-left:0;
 border-radius:0 12px 12px 0;box-shadow:2px 4px 18px #263d4d18;
}
.social-dock-links{display:flex;flex-direction:column;gap:2px}
.social-dock-links[hidden],.social-dock-toggle[hidden]{display:none}
.social-dock-link,.social-dock-toggle{
 display:flex;align-items:center;justify-content:center;width:44px;height:44px;
 flex-shrink:0;padding:0;border:0;border-radius:7px;background:transparent;
 color:inherit;cursor:pointer;touch-action:manipulation;
 transition:background-color .18s,color .18s;
}
.social-dock-link:hover,.social-dock-toggle:hover{background:#eee5cd;color:#4f3b15}
.social-dock-link:focus-visible,.social-dock-toggle:focus-visible{outline:2px solid #705721;outline-offset:-3px;background:#f3ecd9}
.social-dock-link svg,.social-dock-toggle svg{flex-shrink:0}
.social-dock-toggle{margin-top:4px;border-top:1px solid #e4d8b7;border-radius:0 0 7px 7px}
.social-dock-connect,.social-dock-toggle-label{display:none}
.social-dock[data-collapsed="true"] .social-dock-toggle{margin-top:0;border-top:0;border-radius:7px}
.social-dock[data-collapsed="true"] .social-dock-chevron{display:none}
.social-dock[data-collapsed="true"] .social-dock-connect{display:block}
/* On smaller screens, a collapsible bottom-left dock keeps the reading column clear. */
@media(max-width:1099px){
 html{scroll-padding-bottom:100px}
 body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
 .social-dock{
  top:auto;bottom:max(12px,env(safe-area-inset-bottom,0px));left:max(12px,env(safe-area-inset-left,0px));
  transform:none;flex-direction:row;padding:4px;border-left:1px solid #cbb677;border-radius:12px;
 }
 .social-dock-links{flex-direction:row}
 .social-dock-toggle{margin-top:0;margin-left:4px;border-top:0;border-left:1px solid #e4d8b7;border-radius:0 7px 7px 0}
 .social-dock[data-collapsed="true"] .social-dock-toggle{margin-left:0;border-left:0;width:auto;gap:8px;padding:0 10px}
 .social-dock[data-collapsed="true"] .social-dock-toggle-label{display:block;font:500 11px var(--sans);letter-spacing:.02em}
 .social-dock-chevron{transform:rotate(-90deg)}
}
@media(prefers-reduced-motion:reduce){.social-dock-link,.social-dock-toggle{transition:none}}
@media(forced-colors:active){
 .social-dock{background:Canvas;color:LinkText;border-color:ButtonText;box-shadow:none}
 .social-dock-toggle{border-color:ButtonText;color:ButtonText}
 .social-dock-link:hover,.social-dock-toggle:hover,.social-dock-link:focus-visible,.social-dock-toggle:focus-visible{background:Canvas;color:LinkText;outline-color:Highlight}
}
@media print{.social-dock{display:none}body{padding-bottom:0}}

/* Ivory, charcoal, navy, and gold drawn from the clinic artwork. */
:root{--art-navy:#253b55;--art-charcoal:#34383d;--art-ivory:#faf7ef}
.team,.service-back{background:var(--art-navy)}
.team-portrait-placeholder,.team-profile-person>img.provider-portrait{background:#354b63}
.clinic-gallery{background:var(--art-ivory);color:var(--art-charcoal)}
.clinic-photo-added img{height:auto;aspect-ratio:4/3;object-fit:contain;background:#eeeae2}
@media(max-width:650px){.clinic-photo-added img{height:auto;aspect-ratio:auto}}

/* Small brass markers for selected secondary headings. */
.section-heading-accent{display:flex;align-items:baseline;gap:.24em}
.section-heading-accent>span:last-child{min-width:0}
.heading-hash{flex:none;color:var(--gold);font-size:.46em;font-weight:400;line-height:1;letter-spacing:0}
.team .heading-hash{color:var(--gold-brass)}
@media(forced-colors:active){.heading-hash,.team .heading-hash{color:CanvasText}}

/* An interlocking clinic mosaic, with room views sized to their composition. */
#clinic .clinic-photo-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:repeat(11,clamp(48px,6vw,82px));
  gap:clamp(10px,1.5vw,20px);
  grid-template-areas:
    "waiting waiting waiting waiting waiting waiting waiting xerf xerf xerf xerf xerf"
    "waiting waiting waiting waiting waiting waiting waiting xerf xerf xerf xerf xerf"
    "waiting waiting waiting waiting waiting waiting waiting aesthetics aesthetics aesthetics aesthetics aesthetics"
    "waiting waiting waiting waiting waiting waiting waiting aesthetics aesthetics aesthetics aesthetics aesthetics"
    "gold gold gold gold massage massage massage massage massage care care care"
    "gold gold gold gold massage massage massage massage massage care care care"
    "gold gold gold gold massage massage massage massage massage care care care"
    "gold gold gold gold massage massage massage massage massage care care care"
    "private private private art art art hallway hallway hallway hallway hallway hallway"
    "private private private art art art hallway hallway hallway hallway hallway hallway"
    "private private private art art art hallway hallway hallway hallway hallway hallway";
}
#clinic .clinic-photo{min-height:0;overflow:hidden;grid-column:auto}
#clinic .clinic-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;background:transparent;border-radius:5px}
#clinic .clinic-photo-waiting{grid-area:waiting}
#clinic .clinic-photo-xerf{grid-area:xerf}
#clinic .clinic-photo-aesthetics{grid-area:aesthetics}
#clinic .clinic-photo-gold{grid-area:gold}
#clinic .clinic-photo-massage{grid-area:massage}
#clinic .clinic-photo-care{grid-area:care}
#clinic .clinic-photo-private{grid-area:private}
#clinic .clinic-photo-art{grid-area:art}
#clinic .clinic-photo-hallway{grid-area:hallway}
#clinic .clinic-photo-xerf img{object-position:center 60%}
@media(max-width:650px){
  #clinic .clinic-photo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(9,clamp(90px,27vw,150px));
    gap:10px;
    grid-template-areas:
      "waiting waiting"
      "waiting waiting"
      "xerf aesthetics"
      "xerf aesthetics"
      "gold massage"
      "gold care"
      "private art"
      "private art"
      "hallway hallway";
  }
}

/* Section markers belong with the larger section subtitles. */
main .eyebrow{font-size:clamp(18px,2.4vw,22px);font-weight:500;letter-spacing:.1em;line-height:1.5}
.subtitle-hash{display:inline-block;margin-right:0;letter-spacing:0}
.team .eyebrow{color:var(--gold-brass)}
@media(max-width:650px){main .eyebrow{font-size:18px}}

/* A compact introduction above the team profiles. */
#team{padding-top:64px}
#team .section-head{margin-bottom:28px}
#team .section-head .eyebrow{margin-bottom:16px}
@media(max-width:650px){#team{padding-top:44px}#team .section-head{margin-bottom:24px}}

/* Brighten the XERF handpiece in the aesthetics service card. */
.service-photo[src="clinic-xerf-handpiece.jpeg"]{filter:brightness(1.3) saturate(.9);object-position:center 60%}

/* Soft, line-by-line gold emphasis for the section introductions. */
.intro-highlight{
  background:linear-gradient(transparent 12%,rgba(210,177,91,.23) 12%,rgba(210,177,91,.23) 92%,transparent 92%);
  padding:.12em .3em;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  border-radius:3px;
}
@media(forced-colors:active){.intro-highlight{background:none;padding:0}}

/* Keep the plaza fountain in view in the tall location panel. */
.location-photo img{object-position:65% center}

/* Center the illuminated plaza beneath the mountain backdrop. */
.location-photo img{object-position:50% center}

/* Public Instagram photo gallery */
.instagram-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.instagram-photo-grid a{display:block;color:inherit;text-decoration:none}.instagram-photo-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:3px}.instagram-photo-grid span{display:block;padding-top:12px;font-size:13px}.instagram-photo-grid a:focus-visible{outline:2px solid #b59659;outline-offset:6px}.instagram-gallery .section-head{align-items:end}.instagram-gallery h2{max-width:650px}@media(max-width:650px){.instagram-photo-grid{grid-template-columns:1fr;gap:30px}.instagram-photo-grid img{max-height:520px}.instagram-gallery .section-head{display:block}.instagram-gallery .section-head>a{display:inline-block;margin-top:20px}}

.service-photo[src="clinic-xerf-handpiece-bright.jpg"]{filter:none;object-position:center 60%}

/* Asymmetric photo-card composition, with Xerf as the anchor. */
.services-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:stretch}
.services-mosaic .service-card{grid-column:span 4;min-width:0}
.services-mosaic .service-card-inner{height:360px;min-height:0}
.services-mosaic .service-face{border-radius:3px}
.services-mosaic .service-photo{height:245px}
.services-mosaic .service-card:nth-child(1){grid-column:1 / span 5;grid-row:1}
.services-mosaic .service-card:nth-child(2){grid-column:6 / span 7;grid-row:1 / span 2}
.services-mosaic .service-card:nth-child(3){grid-column:1 / span 5;grid-row:2}
.services-mosaic .service-card:nth-child(1) .service-card-inner,.services-mosaic .service-card:nth-child(3) .service-card-inner{height:285px}
.services-mosaic .service-card:nth-child(1) .service-photo,.services-mosaic .service-card:nth-child(3) .service-photo{height:180px}
.services-mosaic .service-card:nth-child(2) .service-card-inner{height:594px}
.services-mosaic .service-card:nth-child(2) .service-photo{height:474px;object-position:center 58%}
.services-mosaic .service-card:nth-child(2) .service-title{font-size:25px}
.services-mosaic .service-card:nth-child(7),.services-mosaic .service-card:nth-child(8){grid-column:span 6}
.services-mosaic .service-front .service-title{font-size:18px;margin:15px 22px 5px}
.services-mosaic .service-front .service-hint{margin:auto 22px 16px}
.services-mosaic .service-back{padding:26px}
.services-mosaic .service-description{font-size:13px;line-height:1.7}
.services-mosaic .service-back .service-title{font-size:20px}
@media(min-width:1000px){.services-mosaic .service-card:nth-child(5){transform:translateY(25px)}.services-mosaic{row-gap:40px}.services-mosaic .service-card:nth-child(2) .service-card-inner{height:610px}}
@media(max-width:760px){.services-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.services-mosaic .service-card:nth-child(n){grid-column:auto;grid-row:auto;transform:none}.services-mosaic .service-card:nth-child(n) .service-card-inner{height:360px}.services-mosaic .service-card:nth-child(n) .service-photo{height:230px}.services-mosaic .service-card:nth-child(2) .service-title{font-size:18px}}
@media(max-width:520px){.services-mosaic{grid-template-columns:1fr;gap:26px}.services-mosaic .service-card:nth-child(n) .service-card-inner{height:390px}.services-mosaic .service-card:nth-child(n) .service-photo{height:275px}}

/* Keep the lead trio; align all supporting cards to one consistent rhythm. */
@media(min-width:761px){
.services-mosaic .service-card:nth-child(n+4){grid-column:span 4;transform:none}
.services-mosaic .service-card:nth-child(n+4) .service-card-inner{height:380px}
.services-mosaic .service-card:nth-child(n+4) .service-photo{height:245px}
.services-mosaic .service-card:nth-child(n+4) .service-front .service-title{min-height:50px;line-height:1.4}
.services-mosaic .service-card:nth-child(7){grid-column:3 / span 4}
.services-mosaic .service-card:nth-child(8){grid-column:7 / span 4}
}

/* A second, mirrored feature gives weight management equal emphasis. */
@media(min-width:761px){
.services-mosaic .service-card:nth-child(4){grid-column:1 / span 7;grid-row:3 / span 2}
.services-mosaic .service-card:nth-child(5){grid-column:8 / span 5;grid-row:3}
.services-mosaic .service-card:nth-child(6){grid-column:8 / span 5;grid-row:4}
.services-mosaic .service-card:nth-child(4) .service-card-inner{height:594px}
.services-mosaic .service-card:nth-child(4) .service-photo{height:474px}
.services-mosaic .service-card:nth-child(4) .service-front .service-title{font-size:25px;min-height:0}
.services-mosaic .service-card:nth-child(5) .service-card-inner,.services-mosaic .service-card:nth-child(6) .service-card-inner{height:285px}
.services-mosaic .service-card:nth-child(5) .service-photo,.services-mosaic .service-card:nth-child(6) .service-photo{height:180px}
.services-mosaic .service-card:nth-child(5) .service-front .service-title,.services-mosaic .service-card:nth-child(6) .service-front .service-title{min-height:0}
.services-mosaic .service-card:nth-child(7){grid-column:1 / span 6;grid-row:5}
.services-mosaic .service-card:nth-child(8){grid-column:7 / span 6;grid-row:5}
}
@media(min-width:1000px){.services-mosaic .service-card:nth-child(4) .service-card-inner{height:610px}}

/* Original Zocdoc provider stamp, centered across the section boundary. */
.patient-choice{position:relative;z-index:2;height:0;margin:0 7%;padding:0}
.patient-choice img{position:absolute;top:0;right:0;transform:translateY(-50%);display:block;width:250px;max-width:100%;height:auto}
@media(max-width:650px){.patient-choice img{width:200px}.intro.section{padding-top:125px}}
