:root{--ink:#123f3b;--muted:#5b706d;--paper:#f7f6ef;--white:#fff;--line:#bfd0cb;--mint:#e4f2eb;--green:#0f6b5f;--red:#c63b27;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.5}.skip-link{position:fixed;left:16px;top:-80px;z-index:10;background:var(--ink);color:#fff;padding:10px 14px}.skip-link:focus{top:16px}.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:rgba(247,246,239,.96);position:sticky;top:0;z-index:4}.header-inner{min-height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:900;text-decoration:none;letter-spacing:.03em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:var(--green);color:#fff;font-size:25px}.nav{margin-left:auto;display:flex;gap:22px;align-items:center}.nav a,.header-phone{color:var(--ink);font-weight:750;text-decoration:none}.nav a:hover,.nav a:focus-visible,.header-phone:hover,.header-phone:focus-visible{text-decoration:underline;text-underline-offset:5px}.page-hero{padding:80px 0 52px;border-bottom:1px solid var(--line)}.eyebrow{font-size:13px;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:var(--green);margin:0 0 14px}h1{max-width:900px;font-family:Georgia,serif;font-size:clamp(44px,7vw,88px);line-height:.96;letter-spacing:-.04em;margin:0}.lead{max-width:720px;font-size:clamp(18px,2vw,24px);color:var(--muted);margin:24px 0 0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:12px 20px;border:2px solid var(--ink);border-radius:8px;color:var(--ink);background:transparent;text-decoration:none;font-weight:850}.button.primary{background:var(--red);border-color:var(--red);color:#fff}.button:focus-visible,.search-input:focus-visible{outline:3px solid #f0a11a;outline-offset:3px}.catalogue{padding:48px 0 88px}.search-box{max-width:760px;margin-bottom:44px}.search-box label{display:block;font-weight:850;margin-bottom:8px}.search-input{width:100%;min-height:54px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 16px;font:inherit;color:var(--ink)}.search-status{color:var(--muted);margin:10px 0 0}.price-groups{display:grid;gap:42px}.price-group{border-top:1px solid var(--line);padding-top:20px}.price-group h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,48px);line-height:1.05;margin:0 0 16px}.price-list{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:17px 20px;border-top:1px solid #dbe5e1}.price-row:first-child{border-top:0}.price-name{font-weight:700}.price-value{white-space:nowrap}.price-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:14px}.empty{display:none;margin:24px 0;padding:20px;border:1px solid var(--line);background:#fff}.contact-hero{padding:72px 0}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:40px;align-items:stretch}.contact-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:30px;display:grid;gap:22px;align-content:start}.contact-label{display:block;color:var(--muted);font-size:14px;margin-bottom:4px}.contact-value{font-family:Georgia,serif;font-size:clamp(28px,4vw,46px);line-height:1.05;color:var(--ink);text-decoration:none}.contact-value.email{font-size:clamp(21px,3vw,30px);font-family:inherit;font-weight:800}.contact-note{padding:16px 18px;background:var(--mint);border-left:4px solid var(--green);margin:0}.route-photo{margin:0;min-height:520px;border-radius:10px;overflow:hidden;background:#dfe9e5}.route-photo picture,.route-photo img{display:block;width:100%;height:100%}.route-photo img{object-fit:cover}.site-footer{border-top:1px solid var(--line);padding:28px 0 40px}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-inner a{color:var(--ink)}@media(max-width:760px){.shell{width:min(calc(100% - 28px),var(--max))}.site-header{position:static}.header-inner{min-height:66px;gap:14px}.nav{display:none}.header-phone{margin-left:auto;font-size:14px}.page-hero{padding:48px 0 34px}h1{font-size:clamp(42px,15vw,64px)}.lead{font-size:18px}.catalogue{padding:32px 0 60px}.price-groups{gap:30px}.price-row{padding:14px;grid-template-columns:minmax(0,1fr) auto;font-size:15px}.contact-hero{padding:40px 0 60px}.contact-grid{grid-template-columns:1fr}.route-photo{min-height:320px;order:-1}.contact-card{padding:22px}.actions{display:grid;grid-template-columns:1fr}.button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.category-nav {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 0 0 28px;
}

.category-nav a {
display: inline-flex;
align-items: center;
min-height: 42px;
padding: 8px 14px;
border: 1px solid var(--line);
border-radius: 999px;
background: var(--white);
color: var(--ink);
font-weight: 800;
text-decoration: none;
}

.category-nav a:hover,
.category-nav a:focus-visible {
border-color: var(--green);
background: var(--mint);
}

.price-group {
scroll-margin-top: 100px;
}

@media (max-width: 760px) {
.category-nav {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 7px;
margin-bottom: 24px;
}

.category-nav a {
min-width: 0;
justify-content: center;
padding-inline: 9px;
border-radius: 7px;
font-size: 13px;
text-align: center;
}

.price-group {
scroll-margin-top: 16px;
}
}
/* Exact price-to-doctor links. */
.price-row {
grid-template-columns: minmax(0, 1fr) auto auto;
grid-template-areas:
"name value doctor"
"note note note";
gap: 10px 16px;
align-items: center;
}

.price-name { grid-area: name; }
.price-value { grid-area: value; }
.price-note { grid-area: note; }

.price-doctor-link {
grid-area: doctor;
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 40px;
padding: 8px 12px;
border: 1px solid var(--green);
border-radius: 7px;
background: var(--white);
color: var(--green);
font-size: 14px;
font-weight: 800;
line-height: 1.2;
text-decoration: none;
white-space: nowrap;
transition: background-color 140ms ease, transform 140ms ease;
}

.price-doctor-link:focus-visible {
outline: 3px solid #f0a11a;
outline-offset: 3px;
}

.price-doctor-link:active { transform: scale(.97); }

@media (hover:hover) and (pointer:fine) {
.price-doctor-link:hover { background: var(--mint); }
}

@media (max-width:760px) {
.price-row {
grid-template-columns: auto minmax(0, 1fr);
grid-template-areas:
"name name"
"value doctor"
"note note";
}

.price-doctor-link {
min-height: 44px;
justify-self: end;
}
}

@media (prefers-reduced-motion:reduce) {
.price-doctor-link { transition: none; }
}
.price-row {
grid-template-columns: minmax(0, 1fr) auto max-content;
gap: 12px 18px;
align-items: baseline;
}

.price-doctor-link {
grid-column: 3;
color: var(--green);
font-size: 13px;
font-weight: 850;
text-underline-offset: 4px;
white-space: nowrap;
}

.price-doctor-link:focus-visible {
outline: 3px solid #f0a11a;
outline-offset: 3px;
}

@media (max-width: 760px) {
.price-row {
grid-template-columns: minmax(0, 1fr) auto;
}

.price-doctor-link {
grid-column: 1 / -1;
justify-self: start;
}
}
.price-doctor-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.price-doctor-links .price-doctor-link { white-space: normal; }

@media (max-width: 760px) {
.price-doctor-links { justify-content: flex-start; }
}
.price-doctor-proof {
padding: 16px 20px 18px;
border-top: 1px solid var(--line);
background: #f3f8f5;
}

.price-doctor-proof[hidden] { display: none; }

.price-doctor-proof-card {
display: grid;
grid-template-columns: 72px minmax(0, 1fr) minmax(220px, .72fr);
gap: 14px 18px;
align-items: center;
}

.price-page .price-doctor-actions,
.price-page .price-doctor-links {
grid-area: doctor;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-end;
gap: 8px;
min-width: 0;
}

.price-page .price-booking-button {
display: inline-flex;
min-height: 40px;
align-items: center;
justify-content: center;
padding: 7px 12px;
border: 1px solid var(--green);
border-radius: 8px;
background: var(--green);
color: #fff;
font: inherit;
font-size: 14px;
font-weight: 750;
line-height: 1.2;
text-align: center;
text-decoration: none;
cursor: pointer;
}

.price-page .price-booking-phone { background: #fff; color: var(--green); }
.price-page .price-booking-button:focus-visible { outline: 3px solid #f0a11a; outline-offset: 3px; }
.price-page .price-row > .schedule-request-form { grid-area: auto; grid-column: 1 / -1; max-width: 100%; margin-top: 4px; }
.price-page:has(.schedule-request-form) .price-mobile-contact { display: none; }

.price-doctor-proof-photo {
width: 72px;
height: 72px;
overflow: hidden;
border-radius: 50%;
background: var(--mint);
}

.price-doctor-proof-photo picture { width: 100%; height: 100%; display: block; }
.price-doctor-proof-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center top; }
.price-doctor-proof-identity { min-width: 0; color: var(--ink); text-decoration: none; }
.price-doctor-proof-specialty { margin: 0 0 3px; color: var(--green); font-size: 12px; font-weight: 850; }
.price-doctor-proof-name { display: block; font-size: 16px; line-height: 1.2; }
.price-doctor-proof-directions { display: flex; flex-wrap: wrap; gap: 6px; margin: 9px 0 0; padding: 0; list-style: none; }
.price-doctor-proof-directions a { display: inline-flex; min-height: 28px; align-items: center; padding: 4px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); font-size: 12px; font-weight: 750; line-height: 1.2; text-decoration: none; }
.price-doctor-proof-summary { display: grid; gap: 5px; min-width: 0; padding-left: 18px; border-left: 1px solid var(--line); }
.price-doctor-proof-patients, .price-doctor-proof-review, .price-doctor-proof-stats, .price-doctor-proof-quote { margin: 0; }
.price-doctor-proof-patients { font-size: 12px; font-weight: 850; }
.price-doctor-proof-review { display: flex; gap: 6px; align-items: center; font-size: 12px; font-weight: 850; }
.price-doctor-proof-review span { color: #d69619; font-size: 16px; line-height: 1; }
.price-doctor-proof-stats { color: var(--muted); font-size: 12px; font-weight: 750; }
.price-doctor-proof-quote { color: var(--muted); font-size: 12px; line-height: 1.42; }

@media (hover:hover) and (pointer:fine) {
.price-doctor-proof-identity:hover .price-doctor-proof-name,
.price-doctor-proof-directions a:hover { color: var(--green); }
.price-doctor-proof-directions a:hover { border-color: var(--green); }
}

@media (max-width: 760px) {
.price-page .price-doctor-actions,
.price-page .price-doctor-links { grid-area: auto; grid-column: 1 / -1; justify-content: flex-start; }
.price-page .price-booking-button { min-height: 44px; }
.price-row {
grid-template-columns: minmax(0, 1fr) auto;
grid-template-areas:
"name name"
"value doctor"
"note note";
align-items: center;
}
.price-doctor-link { grid-column: auto; }
.price-doctor-proof { padding: 14px; }
.price-doctor-proof-card { grid-template-columns: 58px minmax(0, 1fr); gap: 10px 12px; align-items: start; }
.price-doctor-proof-photo { width: 58px; height: 58px; }
.price-doctor-proof-name { font-size: 15px; }
.price-doctor-proof-summary { grid-column: 1 / -1; padding: 10px 0 0; border-top: 1px solid var(--line); border-left: 0; }
}
