:root{
  --navy:#143151;--deep:#0f2945;--ink:#263d55;--muted:#5e7082;--red:#c71f2d;
  --line:#dbe4ea;--soft:#f4f7f9;--softblue:#eaf1f6;--white:#fff;
  --serif:Georgia,'Times New Roman',serif;--sans:Arial,'DejaVu Sans',Helvetica,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--white);color:var(--ink);font:400 15px/1.72 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}
.svg-library{position:absolute;width:0;height:0;overflow:hidden}
h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{color:var(--navy)}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}
[hidden]{display:none!important}::selection{background:#e7bbc0;color:var(--deep)}
.container{width:min(1540px,calc(100% - 56px));margin-inline:auto}
.skip-link{position:fixed;z-index:999;top:-80px;left:15px;padding:14px 20px;background:#fff;color:var(--deep);border:2px solid var(--navy)}.skip-link:focus{top:15px}
.header{position:sticky;z-index:80;top:0;background:rgba(255,255,255,.98);border-bottom:1px solid #d4dde3;box-shadow:0 2px 11px rgba(11,29,48,.07)}
.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:block;flex-shrink:0}.brand img{width:257px;height:auto}.desktop-nav{display:flex;align-items:center;gap:21px;justify-content:flex-end;flex-wrap:nowrap}
.desktop-nav a{position:relative;display:inline-flex;align-items:center;min-height:48px;white-space:nowrap;color:#3b526a;font-size:12px;font-weight:600;letter-spacing:.005em;transition:color .2s}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--red)}.desktop-nav a.active::after{position:absolute;bottom:9px;left:0;right:0;background:var(--red);height:2px;content:''}
.menu-toggle{display:none;border:1px solid var(--line);background:white;color:var(--navy);width:45px;height:44px;padding:12px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:21px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{background:#fff;border-top:1px solid var(--line);padding:10px 5% 20px}.mobile-nav a{display:block;color:var(--navy);padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.eyebrow{display:flex;align-items:center;gap:14px;color:#59708b;font-size:11px;font-weight:700;letter-spacing:.095em;line-height:1.5}
.red-dash{display:inline-block;flex:0 0 27px;height:3px;background:var(--red)}
h1,h2{font:400 45px/1.19 var(--serif);letter-spacing:-.025em}h1 em,h2 em{font-style:normal}strong{font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:11px 19px;border:1px solid transparent;font-size:13px;font-weight:600;min-height:46px;transition:background .2s,color .2s,border-color .2s}
.btn span{font-size:18px;line-height:1;font-weight:400}.btn-navy{color:#fff;background:var(--deep)}.btn-navy:hover{background:#264d70}.btn-outline{border-color:#7c94a8;color:var(--navy);background:transparent}.btn-outline:hover{background:var(--navy);color:#fff}
.hero{display:grid;grid-template-columns:51% 49%;min-height:490px;background:#edf2f6}.hero-copy{display:flex;align-items:center;justify-content:flex-end;background:linear-gradient(103deg,#f2f6f9 0%,#f1f5f8 83%,#e2ebef 100%)}
.hero-copy-inner{width:calc(100% - max(28px,(100vw - 1540px)/2));padding:70px clamp(27px,3vw,55px) 73px 0}
.hero h1{font-size:clamp(37px,3.65vw,60px);line-height:1.12;margin:25px 0 23px;max-width:650px}
.hero-copy-inner>p:not(.eyebrow){font-size:15.5px;color:#435b75;max-width:530px;line-height:1.75;margin-bottom:23px}
.hero-visual{position:relative;min-width:0;overflow:hidden}.hero-visual::before{content:'';position:absolute;z-index:1;inset:0 auto 0 0;width:9%;pointer-events:none;background:linear-gradient(90deg,rgba(231,237,242,.72),transparent)}
.hero-visual img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:center 52%}
.principles{background:#fff;border-bottom:1px solid #e0e7eb}.principles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:30px;padding-bottom:30px}
.principle{display:flex;align-items:flex-start;gap:15px;padding:0 22px;border-right:1px solid var(--line)}.principle:first-child{padding-left:0}.principle:last-child{border:0;padding-right:0}.principle svg{width:32px;height:32px;flex:none;color:var(--navy);stroke-width:1.6}.principle strong{display:block;color:var(--navy);font-size:12.8px;line-height:1.42}.principle p{margin-top:4px;font-size:11.5px;line-height:1.52;color:#728195}
.section{padding:84px 0}.clinic-intro{background:linear-gradient(#f4f7f9,#f7f9fa);padding-bottom:44px}
.clinic-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:clamp(42px,5vw,84px)}.clinic-main h2{margin:15px 0 26px}
.clinic-main>p:not(.eyebrow){font-size:15px;line-height:1.85;margin-top:17px;color:#52677c;max-width:1020px}.clinic-main strong{color:var(--navy)}.inline-link{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#b1bcc9}.inline-link:hover{color:var(--red)}
.clinic-card{padding:27px 29px;background:#eaf0f4;border:1px solid #e3ebee;box-shadow:0 8px 34px rgba(22,48,75,.025)}
.info-row{display:grid;grid-template-columns:32px 1fr;gap:20px;padding:0 0 25px;margin-bottom:23px;border-bottom:1px solid #c7d4dc}.info-row:nth-child(3){margin-bottom:13px;padding-bottom:12px;border-bottom:0}.info-row svg{width:27px;height:27px;color:var(--navy)}
.info-row strong{display:block;font-size:12.8px;color:var(--navy);line-height:1.5}.info-row p{font-size:12.7px;color:#526c82;line-height:1.6;margin-top:4px}.info-row a{text-decoration:underline;text-underline-offset:3px}.info-row a:hover{color:var(--red)}
.card-contact{display:flex;justify-content:space-between;gap:15px;font-size:11.7px;font-weight:700;color:var(--navy);padding-top:12px;border-top:1px solid #cbd6dc}.card-contact:hover{color:var(--red)}
.services{padding-top:43px;padding-bottom:89px;background:#f7f9fa}.services-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:28px}.services h2{font-size:37px;margin-top:14px}.services-heading>p{max-width:365px;color:#62758a;font-size:13px;line-height:1.8}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:66px;row-gap:0;padding-top:21px}.service{display:grid;grid-template-columns:50px 1fr;gap:19px;min-height:102px;align-items:center;padding:19px 0;border-bottom:1px solid #e2e8ed}.service p{color:#465e77;font-size:14px;line-height:1.72}
.service-icon{width:47px;height:47px;border-radius:50%;display:grid;place-items:center;color:#fff}.service-icon.navy{background:var(--navy)}.service-icon.red{background:#c71829}.service-icon svg{width:23px;height:23px;stroke-width:1.7}
.clinical-note{margin-top:28px;padding-top:20px;display:flex;flex-wrap:wrap;gap:12px 22px;color:#758396;font-size:12px}.clinical-note strong{color:var(--navy)}
.about{padding:100px 0;background:#fff}.about-grid{display:grid;grid-template-columns:345px minmax(0,1fr);align-items:center;gap:clamp(48px,5vw,85px)}
.doctor-photo{align-self:start}.doctor-photo img{width:100%;height:390px;object-fit:cover;object-position:center 31%;background:#e8ecf0;border:1px solid #e1e5e9}.doctor-photo figcaption{font-size:10px;letter-spacing:.075em;color:#728197;padding:12px 0;border-bottom:1px solid #dce4e9}
.about h2{font-size:39px;margin:16px 0 22px}.about-copy>p:not(.eyebrow){font-size:14px;color:#526980;line-height:1.85;margin-bottom:14px;max-width:990px}.about-copy strong{color:var(--navy)}
.bio-details{margin-top:27px}.bio-details summary{display:flex;justify-content:space-between;align-items:center;width:max-content;max-width:100%;gap:32px;padding:9px 17px;border:1px solid #9db0c1;color:var(--navy);font-size:12.6px;font-weight:600;list-style:none;cursor:pointer}.bio-details summary::-webkit-details-marker{display:none}.bio-details summary span{font-size:20px;font-weight:400}.bio-details[open] summary span{transform:rotate(45deg)}.bio-details-content{padding:20px 0 0}.bio-details-content p{color:#536c81;font-size:13px;line-height:1.8;margin-top:12px}
.gallery-section{background:#f6f8fa;border-top:1px solid #edf0f2;padding:79px 0 90px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:30px}.gallery-heading h2{margin-top:12px}.gallery-heading>p{max-width:365px;color:#697f91;font-size:13px}
.gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}.gallery-item{grid-column:span 2;position:relative;display:block;width:100%;height:245px;overflow:hidden;padding:0;border:0;background:#e7edf0;color:white;text-align:left}
.gallery-item:nth-child(1),.gallery-item:nth-child(2){grid-column:span 3;height:330px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery-item:hover img{transform:scale(1.045)}.gallery-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:27px 18px 14px;font-size:12px;font-weight:600;line-height:1.4;background:linear-gradient(transparent,rgba(8,27,41,.73))}.gallery-caption span{font-size:20px;font-weight:400}
.privacy-teaser{background:var(--softblue);border-block:1px solid #dce6ec;padding:73px 0}.privacy-grid{display:grid;grid-template-columns:54px 1.45fr 1fr;align-items:start;gap:30px}.privacy-icon{color:var(--navy)}.privacy-icon svg{width:46px;height:46px;stroke-width:1.45}
.privacy-copy h2{font-size:34px;line-height:1.28;margin:17px 0 15px}.privacy-copy>p:not(.eyebrow){font-size:13.5px;line-height:1.82;color:#536a7f;margin-bottom:15px}.privacy-copy .privacy-alert{border-left:3px solid var(--red);padding:9px 0 9px 17px}.privacy-copy .privacy-alert strong{color:var(--navy)}.privacy-copy .btn{margin-top:12px}
.privacy-topics{margin:0 0 0 30px;padding:0;list-style:none;border-left:1px solid #b8cad7}.privacy-topics li{display:flex;align-items:flex-start;gap:15px;padding:8px 20px;color:#39536c;font-size:12.8px;line-height:1.65}.privacy-topics li svg{flex:0 0 21px;width:21px;height:21px;color:var(--navy)}
.contact-section{padding:85px 0 97px;background:white}.contact-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}.contact-intro h2{margin-top:15px}.contact-intro>p{max-width:380px;color:#6b7d8c;font-size:13px}
.office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.office{border:1px solid #d8e3e8;background:#fafcfc;padding:32px 37px}.office-num{color:var(--red);font-size:11px;font-weight:700;letter-spacing:.12em}.office h3{font:400 26px/1.3 var(--serif);margin:15px 0 13px}.office>p{font-size:13px;line-height:1.85;color:#607488}.office-phone{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:20px;font-weight:700;color:var(--navy);width:max-content}.office-phone svg{width:19px;height:19px}.office-phone:hover{color:var(--red)}.office-map{display:inline-block;border-top:1px solid #dce5e9;margin-top:20px;padding-top:13px;color:#526c82;font-weight:600;font-size:12px}.office-map:hover{color:var(--red)}
.email-note{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-top:33px;padding:22px 0;border-top:1px solid var(--line)}.email-note>div{display:flex;gap:13px;align-items:center}.email-note>div svg{width:25px;height:25px;color:var(--navy)}.email-note>div span{display:flex;flex-direction:column;gap:2px}.email-note strong{font-size:12px;color:var(--navy)}.email-note a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}.email-note p{max-width:450px;font-size:12px;color:#6b7c8b}
.footer{background:var(--deep);color:#d4e2ed}.footer-main{display:grid;grid-template-columns:1.2fr .8fr 1.1fr 1fr;gap:37px;padding:63px 0 45px;border-bottom:1px solid rgba(255,255,255,.17)}.footer-main>div:first-child img{background:white;padding:6px;width:232px}.footer-main>div:first-child p{margin-top:18px;font-size:12px;line-height:1.8;color:#adbed0}.footer-main>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.footer-main strong{font:400 17px var(--serif);color:#fff;margin-bottom:13px}.footer-main a{font-size:12px;color:#c5d2dd;line-height:1.5;overflow-wrap:anywhere}.footer-main a:hover{color:#fff;text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding:22px 0 25px;font-size:11px;color:#aec1d0}.footer-bottom a{color:#fff}
.lightbox{border:0;padding:21px 26px 25px;background:#10283e;color:white;max-width:min(94vw,1040px);max-height:95vh;box-shadow:0 25px 75px #0008}.lightbox::backdrop{background:rgba(3,17,28,.87)}.lightbox img{max-height:calc(85vh - 95px);max-width:100%;object-fit:contain;margin:auto}.lightbox-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:10px}.lightbox-controls button{background:none;color:white;border:1px solid #9aadb9;min-width:37px;height:37px}.lightbox-controls button:hover{background:#34536b}.lightbox-controls span{font-size:12px;letter-spacing:.12em;margin:0 12px}.lightbox p{text-align:center;font-size:12px;padding-top:14px;color:#d7e4ea}
/* Secondary pages inherit the same visual language. The authored security copy is unchanged. */
.topline{display:none}.nav-wrap{height:94px;display:flex;align-items:center;justify-content:space-between}.identity{display:flex;align-items:center;gap:10px;font:400 20px var(--serif);color:var(--navy)}.identity-mark{display:none}.identity-copy{display:flex;flex-direction:column}.identity-name{font:400 23px/1.25 var(--serif)}.identity-specialty{font:600 10px var(--sans);letter-spacing:.05em}.nav-contact{display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--navy);padding:10px 14px;border:1px solid var(--line)}.nav-contact:hover{color:var(--red)}
.legal-hero{background:var(--softblue);padding:75px 0 65px}.legal-hero h1{font-size:clamp(33px,4vw,53px);margin-top:20px}.legal-hero p{color:#64788c;font-size:14px;margin-top:18px}.section-tag{font-size:11px;font-weight:700;letter-spacing:.08em;color:#697f93}.section-tag span{color:var(--red);margin-right:9px}.legal-content{max-width:850px;padding-top:65px;padding-bottom:100px}.legal-content h2{font-size:27px;line-height:1.4;margin:34px 0 10px}.legal-content p{font-size:14px;color:#536a7f;line-height:1.95;margin:0 0 16px}.legal-content a,.data-document-body a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}.legal-draft{padding:20px 23px;border-left:3px solid var(--red);background:var(--soft)}.legal-back{display:inline-block;margin-top:25px}
.data-document-grid{display:grid;grid-template-columns:235px minmax(0,1fr);gap:7%;padding:65px 0 110px}.data-document-aside{position:sticky;top:120px;align-self:start;border-top:2px solid #c6d4df;padding-top:20px}.data-document-aside>span{color:#677f90;font-size:11px;font-weight:700;letter-spacing:.1em}.data-document-aside ol{padding:0;list-style:none;margin:18px 0 25px}.data-document-aside li{border-bottom:1px solid var(--line)}.data-document-aside li a{display:block;padding:12px 0;color:#526c82;font-size:12px}.data-document-aside li a:hover{color:var(--red)}.data-document-aside>a{font-size:12px;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.data-document-body{min-width:0}.data-document-body .security-lead{font:400 23px/1.55 var(--serif);color:var(--navy);margin-bottom:28px}.data-document-section{border-top:1px solid var(--line);padding-top:30px;margin-top:32px}.data-document-number{color:var(--red);font-size:11px;font-weight:700;letter-spacing:.1em}.data-document-section h3{font:400 27px/1.35 var(--serif);margin:12px 0 22px}.data-document-section p{font-size:14px;line-height:1.92;color:#52697d;margin-top:13px}.data-document-final{background:var(--softblue);border-left:3px solid var(--red);padding:24px 27px;margin-top:34px}.data-document-final strong{font:400 21px/1.45 var(--serif);color:var(--navy)}.data-document-final p{font-size:13px;line-height:1.8;margin-top:10px}.data-document-back{margin-top:30px;font-size:12px}
/* Medium desktop and tablet */
@media(max-width:1250px){.desktop-nav{gap:13px}.desktop-nav a{font-size:11px}.brand img{width:222px}.header-inner{gap:20px}.clinic-layout{gap:45px}.hero-copy-inner{padding-right:30px}}
@media(max-width:1050px){.desktop-nav{display:none}.menu-toggle{display:flex}.header-inner{height:79px}.brand img{width:244px}.hero{min-height:455px}.hero h1{font-size:44px}.hero-copy-inner{padding:55px 23px 55px 0;width:calc(100% - 43px)}.principle{gap:10px;padding-inline:14px}.principle svg{width:27px;height:27px}.principle strong{font-size:11.7px}.principle p{font-size:10.8px}.clinic-layout{grid-template-columns:minmax(0,1fr) 290px;gap:27px}.about-grid{grid-template-columns:280px 1fr;gap:45px}.privacy-grid{grid-template-columns:44px 1.4fr 1fr;gap:17px}.privacy-topics{margin-left:5px}.footer-main{gap:20px}}
@media(max-width:760px){
 .container{width:calc(100% - 40px)}.header-inner{height:73px}.brand img{width:210px}
 h1,h2{font-size:37px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{order:2;display:block}.hero-copy-inner{width:auto;padding:39px 20px 49px;margin:auto}.hero-visual{order:1;height:250px}.hero-visual::before{display:none}.hero-visual img{object-position:center 54%}.hero h1{font-size:clamp(35px,8vw,46px);margin:16px 0 16px}.hero-copy-inner>p:not(.eyebrow){font-size:14px}
 .eyebrow{font-size:9.8px;letter-spacing:.05em;gap:10px}.red-dash{flex-basis:22px}
 .principles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding-block:12px}.principle{padding:21px 12px;border-right:0;border-bottom:1px solid var(--line)}.principle:nth-child(odd){border-right:1px solid var(--line);padding-left:0}.principle:nth-child(even){padding-right:0}.principle:nth-child(n+3){border-bottom:0}
 .section{padding:61px 0}.clinic-layout{grid-template-columns:1fr;gap:29px}.clinic-main h2{margin:13px 0 21px}.clinic-main>p:not(.eyebrow){font-size:13.5px}.clinic-card{padding:23px}.services{padding-top:12px}.services-heading,.gallery-heading,.contact-intro{display:block}.services h2{font-size:32px}.services-heading>p,.gallery-heading>p,.contact-intro>p{max-width:none;margin-top:16px}.service-grid{grid-template-columns:1fr}.service{min-height:76px;grid-template-columns:43px 1fr;gap:14px;padding:14px 0}.service-icon{width:42px;height:42px}.service-icon svg{width:21px;height:21px}.service p{font-size:13.2px}.clinical-note{display:block}.clinical-note span{display:block;margin-top:6px}
 .about-grid{grid-template-columns:1fr;gap:36px}.doctor-photo{max-width:390px}.doctor-photo img{height:380px}.about h2{font-size:35px}.about-copy>p:not(.eyebrow){font-size:13.5px}
 .gallery-heading h2{font-size:36px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.gallery-item,.gallery-item:nth-child(1),.gallery-item:nth-child(2){grid-column:span 1;height:172px}.gallery-item:first-child{grid-column:span 2;height:245px}.gallery-caption{font-size:10px;padding:22px 9px 10px}.gallery-caption span{font-size:16px}
 .privacy-teaser{padding:55px 0}.privacy-grid{grid-template-columns:40px 1fr;gap:12px}.privacy-copy h2{font-size:30px}.privacy-icon svg{width:32px;height:32px}.privacy-topics{grid-column:1 / -1;margin:20px 0 0;border-left:0;border-top:1px solid #c6d4df;padding-top:12px}.privacy-topics li{font-size:12px;padding:7px 5px}
 .contact-section{padding:62px 0}.contact-intro h2{font-size:36px}.office-grid{grid-template-columns:1fr;gap:14px}.office{padding:23px}.office h3{font-size:24px}.email-note{align-items:start;flex-direction:column}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 20px;padding:48px 0 34px}.footer-main>div:first-child img{width:205px}.footer-bottom{flex-direction:column;gap:11px}.lightbox{padding:10px 12px 17px}.lightbox-controls{gap:6px}.lightbox-controls button{min-width:32px;height:32px}
 .nav-wrap{height:74px}.identity-name{font-size:20px}.identity-specialty{font-size:8px}.nav-contact{font-size:11px}.legal-hero{padding:51px 0}.legal-content{padding:45px 0 75px}.legal-content h2{font-size:24px}.data-document-grid{grid-template-columns:1fr;gap:30px;padding:38px 0 76px}.data-document-aside{position:static}.data-document-aside ol{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.data-document-body .security-lead{font-size:21px}.data-document-section h3{font-size:24px}.data-document-section p{font-size:13.3px}
}
@media(max-width:400px){.container{width:calc(100% - 32px)}.brand img{width:190px}.hero-visual{height:220px}.hero h1{font-size:34px}.principle{gap:9px}.principle svg{width:23px;height:23px}.principle strong{font-size:11px}.principle p{font-size:10px}.gallery-item,.gallery-item:nth-child(1),.gallery-item:nth-child(2){height:139px}.gallery-item:first-child{height:210px}.footer-main{grid-template-columns:1fr}.data-document-aside ol{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Shared legal-page footer and official logo */
.site-footer{background:var(--deep);color:#d4e2ed}
.site-footer .footer-bottom{padding:25px 0;align-items:center}
.site-footer .footer-bottom a{color:white}
@media(max-width:760px){.site-footer .footer-bottom{align-items:flex-start}}

.policy-page{background:#fff}
.policy-hero{background:linear-gradient(110deg,#eff4f7 0%,#f7fafb 66%,#fff 100%);border-bottom:1px solid var(--line);padding:74px 0 63px}
.policy-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;color:#607993;display:flex;align-items:center;gap:13px}
.policy-eyebrow span{height:2px;width:28px;background:var(--red)}
.policy-hero h1{font:400 clamp(38px,4.4vw,63px)/1.14 var(--serif);margin:25px 0 20px;letter-spacing:-.023em}
.policy-hero-sub{font:400 clamp(16px,1.5vw,20px)/1.7 var(--serif);max-width:870px;color:#4e657a}
.policy-meta{margin-top:35px;display:flex;flex-wrap:wrap;gap:12px 30px;font-size:11px;font-weight:600;letter-spacing:.02em;color:#647c90}
.policy-layout{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1000px);gap:clamp(38px,5vw,95px);padding-top:70px;padding-bottom:116px;align-items:start;justify-content:start}
.policy-sidebar{position:sticky;top:116px;max-height:calc(100vh - 128px);overflow-y:auto;padding:0 12px 20px 0;scrollbar-width:thin}
.policy-sidebar-title{font-size:10.5px;font-weight:700;color:#778b9d;letter-spacing:.13em;margin-bottom:13px}
.policy-sidebar ol{list-style:none;margin:0 0 34px;padding:0;border-top:2px solid var(--navy)}
.policy-sidebar li{border-bottom:1px solid #e5ebef}
.policy-sidebar li a{display:flex;gap:12px;padding:10px 3px;align-items:flex-start;font-size:12px;line-height:1.55;color:#526a80}
.policy-sidebar li a span{font-size:9.5px;font-weight:700;color:var(--red);padding-top:2px;flex:0 0 20px}
.policy-sidebar a:hover,.policy-other a[aria-current=page]{color:#aa1c30}
.policy-other{border-top:1px solid #ccd8df;padding-top:18px;display:flex;flex-direction:column;gap:10px}
.policy-other .policy-sidebar-title{margin-bottom:5px}
.policy-other a{font-size:12px;line-height:1.55;color:var(--navy)}
.policy-other a[aria-current=page]{font-weight:700}
.policy-article{min-width:0}
.policy-summary{padding:25px 30px;background:var(--softblue);border-left:3px solid var(--red);margin-bottom:30px}
.policy-summary>span{font-size:10px;color:var(--red);letter-spacing:.1em;font-weight:700}
.policy-summary p{color:var(--navy);font:400 20px/1.6 var(--serif);margin-top:9px}
.policy-section{border-top:1px solid #dbe4ea;padding-top:30px;margin-top:34px;scroll-margin-top:116px}
.policy-section-index{color:var(--red);font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:14px}
.policy-section h2{font:400 clamp(23px,2.2vw,30px)/1.35 var(--serif);color:var(--navy);margin-bottom:17px}
.policy-section p{color:#4b647a;font-size:14.5px;line-height:1.95;margin-bottom:17px;max-width:89ch}
.policy-section p strong{color:var(--navy)}
.policy-section a,.policy-final a{color:#143b60;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#b5c4d0}
.policy-section a:hover,.policy-final a:hover{color:var(--red);text-decoration-color:var(--red)}
.policy-table-wrap{max-width:100%;overflow-x:auto;margin:23px 0 25px;border:1px solid #dce5eb}
.policy-table{width:100%;border-collapse:collapse;min-width:630px;color:#445f73;font-size:12.3px;line-height:1.65}
.policy-table th{background:#eaf1f5;color:var(--navy);text-align:left;font-size:11.5px;letter-spacing:.015em;padding:14px 17px;border-bottom:1px solid #d4e0e6}
.policy-table td{vertical-align:top;padding:15px 17px;border-top:1px solid #e3eaf0}
.policy-table tr:nth-child(even) td{background:#fafcfd}
.policy-final{margin-top:52px;background:#143151;color:#dae6ee;padding:32px 39px}
.policy-final>span{font-size:10px;font-weight:700;letter-spacing:.12em;color:#cfdbe6}
.policy-final h2{font:400 25px/1.3 var(--serif);margin:13px 0 16px;color:white}
.policy-final p{font-size:13px;line-height:1.83;margin-top:12px;color:#dce6ee}
.policy-final a{color:white;text-decoration-color:#abc1d0}
.policy-back{display:inline-flex;margin-top:31px;border-bottom:1px solid #9dadba;color:var(--navy);font-size:12.5px;font-weight:700;padding-bottom:6px}
.policy-footer{display:flex;justify-content:space-between;gap:65px;padding-top:55px;padding-bottom:49px;border-bottom:1px solid #395168}
.policy-footer-brand{max-width:270px}
.policy-footer-brand img{background:#fff;padding:5px;width:225px;height:auto}
.policy-footer-brand p{color:#a9bed0;font-size:12px;line-height:1.7;margin-top:16px}
.policy-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:13px 55px}
.policy-footer nav a{font-size:12px;color:#ccdce6}
.policy-footer nav a:hover,.policy-footer nav a[aria-current=page]{color:#fff;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.policy-layout{grid-template-columns:215px minmax(0,1fr);gap:36px}}
@media(max-width:820px){.policy-layout{display:block;padding-top:36px;padding-bottom:68px}.policy-sidebar{position:static;max-height:none;padding:0;margin-bottom:35px}.policy-sidebar ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;margin-bottom:15px}.policy-other{flex-direction:row;flex-wrap:wrap;gap:8px 18px}.policy-other .policy-sidebar-title{width:100%}.policy-hero{padding:50px 0 46px}.policy-summary p{font-size:19px}.policy-footer{gap:28px}.policy-footer nav{gap:11px 20px}}
@media(max-width:520px){.policy-sidebar ol{grid-template-columns:1fr}.policy-hero h1{font-size:40px}.policy-hero-sub{font-size:17px}.policy-summary{padding:19px}.policy-section h2{font-size:25px}.policy-section p{font-size:13.7px}.policy-final{padding:24px 22px}.policy-footer{display:block}.policy-footer nav{grid-template-columns:1fr 1fr;margin-top:28px}.policy-footer-brand img{max-width:190px}}


/* v3 — restrained, institutional editorial language */
:root{--navy:#122d47;--deep:#10273e;--ink:#233d52;--muted:#667784;--red:#bc2631;--line:#d9e1e4;--soft:#f6f7f6;--softblue:#edf1f2;--serif:Georgia,"Iowan Old Style","Palatino Linotype",serif}
body{font-family:"Segoe UI",Arial,"DejaVu Sans",sans-serif;line-height:1.75}
.container{width:min(1330px,calc(100% - 74px))}
.header{box-shadow:none;border-bottom:1px solid #e1e6e9;background:rgba(255,255,255,.985)}
.header-inner{height:100px;gap:24px}.brand img{width:248px}.desktop-nav{gap:22px}.desktop-nav a{font-size:11.7px;color:#3d5160;text-transform:none;letter-spacing:.01em;font-weight:600}.desktop-nav a.active:after{bottom:5px;height:2px}
.header-actions{display:flex;align-items:center;flex-shrink:0;margin-left:2px}
.language-switch{display:inline-flex;gap:0;align-items:center;white-space:nowrap;border-left:1px solid #dce3e7;padding-left:15px}
.language-switch a{font:700 11px/1.4 "Segoe UI",Arial,sans-serif;letter-spacing:.04em;color:#758696;padding:9px 7px;min-height:34px;display:grid;place-items:center}
.language-switch a:hover{color:var(--red)}.language-switch a[aria-current=page]{color:var(--navy);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--red);text-decoration-thickness:2px}
.hero{grid-template-columns:54% 46%;min-height:590px;background:var(--deep)}
.hero-copy{background:linear-gradient(108deg,#102940 0%,#173750 100%)}
.hero-copy-inner{width:calc(100% - max(38px,(100vw - 1330px)/2));padding:80px clamp(40px,4vw,73px) 86px 0}
.hero .eyebrow{color:#b8c9d6;letter-spacing:.14em;font-size:10.5px}
.hero h1{color:#f8f7f3;font:400 clamp(58px,5.1vw,93px)/1.03 var(--serif);letter-spacing:-.055em;margin:37px 0 30px;max-width:610px}
.hero h1 em{display:block;color:#c9d7df;font-weight:400}
.hero-copy-inner>p:not(.eyebrow){font-size:15.5px;color:#d2dce3;max-width:470px;line-height:1.95;margin-bottom:37px}
.hero .btn{background:transparent;border:1px solid #8096a6;color:#fff;min-width:218px;letter-spacing:.025em;padding:13px 18px}.hero .btn:hover{background:#fff;color:var(--deep)}
.hero-visual:before{width:25%;background:linear-gradient(90deg,rgba(17,40,60,.65),transparent)}
.hero-visual img{object-position:49% 50%;filter:saturate(.81) contrast(1.05)}
.principles{border-bottom:1px solid #dce3e6}.principles-grid{padding-top:35px;padding-bottom:35px}.principle{padding-inline:25px;gap:17px}.principle-index{font:400 25px/1.1 var(--serif);color:#b82031;min-width:29px}
.principle strong{font-size:12.8px;font-weight:650}.principle p{font-size:12px;margin-top:4px;color:#627482}
.section{padding-block:104px}.clinic-intro{background:#f8faf9;padding-bottom:72px}.clinic-main h2,.gallery-heading h2{font-size:clamp(38px,4vw,58px)}
.clinic-main>p:not(.eyebrow){font-size:15px;max-width:680px}.clinic-card{background:#edf2f3;border:0;border-top:3px solid var(--navy);box-shadow:0 18px 55px rgba(12,32,45,.035)}
.services{padding-top:89px;padding-bottom:112px;background:#f8faf9}.services h2,.about h2,.contact-intro h2{font-size:clamp(38px,3.75vw,55px)}.services-heading{align-items:center}
.service{min-height:111px}.service-icon{width:43px;height:43px;border-radius:2px;background:transparent!important;color:var(--navy)!important;border:1px solid #c6d1d7}.service-icon svg{width:23px;height:23px}
.about{padding-block:116px}.doctor-photo img{height:485px;filter:saturate(.9)}.about-copy>p:not(.eyebrow){max-width:760px}.about-grid{grid-template-columns:370px minmax(0,1fr)}
.gallery-section{padding-block:100px 105px;background:#f2f4f4}.gallery-heading{margin-bottom:38px}.gallery-heading h2{margin-top:0}
.gallery-item{border:0}.gallery-item:nth-child(1),.gallery-item:nth-child(2){height:385px}.gallery-item:hover img{transform:scale(1.026)}.gallery-item:after{content:'↗';position:absolute;right:12px;bottom:12px;background:rgba(11,29,43,.82);width:31px;height:31px;display:grid;place-items:center;color:white;opacity:0;transition:opacity .2s}.gallery-item:hover:after,.gallery-item:focus-visible:after{opacity:1}
.privacy-teaser{padding-block:68px}.privacy-grid{grid-template-columns:54px 1fr;max-width:1050px}.privacy-copy h2{font-size:38px}.privacy-copy>p:not(.eyebrow){max-width:780px}
.contact-section{padding-block:112px;background:#fbfcfc}.office{border-top:3px solid var(--navy)}
.research-section{padding:106px 0 102px;background:#102b44;color:#e4edf3}
.research-topline{border-top:1px solid #587083;display:flex;justify-content:space-between;padding-top:17px;gap:20px;color:#9db4c7;font-size:10px;letter-spacing:.16em;font-weight:700}
.research-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:end;margin:27px 0 44px}
.research-intro h2{font:400 clamp(39px,4.1vw,61px)/1.2 var(--serif);color:#fff;max-width:680px;letter-spacing:-.035em}
.research-intro p{color:#b9cbd8;max-width:435px;font-size:14px;line-height:1.9}
.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.research-card{display:flex;flex-direction:column;min-height:330px;background:#f4f6f5;color:var(--deep);padding:29px 29px 25px;transition:background .2s,transform .2s}
.research-card:hover{background:white;transform:translateY(-3px)}.research-card:focus-visible{outline-color:#ef7e82}
.research-number{color:#a02831;font-size:10px;font-weight:800;letter-spacing:.13em}.research-card h3{font:400 30px/1.28 var(--serif);margin:26px 0 15px;letter-spacing:-.025em}
.research-card>p{font-size:13px;line-height:1.78;color:#5c6c75;flex:1}.research-source{border-top:1px solid #cfd8db;margin-top:25px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;font-size:11px;font-weight:700;color:#22435d}.research-source span:last-child{font-size:22px;line-height:1}
.research-extra{border-top:1px solid #537086;margin-top:35px;padding-top:24px;display:flex;flex-wrap:wrap;gap:15px 30px;align-items:center}.research-extra>span{font-size:10px;letter-spacing:.1em;color:#99adbd;font-weight:800;margin-right:7px}.research-extra a{font-size:12px;color:#e4edf2;text-decoration:underline;text-decoration-color:#668398;text-underline-offset:5px}.research-extra a:hover{color:white;text-decoration-color:var(--red)}.research-disclaimer{color:#91acbe;font-size:11px;margin-top:27px}
.footer-main{padding-block:70px 58px}.footer-main strong{font-size:19px}.footer-bottom{font-size:11px}
.policy-header-actions{display:flex;align-items:center}.nav-wrap{gap:20px}.nav-wrap .nav-contact{margin-left:auto}.policy-page .language-switch{margin-left:6px}
@media(max-width:1270px){.desktop-nav{gap:12px}.desktop-nav a{font-size:11px}.header-inner{gap:16px}.brand img{width:214px}.language-switch{padding-left:10px}.language-switch a{padding:8px 5px}.hero h1{font-size:65px}}
@media(max-width:1050px){.header-inner{justify-content:space-between}.header-actions{margin-left:auto}.menu-toggle{order:3}.hero{min-height:530px}.hero h1{font-size:65px}}
@media(max-width:760px){.container{width:calc(100% - 42px)}.header-inner{height:78px}.brand img{width:192px}.header-actions{margin-left:auto}.language-switch{padding-left:10px}.language-switch a{font-size:10px;padding:7px 4px}.menu-toggle{flex-shrink:0}.hero{display:flex;flex-direction:column}.hero-visual{order:1;height:280px}.hero-copy{order:2}.hero-copy-inner{padding:50px 21px 58px}.hero h1{font-size:clamp(52px,11vw,72px);margin:22px 0}.principles-grid{grid-template-columns:repeat(2,1fr)}.principle{padding:16px 10px}.principle:nth-child(2){border-right:0}.principle:nth-child(3){padding-left:10px}.principle-index{font-size:23px}.section{padding-block:73px}.clinic-layout,.about-grid{grid-template-columns:1fr}.about-grid{gap:35px}.doctor-photo{max-width:430px}.services-heading{display:block}.services-heading>p{margin-top:17px}.research-section{padding-block:70px}.research-intro{display:block;margin:25px 0 35px}.research-intro p{margin-top:20px}.research-grid{grid-template-columns:1fr}.research-card{min-height:0}.research-card h3{font-size:29px;margin:19px 0 13px}.research-extra{display:flex;flex-direction:column;align-items:flex-start}.privacy-grid{grid-template-columns:1fr}.privacy-icon{display:none}.privacy-copy h2{font-size:34px}.policy-header-actions .language-switch{padding-left:6px}.policy-page .nav-wrap .brand img{width:175px}.policy-page .nav-contact{font-size:10px}}
@media(max-width:520px){.brand img{width:158px}.header-inner{gap:7px}.language-switch{border:0;padding-left:0}.language-switch a{padding:5px 3px;font-size:9.5px}.hero h1{font-size:52px}.hero-visual{height:228px}.research-intro h2{font-size:39px}.research-card{padding:24px}.policy-page .nav-wrap{flex-wrap:wrap;min-height:100px;height:auto;padding-block:13px}.policy-page .nav-contact{order:3;width:100%;text-align:left}.policy-header-actions{margin-left:auto}.policy-page .brand img{width:162px}.policy-page .nav-contact{margin-left:0}}
@media(max-width:375px){.brand img{width:140px}.language-switch a{font-size:9px;padding:4px 2px}.header-inner{gap:5px}}

/* ========================================================================
   PREMIUM ELEGANCE · Editorial refinement / visual layer only
   All page content, navigation labels, functionality and language variants
   are deliberately left unchanged.
   ======================================================================== */
:root {
  --navy: #183247;
  --deep: #102739;
  --ink: #283e4d;
  --muted: #697987;
  --red: #b62d3b;
  --line: #e0e5e6;
  --soft: #faf9f6;
  --softblue: #edf2f2;
  --white: #fff;
  --pearl: #f9f8f5;
  --linen: #f3f1ed;
  --metal: #bfae91;
  --fine-shadow: 0 18px 55px -35px rgba(17,41,54,.29);
  --deep-shadow: 0 29px 75px -39px rgba(17,38,53,.31);
  --serif: 'Iowan Old Style', 'Baskerville', 'Palatino Linotype', Georgia, serif;
  --sans: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
}
html { scroll-padding-top: 110px; }
body {
  background: var(--pearl);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.8;
  font-feature-settings: 'kern' 1;
  text-rendering: optimizeLegibility;
}
h1, h2, h3 { text-wrap: balance; }
h1, h2 { letter-spacing: -.041em; }
p { text-wrap: pretty; }
::selection { background: #ead9d7; color: var(--deep); }
a, button, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid var(--red); outline-offset: 5px;
}
.container { width: min(1330px, calc(100% - 80px)); }
.eyebrow, .policy-eyebrow, .section-tag {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .15em;
  color: #70818b;
}
.red-dash, .policy-eyebrow span {
  height: 2px;
  background: var(--red);
  flex-shrink: 0;
}

/* Navigation: quiet glass, precisely tracked type, controlled emphasis. */
.header {
  background: rgba(255,255,255,.965);
  border-bottom: 1px solid rgba(29,58,69,.10);
  box-shadow: 0 8px 34px -30px rgba(16,35,49,.50);
  -webkit-backdrop-filter: blur(18px) saturate(1.16);
  backdrop-filter: blur(18px) saturate(1.16);
}
.header-inner { height: 104px; }
.brand img { width: 248px; }
.desktop-nav { gap: clamp(12px, 1.42vw, 24px); }
.desktop-nav a {
  color: #435766;
  font-size: 11.6px;
  font-weight: 600;
  letter-spacing: .019em;
  transition: color .28s ease;
}
.desktop-nav a::after {
  position: absolute;
  content: '';
  left: 0;
  right: 100%;
  bottom: 7px;
  height: 1px;
  background: var(--red);
  transition: right .3s ease;
}
.desktop-nav a.active::after { right: 0; bottom: 7px; height: 1px; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right: 0; }
.language-switch { border-left-color: #e0e5e5; }
.language-switch a { color: #6e7e89; transition: color .25s, background .25s; border-radius: 2px; }
.language-switch a:hover { background: #f6f5f2; }
.language-switch a[aria-current=page] { text-decoration-thickness: 1px; text-underline-offset: 6px; }
.menu-toggle {
  border-color: #dde3e3;
  background: var(--pearl);
  border-radius: 2px;
  transition: border-color .25s, background .25s;
}
.menu-toggle:hover { border-color: var(--metal); background: #fff; }
.mobile-nav {
  box-shadow: 0 24px 26px -25px rgba(13,37,50,.27);
  background: #fff;
  padding-block: 14px 24px;
}
.mobile-nav:not([hidden]) { animation: elegant-menu .23s ease-out both; }
.mobile-nav a { padding-block: 14px; font-weight: 550; transition: color .2s, padding-left .2s; }
.mobile-nav a:hover { color: var(--red); padding-left: 6px; }
@keyframes elegant-menu { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: translateY(0); } }

/* Signature hero: depth without visual noise. */
.hero { grid-template-columns: 53% 47%; min-height: 635px; background: var(--deep); }
.hero-copy {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(123deg, #10283c 0%, #17364a 72%, #1c3c50 100%);
}
.hero-copy::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse at 8% 87%, rgba(190,160,122,.10), transparent 49%),
              linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: auto, 136px 100%;
}
.hero-copy::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(219,223,222,.065);
  border-radius: 50%;
  right: -111px;
  bottom: -112px;
  pointer-events: none;
}
.hero-copy-inner {
  position: relative;
  z-index: 1;
  padding-top: 92px;
  padding-bottom: 101px;
}
.hero .eyebrow { font-size: 10px; color: #cbd2d5; letter-spacing: .155em; }
.hero .red-dash { background: #d36c70; width: 31px; }
.hero h1 {
  font-family: var(--serif);
  font-size: clamp(58px, 5.1vw, 91px);
  font-weight: 400;
  line-height: 1.065;
  letter-spacing: -.05em;
  margin: 34px 0 30px;
  color: #faf8f3;
}
.hero h1 em { color: #d4dedb; }
.hero-copy-inner>p:not(.eyebrow) {
  max-width: 475px;
  color: #d6e0e1;
  font-size: 15.5px;
  line-height: 1.9;
  margin-bottom: 37px;
}
.hero .btn {
  min-height: 53px;
  min-width: 248px;
  padding: 15px 21px;
  border: 1px solid rgba(231,231,223,.62);
  background: rgba(255,255,255,.025);
  color: #fff;
  font-size: 12.3px;
  letter-spacing: .035em;
  transition: background .28s, border-color .28s, color .28s, box-shadow .28s, transform .28s;
}
.hero .btn:hover { background: #f4f1eb; color: var(--deep); border-color: #f4f1eb; transform: translateY(-2px); box-shadow: 0 14px 32px -23px #000; }
.hero .btn span, .btn span { display: inline-block; transition: transform .28s ease; }
.btn:hover span { transform: translate(3px, -3px); }
.hero-visual { background: #341f1b; }
.hero-visual::before {
  width: 34%;
  background: linear-gradient(90deg, rgba(13,34,49,.56) 0%, rgba(13,34,49,.15) 65%, transparent 100%);
}
.hero-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(16,36,46,.22), transparent 30%),
              linear-gradient(90deg, transparent 45%, rgba(14,32,43,.09));
}
.hero-visual img { filter: saturate(.83) contrast(1.055) brightness(.96); }

/* Small index row: typography and generous intentional whitespace. */
.principles { background: #fff; border-bottom: 1px solid var(--line); }
.principles-grid { padding-block: 37px; }
.principle { gap: 18px; padding-inline: 28px; border-right-color: #e2e6e6; }
.principle-index { color: #a94a50; font-size: 27px; line-height: 1; letter-spacing: -.04em; }
.principle strong { color: var(--deep); font-size: 12.5px; font-weight: 650; letter-spacing: .012em; }
.principle p { color: #74828b; font-size: 11.5px; line-height: 1.6; }

/* Main sections: warm, calm layers and a clear type hierarchy. */
.section { padding-block: 112px; }
.clinic-intro { background: linear-gradient(155deg,#f8f8f6 0%,#f3f5f4 100%); padding-bottom: 82px; }
.clinic-layout { gap: clamp(48px,6.2vw,102px); }
.clinic-main h2, .gallery-heading h2,
.services h2, .about h2, .contact-intro h2 {
  color: var(--deep);
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -.043em;
  line-height: 1.15;
}
.clinic-main h2 { margin-top: 20px; margin-bottom: 30px; }
.clinic-main>p:not(.eyebrow) { max-width: 735px; color: #5a6c77; line-height: 1.93; margin-top: 20px; }
.clinic-main strong, .about-copy strong { color: #243f51; }
.inline-link { text-decoration-color: #bdc4c4; text-underline-offset: 5px; transition: text-decoration-color .2s, color .2s; }
.inline-link:hover { text-decoration-color: var(--red); }
.clinic-card {
  position: relative;
  background: #fff;
  border: 1px solid #e5e7e4;
  border-top: 0;
  padding: 33px 33px 29px;
  box-shadow: var(--fine-shadow);
}
.clinic-card::before {
  content: '';
  position: absolute;
  height: 2px;
  left: -1px;
  right: -1px;
  top: 0;
  background: linear-gradient(90deg, var(--red), #c9b49a 70%, transparent);
}
.info-row { gap: 17px; border-bottom-color: #e4e7e6; padding-bottom: 24px; margin-bottom: 24px; }
.info-row svg { color: var(--navy); width: 25px; height: 25px; stroke-width: 1.45; }
.info-row strong { font-size: 12.8px; }
.info-row p { color: #687c88; line-height: 1.75; }
.info-row a { text-decoration-color: #c7cecc; }
.card-contact { border-top-color: #e2e6e5; color: var(--deep); transition: color .2s; }

.services { background: #f4f6f5; padding-top: 88px; padding-bottom: 116px; }
.services-heading { border-bottom-color: #dce3e2; padding-bottom: 33px; }
.services-heading>p, .gallery-heading>p, .contact-intro>p { color: #687985; line-height: 1.86; }
.service-grid { column-gap: 83px; padding-top: 24px; }
.service { min-height: 116px; border-bottom-color: #dfe5e4; gap: 19px; transition: border-color .25s; }
.service:hover { border-bottom-color: #c1cdca; }
.service-icon {
  width: 48px;
  height: 48px;
  background: rgba(255,255,255,.7)!important;
  color: var(--navy)!important;
  border: 1px solid #d7dfde;
  border-radius: 3px;
  transition: border-color .28s, background .28s, color .28s;
}
.service:hover .service-icon { border-color: #b3c4c2; background: #fff!important; }
.service-icon svg { stroke-width: 1.5; }
.service p { color: #495d6b; font-size: 14px; }
.clinical-note { border-top: 1px solid #e0e6e4; padding-top: 25px; margin-top: 32px; }

.about { background: #fff; padding-block: 123px; }
.about-grid { grid-template-columns: 370px minmax(0,1fr); gap: clamp(52px,6.3vw,107px); }
.doctor-photo { position: relative; padding-left: 15px; }
.doctor-photo::before {
  content: '';
  position: absolute;
  top: -17px;
  left: 0;
  right: 16px;
  height: 84%;
  border: 1px solid #d7cbbb;
  pointer-events: none;
}
.doctor-photo img { position: relative; border: 0; background: #f4f1ec; height: 476px; filter: saturate(.87) contrast(1.015); }
.doctor-photo figcaption { letter-spacing: .10em; color: #77848b; border-bottom-color: #e2e6e5; padding-block: 16px; }
.about-copy>p:not(.eyebrow) { color: #5a6e7a; line-height: 1.95; margin-bottom: 17px; }
.bio-details { margin-top: 32px; border-top: 1px solid #e6e8e5; padding-top: 21px; }
.bio-details summary {
  border: 1px solid #c0cccc;
  padding: 11px 18px;
  min-height: 45px;
  background: #fff;
  transition: background .25s, border-color .25s, color .25s;
}
.bio-details summary:hover { background: #f7f7f3; border-color: #9caeab; }
.bio-details summary span { transition: transform .25s; }
.bio-details-content { padding-top: 22px; }
.bio-details-content p { line-height: 1.95; color: #5d6e79; }

/* The gallery behaves like a carefully curated editorial contact sheet. */
.gallery-section { background: #f1f3f2; border-top-color: #e7ebea; padding-block: 110px 118px; }
.gallery-heading { margin-bottom: 40px; }
.gallery { gap: 16px; }
.gallery-item, .gallery-item:nth-child(1), .gallery-item:nth-child(2) { background: #e0e2df; }
.gallery-item { isolation: isolate; }
.gallery-item img { filter: saturate(.85) contrast(1.02) brightness(1.015); transition: transform .72s cubic-bezier(.2,.8,.2,1), filter .72s; }
.gallery-item:hover img, .gallery-item:focus-visible img { transform: scale(1.045); filter: saturate(.93) contrast(1.02) brightness(1.04); }
.gallery-item::after { display: none; }
.gallery-caption {
  padding: 45px 22px 19px;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 600;
  background: linear-gradient(transparent, rgba(10,28,36,.79));
  letter-spacing: .015em;
}
.gallery-caption span {
  width: 31px; height: 31px; flex: 0 0 31px;
  display: grid; place-items: center;
  border: 1px solid rgba(255,255,255,.48);
  font-size: 17px;
  transition: background .3s, color .3s, transform .3s;
}
.gallery-item:hover .gallery-caption span,
.gallery-item:focus-visible .gallery-caption span { background: #fff; color: var(--deep); transform: translate(2px,-2px); }

/* Scientific resources: a tailored, high-contrast editorial interlude. */
.research-section {
  background: radial-gradient(ellipse at 93% 0%,rgba(74,108,118,.19),transparent 38%),
              linear-gradient(150deg,#10293b 0%,#142f43 65%,#11293b 100%);
  padding-block: 114px 111px;
}
.research-topline { border-top-color: rgba(216,225,225,.33); color: #b4c1c9; }
.research-intro { margin-top: 34px; margin-bottom: 52px; }
.research-intro h2 { font-family: var(--serif); color: #f9f7f1; letter-spacing: -.047em; }
.research-intro p { color: #d2dcdc; }
.research-grid { gap: 16px; }
.research-card {
  position: relative;
  background: #f8f8f5;
  min-height: 340px;
  padding: 36px 33px 31px;
  box-shadow: 0 18px 46px -32px rgba(0,0,0,.3);
  transition: transform .36s cubic-bezier(.2,.8,.2,1), background .36s, box-shadow .36s;
}
.research-card::before {
  content: '';
  position: absolute;
  inset: 0 auto auto 0;
  width: 40px; height: 2px;
  background: var(--red);
  transition: width .4s ease;
}
.research-card:hover, .research-card:focus-visible { background: #fff; transform: translateY(-5px); box-shadow: 0 28px 53px -30px rgba(0,0,0,.43); }
.research-card:hover::before, .research-card:focus-visible::before { width: 100%; }
.research-card h3 { font-family: var(--serif); letter-spacing: -.037em; margin-top: 30px; }
.research-card>p { color: #62727d; line-height: 1.85; }
.research-source { border-top-color: #dce1df; color: #304b5d; }
.research-source span:last-child { transition: transform .28s; }
.research-card:hover .research-source span:last-child { transform: translate(3px,-3px); }
.research-extra { margin-top: 43px; padding-top: 29px; border-top-color: rgba(215,226,224,.32); }
.research-extra a { text-decoration-color: #778d99; text-underline-offset: 6px; }

/* Medical confidentiality: clear, calm, authoritative. */
.privacy-teaser {
  background: linear-gradient(115deg,#eaf0ee 0%,#f2f3ef 100%);
  border-color: #dce5e1;
  padding-block: 84px;
}
.privacy-grid { max-width: 1050px; gap: 33px; }
.privacy-icon { display: grid; place-items: center; width: 53px; height: 58px; border: 1px solid #c9d5d2; }
.privacy-icon svg { width: 31px; height: 31px; stroke-width: 1.4; }
.privacy-copy h2 { font-family: var(--serif); letter-spacing: -.042em; margin-top: 19px; }
.privacy-copy>p:not(.eyebrow) { color: #596e79; }
.privacy-copy .privacy-alert { border-left-width: 2px; border-color: var(--red); padding-left: 21px; margin-top: 24px; }
.btn-outline {
  background: rgba(255,255,255,.4);
  border: 1px solid #9caaa9;
  min-height: 48px;
  letter-spacing: .015em;
  transition: background .3s, color .3s, border-color .3s, transform .3s;
}
.btn-outline:hover { transform: translateY(-2px); background: var(--deep); border-color: var(--deep); }

/* Visits and contact: tailored appointment cards, never a hard sell. */
.contact-section { background: #fafaf8; padding-block: 119px 121px; }
.contact-intro { margin-bottom: 40px; }
.office-grid { gap: 22px; }
.office {
  position: relative;
  overflow: hidden;
  border: 1px solid #e1e5e4;
  border-top: 0;
  background: #fff;
  padding: 39px 42px 36px;
  box-shadow: 0 15px 49px -45px rgba(19,48,62,.35);
  transition: box-shadow .35s, transform .35s, border-color .35s;
}
.office::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg,var(--red) 0%, #cbbba2 54%, #e5e4df 100%);
}
.office:hover { border-color: #cfd9d6; box-shadow: var(--deep-shadow); transform: translateY(-3px); }
.office-num { font-size: 10.5px; letter-spacing: .165em; }
.office h3 { font-family: var(--serif); font-size: 30px; margin: 18px 0 15px; letter-spacing: -.025em; }
.office>p { color: #677a84; font-size: 13px; }
.office-phone { color: var(--deep); margin-top: 23px; font-size: 21px; letter-spacing: -.015em; transition: color .22s; }
.office-phone svg { stroke-width: 1.5; }
.office-map { border-top-color: #e4e8e7; color: #4d6574; padding-top: 17px; margin-top: 24px; transition: color .22s; }
.email-note { margin-top: 45px; padding-top: 28px; border-top-color: #dfe4e3; }
.email-note a { text-decoration-color: #bac6c4; overflow-wrap: anywhere; }

/* Footer: depth, quiet rules and careful link states. */
.footer, .site-footer { background: linear-gradient(135deg,#102638,#142f43); color: #d5e0e5; }
.footer-main { padding-block: 76px 61px; border-bottom-color: rgba(255,255,255,.16); }
.footer-main>div:first-child img,
.policy-footer-brand img { background: #fff; padding: 8px 9px; }
.footer-main strong { color: #f8f7f4; font-family: var(--serif); letter-spacing: -.02em; }
.footer-main a, .policy-footer nav a { color: #c5d3d9; transition: color .25s, text-decoration-color .25s; }
.footer-main a:hover, .policy-footer nav a:hover { text-decoration-color: #e3b8b1; }
.footer-bottom { border-top-color: rgba(255,255,255,.08); color: #b2c4cd; }
.footer-bottom a { text-underline-offset: 5px; }

/* Lightbox: same quiet luxury, focus and touch states preserved. */
.lightbox { background: #102838; padding: 23px 28px 29px; box-shadow: 0 36px 100px #0009; }
.lightbox::backdrop { background: rgba(4,17,25,.88); backdrop-filter: blur(5px); }
.lightbox-controls { margin-bottom: 18px; }
.lightbox-controls button { border: 1px solid rgba(221,231,233,.48); transition: border-color .2s, background .2s; }
.lightbox-controls button:hover { border-color: #fff; background: #26465a; }
.lightbox p { color: #d6dfe3; }

/* Secondary / policy pages receive the identical brand treatment. */
.policy-page { background: #fcfcfa; }
.policy-hero, .legal-hero {
  background: radial-gradient(ellipse at 87% 15%,rgba(202,188,161,.13),transparent 40%),
              linear-gradient(115deg,#eef3f1 0%,#f7f8f5 64%,#fbfaf7 100%);
  border-bottom: 1px solid #e0e6e3;
}
.policy-hero { padding-block: 88px 77px; }
.policy-hero h1, .legal-hero h1 { font-family: var(--serif); color: var(--deep); letter-spacing: -.051em; }
.policy-hero h1 { margin: 25px 0 23px; }
.policy-hero-sub { color: #5e717a; line-height: 1.75; }
.policy-meta { color: #78868c; border-top: 1px solid #dbe3e0; padding-top: 17px; width: fit-content; max-width: 100%; }
.policy-layout { padding-block: 83px 129px; gap: clamp(41px,5.6vw,97px); }
.policy-sidebar { top: 134px; }
.policy-sidebar-title { letter-spacing: .15em; }
.policy-sidebar ol { border-top: 2px solid var(--navy); }
.policy-sidebar li { border-color: #e4e9e6; }
.policy-sidebar li a { color: #586b77; transition: color .25s, padding-left .25s; }
.policy-sidebar li a:hover { color: var(--red); padding-left: 6px; }
.policy-other { border-top-color: #d2dcda; }
.policy-summary {
  background: #edf2ef;
  border-left: 2px solid var(--red);
  padding: 31px 34px;
}
.policy-summary p { font-family: var(--serif); color: var(--deep); line-height: 1.62; }
.policy-section { border-top-color: #e0e6e3; padding-top: 36px; margin-top: 42px; scroll-margin-top: 126px; }
.policy-section-index { color: var(--red); letter-spacing: .14em; }
.policy-section h2 { font-family: var(--serif); color: var(--deep); letter-spacing: -.035em; }
.policy-section p { color: #526976; line-height: 1.95; }
.policy-table-wrap { border-color: #dce4e1; }
.policy-table th { background: #e9efed; border-bottom-color: #d6e0dc; }
.policy-table tr:nth-child(even) td { background: #f7f9f7; }
.policy-final { background: linear-gradient(125deg,#102b3e,#1c3d4f); border-top: 2px solid #bcae93; }
.policy-final h2 { font-family: var(--serif); color: #fff; }
.policy-back { border-bottom-color: #b6c2c0; }
.policy-footer { border-bottom-color: rgba(255,255,255,.16); }
.legal-content h2, .data-document-section h3 { font-family: var(--serif); letter-spacing: -.03em; }
.legal-draft, .data-document-final { background: #edf2ef; border-left-width: 2px; }
.data-document-aside { border-color: #b9c7c6; }
.data-document-section { border-top-color: #e0e6e3; }

/* Fluid finishing details and optical corrections. */
@media (max-width: 1320px) {
  .desktop-nav { gap: 13px; }
  .desktop-nav a { font-size: 11px; }
  .brand img { width: 218px; }
  .header-inner { gap: 17px; }
  .hero h1 { font-size: clamp(57px, 5vw, 75px); }
  .hero-copy-inner { padding-right: 32px; }
  .service-grid { column-gap: 55px; }
}
@media (max-width: 1050px) {
  .header-inner { height: 85px; }
  .brand img { width: 231px; }
  .hero { min-height: 545px; grid-template-columns: 54% 46%; }
  .hero-copy-inner { padding-block: 72px 77px; }
  .hero h1 { font-size: clamp(51px, 6.1vw, 66px); }
  .clinic-layout { grid-template-columns: minmax(0,1fr) 300px; gap: 34px; }
  .about-grid { grid-template-columns: 295px minmax(0,1fr); gap: 46px; }
  .doctor-photo img { height: 425px; }
  .research-intro { gap: 44px; }
  .research-card { padding: 30px 24px 26px; }
  .research-card h3 { font-size: 27px; }
}
@media (max-width: 820px) {
  .container { width: calc(100% - 52px); }
  .principle { padding-inline: 18px; gap: 12px; }
  .principle-index { font-size: 24px; }
  .policy-layout { padding-block: 48px 80px; }
  .policy-sidebar { position: static; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 86px; }
  body { font-size: 14px; }
  .container { width: calc(100% - 42px); }
  .header-inner { height: 77px; }
  .brand img { width: 190px; }
  .hero { min-height: 0; }
  .hero-visual { height: clamp(235px, 66vw, 355px); }
  .hero-visual::before { display: none; }
  .hero-visual::after { background: linear-gradient(0deg,rgba(13,31,39,.22),transparent 56%); }
  .hero-visual img { object-position: center 53%; }
  .hero-copy-inner { width: 100%; padding: 54px 26px 66px; }
  .hero .eyebrow { font-size: 9.3px; letter-spacing: .11em; }
  .hero h1 { font-size: clamp(48px, 10.5vw, 73px); line-height: 1.08; margin: 26px 0 21px; }
  .hero-copy-inner>p:not(.eyebrow) { font-size: 14px; line-height: 1.86; margin-bottom: 30px; }
  .hero .btn { min-height: 51px; }
  .principles-grid { padding-block: 14px; }
  .principle { padding: 21px 13px; }
  .principle:nth-child(odd) { padding-left: 0; }
  .principle:nth-child(even) { padding-right: 0; }
  .principle strong { font-size: 11.5px; }
  .principle p { font-size: 11px; }
  .section { padding-block: 76px; }
  .clinic-intro { padding-bottom: 65px; }
  .clinic-layout, .about-grid { grid-template-columns: 1fr; }
  .clinic-main h2, .services h2, .about h2, .gallery-heading h2, .contact-intro h2 { font-size: clamp(35px, 8vw, 47px); }
  .clinic-main h2 { margin-bottom: 23px; }
  .clinic-main>p:not(.eyebrow) { font-size: 14px; }
  .clinic-card { padding: 27px 25px; }
  .services { padding-block: 76px 83px; }
  .services-heading { display: block; }
  .service-grid { grid-template-columns: 1fr; padding-top: 10px; }
  .service { min-height: 92px; grid-template-columns: 46px 1fr; padding-block: 17px; }
  .service-icon { height: 44px; width: 44px; }
  .service p { font-size: 13.5px; }
  .about { padding-block: 88px; }
  .about-grid { gap: 43px; }
  .doctor-photo { max-width: 440px; }
  .doctor-photo img { height: min(112vw,470px); }
  .about-copy>p:not(.eyebrow) { font-size: 14px; }
  .gallery-section { padding-block: 83px 91px; }
  .gallery-heading { display: block; margin-bottom: 30px; }
  .gallery { gap: 11px; }
  .gallery-item, .gallery-item:nth-child(1), .gallery-item:nth-child(2) { height: 181px; }
  .gallery-item:first-child { height: 273px; }
  .gallery-caption { font-size: 10.5px; padding: 24px 12px 11px; }
  .gallery-caption span { height: 25px; width: 25px; flex-basis: 25px; font-size: 14px; }
  .research-section { padding-block: 82px 85px; }
  .research-intro { display: block; margin-block: 27px 35px; }
  .research-intro h2 { font-size: clamp(37px, 8vw, 49px); }
  .research-intro p { margin-top: 22px; }
  .research-grid { grid-template-columns: 1fr; gap: 15px; }
  .research-card { min-height: 0; padding: 32px 29px 27px; }
  .research-card h3 { font-size: 29px; }
  .research-extra { flex-direction: column; align-items: flex-start; }
  .privacy-teaser { padding-block: 73px; }
  .privacy-grid { grid-template-columns: 1fr; }
  .privacy-icon { display: none; }
  .privacy-copy h2 { font-size: 37px; }
  .contact-section { padding-block: 83px 90px; }
  .contact-intro { display: block; margin-bottom: 31px; }
  .office-grid { grid-template-columns: 1fr; gap: 16px; }
  .office { padding: 31px 27px 30px; }
  .office h3 { font-size: 27px; }
  .email-note { margin-top: 34px; }
  .footer-main { padding-block: 58px 43px; }
  .policy-hero { padding-block: 63px 53px; }
  .policy-hero h1 { font-size: clamp(38px,8.5vw,51px); }
  .policy-summary { padding: 24px; }
  .policy-section { margin-top: 36px; padding-top: 29px; scroll-margin-top: 95px; }
  .policy-footer { padding-block: 50px 41px; }
}
@media (max-width: 540px) {
  .header-inner { gap: 8px; }
  .brand img { width: 163px; }
  .language-switch { border-left: 0; padding-left: 0; }
  .language-switch a { padding: 7px 4px; font-size: 10px; }
  .menu-toggle { width: 42px; height: 43px; padding: 10px; }
  .hero-copy-inner { padding: 46px 22px 55px; }
  .hero h1 { font-size: clamp(42px, 10.5vw, 55px); letter-spacing: -.045em; }
  .hero .eyebrow { font-size: 9px; }
  .hero .red-dash { width: 23px; }
  .hero .btn { min-width: min(248px,100%); }
  .principles-grid { gap: 0; }
  .principle { gap: 9px; padding: 20px 8px; }
  .principle-index { font-size: 22px; min-width: 25px; }
  .principle strong { font-size: 11px; }
  .principle p { font-size: 10px; }
  .gallery-item, .gallery-item:nth-child(1), .gallery-item:nth-child(2) { height: 143px; }
  .gallery-item:first-child { height: 220px; }
  .gallery-caption { font-size: 9.5px; }
  .gallery-caption span { width: 23px; height: 23px; flex-basis: 23px; }
  .research-card { padding: 28px 25px 26px; }
  .office { padding: 27px 24px; }
  .policy-page .nav-wrap .brand img { width: 157px; }
  .policy-footer nav { gap: 12px 15px; }
}
@media (max-width: 390px) {
  .container { width: calc(100% - 32px); }
  .brand img { width: 146px; }
  .header-inner { gap: 4px; }
  .language-switch a { font-size: 9px; padding-inline: 3px; }
  .hero-copy-inner { padding-inline: 17px; }
  .hero h1 { font-size: clamp(39px, 10.3vw, 46px); }
  .principle { gap: 7px; }
  .principle-index { min-width: 23px; font-size: 20px; }
  .gallery-caption { gap: 4px; padding-inline: 8px; }
  .policy-page .nav-wrap .brand img { width: 145px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none!important; transition: none!important; scroll-behavior: auto!important; }
  .hero .btn:hover, .office:hover, .research-card:hover { transform: none; }
}
/* Gallery photos intentionally have no visible captions; retain their elegant
   discoverability cue without adding or changing authored text. */
.gallery-item::after {
  display: grid;
  content: '↗';
  right: 18px;
  bottom: 18px;
  width: 39px;
  height: 39px;
  border: 1px solid rgba(255,255,255,.7);
  background: rgba(17,41,53,.79);
  border-radius: 2px;
  font-size: 17px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .3s ease, transform .3s ease;
}
.gallery-item:hover::after,
.gallery-item:focus-visible::after { opacity: 1; transform: translateY(0); }
@media (hover: none) {
  .gallery-item::after { opacity: .86; transform: none; width: 32px; height: 32px; right: 10px; bottom: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-item::after { transform: none; transition: none; }
}
