.phone-number{display:inline-block;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.doctors-page .doctor-grid{gap:19px}
.avatar-card{position:relative;isolation:isolate;overflow:hidden;min-height:265px;padding:27px;border-radius:22px;background:linear-gradient(110deg,#fff 36%,#effafb 100%)}
.avatar-card::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#fff 32%,rgba(255,255,255,.95) 49%,rgba(255,255,255,.68) 61%,rgba(255,255,255,0) 80%)}
.card-avatar{position:absolute;z-index:0;right:-6px;bottom:0;width:51%;height:auto;max-height:97%;object-fit:contain;object-position:right bottom;pointer-events:none}
/* Reference crop: full head and upper torso, with the face outside the white fade. */
.card-photo-frame{position:absolute;z-index:0;inset:0 0 0 50%;overflow:hidden;pointer-events:none}
.card-photo-frame .card-photo{position:absolute;display:block;top:-27%;left:50%;width:auto;height:226%;max-width:none;max-height:none;transform:translateX(-55%);opacity:1;filter:none}
.avatar-card.photo-card::before{background:linear-gradient(90deg,#fff 46%,rgba(255,255,255,.9) 51%,rgba(255,255,255,.35) 56%,rgba(255,255,255,0) 61%)}
.photo-card .doctor-card-copy{width:56%}
.photo-estera .card-photo-frame .card-photo{top:-25%;left:55%;height:185%;transform:translateX(-40%)}
.doctor-card-copy{display:flex;position:relative;z-index:2;flex:1;flex-direction:column;width:73%;min-height:211px;align-items:flex-start}
.avatar-card .tag{max-width:100%;font-size:.875rem;line-height:1.35;letter-spacing:0;padding:7px 11px}
.avatar-card h2{font-size:1.45rem;line-height:1.25;margin:21px 0 11px;letter-spacing:-.025em}
.avatar-card p{max-width:95%;font-size:1rem;line-height:1.55;color:#536e84}
.avatar-card .card-link-label{justify-content:flex-start;margin-top:auto;padding-top:23px;font-size:1rem;gap:10px}
.avatar-card:hover .card-link-label{text-decoration:underline;text-underline-offset:4px}
.profile-portrait.avatar-portrait{display:flex;align-items:center;justify-content:center;border:1px solid #d8edef;border-radius:26px;background:linear-gradient(145deg,#f6fcfd,#eaf7f9);overflow:hidden}
.profile-portrait.avatar-portrait img{display:block;width:100%;height:auto;min-height:0;max-height:440px;aspect-ratio:1/1;object-fit:contain;object-position:center bottom;border-radius:0;background:none;align-self:flex-end}
.compact-profile{margin-bottom:30px}
.compact-profile .avatar-portrait{min-height:350px}
.compact-profile .profile-lead{font-size:1.15rem}
.patient-page .button{gap:9px}
.news-welcome{margin-top:27px;padding:clamp(27px,5vw,47px);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 8px 30px rgba(16,55,104,.04)}
.news-icon{display:grid;place-items:center;width:57px;height:57px;margin-bottom:25px;border-radius:16px;background:#e9fafb;color:#087f87}
.news-icon svg{width:31px;height:31px}
.news-welcome .eyebrow{font-size:.875rem;letter-spacing:.065em}
.news-welcome h2{margin:0 0 19px;color:var(--deep);font-size:clamp(1.5rem,3.4vw,2rem);line-height:1.25;letter-spacing:-.025em}
.news-welcome p{max-width:760px;margin:0 0 15px;font-size:1.06rem;line-height:1.8;color:var(--muted)}
.news-welcome p:first-of-type{color:var(--ink)}
.news-topics{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.news-topics span{padding:8px 13px;border-radius:30px;background:#f0f9fa;color:#087780;font-size:.9rem;line-height:1.5}
.news-welcome .news-closing{margin-bottom:0;font-size:1rem}
.patient-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:25px 28px;border:1px solid var(--line);border-radius:21px;background:linear-gradient(130deg,#fff,#f0fafb)}
.patient-callout h2{margin:0 0 9px;font-size:1.25rem;line-height:1.35;color:var(--deep)}
.patient-callout p{max-width:650px;margin:0;color:var(--muted);font-size:1rem;line-height:1.65}
.patient-callout .button{flex-shrink:0}
.price-section{margin-top:28px}
.price-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(16,55,104,.04)}
.price-table thead th{padding:17px 27px;background:#f7fbfc;color:var(--muted);font-size:.9rem;font-weight:650;text-align:left;border-bottom:1px solid var(--line)}
.price-table thead th:last-child{text-align:right}
.price-table tbody th,.price-table tbody td{padding:25px 27px;vertical-align:middle;border-bottom:1px solid var(--line)}
.price-table tbody tr:last-child th,.price-table tbody tr:last-child td{border-bottom:0}
.price-table tbody th{text-align:left;font-size:1.1rem;line-height:1.5;font-weight:650;color:var(--deep)}
.price-table tbody td{width:1%;text-align:right;color:var(--navy)}
.price-amount{display:inline-block;white-space:nowrap;font-size:1.55rem;font-weight:750;letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums}
.price-table .primary-price th,.price-table .primary-price td{background:#ecf9fa;padding-top:31px;padding-bottom:31px}
.price-table .primary-price th{font-size:1.3rem}
.price-table .primary-price .price-amount{font-size:1.9rem;color:#087f87}
.price-note{max-width:760px;margin:17px 0 0;color:var(--muted);font-size:.94rem;line-height:1.7}
@media(max-width:850px){.avatar-card{padding:23px}.doctor-card-copy{width:76%}.avatar-card h2{font-size:1.35rem}.card-avatar{width:55%;right:-12px}}
@media(max-width:760px){
 .avatar-card{min-height:252px;padding:25px}
 .doctor-card-copy{width:70%;min-height:202px}
 .avatar-card h2{font-size:1.45rem}
 .card-avatar{width:48%;max-height:99%;right:-1px}
 .avatar-card::before{background:linear-gradient(90deg,#fff 28%,rgba(255,255,255,.94) 48%,rgba(255,255,255,.5) 63%,rgba(255,255,255,0) 79%)}
 .profile-portrait.avatar-portrait{max-width:340px;border-radius:22px;min-height:0}
 .profile-portrait.avatar-portrait img{max-height:310px;aspect-ratio:1/1}
 .patient-callout{flex-direction:column;align-items:stretch;padding:24px;gap:18px}
 .patient-callout .button{width:100%}
 .price-table thead th{padding:15px 20px}
 .price-table tbody th,.price-table tbody td{padding:22px 20px}
 .price-table tbody th{font-size:1rem}
 .price-amount{font-size:1.35rem}
 .price-table .primary-price th{font-size:1.1rem}
 .price-table .primary-price .price-amount{font-size:1.5rem}
 .news-welcome p{font-size:1rem;line-height:1.75}
}
@media(max-width:420px){
 .card-photo-frame .card-photo{top:-22%;left:60%;height:190%}
 .photo-estera .card-photo-frame .card-photo{top:-21%;left:60%;height:160%}
 .avatar-card{padding:22px 20px;min-height:256px}
 .doctor-card-copy{width:76%;min-height:212px}
 .avatar-card h2{font-size:1.35rem}
 .avatar-card p{max-width:93%;font-size:.98rem}
 .card-avatar{width:57%;right:-14px}
 .avatar-card::before{background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,.94) 53%,rgba(255,255,255,.6) 70%,rgba(255,255,255,0) 92%)}
 .price-table thead th{padding:13px 14px}
 .price-table tbody th,.price-table tbody td{padding:22px 14px}
 .price-table .primary-price th{font-size:1rem}
 .price-table .primary-price .price-amount{font-size:1.3rem}
 .price-amount{font-size:1.25rem}
 .news-welcome{padding:26px 23px}
}
