:root{
--ink:#373d43;
--muted:#4f5c68;
--blue:#bad7f1;
--page:#f7fbfe;
--accent:#6e939f;
--scale:min(1px,.0520833333vw)}
*{
box-sizing:border-box}
html{
scroll-behavior:smooth;
scroll-padding-top:90px}
body{
margin:0;
background:var(--page);
color:var(--ink);
font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;
-webkit-font-smoothing:antialiased;
font-weight:300}
a{
color:inherit;
text-decoration:none}
button,input,select,textarea{
font:inherit}
button,a,input,select,textarea,summary{
-webkit-tap-highlight-color:transparent}
button,a,summary{
touch-action:manipulation}
button{
cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible{
outline:2px solid #5686a6;
outline-offset:5px}
button{
border:0}
p,h1,h2,h3{
margin:0;
font-weight:400}
ul{
padding:0;
margin:0;
list-style:none}
.header{
position:absolute;
top:0;
left:0;
width:100%;
z-index:20;
padding:calc(53 * var(--scale)) calc(92 * var(--scale));
display:flex;
justify-content:flex-end;
min-height:80px}
.header nav{
display:flex;
align-items:center;
gap:calc(44 * var(--scale));
font-size:clamp(13px,calc(20 * var(--scale)),20px)}
.header nav>a{
white-space:nowrap;
padding:2px 24px;
border-radius:30px;
color:var(--muted);
transition:background .2s}
.header nav>a:hover{
background:#e2eff7}
.header nav>a[aria-current]{
background:#6e939f;
color:white}
.header:has(a[href="/appointment/"][aria-current]) nav>a[aria-current]{
background:#97cbfb}
.header:has(a[href="/contact/"][aria-current]) nav>a[aria-current]{
background:#97cbfb}
.mobile-home,.menu-toggle{
display:none}
.team-hero,.form-hero{
background-position:top center;
background-size:100% auto;
background-repeat:no-repeat}
.team-hero{
background-image:url('/assets/28089.png');
height:calc(1270 * var(--scale));
min-height:640px}
.hero-inner{
padding:calc(475 * var(--scale)) calc(141 * var(--scale)) 0}
.eyebrow{
border:1px solid #4f5f68;
border-radius:30px;
display:inline-flex;
align-items:center;
justify-content:center;
min-width:calc(262 * var(--scale));
padding:0 22px;
font-size:clamp(16px,calc(33.816 * var(--scale)),34px);
letter-spacing:.15em;
line-height:1.36}
.team-hero h1,.form-hero h1{
font-size:clamp(42px,calc(100 * var(--scale)),100px);
font-weight:300;
letter-spacing:.15em;
line-height:1.4}
.team-hero h1{
margin-top:calc(48 * var(--scale));
margin-left:-5px}
.english{
font-size:clamp(15px,calc(32 * var(--scale)),32px);
letter-spacing:.06em;
line-height:1.56;
color:var(--muted);
font-weight:200}
.design-line{
height:1px;
width:calc(270 * var(--scale));
min-width:120px;
background:url('/assets/81fde.svg') left center/100% 1px no-repeat;
margin-top:calc(24 * var(--scale))}
.hero-description{
font-size:clamp(16px,calc(36 * var(--scale)),36px);
line-height:1.4;
letter-spacing:.1em;
color:var(--muted);
margin-top:calc(128 * var(--scale))}
.team-grid{
max-width:calc(1606 * var(--scale));
margin:0 auto;
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
column-gap:calc(74 * var(--scale));
row-gap:calc(76 * var(--scale));
padding-bottom:calc(230 * var(--scale))}
.doctor-card{
background:#fff;
border-radius:calc(23 * var(--scale));
padding:calc(12 * var(--scale)) calc(16 * var(--scale)) calc(24 * var(--scale));
position:relative;
display:block;
transition:box-shadow .25s,transform .25s}
.doctor-card:hover{
transform:translateY(-5px);
box-shadow:0 15px 40px #66849c18}
.image-slot{
position:relative;
overflow:hidden}
.image-slot img{
position:absolute;
max-width:none;
display:block}
.card-portrait{
aspect-ratio:454/439;
border-radius:calc(23 * var(--scale));
background:#f4f6f7}
.card-copy{
position:relative;
padding:calc(26 * var(--scale)) calc(35 * var(--scale)) 0;
min-height:calc(212 * var(--scale))}
.card-copy h2{
color:#171b1e;
font-size:clamp(22px,calc(35.714 * var(--scale)),36px);
font-weight:500;
letter-spacing:.05em;
line-height:1.4}
.card-specialty{
color:var(--muted);
font-size:clamp(13px,calc(19.048 * var(--scale)),20px);
letter-spacing:.05em;
margin-top:calc(9 * var(--scale))}
.card-tags{
font-size:clamp(11px,calc(16 * var(--scale)),16px);
color:#838e95;
letter-spacing:.025em;
line-height:1.65;
margin-top:calc(9 * var(--scale))}
.card-tags b{
font-weight:500;
color:var(--muted);
margin-right:5px}
.card-summary{
font-size:clamp(11px,calc(16 * var(--scale)),16px);
color:#838e95;
letter-spacing:.02em;
line-height:1.5;
margin-top:calc(31 * var(--scale))}
.card-arrow{
position:absolute;
right:5px;
top:21px;
opacity:0;
transition:opacity .2s;
color:#6e939f}
.doctor-card:hover .card-arrow{
opacity:1}
.footer{
height:calc(1097 * var(--scale));
min-height:360px;
background:url('/assets/170fd.svg') center/cover no-repeat;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:calc(60 * var(--scale));
text-align:center}
.footer>p{
font-size:clamp(25px,calc(70 * var(--scale)),70px);
letter-spacing:.2em;
color:#38444a;
font-weight:300;
padding-left:.2em}
.pill{
background:#fff;
border-radius:30px;
font-size:clamp(15px,calc(33.816 * var(--scale)),34px);
letter-spacing:.15em;
min-width:calc(262 * var(--scale));
padding:0 24px;
line-height:1.4;
text-align:center;
transition:box-shadow .2s}
.pill:hover{
box-shadow:0 5px 20px #7c9db340}
/* Share the hero artwork across both sections, fading into the page color. */
#main:has(>.form-hero){
position:relative;
isolation:isolate}
#main:has(>.form-hero)::before{
content:'';
position:absolute;
inset:0 0 auto;
height:min(56.156vw,1080px);
z-index:-1;
pointer-events:none;
background:url('/assets/db74d.png') center top / auto 100% no-repeat;
mask-image:linear-gradient(to bottom,#000 65%,transparent 100%)}
.form-hero{
text-align:center;
height:calc(1050 * var(--scale));
min-height:590px;
padding-top:calc(611 * var(--scale))}
.form-hero h1{
margin-top:calc(42 * var(--scale));
padding-left:.15em}
.form-hero .design-line{
margin:calc(24 * var(--scale)) auto 0}
.form-section{
padding:0 24px calc(255 * var(--scale));
text-align:center}
.form-icon{
width:calc(105 * var(--scale));
height:calc(105 * var(--scale));
min-width:52px;
min-height:52px;
background-position:center;
background-size:contain;
background-repeat:no-repeat;
margin:0 auto}
.form-icon.calendar{
background-image:url('/assets/fca48.svg')}
.form-icon.message{
background-image:url('/assets/contact-message.png'),url('/assets/e10b6.svg');
background-size:60.952381% auto,contain}
.form-intro{
font-size:clamp(16px,calc(36 * var(--scale)),36px);
letter-spacing:.1em;
line-height:1.4;
color:var(--muted);
margin:calc(29 * var(--scale)) auto calc(74 * var(--scale))}
.form-card{
background:rgba(255,255,255,.7);
width:min(100%,calc(1016 * var(--scale)));
min-width:min(100%,500px);
margin:0 auto;
border-radius:calc(47 * var(--scale));
box-shadow:0 4px 10px #0002;
text-align:left;
padding:calc(113 * var(--scale)) calc(82 * var(--scale)) calc(109 * var(--scale))}
.form-card label{
display:block;
font-size:clamp(16px,calc(30 * var(--scale)),30px);
font-weight:400;
letter-spacing:.1em;
margin-bottom:calc(37 * var(--scale));
line-height:1.4}
.form-card em{
color:#d73235;
font-style:normal}
input,select,textarea{
width:100%;
border:1px solid transparent;
border-radius:calc(18 * var(--scale));
background:#f5f5f5;
color:var(--ink);
font-size:clamp(16px,calc(30 * var(--scale)),30px);
font-weight:300;
letter-spacing:.1em;
padding:calc(24 * var(--scale)) calc(30 * var(--scale));
outline:none;
min-height:54px;
transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{
border-color:#97bdde;
box-shadow:0 0 0 3px #d8eaf666}
input::placeholder,textarea::placeholder{
color:#93989d}
select:invalid{
color:#93989d}
select{
appearance:none;
background-image:url('/assets/chevron.svg');
background-repeat:no-repeat;
background-position:right 24px center;
background-size:14px;
padding-right:54px}
textarea{
resize:vertical;
min-height:calc(292 * var(--scale));
line-height:1.6;
display:block}
.field-error{
font-size:13px;
color:#bd4c4c;
min-height:20px;
line-height:1.5;
margin:8px 0 calc(70 * var(--scale))}
.field-error:empty{
color:transparent}
[aria-invalid=true]{
border-color:#cf7474}
.primary{
background:var(--blue);
color:#fff;
letter-spacing:.1em;
border-radius:calc(16 * var(--scale));
padding:10px 30px;
min-height:48px;
transition:background .2s}
.primary:hover{
background:#94bde2}
.submit{
font-size:clamp(22px,calc(41.395 * var(--scale)),42px);
margin-top:calc(111 * var(--scale));
width:min(100%,calc(562 * var(--scale)));
height:calc(100 * var(--scale));
min-height:54px}
.preview-note{
font-size:12px;
color:#82939f;
margin-top:18px;
letter-spacing:.04em}
.form-status{
font-size:14px;
color:#a34c4c;
margin-top:15px}
.form-section:has(#contact-form){
padding-bottom:calc(280 * var(--scale))}
.content-width{
width:calc(1527 * var(--scale));
max-width:calc(100% - 64px);
margin-left:auto;
margin-right:auto}
.doctor-hero{
background:#e6f0f4;
height:calc(1081 * var(--scale));
min-height:640px;
overflow:hidden}
.doctor-hero-inner{
height:100%;
position:relative;
max-width:1920px;
margin:auto}
.doctor-intro{
padding-top:calc(228 * var(--scale));
margin-left:calc(217 * var(--scale));
width:calc(660 * var(--scale));
position:relative;
z-index:1}
.doctor-intro h1{
font-size:clamp(58px,calc(120 * var(--scale)),120px);
font-weight:500;
line-height:1.4;
letter-spacing:.15em}
.doctor-en{
font-size:clamp(19px,calc(37.857 * var(--scale)),38px);
font-weight:200;
line-height:1.4}
.specialty-tag{
display:inline-block;
background:#ffffffb3;
border-radius:30px;
font-size:clamp(12px,calc(21.756 * var(--scale)),22px);
letter-spacing:.14em;
padding:0 14px;
margin-top:calc(20 * var(--scale));
line-height:1.4}
.doctor-line{
margin-top:calc(99 * var(--scale));
width:calc(119 * var(--scale));
height:1px;
background:url('/assets/cd956.svg') center/100% 1px no-repeat}
.doctor-bio{
font-size:clamp(14px,calc(24 * var(--scale)),24px);
letter-spacing:.16em;
line-height:1.8;
margin-top:calc(30 * var(--scale));
font-weight:300;
color:#20262a}
.doctor-actions{
display:flex;
gap:calc(16 * var(--scale));
margin-top:calc(115 * var(--scale));
align-items:center}
.small-pill{
border:1px solid var(--accent);
border-radius:30px;
color:var(--accent);
font-size:clamp(12px,calc(21.756 * var(--scale)),22px);
padding:2px 15px;
letter-spacing:.1em;
white-space:nowrap}
.small-pill.filled{
color:#fff;
background:var(--accent)}
.hero-portrait{
position:absolute;
left:calc(1086 * var(--scale));
top:calc(173 * var(--scale));
width:calc(740 * var(--scale));
height:calc(908 * var(--scale))}
.section-title{
text-align:center}
.section-title h2{
font-size:clamp(30px,calc(60 * var(--scale)),60px);
font-weight:500;
letter-spacing:.06em;
line-height:1.4;
color:#20262a}
.section-title p{
font-size:clamp(10px,calc(11.556 * var(--scale)),12px);
letter-spacing:.05em;
color:#737e85;
margin-top:calc(6 * var(--scale))}
.background-section{
background:#fafafa;
min-height:calc(827 * var(--scale));
padding:calc(154 * var(--scale)) 0 calc(180 * var(--scale))}
.credentials{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:calc(27 * var(--scale)) calc(107 * var(--scale));
margin-top:calc(89 * var(--scale));
max-width:calc(1460 * var(--scale))}
.credentials li,.academic-section li{
background:#fff;
border:1px solid #e6f0f4;
border-radius:calc(9 * var(--scale));
padding:calc(7 * var(--scale)) calc(34 * var(--scale));
font-size:clamp(13px,calc(25.086 * var(--scale)),26px);
letter-spacing:.09em;
line-height:2.25;
color:#2b3237}
.expert-section{
background:#f4f6f7;
padding:calc(123 * var(--scale)) 0 calc(88 * var(--scale))}
.expert-inner{
display:grid;
grid-template-columns:1fr 1fr;
gap:calc(150 * var(--scale));
padding:0 calc(38 * var(--scale))}
.expert-label{
display:inline-block;
background:#fff;
color:#7294ae;
font-size:clamp(18px,calc(36 * var(--scale)),36px);
border-radius:30px;
letter-spacing:.06em;
padding:0 20px}
.expert-en{
font-size:clamp(12px,calc(26 * var(--scale)),26px);
letter-spacing:.06em;
color:#717171;
margin-top:calc(12 * var(--scale))}
.expert-copy h2{
font-size:clamp(36px,calc(70.5 * var(--scale)),71px);
line-height:1.34;
letter-spacing:.1em;
margin-top:calc(44 * var(--scale));
color:#46535c;
max-width:540px}
.expert-description{
margin-top:calc(198 * var(--scale));
font-size:clamp(14px,calc(24 * var(--scale)),24px);
letter-spacing:.12em;
line-height:1.67;
color:#20262a}
.expert-description p+p{
margin-top:calc(20 * var(--scale));
font-weight:300}
.expert-image{
width:calc(558 * var(--scale));
height:calc(694 * var(--scale));
border-radius:calc(34 * var(--scale));
margin-top:calc(56 * var(--scale))}
.procedures{
margin-top:calc(222 * var(--scale))}
.procedure-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:calc(32 * var(--scale)) calc(39 * var(--scale));
margin-top:calc(90 * var(--scale))}
.procedure-card{
background:#fff;
border-radius:calc(36 * var(--scale));
padding:calc(23 * var(--scale)) calc(26 * var(--scale)) calc(23 * var(--scale)) calc(52 * var(--scale));
display:grid;
grid-template-columns:1fr calc(313 * var(--scale));
gap:calc(40 * var(--scale));
min-height:calc(406 * var(--scale));
align-items:center}
.procedure-card h3{
font-size:clamp(17px,calc(30 * var(--scale)),30px);
letter-spacing:.06em;
line-height:1.5;
color:#20262a}
.accent-line{
display:block;
background:#7294ae;
border-radius:3px;
height:calc(4 * var(--scale));
min-height:2px;
width:calc(86 * var(--scale));
margin:calc(10 * var(--scale)) 0 calc(29 * var(--scale))}
.procedure-card p{
font-size:clamp(13px,calc(24 * var(--scale)),24px);
letter-spacing:.13em;
line-height:1.67}
.procedure-image{
height:calc(360 * var(--scale));
width:calc(313 * var(--scale));
border-radius:calc(20 * var(--scale))}
.other-procedures{
grid-column:1/-1;
display:flex;
align-items:center;
gap:calc(100 * var(--scale));
background:#fff;
border-radius:calc(36 * var(--scale));
min-height:calc(159 * var(--scale));
padding:calc(35 * var(--scale)) calc(52 * var(--scale))}
.other-procedures h3{
font-size:clamp(16px,calc(30 * var(--scale)),30px);
letter-spacing:.06em;
border-right:2px solid #7294ae;
padding-right:calc(60 * var(--scale));
line-height:2.8;
white-space:nowrap}
.other-procedures p{
font-size:clamp(15px,calc(32.112 * var(--scale)),32px);
letter-spacing:.15em}
.academic-section{
background:#fafafa;
padding:calc(154 * var(--scale)) 24px calc(280 * var(--scale));
min-height:calc(802 * var(--scale))}
.academic-section ul{
width:calc(1073 * var(--scale));
max-width:100%;
margin:calc(96 * var(--scale)) auto 0;
display:grid;
gap:calc(32 * var(--scale))}
.academic-section li{
text-align:center;
font-size:clamp(12px,calc(25 * var(--scale)),25px)}
.academic-section li span{
margin-right:14px;
color:#7294ae}
.back-top{
position:fixed;
bottom:24px;
right:24px;
width:44px;
height:44px;
border:1px solid #d4e4ed;
background:#fffffff0;
color:#7897a9;
border-radius:50%;
font-size:22px;
opacity:0;
pointer-events:none;
transition:opacity .2s;
z-index:10}
.back-top.visible{
opacity:1;
pointer-events:auto}
dialog{
border:1px solid #e7eff4;
border-radius:24px;
padding:40px;
width:min(440px,calc(100% - 32px));
color:var(--ink);
text-align:center;
box-shadow:0 25px 100px #37536625}
dialog::backdrop{
background:#344d6150;
backdrop-filter:blur(4px)}
dialog h2{
font-size:24px;
margin:18px 0 12px}
dialog p{
font-size:15px;
line-height:1.8;
color:var(--muted)}
.dialog-close{
position:absolute;
right:15px;
top:10px;
font-size:28px;
background:transparent;
color:#8a9aa4}
.dialog-icon{
border-radius:50%;
background:#eaf4fb;
color:#76a4c5;
width:58px;
height:58px;
line-height:58px;
font-size:30px;
margin:auto}
.dialog-ok{
margin-top:24px;
min-width:150px}

@media(min-width:1921px){
.header{
max-width:1920px;
left:50%;
transform:translateX(-50%)}
.team-hero,.form-hero{
background-size:1920px auto}
.hero-inner{
max-width:1920px;
margin:auto}
}

@media(max-width:1000px) and (min-width:701px){
.header{
padding:28px 32px}
.header nav{
gap:12px}
.header nav>a{
padding:3px 16px}
.team-hero{
min-height:620px}
.hero-inner{
padding-top:240px}
.team-grid{
max-width:88%;
gap:28px 22px}
.card-copy{
padding:18px 12px 0}
.card-summary{
margin-top:16px}
.form-hero{
padding-top:270px;
min-height:520px}
.form-card{
padding:48px 40px;
border-radius:26px}
.field-error{
margin-bottom:30px}
.doctor-hero{
min-height:610px}
.doctor-intro{
margin-left:7%;
width:43%;
padding-top:150px}
.hero-portrait{
left:55%;
top:125px;
width:42%;
height:485px}
.doctor-bio{
letter-spacing:.08em}
.doctor-actions{
flex-wrap:wrap;
margin-top:40px}
.doctor-line{
margin-top:35px}
.procedure-card{
padding:22px;
gap:16px;
grid-template-columns:1fr 43%}
.procedure-image{
width:100%;
height:230px}
.expert-description{
margin-top:50px}
.expert-image{
width:100%;
height:360px}
.content-width{
width:86%;
max-width:none}
}

@media(max-width:700px){
:root{
--scale:.5px}
.header{
padding:22px 24px;
min-height:72px;
align-items:center;
justify-content:space-between}
.mobile-home{
display:block;
color:#647e8d;
font-size:14px;
letter-spacing:.12em}
.menu-toggle{
display:block;
background:#ffffff90;
color:#6e939f;
border:1px solid #d3e4ee;
border-radius:50%;
height:36px;
width:36px;
font-size:18px}
.header nav{
display:none;
position:absolute;
top:70px;
left:20px;
right:20px;
background:#fffffff5;
border:1px solid #e4eef5;
border-radius:18px;
padding:16px;
box-shadow:0 12px 40px #4d748017;
gap:8px;
flex-direction:column;
align-items:stretch}
.header.open nav{
display:flex}
.header nav>a{
padding:12px 16px;
font-size:15px}
.team-hero{
min-height:0;
height:620px;
background-size:auto 620px;
background-position:38% top}
.hero-inner{
padding:216px 26px 0}
.eyebrow{
min-width:130px;
font-size:17px;
padding:2px 20px;
line-height:1.4}
.team-hero h1,.form-hero h1{
font-size:42px;
line-height:1.5;
letter-spacing:.14em;
margin-top:30px}
.team-hero h1{
margin-left:0}
.english{
font-size:15px}
.design-line{
width:135px;
min-width:0;
margin-top:16px}
.hero-description{
font-size:16px;
letter-spacing:.05em;
line-height:1.9;
margin-top:45px;
max-width:345px}
.hero-description br{
display:none}
.team-grid{
max-width:none;
margin:0 20px;
grid-template-columns:1fr;
gap:28px;
padding-bottom:80px}
.doctor-card{
border-radius:16px;
padding:10px 10px 22px}
.card-portrait{
border-radius:12px;
aspect-ratio:454/420}
.card-copy{
padding:22px 17px 0;
min-height:155px}
.card-copy h2{
font-size:26px}
.card-specialty{
font-size:15px;
margin-top:6px}
.card-tags{
font-size:12px;
margin-top:12px}
.card-summary{
font-size:13px;
line-height:1.7;
margin-top:20px}
.card-arrow{
opacity:1;
right:12px;
top:20px}
.footer{
height:370px;
min-height:0;
gap:28px}
.footer>p{
font-size:25px;
letter-spacing:.16em}
.pill{
font-size:16px;
min-width:140px;
line-height:1.6}
.form-hero{
height:500px;
min-height:0;
padding:230px 18px 0;
background-size:auto 560px;
background-position:47% top}
#main:has(>.form-hero)::before{
height:560px;
background-position:47% top}
.form-hero h1{
font-size:38px;
margin-top:28px}
.form-hero .english{
font-size:14px;
margin-top:4px}
.form-hero .design-line{
margin-top:17px}
.form-section{
padding:0 20px 90px}
.form-icon{
width:52px;
height:52px}
.form-intro{
font-size:16px;
line-height:1.8;
letter-spacing:.04em;
margin:22px auto 34px;
max-width:340px}
.form-intro br{
display:none}
.form-card{
padding:32px 24px;
border-radius:22px;
width:100%;
min-width:0}
.form-card label{
font-size:16px;
margin-bottom:16px;
letter-spacing:.05em}
input,select,textarea{
font-size:16px;
border-radius:9px;
padding:16px;
letter-spacing:.02em}
select{
padding-right:44px;
background-position:right 18px center}
textarea{
min-height:170px}
.field-error{
margin:6px 0 22px;
min-height:18px;
font-size:12px}
.submit{
margin-top:36px;
width:75%;
height:56px;
font-size:23px;
border-radius:9px}
.form-section:has(#contact-form){
padding-bottom:90px}
.preview-note{
font-size:11px;
margin-top:16px}
.doctor-hero{
height:auto;
min-height:0;
padding-top:118px}
.doctor-hero-inner{
display:flex;
flex-direction:column}
.doctor-intro{
padding:0;
margin:0 26px;
width:auto}
.doctor-intro h1{
font-size:56px;
line-height:1.3}
.doctor-en{
font-size:22px;
margin-top:6px}
.specialty-tag{
font-size:13px;
margin-top:16px;
padding:3px 12px}
.doctor-line{
margin-top:30px;
width:60px}
.doctor-bio{
font-size:15px;
letter-spacing:.08em;
line-height:1.9;
margin-top:20px;
max-width:450px}
.doctor-actions{
margin-top:26px;
gap:10px;
flex-wrap:wrap}
.small-pill{
font-size:12px;
padding:7px 13px;
letter-spacing:.04em}
.hero-portrait{
position:relative;
left:auto;
top:auto;
width:90%;
height:430px;
margin:36px 0 0 10%}
.hero-portrait img{
max-height:none}
.section-title h2{
font-size:29px}
.section-title p{
font-size:10px;
margin-top:8px}
.background-section{
padding:65px 0 75px;
min-height:0}
.content-width{
width:auto;
max-width:none;
margin-left:24px;
margin-right:24px}
.credentials{
grid-template-columns:1fr;
gap:12px;
margin-top:34px;
max-width:none}
.credentials li{
font-size:13px;
padding:12px 16px;
line-height:1.8;
letter-spacing:.05em;
border-radius:7px}
.expert-section{
padding:60px 0}
.expert-inner{
display:flex;
flex-direction:column;
gap:30px;
padding:0}
.expert-label{
font-size:18px;
padding:2px 15px}
.expert-en{
font-size:12px;
margin-top:8px}
.expert-copy h2{
font-size:38px;
margin-top:24px;
max-width:100%;
line-height:1.45}
.expert-description{
font-size:15px;
line-height:1.9;
letter-spacing:.06em;
margin-top:30px}
.expert-description p+p{
margin-top:15px}
.expert-image{
width:85%;
height:auto;
aspect-ratio:558/694;
align-self:center;
margin-top:0;
border-radius:18px}
.procedures{
margin-top:65px}
.procedure-grid{
grid-template-columns:1fr;
gap:18px;
margin-top:35px}
.procedure-card{
border-radius:18px;
grid-template-columns:minmax(0,1fr) 44%;
padding:20px;
gap:18px;
min-height:225px}
.procedure-card h3{
font-size:17px;
line-height:1.6}
.procedure-card p{
font-size:13px;
letter-spacing:.06em;
line-height:1.8}
.accent-line{
width:42px;
height:2px;
margin:9px 0 16px}
.procedure-image{
width:100%;
height:195px;
border-radius:10px}
.other-procedures{
display:block;
padding:25px;
border-radius:18px;
min-height:0}
.other-procedures h3{
font-size:17px;
line-height:1.5;
border:0;
padding:0;
margin-bottom:15px}
.other-procedures p{
font-size:14px;
letter-spacing:.06em;
line-height:1.8}
.academic-section{
padding:65px 24px 80px;
min-height:0}
.academic-section ul{
width:100%;
gap:15px;
margin-top:35px}
.academic-section li{
font-size:12px;
line-height:1.9;
padding:14px 16px;
text-align:left;
letter-spacing:.04em}
.back-top{
width:38px;
height:38px;
right:16px;
bottom:16px;
font-size:18px}
}

@media(min-width:480px) and (max-width:700px){
.team-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
gap:20px}
.card-copy{
padding:18px 8px 0}
.card-copy h2{
font-size:23px}
.card-specialty{
font-size:13px}
.card-tags{
font-size:11px}
.card-summary{
font-size:12px}
.card-portrait{
aspect-ratio:1}
.hero-portrait{
width:70%;
margin-left:25%;
height:520px}
}

@media(prefers-reduced-motion:reduce){
html{
scroll-behavior:auto}
*,*:before,*:after{
transition:none!important}
}

.hero-portrait{
left:calc(var(--slot-x,1086) * var(--scale));
top:calc(var(--slot-y,173) * var(--scale));
width:calc(var(--slot-w,740) * var(--scale));
height:calc(var(--slot-h,908) * var(--scale))}
.asset-overlay{
position:absolute;
background-size:100% 100%;
background-repeat:no-repeat;
pointer-events:none}
.hero-vector{
position:absolute;
left:calc(var(--x) * var(--scale));
top:calc(var(--y) * var(--scale));
width:calc(var(--w) * var(--scale));
height:calc(var(--h) * var(--scale));
background-size:100% 100%;
background-repeat:no-repeat;
pointer-events:none}
.masked-bust{
position:absolute;
left:-25.627%;
top:-8.601%;
width:163.683%;
height:131.607%;
mask-image:url('/assets/78726.svg');
mask-repeat:no-repeat;
mask-size:83.538% 89.245%;
mask-position:80.476% -63.027%}
.expert-copy h2 span{
display:block}
.expert-copy h2 span+span{
color:#7294ae}
.signature-card{
background:#fff;
border-radius:calc(36 * var(--scale));
position:relative;
min-height:calc(406 * var(--scale))}
.signature-card span{
position:absolute;
right:8%;
bottom:10%;
font-size:clamp(13px,calc(30 * var(--scale)),30px);
border-bottom:2px solid #7294ae;
padding-bottom:8px;
color:#20262a}
.form-icon.message:after{
inset:24%;
clip-path:none;
border-radius:2px}
.form-icon.message:before{
content:'';
position:absolute;
left:25%;
bottom:18%;
width:8px;
height:8px;
border-left:1.5px solid #97cbfb;
transform:skewY(-35deg)}

@media(min-width:701px) and (max-width:1000px){
.hero-portrait{
left:55%;
top:125px;
width:42%;
height:485px}
.hero-vector{
display:none}
}

@media(max-width:700px){
.hero-portrait{
position:relative;
left:auto;
top:auto;
width:90%;
height:auto;
aspect-ratio:var(--slot-w,740)/var(--slot-h,908);
margin:36px 0 0 10%}
.hero-vector{
position:static;
display:block;
margin:10px 26px;
width:140px;
height:45px;
order:-1}
.signature-card{
min-height:180px;
border-radius:18px}
}

@media(min-width:480px) and (max-width:700px){
.hero-portrait{
width:70%;
margin-left:25%;
height:auto}
}
.header:has(a[href="/contact/"][aria-current]) nav>a[aria-current]{
background-image:url('/assets/e8241.svg');
background-size:100% 100%}

@media(min-width:701px) and (max-width:1000px){
.team-grid{
grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Preserve intrinsic photo proportions at every responsive breakpoint. */
.card-portrait{
aspect-ratio:454/439}

.hero-portrait{
height:auto;
aspect-ratio:var(--slot-w,740)/var(--slot-h,908)}

.expert-image{
height:auto;
aspect-ratio:558/694;
max-width:100%;
align-self:start}

.procedure-image{
width:100%;
height:auto;
aspect-ratio:313/360;
align-self:center}

.masked-bust{
height:auto;
aspect-ratio:1}

.image-slot img{
object-position:center;
max-height:none}

@media(min-width:701px) and (max-width:1100px){

  .content-width{
width:88%;
max-width:none}

  .expert-inner{
grid-template-columns:minmax(0,1fr) minmax(0,1fr);
gap:7%;
padding:0}

  .expert-image{
width:100%;
height:auto}

  .expert-copy h2{
font-size:clamp(32px,4.2vw,46px)}

  .expert-description{
margin-top:36px;
font-size:14px;
letter-spacing:.07em}

  .procedure-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
gap:20px}

  .procedure-card{
grid-template-columns:minmax(0,1fr) 43%;
padding:20px;
gap:16px;
min-height:0}

  .procedure-card h3{
font-size:17px}

  .procedure-card p{
font-size:13px;
letter-spacing:.05em;
line-height:1.8}

  .procedure-image{
height:auto}

  .other-procedures{
gap:24px;
padding:24px}

  .other-procedures h3{
padding-right:24px;
line-height:1.8}

}

@media(max-width:700px){

  .card-portrait{
aspect-ratio:454/439}

  .hero-portrait{
width:90%;
height:auto;
aspect-ratio:var(--slot-w,740)/var(--slot-h,908)}

  .expert-image{
width:min(100%,360px);
height:auto;
align-self:center}

  .procedure-card{
grid-template-columns:minmax(0,1fr) 44%;
align-items:center}

  .procedure-image{
width:100%;
height:auto;
aspect-ratio:313/360}

  .form-card{
min-width:0}

  .doctor-actions{
gap:10px}

  .small-pill{
min-height:40px;
display:inline-flex;
align-items:center;
justify-content:center}

  .header nav>a{
min-height:44px;
display:flex;
align-items:center}

}

@media(max-width:380px){

  .hero-inner{
padding-left:22px;
padding-right:22px}

  .team-hero h1{
font-size:38px}

  .doctor-intro{
margin-left:22px;
margin-right:22px}

  .doctor-intro h1{
font-size:50px}

  .doctor-bio{
font-size:14px;
letter-spacing:.04em}

  .procedure-card{
grid-template-columns:minmax(0,1fr);
gap:20px;
padding:24px}

  .procedure-image{
width:min(100%,230px);
justify-self:center}

  .content-width{
margin-left:20px;
margin-right:20px}

  .form-card{
padding:28px 20px}

  .form-hero h1{
font-size:34px}

}

.procedure-card h3{text-wrap:balance}
.footer{position:relative}
.admin-entry{position:absolute;bottom:24px;right:32px;font-size:11px;letter-spacing:.06em;color:#7f9eb3;opacity:.8}
.admin-entry:hover{color:#496b84;opacity:1}
.form-status.success{color:#6f9b85}
.submit:disabled{opacity:.65;cursor:wait}

.icp-filing{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:12px;line-height:1.6;color:#627e91;white-space:nowrap}
.icp-filing:hover{text-decoration:underline}
@media(max-width:600px){.admin-entry{bottom:52px;right:50%;transform:translateX(50%)}}
