@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--ink:#242a25;--accent:#c5ac7b;--paper:#f5f2eb;--muted:#71776d;--line:#d6d5c9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible{outline:3px solid #9b804c;outline-offset:7px}a:hover{text-decoration:underline;text-underline-offset:6px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}.header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background:#f5f2ebed;backdrop-filter:blur(18px);border-bottom:1px solid #242a2510}.brand{display:flex;align-items:center;gap:16px;font-size:19px;font-weight:500;line-height:1.3}.brand small{display:block;font-size:10px;letter-spacing:.24em;margin-top:7px}.monogram{font:italic 44px/1 'Playfair Display',Georgia,serif;letter-spacing:-5px;padding-right:7px;color:#8c794e}nav{display:flex;gap:38px;align-items:center;font-size:14px;font-weight:600}.nav-contact{border:1px solid #767d71;border-radius:50px;padding:11px 23px}.nav-contact span{margin-left:26px}.hero{min-height:740px;height:calc(100svh - 96px);max-height:1000px;position:relative;isolation:isolate;background:#242a25;color:#fff;overflow:hidden}.hero-copy{position:relative;z-index:3;width:68%;padding:clamp(75px,9vh,140px) 0 80px 6%}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:700;margin:0 0 27px;color:#807148}.hero .eyebrow{color:#e0cda8}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(68px,7.8vw,118px);line-height:1.1;letter-spacing:-.05em;margin:0 0 28px}h1 em{color:#dac397;font-weight:400}h2 em{color:#9c855c;font-weight:400}h2{font-size:clamp(38px,4.4vw,66px);line-height:1.2;letter-spacing:-.04em;margin:0}.intro{font-size:22px;line-height:1.5;margin:0 0 30px}.intro span{display:block;font-size:16px;color:#e0e2d9;margin-top:10px}.button{display:inline-flex;align-items:center;gap:30px;padding:16px 25px;border-radius:50px;background:var(--paper);color:var(--ink);font-size:14px;font-weight:700;transition:transform .25s,background .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);background:#fff;text-decoration:none;box-shadow:0 10px 35px #0002}.button span{font-size:21px;line-height:1}.sub-link{display:inline-flex;gap:22px;align-items:center;font-size:14px;padding:15px 20px;margin:15px 0 0 12px;border:1px solid #ffffff55;border-radius:50px}.hero-visual{position:absolute;inset:0;z-index:0}.portrait-wrap{position:absolute;inset:0 0 0 35%;overflow:hidden}.portrait{width:100%;height:100%;object-fit:cover;object-position:65% 33%;filter:saturate(.58);animation:arrive 1.6s ease-out both}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#202720 6%,#202720fa 25%,#202720a6 48%,#20272013 78%),linear-gradient(0deg,#1920198c,transparent 45%);pointer-events:none}.portrait-caption{position:absolute;right:5%;bottom:35px;z-index:2;border-top:1px solid #ffffff70;min-width:260px;padding-top:14px;font-size:17px}.portrait-caption small{display:block;font-size:12px;letter-spacing:.07em;color:#e1e2d8;margin-top:4px}.caption-mark{display:none}.vertical-label{position:absolute;bottom:35px;left:6%;z-index:4;color:#dadcd1;letter-spacing:.18em;font-size:10px}.address-bar{display:flex;justify-content:space-between;padding:27px 6%;border-bottom:1px solid var(--line);font-size:14px;background:#edeae1}.address-bar a{font-weight:600}.address-bar a span{margin-left:30px}.section{padding:110px 6%;max-width:1600px;margin:auto}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:30px}.section-heading .eyebrow{padding-top:15px}.muted{color:#8c7955;font-style:italic}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:68px}.service-grid article{border-top:1px solid #b6b8a9;padding:25px 0 8px;transition:transform .3s}.number{font-size:13px;color:#8c7955}.service-grid h3{font-size:29px;letter-spacing:-.03em;line-height:1.35;margin:27px 0 15px}.service-grid p{color:#61695e;margin:0;max-width:340px}.about{max-width:none;background:#eae8df;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-photo{position:relative;margin:0 0 24px}.about-photo img{display:block;width:100%;height:auto;aspect-ratio:4/4.6;object-fit:cover;filter:saturate(.6)}.about-photo:before{content:'';position:absolute;inset:25px -23px -25px 23px;border:1px solid #a4a38c;z-index:0}.about-photo img,.about-photo span{position:relative}.about-photo span{display:block;padding:13px 0;font-size:12px;letter-spacing:.07em;background:#eae8df}.about h2{font-size:clamp(60px,6.2vw,92px)}.about-lead{font-size:23px;line-height:1.55;margin:30px 0 20px}.about p:not(.eyebrow):not(.about-lead){color:#636b60;max-width:620px}.text-link{display:inline-block;font-weight:600;font-size:14px;margin-top:18px;padding-bottom:7px;border-bottom:1px solid #8c7955}.text-link span{margin-left:28px}.contact{max-width:none;background:#242c25;color:#f5f2eb;display:grid;grid-template-columns:1.5fr 1fr;gap:80px;position:relative}.contact .eyebrow{color:#dac397}.contact h2{font-size:clamp(52px,6.2vw,88px)}.contact h2 em{color:#dac397}.contact p{margin:25px 0 30px;color:#d0d4c8}.dark{color:#242c25;background:#eee9dc}.contact-info{border-left:1px solid #64705f;padding-left:60px;align-self:center}.info-label{font-size:12px;font-weight:600;letter-spacing:.2em;color:#dac397}.contact-info h3{font-size:36px;margin:18px 0 0}.contact-info p{font-size:21px;margin:6px 0 12px}.contact-note{max-width:280px;font-size:13px;margin-top:40px;color:#aeb7a5}footer{padding:40px 6%;display:flex;gap:30px;align-items:center;flex-wrap:wrap;font-size:12px;background:#1b211c;color:#b9c0b0}.footer-brand{color:#f5f2eb;display:block;font-size:22px;margin-right:auto;font-family:'Playfair Display',Georgia,serif}.footer-brand span{display:block;font:10px 'DM Sans',Arial,sans-serif;letter-spacing:.2em;margin-top:9px}footer details{max-width:470px}summary{cursor:pointer}.copyright{opacity:.75}.reveal{opacity:0;transform:translateY(25px);transition:opacity .85s ease,transform .85s ease}.reveal.is-visible{opacity:1;transform:none}.service-grid article:nth-child(2){transition-delay:.1s}.service-grid article:nth-child(3){transition-delay:.2s}@keyframes arrive{from{transform:scale(1.035)}to{transform:scale(1)}}@media(min-width:1600px){.hero-copy{padding-left:max(6%,calc((100vw - 1408px)/2))}}@media(max-width:1000px){.hero-copy{width:80%}.sub-link{display:flex;width:max-content;margin-left:0;margin-top:18px}.hero{min-height:820px}.portrait-wrap{left:20%}.hero-visual:after{background:linear-gradient(90deg,#202720f5 5%,#202720d9 30%,#20272055 75%)}.section{padding:80px 6%}.about{gap:8%}.service-grid{gap:25px}}@media(max-width:650px){html{scroll-padding-top:80px}.header{height:80px;padding:0 5%}.brand{font-size:16px;gap:10px}.monogram{font-size:34px}.brand small{font-size:9px}nav{gap:0}nav>a:not(.nav-contact){display:none}.nav-contact{padding:9px 14px;font-size:12px}.nav-contact span{margin-left:12px}.hero{height:auto;min-height:860px}.hero-copy{padding:64px 6% 290px;width:100%}.hero .eyebrow{font-size:10px}h1{font-size:clamp(62px,14vw,86px)}.intro{font-size:20px}.intro span{font-size:15px}.portrait-wrap{inset:0}.portrait{object-position:65% center}.hero-visual:after{background:linear-gradient(90deg,#202720e6,#20272085 65%,#20272033),linear-gradient(0deg,#202720cf,transparent 25%,#20272080 65%)}.portrait-caption{right:6%;left:6%;bottom:55px;min-width:0}.vertical-label{bottom:20px;font-size:9px}.button{font-size:13px;gap:22px}.sub-link{font-size:13px;padding:13px 20px}.address-bar{gap:8px;flex-direction:column;padding:23px 6%}.section{padding:65px 6%}.section-heading,.about{grid-template-columns:1fr;gap:10px}.section-heading .eyebrow{padding:0}.service-grid{grid-template-columns:1fr;margin-top:35px;gap:25px}.service-grid article{padding:20px 0}.service-grid h3{margin:12px 0;font-size:30px}.service-grid p{max-width:none}.about{gap:45px}.about-photo{margin:0 23px 0 0}.about-photo img{aspect-ratio:1/1.05}.about h2{font-size:64px}.about-lead{font-size:22px}.contact{grid-template-columns:1fr;gap:45px}.contact h2{font-size:64px}.contact-info{border-left:0;border-top:1px solid #64705f;padding:30px 0 0}.contact p br{display:none}footer{align-items:flex-start}.copyright{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Full-width rehabilitation photograph */
.portrait-wrap{inset:0}.portrait{object-position:center;filter:none}.hero-visual:after{background:linear-gradient(90deg,#202720e6 0%,#202720bd 28%,#20272026 65%,transparent 100%)}.portrait-caption{display:flex;align-items:center;gap:16px;padding:15px 22px;border:1px solid #e0cda844;border-radius:80px;background:#20272099;backdrop-filter:blur(16px)}.portrait-caption img{width:52px;height:52px;object-fit:cover;border-radius:50%;filter:saturate(.65)}.portrait{animation:float-art 16s ease-in-out infinite alternate}@keyframes float-art{from{transform:scale(1)}to{transform:scale(1.055) translateY(-8px)}}@media(max-width:650px){.hero-visual:after{background:linear-gradient(180deg,#202720b8,#2027206b 60%,#20272066)}.portrait{object-position:64% center}.portrait-caption{right:auto;max-width:88%;bottom:58px;font-size:15px}.portrait-caption small{font-size:11px}.hero-copy{padding-bottom:290px}}

.portrait{object-position:62% 48%;filter:saturate(.65);animation:arrive 1.6s ease-out both}.hero-visual:after{background:linear-gradient(90deg,#19231af2 0%,#19231ae0 28%,#19231a75 53%,#19231a26 77%),linear-gradient(0deg,#19231a73,transparent 45%)}@media(max-width:650px){.portrait{object-position:61% center}.hero-visual:after{background:linear-gradient(180deg,#19231ae0 0%,#19231ac9 47%,#19231a66 74%,#19231a99 100%)}}

/* Authentic photograph from the clinic Facebook page */
.portrait-wrap{left:17%}.portrait{object-position:40% 48%;filter:saturate(.85)}.hero-visual:after{background:linear-gradient(90deg,#19231a 0%,#19231af2 19%,#19231ac9 34%,#19231a3b 61%,#19231a14 100%),linear-gradient(0deg,#19231a73,transparent 45%)}@media(max-width:650px){.portrait-wrap{left:0}.portrait{object-position:36% center}.hero-visual:after{background:linear-gradient(180deg,#19231ae0 0%,#19231ac9 47%,#19231a66 74%,#19231a99 100%)}}

.address-bar{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px}.section-heading{display:block}

/* Navigation stays available on phones, including the certificates page. */
@media(max-width:650px){html{scroll-padding-top:142px}.header{height:auto;min-height:126px;display:flex;flex-wrap:wrap;align-content:center;gap:15px;padding-top:12px;padding-bottom:12px}.header .brand{width:100%}.header nav{width:100%;justify-content:space-between;gap:10px;font-size:13px}.header nav>a:not(.nav-contact){display:block}.header .nav-contact{padding:6px 12px;font-size:13px}.header .nav-contact span{margin-left:8px}}
@media(max-width:380px){.header nav{gap:8px}.header .nav-contact{padding:6px 8px}.header .nav-contact span{display:none}}

/* Service photographs sit above the existing service names and descriptions. */
.service-grid article{border-top:0;padding-top:0}
.service-image{position:relative;margin:0 0 22px;aspect-ratio:5/2;border-radius:8px;overflow:hidden;background:#e8e5dc;color:#fff}
.service-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.service-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111810bf 0%,#1118103b 48%,transparent 75%);pointer-events:none}
.service-image figcaption{position:absolute;inset:0;z-index:1;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:1fr auto;align-items:end;gap:8px 12px;padding:18px}
.service-icon{grid-column:1;grid-row:1;align-self:end;display:grid;place-items:center;width:42px;height:42px;border:1px solid #fff;border-radius:50%}
.service-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.service-image h3{grid-column:1 / 3;grid-row:2;margin:0;color:#fff;font-family:'DM Sans',Arial,sans-serif;font-size:20px;font-weight:400;line-height:1.25;letter-spacing:-.02em}
.service-arrow{grid-column:3;grid-row:2;display:grid;place-items:center;width:30px;height:30px;border:1px solid #fff;border-radius:50%;font-size:17px;line-height:1}
.service-grid article:nth-child(2) .service-image img{object-position:50% 65%}
.contact-map{width:min(100%,460px);height:190px;margin-top:24px;border:1px solid #71806d;border-radius:8px;overflow:hidden;background:#1b211c}.contact-map iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.72) contrast(.95)}
.contact-phone{display:inline-block;color:#f5f2eb;font-size:18px;font-weight:600;letter-spacing:.01em}.contact-phone:hover{color:#dac397;text-decoration:none}
.contact-info h3:first-child{margin-top:0}
.about-photo{width:75%;justify-self:center}
@media(max-width:650px){.service-image{margin-bottom:18px}.service-image figcaption{padding:15px}.service-icon{width:38px;height:38px}.service-image h3{font-size:19px}.service-grid{gap:32px}.service-grid article{padding-bottom:0}}
@media(max-width:650px){.about-photo{width:75%;margin-right:0}.contact-info p br{display:block}.contact-map{height:180px;margin-top:24px}}
