:root{--doctor-ink:#203342;--doctor-text:#52636e;--doctor-line:#dce8ed;--doctor-soft:rgba(var(--noviv-brand-rgb),.055)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--doctor-ink);font:400 16px/1.55 Arial,Helvetica,sans-serif}
a{color:inherit;text-underline-offset:4px}
button,input{font:inherit}
img{display:block;max-width:100%}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dp-shell{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.dp-skip{position:absolute;left:16px;top:-100px;z-index:1000;padding:12px 18px;background:#fff;border:2px solid var(--doctor-ink);border-radius:8px}
.dp-skip:focus{top:12px}
.dp-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--doctor-line);background:rgba(255,255,255,.97)}
.dp-header__inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:88px;padding-block:16px}
.dp-logo{flex:0 1 205px;max-width:205px}
.dp-logo img{width:205px;height:auto}
.dp-back{display:inline-flex;align-items:center;gap:10px;color:var(--doctor-ink);font-size:14px;text-decoration:none;white-space:nowrap}
.dp-back svg{width:20px;height:20px}
.dp-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0;color:var(--doctor-text);font-size:13px;line-height:1.5}
.dp-breadcrumbs a{text-decoration:none}
.dp-breadcrumbs a:hover{text-decoration:underline}
.dp-hero{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:center;gap:42px;padding:34px;border:1px solid rgba(var(--noviv-brand-rgb),.2);border-radius:24px;background:var(--doctor-soft)}
.dp-hero__portrait{width:260px;aspect-ratio:11/15;object-fit:cover;object-position:center top;border-radius:18px;background:#edf6f9}
.dp-eyebrow{display:inline-block;margin:0 0 12px;color:var(--doctor-text);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.dp-hero h1{max-width:740px;margin:0 0 14px;color:var(--doctor-ink);font-size:clamp(30px,3.5vw,44px);font-weight:400;line-height:1.15;overflow-wrap:break-word}
.dp-role{margin:0 0 20px;color:var(--doctor-text);font-size:18px;line-height:1.45}
.dp-experience{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 26px;padding:8px 14px;border:1px solid rgba(var(--noviv-brand-rgb),.25);border-radius:30px;background:#fff;color:var(--doctor-ink);font-size:14px;line-height:1.45}
.dp-experience svg{width:19px;height:19px;color:var(--noviv-brand)}
.dp-actions{display:flex;flex-wrap:wrap;gap:12px}
.dp-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 18px;border:1px solid var(--noviv-brand);border-radius:10px;background:var(--noviv-brand);color:var(--doctor-ink);font-size:15px;line-height:1.4;text-decoration:none;transition:box-shadow .18s ease}
.dp-button:hover{box-shadow:0 0 0 4px rgba(var(--noviv-brand-rgb),.15)}
.dp-button--secondary{background:#fff;border-color:var(--doctor-line)}
.dp-section-nav{display:flex;flex-wrap:wrap;gap:10px;padding:24px 0 8px}
.dp-section-nav a{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border:1px solid var(--doctor-line);border-radius:30px;color:var(--doctor-text);font-size:14px;line-height:1.4;text-decoration:none}
.dp-section-nav a:hover{border-color:var(--noviv-brand);color:var(--doctor-ink)}
.dp-section{min-width:0;padding-top:54px;scroll-margin-top:108px}
.dp-section h2{margin:0 0 22px;font-size:30px;font-weight:400;line-height:1.25;color:var(--doctor-ink)}
.dp-section h3{margin:0 0 15px;font-size:20px;font-weight:400;line-height:1.3}
.dp-section p{margin:0 0 14px;color:var(--doctor-text)}
.dp-info-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px}
.dp-panel{height:100%;padding:28px;border:1px solid var(--doctor-line);border-radius:22px;background:#fff}
.dp-specializations{display:grid;gap:13px;margin:0;padding:0;list-style:none}
.dp-specializations li{display:flex;align-items:flex-start;gap:12px;color:var(--doctor-text)}
.dp-specializations li::before{content:"";flex-shrink:0;width:8px;height:8px;margin-top:8px;border-radius:50%;background:var(--noviv-brand)}
.dp-timeline{margin:0;padding:0;list-style:none}
.dp-timeline li{display:grid;grid-template-columns:86px minmax(0,1fr);gap:18px;padding:17px 0;border-top:1px solid var(--doctor-line)}
.dp-timeline li:first-child{padding-top:0;border-top:0}
.dp-timeline time{color:var(--doctor-ink);font-size:15px;font-variant-numeric:tabular-nums}
.dp-timeline p{margin:0;color:var(--doctor-text);font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.dp-empty{display:flex;align-items:flex-start;gap:14px;padding:20px;border:1px dashed #c8dce7;border-radius:14px;background:#f8fcfe;color:var(--doctor-text);font-size:15px;line-height:1.55}
.dp-empty svg{width:28px;height:28px;flex-shrink:0;color:var(--noviv-brand)}
.dp-empty p{margin:0}
.dp-certificates{margin-top:20px}
.dp-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.dp-case{min-width:0}
.dp-case h3{margin-bottom:12px;font-size:18px}
.dp-case .noviv-compare{height:240px;border-radius:18px}
.dp-case .noviv-compare__empty{gap:9px;font-size:12px}
.dp-case .noviv-compare__empty svg{width:28px;height:28px}
.dp-case .noviv-compare__handle{width:42px;height:42px}
.dp-case .noviv-compare__badge{top:12px;padding:5px 10px;font-size:12px}
.dp-case .noviv-compare__badge--before{left:12px}
.dp-case .noviv-compare__badge--after{right:12px}
.dp-case-note{margin-top:11px!important;font-size:13px;line-height:1.5}
.dp-table-wrap{overflow:auto;border:1px solid var(--doctor-line);border-radius:18px}
.dp-price-table{width:100%;border-collapse:collapse;text-align:left;font-size:15px;line-height:1.5}
.dp-price-table th{padding:17px 22px;background:var(--doctor-soft);font-weight:400;color:var(--doctor-ink)}
.dp-price-table td{padding:18px 22px;border-top:1px solid var(--doctor-line);color:var(--doctor-text)}
.dp-price-table th:last-child,.dp-price-table td:last-child{text-align:right;white-space:nowrap}
.dp-price-note{margin-top:14px!important;font-size:14px;line-height:1.55}
.dp-price-note a{color:var(--doctor-ink)}
.dp-appointment{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:32px;padding:34px;border:1px solid rgba(var(--noviv-brand-rgb),.22);border-radius:24px;background:var(--doctor-soft)}
.dp-appointment h2{margin-bottom:15px}
.dp-appointment p:last-child{margin-bottom:0}
.dp-appointment__contacts{display:grid;justify-items:start;gap:12px}
.dp-phone{color:var(--doctor-ink);font-size:21px;text-decoration:none;white-space:nowrap}
.dp-hours{font-size:14px;color:var(--doctor-text)}
.dp-footer{margin-top:60px;padding:26px 0;border-top:1px solid var(--doctor-line);font-size:13px;line-height:1.6;color:var(--doctor-text)}
.dp-footer__inner{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}
:focus-visible{outline:2px solid var(--doctor-ink);outline-offset:4px}
@media(max-width:900px){.dp-hero{grid-template-columns:220px minmax(0,1fr);gap:28px;padding:28px}.dp-hero__portrait{width:220px}.dp-info-grid{grid-template-columns:1fr}.dp-cases{gap:16px}.dp-case .noviv-compare{height:220px}.dp-appointment{gap:24px;padding:28px}}
@media(max-width:680px){.dp-shell{width:calc(100% - 32px)}.dp-header__inner{min-height:76px;gap:16px;padding-block:13px}.dp-logo{flex-basis:165px;max-width:165px}.dp-back{font-size:13px;gap:6px}.dp-back svg{width:17px;height:17px}.dp-breadcrumbs{margin:21px 0;font-size:12px}.dp-hero{grid-template-columns:1fr;gap:24px;padding:22px;border-radius:20px}.dp-hero__portrait{width:min(100%,260px);justify-self:center}.dp-hero h1{font-size:32px}.dp-role{font-size:17px}.dp-experience{margin-bottom:22px;font-size:13px}.dp-actions{gap:10px}.dp-button{font-size:14px}.dp-section-nav{gap:8px;padding-top:20px}.dp-section-nav a{font-size:13px;padding-inline:12px}.dp-section{padding-top:42px;scroll-margin-top:94px}.dp-section h2{font-size:26px}.dp-panel{padding:22px}.dp-timeline li{grid-template-columns:70px minmax(0,1fr);gap:12px}.dp-timeline time,.dp-timeline p{font-size:14px}.dp-cases{grid-template-columns:1fr;gap:24px}.dp-case .noviv-compare{height:260px}.dp-case .noviv-compare__empty{font-size:13px}.dp-appointment{grid-template-columns:1fr;gap:24px;padding:24px;border-radius:20px}.dp-price-table th,.dp-price-table td{padding:15px 16px}.dp-price-table{font-size:14px}.dp-phone{font-size:20px}.dp-footer{margin-top:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dp-button{transition:none}}
