/* SOURCE OF TRUTH: edit only this file (wordpress-kit/site.css). */
:root {
  --color-navy-900: #041631; /* blu più scuro (footer, fondo) */
  --color-navy-800: #062147;
  --color-navy-700: #00428A; /* blu primario logo */
  --color-mega-reference-blue: #00428a;
  --dks-expertise-hero-gradient: var(--dks-bg-electric);
  --color-accent:   #8fbf00; /* verde logo per CTA */
  --color-accent-2: #7aa600;
  --color-cta-green: #8fbf00; /* verde medio logo per CTA primarie */
  --color-cta-green-hover: #7aa600;
  --color-cta-green-soft: rgba(143, 191, 0, 0.08);
  --color-blue-light: #5BA3C9;
  --color-blue-lighter: #7EB8D9;
  --color-gray-800: #2c3b4b;
  --color-gray-700: #5F676F; /* testo forte */
  --color-white-700: #f3f6fa;
  --color-white-300: #f3f6fa;
  --color-gray-300: var(--color-white-700);
  --color-gray-200: var(--color-white-700); /* bordi chiari */
  --color-surface: var(--color-white-700);
  --color-white:    #FFFFFF;
  --color-text-body: #00428a;
  --color-text-deep: var(--color-navy-800);
  --color-blue-panel: #1b5797;
  --color-blue-panel-alt: #255f9f;
  --color-insight-a: #0d4a6e;
  --color-insight-b: #15608a;
  --color-card-light-blue: #d7e6f8;
  --color-footer-bg: #2a6f95;
  --dks-bg-electric: #0a4f95;
  --dks-bg-topaz: #0a4f95;
  /* Unified dark-surface color: header + hero + dark blocks */
  --dks-gradient-surface: linear-gradient(180deg, #0a4f95 0%, #0a4f95 100%);
  --dks-gradient-header: var(--dks-gradient-surface);
  --dks-gradient-blocks: var(--dks-gradient-surface);
  --dks-light-section-bg: var(--color-white-700);
  --container: 1120px;
  --radius: 14px;
  --shadow-1: 0 10px 24px rgba(4, 22, 49, 0.06);
  --shadow-2: 0 16px 36px rgba(4, 22, 49, 0.12);
  --dks-header-height: 74px;
  --dks-header-height-mobile: 66px;
  --dks-header-offset: 74px;
  --dks-mega-gap: 6px;
  --dks-mega-cover-height: 208px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; overflow-x: hidden; overflow-x: clip; }

body {
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  color: var(--color-text-body);
  background: var(--color-surface) !important;
  line-height: 1.65;
  hyphens: none;
  -webkit-hyphens: none;
  -ms-hyphens: none;
}

#content, .site-main, .page-content, .dks-kit-main, .dks-kit-content,
.entry-content, .elementor-section-wrap, #primary, .site-inner {
  background: var(--color-surface) !important;
}

/* Elimina barra bianca tra blocchi e footer */
main#content, .dks-kit-main, .dks-kit-content { padding-bottom: 0 !important; }

/* Neutralizza linee da wrapper tema/Elementor tra header e contenuto */
#page, .site, .elementor-page, .elementor-location-single {
  border: none !important;
  box-shadow: none !important;
}

/* Home: hard reset sul nodo subito dopo header (tema) */
body.home #dks-header + * {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

body.home #dks-header + * > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

body.home #dks-header + * .page-content > :first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

body.home #dks-header + * .page-content > .dks-hero:first-child {
  margin-top: 0 !important;
  padding-top: 34px !important;
}

/* Se il tema mantiene uno spacer, lo uniforma al blu ed elimina lo stacco visivo */
body.home #dks-header + * {
  background: var(--dks-gradient-blocks) !important;
  background-image: var(--dks-gradient-blocks) !important;
}

.site-main, .site-main .page-content {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Keep kit root blocks full-width even inside WP constrained layouts. */
:where(.is-layout-constrained, .page-content, .entry-content, .dks-kit-content, .dks-kit-main, main#content, .site-main) > :is(.dks-about-page, .dks-post-page, .dks-blog-page, .dks-page-title, .dks-hero, .dks-section, .dks-about-cta, .dks-blog-cta) {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.site-header, .site-footer, .elementor-location-header, .elementor-location-footer {
  display: none !important;
}

.dks-header + .dks-header, .dks-footer + .dks-footer { display: none !important; }

a { color: var(--color-accent); text-decoration: none; }
a:hover { color: var(--color-accent-2); }

/* Keep accessibility skip links available, but only visible on keyboard focus. */
.skip-link,
.screen-reader-shortcut,
a[href="#content"],
a[href="#main"],
a[href="#primary"] {
  position: absolute !important;
  top: 0 !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.skip-link:focus,
.screen-reader-shortcut:focus,
a[href="#content"]:focus,
a[href="#main"]:focus,
a[href="#primary"]:focus {
  left: 12px !important;
  top: 12px !important;
  width: auto !important;
  height: auto !important;
  clip-path: none !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: var(--dks-bg-electric) !important;
  box-shadow: 0 8px 18px rgba(4, 22, 49, 0.14) !important;
  z-index: 10001 !important;
}

p { margin: 0 0 16px; }
h2 { margin: 0 0 18px; color: var(--color-navy-800); font-size: clamp(30px, 3.2vw, 44px); line-height: 1.16; }
h3 { margin: 0 0 12px; color: var(--color-navy-800); font-size: clamp(21px, 2.2vw, 28px); line-height: 1.26; }
h4 { margin: 0 0 10px; color: var(--color-navy-800); font-size: 20px; line-height: 1.3; }

.dks-wrap { width: min(100% - 52px, var(--container)); margin-inline: auto; }
.dks-grid { display: grid; gap: 24px; }
.dks-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dks-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }


.dks-section { padding: 90px 0; }
.dks-section--alt { background: linear-gradient(180deg, #edf3fa, #f7f9fc); }

.dks-section--dark {
  background: var(--dks-gradient-blocks);
  color: var(--color-white);
}

.dks-section--dark .dks-kicker { color: rgba(255, 255, 255, 0.7); }
.dks-section--dark h2 { color: #ffffff; }
.dks-section--dark h3 { color: #ffffff; }

/* Designer touch: white kickers/titles tuned for DKS blue surfaces */
.dks-section--dark .dks-kicker {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(90, 180, 255, 0.34);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 6px 18px rgba(7, 28, 58, 0.2);
  backdrop-filter: blur(6px);
}

.dks-section--dark h1,
.dks-section--dark h2,
.dks-page-title:not(.dks-page-title--expertise):not(.dks-page-title--vision):not(.dks-page-title--about-zero):not(.dks-page-title--blog) h1 {
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.18), 0 8px 22px rgba(7, 28, 58, 0.45);
}

.dks-section--dark .dks-wrap > h1::after,
.dks-section--dark .dks-wrap > h2::after {
  content: "";
  display: block;
  width: clamp(72px, 10vw, 120px);
  height: 2px;
  margin-top: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.95), rgba(127, 216, 255, 0.76));
  box-shadow: 0 0 10px rgba(70, 170, 255, 0.26);
}

.dks-section--expertise-home .dks-wrap > h1::after,
.dks-section--expertise-home .dks-wrap > h2::after {
  content: none;
}
.dks-section--expertise-home .dks-kicker::after {
  content: "";
  display: block;
  width: clamp(72px, 10vw, 120px);
  height: 2px;
  margin: 10px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.95), rgba(127, 216, 255, 0.76));
  box-shadow: 0 0 10px rgba(70, 170, 255, 0.26);
}

/* Home expertise heading alignment */
.dks-section--expertise-home .dks-kicker,
.dks-section--expertise-home h1,
.dks-section--expertise-home h2 {
  text-align: center;
}

.dks-section--expertise-home h1,
.dks-section--expertise-home h2 {
  margin-left: auto;
  margin-right: auto;
}

.dks-section--expertise-home h1 {
  color: #ffffff;
  margin-top: -10px;
  margin-bottom: 22px;
  transform: translateY(-18px);
}

.dks-kicker {
  margin: 0 0 10px;
  color: var(--color-navy-700);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
}

.dks-lead { font-size: clamp(18px, 1.8vw, 22px); max-width: 880px; color: var(--color-text-body); }

.dks-accent { color: var(--color-accent); }

/* ────── HEADER ────── */

.dks-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  /* stesso gradiente del blocco sotto, continua verso l'alto: niente distacco */
  background: var(--dks-gradient-header);
  background-image: var(--dks-gradient-header);
  border-bottom: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: box-shadow 0.18s ease;
}

/* Force header surface against theme wrappers (source of truth). */
header.dks-header,
#dks-header {
  background: var(--dks-gradient-header) !important;
  background-image: var(--dks-gradient-header) !important;
  border: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.dks-header,
.dks-header__inner {
  border-radius: 0 !important;
}

header.dks-header.is-scrolled,
#dks-header.is-scrolled {
  background: var(--dks-gradient-header) !important;
  background-image: var(--dks-gradient-header) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}

.dks-header__inner {
  width: min(100% - 52px, var(--container));
  min-height: var(--dks-header-height);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 16px;
}

.dks-brand { flex: 0 0 auto; }
.dks-brand__link { display: inline-flex; align-items: center; text-decoration: none; }
.dks-brand__text { color: var(--color-white); font-size: 36px; font-weight: 800; }
.dks-brand img, .dks-brand .custom-logo { max-height: 100px; width: auto; }

/* Keep logo scaling controlled while overriding tighter theme defaults. */
#dks-header .dks-brand .custom-logo,
#dks-header .dks-brand .custom-logo-link img {
  max-height: 58px !important;
  width: auto !important;
  height: auto;
  transform: scaleX(1.18);
  transform-origin: left center;
}

.dks-nav { flex: 1 1 auto; display: flex; justify-content: center; }

.dks-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 20px;
}

.dks-menu > li { position: relative; }

.dks-menu > li > a {
  color: var(--color-white);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  min-height: 42px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  position: relative;
  text-decoration: none;
}

.dks-menu > li > a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 2px;
  height: 2px;
  background: #0A7CA4;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
}

.dks-menu > li > a:hover,
.dks-menu > li > a.is-active { color: var(--color-cta-green); }

.dks-menu > li > a:hover::after,
.dks-menu > li > a.is-active::after { transform: scaleX(1); }

.dks-menu > li > a:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
  border-radius: 4px;
}

/* ────── LANG SWITCH (right-aligned, isolated) ────── */

.dks-lang {
  display: flex;
  gap: 6px;
  margin-left: 14px;
  flex-shrink: 0;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03));
  box-shadow: 0 10px 24px rgba(3, 22, 44, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(3px);
}

.dks-lang a {
  color: rgba(255, 255, 255, 0.8);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  min-width: 40px;
  text-align: center;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.dks-lang a:hover {
  color: var(--color-white);
  border-color: rgba(255, 255, 255, 0.36);
  background: rgba(255, 255, 255, 0.09);
  transform: translateY(-1px);
}

.dks-lang a.is-active {
  color: var(--color-white);
  border-color: rgba(123, 203, 0, 0.7);
  background: linear-gradient(180deg, rgba(123, 203, 0, 0.45), rgba(123, 203, 0, 0.24));
  box-shadow: 0 0 0 1px rgba(123, 203, 0, 0.3), 0 8px 18px rgba(47, 90, 4, 0.22);
}

.dks-lang a:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

/* ────── SUBMENU TOGGLE (chevron) ────── */

#dks-header .dks-submenu-toggle {
  -webkit-appearance: none;
  appearance: none;
  border: 0;
  background: transparent;
  background-color: transparent;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  font-size: 10px;
  line-height: 1;
  margin-left: 4px;
  padding: 4px;
  border-radius: 4px;
  opacity: 1;
  transition: transform 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.dks-has-submenu.is-open > .dks-submenu-toggle { transform: rotate(180deg); }

#dks-header .dks-submenu-toggle:hover,
#dks-header .dks-submenu-toggle:focus,
#dks-header .dks-submenu-toggle:active {
  background: #0A7CA4;
  background-color: #0A7CA4;
  border: 1px solid #0A7CA4;
  color: var(--color-white);
  opacity: 1;
  box-shadow: none;
}

.dks-submenu-toggle:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ────── MEGA MENU (full-width) ────── */

.dks-has-submenu--mega { position: relative; }

.dks-has-submenu--mega::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  right: auto;
  width: 100vw;
  transform: translateX(-50%);
  height: calc(var(--dks-mega-gap) + 12px);
  background: transparent;
  pointer-events: auto;
}

.dks-mega {
  position: fixed;
  top: calc(var(--dks-header-offset, var(--dks-header-height)) + 10px);
  left: 50%;
  right: auto;
  width: 100vw;
  margin-left: -50vw;
  margin-top: 0;
  z-index: 9998;
  background-color: var(--dks-bg-electric);
  background-image: linear-gradient(180deg, var(--dks-bg-electric) 0%, var(--dks-bg-electric) 25%, color-mix(in srgb, var(--dks-bg-electric) 60%, #54abae 40%) 55%, color-mix(in srgb, var(--dks-bg-electric) 30%, #54abae 70%) 100%);
  border-top: 0;
  border-bottom: 0;
  border-radius: 0;
  height: auto;
  min-height: 0;
  max-height: calc(100vh - var(--dks-header-offset, var(--dks-header-height)) - 10px);
  padding: 18px 0 16px;
  box-sizing: border-box;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: 0 18px 28px rgba(4, 22, 49, 0.14);
  opacity: 0;
  visibility: hidden;
  transform: none;
  pointer-events: none;
  transition: top 0.18s ease, height 0.18s ease, opacity 0.18s ease, visibility 0.18s ease;
}

.dks-mega::before {
  display: none;
}

.dks-has-submenu--mega:hover > .dks-mega,
.dks-has-submenu--mega:focus-within > .dks-mega,
.dks-has-submenu--mega.is-open > .dks-mega {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
}

.dks-mega__inner {
  width: 100%;
  max-width: none;
  height: 100%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(24px, 2.4vw, 40px);
  padding: 0 clamp(28px, 3vw, 52px);
  box-sizing: border-box;
  align-items: start;
}

.dks-mega-col {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
  transition: color 0.2s ease;
  width: 100%;
  gap: 6px;
}

.dks-mega-col + .dks-mega-col {
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  padding-left: clamp(18px, 1.6vw, 24px);
}

.dks-mega-title {
  margin: 0;
  width: 100%;
  display: block;
  padding: 10px 0;
  transform: none;
  color: rgba(255, 255, 255, 0.96);
  font-size: clamp(17px, 1.2vw, 20px);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2;
  text-align: left;
  text-decoration: none;
  text-transform: uppercase;
  border-bottom: 0;
  transition: color 0.18s ease;
}

/* Force the Expertise mega panel below the header, even if stale inline CSS is cached server-side. */
body .dks-has-submenu--mega > .dks-mega {
  top: calc(var(--dks-header-offset, var(--dks-header-height)) + 10px) !important;
  height: auto !important;
  max-height: calc(100vh - var(--dks-header-offset, var(--dks-header-height)) - 10px) !important;
  padding: 18px 0 16px !important;
}

body #dks-header.is-scrolled .dks-has-submenu--mega > .dks-mega {
  top: var(--dks-header-offset, var(--dks-header-height)) !important;
  height: auto !important;
  max-height: calc(100vh - var(--dks-header-offset, var(--dks-header-height))) !important;
}

body .dks-has-submenu--mega > .dks-mega .dks-mega__inner {
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 clamp(28px, 3vw, 52px) !important;
  align-items: start !important;
  align-content: normal !important;
}

body .dks-has-submenu--mega > .dks-mega .dks-mega-col {
  padding: 0 !important;
  align-items: flex-start !important;
}

body .dks-has-submenu--mega > .dks-mega .dks-mega-title {
  transform: none !important;
}

.dks-mega-title:hover {
  color: var(--color-cta-green);
  text-decoration: none;
}

.dks-mega-title:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.42);
  outline-offset: 4px;
  border-radius: 2px;
}

.dks-has-submenu--mega:hover > a::after,
.dks-has-submenu--mega:focus-within > a::after,
.dks-has-submenu--mega.is-open > a::after {
  transform: scaleX(0);
  opacity: 0;
}

.dks-has-submenu--mega:hover > a,
.dks-has-submenu--mega:focus-within > a,
.dks-has-submenu--mega.is-open > a {
  border-bottom: 0;
  text-decoration: none;
  color: var(--color-white);
}

.dks-mega-links {
  list-style: none;
  margin: 0;
  padding: 0 0 8px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
}

.dks-mega-links li { margin: 0; }

.dks-mega-links a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  border-radius: 0;
  color: rgba(255, 255, 255, 0.84);
  font-size: 11px;
  font-weight: 500;
  text-decoration: none;
  line-height: 1.45;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.dks-mega-links a::before {
  content: none;
}

.dks-mega-links a:is(:hover, :focus-visible) {
  background: transparent;
  color: var(--color-cta-green) !important;
  text-decoration: none;
}

.dks-mega-links a:is(:hover, :focus-visible)::before {
  content: none;
}

.dks-mega-links a:focus-visible {
  outline: 2px solid rgba(10, 124, 164, 0.72);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ────── BURGER ────── */

.dks-burger {
  display: none;
  margin-left: auto;
  border: 0;
  background: transparent;
  padding: 4px;
  cursor: pointer;
}

.dks-burger span {
  width: 22px; height: 2px; margin: 5px 0;
  background: var(--color-blue-panel);
  display: block;
  transform-origin: center;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.dks-burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.dks-burger.is-open span:nth-child(2) { opacity: 0; }
.dks-burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.dks-burger:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
  border-radius: 4px;
}

/* ────── HERO ────── */

.dks-hero {
  color: var(--color-white);
  padding: 100px 0 82px;
  background: var(--dks-gradient-blocks);
}

.dks-hero h1 {
  margin: 0 0 16px;
  max-width: 900px;
  font-size: clamp(38px, 5.1vw, 64px);
  line-height: 1.08;
}

.dks-hero .dks-kicker {
  color: var(--color-accent) !important;
}

.dks-hero .dks-lead {
  max-width: 840px;
  color: rgba(255, 255, 255, 0.92);
  text-align: justify;
  text-justify: inter-word;
}

.dks-hero .dks-wrap {
  position: relative;
}

.dks-hero__top {
  position: relative;
  padding-right: clamp(220px, 21vw, 300px);
}

.dks-hero__content {
  position: relative;
  z-index: 2;
}

.dks-hero__leaf {
  position: absolute;
  right: 2%;
  top: 48%;
  width: 200px;
  height: 250px;
  max-width: none;
  opacity: 0.22;
  pointer-events: none;
  overflow: hidden;
  transform: translateY(-50%);
  transform-origin: center center;
  z-index: 1;
}

.dks-hero__leaf svg {
  display: block;
  width: 100%;
  height: auto;
}

.dks-hero__leaf img {
  display: block;
  width: 280%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: 0% 45%;
}

.dks-hero__actions {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-inline: auto;
  transform: translateX(calc(clamp(220px, 21vw, 300px) / 2));
  text-align: center;
  gap: 12px;
  flex-wrap: wrap;
}

.dks-hero--home {
  padding: 34px 0 78px;
}

.dks-hero--home .dks-wrap {
  width: min(100% - 52px, var(--container));
}

.dks-hero--home .dks-hero__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(180px, 17vw, 240px);
  gap: clamp(20px, 2.6vw, 34px);
  align-items: start;
  padding-right: 0;
}

.dks-hero--home .dks-hero__content {
  max-width: 1120px;
  margin-left: 0;
}

.dks-hero--home .dks-kicker {
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.dks-hero--home h1 {
  margin: 0;
  width: 100%;
  max-width: 100%;
  font-size: clamp(53px, 4.35vw, 69px);
  line-height: 1.04;
  letter-spacing: -0.036em;
  text-wrap: pretty;
}

.dks-hero--home h1 > span {
  display: block;
  white-space: nowrap;
}

.dks-hero--home h1 > span:first-child {
  width: 100%;
  text-align: justify;
  text-align-last: justify;
}

.dks-hero--home .dks-lead--home-hero {
  margin-top: 20px;
  width: 100%;
  max-width: 100%;
  font-size: clamp(19px, 1.46vw, 21px);
  line-height: 1.58;
  letter-spacing: 0.006em;
  text-align: justify;
  text-justify: inter-word;
  text-align-last: left;
}

.dks-hero--home .dks-hero__actions {
  width: 100%;
  max-width: 100%;
  margin-top: 22px;
  margin-inline: 0;
  margin-left: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
  flex-wrap: nowrap;
  transform: none;
}

.dks-hero--home .dks-hero__leaf {
  position: relative;
  right: auto;
  top: auto;
  justify-self: end;
  align-self: start;
  width: clamp(198px, 14.5vw, 252px);
  transform: translate(66px, 26px);
  opacity: 1;
  overflow: visible;
}

.dks-hero--home .dks-hero__leaf-svg {
  width: 100%;
  max-width: none;
  margin-left: 0;
  overflow: visible;
  filter: drop-shadow(0 0 10px rgba(84, 171, 178, 0.12));
  will-change: transform, opacity, filter;
  animation: dks-home-leaf-svg-arrival 0.9s cubic-bezier(0.2, 0.85, 0.24, 1) both;
}

.dks-hero--home .dks-hero__leaf-svg .leaf-pulse {
  transform-box: fill-box;
  transform-origin: 50% 54%;
  will-change: transform, opacity;
  animation: dks-home-leaf-vector-heartbeat 1.55s cubic-bezier(0.34, 1.56, 0.64, 1) 0.95s infinite;
}

.dks-hero--home .dks-hero__leaf-svg .leaf-art {
  opacity: 0.42;
  filter: saturate(1.18) brightness(1.06);
}

.dks-stats {
  margin-top: 30px;
  text-align: left;
}

.dks-stat {
  background: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 12px;
  padding: 20px 20px 18px;
  backdrop-filter: blur(8px);
}

.dks-stat__num { margin: 0 0 6px; color: #ffffff; font-size: 18px; font-weight: 700; line-height: 1.3; }
.dks-stat__label { color: #ffffff; font-size: 14px; line-height: 1.55; }

/* Hero stats: justified on desktop with better word handling */
.dks-hero .dks-stat__label {
  text-align: justify;
  text-justify: inter-word;
  line-height: 1.48;
  hyphens: none;
  overflow-wrap: break-word;
  word-break: normal;
  text-wrap: pretty;
}

@supports (text-wrap: balance) {
  .dks-hero .dks-stat__label {
    text-wrap: balance;
  }
}

/* ────── ABOUT STRIP ────── */

.dks-about-strip {
  display: grid;
  grid-template-columns: 1.8fr auto;
  gap: 34px;
  align-items: stretch;
}

.dks-about-strip > div:first-child > p:not(.dks-kicker) {
  font-size: clamp(18px, 1.8vw, 22px);
  text-align: justify;
}

.dks-about-strip__actions { display: flex; align-items: center; justify-content: flex-end; }

.dks-home-about-band {
  padding: 96px 0 88px;
  background: #ececed;
}

.dks-home-about-band__grid {
  display: grid;
  grid-template-columns: minmax(240px, 0.82fr) minmax(0, 2.08fr);
  gap: clamp(72px, 7vw, 118px);
  align-items: stretch;
}

.dks-home-about-band__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 100%;
  padding-bottom: 6px;
}

.dks-home-about-band__intro .dks-kicker {
  margin: 0;
  color: #00428a !important;
  -webkit-text-fill-color: #00428a !important;
  font-size: clamp(50px, 4.5vw, 62px);
  line-height: 0.92;
  letter-spacing: -0.055em;
  font-weight: 800;
  text-transform: none;
}

.dks-home-about-band__intro h2 {
  max-width: 14ch;
  margin: 2px 0 0;
  color: #00428a;
  font-size: clamp(36px, 3vw, 44px);
  line-height: 0.94;
  letter-spacing: -0.05em;
  font-weight: 800;
  white-space: nowrap;
}

.dks-home-about-band__actions {
  margin-top: auto;
  padding-top: 0;
  transform: translateY(4px);
}

.dks-home-about-band__copy {
  display: grid;
  width: 100%;
  max-width: none;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items: start;
  justify-content: start;
  justify-self: stretch;
}

.dks-home-about-band__col {
  min-width: 0;
  max-width: none;
  width: 100%;
}

.dks-home-about-band__copy p {
  margin: 0;
  color: #00428a;
  font-size: clamp(20px, 1.7vw, 23px);
  line-height: 1.52;
  letter-spacing: -0.028em;
  text-wrap: pretty;
  text-align: justify;
  text-justify: inter-word;
}

.dks-home-about-band__copy p strong,
.dks-home-about-band__copy strong {
  color: #00428a;
}

.dks-home-about-band__copy strong {
  font-weight: 700;
}

.dks-home-about-band .dks-cta.dks-cta--dark {
  min-width: 172px;
  min-height: 48px;
  padding: 12px 28px;
  border-radius: 18px;
  border: 1px solid rgba(4, 66, 138, 0.3);
  background: #ffffff;
  color: #00428a;
  box-shadow: 0 2px 12px rgba(4, 66, 138, 0.12);
}

@media (max-width: 980px) {
  .dks-home-about-band__grid,
  .dks-home-about-band__copy {
    grid-template-columns: 1fr;
  }

  .dks-home-about-band__grid {
    gap: 30px;
  }

  .dks-home-about-band__actions {
    margin-top: 28px;
  }

  .dks-home-about-band__intro h2 {
    max-width: none;
  }
}

.dks-authority-strip {
  background: var(--color-surface);
  padding: 40px 0 32px;
}

/* Home: pull authority cards closer to About section */
.dks-section + .dks-authority-strip {
  margin-top: -30px;
  padding-top: 14px;
}

.dks-authority-strip + .dks-section {
  padding-top: 56px;
}

.dks-authority-grid {
  margin-top: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.dks-authority-grid .dks-stat {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 34px 32px;
  background: var(--color-blue-panel);
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(4, 22, 49, 0.04);
  backdrop-filter: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.dks-authority-grid .dks-stat:hover {
  transform: translateY(-2px);
  box-shadow:
    0 10px 22px rgba(4, 22, 49, 0.08),
    0 0 0 1px rgba(126, 184, 217, 0.26),
    0 0 24px rgba(10, 124, 164, 0.28);
  border-color: rgba(126, 184, 217, 0.36);
}

.dks-authority-grid .dks-stat__num {
  margin: 0 0 8px;
  width: 100%;
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.32;
  text-align: left;
}

.dks-authority-grid .dks-stat__label {
  color: rgba(255, 255, 255, 0.92);
  font-size: 16.5px;
  line-height: 1.46;
  width: 100%;
  max-width: none;
  text-align: left;
  text-justify: auto;
  text-align-last: auto;
  display: block;
  overflow: visible;
}



/* ────── PILLARS ────── */

/* Service cards (minimal, editorial) */
.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) {
  --card-bg: #ffffff;
  --card-border: rgba(15, 31, 54, 0.16);
  --card-border-width: 1px;
  --card-shadow: 0 4px 10px rgba(4, 22, 49, 0.06);
  --card-radius: 8px;
  --card-title-color: #a5f3fc;
  --card-text-color: var(--color-text-body);
  --card-icon-color: #10243f;
  --card-icon-bg: #ffffff;
  padding: 8px 0 0;
}

.dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

@media (min-width: 1081px) {
  .dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) > .card {
    grid-column: span 2;
  }

  .dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) > .card:nth-child(1) { grid-column: 1 / span 2; }
  .dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) > .card:nth-child(2) { grid-column: 3 / span 2; }
  .dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) > .card:nth-child(3) { grid-column: 5 / span 2; }
  .dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) > .card:nth-child(4) { grid-column: 2 / span 2; }
  .dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) > .card:nth-child(5) { grid-column: 4 / span 2; }
}

.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card {
  position: relative;
  background: var(--card-bg);
  border: var(--card-border-width) solid var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  padding: 0;
  text-align: center;
  min-height: 248px;
  height: 248px;
  overflow: hidden;
}

.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card-icon {
  width: 92px;
  height: 92px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  margin-bottom: 28px;
  color: var(--card-icon-color);
  background: var(--card-icon-bg);
  border: 1px solid rgba(15, 31, 54, 0.06);
}

.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card-icon svg {
  width: 60px;
  height: 60px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.68;
  stroke-linecap: round;
  stroke-linejoin: round;
  shape-rendering: geometricPrecision;
  transform-origin: center;
  transform: translateY(-4px);
}

.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card-icon svg * {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

/* Uniform icon alignment */
.dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) > .card:nth-child(1) .card-icon svg,
.dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) > .card:nth-child(2) .card-icon svg,
.dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) > .card:nth-child(3) .card-icon svg,
.dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) > .card:nth-child(4) .card-icon svg,
.dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) > .card:nth-child(5) .card-icon svg { transform: translateY(-4px); }

.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card-title {
  margin: 0;
  color: var(--card-title-color);
  font-size: clamp(15px, 1.35vw, 17px);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.01em;
  text-transform: none;
  max-width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card-text {
  margin: 0;
  max-width: 34ch;
  color: var(--card-text-color);
  font-size: 15px;
  line-height: 1.6;
}

/* Flip behavior for home Expertise cards */
.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card--flip {
  min-height: 248px;
  height: 248px;
}

.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card--flip .card-face {
  position: absolute;
  inset: 0;
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: var(--color-blue-panel);
  transition: opacity 1.85s cubic-bezier(0.22, 1, 0.36, 1), visibility 1.85s ease;
}

.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card--flip .card-face--front {
  background: linear-gradient(180deg, #0b2a4b 0%, #082342 100%);
  opacity: 1;
  visibility: visible;
}

.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card--flip .card-face--back {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card--flip:hover .card-face--front,
.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card--flip:focus-within .card-face--front,
.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card--flip:focus-visible .card-face--front {
  opacity: 0;
  visibility: hidden;
}

.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card--flip:hover .card-face--back,
.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card--flip:focus-within .card-face--back,
.dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card--flip:focus-visible .card-face--back {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* ────── CARDS ────── */

.dks-card {
  background: var(--color-blue-panel);
  border: 1px solid #d6dfea;
  border-radius: var(--radius);
  padding: 26px;
  box-shadow: var(--shadow-1);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.dks-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-2); border-color: #c2cedc; }
.dks-card--feature { border-top: 2px solid #284c78; }

.dks-icon {
  width: 40px; height: 40px; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 12px; color: var(--color-accent); background: #eaf5fb; border: 1px solid #cfe3f0;
}

.dks-list { list-style: none; margin: 0 0 20px; padding-left: 0; }
.dks-list li { margin-bottom: 10px; }
.dks-section .dks-wrap ul { list-style: none; padding-left: 0; }
.page-content ul, .dks-kit-content ul, .dks-kit-main ul { list-style: none; padding-left: 0; }

/* ────── CTA BUTTONS ────── */

.dks-cta {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--color-accent);
  color: var(--color-white);
  border: 0;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}

.dks-cta--small { min-height: 40px; padding: 0 18px; font-size: 12px; }

.dks-cta:focus-visible { outline: 2px solid var(--color-cta-green); outline-offset: 3px; }

/* Hero CTA alignment */
.dks-hero__actions .dks-cta {
  margin-top: 0;
  min-width: 170px;
}

/* Unified CTA rule: all CTA buttons are logo-green with green backlight. */
body :is(a.dks-cta, a.card-cta, a.dks-media-card__cta) {
  background: var(--color-cta-green) !important;
  border: 0 !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-cta-green) 60%, transparent 40%), 0 0 16px color-mix(in srgb, var(--color-cta-green) 50%, transparent 50%) !important;
}

body :is(a.dks-cta, a.card-cta, a.dks-media-card__cta):is(:hover, :focus-visible, :active) {
  background: var(--color-cta-green-hover) !important;
  border: 0 !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-cta-green-hover) 58%, transparent 42%), 0 0 20px color-mix(in srgb, var(--color-cta-green-hover) 44%, transparent 56%) !important;
  text-decoration: none !important;
}

/* Never underline CTA when not hovered */
body :is(a.dks-cta, a.card-cta, a.dks-media-card__cta):not(:hover) {
  text-decoration: none !important;
}

/* Keep only "Our expertise" CTA white as explicit exception. */
body.home .dks-hero__actions a.dks-cta.dks-cta--ghost[href*="/expertise"] {
  background: #ffffff !important;
  border: 0 !important;
  color: #0a7ca4 !important;
  -webkit-text-fill-color: #0a7ca4 !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8) !important;
}

body.home .dks-hero__actions a.dks-cta.dks-cta--ghost[href*="/expertise"]:hover,
body.home .dks-hero__actions a.dks-cta.dks-cta--ghost[href*="/expertise"]:focus-visible,
body.home .dks-hero__actions a.dks-cta.dks-cta--ghost[href*="/expertise"]:active {
  background: color-mix(in srgb, #ffffff 84%, #0f1f36 16%) !important;
  border: 0 !important;
  color: #0a7ca4 !important;
  -webkit-text-fill-color: #0a7ca4 !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.62), 0 0 12px rgba(255, 255, 255, 0.28) !important;
}

.dks-inline-link {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--color-accent);
  font-weight: 700;
  letter-spacing: 0.02em;
}

.dks-inline-link::after { content: ">"; }
.dks-inline-link:hover { color: var(--color-accent-2); }

/* ────── MEDIA CARDS (Insights) ────── */

.dks-media-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.dks-media-card {
  position: relative;
  overflow: hidden;
  min-height: 340px;
  height: 100%;
  border-radius: var(--radius);
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: linear-gradient(150deg, var(--color-insight-a), var(--color-insight-b));
  box-shadow: 0 8px 20px rgba(4, 22, 49, 0.16);
  padding: 30px 28px;
  color: var(--color-white);
  display: flex;
  transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}

.dks-media-card:hover,
.dks-media-card:focus-within {
  transform: translateY(-5px);
  box-shadow: 0 16px 30px rgba(4, 22, 49, 0.24);
  border-color: rgba(255, 255, 255, 0.3);
}

.dks-media-card__inner {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.dks-media-card__face {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.dks-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 14px;
  padding: 8px 13px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  background: rgba(0, 0, 0, 0.12);
  color: rgba(255, 255, 255, 0.94);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
}

.dks-media-card h3 {
  font-size: 24px;
  line-height: 1.18;
  margin: 0 0 18px;
  max-width: 18ch;
  text-align: center;
}

.dks-media-card p {
  margin: 0;
  max-width: 34ch;
  line-height: 1.7;
  text-align: center;
}

.dks-media-card .dks-inline-link {
  color: rgba(255, 255, 255, 0.92);
  margin-top: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  letter-spacing: 0.01em;
  font-weight: 600;
  text-decoration: none;
  transition: color 220ms ease, text-decoration-color 220ms ease;
}

.dks-media-card .dks-inline-link::after {
  content: ">";
  transform: translateX(0);
  transition: transform 220ms ease;
}

.dks-media-card .dks-inline-link:hover,
.dks-media-card .dks-inline-link:focus-visible {
  color: var(--color-white);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}

.dks-media-card .dks-inline-link:hover::after,
.dks-media-card .dks-inline-link:focus-visible::after {
  transform: translateX(4px);
}

/* ────── CTA PANEL ────── */

.dks-cta-panel {
  display: grid;
  grid-template-columns: 2fr auto;
  gap: 28px;
  align-items: center;
  background: #1f658d;
  border-radius: 0;
  border: 0;
  box-shadow: none;
  padding: 34px 0;
  color: var(--color-white);
}

.dks-section > .dks-wrap.dks-cta-panel {
  width: 100%;
  max-width: none;
}

.dks-cta-panel__actions {
  display: flex;
  justify-content: flex-end;
}

/* Readability lock: contact CTA panel text */
.dks-cta-panel h2,
.dks-cta-panel .dks-kicker,
.dks-cta-panel p {
  color: rgba(255, 255, 255, 0.86) !important;
}

/* ────── QUOTE ────── */

.dks-quote {
  margin: 14px 0 0;
  border-left: 3px solid var(--color-footer-bg);
  background: #eef3f9;
  border-radius: 0 12px 12px 0;
  padding: 18px 20px;
  color: var(--color-text-deep);
  font-style: italic;
}

/* ────── TIMELINE ────── */

.dks-timeline { border-left: 2px solid #cad4df; margin-left: 8px; padding-left: 20px; }
.dks-timeline__item { position: relative; margin-bottom: 20px; }
.dks-timeline__item::before {
  content: ""; position: absolute; left: -27px; top: 8px;
  width: 10px; height: 10px; border-radius: 50%; background: var(--color-footer-bg);
}

/* ────── PAGE TITLE ────── */

.dks-page-title {
  padding: 52px 0 32px;
}

/* Force hero/page-title surfaces against theme wrappers (source of truth). */
.dks-hero,
.dks-page-title {
  background: var(--dks-gradient-blocks) !important;
  background-image: var(--dks-gradient-blocks) !important;
  border: none !important;
  box-shadow: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.dks-page-title .dks-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.dks-page-title h1 {
  margin: 0;
  width: 100%;
  text-align: center;
  font-size: clamp(40px, 5vw, 72px);
  line-height: 1.08;
}

/* Contact hero: add contact to :not() so * doesn't override .dks-contact-directory; expertise/vision/about/blog have :is() styles */
.dks-page-title:not(.dks-page-title--expertise):not(.dks-page-title--vision):not(.dks-page-title--about-zero):not(.dks-page-title--blog):not(.dks-page-title--contact) .dks-kicker {
  width: 100%;
  text-align: center;
}

.dks-page-title:not(.dks-page-title--expertise):not(.dks-page-title--vision):not(.dks-page-title--about-zero):not(.dks-page-title--blog):not(.dks-page-title--contact),
.dks-page-title:not(.dks-page-title--expertise):not(.dks-page-title--vision):not(.dks-page-title--about-zero):not(.dks-page-title--blog):not(.dks-page-title--contact) * { color: #ffffff !important; }

/* About Zero + Vision + Expertise + Blog: shared hero-band module */
:is(.dks-page-title--expertise, .dks-page-title--vision, .dks-page-title--about-zero, .dks-page-title--blog, .dks-page-title--contact) .dks-page-hero__title-zone {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 176px;
  padding: 30px 0 34px;
}

.dks-page-title--blog .dks-page-hero__title-zone {
  min-height: 186px;
  padding-bottom: 42px;
}

:is(.dks-page-title--expertise, .dks-page-title--vision, .dks-page-title--about-zero, .dks-page-title--blog, .dks-page-title--contact) h1 {
  margin: 0 auto;
  text-align: center;
  font-size: clamp(30px, 3.15vw, 42px);
  line-height: 1.01;
  white-space: nowrap;
  color: #eef3f9 !important;
}

.dks-page-title--blog h1 {
  font-size: clamp(31px, 3.22vw, 43px);
}

:is(.dks-page-title--expertise, .dks-page-title--vision, .dks-page-title--about-zero, .dks-page-title--blog, .dks-page-title--contact) .dks-page-hero__kicker {
  margin: 0 0 12px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-cta-green) !important;
  -webkit-text-fill-color: var(--color-cta-green) !important;
}

:is(.dks-page-title--expertise, .dks-page-title--vision, .dks-page-title--about-zero, .dks-page-title--blog) .dks-page-hero__title-inner {
  display: grid;
  justify-items: center;
  align-content: center;
  row-gap: 12px;
  min-height: 124px;
  text-align: center;
}

:is(.dks-page-title--expertise, .dks-page-title--vision, .dks-page-title--about-zero, .dks-page-title--blog) .dks-expertise-directory {
  margin-top: 0;
}

.dks-expertise-directory {
  margin-top: 14px;
}

.dks-expertise-directory__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
}

.dks-expertise-directory__item {
  display: inline-flex;
  align-items: center;
}

.dks-expertise-directory__item + .dks-expertise-directory__item::before {
  content: "/";
  margin-right: 14px;
  color: rgba(143, 191, 0, 0.62) !important;
  font-size: 15px;
  line-height: 1;
}

.dks-expertise-directory__item a {
  color: rgba(255, 255, 255, 0.76) !important;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.055em;
  text-decoration: none;
  text-underline-offset: 4px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.dks-expertise-directory__item a:hover,
.dks-expertise-directory__item a:focus-visible {
  color: var(--color-cta-green) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.dks-expertise-directory__item.is-active a,
.dks-expertise-directory__item a[aria-current="page"] {
  color: var(--color-cta-green) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(143, 191, 0, 0.85);
}

.dks-page-title + .dks-section:not(.dks-cc-services):not(.dks-section--expertise-detail):not(.dks-section--expertise-cards):not(.dks-section--service-cards):not(.dks-section--agronomist-cards):not(.dks-ree-cards-section):not(.dks-vision-body--paradigm):not(.dks-about-who-section),
.dks-hero + .dks-section {
  padding-top: 54px;
  background: var(--color-surface) !important;
}

.dks-page-hero--compliance {
  padding: 0 !important;
  background: var(--dks-gradient-blocks) !important;
  background-image: var(--dks-gradient-blocks) !important;
}

.dks-page-hero--compliance .dks-wrap {
  display: block;
}

.dks-page-hero--compliance .dks-page-hero__title-zone {
  background: var(--dks-expertise-hero-gradient);
  background-image: var(--dks-expertise-hero-gradient);
  padding: 18px 0 20px;
  margin-inline: calc(50% - 50vw);
  padding-inline: calc(50vw - 50%);
}

.dks-page-hero--compliance .dks-page-hero__title-inner {
  max-width: min(1400px, 92vw);
  margin: 0 auto;
  text-align: center;
}

.dks-page-hero--compliance .dks-page-hero__content-zone {
  background: var(--color-surface);
  background-image: none;
  padding: 34px 0 34px;
  margin-inline: calc(50% - 50vw);
  padding-inline: calc(50vw - 50%);
}

.dks-page-hero--compliance .dks-page-hero__content {
  max-width: 1080px;
  margin: 0 auto;
  text-align: left;
}

.dks-page-title.dks-page-hero--compliance .dks-page-hero__lead {
  margin: 0;
  width: auto;
  max-width: none;
  color: #00428a;
  font-size: clamp(17px, 1.3vw, 19px);
  line-height: 1.7;
  text-align: justify;
  text-justify: inter-word;
  text-align-last: left;
  letter-spacing: 0.01em;
}

.dks-page-hero--compliance .dks-page-hero__actions {
  margin-top: 18px;
  display: flex;
  justify-content: flex-start;
}

.dks-page-hero--compliance .dks-page-hero__actions .dks-cta {
  margin-top: 0;
  min-width: 188px;
  padding: 0 24px;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.dks-cc-services {
  padding: 18px 0 94px;
}

/* Fix overflow only on Integrated Corporate Compliance full-bleed strips */
.dks-page-title.dks-page-hero--compliance,
.dks-page-title.dks-page-hero--compliance .dks-page-hero__title-zone,
.dks-page-title.dks-page-hero--compliance .dks-page-hero__content-zone,
.dks-cc-services {
  overflow-x: clip;
}

/* Corporate Compliance spacing: single source of truth */
.dks-page-title.dks-page-hero--compliance + .dks-section.dks-cc-services {
  padding-top: 56px;
}

@media (max-width: 1024px) {
  .dks-page-title.dks-page-hero--compliance + .dks-section.dks-cc-services {
    padding-top: 32px;
  }
}

@media (max-width: 640px) {
  .dks-page-title.dks-page-hero--compliance + .dks-section.dks-cc-services {
    padding-top: 20px;
  }
}

/* FOOTER */

.dks-footer {
  position: relative;
  margin-top: 0;
  overflow: hidden;
  background-color: var(--dks-bg-electric) !important;
  background-image: url("assets/footer-blog.png") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
  background-blend-mode: overlay;
  border-top: 0;
}

.dks-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--dks-bg-electric) 72%, transparent 28%) 0%,
    color-mix(in srgb, var(--dks-bg-electric) 58%, transparent 42%) 35%,
    color-mix(in srgb, var(--dks-bg-electric) 46%, transparent 54%) 65%,
    var(--dks-bg-electric) 100%
  );
  pointer-events: none;
}

.dks-footer__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 48px;
  padding: 48px 0 60px;
  flex-wrap: wrap;
}

.dks-footer__left {
  flex: 0 0 auto;
  min-width: 0;
  margin-right: auto;
}

.dks-footer__company {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.02em;
  margin: 0 0 12px;
}

.dks-footer__address {
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.5;
  max-width: 320px;
}

.dks-footer__legal {
  font-size: 13px;
  line-height: 1.65;
}

.dks-footer__legal span {
  display: block;
}

.dks-footer__legal span + span {
  margin-top: 4px;
}

.dks-footer__right {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 40px;
  padding-top: 0;
  padding-right: 0;
}

.dks-footer__right a {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
  padding: 6px 0;
  border-bottom: 1px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.dks-footer__right a:hover {
  border-bottom-color: rgba(255, 255, 255, 0.44);
}

.dks-footer__nav-group {
  min-width: 180px;
  display: grid;
  align-content: start;
  gap: 8px;
}

.dks-footer__nav-title {
  margin: 0 0 6px;
  color: #ffffff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.05;
}

.dks-footer__nav-group:not(:first-child) .dks-footer__nav-title {
  font-size: 22px;
}

.dks-footer__nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

.dks-footer__nav-list li {
  margin: 0;
}

.dks-footer__nav-group .dks-footer__nav-list a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.9) !important;
}

.dks-footer__nav-group .dks-footer__nav-list a::after {
  content: "›";
  font-size: 16px;
  line-height: 1;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.dks-footer__nav-group .dks-footer__nav-list a:hover::after,
.dks-footer__nav-group .dks-footer__nav-list a:focus-visible::after {
  opacity: 0.85;
  transform: translateX(0);
}

.dks-footer__nav-group--legal {
  min-width: 120px;
  align-self: end;
  margin-left: 32px;
  padding-top: 20px;
  position: absolute;
  bottom: 20px;
  right: 0;
  margin-right: -26px;
}

.dks-footer__nav-group--legal a {
  font-weight: 600;
}

.dks-footer__nav-list a.is-current,
.dks-footer__nav-group--legal a.is-current {
  color: var(--color-cta-green) !important;
  border-bottom-color: color-mix(in srgb, var(--color-cta-green) 80%, #ffffff 20%);
}

/* Readability lock: footer text */
.dks-footer,
.dks-footer :is(p, span, a) {
  color: rgba(255, 255, 255, 0.86) !important;
}

.dks-footer .dks-footer__right a:hover,
.dks-footer .dks-footer__right a:focus-visible {
  color: #ffffff !important;
}

@media (max-width: 980px) {
  .dks-footer__right {
    flex-basis: 100%;
    justify-content: flex-start;
    gap: 24px;
    flex-wrap: wrap;
  }

  .dks-footer__nav-group--legal {
    margin-right: 0;
  }

  .dks-footer__nav-title,
  .dks-footer__nav-group:not(:first-child) .dks-footer__nav-title {
    font-size: 20px;
  }
}

/* EXPERTISE TILES */

.dks-tiles { display: grid; gap: 14px; }
.dks-tiles-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dks-tiles-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.dks-tile {
  background: var(--color-blue-panel);
  border: 1px solid #d6dfea;
  border-radius: var(--radius);
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.dks-tile:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
  border-color: var(--color-accent);
}

.dks-tile:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }

.dks-tile__title {
  margin: 0;
  color: var(--color-navy-900);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}

/* REVEAL ANIMATION */

.dks-reveal { opacity: 0; transform: translateY(14px); transition: opacity 0.55s ease, transform 0.55s ease; }
.dks-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
  .dks-reveal { opacity: 1; transform: none; transition: none; }
}

/* Expertise page cards: distinct from Home cards */
.dks-section--expertise-detail,
.dks-cc-services,
.dks-section--expertise-cards,
.dks-section--service-cards,
.dks-section--agronomist-cards,
.dks-ree-cards-section {
  background: linear-gradient(180deg, #0a4f95 0%, #0a4f95 100%) !important;
  background-image: linear-gradient(180deg, #0a4f95 0%, #0a4f95 100%) !important;
}

:is(.dks-page-title--expertise, .dks-page-title--vision, .dks-page-title--about-zero, .dks-page-title--blog) .dks-page-hero__content-zone {
  padding: 34px 0 40px;
}

.dks-page-title--about-zero .dks-page-hero__content-zone {
  background: linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 82%, #ffffff 18%) 0%, #ffffff 100%);
  background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 82%, #ffffff 18%) 0%, #ffffff 100%);
}

.dks-page-title--expertise .dks-page-hero__title-zone {
  padding: 48px 0 32px;
}

.dks-page-title--expertise .dks-page-hero__content-zone {
  padding: 42px 0 48px;
}

.dks-page-title--about-zero .dks-page-hero__content,
.dks-about-page .dks-about-who p {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

/* About: align hero lead exactly with the descriptive paragraph below */
.dks-page-title--about-zero .dks-page-hero__content-zone {
  margin-inline: 0;
  padding-inline: 0;
}

.dks-page-title--about-zero .dks-page-hero__lead {
  width: 100%;
  max-width: 100%;
}

:is(.dks-page-title--expertise, .dks-page-title--vision, .dks-page-title--about-zero, .dks-page-title--blog) .dks-page-hero__content {
  width: min(100% - 40px, 1180px);
  max-width: 1180px;
  margin: 0 auto;
  text-align: left;
}

/* Vision hero lead: align to same left edge as header logo/CTA container */
.dks-page-title--vision .dks-page-hero__content {
  width: min(100% - 52px, var(--container));
  max-width: var(--container);
}

/* About hero lead must align with "Who we are" descriptive paragraph width */
.dks-page-title--about-zero .dks-page-hero__content {
  width: min(100% - 52px, var(--container));
  max-width: var(--container);
}

/* Expertise inner pages: align hero lead width with card sections below */
.dks-page-title--expertise .dks-page-hero__content {
  width: min(100% - 52px, var(--container));
  max-width: var(--container);
}

.dks-page-title.dks-page-hero--compliance:is(.dks-page-title--expertise, .dks-page-title--vision, .dks-page-title--about-zero, .dks-page-title--blog) .dks-page-hero__lead {
  width: 100%;
  max-width: none;
  margin: 0;
  text-align: justify;
  text-justify: inter-word;
  text-align-last: left;
  font-size: clamp(19px, 1.5vw, 23px);
  line-height: 1.74;
  text-wrap: pretty;
}

:is(.dks-page-title--expertise, .dks-page-title--vision, .dks-page-title--about-zero, .dks-page-title--blog) .dks-page-hero__actions {
  justify-content: center;
}

.dks-section--expertise-detail {
  padding: 52px 0 88px;
}

.dks-section--expertise-detail .dks-wrap {
  width: min(100% - 36px, 1240px);
}

.dks-section--expertise-detail h2 {
  margin: 0;
  text-align: center;
  color: #ffffff;
  font-size: clamp(34px, 3.8vw, 54px);
  line-height: 1.12;
  letter-spacing: -0.02em;
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards {
  margin-top: 34px;
}

.dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

.dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards > .card {
  position: relative;
  grid-column: span 2;
  min-height: 286px;
  padding: 32px 28px 26px;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  align-content: start;
  justify-items: center;
  gap: 12px;
  text-align: center;
  background: #ffffff;
  border: 1px solid rgba(4, 22, 49, 0.08);
  border-radius: 0;
  box-shadow: 0 16px 36px rgba(4, 22, 49, 0.08);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards > .card:nth-child(4) {
  grid-column: 2 / span 2;
}

.dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards > .card:nth-child(5) {
  grid-column: 4 / span 2;
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card::before {
  content: none;
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card {
  box-shadow: 0 8px 24px rgba(4, 22, 49, 0.08), 0 0 20px rgba(143, 191, 0, 0.12), 0 0 0 1px rgba(143, 191, 0, 0.12);
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card:hover,
.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card:focus-within {
  transform: translateY(-4px);
  border-color: rgba(143, 191, 0, 0.5);
  box-shadow: 0 24px 48px rgba(4, 22, 49, 0.16), 0 0 56px rgba(143, 191, 0, 0.28);
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card .card-hit {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card-icon,
.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card-title,
.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card > p {
  position: relative;
  z-index: 3;
  pointer-events: none;
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card-icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--color-cta-green) 40%, white 60%);
  background: color-mix(in srgb, var(--color-cta-green) 12%, white 88%);
  color: var(--color-cta-green);
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card-icon svg {
  width: 36px;
  height: 36px;
  display: block;
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card-icon img {
  width: 50px;
  height: 50px;
  display: block;
  object-fit: contain;
  transform: translateY(-2px);
  filter: brightness(0) saturate(100%) invert(18%) sepia(84%) saturate(1821%) hue-rotate(194deg) brightness(96%) contrast(102%);
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card-icon svg * {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card-title {
  margin: 0;
  max-width: 20ch;
  color: #00428a;
  font-size: clamp(21px, 1.55vw, 27px);
  line-height: 1.22;
  font-weight: 650;
  letter-spacing: 0;
  white-space: normal;
  overflow: visible;
  text-wrap: balance;
  text-decoration: none;
}

.dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards > .card:nth-child(3) .card-title {
  white-space: nowrap;
  max-width: none;
}

.dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards > .card:nth-child(5) .card-title {
  max-width: 17ch;
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card > p {
  margin: 0;
  max-width: 40ch;
  color: #00428a;
  font-size: 14.5px;
  line-height: 1.58;
  text-align: justify;
  text-justify: inter-word;
  text-align-last: left;
  text-wrap: pretty;
  -webkit-hyphens: none;
  hyphens: none;
}

body .dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card a.dks-cta {
  margin-top: auto;
  position: relative;
  z-index: 4;
  min-height: 34px;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--color-cta-green) !important;
  border-color: var(--color-cta-green) !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none !important;
}

body .dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card a.dks-cta:visited {
  background: var(--color-cta-green) !important;
  border-color: var(--color-cta-green) !important;
  color: #ffffff !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

body .dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card a.dks-cta::after {
  content: none;
}

body .dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card a.dks-cta:hover,
body .dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card a.dks-cta:focus-visible,
body .dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card a.dks-cta:active {
  background: #0a7ca4 !important;
  border-color: #0a7ca4 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

@media (max-width: 1080px) {
  .dks-page-title--expertise .dks-page-hero__content {
    max-width: 820px;
  }

  .dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards > .card,
  .dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards > .card:nth-child(4),
  .dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards > .card:nth-child(5) {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .dks-page-title--expertise .dks-page-hero__content-zone {
    padding: 28px 0 32px;
  }

  .dks-section--expertise-detail {
    padding: 40px 0 64px;
  }

  .dks-section--expertise-detail .dks-wrap {
    width: min(100% - 28px, 1180px);
  }

  .dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards > .card {
    min-height: 0;
    padding: 24px 20px 20px;
  }

  .dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card-title,
  .dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards > .card:nth-child(5) .card-title {
    max-width: 100%;
    font-size: clamp(20px, 6vw, 24px);
  }
}

/* ════════ RESPONSIVE ════════ */

@media (max-width: 1080px) {
  .dks-hero__top {
    grid-template-columns: minmax(0, 1fr) clamp(140px, 20vw, 210px);
    gap: clamp(20px, 4vw, 48px);
  }

  .dks-hero__leaf {
    width: clamp(140px, 20vw, 210px);
  }

  .dks-header__inner { min-height: var(--dks-header-height-mobile); }
  #dks-header .dks-brand .custom-logo,
  #dks-header .dks-brand .custom-logo-link img {
    max-height: 54px !important;
  }
  .dks-brand {
    display: flex;
    align-items: center;
  }
  .dks-burger { display: block; }
  .dks-burger {
    order: 3;
    margin-left: 8px;
  }

  .dks-lang {
    order: 2;
    margin-left: auto;
    margin-top: 0;
    align-self: center;
  }

  .dks-nav {
    display: none;
    position: absolute;
    top: var(--dks-header-offset, var(--dks-header-height-mobile)); left: 0; right: 0;
    background: var(--dks-gradient-header) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding: 12px 20px 18px;
    max-height: calc(100vh - var(--dks-header-offset, var(--dks-header-height-mobile)));
    overflow: auto;
    flex: none;
    justify-content: flex-start;
  }

  .dks-nav.is-open { display: block; }

  .dks-menu { flex-direction: column; align-items: flex-start; gap: 6px; }
  .dks-menu > li { width: 100%; }

  .dks-menu > li > a {
    text-transform: none;
    font-size: 16px;
    letter-spacing: 0.01em;
    padding: 10px 0;
    width: 100%;
  }

  .dks-submenu-toggle { font-size: 12px; margin-left: 8px; }

  .dks-mega {
    position: static;
    top: auto; left: auto; right: auto;
    width: 100%;
    height: auto;
    margin-left: 0;
    transform: none;
    box-shadow: none;
    display: none;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 0;
    margin-top: 6px;
    margin-bottom: 8px;
    min-height: 0;
    padding: 14px 0 10px;
    overflow: visible;
  }

  .dks-mega::before {
    display: none;
  }

  .dks-has-submenu--mega.is-open > .dks-mega { display: block; opacity: 1; visibility: visible; }

  .dks-mega__inner {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 0 0 4px;
  }

  .dks-mega-col + .dks-mega-col {
    border-left: 0;
    padding-left: 0;
  }

  .dks-mega-col {
    padding: 8px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }

  .dks-mega-col:first-child {
    border-top: 0;
  }

  .dks-mega-title {
    padding: 7px 0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: none;
    -webkit-tap-highlight-color: transparent;
  }

  .dks-mega-links {
    display: none;
    max-height: 0;
    overflow: hidden;
    padding: 0;
    margin-top: 0;
    transition: max-height 0.28s ease;
  }

  .dks-mega-col.is-open-mobile .dks-mega-links {
    display: block;
    max-height: 560px;
    padding: 2px 0 8px;
  }

  .dks-mega-links a {
    font-size: 14px;
    line-height: 1.35;
    padding: 6px 0;
    color: rgba(255, 255, 255, 0.82);
  }

  .dks-mega-links a:hover,
  .dks-mega-links a:focus-visible {
    color: var(--color-cta-green);
  }

  .dks-mega-links a { -webkit-tap-highlight-color: transparent; }

  .dks-grid-2, .dks-grid-3, .dks-media-grid, .dks-tiles-2, .dks-tiles-3 { grid-template-columns: 1fr; }
  .dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card,
  .dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card--flip {
    min-height: 236px;
    height: 236px;
  }
  .dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) > .card:nth-child(5) {
    grid-column: 1 / -1;
    max-width: calc(50% - 12px);
    justify-self: center;
  }
  .dks-about-strip, .dks-cta-panel { grid-template-columns: 1fr; }
  .dks-about-strip__actions, .dks-cta-panel__actions { justify-content: flex-start; }
  .dks-authority-grid.dks-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dks-authority-grid .dks-stat:last-child {
    grid-column: 1 / -1;
    max-width: calc(50% - 12px);
    justify-self: center;
  }

  .dks-hero--home .dks-hero__top {
    grid-template-columns: 1fr;
    grid-template-areas:
      "kicker"
      "title"
      "leaf"
      "lead"
      "actions";
    gap: 12px;
    align-items: start;
  }

  .dks-hero--home .dks-hero__content {
    display: contents;
    max-width: none;
    margin-left: 0;
  }

  .dks-hero--home .dks-kicker {
    grid-area: kicker;
    margin-bottom: 4px;
  }

  .dks-hero--home h1 {
    grid-area: title;
    max-width: 100%;
  }

  .dks-hero--home .dks-lead--home-hero {
    grid-area: lead;
    max-width: 100%;
    margin-top: 4px;
    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
  }

  .dks-hero--home .dks-hero__actions {
    grid-area: actions;
    width: 100%;
    margin-top: 12px;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 12px;
  }

  .dks-hero--home .dks-hero__actions .dks-cta {
    min-width: 140px;
    justify-content: center;
  }

  .dks-hero--home .dks-hero__leaf {
    display: flex;
    grid-area: leaf;
    justify-self: center;
    width: clamp(124px, 22vw, 168px);
    transform: none;
    opacity: 1;
    margin-top: 4px;
  }
}

@media (max-width: 768px) {
  #dks-header .dks-brand .custom-logo,
  #dks-header .dks-brand .custom-logo-link img {
    max-height: 42px !important;
  }

  .dks-lang a {
    min-width: 36px;
    padding: 5px 9px;
    font-size: 11px;
  }
}

@media (max-width: 768px) {
  .dks-mega__inner { grid-template-columns: minmax(0, 1fr); gap: 10px; }

  .dks-wrap { width: min(100% - 34px, var(--container)); }
  .dks-section { padding: 72px 0; }
  .dks-hero { padding: 88px 0 68px; }
  .dks-hero__top { grid-template-columns: 1fr; gap: 0; }
  .dks-hero__actions { width: 100%; transform: none; }
  .dks-hero .dks-stat__label {
    text-align: left;
    text-justify: auto;
    text-wrap: pretty;
  }
  .dks-hero .dks-lead,
  .dks-hero--home .dks-lead--home-hero {
    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
  }
  .dks-card { padding: 22px; }
  .dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) { grid-template-columns: 1fr; gap: 16px; }
  .dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card,
  .dks-cards-section:not(.dks-cards-section--home-services):not(.dks-cards-section--expertise-detail-cards) .card--flip {
    min-height: 212px;
    height: 212px;
  }
  .dks-cards-grid:not(.dks-cards-grid--home-services):not(.dks-cards-grid--expertise-detail-cards) > .card:nth-child(5) {
    grid-column: auto;
    max-width: none;
    justify-self: stretch;
  }
  .dks-authority-strip {
    padding: 32px 0 26px;
  }
  .dks-authority-strip + .dks-section {
    padding-top: 48px;
  }
  .dks-authority-grid.dks-grid-3 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .dks-authority-grid .dks-stat:last-child {
    grid-column: auto;
    max-width: none;
    justify-self: stretch;
  }
  .dks-authority-grid .dks-stat {
    padding: 24px 22px;
  }
  .dks-authority-grid .dks-stat__num {
    font-size: 19px;
  }

  .dks-media-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .dks-media-card {
    min-height: 0;
    padding: 24px 22px;
  }
  .dks-media-card h3 {
    font-size: 22px;
    margin-bottom: 14px;
  }
  .dks-media-card p {
    max-width: 32ch;
  }

  .dks-page-title { padding: 42px 0 24px; }
  :is(.dks-page-title--expertise, .dks-page-title--vision, .dks-page-title--about-zero, .dks-page-title--blog, .dks-page-title--contact) h1 { font-size: clamp(24px, 5vw, 34px); line-height: 1.03; white-space: nowrap; }
  .dks-expertise-directory { margin-top: 12px; }
  .dks-expertise-directory__list { gap: 6px 10px; }
  .dks-expertise-directory__item + .dks-expertise-directory__item::before { margin-right: 10px; }
  :is(.dks-page-title--expertise, .dks-page-title--vision, .dks-page-title--about-zero, .dks-page-title--blog) .dks-expertise-directory__item a { font-size: 15px; letter-spacing: 0.045em; }
  .dks-page-hero--compliance { padding: 0 0 42px; }
  .dks-page-hero--compliance .dks-page-hero__title-zone {
    padding: 18px 0 20px;
    margin-inline: calc(50% - 50vw);
    padding-inline: calc(50vw - 50%);
  }
  .dks-page-hero--compliance .dks-page-hero__title-inner { max-width: min(1400px, 92vw); }
  .dks-page-title.dks-page-hero--compliance:is(.dks-page-title--expertise, .dks-page-title--vision, .dks-page-title--about-zero, .dks-page-title--blog) .dks-page-hero__kicker { margin-bottom: 12px; font-size: 15px; text-align: center; }
  .dks-page-hero--compliance .dks-page-hero__content-zone { padding: 26px 0 24px; }
  .dks-page-hero--compliance .dks-page-hero__content { max-width: 620px; }
.dks-page-title.dks-page-hero--compliance:is(.dks-page-title--expertise, .dks-page-title--vision, .dks-page-title--about-zero, .dks-page-title--blog) .dks-page-hero__lead {
  margin: 0;
  width: 100%;
  max-width: none;
  font-size: clamp(18px, 4.6vw, 20px);
  line-height: 1.72;
  text-align: justify;
  text-justify: inter-word;
  text-align-last: left;
}
  .dks-page-hero--compliance .dks-page-hero__actions { margin-top: 14px; }
  .dks-cc-services { padding: 8px 0 70px; }
  .dks-footer__inner { padding: 36px 0 32px; gap: 32px; }
  .dks-footer__company { font-size: 17px; margin-bottom: 10px; }
  .dks-footer__address { margin-bottom: 16px; }
  .dks-footer__legal span + span { margin-top: 6px; }

  .dks-hero--home {
    padding: 26px 0 52px;
  }

  .dks-hero--home .dks-wrap {
    width: min(100% - 34px, 1310px);
  }

  .dks-hero--home .dks-hero__top {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "kicker"
      "title"
      "leaf"
      "lead"
      "actions";
    gap: 10px;
    align-items: start;
  }

  .dks-hero--home .dks-hero__content {
    display: contents;
    max-width: none;
    margin-left: 0;
  }

  .dks-hero--home .dks-kicker {
    grid-area: kicker;
    margin-bottom: 4px;
    font-size: 12px;
    letter-spacing: 0.1em;
  }

  .dks-hero--home h1 {
    grid-area: title;
    max-width: 100%;
    font-size: clamp(30px, 8.2vw, 40px);
    line-height: 1.04;
    align-self: start;
  }

  .dks-hero--home h1 > span {
    white-space: normal;
  }

  .dks-hero--home .dks-lead--home-hero {
    grid-area: lead;
    margin-top: 4px;
    max-width: 100%;
    font-size: 16px;
    line-height: 1.46;
    text-align: left;
    text-justify: auto;
  }

  .dks-hero--home .dks-hero__actions {
    grid-area: actions;
    width: 100%;
    margin-top: 10px;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 12px;
  }

  .dks-hero--home .dks-hero__actions .dks-cta {
    min-width: 144px;
    flex: 0 1 auto;
  }

  .dks-hero--home .dks-hero__leaf {
    display: flex;
    grid-area: leaf;
    justify-self: center;
    width: clamp(110px, 30vw, 146px);
    transform: none;
    opacity: 1;
    margin-top: 4px;
  }

  .dks-hero--home .dks-hero__leaf-svg .leaf-art {
    opacity: 0.34;
  }
}

@media (max-width: 680px) {
  .dks-page-title--expertise h1 { white-space: normal; }
  .dks-expertise-directory__list {
    flex-direction: column;
    gap: 8px;
  }
  .dks-expertise-directory__item + .dks-expertise-directory__item::before {
    content: none;
  }
  .dks-expertise-directory__item a {
    font-size: 13px;
    letter-spacing: 0.03em;
  }
}

/* Expertise cards: premium minimal redesign (scoped only) */
.dks-section--expertise-home.dks-section--dark {
  background: #19579c;
  color: var(--color-navy-900);
  padding: 104px 0 100px;
}

.dks-section--expertise-home.dks-section--dark .dks-kicker {
  color: rgba(255, 255, 255, 0.84);
  font-size: 12px;
  letter-spacing: 0.12em;
  transform: translateY(-24px);
  display: block;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
}

.dks-section--expertise-home.dks-section--dark h2 {
  color: #ffffff;
  font-size: clamp(32px, 3.6vw, 46px);
  margin-bottom: 30px;
  transform: translateY(-24px);
}

.dks-section--expertise-home .dks-cards-section--home-services {
  --card-bg: #ffffff;
  --card-border: rgba(8, 24, 44, 0.1);
  --card-border-hover: rgba(169, 204, 0, 0.62);
  --card-title-color: var(--color-cta-green);
  --card-title-accent: var(--color-cta-green);
  --card-icon-color: #0b2238;
  --card-shadow-hover: 0 0 0 1px rgba(169, 204, 0, 0.52), 0 0 20px rgba(169, 204, 0, 0.18), 0 0 38px rgba(148, 192, 0, 0.12), 0 0 60px rgba(123, 167, 0, 0.08);
  --card-radius: 0;
  --flip-duration: 1.35s;
  --flip-easing: cubic-bezier(0.22, 0.61, 0.36, 1);
  --lift-duration: 0.42s;
  --lift-easing: cubic-bezier(0.22, 1, 0.36, 1);
  padding: 10px 0 0;
  perspective: 1200px;
}

.dks-section--expertise-home .dks-cards-grid--home-services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  align-items: stretch;
}

.dks-section--expertise-home .dks-wrap {
  width: min(100% - 56px, 1560px);
}

@media (min-width: 1081px) {
  .dks-section--expertise-home .dks-cards-grid--home-services {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .dks-section--expertise-home .dks-cards-grid--home-services > .card {
    grid-column: auto;
  }
}

.dks-section--expertise-home .dks-cards-section--home-services .card,
.dks-section--expertise-home .dks-cards-section--home-services .card--flip {
  position: relative;
  min-height: 268px;
  padding: 0;
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  background: var(--card-bg);
  box-shadow: none;
  overflow: visible;
  text-align: center;
  transition: transform var(--lift-duration) var(--lift-easing), border-color var(--lift-duration) var(--lift-easing), box-shadow var(--lift-duration) var(--lift-easing);
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face {
  position: absolute;
  inset: 0;
  padding: 26px 24px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  background: transparent;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  transition: transform var(--flip-duration) var(--flip-easing);
  will-change: transform;
}

.dks-section--expertise-home .dks-cards-grid--home-services > .card.card--flip {
  width: calc(100% + 20px);
  justify-self: center;
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-title {
  font-size: clamp(16px, 1.35vw, 20px);
  color: #00428a !important;
  -webkit-text-fill-color: #00428a !important;
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face--front .card-hit {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 8px;
  gap: 12px;
  text-align: center;
  text-decoration: none;
  color: inherit;
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face--front .card-hit .card-icon {
  margin-top: 0;
  margin-bottom: 0;
  min-height: 96px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(8px);
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face--front .card-hit .card-title {
  align-self: center;
  justify-self: center;
  text-align: center;
  transform: translateY(8px);
}

.dks-section--expertise-home .dks-cards-section--home-services .card-icon--asset img {
  filter: brightness(0) saturate(100%) invert(18%) sepia(84%) saturate(1821%) hue-rotate(194deg) brightness(96%) contrast(102%);
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face--front {
  z-index: 2;
  transform: rotateY(0deg);
  opacity: 1;
  visibility: visible;
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face--back {
  z-index: 3;
  background: var(--card-bg);
  border-radius: inherit;
  transform: rotateY(180deg);
  pointer-events: none;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}

.dks-section--expertise-home .dks-cards-section--home-services .card-icon {
  width: 78px;
  height: 78px;
  margin-bottom: 26px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--card-icon-color);
  position: relative;
  display: grid;
  place-items: center;
  box-shadow: 0 0 6px rgba(164, 210, 0, 0.1);
  transition: transform 0.28s var(--lift-easing), background-color 0.28s var(--lift-easing), box-shadow 0.28s var(--lift-easing);
}

.dks-section--expertise-home .dks-cards-section--home-services .card-icon::before {
  content: "";
  position: absolute;
  inset: 2px;
  border: 1px solid rgba(164, 210, 0, 0.2);
  border-radius: 12px;
  pointer-events: none;
  transition: border-color 0.28s var(--lift-easing), opacity 0.28s var(--lift-easing);
}

.dks-section--expertise-home .dks-cards-section--home-services .card-icon::after {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 16px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(187, 223, 87, 0.14) 0%, rgba(154, 210, 0, 0.08) 45%, rgba(154, 210, 0, 0) 72%);
  filter: blur(5px);
  opacity: 0.34;
  transition: opacity 0.28s var(--lift-easing);
}

.dks-section--expertise-home .dks-cards-section--home-services .card-icon svg {
  width: 74px;
  height: 74px;
  stroke-width: 2;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  shape-rendering: geometricPrecision;
  vector-effect: non-scaling-stroke;
  transform-box: fill-box;
  transform-origin: center;
  transform: none;
  filter: drop-shadow(0 0 1px rgba(164, 210, 0, 0.1));
}

.dks-section--expertise-home .dks-cards-section--home-services .card-icon svg * {
  fill: none;
  stroke: currentColor;
  stroke-width: inherit;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.dks-section--expertise-home .dks-cards-section--home-services .card-icon--asset {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.dks-section--expertise-home .dks-cards-section--home-services .card-icon--asset::before,
.dks-section--expertise-home .dks-cards-section--home-services .card-icon--asset::after {
  content: none;
  display: none;
}

.dks-section--expertise-home .dks-cards-section--home-services .card-icon--asset img {
  width: 80px;
  height: 80px;
  display: block;
  object-fit: contain;
  transform: translateY(-3px);
  filter: none;
}

/* Home flip card: enlarge ESG Audit SVG icon */
.dks-section--expertise-home .dks-cards-grid--home-services > .card:nth-child(2) .card-icon--asset {
  width: 96px;
  height: 96px;
}

.dks-section--expertise-home .dks-cards-grid--home-services > .card:nth-child(2) .card-icon--asset img {
  width: 92px;
  height: 92px;
}

.dks-section--expertise-home .dks-cards-section--home-services .card-title {
  margin: 0;
  width: 100%;
  max-width: 24ch;
  color: #00428a;
  min-height: 0;
  color: var(--card-title-color);
  font-size: clamp(20px, 1.7vw, 28px);
  font-weight: 700;
  line-height: 1.24;
  letter-spacing: 0.005em;
  text-transform: none;
  text-align: center;
  display: block;
  margin-inline: auto;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
  overflow: visible;
  text-decoration: none;
  min-height: 2.5em;
}

.dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards > .card:first-child .card-title {
  white-space: nowrap;
  max-width: none;
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face--front .card-title {
  width: 100%;
  text-align: center;
  margin-top: 4px;
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face--front p {
  margin: 0;
  width: 100%;
  text-align: justify;
  text-justify: inter-word;
}

.dks-section--expertise-home .dks-cards-section--home-services .card-title .dks-accent {
  color: var(--card-title-accent);
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip:is(:hover, :focus-within, :focus-visible) {
  transform: translateY(-1px);
  border-color: rgba(169, 204, 0, 0.62);
  box-shadow:
    0 0 0 1px rgba(169, 204, 0, 0.52),
    0 0 20px rgba(169, 204, 0, 0.18),
    0 0 38px rgba(148, 192, 0, 0.12),
    0 0 60px rgba(123, 167, 0, 0.08);
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip:is(:hover, :focus-within, :focus-visible) .card-icon {
  transform: none;
  background: rgba(169, 204, 0, 0.1);
  box-shadow:
    inset 0 0 0 1px rgba(234, 247, 187, 0.26),
    0 0 5px rgba(169, 204, 0, 0.12),
    0 0 10px rgba(123, 167, 0, 0.08);
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip:is(:hover, :focus-within, :focus-visible) .card-icon::after {
  opacity: 0.56;
  background: radial-gradient(circle, rgba(199, 228, 105, 0.12) 0%, rgba(169, 204, 0, 0.06) 45%, rgba(169, 204, 0, 0) 72%);
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip:is(:hover, :focus-within, :focus-visible) .card-icon::before {
  border-color: rgba(169, 204, 0, 0.38);
  opacity: 1;
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip:is(:hover, :focus-within, :focus-visible) .card-icon--asset {
  background: transparent;
  box-shadow: none;
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip:is(:hover, :focus-within, :focus-visible) .card-icon svg {
  filter: drop-shadow(0 0 1px rgba(224, 244, 172, 0.1)) drop-shadow(0 0 2px rgba(164, 210, 0, 0.08));
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card {
  overflow: visible;
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card-icon {
  position: relative;
  box-shadow: 0 0 5px rgba(169, 204, 0, 0.08);
  transition: transform 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card-icon::before {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 18px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(199, 228, 105, 0.1) 0%, rgba(169, 204, 0, 0.05) 45%, rgba(169, 204, 0, 0) 72%);
  filter: blur(5px);
  opacity: 0;
  transition: opacity 0.22s ease;
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card:hover,
.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card:focus-within {
  border-color: rgba(169, 204, 0, 0.28);
  box-shadow:
    0 0 0 1px rgba(169, 204, 0, 0.42),
    0 0 34px rgba(169, 204, 0, 0.34),
    0 0 74px rgba(169, 204, 0, 0.28),
    0 20px 42px rgba(4, 22, 49, 0.16);
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card:hover .card-icon,
.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card:focus-within .card-icon {
  background: color-mix(in srgb, var(--color-cta-green) 16%, white 84%);
  border-color: color-mix(in srgb, var(--color-cta-green) 54%, white 46%);
  box-shadow:
    inset 0 0 0 1px rgba(234, 247, 187, 0.22),
    0 0 5px rgba(169, 204, 0, 0.1),
    0 0 10px rgba(123, 167, 0, 0.08);
}

.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card:hover .card-icon::before,
.dks-section--expertise-detail .dks-cards-section--expertise-detail-cards .card:focus-within .card-icon::before {
  opacity: 0.52;
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip:is(:hover, :focus-within, :focus-visible) .card-face--front {
  transform: rotateY(180deg);
  opacity: 0;
  visibility: hidden;
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip:is(:hover, :focus-within, :focus-visible) .card-face--back {
  transform: rotateY(360deg);
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  text-transform: none;
  transition: background-color 0.32s var(--flip-easing), border-color 0.32s var(--flip-easing), color 0.32s var(--flip-easing);
}

.dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face--back .card-cta {
  pointer-events: auto;
  align-self: center;
  margin-left: auto;
  margin-right: auto;
  opacity: 1;
  visibility: visible;
  position: relative;
  inset: auto;
  z-index: 2;
}

@media (max-width: 1080px) {
  .dks-section--expertise-home .dks-cards-grid--home-services {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dks-section--expertise-home .dks-cards-grid--home-services > .card.card--flip {
    width: 100%;
  }

  .dks-section--expertise-home .dks-cards-grid--home-services > .card:nth-child(5) {
    grid-column: 1 / -1;
    width: min(100%, 60%);
    max-width: 60%;
    justify-self: center;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card,
  .dks-section--expertise-home .dks-cards-section--home-services .card--flip {
    min-height: 236px;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face {
    padding: 23px 21px 27px;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card-icon svg {
    width: 74px;
    height: 74px;
    stroke-width: 2;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    shape-rendering: geometricPrecision;
    transform-box: fill-box;
    transform-origin: center;
    transform: none;
  }
}

@media (max-width: 768px) {
  .dks-section--expertise-home.dks-section--dark {
    padding: 64px 0 58px;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card,
  .dks-section--expertise-home .dks-cards-section--home-services .card--flip {
    min-height: 188px;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face {
    padding: 18px 18px 20px;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 18px;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card-icon svg,
  .dks-section--expertise-home .dks-cards-section--home-services .card-icon--asset img {
    width: 58px;
    height: 58px;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card-title {
    font-size: clamp(17px, 5.2vw, 20px);
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card,
  .dks-section--expertise-home .dks-cards-section--home-services .card--flip,
  .dks-section--expertise-home .dks-cards-section--home-services .card-icon,
  .dks-section--expertise-home .dks-cards-section--home-services .card-icon::after {
    box-shadow: none !important;
    filter: none !important;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card-icon::after {
    opacity: 0.18;
  }

  .dks-section--expertise-home .dks-cards-grid--home-services > .card:nth-child(5) {
    grid-column: auto;
    width: 100%;
    max-width: none;
    justify-self: stretch;
  }
}

@media (hover: none) {
  .dks-section--expertise-home .dks-cards-section--home-services .card--flip {
    transform: none !important;
    box-shadow: none !important;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face {
    backface-visibility: visible;
    -webkit-backface-visibility: visible;
    transform: none !important;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face--front {
    pointer-events: auto;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face--front .card-hit {
    pointer-events: auto;
    z-index: 3;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card--flip .card-face--back {
    display: flex;
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 4;
    justify-content: center;
    align-items: center;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card--flip.is-flipped .card-face--front {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .dks-section--expertise-home .dks-cards-section--home-services .card--flip.is-flipped .card-face--back {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

}

/* Insights section */
.dks-section--insights-home {
  background: var(--dks-light-section-bg);
}

.dks-home-insights {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(220px, 0.72fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}

.dks-home-insights__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
  grid-auto-rows: 1fr;
  max-width: none;
}

.dks-home-insights--events {
  grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.7fr);
}

.dks-section--events-home .dks-home-insights__intro {
  padding-top: 0;
  align-self: start;
}

.dks-section--insights-home .dks-home-insights__cards,
.dks-section--events-home .dks-home-insights__cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.dks-section--insights-home .dks-home-insight-card,
.dks-section--events-home .dks-home-insight-card {
  min-height: 100%;
  height: 100%;
}

.dks-section--insights-home .dks-home-insight-card__media,
.dks-section--events-home .dks-home-insight-card__media {
  aspect-ratio: 1.18 / 0.72;
}

.dks-section--insights-home .dks-home-insight-card__body,
.dks-section--events-home .dks-home-insight-card__body {
  padding: 20px 24px 16px;
  gap: 14px;
}

.dks-home-insights__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-content: center;
  gap: 8px;
  min-height: 100%;
  padding-top: 30px;
  width: fit-content;
}

.dks-section--insights-home .dks-home-insights__intro {
  padding-top: 0;
  align-self: start;
  align-items: flex-end;
  text-align: right;
}

.dks-section--insights-home .dks-home-insights__intro .dks-kicker {
  margin: 0;
  color: var(--color-navy-800) !important;
  text-align: right;
  font-size: 17px;
  letter-spacing: 0.08em;
}

.dks-section--events-home .dks-home-insights__intro .dks-kicker {
  margin: 0;
  color: var(--dks-bg-electric) !important;
  text-align: left;
  font-size: 17px;
  letter-spacing: 0.08em;
}

.dks-section--insights-home .dks-home-insights__intro h2 {
  display: none;
}

.dks-home-insights--stacked .dks-home-insights__intro h2 {
  display: block;
  text-align: center;
  color: var(--color-cta-green);
  width: 100%;
  margin: 0 0 12px;
}

.dks-section--insights-home-top .dks-home-insights__intro--top,
.dks-section--insights-home-top .dks-home-insights__intro--top h2 {
  width: 100%;
  text-align: center;
  justify-items: center;
}
.dks-section--insights-home .dks-home-insights__intro h2 + * {
  margin-top: 0;
}
.dks-section--insights-home .dks-home-insights__intro .dks-kicker {
  margin-bottom: 2px;
}
.dks-section--insights-home .dks-home-insights__intro .dks-kicker + .dks-home-insights__actions,
.dks-section--insights-home .dks-home-insights__intro .dks-home-insights__actions {
  padding-top: 2px;
}
.dks-section--insights-home .dks-home-insights__actions {
  width: fit-content;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}
.dks-section--insights-home .dks-home-insights__actions .dks-cta {
  min-width: 180px;
  justify-content: center;
}
.dks-section--insights-home .dks-home-insights__actions .dks-cta--events,
.dks-section--events-home .dks-home-insights__actions .dks-cta--events {
  background: var(--dks-bg-electric) !important;
  border-color: var(--dks-bg-electric) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.dks-section--insights-home .dks-home-insights__actions .dks-cta--events:hover,
.dks-section--insights-home .dks-home-insights__actions .dks-cta--events:focus-visible,
.dks-section--insights-home .dks-home-insights__actions .dks-cta--events:active,
.dks-section--events-home .dks-home-insights__actions .dks-cta--events:hover,
.dks-section--events-home .dks-home-insights__actions .dks-cta--events:focus-visible,
.dks-section--events-home .dks-home-insights__actions .dks-cta--events:active {
  background: #062147 !important;
  border-color: #062147 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.dks-home-insights__actions {
  padding-top: 8px;
}

.dks-home-insight-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 100%;
  background: #ffffff;
  border: 1px solid rgba(4, 22, 49, 0.08);
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(4, 22, 49, 0.08);
}

.dks-home-insight-card__media-wrap {
  position: relative;
  display: block;
}

.dks-home-insight-card__media-wrap .dks-home-insight-card__media {
  display: block;
}

.dks-home-insight-card__media {
  position: relative;
  display: block;
  aspect-ratio: 1.18 / 0.72;
  overflow: hidden;
}

.dks-home-insight-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dks-home-insight-card__badge {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--color-cta-green);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none !important;
  z-index: 2;
}

.dks-home-insight-card__badge:hover,
.dks-home-insight-card__badge:focus-visible {
  background: color-mix(in srgb, var(--color-cta-green) 90%, #041631 10%);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-decoration: underline !important;
}

.dks-section--insights-home-top .dks-home-insight-card__badge--events,
.dks-section--insights-home .dks-home-insight-card__badge--events,
.dks-section--events-home .dks-home-insight-card__badge--events {
  background: var(--dks-bg-electric);
}

.dks-section--insights-home-top .dks-home-insight-card__badge--events:hover,
.dks-section--insights-home-top .dks-home-insight-card__badge--events:focus-visible,
.dks-section--insights-home .dks-home-insight-card__badge--events:hover,
.dks-section--insights-home .dks-home-insight-card__badge--events:focus-visible,
.dks-section--events-home .dks-home-insight-card__badge--events:hover,
.dks-section--events-home .dks-home-insight-card__badge--events:focus-visible {
  background: color-mix(in srgb, var(--dks-bg-electric) 88%, #041631 12%);
}

.dks-home-insight-card__body {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: start;
  gap: 18px;
  height: 100%;
  padding: 24px 28px 20px;
}

.dks-home-insight-card__body h3 {
  margin: 0;
  color: #00428a;
  font-size: clamp(17px, 1.15vw, 19px);
  text-align: left;
  line-height: 1.26;
  text-transform: none;
  display: block;
  overflow: visible;
  min-height: 0;
  max-height: none;
}

.dks-home-insight-card__body h3 a {
  color: inherit;
  text-decoration: none;
}

.dks-home-insight-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: end;
  min-height: 38px;
  width: fit-content;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(45, 115, 151, 0.38);
  background: transparent;
  color: #00428a;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.dks-home-insight-card__cta:hover,
.dks-home-insight-card__cta:focus-visible {
  background: var(--color-cta-green);
  border-color: var(--color-cta-green);
  color: #ffffff;
  text-decoration: none !important;
  transform: translateY(-1px);
  box-shadow: 0 0 0 1px rgba(143, 191, 0, 0.12), 0 10px 20px rgba(143, 191, 0, 0.22);
}

.dks-home-insights__actions .dks-cta {
  min-width: 150px;
  justify-content: center;
}

.dks-home-insight-card__date {
  padding: 10px 24px 12px;
  border-top: 1px solid rgba(4, 22, 49, 0.12);
  color: rgba(4, 22, 49, 0.36);
  font-size: 13px;
  line-height: 1.4;
}

.dks-home-insight-card:hover,
.dks-home-insight-card:focus-within {
  transform: translateY(-3px);
  box-shadow:
    0 18px 34px rgba(4, 22, 49, 0.12),
    0 0 0 1px rgba(143, 191, 0, 0.28),
    0 0 24px rgba(143, 191, 0, 0.24);
  border-color: rgba(143, 191, 0, 0.34);
}

.dks-section--insights-home-top {
  padding-top: 22px;
  padding-bottom: 72px;
}

.dks-section--insights-home-top .dks-wrap {
  width: min(100% - 56px, 1700px);
}

.dks-home-insights--stacked {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
}

.dks-home-insights__intro--top {
  justify-items: center;
  text-align: center;
  min-height: 0;
  padding-top: 0;
}

.dks-section--insights-home .dks-home-insights__intro--top h2 {
  color: var(--color-cta-green);
  font-size: clamp(34px, 4.1vw, 48px);
}

.dks-home-insights__cards--wide {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  width: min(100%, 1700px);
  margin-inline: auto;
}

.dks-section--insights-home-top .dks-home-insights__cards.dks-home-insights__cards--wide {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dks-home-insights__cards--wide .dks-home-insight-card__media {
  aspect-ratio: 1.28 / 0.68;
}

.dks-home-insights__cards--wide .dks-home-insight-card__body {
  gap: 14px;
  padding: 20px 24px 16px;
}

.dks-home-insights__cards--wide .dks-home-insight-card__body h3 {
  font-size: clamp(17px, 1.15vw, 19px);
}

.dks-home-insights__cards--wide .dks-home-insight-card__cta {
  min-height: 38px;
}

.dks-home-insights__cards--wide .dks-home-insight-card__date {
  padding: 10px 24px 12px;
}

/* Home and Expertise article cards: identical footprint */
:is(.dks-section--insights-home-top, .dks-section--insights-home, .dks-section--events-home) .dks-home-insight-card {
  min-height: 540px;
  height: 100%;
}

@media (min-width: 1101px) {
  .dks-section--insights-home:not(.dks-section--insights-home-top) .dks-home-insights {
    grid-template-columns: repeat(4, minmax(0, 0.82fr));
    gap: 24px;
  }

  .dks-section--insights-home:not(.dks-section--insights-home-top) .dks-home-insights > .dks-home-insights__cards {
    grid-column: 1 / span 3;
  }

  .dks-section--insights-home:not(.dks-section--insights-home-top) .dks-home-insights > .dks-home-insights__intro {
    grid-column: 4;
  }

  .dks-section--events-home .dks-home-insights {
    grid-template-columns: repeat(4, minmax(0, 0.82fr));
    gap: 24px;
  }

  .dks-section--events-home .dks-home-insights > .dks-home-insights__intro {
    grid-column: 1;
  }

  .dks-section--events-home .dks-home-insights > .dks-home-insights__cards {
    grid-column: 2 / span 3;
  }

  .dks-section--insights-home .dks-home-insights__cards,
  .dks-section--events-home .dks-home-insights__cards {
    grid-auto-rows: 1fr;
  }

  .dks-section--insights-home .dks-home-insight-card__media,
  .dks-section--events-home .dks-home-insight-card__media {
    aspect-ratio: 1.28 / 0.68;
  }

  .dks-section--insights-home .dks-home-insight-card,
  .dks-section--events-home .dks-home-insight-card {
    min-height: 576px;
  }
}

@media (max-width: 1280px) {
  .dks-home-insights {
    grid-template-columns: minmax(0, 1.42fr) minmax(220px, 0.82fr);
  }
}

@media (max-width: 900px) {
  .dks-home-insights {
    grid-template-columns: 1fr;
  }

  .dks-home-insights__intro {
    order: -1;
    padding-top: 0;
  }
}

@media (max-width: 768px) {
  .dks-home-insight-card__body {
    gap: 14px;
    padding: 18px 18px 16px;
  }

  .dks-home-insight-card__media {
    aspect-ratio: 1.38 / 0.68;
  }

  .dks-home-insight-card__body h3 {
    font-size: clamp(19px, 5.6vw, 22px);
  }

  .dks-home-insight-card__date {
    padding: 10px 18px 14px;
  }

  .dks-home-insight-card {
    box-shadow: 0 8px 18px rgba(4, 22, 49, 0.06);
  }
}

@media (hover: none) {
  .dks-home-insight-card:hover,
  .dks-home-insight-card:focus-within {
    transform: none;
    box-shadow: 0 8px 18px rgba(4, 22, 49, 0.06);
    border-color: rgba(4, 22, 49, 0.08);
  }
}

/* Home flip-card icon color lock: force header blue on asset SVGs. */
.dks-section--expertise-home .dks-cards-section--home-services .card-icon--asset img {
  filter: brightness(0) saturate(100%) invert(18%) sepia(84%) saturate(1821%) hue-rotate(194deg) brightness(96%) contrast(102%) !important;
}

/* Keep Press and Events card dimensions consistent on home. */
.dks-section--insights-home .dks-home-insight-card,
.dks-section--events-home .dks-home-insight-card {
  min-height: 100%;
  height: 100%;
}

/* Home: slightly larger kicker labels across all home sections */
.dks-hero .dks-kicker,
.dks-about-strip .dks-kicker,
.dks-section--expertise-home .dks-kicker,
.dks-section--insights-home .dks-kicker,
.dks-cta-panel .dks-kicker {
  font-size: 17px;
}

/* Shared service-card sections: pull cards upward under intro sentence */
:is(.dks-section--service-cards, .dks-section--agronomist-cards) {
  margin-top: 8px;
  padding-top: 24px;
}

/* Shared card system: Agronomist + Corporate + ESG Audit + REE */
:is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2,
.dks-cc-services .dks-cc-services__grid,
.dks-tiles--esg-audit,
.dks-ree-cards-section .dks-tiles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

:is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card,
.dks-cc-services .dks-cc-services__grid > .dks-cc-service-card,
.dks-tiles--esg-audit .dks-tile,
.dks-ree-cards-section .dks-tile {
  background: #f3f4f6;
  opacity: 1;
  visibility: visible;
  border: 1px solid #dbe2ec;
  border-radius: 0;
  box-shadow: 0 18px 34px rgba(10, 20, 40, 0.2);
  min-height: 336px;
  padding: 32px 24px 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

:is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card .service-card-icon,
.dks-cc-services .dks-cc-service-card__icon,
.dks-tiles--esg-audit .dks-tile .service-card-icon,
.dks-ree-cards-section .dks-tile .service-card-icon {
  width: 84px;
  height: 84px;
  margin: 0 0 12px;
  border: 1px solid rgba(10, 79, 149, 0.22);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--dks-bg-electric);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 10px 22px rgba(4, 22, 49, 0.06);
  transition: box-shadow 220ms ease, transform 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

:is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card .service-card-icon svg,
:is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card .service-card-icon img,
.dks-cc-services .dks-cc-service-card__icon svg,
.dks-tiles--esg-audit .dks-tile .service-card-icon svg,
.dks-tiles--esg-audit .dks-tile .service-card-icon img,
.dks-ree-cards-section .dks-tile .service-card-icon img,
.dks-ree-cards-section .dks-tile .service-card-icon svg {
  width: 42px;
  height: 42px;
  display: block;
  margin: 0 auto;
}

/* Normalize all custom swapped SVG icons: larger internal scale for visual parity. */
:is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card .service-card-icon svg.dks-icon--preserve,
:is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card .service-card-icon img.dks-icon--preserve,
.dks-tiles--esg-audit .dks-tile .service-card-icon img.dks-icon--preserve,
.dks-ree-cards-section .dks-tile .service-card-icon img.dks-icon--preserve,
.dks-cc-services .dks-cc-service-card__icon img.dks-icon--preserve,
.dks-cc-services .dks-cc-service-card__icon svg.dks-icon--preserve,
.dks-tiles--esg-audit .dks-tile .service-card-icon svg.dks-icon--preserve,
.dks-ree-cards-section .dks-tile .service-card-icon svg.dks-icon--preserve {
  width: 56px;
  height: 56px;
}

/* ESG icons still perceived smaller: lift a bit without altering card geometry. */
.dks-tiles--esg-audit .dks-tile .service-card-icon img.dks-icon--preserve,
.dks-tiles--esg-audit .dks-tile .service-card-icon svg.dks-icon--preserve {
  width: 60px;
  height: 60px;
}

/* Benefit Corporation specifically needs stronger visual presence. */
.dks-tiles--esg-audit .dks-tile#benefit-corporation .service-card-icon img.dks-icon--preserve,
.dks-tiles--esg-audit .dks-tile#benefit-corporation .service-card-icon svg.dks-icon--preserve {
  width: 72px;
  height: 72px;
}

.dks-tiles--esg-audit .dks-tile#benefit-corporation .service-card-icon img.dks-icon--preserve {
  transform: scale(1.14);
  transform-origin: center;
}

@media (max-width: 767px) {
  :is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card .service-card-icon svg.dks-icon--preserve,
  :is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card .service-card-icon img.dks-icon--preserve,
  .dks-tiles--esg-audit .dks-tile .service-card-icon img.dks-icon--preserve,
  .dks-ree-cards-section .dks-tile .service-card-icon img.dks-icon--preserve,
  .dks-cc-services .dks-cc-service-card__icon img.dks-icon--preserve,
  .dks-cc-services .dks-cc-service-card__icon svg.dks-icon--preserve,
  .dks-tiles--esg-audit .dks-tile .service-card-icon svg.dks-icon--preserve,
  .dks-ree-cards-section .dks-tile .service-card-icon svg.dks-icon--preserve {
    width: 50px;
    height: 50px;
  }

  .dks-tiles--esg-audit .dks-tile#benefit-corporation .service-card-icon img.dks-icon--preserve,
  .dks-tiles--esg-audit .dks-tile#benefit-corporation .service-card-icon svg.dks-icon--preserve {
    width: 60px;
    height: 60px;
  }

  .dks-tiles--esg-audit .dks-tile#benefit-corporation .service-card-icon img.dks-icon--preserve {
    transform: scale(1.08);
  }
}

:is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card .service-card-icon img {
  object-fit: contain;
}

.dks-tiles--esg-audit .dks-tile .service-card-icon img,
.dks-ree-cards-section .dks-tile .service-card-icon img {
  object-fit: contain;
}

.dks-section--service-cards--finance .dks-wrap.dks-grid.dks-grid-2 > .dks-card .service-card-icon svg {
  color: var(--dks-bg-electric);
}

.dks-cc-services .dks-cc-service-card__icon svg:not(.dks-icon--preserve) * {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

/* Corporate Liability icon: larger footprint and stronger outline parity with Tax Compliance. */
.dks-cc-services .dks-cc-service-card#corporate-liability .dks-cc-service-card__icon svg.dks-icon--preserve {
  width: 48px;
  height: 48px;
}

.dks-tiles--esg-audit .dks-tile#sustainability-gap-analysis .service-card-icon svg.dks-icon--preserve {
  width: 50px;
  height: 50px;
}

.dks-tiles--esg-audit .dks-tile#sustainability-gap-analysis .service-card-icon svg.dks-icon--preserve * {
  stroke-width: 3.15;
}

:is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card .service-card-icon svg:not(.dks-icon--preserve) *,
.dks-tiles--esg-audit .dks-tile .service-card-icon svg:not(.dks-icon--preserve) *,
.dks-ree-cards-section .dks-tile .service-card-icon svg:not(.dks-icon--preserve) * {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

:is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card h3,
.dks-cc-services .dks-cc-service-card h3,
.dks-tiles--esg-audit .dks-tile__title,
.dks-ree-cards-section .dks-tile__title {
  width: 100%;
  color: #00428a;
  margin: 0 0 12px;
  max-width: none;
  letter-spacing: 0.04em;
  text-transform: none;
  text-align: center;
  line-height: 1.2;
  font-size: clamp(19px, 1.35vw, 26px);
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  min-height: 0;
  display: block;
}

:is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card p,
.dks-cc-services .dks-cc-service-card p,
.dks-tiles--esg-audit .dks-tile__desc,
.dks-ree-cards-section .dks-tile__desc {
  display: block;
  width: 100%;
  color: #00428a;
  margin: 0 auto;
  max-width: 42ch;
  text-align: justify;
  text-align-last: left;
  text-justify: inter-word;
  hyphens: none;
  line-height: 1.5;
  font-size: 15.2px;
}

:is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card:is(:hover, :focus-within),
.dks-cc-services .dks-cc-services__grid > .dks-cc-service-card:is(:hover, :focus-within),
.dks-tiles--esg-audit .dks-tile:is(:hover, :focus-within),
.dks-ree-cards-section .dks-tile:is(:hover, :focus-within) {
  transform: translateY(-3px);
  border-color: rgba(143, 191, 0, 0.5);
  box-shadow:
    0 0 0 1px rgba(143, 191, 0, 0.4),
    0 0 22px rgba(143, 191, 0, 0.35),
    0 0 42px rgba(143, 191, 0, 0.2),
    0 10px 24px rgba(6, 17, 34, 0.22);
}

:is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card:is(:hover, :focus-within) .service-card-icon,
.dks-cc-services .dks-cc-services__grid > .dks-cc-service-card:is(:hover, :focus-within) .dks-cc-service-card__icon,
.dks-tiles--esg-audit .dks-tile:is(:hover, :focus-within) .service-card-icon,
.dks-ree-cards-section .dks-tile:is(:hover, :focus-within) .service-card-icon {
  transform: translateY(-1px);
  box-shadow:
    0 0 0 1px rgba(143, 191, 0, 0.5),
    0 0 12px rgba(143, 191, 0, 0.3),
    0 0 20px rgba(143, 191, 0, 0.18);
}

@media (max-width: 1024px) {
  :is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2,
  .dks-cc-services .dks-cc-services__grid,
  .dks-tiles--esg-audit,
  .dks-ree-cards-section .dks-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  :is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card,
  .dks-cc-services .dks-cc-services__grid > .dks-cc-service-card,
  .dks-tiles--esg-audit .dks-tile,
  .dks-ree-cards-section .dks-tile {
    min-height: 260px;
    padding: 24px 18px 18px;
  }

  :is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card h3,
  .dks-cc-services .dks-cc-service-card h3,
  .dks-tiles--esg-audit .dks-tile__title,
  .dks-ree-cards-section .dks-tile__title {
    font-size: clamp(15px, 2vw, 19px);
  }

  :is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card p,
  .dks-cc-services .dks-cc-service-card p,
  .dks-tiles--esg-audit .dks-tile__desc,
  .dks-ree-cards-section .dks-tile__desc {
    font-size: 13px;
  }
}

@media (max-width: 640px) {
  :is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2,
  .dks-cc-services .dks-cc-services__grid,
  .dks-tiles--esg-audit,
  .dks-ree-cards-section .dks-tiles {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  :is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card,
  .dks-cc-services .dks-cc-services__grid > .dks-cc-service-card,
  .dks-tiles--esg-audit .dks-tile,
  .dks-ree-cards-section .dks-tile {
    min-height: 0;
    padding: 18px 14px 14px;
  }

  :is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card .service-card-icon,
  .dks-cc-services .dks-cc-service-card__icon,
  .dks-tiles--esg-audit .dks-tile .service-card-icon,
  .dks-ree-cards-section .dks-tile .service-card-icon {
    width: 62px;
    height: 62px;
    margin-bottom: 12px;
  }

  :is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card .service-card-icon svg,
  :is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card .service-card-icon img,
  .dks-cc-services .dks-cc-service-card__icon svg,
  .dks-tiles--esg-audit .dks-tile .service-card-icon svg,
  .dks-ree-cards-section .dks-tile .service-card-icon svg {
    width: 30px;
    height: 30px;
  }

  :is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card h3,
  .dks-cc-services .dks-cc-service-card h3,
  .dks-tiles--esg-audit .dks-tile__title,
  .dks-ree-cards-section .dks-tile__title {
    margin-bottom: 8px;
    font-size: clamp(14px, 4.6vw, 18px);
  }

  :is(.dks-section--service-cards, .dks-section--agronomist-cards) .dks-wrap.dks-grid.dks-grid-2 > .dks-card p,
  .dks-cc-services .dks-cc-service-card p,
  .dks-tiles--esg-audit .dks-tile__desc,
  .dks-ree-cards-section .dks-tile__desc {
    font-size: 12.5px;
  }
}

/* Agronomist only: larger/lower titles capped to 2 lines */
.dks-section--agronomist-cards .dks-wrap.dks-grid.dks-grid-2 > .dks-card h3 {
  margin-top: 6px;
  margin-bottom: 10px;
  font-size: clamp(17px, 1.24vw, 23px);
  line-height: 1.18;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}


@media (max-width: 1024px) {
  .dks-section--agronomist-cards .dks-wrap.dks-grid.dks-grid-2 > .dks-card h3 {
    margin-top: 5px;
    font-size: clamp(16px, 2.05vw, 20px);
  }
}

@media (max-width: 640px) {
  .dks-section--agronomist-cards .dks-wrap.dks-grid.dks-grid-2 > .dks-card h3 {
    margin-top: 4px;
    font-size: clamp(15px, 4.9vw, 19px);
  }
}









/* Home ESG leaf pulse */
.dks-leaf-pulse {
  transform-origin: center;
  animation: dks-leaf-pulse 2.2s ease-in-out infinite;
}

@keyframes dks-leaf-pulse {
  0%, 100% { transform: scale(1); }
  35% { transform: scale(1.06); }
  55% { transform: scale(1.02); }
}

@keyframes dks-home-leaf-svg-arrival {
  0% {
    opacity: 0;
    transform: translate(20px, 16px) scale(0.84);
    filter: drop-shadow(0 0 0 rgba(132, 188, 209, 0));
  }
  58% {
    opacity: 1;
    transform: translate(0, 0) scale(1.05);
    filter: drop-shadow(0 0 18px rgba(132, 188, 209, 0.16));
  }
  100% {
    opacity: 1;
    transform: translate(0, 0) scale(1);
    filter: drop-shadow(0 0 8px rgba(132, 188, 209, 0.08));
  }
}

@keyframes dks-home-leaf-vector-heartbeat {
  0%, 24%, 100% {
    opacity: 0.28;
    transform: scale(1);
  }
  32% {
    opacity: 0.4;
    transform: scale(1.09);
  }
  41% {
    opacity: 0.31;
    transform: scale(1.025);
  }
  53% {
    opacity: 0.38;
    transform: scale(1.075);
  }
  68% {
    opacity: 0.28;
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dks-leaf-pulse { animation: none; }
  .dks-hero--home .dks-hero__leaf,
  .dks-hero--home .dks-hero__leaf-svg,
  .dks-hero--home .dks-hero__leaf-svg .leaf-pulse { animation: none; }
}

/* Global lock: all card titles + descriptions use reference color */
.card .card-title,
.card .card-text,
.card > p,
.dks-media-card h3,
.dks-media-card p {
  color: var(--color-text-body) !important;
}

/* Home hero: keep lead paragraph same color as H1. */
.dks-hero .dks-lead--home-hero {
  color: var(--color-white) !important;
}

/* Home kickers: align to primary CTA color (non-hover state). */
body.home .dks-hero .dks-kicker,
body.home .dks-about-strip .dks-kicker,
body.home .dks-section--expertise-home .dks-kicker,
body.home .dks-section--insights-home .dks-kicker {
  color: var(--color-cta-green) !important;
  opacity: 1 !important;
}

body.home .dks-home-about-band__intro .dks-kicker {
  color: #00428a !important;
  -webkit-text-fill-color: #00428a !important;
  opacity: 1 !important;
}

body.home .dks-about-strip h2 {
  color: var(--color-footer-bg) !important;
}

/* About Us */

.dks-about-page {
  background: var(--color-white-700);
}

.dks-about-page .dks-section {
  position: relative;
  padding: clamp(56px, 8vw, 132px) 0;
  --dks-about-separator-top: 0px;
}

.dks-about-page :is(
  .dks-about-identity,
  .dks-about-international,
  .dks-about-methodology,
  .dks-about-quote,
  .dks-section--insights-home,
  .dks-section--events-home
) {
  background: var(--color-white-700);
  background-image: none;
}

.dks-about-page .dks-section + .dks-section {
  border-top: 0;
}

.dks-about-page .dks-section + .dks-section::before {
  content: "";
  position: absolute;
  top: var(--dks-about-separator-top);
  left: 50%;
  width: min(100% - 48px, var(--container));
  height: 1px;
  transform: translateX(-50%);
  background: color-mix(in srgb, var(--color-gray-200) 72%, #ffffff 28%);
}

.dks-about-page p:not(.dks-kicker) {
  font-size: clamp(17px, 1.24vw, 18px);
  line-height: 1.72;
}

.dks-about-split__intro > p,
.dks-about-section-head__lead,
.dks-about-leadership__body p {
  text-align: justify;
  text-justify: inter-word;
}

.dks-about-page :is(.dks-about-identity, .dks-about-quote) p:not(.dks-kicker) {
  color: #00428a !important;
  -webkit-text-fill-color: #00428a;
}

.dks-about-page :is(.dks-about-split__intro > p, .dks-about-section-head__lead, .dks-about-leadership__body p) :is(strong, a) {
  text-decoration: none !important;
}

.dks-about-page h2 {
  margin: 0 0 18px;
  color: var(--color-navy-900);
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.dks-about-page h3 {
  margin: 0 0 12px;
  color: var(--color-navy-900);
  font-size: clamp(20px, 1.75vw, 28px);
  line-height: 1.22;
}

.dks-about-page .dks-kicker {
  margin-bottom: 14px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.22em;
  line-height: 1.36;
  color: var(--color-cta-green) !important;
  -webkit-text-fill-color: var(--color-cta-green) !important;
}

.dks-about-page .dks-reveal {
  opacity: 1;
  transform: none;
  animation: none;
}

@keyframes dks-about-reveal {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.dks-about-page > .dks-about-who-section,
.dks-about-who-section,
.dks-about-page .dks-about-who-section,
.dks-about-who-section.dks-section--alt {
  background: linear-gradient(180deg, #0a4f95 0%, #0a4f95 100%);
  background-color: #0a4f95;
  background-image: linear-gradient(180deg, #0a4f95 0%, #0a4f95 100%);
  color: #ffffff;
  padding-top: clamp(30px, 3.8vw, 54px);
  padding-bottom: clamp(30px, 3.8vw, 54px);
}

.dks-about-who {
  max-width: none;
  margin: 0 auto;
  text-align: center;
}

.dks-about-who h3 {
  margin: 0 0 24px;
  color: #ffffff;
  font-size: clamp(34px, 2.7vw, 48px);
  line-height: 1.06;
  letter-spacing: -0.02em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.18), 0 8px 22px rgba(7, 28, 58, 0.45);
}

.dks-about-who h3::after {
  content: none;
}

.dks-about-who p {
  margin: 0;
  color: rgba(255, 255, 255, 0.92) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
  font-size: clamp(17px, 1.3vw, 19px) !important;
  line-height: 1.7 !important;
  width: 100%;
  max-width: 100%;
  text-align: justify;
  text-justify: inter-word;
}

.dks-about-section-head,
.dks-about-quote__block {
  max-width: 900px;
  margin-inline: auto;
}

.dks-about-section-head__lead {
  margin: 0;
  font-size: clamp(17px, 1.3vw, 19px) !important;
  line-height: 1.7 !important;
  text-wrap: pretty;
  max-width: 1080px;
  margin-inline: auto;
}

.dks-about-page .dks-about-cta p:not(.dks-kicker) {
  color: rgba(255, 255, 255, 0.9) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.9) !important;
}

.dks-about-page .dks-about-cta__inner :is(h2, h3) {
  color: rgba(255, 255, 255, 0.9) !important;
}

.dks-about-page .dks-about-cta__inner :is(p:not(.dks-kicker), h2, h3) :is(strong, a) {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.dks-about-identity {
  background: #f3f6fa;
  background-image: none;
  padding-top: clamp(32px, 4vw, 68px) !important;
  padding-bottom: clamp(4px, 0.7vw, 10px) !important;
}

.dks-about-identity .dks-about-split__intro h2 {
  color: var(--dks-bg-electric);
  font-size: clamp(34px, 2.7vw, 48px);
  line-height: 1.06;
  letter-spacing: -0.02em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.18), 0 8px 22px rgba(7, 28, 58, 0.45);
  white-space: nowrap;
  max-width: 19ch;
}

.dks-about-identity .dks-about-split__intro {
  max-width: min(100%, 860px);
}

.dks-about-identity .dks-about-split__intro > p:not(.dks-kicker) {
  width: 100%;
  max-width: min(100%, 860px);
}

.dks-about-identity .dks-about-split {
  grid-template-columns: minmax(0, 1.16fr) minmax(380px, 0.84fr);
  align-items: stretch;
}

.dks-about-identity .dks-about-world {
  justify-self: stretch;
  align-self: center;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible;
  min-height: 0;
  transform: none;
}

.dks-about-identity .dks-about-world img {
  width: 76%;
  max-width: 76%;
  height: auto;
  min-height: 0;
  max-height: clamp(320px, 27vw, 460px);
  object-fit: contain;
  object-position: center center;
  margin-inline: 0;
  transform: none;
}

.dks-about-split {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: stretch;
}

.dks-about-split__intro {
  max-width: 460px;
  display: flex;
  flex-direction: column;
}

.dks-about-split__intro p:last-child {
  margin-bottom: 0;
}

.dks-about-leadership {
  margin-top: clamp(52px, 6vw, 84px);
  padding-top: clamp(38px, 5vw, 56px);
  border-top: 1px solid color-mix(in srgb, var(--color-gray-200) 72%, #ffffff 28%);
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: stretch;
}

.dks-about-leadership__header {
  display: flex;
  flex-direction: column;
}

.dks-about-leadership__header h3 {
  margin-bottom: 0;
  color: var(--dks-bg-electric);
  font-size: clamp(34px, 2.7vw, 48px);
  line-height: 1.06;
  letter-spacing: -0.02em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.18), 0 8px 22px rgba(7, 28, 58, 0.45);
}

.dks-about-leadership__portrait {
  margin: 32px 0 0;
  width: min(100%, 360px);
  flex: 1 1 auto;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid color-mix(in srgb, var(--color-gray-200) 70%, #ffffff 30%);
  box-shadow: 0 18px 44px rgba(4, 22, 49, 0.08);
  background: #ffffff;
}

.dks-about-leadership__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
}

.dks-about-leadership__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.dks-about-leadership__body p {
  margin: 0;
}

.dks-about-page :is(.dks-about-methodology, .dks-about-cta) p.dks-kicker {
  display: inline-block;
  padding: 0 0 12px !important;
  color: var(--color-accent) !important;
  -webkit-text-fill-color: var(--color-accent);
  font-size: 18px;
  letter-spacing: 0.2em;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  position: relative;
}

.dks-about-page :is(.dks-about-methodology, .dks-about-cta) p.dks-kicker::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 64px;
  height: 1px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
}

.dks-about-page :is(.dks-about-methodology) p.dks-kicker::after {
  left: 50%;
  transform: translateX(-50%);
}

.dks-about-page .dks-about-cta p.dks-kicker::after {
  left: 0;
}

.dks-about-section-head {
  text-align: center;
}

.dks-about-section-head h2 {
  text-align: center;
}

.dks-about-methodology .dks-about-section-head {
  max-width: none;
}

.dks-about-methodology .dks-about-section-head__lead {
  width: 100%;
  max-width: 100%;
  font-size: clamp(17px, 1.3vw, 19px) !important;
  line-height: 1.7 !important;
}

.dks-about-professions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin-top: clamp(34px, 4vw, 50px);
}

.dks-about-profession {
  min-height: 100%;
  padding: 30px 26px;
  background: #ffffff;
  border: 1px solid color-mix(in srgb, var(--color-gray-200) 72%, #ffffff 28%);
  border-radius: 22px;
  box-shadow: 0 14px 38px rgba(4, 22, 49, 0.05);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.dks-about-profession:hover,
.dks-about-profession:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 20px 46px rgba(4, 22, 49, 0.08);
  border-color: color-mix(in srgb, var(--color-navy-700) 18%, #ffffff 82%);
}

.dks-about-profession p {
  margin-bottom: 0;
}

.dks-about-icon {
  width: 68px;
  height: 68px;
  margin-bottom: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: color-mix(in srgb, var(--color-surface) 82%, #ffffff 18%);
  border: 1px solid rgba(4, 22, 49, 0.08);
  color: var(--color-navy-700);
}

.dks-about-icon svg {
  width: 36px;
  height: 36px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.68;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.dks-about-profession h3 {
  max-width: 12ch;
}

.dks-about-profession p {
  color: var(--color-navy-700) !important;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.dks-about-world {
  position: relative;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.dks-about-world::before {
  content: none;
}

.dks-about-world svg {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
}

.dks-about-world img {
  position: relative;
  z-index: 1;
  display: block;
  width: min(100%, 520px);
  max-width: 520px;
  height: auto;
  min-height: 0;
  margin-inline: auto;
  transform: none;
  object-fit: contain;
  object-position: center;
  opacity: 1;
}

.dks-about-world rect {
  fill: none;
  stroke: rgba(255, 255, 255, 0.12);
  stroke-width: 1.2;
}

.dks-about-world path {
  fill: none;
  stroke: rgba(255, 255, 255, 0.24);
  stroke-width: 1.35;
}

.dks-about-world circle {
  fill: var(--color-accent);
  stroke: rgba(255, 255, 255, 0.42);
  stroke-width: 4;
}

.dks-about-methodology {
  background: #f3f6fa;
  background-image: none;
  color: #00428a;
  overflow: hidden;
  padding-top: clamp(18px, 2.4vw, 34px) !important;
}

.dks-about-methodology :is(h2, h3, p:not(.dks-kicker)) {
  color: #00428a !important;
  -webkit-text-fill-color: #00428a !important;
}

.dks-about-methodology .dks-about-step h3 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

@media (max-width: 1100px) {
  .dks-about-identity .dks-about-split__intro h2 {
    white-space: normal;
  }
}

.dks-about-process {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: clamp(28px, 3.2vw, 40px);
}

.dks-about-process::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 74px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
}

.dks-about-step {
  position: relative;
  min-height: 164px;
  padding: 22px 18px 20px;
  border-radius: 22px;
  border: 1px solid rgba(143, 191, 0, 0.42);
  background: var(--dks-bg-electric);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 1px rgba(143, 191, 0, 0.08);
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
  backdrop-filter: blur(8px);
}

.dks-about-step:hover,
.dks-about-step:focus-within {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--color-cta-green) 72%, transparent 28%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 0 1px color-mix(in srgb, var(--color-cta-green) 58%, transparent 42%),
    0 0 22px color-mix(in srgb, var(--color-cta-green) 36%, transparent 64%),
    0 16px 34px rgba(4, 22, 49, 0.18);
}

.dks-about-step .dks-about-icon {
  width: 58px;
  height: 58px;
  margin-bottom: 16px;
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(143, 191, 0, 0.48);
  color: var(--color-cta-green);
}

.dks-about-step .dks-about-icon svg {
  color: #ffffff;
}

.dks-about-step .dks-about-icon {
  box-shadow: inset 0 0 0 1px rgba(143, 191, 0, 0.2);
}

.dks-about-step h3 {
  margin: 0;
  max-width: none;
  color: #ffffff;
  font-size: clamp(18px, 1.46vw, 21px);
  line-height: 1.2;
  white-space: nowrap;
  text-transform: none;
}

/* Compact insights/events variant (used in About) */
.dks-home-insights--compact .dks-home-insight-card {
  min-height: 430px;
  height: 100%;
}

.dks-home-insights--compact .dks-home-insight-card__media {
  aspect-ratio: 1.3 / 0.66;
}

.dks-home-insights--compact .dks-home-insight-card__body {
  padding: 18px 22px 14px;
  gap: 12px;
}

.dks-home-insights--compact .dks-home-insight-card__body h3,
.dks-home-insights--compact .dks-home-insight-card__body h3 a {
  color: var(--dks-bg-electric);
  font-size: clamp(16px, 1.02vw, 17px);
  line-height: 1.22;
}

/* About only: keep spacing only between Methodology and first article-cards section */
.dks-about-page > .dks-about-methodology {
  margin-bottom: clamp(20px, 2vw, 30px);
}

.dks-about-page > .dks-section--insights-home,
.dks-about-page > .dks-section--events-home {
  padding-top: clamp(18px, 1.6vw, 24px);
  padding-bottom: clamp(18px, 1.6vw, 24px);
}

.dks-about-page > .dks-section--events-home {
  padding-bottom: clamp(10px, 1vw, 14px);
}

.dks-about-quote {
  background: var(--dks-light-section-bg);
}

.dks-about-quote {
  padding-top: clamp(18px, 2vw, 28px) !important;
}

.dks-about-methodology + .dks-about-quote {
  margin-top: clamp(20px, 2.8vw, 36px);
}

.dks-about-quote__block {
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
  background: var(--dks-light-section-bg);
  padding-left: clamp(24px, 3vw, 40px);
  padding-right: clamp(24px, 3vw, 40px);
  border-left: 0;
  border-right: 0;
}

.dks-about-quote__block p {
  margin: 0;
  color: var(--color-navy-900) !important;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-size: clamp(17px, 1.24vw, 18px);
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: 0;
  text-align: justify;
  text-justify: inter-word;
}

.dks-about-cta {
  position: relative;
  padding: clamp(6px, 1.05vw, 10px) 0;
  overflow: hidden;
  background: var(--dks-bg-electric);
}

.dks-about-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.05) 52%, transparent 100%),
    linear-gradient(0deg, rgba(255, 255, 255, 0.04) 0, rgba(255, 255, 255, 0.04) 1px, transparent 1px, transparent 86px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 0, rgba(255, 255, 255, 0.03) 1px, transparent 1px, transparent 86px);
  opacity: 0.5;
  pointer-events: none;
}

.dks-about-cta__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 24px;
  align-items: center;
  padding: clamp(6px, 0.9vw, 10px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 24px 54px rgba(4, 22, 49, 0.22);
}

.dks-about-cta__inner h2 {
  margin-bottom: 0;
  max-width: 14ch;
}

.dks-about-cta__inner--insights {
  grid-template-columns: minmax(210px, 0.68fr) minmax(0, 1.62fr) minmax(170px, auto);
  align-items: center;
}

.dks-about-cta__inner--insights > * {
  min-width: 0;
}

.dks-about-cta__carousel {
  width: 100%;
  min-width: 0;
  overflow: visible;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.dks-about-cta__carousel .dks-home-insight-card {
  min-width: 0;
  height: auto;
  min-height: 100%;
}

.dks-about-cta__carousel .dks-home-insight-card__media {
  aspect-ratio: 1.2 / 0.82;
}

.dks-about-cta__carousel .dks-home-insight-card__body {
  padding: 14px 16px 12px;
  gap: 8px;
}

.dks-about-cta__carousel .dks-home-insight-card__body h3 {
  font-size: clamp(15px, 0.98vw, 17px);
  line-height: 1.2;
}

.dks-about-page .dks-about-cta__actions {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.dks-about-page .dks-about-cta__actions .dks-cta {
  width: 100%;
  min-width: 178px;
}

.dks-about-page .dks-about-cta__inner--insights > div:first-child {
  display: grid;
  justify-items: start;
  align-content: center;
  text-align: left;
  gap: 4px;
}

.dks-about-page .dks-about-cta__inner--insights > div:first-child h2 {
  text-align: left;
  font-size: clamp(18px, 1.3vw, 22px);
  max-width: 20ch;
}

.dks-about-page .dks-about-cta__inner--insights > div:first-child .dks-kicker {
  font-size: 15px !important;
  letter-spacing: 0.12em;
}

.dks-about-page .dks-about-cta__inner--insights > div:first-child h2 {
  font-size: clamp(32px, 2.4vw, 42px);
  line-height: 1.08;
  max-width: 14ch;
}

.dks-about-page .dks-about-cta__carousel {
  align-self: center;
  justify-self: start;
  width: 100%;
}

.dks-about-page .dks-about-cta__carousel .dks-home-insight-card {
  min-height: 364px;
}

.dks-about-page .dks-about-cta__carousel .dks-home-insight-card__media {
  aspect-ratio: 1.34 / 0.74;
}

.dks-about-page .dks-about-cta__carousel .dks-home-insight-card__body h3,
.dks-about-page .dks-about-cta__carousel .dks-home-insight-card__body h3 a {
  color: var(--dks-bg-electric) !important;
  -webkit-text-fill-color: var(--dks-bg-electric) !important;
}

.dks-about-page .dks-about-cta__carousel .dks-home-insight-card__badge--events {
  background: var(--dks-bg-electric);
}

.dks-about-page .dks-about-cta__carousel .dks-home-insight-card__badge--events:hover,
.dks-about-page .dks-about-cta__carousel .dks-home-insight-card__badge--events:focus-visible {
  background: color-mix(in srgb, var(--dks-bg-electric) 88%, #041631 12%);
}

.dks-about-page .dks-about-cta__actions .dks-cta--white {
  background: #ffffff !important;
  color: var(--color-navy-900) !important;
  border-color: #ffffff !important;
}

.dks-about-page .dks-about-cta__actions .dks-cta--white:hover,
.dks-about-page .dks-about-cta__actions .dks-cta--white:focus-visible,
.dks-about-page .dks-about-cta__actions .dks-cta--white:active {
  background: #f0f3f7 !important;
  color: var(--color-navy-900) !important;
  border-color: #f0f3f7 !important;
}

.dks-about-page .dks-about-cta__actions .dks-cta--events {
  background: var(--dks-bg-electric) !important;
  border-color: var(--dks-bg-electric) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.dks-about-page .dks-about-cta__actions .dks-cta--events:hover,
.dks-about-page .dks-about-cta__actions .dks-cta--events:focus-visible,
.dks-about-page .dks-about-cta__actions .dks-cta--events:active {
  background: #062147 !important;
  border-color: #062147 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.dks-about-cta__carousel .dks-home-insight-card__date {
  padding: 10px 18px 12px;
}

.dks-about-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.dks-about-cta__actions .dks-cta {
  margin-top: 0;
  min-width: 168px;
}

.dks-about-cta__actions .dks-cta--ghost {
  background: transparent !important;
  border: 0 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.dks-about-cta__actions .dks-cta--ghost:is(:hover, :focus-visible, :active) {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 0 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.dks-vision-body {
  position: relative;
}

.dks-vision-body--paradigm,
.dks-vision-body--convergence {
  background: var(--dks-gradient-blocks) !important;
  background-image: var(--dks-gradient-blocks) !important;
}

.dks-vision-body--paradigm,
.dks-vision-body--convergence {
  color: rgba(255, 255, 255, 0.92);
}

.dks-vision-body .dks-wrap {
  width: min(100% - 52px, var(--container));
}

.dks-vision-body + .dks-vision-body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(100% - 52px, 1120px);
  height: 1px;
  transform: translateX(-50%);
  background: rgba(6, 33, 71, 0.08);
}

.dks-vision-body__meta {
  margin: 0 0 18px;
  color: var(--color-cta-green);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.5;
  text-transform: uppercase;
}

.dks-vision-shell {
  display: grid;
  gap: clamp(28px, 3.8vw, 52px);
  align-items: start;
}

.dks-vision-shell--paradigm {
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
}

.dks-vision-shell--convergence {
  grid-template-columns: 1fr;
  justify-items: center;
}

.dks-vision-title-accent {
  color: rgba(255, 255, 255, 0.94);
  -webkit-text-fill-color: rgba(255, 255, 255, 0.94);
}

.dks-vision-copy {
  display: grid;
  gap: 16px;
}

.dks-vision-body--transition {
  background: linear-gradient(180deg, #edf3fa, #f7f9fc);
  padding-top: 56px;
}

.dks-vision-body--transition .dks-vision-shell {
  display: block;
}

.dks-vision-body--transition .dks-vision-copy {
  display: block;
}

.dks-vision-body--transition h3 {
  margin: 0 0 20px;
  color: var(--dks-bg-electric) !important;
}

.dks-vision-body--transition p {
  margin: 0;
  color: #00428a !important;
  -webkit-text-fill-color: #00428a !important;
  text-align: justify;
  text-justify: inter-word;
}

.dks-vision-transition__block {
  margin-top: 24px;
}

.dks-vision-transition__block--intro {
  display: block;
}

.dks-vision-body h2,
.dks-vision-body h3,
.dks-vision-body h4 {
  color: var(--color-text-deep);
}

:is(.dks-vision-body--paradigm, .dks-vision-body--convergence) :is(h2, h3, h4) {
  color: rgba(255, 255, 255, 0.94);
}

.dks-vision-body h2 {
  margin: 0;
  font-size: clamp(38px, 3.8vw, 58px);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.dks-vision-body h3 {
  margin: 8px 0 0;
  font-size: clamp(23px, 1.95vw, 31px);
  line-height: 1.16;
  letter-spacing: -0.028em;
}

.dks-vision-body h4 {
  margin: 0;
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.dks-vision-body p:not(.dks-kicker):not(.dks-vision-body__meta),
.dks-vision-body li {
  color: var(--color-mega-reference-blue) !important;
  font-size: clamp(17px, 1.16vw, 19px);
  line-height: 1.82;
  text-align: justify;
  text-justify: inter-word;
}

:is(.dks-vision-body--paradigm, .dks-vision-body--convergence) :is(p:not(.dks-kicker):not(.dks-vision-body__meta), li) {
  color: rgba(255, 255, 255, 0.88) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.88) !important;
}

.dks-vision-body p:not(.dks-kicker):not(.dks-vision-body__meta) {
  margin: 0;
}

.dks-vision-body .dks-kicker {
  margin: 0;
  color: var(--color-cta-green) !important;
  -webkit-text-fill-color: var(--color-cta-green) !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.5;
  text-transform: uppercase;
}

.dks-vision-infographic,
.dks-vision-framework,
.dks-vision-framework-note {
  position: relative;
}

.dks-vision-infographic {
  align-self: start;
  display: grid;
  place-items: center;
  min-height: 320px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.dks-vision-infographic svg {
  width: min(100%, 460px);
  height: auto;
  display: block;
}

.dks-vision-infographic img {
  width: min(100%, 920px);
  height: auto;
  display: block;
}

.dks-vision-body--paradigm .dks-vision-infographic img {
  opacity: 0.96;
  filter: saturate(0.98);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 74%, rgba(0, 0, 0, 0.72) 88%, transparent 100%);
  mask-image: radial-gradient(ellipse at center, #000 74%, rgba(0, 0, 0, 0.72) 88%, transparent 100%);
}

.dks-vision-infographic svg :is(circle, path) {
  fill: none;
  stroke: rgba(255, 255, 255, 0.34);
  stroke-width: 1.4;
}

.dks-vision-infographic svg .dks-vision-infographic__node {
  fill: var(--color-footer-bg);
  stroke: rgba(143, 191, 0, 0.84);
}

.dks-vision-framework__item {
  display: grid;
  gap: 10px;
  padding: 18px 18px 16px;
  background: #ffffff;
  border: 1px solid rgba(143, 191, 0, 0.42);
  box-shadow: 0 14px 32px rgba(4, 22, 49, 0.06);
  color: var(--color-text-deep);
  text-decoration: none;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

:is(.dks-vision-framework__item) {
  text-decoration: none !important;
}

:is(.dks-vision-framework__item) :is(a, h2, h3, h4, p, li) {
  text-decoration: none !important;
}

:is(.dks-vision-framework__item):is(:hover, :focus-visible, :focus-within, :active),
:is(.dks-vision-framework__item):is(:hover, :focus-visible, :focus-within, :active) :is(a, h2, h3, h4, p, li) {
  text-decoration: none !important;
}

:is(.dks-vision-body--paradigm, .dks-vision-body--convergence) :is(.dks-vision-card-link, .dks-vision-framework__item) :is(h2, h3, h4, p, li, a) {
  color: var(--color-text-deep) !important;
  -webkit-text-fill-color: currentColor !important;
}

:is(.dks-vision-body--paradigm, .dks-vision-body--convergence) :is(.dks-vision-card-link, .dks-vision-framework__item) .dks-kicker {
  color: var(--color-cta-green) !important;
  -webkit-text-fill-color: var(--color-cta-green) !important;
}

.dks-vision-framework__item:hover,
.dks-vision-framework__item:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(143, 191, 0, 0.72);
  box-shadow: 0 18px 38px rgba(4, 22, 49, 0.09);
}

.dks-vision-framework {
  display: grid;
  gap: 16px;
  align-self: start;
}

.dks-vision-framework .dks-kicker {
  margin: 10px 0 0 38px;
  width: 100%;
  text-align: left;
  font-size: clamp(14px, 1.1vw, 18px);
  line-height: 1.25;
  letter-spacing: 0.08em;
}

.dks-vision-framework__cluster {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: 12px;
}

.dks-vision-framework .dks-vision-expertise {
  margin-left: 0;
  margin-right: -18px;
}

.dks-vision-framework .dks-vision-expertise__nav {
  background: var(--color-cta-green) !important;
  border-color: var(--color-cta-green);
  color: #ffffff;
  box-shadow: 0 0 0 1px rgba(143, 191, 0, 0.34);
}

.dks-vision-framework .dks-vision-expertise__nav:is(:hover, :focus-visible) {
  background: var(--color-cta-green-hover) !important;
  border-color: var(--color-cta-green-hover);
  color: #ffffff;
}

.dks-vision-framework .dks-vision-expertise__track {
  height: 292px;
}

.dks-vision-framework .dks-vision-expertise__slide,
.dks-vision-framework .dks-vision-expertise__slide.is-active {
  width: 35.6%;
}

.dks-vision-framework .dks-vision-expertise__card {
  min-height: 264px;
  padding: 18px 14px;
}

.dks-vision-framework .dks-vision-expertise__summary {
  gap: 10px;
}

.dks-vision-framework .dks-vision-expertise__icon {
  width: 58px;
  height: 58px;
  border-radius: 14px;
}

.dks-vision-framework .dks-vision-expertise__icon svg,
.dks-vision-framework .dks-vision-expertise__icon img {
  width: 32px;
  height: 32px;
}

.dks-vision-framework .dks-vision-expertise__title {
  font-size: clamp(14px, 1.02vw, 16px);
  line-height: 1.2;
}

.dks-vision-body--convergence .dks-vision-copy > h3 {
  color: var(--color-cta-green) !important;
  -webkit-text-fill-color: var(--color-cta-green) !important;
  font-size: clamp(22px, 1.9vw, 30px);
  margin: 0 auto 10px;
  text-align: center;
  white-space: nowrap;
}

.dks-vision-body--convergence .dks-vision-copy {
  max-width: 60ch;
  width: 100%;
  justify-items: center;
  text-align: center;
  margin-inline: auto;
}

.dks-vision-body--convergence .dks-vision-copy > p {
  max-width: 58ch;
  font-size: clamp(21px, 1.42vw, 23px) !important;
  text-align: center !important;
  text-wrap: pretty;
}

.dks-vision-convergence-sep {
  width: min(100%, 620px);
  height: 1px;
  background: rgba(255, 255, 255, 0.28);
}

.dks-vision-framework-note {
  margin-top: 14px;
  min-height: 264px;
  padding: 20px 16px;
  border: 1px solid rgba(143, 191, 0, 0.42);
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(4, 22, 49, 0.06);
  display: grid;
  align-content: start;
  gap: 12px;
  width: calc(100% - 92px);
  margin-left: auto;
  margin-right: auto;
}

.dks-vision-framework-note > .dks-vision-quote-panel__text {
  margin: 0;
  color: var(--color-footer-bg) !important;
  -webkit-text-fill-color: var(--color-footer-bg) !important;
  font-size: clamp(18px, 1.4vw, 22px) !important;
  line-height: 1.54 !important;
  text-align: justify !important;
  text-justify: inter-word !important;
}

.dks-vision-framework-note > .dks-vision-quote-panel__support {
  margin: 0;
  color: var(--color-mega-reference-blue) !important;
  -webkit-text-fill-color: var(--color-mega-reference-blue) !important;
  font-size: clamp(16px, 1.05vw, 18px) !important;
  line-height: 1.66 !important;
  text-align: justify !important;
  text-justify: inter-word !important;
}

@media (max-width: 1080px) {
  .dks-vision-shell--paradigm {
    grid-template-columns: 1fr;
  }

  .dks-vision-infographic {
    min-height: 300px;
  }

  .dks-vision-framework__cluster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .dks-vision-body .dks-wrap {
    width: min(100% - 34px, var(--container));
  }

  .dks-vision-body h2 {
    font-size: clamp(32px, 8vw, 42px);
  }

  .dks-vision-body h3 {
    font-size: clamp(21px, 5.6vw, 26px);
  }

  .dks-vision-body p:not(.dks-kicker):not(.dks-vision-body__meta),
  .dks-vision-body li {
    font-size: 17px;
    line-height: 1.74;
  }

  .dks-vision-transition__block {
    margin-top: 18px;
  }

  .dks-vision-transition__block--intro {
    display: block;
  }

  .dks-vision-framework__cluster { grid-template-columns: 1fr; }

  .dks-vision-infographic {
    min-height: 260px;
    padding: 14px;
  }

  .dks-vision-infographic svg {
    width: min(100%, 380px);
  }

  .dks-vision-framework .dks-vision-expertise {
    margin-right: 0;
  }

  .dks-vision-framework-note {
    min-height: 0;
    padding: 16px 14px;
    width: 100%;
  }

  .dks-vision-framework .dks-kicker {
    margin-left: 0;
  }

  .dks-vision-body--convergence .dks-vision-copy > h3 {
    white-space: normal;
  }
}

.dks-vision-cta {
  background: var(--dks-bg-electric);
}

.dks-vision-cta::before {
  opacity: 0.34;
}

.dks-vision-cta .dks-about-cta__inner {
  background: var(--dks-bg-electric);
  border-color: rgba(255, 255, 255, 0.18);
}

.dks-vision-cta .dks-kicker,
.dks-vision-cta .dks-about-cta__inner h2,
.dks-vision-cta .dks-about-cta__inner p:not(.dks-kicker),
.dks-vision-cta .dks-about-cta__inner :is(strong, a) {
  color: rgba(255, 255, 255, 0.92) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
}

.dks-vision-cta .dks-kicker {
  color: var(--color-cta-green) !important;
  -webkit-text-fill-color: var(--color-cta-green) !important;
  white-space: nowrap;
}

.dks-vision-cta .dks-vision-expertise__card,
.dks-vision-cta .dks-vision-expertise__card :is(h3, p, span) {
  color: var(--color-text-deep) !important;
  -webkit-text-fill-color: currentColor !important;
  text-decoration: none !important;
}

.dks-vision-cta .dks-vision-expertise__card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 24px;
  padding-bottom: 20px;
}

.dks-vision-cta .dks-vision-expertise__summary,
.dks-vision-cta .dks-vision-expertise__summary * {
  color: var(--color-text-deep) !important;
  -webkit-text-fill-color: currentColor !important;
}

.dks-vision-cta .dks-vision-expertise__summary {
  min-height: 100%;
  align-content: center;
  justify-items: center;
  gap: 12px;
}

.dks-vision-cta .dks-vision-expertise__summary .dks-vision-expertise__title {
  color: #00428a !important;
  -webkit-text-fill-color: #00428a !important;
  opacity: 1 !important;
}

.dks-vision-cta .dks-vision-expertise__overlay,
.dks-vision-cta .dks-vision-expertise__overlay * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.dks-vision-cta .dks-vision-expertise__overlay {
  position: static;
  inset: auto;
  display: grid;
  align-content: end;
  justify-items: center;
  gap: 8px;
  padding: 10px 0 0;
  margin-top: auto;
  transform: none;
  opacity: 1;
  background: transparent;
  transition: none;
}

.dks-vision-cta .dks-vision-expertise__desc {
  display: none;
}

.dks-vision-cta .dks-vision-expertise__learn {
  display: none !important;
}

.dks-vision-cta .dks-vision-expertise__icon,
.dks-vision-cta .dks-vision-expertise__icon svg,
.dks-vision-cta .dks-vision-expertise__icon img {
  color: var(--dks-bg-electric) !important;
  filter: brightness(0) saturate(100%) invert(18%) sepia(84%) saturate(1821%) hue-rotate(194deg) brightness(96%) contrast(102%) !important;
}

.dks-vision-cta__inner {
  grid-template-columns: minmax(200px, 0.56fr) minmax(0, 1.44fr) auto;
  gap: 20px 24px;
  align-items: center;
}

.dks-vision-cta__copy {
  max-width: 12.4ch;
}

.dks-vision-cta__copy h2 {
  max-width: 11.8ch;
  line-height: 1.1;
}

.dks-vision-cta__actions {
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 12px;
  min-width: 178px;
}

.dks-vision-cta__actions .dks-cta {
  width: 100%;
  min-width: 178px;
}

.dks-vision-cta .dks-about-cta__actions .dks-cta--ghost {
  background: #ffffff !important;
  color: var(--color-navy-900) !important;
  -webkit-text-fill-color: var(--color-navy-900) !important;
  border: 0 !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8) !important;
}

.dks-vision-cta .dks-about-cta__actions .dks-cta--ghost:is(:hover, :focus-visible, :active) {
  background: rgba(220, 224, 230, 0.98) !important;
  color: #041631 !important;
  -webkit-text-fill-color: #041631 !important;
  box-shadow: 0 0 0 1px rgba(4, 22, 49, 0.15) !important;
  text-decoration: none !important;
}

/* Ensure white ghost CTA keeps dark text in default/rest state. */
.dks-vision-cta .dks-about-cta__actions a.dks-cta.dks-cta--ghost:is(:link, :visited, :not(:hover):not(:focus-visible):not(:active)) {
  color: var(--color-navy-900) !important;
  -webkit-text-fill-color: var(--color-navy-900) !important;
}

.dks-vision-expertise {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 34px;
  gap: 12px;
  align-items: center;
  min-width: 0;
  margin-left: -18px;
}

.dks-vision-expertise__nav {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  align-self: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.92);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.dks-vision-expertise__nav:is(:hover, :focus-visible) {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.3);
}

.dks-vision-expertise__nav:is(:active, :focus) {
  background: var(--color-cta-green);
  border-color: var(--color-cta-green);
  color: #ffffff;
  outline: none;
}

.dks-vision-expertise__viewport {
  position: relative;
  min-width: 0;
  overflow: hidden;
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
}

.dks-vision-expertise.is-dragging .dks-vision-expertise__viewport {
  cursor: grabbing;
}

.dks-vision-expertise__track {
  position: relative;
  height: 316px;
}

.dks-vision-expertise__slide {
  position: absolute;
  top: 0;
  width: 34.2%;
  height: 100%;
  min-width: 0;
  padding: 8px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease, visibility 0.28s ease;
}

.dks-vision-expertise__slide.is-prev,
.dks-vision-expertise__slide.is-active,
.dks-vision-expertise__slide.is-next {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.dks-vision-expertise__slide.is-prev {
  left: 0;
  transform: translateY(0) scale(1);
}

.dks-vision-expertise__slide.is-active {
  left: 50%;
  width: 34.2%;
  transform: translateX(-50%) translateY(-3px) scale(1.01);
  z-index: 2;
}

.dks-vision-expertise__slide.is-next {
  right: 0;
  transform: translateY(0) scale(1);
}

.dks-vision-expertise__slide.is-hidden {
  transform: translateY(10px) scale(0.96);
}

.dks-vision-expertise__card {
  display: grid;
  position: relative;
  min-height: 282px;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 22px 18px;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(4, 22, 49, 0.14);
  overflow: hidden;
  text-decoration: none !important;
}

.dks-vision-expertise__summary {
  display: grid;
  justify-items: center;
  gap: 14px;
  width: 100%;
  text-align: center;
}

.dks-vision-expertise__icon {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: rgba(10, 124, 164, 0.08);
  color: var(--dks-bg-electric);
  box-shadow: inset 0 0 0 1px rgba(10, 124, 164, 0.08);
}

.dks-vision-expertise__icon svg,
.dks-vision-expertise__icon img {
  width: 40px;
  height: 40px;
  display: block;
}

.dks-vision-expertise__icon svg * {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.dks-vision-expertise__icon--asset {
  background: transparent;
  box-shadow: none;
}

.dks-vision-expertise__icon--asset img {
  width: 52px;
  height: 52px;
  object-fit: contain;
}

.dks-vision-expertise__title {
  margin: 0;
  color: #00428a;
  font-size: clamp(16px, 1.16vw, 19px);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.dks-vision-expertise__overlay {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: end;
  justify-items: center;
  gap: 12px;
  padding: 22px 18px 20px;
  background: #00428a;
  transform: translateY(100%);
  opacity: 0;
  transition: transform 1.08s cubic-bezier(0.2, 0.96, 0.22, 1), opacity 0.72s ease;
}

.dks-vision-expertise__card:is(:hover, :focus-within) .dks-vision-expertise__overlay {
  transform: translateY(0);
  opacity: 1;
}

.dks-vision-expertise__desc {
  margin: 0;
  width: 100%;
  color: rgba(255, 255, 255, 0.9) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.9) !important;
  font-size: 14px !important;
  line-height: 1.48 !important;
  text-align: left !important;
  text-wrap: pretty;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dks-vision-expertise__learn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  width: fit-content;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--color-cta-green);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none !important;
  white-space: nowrap;
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.dks-vision-expertise__learn:is(:hover, :focus-visible) {
  background: var(--color-cta-green-hover);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  transform: translateY(-1px);
}

@media (max-width: 1180px) {
  .dks-vision-cta__inner {
    grid-template-columns: minmax(200px, 0.62fr) minmax(0, 1fr);
  }

  .dks-vision-cta__actions {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: flex-start;
    min-width: 0;
  }

  .dks-vision-cta__actions .dks-cta {
    width: auto;
  }
}

@media (max-width: 900px) {
  .dks-vision-cta__inner {
    grid-template-columns: 1fr;
  }

  .dks-vision-cta__copy {
    max-width: 14ch;
  }

  .dks-vision-expertise__track {
    height: 314px;
  }

  .dks-vision-expertise__slide {
    width: 34%;
  }

  .dks-vision-expertise__slide.is-active {
    left: 50%;
    width: 34%;
  }

  .dks-vision-expertise__slide.is-prev {
    left: 0;
  }

  .dks-vision-expertise__slide.is-next {
    right: 0;
  }

}

@media (max-width: 767px) {
  .dks-vision-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .dks-vision-cta__actions .dks-cta {
    width: 100%;
  }

  .dks-vision-expertise__track {
    height: 340px;
  }

  .dks-vision-expertise__slide {
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    transform: none !important;
  }

  .dks-vision-expertise__slide.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .dks-vision-expertise__slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .dks-vision-expertise__card {
    min-height: 324px;
  }

  .dks-vision-expertise__overlay {
    transform: translateY(0);
    opacity: 1;
    position: static;
    margin-top: 16px;
    border-radius: 18px;
  }

}

@media (max-width: 1080px) {
  .dks-about-split,
  .dks-about-leadership,
  .dks-about-cta__inner {
    grid-template-columns: 1fr;
  }

  .dks-about-identity .dks-about-split {
    gap: 24px;
    align-items: start;
  }

  .dks-about-identity .dks-about-split__intro {
    max-width: 100%;
  }

  .dks-about-identity .dks-about-split__intro h2 {
    white-space: normal;
    max-width: 100%;
  }

  .dks-about-identity .dks-about-split__intro > p:not(.dks-kicker) {
    max-width: 100%;
  }

  .dks-about-identity .dks-about-world {
    justify-self: center;
    align-self: start;
    width: min(100%, 360px);
    max-width: min(82vw, 360px);
    margin-inline: auto;
  }

  .dks-about-identity .dks-about-world img {
    width: 100%;
    max-width: 100%;
    max-height: none;
  }

  .dks-about-professions,
  .dks-about-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dks-about-leadership__body {
    grid-template-columns: 1fr;
  }

  .dks-about-process::before {
    display: none;
  }

  .dks-about-cta__actions {
    justify-content: flex-start;
  }

  .dks-about-cta__carousel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .dks-about-page .dks-section {
    padding: clamp(56px, 9vw, 72px) 0;
  }

  .dks-about-identity .dks-about-split__intro h2 {
    white-space: normal;
    max-width: 100%;
    font-size: clamp(31px, 9vw, 40px);
    line-height: 1.08;
  }

  .dks-about-identity .dks-about-split__intro > p:not(.dks-kicker) {
    text-align: left;
    text-justify: auto;
  }

  .dks-about-identity .dks-about-split {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .dks-about-identity .dks-about-world {
    justify-self: center;
    align-self: center;
    width: min(100%, 280px);
    max-width: min(78vw, 280px);
    margin-inline: auto;
  }

  .dks-about-professions,
  .dks-about-process {
    grid-template-columns: 1fr;
  }

  .dks-about-process::before {
    display: none;
  }

  .dks-about-profession h3,
  .dks-about-step h3 {
    max-width: none;
  }

  .dks-about-quote__block {
    padding-left: 22px;
  }

  .dks-about-cta__inner {
    padding: 28px 24px;
  }

  .dks-about-cta__inner h2 {
    max-width: none;
  }

  .dks-about-cta__actions {
    width: 100%;
  }

  .dks-about-cta__actions .dks-cta {
    width: 100%;
  }

  .dks-about-cta__carousel {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dks-about-page .dks-reveal {
    animation: none !important;
  }

  .dks-about-pillar,
  .dks-about-profession {
    transition: none !important;
  }
}

/* Expertise detail cards: stable sizing lock */
.dks-section--expertise-detail .dks-cards-grid--expertise-detail-cards > .card {
  min-height: 272px;
  padding: 30px 26px 24px;
  gap: 12px;
}

/* Articles */

.dks-post-page {
  background: var(--color-surface);
}

.dks-post-hero {
  padding: 48px 0 0;
}

.dks-post-hero .dks-wrap {
  max-width: 980px;
  gap: 18px;
}

.dks-post-hero__card {
  padding: 28px 32px 60px;
  background: var(--dks-gradient-header);
  border: 1px solid rgba(143, 191, 0, 0.42);
  border-bottom: none;
  border-radius: 16px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: 0 8px 24px rgba(4, 22, 49, 0.2);
}

.dks-post-hero__terms {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 14px;
}

.dks-post-hero__directory {
  margin: 0 auto 14px;
}

.dks-post-hero__directory .dks-expertise-directory__list {
  justify-content: center;
}

.dks-post-hero__terms a,
.dks-post-card__terms a {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(4, 22, 49, 0.12);
  background: #ffffff;
  color: #00428a !important;
  -webkit-text-fill-color: #00428a !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none !important;
}

.dks-post-hero__terms a:hover,
.dks-post-hero__terms a:focus-visible,
.dks-post-card__terms a:hover,
.dks-post-card__terms a:focus-visible {
  background: var(--color-cta-green) !important;
  border-color: var(--color-cta-green) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-decoration: underline !important;
}

.dks-post-hero h1 {
  margin: 0 auto;
  max-width: 760px;
  text-align: left;
  text-justify: inter-word;
  hyphens: none;
  color: #ffffff;
}
.dks-post-hero__card h1::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.95), rgba(127, 216, 255, 0.76));
}
.dks-post-hero__excerpt {
  margin: 18px auto 0;
  max-width: 760px;
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.7;
  text-align: justify;
  text-justify: inter-word;
  text-align-last: left;
  hyphens: none;
}

.dks-post-shell {
  padding: 22px 0 80px;
}

.dks-post-shell .dks-wrap,
.dks-post-author .dks-wrap,
.dks-post-related .dks-wrap {
  max-width: 1120px;
}

.dks-post-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0 auto 34px;
  max-width: 960px;
  padding: 22px 26px;
  border-top: none;
  border-bottom: 1px solid rgba(4, 22, 49, 0.12);
  justify-items: center;
  text-align: center;
}

.dks-post-meta__item {
  display: grid;
  gap: 6px;
  color: var(--color-navy-800);
}

.dks-post-meta__item strong {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-cta-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.dks-post-meta__item strong::before {
  content: "";
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  background: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 12a5 5 0 1 0-5-5'/%3E%3Cpath d='M12 14c-4 0-7 2-7 5v1h14v-1c0-3-3-5-7-5z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 12a5 5 0 1 0-5-5'/%3E%3Cpath d='M12 14c-4 0-7 2-7 5v1h14v-1c0-3-3-5-7-5z'/%3E%3C/svg%3E");
}

.dks-post-meta__item:nth-child(2) strong::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
}

.dks-post-meta__item:nth-child(3) strong::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpolyline points='12 7 12 12 16 14'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpolyline points='12 7 12 12 16 14'/%3E%3C/svg%3E");
}

.dks-post-meta__item em {
  font-style: normal;
  font-size: 16px;
  line-height: 1.55;
}

.dks-post-feature {
  margin: 0 auto 40px;
  max-width: 760px;
}

.dks-post-feature__image,
.dks-post-feature img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 24px;
  box-shadow: var(--shadow-2);
}

.dks-post-content {
  width: min(100%, 760px);
  margin: 0 auto;
  color: #00428a;
}

.dks-post-content > *:first-child {
  margin-top: 0 !important;
}

.dks-post-content p,
.dks-post-content li,
.dks-post-content blockquote {
  color: #00428a;
  font-size: clamp(17px, 1.2vw, 19px);
  line-height: 1.85;
  text-align: justify;
  text-justify: inter-word;
}

.dks-post-content p {
  margin: 0 0 24px;
}

.dks-post-content strong,
.dks-post-content b,
.dks-post-content em {
  color: var(--color-navy-800);
}

.dks-post-content h2,
.dks-post-content h3,
.dks-post-content h4 {
  margin-top: 56px;
  margin-bottom: 18px;
  color: #00428a;
  letter-spacing: -0.02em;
  text-align: left;
  text-align-last: left;
}

.dks-post-content h2 {
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.14;
}

.dks-post-content h3 {
  font-size: clamp(24px, 2.2vw, 30px);
  line-height: 1.18;
}

.dks-post-content ul,
.dks-post-content ol {
  margin: 0 0 28px;
  padding-left: 1.3em;
}

.dks-post-content li + li {
  margin-top: 10px;
}

.dks-post-content hr {
  margin: 54px 0;
  border: 0;
  border-top: 1px solid rgba(4, 22, 49, 0.14);
}

.dks-post-content figure,
.dks-post-content .wp-block-image,
.dks-post-content .wp-block-group,
.dks-post-content .wp-block-columns {
  margin-top: 34px;
  margin-bottom: 34px;
}

.dks-post-content .wp-block-image img,
.dks-post-content figure img {
  border-radius: 20px;
}

.dks-post-content figcaption {
  margin-top: 10px;
  color: rgba(4, 22, 49, 0.58);
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}

.dks-post-content blockquote {
  margin: 42px 0;
  padding: 6px 0 6px 24px;
  border-left: 2px solid rgba(143, 191, 0, 0.72);
}

.dks-post-content a {
  color: var(--color-navy-800);
  text-decoration: underline;
  text-decoration-color: rgba(143, 191, 0, 0.8);
  text-underline-offset: 4px;
}

.dks-post-author {
  padding-top: 0;
}

.dks-post-author__box {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 28px;
  max-width: 760px;
  margin: 0 auto;
  padding: 30px 34px;
  border: 1px solid rgba(4, 22, 49, 0.12);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.86) 0%, rgba(237, 243, 250, 0.96) 100%);
}

.dks-post-author__avatar img {
  display: block;
  width: 88px;
  height: 88px;
  border-radius: 50%;
}

.dks-post-author__body h2 {
  margin-bottom: 10px;
  font-size: clamp(28px, 2.5vw, 38px);
}

.dks-post-author__body p:not(.dks-kicker) {
  margin: 0;
  color: var(--color-mega-reference-blue);
  font-size: 17px;
  line-height: 1.75;
  text-align: justify;
}

.dks-post-related {
  padding-top: 70px;
  padding-bottom: 96px;
}

.dks-post-related__head {
  display: grid;
  gap: 8px;
  margin: 0 auto 30px;
  max-width: 760px;
}

.dks-post-related__head .dks-kicker {
  font-size: 15px;
  letter-spacing: 0.16em;
}

.dks-post-related__head h2 {
  margin: 0;
  color: var(--dks-bg-electric);
}

.dks-post-related__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}

.dks-post-related__cols--single {
  grid-template-columns: 1fr;
}

.dks-post-related__label {
  margin: 0 0 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-cta-green);
}

.dks-post-related__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.dks-post-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: start;
  gap: 0;
  padding: 0;
  border-radius: 18px;
  border: 1px solid rgba(4, 22, 49, 0.1);
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(4, 22, 49, 0.06);
  overflow: hidden;
  position: relative;
}

.dks-post-card__hit {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.dks-post-card__media {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.dks-post-card__media img,
.dks-post-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dks-post-card__image--placeholder {
  min-height: 100px;
  background: linear-gradient(135deg, rgba(4, 66, 138, 0.08), rgba(4, 66, 138, 0.04));
}

.dks-post-card__body {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  align-content: start;
  gap: 10px;
  padding: 16px 18px 18px;
  position: relative;
  z-index: 2;
}

.dks-post-card__body .dks-post-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.dks-post-card__terms {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dks-post-card__meta > span {
  color: rgba(4, 22, 49, 0.56);
  font-size: 13px;
  line-height: 1.4;
}

.dks-post-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(4, 22, 49, 0.08);
}

.dks-post-card__date {
  color: rgba(4, 22, 49, 0.52);
  font-size: 13px;
  line-height: 1.4;
}

.dks-post-card__terms a {
  border-color: rgba(4, 22, 49, 0.12);
  background: rgba(4, 22, 49, 0.03);
  color: var(--color-navy-800) !important;
}

.dks-post-card__badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid var(--color-cta-green);
  background: var(--color-cta-green);
  color: #ffffff !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
  text-decoration: none !important;
}

.dks-post-card__badge--events {
  border-color: var(--dks-bg-electric);
  background: var(--dks-bg-electric);
}

.dks-post-card__badge:hover,
.dks-post-card__badge:focus-visible {
  background: color-mix(in srgb, var(--color-cta-green) 86%, #0f3f1a 14%);
  border-color: color-mix(in srgb, var(--color-cta-green) 86%, #0f3f1a 14%);
  color: #ffffff !important;
}

.dks-post-card__badge--events:hover,
.dks-post-card__badge--events:focus-visible {
  background: color-mix(in srgb, var(--dks-bg-electric) 86%, #041631 14%);
  border-color: color-mix(in srgb, var(--dks-bg-electric) 86%, #041631 14%);
}

.dks-post-card__body h3 {
  margin: 0;
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.24;
}

.dks-post-card__body h3 a {
  color: var(--dks-bg-electric);
}

.dks-post-card__body p {
  margin: 0;
  color: var(--color-mega-reference-blue);
  font-size: 14px;
  line-height: 1.55;
  text-align: justify;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dks-post-card__cta {
  color: var(--color-accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: 1px solid var(--color-cta-green);
  padding: 6px 12px;
  border-radius: 999px;
  text-decoration: none;
  justify-self: center;
  align-self: center;
  margin-top: 0;
}

.dks-post-card__cta:hover,
.dks-post-card__cta:focus-visible {
  text-decoration: underline;
}

.dks-post-card:hover,
.dks-post-card:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(4, 22, 49, 0.1), 0 0 0 1px rgba(130, 196, 0, 0.38), 0 0 24px rgba(130, 196, 0, 0.3);
}

@media (max-width: 1080px) {
  .dks-post-related__cols {
    grid-template-columns: 1fr;
  }
  .dks-post-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .dks-post-related__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .dks-post-hero {
    padding: 38px 0 28px;
  }

  .dks-post-meta {
    grid-template-columns: 1fr;
    padding: 18px 20px;
  }

  .dks-post-shell {
    padding: 52px 0 68px;
  }

  .dks-post-content {
    width: 100%;
  }

  .dks-post-content p,
  .dks-post-content li,
  .dks-post-content blockquote {
    font-size: 17px;
  }

  .dks-post-author__box {
    grid-template-columns: 1fr;
    padding: 24px 22px;
  }

  .dks-post-author__avatar {
    display: flex;
    justify-content: flex-start;
  }
}

.dks-blog-hero {
  position: relative;
  overflow: hidden;
  background: var(--dks-gradient-blocks);
  padding: clamp(42px, 5.2vw, 72px) 0 clamp(38px, 4.6vw, 60px);
}

.dks-blog-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.06) 0, rgba(255, 255, 255, 0.06) 1px, transparent 1px, transparent 118px),
    linear-gradient(0deg, rgba(255, 255, 255, 0.05) 0, rgba(255, 255, 255, 0.05) 1px, transparent 1px, transparent 118px),
    radial-gradient(circle at 16% 18%, rgba(255, 255, 255, 0.12), transparent 30%);
  opacity: 0.46;
  pointer-events: none;
}

.dks-blog-hero .dks-wrap {
  position: relative;
  z-index: 1;
  max-width: min(100% - 48px, 940px);
}

.dks-blog-hero h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1.04;
  letter-spacing: -0.03em;
  text-shadow: none;
}

.dks-blog-hero__excerpt {
  margin: 18px 0 0;
  max-width: 760px;
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.72;
}

.dks-blog-archive {
  background: linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 76%, #ffffff 24%) 0%, #ffffff 100%);
}

.dks-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

.dks-blog-card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  background: #ffffff;
  border: 1px solid rgba(4, 22, 49, 0.08);
  border-radius: 0;
  box-shadow: 0 10px 24px rgba(4, 22, 49, 0.04);
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  position: relative;
}

.dks-blog-card__hit {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.dks-blog-card__media,
.dks-blog-card__body {
  position: relative;
  z-index: 2;
}

.dks-blog-card:hover,
.dks-blog-card:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 16px 30px rgba(4, 22, 49, 0.08);
  border-color: rgba(4, 22, 49, 0.14);
}

.dks-blog-card__media {
  display: block;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, rgba(4, 22, 49, 0.08), rgba(45, 115, 151, 0.18));
}

.dks-blog-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dks-blog-card__image--placeholder {
  width: 100%;
  height: 100%;
  background:
    linear-gradient(135deg, rgba(4, 22, 49, 0.07), rgba(45, 115, 151, 0.16)),
    linear-gradient(90deg, rgba(255, 255, 255, 0.14) 0, rgba(255, 255, 255, 0.14) 1px, transparent 1px, transparent 72px),
    linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0, rgba(255, 255, 255, 0.12) 1px, transparent 1px, transparent 72px);
}

.dks-blog-card__body {
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  gap: 14px;
  padding: 28px;
}

.dks-blog-card__category {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--color-cta-green);
  background: var(--color-cta-green);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
  text-decoration: none !important;
}

.dks-blog-card__category:hover,
.dks-blog-card__category:focus-visible {
  background: color-mix(in srgb, var(--color-cta-green) 86%, #0f3f1a 14%) !important;
  border-color: color-mix(in srgb, var(--color-cta-green) 86%, #0f3f1a 14%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-decoration: none !important;
}

.dks-blog-card__category--events {
  background: var(--dks-bg-electric);
  border-color: rgba(10, 79, 149, 0.56);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.dks-blog-card__category--events:hover,
.dks-blog-card__category--events:focus-visible {
  background: color-mix(in srgb, var(--dks-bg-electric) 86%, #041631 14%) !important;
  border-color: color-mix(in srgb, var(--dks-bg-electric) 86%, #041631 14%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.dks-blog-card__title {
  margin: 0;
  color: var(--dks-bg-electric);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.02em;
}

.dks-blog-card__title a {
  color: inherit;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dks-blog-card__excerpt {
  margin: 0;
  color: var(--dks-bg-electric);
  font-size: 16px;
  line-height: 1.72;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dks-blog-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 8px;
  padding-top: 16px;
  border-top: 1px solid rgba(4, 22, 49, 0.08);
}

.dks-blog-card__date {
  color: rgba(4, 22, 49, 0.48);
  font-size: 13px;
  line-height: 1.5;
}

.dks-blog-card__link {
  color: var(--dks-bg-electric);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  border: 1px solid var(--color-cta-green);
  padding: 6px 12px;
  border-radius: 999px;
}

.dks-blog-card__link--events {
  color: #ffffff;
  background: var(--dks-bg-electric);
  border-color: var(--dks-bg-electric);
}

.dks-blog-card__link--events:hover,
.dks-blog-card__link--events:focus-visible {
  background: color-mix(in srgb, var(--dks-bg-electric) 86%, #041631 14%);
  border-color: color-mix(in srgb, var(--dks-bg-electric) 86%, #041631 14%);
  color: #ffffff;
  text-decoration: none;
}

.dks-blog-card__link:hover,
.dks-blog-card__link:focus-visible {
  text-decoration: underline;
}
.dks-blog-pagination {
  margin-top: 44px;
}

.dks-blog-pagination__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dks-blog-pagination__item :is(a, span) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(4, 22, 49, 0.1);
  background: #ffffff;
  color: var(--color-navy-800);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}

.dks-blog-pagination__item .current {
  border-color: var(--dks-bg-electric);
  color: #ffffff;
  background: var(--dks-bg-electric);
}

.dks-blog-empty {
  max-width: 760px;
  margin: 0 auto;
  padding: 12px 0;
  text-align: center;
}

.dks-blog-empty h2 {
  margin-bottom: 12px;
}

.dks-blog-empty p {
  margin: 0;
  color: rgba(4, 22, 49, 0.72);
  font-size: 18px;
  line-height: 1.7;
}

.dks-blog-cta {
  background: var(--dks-bg-electric);
  padding-top: clamp(48px, 6vw, 72px);
  padding-bottom: clamp(48px, 6vw, 72px);
}

.dks-blog-cta__box {
  padding: 28px 32px 28px 28px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(143, 191, 0, 0.5);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(4, 22, 49, 0.16);
}

.dks-blog-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
  gap: 28px 36px;
  align-items: center;
}

.dks-blog-cta__title-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dks-blog-cta__title-col .dks-kicker {
  margin: 0;
  color: var(--color-cta-green) !important;
  -webkit-text-fill-color: var(--color-cta-green) !important;
  font-size: 14px;
  letter-spacing: 0.1em;
}

.dks-blog-cta__title-col h2 {
  margin: 0;
  color: #ffffff;
  max-width: none;
  font-size: clamp(18px, 1.6vw, 24px);
  line-height: 1.32;
}

.dks-blog-cta__carousel {
  min-width: 0;
}

.dks-blog-cta__carousel .dks-vision-expertise {
  max-width: 100%;
}

.dks-blog-cta--expertise .dks-blog-cta__inner {
  grid-template-columns: minmax(210px, 0.84fr) minmax(0, 2.5fr) minmax(148px, 0.66fr);
  gap: 16px 18px;
  align-items: center;
}

.dks-blog-cta--expertise .dks-blog-cta__actions {
  align-items: flex-start;
  justify-content: center;
}

.dks-blog-cta--expertise .dks-blog-cta__actions .dks-cta {
  min-width: 138px;
}

.dks-blog-cta--expertise .dks-expertise-cta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}

.dks-blog-cta--expertise .dks-expertise-cta-grid__item {
  min-width: 0;
}

.dks-blog-cta--expertise .dks-expertise-cta-grid .dks-vision-expertise__card {
  min-height: 182px;
  padding: 16px 14px;
  border-radius: 0;
}

.dks-blog-cta--expertise .dks-expertise-cta-grid .dks-vision-expertise__summary {
  gap: 10px;
  grid-template-rows: auto 1fr auto;
  align-content: start;
  justify-items: center;
}

.dks-blog-cta--expertise .dks-expertise-cta-grid .dks-vision-expertise__icon {
  width: 66px;
  height: 66px;
  border-radius: 10px;
}

.dks-blog-cta--expertise .dks-expertise-cta-grid .dks-vision-expertise__icon svg,
.dks-blog-cta--expertise .dks-expertise-cta-grid .dks-vision-expertise__icon img {
  width: 40px;
  height: 40px;
}

.dks-blog-cta--expertise .dks-expertise-cta-grid .dks-vision-expertise__title {
  font-size: 16px;
  line-height: 1.2;
  min-height: 2.4em;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  white-space: normal;
  max-width: none;
}

.dks-blog-cta--expertise .dks-expertise-cta-grid .dks-vision-expertise__icon,
.dks-blog-cta--expertise .dks-expertise-cta-grid .dks-vision-expertise__icon svg,
.dks-blog-cta--expertise .dks-expertise-cta-grid .dks-vision-expertise__icon img {
  color: var(--dks-bg-electric) !important;
  filter: brightness(0) saturate(100%) invert(18%) sepia(84%) saturate(1821%) hue-rotate(194deg) brightness(96%) contrast(102%) !important;
}

.dks-blog-cta--expertise .dks-expertise-cta-grid .dks-vision-expertise__overlay {
  display: none;
}

/* Carousel cards più basse nel CTA expertise */
.dks-blog-cta__carousel .dks-vision-expertise__track {
  height: 200px;
}

.dks-blog-cta__carousel .dks-vision-expertise__card {
  min-height: 168px;
  padding: 16px 14px;
}

.dks-blog-cta__carousel .dks-vision-expertise__icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
}

.dks-blog-cta__carousel .dks-vision-expertise__icon svg,
.dks-blog-cta__carousel .dks-vision-expertise__icon img {
  width: 28px;
  height: 28px;
}

.dks-blog-cta__carousel .dks-vision-expertise__summary {
  gap: 8px;
}

.dks-blog-cta__carousel .dks-vision-expertise__title {
  font-size: 15px;
}

.dks-blog-cta--expertise .dks-vision-expertise__overlay {
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 10px;
  padding-top: 20px;
}

.dks-blog-cta--expertise .dks-vision-expertise__desc {
  display: block;
  color: rgba(255, 255, 255, 0.94);
  -webkit-text-fill-color: rgba(255, 255, 255, 0.94);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: center;
  -webkit-line-clamp: unset;
  overflow: visible;
}

.dks-blog-cta__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: stretch;
}

.dks-blog-cta__actions .dks-cta {
  min-width: 164px;
  justify-content: center;
}

.dks-blog-cta__actions .dks-cta--white {
  background: #ffffff !important;
  color: var(--color-navy-900) !important;
  border: 0 !important;
}

.dks-blog-cta__actions .dks-cta--white:hover,
.dks-blog-cta__actions .dks-cta--white:focus-visible,
.dks-blog-cta__actions .dks-cta--white:active {
  background: rgba(220, 224, 230, 0.98) !important;
  color: #041631 !important;
}

/* Responsive stabilization pass */
@media (max-width: 1400px) {
  :is(.dks-section--insights-home-top, .dks-section--insights-home, .dks-section--events-home) .dks-home-insight-card {
    min-height: 500px;
  }
}

@media (max-width: 1200px) {
  .dks-section--insights-home-top .dks-wrap {
    width: min(100% - 34px, 1200px);
  }

  .dks-section--insights-home-top .dks-home-insights__cards--wide {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .dks-section--insights-home-top .dks-home-insights__intro--top,
  .dks-section--insights-home-top .dks-home-insights__intro--top h2 {
    text-align: center;
  }

  :is(.dks-section--insights-home-top, .dks-section--insights-home, .dks-section--events-home) .dks-home-insight-card {
    min-height: 0;
    height: auto;
  }

  .dks-blog-cta--expertise .dks-blog-cta__inner {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .dks-blog-cta--expertise .dks-expertise-cta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dks-blog-cta--expertise .dks-blog-cta__actions {
    align-items: stretch;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (max-width: 900px) {
  .dks-page-hero--compliance .dks-page-hero__content {
    width: min(100% - 28px, 980px);
  }

  .dks-page-title.dks-page-hero--compliance .dks-page-hero__lead {
    text-align: justify;
    text-align-last: left;
  }

  .dks-about-identity .dks-about-split {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .dks-about-identity .dks-about-split__intro,
  .dks-about-identity .dks-about-split__intro > p:not(.dks-kicker) {
    max-width: 100%;
  }

  .dks-about-identity .dks-about-world {
    width: min(100%, 300px);
    max-width: min(78vw, 300px);
    justify-self: center;
    align-self: center;
    margin-inline: auto;
  }
}

@media (max-width: 1024px) {
  .dks-section--insights-home:not(.dks-section--insights-home-top) .dks-home-insights,
  .dks-section--events-home .dks-home-insights,
  .dks-section--insights-expertise .dks-home-insights {
    display: block;
  }

  .dks-section--insights-home:not(.dks-section--insights-home-top) .dks-home-insights__intro,
  .dks-section--events-home .dks-home-insights__intro,
  .dks-section--insights-expertise .dks-home-insights__intro {
    width: 100%;
    align-items: flex-start;
    text-align: left;
    margin-bottom: 18px;
  }

  .dks-section--insights-home:not(.dks-section--insights-home-top) .dks-home-insights__cards,
  .dks-section--events-home .dks-home-insights__cards {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(84%, 1fr);
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }

  .dks-section--insights-expertise .dks-home-insights__cards--wide {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    gap: 14px;
    overflow: visible;
    scroll-snap-type: none;
    padding-bottom: 0;
  }

  .dks-section--insights-home:not(.dks-section--insights-home-top) .dks-home-insight-card,
  .dks-section--events-home .dks-home-insight-card {
    width: auto;
    min-width: 0;
    scroll-snap-align: start;
  }

  .dks-section--insights-expertise .dks-home-insight-card {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  :is(.dks-section--insights-home, .dks-section--events-home, .dks-section--insights-expertise) .dks-home-insight-card {
    min-height: 0;
    height: auto;
  }

  :is(.dks-section--insights-home, .dks-section--events-home, .dks-section--insights-expertise) .dks-home-insight-card__body {
    padding: 18px 18px 16px;
  }

  :is(.dks-section--insights-home, .dks-section--events-home, .dks-section--insights-expertise) .dks-home-insight-card__body h3 {
    font-size: clamp(19px, 5.6vw, 22px);
    line-height: 1.3;
  }

  :is(.dks-section--insights-home, .dks-section--events-home, .dks-section--insights-expertise) .dks-home-insight-card__date {
    padding: 10px 18px 14px;
  }

  .dks-home-insight-card__body h3 {
    text-align: left;
    text-wrap: pretty;
  }

  .dks-blog-cta--expertise .dks-expertise-cta-grid {
    grid-template-columns: 1fr;
  }

  .dks-about-cta__inner--insights {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .dks-about-cta__carousel {
    grid-template-columns: 1fr;
  }

  .dks-about-page .dks-about-cta__actions {
    width: 100%;
    align-items: stretch;
  }
}

@media (max-width: 1100px) {
  .dks-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dks-blog-cta__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .dks-blog-cta__actions {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (max-width: 1024px) {
  .dks-home-insights--mobile-carousel {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .dks-home-insights--mobile-carousel > .dks-home-insights__intro,
  .dks-home-insights--mobile-stack > .dks-home-insights__intro {
    width: 100%;
    margin-bottom: 0;
    align-items: flex-start;
    text-align: left;
  }

  .dks-home-insights--mobile-carousel > .dks-home-insights__cards {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(84%, 1fr);
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }

  .dks-home-insights--mobile-carousel .dks-home-insight-card {
    width: auto;
    min-width: 0;
    scroll-snap-align: start;
  }

  .dks-home-insights--mobile-stack {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .dks-home-insights--mobile-stack .dks-home-insights__cards--stacked-mobile {
    display: flex;
    flex-direction: column;
    gap: 14px;
    overflow: visible;
    padding-bottom: 0;
  }

  .dks-home-insights--mobile-stack .dks-home-insight-card {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .dks-blog-cta__box {
    padding: 22px 20px;
  }

  .dks-blog-cta__inner {
    gap: 20px;
  }

  .dks-blog-hero {
    padding: 48px 0 44px;
  }

  .dks-blog-grid {
    grid-template-columns: 1fr;
  }

  .dks-blog-card__body {
    padding: 24px;
  }

  .dks-blog-card__footer {
    flex-direction: column;
    align-items: flex-start;
  }
}

.dks-contact-directory {
  margin-top: 0;
}

.dks-contact-directory .dks-expertise-directory__item a {
  color: color-mix(in srgb, var(--color-gray-700) 50%, #ffffff 50%) !important;
  -webkit-text-fill-color: color-mix(in srgb, var(--color-gray-700) 50%, #ffffff 50%) !important;
  text-decoration: none !important;
}

.dks-contact-directory .dks-expertise-directory__item a:hover,
.dks-contact-directory .dks-expertise-directory__item a:focus-visible {
  color: var(--color-cta-green) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(143, 191, 0, 0.85);
}

.dks-contact-directory .dks-expertise-directory__item.is-active a,
.dks-contact-directory .dks-expertise-directory__item a[aria-current="page"] {
  color: var(--color-cta-green) !important;
  -webkit-text-fill-color: var(--color-cta-green) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(143, 191, 0, 0.85);
}

.dks-contact-intro {
  padding-top: 44px;
  padding-bottom: 56px;
}

.dks-contact-intro .dks-lead {
  margin: 0;
  width: 100%;
  max-width: none;
  text-align: justify;
  text-justify: inter-word;
  text-align-last: left;
  font-size: clamp(19px, 1.5vw, 23px);
  line-height: 1.74;
  text-wrap: pretty;
  color: #00428a;
}

.dks-contact-form-section {
  padding-top: 52px;
  padding-bottom: 62px;
  background: var(--dks-gradient-blocks);
  background-image: var(--dks-gradient-blocks);
}

.dks-contact-form-shell {
  width: min(100%, 980px);
  margin: 0 auto;
  padding: 34px 30px 38px;
  border-radius: 20px;
  border: 1px solid rgba(143, 191, 0, 0.35);
  box-shadow:
    0 0 0 1px rgba(143, 191, 0, 0.2),
    0 0 24px rgba(143, 191, 0, 0.18),
    0 0 48px rgba(143, 191, 0, 0.08);
  text-align: center;
}
.dks-contact-form-shell .dks-kicker {
  margin: 0 auto 12px;
  width: fit-content;
  min-height: 38px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--color-cta-green);
  border-radius: 999px;
  border: 1px solid rgba(143, 191, 0, 0.46);
  background: rgba(255, 255, 255, 0.08);
  font-size: 11px;
  letter-spacing: 0.12em;
}

.dks-contact-form-shell h2 {
  margin: 0;
  text-align: center;
  color: #ffffff;
  font-size: clamp(25px, 3vw, 34px);
  letter-spacing: -0.02em;
}

.dks-contact-form-note {
  margin: 8px 0 20px;
  text-align: center;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(16px, 1.6vw, 20px);
}

.dks-contact-form-cf7 .wpcf7 {
  margin: 0;
}

.dks-contact-form-cf7 .wpcf7-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}

.dks-contact-form-cf7 .wpcf7-form > p {
  margin: 0;
  display: grid;
  gap: 6px;
}

.dks-contact-form-cf7 .wpcf7-form p:has(textarea),
.dks-contact-form-cf7 .wpcf7-form p:has(.wpcf7-acceptance),
.dks-contact-form-cf7 .wpcf7-form p:has(.wpcf7-submit),
.dks-contact-form-cf7 .wpcf7-form p:has(.wpcf7-spinner) {
  grid-column: 1 / -1;
}

.dks-contact-form-cf7 :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
  width: 100%;
  border: 1px solid rgba(23, 151, 255, 0.28);
  border-radius: 12px;
  background: #ffffff;
  color: var(--color-text-deep);
  min-height: 46px;
  padding: 11px 13px;
  font-size: 16px;
  line-height: 1.3;
}

.dks-contact-form-cf7 textarea {
  min-height: 120px;
  resize: vertical;
}

.dks-contact-form-cf7 :is(input[type="text"], input[type="email"], input[type="tel"], textarea)::placeholder {
  color: rgba(6, 33, 71, 0.46);
}

.dks-contact-form-cf7 :is(input[type="text"], input[type="email"], input[type="tel"], textarea):focus {
  outline: none;
  border-color: rgba(143, 191, 0, 0.7);
  box-shadow: 0 0 0 3px rgba(143, 191, 0, 0.25);
}

.dks-contact-form-cf7 .wpcf7-acceptance label {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 16px;
  line-height: 1.42;
}

.dks-contact-form-cf7 .wpcf7-acceptance input[type="checkbox"] {
  margin-top: 5px;
}

.dks-contact-form-cf7 .wpcf7-acceptance a {
  color: #ff2a2a;
  text-decoration: none;
}

.dks-contact-form-cf7 .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 158px;
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: var(--color-cta-green);
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.dks-contact-form-cf7 .wpcf7-submit:hover,
.dks-contact-form-cf7 .wpcf7-submit:focus-visible {
  background: color-mix(in srgb, var(--color-cta-green) 78%, #15392a 22%);
  transform: translateY(-1px);
}

.dks-contact-form-cf7 .wpcf7-spinner {
  margin-left: 10px;
}

@media (max-width: 900px) {
  .dks-contact-form-cf7 .wpcf7-form {
    grid-template-columns: 1fr;
  }

  .dks-contact-form-note {
    font-size: 18px;
    margin-bottom: 14px;
  }

  .dks-contact-form-cf7 :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
    font-size: 18px;
  }

  .dks-contact-form-cf7 .wpcf7-acceptance label {
    font-size: 15px;
  }

  .dks-contact-form-cf7 .wpcf7-submit {
    width: 100%;
    font-size: 17px;
  }
}
