/* ==========================================================================
   Dentadox front-end — styles for the custom pages built from Figma.
   All selectors are scoped to body.dd-home to avoid collisions with the
   legacy theme CSS still enqueued site-wide.
   ========================================================================== */
:root{
  --accent:#03ABBC;
  --accent-dark:#028A98;
  --dark:#1D293D;
  --card-dark:#314158;
  --text-body:#45556C;
  --text-muted:#62748E;
  --text-light-muted:#90A1B9;
  --icon-tile-bg:#F0F9FF;
  --bg-page:#F8FAFC;
  --border-soft:#E2E8F0;
}
body.dd-home{ margin:0; font-family:'Segoe UI Symbol', 'Segoe UI', Tahoma, Arial, sans-serif; color:var(--text-body); background:#fff; font-size:16px; line-height:1.5; -webkit-font-smoothing:antialiased; }
body.dd-home, body.dd-home h1, body.dd-home h2, body.dd-home h3, body.dd-home h4, body.dd-home h5, body.dd-home h6, body.dd-home p, body.dd-home a, body.dd-home span, body.dd-home div, body.dd-home button, body.dd-home input, body.dd-home textarea, body.dd-home select{ font-family:'Segoe UI Symbol', 'Segoe UI', Tahoma, Arial, sans-serif !important; }
body.dd-home *, body.dd-home *::before, body.dd-home *::after{ box-sizing:border-box; }
body.dd-home a{ transition:color .15s ease, background .15s ease, opacity .15s ease; }
body.dd-home img{ max-width:100%; }
body.dd-home h1, body.dd-home h2, body.dd-home h3, body.dd-home h4{ color:var(--dark); }
.dd-wrap{ max-width:1210px; margin:0 auto; padding:0 24px; }

/* ---------- Top bar (49 px) ---------- */
.dd-topbar{ background:var(--icon-tile-bg); color:#45556C; font-size:14px; padding:14px 0; border-bottom:1px solid var(--border-soft); }
.dd-topbar .dd-wrap{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.dd-topbar .dd-group{ display:flex; gap:32px; flex-wrap:wrap; }
.dd-topbar a, .dd-topbar span{ color:#45556C; text-decoration:none; display:inline-flex; align-items:center; gap:8px; }
.dd-topbar a:hover{ color:var(--accent); }
.dd-topbar .dd-ico{ width:14px; height:14px; display:block; }

/* ---------- Main header (80 px) ---------- */
.dd-header{ background:#fff; padding:16px 0; border-bottom:1px solid var(--border-soft); position:sticky; top:0; z-index:110; box-shadow:0 2px 12px rgba(15,23,43,.06); }
.dd-header .dd-wrap{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.dd-logo{ display:inline-flex; align-items:center; text-decoration:none; }
.dd-logo img{ height:44px; width:auto; display:block; }
.dd-nav{ display:flex; gap:40px; align-items:center; }
.dd-nav > a, .dd-nav .dd-nav-trigger{ color:#45556C; text-decoration:none; font-size:14px; font-weight:500; }
.dd-nav > a:hover, .dd-nav > a.is-active, .dd-nav .dd-nav-trigger:hover, .dd-nav .dd-nav-trigger.is-active{ color:var(--accent); }
.dd-nav-item{ display:inline-flex; align-items:center; position:relative; }
.dd-nav-trigger{ display:inline-flex; align-items:center; padding:8px 0; }
.dd-nav-toggle{ all:unset; box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; margin-left:6px; cursor:pointer; color:#45556C; transition:color .15s ease; -webkit-tap-highlight-color:transparent; }
.dd-nav-toggle:hover, .dd-has-dropdown.is-open .dd-nav-toggle{ color:var(--accent); }
.dd-nav-toggle:focus, .dd-nav-toggle:focus-visible, .dd-nav-toggle:focus-within, .dd-nav-toggle:active{ outline:none !important; outline-offset:0 !important; box-shadow:none !important; background:transparent !important; background-color:transparent !important; border:0 !important; }
.dd-header .dd-nav-toggle,
.dd-header .dd-nav-toggle:hover,
.dd-header .dd-nav-toggle:focus,
.dd-header .dd-nav-toggle:focus-visible,
.dd-header .dd-nav-toggle:focus-within,
.dd-header .dd-nav-toggle:active{
  background:none !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  outline:none !important;
  border:0 !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.dd-header .dd-has-dropdown:not(.is-open) .dd-nav-toggle:focus,
.dd-header .dd-has-dropdown:not(.is-open) .dd-nav-toggle:focus-visible,
.dd-header .dd-has-dropdown:not(.is-open) .dd-nav-toggle:active{
  color:#45556C !important;
}
.dd-header .dd-has-dropdown.is-open .dd-nav-toggle{
  color:var(--accent) !important;
}
.dd-header .dd-nav-toggle[aria-expanded="false"]{
  color:#45556C !important;
}
.dd-nav-chevron{ width:14px; height:14px; transition:transform .2s ease; }
.dd-has-dropdown.is-open .dd-nav-chevron{ transform:rotate(180deg); }
.dd-dropdown{ position:absolute; top:calc(100% + 24px); left:0; transform:translateY(8px); min-width:220px; padding:8px 0; background:#fff; border:1px solid #F1F5F9; border-radius:12px; box-shadow:0 12px 32px rgba(15,23,43,.10); opacity:0; visibility:hidden; transition:opacity .2s ease, transform .2s ease, visibility .2s ease; z-index:20; }
.dd-dropdown::before{ content:""; position:absolute; top:-28px; left:0; right:0; height:28px; }
.dd-has-dropdown.is-open .dd-dropdown{ opacity:1; visibility:visible; transform:translateY(0); }
.dd-dropdown a{ display:block; padding:10px 20px; color:#45556C; text-decoration:none; font-size:13px; font-weight:400; line-height:1.4; white-space:nowrap; }
.dd-dropdown a:hover{ background:var(--icon-tile-bg); color:var(--accent); }
.dd-cta{ display:inline-flex; align-items:center; justify-content:center; gap:10px; background:var(--accent); color:#fff !important; padding:12px 24px; border-radius:8px; text-decoration:none; font-weight:600; font-size:14px; border:0; cursor:pointer; white-space:nowrap; }
.dd-cta:hover{ background:var(--accent-dark); color:#fff; }
.dd-cta img{ width:16px; height:16px; display:block; }

/* ---------- Burger button (tablet & mobile) ---------- */
.dd-burger{ all:unset; box-sizing:border-box; display:none; align-items:center; justify-content:center; width:36px; height:32px; border-radius:8px; background:#F8FAFC; color:#45556C; cursor:pointer; transition:background .15s ease; -webkit-tap-highlight-color:transparent; flex-shrink:0; }
.dd-burger:hover, .dd-burger.is-active{ background:#E2E8F0; }
.dd-burger:focus, .dd-burger:focus-visible, .dd-burger:active{ outline:none !important; box-shadow:none !important; }
.dd-burger-box{ position:relative; display:block; width:20px; height:14px; }
.dd-burger-inner, .dd-burger-inner::before, .dd-burger-inner::after{ content:''; position:absolute; left:0; width:20px; height:2px; background:#45556C; border-radius:1px; transition:transform .25s ease, top .25s ease, bottom .25s ease, background-color .15s ease, opacity .15s ease; }
.dd-burger-inner{ top:50%; margin-top:-1px; }
.dd-burger-inner::before{ top:-7px; }
.dd-burger-inner::after{ bottom:-7px; }
.dd-burger.is-active .dd-burger-inner{ background:transparent; }
.dd-burger.is-active .dd-burger-inner::before{ top:0; transform:rotate(45deg); }
.dd-burger.is-active .dd-burger-inner::after{ bottom:0; transform:rotate(-45deg); }

/* ---------- Mobile menu (full-screen overlay) ---------- */
.dd-mobile-menu{ position:fixed; inset:0; z-index:999; background:#fff; visibility:hidden; display:flex; flex-direction:column; overflow-y:auto; -webkit-overflow-scrolling:touch; -webkit-tap-highlight-color:transparent; }
.dd-mobile-menu.is-visible{ visibility:visible; }

/* Keep overlay topbar behavior identical to default topbar. */
.dd-mobile-topbar{ flex-shrink:0; width:100%; }
.dd-mobile-menu.is-topbar-hidden .dd-mobile-topbar{ display:none; }
.dd-mobile-topbar a{ -webkit-tap-highlight-color:transparent; }
.dd-mobile-topbar a:focus, .dd-mobile-topbar a:active{ outline:none !important; box-shadow:none !important; background-color:transparent !important; }
/* Header row inside mobile menu — logo + close X */
.dd-mobile-header{ display:flex; align-items:center; justify-content:space-between; padding:16px 24px; border-bottom:1px solid var(--border-soft); flex-shrink:0; }
.dd-mobile-header .dd-logo{ -webkit-tap-highlight-color:transparent; }
.dd-mobile-header .dd-logo:focus, .dd-mobile-header .dd-logo:active{ outline:none !important; box-shadow:none !important; background-color:transparent !important; }
.dd-mobile-header .dd-logo img{ height:44px; width:auto; display:block; }
.dd-mobile-menu-close{ all:unset; box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; width:36px; height:32px; border-radius:8px; background:#F8FAFC; color:#45556C; cursor:pointer; transition:background .15s ease; -webkit-tap-highlight-color:transparent; flex-shrink:0; }
.dd-mobile-menu-close:hover{ background:#E2E8F0; }
.dd-mobile-menu-close:focus, .dd-mobile-menu-close:focus-visible, .dd-mobile-menu-close:active{ outline:none !important; box-shadow:none !important; }
.dd-mobile-menu.is-open .dd-mobile-menu-close .dd-burger-inner{ background:transparent; }
.dd-mobile-menu.is-open .dd-mobile-menu-close .dd-burger-inner::before{ top:0; transform:rotate(45deg); }
.dd-mobile-menu.is-open .dd-mobile-menu-close .dd-burger-inner::after{ bottom:0; transform:rotate(-45deg); }

/* Body — menu items, contacts, CTA */
.dd-mobile-menu-body{ display:flex; flex-direction:column; padding:24px 28px 32px; gap:24px; flex:1 1 auto; opacity:0; transform:translateY(-8px); transition:opacity .25s ease, transform .25s ease; }
.dd-mobile-menu.is-open .dd-mobile-menu-body{ opacity:1; transform:translateY(0); }
.dd-mobile-nav{ display:flex; flex-direction:column; }
.dd-mobile-nav > a, .dd-mobile-nav .dd-mobile-nav-trigger{ display:block; padding:14px 0; color:#45556C; text-decoration:none; font-size:18px; font-weight:500; line-height:1.4; border-bottom:0; -webkit-tap-highlight-color:transparent; }
.dd-mobile-nav > a:focus, .dd-mobile-nav > a:active,
.dd-mobile-nav .dd-mobile-nav-trigger:focus, .dd-mobile-nav .dd-mobile-nav-trigger:active{ outline:none !important; box-shadow:none !important; background-color:transparent !important; }
.dd-mobile-nav > a.is-active, .dd-mobile-nav .dd-mobile-nav-trigger.is-active, .dd-mobile-nav > a:hover, .dd-mobile-nav .dd-mobile-nav-trigger:hover{ color:var(--accent); }
.dd-mobile-nav-item{ position:relative; border-bottom:0; }
.dd-mobile-nav-item .dd-mobile-nav-trigger{ border-bottom:0; padding-right:48px; }
.dd-mobile-nav-toggle{ all:unset; position:absolute; top:8px; right:0; width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; color:#45556C; cursor:pointer; transition:color .15s ease; -webkit-tap-highlight-color:transparent; }
.dd-mobile-nav-toggle:hover{ color:var(--accent); }
.dd-mobile-nav-toggle:focus, .dd-mobile-nav-toggle:focus-visible, .dd-mobile-nav-toggle:active{ outline:none !important; box-shadow:none !important; }
.dd-mobile-nav-toggle,
.dd-mobile-nav-toggle:hover,
.dd-mobile-nav-toggle:focus,
.dd-mobile-nav-toggle:focus-visible,
.dd-mobile-nav-toggle:active{
  background:none !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  outline:none !important;
  border:0 !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.dd-mobile-nav-toggle[aria-expanded="true"]{ color:var(--accent) !important; }
.dd-mobile-nav-toggle svg{ transition:transform .2s ease; }
.dd-mobile-nav-item.is-open .dd-mobile-nav-toggle svg{ transform:rotate(180deg); }
.dd-mobile-nav-item.is-open .dd-mobile-nav-trigger{ color:var(--accent); }
.dd-mobile-submenu{ display:flex; flex-direction:column; max-height:0; padding:0; opacity:0; overflow:hidden; transition:max-height .3s ease, opacity .25s ease, padding .3s ease; }
.dd-mobile-nav-item.is-open .dd-mobile-submenu{ max-height:600px; opacity:1; padding:4px 0 12px; }
.dd-mobile-submenu a{ display:block; padding:10px 0; color:var(--text-muted); text-decoration:none; font-size:15px; line-height:1.4; transform:translateY(-4px); opacity:0; transition:transform .25s ease, opacity .25s ease, color .15s ease; -webkit-tap-highlight-color:transparent; }
.dd-mobile-nav-item.is-open .dd-mobile-submenu a{ transform:translateY(0); opacity:1; }
.dd-mobile-submenu a:hover{ color:var(--accent); }
.dd-mobile-submenu a:focus, .dd-mobile-submenu a:active{ outline:none !important; box-shadow:none !important; background-color:transparent !important; }
.dd-mobile-nav-item.is-open .dd-mobile-submenu a:nth-child(1){ transition-delay:.05s; }
.dd-mobile-nav-item.is-open .dd-mobile-submenu a:nth-child(2){ transition-delay:.08s; }
.dd-mobile-nav-item.is-open .dd-mobile-submenu a:nth-child(3){ transition-delay:.11s; }
.dd-mobile-nav-item.is-open .dd-mobile-submenu a:nth-child(4){ transition-delay:.14s; }
.dd-mobile-nav-item.is-open .dd-mobile-submenu a:nth-child(5){ transition-delay:.17s; }
.dd-mobile-nav-item.is-open .dd-mobile-submenu a:nth-child(6){ transition-delay:.2s; }

/* Contacts + CTA: pin to bottom of drawer (flex space sits above nav end) */
.dd-mobile-contacts{ display:flex; flex-direction:column; gap:12px; padding-top:8px; margin-top:auto; flex-shrink:0; }
.dd-mobile-contacts a{ display:inline-flex; align-items:center; gap:10px; color:#45556C; text-decoration:none; font-size:15px; -webkit-tap-highlight-color:transparent; }
.dd-mobile-contacts a:hover{ color:var(--accent); }
.dd-mobile-contacts a:focus, .dd-mobile-contacts a:active{ outline:none !important; box-shadow:none !important; background-color:transparent !important; }
.dd-mobile-contacts .dd-ico{ width:16px; height:16px; display:block; }

.dd-mobile-cta{ display:inline-flex; align-items:center; justify-content:center; gap:10px; background:var(--accent); color:#fff !important; padding:0 24px; height:44px; border-radius:8px; text-decoration:none; font-weight:600; font-size:15px; flex-shrink:0; -webkit-tap-highlight-color:transparent; }
.dd-mobile-cta:hover{ background:var(--accent-dark); }
.dd-mobile-cta:focus, .dd-mobile-cta:active{ outline:none !important; box-shadow:none !important; }
.dd-mobile-cta:active{ background:var(--accent-dark); }
.dd-mobile-cta img{ width:16px; height:16px; display:block; }
body.dd-menu-open{ overflow:hidden; }

/* Hide the burger inside the page header while menu is open (X is inside menu now) */
body.dd-menu-open .dd-burger{ visibility:hidden; }

/* ---------- Page header (internal pages, 356 px band) ---------- */
.dd-page-head{ background:var(--icon-tile-bg); padding:64px 0 56px; }
.dd-page-head .dd-eyebrow{ color:var(--accent); font-size:13px; font-weight:600; letter-spacing:.5px; margin:0 0 14px; text-transform:none; }
.dd-breadcrumb{ display:flex; align-items:center; gap:10px; margin:0 0 22px; font-size:13px; line-height:1; }
.dd-breadcrumb a{ color:var(--text-muted); text-decoration:none; transition:color .15s ease; }
.dd-breadcrumb a:hover{ color:var(--accent); }
.dd-breadcrumb-sep{ color:#CAD5E2; font-size:13px; }
.dd-breadcrumb-current{ color:var(--accent); }
.dd-page-head h1{ margin:0; font-size:47px; font-weight:400; color:var(--dark); letter-spacing:0; line-height:1.15; }
.dd-page-head .dd-lead{ margin:14px 0 0; max-width:780px; font-size:17px; color:var(--text-muted); line-height:1.65; }

/* ---------- Hero (home only, 900 px) ---------- */
.dd-hero{ position:relative; min-height:900px; color:#fff; overflow:hidden; background:#0F172B; }
.dd-hero-slides{ position:absolute; inset:0; display:flex; flex-wrap:nowrap; transition:transform .6s cubic-bezier(.4,0,.2,1); will-change:transform; }
.dd-hero-slide{ flex:0 0 100%; width:100%; height:100%; background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; padding:80px 24px; }
.dd-hero-inner{ width:100%; max-width:980px; text-align:center; }
body.dd-home .dd-hero h1{ margin:0; font-weight:400; font-style:normal; font-size:60px; line-height:75px; letter-spacing:0; text-align:center; color:#fff !important; }
body.dd-home .dd-hero h1 .dd-accent{ display:block; font-weight:400; font-style:normal; font-size:60px; line-height:75px; letter-spacing:0; text-align:center; color:var(--accent) !important; }
.dd-hero-divider{ display:flex; gap:16px; align-items:center; justify-content:center; margin-top:24px; }
.dd-hero-divider span{ display:block; width:48px; height:1px; background:rgba(255,255,255,.3); }
.dd-hero-divider i{ display:block; width:8px; height:8px; border-radius:50%; background:var(--accent); }
.dd-hero-sub{ margin:16px 0 0; font-size:20px; color:rgba(255,255,255,.8); font-weight:400; }
.dd-hero-pill{ display:inline-block; margin-top:28px; padding:10px 26px; background:rgba(255,255,255,.1); border-radius:18px; font-size:14px; color:#fff; text-decoration:none; position:relative; }
.dd-hero-pill::before{ content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--accent); margin-right:10px; vertical-align:middle; }
.dd-hero-phone{ display:block; margin-top:24px; font-size:36px; color:#fff; font-weight:400; text-decoration:none; letter-spacing:.5px; }
.dd-hero-phone:hover{ color:var(--accent); }
.dd-hero-cta{ display:inline-flex; align-items:center; justify-content:center; gap:12px; margin-top:36px; padding:16px 36px; background:var(--accent); color:#fff !important; border-radius:8px; font-size:16px; font-weight:600; text-decoration:none; letter-spacing:.2px; transition:background .15s ease, transform .15s ease; }
.dd-hero-cta:hover{ background:var(--accent-dark); color:#fff; transform:translateY(-1px); }
.dd-hero-cta img{ width:18px; height:18px; display:block; }
.dd-hero-controls{ position:absolute; right:32px; bottom:32px; z-index:3; display:flex; gap:12px; }
.dd-hero-counter{ position:absolute; left:32px; bottom:44px; z-index:3; display:flex; gap:8px; align-items:center; }
.dd-hero-counter button{ display:block; width:8px; height:8px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; transition:width .2s ease, border-radius .2s ease, background .2s ease; }
.dd-hero-counter button.is-active{ width:32px; border-radius:4px; background:var(--accent); }
.dd-slide-btn{ width:48px; height:48px; border-radius:8px; display:flex; align-items:center; justify-content:center; background:transparent; border:1px solid rgba(255,255,255,.3); cursor:pointer; color:#fff; padding:0; appearance:none; -webkit-appearance:none; -moz-appearance:none; -webkit-tap-highlight-color:transparent; }
.dd-slide-btn svg{ width:28px; height:28px; }
.dd-slide-btn.is-primary{ background:var(--accent); border-color:var(--accent); }
.dd-slide-btn:hover{ opacity:.85; }
.dd-slide-btn:not(.is-primary):hover{
  background:transparent !important;
  border-color:rgba(255,255,255,.3) !important;
  color:#fff !important;
}
.dd-slide-btn.is-primary:hover{
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  color:#fff !important;
}
.dd-slide-btn:disabled{ cursor:default; opacity:1; }
.dd-slide-btn:focus,
.dd-slide-btn:focus-visible,
.dd-slide-btn:active{
  outline:none !important;
  box-shadow:none !important;
}
.dd-slide-btn:not(.is-primary):focus,
.dd-slide-btn:not(.is-primary):focus-visible,
.dd-slide-btn:not(.is-primary):active{
  background:transparent !important;
  border-color:rgba(255,255,255,.3) !important;
  color:#fff !important;
}
.dd-slide-btn.is-primary:focus,
.dd-slide-btn.is-primary:focus-visible,
.dd-slide-btn.is-primary:active{
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  color:#fff !important;
}
.dd-slide-btn::-moz-focus-inner{ border:0; }
.dd-hero .dd-slide-btn,
.dd-hero .dd-slide-btn:hover,
.dd-hero .dd-slide-btn:focus,
.dd-hero .dd-slide-btn:active,
.dd-hero .dd-slide-btn:focus-visible{
  background-image:none !important;
}

/* ---------- Welcome (home, 671.5 px) ---------- */
.dd-welcome{ padding:146px 0; background:#fff; }
.dd-welcome .dd-wrap{ display:grid; grid-template-columns:568px 1fr; gap:80px; align-items:start; }
.dd-welcome-img{ width:568px; height:378px; border-radius:16px; object-fit:cover; display:block; box-shadow:0 20px 48px rgba(29,41,61,.08); }
.dd-welcome-text{ margin-top:-30px; }
body.dd-home .dd-eyebrow{ color:var(--accent) !important; font-size:16px; font-weight:500; margin:0 0 16px; letter-spacing:.3px; }
body.dd-home .dd-welcome-text h2{
  color:var(--dark) !important;
  margin:0 0 32px;
  font-family:'Segoe UI Symbol', 'Segoe UI', Tahoma, Arial, sans-serif;
  font-weight:400;
  font-style:normal;
  font-size:48px;
  line-height:60px;
  letter-spacing:0;
  vertical-align:middle;
}
.dd-welcome-text > p:not(.dd-welcome-quote){
  margin:0 0 16px;
  font-family:'Segoe UI Symbol', 'Segoe UI', Tahoma, Arial, sans-serif;
  font-weight:400;
  font-style:normal;
  font-size:16.2px;
  line-height:29.25px;
  letter-spacing:0;
  vertical-align:middle;
  color:var(--text-body);
}
.dd-welcome-quote{
  margin:24px 0 0;
  font-family:'Segoe UI Symbol', 'Segoe UI', Tahoma, Arial, sans-serif;
  font-weight:400;
  font-style:normal;
  font-size:18px;
  line-height:29.25px;
  letter-spacing:0;
  vertical-align:middle;
  color:var(--text-body);
}
.dd-welcome-highlight{
  margin-top:24px;
  padding:20px 24px 20px 30px;
  background:#F1F5F9;
  border-radius:10px;
  border-left:4px solid var(--accent);
  font-family:'Segoe UI Symbol', 'Segoe UI', Tahoma, Arial, sans-serif;
  font-weight:400;
  font-style:normal;
  font-size:16px;
  color:var(--card-dark);
  line-height:28px;
  letter-spacing:0;
  vertical-align:middle;
}

/* ---------- Why (home, 524 px) ---------- */
.dd-why{ padding:96px 0 72px; background:var(--dark); color:#fff; text-align:center; }
body.dd-home .dd-why h2{
  margin:0 0 60px;
  font-family:'Segoe UI Symbol', 'Segoe UI', Tahoma, Arial, sans-serif;
  font-weight:400;
  font-style:normal;
  font-size:48px;
  line-height:48px;
  letter-spacing:0;
  text-align:center;
  vertical-align:middle;
  color:#fff !important;
}
.dd-why-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; }
.dd-why-card{ background:rgba(49, 65, 88, .5); padding:24px; border-radius:12px; text-align:left; min-height:196px; display:flex; flex-direction:column; }
.dd-why-icon{ width:48px; height:48px; background:var(--accent); border-radius:8px; display:flex; align-items:center; justify-content:center; margin-bottom:38px; }
.dd-why-icon img{ width:24px; height:24px; display:block; }
body.dd-home .dd-why-card h3{
  margin:0 0 8px;
  font-family:'Segoe UI Symbol', 'Segoe UI', Tahoma, Arial, sans-serif;
  font-weight:400;
  font-style:normal;
  font-size:20px;
  line-height:28px;
  letter-spacing:0;
  vertical-align:middle;
  color:#fff !important;
}
.dd-why-card p{ font-size:16px; line-height:1.5; color:var(--text-light-muted); margin:0; }

/* ---------- Contact section (used on home + Contacts page) ---------- */
.dd-contact{ padding:112px 0; background:var(--bg-page); }
.dd-contact.dd-contact--plain{ background:#fff; }
  .dd-contact .dd-wrap{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:stretch; }
.dd-contact-map{ width:100%; height:580px; border-radius:16px; overflow:hidden; background:#E5E3DF; position:relative; }
.dd-contact-map iframe{ width:100%; height:100%; border:0; display:block; }
.dd-contact-info{ width:100%; height:580px; background:#fff; border-radius:16px; padding:46px 40px; box-shadow:0 1px 2px -1px #0000001A, 0 1px 3px 0 #0000001A; }
.dd-contact-eyebrow{ display:inline-flex; align-items:center; gap:8px; color:var(--accent); font-size:13px; font-weight:600; letter-spacing:.5px; margin:0 0 10px; }
.dd-contact-eyebrow::before{ content:""; display:block; width:8px; height:8px; border-radius:50%; background:var(--accent); }
body.dd-home .dd-contact-info h2{ font-size:30px; color:var(--dark) !important; margin:0 0 32px; font-weight:500; letter-spacing:-.5px; }
.dd-contact-row{ display:flex; gap:16px; align-items:flex-start; padding:12px 0; }
.dd-contact-row + .dd-contact-row{ border-top:1px solid var(--border-soft); }
.dd-contact-tile{ width:40px; height:40px; border-radius:8px; background:var(--icon-tile-bg); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.dd-contact-tile img{ width:18px; height:18px; display:block; }
.dd-contact-row .dd-row-body{ flex:1; }
.dd-contact-row strong{ display:block; font-size:13px; color:var(--text-muted); margin:0 0 4px; font-weight:500; }
.dd-contact-row a, .dd-contact-row .dd-val{ color:var(--dark); text-decoration:none; font-size:16px; line-height:1.6; display:block; }
.dd-contact-row a:hover{ color:var(--accent); }
.dd-contact-btn{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:52px; background:var(--accent); color:#fff !important; border-radius:8px; text-decoration:none; font-size:15px; font-weight:500; margin-top:32px; border:0; cursor:pointer; }
.dd-contact-btn:hover{ background:var(--accent-dark); }
.dd-contact-btn img{ width:18px; height:18px; }
.dd-contact-note{ margin:14px 0 0; text-align:center; font-size:13px; line-height:1.5; color:var(--text-muted); }

/* ---------- Footer (317 px) ---------- */
.dd-footer{ background:var(--dark); color:var(--text-light-muted); padding:60px 0 26px; }
.dd-footer .dd-wrap{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:60px; align-items:start; }
.dd-foot-logo{ display:block; margin-bottom:16px; }
.dd-foot-logo img{ height:44px; width:auto; display:block; }
.dd-footer .dd-foot-about{ font-size:14px; line-height:1.6; color:var(--text-light-muted); margin:0; }
body.dd-home .dd-footer h4{ color:#fff !important; font-size:18px; margin:0 0 18px; font-weight:500; display:block !important; line-height:1.4; letter-spacing:.2px; }
.dd-footer a{ color:var(--text-light-muted); text-decoration:none; display:block; padding:6px 0; font-size:15px; }
.dd-footer a:hover{ color:var(--accent); }
.dd-footer .dd-foot-info p{ margin:0 0 6px; font-size:15px; color:var(--text-light-muted); }
.dd-footer-bottom{ text-align:center; padding-top:32px; margin-top:40px; border-top:1px solid #314158; font-size:13px; color:var(--text-muted); grid-column:1/-1; }

/* Tints a white-stroke SVG icon to the teal accent. */
.dd-ico--tint-teal{ filter:invert(58%) sepia(73%) saturate(460%) hue-rotate(143deg) brightness(90%) contrast(92%); }

/* ==========================================================================
   Pricing page
   ========================================================================== */
.dd-pricing{ padding:64px 0 24px; background:#fff; }
.dd-pricing .dd-wrap{ max-width:1150px; }
.dd-pricing-list{ max-width:896px; margin:0 auto; border:1px solid #CAD5E2; border-radius:0; overflow:hidden; }
.dd-pricing-cat{ background:var(--accent); color:#fff; padding:18px 21px; font-size:16px; font-weight:400; letter-spacing:0; line-height:1.3; }
.dd-pricing-cat + .dd-pricing-table{ border-top:1px solid #CAD5E2; }
.dd-pricing-table + .dd-pricing-cat{ border-top:1px solid #CAD5E2; }
.dd-pricing-table{ width:100%; border-collapse:collapse; background:#fff; }
.dd-pricing-table tr:nth-child(odd){ background:#F8FAFC; }
.dd-pricing-table tr:nth-child(even){ background:#fff; }
.dd-pricing-table td{ padding:14px 21px; font-size:15px; color:var(--card-dark); border:0; vertical-align:middle; line-height:1.4; }
.dd-pricing-table tr + tr td{ border-top:1px solid #CAD5E2; }
.dd-pricing-table td.dd-price{ width:190px; text-align:right; padding:14px 24px; color:var(--dark); font-size:16px; font-weight:500; border-left:1px solid #CAD5E2; white-space:nowrap; }
.dd-pricing-note{ margin-top:32px; padding:18px 22px; background:var(--icon-tile-bg); border-radius:10px; font-size:14px; color:var(--text-muted); line-height:1.5; }

/* ==========================================================================
   Pricing CTA strip (pre-footer)
   ========================================================================== */
.dd-pricing-cta{ background:#fff; padding:24px 0 64px; }
.dd-pricing-cta-card{ background:var(--dark); color:#fff; padding:32px; min-height:124px; border-radius:16px; display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:896px; margin:0 auto; flex-wrap:wrap; }
.dd-pricing-cta-text{ flex:1; min-width:240px; }
.dd-pricing-cta-card h3{ margin:0 0 6px; font-family:'Segoe UI Symbol', 'Segoe UI', Tahoma, Arial, sans-serif; font-size:20px; font-weight:400; line-height:1.3; color:#fff !important; display:block; }
.dd-pricing-cta-card p{ margin:0; color:var(--text-light-muted); font-family:'Segoe UI Symbol', 'Segoe UI', Tahoma, Arial, sans-serif; font-size:16px; font-weight:400; line-height:1.45; }
.dd-pricing-cta-card .dd-cta-phone{ display:inline-flex; align-items:center; justify-content:center; gap:10px; width:255px; height:56px; padding:0 20px; background:var(--accent); color:#fff !important; border-radius:10px; font-family:'Segoe UI Symbol', 'Segoe UI', Tahoma, Arial, sans-serif; font-size:16px; font-weight:400; line-height:1; text-decoration:none; transition:background .15s ease; white-space:nowrap; }
.dd-pricing-cta-card .dd-cta-phone:hover{ background:var(--accent-dark); color:#fff !important; }
.dd-pricing-cta-card .dd-cta-phone img{ width:20px; height:20px; }

/* ==========================================================================
   Contacts page
   ========================================================================== */
/* Contact page head — 2-col grid: text+items left, map preview right */
.dd-contact-head{ padding:32px 0 64px; }
.dd-contact-head-grid{ display:grid; grid-template-columns:1fr 576px; gap:64px; align-items:start; margin-top:32px; }
body.dd-home .dd-contact-head h1{ margin:0 0 16px; font-size:48px; font-weight:400; color:var(--dark) !important; line-height:1.15; letter-spacing:0; }
.dd-contact-head .dd-lead{ margin:0 0 36px; max-width:640px; font-size:16px; color:#45556C; line-height:1.65; }
.dd-contact-head-photo{ width:576px; height:500px; border-radius:16px; overflow:hidden; background:#E5E3DF; }
.dd-contact-head-photo img{ width:100%; height:100%; object-fit:cover; display:block; opacity:1 !important; filter:none !important; mix-blend-mode:normal; }

/* Contact list (4 items with accent icon tiles) */
.dd-contact-list{ display:flex; flex-direction:column; gap:24px; }
.dd-contact-item{ display:grid; grid-template-columns:48px 1fr; gap:16px; align-items:start; }
.dd-contact-item-ico{ width:48px; height:48px; border-radius:12px; background:var(--accent); display:flex; align-items:center; justify-content:center; }
.dd-contact-item-ico img{ width:18px; height:18px; display:block; }
.dd-contact-item strong{ display:block; font-size:14px; color:var(--text-muted); margin:0 0 6px; font-weight:400; }
.dd-contact-item .dd-val, .dd-contact-item a{ font-size:18px; color:var(--dark); text-decoration:none; display:block; line-height:1.55; font-weight:400; }
.dd-contact-item a.dd-email{ color:var(--accent); }
.dd-contact-item a:hover{ color:var(--accent); }

/* Cyan features bar (full-width) */
.dd-features-bar{ background:var(--accent); color:#fff; padding:48px 0; }
.dd-features-bar .dd-wrap{ display:grid; grid-template-columns:repeat(3, 1fr); gap:40px; align-items:center; }
.dd-features-bar .dd-feature{ display:flex; align-items:center; gap:20px; }
.dd-features-bar .dd-feature-ico{ width:56px; height:56px; border-radius:12px; background:rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.dd-features-bar .dd-feature-ico img{ width:24px; height:24px; display:block; }
body.dd-home .dd-features-bar .dd-feature h4{ margin:0; font-size:18px; font-weight:400; color:#fff !important; line-height:1.3; }

/* Big map + side cards section */
.dd-contact-map-section{ background:#fff; padding:64px 0; }
.dd-contact-map-grid{ display:grid; grid-template-columns:1fr 384px; gap:32px; align-items:start; }
.dd-contact-map-big{ height:400px; border-radius:16px; overflow:hidden; background:#E5E3DF; box-shadow:0 10px 24px -8px rgba(15,23,43,.10); }
.dd-contact-map-big iframe{ width:100%; height:100%; border:0; display:block; }
.dd-contact-cards{ display:flex; flex-direction:column; gap:24px; }
.dd-contact-card{ background:var(--bg-page); border-radius:16px; padding:24px 28px; }
body.dd-home .dd-contact-card h3{ margin:0 0 14px; font-size:18px; font-weight:400; color:var(--dark) !important; line-height:1.3; }
.dd-contact-card p{ margin:0 0 6px; font-size:16px; color:#45556C; line-height:1.55; font-weight:400; }
.dd-contact-card p:last-child{ margin-bottom:0; }
.dd-contact-call-btn{ display:flex; align-items:center; justify-content:center; height:60px; background:var(--accent); color:#fff !important; border-radius:12px; font-size:16px; font-weight:400; text-decoration:none; transition:background .15s ease; }
.dd-contact-call-btn:hover{ background:var(--accent-dark); color:#fff !important; }

@media (max-width: 1160px){
  .dd-contact-head-grid{ grid-template-columns:1fr; gap:32px; }
  .dd-contact-head-photo{ width:100%; height:400px; }
  .dd-contact-map-grid{ grid-template-columns:1fr; }
}
@media (max-width: 760px){
  .dd-features-bar .dd-wrap{ grid-template-columns:1fr; gap:24px; }
  .dd-pricing-cta-card{ flex-direction:column; align-items:flex-start; }
}

/* ---------- Responsive (shared) ---------- */
@media (max-width: 1160px){
  .dd-welcome .dd-wrap{ grid-template-columns:1fr 1fr; gap:40px; }
  .dd-welcome-img{ width:100%; height:auto; aspect-ratio:568/378; }
  .dd-contact .dd-wrap{ grid-template-columns:1fr 1fr; gap:24px; }
  .dd-contact-map, .dd-contact-info{ width:auto; }
}
@media (max-width: 900px){
  .dd-nav{ display:none; }
  .dd-cta{ display:none; }
  .dd-burger{ display:inline-flex; margin-left:auto; }
  .dd-topbar .dd-wrap{
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:16px;
  }
  .dd-topbar .dd-group{
    flex-wrap:wrap;
    align-items:center;
    gap:24px;
  }
  .dd-topbar .dd-group:last-child{ justify-content:flex-end; }
  .dd-topbar a, .dd-topbar span{ font-size:14px; }
}
@media (max-width: 900px){
  .dd-hero{ min-height:640px; }
  .dd-hero-inner{ padding:80px 24px 120px; }
  /* Must match base selector body.dd-home .dd-hero h1 or mobile sizes never apply */
  body.dd-home .dd-hero h1,
  body.dd-home .dd-hero h1 .dd-accent{ font-size:38px; line-height:1.2; }
  .dd-hero-phone{ font-size:28px; }
  .dd-welcome{ padding:72px 0; }
  .dd-welcome .dd-wrap{ grid-template-columns:1fr; gap:32px; }
  .dd-welcome-text{ margin-top:0; }
  /* Match body.dd-home … or welcome/why titles stay desktop-sized */
  body.dd-home .dd-welcome-text h2{ font-size:34px; line-height:1.25; }
  body.dd-home .dd-why h2{ font-size:34px; line-height:1.2; margin:0 0 40px; }
  body.dd-home .dd-contact-head h1{ font-size:34px; line-height:1.2; }
  .dd-page-head h1{ font-size:34px; line-height:1.2; }
  .dd-welcome-highlight{ padding:18px 20px 18px 24px; }
  .dd-why{ padding:64px 0 56px; }
  .dd-why-grid{ grid-template-columns:repeat(2, 1fr); gap:16px; }
  .dd-contact{ padding:72px 0; }
  .dd-contact .dd-wrap{ grid-template-columns:1fr; }
  .dd-contact-map, .dd-contact-info{ height:auto; min-height:380px; }
  .dd-contact-info{ padding:32px 24px; }
  .dd-footer .dd-wrap{ grid-template-columns:1fr; gap:32px; }
  .dd-page-head{ padding:64px 0; }
  .dd-pricing-table td{ padding:12px 16px; font-size:15px; }
  .dd-pricing-cat{ padding:14px 16px; font-size:16px; }
}
@media (max-width: 560px){
  /* Phone-only: keep only first contact item in topbar. */
  .dd-topbar .dd-wrap{ justify-content:flex-start; }
  .dd-topbar .dd-group:first-child > *:not(:first-child),
  .dd-topbar .dd-group:last-child{ display:none; }
  .dd-topbar .dd-group{ gap:14px; width:100%; justify-content:space-between; }
  .dd-hero{ min-height:560px; }
  .dd-hero-slide{ padding:56px 16px 100px; }
  .dd-hero-inner{ padding:48px 16px 96px; }
  body.dd-home .dd-hero h1,
  body.dd-home .dd-hero h1 .dd-accent{ font-size:26px; line-height:1.25; }
  .dd-hero-sub{ font-size:15px; line-height:1.45; }
  .dd-hero-phone{ font-size:22px; margin-top:16px; }
  .dd-hero-cta{ margin-top:24px; padding:12px 22px; font-size:14px; }
  .dd-hero-pill{ margin-top:18px; padding:8px 18px; font-size:13px; }
  .dd-hero-divider{ margin-top:16px; }
  .dd-hero-controls{ right:16px; bottom:20px; }
  .dd-hero-counter{ left:16px; bottom:28px; }
  .dd-why-grid{ grid-template-columns:1fr; }
  .dd-pricing-table td.dd-price{ width:auto; }
  body.dd-home .dd-welcome-text h2{ font-size:28px; line-height:1.3; margin-bottom:24px; }
  body.dd-home .dd-why h2{ font-size:26px; line-height:1.25; margin:0 0 28px; }
  .dd-why{ padding:48px 0 44px; }
  body.dd-home .dd-contact-head h1{ font-size:26px; line-height:1.25; margin:0 0 14px; }
}

/* ---------- Appointment modal ---------- */
.dd-modal{ position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s ease; }
.dd-modal.is-open{ opacity:1; visibility:visible; }
.dd-modal-backdrop{ position:absolute; inset:0; background:rgba(15,23,43,.6); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); cursor:pointer; }
.dd-modal-card{ position:relative; width:100%; max-width:448px; background:#fff; border-radius:16px; padding:48px 32px 32px; box-shadow:0 25px 50px rgba(0,0,0,.25); transform:translateY(20px); transition:transform .25s ease; }
.dd-modal.is-open .dd-modal-card{ transform:translateY(0); }
.dd-modal-close{ all:unset; position:absolute; top:16px; right:16px; width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; color:var(--text-light-muted); border-radius:8px; transition:color .15s ease, background .15s ease; -webkit-tap-highlight-color:transparent; }
.dd-modal-close:hover{ color:var(--dark); background:var(--bg-page); }
.dd-modal-close:focus, .dd-modal-close:focus-visible, .dd-modal-close:active{ outline:none !important; box-shadow:none !important; }
.dd-modal-close svg{ width:18px; height:18px; }
.dd-modal-icon{ width:64px; height:64px; border-radius:16px; background:var(--icon-tile-bg); display:flex; align-items:center; justify-content:center; margin:0 auto 28px; color:var(--accent); }
.dd-modal-icon svg{ width:28px; height:28px; }
body.dd-home .dd-modal-title{ margin:0 0 8px; font-size:24px; font-weight:500; line-height:1.3; color:var(--dark) !important; text-align:center; }
.dd-modal-sub{ margin:0 0 28px; font-size:15px; color:var(--text-muted); text-align:center; line-height:1.4; }
.dd-modal-form{ display:block; }
.dd-modal-field{ display:block; margin-bottom:18px; }
.dd-modal-label{ display:block; margin-bottom:6px; font-size:13px; color:var(--card-dark); font-weight:400; }
.dd-modal-input{ width:100%; height:54px; padding:0 16px; background:#fff; border:1px solid var(--border-soft); border-radius:12px; font-size:15px; color:var(--dark); outline:none; transition:border-color .15s ease, box-shadow .15s ease; -webkit-tap-highlight-color:transparent; }
.dd-modal-input::placeholder{ color:rgba(30,41,59,.5); }
.dd-modal-input:focus, .dd-modal-input:focus-visible{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(3,171,188,.12); outline:none !important; }
.dd-modal-submit{ all:unset; box-sizing:border-box; display:flex; align-items:center; justify-content:center; width:100%; height:60px; margin-top:8px; background:var(--accent); color:#fff; border-radius:12px; font-size:16px; font-weight:500; cursor:pointer; transition:background .15s ease; -webkit-tap-highlight-color:transparent; }
.dd-modal-submit:hover{ background:var(--accent-dark); }
.dd-modal-submit:focus, .dd-modal-submit:focus-visible, .dd-modal-submit:active{ outline:none !important; box-shadow:none !important; background:var(--accent-dark); }
.dd-modal-submit[disabled]{ opacity:.75; cursor:default; }
.dd-modal-feedback{ margin:12px 0 0; font-size:14px; line-height:1.4; }
body.dd-modal-open{ overflow:hidden; }
@media (max-width: 520px){
  .dd-modal{ padding:16px; }
  .dd-modal-card{ padding:40px 20px 24px; }
  .dd-modal-icon{ width:56px; height:56px; margin-bottom:20px; }
  body.dd-home .dd-modal-title{ font-size:20px; }
}

/* Certificate lightbox */
.dd-modal-cert{ padding:32px; }
.dd-modal-cert .dd-modal-backdrop{ background:rgba(30,30,30,.85); backdrop-filter:none; -webkit-backdrop-filter:none; }
.dd-modal-cert-card{ position:relative; background:transparent; box-shadow:none; padding:0; max-width:min(90vw, 1100px); max-height:90vh; display:flex; align-items:center; justify-content:center; transform:scale(.96); opacity:0; transition:transform .25s ease, opacity .25s ease; }
.dd-modal-cert.is-open .dd-modal-cert-card{ transform:scale(1); opacity:1; }
.dd-modal-cert-image{ display:block; max-width:100%; max-height:90vh; width:auto; height:auto; border-radius:8px; box-shadow:0 25px 50px rgba(0,0,0,.5); background:#fff; }
.dd-modal-cert-close{ all:unset; position:absolute; top:24px; right:24px; width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; color:#fff; border-radius:50%; background:rgba(255,255,255,.15); transition:background .15s ease, color .15s ease; -webkit-tap-highlight-color:transparent; z-index:2; }
.dd-modal-cert-close:hover{ background:#fff; color:#1e1e1e; }
.dd-modal-cert-close:focus, .dd-modal-cert-close:focus-visible, .dd-modal-cert-close:active{ outline:none !important; box-shadow:none !important; }
.dd-modal-cert-close svg{ width:20px; height:20px; }
.dd-certificate-card a, .dd-specialist-cert-card{ cursor:zoom-in; }
@media (max-width: 520px){
  .dd-modal-cert{ padding:16px; }
  .dd-modal-cert-card{ max-width:100%; }
  .dd-modal-cert-close{ top:16px; right:16px; width:36px; height:36px; }
  .dd-modal-cert-close svg{ width:18px; height:18px; }
}

/* ==========================================================================
   /our-doctors/ — Specialists page (figma/Страница специалистов.svg)
   ========================================================================== */
.dd-doctors{ padding:64px 0 80px; background:#fff; }
.dd-doctors-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; }
.dd-doctor-card{
  position:relative;
  height:384px;
  border-radius:16px;
  overflow:hidden;
  background:#1D293D;
}
.dd-doctor-photo{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
}
.dd-doctor-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,23,43,0) 0%, rgba(15,23,43,0) 40%, rgba(15,23,43,.85) 100%);
  pointer-events:none;
}
.dd-doctor-card-link{ position:absolute; inset:0; z-index:2; -webkit-tap-highlight-color:transparent; }
.dd-doctor-card-link:focus,
.dd-doctor-card-link:active{ outline:none !important; box-shadow:none !important; }
.dd-doctor-action{
  position:absolute; top:16px; left:16px;
  z-index:3;
  width:40px; height:40px;
  border:0; padding:0;
  border-radius:8px;
  background:var(--accent);
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:background .15s ease;
}
.dd-doctor-action:hover{ background:var(--accent-dark); }
.dd-doctor-action img{ width:20px; height:20px; display:block; }
.dd-doctor-badge{
  position:absolute; top:18px; right:16px;
  z-index:3;
  display:inline-flex; align-items:center; justify-content:center;
  min-width:104px; height:24px; padding:0 12px;
  background:#fff; color:var(--accent);
  border-radius:12px;
  font-size:12px; font-weight:600; letter-spacing:.3px;
  text-transform:uppercase;
  white-space:nowrap;
}
.dd-doctor-info{
  position:absolute; left:20px; right:20px; bottom:24px;
  z-index:3;
  color:#fff;
}
.dd-doctor-name{
  margin:0 0 6px;
  color:#fff !important;
  font-size:18px; font-weight:400; line-height:1.25;
}
.dd-doctor-position{
  margin:0;
  color:rgba(255,255,255,.8);
  font-size:13px; line-height:1.35;
}

.dd-certificates{ background:var(--bg-page); padding:64px 0 80px; }
.dd-certificates h2{
  margin:0 0 12px;
  font-size:30px; font-weight:500; color:var(--dark); line-height:1.2;
}
.dd-certificates-lead{
  margin:0 0 32px;
  max-width:780px;
  font-size:15px; color:var(--text-muted); line-height:1.55;
}
.dd-certificates-grid{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(5, 1fr); gap:16px;
}
.dd-certificate-card{
  background:#fff;
  border:1px solid var(--border-soft);
  border-radius:8px;
  overflow:hidden;
  aspect-ratio: 230 / 307;
}
.dd-certificate-card a{ display:block; width:100%; height:100%; }
.dd-certificate-card img{
  display:block;
  width:100%; height:100%;
  object-fit:cover; object-position:center;
}

@media (max-width: 1024px){
  .dd-doctors-grid{ grid-template-columns:repeat(2, 1fr); gap:20px; }
  .dd-certificates-grid{ grid-template-columns:repeat(3, 1fr); }
}
@media (max-width: 600px){
  .dd-doctors{ padding:48px 0 56px; }
  .dd-doctors-grid{ grid-template-columns:1fr; gap:16px; }
  .dd-doctor-card{ height:420px; }
  .dd-certificates{ padding:48px 0 56px; }
  .dd-certificates h2{ font-size:24px; margin-bottom:8px; }
  .dd-certificates-lead{ font-size:14px; margin-bottom:24px; }
  .dd-certificates-grid{ grid-template-columns:repeat(2, 1fr); gap:12px; }
}

/* ==========================================================================
   /specialist/ — Specialist detail page (figma/Страница специалиста.svg)
   ========================================================================== */
.dd-specialist-hero{ background:#F0F9FF; padding:32px 0 64px; }
.dd-specialist-hero-grid{ display:grid; grid-template-columns:576px 1fr; gap:64px; align-items:center; margin-top:32px; }
.dd-specialist-photo{ width:576px; height:500px; border-radius:16px; overflow:hidden; background:#E5E3DF; box-shadow:0 4px 6px -4px rgba(0,0,0,.10), 0 10px 15px -3px rgba(0,0,0,.10); }
.dd-specialist-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 55%; display:block; }
.dd-specialist-info{ max-width:576px; }
.dd-specialist-badge{ display:inline-flex; align-items:center; justify-content:center; height:24px; padding:0 12px; border-radius:12px; background:var(--accent); color:#fff; font-size:12px; line-height:1; font-weight:600; letter-spacing:.3px; text-transform:uppercase; margin-bottom:28px; }
body.dd-home .dd-specialist-info h1{ margin:0 0 16px; color:var(--dark) !important; font-size:36px; line-height:1.11; font-weight:400; letter-spacing:0; }
.dd-specialist-position{ margin:0 0 28px; color:var(--accent); font-size:18px; line-height:1.35; }
.dd-specialist-exp{ display:flex; align-items:center; gap:12px; margin-bottom:36px; }
.dd-specialist-exp-ico{ width:48px; height:48px; border-radius:12px; background:var(--accent); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.dd-specialist-exp-ico img{ width:24px; height:24px; display:block; filter:brightness(0) invert(1); }
.dd-specialist-exp small{ display:block; color:var(--text-muted); font-size:14px; line-height:1.4; margin-bottom:4px; }
.dd-specialist-exp strong{ display:block; color:var(--dark); font-size:20px; line-height:1.25; font-weight:400; }
.dd-specialist-bio{ margin:0 0 34px; color:#45556C; font-size:15px; line-height:1.82; }
.dd-specialist-actions{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.dd-specialist-primary,
.dd-specialist-secondary{ display:inline-flex; align-items:center; justify-content:center; gap:10px; height:52px; border-radius:8px; text-decoration:none; font-size:16px; font-weight:500; -webkit-tap-highlight-color:transparent; }
.dd-specialist-primary{ min-width:245px; padding:0 24px; background:var(--accent); color:#fff !important; }
.dd-specialist-primary:hover{ background:var(--accent-dark); color:#fff !important; }
.dd-specialist-secondary{ min-width:153px; padding:0 22px; border:2px solid var(--accent); color:var(--accent) !important; background:transparent; }
.dd-specialist-secondary:hover{ background:rgba(3,171,188,.08); color:var(--accent) !important; }
.dd-specialist-primary img,
.dd-specialist-secondary img{ width:18px; height:18px; display:block; }
.dd-specialist-secondary img{ filter:none; }
.dd-specialist-primary:focus,
.dd-specialist-primary:active,
.dd-specialist-secondary:focus,
.dd-specialist-secondary:active{ outline:none !important; box-shadow:none !important; }

.dd-specialist-services{ background:#fff; padding:64px 0; }
.dd-specialist-services h2,
.dd-specialist-certificates h2{ margin:0 0 32px; color:var(--dark); font-size:24px; line-height:1.25; font-weight:400; }
.dd-specialist-service-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:20px;
}
.dd-specialist-service-card{ position:relative; height:240px; border-radius:16px; overflow:hidden; background:#1D293D; box-shadow:0 4px 6px -4px rgba(0,0,0,.10), 0 10px 15px -3px rgba(0,0,0,.10); }
.dd-specialist-service-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,23,43,0) 0%, rgba(15,23,43,.05) 42%, rgba(15,23,43,.82) 100%); pointer-events:none; }
.dd-specialist-service-card img{ width:100%; height:100%; object-fit:cover; display:block; }
.dd-specialist-service-num{ position:absolute; top:0; left:0; z-index:1; width:56px; height:56px; border-radius:0 0 16px 0; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; line-height:1; }
.dd-specialist-service-card h3{ position:absolute; z-index:1; left:20px; right:20px; bottom:20px; margin:0; color:#fff !important; font-size:18px; line-height:1.35; font-weight:400; }

.dd-specialist-certificates{ background:#F8FAFC; padding:64px 0; }
.dd-specialist-cert-grid{ display:grid; grid-template-columns:repeat(3, 292px); gap:16px; }
.dd-specialist-cert-card{ display:block; height:389px; border-radius:12px; overflow:hidden; background:#fff; border:1px solid var(--border-soft); box-shadow:0 4px 6px -4px rgba(0,0,0,.10), 0 10px 15px -3px rgba(0,0,0,.10); }
.dd-specialist-cert-card img{ width:100%; height:100%; object-fit:cover; display:block; }

.dd-specialist-cta{ background:#F0F9FF; padding:84px 0 64px; text-align:center; }
body.dd-home .dd-specialist-cta h2{ margin:0 0 16px; color:var(--dark) !important; font-size:30px; line-height:1.25; font-weight:400; }
.dd-specialist-cta p{ max-width:560px; margin:0 auto 34px; color:var(--text-muted); font-size:15px; line-height:1.6; }
.dd-specialist-call{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-width:256px; height:60px; padding:0 28px; border-radius:8px; background:var(--accent); color:#fff !important; text-decoration:none; font-size:18px; font-weight:500; -webkit-tap-highlight-color:transparent; }
.dd-specialist-call:hover{ background:var(--accent-dark); color:#fff !important; }
.dd-specialist-call img{ width:18px; height:18px; display:block; }
.dd-specialist-call:focus,
.dd-specialist-call:active{ outline:none !important; box-shadow:none !important; }

@media (max-width: 1160px){
  .dd-specialist-hero-grid{ grid-template-columns:1fr 1fr; gap:40px; }
  .dd-specialist-photo{ width:100%; height:auto; aspect-ratio:576/500; }
  .dd-specialist-service-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .dd-specialist-cert-grid{ grid-template-columns:repeat(3, 1fr); }
}
@media (max-width: 900px){
  .dd-specialist-hero{ padding:32px 0 56px; }
  .dd-specialist-hero-grid{ grid-template-columns:1fr; gap:32px; }
  .dd-specialist-info{ max-width:none; }
  body.dd-home .dd-specialist-info h1{ font-size:34px; line-height:1.18; }
  .dd-specialist-cert-card{ height:auto; aspect-ratio:292/389; }
}
@media (max-width: 560px){
  .dd-specialist-hero{ padding:24px 0 44px; }
  .dd-specialist-hero-grid{ margin-top:24px; gap:28px; }
  .dd-specialist-photo{ border-radius:14px; }
  .dd-specialist-badge{ margin-bottom:20px; }
  body.dd-home .dd-specialist-info h1{ font-size:28px; line-height:1.25; }
  .dd-specialist-position{ font-size:16px; margin-bottom:22px; }
  .dd-specialist-exp{ margin-bottom:24px; }
  .dd-specialist-bio{ font-size:14px; line-height:1.65; margin-bottom:28px; }
  .dd-specialist-actions{ display:grid; grid-template-columns:1fr; gap:12px; }
  .dd-specialist-primary,
  .dd-specialist-secondary{ width:100%; min-width:0; }
  .dd-specialist-services,
  .dd-specialist-certificates{ padding:48px 0; }
  .dd-specialist-services h2,
  .dd-specialist-certificates h2{ font-size:22px; margin-bottom:24px; }
  .dd-specialist-service-grid{ grid-template-columns:1fr; }
  .dd-specialist-cert-grid{ grid-template-columns:1fr; gap:16px; }
  .dd-specialist-service-card{ height:220px; }
  .dd-specialist-cert-card{ max-width:292px; margin:0 auto; width:100%; }
  body.dd-home .dd-specialist-cta h2{ font-size:24px; }
  .dd-specialist-cta{ padding:56px 0; }
  .dd-specialist-call{ width:100%; min-width:0; font-size:16px; }
}

/* ==========================================================================
   /departments/ — Our services listing (figma/Странциа _Наши услуги_.svg)
   ========================================================================== */
.dd-services{ background:#fff; padding:64px 0 80px; }
.dd-services-grid{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4, 1fr); gap:24px;
}
.dd-service-card{
  position:relative;
  height:240px;
  border-radius:16px;
  overflow:hidden;
  background:#1D293D;
  box-shadow:0 4px 6px -4px rgba(0,0,0,.10), 0 10px 15px -3px rgba(0,0,0,.10);
}
.dd-service-photo{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.dd-service-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,23,43,0) 0%, rgba(15,23,43,.3) 50%, rgba(15,23,43,1) 100%);
  pointer-events:none;
}
.dd-service-card-link{
  position:absolute; inset:0; z-index:3;
  -webkit-tap-highlight-color:transparent;
}
.dd-service-card-link:focus,
.dd-service-card-link:active{ outline:none !important; box-shadow:none !important; }
.dd-service-num{
  position:absolute; top:0; left:0; z-index:2;
  width:56px; height:56px;
  border-radius:0 0 16px 0;
  background:var(--accent);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:20px; line-height:1; font-weight:400;
}
.dd-service-title{
  position:absolute; left:20px; right:20px; bottom:20px;
  z-index:2;
  margin:0;
  color:#fff !important;
  font-size:18px; line-height:1.25; font-weight:400;
}
.dd-service-card:hover .dd-service-photo{ transform:scale(1.04); }
.dd-service-photo{ transition:transform .35s ease; }

@media (max-width: 1160px){
  .dd-services-grid{ grid-template-columns:repeat(3, 1fr); }
}
@media (max-width: 900px){
  .dd-services{ padding:48px 0 64px; }
  .dd-services-grid{ grid-template-columns:repeat(2, 1fr); gap:20px; }
}
@media (max-width: 560px){
  .dd-services{ padding:40px 0 56px; }
  .dd-services-grid{ grid-template-columns:1fr; gap:16px; }
  .dd-service-card{ height:220px; }
  .dd-service-title{ font-size:17px; left:18px; right:18px; bottom:18px; }
  .dd-service-num{ width:48px; height:48px; font-size:18px; border-radius:0 0 14px 0; }
}

/* ==========================================================================
   Single service detail page (figma/Страница услуги.svg)
   ========================================================================== */
.dd-service-hero{ background:var(--icon-tile-bg); padding:32px 0 64px; }
.dd-service-hero-grid{
  display:grid; grid-template-columns:1fr 576px; gap:64px;
  align-items:start; margin-top:32px;
}
.dd-service-hero-text .dd-breadcrumb{ margin:0 0 30px; }
body.dd-home .dd-service-hero h1{
  margin:0 0 20px;
  color:var(--dark) !important;
  font-size:48px; line-height:1.15; font-weight:400; letter-spacing:0;
}
.dd-service-lead,
.dd-service-intro{
  margin:0 0 18px;
  max-width:580px;
  color:#45556C;
  font-size:15px; line-height:1.73;
}
.dd-service-intro{ margin-bottom:32px; }
.dd-service-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  height:48px; padding:0 22px;
  background:var(--accent); color:#fff !important;
  border-radius:8px;
  font-size:15px; font-weight:400; line-height:1;
  text-decoration:none;
  transition:background .15s ease;
  -webkit-tap-highlight-color:transparent;
}
.dd-service-cta:hover{ background:var(--accent-dark); color:#fff !important; }
.dd-service-cta:focus, .dd-service-cta:active{ outline:none !important; box-shadow:none !important; }
.dd-service-cta svg{ width:20px; height:20px; display:block; }
.dd-service-hero-image{
  width:576px; height:450px;
  border-radius:16px; overflow:hidden;
  background:#E5E3DF;
  box-shadow:0 4px 6px -4px rgba(0,0,0,.10), 0 10px 15px -3px rgba(0,0,0,.10);
}
.dd-service-hero-image img{
  width:100%; height:100%;
  object-fit:cover; display:block;
}

.dd-service-body{ background:#fff; padding:80px 0; }
.dd-service-body-grid{
  display:grid; grid-template-columns:1fr 458px; gap:48px;
  align-items:start;
}

/* Gallery carousel */
.dd-service-gallery{
  position:relative;
  width:100%;
  aspect-ratio: 710 / 384;
  border-radius:16px;
  overflow:hidden;
  background:#1D293D;
  box-shadow:0 4px 6px -4px rgba(0,0,0,.10), 0 10px 15px -3px rgba(0,0,0,.10);
}
.dd-service-gallery-track{ position:absolute; inset:0; }
.dd-service-gallery-slide{
  position:absolute; inset:0;
  opacity:0; visibility:hidden;
  transition:opacity .35s ease, visibility .35s ease;
}
.dd-service-gallery-slide.is-active{ opacity:1; visibility:visible; }
.dd-service-gallery-slide img{
  width:100%; height:100%;
  object-fit:cover; object-position:center; display:block;
}
.dd-service-gallery-dots{
  position:absolute; left:16px; bottom:24px;
  display:flex; gap:8px;
  z-index:2;
}
.dd-service-gallery-dot{
  all:unset; box-sizing:border-box;
  display:block;
  width:8px; height:8px; border-radius:4px;
  background:rgba(255,255,255,.6);
  cursor:pointer;
  transition:width .2s ease, background .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.dd-service-gallery-dot:focus, .dd-service-gallery-dot:active{ outline:none !important; box-shadow:none !important; }
.dd-service-gallery-dot.is-active{ width:24px; background:var(--accent); }
.dd-service-gallery-nav{
  all:unset; box-sizing:border-box;
  position:absolute;
  z-index:2;
  width:40px; height:40px;
  border-radius:8px;
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer;
  color:#fff;
  transition:background .15s ease;
  -webkit-tap-highlight-color:transparent;
}
.dd-service-gallery-nav:focus, .dd-service-gallery-nav:active{ outline:none !important; box-shadow:none !important; }
.dd-service-gallery-nav svg{ width:16px; height:16px; display:block; }
.dd-service-gallery-prev{
  right:64px; bottom:16px;
  background:rgba(255,255,255,.2);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
}
.dd-service-gallery-prev:hover{ background:rgba(255,255,255,.3); }
.dd-service-gallery-next{
  right:16px; bottom:16px;
  background:var(--accent);
}
.dd-service-gallery-next:hover{ background:var(--accent-dark); }

/* Call-to-call card under gallery */
.dd-service-call{
  margin-top:24px;
  display:flex; align-items:center; gap:24px;
  padding:24px 32px;
  background:#F8FAFC;
  border-radius:16px;
  min-height:120px;
}
.dd-service-call-ico{
  width:56px; height:56px;
  border-radius:12px;
  background:var(--accent);
  display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.dd-service-call-ico svg{ width:22px; height:22px; display:block; }
.dd-service-call-text{ flex:1; min-width:0; }
.dd-service-call-label{
  display:block;
  color:var(--text-muted);
  font-size:13px; line-height:1.4;
  margin-bottom:6px;
}
.dd-service-call-num{
  display:block;
  color:var(--dark);
  font-size:20px; line-height:1.25;
  text-decoration:none;
}
.dd-service-call-num:hover{ color:var(--accent); }
.dd-service-call-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:50px; padding:0 24px;
  border:2px solid var(--accent);
  border-radius:7px;
  color:var(--accent) !important;
  background:transparent;
  font-size:15px; line-height:1; font-weight:400;
  text-decoration:none;
  transition:background .15s ease, color .15s ease;
  -webkit-tap-highlight-color:transparent;
}
.dd-service-call-btn:hover{ background:rgba(3,171,188,.08); color:var(--accent) !important; }
.dd-service-call-btn:focus, .dd-service-call-btn:active{ outline:none !important; box-shadow:none !important; }

/* Side specialists */
.dd-service-side-title{
  margin:0 0 28px;
  color:var(--dark);
  font-size:20px; line-height:1.25; font-weight:400;
}
.dd-service-doctors{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:16px;
}
.dd-service-doctor{
  position:relative;
  height:288px;
  border-radius:16px;
  overflow:hidden;
  background:#1D293D;
}
.dd-service-doctor-photo{
  position:absolute; inset:0;
  background-size:cover; background-position:center top; background-repeat:no-repeat;
  transition:transform .35s ease;
}
.dd-service-doctor-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,23,43,0) 0%, rgba(15,23,43,0) 40%, rgba(15,23,43,.85) 100%);
  pointer-events:none;
}
.dd-service-doctor-link{
  position:absolute; inset:0; z-index:3;
  -webkit-tap-highlight-color:transparent;
}
.dd-service-doctor-link:focus, .dd-service-doctor-link:active{ outline:none !important; box-shadow:none !important; }
.dd-service-doctor:hover .dd-service-doctor-photo{ transform:scale(1.04); }
.dd-service-doctor-info{
  position:absolute; left:20px; right:20px; bottom:24px;
  z-index:2;
  color:#fff;
}
.dd-service-doctor-name{
  margin:0 0 6px;
  color:#fff !important;
  font-size:18px; line-height:1.25; font-weight:400;
}
.dd-service-doctor-position{
  margin:0;
  color:rgba(255,255,255,.8);
  font-size:13px; line-height:1.4;
}

@media (max-width: 1160px){
  .dd-service-hero-grid{ grid-template-columns:1fr 1fr; gap:40px; }
  .dd-service-hero-image{ width:100%; height:auto; aspect-ratio:576/450; }
  .dd-service-body-grid{ grid-template-columns:1fr; gap:40px; }
}
@media (max-width: 900px){
  .dd-service-hero{ padding:24px 0 56px; }
  .dd-service-hero-grid{ grid-template-columns:1fr; gap:32px; }
  body.dd-home .dd-service-hero h1{ font-size:34px; line-height:1.2; }
  .dd-service-body{ padding:56px 0; }
  .dd-service-call{ padding:20px 24px; gap:16px; flex-wrap:wrap; }
  .dd-service-call-btn{ width:100%; }
}
@media (max-width: 560px){
  .dd-service-hero{ padding:20px 0 44px; }
  body.dd-home .dd-service-hero h1{ font-size:26px; line-height:1.25; }
  .dd-service-lead, .dd-service-intro{ font-size:14px; line-height:1.65; }
  .dd-service-cta{ width:100%; }
  .dd-service-body{ padding:44px 0; }
  .dd-service-call{ padding:18px 18px; flex-direction:column; align-items:flex-start; gap:14px; }
  .dd-service-doctor{ height:240px; }
  .dd-service-doctor-name{ font-size:17px; }
  .dd-service-gallery-prev{ right:60px; }
}

/* ==========================================================================
   404 — Page not found
   ========================================================================== */
.dd-error-404{ background:#F0F9FF; padding:172px 0 192px; }
.dd-error-inner{ max-width:860px; margin:0 auto; text-align:center; display:flex; flex-direction:column; align-items:center; }
body.dd-home .dd-error-title{ margin:0 0 40px; font-size:44px; line-height:1.1; font-weight:700; color:var(--dark) !important; }
body.dd-home .dd-error-code{ margin:0 auto 14px; color:var(--accent); font-size:176px; line-height:.85; font-weight:700; letter-spacing:-7px; display:flex; justify-content:center; align-items:flex-end; gap:10px; width:fit-content; }
.dd-error-code-four{ display:inline-block; }
.dd-error-code-four--left{ transform:none; }
.dd-error-code-four--right{ transform:none; }
.dd-error-code-zero{ position:relative; }
.dd-error-code-zero::after{ content:none; }
.dd-error-text{ margin:0 auto; max-width:820px; font-size:24px; line-height:1.3; color:var(--text-body); }
.dd-error-actions{ display:flex; justify-content:center; margin-top:42px; }
.dd-error-primary{ display:inline-flex; align-items:center; justify-content:center; min-width:300px; height:58px; padding:0 26px; border-radius:12px; font-size:20px; font-weight:700; text-transform:uppercase; text-decoration:none; letter-spacing:.2px; transition:background .15s ease, color .15s ease; background:var(--accent); color:#fff !important; }
.dd-error-primary:hover{ background:var(--accent-dark); color:#fff !important; }
@media (max-width: 900px){
  .dd-error-404{ padding:156px 0 172px; }
  body.dd-home .dd-error-title{ font-size:34px; margin-bottom:28px; }
  body.dd-home .dd-error-code{ font-size:132px; letter-spacing:-5px; gap:8px; }
  .dd-error-text{ font-size:20px; }
  .dd-error-actions{ margin-top:34px; }
  .dd-error-primary{ min-width:260px; height:52px; font-size:17px; }
}
@media (max-width: 560px){
  .dd-error-404{ padding:144px 0 156px; }
  body.dd-home .dd-error-title{ font-size:26px; margin-bottom:22px; }
  body.dd-home .dd-error-code{ font-size:94px; letter-spacing:-3px; gap:5px; }
  .dd-error-text{ font-size:17px; }
  .dd-error-actions{ margin-top:28px; }
  .dd-error-primary{ width:100%; min-width:0; height:50px; padding:0 16px; font-size:15px; border-radius:10px; }
}
