/* =====================================================
   Dr. Logvynenko Clinic — design tokens & base
   ===================================================== */

:root {
    --dlc-accent: #93a24e;
    --dlc-accent-soft: rgba(147, 162, 78, 0.35);
    --dlc-accent-deep: #7a8740;

    --dlc-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --dlc-ease-soft: cubic-bezier(0.22, 1, 0.36, 1);

    --dlc-font-display: 'Playfair Display', 'Georgia', serif;
    --dlc-font-body: 'Manrope', 'Helvetica Neue', Arial, sans-serif;

    --dlc-radius-sm: 10px;
    --dlc-radius-md: 18px;
    --dlc-radius-lg: 28px;

    --dlc-container: 1200px;
    --dlc-header-h: 118px;
}

:root,
[data-theme="light"] {
    --dlc-bg: #ffffff;
    --dlc-bg-soft: #f4f5ef;
    --dlc-text: #14150f;
    --dlc-text-muted: rgba(20, 21, 15, 0.62);
    --dlc-border: rgba(20, 21, 15, 0.1);
    --dlc-card-bg: #ffffff;
    --dlc-header-bg: #ffffff;
    --dlc-hero-text: #f5f6ef;
    --dlc-hero-muted: rgba(245, 246, 239, 0.78);
    --dlc-hero-veil: linear-gradient(105deg, rgba(11, 12, 9, 0.78) 0%, rgba(11, 12, 9, 0.45) 48%, rgba(11, 12, 9, 0.2) 100%);
}

[data-theme="dark"] {
    --dlc-bg: #0b0c09;
    --dlc-bg-soft: #131409;
    --dlc-text: #f5f6ef;
    --dlc-text-muted: rgba(245, 246, 239, 0.64);
    --dlc-border: rgba(245, 246, 239, 0.12);
    --dlc-card-bg: #14150f;
    --dlc-header-bg: #0b0c09;
    --dlc-hero-text: #f5f6ef;
    --dlc-hero-muted: rgba(245, 246, 239, 0.78);
    --dlc-hero-veil: linear-gradient(105deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.28) 100%);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: var(--dlc-bg);
    color: var(--dlc-text);
    font-family: var(--dlc-font-body);
    font-size: 16px;
    line-height: 1.6;
    transition: background-color .5s var(--dlc-ease), color .5s var(--dlc-ease);
    overflow-x: hidden;
}
body.dlc-modal-open { overflow: hidden; }

h1, h2, h3, .dlc-font-display {
    font-family: var(--dlc-font-display);
    font-weight: 600;
    line-height: 1.15;
    margin: 0 0 .5em;
    letter-spacing: -0.01em;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; height: auto; }
ul { padding: 0; margin: 0; list-style: none; }
.dlc-muted { color: var(--dlc-text-muted); }
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.dlc-container {
    max-width: var(--dlc-container);
    margin: 0 auto;
    padding: 0 24px;
}

.dlc-skip-link {
    position: absolute; left: -999px; top: 0;
    background: var(--dlc-accent); color: #fff;
    padding: 10px 16px; z-index: 999; border-radius: 8px;
}
.dlc-skip-link:focus { left: 12px; top: 12px; }

.dlc-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--dlc-accent);
    margin: 0 0 14px;
}

/* =====================================================
   Buttons
   ===================================================== */
.dlc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 14.5px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: transform .35s var(--dlc-ease), background-color .3s ease, color .3s ease, border-color .3s ease, box-shadow .35s var(--dlc-ease);
    white-space: nowrap;
}
.dlc-btn--accent {
    background: var(--dlc-accent);
    color: #fff;
    box-shadow: 0 10px 28px -14px var(--dlc-accent-soft);
}
.dlc-btn--accent:hover {
    transform: translateY(-2px);
    background: var(--dlc-accent-deep);
}
.dlc-btn--ghost { background: transparent; color: var(--dlc-text); border-color: var(--dlc-border); }
.dlc-btn--ghost:hover { border-color: var(--dlc-accent); color: var(--dlc-accent); }
.dlc-btn--on-hero {
    color: var(--dlc-hero-text);
    border-color: rgba(255,255,255,.35);
}
.dlc-btn--on-hero:hover {
    border-color: #fff;
    color: #fff;
    background: rgba(255,255,255,.08);
}
.dlc-btn--lg { padding: 15px 30px; font-size: 15.5px; }
.dlc-btn--block { display: flex; width: 100%; margin-top: 14px; }
.dlc-btn:disabled { opacity: .7; cursor: wait; transform: none; }

.dlc-btn:focus-visible,
.dlc-filter-pill:focus-visible,
.dlc-nav__list a:focus-visible,
.dlc-search-trigger:focus-visible,
.dlc-theme-toggle:focus-visible,
.dlc-cart-link:focus-visible,
.dlc-burger:focus-visible,
.dlc-modal__close:focus-visible {
    outline: 3px solid var(--dlc-accent-soft);
    outline-offset: 3px;
}

.dlc-link-arrow {
    font-weight: 700;
    color: var(--dlc-accent);
    display: inline-flex;
    gap: 6px;
    transition: gap .3s var(--dlc-ease);
}
.dlc-link-arrow:hover { gap: 12px; }

/* =====================================================
   Header + logo
   ===================================================== */
.dlc-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--dlc-header-bg);
    border-bottom: 1px solid transparent;
    transition: border-color .35s ease, padding .35s var(--dlc-ease), background .35s ease;
}
.dlc-header.is-scrolled {
    border-bottom-color: var(--dlc-border);
}
.dlc-header__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 0;
    transition: padding .35s var(--dlc-ease);
}
.dlc-header.is-scrolled .dlc-header__row { padding-top: 8px; padding-bottom: 8px; }

.dlc-logo {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    color: var(--dlc-text);
}
.dlc-logo img,
.dlc-logo__custom,
.dlc-logo__img {
    display: block;
    height: 48px;
    width: auto;
    max-width: min(220px, 58vw);
}
.dlc-logo__img--dark,
.dlc-logo__icon--dark { display: none; }
[data-theme="dark"] .dlc-logo__img--light,
[data-theme="dark"] .dlc-logo__icon--light { display: none; }
[data-theme="dark"] .dlc-logo__img--dark,
[data-theme="dark"] .dlc-logo__icon--dark { display: block; }
.dlc-logo__icon {
    height: 44px;
    width: auto;
    max-width: 52px;
}
.dlc-logo__lockup {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.dlc-logo__wordmark {
    display: inline-flex;
    flex-direction: column;
    line-height: 1.1;
}
.dlc-logo__name {
    font-family: var(--dlc-font-body);
    font-weight: 800;
    letter-spacing: 0.08em;
    font-size: 13px;
    color: var(--dlc-text);
    white-space: nowrap;
}
.dlc-logo__clinic {
    font-family: var(--dlc-font-body);
    font-weight: 600;
    letter-spacing: 0.28em;
    font-size: 11px;
    color: var(--dlc-text);
    margin-top: 2px;
    white-space: nowrap;
}
.dlc-logo--footer .dlc-logo__name { font-size: 14px; }
.dlc-logo--footer .dlc-logo__clinic { font-size: 12px; }
.dlc-logo--footer .dlc-logo__img {
    height: 54px;
    max-width: 250px;
}

.dlc-nav { flex: 1; }
.dlc-header__nav-row {
    border-top: 1px solid var(--dlc-border);
}
.dlc-nav__list {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 6px 28px;
    min-height: 46px;
}
.dlc-nav__list a {
    font-weight: 600;
    font-size: 14px;
    position: relative;
    padding: 10px 0;
    white-space: nowrap;
}
.dlc-nav__list a::after {
    content: '';
    position: absolute; left: 0; right: 100%; bottom: 8px; height: 2px;
    background: var(--dlc-accent);
    transition: right .35s var(--dlc-ease);
}
.dlc-nav__list a:hover::after,
.dlc-nav__list .current-menu-item > a::after { right: 0; }

.dlc-nav__list .menu-item-shop {
    margin-left: 8px;
}
.dlc-nav__list .menu-item-shop a {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border: 1px solid var(--dlc-border);
    border-radius: 999px;
    font-size: 13px;
    letter-spacing: 0.02em;
}
.dlc-nav__list .menu-item-shop a::after { display: none; }
.dlc-nav__list .menu-item-shop a:hover,
.dlc-nav__list .menu-item-shop.current-menu-item > a {
    border-color: var(--dlc-accent);
    color: var(--dlc-accent);
    background: rgba(147, 162, 78, 0.12);
}

.dlc-nav-drawer__foot { display: none; }
.dlc-header__phone { font-weight: 700; }
.dlc-header__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}
.dlc-header__theme { display: inline-flex; align-items: center; }

.dlc-search-trigger, .dlc-theme-toggle, .dlc-burger, .dlc-cart-link {
    background: transparent;
    border: 1px solid var(--dlc-border);
    color: var(--dlc-text);
    width: 42px;
    height: 42px;
    padding: 0;
    margin: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 0;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    transition: border-color .3s ease, transform .3s var(--dlc-ease);
}
.dlc-search-trigger svg,
.dlc-theme-toggle svg,
.dlc-cart-link svg {
    display: block;
    flex-shrink: 0;
}
.dlc-search-trigger:hover, .dlc-theme-toggle:hover { border-color: var(--dlc-accent); transform: rotate(8deg); }
.dlc-cart-link:hover { border-color: var(--dlc-accent); transform: rotate(-8deg); }
.dlc-cart-count {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--dlc-accent);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}
.dlc-cart-count[hidden] { display: none !important; }
.dlc-cart-link { position: relative; }

.dlc-shop-fab { display: none; }
@media (max-width: 860px) {
    .dlc-shop-fab {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        right: 16px;
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        z-index: 80;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: var(--dlc-accent);
        color: #fff;
        box-shadow: 0 10px 28px rgba(20, 21, 15, 0.22);
        transition: transform .3s var(--dlc-ease), opacity .3s ease;
    }
    .dlc-shop-fab:hover { transform: scale(1.05); }
    .dlc-shop-fab .dlc-cart-count {
        background: #14150f;
        color: #fff;
        top: 4px;
        right: 4px;
    }
    body.dlc-menu-open .dlc-shop-fab,
    body.dlc-search-open .dlc-shop-fab,
    body.dlc-modal-open .dlc-shop-fab {
        opacity: 0;
        pointer-events: none;
    }
}

.dlc-theme-toggle__icon--moon { display: none; }
[data-theme="dark"] .dlc-theme-toggle__icon--sun { display: none; }
[data-theme="dark"] .dlc-theme-toggle__icon--moon { display: inline-flex; }

.dlc-burger {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    overflow: hidden;
}
.dlc-burger span {
    display: block;
    width: 16px;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
    transform-origin: center;
    transition: transform .3s var(--dlc-ease), opacity .3s ease;
}
body.dlc-menu-open .dlc-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.dlc-menu-open .dlc-burger span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}
body.dlc-menu-open .dlc-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Search overlay */
.dlc-search-overlay {
    position: fixed; inset: 0;
    background: var(--dlc-bg);
    z-index: 200;
    padding-top: 120px;
    opacity: 0; transform: translateY(-12px);
    pointer-events: none;
    transition: opacity .35s var(--dlc-ease), transform .35s var(--dlc-ease);
}
.dlc-search-overlay[hidden] { display: none !important; }
.dlc-search-overlay[data-open] {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
body.dlc-search-open { overflow: hidden; }
.dlc-search-form { display: flex; gap: 10px; align-items: center; border-bottom: 2px solid var(--dlc-accent); padding-bottom: 14px; }
.dlc-search-form input { flex: 1; border: none; background: transparent; font-size: 26px; font-family: var(--dlc-font-display); color: var(--dlc-text); outline: none; }
.dlc-search-form button { background: transparent; border: none; color: var(--dlc-text); cursor: pointer; }
.dlc-search-close { font-size: 28px; }
.dlc-search-hint { color: var(--dlc-text-muted); font-size: 13px; margin-top: 10px; min-height: 1.4em; }
.dlc-search-results { margin-top: 18px; display: grid; gap: 8px; max-height: 58vh; overflow-y: auto; }
.dlc-search-loading,
.dlc-search-empty { color: var(--dlc-text-muted); margin: 8px 0; }
.dlc-search-hit {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 10px 8px;
    border-radius: var(--dlc-radius-sm);
    border: 1px solid transparent;
}
.dlc-search-hit:hover {
    border-color: var(--dlc-border);
    background: var(--dlc-bg-soft);
}
.dlc-search-hit__media {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    overflow: hidden;
    background: var(--dlc-bg-soft);
}
.dlc-search-hit__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dlc-search-hit__body { display: grid; gap: 2px; min-width: 0; }
.dlc-search-hit__type {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--dlc-accent);
}
.dlc-search-hit strong {
    font-family: var(--dlc-font-display);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
}
.dlc-search-hit__meta {
    color: var(--dlc-text-muted);
    font-size: 13.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.dlc-search-all {
    display: inline-flex;
    margin: 8px 0 16px;
    font-weight: 700;
    color: var(--dlc-accent);
}
.dlc-search-page-form { margin: 0 0 32px; max-width: 32rem; }
.dlc-search-results-page { display: grid; gap: 8px; }
.dlc-page--search .dlc-search-hit {
    grid-template-columns: 72px minmax(0, 1fr);
    padding: 14px 16px;
    border: 1px solid var(--dlc-border);
    border-radius: var(--dlc-radius-md);
    background: var(--dlc-card-bg);
}
.dlc-page--search .dlc-search-hit__media { width: 72px; height: 72px; }

.navigation.pagination,
.woocommerce-pagination {
    margin: 40px 0 0;
}
.navigation.pagination .nav-links,
.woocommerce-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: center;
}
.navigation.pagination .nav-links a,
.navigation.pagination .nav-links span,
.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--dlc-border);
    border-radius: 999px;
    font-weight: 700;
    color: var(--dlc-text);
    background: var(--dlc-card-bg);
    text-decoration: none;
}
.navigation.pagination .nav-links a:hover,
.woocommerce-pagination .page-numbers a:hover {
    border-color: var(--dlc-accent);
    color: var(--dlc-accent);
}
.navigation.pagination .nav-links .current,
.woocommerce-pagination .page-numbers .current {
    background: var(--dlc-accent);
    border-color: var(--dlc-accent);
    color: #fff;
}

/* =====================================================
   Hero — full-bleed
   ===================================================== */
.dlc-hero {
    position: relative;
    min-height: calc(100vh - var(--dlc-header-h));
    min-height: calc(100svh - var(--dlc-header-h));
    display: flex;
    align-items: flex-end;
    padding: 0 0 72px;
    overflow: hidden;
    color: var(--dlc-hero-text);
    background: #0b0c09;
}
.dlc-hero__media,
.dlc-hero__atmosphere {
    position: absolute;
    inset: -8% 0 -8%;
    will-change: transform;
}
.dlc-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.08);
}
.dlc-hero__img.is-animating {
    animation: dlcKenBurns 22s var(--dlc-ease-soft) forwards;
}
@keyframes dlcKenBurns {
    from { transform: scale(1.08) translate3d(0, 0, 0); }
    to { transform: scale(1.18) translate3d(-1.5%, -1%, 0); }
}

.dlc-hero__atmosphere {
    background:
        radial-gradient(ellipse 70% 55% at 18% 40%, rgba(147, 162, 78, 0.38), transparent 60%),
        radial-gradient(ellipse 55% 50% at 85% 70%, rgba(147, 162, 78, 0.18), transparent 55%),
        linear-gradient(160deg, #10120c 0%, #0b0c09 55%, #16180f 100%);
}
.dlc-hero__orb {
    position: absolute;
    border-radius: 50%;
    opacity: .4;
    /* Мягкое движение + легкое пульсирование */
    animation: dlcOrbFloat 18s ease-in-out infinite alternate, dlcOrbPulse 7s ease-in-out infinite;
}
.dlc-hero__orb--a {
    width: 42vw; height: 42vw; max-width: 520px; max-height: 520px;
    left: -8%; top: 10%;
    background: rgba(147, 162, 78, 0.45);
}
.dlc-hero__orb--b {
    width: 30vw; height: 30vw; max-width: 360px; max-height: 360px;
    right: 5%; bottom: 8%;
    background: rgba(147, 162, 78, 0.25);
    animation-delay: -4s, -3s;
}
@keyframes dlcOrbFloat {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to { transform: translate3d(2%, -4%, 0) scale(1.05); }
}

@keyframes dlcOrbPulse {
    from { opacity: .34; }
    to { opacity: .52; }
}
.dlc-hero__grain {
    position: absolute; inset: 0;
    opacity: .07;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    pointer-events: none;
}

.dlc-hero__veil {
    position: absolute; inset: 0;
    background: var(--dlc-hero-veil);
    pointer-events: none;
}

.dlc-hero__inner {
    position: relative;
    z-index: 2;
    max-width: 760px;
    padding-bottom: 24px;
}
.dlc-hero__brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
}
.dlc-hero__brand-icon {
    width: 52px; height: 52px;
    filter: drop-shadow(0 8px 20px rgba(147, 162, 78, 0.35));
}
.dlc-hero__brand-name {
    font-family: var(--dlc-font-body);
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--dlc-accent);
}
.dlc-hero__title {
    font-size: clamp(40px, 7vw, 72px);
    color: var(--dlc-hero-text);
    margin-bottom: 18px;
    line-height: 1.04;
    letter-spacing: -0.02em;
}
.dlc-hero__title em {
    font-style: italic;
    color: var(--dlc-accent);
    font-weight: 500;
}
.dlc-hero__subtitle {
    font-size: clamp(16px, 2vw, 18.5px);
    color: var(--dlc-hero-muted);
    max-width: 520px;
    margin: 0 0 34px;
}
.dlc-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }

.dlc-hero__scroll {
    position: absolute;
    right: 36px;
    bottom: 40px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(245, 246, 239, 0.55);
}
.dlc-hero__scroll-line {
    width: 1px;
    height: 48px;
    background: linear-gradient(to bottom, rgba(245,246,239,.55), transparent);
    animation: dlcScrollPulse 2.2s ease-in-out infinite;
}
@keyframes dlcScrollPulse {
    0%, 100% { opacity: .35; transform: scaleY(.7); transform-origin: top; }
    50% { opacity: 1; transform: scaleY(1); }
}

/* Hero entrance — only hide when JS opted into animation */
[data-dlc-hero-item] {
    opacity: 1;
    transform: none;
}
html.dlc-anim [data-dlc-hero]:not(.is-ready) [data-dlc-hero-item] {
    opacity: 0;
    transform: translateY(40px) scale(.99);
    filter: blur(6px);
}
html.dlc-anim [data-dlc-hero-item] {
    transition: opacity 1s var(--dlc-ease), transform 1s var(--dlc-ease), filter 1s var(--dlc-ease);
}
.dlc-hero.is-ready [data-dlc-hero-item] {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}
.dlc-hero.is-ready [data-dlc-hero-item]:nth-child(1) { transition-delay: .12s; }
.dlc-hero.is-ready [data-dlc-hero-item]:nth-child(2) { transition-delay: .28s; }
.dlc-hero.is-ready [data-dlc-hero-item]:nth-child(3) { transition-delay: .42s; }
.dlc-hero.is-ready [data-dlc-hero-item]:nth-child(4) { transition-delay: .56s; }
.dlc-hero.is-ready .dlc-hero__scroll { transition-delay: .8s; }

/* =====================================================
   Sections
   ===================================================== */
.dlc-section { padding: 100px 0; }
.dlc-section__title { font-size: clamp(28px, 3.6vw, 42px); }
.dlc-section__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 40px;
    gap: 20px;
    flex-wrap: wrap;
}

/* Service rows (home) */
.dlc-services-list {
    margin-top: 40px;
    border-top: 1px solid var(--dlc-border);
}
.dlc-service-row {
    display: grid;
    grid-template-columns: 64px 1fr auto;
    gap: 24px;
    align-items: center;
    padding: 28px 8px;
    border-bottom: 1px solid var(--dlc-border);
    transition: background .35s var(--dlc-ease), padding .35s var(--dlc-ease);
}
.dlc-service-row:hover {
    background: var(--dlc-bg-soft);
    padding-left: 16px;
    padding-right: 16px;
}
.dlc-service-row__num {
    font-family: var(--dlc-font-display);
    font-size: 15px;
    color: var(--dlc-text-muted);
}
.dlc-service-row__title {
    display: block;
    font-family: var(--dlc-font-display);
    font-size: clamp(22px, 2.4vw, 28px);
    font-weight: 600;
    margin-bottom: 4px;
    letter-spacing: -0.01em;
}
.dlc-service-row__desc {
    display: block;
    color: var(--dlc-text-muted);
    font-size: 14.5px;
    max-width: 540px;
}
.dlc-service-row__arrow {
    color: var(--dlc-accent);
    font-size: 22px;
    transition: transform .35s var(--dlc-ease);
}
.dlc-service-row:hover .dlc-service-row__arrow { transform: translateX(8px); }

/* Service cards (archive) */
.dlc-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 36px; }
.dlc-services-grid--full { grid-template-columns: repeat(3, 1fr); margin-top: 0; }
.dlc-service-card {
    position: relative;
    background: var(--dlc-card-bg);
    border: 1px solid var(--dlc-border);
    border-radius: var(--dlc-radius-md);
    padding: 28px 24px;
    display: flex; flex-direction: column;
    min-height: 100%;
    transition: transform .45s var(--dlc-ease), border-color .3s ease, box-shadow .45s var(--dlc-ease);
}
.dlc-service-card:hover {
    transform: translateY(-6px);
    border-color: var(--dlc-accent);
    box-shadow: 0 24px 48px -24px var(--dlc-accent-soft);
}
.dlc-service-card__icon {
    width: 40px; height: 40px; margin-bottom: 16px; object-fit: contain;
}
.dlc-service-card__num {
    font-family: var(--dlc-font-display);
    font-size: 13px;
    color: var(--dlc-text-muted);
    margin: 0 0 16px;
    letter-spacing: 0.04em;
}
.dlc-service-card h3 {
    font-size: 20px;
    margin: 0 0 10px;
    line-height: 1.25;
}
.dlc-service-card p {
    color: var(--dlc-text-muted);
    font-size: 14.5px;
    line-height: 1.55;
    margin: 0;
    flex: 1;
}
.dlc-service-card__arrow {
    margin-top: 22px;
    color: var(--dlc-accent);
    font-size: 20px;
    line-height: 1;
    transition: transform .35s var(--dlc-ease);
}
.dlc-service-card:hover .dlc-service-card__arrow { transform: translateX(6px); }

.dlc-filter-bar {
    display: flex;
    gap: 8px 10px;
    flex-wrap: wrap;
    margin: 0 0 28px;
    padding: 0;
}
.dlc-filter-pill {
    border: 1px solid var(--dlc-border);
    background: transparent;
    color: var(--dlc-text);
    padding: 8px 16px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.2;
    transition: all .3s ease;
}
.dlc-filter-pill.is-active,
.dlc-filter-pill:hover {
    background: var(--dlc-accent);
    color: #fff;
    border-color: var(--dlc-accent);
}

/* Services archive page spacing */
.dlc-page--services {
    padding: 28px 0 96px;
}
.dlc-page--services .dlc-breadcrumbs {
    padding: 0 0 20px;
}
.dlc-page--services .dlc-page__header {
    margin-bottom: 28px;
    max-width: 40rem;
}
.dlc-page--services .dlc-page__header .dlc-eyebrow {
    margin: 0 0 10px;
}
.dlc-page--services .dlc-page__header h1 {
    margin: 0;
}
.dlc-page--services .dlc-page__lead {
    margin: 12px 0 0;
}
.dlc-page--services .dlc-services-grid--full {
    gap: 18px;
}
.dlc-page--services .dlc-page__header + .dlc-services-grid--full {
    margin-top: 4px;
}

/* About teaser */
.dlc-about-teaser__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: center; }
.dlc-lead { font-size: 17px; color: var(--dlc-text-muted); margin-bottom: 20px; }
.dlc-about-teaser__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.dlc-stat {
    text-align: center;
    padding: 28px 10px;
    border-bottom: 2px solid var(--dlc-accent);
}
.dlc-stat__num { display: block; font-family: var(--dlc-font-display); font-size: 44px; color: var(--dlc-accent); }
.dlc-stat span:last-child { font-size: 13px; color: var(--dlc-text-muted); }

/* Doctors */
.dlc-doctors-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.dlc-doctor-card { text-align: left; }
.dlc-doctor-card__photo {
    border-radius: var(--dlc-radius-md);
    overflow: hidden;
    aspect-ratio: 4/5;
    background: var(--dlc-bg-soft);
    margin-bottom: 14px;
    display: grid;
    place-items: center;
}
.dlc-doctor-card__initials {
    font-family: var(--dlc-font-display);
    font-size: 42px;
    color: var(--dlc-accent);
    letter-spacing: 0.04em;
}
.dlc-blog-card__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 160px;
    background:
        radial-gradient(circle at 30% 30%, var(--dlc-accent-soft), transparent 55%),
        var(--dlc-bg-soft);
}
.dlc-doctor-card__photo img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .9s var(--dlc-ease);
}
.dlc-doctor-card:hover .dlc-doctor-card__photo img { transform: scale(1.06); }
.dlc-doctor-card h3 { font-size: 17px; margin-bottom: 2px; }
.dlc-doctor-card p { font-size: 13px; color: var(--dlc-text-muted); }

/* CTA */
.dlc-cta {
    background: var(--dlc-bg-soft);
    border-radius: var(--dlc-radius-lg);
    margin: 0 24px;
    position: relative;
    overflow: hidden;
}
.dlc-cta::before {
    content: '';
    position: absolute;
    width: 420px; height: 420px;
    right: -80px; top: -120px;
    background: radial-gradient(circle, var(--dlc-accent-soft), transparent 65%);
    pointer-events: none;
}
.dlc-cta__inner { text-align: center; max-width: 560px; margin: 0 auto; position: relative; }
.dlc-cta__inner p { color: var(--dlc-text-muted); margin-bottom: 26px; }

/* Blog */
.dlc-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.dlc-blog-grid--list { grid-template-columns: repeat(2, 1fr); }
.dlc-blog-card__img {
    border-radius: var(--dlc-radius-md);
    overflow: hidden;
    aspect-ratio: 4/3;
    background: var(--dlc-bg-soft);
    margin-bottom: 16px;
}
.dlc-blog-card__img img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .8s var(--dlc-ease);
}
.dlc-blog-card:hover .dlc-blog-card__img img { transform: scale(1.05); }
.dlc-blog-card h3 { font-size: 18px; }
.dlc-blog-card p { color: var(--dlc-text-muted); font-size: 14px; }

.dlc-blog-layout { display: grid; grid-template-columns: 2.4fr 1fr; gap: 50px; align-items: start; }
.dlc-post-single__layout { display: grid; grid-template-columns: 2.4fr 1fr; gap: 50px; margin-top: 40px; }
.dlc-post-single__cover { border-radius: var(--dlc-radius-lg); overflow: hidden; margin-bottom: 32px; }
.dlc-post-single__cover img { width: 100%; height: auto; }
.dlc-sidebar .widget {
    border-top: 1px solid var(--dlc-border);
    padding: 24px 0;
    margin-bottom: 8px;
}

/* =====================================================
   Generic page layouts
   ===================================================== */
.dlc-page { padding: 40px 0 100px; }
.dlc-page__header { margin-bottom: 36px; }
.dlc-page__header h1 { font-size: clamp(30px, 4.4vw, 48px); margin: 0; }
.dlc-page__header .dlc-eyebrow { margin-bottom: 10px; }
.dlc-page__lead {
    max-width: 40rem;
    margin: 12px 0 0;
    font-size: 16.5px;
    line-height: 1.55;
    color: var(--dlc-text-muted);
}
.dlc-page__intro {
    max-width: 46rem;
    margin-bottom: 20px;
}
.dlc-page__intro-text {
    font-size: 17.5px;
    line-height: 1.7;
}
.dlc-page__intro-text p + p { margin-top: 1em; }

.dlc-page--404 { padding: 28px 0 96px; }
.dlc-404 {
    position: relative;
    max-width: 40rem;
    margin: 0 0 48px;
    padding: 8px 0 8px;
}
.dlc-404__code {
    font-family: var(--dlc-font-display);
    font-size: clamp(72px, 14vw, 140px);
    font-weight: 600;
    line-height: 0.85;
    color: var(--dlc-accent);
    opacity: .22;
    margin: 0 0 8px;
    letter-spacing: -0.04em;
}
.dlc-404 .dlc-page__header { margin-bottom: 24px; }
.dlc-404__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 22px;
}
.dlc-404-search {
    display: flex;
    gap: 8px;
    align-items: center;
    max-width: 28rem;
}
.dlc-404-search input {
    flex: 1;
    min-width: 0;
    border: 1px solid var(--dlc-border);
    border-radius: 999px;
    padding: 13px 18px;
    background: var(--dlc-bg);
    color: var(--dlc-text);
    font-family: inherit;
    font-size: 15px;
}
.dlc-404-search input:focus {
    outline: 2px solid var(--dlc-accent-soft);
    border-color: var(--dlc-accent);
}
.dlc-404-links h2 {
    font-size: clamp(22px, 2.5vw, 28px);
    margin: 0 0 18px;
}
.dlc-404-links__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.dlc-404-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 20px 20px 22px;
    border: 1px solid var(--dlc-border);
    border-radius: var(--dlc-radius-md);
    background: var(--dlc-card-bg);
    transition: transform .45s var(--dlc-ease), border-color .3s ease, box-shadow .45s var(--dlc-ease);
}
.dlc-404-card:hover {
    transform: translateY(-4px);
    border-color: var(--dlc-accent);
    box-shadow: 0 24px 48px -24px var(--dlc-accent-soft);
}
.dlc-404-card__label {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--dlc-accent);
}
.dlc-404-card strong {
    font-family: var(--dlc-font-display);
    font-size: 22px;
    font-weight: 600;
}
.dlc-404-card span:last-child {
    color: var(--dlc-text-muted);
    font-size: 14px;
    line-height: 1.45;
}
.dlc-about-layout {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 40px;
    align-items: start;
    margin-bottom: 56px;
}
.dlc-about-gallery {
    display: grid;
    gap: 14px;
}
.dlc-about-gallery__item {
    margin: 0;
    border-radius: var(--dlc-radius-md);
    overflow: hidden;
    background: var(--dlc-bg-soft);
    aspect-ratio: 16 / 10;
}
.dlc-about-gallery__item:last-child { aspect-ratio: 16 / 11; }
.dlc-about-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.dlc-about-owner {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: center;
    margin: 20px 0 56px;
    padding: 28px 0;
    border-top: 1px solid var(--dlc-border);
    border-bottom: 1px solid var(--dlc-border);
}
.dlc-about-owner__photo {
    margin: 0;
    border-radius: var(--dlc-radius-md);
    overflow: hidden;
    aspect-ratio: 3 / 4;
    background: var(--dlc-bg-soft);
}
.dlc-about-owner__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.dlc-about-owner__body h2 {
    font-size: clamp(26px, 3vw, 34px);
    margin: 6px 0 8px;
}
.dlc-about-owner__role {
    color: var(--dlc-accent);
    font-weight: 600;
    margin: 0 0 14px;
}
.dlc-about-owner__bio {
    max-width: 40rem;
    color: var(--dlc-text-muted);
    line-height: 1.7;
    margin: 0 0 20px;
}
.dlc-about-owner__bio p {
    margin: 0 0 14px;
}
.dlc-about-owner__bio p:last-child { margin-bottom: 0; }

.dlc-about-values { margin-top: 48px; }
.dlc-about-values .dlc-section__title { margin-bottom: 8px; }
.dlc-about-philosophy {
    margin-top: 56px;
    padding-top: 40px;
    border-top: 1px solid var(--dlc-border);
    max-width: 44rem;
}
.dlc-about-philosophy .dlc-section__title { margin: 8px 0 18px; }
.dlc-about-philosophy__body {
    color: var(--dlc-text);
    font-size: 17px;
    line-height: 1.7;
}
.dlc-about-philosophy__body p { margin: 0 0 14px; }
.dlc-about-philosophy__body p:last-child { margin-bottom: 0; }
.dlc-about-cta {
    margin-top: 56px;
    padding: 32px 0 0;
    border-top: 1px solid var(--dlc-border);
    display: grid;
    gap: 18px;
}
.dlc-about-cta p {
    max-width: 36rem;
    font-size: 17px;
    color: var(--dlc-text-muted);
    margin: 0;
}

.dlc-values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 28px 0 50px; }
.dlc-values-grid--directions { grid-template-columns: repeat(3, 1fr); gap: 22px 28px; }
.dlc-value-card {
    border-top: 2px solid var(--dlc-accent);
    padding: 24px 0;
}
.dlc-value-card h3 { font-size: 18px; margin-bottom: 8px; }
.dlc-value-card p { font-size: 14.5px; color: var(--dlc-text-muted); margin: 0; line-height: 1.55; }
.dlc-license-note { color: var(--dlc-text-muted); font-size: 13.5px; }

.dlc-service-single__grid { display: grid; grid-template-columns: 2.2fr 1fr; gap: 50px; }
.dlc-service-single__aside {
    position: sticky; top: 110px; height: fit-content;
    border: 1px solid var(--dlc-border);
    border-radius: var(--dlc-radius-md);
    padding: 26px;
}
.dlc-aside-doctors li { padding: 8px 0; border-bottom: 1px solid var(--dlc-border); }

.dlc-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 28px 0;
}
.dlc-gallery img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: var(--dlc-radius-sm);
}

.dlc-price-table { width: 100%; border-collapse: collapse; margin: 20px 0 40px; }
.dlc-price-table th, .dlc-price-table td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--dlc-border); }
.dlc-price-table th { color: var(--dlc-text-muted); font-size: 12.5px; text-transform: uppercase; letter-spacing: .06em; }
.dlc-price-section { margin-bottom: 50px; }
.dlc-price-note { color: var(--dlc-text-muted); font-size: 13.5px; }

.dlc-accordion__item { border: 1px solid var(--dlc-border); border-radius: var(--dlc-radius-sm); padding: 16px 18px; margin-bottom: 10px; }
.dlc-accordion__item summary {
    cursor: pointer;
    font-weight: 700;
    list-style: none;
}
.dlc-accordion__item summary::-webkit-details-marker { display: none; }

.dlc-doctor-single__grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 50px; }
.dlc-doctor-single__photo { border-radius: var(--dlc-radius-lg); overflow: hidden; aspect-ratio: 4/5; background: var(--dlc-bg-soft); }
.dlc-doctor-single__photo img { width: 100%; height: 100%; object-fit: cover; }
.dlc-doctor-single__years { color: var(--dlc-accent); font-weight: 700; margin: 0 0 12px; }
.dlc-doctor-single__info h1 { margin: 0 0 8px; }
.dlc-doctor-single__info h3 { margin: 28px 0 10px; }
.dlc-doctor-single__info ul { margin: 0 0 8px; }
.dlc-doctor-single__info li { padding: 8px 0; border-bottom: 1px solid var(--dlc-border); }
.dlc-doctor-single__info .dlc-tags li { padding: 0; border-bottom: 0; }
.dlc-doctor-single__bio { margin: 0 0 8px; }
.dlc-doctor-single__bio p { margin: 0 0 12px; }
.dlc-doctor-single__info .dlc-btn { margin: 18px 0 8px; }
.dlc-tags { display: flex; gap: 10px; flex-wrap: wrap; margin: 12px 0 0; }
.dlc-tags a { border: 1px solid var(--dlc-border); border-radius: 999px; padding: 8px 16px; font-size: 13px; }

.dlc-contacts__grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 40px; }
.dlc-contacts__info ul { margin: 20px 0 30px; }
.dlc-contacts__info li { padding: 10px 0; border-bottom: 1px solid var(--dlc-border); }
.dlc-contacts__map iframe { border-radius: var(--dlc-radius-md); width: 100%; min-height: 420px; border: 0; }
.dlc-map {
    min-height: 360px;
    background: var(--dlc-bg-soft);
    border-radius: var(--dlc-radius-md);
    display: grid;
    place-items: center;
    gap: 14px;
    padding: 36px 28px;
    text-align: center;
}
.dlc-map p {
    margin: 0;
    max-width: 28em;
    color: var(--dlc-text-muted);
    font-size: 14.5px;
}
.dlc-map.is-loaded {
    padding: 0;
    background: transparent;
    min-height: 0;
}

.dlc-reviews__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 48px;
    margin-top: 36px;
}
.dlc-review { margin: 0; }
.dlc-review p {
    font-family: var(--dlc-font-display);
    font-size: clamp(18px, 1.6vw, 22px);
    line-height: 1.35;
    margin: 0 0 18px;
}
.dlc-review footer {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
    color: var(--dlc-text-muted);
}
.dlc-review cite {
    font-style: normal;
    font-weight: 700;
    color: var(--dlc-text);
}

.dlc-vacancy-list { display: grid; gap: 14px; }
.dlc-vacancy-card {
    border-bottom: 1px solid var(--dlc-border);
    padding: 22px 4px;
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    transition: padding .3s var(--dlc-ease), background .3s ease;
}
.dlc-vacancy-card:hover { background: var(--dlc-bg-soft); padding-left: 14px; padding-right: 14px; }
.dlc-vacancy-single { display: grid; grid-template-columns: 2.2fr 1fr; gap: 50px; }
.dlc-vacancy-salary { font-family: var(--dlc-font-display); font-size: 22px; color: var(--dlc-accent); }
.dlc-vacancy-meta { font-size: 13px; color: var(--dlc-text-muted); margin-bottom: 8px; }

.dlc-search-result-row { display: block; padding: 20px 0; border-bottom: 1px solid var(--dlc-border); }
.dlc-search-result-row__type { text-transform: uppercase; font-size: 11px; letter-spacing: .08em; color: var(--dlc-accent); font-weight: 700; }

.dlc-breadcrumbs {
    padding: 8px 0 18px;
}
.dlc-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 13px;
    color: var(--dlc-text-muted);
}
.dlc-breadcrumbs li {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
}
.dlc-breadcrumbs li:not(:last-child)::after {
    content: '/';
    margin: 0 8px;
    color: var(--dlc-border-strong, var(--dlc-text-muted));
    opacity: 0.7;
    pointer-events: none;
}
.dlc-breadcrumbs a {
    color: var(--dlc-text-muted);
    text-decoration: none;
}
.dlc-breadcrumbs a:hover {
    color: var(--dlc-accent);
}
.dlc-breadcrumbs [aria-current="page"] {
    color: var(--dlc-text);
}

/* =====================================================
   Forms & modal
   ===================================================== */
.dlc-form { display: grid; gap: 14px; margin-top: 20px; }
.dlc-form label { display: grid; gap: 6px; font-size: 13.5px; font-weight: 600; }
.dlc-form input, .dlc-form textarea {
    border: 1px solid var(--dlc-border); border-radius: var(--dlc-radius-sm); padding: 12px 14px;
    background: var(--dlc-bg); color: var(--dlc-text); font-family: inherit; font-size: 14.5px;
}
.dlc-form input:focus, .dlc-form textarea:focus {
    outline: 2px solid var(--dlc-accent-soft);
    border-color: var(--dlc-accent);
}
.dlc-form input.is-invalid {
    border-color: #c0392b;
}
.dlc-form__hint {
    font-weight: 500;
    font-size: 12px;
    color: var(--dlc-text-muted);
}
.dlc-form__privacy { font-size: 12px; color: var(--dlc-text-muted); }
.dlc-form__context {
    margin: 0;
    font-size: 13.5px;
    color: var(--dlc-accent);
    font-weight: 600;
}
.dlc-turnstile { margin: 4px 0 12px; min-height: 65px; }
.dlc-form__status { font-size: 14px; min-height: 1.2em; margin: 0; }
.dlc-form__status.is-ok { color: var(--dlc-accent); }
.dlc-form__status.is-error { color: #c0392b; }
.dlc-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }

.dlc-modal { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 24px; }
.dlc-modal[hidden] { display: none !important; }
.dlc-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.dlc-modal__panel {
    position: relative; background: var(--dlc-bg); border-radius: var(--dlc-radius-lg);
    padding: 40px; max-width: 460px; width: 100%;
    transform: translateY(24px) scale(.97); opacity: 0;
    transition: transform .4s var(--dlc-ease), opacity .4s var(--dlc-ease);
    box-shadow: 0 40px 80px -40px rgba(0,0,0,.45);
}
.dlc-modal[data-open] .dlc-modal__panel { transform: translateY(0) scale(1); opacity: 1; }
.dlc-modal__close { position: absolute; top: 16px; right: 16px; background: none; border: none; font-size: 26px; cursor: pointer; color: var(--dlc-text); }
.dlc-modal__lead { color: var(--dlc-text-muted); margin: 0; }

/* =====================================================
   Footer
   ===================================================== */
.dlc-footer { border-top: 1px solid var(--dlc-border); padding: 70px 0 30px; margin-top: 40px; }
.dlc-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr; gap: 40px; }
.dlc-footer__title { font-size: 15px; margin-bottom: 16px; }
.dlc-footer__list li, .dlc-footer__contacts li { padding: 6px 0; }
.dlc-footer__tagline { color: var(--dlc-text-muted); font-size: 13px; margin: 10px 0 16px; text-transform: uppercase; letter-spacing: .08em; }
.dlc-footer__social {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
}
.dlc-social {
    width: 42px;
    height: 42px;
    border: 1px solid var(--dlc-border);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dlc-text);
    transition: border-color .3s ease, color .3s ease, transform .3s var(--dlc-ease);
}
.dlc-social:hover {
    border-color: var(--dlc-accent);
    color: var(--dlc-accent);
    transform: translateY(-2px);
}
.dlc-footer__contacts a:hover { color: var(--dlc-accent); }
.dlc-footer__book { margin-top: 16px; font-size: 14px; }
.dlc-footer__note { color: var(--dlc-text-muted); font-size: 13px; }
.dlc-footer__bottom {
    display: flex; justify-content: space-between; margin-top: 50px; padding-top: 24px;
    border-top: 1px solid var(--dlc-border); font-size: 12.5px; color: var(--dlc-text-muted); flex-wrap: wrap; gap: 10px;
}
.dlc-footer__legal { display: flex; gap: 18px; }

/* =====================================================
   Scroll-reveal — visible by default; animate only with .dlc-anim
   ===================================================== */
[data-dlc-reveal-item] {
    opacity: 1;
    transform: none;
}
html.dlc-anim [data-dlc-reveal]:not(.is-visible) [data-dlc-reveal-item] {
    opacity: 0;
    transform: translateY(22px) scale(0.99);
    filter: blur(4px);
}
html.dlc-anim [data-dlc-reveal-item] {
    transition: opacity .85s var(--dlc-ease), transform .85s var(--dlc-ease), filter .85s var(--dlc-ease);
    transition-delay: calc(var(--i, 0) * 55ms);
}
[data-dlc-reveal].is-visible [data-dlc-reveal-item] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

@media (prefers-reduced-motion: reduce) {
    html.dlc-anim [data-dlc-reveal]:not(.is-visible) [data-dlc-reveal-item],
    html.dlc-anim [data-dlc-hero]:not(.is-ready) [data-dlc-hero-item],
    [data-dlc-reveal-item],
    [data-dlc-hero-item] {
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
    .dlc-hero__img.is-animating,
    .dlc-hero__orb,
    .dlc-hero__scroll-line { animation: none !important; }
    html { scroll-behavior: auto; }
}

/* =====================================================
   Responsive
   ===================================================== */
@media (max-width: 1080px) {
    .dlc-services-grid, .dlc-services-grid--full, .dlc-doctors-grid, .dlc-blog-grid, .dlc-reviews__list { grid-template-columns: repeat(2, 1fr); }
    .dlc-about-teaser__grid, .dlc-service-single__grid, .dlc-doctor-single__grid, .dlc-contacts__grid, .dlc-vacancy-single, .dlc-about-layout, .dlc-about-owner { grid-template-columns: 1fr; }
    .dlc-blog-layout, .dlc-post-single__layout { grid-template-columns: 1fr; }
    .dlc-values-grid { grid-template-columns: repeat(2, 1fr); }
    .dlc-gallery { grid-template-columns: repeat(2, 1fr); }
    .dlc-footer__grid { grid-template-columns: 1fr 1fr 1fr; gap: 28px; }
}

@media (max-width: 860px) {
    .dlc-container { padding: 0 16px; }
    :root { --dlc-header-h: 64px; }
    .dlc-header__row {
        gap: 12px;
        padding: 10px 15px;
    }
    .dlc-header.is-scrolled .dlc-header__row {
        padding: 10px 15px;
    }
    .dlc-header__actions { gap: 8px; flex-shrink: 0; }
    .dlc-header__nav-row { display: none; }
    .dlc-burger { display: inline-flex; }
    .dlc-header__phone,
    .dlc-header__theme,
    .dlc-header__actions > .dlc-btn--accent,
    .dlc-header__actions .dlc-cart-link { display: none; }
    .dlc-hero__scroll { display: none; }

    .dlc-logo__icon { height: 36px; max-width: 40px; }
    .dlc-logo__name { font-size: 11px; letter-spacing: 0.06em; }
    .dlc-logo__clinic { font-size: 9px; letter-spacing: 0.2em; }
    .dlc-logo__lockup { gap: 8px; }

    body.dlc-menu-open .dlc-header__nav-row {
        display: block;
        position: fixed;
        inset: var(--dlc-header-h) 0 0 0;
        z-index: 90;
        background: var(--dlc-bg);
        border-top: 1px solid var(--dlc-border);
        overflow-y: auto;
        padding: 4px 0 28px;
    }
    body.dlc-menu-open .dlc-nav { display: block; }
    body.dlc-menu-open .dlc-nav__list {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        min-height: 0;
    }
    body.dlc-menu-open .dlc-nav__list a {
        display: block;
        padding: 12px 0;
        font-size: 16px;
        border-bottom: 1px solid var(--dlc-border);
    }
    body.dlc-menu-open .dlc-nav__list a::after { display: none; }
    body.dlc-menu-open .dlc-nav__list .menu-item-shop { margin: 0; }
    body.dlc-menu-open .dlc-nav__list .menu-item-shop a {
        display: block;
        width: 100%;
        padding: 12px 0;
        border: 0;
        border-radius: 0;
        border-bottom: 1px solid var(--dlc-border);
        background: transparent;
        font-size: 16px;
        letter-spacing: 0;
    }
    body.dlc-menu-open .dlc-nav-drawer__foot {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin-top: 16px;
        padding-top: 4px;
        border-top: 0;
    }
    body.dlc-menu-open .dlc-nav-drawer__cta { width: 100%; justify-content: center; }
    body.dlc-menu-open .dlc-nav-drawer__phone {
        font-weight: 700;
        font-size: 15px;
        text-align: left;
    }
    body.dlc-menu-open .dlc-nav-drawer__theme {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-top: 4px;
    }
    body.dlc-menu-open .dlc-nav-drawer__theme-label {
        margin: 0;
        font-size: 12px;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--dlc-text-muted);
    }
    body.dlc-menu-open { overflow: hidden; }

    .dlc-service-row {
        grid-template-columns: 36px 1fr auto;
        gap: 12px;
        padding: 20px 0;
    }
    .dlc-service-row:hover { padding-left: 8px; padding-right: 8px; }
    .dlc-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px; }

    .dlc-404-links__grid { grid-template-columns: 1fr 1fr; }
    .dlc-page--doctors,
    .dlc-page--doctor-single {
        padding: 10px 0 80px;
    }
    .dlc-page--doctors .dlc-container,
    .dlc-page--doctor-single .dlc-container {
        padding: 0 15px;
    }
    .dlc-doctor-single__grid { gap: 22px; }
    .dlc-doctor-single__photo { border-radius: var(--dlc-radius-md); }
    .dlc-tags { gap: 8px; }
    .dlc-tags a { padding: 8px 14px; }
}

@media (max-width: 640px) {
    .dlc-services-grid, .dlc-services-grid--full, .dlc-doctors-grid, .dlc-blog-grid, .dlc-values-grid, .dlc-about-teaser__stats, .dlc-gallery, .dlc-reviews__list {
        grid-template-columns: 1fr;
    }
    .dlc-404-links__grid { grid-template-columns: 1fr; }
    .dlc-404-search { flex-wrap: wrap; }
    .dlc-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .dlc-footer__legal { flex-wrap: wrap; gap: 12px; }

    .dlc-hero {
        min-height: 78svh;
        padding: 48px 0 40px;
        align-items: center;
    }
    .dlc-hero__inner { padding-bottom: 0; max-width: 100%; }
    .dlc-hero__brand { margin-bottom: 20px; }
    .dlc-hero__brand-icon { width: 44px; height: 44px; }
    .dlc-hero__title { font-size: clamp(32px, 9vw, 44px); margin-bottom: 14px; }
    .dlc-hero__subtitle { font-size: 15.5px; margin-bottom: 26px; }
    .dlc-hero__actions { gap: 10px; }
    .dlc-hero__actions .dlc-btn { width: 100%; }

    .dlc-section { padding: 64px 0; }
    .dlc-section__title { font-size: clamp(24px, 7vw, 32px); }
    .dlc-section__head { margin-bottom: 28px; }
    .dlc-cta { margin: 0 12px; border-radius: var(--dlc-radius-md); }
    .dlc-cta__inner { padding: 0 8px; }
    .dlc-about-teaser__stats { grid-template-columns: 1fr; gap: 10px; }
    .dlc-stat { padding: 18px 10px; }

    .dlc-search-form input { font-size: 20px; }
    .dlc-search-overlay { padding-top: 96px; }
    .dlc-modal { padding: 16px; }
    .dlc-modal__panel { padding: 28px 22px; }

    .dlc-page--services { padding: 16px 0 64px; }
    .dlc-service-card { padding: 22px 20px; }
    .dlc-service-card__num,
    .dlc-service-card__icon { margin-bottom: 12px; }
    .dlc-service-card__arrow { margin-top: 18px; }
    .dlc-filter-pill { padding: 8px 14px; font-size: 13px; }

    /* Soften motion blur on small screens (perf + less “smeared” look) */
    html.dlc-anim [data-dlc-hero]:not(.is-ready) [data-dlc-hero-item],
    html.dlc-anim [data-dlc-reveal]:not(.is-visible) [data-dlc-reveal-item] {
        filter: none;
        transform: translateY(18px);
    }
}

@media (max-width: 400px) {
    .dlc-logo__wordmark { display: none; }
    .dlc-search-trigger, .dlc-theme-toggle, .dlc-burger, .dlc-cart-link {
        width: 38px; height: 38px;
    }
}
