/* ==========================================================================
   DEVOSO 4.2 — header, mega menu, black-and-white accents, article page,
   footer, practice pages. Loads after scale.css; sizes in rem.
   Author: Maks Odintsov
   ========================================================================== */

:root {
    --k: #121718;          /* main dark: buttons, dark sections */
    --k-2: #1d2729;
    --k-soft: #f4f6f5;
}

/* ---------- Buttons: black instead of burgundy ---------- */
.dv-btn--brand, .btn-brand, .dv-header__cta {
    background: var(--k) !important; border-color: var(--k) !important; color: #fff !important;
    box-shadow: none !important;
}
.dv-btn--brand:hover, .btn-brand:hover, .dv-header__cta:hover {
    background: var(--brand) !important; border-color: var(--brand) !important; color: #fff !important;
}
.dv-eyebrow { color: var(--k-2); }
.dv-eyebrow::before { background: var(--brand); }

/* ---------- Top bar ---------- */
.dv-topbar { background: var(--k); }
.dv-topbar__in { justify-content: space-between; align-items: center; min-height: 2.5rem; }
.dv-topbar__left, .dv-topbar__right { display: flex; align-items: center; gap: 1.5rem; }
.dv-topbar__in, .dv-topbar__in a, .dv-topbar__in span { font-size: .8rem; line-height: 1; }
.dv-topbar__tag { display: inline-flex; align-items: center; gap: .55rem; font-weight: 600; color: #fff; }
.dv-topbar__right a { display: inline-flex; align-items: center; gap: .4rem; color: rgba(255,255,255,.75); text-decoration: none; }
.dv-topbar__right a:hover { color: #fff; }
.dv-topbar__chan svg { width: .95rem; height: .95rem; }
/* Bolt: a calm «charging» glow — colour and halo only, no movement */
.dv-bolt { position: relative; flex: none; display: inline-grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 50%; background: rgba(181,207,207,.12); color: #b5cfcf; animation: dvBoltHalo 3.2s ease-in-out infinite; }
.dv-bolt svg { width: .85rem; height: .85rem; display: block; animation: dvBoltFill 3.2s ease-in-out infinite; }
@keyframes dvBoltHalo { 0%, 100% { box-shadow: 0 0 0 0 rgba(181,207,207,0); } 50% { box-shadow: 0 0 .6rem .1rem rgba(181,207,207,.35); } }
@keyframes dvBoltFill { 0%, 100% { color: #d9b44f; } 50% { color: #dbe9e9; } }
@media (prefers-reduced-motion: reduce) { .dv-bolt, .dv-bolt svg { animation: none; } }

/* Language switcher: segmented control UA | EN */
.dv-topbar .lang-switcher--inline { position: relative; display: inline-flex !important; align-items: center; gap: 0 !important; padding: .15rem !important; border-radius: 999px !important; background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.1) !important; }
.dv-topbar .lang-switcher .lang-flag { display: none !important; }
.dv-topbar .lang-switcher--inline .lang-switcher__item { display: inline-grid; place-items: center; min-width: 2.3rem; height: 1.5rem; padding: 0 .55rem !important; border-radius: 999px !important; background: transparent !important; color: rgba(255,255,255,.6) !important; font-size: .72rem !important; font-weight: 700; letter-spacing: .04em; text-decoration: none; box-shadow: none !important; border: 0 !important; transition: background .2s, color .2s; }
.dv-topbar .lang-switcher--inline .lang-switcher__item:hover { color: #fff !important; }
.dv-topbar .lang-switcher--inline .lang-switcher__item.is-active { background: #fff !important; color: var(--k) !important; }

/* ---------- Header: logo left, menu centred, actions right ---------- */
.dv-header__in { display: grid !important; grid-template-columns: auto 1fr auto; gap: 1.5rem; }
.dv-nav { justify-self: center; }
.dv-nav__list { gap: .25rem; }
.dv-nav__link { color: var(--k) !important; font-weight: 600; }
.dv-nav__item:hover > .dv-nav__link, .dv-nav__item.is-active > .dv-nav__link { color: var(--k) !important; }
.dv-nav__link::after { background: var(--brand) !important; }
.dv-header__actions { display: flex; align-items: center; gap: .6rem; }
.dv-header__actions .dv-iconbtn { width: 2.75rem; height: 2.75rem; border-radius: 50%; padding: 0; }
.dv-header__actions .dv-iconbtn:hover { border-color: var(--k); color: var(--k); }
.dv-header__cta { border-radius: 999px !important; padding: 0 1.4rem !important; height: 2.75rem; }
@media (max-width: 991.98px) {
    .dv-header__in { grid-template-columns: auto 1fr; }
    .dv-nav, .dv-header__cta { display: none !important; }
    .dv-header__actions { justify-self: end; }
}

/* ---------- Mega menu (full width, dims the page) ---------- */
.dv-header .dv-nav__item.has-mega { position: static; }
.dv-header .dv-mm {
    position: absolute; left: 0; right: 0; top: 100%; width: auto; margin: 0; display: block;
    background: #fff; border-radius: 0 0 1.25rem 1.25rem; border: 0; border-top: 1px solid var(--line);
    box-shadow: 0 1.5rem 3rem rgba(18,23,24,.14); transform: translateY(-.4rem); overflow: hidden;
    grid-template-columns: none;
}
.dv-header .dv-mm::before { content: ""; position: absolute; left: 0; right: 0; top: -1.25rem; height: 1.25rem; }
.dv-header::after { content: ""; position: fixed; left: 0; right: 0; top: 100%; height: 100vh; background: rgba(18,23,24,.38); opacity: 0; pointer-events: none; transition: opacity .25s; z-index: -1; }
.dv-header:has(.has-mega:hover)::after, .dv-header:has(.has-mega.is-open)::after { opacity: 1; }
.dv-mm__in { width: 92%; max-width: var(--wrap); margin: 0 auto; padding: 1.75rem 0 1.5rem; display: grid; grid-template-columns: 19rem 1fr; gap: 2rem; }
.dv-mm__cols { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 1.25rem 1.5rem; align-content: start; }
.dv-mm__col { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.dv-mm__lbl { font-size: .72rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--muted); padding: 0 .75rem .5rem; }
.dv-mm__item, .dv-mm__head { display: flex; align-items: flex-start; gap: .85rem; padding: .7rem .75rem; border-radius: .9rem; color: var(--k); text-decoration: none; transition: background .18s; }
.dv-mm__item:hover, .dv-mm__head:hover { background: var(--k-soft); color: var(--k); }
.dv-mm__item b, .dv-mm__head b { display: block; font-size: .95rem; font-weight: 650; line-height: 1.3; }
.dv-mm__item small { display: block; margin-top: .15rem; font-size: .8rem; line-height: 1.4; color: var(--muted); }
.dv-mm__head { align-items: center; }
.dv-mm__ico { flex: none; width: 2.5rem; height: 2.5rem; border-radius: .75rem; display: grid; place-items: center; background: var(--k-soft); color: var(--k); transition: background .18s, color .18s, transform .25s; }
.dv-mm__ico svg { width: 1.2rem; height: 1.2rem; }
.dv-mm__item:hover .dv-mm__ico, .dv-mm__head:hover .dv-mm__ico { background: var(--k); color: #fff; transform: rotate(-6deg); }
.dv-mm__sub { list-style: none; margin: 0 0 0 3.35rem; padding: 0 0 .25rem .85rem; border-left: 1px solid var(--line); }
.dv-mm__sub a { display: block; padding: .32rem .5rem; font-size: .88rem; color: #4c5759; text-decoration: none; border-radius: .5rem; transition: color .15s, transform .15s; }
.dv-mm__sub a:hover { color: var(--brand); transform: translateX(.2rem); }
.dv-mm__item, .dv-mm__head { opacity: 0; transform: translateY(.35rem); }
.dv-nav__item:hover .dv-mm__item, .dv-nav__item:hover .dv-mm__head, .dv-nav__item.is-open .dv-mm__item, .dv-nav__item.is-open .dv-mm__head { opacity: 1; transform: none; transition: background .3s ease, opacity .3s calc(var(--i) * 30ms), transform .3s calc(var(--i) * 30ms); }

.dv-mm__promo { position: relative; display: flex; flex-direction: column; gap: .6rem; padding: 1.5rem; border-radius: 1.25rem; text-decoration: none; overflow: hidden; min-height: 100%; }
.dv-mm__promo.is-dark { background: var(--k); color: #fff; }
.dv-mm__promo.is-teal { background: #4e6c6e; color: #fff; }
.dv-mm__promo.is-light { background: var(--k-soft); color: var(--k); }
.dv-mm__k { align-self: flex-start; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .25rem .7rem; border-radius: 999px; background: rgba(255,255,255,.12); }
.dv-mm__promo.is-light .dv-mm__k { background: #fff; }
.dv-mm__promo b { font-family: var(--f-head, "Playfair Display", serif); font-size: 1.35rem; line-height: 1.25; font-weight: 700; }
.dv-mm__d { font-size: .85rem; line-height: 1.5; opacity: .75; }
.dv-mm__art { display: block; margin-top: auto; }
.dv-mm__art svg { width: 100%; height: 5rem; display: block; }
.dv-mm__art .mm-w { fill: none; stroke: currentColor; stroke-opacity: .35; stroke-width: 1.5; }
.dv-mm__art rect.mm-w { fill: currentColor; fill-opacity: .12; stroke: none; }
.dv-mm__art .mm-w2 { stroke-opacity: .2; }
.dv-mm__art .mm-p { fill: #b5cfcf; }
.dv-mm__art .mm-bolt { fill: #b5cfcf; animation: dvBoltFill 3.2s ease-in-out infinite; }
.dv-mm__promo.is-light .dv-mm__art .mm-p { fill: var(--brand); }
.dv-mm__promo i { font-style: normal; font-weight: 650; font-size: .9rem; }
.dv-mm__promo:hover i { text-decoration: underline; }

.dv-mm__foot { background: var(--k-soft); border-top: 1px solid var(--line); }
.dv-mm__foot-in { width: 92%; max-width: var(--wrap); margin: 0 auto; padding: .8rem 0; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.dv-mm__note { display: inline-flex; align-items: center; gap: 1rem; font-size: .85rem; color: var(--muted); }
.dv-mm__note svg { width: 1rem; height: 1rem; }
.dv-mm__note a, .dv-mm__links a { color: var(--k); font-weight: 600; text-decoration: none; font-size: .85rem; }
.dv-mm__links { display: inline-flex; gap: 1.75rem; }
.dv-mm__note a:hover, .dv-mm__links a:hover { color: var(--brand); }

/* Drawer: three levels, group labels */
.dv-drawer__menu .sub-menu .sub-menu { padding-left: .75rem; border-left: 1px solid var(--line); margin-left: .6rem; }
.dv-drawer__menu a[href="#"] { pointer-events: none; font-size: .72rem !important; text-transform: uppercase; letter-spacing: .08em; color: var(--muted) !important; padding-top: .9rem !important; }
.dv-drawer__menu a[href="#"]::after { display: none; }
.dv-drawer__menu li.menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu { display: block; }

/* ---------- Telegram banner: black, no blue hover ---------- */
.tg-banner { border-bottom: 1px solid rgba(255,255,255,.08); }
.tg-banner__btn { background: #fff !important; color: var(--k) !important; border-radius: 999px; }
.tg-banner__btn:hover { background: var(--brand) !important; color: #fff !important; transform: none; box-shadow: none; }
.tg-banner + .dv-topbar, .tg-banner ~ .dv-topbar { border-top: 0; }
.dv-topbar { background: var(--k-2); }

/* ---------- Footer 4.2 ---------- */
.dv-foot { display: none; }
.dv-f42 { background: var(--k); color: rgba(255,255,255,.66); padding: 4.5rem 0 0; overflow: hidden; position: relative; }
.dv-f42 a { color: rgba(255,255,255,.72); text-decoration: none; transition: color .15s; }
.dv-f42 a:hover { color: #fff; }
.dv-f42__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 3rem; align-items: end; padding-bottom: 3rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.dv-f42__logo { display: inline-flex; align-items: center; gap: .9rem; color: #fff !important; }
.dv-f42__logo svg { width: 3.25rem; height: 3.25rem; flex: none; }
.dv-f42__logo b { display: block; font-family: var(--f-head, "Playfair Display", serif); font-size: 1.75rem; letter-spacing: .04em; color: #fff; line-height: 1; }
.dv-f42__logo small { display: block; margin-top: .3rem; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.dv-f42__brand p { margin: 1.25rem 0 0; max-width: 30rem; font-size: .95rem; line-height: 1.65; }
.dv-f42__reach { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.dv-f42__tile { position: relative; display: flex; flex-direction: column; gap: .35rem; padding: 1.15rem 1.25rem; border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; transition: border-color .2s, background .2s; min-width: 0; }
.dv-f42__tile small { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.45); }
.dv-f42__tile b { color: #fff; font-size: 1.05rem; font-weight: 600; overflow-wrap: anywhere; }
.dv-f42__tile i { position: absolute; top: 1rem; right: 1.1rem; font-style: normal; color: rgba(255,255,255,.5); transition: transform .2s; }
.dv-f42__tile:hover { border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.04); }
.dv-f42__tile:hover i { transform: translate(.15rem, -.15rem); color: #fff; }
.dv-f42__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; padding: 3rem 0; }
.dv-f42__h { color: #fff !important; font-family: var(--f-body, Inter, sans-serif); font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 1.1rem; }
.dv-f42__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.dv-f42__col a { font-size: .93rem; }
.dv-f42__bottom { display: flex; flex-wrap: wrap; gap: .75rem 2rem; align-items: center; justify-content: space-between; padding: 1.5rem 0; border-top: 1px solid rgba(255,255,255,.1); font-size: .82rem; }
.dv-f42__bottom nav { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.dv-f42__note { color: rgba(255,255,255,.4); }
.dv-f42__word { font-family: var(--f-head, "Playfair Display", serif); font-weight: 700; font-size: 17vw; line-height: .78; letter-spacing: .02em; text-align: center; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.09); margin: 0 -4% -0.12em; user-select: none; white-space: nowrap; }
@media (max-width: 991.98px) {
    .dv-f42__top { grid-template-columns: 1fr; gap: 2rem; }
    .dv-f42__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .dv-f42 { padding-top: 3rem; padding-bottom: 4.5rem; }
    .dv-f42__reach { grid-template-columns: 1fr; }
    .dv-f42__grid { gap: 1.75rem 1rem; }
    .dv-f42__bottom { flex-direction: column; align-items: flex-start; }
}

/* Scroll to top: bigger icon */
.scroll-to-top { width: 3.25rem !important; height: 3.25rem !important; background: var(--k) !important; color: #fff !important; border-radius: 50% !important; }
.scroll-to-top svg { width: 1.6rem !important; height: 1.6rem !important; stroke-width: 2; }
.scroll-to-top:hover { background: var(--brand) !important; }

/* ---------- One logo, fixed header height ---------- */
.dv-header__in { height: 4.75rem !important; }
.dv-header.is-scrolled .dv-header__in { height: 4.25rem !important; }
.dv-logo { height: 3rem; }
.dv-logo__img { height: 2.75rem !important; max-height: 2.75rem !important; width: auto; max-width: 13rem; object-fit: contain; display: block; }
.dv-f42__logo .dv-logo__img { filter: brightness(0) invert(1); height: 3.25rem !important; max-height: 3.25rem !important; }

/* ---------- Standalone login page ---------- */
body.dv-bare { background: var(--k-soft); }
body.dv-bare .login-section { min-height: 100vh; padding: 2.5rem 1rem; background:
    radial-gradient(60rem 30rem at 85% -10%, rgba(78,108,110,.16), transparent 60%),
    radial-gradient(50rem 30rem at -10% 110%, rgba(107,29,61,.08), transparent 60%), var(--k-soft); }
body.dv-bare .login-wrapper { width: 100%; max-width: 28rem; margin: 0 auto; }
body.dv-bare .login-card { border-radius: 1.5rem; border: 1px solid var(--line); box-shadow: 0 1.5rem 3rem rgba(18,23,24,.08); }
body.dv-bare .login-card__logo { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
body.dv-bare .login-card__logo .dv-logo { height: auto; }
body.dv-bare .login-back { display: inline-flex; align-items: center; gap: .4rem; margin-bottom: 1rem; color: var(--muted); text-decoration: none; font-weight: 600; }
body.dv-bare .login-back:hover { color: var(--k); }

/* =================== ARTICLE 4.2 =================== */
.dv-ah { background: var(--k); color: #fff; padding: 1.25rem 0 3.25rem; position: relative; overflow: hidden; }
.dv-ah::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 3rem 3rem; -webkit-mask-image: linear-gradient(90deg, transparent, #000 60%); mask-image: linear-gradient(90deg, transparent, #000 60%); pointer-events: none; }
.dv-ah .dv-wrap { position: relative; }
.dv-ah .dv-crumbs, .dv-ah .breadcrumbs, .dv-ah nav[aria-label="breadcrumbs"], .dv-ah #breadcrumbs { margin: 0 0 1.75rem !important; padding: 0 !important; font-size: .8rem; color: rgba(255,255,255,.55); }
.dv-ah .dv-crumbs a, .dv-ah #breadcrumbs a, .dv-ah nav a { color: rgba(255,255,255,.75); }
.dv-ah__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 3rem; align-items: center; }
.dv-ah__tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.1rem; }
.dv-ah__tag { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .35rem .8rem; border-radius: 999px; background: #fff; color: var(--k) !important; text-decoration: none; }
.dv-ah__tag--ghost { background: transparent; color: #fff !important; border: 1px solid rgba(255,255,255,.3); }
.dv-ah__title { color: #fff !important; font-size: clamp(1.9rem, 3.1vw, 3.1rem); line-height: 1.12; margin: 0 0 1rem; letter-spacing: -.01em; }
.dv-ah__lead { color: rgba(255,255,255,.72); font-size: 1.1rem; line-height: 1.6; margin: 0 0 1.75rem; max-width: 44rem; }
.dv-ah__meta { display: flex; flex-wrap: wrap; gap: 1rem 2rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.12); }
.dv-ah__meta > span { display: flex; flex-direction: column; gap: .15rem; }
.dv-ah__meta small { font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.45); }
.dv-ah__meta b { font-size: .92rem; font-weight: 600; color: #fff; }
.dv-ah__author { flex-direction: row !important; align-items: center; gap: .7rem !important; }
.dv-ah__author > span { display: flex; flex-direction: column; gap: .15rem; }
.dv-ah__ava { width: 2.5rem; height: 2.5rem; border-radius: 50%; }
.dv-ah__vis { position: relative; margin: 0; aspect-ratio: 5 / 4; border-radius: 1.5rem; overflow: hidden; background: linear-gradient(160deg, #1d2729, #263437); border: 1px solid rgba(255,255,255,.08); display: grid; place-items: center; }
.dv-ah__vis img { width: 100%; height: 100%; object-fit: cover; }
.dv-ah__vis > svg { width: 88%; height: auto; color: #b5cfcf; }
.dv-ah__vis figcaption { position: absolute; left: 1rem; bottom: 1rem; display: inline-flex; align-items: center; gap: .5rem; padding: .5rem .85rem; border-radius: 999px; background: rgba(18,23,24,.75); color: #fff; font-size: .82rem; font-weight: 600; }
.dv-ah__vis figcaption svg { width: 1rem; height: 1rem; }
@media (max-width: 991.98px) { .dv-ah__grid { grid-template-columns: 1fr; gap: 2rem; } .dv-ah__vis { aspect-ratio: 16 / 9; } }

/* share column: bigger */
.dv-share42 { display: flex; flex-direction: column; gap: .55rem; align-items: center; }
.dv-share42__t { font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); writing-mode: vertical-rl; transform: rotate(180deg); margin-bottom: .4rem; }
.dv-share42 .share-btn { width: 3.25rem !important; height: 3.25rem !important; border-radius: 50% !important; display: grid !important; place-items: center; background: var(--k-soft) !important; color: var(--k) !important; border: 1px solid var(--line) !important; transition: background .18s, color .18s, transform .18s; }
.dv-share42 .share-btn svg { width: 1.35rem !important; height: 1.35rem !important; }
.dv-share42 .share-btn:hover { transform: translateY(-2px); color: #fff !important; background: var(--k) !important; border-color: var(--k) !important; }
.dv-share42 .share-btn--tg:hover { background: #229ed9 !important; border-color: #229ed9 !important; }
.dv-share42 .share-btn--vb:hover { background: #7360f2 !important; border-color: #7360f2 !important; }
.dv-share42 .share-btn--wa:hover { background: #25d366 !important; border-color: #25d366 !important; }
.dv-share42 .share-btn--fb:hover { background: #1877f2 !important; border-color: #1877f2 !important; }
.dv-share42 .share-btn--li:hover { background: #0a66c2 !important; border-color: #0a66c2 !important; }
@media (max-width: 991.98px) {
    .dv-share42 { flex-direction: row; flex-wrap: wrap; justify-content: center; order: 3; margin: 1.5rem 0; }
    .dv-share42__t { writing-mode: horizontal-tb; transform: none; width: 100%; text-align: center; margin: 0; }
}

/* reading toolbar */
.dv-at { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .5rem; margin-bottom: 2rem; border: 1px solid var(--line); border-radius: 1rem; background: #fff; }
.dv-at button { font: inherit; cursor: pointer; }
.dv-at__tts { display: flex; align-items: center; gap: .6rem; padding: .25rem .5rem .25rem .25rem; border-radius: .75rem; background: var(--k-soft); flex: 1 1 16rem; min-width: 0; }
.dv-at__play { flex: none; width: 2.5rem; height: 2.5rem; border-radius: 50%; border: 0; background: var(--k); color: #fff; display: grid; place-items: center; }
.dv-at__play svg { width: 1.15rem; height: 1.15rem; }
.dv-at__play .i-pause, .dv-at__tts.is-playing .i-play { display: none; }
.dv-at__tts.is-playing .i-pause { display: block; }
.dv-at__tts.is-playing .dv-at__play { background: var(--brand); }
.dv-at__ttsinfo { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .35rem; }
.dv-at__ttsinfo b { font-size: .85rem; font-weight: 600; }
.dv-at__bar { height: .25rem; border-radius: 1rem; background: var(--line); overflow: hidden; }
.dv-at__bar i { display: block; height: 100%; width: 0; background: var(--brand); transition: width .3s; }
.dv-at__rate, .dv-at__stop { flex: none; height: 2rem; min-width: 2.5rem; border-radius: .5rem; border: 1px solid var(--line); background: #fff; font-size: .8rem !important; font-weight: 700; display: grid; place-items: center; color: var(--k); }
.dv-at__stop[hidden] { display: none; }
.dv-at__stop svg { width: .9rem; height: .9rem; }
.dv-at__grp { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: .75rem; overflow: hidden; }
.dv-at__grp button { border: 0; background: #fff; height: 2.6rem; padding: 0 .8rem; font-weight: 700; color: var(--k); }
.dv-at__grp button:hover { background: var(--k-soft); }
.dv-at__grp span { font-size: .78rem; font-weight: 600; color: var(--muted); min-width: 2.8rem; text-align: center; }
.dv-at__btn { display: inline-flex; align-items: center; gap: .45rem; height: 2.6rem; padding: 0 .9rem; border-radius: .75rem; border: 1px solid var(--line); background: #fff; color: var(--k); font-size: .85rem !important; font-weight: 600; }
.dv-at__btn svg { width: 1.1rem; height: 1.1rem; }
.dv-at__btn:hover, .dv-at__btn[aria-pressed="true"] { background: var(--k); color: #fff; border-color: var(--k); }
@media (max-width: 600px) { .dv-at__btn span { display: none; } }

/* text size applies to every text node in the article */
.dv-article__body { --art-k: 1; }
.dv-article__body :is(p, li, blockquote, td, th, dd, dt, figcaption) { font-size: calc(1.0625rem * var(--art-k)) !important; line-height: 1.75; }
.dv-article__body h2 { font-size: calc(1.75rem * var(--art-k)) !important; }
.dv-article__body h3 { font-size: calc(1.35rem * var(--art-k)) !important; }
.dv-article__body .is-reading { background: rgba(181,207,207,.35); border-radius: .3rem; box-shadow: 0 0 0 .35rem rgba(181,207,207,.35); }

/* reading mode */
body.dv-reading .dv-article__share, body.dv-reading .dv-article__toc, body.dv-reading .tg-banner, body.dv-reading .dv-topbar { display: none !important; }
body.dv-reading .dv-article { grid-template-columns: minmax(0, 46rem) !important; justify-content: center; }
body.dv-reading .dv-article__body { font-family: Georgia, "Times New Roman", serif; }

/* toast, quote popup, progress label */
.dv-toast { position: fixed; left: 50%; bottom: 1.5rem; z-index: 3000; transform: translate(-50%, 1rem); opacity: 0; pointer-events: none; background: var(--k); color: #fff; padding: .8rem 1.2rem; border-radius: .9rem; font-size: .9rem; font-weight: 600; transition: opacity .2s, transform .2s; max-width: calc(100vw - 2rem); }
.dv-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.dv-qpop { position: absolute; z-index: 2000; display: flex; gap: .25rem; padding: .3rem; border-radius: .75rem; background: var(--k); box-shadow: 0 .75rem 2rem rgba(0,0,0,.25); }
.dv-qpop[hidden] { display: none; }
.dv-qpop button { border: 0; background: transparent; color: #fff; font: 600 .8rem/1 Inter, sans-serif; padding: .55rem .75rem; border-radius: .5rem; cursor: pointer; }
.dv-qpop button:hover { background: rgba(255,255,255,.12); }
.dv-progress__left { position: fixed; right: 1rem; top: 5.5rem; font: 600 .72rem/1 Inter, sans-serif; font-style: normal; color: var(--muted); background: #fff; padding: .3rem .55rem; border-radius: 999px; border: 1px solid var(--line); pointer-events: none; }
.dv-progress__left:empty { display: none; }
@media (max-width: 991.98px) { .dv-progress__left { display: none; } }
.dv-saved { margin-top: 1rem; padding-top: .75rem; border-top: 1px solid var(--line); display: grid; gap: .25rem; }
.dv-saved__t { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin: 0 0 .25rem; }
.dv-saved a { color: var(--k); text-decoration: none; padding: .45rem .6rem; border-radius: .5rem; font-weight: 600; font-size: .9rem; }
.dv-saved a:hover { background: var(--k-soft); }

/* =================== HELP BAND =================== */
.dv-help { padding: 4rem 0; }
.dv-help--dark { background: var(--k); color: #fff; }
.dv-help--light { background: var(--k-soft); color: var(--k); }
.dv-help__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 3.5rem; align-items: center; }
.dv-help__eb { display: inline-flex; align-items: center; gap: .6rem; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .85; }
.dv-help h2 { color: inherit !important; font-size: clamp(1.7rem, 2.6vw, 2.6rem); line-height: 1.15; margin: 1rem 0 .9rem; }
.dv-help p { margin: 0; font-size: 1.05rem; line-height: 1.65; opacity: .72; max-width: 36rem; }
.dv-help__link { display: inline-block; margin-top: 1.25rem; font-weight: 650; color: inherit !important; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: .1rem; }
.dv-help__steps { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.dv-help__steps li { position: relative; padding: 1rem; border-radius: 1rem; border: 1px solid rgba(255,255,255,.12); display: flex; flex-direction: column; gap: .6rem; font-size: .9rem; font-weight: 600; line-height: 1.35; }
.dv-help--light .dv-help__steps li { border-color: var(--line); background: #fff; }
.dv-help__steps b { width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--k); font-size: .85rem; }
.dv-help--light .dv-help__steps b { background: var(--k); color: #fff; }
.dv-help__steps li:not(:last-child)::after { content: "\2192"; position: absolute; right: -.8rem; top: 1.45rem; width: 1.1rem; height: 1.1rem; display: grid; place-items: center; font-size: .7rem; border-radius: 50%; background: var(--brand); color: #fff; z-index: 1; }
@media (max-width: 991.98px) { .dv-help__in { grid-template-columns: 1fr; gap: 2rem; } }
@media (max-width: 600px) { .dv-help__steps { grid-template-columns: 1fr; } .dv-help__steps li:not(:last-child)::after { display: none; } }

.dv-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.dv-pill { display: inline-flex; align-items: center; gap: .55rem; height: 3rem; padding: 0 1.15rem; border-radius: 999px; font-weight: 600; font-size: .92rem; text-decoration: none; border: 1px solid rgba(255,255,255,.18); color: #fff !important; transition: background .18s, border-color .18s, transform .18s; }
.dv-pill svg { width: 1.2rem; height: 1.2rem; flex: none; }
.dv-pill:hover { transform: translateY(-2px); }
.dv-pill--telegram { background: #229ed9; border-color: #229ed9; }
.dv-pill--viber { background: #7360f2; border-color: #7360f2; }
.dv-pill--whatsapp { background: #1fa855; border-color: #1fa855; }
.dv-pill--call, .dv-pill--email { background: transparent; }
.dv-pill--call:hover, .dv-pill--email:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.5); }
.dv-help--light .dv-pill--call, .dv-help--light .dv-pill--email, .dv-pills--light .dv-pill--call, .dv-pills--light .dv-pill--email { color: var(--k) !important; border-color: var(--line); background: #fff; }

/* =================== COMMENTS =================== */
.dv-cms-wrap { padding: 1rem 0 4rem; }
.dv-cms { max-width: 52rem; margin: 0 auto; }
.dv-cms__head { display: grid; gap: .75rem; margin-bottom: 2rem; }
.dv-cms__eb { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--brand); }
.dv-cms__head h2 { font-size: clamp(1.5rem, 2.2vw, 2.1rem); margin: .35rem 0 0; }
.dv-cms__head p { margin: 0; color: var(--muted); font-size: .95rem; line-height: 1.6; }
.dv-cms__list, .dv-cms__list .children { list-style: none; margin: 0; padding: 0; }
.dv-cms__list .children { margin-left: 3.25rem; padding-left: 1.25rem; border-left: 2px solid var(--line); }
.dv-cm__box { display: flex; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.dv-cm__ava { flex: none; width: 2.75rem; height: 2.75rem; border-radius: 50%; display: grid; place-items: center; font-weight: 700; color: #fff; background: hsl(var(--h) 22% 38%); }
.dv-cm--team > .dv-cm__box .dv-cm__ava { background: var(--k); box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--brand); }
.dv-cm__main { flex: 1; min-width: 0; }
.dv-cm__head { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .75rem; margin-bottom: .4rem; }
.dv-cm__head b { font-size: .98rem; }
.dv-cm__head time { font-size: .8rem; color: var(--muted); }
.dv-cm__badge { font-style: normal; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .2rem .55rem; border-radius: 999px; background: var(--k); color: #fff; }
.dv-cm__text p { margin: 0 0 .6rem; line-height: 1.65; }
.dv-cm__mod { font-size: .82rem; color: var(--brand); margin: 0 0 .4rem; }
.dv-cm__foot { display: flex; gap: 1rem; align-items: center; }
.dv-cm__like, .dv-cm__foot .comment-reply-link { display: inline-flex; align-items: center; gap: .35rem; border: 0; background: none; padding: 0; font-size: .82rem; font-weight: 600; color: var(--muted); cursor: pointer; text-decoration: none; }
.dv-cm__like svg { width: 1rem; height: 1rem; }
.dv-cm__like:hover, .dv-cm__foot .comment-reply-link:hover, .dv-cm__like[aria-pressed="true"] { color: var(--k); }
.dv-cm__like[aria-pressed="true"] svg path { fill: currentColor; }
.dv-cms .comment-respond { margin-top: 2rem; padding: 1.75rem; border-radius: 1.25rem; background: var(--k-soft); border: 1px solid var(--line); }
.dv-cmf__title { font-size: 1.3rem; margin: 0 0 .5rem; display: flex; justify-content: space-between; gap: 1rem; }
.dv-cmf__title small a { font-size: .85rem; color: var(--brand); }
.dv-cmf { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.dv-cmf > p, .dv-cmf__field--full, .dv-cmf .form-submit { grid-column: 1 / -1; }
.dv-cmf__note, .dv-cmf__as { margin: 0; font-size: .85rem; color: var(--muted); }
.dv-cmf__field { display: flex; flex-direction: column; gap: .4rem; position: relative; }
.dv-cmf__field label { font-size: .82rem; font-weight: 600; }
.dv-cmf__field input, .dv-cmf__field textarea { width: 100%; border: 1px solid var(--line); border-radius: .8rem; background: #fff; padding: .8rem 1rem; font: inherit; font-size: .95rem; transition: border-color .15s, box-shadow .15s; }
.dv-cmf__field input:focus, .dv-cmf__field textarea:focus { outline: 0; border-color: var(--k); box-shadow: 0 0 0 3px rgba(18,23,24,.08); }
.dv-cmf__field textarea { min-height: 8rem; resize: vertical; }
.dv-cmf__count { position: absolute; right: .8rem; bottom: .6rem; font-size: .72rem; color: var(--muted); }
.dv-cmf .form-submit { margin: 0; }
.dv-cmf .form-submit .dv-btn { height: 3rem; padding: 0 1.6rem; border-radius: 999px; border: 0; font-weight: 600; cursor: pointer; }
.dv-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) { .dv-cmf { grid-template-columns: 1fr; } .dv-cms__list .children { margin-left: 1rem; padding-left: .75rem; } }

/* =================== PRACTICE PAGE 4.2 =================== */
/* hero visual (replaces the duty card) */
.dvp-vis { position: relative; margin: 0; border-radius: 1.75rem; overflow: hidden; background: radial-gradient(120% 90% at 70% 20%, #263437 0%, #1d2729 45%, #121718 100%); border: 1px solid rgba(255,255,255,.08); aspect-ratio: 4 / 3; display: grid; place-items: center; }
.dvp-vis > svg { width: 100%; height: 100%; display: block; color: #b5cfcf; }
.dvp-vis__cap { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; display: flex; align-items: center; gap: .75rem; padding: .7rem .9rem; border-radius: 1rem; background: rgba(18,23,24,.72); border: 1px solid rgba(255,255,255,.1); color: #fff; }
.dvp-vis__ico { flex: none; width: 2.4rem; height: 2.4rem; border-radius: .75rem; display: grid; place-items: center; background: #fff; color: var(--k); }
.dvp-vis__ico svg { width: 1.2rem; height: 1.2rem; }
.dvp-vis__cap b { display: block; font-size: .95rem; }
.dvp-vis__cap small { display: block; font-size: .75rem; color: rgba(255,255,255,.6); }

/* section bar: centred, full width, no button */
.dvp-bar__in { display: flex !important; align-items: center; justify-content: center !important; gap: 1.5rem; }
.dvp-bar__title { flex: none; }
.dvp-bar__list { flex: 0 1 auto !important; justify-content: center; margin: 0 !important; }
.dvp-bar .dv-btn { display: none !important; }
.dvp-bar__list a.is-active, .dvp-bar__list a[aria-current] { background: var(--k) !important; color: #fff !important; }
@media (max-width: 991.98px) { .dvp-bar__in { justify-content: flex-start !important; } .dvp-bar__title { display: none; } }

/* generic cards that open modals */
.dvx-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.dvx-card { all: unset; box-sizing: border-box; cursor: pointer; display: flex; flex-direction: column; gap: .8rem; padding: 1.5rem; border-radius: 1.25rem; background: #fff; border: 1px solid var(--line); transition: border-color .2s, transform .2s, box-shadow .2s; min-height: 100%; }
.dv-sec--sand .dvx-card { background: #fff; }
.dvx-card:hover, .dvx-card:focus-visible { border-color: var(--k); transform: translateY(-3px); box-shadow: 0 1rem 2rem rgba(18,23,24,.08); }
.dvx-card:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.dvx-card__top { display: flex; justify-content: space-between; align-items: center; }
.dvx-card__top small { font-size: .75rem; font-weight: 700; letter-spacing: .08em; color: var(--muted); text-transform: uppercase; }
.dvx-card__ico { width: 3rem; height: 3rem; border-radius: .9rem; display: grid; place-items: center; background: var(--k-soft); color: var(--k); transition: background .2s, color .2s; }
.dvx-card__ico svg { width: 1.4rem; height: 1.4rem; }
.dvx-card:hover .dvx-card__ico { background: var(--k); color: #fff; }
.dvx-card b { font-family: var(--f-head, "Playfair Display", serif); font-size: 1.25rem; line-height: 1.25; color: var(--k); }
.dvx-card__d { color: var(--muted); font-size: .93rem; line-height: 1.55; }
.dvx-card__more { margin-top: auto; display: inline-flex; align-items: center; justify-content: space-between; gap: .5rem; padding-top: .9rem; border-top: 1px solid var(--line); font-size: .88rem; font-weight: 650; color: var(--k); }
.dvx-card__more i { font-style: normal; width: 1.7rem; height: 1.7rem; border-radius: 50%; display: grid; place-items: center; background: var(--k-soft); transition: transform .25s, background .2s, color .2s; }
.dvx-card:hover .dvx-card__more i, .dvx-risk:hover .dvx-card__more i { transform: rotate(90deg); background: var(--k); color: #fff; }
@media (max-width: 991.98px) { .dvx-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .dvx-cards { grid-template-columns: 1fr; } }

/* modal windows */
dialog.dvm { padding: 0; border: 0; background: transparent; max-width: min(46rem, calc(100vw - 2rem)); width: 100%; max-height: calc(100vh - 2rem); color: var(--k); }
dialog.dvm::backdrop { background: rgba(18,23,24,.55); backdrop-filter: blur(3px); }
dialog.dvm[open] { animation: dvmIn .28s cubic-bezier(.2,.8,.2,1); }
@keyframes dvmIn { from { opacity: 0; transform: translateY(1rem) scale(.98); } to { opacity: 1; transform: none; } }
.dvm__box { position: relative; background: #fff; border-radius: 1.5rem; padding: 2rem 2rem 1.5rem; max-height: calc(100vh - 2rem); overflow: auto; }
.dvm__x { position: absolute; top: 1rem; right: 1rem; width: 2.5rem; height: 2.5rem; border-radius: 50%; border: 1px solid var(--line); background: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer; color: var(--k); }
.dvm__x:hover { background: var(--k); color: #fff; }
.dvm__eb { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--brand); }
.dvm__box h3 { font-size: clamp(1.4rem, 2vw, 1.9rem); line-height: 1.2; margin: .5rem 3rem 1rem 0; }
.dvm__body p { font-size: 1rem; line-height: 1.7; color: #3a4648; }
.dvm__body h4 { font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 1.25rem 0 .4rem; color: var(--muted); }
.dvm__list { list-style: none; padding: 0; margin: .5rem 0 0; display: grid; gap: .55rem; }
.dvm__list li { display: flex; gap: .6rem; align-items: flex-start; line-height: 1.5; }
.dvm__list svg { flex: none; width: 1.1rem; height: 1.1rem; margin-top: .2rem; color: var(--brand); }
.dvm__foot { margin-top: 1.5rem; padding: 1.25rem; border-radius: 1rem; background: var(--k-soft); }
.dvm__foot p { margin: 0 0 .75rem; font-size: .9rem; font-weight: 600; }
.dvm__foot .dv-pill { height: 2.6rem; font-size: .85rem; }
.dvm__foot .dv-pill--call { color: var(--k) !important; border-color: var(--line); background: #fff; }
html.dvm-open { overflow: hidden; }
@media (max-width: 600px) { .dvm__box { padding: 1.5rem 1.25rem 1.25rem; border-radius: 1.25rem; } }

/* overview tabs */
.dvx-ov { display: grid; grid-template-columns: 19rem minmax(0, 1fr); gap: 2rem; align-items: start; }
.dvx-ov__nav { display: grid; gap: .4rem; position: sticky; top: 9rem; }
.dvx-ov__nav button { all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; gap: .8rem; padding: .9rem 1rem; border-radius: 1rem; border: 1px solid var(--line); background: #fff; font-weight: 650; font-size: .95rem; transition: background .2s, color .2s, border-color .2s; }
.dvx-ov__nav button:hover { border-color: var(--k); }
.dvx-ov__nav button.is-active { background: var(--k); color: #fff; border-color: var(--k); }
.dvx-ov__ico { width: 2.2rem; height: 2.2rem; border-radius: .7rem; display: grid; place-items: center; background: var(--k-soft); color: var(--k); flex: none; }
.dvx-ov__nav button.is-active .dvx-ov__ico { background: rgba(255,255,255,.14); color: #fff; }
.dvx-ov__ico svg { width: 1.1rem; height: 1.1rem; }
.dvx-ov__panel { padding: 2rem 2.25rem; border-radius: 1.5rem; background: #fff; border: 1px solid var(--line); font-size: 1.05rem; line-height: 1.75; animation: dvFade .35s; }
.dvx-ov__panel p { margin: 0 0 1rem; }
.dvx-ov__panel ul { padding-left: 0; list-style: none; display: grid; gap: .5rem; }
.dvx-ov__panel li { position: relative; padding-left: 1.5rem; }
.dvx-ov__panel li::before { content: ""; position: absolute; left: 0; top: .7em; width: .55rem; height: .55rem; border-radius: 50%; background: var(--brand); }
@keyframes dvFade { from { opacity: 0; transform: translateY(.4rem); } to { opacity: 1; transform: none; } }
@media (max-width: 991.98px) { .dvx-ov { grid-template-columns: 1fr; } .dvx-ov__nav { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); } .dvx-ov__panel { padding: 1.5rem; } }

/* roadmap stepper */
.dvx-road__steps { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 6), minmax(0, 1fr)); gap: .5rem; position: relative; }
.dvx-road__steps button { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; height: 100%; display: flex; flex-direction: column; gap: .5rem; padding: 1rem; border-radius: 1rem; background: #fff; border: 1px solid var(--line); transition: background .2s, color .2s, border-color .2s; }
.dvx-road__steps b { font-size: .8rem; font-weight: 800; color: var(--brand); letter-spacing: .06em; }
.dvx-road__steps span { font-size: .88rem; font-weight: 600; line-height: 1.35; }
.dvx-road__steps button:hover { border-color: var(--k); }
.dvx-road__steps button.is-active { background: var(--k); color: #fff; border-color: var(--k); }
.dvx-road__steps button.is-active b { color: #b5cfcf; }
.dvx-road__steps button.is-done { border-color: var(--k); }
.dvx-road__panel { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 2rem; padding: 2rem; border-radius: 1.5rem; background: #fff; border: 1px solid var(--line); animation: dvFade .35s; }
.dvx-road__k { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.dvx-road__txt h3 { font-size: 1.6rem; margin: .5rem 0 .75rem; }
.dvx-road__txt p { font-size: 1.02rem; line-height: 1.7; color: #3a4648; }
.dvx-road__nav { display: flex; gap: .5rem; margin-top: 1.25rem; }
.dvx-road__nav button { border: 1px solid var(--line); background: #fff; border-radius: 999px; height: 2.6rem; padding: 0 1.1rem; font-weight: 600; cursor: pointer; color: var(--k); }
.dvx-road__next { background: var(--k) !important; color: #fff !important; border-color: var(--k) !important; }
.dvx-road__docs { padding: 1.25rem; border-radius: 1rem; background: var(--k-soft); align-self: start; }
.dvx-road__docs h4 { display: flex; align-items: center; gap: .5rem; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 .75rem; }
.dvx-road__docs h4 svg { width: 1rem; height: 1rem; }
.dvx-road__docs ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.dvx-road__docs li { display: flex; gap: .55rem; align-items: flex-start; font-size: .93rem; line-height: 1.45; }
.dvx-road__docs li svg { flex: none; width: 1rem; height: 1rem; margin-top: .2rem; color: var(--brand); }
@media (max-width: 991.98px) { .dvx-road__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } .dvx-road__panel { grid-template-columns: 1fr; padding: 1.5rem; } }
@media (max-width: 600px) { .dvx-road__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* risk map */
.dvx-risks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.dvx-risk { all: unset; box-sizing: border-box; cursor: pointer; display: flex; flex-direction: column; gap: .8rem; padding: 1.5rem; border-radius: 1.25rem; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); color: #fff; transition: background .2s, border-color .2s, transform .2s; }
.dvx-risk:hover, .dvx-risk:focus-visible { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.4); transform: translateY(-3px); }
.dvx-risk__lvl { display: flex; align-items: center; gap: .25rem; }
.dvx-risk__lvl i { width: 1.4rem; height: .35rem; border-radius: 1rem; background: rgba(255,255,255,.15); }
.dvx-risk__lvl em { font-style: normal; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-left: .5rem; color: rgba(255,255,255,.7); }
.dvx-risk--low .dvx-risk__lvl i:nth-child(1) { background: #7fa3a4; }
.dvx-risk--medium .dvx-risk__lvl i:nth-child(-n+2) { background: #7fa3a4; }
.dvx-risk--high .dvx-risk__lvl i { background: #e2577f; }
.dvx-risk b { font-family: var(--f-head, "Playfair Display", serif); font-size: 1.2rem; line-height: 1.3; }
.dvx-risk__d { color: rgba(255,255,255,.65); font-size: .92rem; line-height: 1.55; }
.dvx-risk .dvx-card__more { color: #fff; border-top-color: rgba(255,255,255,.12); }
.dvx-risk .dvx-card__more i { background: rgba(255,255,255,.12); }
@media (max-width: 991.98px) { .dvx-risks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .dvx-risks { grid-template-columns: 1fr; } }

/* myths: flip */
.dvx-myths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.dvx-myth { all: unset; box-sizing: border-box; cursor: pointer; position: relative; display: grid; min-height: 12rem; perspective: 60rem; }
.dvx-myth__side { grid-area: 1 / 1; display: flex; flex-direction: column; gap: .75rem; padding: 1.75rem; border-radius: 1.25rem; backface-visibility: hidden; transition: transform .6s cubic-bezier(.3,.7,.2,1); }
.dvx-myth__side--m { background: #fff; border: 1px solid var(--line); }
.dvx-myth__side--f { background: var(--k); color: #fff; transform: rotateY(180deg); }
.dvx-myth[aria-pressed="true"] .dvx-myth__side--m { transform: rotateY(-180deg); }
.dvx-myth[aria-pressed="true"] .dvx-myth__side--f { transform: rotateY(0); }
.dvx-myth em { font-style: normal; align-self: flex-start; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: .3rem .7rem; border-radius: 999px; background: #fbe9ef; color: var(--brand); }
.dvx-myth__side--f em { background: #b5cfcf; color: var(--k); }
.dvx-myth__side--m b { font-family: var(--f-head, "Playfair Display", serif); font-size: 1.25rem; line-height: 1.35; text-decoration: line-through; text-decoration-color: rgba(107,29,61,.35); text-decoration-thickness: 2px; }
.dvx-myth__side--f span { font-size: 1rem; line-height: 1.65; }
.dvx-myth__hint { margin-top: auto; font-size: .82rem; font-weight: 600; color: var(--muted); }
.dvx-myth:hover .dvx-myth__side--m { border-color: var(--k); }
@media (max-width: 767.98px) { .dvx-myths { grid-template-columns: 1fr; } }

/* results */
.dvx-res { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 2rem; }
.dvx-res__item { padding-top: 1.25rem; border-top: 2px solid var(--k); }
.dvx-res__ico { width: 2.75rem; height: 2.75rem; border-radius: 50%; display: grid; place-items: center; background: var(--k); color: #fff; margin-bottom: .9rem; }
.dvx-res__ico svg { width: 1.3rem; height: 1.3rem; }
.dvx-res__item b { display: block; font-size: 1.1rem; margin-bottom: .4rem; }
.dvx-res__item p { margin: 0; color: var(--muted); line-height: 1.6; font-size: .95rem; }
@media (max-width: 991.98px) { .dvx-res { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .dvx-res { grid-template-columns: 1fr; } }

/* checklist */
.dvx-chk { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 3rem; align-items: start; }
.dvx-chk .dv-title, .dvx-chk .dv-eyebrow { color: #fff !important; }
.dvx-chk .dv-sub { color: rgba(255,255,255,.65) !important; }
.dvx-chk__prog { display: flex; align-items: center; gap: 1rem; margin: 1.5rem 0; color: rgba(255,255,255,.75); font-weight: 600; }
.dvx-chk__ring { position: relative; width: 4.5rem; height: 4.5rem; flex: none; }
.dvx-chk__ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.dvx-chk__ring circle { fill: none; stroke-width: 3; stroke: rgba(255,255,255,.12); }
.dvx-chk__ring .js-chk-ring { stroke: #b5cfcf; stroke-dasharray: 0 100; stroke-linecap: round; transition: stroke-dasharray .4s; }
.dvx-chk__ring b { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: .9rem; }
.dvx-chk__acts { display: flex; flex-wrap: wrap; gap: .5rem; }
.dvx-chk__acts .dv-btn { border-radius: 999px; }
.dvx-chk__acts .dv-btn--light { background: #fff; color: var(--k); border: 0; }
.dvx-chk__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.dvx-chk__list label { display: flex; align-items: flex-start; gap: .9rem; padding: 1rem 1.1rem; border-radius: 1rem; border: 1px solid rgba(255,255,255,.12); cursor: pointer; transition: background .2s, border-color .2s; color: #fff; }
.dvx-chk__list label:hover { border-color: rgba(255,255,255,.4); }
.dvx-chk__list input { position: absolute; opacity: 0; pointer-events: none; }
.dvx-chk__box { flex: none; width: 1.5rem; height: 1.5rem; border-radius: .45rem; border: 1.5px solid rgba(255,255,255,.4); display: grid; place-items: center; color: var(--k); transition: background .2s, border-color .2s; }
.dvx-chk__box svg { width: 1rem; height: 1rem; opacity: 0; transform: scale(.5); transition: opacity .2s, transform .2s; }
.dvx-chk__list input:checked + .dvx-chk__box { background: #b5cfcf; border-color: #b5cfcf; }
.dvx-chk__list input:checked + .dvx-chk__box svg { opacity: 1; transform: none; }
.dvx-chk__list input:checked ~ .dvx-chk__t { color: rgba(255,255,255,.5); text-decoration: line-through; }
.dvx-chk__list input:focus-visible + .dvx-chk__box { outline: 2px solid #b5cfcf; outline-offset: 2px; }
.dvx-chk__t { line-height: 1.5; font-size: .95rem; }
@media (max-width: 991.98px) { .dvx-chk { grid-template-columns: 1fr; gap: 1.5rem; } }

/* other practices: clean list, no gradients */
.dvx-other { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: .75rem; }
.dvx-other__item { display: flex; align-items: center; gap: 1rem; padding: 1.15rem 1.25rem; border-radius: 1.1rem; background: #fff; border: 1px solid var(--line); text-decoration: none; color: var(--k); transition: border-color .2s, transform .2s; }
.dvx-other__item:hover { border-color: var(--k); transform: translateY(-2px); color: var(--k); }
.dvx-other__ico { flex: none; width: 3rem; height: 3rem; border-radius: .9rem; display: grid; place-items: center; background: var(--k); color: #fff; }
.dvx-other__ico svg { width: 1.35rem; height: 1.35rem; }
.dvx-other__t { flex: 1; min-width: 0; }
.dvx-other__t b { display: block; font-size: 1.05rem; }
.dvx-other__t small { display: block; color: var(--muted); font-size: .85rem; line-height: 1.45; margin-top: .2rem; }
.dvx-other__go { flex: none; width: 2.25rem; height: 2.25rem; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line); transition: background .2s, color .2s; }
.dvx-other__item:hover .dvx-other__go { background: var(--k); color: #fff; border-color: var(--k); }

/* any remaining practice-card gradients/overlays from older layers */
.v3-prac__item::before, .v3-prac__item::after { display: none !important; }
.v3-prac__item:hover { background: #fff !important; }

/* black buttons on dark backgrounds turn white */
:is(.dvp-hero, .dv-hero, .v3-hero, .dv-sec--dark, .dv-help--dark, .dv-phero, .v3-phero) .dv-btn--brand { background: #fff !important; border-color: #fff !important; color: var(--k) !important; }
:is(.dvp-hero, .dv-hero, .v3-hero, .dv-sec--dark, .dv-help--dark, .dv-phero, .v3-phero) .dv-btn--brand:hover { background: var(--brand) !important; border-color: var(--brand) !important; color: #fff !important; }

/* =================== TELEGRAM CHANNEL BLOCK =================== */
.dv-chan { display: grid; gap: 1.5rem; padding: 1.75rem; border-radius: 1.5rem; background: var(--k); color: #fff; position: relative; overflow: hidden; }
.dv-chan--wide { grid-template-columns: 15rem minmax(0, 1fr) auto; align-items: center; gap: 2.5rem; padding: 2rem 2.5rem; }
.dv-chan::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px); background-size: 1.25rem 1.25rem; pointer-events: none; }
.dv-chan > * { position: relative; }
.dv-chan__feed { border-radius: 1.1rem; background: #1d2729; border: 1px solid rgba(255,255,255,.08); padding: .9rem; height: 10rem; overflow: hidden; }
.dv-chan__head { display: flex; align-items: center; gap: .6rem; padding-bottom: .7rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.dv-chan__ava { width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--k); font-family: var(--f-head, "Playfair Display", serif); font-weight: 700; }
.dv-chan__head b { display: block; font-size: .8rem; }
.dv-chan__head small { display: block; font-size: .68rem; color: rgba(255,255,255,.5); }
.dv-chan__msgs { display: flex; flex-direction: column; gap: .5rem; padding-top: .7rem; animation: dvChan 9s infinite; }
.dv-chan__msg { display: flex; flex-direction: column; gap: .3rem; padding: .55rem .65rem; border-radius: .7rem .7rem .7rem .2rem; background: rgba(255,255,255,.07); }
.dv-chan__msg i { display: block; height: .3rem; border-radius: 1rem; width: var(--w); background: rgba(255,255,255,.28); }
.dv-chan__msg i:first-child { background: #b5cfcf; }
@keyframes dvChan { 0%, 25% { transform: translateY(0); } 33%, 58% { transform: translateY(-3.4rem); } 66%, 92% { transform: translateY(-6.6rem); } 100% { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .dv-chan__msgs { animation: none; } }
.dv-chan__eb { display: inline-flex; align-items: center; gap: .5rem; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8fd0f0; }
.dv-chan__eb svg { width: 1.1rem; height: 1.1rem; }
.dv-chan__t { color: #fff !important; font-size: clamp(1.3rem, 1.9vw, 1.75rem); line-height: 1.25; margin: .6rem 0 .9rem; }
.dv-chan__topics { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.dv-chan__topics li { font-size: .8rem; font-weight: 600; padding: .35rem .75rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.8); }
.dv-chan__btn { display: inline-flex; align-items: center; gap: 1.25rem; padding: .9rem 1rem .9rem 1.4rem; border-radius: 1.1rem; background: #fff; color: var(--k) !important; text-decoration: none; transition: transform .2s, background .2s, color .2s; justify-self: start; }
.dv-chan__btn small { display: block; font-size: .72rem; font-weight: 600; color: var(--muted); }
.dv-chan__btn b { display: block; font-size: 1.05rem; }
.dv-chan__btn i { font-style: normal; width: 2.6rem; height: 2.6rem; border-radius: 50%; display: grid; place-items: center; background: #229ed9; color: #fff; font-size: 1.1rem; transition: transform .2s; }
.dv-chan__btn:hover { transform: translateY(-2px); }
.dv-chan__btn:hover i { transform: rotate(45deg); }
.dv-chan:not(.dv-chan--wide) .dv-chan__feed { height: 8.5rem; }
@media (max-width: 991.98px) { .dv-chan--wide { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.75rem; } .dv-chan--wide .dv-chan__feed { display: none; } }
.dv-subscribe { display: none !important; }

/* =================== CONTACTS 4.2 =================== */
.dvc-hero { position: relative; overflow: hidden; background: var(--k); color: #fff; padding: 1.25rem 0 4rem; }
.dvc-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.dvc-sw { width: 100%; height: 100%; }
.dvc-sw__grid line { stroke: rgba(255,255,255,.04); stroke-width: 1; }
.dvc-sw__wire { fill: none; stroke: rgba(127,163,164,.35); stroke-width: 1.5; stroke-dasharray: 4 6; animation: dvcDash 18s linear infinite; }
@keyframes dvcDash { to { stroke-dashoffset: -400; } }
.dvc-sw__pulse { fill: #b5cfcf; }
.dvc-sw__node { fill: #1d2729; stroke: #b5cfcf; stroke-width: 2; }
.dvc-sw__ring { fill: none; stroke: #b5cfcf; stroke-width: 1.5; }
.dvc-sw__hub { fill: #121718; stroke: #b5cfcf; stroke-width: 2; }
@media (prefers-reduced-motion: reduce) { .dvc-sw__wire { animation: none; } }
.dvc-hero__in { position: relative; }
.dvc-hero .dv-crumbs, .dvc-hero #breadcrumbs, .dvc-hero nav[aria-label="breadcrumbs"] { margin: 0 0 2rem !important; font-size: .8rem; color: rgba(255,255,255,.55); }
.dvc-hero nav a { color: rgba(255,255,255,.75); }
.dvc-hero__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 3.5rem; align-items: center; }
.dvc-eb { display: inline-flex; align-items: center; gap: .6rem; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.8); }
.dvc-hero h1 { color: #fff !important; font-size: clamp(2.2rem, 3.8vw, 3.75rem); line-height: 1.08; margin: 1rem 0 1.1rem; }
.dvc-lead { font-size: 1.12rem; line-height: 1.65; color: rgba(255,255,255,.72); max-width: 40rem; margin: 0 0 2rem; }
.dvc-big { display: grid; gap: .6rem; }
.dvc-big__row { display: flex; align-items: center; gap: .75rem; }
.dvc-big__v { font-family: var(--f-head, "Playfair Display", serif); font-size: clamp(1.8rem, 2.8vw, 2.6rem); font-weight: 700; color: #fff !important; text-decoration: none; letter-spacing: .01em; }
.dvc-big__v--sm { font-family: var(--f-body, Inter, sans-serif); font-size: clamp(1.1rem, 1.5vw, 1.35rem); font-weight: 600; color: rgba(255,255,255,.85) !important; }
.dvc-big__v:hover { color: #b5cfcf !important; }
.dvc-copy { width: 2.4rem; height: 2.4rem; flex: none; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); background: transparent; color: #fff; display: grid; place-items: center; cursor: pointer; transition: background .2s; }
.dvc-copy svg { width: 1rem; height: 1rem; }
.dvc-copy:hover, .dvc-copy.is-done { background: rgba(255,255,255,.12); }
.dvc-chan { display: grid; gap: .55rem; }
.dvc-chan__i { display: flex; align-items: center; gap: 1rem; padding: .9rem 1.1rem; border-radius: 1.1rem; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: #fff !important; text-decoration: none; transition: background .2s, border-color .2s, transform .2s; animation: dvcIn .6s calc(var(--i) * 90ms) both; }
@keyframes dvcIn { from { opacity: 0; transform: translateX(1.25rem); } to { opacity: 1; transform: none; } }
.dvc-chan__i:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.35); transform: translateX(-.25rem); }
.dvc-chan__ico { flex: none; width: 2.9rem; height: 2.9rem; border-radius: .85rem; display: grid; place-items: center; background: rgba(255,255,255,.1); }
.dvc-chan__ico svg { width: 1.35rem; height: 1.35rem; }
.dvc-chan__i--telegram .dvc-chan__ico { background: #229ed9; }
.dvc-chan__i--viber .dvc-chan__ico { background: #7360f2; }
.dvc-chan__i--whatsapp .dvc-chan__ico { background: #1fa855; }
.dvc-chan__i--call .dvc-chan__ico { background: #fff; color: var(--k); }
.dvc-chan__t { flex: 1; min-width: 0; }
.dvc-chan__t b { display: block; font-size: 1rem; }
.dvc-chan__t small { display: block; font-size: .82rem; color: rgba(255,255,255,.6); }
.dvc-chan__go { flex: none; width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); transition: transform .2s, background .2s; }
.dvc-chan__i:hover .dvc-chan__go { background: #fff; color: var(--k); transform: rotate(-45deg); }
@media (max-width: 991.98px) { .dvc-hero__grid { grid-template-columns: 1fr; gap: 2.25rem; } }

/* topic router */
.dvc-rt__chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
.dvc-rt__chips button { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: .55rem; height: 3rem; padding: 0 1.15rem; border-radius: 999px; border: 1px solid var(--line); background: #fff; font-weight: 600; font-size: .93rem; color: var(--k); transition: background .2s, color .2s, border-color .2s; }
.dvc-rt__chips button svg { width: 1.1rem; height: 1.1rem; }
.dvc-rt__chips button:hover { border-color: var(--k); }
.dvc-rt__chips button.is-active { background: var(--k); color: #fff; border-color: var(--k); }
.dvc-rt__chips button:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.dvc-rt__panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1fr); gap: 1rem; animation: dvFade .35s; }
.dvc-rt__panel > div { padding: 1.5rem; border-radius: 1.25rem; border: 1px solid var(--line); background: #fff; }
.dvc-rt__who { background: var(--k) !important; color: #fff; border-color: var(--k) !important; }
.dvc-rt__ico { width: 3rem; height: 3rem; border-radius: .9rem; display: grid; place-items: center; background: #fff; color: var(--k); margin-bottom: 1rem; }
.dvc-rt__ico svg { width: 1.4rem; height: 1.4rem; }
.dvc-rt__who h3 { color: #fff !important; font-size: 1.4rem; margin: 0 0 .5rem; }
.dvc-rt__who p { color: rgba(255,255,255,.7); line-height: 1.6; font-size: .95rem; }
.dvc-rt__link { color: #fff !important; font-weight: 650; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.4); }
.dvc-rt__panel h4 { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin: 0 0 .9rem; }
.dvc-rt__prep ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.dvc-rt__prep li { display: flex; gap: .6rem; align-items: flex-start; line-height: 1.5; font-size: .93rem; }
.dvc-rt__prep li svg { flex: none; width: 1.05rem; height: 1.05rem; margin-top: .2rem; color: var(--brand); }
.dvc-rt__go .dv-pill { height: 2.75rem; }
.dvc-rt__go .dv-pill--call { color: var(--k) !important; border-color: var(--line); background: #fff; }
.dvc-rt__note { margin: .9rem 0 0; font-size: .82rem; color: var(--muted); }
@media (max-width: 991.98px) { .dvc-rt__panel { grid-template-columns: 1fr; } }

/* flow */
.dvc-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; position: relative; }
.dvc-steps::before { content: ""; position: absolute; left: 2rem; right: 2rem; top: 1.75rem; height: 2px; background: linear-gradient(90deg, var(--k) var(--p, 0%), var(--line) var(--p, 0%)); transition: --p 1s; }
.dvc-step { position: relative; padding: 0 .5rem; }
.dvc-step__ico { position: relative; width: 3.5rem; height: 3.5rem; border-radius: 50%; display: grid; place-items: center; background: #fff; border: 2px solid var(--k); color: var(--k); margin-bottom: 1.1rem; }
.dvc-step__ico svg { width: 1.4rem; height: 1.4rem; }
.dvc-step__ico b { position: absolute; top: -.35rem; right: -.35rem; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--brand); color: #fff; font-size: .72rem; display: grid; place-items: center; }
.dvc-step h3 { font-size: 1.1rem; margin: 0 0 .4rem; }
.dvc-step p { color: var(--muted); line-height: 1.6; font-size: .93rem; margin: 0; }
@media (max-width: 991.98px) { .dvc-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1rem; } .dvc-steps::before { display: none; } }
@media (max-width: 600px) { .dvc-steps { grid-template-columns: 1fr; } }

/* hours + office */
.dvc-where__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.25rem; }
.dvc-hours, .dvc-office { padding: 2rem; border-radius: 1.5rem; border: 1px solid var(--line); background: #fff; }
.dvc-h { display: flex; align-items: center; gap: .6rem; font-size: 1.35rem; margin: 0 0 1.25rem; }
.dvc-h svg { width: 1.3rem; height: 1.3rem; }
.dvc-week { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .45rem; }
.dvc-week li { display: grid; grid-template-columns: 2.5rem 1fr 7rem; align-items: center; gap: .75rem; font-size: .9rem; }
.dvc-week li > span { font-weight: 700; color: var(--muted); }
.dvc-week i { position: relative; height: .6rem; border-radius: 1rem; background: var(--k-soft); overflow: hidden; }
.dvc-week li.is-on i b { position: absolute; top: 0; bottom: 0; left: calc(var(--from) / 24 * 100%); width: calc((var(--to) - var(--from)) / 24 * 100%); border-radius: 1rem; background: #4e6c6e; }
.dvc-week em { font-style: normal; text-align: right; color: var(--muted); }
.dvc-week li.is-today > span, .dvc-week li.is-today em { color: var(--k); font-weight: 700; }
.dvc-week li.is-today i { outline: 2px solid var(--k); outline-offset: 2px; }
.dvc-week li.is-today.is-on i b { background: var(--k); }
.dvc-week .dvc-now { position: absolute; top: -.2rem; bottom: -.2rem; width: 2px; background: #e2577f; }
.dvc-hours__note { margin: 0; font-size: .88rem; color: var(--muted); line-height: 1.55; }
.dvc-office p { line-height: 1.65; color: #3a4648; }
.dvc-office__addr { font-size: 1.1rem; font-weight: 600; color: var(--k) !important; }
.dvc-office__dir { list-style: none; padding: 0; margin: 0 0 1.25rem; display: grid; gap: .5rem; }
.dvc-office__dir li { display: flex; gap: .55rem; align-items: flex-start; font-size: .93rem; }
.dvc-office__dir svg { flex: none; width: 1.05rem; height: 1.05rem; margin-top: .2rem; color: var(--brand); }
.dvc-map { border-radius: 1rem; overflow: hidden; margin-bottom: 1rem; aspect-ratio: 16 / 9; }
.dvc-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.dvc-office__route { font-weight: 650; color: var(--k); text-decoration: none; border-bottom: 1px solid currentColor; }
@media (max-width: 991.98px) { .dvc-where__grid { grid-template-columns: 1fr; } .dvc-hours, .dvc-office { padding: 1.5rem; } }

.dvc-extra { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1.25rem; }
.dvc-depts { display: grid; gap: .5rem; }
.dvc-dept { display: grid; gap: .2rem; padding: 1rem 1.2rem; border-radius: 1rem; background: #fff; border: 1px solid var(--line); }
.dvc-dept a { color: var(--k); }
.dvc-req { padding: 1.5rem; border-radius: 1.25rem; background: #fff; border: 1px solid var(--line); }
.dvc-req ul { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .35rem; font-family: ui-monospace, Consolas, monospace; font-size: .88rem; }
.dvc-req .dv-btn svg { width: 1rem; height: 1rem; }
.dvc-faq__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 3rem; align-items: start; }
@media (max-width: 991.98px) { .dvc-faq__grid { grid-template-columns: 1fr; gap: 1.5rem; } }
.dvc-tg { padding-top: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* =================== HOME FIRST SCREEN 4.2 =================== */
.dv-h42 { position: relative; overflow: hidden; background: var(--k); color: #fff; min-height: calc(100vh - 7.5rem); display: flex; flex-direction: column; }
.admin-bar .dv-h42 { min-height: calc(100vh - 9.5rem); }
.dv-h42__bg { position: absolute; inset: 0; }
.dv-h42__bg > svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.dv-h42__shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(18,23,24,.92) 0%, rgba(18,23,24,.7) 38%, rgba(18,23,24,0) 62%), linear-gradient(0deg, rgba(18,23,24,.95) 0%, rgba(18,23,24,0) 38%); }
.dv-h42__in { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 2.5rem; padding-top: clamp(2.5rem, 6vh, 5rem); padding-bottom: 1.75rem; }
.dv-h42__head { max-width: 44rem; }
.dv-h42__pill { display: inline-flex; align-items: center; gap: .6rem; padding: .4rem .9rem .4rem .45rem; border-radius: 999px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); font-size: .82rem; font-weight: 600; color: rgba(255,255,255,.85); }
.dv-h42__title { color: #fff !important; font-size: clamp(2.4rem, 4.4vw, 4.4rem); line-height: 1.04; letter-spacing: -.015em; margin: 1.25rem 0 1.25rem; }
.dv-h42__title > span { display: block; }
.dv-h42__rot { color: #b5cfcf; min-height: 1.1em; }
.dv-h42__rot .js-rot-word { display: inline-block; }
.dv-h42__lead { font-size: 1.15rem; line-height: 1.65; color: rgba(255,255,255,.72); margin: 0 0 2rem; max-width: 38rem; }
.dv-h42__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }
.dv-h42__cta .dv-btn { border-radius: 999px !important; padding: 0 1.75rem !important; height: 3.5rem; display: inline-flex; align-items: center; gap: .6rem; font-weight: 650; }
.dv-h42__cta .dv-btn svg { width: 1.2rem; height: 1.2rem; }
.dv-h42__tel { display: flex; flex-direction: column; color: #fff !important; text-decoration: none; }
.dv-h42__tel small { font-size: .78rem; color: rgba(255,255,255,.55); }
.dv-h42__tel b { font-size: 1.2rem; letter-spacing: .01em; }
.dv-h42__tel:hover b { color: #b5cfcf; }

.dv-h42__cards { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .6rem; }
.dv-h42__card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: .9rem; padding: 1.1rem 1.1rem 1.25rem; border-radius: 1.1rem; background: rgba(18,23,24,.62); border: 1px solid rgba(255,255,255,.1); color: #fff !important; text-decoration: none; backdrop-filter: blur(6px); transition: background .25s, border-color .25s, transform .25s; animation: dvH42In .7s calc(.15s + var(--i) * .08s) both; }
@keyframes dvH42In { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: none; } }
.dv-h42__card:hover, .dv-h42__card:focus-visible { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.4); transform: translateY(-.3rem); }
.dv-h42__ico { width: 2.6rem; height: 2.6rem; border-radius: .8rem; display: grid; place-items: center; background: #fff; color: var(--k); }
.dv-h42__ico svg { width: 1.25rem; height: 1.25rem; }
.dv-h42__ct b { display: block; font-size: 1rem; line-height: 1.3; }
.dv-h42__ct small { display: block; margin-top: .3rem; font-size: .76rem; color: rgba(255,255,255,.55); line-height: 1.4; }
.dv-h42__go { position: absolute; top: 1.1rem; right: 1rem; color: rgba(255,255,255,.4); transition: transform .25s, color .25s; }
.dv-h42__card:hover .dv-h42__go { color: #fff; transform: translateX(.2rem); }
.dv-h42__bar { position: absolute; left: 0; bottom: 0; height: 2px; width: 100%; background: #b5cfcf; transform: scaleX(0); transform-origin: left; transition: transform .4s; }
.dv-h42__card:hover .dv-h42__bar { transform: scaleX(1); }
/* zone highlight in the panorama */
.dv-h42[class*="is-hl-"] .a42-zone { opacity: .25; }
.dv-h42.is-hl-energy [data-zone="energy"], .dv-h42.is-hl-antitrust [data-zone="antitrust"], .dv-h42.is-hl-business [data-zone="business"],
.dv-h42.is-hl-tax [data-zone="tax"], .dv-h42.is-hl-disputes [data-zone="disputes"], .dv-h42.is-hl-ip [data-zone="ip"] { opacity: 1; }
.dv-h42 .dv-hero__ticker { position: relative; }
@media (max-width: 1199.98px) { .dv-h42__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
    .dv-h42 { min-height: 0; }
    .dv-h42__shade { background: linear-gradient(0deg, rgba(18,23,24,.96) 30%, rgba(18,23,24,.55) 100%); }
    .dv-h42__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dv-h42__card { padding: .9rem; }
    .dv-h42__go { display: none; }
}
/* the old hero pieces are no longer used on the home page */
.dv-duty { display: none !important; }
.dv-h42 .dv-btn--brand { background: #fff !important; border-color: #fff !important; color: var(--k) !important; }
.dv-h42 .dv-btn--brand:hover { background: #b5cfcf !important; border-color: #b5cfcf !important; color: var(--k) !important; }
.dv-h42__shade { background: linear-gradient(90deg, rgba(18,23,24,.95) 0%, rgba(18,23,24,.82) 40%, rgba(18,23,24,.35) 62%, rgba(18,23,24,0) 78%), linear-gradient(0deg, rgba(18,23,24,.95) 0%, rgba(18,23,24,0) 40%); }
@media (max-width: 1199.98px) {
    .dv-header__in { gap: 1rem; }
    .dv-nav__link { padding-left: .45rem !important; padding-right: .45rem !important; font-size: .82rem !important; }
    .dv-logo__text small { display: none; }
    .dv-header__cta { padding: 0 1rem !important; }
    .dv-h42__shade { background: linear-gradient(90deg, rgba(18,23,24,.95) 0%, rgba(18,23,24,.85) 55%, rgba(18,23,24,.3) 85%), linear-gradient(0deg, rgba(18,23,24,.95) 0%, rgba(18,23,24,0) 40%); }
}
/* search and cabinet stay visible on every width; burger appears below 992px */
.dv-header__actions .dv-iconbtn--search, .dv-header__actions .dv-header__cab { display: inline-grid !important; place-items: center; }
@media (max-width: 991.98px) { .dv-header__actions .dv-burger { display: inline-flex !important; } }
@media (max-width: 420px) { .dv-header__actions .dv-header__cab { display: none !important; } }
/* less burgundy: hero glows become slate teal */
.dvp-hero .dv-hero__glow, .dv-hero .dv-hero__glow, .v3-phero .dv-hero__glow { background: radial-gradient(closest-side, rgba(78,108,110,.35), transparent) !important; }
.dv-mbar button, .dv-mbar a:last-child { background: var(--k) !important; }

/* Mega menu for flat (2-level) menus: items in an even grid */
.dv-mm__cols--flat { grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: .35rem 1rem; }
.dv-mm__cols--flat .dv-mm__item { min-height: 4.25rem; align-items: center; }
.dv-mm__item small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dv-mm__in { grid-template-columns: 19rem minmax(0, 1fr); }
.dv-nav__item.has-mega > .dv-nav__link::after { display: none; }
.dv-nav__link { display: inline-flex; align-items: center; gap: .3rem; }

/* =================== HOME FIRST SCREEN 4.3 (calm) =================== */
.dv-h43 { position: relative; overflow: hidden; background: #121718; color: #fff; }
.dv-h43__bg { position: absolute; inset: 0; pointer-events: none; }
.dv-h43__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,23,24,.92) 0%, rgba(18,23,24,.6) 45%, rgba(18,23,24,0) 75%); }
.dv-calm { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.dv-calm .cm-hz { fill: none; stroke: rgba(181,207,207,.18); stroke-width: 1; }
.dv-calm .cm-tw path { fill: none; stroke: rgba(181,207,207,.32); stroke-width: 1.4; stroke-linejoin: round; }
.dv-calm .cm-w path { fill: none; stroke: rgba(181,207,207,.22); stroke-width: 1; }
.dv-calm .cm-tb path { fill: none; stroke: rgba(181,207,207,.28); stroke-width: 1.3; stroke-linecap: round; }
.dv-calm .cm-lights circle { fill: #b5cfcf; opacity: .35; }
.dv-calm .cm-p { fill: #b5cfcf; opacity: .8; }
.dv-h43__in { position: relative; display: flex; flex-direction: column; gap: 2.75rem; padding-top: clamp(2.5rem, 6vh, 4.5rem); padding-bottom: 2.25rem; }
.dv-h43__top { display: grid; grid-template-columns: minmax(0, 1fr) 24rem; gap: 3rem; align-items: center; }
.dv-h43__pill { display: inline-flex; align-items: center; gap: .55rem; padding: .35rem .85rem .35rem .4rem; border-radius: 999px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); font-size: .8rem; font-weight: 600; line-height: 1; color: rgba(255,255,255,.85); }
.dv-h43__title { color: #fff !important; font-size: clamp(2.1rem, 3.3vw, 3.4rem); line-height: 1.1; letter-spacing: -.01em; margin: 1.2rem 0 1.1rem; max-width: 46rem; }
.dv-h43__rot { display: block; height: 1.12em; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #b5cfcf; }
.dv-h43__rot .js-rot-word { display: inline-block; }
.dv-h43__lead { font-size: 1.08rem; line-height: 1.65; color: rgba(255,255,255,.72); margin: 0 0 1.75rem; max-width: 40rem; }
.dv-h43__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }
.dv-h43__cta .dv-btn { border-radius: 999px !important; height: 3.4rem; padding: 0 1.7rem !important; display: inline-flex; align-items: center; gap: .6rem; background: #fff !important; border-color: #fff !important; color: var(--k) !important; font-weight: 650; }
.dv-h43__cta .dv-btn:hover { background: #b5cfcf !important; border-color: #b5cfcf !important; }
.dv-h43__cta .dv-btn svg { width: 1.15rem; height: 1.15rem; }
.dv-h43__tel { display: flex; flex-direction: column; gap: .2rem; color: #fff !important; text-decoration: none; }
.dv-h43__tel small { font-size: .76rem; color: rgba(255,255,255,.55); }
.dv-h43__tel b { font-size: 1.15rem; }
.dv-h43__tel:hover b { color: #b5cfcf; }
.dv-h43__eco { display: grid; gap: .4rem; padding: 1rem; border-radius: 1.25rem; background: rgba(18,23,24,.72); border: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(6px); }
.dv-h43__eco-t { margin: .2rem .4rem .45rem; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.dv-h43__eco-i { display: flex; align-items: center; gap: .8rem; padding: .7rem .75rem; border-radius: .9rem; color: #fff !important; text-decoration: none; transition: background .2s; }
.dv-h43__eco-i:hover { background: rgba(255,255,255,.07); }
.dv-h43__eco-ico { flex: none; width: 2.3rem; height: 2.3rem; border-radius: .7rem; display: grid; place-items: center; background: rgba(255,255,255,.08); color: #b5cfcf; }
.dv-h43__eco-ico svg { width: 1.1rem; height: 1.1rem; }
.dv-h43__eco-txt { flex: 1; min-width: 0; }
.dv-h43__eco-txt b { display: block; font-size: .92rem; }
.dv-h43__eco-txt small { display: block; font-size: .76rem; color: rgba(255,255,255,.55); margin-top: .15rem; }
.dv-h43__eco-i i { font-style: normal; color: rgba(255,255,255,.35); transition: color .2s, transform .2s; }
.dv-h43__eco-i:hover i { color: #fff; transform: translateX(.15rem); }
.dv-h43__svc-t { margin: 0 0 .7rem; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.dv-h43__cards { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .6rem; }
.dv-h43__card { display: flex; flex-direction: column; gap: .8rem; padding: 1rem 1.05rem 1.1rem; border-radius: 1rem; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); color: #fff !important; text-decoration: none; transition: background .2s, border-color .2s; }
.dv-h43__card:hover { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.35); }
.dv-h43__ico { width: 2.4rem; height: 2.4rem; border-radius: .75rem; display: grid; place-items: center; background: #fff; color: var(--k); }
.dv-h43__ico svg { width: 1.15rem; height: 1.15rem; }
.dv-h43__ct b { display: block; font-size: .95rem; line-height: 1.3; }
.dv-h43__ct small { display: block; margin-top: .25rem; font-size: .74rem; color: rgba(255,255,255,.55); line-height: 1.4; }
@media (max-width: 1199.98px) { .dv-h43__top { grid-template-columns: minmax(0, 1fr) 20rem; gap: 2rem; } .dv-h43__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 991.98px) { .dv-h43__top { grid-template-columns: 1fr; } .dv-h43__rot { white-space: normal; height: 2.25em; } }
@media (max-width: 600px) { .dv-h43__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dv-h43__card { padding: .85rem; } .dv-h43__bg::after { background: linear-gradient(0deg, rgba(18,23,24,.9), rgba(18,23,24,.6)); } }
@media (prefers-reduced-motion: reduce) { .dv-calm .cm-p { display: none; } }
.dv-h43__rot { position: relative; }

/* =================== 4.3 HOME SECTIONS =================== */
/* Trust strip */
.v3-trust { display: none !important; }
.dv-trust43 { background: #1d2729; color: #fff; border-top: 1px solid rgba(255,255,255,.06); }
.dv-trust43__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dv-trust43__item { display: flex; align-items: center; gap: .9rem; padding: 1.35rem 1.25rem; border-left: 1px solid rgba(255,255,255,.08); }
.dv-trust43__item:first-child { border-left: 0; padding-left: 0; }
.dv-trust43__ico { flex: none; width: 2.6rem; height: 2.6rem; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(181,207,207,.35); color: #b5cfcf; }
.dv-trust43__ico svg { width: 1.15rem; height: 1.15rem; }
.dv-trust43__item strong { display: block; font-size: .95rem; }
.dv-trust43__item small { display: block; margin-top: .15rem; font-size: .8rem; color: rgba(255,255,255,.55); }
@media (max-width: 991.98px) { .dv-trust43__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dv-trust43__item:nth-child(3) { border-left: 0; padding-left: 0; } .dv-trust43__item { border-top: 1px solid rgba(255,255,255,.06); } }
@media (max-width: 600px) { .dv-trust43__list { grid-template-columns: 1fr; } .dv-trust43__item { border-left: 0; padding-left: 0; } }

/* Market (who we serve) */
.dvh-market__tabs button { gap: .8rem !important; transform: none !important; box-shadow: none !important; }
.dvh-market__ico { background: var(--k-soft) !important; color: var(--k) !important; }
.dvh-market__tabs button.is-active { background: var(--k) !important; border-color: var(--k) !important; }
.dvh-market__tabs button.is-active .dvh-market__ico { background: rgba(255,255,255,.12) !important; color: #fff !important; }
.dvh-market__tt { flex: 1; text-align: left; }
.dvh-market__arr { opacity: 0; transition: opacity .2s, transform .2s; }
.dvh-market__tabs button.is-active .dvh-market__arr, .dvh-market__tabs button:hover .dvh-market__arr { opacity: 1; transform: translateX(.15rem); }
.dvh-m43.is-active { display: flex !important; flex-direction: column; gap: 1.75rem; }
.dvh-m43 { padding: clamp(1.5rem, 2.6vw, 2.5rem) !important; overflow: hidden; }
.dvh-m43__head { display: flex; gap: 1.1rem; align-items: flex-start; }
.dvh-m43__ico { flex: none; width: 3.25rem; height: 3.25rem; border-radius: 1rem; display: grid; place-items: center; background: var(--k); color: #fff; }
.dvh-m43__ico svg { width: 1.5rem; height: 1.5rem; }
.dvh-m43__head h3 { margin: 0 0 .4rem !important; }
.dvh-m43__head p { margin: 0; font-size: 1rem !important; }
.dvh-m43__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.dvh-m43__lbl { margin: 0 0 .75rem !important; font-size: .74rem !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted) !important; }
.dvh-m43__risks, .dvh-m43__do { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.dvh-m43__risks li, .dvh-m43__do li { display: flex; gap: .65rem; align-items: flex-start; }
.dvh-m43__risks svg { flex: none; width: 1.15rem; height: 1.15rem; margin-top: .15rem; color: #b86a2a; }
.dvh-m43__do svg { flex: none; width: 1.1rem; height: 1.1rem; margin-top: .2rem; color: #4e6c6e; }
.dvh-m43__risks b { display: block; font-size: .93rem; font-weight: 650; color: var(--k); }
.dvh-m43__risks small { display: block; font-size: .83rem; line-height: 1.5; color: var(--muted); margin-top: .1rem; }
.dvh-m43__do span { font-size: .93rem; line-height: 1.5; color: var(--k); }
.dvh-m43__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.dvh-m43__chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.dvh-m43__chips a { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .75rem; border-radius: 999px; border: 1px solid var(--line); font-size: .82rem; font-weight: 600; color: var(--k); text-decoration: none; }
.dvh-m43__chips a:hover { border-color: var(--k); }
.dvh-m43__chips svg { width: .95rem; height: .95rem; }
.dvh-m43__acts { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.dvh-m43__acts .dv-btn { border-radius: 999px !important; }
.dvh-m43__more { font-weight: 650; color: var(--k); text-decoration: none; border-bottom: 1px solid currentColor; }
@media (max-width: 767.98px) { .dvh-m43__cols { grid-template-columns: 1fr; } }

/* Situations (replaces the practice grid) */
.dvh-sit__tabs { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1.25rem; }
.dvh-sit__tabs button { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: .5rem; height: 2.9rem; padding: 0 1.1rem; border-radius: 999px; border: 1px solid var(--line); background: #fff; font-weight: 600; font-size: .92rem; color: var(--k); transition: background .2s, color .2s, border-color .2s; }
.dvh-sit__tabs button svg { width: 1.05rem; height: 1.05rem; }
.dvh-sit__tabs button:hover { border-color: var(--k); }
.dvh-sit__tabs button.is-active { background: var(--k); color: #fff; border-color: var(--k); }
.dvh-sit__tabs button:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.dvh-sit__panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; animation: dvFade .35s; }
.dvh-sit__item { display: flex; align-items: flex-start; gap: 1rem; padding: 1.25rem 1.35rem; border-radius: 1.1rem; background: #fff; border: 1px solid var(--line); color: var(--k); text-decoration: none; transition: border-color .2s, background .2s; }
.dvh-sit__item:hover { border-color: var(--k); background: #fff; color: var(--k); }
.dvh-sit__n { flex: none; font-size: .78rem; font-weight: 800; color: var(--muted); padding-top: .2rem; }
.dvh-sit__t { flex: 1; min-width: 0; }
.dvh-sit__t b { display: block; font-size: 1.02rem; line-height: 1.35; }
.dvh-sit__t small { display: block; margin-top: .35rem; font-size: .86rem; color: var(--muted); line-height: 1.5; }
.dvh-sit__u { flex: none; font-size: .7rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: .3rem .6rem; border-radius: 999px; }
.dvh-sit__u--high { background: #fbe7ec; color: #8e2445; }
.dvh-sit__u--medium { background: #fdf3dc; color: #8a6210; }
.dvh-sit__u--low { background: #e6efee; color: #35595b; }
.dvh-sit__more { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; padding-top: .5rem; }
.dvh-sit__more a { font-weight: 650; color: var(--k); text-decoration: none; border-bottom: 1px solid currentColor; }
.dvh-sit__more button { all: unset; cursor: pointer; font-weight: 650; color: var(--brand); }
@media (max-width: 767.98px) { .dvh-sit__panel { grid-template-columns: 1fr; } .dvh-sit__u { display: none; } }

/* Retainer: equal blocks */
.dvh-ret__list { grid-auto-rows: 1fr; align-items: stretch; }
.dvh-ret__list li { display: flex !important; align-items: center !important; min-height: 5.25rem; }

/* Advantages */
.v3-adv { display: none; }
.dv-adv43 { background: var(--k); color: #fff; }
.dv-adv43__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 2.5rem; }
.dv-adv43__eb { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #b5cfcf; }
.dv-adv43__head h2 { color: #fff !important; font-size: clamp(1.8rem, 2.8vw, 2.8rem); margin: 0; flex-basis: 100%; }
.dv-adv43__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(255,255,255,.12); }
.dv-adv43__item { position: relative; padding: 2rem 1.75rem 2rem 0; margin-right: 1.75rem; }
.dv-adv43__n { display: block; font-family: var(--f-head, "Playfair Display", serif); font-size: 3rem; line-height: 1; color: rgba(255,255,255,.12); margin-bottom: 1.25rem; }
.dv-adv43__ico { position: absolute; top: 2.2rem; right: 1rem; width: 2.5rem; height: 2.5rem; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(181,207,207,.35); color: #b5cfcf; }
.dv-adv43__ico svg { width: 1.1rem; height: 1.1rem; }
.dv-adv43__item h3 { color: #fff !important; font-size: 1.2rem; margin: 0 0 .6rem; }
.dv-adv43__item p { color: rgba(255,255,255,.65); line-height: 1.6; font-size: .95rem; margin: 0; }
.dv-adv43__bar { position: absolute; left: 0; top: -1px; height: 2px; width: 100%; background: #b5cfcf; transform: scaleX(0); transform-origin: left; transition: transform 1s cubic-bezier(.2,.8,.2,1); }
.dv-adv43__item.is-visible .dv-adv43__bar, .dv-adv43__item.is-animated .dv-adv43__bar, .dv-adv43__item.animated .dv-adv43__bar { transform: scaleX(.35); }
.dv-adv43__item:hover .dv-adv43__bar { transform: scaleX(1); }
@media (max-width: 991.98px) { .dv-adv43__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .dv-adv43__list { grid-template-columns: 1fr; } .dv-adv43__item { margin-right: 0; } }

/* About + orbit */
.v3-about { display: none; }
.dv-ab43__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 3.5rem; align-items: center; }
.dv-ab43__lead { font-size: 1.05rem; line-height: 1.7; color: #3a4648; margin: 1rem 0 1.25rem; }
.dv-ab43__do { list-style: none; margin: 0 0 1.75rem; padding: 0; display: grid; gap: .55rem; }
.dv-ab43__do li { display: flex; gap: .6rem; align-items: flex-start; font-weight: 600; color: var(--k); }
.dv-ab43__do svg { flex: none; width: 1.1rem; height: 1.1rem; margin-top: .2rem; color: #4e6c6e; }
.dv-ab43__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0 0 1.75rem; padding: 1.25rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.dv-ab43__stats dt { font-family: var(--f-head, "Playfair Display", serif); font-size: clamp(1.6rem, 2.4vw, 2.3rem); line-height: 1; color: var(--k); font-variant-numeric: lining-nums; }
.dv-ab43__stats dd { margin: .45rem 0 0; font-size: .82rem; color: var(--muted); line-height: 1.4; }
.dv-ab43__more { font-weight: 650; color: var(--k); text-decoration: none; border-bottom: 1px solid currentColor; }
@media (max-width: 991.98px) { .dv-ab43__grid { grid-template-columns: 1fr; gap: 2.5rem; } .dv-ab43__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dv-orb { position: relative; aspect-ratio: 1; max-width: 32rem; margin: 0 auto; border-radius: 2rem; background: radial-gradient(70% 70% at 50% 45%, #263437 0%, #1d2729 55%, #121718 100%); overflow: hidden; }
.dv-orb__rings { position: absolute; inset: 0; width: 100%; height: 100%; }
.dv-orb__rings circle { fill: none; stroke: rgba(181,207,207,.16); stroke-width: 1; }
.dv-orb__rings .dv-orb__r2 { stroke-dasharray: 3 6; }
.dv-orb__rings .dv-orb__r3 { stroke: rgba(181,207,207,.25); }
.dv-orb__rings .dv-orb__dot { fill: #b5cfcf; stroke: none; }
.dv-orb__rings .dv-orb__dot--2 { fill: #b5cfcf; }
.dv-orb__core { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 6rem; height: 6rem; border-radius: 1.5rem; background: rgba(255,255,255,.04); box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 0 3rem rgba(127,163,164,.25); animation: dvOrbCore 4s ease-in-out infinite; }
.dv-orb__core .dv-logo__text { display: none; }
.dv-orb__core .dv-logo__mark svg, .dv-orb__core .dv-logo__img { width: 3.5rem !important; height: 3.5rem !important; }
@keyframes dvOrbCore { 50% { box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 0 4rem rgba(127,163,164,.45); } }
.dv-orb__ring { position: absolute; inset: 0; animation: dvOrbSpin 70s linear infinite; }
.dv-orb__chip { position: absolute; left: 50%; top: 50%; transform: rotate(calc(360deg / var(--n) * var(--i))) translateY(-37.5%) rotate(calc(-360deg / var(--n) * var(--i))); transform-origin: 0 0; text-decoration: none; }
.dv-orb__chip span { display: inline-flex; align-items: center; gap: .4rem; transform: translate(-50%, -50%); white-space: nowrap; padding: .45rem .8rem; border-radius: 999px; background: rgba(18,23,24,.85); border: 1px solid rgba(255,255,255,.14); color: #fff; font-size: .8rem; font-weight: 600; animation: dvOrbSpin 70s linear infinite reverse; transition: background .2s, border-color .2s; }
.dv-orb__chip span svg { width: .95rem; height: .95rem; color: #b5cfcf; }
.dv-orb__chip:hover span { background: #fff; color: var(--k); border-color: #fff; }
.dv-orb:hover .dv-orb__ring, .dv-orb:hover .dv-orb__chip span { animation-play-state: paused; }
@keyframes dvOrbSpin { to { transform: rotate(360deg); } }
.dv-orb__chip span { transform-origin: center; }
@media (prefers-reduced-motion: reduce) { .dv-orb__ring, .dv-orb__chip span, .dv-orb__core { animation: none; } }

/* Telegram block */
.dvh-tg__box .dv-eyebrow::before, .dvh-tg__eb::before { display: none !important; }
.dvh-tg__box { background: var(--k) !important; }
.dvh-tg__logo { margin-bottom: 1rem; }
.dvh-tg__eb { display: block; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #8fd0f0; margin-bottom: .6rem; }
.dvh-tg__topics { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.dvh-tg__topics li { padding: .35rem .75rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); font-size: .8rem; font-weight: 600; color: rgba(255,255,255,.8); }
.dvh-tg__btn { display: inline-flex; align-items: center; gap: 1.25rem; padding: .85rem .9rem .85rem 1.35rem; border-radius: 1.1rem; background: #fff; color: var(--k) !important; text-decoration: none; transition: transform .2s; }
.dvh-tg__btn small { display: block; font-size: .72rem; color: var(--muted); font-weight: 600; }
.dvh-tg__btn b { display: block; font-size: 1.05rem; }
.dvh-tg__btn i { font-style: normal; width: 2.6rem; height: 2.6rem; border-radius: 50%; display: grid; place-items: center; background: #229ed9; color: #fff; transition: transform .2s; }
.dvh-tg__btn:hover { transform: translateY(-2px); }
.dvh-tg__btn:hover i { transform: rotate(45deg); }
.dvh-tg__phone { justify-self: center; width: min(100%, 22rem); height: 24rem; border-radius: 2rem; padding: .8rem; background: #0e1314; border: 1px solid rgba(255,255,255,.1); box-shadow: inset 0 0 0 .4rem #1a2224; overflow: hidden; }
.dvh-tg__ph-head { display: flex; align-items: center; gap: .6rem; padding: .7rem .8rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.dvh-tg__ph-head span { width: 2rem; height: 2rem; border-radius: 50%; background: #fff; color: var(--k); display: grid; place-items: center; font-family: var(--f-head, serif); font-weight: 700; }
.dvh-tg__ph-head b { font-size: .85rem; color: #fff; }
.dvh-tg__ph-head small { margin-left: auto; font-size: .7rem; color: rgba(255,255,255,.45); }
.dvh-tg__ph-feed { display: flex; flex-direction: column; gap: .55rem; padding: .8rem .5rem; animation: dvTgScroll 16s linear infinite; }
.dvh-tg__msg { display: flex; flex-direction: column; gap: .35rem; padding: .7rem .8rem; border-radius: .9rem .9rem .9rem .25rem; background: rgba(255,255,255,.07); }
.dvh-tg__msg b { font-size: .8rem; color: #fff; }
.dvh-tg__msg i { display: block; height: .3rem; border-radius: 1rem; background: rgba(255,255,255,.18); }
.dvh-tg__msg i + i { width: 60%; }
@keyframes dvTgScroll { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@media (prefers-reduced-motion: reduce) { .dvh-tg__ph-feed { animation: none; } }
@media (max-width: 991.98px) { .dvh-tg__phone { display: none; } }

/* Cities: label and marquee share the content width */
.v3-cities__in { display: block; }
.v3-cities__title { margin: 0 0 1rem !important; padding: 0 !important; display: flex; align-items: center; gap: .5rem; }
.v3-cities .v3-marquee { margin: 0 !important; }

/* Article cards: illustration fills the whole image box */
.dv-card__ph--art { padding: 0 !important; display: block !important; background: linear-gradient(160deg, #1d2729, #121718) !important; }
.dv-card__ph--art > svg { position: absolute; inset: 0; width: 100% !important; height: 100% !important; opacity: 1 !important; }
.dv-card__ph--art svg.dv-art { width: 100% !important; height: 100% !important; }
.dv-card:not(.is-anim) .dv-card__ph--art svg * { animation-play-state: paused !important; }

/* =================== FORM (modal + ask page) =================== */
.dv-lf { display: grid; gap: 1rem; }
.dv-lf__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem 1rem; }
.dv-lf__f { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.dv-lf__f--full { grid-column: 1 / -1; }
.dv-lf__f label { font-size: .8rem; font-weight: 600; color: var(--k); }
.dv-lf__f label i { font-style: normal; color: var(--brand); }
.dv-lf__f input, .dv-lf__f select, .dv-lf__f textarea { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: .8rem; background: #fff; padding: .75rem .95rem; font: inherit; font-size: .95rem; color: var(--k); transition: border-color .15s, box-shadow .15s; }
.dv-lf__f select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='%23121718' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .9rem center; background-size: .75rem; padding-right: 2.4rem; }
.dv-lf__f textarea { resize: vertical; min-height: 6.5rem; }
.dv-lf__f input:focus, .dv-lf__f select:focus, .dv-lf__f textarea:focus { outline: 0; border-color: var(--k); box-shadow: 0 0 0 3px rgba(18,23,24,.08); }
.dv-lf__f.is-bad input, .dv-lf__f.is-bad textarea, .dv-lf__f.is-bad select { border-color: #c2405f; }
.dv-lf__ok { display: flex; gap: .6rem; align-items: flex-start; font-size: .85rem; color: var(--muted); cursor: pointer; }
.dv-lf__ok input { margin-top: .15rem; width: 1.05rem; height: 1.05rem; accent-color: var(--k); }
.dv-lf__ok a { color: var(--k); }
.dv-lf__ok.is-bad { color: #c2405f; }
.dv-lf__foot { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.dv-lf__btn { display: inline-flex !important; align-items: center; gap: .6rem; height: 3.1rem; padding: 0 1.5rem !important; border-radius: 999px !important; border: 0; font-weight: 650; cursor: pointer; }
.dv-lf__btn i { font-style: normal; transition: transform .2s; }
.dv-lf__btn:hover i { transform: translateX(.2rem); }
.dv-lf__btn.is-loading { opacity: .6; pointer-events: none; }
.dv-lf__hint { margin: 0; flex: 1 1 14rem; font-size: .8rem; color: var(--muted); line-height: 1.45; }
.dv-lf__msg { margin: 0; padding: .8rem 1rem; border-radius: .8rem; font-size: .9rem; font-weight: 600; }
.dv-lf__msg.is-ok { background: #e6f2ec; color: #1f5f40; }
.dv-lf__msg.is-err { background: #fbe7ec; color: #8e2445; }
.dv-lf.is-sent .dv-lf__grid, .dv-lf.is-sent .dv-lf__ok, .dv-lf.is-sent .dv-lf__foot { display: none; }
@media (max-width: 600px) { .dv-lf__grid { grid-template-columns: 1fr; } }
/* modal */
#modal-consultation .devoso-modal__dialog { max-width: min(42rem, calc(100vw - 2rem)); }
#modal-consultation .devoso-modal__content { border-radius: 1.5rem; padding: 2rem; }
.dv-mdl { display: grid; gap: 1.5rem; }
.dv-mdl__alt { padding-top: 1.25rem; border-top: 1px solid var(--line); display: grid; gap: .7rem; }
.dv-mdl__alt > span { font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.dv-mdl__alt .dv-pill { height: 2.6rem; font-size: .85rem; }
.dv-mdl__alt .dv-pill--call, .dv-mdl__alt .dv-pill--email, .dva__alt .dv-pill--call { color: var(--k) !important; border-color: var(--line); background: #fff; }
@media (max-width: 600px) { #modal-consultation .devoso-modal__content { padding: 1.4rem 1.1rem; } }
/* ask page */
.dva__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: 2rem; align-items: start; }
.dva__form { padding: clamp(1.5rem, 2.6vw, 2.5rem); border-radius: 1.5rem; background: #fff; border: 1px solid var(--line); }
.dva__h { font-size: 1.6rem; margin: 0 0 1.25rem; }
.dva__side { display: grid; gap: 1rem; }
.dva__card { padding: 1.5rem; border-radius: 1.25rem; background: var(--k); color: #fff; }
.dva__card h3 { color: #fff !important; font-size: 1.15rem; margin: 0 0 .9rem; }
.dva__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.dva__list li { display: flex; gap: .6rem; align-items: flex-start; font-size: .92rem; line-height: 1.5; color: rgba(255,255,255,.8); }
.dva__list svg { flex: none; width: 1.05rem; height: 1.05rem; margin-top: .2rem; color: #b5cfcf; }
.dva__steps { list-style: none; margin: 0; padding: 1.25rem 1.5rem; border-radius: 1.25rem; border: 1px solid var(--line); background: #fff; display: grid; gap: 1rem; }
.dva__steps li { display: flex; gap: .9rem; align-items: flex-start; }
.dva__steps b { flex: none; width: 1.9rem; height: 1.9rem; border-radius: 50%; display: grid; place-items: center; background: var(--k-soft); font-size: .85rem; }
.dva__steps strong { display: block; font-size: .95rem; margin-bottom: .15rem; }
.dva__steps span { font-size: .88rem; color: var(--muted); line-height: 1.5; }
.dva__priv { display: flex; gap: .75rem; align-items: flex-start; padding: 1rem 1.25rem; border-radius: 1rem; background: var(--k-soft); }
.dva__priv svg { flex: none; width: 1.2rem; height: 1.2rem; margin-top: .15rem; color: #4e6c6e; }
.dva__priv p { margin: 0; font-size: .86rem; line-height: 1.55; color: #3a4648; }
.dva__alt { display: grid; gap: .6rem; }
.dva__alt > span { font-size: .8rem; font-weight: 700; color: var(--muted); }
@media (max-width: 991.98px) { .dva__grid { grid-template-columns: 1fr; } }

/* =================== PRACTICE PAGE TWEAKS =================== */
.dvx-card:hover, .dvx-card:focus-visible { border-color: var(--line) !important; box-shadow: 0 1rem 2.25rem rgba(18,23,24,.08); }
.dvx-card__more { align-items: center !important; line-height: 1; }
.dvx-card__more i { flex: none; line-height: 1; font-size: 1rem; }
/* legal basis + industries aside */
.dvp-law { border-radius: 1rem !important; background: #fff !important; border: 1px solid var(--line) !important; transition: border-color .2s, transform .2s !important; }
.dvp-law:hover { border-color: var(--k) !important; transform: translateX(.2rem); }
.dvp-law__ico { background: var(--k-soft) !important; color: var(--k) !important; }
.dvp-law__go { color: var(--muted) !important; }
.dvp-inds { position: relative; overflow: hidden; background: #fff !important; color: var(--k) !important; border: 1px solid var(--line) !important; border-radius: 1.5rem !important; box-shadow: none !important; }
.dvp-inds::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: .3rem; background: linear-gradient(90deg, #121718, #4e6c6e, #b5cfcf); }
.dvp-inds .dv-eyebrow { color: #4e6c6e !important; }
.dvp-inds .dv-eyebrow::before { display: none !important; }
.dvp-inds h3 { color: var(--k) !important; }
.dvp-inds__chips a { background: var(--k-soft) !important; border: 1px solid transparent !important; color: var(--k) !important; transition: background .2s, color .2s !important; }
.dvp-inds__chips a:hover { background: var(--k) !important; color: #fff !important; }
.dvp-inds__chips a svg { color: inherit !important; }
.dvp-inds .dv-link { color: var(--k) !important; font-weight: 650; }

/* =================== 404 =================== */
.dv-404 { background: var(--k-soft); }
.dv-404__in { min-height: 65vh; display: grid; place-items: center; text-align: center; padding: 4rem 0; }
.dv-404__art { width: min(100%, 26rem); height: auto; margin: 0 auto 1rem; display: block; }
.dv-404__w { fill: none; stroke: #4e6c6e; stroke-width: 2; }
.dv-404__w--cut { stroke-dasharray: 2 0; opacity: .45; }
.dv-404__spark { fill: #b5cfcf; animation: dv404 2.2s ease-in-out infinite; }
.dv-404__p { fill: #b5cfcf; }
@keyframes dv404 { 0%, 100% { opacity: .25; } 45% { opacity: 1; } 55% { opacity: .4; } 65% { opacity: .95; } }
.dv-404__code { margin: 0; font-family: var(--f-head, "Playfair Display", serif); font-size: clamp(4rem, 9vw, 7rem); line-height: 1; color: #dfe5e4; font-variant-numeric: lining-nums; }
.dv-404__t { font-size: clamp(1.8rem, 3vw, 2.6rem); margin: .5rem 0 .75rem; }
.dv-404__s { margin: 0 auto 1.75rem; max-width: 32rem; color: var(--muted); line-height: 1.6; }
.dv-404__acts { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-bottom: 1.75rem; }
.dv-404__btn { display: inline-flex; align-items: center; gap: .6rem; height: 3.4rem; padding: 0 1.75rem; border-radius: 999px; border: 1px solid var(--k); background: var(--k); color: #fff !important; font: inherit; font-weight: 650; font-size: 1rem; text-decoration: none; cursor: pointer; box-shadow: none; transition: background .25s, border-color .25s, transform .25s; }
.dv-404__btn svg { width: 1.15rem; height: 1.15rem; transition: transform .25s; }
.dv-404__btn:hover { background: var(--brand); border-color: var(--brand); transform: translateY(-2px); }
.dv-404__btn:hover svg { transform: translateX(-.15rem); }
.dv-404__btn--ghost { background: transparent; color: var(--k) !important; }
.dv-404__btn--ghost:hover { background: var(--k); color: #fff !important; border-color: var(--k); }
.dv-404__links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.5rem; }
.dv-404__links a { color: var(--muted); font-weight: 600; text-decoration: none; }
.dv-404__links a:hover { color: var(--k); }
.dv-orb { container-type: inline-size; }
.dv-orb__chip { transform: rotate(calc(360deg / var(--n) * var(--i))) translateY(-37.5cqw) rotate(calc(-360deg / var(--n) * var(--i))) translate(-50%, -50%); transform-origin: 0 0; }
.dv-orb__chip span { transform: none; display: inline-flex; }
.dv-orb__chip { transform: rotate(calc(360deg / var(--n) * var(--i))) translateY(-31cqw) rotate(calc(-360deg / var(--n) * var(--i))) translate(-50%, -50%); }
.dv-orb__chip span { font-size: .74rem; padding: .38rem .7rem; }
.dv-orb__rings circle:first-child { r: 125; }
.dvh-ret__ico { background: var(--k) !important; color: #fff !important; }
.dv-f42__tile b { font-size: clamp(.86rem, 1.05vw, 1.05rem); white-space: nowrap; overflow-wrap: normal; }
@media (max-width: 1199.98px) { .dv-f42__top { grid-template-columns: 1fr; } }

/* Mega menu hover intent: panels open by .is-hover (JS) instead of raw :hover; the nav item fills the header height so there is no gap */
.dv-header__in { align-items: stretch !important; }
.dv-header__in > .dv-logo, .dv-header__actions { align-self: center; }
.dv-nav, .dv-nav__list { align-self: stretch; height: 100%; }
.dv-nav__list > .dv-nav__item { display: flex; align-items: center; }
.dv-hi .dv-nav__item.has-sub:hover > .dv-mega:not(:hover), .dv-hi .dv-nav__item.has-sub:hover > .dv-drop:not(:hover) { opacity: 0; visibility: hidden; }
.dv-hi .dv-nav__item.has-sub.is-hover > .dv-mega, .dv-hi .dv-nav__item.has-sub.is-hover > .dv-drop, .dv-nav__item.has-sub.is-open > .dv-mega { opacity: 1 !important; visibility: visible !important; transform: none !important; }
.dv-hi .dv-nav__item.has-sub.is-hover > .dv-nav__link svg { transform: rotate(180deg); }
.dv-hi .dv-nav__item.has-mega:not(.is-hover) .dv-mm__item, .dv-hi .dv-nav__item.has-mega:not(.is-hover) .dv-mm__head { opacity: 0; transform: translateY(.35rem); }
.dv-hi .dv-nav__item.has-mega.is-hover .dv-mm__item, .dv-hi .dv-nav__item.has-mega.is-hover .dv-mm__head { opacity: 1; transform: none; transition: background .18s, opacity .3s calc(var(--i) * 30ms), transform .3s calc(var(--i) * 30ms); }
.dv-header:has(.has-mega.is-hover)::after { opacity: 1; }
.dv-hi .dv-header:has(.has-mega:hover:not(.is-hover))::after { opacity: 0; }

/* =================== HOME FIRST SCREEN 4.4 (services grid like kontur.ru) =================== */
.dv-h43 { display: none; }
.dv-h44 { position: relative; overflow: hidden; background: #121718; color: #fff; }
.dv-h44__bg { position: absolute; inset: 0; pointer-events: none; opacity: .7; }
.dv-h44__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,23,24,.96) 0%, rgba(18,23,24,.75) 50%, rgba(18,23,24,.5) 100%); }
.dv-h44__in { position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(2rem, 4vw, 4.5rem); align-items: center; padding-top: clamp(2.5rem, 7vh, 5rem); padding-bottom: clamp(2.5rem, 7vh, 5rem); }
.dv-h44__title { color: #fff !important; font-size: clamp(2.1rem, 3.5vw, 3.6rem); line-height: 1.18; letter-spacing: -.01em; margin: 0 0 1.25rem; }
.dv-h44__l1 { display: block; }
.dv-h44__rot { display: block; height: 1.18em; overflow: hidden; color: #b5cfcf; }
.dv-h44__track { display: flex; flex-direction: column; animation: dvH44Rot 18s cubic-bezier(.7, 0, .3, 1) infinite; }
.dv-h44__track > span { display: block; height: 1.18em; line-height: 1.18; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .dv-h44__track { animation: none; } }
.dv-h44__lead { font-size: 1.05rem; line-height: 1.65; color: rgba(255,255,255,.7); margin: 0 0 1.75rem; max-width: 38rem; }
/* short form */
.dv-hf { max-width: 40rem; }
.dv-hf__row { display: grid; grid-template-columns: 1fr 1fr auto; gap: .5rem; padding: .45rem; border-radius: 1.2rem; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); }
.dv-hf__f { position: relative; display: block; margin: 0; }
.dv-hf__f span { position: absolute; left: .95rem; top: .45rem; font-size: .68rem; font-weight: 600; letter-spacing: .04em; color: rgba(255,255,255,.5); pointer-events: none; }
.dv-hf__f input { width: 100%; height: 3.4rem; padding: 1.15rem .95rem .35rem; border-radius: .85rem; border: 1px solid transparent; background: rgba(255,255,255,.06); color: #fff; font: inherit; font-size: .98rem; transition: border-color .15s, background .15s; }
.dv-hf__f input::placeholder { color: rgba(255,255,255,.35); }
.dv-hf__f input:focus { outline: 0; border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.1); }
.dv-hf__f.is-bad input, .dv-hf .is-bad input { border-color: #e2577f; }
.dv-hf__btn { display: inline-flex; align-items: center; gap: .55rem; height: 3.4rem; padding: 0 1.4rem; border: 0; border-radius: .85rem; background: #fff; color: var(--k); font: inherit; font-weight: 650; font-size: .95rem; cursor: pointer; white-space: nowrap; transition: background .2s; }
.dv-hf__btn svg { width: 1.1rem; height: 1.1rem; transition: transform .2s; }
.dv-hf__btn:hover { background: #b5cfcf; }
.dv-hf__btn:hover svg { transform: translateX(.2rem); }
.dv-hf__btn.is-loading { opacity: .6; pointer-events: none; }
.dv-hf__note { margin: .75rem 0 0; font-size: .78rem; color: rgba(255,255,255,.45); }
.dv-hf__note a { color: rgba(255,255,255,.7); }
.dv-hf .dv-lf__msg { margin-top: .75rem; }
.dv-hf.is-sent .dv-hf__row, .dv-hf.is-sent .dv-hf__note { display: none; }
@media (max-width: 600px) { .dv-hf__row { grid-template-columns: 1fr; } .dv-hf__btn { justify-content: center; } }
/* services grid */
.dv-h44__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(10.5rem, auto); border-left: 1px solid rgba(255,255,255,.12); border-top: 1px solid rgba(255,255,255,.12); }
.dv-h44__tile, .dv-h44__all { position: relative; display: flex; flex-direction: column; gap: .8rem; padding: 1.35rem 1.25rem; border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); color: #fff !important; text-decoration: none; transition: background .3s; }
.dv-h44__tile b { font-size: clamp(1.02rem, 1.25vw, 1.25rem); font-weight: 650; line-height: 1.25; }
.dv-h44__ico { position: relative; width: 2.6rem; height: 2.6rem; display: grid; place-items: center; color: #b5cfcf; }
.dv-h44__ico > svg:not(.dv-h44__ring) { width: 1.3rem; height: 1.3rem; position: relative; }
.dv-h44__ring { position: absolute; inset: -.35rem; width: calc(100% + .7rem); height: calc(100% + .7rem); fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; opacity: .35; transition: opacity .3s; }
.dv-h44__tags { margin-top: auto; display: flex; flex-wrap: wrap; gap: .3rem; opacity: 0; transform: translateY(.4rem); transition: opacity .3s, transform .3s; }
.dv-h44__tags em { font-style: normal; font-size: .72rem; font-weight: 600; padding: .25rem .55rem; border-radius: .45rem; border: 1px solid rgba(255,255,255,.35); }
.dv-h44__tile.is-on, .dv-h44__tile:hover, .dv-h44__tile:focus-visible { background: #4e6c6e; }
.dv-h44__grid:hover .dv-h44__tile.is-on:not(:hover) { background: transparent; }
.dv-h44__grid:hover .dv-h44__tile.is-on:not(:hover) .dv-h44__tags { opacity: 0; transform: translateY(.4rem); }
.dv-h44__tile.is-on .dv-h44__tags, .dv-h44__tile:hover .dv-h44__tags, .dv-h44__tile:focus-visible .dv-h44__tags { opacity: 1; transform: none; }
.dv-h44__tile.is-on .dv-h44__ico, .dv-h44__tile:hover .dv-h44__ico { color: #fff; }
.dv-h44__tile:hover .dv-h44__ring, .dv-h44__tile.is-on .dv-h44__ring { opacity: 1; animation: dvH44Spin 6s linear infinite; }
.dv-h44__grid:hover .dv-h44__tile.is-on:not(:hover) .dv-h44__ring { opacity: .35; animation: none; }
@keyframes dvH44Spin { to { transform: rotate(360deg); } }
.dv-h44__all { grid-column: span 3; flex-direction: row; align-items: center; justify-content: space-between; min-height: 4.75rem; padding: 0 1.5rem; margin: .5rem; border: 0; border-radius: 1rem; background: #fff; color: var(--k) !important; }
.dv-h44__all b { font-size: 1.15rem; }
.dv-h44__all svg { width: 2.2rem; height: 2.2rem; transition: transform .25s; }
.dv-h44__all:hover svg { transform: translate(.2rem, -.2rem); }
@media (max-width: 1199.98px) { .dv-h44__in { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .dv-h44__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(8.5rem, auto); } .dv-h44__all { grid-column: span 2; } .dv-h44__tags { display: none; } .dv-h44__track > span { white-space: normal; } .dv-h44__rot { height: 2.36em; } .dv-h44__track > span { height: 2.36em; } }

@keyframes dvH44Rot { 0.00%, 13.33% { transform: translateY(-0.00em); } 16.67%, 30.00% { transform: translateY(-1.18em); } 33.33%, 46.67% { transform: translateY(-2.36em); } 50.00%, 63.33% { transform: translateY(-3.54em); } 66.67%, 80.00% { transform: translateY(-4.72em); } 83.33%, 96.67% { transform: translateY(-5.90em); } 100% { transform: translateY(-7.08em); } }
@keyframes dvH44RotM { 0.00%, 13.33% { transform: translateY(-0.00em); } 16.67%, 30.00% { transform: translateY(-2.36em); } 33.33%, 46.67% { transform: translateY(-4.72em); } 50.00%, 63.33% { transform: translateY(-7.08em); } 66.67%, 80.00% { transform: translateY(-9.44em); } 83.33%, 96.67% { transform: translateY(-11.80em); } 100% { transform: translateY(-14.16em); } }
@media (max-width: 600px) { .dv-h44__track { animation-name: dvH44RotM; } }
.dv-nav__link { white-space: nowrap; }
@media (max-width: 1199.98px) { .dv-nav .dv-nav-home { display: none !important; } }

/* Consultation modal: wide, two columns, no inner scroll on desktop */
#modal-consultation .devoso-modal__dialog { max-width: min(60rem, calc(100vw - 2rem)) !important; }
@media (min-width: 900px) and (min-height: 640px) {
    #modal-consultation .devoso-modal__content, #modal-consultation .devoso-modal__body { overflow: visible !important; max-height: none !important; }
    #modal-consultation .devoso-modal__dialog { max-height: none !important; }
}
#modal-consultation .devoso-modal__content { padding: 2rem 2.25rem !important; }
.dv-mdl { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); align-items: start; gap: 1.75rem !important; }
.dv-mdl > .dv-modal-topic { grid-column: 1 / -1; }
.dv-mdl__alt { padding: 1.4rem !important; border: 0 !important; border-radius: 1.1rem; background: var(--k-soft); align-self: stretch; align-content: start; }
.dv-mdl__alt .dv-pills { display: grid; gap: .45rem; }
.dv-mdl__alt .dv-pill { width: 100%; justify-content: flex-start; }
@media (max-width: 899.98px) { .dv-mdl { grid-template-columns: 1fr; } }
/* custom select: one accent colour for scrollbar and check */
.s43__list { scrollbar-color: #4e6c6e transparent !important; }
.s43__list::-webkit-scrollbar { width: .4rem; }
.s43__list::-webkit-scrollbar-thumb { background: #4e6c6e; border-radius: 1rem; }
.s43__opt i { color: #4e6c6e !important; }
.dvh-m43__rn { flex: none; width: 1.4rem; height: 1.4rem; margin-top: .05rem; border-radius: 50%; display: grid; place-items: center; background: var(--k); color: #fff; font-size: .7rem; font-weight: 700; }
/* eyebrow: one colour on both sides */
.dv-eyebrow::before, .dv-eyebrow::after, .v3-eyebrow::before, .v3-eyebrow::after { background: currentColor !important; opacity: .55; }
.dv-sec--dark .dv-eyebrow, .v3-sec--dark .v3-eyebrow { color: #b5cfcf !important; }
.dv-bolt svg { margin: 0 !important; }

/* Practice hero: simple clear animation + DEVOSO wordmark like the footer */
.dvp-hero { position: relative; overflow: hidden; }
.dvp-word { position: absolute; left: 50%; bottom: -.12em; transform: translateX(-50%); font-family: var(--f-head, "Playfair Display", serif); font-weight: 700; font-size: 19vw; line-height: .8; letter-spacing: .02em; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.07); white-space: nowrap; pointer-events: none; user-select: none; }
.dvp-vis { aspect-ratio: 4 / 3; background: radial-gradient(80% 70% at 50% 42%, #263437 0%, #1d2729 55%, #121718 100%) !important; }
.dvp-sv { position: absolute; inset: 0; width: 100%; height: 100%; }
.dvp-sv circle, .dvp-sv path { fill: none; }
.dvp-sv__r1 { stroke: rgba(181,207,207,.16); stroke-width: 1; }
.dvp-sv__r2 { stroke: rgba(181,207,207,.28); stroke-width: 1; stroke-dasharray: 3 7; transform-origin: 200px 140px; animation: dvpSpin 40s linear infinite; }
.dvp-sv__pulse { stroke: rgba(181,207,207,.5); stroke-width: 1.5; transform-origin: 200px 140px; animation: dvpPulse 3.2s ease-out infinite; }
.dvp-sv__line { stroke: rgba(181,207,207,.25); stroke-width: 1.4; }
.dvp-sv .dvp-sv__dot { fill: #b5cfcf; stroke: none; }
.dvp-sv .dvp-sv__dot--2 { fill: #b5cfcf; }
@keyframes dvpSpin { to { transform: rotate(360deg); } }
@keyframes dvpPulse { 0% { transform: scale(.85); opacity: .9; } 100% { transform: scale(1.55); opacity: 0; } }
.dvp-sv__ico { position: absolute; left: 50%; top: 46.6%; transform: translate(-50%, -50%); width: 5.5rem; height: 5.5rem; border-radius: 1.5rem; display: grid; place-items: center; background: #fff; color: var(--k); box-shadow: 0 0 0 .5rem rgba(255,255,255,.06); }
.dvp-sv__ico svg { width: 2.5rem; height: 2.5rem; }
@media (prefers-reduced-motion: reduce) { .dvp-sv__r2, .dvp-sv__pulse { animation: none; } }

/* Contacts: write-to-us block */
.dvc-write__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.dvc-write__form { padding: clamp(1.5rem, 2.6vw, 2.5rem); border-radius: 1.5rem; background: #fff; border: 1px solid var(--line); }
.dvc-write__form .dv-sub { margin-bottom: 1.5rem; }
.dvc-write__side { display: grid; gap: 1rem; }
.dvc-urgent { padding: 1.5rem; border-radius: 1.25rem; background: var(--k); color: #fff; }
.dvc-urgent__ico { width: 2.6rem; height: 2.6rem; border-radius: 50%; display: grid; place-items: center; background: rgba(181,207,207,.15); color: #b5cfcf; margin-bottom: .9rem; }
.dvc-urgent__ico svg { width: 1.2rem; height: 1.2rem; }
.dvc-urgent h3 { color: #fff !important; font-size: 1.2rem; margin: 0 0 .5rem; }
.dvc-urgent p { color: rgba(255,255,255,.7); font-size: .92rem; line-height: 1.6; margin: 0 0 1rem; }
.dvc-urgent__tel { display: inline-flex; align-items: center; gap: .55rem; height: 3rem; padding: 0 1.25rem; border-radius: 999px; background: #fff; color: var(--k) !important; font-weight: 700; text-decoration: none; }
.dvc-urgent__tel svg { width: 1.1rem; height: 1.1rem; }
.dvc-docs, .dvc-press { padding: 1.5rem; border-radius: 1.25rem; background: #fff; border: 1px solid var(--line); }
.dvc-docs h3, .dvc-press h3 { font-size: 1.1rem; margin: 0 0 .8rem; }
.dvc-docs ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.dvc-docs li { display: flex; gap: .55rem; align-items: flex-start; font-size: .92rem; line-height: 1.5; }
.dvc-docs li svg { flex: none; width: 1.05rem; height: 1.05rem; margin-top: .2rem; color: #4e6c6e; }
.dvc-press p { font-size: .92rem; color: var(--muted); line-height: 1.6; margin: 0 0 .75rem; }
.dvc-press a { font-weight: 650; color: var(--k); text-decoration: none; }
@media (max-width: 991.98px) { .dvc-write__grid { grid-template-columns: 1fr; } }

/* =================== HOME 4.5: CTA button + interactive practice list =================== */
.dv-h44__grid { display: none; }
.dv-h44__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }
.dv-h44__btn { display: inline-flex; align-items: center; gap: .65rem; height: 3.6rem; padding: 0 1.9rem; border: 0; border-radius: 999px; background: #fff; color: var(--k); font: inherit; font-weight: 650; font-size: 1rem; cursor: pointer; transition: background .25s, transform .25s; }
.dv-h44__btn svg { width: 1.15rem; height: 1.15rem; transition: transform .25s; }
.dv-h44__btn:hover { background: #b5cfcf; transform: translateY(-2px); }
.dv-h44__btn:hover svg { transform: translateX(.25rem); }
.dv-h44__tel { display: flex; flex-direction: column; gap: .2rem; color: #fff !important; text-decoration: none; }
.dv-h44__tel small { font-size: .76rem; color: rgba(255,255,255,.55); }
.dv-h44__tel b { font-size: 1.15rem; }
.dv-h44__tel:hover b { color: #b5cfcf; }

.dv-h45 { position: relative; padding: 1.25rem; border-radius: 1.75rem; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.09); }
.dv-h45__cap { margin: .2rem .5rem 1rem; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.dv-h45__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.dv-h45__row a { position: relative; display: grid; grid-template-columns: 2.2rem 2.6rem minmax(0, 1fr) 2.4rem; grid-template-areas: "n ico t go" ". . more more"; align-items: center; column-gap: .85rem; padding: .85rem 1rem; border-radius: 1.1rem; color: #fff !important; text-decoration: none; overflow: hidden; transition: background .35s; }
.dv-h45__n { grid-area: n; font-size: .78rem; font-weight: 700; color: rgba(255,255,255,.35); font-variant-numeric: tabular-nums; transition: color .3s; }
.dv-h45__ico { grid-area: ico; width: 2.6rem; height: 2.6rem; border-radius: .8rem; display: grid; place-items: center; background: rgba(255,255,255,.07); color: #b5cfcf; transition: background .35s, color .35s; }
.dv-h45__ico svg { width: 1.2rem; height: 1.2rem; }
.dv-h45__t { grid-area: t; min-width: 0; }
.dv-h45__t b { display: block; font-size: 1.05rem; font-weight: 650; line-height: 1.3; }
.dv-h45__t small { display: block; margin-top: .2rem; font-size: .78rem; color: rgba(255,255,255,.5); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dv-h45__go { grid-area: go; width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.6); transition: background .3s, color .3s, border-color .3s, transform .3s; }
.dv-h45__go svg { width: 1rem; height: 1rem; }
.dv-h45__more { grid-area: more; display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s cubic-bezier(.2,.8,.2,1); }
.dv-h45__more > span { overflow: hidden; font-size: .9rem; line-height: 1.55; color: rgba(255,255,255,.7); }
.dv-h45__bar { position: absolute; left: 1rem; right: 1rem; bottom: 0; height: 2px; border-radius: 2px; background: rgba(255,255,255,.08); overflow: hidden; opacity: 0; }
.dv-h45__bar::after { content: ""; position: absolute; inset: 0; background: #b5cfcf; transform: scaleX(0); transform-origin: left; }
/* active row */
.dv-h45__row.is-on a { background: #4e6c6e; }
.dv-h45__row.is-on .dv-h45__n { color: #fff; }
.dv-h45__row.is-on .dv-h45__ico { background: #fff; color: var(--k); }
.dv-h45__row.is-on .dv-h45__go { background: #fff; color: var(--k); border-color: #fff; transform: rotate(0); }
.dv-h45__row.is-on .dv-h45__t small { color: rgba(255,255,255,.75); }
.dv-h45__row.is-on .dv-h45__more { grid-template-rows: 1fr; padding-top: .6rem; }
.dv-h45.is-auto .dv-h45__row.is-on .dv-h45__bar { opacity: 1; }
.dv-h45.is-auto .dv-h45__row.is-on .dv-h45__bar::after { animation: dvH45Bar var(--dur, 4.5s) linear forwards; }
@keyframes dvH45Bar { to { transform: scaleX(1); } }
.dv-h45__row:not(.is-on) a:hover { background: rgba(255,255,255,.06); }
.dv-h45__all { display: flex; align-items: center; justify-content: space-between; margin-top: .9rem; padding: 1rem 1.15rem; border-radius: 1.1rem; border: 1px dashed rgba(255,255,255,.18); color: #fff !important; font-weight: 600; text-decoration: none; transition: border-color .25s, background .25s; }
.dv-h45__all svg { width: 1.2rem; height: 1.2rem; transition: transform .25s; }
.dv-h45__all:hover { border-color: rgba(255,255,255,.45); border-style: solid; background: rgba(255,255,255,.04); }
.dv-h45__all:hover svg { transform: translateX(.3rem); }
@media (prefers-reduced-motion: reduce) { .dv-h45__more { transition: none; } .dv-h45.is-auto .dv-h45__row.is-on .dv-h45__bar::after { animation: none; } }
@media (max-width: 600px) { .dv-h45 { padding: .75rem; } .dv-h45__row a { grid-template-columns: 2.4rem minmax(0, 1fr) 2.2rem; grid-template-areas: "ico t go" "more more more"; padding: .75rem; } .dv-h45__n { display: none; } }
.dv-h44__title { font-size: clamp(2rem, 3.1vw, 3.3rem); }
.dv-h44__rot { font-size: .86em; }
.dv-h44__track > span { overflow: visible; }
.dv-i-ext, .dv-i-flip { display: inline-block; vertical-align: -.15em; width: 1em; height: 1em; }
.dv-bolt { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; }

/* =================== HOME FIRST SCREEN 4.6: centred, fits one screen =================== */
.dv-h44, .dv-h43 { display: none !important; }
.dv-h46 { position: relative; overflow: hidden; background: #121718; color: #fff; height: var(--h46h, calc(100svh - 8rem)); min-height: 34rem; display: flex; }
.dv-h46__in { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; justify-content: center; gap: clamp(1.5rem, 5.5vh, 3.75rem); padding-top: clamp(1.25rem, 4vh, 3rem); padding-bottom: clamp(1.25rem, 4vh, 3rem); }
.dv-h46__head { text-align: center; max-width: 60rem; margin: 0 auto; }
.dv-h46__title { color: #fff !important; font-size: clamp(1.9rem, min(3.6vw, 6.4vh), 3.9rem); line-height: 1.12; letter-spacing: -.012em; margin: 0 0 clamp(.75rem, 2.2vh, 1.4rem); }
.dv-h46__l1 { display: block; }
.dv-h46__rot { margin: 0 auto; font-size: 1em; }
.dv-h46__rot .dv-h44__track > span { text-align: center; }
.dv-h46__lead { margin: 0 auto clamp(1rem, 3.2vh, 2rem); max-width: 44rem; font-size: clamp(.95rem, min(1.15vw, 2.1vh), 1.12rem); line-height: 1.6; color: rgba(255,255,255,.7); }
.dv-h46__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.dv-h46__btn { display: inline-flex; align-items: center; gap: .6rem; height: clamp(3rem, 6.2vh, 3.6rem); padding: 0 1.8rem; border-radius: 999px; border: 1px solid #fff; background: #fff; color: var(--k) !important; font: inherit; font-weight: 650; font-size: .98rem; text-decoration: none; cursor: pointer; transition: background .25s, border-color .25s, color .25s, transform .25s; }
.dv-h46__btn svg { width: 1.1rem; height: 1.1rem; transition: transform .25s; }
.dv-h46__btn:hover { background: #b5cfcf; border-color: #b5cfcf; transform: translateY(-2px); }
.dv-h46__btn:hover svg { transform: translateX(.2rem); }
.dv-h46__btn--ghost { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.3); }
.dv-h46__btn--ghost:hover { background: rgba(255,255,255,.08); border-color: #fff; color: #fff !important; }
.dv-h46__btn--ghost:hover svg { transform: none; }
.dv-h46__cards { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .65rem; }
.dv-h46__card { position: relative; display: flex; flex-direction: column; gap: .35rem; min-height: clamp(7.5rem, 17vh, 10.5rem); padding: clamp(.9rem, 2vh, 1.25rem) 1.1rem; border-radius: 1.15rem; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.1); color: #fff !important; text-decoration: none; overflow: hidden; transition: background .3s, border-color .3s, transform .3s; animation: dvH46In .6s calc(.1s + var(--i) * .07s) both; }
@keyframes dvH46In { from { opacity: 0; transform: translateY(.8rem); } to { opacity: 1; transform: none; } }
.dv-h46__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: auto; padding-bottom: .6rem; }
.dv-h46__ico { width: 2.5rem; height: 2.5rem; border-radius: .8rem; display: grid; place-items: center; background: rgba(255,255,255,.08); color: #b5cfcf; transition: background .3s, color .3s; }
.dv-h46__ico svg { width: 1.2rem; height: 1.2rem; }
.dv-h46__n { font-size: .74rem; font-weight: 700; color: rgba(255,255,255,.3); }
.dv-h46__card b { font-size: clamp(.92rem, 1.05vw, 1.08rem); font-weight: 650; line-height: 1.3; }
.dv-h46__card small { font-size: .74rem; color: rgba(255,255,255,.5); line-height: 1.4; }
.dv-h46__go { position: absolute; right: 1rem; bottom: 1rem; width: 1.9rem; height: 1.9rem; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--k); opacity: 0; transform: translate(-.3rem, .3rem); transition: opacity .3s, transform .3s; }
.dv-h46__go svg { width: .9rem; height: .9rem; }
.dv-h46__card:hover { background: #4e6c6e; border-color: #4e6c6e; transform: translateY(-.25rem); }
.dv-h46__card:hover .dv-h46__ico { background: #fff; color: var(--k); }
.dv-h46__card:hover small { color: rgba(255,255,255,.8); }
.dv-h46__card:hover .dv-h46__go { opacity: 1; transform: none; }
/* DEVOSO wordmark with a faint beam running over the letters */
.dv-h46__word { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -47%); pointer-events: none; user-select: none; font-family: var(--f-head, "Playfair Display", serif); font-weight: 700; font-size: 25vw; line-height: 1; letter-spacing: .02em; white-space: nowrap; }
.dv-h46__w1, .dv-h46__w2 { display: block; }
.dv-h46__w1 { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.055); }
.dv-h46__w2 { position: absolute; inset: 0; color: transparent; background: linear-gradient(100deg, transparent 0%, transparent 42%, rgba(181,207,207,.16) 50%, transparent 58%, transparent 100%); background-size: 250% 100%; background-position: 130% 0; -webkit-background-clip: text; background-clip: text; animation: dvH46Beam 11s cubic-bezier(.45, 0, .55, 1) infinite; }
@keyframes dvH46Beam { 0% { background-position: 130% 0; } 70%, 100% { background-position: -30% 0; } }
@media (prefers-reduced-motion: reduce) { .dv-h46__w2 { animation: none; opacity: 0; } .dv-h46__card { animation: none; } }
/* sizes */
@media (max-width: 1199.98px) { .dv-h46__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } .dv-h46__card { min-height: clamp(6.5rem, 13vh, 8.5rem); } }
@media (max-height: 720px) and (min-width: 1200px) { .dv-h46__card small { display: none; } .dv-h46__top { padding-bottom: .35rem; } }
@media (max-width: 767.98px) {
    .dv-h46 { height: auto; min-height: 0; }
    .dv-h46__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dv-h46__card { min-height: 7.5rem; }
    .dv-h46__word { font-size: 34vw; }
    .dv-h46__rot { height: 2.24em !important; }
    .dv-h46__rot .dv-h44__track > span { height: 2.24em !important; white-space: normal; }
    .dv-h46__btn { width: 100%; justify-content: center; }
}
@keyframes dvH46Rot { 0.00%, 13.33% { transform: translateY(-0.00em); } 16.67%, 30.00% { transform: translateY(-1.12em); } 33.33%, 46.67% { transform: translateY(-2.24em); } 50.00%, 63.33% { transform: translateY(-3.36em); } 66.67%, 80.00% { transform: translateY(-4.48em); } 83.33%, 96.67% { transform: translateY(-5.60em); } 100% { transform: translateY(-6.72em); } }
.dv-h46__rot { height: 1.12em; } .dv-h46__rot .dv-h44__track { animation-name: dvH46Rot; } .dv-h46__rot .dv-h44__track > span { height: 1.12em; line-height: 1.12; }
@keyframes dvH46RotM { 0.00%, 13.33% { transform: translateY(-0.00em); } 16.67%, 30.00% { transform: translateY(-2.24em); } 33.33%, 46.67% { transform: translateY(-4.48em); } 50.00%, 63.33% { transform: translateY(-6.72em); } 66.67%, 80.00% { transform: translateY(-8.96em); } 83.33%, 96.67% { transform: translateY(-11.20em); } 100% { transform: translateY(-13.44em); } }
@media (max-width: 767.98px) { .dv-h46__rot .dv-h44__track { animation-name: dvH46RotM; } }
.dv-h46__head { max-width: 74rem; } .dv-h46__lead { max-width: 46rem; }
.dv-404__code { color: #4e6c6e !important; font-size: clamp(5rem, 11vw, 9rem) !important; letter-spacing: .02em; }
.dv-404__btn, .dv-404__btn svg { transition: background .25s, border-color .25s, color .25s !important; transform: none !important; }
.dv-404__btn:hover { transform: none !important; }

/* 4.6 article cards: image / placeholder edge to edge, text keeps its padding */
.dv-card { padding: 0 !important; overflow: hidden; }
.dv-card__media { margin: 0 !important; border-radius: 0 !important; display: block; }
.dv-card__body { padding: 1.25rem 1.4rem 1.4rem !important; }
.dv-card--featured .dv-card__body, .dv-card.is-featured .dv-card__body { padding: 1.75rem !important; }
/* simple placeholder: DEVOSO wordmark + a small running light */
.dv-ph46 { position: absolute; inset: 0; display: grid !important; place-items: center; align-content: center; gap: .65rem; background: #1d2729 !important; color: #fff; overflow: hidden; padding: 0 !important; }
.dv-ph46__w { font-family: var(--f-head, "Playfair Display", serif); font-weight: 700; font-size: clamp(1.6rem, 3.2vw, 2.6rem); letter-spacing: .12em; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.35); }
.dv-ph46__line { position: relative; width: 38%; height: 1px; background: rgba(255,255,255,.14); overflow: hidden; }
.dv-ph46__line i { position: absolute; top: -1px; left: -20%; width: 20%; height: 3px; border-radius: 3px; background: linear-gradient(90deg, transparent, #b5cfcf, transparent); animation: dvPh46 3.2s ease-in-out infinite; }
@keyframes dvPh46 { 0% { left: -20%; } 60%, 100% { left: 100%; } }
.dv-ph46__t { font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.dv-card__ph svg, .b43-art svg { display: none; }
@media (prefers-reduced-motion: reduce) { .dv-ph46__line i { animation: none; left: 40%; } }

/* 4.6 «Who we work for»: animated switching */
.dvh-m43.is-active { animation: dvM43Box .45s cubic-bezier(.2,.8,.2,1) both !important; }
.dvh-m43.is-active .dvh-m43__head { animation: dvM43In .5s .05s cubic-bezier(.2,.8,.2,1) both; }
.dvh-m43.is-active .dvh-m43__cols > div:first-child li { animation: dvM43In .45s cubic-bezier(.2,.8,.2,1) both; }
.dvh-m43.is-active .dvh-m43__cols > div:last-child li { animation: dvM43In .45s cubic-bezier(.2,.8,.2,1) both; }
.dvh-m43.is-active .dvh-m43__cols li:nth-child(1) { animation-delay: .12s; }
.dvh-m43.is-active .dvh-m43__cols li:nth-child(2) { animation-delay: .18s; }
.dvh-m43.is-active .dvh-m43__cols li:nth-child(3) { animation-delay: .24s; }
.dvh-m43.is-active .dvh-m43__cols li:nth-child(4) { animation-delay: .30s; }
.dvh-m43.is-active .dvh-m43__foot { animation: dvM43In .45s .32s cubic-bezier(.2,.8,.2,1) both; }
.dvh-m43.is-active .dvh-m43__ico { animation: dvM43Ico .6s cubic-bezier(.2,.8,.2,1) both; }
@keyframes dvM43Box { from { opacity: .4; transform: translateX(.75rem); } to { opacity: 1; transform: none; } }
@keyframes dvM43In { from { opacity: 0; transform: translateY(.6rem); } to { opacity: 1; transform: none; } }
@keyframes dvM43Ico { from { transform: scale(.6) rotate(-12deg); opacity: 0; } to { transform: none; opacity: 1; } }
.dvh-market__tabs button { position: relative; overflow: hidden; transition: background .3s, color .3s, border-color .3s !important; }
.dvh-market__tabs button::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 100%; background: var(--k); transform: scaleX(0); transform-origin: left; transition: transform .35s cubic-bezier(.2,.8,.2,1); z-index: -1; }
.dvh-market__tabs button { z-index: 0; }
.dvh-market__tabs button.is-active::after { transform: scaleX(1); }
.dvh-market__tabs button.is-active { background: transparent !important; }
@media (prefers-reduced-motion: reduce) { .dvh-m43.is-active, .dvh-m43.is-active * { animation: none !important; } }

/* =================== TELEGRAM BLOCK 4.6 (phone with live channel feed) =================== */
.dvh-tg { display: none !important; }
.dvh-tg46__box { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; padding: clamp(1.75rem, 4vw, 4rem); border-radius: 2rem; background: var(--k); color: #fff; position: relative; overflow: hidden; }
.dvh-tg46__box::before { content: ""; position: absolute; right: -10%; top: -20%; width: 55%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(34,158,217,.18), transparent); pointer-events: none; }
.dvh-tg46__intro, .dvh-tg46__phone { position: relative; }
.dvh-tg46__eb { display: inline-flex; align-items: center; gap: .55rem; padding: .4rem .85rem .4rem .45rem; border-radius: 999px; background: rgba(34,158,217,.14); color: #8fd0f0; font-size: .78rem; font-weight: 700; letter-spacing: .04em; }
.dvh-tg46__eb svg { width: 1.6rem; height: 1.6rem; padding: .3rem; border-radius: 50%; background: #229ed9; color: #fff; }
.dvh-tg46__t { color: #fff !important; font-size: clamp(1.8rem, 2.8vw, 2.8rem); line-height: 1.15; margin: 1.1rem 0 .9rem; }
.dvh-tg46__s { color: rgba(255,255,255,.7); font-size: 1.05rem; line-height: 1.65; margin: 0 0 1.25rem; max-width: 34rem; }
.dvh-tg46__list { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: .5rem; }
.dvh-tg46__list li { display: flex; gap: .6rem; align-items: center; color: rgba(255,255,255,.85); font-weight: 600; font-size: .95rem; }
.dvh-tg46__list svg { flex: none; width: 1.05rem; height: 1.05rem; color: #8fd0f0; }
.dvh-tg46__stats { display: flex; gap: 2.5rem; margin: 0 0 1.75rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.1); }
.dvh-tg46__stats dt { font-family: var(--f-head, "Playfair Display", serif); font-size: 2rem; line-height: 1; color: #fff; font-variant-numeric: lining-nums; }
.dvh-tg46__stats dd { margin: .35rem 0 0; font-size: .8rem; color: rgba(255,255,255,.55); }
.dvh-tg46__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; }
.dvh-tg46__btn { display: inline-flex; align-items: center; gap: .6rem; height: 3.3rem; padding: 0 1.5rem 0 .6rem; border-radius: 999px; background: #229ed9; color: #fff !important; font-weight: 650; text-decoration: none; transition: background .2s, transform .2s; }
.dvh-tg46__btn svg { width: 2.1rem; height: 2.1rem; padding: .45rem; border-radius: 50%; background: rgba(255,255,255,.2); }
.dvh-tg46__btn:hover { background: #1b8bc2; transform: translateY(-2px); }
.dvh-tg46__link { color: rgba(255,255,255,.8) !important; font-weight: 600; text-decoration: none; }
.dvh-tg46__link:hover { color: #fff !important; }
/* phone */
.dvh-tg46__phone { justify-self: center; width: min(100%, 22.5rem); padding: .7rem; border-radius: 2.6rem; background: #0b0f10; box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 2rem 4rem rgba(0,0,0,.45); }
.dvh-tg46__screen { display: flex; flex-direction: column; height: 36rem; border-radius: 2rem; overflow: hidden; background: #17212b; }
.dvh-tg46__bar { flex: none; display: flex; align-items: center; gap: .7rem; padding: 1.4rem 1rem .8rem; background: #232e3c; }
.dvh-tg46__ava { flex: none; width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--k); font-family: var(--f-head, serif); font-weight: 700; font-size: 1.1rem; }
.dvh-tg46__name { flex: 1; min-width: 0; }
.dvh-tg46__name b { display: block; font-size: .95rem; color: #fff; }
.dvh-tg46__name small { display: block; font-size: .75rem; color: #8fa3b5; }
.dvh-tg46__dots { display: flex; flex-direction: column; gap: .18rem; }
.dvh-tg46__dots i { width: .25rem; height: .25rem; border-radius: 50%; background: #8fa3b5; }
.dvh-tg46__feed { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: .6rem; padding: .8rem .7rem; scrollbar-width: none; background: #0e1621; outline: 0; }
.dvh-tg46__feed::-webkit-scrollbar { display: none; }
.dvh-tg46__msg { all: unset; box-sizing: border-box; cursor: pointer; display: flex; flex-direction: column; gap: .35rem; max-width: 92%; padding: .55rem .65rem .45rem; border-radius: .9rem .9rem .9rem .25rem; background: #182533; color: #e8edf2; transition: background .2s, transform .2s; }
.dvh-tg46__msg img { width: 100%; height: auto; aspect-ratio: 5 / 3; object-fit: cover; border-radius: .6rem; display: block; }
.dvh-tg46__msg b { font-size: .86rem; line-height: 1.35; color: #fff; }
.dvh-tg46__msg span { font-size: .78rem; line-height: 1.45; color: #b9c6d3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dvh-tg46__msg time { align-self: flex-end; font-size: .66rem; color: #6d8196; }
.dvh-tg46__msg:hover, .dvh-tg46__msg:focus-visible { background: #213244; transform: translateX(.15rem); }
.dvh-tg46__msg:focus-visible { outline: 2px solid #8fd0f0; outline-offset: 2px; }
.dvh-tg46__join { flex: none; display: block; padding: .9rem; text-align: center; background: #17212b; border-top: 1px solid #0e1621; color: #5eb5f7 !important; font-weight: 700; font-size: .85rem; letter-spacing: .03em; text-transform: uppercase; text-decoration: none; }
.dvh-tg46__join:hover { background: #1d2a37; }
@media (max-width: 991.98px) { .dvh-tg46__box { grid-template-columns: 1fr; } .dvh-tg46__screen { height: 30rem; } }
/* post modal */
dialog.dvm--tg { max-width: min(40rem, calc(100vw - 2rem)); }
.dvm--tg .dvm__box { padding: 1.5rem 1.75rem 1.5rem; }
.dvm-tg__head { display: flex; align-items: center; gap: .7rem; margin: 0 3rem 1rem 0; }
.dvm-tg__head .dvh-tg46__ava { background: var(--k); color: #fff; }
.dvm-tg__head b { display: block; font-size: .95rem; }
.dvm-tg__head small { display: block; font-size: .78rem; color: var(--muted); }
.dvm-tg__img { width: 100%; height: auto; max-height: 22rem; object-fit: cover; border-radius: 1rem; margin-bottom: 1rem; display: block; }
.dvm--tg h3 { margin: 0 0 .75rem !important; }
.dvm-tg__body { font-size: .98rem; line-height: 1.7; }
.dvm-tg__body img { max-width: 100%; height: auto; border-radius: .75rem; }
.dvm-tg__body ul { padding-left: 1.2rem; }
.dvm-tg__body .dtg-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 1rem 0; }
.dvm-tg__foot { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.dvm-tg__btn { display: inline-flex; align-items: center; gap: .5rem; height: 2.9rem; padding: 0 1.25rem; border-radius: 999px; background: var(--k); color: #fff !important; font-weight: 650; text-decoration: none; }
.dvm-tg__btn svg { width: 1.05rem; height: 1.05rem; }
.dvm-tg__btn--tg { background: #229ed9; }
.dvm-tg__btn:hover { opacity: .9; }

/* =================== ARTICLE 4.6 =================== */
/* centred first screen */
.dv-ah46 { padding: 1.25rem 0 2.75rem; text-align: center; }
.dv-ah46 .dv-crumbs, .dv-ah46 #breadcrumbs, .dv-ah46 nav[aria-label="breadcrumbs"] { text-align: left; margin-bottom: 1.75rem !important; }
.dv-ah46__in { max-width: 54rem; margin: 0 auto; }
.dv-ah46 .dv-ah__tags { justify-content: center; }
.dv-ah46 .dv-ah__title { font-size: clamp(1.9rem, 3.4vw, 3.2rem); margin: 0 auto 1rem; }
.dv-ah46 .dv-ah__lead { margin: 0 auto 1.75rem; max-width: 44rem; }
.dv-ah46 .dv-ah__meta { justify-content: center; text-align: left; }
.dv-ah46__media-wrap { position: relative; z-index: 1; margin-top: -1.25rem; }
.dv-ah46__media { position: relative; margin: 0 auto; max-width: 64rem; aspect-ratio: 21 / 9; border-radius: 1.5rem; overflow: hidden; background: #1d2729; }
.dv-ah46__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dv-ah46__media .dv-ph46 { position: absolute; inset: 0; }
.dv-ah46__media .dv-ph46__w { font-size: clamp(2.2rem, 5vw, 4.5rem); }
.dv-article { margin-top: 2.5rem; }
@media (max-width: 767.98px) { .dv-ah46__media { aspect-ratio: 16 / 9; border-radius: 1rem; } }
/* share: official marks, small, no label */
.dv-share42 { display: none !important; }
.dv-share46 { display: flex; flex-direction: column; gap: .45rem; align-items: center; position: sticky; top: 7rem; align-self: start; }
.dv-sh { width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center; color: #fff !important; text-decoration: none; transition: transform .2s, opacity .2s; }
.dv-sh svg { width: 1.1rem; height: 1.1rem; }
.dv-sh:hover { transform: translateY(-2px); opacity: .9; }
.dv-sh--telegram { background: #26a5e4; }
.dv-sh--viber { background: #7360f2; }
.dv-sh--whatsapp { background: #25d366; }
.dv-sh--facebook { background: #0866ff; }
.dv-sh--linkedin { background: #0a66c2; }
.dv-sh--x { background: #000; }
@media (max-width: 991.98px) { .dv-share46 { flex-direction: row; flex-wrap: wrap; justify-content: center; position: static; order: 3; margin: 1.5rem 0; } }
/* toolbar */
.dv-at { display: none !important; }
.dv-at46 { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.dv-at46__sp { flex: 1; }
.dv-at46__btn { display: inline-flex; align-items: center; gap: .45rem; height: 2.5rem; padding: 0 .95rem; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--k); font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.dv-at46__btn svg { width: 1.05rem; height: 1.05rem; }
.dv-at46__btn:hover, .dv-at46__btn[aria-pressed="true"] { background: var(--k); color: #fff; border-color: var(--k); }
.dv-at46__set { display: none; align-items: center; gap: .3rem; padding: .25rem .4rem; border-radius: 999px; background: var(--k-soft); }
body.dv-reading .dv-at46__set { display: inline-flex; animation: dvFade .3s; }
.dv-at46__set button { height: 2rem; min-width: 2rem; padding: 0 .55rem; border: 0; border-radius: 999px; background: transparent; color: var(--k); font: inherit; font-weight: 700; font-size: .82rem; cursor: pointer; display: inline-grid; place-items: center; }
.dv-at46__set button svg { width: 1rem; height: 1rem; }
.dv-at46__set button:hover, .dv-at46__set button[aria-pressed="true"] { background: #fff; }
.dv-at46__serif { font-family: Georgia, "Times New Roman", serif !important; }
.dv-at46__lbl { font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding: 0 .3rem 0 .6rem; }
.dv-at46__set .js-fs-val { font-size: .75rem; font-weight: 600; color: var(--muted); min-width: 2.6rem; text-align: center; }
body.dv-reading[data-ff="serif"] .dv-article__body { font-family: Georgia, "Times New Roman", serif; }
body.dv-reading[data-ff="sans"] .dv-article__body { font-family: var(--f-body, Inter, sans-serif); }
body.dv-reading[data-lh="2"] .dv-article__body :is(p, li) { line-height: 2 !important; }
body.dv-reading .dv-article__body { max-width: 44rem; margin: 0 auto; }
body.dv-reading .dv-share46 { display: none !important; }
@media (max-width: 600px) { .dv-at46__btn span { display: none; } .dv-at46__set { flex-wrap: wrap; border-radius: 1rem; } }
/* minutes left: centred under the header */
.dv-progress__left { left: 50% !important; right: auto !important; transform: translateX(-50%); top: calc(var(--head-h, 4.75rem) + .9rem) !important; }
.admin-bar .dv-progress__left { top: calc(var(--head-h, 4.75rem) + 2.9rem) !important; }
@media (max-width: 991.98px) { .dv-progress__left { display: block; } .dv-progress__left:empty { display: none; } }
/* comments right after the article */
.dv-cms-wrap--after { padding-top: 0; }
/* help block in the site's own style */
.dv-help { display: none !important; }
.dv-help46 { padding: 3.5rem 0; }
.dv-help46__card { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2.5rem; align-items: center; padding: clamp(1.5rem, 3vw, 2.75rem); border-radius: 1.5rem; background: var(--k-soft); border: 1px solid var(--line); }
.dv-help46__eb { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #4e6c6e; }
.dv-help46 h2 { font-size: clamp(1.6rem, 2.4vw, 2.3rem); line-height: 1.2; margin: .6rem 0 .6rem; }
.dv-help46 p { margin: 0; color: var(--muted); line-height: 1.65; max-width: 34rem; }
.dv-help46__link { display: inline-block; margin-top: 1rem; font-weight: 650; color: var(--k); text-decoration: none; border-bottom: 1px solid currentColor; }
.dv-help46__act { display: grid; gap: .75rem; justify-items: start; }
.dv-help46__btn { display: inline-flex; align-items: center; gap: .6rem; height: 3.3rem; padding: 0 1.6rem; border: 0; border-radius: 999px; background: var(--k); color: #fff; font: inherit; font-weight: 650; cursor: pointer; transition: background .2s; }
.dv-help46__btn svg { width: 1.1rem; height: 1.1rem; transition: transform .2s; }
.dv-help46__btn:hover { background: var(--brand); }
.dv-help46__btn:hover svg { transform: translateX(.2rem); }
.dv-help46__alt { display: flex; flex-wrap: wrap; gap: .5rem; }
.dv-help46__alt a { display: inline-flex; align-items: center; gap: .45rem; height: 2.6rem; padding: 0 1rem; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--k); font-weight: 600; font-size: .88rem; text-decoration: none; }
.dv-help46__alt a:hover { border-color: var(--k); }
.dv-help46__alt svg { width: 1rem; height: 1rem; }
@media (max-width: 767.98px) { .dv-help46__card { grid-template-columns: 1fr; gap: 1.5rem; } }

/* =================== SMOOTH PAGE TRANSITIONS =================== */
@view-transition { navigation: auto; }
.dv-header { view-transition-name: dv-header; }
.dv-topbar { view-transition-name: dv-topbar; }
::view-transition-old(root) { animation: dvVtOut .22s ease both; }
::view-transition-new(root) { animation: dvVtIn .32s cubic-bezier(.2,.8,.2,1) both; }
::view-transition-old(dv-header), ::view-transition-new(dv-header), ::view-transition-old(dv-topbar), ::view-transition-new(dv-topbar) { animation: none; }
@keyframes dvVtOut { to { opacity: 0; } }
@keyframes dvVtIn { from { opacity: 0; transform: translateY(.5rem); } }
@media (prefers-reduced-motion: reduce) { ::view-transition-old(root), ::view-transition-new(root) { animation: none; } }
body.dv-reading .dv-at46 { max-width: 44rem; margin-left: auto; margin-right: auto; justify-content: center; }
body.dv-reading .dv-at46__sp { display: none; }
body.dv-reading .dv-at46__set { order: 10; width: 100%; justify-content: center; flex-wrap: wrap; border-radius: 1rem; padding: .4rem .6rem; }
body.dv-reading .dv-article { display: block !important; }
body.dv-reading .dv-article__main { max-width: 44rem; margin: 0 auto; }

/* 4.7: hero H1 holds only the fixed line; the rotator sits beside it with the same look */
.dv-h46__title { font-family: var(--f-head, "Playfair Display", Georgia, serif); font-weight: 700; text-align: center; }
.dv-h46__title h1.dv-h46__l1 { font: inherit; color: inherit !important; letter-spacing: inherit; line-height: inherit; margin: 0; }

/* 4.7: author = DEVOSO (logo mark instead of a personal avatar) */
.dv-amark { flex: none; display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: .7rem; overflow: hidden; }
.dv-amark svg { width: 100%; height: 100%; display: block; }
.dv-amark.dv-author__ava { width: 1.875rem; height: 1.875rem; border-radius: .5rem; }
.dv-amark.dv-authorbox__ava { width: 4rem; height: 4rem; border-radius: 1.1rem; }
.dv-ah46 .dv-ah__ava { box-shadow: 0 0 0 1px rgba(255,255,255,.14); }
.dv-authorbox p a { color: var(--k); font-weight: 650; text-decoration: none; border-bottom: 1px solid currentColor; white-space: nowrap; }
/* 4.7: article first screen — meta as a quiet strip with separators; compact placeholder */
.dv-ah46 .dv-ah__meta { gap: 0; padding-top: 1.4rem; max-width: 44rem; margin: 0 auto; border-top-color: rgba(255,255,255,.1); }
.dv-ah46 .dv-ah__meta > span { padding: 0 1.6rem; border-left: 1px solid rgba(255,255,255,.1); justify-content: center; }
.dv-ah46 .dv-ah__meta > span:first-child { border-left: 0; padding-left: 0; }
.dv-ah46 .dv-ah__meta > span:last-child { padding-right: 0; }
.dv-ah46 .dv-ah__meta .dv-ah__author { flex-direction: row; align-items: center; gap: .7rem; }
.dv-ah46 .dv-ah__meta .dv-ah__author > span { display: flex; flex-direction: column; gap: .15rem; }
.dv-ah46__media:has(.dv-ph46) { max-width: 52rem; aspect-ratio: 3 / 1; border-radius: 1.25rem; background: #1d2729; box-shadow: 0 1.5rem 3rem -1.5rem rgba(18,23,24,.45); }
.dv-ah46__media .dv-ph46 .dv-ph46__w { font-size: clamp(2rem, 4.2vw, 3.6rem); }
@media (max-width: 767.98px) {
  .dv-ah46 .dv-ah__meta { gap: .9rem 0; }
  .dv-ah46 .dv-ah__meta > span { padding: 0 1rem; }
  .dv-ah46 .dv-ah__meta .dv-ah__author { flex-basis: 100%; justify-content: center; border-left: 0; padding: 0; }
  .dv-ah46 .dv-ah__meta > span:nth-child(2) { border-left: 0; }
  .dv-ah46__media:has(.dv-ph46) { aspect-ratio: 2.2 / 1; }
}

/* 4.7: Telegram box feed — header stays on top, messages loop seamlessly in a clipped view */
.dv-chan__feed { display: flex; flex-direction: column; padding: 0; }
.dv-chan__head { flex: none; position: relative; z-index: 1; padding: .8rem .9rem .7rem; background: #1d2729; }
.dv-chan__view { flex: 1; min-height: 0; overflow: hidden; padding: 0 .9rem; -webkit-mask-image: linear-gradient(transparent, #000 .6rem, #000 80%, transparent); mask-image: linear-gradient(transparent, #000 .6rem, #000 80%, transparent); }
.dv-chan__msgs { gap: 0; padding-top: .6rem; animation: dvChan47 16s linear infinite; }
.dv-chan__msg { margin-bottom: .5rem; }
.dv-chan:hover .dv-chan__msgs { animation-play-state: paused; }
@keyframes dvChan47 { to { transform: translateY(calc(-50% + .3rem)); } }
@media (prefers-reduced-motion: reduce) { .dv-chan__msgs { animation: none; } }

/* 4.7: mega menu — calm hover: the tile lifts to white with a soft shadow, the glyph turns teal; no black flash, no tilt */
.dv-mm__item, .dv-mm__head { transition: background .3s ease, color .3s ease; }
.dv-mm__ico { transition: background .3s ease, color .3s ease, box-shadow .3s ease, transform .3s ease; }
.dv-mm__item:hover .dv-mm__ico, .dv-mm__head:hover .dv-mm__ico,
.dv-mm__item:focus-visible .dv-mm__ico, .dv-mm__head:focus-visible .dv-mm__ico { background: #fff; color: #4e6c6e; transform: none; box-shadow: 0 .35rem .9rem -.35rem rgba(18,23,24,.28), 0 0 0 1px rgba(78,108,110,.14); }

/* 4.7: stable header — same height when scrolled (no layout jump near the threshold),
   and no size/position morph of the header between pages */
.dv-header.is-scrolled .dv-header__in { height: 4.75rem !important; }
::view-transition-group(dv-header), ::view-transition-group(dv-topbar) { animation: none; }
.dv-header { transition: box-shadow .3s ease, background-color .3s ease; }

/* 4.7: hero rotator — words are spaced 1.6em apart inside a 1.3em window, so the
   previous/next word (descenders, diacritics) is never partly visible */
.dv-h46__rot { --st: 1.6em; height: 1.3em; margin-bottom: -.18em; overflow: hidden; }
.dv-h46__rot .dv-h44__track { animation-name: dvH47Rot !important; }
.dv-h46__rot .dv-h44__track > span { height: var(--st) !important; line-height: 1.12 !important; padding-top: .06em; box-sizing: border-box; }
@keyframes dvH47Rot {
  0%, 13.33% { transform: translateY(0); }
  16.67%, 30% { transform: translateY(calc(var(--st) * -1)); }
  33.33%, 46.67% { transform: translateY(calc(var(--st) * -2)); }
  50%, 63.33% { transform: translateY(calc(var(--st) * -3)); }
  66.67%, 80% { transform: translateY(calc(var(--st) * -4)); }
  83.33%, 96.67% { transform: translateY(calc(var(--st) * -5)); }
  100% { transform: translateY(calc(var(--st) * -6)); }
}
@media (max-width: 767.98px) {
  .dv-h46__rot { --st: 2.9em; height: 2.5em !important; }
}
@media (prefers-reduced-motion: reduce) { .dv-h46__rot .dv-h44__track { animation: none !important; } }

/* 4.7: smooth FAQ — the icon and the card return to the closed look as soon as closing starts */
.v3-acc__item { transition: box-shadow .38s ease, border-color .38s ease, background-color .38s ease; }
.v3-acc__ico, .v3-acc__ico::before, .v3-acc__ico::after { transition: background .38s ease, transform .38s cubic-bezier(.22,.8,.24,1), border-color .38s ease !important; }
.v3-acc__item[open].is-closing { box-shadow: none; border-color: var(--line) !important; }
.v3-acc__item[open].is-closing .v3-acc__ico { background: transparent !important; transform: none; }
.v3-acc__item[open].is-closing .v3-acc__ico::before, .v3-acc__item[open].is-closing .v3-acc__ico::after { background: var(--k) !important; }
.v3-acc__item[open].is-closing .v3-acc__ico::after { transform: rotate(90deg); }

/* 4.7: leaving the page from a menu — the menu, the dimming and the drawer disappear at once,
   before the page-transition snapshot is taken (otherwise the open menu hangs over the next page) */
html.dv-leaving .dv-nav__item > :not(a), html.dv-leaving .dv-header .dv-mm { opacity: 0 !important; visibility: hidden !important; transition: none !important; }
html.dv-leaving .dv-header::after { opacity: 0 !important; transition: none !important; }
html.dv-leaving .dv-drawer { visibility: hidden !important; transition: none !important; }
html.dv-leaving .dv-drawer * { transition: none !important; }

/* 4.7: practice section bar sits flush under the header, equal space above and below the chips */
.dvp-bar, .admin-bar .dvp-bar { top: var(--dv-hb, 4.75rem) !important; }
.dvp-bar__in { box-sizing: border-box; padding-top: 1px; }

/* 4.7: snappier page switch — a short crossfade, no movement; the header and the top strip
   swap instantly (no lagging snapshot of the previous page's header) */
::view-transition-old(root) { animation: dvVtOut .12s ease-out both; }
::view-transition-new(root) { animation: dvVtIn47 .18s ease-out both; }
@keyframes dvVtIn47 { from { opacity: 0; } }
::view-transition-old(dv-header), ::view-transition-old(dv-topbar) { display: none; }
::view-transition-new(dv-header), ::view-transition-new(dv-topbar) { animation: none; }

/* 4.7: share icons — smaller, soft grey-teal instead of brand fills; brand colour + tooltip on hover */
.dv-share46 { gap: .35rem; }
.dv-sh { position: relative; width: 2rem; height: 2rem; background: #edf2f1 !important; color: #4e6c6e !important; transition: background .25s ease, color .25s ease, transform .25s ease; }
.dv-sh svg { width: .95rem; height: .95rem; }
.dv-sh:hover, .dv-sh:focus-visible { color: #fff !important; transform: translateY(-1px); opacity: 1; }
.dv-sh--telegram:hover, .dv-sh--telegram:focus-visible { background: #26a5e4 !important; }
.dv-sh--viber:hover, .dv-sh--viber:focus-visible { background: #7360f2 !important; }
.dv-sh--whatsapp:hover, .dv-sh--whatsapp:focus-visible { background: #25d366 !important; }
.dv-sh--facebook:hover, .dv-sh--facebook:focus-visible { background: #0866ff !important; }
.dv-sh--linkedin:hover, .dv-sh--linkedin:focus-visible { background: #0a66c2 !important; }
.dv-sh--x:hover, .dv-sh--x:focus-visible { background: #121718 !important; }
.dv-sh[data-tip]::after { content: attr(data-tip); position: absolute; left: calc(100% + .55rem); top: 50%; transform: translate(-.25rem, -50%); white-space: nowrap; padding: .35rem .6rem; border-radius: .5rem; background: #121718; color: #fff; font-size: .75rem; font-weight: 600; line-height: 1.2; opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease; z-index: 5; }
.dv-sh[data-tip]:hover::after, .dv-sh[data-tip]:focus-visible::after { opacity: 1; transform: translate(0, -50%); }
@media (max-width: 991.98px) {
  .dv-sh[data-tip]::after { left: 50%; top: auto; bottom: calc(100% + .5rem); transform: translate(-50%, .25rem); }
  .dv-sh[data-tip]:hover::after, .dv-sh[data-tip]:focus-visible::after { transform: translate(-50%, 0); }
}
/* 4.7: help block — actions pushed to the right edge, text column centred vertically */
.dv-help46__card { align-items: center; }
.dv-help46__act { justify-items: end; align-self: center; }
.dv-help46__alt { justify-content: flex-end; }
@media (max-width: 767.98px) { .dv-help46__act { justify-items: start; } .dv-help46__alt { justify-content: flex-start; } }

/* 4.7: services catalogue first screen = home first screen (with breadcrumbs on top) */
.dv-h46--page .dv-h46__in { position: relative; }
.dv-h46--page :is(.dv-crumbs, #breadcrumbs, nav[aria-label="breadcrumbs"]) { position: absolute; top: 1.1rem; left: 0; margin: 0 !important; color: rgba(255,255,255,.55); font-size: .82rem; z-index: 2; }
.dv-h46--page :is(.dv-crumbs, #breadcrumbs, nav[aria-label="breadcrumbs"]) a { color: rgba(255,255,255,.75); }
.dv-h46--page :is(.dv-crumbs, #breadcrumbs, nav[aria-label="breadcrumbs"]) a:hover { color: #fff; }
@media (max-width: 767.98px) { .dv-h46--page :is(.dv-crumbs, #breadcrumbs, nav[aria-label="breadcrumbs"]) { position: static; margin-bottom: 1rem !important; } }

/* 4.7: copy / save feedback */
.dv-at46__btn.is-done { background: #4e6c6e !important; border-color: #4e6c6e !important; color: #fff !important; animation: dvDone .45s cubic-bezier(.2,.9,.3,1.3); }
.dv-done-ico path { stroke-dasharray: 22; stroke-dashoffset: 22; animation: dvDoneDraw .4s .08s ease-out forwards; }
@keyframes dvDone { 0% { transform: scale(.94); } 60% { transform: scale(1.04); } 100% { transform: none; } }
@keyframes dvDoneDraw { to { stroke-dashoffset: 0; } }
.dv-at46__btn.is-pop { animation: dvDone .45s cubic-bezier(.2,.9,.3,1.3); }
.dv-at46__btn.is-pop svg { animation: dvPopIco .45s ease; }
@keyframes dvPopIco { 40% { transform: scale(1.3); } }
@media (prefers-reduced-motion: reduce) { .dv-at46__btn.is-done, .dv-at46__btn.is-pop, .dv-at46__btn.is-pop svg, .dv-done-ico path { animation: none; stroke-dashoffset: 0; } }

/* 4.7: Telegram block — calmer glow, stats as tiles, skeleton feed when nothing can be loaded */
.dvh-tg47 .dvh-tg46__box { background: radial-gradient(60% 80% at 85% 50%, rgba(78,108,110,.22), transparent 70%), var(--k); }
.dvh-tg47 .dvh-tg46__box::before { display: none; }
.dvh-tg47 .dvh-tg46__stats { gap: .75rem; border-top: 0; padding-top: 0; flex-wrap: wrap; }
.dvh-tg47 .dvh-tg46__stats > div { flex: 1 1 7rem; padding: .9rem 1rem; border-radius: 1rem; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); }
.dvh-tg47 .dvh-tg46__stats dt { font-size: 1.7rem; }
.dvh-tg47 .dvh-tg46__phone { box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 2.5rem 5rem -1rem rgba(0,0,0,.6); transform: rotate(-1.5deg); transition: transform .5s ease; }
.dvh-tg47 .dvh-tg46__phone:hover { transform: none; }
.dvh-tg47__empty { gap: .7rem; }
.dvh-tg47__sk { display: flex; flex-direction: column; gap: .4rem; padding: .8rem .85rem; border-radius: .9rem .9rem .9rem .25rem; background: #182533; max-width: 92%; }
.dvh-tg47__sk i { display: block; height: .45rem; width: var(--w); border-radius: 1rem; background: linear-gradient(90deg, #22334a 25%, #2c4058 50%, #22334a 75%); background-size: 200% 100%; animation: dvSk 1.8s linear infinite; }
.dvh-tg47__sk i:first-child { background: #3b5671; }
@keyframes dvSk { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .dvh-tg47__sk i { animation: none; } .dvh-tg47 .dvh-tg46__phone { transform: none; } }
@media (max-width: 991.98px) { .dvh-tg47 .dvh-tg46__phone { transform: none; } }

/* 4.7: home «Про компанію» — centred, no orbit */
.dv-ab47 .dv-wrap { display: flex; flex-direction: column; align-items: center; text-align: center; }
.dv-ab47__head { max-width: 50rem; }
.dv-ab47__eb { display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #4e6c6e; padding: .4rem .9rem; border-radius: 999px; background: var(--k-soft); }
.dv-ab47 .dv-title { margin: 1rem 0 .9rem; }
.dv-ab47__lead { margin: 0 auto; max-width: 46rem; font-size: 1.12rem; line-height: 1.7; color: var(--muted); }
.dv-ab47__do { list-style: none; margin: 2.75rem 0 0; padding: 0; width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.dv-ab47__do li { position: relative; display: flex; flex-direction: column; align-items: center; gap: .9rem; padding: 1.75rem 1.5rem 1.6rem; border-radius: 1.25rem; background: #fff; border: 1px solid var(--line); transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.dv-ab47__do li:hover { border-color: rgba(78,108,110,.35); box-shadow: 0 1rem 2rem -1.25rem rgba(18,23,24,.25); transform: translateY(-2px); }
.dv-ab47__ic { width: 3rem; height: 3rem; border-radius: .9rem; display: grid; place-items: center; background: var(--k); color: #b5cfcf; }
.dv-ab47__ic svg { width: 1.35rem; height: 1.35rem; }
.dv-ab47__n { position: absolute; top: 1rem; right: 1.15rem; font-size: .75rem; font-weight: 700; color: #b5cfcf; letter-spacing: .06em; }
.dv-ab47__tx { font-weight: 650; font-size: 1.02rem; line-height: 1.45; color: var(--k); max-width: 17rem; }
.dv-ab47__stats { margin: 1rem 0 0; width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-radius: 1.25rem; background: var(--k); color: #fff; overflow: hidden; }
.dv-ab47__stats > div { padding: 1.6rem 1rem; border-left: 1px solid rgba(255,255,255,.08); }
.dv-ab47__stats > div:first-child { border-left: 0; }
.dv-ab47__stats dt { font-family: var(--f-head, "Playfair Display", serif); font-size: clamp(2rem, 3vw, 2.6rem); line-height: 1; color: #fff; font-variant-numeric: lining-nums; }
.dv-ab47__stats dd { margin: .5rem 0 0; font-size: .85rem; color: rgba(255,255,255,.6); }
.dv-ab47__prs { margin-top: 2rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; max-width: 60rem; }
.dv-ab47__chip { display: inline-flex; align-items: center; gap: .5rem; height: 2.75rem; padding: 0 1.1rem 0 .55rem; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--k); font-weight: 600; font-size: .92rem; text-decoration: none; transition: border-color .25s ease, background .25s ease, color .25s ease; }
.dv-ab47__chip > span { width: 1.9rem; height: 1.9rem; border-radius: 50%; display: grid; place-items: center; background: var(--k-soft); color: #4e6c6e; transition: background .25s ease, color .25s ease; }
.dv-ab47__chip svg { width: 1rem; height: 1rem; }
.dv-ab47__chip:hover { border-color: var(--k); }
.dv-ab47__chip:hover > span { background: var(--k); color: #fff; }
.dv-ab47__video { margin-top: 2rem; width: min(100%, 48rem); }
.dv-ab47__cta { margin-top: 2.25rem; }
.dv-ab47__btn { display: inline-flex; align-items: center; gap: .6rem; height: 3.3rem; padding: 0 1.7rem; border-radius: 999px; background: var(--k); color: #fff !important; font-weight: 650; text-decoration: none; transition: background .25s ease; }
.dv-ab47__btn svg { width: 1.1rem; height: 1.1rem; transition: transform .25s ease; }
.dv-ab47__btn:hover { background: #1d2729; }
.dv-ab47__btn:hover svg { transform: translateX(.2rem); }
@media (max-width: 991.98px) { .dv-ab47__do { grid-template-columns: 1fr; } .dv-ab47__do li { flex-direction: row; text-align: left; padding: 1.1rem 1.25rem; } .dv-ab47__tx { max-width: none; } .dv-ab47__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dv-ab47__stats > div:nth-child(3) { border-left: 0; } .dv-ab47__stats > div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.08); } }
