/*
Theme Name: DakshKraya
Theme URI: https://dakshkraya.com
Author: BeyonData Solutions Pvt. Ltd.
Author URI: https://beyondata.com
Description: Official WordPress theme for DakshKraya - AI-powered public procurement platform. Built for Elementor Free with custom widgets and one-click import.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dakshkraya
Tags: elementor, custom-widgets, one-click-import, procurement, business
*/

/* ==========================================
   ROOT VARIABLES
   ========================================== */
:root {
    --dk-lime:       #8DC63F;
    --dk-forest:     #006B54;
    --dk-slate:      #37474F;
    --dk-white:      #ffffff;
    --dk-surface:    #f9f9f9;
    --dk-surface-container: #eeeeee;
    --dk-outline-variant: #bec9c3;
    --dk-gradient:   linear-gradient(135deg, #8DC63F 0%, #006B54 100%);
    --dk-font-headline: 'Manrope', sans-serif;
    --dk-font-body:     'Public Sans', sans-serif;
}

/* ==========================================
   BASE RESET & TYPOGRAPHY
   ========================================== */
*,
*::before,
*::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    font-family: var(--dk-font-body);
    background-color: var(--dk-surface);
    color: var(--dk-slate);
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    max-width: 100%;
}

/* Site shell: clip any widget bleed (blobs, blur, negative offsets) */
.dk-site {
    overflow-x: clip;
    max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--dk-font-headline);
    color: var(--dk-slate);
    line-height: 1.2;
    margin: 0 0 1rem;
}

a { text-decoration: none; color: var(--dk-forest); }
a:hover { color: var(--dk-lime); }

img { max-width: 100%; height: auto; }

/* ==========================================
   UTILITY CLASSES
   ========================================== */
.dk-gradient-bg  { background: var(--dk-gradient); }
.dk-gradient-text {
    background: var(--dk-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.dk-container {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 2rem;
}
header .dk-container {
    max-width: 100%;
}
a.custom-logo-link {
    width: 15%;
}

/* Glass Nav */
.dk-glass-nav {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* ==========================================
   SITE HEADER & NAVIGATION
   ========================================== */
.dk-site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 0 4px 24px rgba(55, 71, 79, 0.07);
    overflow: visible;
}

.dk-nav-inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 2rem;
    height: 72px;
    position: relative;
}

/* Logo */
.dk-nav-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: var(--dk-forest);
}
.dk-nav-logo img { height: 40px; width: auto; }
.dk-nav-site-name {
    font-family: var(--dk-font-headline);
    font-weight: 800;
    font-size: 1.25rem;
    color: var(--dk-forest);
}

/* Nav links + CTA row (desktop): links centered, CTAs on the right */
.dk-nav-menu-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    min-width: 0;
}
.dk-nav-links {
    display: flex;
    align-items: center;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: center;
    flex: 1;
    min-width: 0;
}
.dk-nav-links li { margin: 0; position: relative; }

/* Multi-level dropdown menus (desktop) */
.dk-nav-links .menu-item-has-children > a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.dk-nav-links .menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    opacity: 0.55;
    transition: transform 0.2s ease;
}
.dk-nav-links .sub-menu {
    display: none;
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 50%;
    transform: translateX(-50%);
    min-width: 13rem;
    margin: 0;
    padding: 0.5rem 0;
    list-style: none;
    background: #fff;
    border-radius: 0.625rem;
    box-shadow: 0 16px 40px rgba(55, 71, 79, 0.14);
    border: 1px solid rgba(55, 71, 79, 0.08);
    z-index: 1001;
}
.dk-nav-links .sub-menu::before {
    content: '';
    position: absolute;
    top: -0.5rem;
    left: 0;
    right: 0;
    height: 0.5rem;
}
.dk-nav-links .menu-item-has-children:hover > .sub-menu,
.dk-nav-links .menu-item-has-children:focus-within > .sub-menu {
    display: block;
}
.dk-nav-links .sub-menu li {
    margin: 0;
}
.dk-nav-links .sub-menu a {
    display: block;
    padding: 0.625rem 1.25rem;
    white-space: nowrap;
    border-bottom: none !important;
    padding-bottom: 0.625rem !important;
}
.dk-nav-links .sub-menu a:hover,
.dk-nav-links .sub-menu .current-menu-item > a {
    background: rgba(141, 198, 63, 0.1);
    color: var(--dk-forest);
    border-bottom: none !important;
}

/* Mobile submenu toggle (hidden on desktop) */
.dk-nav-submenu-toggle {
    display: none;
}

.dk-nav-links a {
    font-family: var(--dk-font-headline);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--dk-slate);
    letter-spacing: -0.01em;
    transition: color 0.2s;
}
.dk-nav-links a:hover,
.dk-nav-links .current-menu-item > a,
.dk-nav-links .current_page_item > a {
    color: var(--dk-lime);
    border-bottom: 2px solid var(--dk-lime);
    padding-bottom: 2px;
}

/* CTA buttons */
.dk-nav-cta {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
    justify-content: flex-end;
}
.dk-nav-login {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--dk-slate);
    transition: color 0.2s;
}
.dk-nav-login:hover { color: var(--dk-forest); }
.dk-nav-demo {
    display: inline-block;
    padding: 0.625rem 1.5rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--dk-white) !important;
    transition: opacity 0.2s, transform 0.15s;
}
.dk-nav-demo:hover { opacity: 0.9; transform: scale(1.02); color: var(--dk-white); }

/* Mobile toggle */
.dk-nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    margin-left: auto;
    flex-shrink: 0;
    z-index: 1000;
    -webkit-tap-highlight-color: transparent;
}
.dk-nav-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--dk-slate);
    border-radius: 2px;
    transition: all 0.3s;
}

/* Body offset for fixed header */
.dk-site { padding-top: 72px; }

/* Mobile nav: top row = logo + hamburger; panel = links then CTAs */
@media (max-width: 768px) {
    a.custom-logo-link {
        width: 60%;
    }
    .dk-nav-inner {
        flex-wrap: wrap;
        gap: 0 0.75rem;
        row-gap: 0;
    }

    .dk-nav-logo {
        flex: 1;
        min-width: 0;
    }

    .dk-nav-toggle {
        display: flex;
        margin-left: auto;
        order: 2;
    }

    .dk-nav-menu-wrap {
        order: 3;
        flex: 1 0 100%;
        width: 100%;
        max-width: 100%;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 8px 24px rgba(55, 71, 79, 0.1);
        padding: 0.5rem 0 1.25rem;
        box-sizing: border-box;
    }

    .dk-nav-menu-wrap.dk-nav-open {
        display: flex;
    }

    .dk-nav-links {
        flex: 0 0 auto;
        flex-direction: column;
        gap: 0;
        align-items: stretch;
        justify-content: flex-start;
    }

    .dk-nav-links a {
        display: block;
        padding: 0.75rem 2rem;
    }

    .dk-nav-links .menu-item-has-children {
        position: relative;
    }

    .dk-nav-links .menu-item-has-children > a {
        padding-right: 3.25rem;
    }

    .dk-nav-links .menu-item-has-children > a::after {
        display: none;
    }

    .dk-nav-links .sub-menu {
        display: none;
        position: static;
        transform: none;
        min-width: 0;
        margin: 0;
        padding: 0;
        background: rgba(55, 71, 79, 0.04);
        border: none;
        border-radius: 0;
        box-shadow: none;
    }

    .dk-nav-links .menu-item-has-children.is-open > .sub-menu {
        display: block;
    }

    .dk-nav-links .sub-menu a {
        padding: 0.625rem 2rem 0.625rem 2.75rem;
    }

    .dk-nav-submenu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0.35rem;
        right: 1rem;
        width: 2.5rem;
        height: 2.5rem;
        padding: 0;
        border: none;
        border-radius: 0.375rem;
        background: transparent;
        color: var(--dk-slate);
        cursor: pointer;
        transition: background 0.2s ease, transform 0.2s ease;
    }

    .dk-nav-submenu-toggle:hover {
        background: rgba(55, 71, 79, 0.06);
    }

    .dk-nav-submenu-toggle__icon {
        display: block;
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 6px solid currentColor;
        transition: transform 0.2s ease;
    }

    .dk-nav-links .menu-item-has-children.is-open > .dk-nav-submenu-toggle .dk-nav-submenu-toggle__icon {
        transform: rotate(180deg);
    }

    .dk-nav-links a:hover {
        border-bottom: none;
        padding-bottom: 0.75rem;
    }

    .dk-nav-cta {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
        padding: 1rem 2rem 0;
        margin-top: 0.5rem;
        border-top: 1px solid rgba(55, 71, 79, 0.1);
        justify-content: stretch;
    }

    .dk-nav-cta .dk-nav-login {
        text-align: center;
        padding: 0.5rem 0;
    }

    .dk-nav-demo {
        display: block;
        text-align: center;
        width: 100%;
        box-sizing: border-box;
    }

    .dk-nav-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .dk-nav-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
    }

    .dk-nav-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }
}

/* Editorial Shadow */
.dk-editorial-shadow {
    box-shadow: 0 20px 40px rgba(55, 71, 79, 0.06);
}

/* ==========================================
   ELEMENTOR OVERRIDES
   ========================================== */
.elementor-page { padding-top: 0 !important; }
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1280px;
}
.elementor-widget:not(:last-child) { margin-bottom: 0; }

/* Avoid horizontal scrollbar: flex/grid children need a floor width */
.elementor-column,
.elementor-column-wrap,
.elementor-widget-wrap {
    min-width: 0;
}

/* ==========================================
   FOOTER
   ========================================== */
.dk-footer {
    background: #f3f4f6;
    border-top: 1px solid var(--dk-outline-variant);
    margin-top: 4rem;
}
/* Tighter footer offset on native blog templates (avoid stacked section padding + large margin) */
body.dk-archive-layout .dk-footer,
body.dk-single-post-layout .dk-footer {
    margin-top: 1.5rem;
}

.dk-footer-inner {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    gap: 3rem;
    padding-top: 4rem;
    padding-bottom: 3rem;
}

/* Brand column */
.dk-footer-brand-name {
    font-family: var(--dk-font-headline);
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--dk-slate);
    margin-bottom: 1rem;
}
.dk-footer-tagline {
    font-size: 0.875rem;
    color: #6b7280;
    line-height: 1.6;
    margin: 0 0 1.5rem;
    max-width: 280px;
}
.dk-footer-social {
    display: flex;
    gap: 0.75rem;
}
.dk-footer-social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    background: var(--dk-white);
    border-radius: 0.5rem;
    box-shadow: 0 1px 4px rgba(55, 71, 79, 0.1);
    color: var(--dk-forest);
    transition: color 0.2s;
}
.dk-footer-social-icon:hover { color: var(--dk-lime); }
.dk-footer-social-icon .material-symbols-outlined { font-size: 1.125rem; }

/* Link columns — widget title acts as column heading */
.dk-footer-col .dk-footer-widget-title,
.dk-footer-col .widget-title {
    font-family: var(--dk-font-headline);
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--dk-forest);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 1.25rem;
}
/* Nav Menu widget inside footer columns */
.dk-footer-col .menu,
.dk-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
}
.dk-footer-col .menu li,
.dk-footer-col ul li { margin: 0; }
.dk-footer-col a {
    font-size: 0.875rem;
    color: #6b7280;
    transition: color 0.2s;
}
.dk-footer-col a:hover {
    color: var(--dk-lime);
    text-decoration: underline;
    text-underline-offset: 3px;
}
/* Text / HTML widget inside brand column */
.dk-footer-brand .dk-footer-widget-title,
.dk-footer-brand .widget-title {
    font-family: var(--dk-font-headline);
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--dk-slate);
    margin: 0 0 1rem;
    text-transform: none;
    letter-spacing: normal;
}
.dk-footer-brand p {
    font-size: 0.875rem;
    color: #6b7280;
    line-height: 1.6;
    margin: 0 0 1rem;
}
/* Bottom bar widget */
.dk-footer-bottom .dk-footer-widget p,
.dk-footer-bottom p {
    font-size: 0.75rem;
    color: #9ca3af;
    text-align: center;
    margin: 0;
}
/* Default copyright fallback */
.dk-footer-copyright {
    font-size: 0.75rem;
    color: #9ca3af;
    text-align: center;
    margin: 0;
}

/* Bottom bar */
.dk-footer-bottom {
    border-top: 1px solid #e5e7eb;
    padding: 1.5rem 0;
}
.dk-footer-copyright {
    font-size: 0.75rem;
    color: #9ca3af;
    text-align: center;
    margin: 0;
}

/* Footer responsive */
@media ( max-width: 1024px ) {
    .dk-footer-inner {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 2rem;
    }
    .dk-footer-brand { grid-column: 1 / -1; }
}
@media ( max-width: 640px ) {
    .dk-footer-inner {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
        padding-top: 2.5rem;
        padding-bottom: 2rem;
    }
    .dk-footer-brand { grid-column: 1 / -1; }
    .dk-footer-tagline { max-width: 100%; }
}

/* ==========================================
   CUSTOM WIDGET STYLES
   ========================================== */

/* --- DK Hero Widget --- */
.dk-hero-wrapper {
    position: relative;
    overflow: hidden;
}
.dk-hero-badge {
    display: inline-block;
    padding: 0.375rem 1rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    border-radius: 9999px;
    margin-bottom: 1.5rem;
}
.dk-hero-badge--lime {
    background-color: #f0fae0;
    color: var(--dk-forest);
}
.dk-hero-h1 {
    font-family: var(--dk-font-headline);
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-bottom: 1.5rem;
}
.dk-hero-subtitle {
    font-size: 1.125rem;
    line-height: 1.7;
    opacity: 0.8;
    max-width: 640px;
    margin-bottom: 2.5rem;
}
.dk-hero-center { text-align: center; }
.dk-hero-center .dk-hero-subtitle { margin-left: auto; margin-right: auto; }
.dk-hero-bg-blob {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 800px;
    height: 800px;
    background: rgba(141,198,63,0.05);
    border-radius: 50%;
    filter: blur(60px);
    z-index: -1;
    pointer-events: none;
}

/* --- DK Solutions Hero (two-column: content + gray visual panel) --- */
/* Match HTML/solutions.html: section px-8 + max-w-7xl mx-auto; stay inside Elementor column/container. */
.dk-solutions-hero {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    padding-left: clamp(1rem, 4vw, 2rem);
    padding-right: clamp(1rem, 4vw, 2rem);
}
.dk-solutions-hero__inner {
    box-sizing: border-box;
    width: 100%;
    max-width: min(80rem, 100%);
    margin-left: auto;
    margin-right: auto;
}
.dk-solutions-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.14fr) minmax(0, 0.86fr);
    align-items: stretch;
    gap: clamp(1.75rem, 4vw, 3rem);
    width: 100%;
    min-width: 0;
}
.dk-solutions-hero__grid--single {
    grid-template-columns: 1fr;
}
.dk-solutions-hero__grid--single .dk-solutions-hero__content {
    max-width: 48rem;
}
.dk-solutions-hero__col--content {
    position: relative;
    z-index: 1;
    align-self: center;
    padding-right: clamp(0px, 2vw, 1rem);
    min-width: 0;
}
.dk-solutions-hero__blob {
    position: absolute;
    top: 10%;
    left: -15%;
    width: min(420px, 70vw);
    height: min(420px, 70vw);
    background: rgba(141, 198, 63, 0.06);
    border-radius: 50%;
    filter: blur(48px);
    z-index: -1;
    pointer-events: none;
}
.dk-solutions-hero__content {
    position: relative;
    z-index: 1;
}
.dk-solutions-hero__badge {
    display: inline-block;
    padding: 0.375rem 1rem;
    margin-bottom: 1.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 9999px;
    background-color: rgba(141, 198, 63, 0.12);
    color: #006b54;
    font-family: var(--dk-font-body);
}
.dk-solutions-hero__h1 {
    font-family: var(--dk-font-headline);
    font-size: clamp(2.75rem, 4.2vw + 1.2rem, 4.5rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.02em;
    margin: 0 0 2rem;
    color: #37474f;
}
.dk-solutions-hero__subtitle {
    font-size: 1.25rem;
    line-height: 1.625;
    color: #546e7a;
    max-width: 36rem;
    margin: 0 0 2.5rem;
}
.dk-solutions-hero__btns {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}
.dk-solutions-hero__col--visual {
    display: flex;
    align-items: stretch;
    min-width: 0;
    min-height: 0;
}
.dk-solutions-hero__visual-panel {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    /*min-height: min(28rem, 52vh);
    min-width: 0;
    padding: clamp(2rem, 5vw, 3.25rem);
    background: #e8e9ec;
    border-radius: 1rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);*/
}
.dk-solutions-hero__visual-img {
    display: block;
    width: auto;
    height: auto;
    max-width: 90%;
    max-height: min(26rem, 44vh);
    object-fit: contain;
    /*opacity: 0.55;*/
    filter: grayscale(0.15) contrast(0.92);
    border-radius: 10px !important;
}
@media (min-width: 1024px) {
    .dk-solutions-hero__visual-img {
        /*max-height: min(28rem, 50vh);*/
        max-height: 100%;
    }
}
@media (max-width: 1023px) {
    .dk-solutions-hero__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .dk-solutions-hero__col--content {
        padding-right: 0;
        order: 1;
    }
    .dk-solutions-hero__col--visual {
        order: 2;
    }
    .dk-solutions-hero__visual-panel {
        min-height: 16rem;
    }
    /*.dk-solutions-hero__visual-img {
        max-height: 14rem;
        opacity: 0.6;
    }*/
}

/* --- DK Knowledge Hub Hero (HTML/resources.html first section) --- */
.dk-kh-hero {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding-left: clamp(1rem, 4vw, 2rem);
    padding-right: clamp(1rem, 4vw, 2rem);
}
.dk-kh-hero__inner {
    box-sizing: border-box;
    width: 100%;
    max-width: min(80rem, 100%);
    margin-left: auto;
    margin-right: auto;
}
.dk-kh-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: clamp(2rem, 5vw, 3rem);
    width: 100%;
    min-width: 0;
}
.dk-kh-hero__col--content {
    position: relative;
    z-index: 2;
    min-width: 0;
}
.dk-kh-hero__content {
    max-width: 40rem;
}
.dk-kh-hero__badge {
    display: inline-block;
    padding: 0.25rem 1rem;
    margin-bottom: 1.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    border-radius: 0.5rem;
    font-family: var(--dk-font-body);
}
.dk-kh-hero__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(2.5rem, 5vw + 1rem, 4.5rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 0 0 2rem;
    color: var(--dk-slate);
    text-wrap: balance;
}
.dk-kh-hero__desc {
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    line-height: 1.65;
    color: #546e7a;
    max-width: 36rem;
    margin: 0 0 2.5rem;
}
.dk-kh-hero__search {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0;
    width: 100%;
    max-width: 22rem;
    padding: 0.25rem;
    padding-right: 1rem;
    background: #fff;
    border-radius: 9999px;
    box-shadow: 0 1px 3px rgba(57, 73, 81, 0.08);
    box-sizing: border-box;
    border: 1px solid rgba(111, 122, 116, 0.12);
}
.dk-kh-hero__search-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    margin-right: 0.75rem;
    border-radius: 9999px;
    background: var(--dk-forest);
    color: #fff;
}
.dk-kh-hero__search-icon .material-symbols-outlined {
    font-size: 1.25rem;
}
.dk-kh-hero__search-input {
    flex: 1 1 auto;
    min-width: 0;
    border: none;
    background: transparent;
    font-family: var(--dk-font-body);
    font-size: 0.875rem;
    color: var(--dk-slate);
    outline: none;
    box-shadow: none;
}
.dk-kh-hero__search-input::placeholder {
    color: #90a4ae;
}
.dk-kh-hero .dk-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.dk-kh-hero__col--visual {
    position: relative;
    min-width: 0;
    padding-bottom: clamp(2rem, 8vw, 3.5rem);
}
.dk-kh-hero__blob {
    position: absolute;
    top: -4rem;
    right: -4rem;
    width: min(24rem, 70vw);
    height: min(24rem, 70vw);
    border-radius: 50%;
    background: rgba(141, 198, 63, 0.2);
    filter: blur(48px);
    opacity: 0.5;
    pointer-events: none;
    z-index: 0;
}
.dk-kh-hero__visual-stack {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 1024px) {
    .dk-kh-hero__visual-stack {
        margin-left: 0;
        margin-right: 0;
        max-width: none;
    }
}
.dk-kh-hero__figure {
    position: relative;
    border-radius: 2.5rem;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(57, 73, 81, 0.25);
    transform: rotate(2deg);
    aspect-ratio: 4 / 3;
}
.dk-kh-hero__figure-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dk-kh-hero__figure-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 107, 84, 0.4), transparent);
    pointer-events: none;
}
.dk-kh-hero__float-card {
    position: absolute;
    left: -0.5rem;
    bottom: -1rem;
    width: min(20rem, calc(100% - 1rem));
    padding: 1.5rem;
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.12);
    border: 1px solid rgba(111, 122, 116, 0.1);
    box-sizing: border-box;
    z-index: 2;
}
.dk-kh-hero__float-head {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.75rem;
}
.dk-kh-hero__float-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.5rem;
    background: rgba(141, 198, 63, 0.12);
    color: var(--dk-forest);
}
.dk-kh-hero__float-icon-wrap .material-symbols-outlined {
    font-size: 1.35rem;
}
.dk-kh-hero__float-title {
    font-family: var(--dk-font-headline);
    font-weight: 700;
    font-size: 0.875rem;
    color: var(--dk-slate);
    line-height: 1.3;
}
.dk-kh-hero__float-text {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.6;
    color: #546e7a;
}
@media (min-width: 1024px) {
    .dk-kh-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 3rem;
    }
    .dk-kh-hero__search {
        max-width: 26rem;
    }
    .dk-kh-hero__float-card {
        left: -1.5rem;
        bottom: -1.5rem;
    }
}
@media (max-width: 1023px) {
    .dk-kh-hero__col--content {
        order: 1;
    }
    .dk-kh-hero__col--visual {
        order: 2;
        padding-bottom: 2.5rem;
    }
    .dk-kh-hero__figure {
        transform: rotate(1deg);
    }
    .dk-kh-hero__blob {
        top: -2rem;
        right: -2rem;
        opacity: 0.35;
    }
}
@media (max-width: 479px) {
    .dk-kh-hero__figure {
        transform: none;
        border-radius: 1.75rem;
    }
    .dk-kh-hero__float-card {
        left: 0.5rem;
        right: 0.5rem;
        bottom: -0.75rem;
        width: auto;
        max-width: none;
    }
    .dk-kh-hero__search {
        max-width: 100%;
    }
}

/* --- DK Button Styles --- */
.dk-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 2.5rem;
    border-radius: 0.75rem;
    font-family: var(--dk-font-headline);
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
    text-decoration: none;
}
.dk-btn-primary {
    background: var(--dk-gradient);
    color: #fff;
    box-shadow: 0 8px 24px rgba(0,107,84,0.2);
}
.dk-btn-primary:hover { transform: scale(1.03); box-shadow: 0 12px 32px rgba(0,107,84,0.28); color: #fff; }
.dk-btn-secondary {
    background: #fff;
    color: var(--dk-forest);
    border: 2px solid rgba(190,201,195,0.4);
}
.dk-btn-secondary:hover { background: var(--dk-surface); color: var(--dk-forest); }

/* Solutions hero CTAs — wins over generic .dk-btn-* for screenshot layout */
.dk-solutions-hero__btns .dk-solutions-hero__btn-primary {
    font-size: 1.125rem;
    padding: 1rem 2rem;
    box-shadow: 0 10px 28px rgba(141, 198, 63, 0.22);
}
.dk-solutions-hero__btns .dk-solutions-hero__btn-secondary.dk-btn-secondary {
    font-size: 1.125rem;
    padding: 1rem 2rem;
    color: #37474f;
    background: #fff;
    border: 1px solid rgba(190, 201, 195, 0.45);
}
.dk-solutions-hero__btns .dk-solutions-hero__btn-secondary.dk-btn-secondary:hover {
    background: #f3f3f3;
    color: #37474f;
}
.dk-btn-outline-white {
    background: transparent;
    color: #fff;
    border: 2px solid rgba(255,255,255,0.4);
}
.dk-btn-outline-white:hover { border-color: #fff; color: #fff; }

/* --- DK Video Player Widget --- */
.dk-video-wrapper {
    position: relative;
    border-radius: 1.5rem;           /* rounded-3xl */
    overflow: hidden;
    background-color: var(--dk-surface-container); /* visible in corners before image loads */
    border: 1px solid rgba(190, 201, 195, 0.2);    /* border-outline-variant/20 */
    box-shadow: 0 20px 40px rgba(55, 71, 79, 0.06); /* editorial-shadow */
    aspect-ratio: 16 / 9;
    cursor: pointer;
}
.dk-video-wrapper img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
    display: block;
}
.dk-video-wrapper:hover img { transform: scale(1.05); }

/* Play-button overlay — centred, covers full area */
.dk-video-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease;
    text-decoration: none;
    z-index: 1;
}
.dk-video-wrapper:hover .dk-video-overlay { background: rgba(0, 0, 0, 0.2); }

/* Play button circle */
.dk-video-play-btn {
    width: 5rem;
    height: 5rem;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
    transition: transform 0.3s ease, background 0.3s ease;
}
.dk-video-wrapper:hover .dk-video-play-btn {
    transform: scale(1.1);
    background: #fff;
}

/* Play icon — uses material-symbols-outlined class + override */
.dk-video-play-icon {
    font-size: 3rem;          /* text-5xl */
    color: var(--dk-forest);
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    padding-left: 4px;        /* optical centre */
    line-height: 1;
    vertical-align: middle;
}

/* Caption — bottom-left, sits above gradient */
.dk-video-caption-wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 4rem 2rem 2rem; /* gradient space at top */
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 100%);
    z-index: 2;
    pointer-events: none;
}
.dk-video-caption {
    color: #fff;
    font-family: var(--dk-font-headline);
    font-weight: 700;
    font-size: 1.05rem;
    line-height: 1.4;
    margin: 0;
}

/* --- DK Trust Bar Widget --- */
.dk-trust-bar {
    padding: 3rem 0;
}
.dk-trust-bar-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2rem 4rem;
    opacity: 0.75;
}
.dk-trust-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--dk-slate);
}
.dk-trust-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--dk-font-headline);
    font-weight: 700;
    color: var(--dk-forest);
}
.dk-trust-icon {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 1.25rem;
}

/* --- DK Stats Widget --- */
.dk-stats-section {
    background: var(--dk-gradient);
    padding: 5rem 0;
    position: relative;
    overflow: hidden;
}
.dk-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 2rem;
}
.dk-stat-card {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 1rem;
    padding: 2.5rem;
    backdrop-filter: blur(8px);
}
.dk-stat-number {
    font-family: var(--dk-font-headline);
    font-size: 3rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 0.5rem;
    line-height: 1;
}
.dk-stat-label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: rgba(240,253,220,0.85);
}
.dk-stats-bg-icon {
    position: absolute;
    right: 0;
    bottom: 0;
    transform: translate(25%, 25%);
    opacity: 0.08;
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 25rem;
    color: #fff;
    line-height: 1;
    pointer-events: none;
}

/* --- DK Feature Cards Widget --- */
.dk-feature-section {
    width: 100%;
}
.dk-feature-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 4rem;
}
@media (min-width: 768px) {
    .dk-feature-section__head {
        flex-direction: row;
        align-items: flex-end;
    }
    .dk-video-caption {
        font-size: 0.6rem;
    }
}
.dk-feature-section__head-main {
    max-width: 36rem;
    flex: 1;
    min-width: 0;
}
.dk-feature-section__title {
    font-family: var(--dk-font-headline);
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--dk-slate);
    margin: 0 0 1rem;
}
.dk-feature-section__desc {
    margin: 0;
    font-size: 1.125rem;
    line-height: 1.625;
    color: #546e7a;
}
.dk-feature-section__after-desc {
    font-family: var(--dk-font-headline);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--dk-slate);
    margin: 1rem 0 0;
    line-height: 1.3;
}
.dk-feature-section__head-aside {
    flex-shrink: 0;
}
.dk-feature-section__head-aside:only-child {
    margin-left: auto;
}
.dk-feature-section__download {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--dk-font-headline);
    font-weight: 700;
    font-size: 1rem;
    color: var(--dk-forest);
    text-decoration: none;
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    transition: color 0.2s ease;
}
.dk-feature-section__download:hover {
    color: #005a46;
}
.dk-feature-section__download .material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 1.25rem;
    transition: transform 0.2s ease;
}
.dk-feature-section__download:hover .material-symbols-outlined {
    transform: translateY(3px);
}
.dk-feature-section__desc--classic {
    max-width: 40rem;
    margin-top: 1rem;
    text-align: inherit;
}
.dk-section-header--center .dk-feature-section__desc--classic {
    margin-left: auto;
    margin-right: auto;
}
.dk-feature-section__after-desc--classic {
    margin-top: 0.75rem;
    text-align: inherit;
}
.dk-section-header--center .dk-feature-section__after-desc--classic {
    text-align: center;
}
.dk-feature-card--solutions {
    padding: 2rem;
    border-radius: 0.75rem;
    background: #fff;
    border: 1px solid rgba(190, 201, 195, 0.12);
    box-shadow: 0 1px 2px rgba(55, 71, 79, 0.05);
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
}
.dk-feature-card--solutions:hover {
    border-color: rgba(190, 201, 195, 0.22);
    box-shadow: 0 20px 40px rgba(55, 71, 79, 0.12);
}
.dk-feature-card--solutions .dk-feature-card-icon {
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 2.25rem;
    color: var(--dk-forest);
    margin-bottom: 1.5rem;
}
.dk-feature-card--solutions .dk-feature-card-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
}
.dk-feature-card--solutions .dk-feature-card-text {
    font-size: 0.875rem;
    line-height: 1.625;
    color: #546e7a;
}

.dk-feature-cards-grid {
    display: grid;
    gap: 2rem;
}
.dk-feature-cards-grid--1 { grid-template-columns: 1fr; }
.dk-feature-cards-grid--2 { grid-template-columns: repeat(2, 1fr); }
.dk-feature-cards-grid--3 { grid-template-columns: repeat(3, 1fr); }
.dk-feature-cards-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) {
    .dk-feature-cards-grid--4 { grid-template-columns: repeat(2, 1fr); }
    .dk-feature-cards-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .dk-feature-cards-grid--2,
    .dk-feature-cards-grid--3,
    .dk-feature-cards-grid--4 { grid-template-columns: 1fr; }
}
.dk-feature-card {
    padding: 2rem;
    border-radius: 1rem;
    background: #fff;
    border: 1px solid rgba(190,201,195,0.15);
    box-shadow: 0 4px 16px rgba(55,71,79,0.05);
    transition: all 0.3s ease;
}
.dk-feature-card:hover {
    border-color: rgba(141,198,63,0.3);
    box-shadow: 0 12px 32px rgba(55,71,79,0.1);
}
.dk-feature-card--border-left {
    border-left: 4px solid var(--dk-lime);
    border-radius: 0.75rem;
    background: var(--dk-surface);
    box-shadow: 0 2px 8px rgba(55,71,79,0.04);
}
.dk-feature-card-icon {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 2.5rem;
    color: var(--dk-lime);
    display: block;
    margin-bottom: 1.5rem;
    transition: transform 0.3s ease;
}
.dk-feature-card:hover .dk-feature-card-icon { transform: scale(1.1); }
.dk-feature-card-title {
    font-family: var(--dk-font-headline);
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--dk-slate);
    margin-bottom: 0.75rem;
}
.dk-feature-card-text {
    font-size: 0.875rem;
    line-height: 1.65;
    color: rgba(55,71,79,0.7);
}

/* --- DK Testimonial Widget --- */
.dk-testimonial-wrapper {
    background: #fff;
    border-radius: 2rem;
    padding: 4rem;
    text-align: center;
    position: relative;
    box-shadow: 0 20px 40px rgba(55,71,79,0.06);
}
.dk-testimonial-quote-icon {
    position: absolute;
    top: 2rem;
    left: 2rem;
    font-family: 'Material Symbols Outlined';
    font-size: 4rem;
    color: rgba(141,198,63,0.2);
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.dk-testimonial-quote {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.2rem, 2vw, 1.75rem);
    font-weight: 500;
    font-style: italic;
    color: var(--dk-slate);
    line-height: 1.6;
    margin-bottom: 2.5rem;
}
.dk-testimonial-author-name {
    font-family: var(--dk-font-headline);
    font-weight: 800;
    color: var(--dk-forest);
    font-size: 1.1rem;
}
.dk-testimonial-author-role {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: rgba(55,71,79,0.55);
    margin-top: 0.25rem;
}

/* --- DK CTA Banner Widget (solutions.html CTA section) --- */
.dk-cta-banner {
    background: var(--dk-gradient);
    border-radius: 2rem;
    padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 4vw, 3rem);
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: none;
}
.dk-cta-banner--shadow {
    box-shadow: 0 24px 64px rgba(0, 107, 84, 0.22), 0 8px 24px rgba(55, 71, 79, 0.08);
}
.dk-cta-banner__inner {
    position: relative;
    z-index: 10;
}
.dk-cta-banner-title {
    font-family: var(--dk-font-headline);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin: 0 0 1.5rem;
}
.dk-cta-banner-subtitle {
    color: #fff;
    font-size: 1.125rem;
    line-height: 1.65;
    max-width: 42rem;
    margin: 0 auto 2.5rem;
    opacity: 0.9;
}
.dk-cta-banner__bgimg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.dk-cta-banner__bgimg-el {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%) brightness(2);
}
.dk-cta-btn-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem;
}
.dk-cta-btn-white {
    background: #fff;
    color: var(--dk-forest);
    padding: 1.1rem 2.5rem;
    border-radius: 0.75rem;
    font-family: var(--dk-font-headline);
    font-weight: 800;
    font-size: 1.125rem;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-block;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}
.dk-cta-btn-white:hover { background: #f0fae0; color: var(--dk-forest); transform: scale(1.03); }
.dk-cta-btn-outline {
    background: transparent;
    color: #fff;
    border: 2px solid rgba(255,255,255,0.45);
    padding: 1.1rem 2.5rem;
    border-radius: 0.75rem;
    font-family: var(--dk-font-headline);
    font-weight: 800;
    font-size: 1.125rem;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-block;
}
.dk-cta-btn-outline:hover { border-color: #fff; color: #fff; background: rgba(255, 255, 255, 0.1); }
.dk-cta-banner-bg-radial {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: radial-gradient(circle at center, rgba(255,255,255,0.08) 0%, transparent 65%);
}

/* --- DK Contact Options Widget --- */
.dk-contact-options-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;
}
.dk-contact-card {
    background: #fff;
    padding: 2rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(190,201,195,0.25);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transition: all 0.3s ease;
    box-shadow: 0 2px 12px rgba(55,71,79,0.04);
}
.dk-contact-card:hover { background: var(--dk-gradient); }
.dk-contact-card:hover * { color: #fff !important; }
.dk-contact-card-icon-wrap {
    width: 3rem;
    height: 3rem;
    border-radius: 0.75rem;
    background: rgba(141,198,63,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    transition: background 0.3s ease;
}
.dk-contact-card:hover .dk-contact-card-icon-wrap { background: rgba(255,255,255,0.2); }
.dk-contact-card-icon {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 1.3rem;
    color: var(--dk-forest);
}
.dk-contact-card-title {
    font-family: var(--dk-font-headline);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--dk-slate);
    margin-bottom: 0.5rem;
}
.dk-contact-card-desc {
    font-size: 0.85rem;
    color: rgba(55,71,79,0.65);
    line-height: 1.6;
    margin-bottom: 1.5rem;
    flex: 1;
}
.dk-contact-card-link {
    font-weight: 700;
    font-size: 0.875rem;
    color: var(--dk-lime);
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

/* --- DK Contact Form Widget --- */
.dk-contact-form-wrapper {
    display: flex;
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0,107,84,0.07);
}
@media (max-width: 1024px) { .dk-contact-form-wrapper { flex-direction: column; } }
.dk-contact-info-panel {
    background: var(--dk-forest);
    color: #fff;
    padding: 3rem 4rem;
    flex: 0 0 40%;
    position: relative;
    overflow: hidden;
}
.dk-contact-info-panel h2 {
    color: #fff;
    font-size: 1.75rem;
    margin-bottom: 2rem;
}
.dk-contact-step {
    display: flex;
    gap: 1rem;
    margin-bottom: 2rem;
    align-items: flex-start;
}
.dk-contact-step-icon {
    background: rgba(255,255,255,0.2);
    border-radius: 0.5rem;
    padding: 0.375rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dk-contact-step-icon span {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 1.1rem;
    color: #fff;
}
.dk-contact-step-title { font-weight: 700; font-size: 1rem; margin-bottom: 0.25rem; }
.dk-contact-step-desc { font-size: 0.8rem; opacity: 0.7; }
.dk-contact-form-panel {
    background: #fff;
    padding: 3rem 4rem;
    flex: 1;
}
.dk-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-bottom: 2rem;
}
@media (max-width: 640px) { .dk-form-row { grid-template-columns: 1fr; } }
.dk-form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 2rem;
}
.dk-form-label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(55,71,79,0.55);
}
.dk-form-input,
.dk-form-textarea {
    background: var(--dk-surface);
    border: none;
    border-radius: 0.5rem;
    padding: 1rem;
    font-family: var(--dk-font-body);
    font-size: 0.9rem;
    color: var(--dk-slate);
    transition: box-shadow 0.2s ease;
    outline: none;
    width: 100%;
}
.dk-form-input:focus,
.dk-form-textarea:focus { box-shadow: 0 0 0 2px rgba(0,107,84,0.18); }
.dk-form-textarea { resize: vertical; min-height: 120px; }
.dk-form-submit {
    width: 100%;
    padding: 1.25rem;
    background: var(--dk-gradient);
    color: #fff;
    border: none;
    border-radius: 0.75rem;
    font-family: var(--dk-font-headline);
    font-weight: 700;
    font-size: 1.1rem;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(0,107,84,0.2);
    transition: all 0.2s ease;
}
.dk-form-submit:hover { box-shadow: 0 12px 32px rgba(0,107,84,0.3); transform: scale(0.99); }
.dk-form-privacy {
    margin-top: 1rem;
    text-align: center;
    font-size: 0.75rem;
    color: rgba(55,71,79,0.5);
}
.dk-form-privacy a { color: inherit; text-decoration: underline; }

.dk-form-messages {
    width: 100%;
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.9rem;
    line-height: 1.45;
    box-sizing: border-box;
}
.dk-form-messages:not([hidden]) {
    display: block;
}
.dk-form-messages--error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}
.dk-form-messages--success {
    background: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
}
.dk-newsletter-form .dk-form-messages {
    width: 100%;
    margin: 0;
    text-align: center;
}
.dk-newsletter-jq-errors {
    width: 100%;
    text-align: center;
}
.dk-newsletter-jq-errors .dk-form-field-error {
    display: block;
    margin: 0;
}
.dk-newsletter-inner .dk-form-messages--error {
    background: rgba(254, 242, 242, 0.96);
    color: #7f1d1d;
}
.dk-newsletter-inner .dk-form-messages--success {
    background: rgba(240, 253, 244, 0.96);
    color: #14532d;
}
.dk-form-field-error {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    color: #b91c1c;
}
/* Small helper text shown below an input (e.g. the phone-format hint). */
.dk-form-hint {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: rgba(55, 71, 79, 0.55);
    line-height: 1.4;
}

/* Red asterisk indicating a required field, paired with a label. */
.dk-form-required {
    color: #dc2626;
    margin-left: 0.15rem;
    font-weight: 700;
}

/* --- intl-tel-input adapter: keep the country-code dropdown looking native
       inside our existing .dk-form-input pill, and let the input fill the
       group width. The library wraps our <input> in a .iti container. --- */
.dk-form-group--phone .iti {
    width: 100%;
    display: block;
}
.dk-form-group--phone .iti__tel-input {
    width: 100%;
    background: var(--dk-surface);
    border: none;
    border-radius: 0.5rem;
    padding: 1rem;
}
/* With separateDialCode the dial code sits in its own pill; bump the input
   padding so the typed number doesn't visually collide with it. */
.dk-form-group--phone .iti--separate-dial-code .iti__tel-input {
    padding-left: 92px;
}

/* --- Country dropdown (.iti__country-list) styling --- */
.dk-form-group--phone .iti__country-list,
.iti__country-list {
    max-height: 280px;
    border: 1px solid rgba(55, 71, 79, 0.12);
    border-radius: 0.75rem;
    box-shadow: 0 14px 40px rgba(55, 71, 79, 0.14);
    background: #fff;
    overflow: hidden;
    padding: 0;
}

/* Search box at the top of the country list. Match the rest of the form's
   pill style so it doesn't look like a stray browser default input. */
.iti__search-input,
.dk-form-group--phone .iti__search-input {
    width: calc(100% - 1.25rem) !important;
    margin: 0.625rem !important;
    padding: 0.6rem 0.85rem !important;
    background: var(--dk-surface) !important;
    border: 1px solid transparent !important;
    border-radius: 0.5rem !important;
    font-size: 0.9rem !important;
    color: var(--dk-slate) !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.iti__search-input::placeholder,
.dk-form-group--phone .iti__search-input::placeholder {
    color: rgba(55, 71, 79, 0.45);
}
.iti__search-input:focus,
.dk-form-group--phone .iti__search-input:focus {
    border-color: var(--dk-forest) !important;
    box-shadow: 0 0 0 2px rgba(0, 107, 84, 0.18) !important;
}

/* Country rows: a touch more breathing room + a brand-coloured hover state. */
.iti__country-list .iti__country,
.dk-form-group--phone .iti__country-list .iti__country {
    padding: 0.5rem 0.75rem;
    font-size: 0.9rem;
    color: var(--dk-slate);
}
.iti__country-list .iti__country.iti__highlight,
.iti__country-list .iti__country:hover,
.dk-form-group--phone .iti__country-list .iti__country.iti__highlight,
.dk-form-group--phone .iti__country-list .iti__country:hover {
    background-color: rgba(141, 198, 63, 0.12);
}
.iti__country-list .iti__dial-code,
.dk-form-group--phone .iti__country-list .iti__dial-code {
    color: rgba(55, 71, 79, 0.55);
}

/* Mobile: cap the dropdown so it doesn't overflow the viewport. */
@media (max-width: 480px) {
    .dk-form-group--phone .iti__country-list,
    .iti__country-list {
        max-width: 92vw;
    }
}
.dk-form-input.dk-form-input-error,
.dk-newsletter-input.dk-form-input-error {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.25);
}

/* --- DK Process Steps Widget --- */
.dk-process-grid {
    display: grid;
    border-top: 1px solid rgba(190,201,195,0.25);
    border-bottom: 1px solid rgba(190,201,195,0.25);
}
@media (min-width: 768px) {
    .dk-process-grid { grid-template-columns: repeat(3, 1fr); }
    .dk-process-step:not(:last-child) { border-right: 1px solid rgba(190,201,195,0.25); }
}
.dk-process-step {
    padding: 2.5rem;
    position: relative;
    transition: background 0.2s ease;
}
.dk-process-step:hover { background: var(--dk-surface); }
.dk-process-step-number {
    position: absolute;
    top: 1rem;
    right: 2rem;
    font-size: 4rem;
    font-weight: 900;
    color: rgba(55,71,79,0.05);
    line-height: 1;
    user-select: none;
    font-family: var(--dk-font-headline);
}
.dk-process-step-icon-wrap {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: rgba(141,198,63,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}
.dk-process-step-icon {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 1.25rem;
    color: var(--dk-forest);
}
.dk-process-step-title {
    font-family: var(--dk-font-headline);
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--dk-slate);
    margin-bottom: 0.75rem;
}
.dk-process-step-desc {
    font-size: 0.9rem;
    color: rgba(55,71,79,0.65);
    line-height: 1.65;
}

/* --- DK Newsletter Widget --- */
.dk-newsletter-wrapper {
    border-radius: 2.5rem;
    overflow: hidden;
}
.dk-newsletter-inner {
    background: var(--dk-gradient);
    padding: 4rem 3rem;
    text-align: center;
    position: relative;
}
.dk-newsletter-title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.75rem);
    font-weight: 800;
    color: #fff;
    margin-bottom: 1rem;
}
.dk-newsletter-desc {
    color: rgba(255,255,255,0.82);
    font-size: 1.05rem;
    max-width: 580px;
    margin: 0 auto 2.5rem;
    line-height: 1.65;
}
.dk-newsletter-form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    max-width: 480px;
    margin: 0 auto;
}
.dk-newsletter-fields {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    align-items: stretch;
}
.dk-newsletter-fields .dk-newsletter-input {
    flex: 1;
    min-width: 200px;
}
.dk-newsletter-input {
    padding: 1rem 1.5rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.12);
    color: #fff;
    font-family: var(--dk-font-body);
    font-size: 0.9rem;
    outline: none;
    backdrop-filter: blur(8px);
}
.dk-newsletter-input::placeholder { color: rgba(255,255,255,0.5); }
.dk-newsletter-btn {
    padding: 1rem 2rem;
    background: #fff;
    color: var(--dk-forest);
    border: none;
    border-radius: 0.5rem;
    font-family: var(--dk-font-headline);
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s ease;
}
.dk-newsletter-btn:hover { background: #f0fae0; }

/* --- DK Section Header --- */
.dk-section-header { margin-bottom: 4rem; }
.dk-section-header--center { text-align: center; }
.dk-section-eyebrow {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--dk-forest);
    margin-bottom: 0.75rem;
    display: block;
}
.dk-section-title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.75rem);
    font-weight: 800;
    color: var(--dk-slate);
}
.dk-section-divider {
    height: 6px;
    width: 6rem;
    background: var(--dk-gradient);
    border-radius: 9999px;
    margin-top: 1.25rem;
}
.dk-section-header--center .dk-section-divider { margin-left: auto; margin-right: auto; }

/* --- DK Bento Grid (Features) --- */
.dk-bento-grid {
    display: grid;
    grid-template-columns: repeat( 6, 1fr );
    gap: 1.5rem;
}

/* Card size variants */
.dk-bento-card--large { grid-column: span 3; }
.dk-bento-card--small { grid-column: span 2; }

/* Base card */
.dk-bento-card {
    background: #fff;
    padding: 2.5rem;
    border-radius: 1rem;
    border: 1px solid rgba(190, 201, 195, 0.12);
    box-shadow: 0 4px 16px rgba(55, 71, 79, 0.06);
    /* Smooth, consistent timing for every hover-animation variant. */
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
    will-change: transform;
}

/* --- Hover animation variants (opt-in per card via widget control) --- */

/* "None" — explicit no-op so the class is harmless when set. */
.dk-bento-card--anim-none:hover { transform: none; }

/* "Lift up" — subtle vertical lift with a deeper shadow. */
.dk-bento-card--anim-lift:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 28px rgba(55, 71, 79, 0.10);
}

/* "Soft glow" — lime-tinted halo without movement. */
.dk-bento-card--anim-glow:hover {
    box-shadow: 0 0 0 1px rgba(141, 198, 63, 0.35),
                0 12px 28px rgba(141, 198, 63, 0.22);
}

/* "Subtle scale" — gentle zoom, keeps layout stable. */
.dk-bento-card--anim-scale:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 24px rgba(55, 71, 79, 0.10);
}

/* "Lime border highlight" — border + faint lime wash. */
.dk-bento-card--anim-border:hover {
    border-color: var(--dk-lime);
    box-shadow: 0 6px 18px rgba(141, 198, 63, 0.15);
}

/* "Lift + glow" — combined hero treatment for headline cards. */
.dk-bento-card--anim-lift-glow:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 32px rgba(0, 107, 84, 0.18),
                0 0 0 1px rgba(141, 198, 63, 0.30);
}

/* Respect reduced-motion preference for all variants. */
@media ( prefers-reduced-motion: reduce ) {
    .dk-bento-card,
    .dk-bento-card:hover {
        transform: none !important;
        transition: box-shadow 0.2s ease, border-color 0.2s ease;
    }
}

/* Icon */
.dk-bento-icon {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 2.5rem;
    display: block;
    margin-bottom: 1.5rem;
    line-height: 1;
}
.dk-bento-icon--lime   { color: var(--dk-lime);   }
.dk-bento-icon--forest { color: var(--dk-forest); }

/* Card text */
.dk-bento-card__title {
    font-family: var(--dk-font-headline);
    font-weight: 700;
    color: var(--dk-slate);
    margin: 0 0 0.75rem;
    line-height: 1.3;
}
.dk-bento-card--large .dk-bento-card__title { font-size: 1.35rem; }
.dk-bento-card__title--small                { font-size: 1.05rem; margin-bottom: 0.5rem; }
.dk-bento-card__desc {
    font-size: 0.9rem;
    color: rgba(55, 71, 79, 0.7);
    line-height: 1.65;
    margin: 0;
}

/* Responsive — tablet: large=half, small=half */
@media ( min-width: 640px ) and ( max-width: 1024px ) {
    .dk-bento-card--large { grid-column: span 3; }
    .dk-bento-card--small { grid-column: span 3; }
}
/* Mobile: all full width */
@media ( max-width: 639px ) {
    .dk-bento-card--large,
    .dk-bento-card--small { grid-column: span 6; }
}

/* --- DK Solution Intro --- */
.dk-solution-intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

/* Image column */
.dk-solution-intro__img-col {
    position: relative;
    /* Extra padding makes room for the quote card that overflows
       -1.5 rem below and to the right of the image */
    padding-bottom: 2.5rem;
    padding-right:  2rem;
}
.dk-solution-intro--reversed .dk-solution-intro__img-col {
    order: 2;
    padding-right: 0;
    padding-left:  2rem;
}
.dk-solution-intro__img-col img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 1rem;        /* rounded-2xl */
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.22); /* shadow-2xl */
}

/* Quote card — offset outside the image bottom-right corner */
.dk-solution-intro__quote {
    position: absolute;
    bottom: 0;          /* sits inside the padding-bottom space */
    right:  0;          /* sits inside the padding-right space  */
    background: var(--dk-gradient);
    color: #fff;
    padding: 1.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 8px 24px rgba(0, 107, 84, 0.25);
    /*max-width: 17rem;*/
}
.dk-solution-intro--reversed .dk-solution-intro__quote {
    right: auto;
    left: 0;
}
.dk-solution-intro__quote p {
    font-family: var(--dk-font-headline);
    font-weight: 700;
    font-style: italic;
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
}

/* Text column */
.dk-solution-intro--reversed .dk-solution-intro__text-col { order: 1; }

.dk-solution-intro__heading {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.75rem);
    font-weight: 800;
    line-height: 1.2;
    color: var(--dk-slate);
    margin: 0 0 1.5rem;
}
.dk-solution-intro__desc {
    font-size: 1.05rem;
    line-height: 1.75;
    color: rgba(55, 71, 79, 0.82);
    margin-bottom: 2rem;
}

/* Checklist */
.dk-solution-checklist {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.dk-solution-checklist li {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 600;
    color: var(--dk-forest);
}
.dk-solution-check-icon {
    background: #ecfccb;  /* lime-100 */
    padding: 0.25rem;
    border-radius: 50%;
    font-size: 1rem;
    line-height: 1;
    color: var(--dk-forest);
    flex-shrink: 0;
    font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 20;
}

/* Responsive */
@media ( max-width: 900px ) {
    .dk-solution-intro {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .dk-solution-intro__img-col,
    .dk-solution-intro--reversed .dk-solution-intro__img-col {
        order: 1;
        padding-right: 2rem;
        padding-left:  0;
    }
    .dk-solution-intro--reversed .dk-solution-intro__text-col { order: 2; }
}

/* --- DK Founding Principles --- */
.dk-principles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}
.dk-principle-card {
    padding: 2.5rem;
    border-radius: 1rem;
    background: #fff;
    border: 1px solid rgba(190,201,195,0.12);
    box-shadow: 0 4px 16px rgba(55,71,79,0.04);
    transition: all 0.5s ease;
}
.dk-principle-card:hover { box-shadow: 0 16px 48px rgba(55,71,79,0.12); }
.dk-principle-card--gradient {
    background: var(--dk-gradient);
    color: #fff;
    box-shadow: 0 8px 32px rgba(0,107,84,0.2);
}
.dk-principle-card--gradient h3 { color: #fff; }
.dk-principle-card--gradient p { color: rgba(255,255,255,0.82); }
.dk-principle-icon-wrap {
    width: 4rem;
    height: 4rem;
    border-radius: 0.75rem;
    background: rgba(141,198,63,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    transition: transform 0.3s ease;
}
.dk-principle-card:hover .dk-principle-icon-wrap { transform: scale(1.1); }
.dk-principle-card--gradient .dk-principle-icon-wrap { background: rgba(255,255,255,0.12); }
.dk-principle-icon {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 1.75rem;
    color: var(--dk-forest);
}
.dk-principle-card--gradient .dk-principle-icon { color: #fff; }
.dk-principle-title { font-size: 1.35rem; font-weight: 700; margin-bottom: 1rem; }
.dk-principle-desc { font-size: 0.9rem; line-height: 1.7; color: rgba(55,71,79,0.7); }

/* --- DK Pillars Grid --- */
.dk-pillars-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    min-width: 0;
    width: 100%;
}
.dk-pillar-card {
    background: #fff;
    padding: 2rem;
    border-radius: 1rem;
    border: 1px solid rgba(190,201,195,0.15);
    min-width: 0;
}
.dk-pillar-card--tinted { background: rgba(141,198,63,0.05); border-color: rgba(141,198,63,0.2); }
.dk-pillar-title {
    font-family: var(--dk-font-headline);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--dk-slate);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    min-width: 0;
}
.dk-pillar-icon {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 1.25rem;
    color: var(--dk-forest);
}
.dk-pillar-desc {
    font-size: 0.85rem;
    color: rgba(55,71,79,0.65);
    line-height: 1.6;
    margin: 0;
    overflow-wrap: break-word;
}

/* --- DK Module Cards (Solutions Page) --- */
.dk-modules-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1.5rem;
}
.dk-module-col-8  { grid-column: span 8; }
.dk-module-col-4  { grid-column: span 4; }
@media (max-width: 1024px) {
    .dk-module-col-8,
    .dk-module-col-4 { grid-column: span 12; }
}
.dk-module-card {
    padding: 2.5rem 3rem;
    border-radius: 1.5rem;
    background: #fff;
    box-shadow: 0 2px 8px rgba(55,71,79,0.04);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
.dk-module-card__main {
    flex: 1 1 auto;
}
.dk-module-card__footer {
    flex-shrink: 0;
    margin-top: auto;
    padding-top: 1rem;
}
.dk-module-section-desc {
    color: rgba(55,71,79,0.65);
    font-size: 0.95rem;
    margin-top: 0.75rem;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}
.dk-module-checklist {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.dk-module-checklist li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(55,71,79,0.75);
    font-size: 1rem;
    line-height: 1.45;
    margin: 0;
}
.dk-module-checklist .material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 1.125rem;
    color: var(--dk-lime);
    flex-shrink: 0;
}
.dk-module-col-8 .dk-module-title {
    font-size: 1.875rem;
}
.dk-module-col-8 .dk-module-desc {
    font-size: 1.125rem;
    max-width: 28rem;
}
.dk-module-col-4 .dk-module-title {
    font-size: 1.375rem;
}
.dk-module-card--gradient {
    background: var(--dk-gradient);
    color: #fff;
}
.dk-module-card--slate {
    background: var(--dk-slate);
    color: #fff;
}
.dk-module-card-icon {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 2.5rem;
    display: block;
    margin-bottom: 1.5rem;
}
.dk-module-card--gradient .dk-module-card-icon { color: rgba(255,255,255,0.85); }
.dk-module-card--slate .dk-module-card-icon { color: var(--dk-lime); }
.dk-module-title {
    font-family: var(--dk-font-headline);
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--dk-slate);
}
.dk-module-card--gradient .dk-module-title,
.dk-module-card--slate .dk-module-title { color: #fff; }
.dk-module-desc {
    color: rgba(55,71,79,0.7);
    font-size: 1rem;
    line-height: 1.65;
    margin-bottom: 1.5rem;
}
.dk-module-card--gradient .dk-module-desc { color: rgba(255,255,255,0.8); }
.dk-module-card--slate .dk-module-desc { color: rgba(255,255,255,0.7); }
.dk-module-stat-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 1.5rem;
}
.dk-module-stat-box {
    background: var(--dk-surface);
    border: 1px solid rgba(190,201,195,0.15);
    padding: 1rem;
    border-radius: 1rem;
}
.dk-module-stat-num {
    font-family: var(--dk-font-headline);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dk-forest);
}
.dk-module-stat-lbl {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(55,71,79,0.6);
}
.dk-module-link {
    color: var(--dk-forest);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.9rem;
    transition: gap 0.2s ease;
}
.dk-module-link:hover { gap: 0.6rem; color: var(--dk-forest); }
.dk-module-link span {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 1.1rem;
}
.dk-module-divider {
    border-top: 1px solid rgba(255,255,255,0.2);
    margin-top: 1.5rem;
    padding-top: 1.25rem;
}
.dk-module-key-label {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    opacity: 0.6;
    margin-bottom: 0.25rem;
}
.dk-module-key-value { font-weight: 700; font-size: 1rem; }
.dk-module-card--gradient .dk-module-key-label,
.dk-module-card--gradient .dk-module-key-value {
    color: #fff;
}
.dk-module-card--gradient .dk-module-divider .dk-module-key-label {
    opacity: 0.65;
}
.dk-module-btn {
    padding: 0.75rem 1.5rem;
    background: rgba(255,255,255,0.12);
    color: #fff;
    border-radius: 0.75rem;
    font-weight: 700;
    font-size: 0.875rem;
    border: none;
    cursor: pointer;
    transition: background 0.2s ease;
    display: inline-block;
    text-decoration: none;
    margin-top: 1rem;
}
.dk-module-btn:hover { background: rgba(255,255,255,0.22); color: #fff; }
.dk-module-card__footer .dk-module-btn {
    margin-top: 0;
    align-self: flex-start;
}

/* --- DK Security Widget --- */
.dk-security-list { display: flex; flex-direction: column; gap: 2rem; }
.dk-security-item {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    min-width: 0;
}
.dk-security-item__body {
    flex: 1;
    min-width: 0;
    max-width: 100%;
}
.dk-security-icon-wrap {
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 0.75rem;
    background: rgba(141,198,63,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}
.dk-security-icon {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 1.25rem;
    color: var(--dk-forest);
}
.dk-security-title {
    font-family: var(--dk-font-headline);
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--dk-slate);
    margin-bottom: 0.4rem;
}
.dk-security-desc { font-size: 0.9rem; line-height: 1.65; color: rgba(55,71,79,0.65); }

/* --- DK Resources Category Cards --- */
.dk-resource-card {
    background: #fff;
    padding: 2rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(190,201,195,0.1);
    box-shadow: 0 2px 8px rgba(55,71,79,0.04);
    transition: all 0.3s ease;
    transform: translateY(0);
}
.dk-resource-card:hover {
    box-shadow: 0 16px 48px rgba(55,71,79,0.1);
    transform: translateY(-0.5rem);
}
.dk-resource-icon-wrap {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 0.75rem;
    background: rgba(141,198,63,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    transition: transform 0.3s ease;
}
.dk-resource-card:hover .dk-resource-icon-wrap { transform: scale(1.1); }
.dk-resource-icon {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 1.75rem;
    color: var(--dk-forest);
}
.dk-resource-title {
    font-family: var(--dk-font-headline);
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--dk-slate);
    margin-bottom: 0.75rem;
}
.dk-resource-desc { font-size: 0.875rem; color: rgba(55,71,79,0.65); line-height: 1.65; margin-bottom: 2rem; }
.dk-resource-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    font-size: 0.875rem;
    color: var(--dk-forest);
}
.dk-resource-link span {
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 1.1rem;
    transition: transform 0.2s ease;
}
.dk-resource-card:hover .dk-resource-link span { transform: translateX(4px); }

/* ==========================================
   ADMIN STYLES (One-Click Import)
   ========================================== */
.dk-import-page { max-width: 800px; margin: 2rem auto; }
.dk-import-card {
    background: #fff;
    border-radius: 0.75rem;
    padding: 2rem;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    margin-bottom: 1.5rem;
    border: 1px solid #e2e8f0;
}
.dk-import-title { font-size: 1.5rem; font-weight: 700; color: #1e293b; margin-bottom: 0.5rem; }
.dk-import-desc { color: #64748b; margin-bottom: 1.5rem; }
.dk-import-btn {
    background: var(--dk-gradient);
    color: #fff;
    border: none;
    padding: 0.875rem 2rem;
    border-radius: 0.5rem;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    transition: opacity 0.2s ease;
}
.dk-import-btn:hover { opacity: 0.9; }
.dk-import-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.dk-import-status {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    display: none;
}
.dk-import-status.success { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
.dk-import-status.error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.dk-import-checklist { list-style: none; padding: 0; margin: 0.75rem 0; }
.dk-import-checklist li {
    padding: 0.5rem 0;
    font-size: 0.875rem;
    color: #475569;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.dk-import-checklist li::before {
    content: '✓';
    color: #16a34a;
    font-weight: 700;
}

/* --- DK Security (layout + visual; responsive in dakshkraya @1024) --- */
.dk-security-layout {
    display: grid;
    /* minmax(0,1fr) prevents the image column’s intrinsic min-width from squeezing the text column */
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 4rem;
    align-items: center;
    width: 100%;
    min-width: 0;
}
.dk-security-layout__content {
    min-width: 0;
    max-width: 100%;
}
.dk-security-layout__heading {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 700;
    margin: 0 0 2.5rem;
}
.dk-security-visual {
    position: relative;
    min-width: 0;
    max-width: 100%;
    width: 100%;
}
.dk-security-visual__frame {
    aspect-ratio: 1 / 1;
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 16px 64px rgba(55, 71, 79, 0.15);
    position: relative;
    min-width: 0;
    max-width: 100%;
}
.dk-security-visual__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.dk-security-visual__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 107, 84, 0.4), transparent);
    pointer-events: none;
}
.dk-security-visual__badge {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    padding: 1.5rem;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 1rem;
    color: #fff;
    max-width: 240px;
}
.dk-security-visual__badge-label {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    opacity: 0.8;
    margin: 0 0 0.4rem;
}
.dk-security-visual__badge-text {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0;
}
.dk-security-visual__glow {
    position: absolute;
    top: -2.5rem;
    right: -2.5rem;
    width: 10rem;
    height: 10rem;
    background: rgba(141, 198, 63, 0.2);
    border-radius: 50%;
    filter: blur(24px);
    pointer-events: none;
}

/* --- DK Pillars (two-column wrapper) --- */
.dk-pillars-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 4rem;
    align-items: start;
    width: 100%;
    min-width: 0;
}
.dk-pillars-wrapper__sticky {
    position: sticky;
    top: 8rem;
    min-width: 0;
    max-width: 100%;
}
.dk-pillars-heading-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    min-width: 0;
}
.dk-pillars-heading-row .material-symbols-outlined {
    flex-shrink: 0;
    color: var(--dk-forest);
    font-size: 3rem;
}
.dk-pillars-heading-row h2 {
    flex: 1 1 auto;
    min-width: 0;
    font-family: var(--dk-font-headline);
    font-size: clamp(1.5rem, 2.5vw, 2.25rem);
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
}
.dk-pillars-lead {
    font-size: 1.05rem;
    line-height: 1.7;
    color: rgba(55, 71, 79, 0.75);
    margin: 0 0 2rem;
    max-width: 100%;
}
.dk-pillars-quote {
    background: #fff;
    border-left: 4px solid var(--dk-lime);
    border-radius: 0.5rem;
    padding: 1.5rem 2rem;
    box-shadow: 0 2px 8px rgba(55, 71, 79, 0.05);
    max-width: 100%;
    box-sizing: border-box;
}
.dk-pillars-quote__text {
    font-style: italic;
    font-weight: 500;
    line-height: 1.65;
    color: var(--dk-slate);
    margin: 0 0 1rem;
}
.dk-pillars-quote__meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.dk-pillars-quote__avatar {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: var(--dk-gradient);
    flex-shrink: 0;
}
.dk-pillars-quote__author {
    font-weight: 700;
    font-size: 0.85rem;
}
.dk-pillars-quote__org {
    font-size: 0.75rem;
    color: rgba(55, 71, 79, 0.6);
}

/* --- DK Resource categories grid --- */
.dk-resource-categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    gap: 2rem;
    width: 100%;
    min-width: 0;
}

/* --- DK BeyonData --- */
.dk-beyondata-section {
    position: relative;
    overflow: hidden;
    padding: 6rem 0;
}
.dk-beyondata-section__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.dk-beyondata-section__bg--solid {
    background: var(--dk-slate);
}
.dk-beyondata-section__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.dk-beyondata-section__bg-overlay {
    position: absolute;
    inset: 0;
    background: rgba(55, 71, 79, 0.9);
}
.dk-beyondata-section__inner {
    position: relative;
    z-index: 1;
}
.dk-beyondata-card {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 1rem;
    padding: 4rem 5rem;
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
}
.dk-beyondata-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 2rem 4rem;
}
.dk-beyondata-stats__divider {
    width: 1px;
    background: rgba(255, 255, 255, 0.2);
    align-self: stretch;
    flex-shrink: 0;
}
.dk-beyondata-stat {
    text-align: center;
    min-width: 0;
}
.dk-beyondata-stat__value {
    font-family: var(--dk-font-headline);
    font-size: 1.75rem;
    font-weight: 700;
    color: #fff;
}
.dk-beyondata-stat__label {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--dk-lime);
    margin-top: 0.25rem;
}

/* --- DK Featured Topics --- */
.dk-featured-topics {
    width: 100%;
    min-width: 0;
}
.dk-featured-topics__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 3rem;
    flex-wrap: wrap;
    gap: 1rem;
}
.dk-featured-topics__header-text {
    min-width: 0;
    flex: 1 1 12rem;
}
.dk-featured-topics__nav {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}
.dk-featured-topics__nav-btn {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: var(--dk-surface);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(55, 71, 79, 0.65);
    transition: color 0.2s ease, background 0.2s ease;
}
.dk-featured-topics__nav-btn:hover {
    color: var(--dk-forest);
    background: rgba(190, 201, 195, 0.2);
}
.dk-featured-topics-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
    width: 100%;
    min-width: 0;
}
.dk-ft-card--large {
    grid-column: span 2;
    grid-row: span 2;
    position: relative;
    border-radius: 2rem;
    overflow: hidden;
    background: #1e293b;
    min-height: 400px;
    min-width: 0;
}
.dk-ft-card--large__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}
.dk-ft-card--large__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.6;
    display: block;
    transition: transform 0.7s ease;
}
.dk-ft-card--large__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(15, 23, 42, 1) 0%, rgba(15, 23, 42, 0.15) 60%, transparent 100%);
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    box-sizing: border-box;
}
.dk-ft-card--medium {
    grid-column: span 2;
    border-radius: 2rem;
    overflow: hidden;
    background: var(--dk-gradient);
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 2.5rem;
    min-height: 180px;
    min-width: 0;
    box-sizing: border-box;
}
.dk-ft-card--medium__body {
    flex: 1;
    min-width: 0;
}
.dk-ft-card--medium__thumb {
    width: 33%;
    max-width: 160px;
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    transform: rotate(6deg) scale(1.1);
    flex-shrink: 0;
}
.dk-ft-card--medium__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.dk-ft-card--small {
    border-radius: 2rem;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    box-sizing: border-box;
}
.dk-ft-card--small--tinted {
    background: var(--dk-surface);
    border: 1px solid rgba(190, 201, 195, 0.1);
}
.dk-ft-card--small--white {
    background: #fff;
    border: 1px solid rgba(190, 201, 195, 0.12);
}

@media (max-width: 1024px) {
    .dk-security-layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .dk-security-layout__heading {
        margin-bottom: 2rem;
    }
    .dk-security-visual {
        max-width: min(28rem, 100%);
        margin-left: auto;
        margin-right: auto;
    }
    .dk-pillars-wrapper {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .dk-pillars-wrapper__sticky {
        position: static;
    }
    .dk-pillars-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .dk-featured-topics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    /* Same as desktop: full-bleed image + overlay; min-height avoids clipped copy on small screens. */
    .dk-ft-card--large {
        grid-column: span 2;
        grid-row: span 1;
        min-height: clamp(22rem, 82vw, 30rem);
    }
    .dk-ft-card--large__overlay {
        padding: 2rem 1.5rem;
    }
    .dk-ft-card--medium {
        grid-column: span 2;
    }
}

@media (max-width: 767px) {
    .dk-security-layout {
        gap: 2rem;
    }
    .dk-video-caption {
        font-size: 0.5rem;
    }
    .dk-video-play-btn {
        width: 3rem;
        height: 3rem;
    }
    .dk-video-play-icon {
        font-size: 2rem;
        padding-left: 0;
    }
    header .dk-container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .dk-trust-label {
        text-align: center;
    }
    .dk-security-item {
        gap: 1rem;
    }
    .dk-security-title {
        font-size: 1.05rem;
    }
    .dk-security-visual__badge {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
        max-width: none;
    }
    .dk-beyondata-section {
        padding: 3.5rem 0;
    }
    .dk-beyondata-card {
        padding: 2.25rem 1.25rem;
    }
    .dk-beyondata-stats {
        flex-direction: column;
        gap: 1.5rem;
        align-items: center;
    }
    .dk-beyondata-stats__divider {
        display: none;
    }
    .dk-featured-topics__header {
        flex-direction: column;
        align-items: stretch;
        margin-bottom: 1.25rem;
        gap: 0.75rem;
    }
    .dk-featured-topics__header-text .dk-section-eyebrow {
        margin-bottom: 0.4rem;
    }
    .dk-featured-topics__nav {
        justify-content: flex-end;
    }
    .dk-featured-topics-grid {
        grid-template-columns: 1fr;
    }
    .dk-ft-card--large,
    .dk-ft-card--medium {
        grid-column: 1 / -1;
        grid-row: auto;
    }
    .dk-ft-card--large {
        min-height: clamp(23rem, 118vw, 32rem);
    }
    .dk-ft-card--large__overlay {
        padding: 1.5rem 1.25rem 1.75rem;
    }
    .dk-ft-card--medium {
        flex-direction: column;
        align-items: stretch;
        padding: 1.75rem;
    }
    .dk-ft-card--medium__thumb {
        width: 100%;
        max-width: none;
        transform: none;
        margin-top: 1rem;
    }
}

/* ==========================================
   RESPONSIVE
   ========================================== */
@media (max-width: 768px) {
    .dk-pillars-wrapper {
        gap: 2rem;
    }
    .dk-pillars-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
    .dk-pillar-card {
        padding: 1.5rem;
    }
    .dk-pillars-quote {
        padding: 1.25rem 1.25rem;
    }
    .dk-testimonial-wrapper { padding: 2rem; }
    .dk-contact-info-panel, .dk-contact-form-panel { padding: 2rem; }
    .dk-cta-banner { padding: 3rem 1.5rem; }
    .dk-bento-grid { grid-template-columns: 1fr; }
    .dk-bento-card--large,
    .dk-bento-card--small { grid-column: span 1; }
    .dk-principles-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .dk-stats-section { padding: 3.5rem 0; }
    .dk-stats-grid { gap: 1.25rem; }
    .dk-stat-card { padding: 1.75rem; }
    .dk-stat-number { font-size: 2.35rem; }
    .dk-trust-bar { padding: 2rem 0; }
    .dk-trust-bar-inner {
        flex-direction: column;
        gap: 1.25rem;
        align-items: stretch;
    }
    .dk-trust-item { justify-content: center; }
    .dk-feature-section__head { margin-bottom: 2.5rem; }
    .dk-newsletter-inner { padding: 2.5rem 1.25rem; }
    .dk-newsletter-form {
        max-width: none;
    }
    .dk-newsletter-fields {
        flex-direction: column;
        align-items: stretch;
    }
    .dk-newsletter-fields .dk-newsletter-input {
        min-width: 0;
        width: 100%;
    }
    .dk-process-grid { grid-template-columns: 1fr; }
    .dk-pillars-heading-row {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* --- About V2 (stitch about_page) --- */
.dk-about-v2-hero {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-about-v2-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(2rem, 4vw, 3rem);
    align-items: start;
}
@media (min-width: 1024px) {
    .dk-about-v2-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: clamp(2rem, 4vw, 4rem);
    }
}
.dk-about-v2-hero__text {
    min-width: 0;
}
.dk-about-v2-hero__badge {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--dk-forest);
    margin-bottom: 1rem;
}
.dk-about-v2-hero__h1 {
    font-family: var(--dk-font-headline);
    font-size: clamp(2.25rem, 5vw, 3.75rem);
    font-weight: 800;
    color: var(--dk-slate);
    line-height: 1.1;
    letter-spacing: -0.03em;
    margin: 0 0 2rem;
}
.dk-about-v2-hero__lead {
    font-size: 1.125rem;
    line-height: 1.65;
    color: rgba(55, 71, 79, 0.78);
    max-width: 36rem;
    margin: 0 0 2.5rem;
}
.dk-about-v2-hero__tagline-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}
.dk-about-v2-hero__tagline-line {
    display: block;
    width: 3rem;
    height: 1px;
    background: var(--dk-forest);
}
.dk-about-v2-hero__tagline {
    font-weight: 600;
    color: var(--dk-slate);
}
.dk-about-v2-hero__visual {
    width: 100%;
    min-width: 0;
    align-self: start;
}
/* Dark framed panel: image sits inside; quote overlaps bottom-left on top (z-index) */
.dk-about-v2-hero__panel {
    position: relative;
    width: 100%;
    border-radius: 0.75rem;
    background: linear-gradient(155deg, #0f172a 0%, #1e293b 42%, #0c1222 100%);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
    padding: 0.5rem;
    overflow: visible;
    margin-bottom: clamp(2.25rem, 5vw, 3.25rem);
}
.dk-about-v2-hero__figure {
    position: relative;
    z-index: 1;
    aspect-ratio: 4 / 5;
    border-radius: 0.5rem;
    overflow: hidden;
    background: #0f172a;
    margin: 0;
}
.dk-about-v2-hero__img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.dk-about-v2-hero__quote {
    position: absolute;
    z-index: 3;
    left: -0.75rem;
    bottom: -1rem;
    max-width: min(20rem, calc(100% + 0.5rem));
    margin: 0;
    padding: 1.25rem 1.35rem;
    border-radius: 0.5rem;
    background: rgba(242, 244, 245, 0.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-left: 4px solid var(--dk-lime);
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.2);
    text-align: left;
}
.dk-about-v2-hero__quote p {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 500;
    font-style: italic;
    color: var(--dk-slate);
    line-height: 1.5;
}
@media (max-width: 1023px) {
    .dk-about-v2-hero__panel {
        padding: 0.35rem;
    }
    /* Stack: slight overlap reads well on narrow screens */
    .dk-about-v2-hero__quote {
        position: absolute;
        left: 0.75rem;
        right: 0.75rem;
        bottom: 0.75rem;
        max-width: none;
        width: auto;
        margin: 0;
    }
}
@media (max-width: 639px) {
    .dk-about-v2-hero__grid {
        gap: 1.75rem;
    }
    .dk-about-v2-hero__figure {
        aspect-ratio: 3 / 4;
    }
    .dk-about-v2-hero__quote {
        padding: 1rem 1.05rem;
    }
    .dk-about-v2-hero__quote p {
        font-size: 0.8125rem;
    }
}

.dk-about-brand-story__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
@media (min-width: 768px) {
    .dk-about-brand-story__grid {
        grid-template-columns: repeat(12, 1fr);
    }
    .dk-about-brand-story__pedigree { grid-column: span 8; }
    .dk-about-brand-story__gradient { grid-column: span 4; }
    .dk-about-brand-story__mission { grid-column: span 6; }
    .dk-about-brand-story__vision { grid-column: span 6; }
}
.dk-about-brand-story__pedigree {
    background: #fff;
    padding: 2.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.dk-about-brand-story__pedigree-title {
    font-size: 1.875rem;
    font-weight: 800;
    margin: 0 0 1.5rem;
    letter-spacing: -0.02em;
}
.dk-about-brand-story__pedigree-body {
    color: rgba(55, 71, 79, 0.78);
    line-height: 1.7;
    margin-bottom: 1.5rem;
}
.dk-about-brand-story__pedigree-body p { margin: 0 0 1rem; }
.dk-about-brand-story__pedigree-body p:last-child { margin-bottom: 0; }
.dk-about-brand-story__stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}
@media (min-width: 768px) {
    .dk-about-brand-story__stats { grid-template-columns: repeat(4, 1fr); }
}
.dk-about-brand-story__stat-num {
    display: block;
    font-size: 1.875rem;
    font-weight: 900;
    color: var(--dk-forest);
    line-height: 1.2;
}
.dk-about-brand-story__stat-lbl {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
    opacity: 0.6;
}
.dk-about-brand-story__gradient {
    background: var(--dk-gradient);
    padding: 2.5rem;
    border-radius: 0.75rem;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 12rem;
}
.dk-about-brand-story__grad-icon {
    font-size: 2.5rem !important;
    margin-bottom: 1rem;
}
.dk-about-brand-story__grad-title {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0 0 0.75rem;
    color: #fff;
}
.dk-about-brand-story__grad-text {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
}
.dk-about-brand-story__mission {
    background: #d4e5ef;
    padding: 2.5rem;
    border-radius: 0.75rem;
    color: #0d1e25;
}
.dk-about-brand-story__vision {
    background: #71c5a9;
    padding: 2.5rem;
    border-radius: 0.75rem;
    color: #00513f;
}
.dk-about-brand-story__mv-label {
    display: block;
    font-size: 0.65rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    opacity: 0.7;
    margin-bottom: 1rem;
}
.dk-about-brand-story__mv-quote {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.35;
}

.dk-beyondata-split-wrap {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-beyondata-split {
    position: relative;
    background: var(--dk-slate);
    border-radius: 1rem;
    padding: clamp(2.5rem, 5vw, 5rem);
    overflow: hidden;
}
.dk-beyondata-split__decor {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    opacity: 0.1;
    pointer-events: none;
}
.dk-beyondata-split__decor-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dk-beyondata-split__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center;
}
@media (min-width: 1024px) {
    .dk-beyondata-split__grid { grid-template-columns: 1fr 1fr; gap: 4rem; }
}
.dk-beyondata-split__h2 {
    font-size: clamp(2rem, 3.5vw, 2.5rem);
    font-weight: 800;
    color: #fff;
    margin: 0 0 2rem;
    letter-spacing: -0.02em;
}
.dk-beyondata-split__desc {
    font-size: 1.125rem;
    line-height: 1.65;
    color: #b8c9d3;
    margin: 0 0 2rem;
}
.dk-beyondata-split__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.dk-beyondata-split__tag {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.dk-beyondata-split__hq {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 0.75rem;
    padding: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.dk-beyondata-split__hq-eyebrow {
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--dk-lime);
    margin: 0 0 1rem;
}
.dk-beyondata-split__hq-loc {
    font-size: 1.25rem;
    font-weight: 600;
    color: #fff;
    margin: 0 0 1.5rem;
}
.dk-beyondata-split__hq-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.dk-beyondata-split__hq-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}
.dk-beyondata-split__hq-ic {
    color: var(--dk-lime) !important;
    flex-shrink: 0;
}
.dk-beyondata-split__hq-txt {
    font-size: 0.875rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.8);
}

.dk-cta-inline {
    text-align: center;
    max-width: 56rem;
    margin: 0 auto;
}
.dk-cta-inline__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 800;
    color: var(--dk-slate);
    line-height: 1.2;
    margin: 0 0 2rem;
    letter-spacing: -0.02em;
}
.dk-cta-inline__subtitle {
    color: rgba(55, 71, 79, 0.75);
    margin: -1rem 0 2rem;
    line-height: 1.6;
}
.dk-cta-inline__btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}
.dk-cta-inline__btn {
    display: inline-block;
    padding: 1rem 2.5rem;
    border-radius: 0.5rem;
    font-family: var(--dk-font-headline);
    font-weight: 800;
    font-size: 1.125rem;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.dk-cta-inline__btn--primary {
    background: var(--dk-gradient);
    color: #fff;
    border: none;
    box-shadow: 0 12px 32px rgba(0, 107, 84, 0.22);
}
.dk-cta-inline__btn--primary:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(0, 107, 84, 0.28);
}
.dk-cta-inline__btn--secondary {
    background: #e6e8e9;
    color: var(--dk-slate);
    border: none;
}
.dk-cta-inline__btn--secondary:hover {
    background: #e1e3e4;
    color: var(--dk-slate);
}

.dk-feature-section--about-values .dk-section-header {
    margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}
.dk-feature-cards-grid--5 {
    grid-template-columns: repeat(5, 1fr);
    gap: clamp(1rem, 2vw, 1.5rem);
}
@media (max-width: 1200px) {
    .dk-feature-cards-grid--5 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    .dk-feature-cards-grid--5 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
    .dk-feature-cards-grid--5 {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}
.dk-feature-card--about-values {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.5rem 1.1rem;
    background: #fff;
    border: 1px solid rgba(55, 71, 79, 0.16);
    border-radius: 0.75rem;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
}
.dk-feature-card--about-values:hover {
    border-color: rgba(141, 198, 63, 0.4);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.1);
    transform: translateY(-3px);
}
.dk-feature-card-icon-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 0.5rem;
    background: #e6e8e9;
    margin: 0 auto 1.15rem;
    flex-shrink: 0;
    transition: background 0.3s ease;
}
.dk-feature-card--about-values:hover .dk-feature-card-icon-box {
    background: var(--dk-lime);
}
.dk-feature-card--about-values .dk-feature-card-icon {
    display: block;
    margin-bottom: 0;
    font-size: 1.5rem;
    color: var(--dk-slate);
    transition: color 0.3s ease, transform 0.3s ease;
}
.dk-feature-card--about-values:hover .dk-feature-card-icon {
    color: #fff;
    transform: scale(1.06);
}
.dk-feature-card--about-values .dk-feature-card-title {
    font-size: 1.0625rem;
    margin-bottom: 0.5rem;
    width: 100%;
}
.dk-feature-card--about-values .dk-feature-card-text {
    font-size: 0.8125rem;
    line-height: 1.6;
    width: 100%;
    max-width: 16rem;
    margin: 0 auto;
}

/* --- Team page (stitch team_page) --- */
.dk-team-hero {
    max-width: 80rem;
    margin: 0 auto;
    background: transparent;
}
.dk-team-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(2rem, 5vw, 3rem);
    align-items: start;
}
@media (min-width: 768px) {
    .dk-team-hero__grid {
        grid-template-columns: 7fr 5fr;
        gap: 3rem;
    }
}
.dk-team-hero__badge {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--dk-forest);
    margin-bottom: 1rem;
}
.dk-team-hero__h1 {
    font-family: var(--dk-font-headline);
    font-size: clamp(2.25rem, 5vw, 3.75rem);
    font-weight: 800;
    color: var(--dk-slate);
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 0 0 2rem;
}
.dk-team-hero__lead {
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.65;
    color: rgba(55, 71, 79, 0.78);
    max-width: 42rem;
    margin: 0;
}
.dk-team-hero__visual {
    position: relative;
    margin-top: 1.5rem;
    width: 100%;
    min-width: 0;
    overflow: visible;
}
@media (min-width: 768px) {
    .dk-team-hero__visual {
        margin-top: 0;
        padding: 0 0 0.5rem 0.75rem;
    }
}
.dk-team-hero__figure-wrap {
    width: 100%;
    filter: drop-shadow(0 20px 40px rgba(57, 73, 81, 0.08));
}
.dk-team-hero__figure-wrap--tilt {
    transform: rotate(0deg);
}
@media (min-width: 768px) {
    .dk-team-hero__figure-wrap--tilt {
        transform: rotate(3deg);
    }
}
.dk-team-hero__figure {
    aspect-ratio: 1;
    border-radius: 1rem;
    overflow: hidden;
    background: #f2f4f5;
    isolation: isolate;
}
.dk-team-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: grayscale(1);
    transition: filter 0.45s ease;
}
.dk-team-hero__figure:hover .dk-team-hero__img {
    filter: grayscale(0);
}
.dk-team-hero__float-card {
    display: none;
    position: absolute;
    z-index: 2;
    left: 0.5rem;
    bottom: 0.5rem;
    padding: 1.25rem 1.35rem;
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 16px 36px rgba(57, 73, 81, 0.12);
    max-width: min(18rem, calc(100% - 1.25rem));
}
@media (min-width: 768px) {
    .dk-team-hero__float-card {
        display: block;
    }
}
.dk-team-hero__float-title {
    margin: 0 0 0.25rem;
    font-family: var(--dk-font-headline);
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--dk-forest);
}
.dk-team-hero__float-sub {
    margin: 0;
    font-size: 0.875rem;
    color: rgba(55, 71, 79, 0.72);
}

.dk-team-members {
    display: grid;
    gap: 2rem;
    max-width: 80rem;
    margin: 0 auto;
}
.dk-team-members--cols-2 { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.dk-team-members--cols-3 { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.dk-team-members--cols-4 { grid-template-columns: 1fr; }
@media (min-width: 640px) {
    .dk-team-members--cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .dk-team-members--cols-4 { grid-template-columns: repeat(4, 1fr); }
}
.dk-team-member__inner {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    height: 100%;
}
.dk-team-member:hover .dk-team-member__inner {
    transform: translateY(-4px);
    box-shadow: 0 24px 48px rgba(57, 73, 81, 0.1);
}
.dk-team-member__photo-wrap {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    margin: 0;
    padding: 0;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #e8ebed;
    line-height: 0;
}
.dk-team-member__img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: filter 0.35s ease;
}
.dk-team-member:hover .dk-team-member__img {
    filter: brightness(1.04);
}
.dk-team-member__photo-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.35), transparent 65%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}
.dk-team-member:hover .dk-team-member__photo-shade {
    opacity: 1;
}
.dk-team-member__body {
    flex: 1 1 auto;
    padding: 1.5rem;
    margin: 0;
}
.dk-team-member__role {
    margin: 0 0 0.35rem;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--dk-forest);
}
.dk-team-member__name {
    margin: 0 0 0.5rem;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--dk-slate);
}
.dk-team-member__bio {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.6;
    color: rgba(55, 71, 79, 0.78);
}

.dk-team-ethos {
    position: relative;
    max-width: 64rem;
    margin: 0 auto;
    padding: clamp(2.5rem, 6vw, 5rem) clamp(1.5rem, 4vw, 3rem);
    background: var(--dk-slate);
    border-radius: 1rem;
    text-align: center;
    overflow: hidden;
}
.dk-team-ethos__glow {
    position: absolute;
    width: 16rem;
    height: 16rem;
    border-radius: 50%;
    filter: blur(48px);
    pointer-events: none;
}
.dk-team-ethos__glow--tr {
    top: 0;
    right: 0;
    margin: -8rem -8rem 0 0;
    background: rgba(141, 198, 63, 0.12);
}
.dk-team-ethos__glow--bl {
    bottom: 0;
    left: 0;
    margin: 0 0 -8rem -8rem;
    background: rgba(1, 107, 84, 0.12);
}
.dk-team-ethos__icon {
    position: relative;
    z-index: 1;
    font-size: 3rem !important;
    color: var(--dk-lime);
    display: block;
    margin: 0 auto 2rem;
}
.dk-team-ethos__quote {
    position: relative;
    z-index: 1;
    margin: 0 auto 2rem;
    max-width: 48rem;
    font-family: var(--dk-font-headline);
    font-size: clamp(1.35rem, 3vw, 2rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
}
.dk-team-ethos__accent {
    color: var(--dk-lime);
}
.dk-team-ethos__tagline {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    max-width: 40rem;
    font-size: 1.125rem;
    font-style: italic;
    font-weight: 300;
    color: #b8c9d3;
    line-height: 1.6;
}

.dk-competency-section {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-competency-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 3rem;
}
@media (min-width: 768px) {
    .dk-competency-section__head {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
    }
}
.dk-competency-section__eyebrow {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--dk-forest);
    margin-bottom: 0.75rem;
}
.dk-competency-section__title {
    margin: 0;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 800;
    color: var(--dk-slate);
}
.dk-competency-section__aside {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: rgba(55, 71, 79, 0.55);
    max-width: 20rem;
}
@media (min-width: 768px) {
    .dk-competency-section__aside {
        text-align: right;
    }
}
.dk-competency-section__list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.dk-competency-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem 1.5rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    border-radius: 0.75rem;
    align-items: center;
}
@media (min-width: 768px) {
    .dk-competency-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr);
    }
}
.dk-competency-row--white {
    background: #fff;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
}
.dk-competency-row--muted {
    background: #f2f4f5;
}
.dk-competency-row__pill {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.35rem 0.75rem;
    border-radius: 9999px;
}
.dk-competency-row__pill--primary {
    color: var(--dk-forest);
    background: rgba(66, 105, 0, 0.1);
}
.dk-competency-row__pill--tertiary {
    color: var(--dk-forest);
    background: rgba(1, 107, 84, 0.1);
}
.dk-competency-row__heading {
    font-weight: 700;
    color: var(--dk-slate);
    font-size: 1rem;
}
.dk-competency-row__desc {
    font-size: 0.875rem;
    line-height: 1.6;
    color: rgba(55, 71, 79, 0.78);
}

/* --- Testimonials page (stitch testimonials_page) --- */
.dk-testimonials-hero {
    max-width: 80rem;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}
.dk-testimonials-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(2rem, 5vw, 3rem);
    align-items: center;
}
@media (min-width: 1024px) {
    .dk-testimonials-hero__grid {
        grid-template-columns: 7fr 5fr;
        gap: 3rem;
    }
}
.dk-testimonials-hero__badge {
    display: inline-block;
    padding: 0.4rem 1rem;
    margin-bottom: 1.5rem;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #fff;
    border-radius: 9999px;
    background: var(--dk-gradient);
}
.dk-testimonials-hero__h1 {
    margin: 0 0 2rem;
    font-family: var(--dk-font-headline);
    font-size: clamp(2.25rem, 5vw, 4.25rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--dk-slate);
}
.dk-testimonials-hero__lead {
    margin: 0;
    max-width: 42rem;
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.65;
    color: rgba(55, 71, 79, 0.78);
}
.dk-testimonials-hero__visual {
    position: relative;
    min-width: 0;
}
.dk-testimonials-hero__blob {
    position: absolute;
    top: -3rem;
    right: -3rem;
    width: 16rem;
    height: 16rem;
    border-radius: 50%;
    background: rgba(141, 198, 63, 0.12);
    filter: blur(48px);
    z-index: 0;
    pointer-events: none;
}
.dk-testimonials-hero__figure {
    position: relative;
    z-index: 1;
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
}
.dk-testimonials-hero__img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    transform: scale(1.06);
    transition: transform 0.5s ease;
}
.dk-testimonials-hero__figure:hover .dk-testimonials-hero__img {
    transform: scale(1.08);
}

.dk-testimonials-grid-section {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-testimonials-grid-section__title {
    margin: 0 0 clamp(2rem, 4vw, 4rem);
    font-size: clamp(1.5rem, 3vw, 1.875rem);
    font-weight: 800;
    color: var(--dk-slate);
}
.dk-testimonials-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) {
    .dk-testimonials-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1024px) {
    .dk-testimonials-grid {
        grid-template-columns: repeat(3, 1fr);
        align-items: start;
    }
}
.dk-testimonials-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100%;
    padding: 2rem;
    background: #fff;
    border-radius: 0.75rem;
    border: 1px solid rgba(194, 201, 179, 0.25);
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    transition: transform 0.3s ease;
}
.dk-testimonials-card:hover {
    transform: translateY(-4px);
}
.dk-testimonials-card--featured {
    border-top: 4px solid var(--dk-lime);
}
@media (min-width: 1024px) {
    .dk-testimonials-card--featured {
        transform: scale(1.03);
        z-index: 2;
    }
    .dk-testimonials-card--featured:hover {
        transform: scale(1.03) translateY(-4px);
    }
}
@media (max-width: 639px) {
    .dk-testimonials-card {
        padding: 1.5rem;
    }
    .dk-testimonials-card__quote {
        font-size: 1rem;
    }
}
.dk-testimonials-card__icon {
    display: block;
    margin-bottom: 1.5rem;
    font-size: 2.5rem !important;
    color: var(--dk-lime);
    line-height: 1;
}
.dk-testimonials-card__quote {
    margin: 0 0 2rem;
    font-size: 1.125rem;
    font-style: italic;
    line-height: 1.65;
    color: var(--dk-slate);
}
.dk-testimonials-card__footer {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: auto;
}
.dk-testimonials-card__avatar {
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    background: #eceeef;
}
.dk-testimonials-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.dk-testimonials-card__name {
    margin: 0 0 0.15rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--dk-slate);
}
.dk-testimonials-card__role {
    margin: 0;
    font-size: 0.875rem;
    color: rgba(55, 71, 79, 0.72);
}

.dk-case-study-teaser {
    position: relative;
    max-width: 80rem;
    margin: 0 auto;
    border-radius: 1.125rem;
    overflow: hidden;
    background: #1e2928;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.18);
}
.dk-case-study-teaser__bg {
    position: absolute;
    inset: 0;
    opacity: 1;
    background:
        radial-gradient(ellipse 80% 70% at 50% 45%, rgba(55, 75, 72, 0.55) 0%, transparent 65%),
        radial-gradient(circle at 100% 0%, rgba(141, 198, 63, 0.14), transparent 50%);
    pointer-events: none;
}
.dk-case-study-teaser__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2.5rem;
    padding: clamp(2.5rem, 5vw, 3.75rem);
}
@media (min-width: 1024px) {
    .dk-case-study-teaser__inner {
        display: grid;
        grid-template-columns: 60% 40%;
        align-items: center;
        column-gap: clamp(1.5rem, 3vw, 2.5rem);
        row-gap: 2rem;
    }
}
.dk-case-study-teaser__copy {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
}
@media (min-width: 1024px) {
    .dk-case-study-teaser__copy {
        grid-column: 1;
        max-width: 100%;
    }
}
.dk-case-study-teaser__eyebrow {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    color: var(--dk-lime);
}
.dk-case-study-teaser__eyebrow-icon {
    font-size: 1.25rem !important;
}
.dk-case-study-teaser__eyebrow-text {
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.dk-case-study-teaser__h3 {
    margin: 0 0 1.5rem;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
}
.dk-case-study-teaser__desc {
    margin: 0 0 2rem;
    max-width: 42rem;
    font-size: 1.125rem;
    line-height: 1.65;
    color: #cbd5e1;
}
.dk-case-study-teaser__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 2rem;
    background: #fff;
    color: var(--dk-slate);
    font-family: var(--dk-font-headline);
    font-weight: 800;
    font-size: 1rem;
    border-radius: 0.5rem;
    text-decoration: none;
    transition: background 0.25s ease, color 0.25s ease;
}
.dk-case-study-teaser__btn:hover {
    background: var(--dk-lime);
    color: #fff;
}
@media (max-width: 639px) {
    .dk-case-study-teaser__btn {
        width: 100%;
        justify-content: center;
    }
}
.dk-case-study-teaser__btn .material-symbols-outlined {
    font-size: 1.25rem;
}
.dk-case-study-teaser__stat-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-width: 0;
}
@media (min-width: 1024px) {
    .dk-case-study-teaser__stat-wrap {
        grid-column: 2;
        justify-content: center;
        padding: 0.5rem 0;
    }
}
.dk-case-study-teaser__stat-card {
    width: 100%;
    max-width: 17.5rem;
    aspect-ratio: 4 / 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(1.5rem, 4vw, 2.25rem) 1.25rem;
    text-align: center;
    border-radius: 0.875rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.dk-case-study-teaser__stat-value {
    font-size: clamp(3.25rem, 7vw, 4.25rem);
    font-weight: 900;
    color: var(--dk-lime);
    line-height: 1;
    margin: 0 0 0.75rem;
    letter-spacing: -0.02em;
}
.dk-case-study-teaser__stat-label {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    line-height: 1.45;
    color: #f1f5f9;
}

/* ----------------------------------------------------------------
   Learning Centre — stitch learn_page_resources
---------------------------------------------------------------- */
.dk-learning-hero {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
}
.dk-learning-hero__grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(2rem, 5vw, 4rem);
}
@media (min-width: 768px) {
    .dk-learning-hero__grid {
        flex-direction: row;
        align-items: center;
    }
}
.dk-learning-hero__copy {
    flex: 1 1 0;
    min-width: 0;
}
.dk-learning-hero__eyebrow {
    display: block;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #426900;
}
.dk-learning-hero__h1 {
    margin: 0 0 1.5rem;
    font-family: var(--dk-font-headline);
    font-size: clamp(2.25rem, 5vw, 3.75rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: #394951;
}
.dk-learning-hero__lead {
    margin: 0;
    max-width: 42rem;
    font-size: 1.125rem;
    line-height: 1.65;
    color: #424938;
}
.dk-learning-hero__visual {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    width: 100%;
}
.dk-learning-hero__blob {
    position: absolute;
    top: -2.5rem;
    left: -2.5rem;
    width: 16rem;
    height: 16rem;
    border-radius: 9999px;
    background: var(--dk-gradient);
    opacity: 0.1;
    filter: blur(48px);
    pointer-events: none;
}
.dk-learning-hero__glass {
    position: relative;
    padding: 2rem;
    border-radius: 0.75rem;
    background: rgba(242, 244, 245, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
}
.dk-learning-hero__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
}

/* Resource library bento */
.dk-res-lib {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
}
.dk-res-lib__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: clamp(2rem, 4vw, 3rem);
}
.dk-res-lib__title {
    margin: 0;
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3.5vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #394951;
}
.dk-res-lib__sub {
    margin: 0.5rem 0 0;
    font-size: 1rem;
    color: #424938;
    max-width: 36rem;
}
.dk-res-lib__filter {
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
    border-radius: 9999px;
    background: #f2f4f5;
    color: #506169;
}
@media (min-width: 768px) {
    .dk-res-lib__filter {
        display: flex;
    }
}
.dk-res-lib__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
@media (min-width: 768px) {
    .dk-res-lib__grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .dk-res-lib-card--span-2 {
        grid-column: span 2;
    }
    .dk-res-lib-card--span-3 {
        grid-column: span 3;
    }
}
.dk-res-lib-card {
    position: relative;
    border-radius: 0.75rem;
    overflow: hidden;
}
.dk-res-lib-card--wide {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 2rem;
    background: #fff;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    transition: transform 0.2s ease;
}
@media (hover: hover) {
    .dk-res-lib-card--wide:hover {
        transform: scale(1.01);
    }
}
.dk-res-lib-card--dark_video {
    padding: 0;
    background: #394951;
    color: #fff;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
}
.dk-res-lib-card--compact {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 2rem;
    background: #f2f4f5;
    transition: background 0.2s ease;
}
@media (hover: hover) {
    .dk-res-lib-card--compact:hover {
        background: #e6e8e9;
    }
}
.dk-res-lib-card--infographic {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    padding: 2rem;
    background: #fff;
    border-left: 4px solid #426900;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
}
@media (min-width: 768px) {
    .dk-res-lib-card--infographic {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}
.dk-res-lib-card__meta-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}
.dk-res-lib-card__tag {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #737a66;
}
.dk-res-lib-card__ic {
    font-size: 1.75rem !important;
    color: #426900;
}
.dk-res-lib-card__ic--lime {
    font-size: 2.25rem !important;
    color: #a3e635;
    margin-bottom: 1.5rem;
    display: block;
}
.dk-res-lib-card--dark_video .dk-res-lib-card__inner--dark {
    position: relative;
    z-index: 2;
    padding: 2rem;
}
.dk-res-lib-card__dark-glow {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to bottom right, rgba(66, 105, 0, 0.2), transparent);
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
}
@media (hover: hover) {
    .dk-res-lib-card--dark_video:hover .dk-res-lib-card__dark-glow {
        opacity: 1;
    }
}
.dk-res-lib-card__h3 {
    margin: 0 0 1rem;
    font-family: var(--dk-font-headline);
    font-size: 1.5rem;
    font-weight: 800;
    color: #394951;
    line-height: 1.25;
}
.dk-res-lib-card__h3--sm {
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
}
.dk-res-lib-card__h3--light {
    color: #fff;
}
.dk-res-lib-card__desc {
    margin: 0 0 2rem;
    font-size: 1rem;
    line-height: 1.55;
    color: #424938;
}
.dk-res-lib-card__desc--muted {
    font-size: 0.875rem;
    color: #cbd5e1;
    margin-bottom: 1.5rem;
}
.dk-res-lib-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--dk-font-headline);
    font-weight: 800;
    font-size: 1rem;
    color: #426900;
    text-decoration: none;
}
.dk-res-lib-card__link:hover {
    text-decoration: underline;
}
.dk-res-lib-card__link--sm {
    font-size: 0.875rem;
    margin-top: 1rem;
}
.dk-res-lib-card__link--lime {
    color: #a3e635;
}
.dk-res-lib-card__link--lime:hover {
    color: #bef264;
}
.dk-res-lib-card__info {
    flex: 1 1 auto;
    min-width: 0;
}
.dk-res-lib-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    flex-shrink: 0;
}
.dk-res-lib-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1.5rem;
    border-radius: 0.5rem;
    font-family: var(--dk-font-headline);
    font-weight: 800;
    font-size: 0.875rem;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.dk-res-lib-card__btn--outline {
    border: 2px solid #426900;
    color: #426900;
    background: transparent;
}
.dk-res-lib-card__btn--outline:hover {
    background: rgba(66, 105, 0, 0.06);
}
.dk-res-lib-card__btn--solid {
    border: none;
    color: #fff;
    background: var(--dk-gradient);
    box-shadow: 0 10px 24px rgba(66, 105, 0, 0.2);
}
.dk-res-lib-card__btn--solid:hover {
    opacity: 0.95;
}
@media (max-width: 767px) {
    .dk-res-lib-card__actions {
        width: 100%;
    }
    .dk-res-lib-card__btn {
        flex: 1 1 auto;
        min-width: min(100%, 10rem);
    }
}

/* FAQ accordion (<details>) */
.dk-faq-widget {
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
}
.dk-faq-widget__head {
    text-align: center;
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.dk-faq-widget__title {
    margin: 0 0 1rem;
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3.5vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #394951;
}
.dk-faq-widget__rule {
    width: 4rem;
    height: 0.25rem;
    margin: 0 auto;
    border-radius: 9999px;
    background: var(--dk-gradient);
}
.dk-faq-widget__list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.dk-faq-item {
    border-radius: 0.75rem;
    overflow: hidden;
    background: #f2f4f5;
}
.dk-faq-item__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: 1.5rem;
    list-style: none;
    cursor: pointer;
    font-family: var(--dk-font-headline);
    font-weight: 800;
    color: #394951;
    text-align: left;
    border: none;
    background: transparent;
    transition: background 0.2s ease;
}
.dk-faq-item__summary::-webkit-details-marker {
    display: none;
}
.dk-faq-item__summary::marker {
    content: '';
}
.dk-faq-item__summary:hover {
    background: #e6e8e9;
}
.dk-faq-item__q {
    flex: 1 1 auto;
    min-width: 0;
    font-size: clamp(0.9375rem, 2vw, 1rem);
    line-height: 1.4;
}
.dk-faq-item__chev {
    flex-shrink: 0;
    color: #506169;
    transition: transform 0.25s ease;
}
.dk-faq-item[open] .dk-faq-item__chev {
    transform: rotate(180deg);
}
.dk-faq-item__body {
    padding: 0 1.5rem 1.5rem;
}
.dk-faq-item__a {
    margin: 0;
    font-size: 1rem;
    line-height: 1.65;
    color: #424938;
}

/* ----------------------------------------------------------------
   What We Deliver — stitch what_we_deliver_page
---------------------------------------------------------------- */
.dk-wwd-hero {
    max-width: 96rem;
    margin-left: auto;
    margin-right: auto;
}
.dk-wwd-hero__grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(2rem, 5vw, 4rem);
}
@media (min-width: 768px) {
    .dk-wwd-hero__grid {
        flex-direction: row;
        align-items: center;
    }
    .dk-wwd-hero__copy {
        flex: 3 1 0;
        min-width: 0;
    }
    .dk-wwd-hero__visual {
        flex: 2 1 0;
    }
}
.dk-wwd-hero__copy {
    width: 100%;
}
.dk-wwd-hero__eyebrow {
    display: block;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #426900;
}
.dk-wwd-hero__h1 {
    margin: 0 0 2rem;
    font-family: var(--dk-font-headline);
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #394951;
}
.dk-wwd-hero__h1-gradient {
    background: linear-gradient(135deg, #8dc63f 0%, #016b54 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.dk-wwd-hero__lead {
    margin: 0;
    max-width: 42rem;
    font-size: clamp(1.0625rem, 2vw, 1.25rem);
    line-height: 1.65;
    color: #424938;
}
.dk-wwd-hero__visual {
    position: relative;
    width: 100%;
    border-radius: 1.25rem;
    overflow: hidden;
}
.dk-wwd-hero__blob {
    position: absolute;
    inset: -1rem;
    border-radius: 1.25rem;
    background: var(--dk-gradient);
    opacity: 0.1;
    filter: blur(32px);
    pointer-events: none;
}
.dk-wwd-hero__img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    min-height: min(var(--dk-wwd-hero-img-h, 400px), 70vh);
    max-height: 28rem;
    object-fit: cover;
    border-radius: 1.25rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

/* Outcomes bento (card radius + lime accents aligned to design ref) */
.dk-wwd-bento {
    --dk-wwd-radius-card: 1.25rem;
    --dk-wwd-radius-inner: 1rem;
    --dk-wwd-lime-bright: #a6ce39;
    --dk-wwd-split-bg: #f8f9fa;
    --dk-wwd-split-border: #e8eaed;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    max-width: 96rem;
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 768px) {
    .dk-wwd-bento {
        grid-template-columns: repeat(12, 1fr);
    }
    .dk-wwd-bento__cell--4 {
        grid-column: span 4;
    }
    .dk-wwd-bento__cell--6 {
        grid-column: span 6;
    }
    .dk-wwd-bento__cell--8 {
        grid-column: span 8;
    }
    .dk-wwd-bento__cell--12 {
        grid-column: span 12;
    }
}
.dk-wwd-bento__cell {
    min-width: 0;
}

.dk-wwd-card {
    height: 100%;
    border-radius: var(--dk-wwd-radius-card, 1.25rem);
    padding: clamp(2rem, 5vw, 2.5rem);
    box-sizing: border-box;
}
.dk-wwd-card--surface {
    background: #fff;
    border: 1px solid var(--dk-wwd-split-border, #e8eaed);
    box-shadow: 0 16px 40px rgba(57, 73, 81, 0.06);
}
.dk-wwd-card--shadow-hover {
    transition: box-shadow 0.5s ease;
}
@media (hover: hover) {
    .dk-wwd-card--shadow-hover:hover {
        box-shadow: 0 20px 40px rgba(57, 73, 81, 0.1);
    }
}
.dk-wwd-card--border {
    border: 1px solid var(--dk-wwd-split-border, #e8eaed);
    box-shadow: 0 16px 40px rgba(57, 73, 81, 0.06);
}
.dk-wwd-card--muted {
    background: var(--dk-wwd-split-bg, #f8f9fa);
    border: 1px solid var(--dk-wwd-split-border, #e8eaed);
    box-shadow: 0 12px 32px rgba(57, 73, 81, 0.05);
}
.dk-wwd-card--dark {
    position: relative;
    overflow: hidden;
    background: #374141;
    color: #f8fafb;
    box-shadow: 0 20px 48px rgba(30, 35, 40, 0.2);
}
.dk-wwd-card__dark-inner {
    position: relative;
    z-index: 2;
}
.dk-wwd-card__deco {
    position: absolute;
    bottom: -0.5rem;
    right: -0.25rem;
    font-size: 8.5rem !important;
    line-height: 1;
    opacity: 0.07;
    pointer-events: none;
    z-index: 1;
    color: #fff;
}

.dk-wwd-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: var(--dk-wwd-radius-inner, 1rem);
    margin-bottom: 1.5rem;
}
.dk-wwd-card__icon .material-symbols-outlined {
    font-size: 1.5rem !important;
}
.dk-wwd-card__icon--gradient {
    background: var(--dk-gradient);
    color: #fff;
}
.dk-wwd-card__title-row .dk-wwd-card__icon--gradient {
    margin-bottom: 0;
}
.dk-wwd-card__icon--secondary {
    background: #d1e2ec;
    color: #55656d;
    margin-bottom: 1.5rem;
}
.dk-wwd-card__icon--lime {
    background: var(--dk-lime);
    color: #112000;
    margin-bottom: 1.5rem;
}
.dk-wwd-card--dark .dk-wwd-card__icon--lime {
    background: var(--dk-wwd-lime-bright, #a6ce39);
    color: #1a1f16;
}

.dk-wwd-card__title-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}
.dk-wwd-card__title-row--tight {
    margin-bottom: 1rem;
}
.dk-wwd-card__title-row .dk-wwd-card__h3 {
    margin-bottom: 0;
}
.dk-wwd-card__inline-ic {
    font-size: 1.75rem !important;
    color: var(--dk-wwd-lime-bright, #a6ce39);
    flex-shrink: 0;
}

.dk-wwd-card__h3 {
    margin: 0 0 1rem;
    font-family: var(--dk-font-headline);
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.25;
    color: #394951;
}
.dk-wwd-card__h3--on-dark {
    color: #f8fafb;
}

.dk-wwd-card__p {
    margin: 0 0 1.5rem;
    font-size: 1rem;
    line-height: 1.65;
    color: #424938;
}
.dk-wwd-card__p--lg {
    font-size: 1.125rem;
}
.dk-wwd-card__p--on-dark {
    color: rgba(248, 250, 251, 0.8);
    margin-bottom: 2rem;
}

.dk-wwd-card__stat-row {
    display: flex;
    flex-direction: column;
    gap: clamp(1.5rem, 3vw, 2.5rem);
}
@media (min-width: 768px) {
    .dk-wwd-card__stat-row {
        flex-direction: row;
        align-items: stretch;
        gap: 2.5rem;
    }
}
.dk-wwd-card__stat-main {
    flex: 1 1 auto;
    min-width: 0;
}
.dk-wwd-card__stat-box {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    min-width: 0;
    width: 100%;
    background: #f2f4f5;
    border-radius: var(--dk-wwd-radius-inner, 1rem);
    text-align: center;
}
@media (min-width: 768px) {
    .dk-wwd-card__stat-box {
        width: auto;
        min-width: 12.5rem;
    }
}
.dk-wwd-card__stat-num {
    font-size: clamp(2.5rem, 5vw, 3rem);
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(135deg, #8dc63f 0%, #016b54 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.dk-wwd-card__stat-cap {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.35;
    color: #424938;
    max-width: 12rem;
}

.dk-wwd-card__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-radius: 0.375rem;
    background: rgba(1, 107, 84, 0.1);
    color: #016b54;
    font-weight: 800;
    font-size: 0.875rem;
}
.dk-wwd-card__pill-ic {
    font-size: 1.125rem !important;
}

.dk-wwd-card__big-metric {
    font-size: clamp(2rem, 4vw, 2.25rem);
    font-weight: 800;
    color: var(--dk-lime);
    line-height: 1.1;
}
.dk-wwd-card--dark .dk-wwd-card__big-metric {
    font-size: clamp(2.25rem, 4.5vw, 2.75rem);
    font-weight: 900;
    color: var(--dk-wwd-lime-bright, #a6ce39);
}
.dk-wwd-card__metric-sub {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(248, 250, 251, 0.6);
}

.dk-wwd-card--split {
    display: flex;
    flex-direction: column;
    gap: clamp(1.75rem, 4vw, 2.5rem);
    align-items: stretch;
}
@media (min-width: 768px) {
    .dk-wwd-card--split {
        flex-direction: row;
        align-items: center;
    }
}
.dk-wwd-card__split-visual {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    border-radius: var(--dk-wwd-radius-inner, 1rem);
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(57, 73, 81, 0.08);
}
@media (min-width: 768px) {
    .dk-wwd-card__split-visual {
        flex: 0 0 50%;
        max-width: 50%;
    }
}
.dk-wwd-card__split-img {
    display: block;
    width: 100%;
    height: 12rem;
    object-fit: cover;
    border-radius: var(--dk-wwd-radius-inner, 1rem);
}
@media (min-width: 768px) {
    .dk-wwd-card__split-img {
        height: 15rem;
    }
}
.dk-wwd-card__split-body {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    padding-top: 0.125rem;
}
@media (min-width: 768px) {
    .dk-wwd-card__split-body {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

.dk-wwd-card__foot-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 0.5rem;
    font-family: var(--dk-font-headline);
    font-weight: 800;
    font-size: 1rem;
    color: #426900;
}
.dk-wwd-card__foot-row .material-symbols-outlined {
    font-size: 1.5rem !important;
}

.dk-wwd-card__bar-track {
    height: 0.5rem;
    width: 100%;
    border-radius: 9999px;
    background: #e6e8e9;
    overflow: hidden;
    margin-top: 0.25rem;
}
.dk-wwd-card__bar-fill {
    height: 100%;
    border-radius: 9999px;
    background: var(--dk-gradient);
    transition: width 0.4s ease;
}
.dk-wwd-card__bar-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 0.5rem;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #424938;
}
.dk-wwd-card__bar-labels-strong {
    color: #426900;
    font-weight: 800;
}

/* ----------------------------------------------------------------
   Blog landing page — stitch blog_page
---------------------------------------------------------------- */
.dk-blog-hero {
    position: relative;
    text-align: center;
    overflow: hidden;
    max-width: 100%;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background: transparent !important;
    background-image: none !important;
}
.dk-blog-hero__inner {
    position: relative;
    z-index: 2;
    background: transparent !important;
    background-image: none !important;
}

/* Strip Elementor section/column tints behind the blog hero (gradients, overlays) */
.elementor-widget-dk-blog-page-hero,
.elementor-widget-dk-blog-page-hero .elementor-widget-container {
    background-color: transparent !important;
    background-image: none !important;
}
@supports selector(:has(*)) {
    .elementor-section:has(.dk-blog-hero),
    .elementor-section:has(.dk-blog-hero) > .elementor-container,
    .elementor-column:has(.dk-blog-hero),
    .elementor-column:has(.dk-blog-hero) > .elementor-widget-wrap {
        background-color: transparent !important;
        background-image: none !important;
    }
}

.dk-blog-hero__badge {
    display: inline-block;
    margin-bottom: 1.25rem;
    padding: 0.375rem 1rem;
    border-radius: 9999px;
    background: transparent;
    border: 1px solid rgba(57, 73, 81, 0.2);
    color: #394951;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}
.dk-blog-hero__h1 {
    margin: 0 auto 1.25rem;
    max-width: 56rem;
    font-family: var(--dk-font-headline);
    font-size: clamp(2.25rem, 5vw, 4.5rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #394951;
}
.dk-blog-hero__lead {
    margin: 0 auto;
    max-width: 48rem;
    font-size: clamp(1.125rem, 2.2vw, 1.5rem);
    font-weight: 300;
    line-height: 1.65;
    color: #424938;
}

/* Featured post row */
.dk-blog-featured {
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto;
}
.dk-blog-featured__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(2rem, 4vw, 3rem);
    align-items: center;
}
@media (min-width: 1024px) {
    .dk-blog-featured__grid {
        grid-template-columns: 7fr 5fr;
    }
}
.dk-blog-featured__media {
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(80, 97, 105, 0.15);
}
.dk-blog-featured__media-link {
    display: block;
    overflow: hidden;
}
.dk-blog-featured__img {
    display: block;
    width: 100%;
    height: min(var(--dk-blog-featured-img-h, 340px), 45vh);
    min-height: 200px;
    object-fit: cover;
    transition: transform 0.7s ease;
}
.dk-blog-featured__media:hover .dk-blog-featured__img,
.dk-blog-featured__media-link:hover .dk-blog-featured__img {
    transform: scale(1.05);
}
.dk-blog-featured__label {
    display: block;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #016b54;
}
.dk-blog-featured__h2 {
    margin: 0 0 1.5rem;
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 800;
    line-height: 1.2;
    color: #394951;
}
.dk-blog-featured__excerpt {
    margin: 0 0 1.5rem;
    font-size: 1.125rem;
    line-height: 1.65;
    color: #424938;
}
.dk-blog-featured__cta-wrap {
    padding-top: 0.5rem;
}
.dk-blog-featured__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding-bottom: 0.25rem;
    border-bottom: 2px solid #8dc63f;
    color: #016b54;
    font-family: var(--dk-font-headline);
    font-weight: 800;
    font-size: 1rem;
    text-decoration: none;
    transition: gap 0.2s ease, color 0.2s ease;
}
.dk-blog-featured__cta:hover {
    color: #014d3d;
    gap: 0.875rem;
}
.dk-blog-featured__cta .material-symbols-outlined {
    font-size: 1.25rem !important;
    transition: transform 0.2s ease;
}
.dk-blog-featured__cta:hover .material-symbols-outlined {
    transform: translateX(4px);
}

/* Native archive / home / search listings (same cards as Elementor blog grid) */
.dk-archive-section {
    margin-top: 0;
    padding-bottom: clamp(2rem, 4vw, 3rem);
    background: #f2f4f5;
}
.dk-archive-header {
    padding: clamp(1rem, 2.5vw, 1.5rem) 1.5rem clamp(1rem, 2vw, 1.25rem);
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.dk-archive-title {
    margin: 0 0 0.75rem;
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 800;
    line-height: 1.2;
    color: #394951;
}
.dk-archive-meta {
    margin: 0;
    font-size: 0.9375rem;
    color: #64748b;
}
.dk-archive-desc {
    margin: 1rem auto 0;
    max-width: 42rem;
    font-size: 1rem;
    line-height: 1.65;
    color: #64748b;
    text-align: center;
}
.dk-archive-desc p {
    margin: 0 0 0.75rem;
}
.dk-archive-body {
    padding: 0 1.5rem clamp(2rem, 4vw, 3rem);
}
.dk-archive-body__inner {
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto;
}
.dk-archive-empty {
    text-align: center;
    padding: 2rem 1rem;
    color: #64748b;
}
.dk-archive-empty__search {
    margin-top: 1.5rem;
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
}
/* No flex-grow: avoids empty stretch above footer when a parent is flex + min-height */
main.dk-main--archive {
    margin: 0;
    padding: 0;
}

/* -----------------------------------------------------------------
   Single blog post — centered column (not <header>: avoids nav .dk-container rules)
   ----------------------------------------------------------------- */
main.dk-main--single-post {
    margin: 0;
    padding: 0;
}
.dk-single-post {
    margin: 0;
    background: #fff;
}
.dk-single-top {
    padding-top: clamp(0.75rem, 2vw, 1.25rem);
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 45%, #eef2f6 100%);
    border-bottom: 1px solid #e2e8f0;
}
.dk-single-hero {
    padding: 0.35rem 0 0.5rem;
    background: transparent;
}
/* Post hero is a div — enforce readable container (site nav uses header .dk-container { max-width: 100% }) */
.dk-single-hero .dk-container.dk-single-hero__inner {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(1.25rem, 4vw, 2rem);
    padding-right: clamp(1.25rem, 4vw, 2rem);
}
.dk-single-hero__masthead {
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.dk-single-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem 0.5rem;
    margin: 0 0 0.75rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}
.dk-single-breadcrumb a {
    color: #016b54;
    text-decoration: none;
}
.dk-single-breadcrumb a:hover {
    color: #014d3d;
    text-decoration: underline;
}
.dk-single-breadcrumb__sep {
    color: #cbd5e1;
    font-weight: 500;
    letter-spacing: normal;
}
.dk-single-breadcrumb__current {
    color: #64748b;
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
    max-width: 100%;
    text-align: center;
}
.dk-single-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: center;
    margin: 0 0 0.75rem;
}
.dk-single-pill {
    display: inline-block;
    padding: 0.3rem 0.85rem;
    border-radius: 9999px;
    background: var(--dk-gradient);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    box-shadow: 0 4px 14px rgba(1, 107, 84, 0.2);
}
.dk-single-pill:hover {
    color: #fff;
    opacity: 0.95;
    transform: translateY(-1px);
}
.dk-single-sticky-badge {
    margin: 0 0 0.5rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #016b54;
}
.dk-single-title {
    margin: 0 0 0.75rem;
    font-family: var(--dk-font-headline);
    font-size: clamp(2rem, 4vw + 0.75rem, 3.125rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.03em;
    color: #0f172a;
}
.dk-single-deck {
    margin: 0 auto 1rem;
    max-width: 36rem;
    font-size: 1.125rem;
    line-height: 1.65;
    color: #64748b;
    text-align: center;
}
.dk-single-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem 0.45rem;
    margin: 0;
    padding-top: 1rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    font-size: 0.8125rem;
    color: #64748b;
}
.dk-single-meta__dot {
    color: #cbd5e1;
    user-select: none;
}
.dk-single-meta__author a {
    color: #016b54;
    font-weight: 700;
    text-decoration: none;
}
.dk-single-meta__author a:hover {
    text-decoration: underline;
}
.dk-single-featured {
    margin: 0;
    padding: 0.25rem 0 1.25rem;
    background: transparent;
}
.dk-single-featured__inner {
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
    padding: 0.5rem clamp(1.25rem, 4vw, 2rem) 0;
}
.dk-single-featured__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 1rem;
    box-shadow:
        0 1px 0 rgba(15, 23, 42, 0.06),
        0 20px 50px -12px rgba(1, 107, 84, 0.2);
}
.dk-single-featured__caption {
    max-width: 42rem;
    margin: 0.65rem auto 0;
    padding: 0 clamp(1.25rem, 4vw, 2rem);
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #64748b;
    text-align: center;
}
.dk-single-body {
    padding: clamp(1.75rem, 4vw, 2.5rem) 0 clamp(2rem, 5vw, 3rem);
    background: #fff;
}
.dk-single-body__inner {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(1.25rem, 4vw, 2rem);
    padding-right: clamp(1.25rem, 4vw, 2rem);
}
.dk-single-content {
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.0625rem;
    line-height: 1.78;
    color: #334155;
    text-align: left;
}
.dk-single-content > p:first-of-type {
    font-size: 1.125rem;
    line-height: 1.72;
    color: #475569;
}
.dk-single-content > *:first-child {
    margin-top: 0;
}
.dk-single-content > *:last-child {
    margin-bottom: 0;
}
.dk-single-content h2,
.dk-single-content h3,
.dk-single-content h4 {
    margin: 2.25rem 0 1rem;
    font-family: var(--dk-font-headline);
    font-weight: 800;
    line-height: 1.3;
    color: #1e293b;
}
.dk-single-content h2 {
    font-size: 1.75rem;
}
.dk-single-content h3 {
    font-size: 1.375rem;
}
.dk-single-content h4 {
    font-size: 1.125rem;
}
.dk-single-content p,
.dk-single-content ul,
.dk-single-content ol {
    margin: 0 0 1.25rem;
}
.dk-single-content ul,
.dk-single-content ol {
    padding-left: 1.35rem;
}
.dk-single-content li {
    margin-bottom: 0.5rem;
}
.dk-single-content a {
    color: #016b54;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.dk-single-content a:hover {
    color: #014d3d;
}
.dk-single-content blockquote {
    margin: 1.75rem 0;
    padding: 1.25rem 1.5rem;
    border-left: 4px solid #016b54;
    background: #f8fafb;
    border-radius: 0 0.5rem 0.5rem 0;
    font-style: italic;
    color: #475569;
}
.dk-single-content pre,
.dk-single-content code {
    font-family: ui-monospace, monospace;
    font-size: 0.9em;
}
.dk-single-content pre {
    overflow-x: auto;
    padding: 1rem 1.25rem;
    border-radius: 0.5rem;
    background: #1e293b;
    color: #e2e8f0;
}
.dk-single-content img,
.dk-single-content video,
.dk-single-content iframe {
    max-width: 100%;
    height: auto;
}
.dk-single-content .alignwide {
    max-width: min(72rem, 100%);
    margin-left: auto;
    margin-right: auto;
}
.dk-single-content .alignfull {
    max-width: none;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.dk-single-page-links {
    margin: 2rem 0;
    padding: 1rem 0;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.9375rem;
}
.dk-single-page-links__label {
    font-weight: 700;
    margin-right: 0.5rem;
    color: #394951;
}
.dk-single-page-links__num {
    display: inline-block;
    margin: 0 0.25rem;
}
.dk-single-page-links a {
    color: #016b54;
    font-weight: 700;
    text-decoration: none;
}
.dk-single-page-links a:hover {
    text-decoration: underline;
}
.dk-single-tags {
    max-width: 42rem;
    margin: 2.5rem auto 0;
    padding-top: 1.75rem;
    border-top: 1px solid #e2e8f0;
    text-align: center;
}
.dk-single-tags__label {
    display: block;
    margin-bottom: 0.75rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #94a3b8;
}
.dk-single-tags__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
    justify-content: center;
}
.dk-single-tag {
    display: inline-block;
    padding: 0.35rem 0.85rem;
    border-radius: 9999px;
    border: 1px solid rgba(1, 107, 84, 0.25);
    background: #f8fafb;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #016b54;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.dk-single-tag:hover {
    background: rgba(1, 107, 84, 0.08);
    border-color: #016b54;
    color: #014d3d;
}
.dk-single-author {
    max-width: 42rem;
    margin: 2.5rem auto 0;
    padding-top: 1.75rem;
    border-top: 1px solid #e2e8f0;
}
.dk-single-author__h {
    margin: 0 0 1rem;
    font-family: var(--dk-font-headline);
    font-size: 1rem;
    font-weight: 800;
    color: #394951;
    text-align: center;
}
.dk-single-author__card {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    padding: 1.5rem;
    border-radius: 0.75rem;
    background: #f8fafb;
    border: 1px solid #e2e8f0;
}
.dk-single-author__avatar {
    flex-shrink: 0;
    border-radius: 50%;
}
.dk-single-author__name {
    display: inline-block;
    margin-bottom: 0.5rem;
    font-family: var(--dk-font-headline);
    font-size: 1.125rem;
    font-weight: 800;
    color: #016b54;
    text-decoration: none;
}
.dk-single-author__name:hover {
    text-decoration: underline;
}
.dk-single-author__bio {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: #64748b;
}
.dk-single-author__bio p {
    margin: 0 0 0.75rem;
}
.dk-single-author__bio p:last-child {
    margin-bottom: 0;
}
.dk-single-author__bio--empty a {
    font-weight: 600;
    color: #016b54;
}
.dk-single-nav {
    max-width: 42rem;
    margin: 2.5rem auto 0;
    padding-top: 1.75rem;
    border-top: 1px solid #e2e8f0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
@media (max-width: 600px) {
    .dk-single-nav {
        grid-template-columns: 1fr;
    }
}
.dk-single-nav .nav-links {
    display: contents;
}
.dk-single-nav .nav-previous,
.dk-single-nav .nav-next {
    margin: 0;
}
.dk-single-nav .nav-next {
    text-align: right;
}
@media (max-width: 600px) {
    .dk-single-nav .nav-next {
        text-align: left;
    }
}
.dk-single-nav a {
    display: block;
    padding: 1rem 1.25rem;
    border-radius: 0.75rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.dk-single-nav a:hover {
    border-color: #016b54;
    box-shadow: 0 8px 24px rgba(1, 107, 84, 0.08);
}
.dk-single-nav__dir {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #94a3b8;
}
.dk-single-nav__title {
    display: block;
    font-family: var(--dk-font-headline);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.35;
    color: #394951;
}
.dk-single-comments {
    max-width: 42rem;
    margin: 2.5rem auto 0;
    padding-top: 1.75rem;
    border-top: 1px solid #e2e8f0;
}
.dk-single-password {
    padding: clamp(4rem, 12vw, 8rem) 1.5rem;
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
}
.dk-single-password .post-password-form {
    padding: 2rem;
    border-radius: 0.75rem;
    background: #f8fafb;
    border: 1px solid #e2e8f0;
}
.dk-single-password .post-password-form label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #394951;
}
.dk-single-password .post-password-form input[type="password"] {
    width: 100%;
    margin-bottom: 1rem;
    padding: 0.65rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    font-size: 1rem;
}
.dk-single-password .post-password-form input[type="submit"] {
    cursor: pointer;
    padding: 0.65rem 1.5rem;
    border: none;
    border-radius: 9999px;
    background: #016b54;
    color: #fff;
    font-weight: 700;
    font-size: 0.875rem;
}
main.dk-main--single {
    margin: 0;
    padding: 0;
}
.dk-single-generic {
    padding: clamp(3rem, 8vw, 5rem) 0;
    background: #fff;
}
.dk-single-generic__header {
    margin-bottom: 2rem;
    text-align: center;
}
.dk-single-generic__title {
    margin: 0;
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 4vw, 2.25rem);
    font-weight: 800;
    color: #394951;
}
.dk-single-generic__body .dk-single-content {
    max-width: 48rem;
}

/* Post card grid */
.dk-blog-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 768px) {
    .dk-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1024px) {
    .dk-blog-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.dk-blog-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    transition: box-shadow 0.5s ease;
}
@media (hover: hover) {
    .dk-blog-card:hover {
        box-shadow: 0 30px 60px rgba(57, 73, 81, 0.12);
    }
}
.dk-blog-card__media {
    position: relative;
    height: 16rem;
    overflow: hidden;
}
.dk-blog-card__img-link {
    display: block;
    height: 100%;
}
.dk-blog-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}
.dk-blog-card:hover .dk-blog-card__img {
    transform: scale(1.1);
}
.dk-blog-card__pills {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    max-width: calc(100% - 2rem);
}
.dk-blog-card__pills .dk-blog-card__pill {
    position: static;
}
.dk-blog-card__pill {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    background: var(--dk-gradient);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}
.dk-blog-card__body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 2rem;
}
.dk-blog-card__h3 {
    margin: 0 0 1rem;
    font-family: var(--dk-font-headline);
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.25;
}
.dk-blog-card__h3 a {
    color: #394951;
    text-decoration: none;
    transition: color 0.2s ease;
}
.dk-blog-card__h3 a:hover {
    color: #016b54;
}
.dk-blog-card__excerpt {
    margin: 0 0 2rem;
    flex-grow: 1;
    font-size: 0.875rem;
    line-height: 1.65;
    color: #424938;
}
.dk-blog-card__more {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: auto;
    color: #016b54;
    font-family: var(--dk-font-headline);
    font-weight: 800;
    font-size: 0.875rem;
    text-decoration: none;
}
.dk-blog-card__more .material-symbols-outlined {
    font-size: 1.25rem !important;
    transition: transform 0.2s ease;
}
.dk-blog-card__more:hover .material-symbols-outlined {
    transform: translateX(4px);
}

.dk-blog-grid-wrap {
    position: relative;
}
.dk-blog-grid-wrap--busy {
    opacity: 0.65;
    pointer-events: none;
    transition: opacity 0.2s ease;
}
.dk-blog-grid__empty {
    margin: 0;
    padding: 2rem 0;
    text-align: center;
    color: #64748b;
    font-size: 0.9375rem;
}
.dk-blog-featured--empty {
    padding: 2.5rem 1.5rem;
    text-align: center;
    border-radius: 1rem;
    background: #f1f5f9;
}
.dk-blog-featured__empty-msg {
    margin: 0;
    color: #64748b;
    font-size: 0.9375rem;
}
.dk-blog-pagination,
.dk-archive-pagination-wrap {
    margin-top: 2.5rem;
    display: flex;
    justify-content: center;
}
.dk-blog-pagination .page-numbers,
.dk-archive-pagination .nav-links {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.dk-blog-pagination a.page-numbers,
.dk-blog-pagination span.page-numbers,
.dk-archive-pagination a.page-numbers,
.dk-archive-pagination span.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: 0 0.65rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    color: #016b54;
    background: #fff;
    border: 1px solid rgba(1, 107, 84, 0.2);
}
.dk-blog-pagination a.page-numbers:hover,
.dk-archive-pagination a.page-numbers:hover {
    background: rgba(1, 107, 84, 0.08);
}
.dk-blog-pagination span.page-numbers.current,
.dk-archive-pagination span.page-numbers.current {
    color: #fff;
    background: #016b54;
    border-color: #016b54;
}
.dk-blog-pagination span.page-numbers.dots,
.dk-archive-pagination span.page-numbers.dots {
    border: none;
    background: transparent;
    min-width: auto;
    color: #94a3b8;
}
.dk-blog-load-more-wrap {
    margin-top: 2.5rem;
    display: flex;
    justify-content: center;
}
.dk-blog-load-more-wrap[hidden],
.dk-blog-load-more[hidden] {
    display: none !important;
}
.dk-blog-load-more {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.75rem;
    border: none;
    border-radius: 9999px;
    font-family: var(--dk-font-headline);
    font-weight: 800;
    font-size: 0.875rem;
    color: #fff;
    background: #016b54;
    box-shadow: 0 4px 14px rgba(1, 107, 84, 0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.dk-blog-load-more:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(1, 107, 84, 0.3);
}
.dk-blog-load-more:disabled {
    cursor: wait;
    opacity: 0.85;
}
.dk-blog-infinite-sentinel {
    height: 4px;
    margin-top: 1rem;
    pointer-events: none;
}

/* Glass newsletter panel */
.dk-blog-glass-nl {
    position: relative;
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto;
    padding: clamp(2.5rem, 6vw, 5rem);
    text-align: center;
    border-radius: 1.5rem;
    border: 1px solid rgba(194, 201, 179, 0.35);
    background: rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 25px 50px -12px rgba(1, 107, 84, 0.08);
    overflow: hidden;
}
.dk-blog-glass-nl__blob {
    position: absolute;
    top: -50%;
    left: -25%;
    width: 38rem;
    height: 38rem;
    border-radius: 9999px;
    background: var(--dk-gradient);
    opacity: 0.05;
    filter: blur(100px);
    pointer-events: none;
    z-index: 0;
}
.dk-blog-glass-nl__inner {
    position: relative;
    z-index: 2;
}
.dk-blog-glass-nl__icon {
    display: block;
    margin: 0 auto 1.5rem;
    font-size: 3rem !important;
    color: #016b54;
}
.dk-blog-glass-nl__h2 {
    margin: 0 0 1.5rem;
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #394951;
}
.dk-blog-glass-nl__desc {
    margin: 0 auto 2.5rem;
    max-width: 42rem;
    font-size: 1.125rem;
    line-height: 1.65;
    color: #424938;
}
.dk-blog-glass-nl .dk-newsletter-form.dk-blog-glass-nl__form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    max-width: 28rem;
    margin: 0 auto;
    flex-wrap: nowrap;
    justify-content: center;
}
.dk-blog-glass-nl__fields {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
}
@media (min-width: 640px) {
    .dk-blog-glass-nl__fields {
        flex-direction: row;
        align-items: stretch;
        gap: 1rem;
    }
}
.dk-blog-glass-nl .dk-newsletter-input.dk-blog-glass-nl__input {
    flex: 1 1 auto;
    min-width: 0;
    padding: 1rem 1.5rem;
    border-radius: 9999px;
    border: none;
    background: #e6e8e9;
    color: #394951;
    font-weight: 600;
}
.dk-blog-glass-nl .dk-newsletter-input.dk-blog-glass-nl__input::placeholder {
    color: #6b7280;
}
.dk-blog-glass-nl .dk-newsletter-input.dk-blog-glass-nl__input:focus {
    outline: 2px solid rgba(141, 198, 63, 0.5);
    outline-offset: 2px;
}
.dk-blog-glass-nl .dk-newsletter-btn.dk-blog-glass-nl__btn {
    flex-shrink: 0;
    padding: 1rem 2rem;
    border-radius: 9999px;
    background: var(--dk-gradient);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 10px 28px rgba(1, 107, 84, 0.25);
    white-space: nowrap;
}
.dk-blog-glass-nl .dk-newsletter-btn.dk-blog-glass-nl__btn:hover {
    background: var(--dk-gradient);
    color: #fff;
    filter: brightness(1.05);
    transform: none;
}
.dk-blog-glass-nl .dk-newsletter-jq-errors {
    width: 100%;
    max-width: 28rem;
    margin: 0 auto;
    text-align: center;
}
.dk-blog-glass-nl .dk-newsletter-jq-errors .dk-form-field-error {
    display: block;
    margin: 0;
    text-align: center;
}
.dk-blog-glass-nl .dk-form-messages--newsletter {
    width: 100%;
    max-width: 28rem;
    margin: 0.25rem auto 0;
    text-align: center;
}

/* --- Module pages (bank_guarantee_evaluation stitch) --- */
.dk-module-context {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-module-context__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: center;
}
@media (min-width: 1024px) {
    .dk-module-context__grid {
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
    }
}
.dk-module-context__eyebrow {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #016b54;
    margin-bottom: 1rem;
}
.dk-module-context__h2 {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 1.875rem);
    font-weight: 700;
    color: #394951;
    margin: 0 0 1.5rem;
}
.dk-module-context__lead {
    font-size: 1.125rem;
    line-height: 1.7;
    color: rgba(25, 28, 29, 0.72);
    margin: 0 0 1.5rem;
}
.dk-module-context__alert {
    padding: 1.5rem;
    background: rgba(255, 218, 214, 0.35);
    border-left: 4px solid #ba1a1a;
    border-radius: 0.75rem;
}
.dk-module-context__alert p {
    margin: 0;
    font-weight: 500;
    color: #93000a;
    line-height: 1.6;
}
.dk-module-context__card {
    position: relative;
    padding: 2rem;
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    overflow: hidden;
}
.dk-module-context__card-glow {
    position: absolute;
    right: -5rem;
    bottom: -5rem;
    width: 16rem;
    height: 16rem;
    border-radius: 50%;
    background: rgba(141, 198, 63, 0.1);
    filter: blur(48px);
    pointer-events: none;
    transition: background 0.3s ease;
}
.dk-module-context__card:hover .dk-module-context__card-glow {
    background: rgba(141, 198, 63, 0.2);
}
.dk-module-context__card-inner {
    position: relative;
    z-index: 1;
}
.dk-module-context__card-head {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.dk-module-context__icon-wrap {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: var(--dk-gradient);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    flex-shrink: 0;
}
.dk-module-context__icon-wrap .material-symbols-outlined {
    font-size: 1.5rem;
}
.dk-module-context__card-title {
    font-family: var(--dk-font-headline);
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0;
    color: #191c1d;
}
.dk-module-context__card-text {
    margin: 0;
    line-height: 1.7;
    color: rgba(25, 28, 29, 0.72);
}

.dk-comparison-split {
    max-width: 80rem;
    margin: 0 auto;
    color: #fff;
}
.dk-comparison-split__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    text-align: center;
    margin: 0 0 4rem;
    color: #fff;
}
.dk-comparison-split__grid {
    display: grid;
    grid-template-columns: 1fr;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
}
@media (min-width: 1024px) {
    .dk-comparison-split__grid {
        grid-template-columns: 1fr 1fr;
    }
}
.dk-comparison-split__col {
    padding: clamp(2rem, 4vw, 3rem);
    background: #394951;
    transition: background 0.2s ease;
}
@media (hover: hover) {
    .dk-comparison-split__col:hover {
        background: rgba(255, 255, 255, 0.05);
    }
}
.dk-comparison-split__col--positive {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
@media (min-width: 1024px) {
    .dk-comparison-split__col--positive {
        border-top: none;
        border-left: 1px solid rgba(255, 255, 255, 0.1);
    }
}
.dk-comparison-split__col-head {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}
.dk-comparison-split__col-head h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    color: #fff;
}
.dk-comparison-split__col-head--negative .dk-comparison-split__head-icon {
    color: #ffdad6;
    font-size: 2.25rem;
}
.dk-comparison-split__col-head--positive .dk-comparison-split__head-icon {
    color: #b8f568;
    font-size: 2.25rem;
}
.dk-comparison-split__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.dk-comparison-split__list li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}
.dk-comparison-split__item-icon {
    flex-shrink: 0;
    margin-top: 0.15rem;
    font-size: 1.35rem;
}
.dk-comparison-split__item-icon--negative {
    color: #ffdad6;
}
.dk-comparison-split__item-icon--positive {
    color: #b8f568;
}
.dk-comparison-split__item-title {
    font-weight: 700;
    margin: 0 0 0.25rem;
    color: #fff;
}
.dk-comparison-split__item-desc {
    margin: 0;
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.5;
}

.dk-editorial-statement {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    box-sizing: border-box;
}
.dk-editorial-statement--align-left {
    text-align: left;
}
.dk-editorial-statement--align-center {
    text-align: center;
}
.dk-editorial-statement--align-right {
    text-align: right;
}
.dk-editorial-statement--align-center:not(.dk-editorial-statement--left) .dk-editorial-statement__quote,
.dk-editorial-statement--align-center:not(.dk-editorial-statement--left) .dk-editorial-statement__tagline {
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
}
.dk-editorial-statement__rule {
    width: 5rem;
    height: 4px;
    margin-bottom: 3rem;
    border-radius: 999px;
    background: var(--dk-gradient);
}
.dk-editorial-statement--align-left .dk-editorial-statement__rule {
    margin-left: 0;
    margin-right: auto;
}
.dk-editorial-statement--align-center .dk-editorial-statement__rule {
    margin-left: auto;
    margin-right: auto;
}
.dk-editorial-statement--align-right .dk-editorial-statement__rule {
    margin-left: auto;
    margin-right: 0;
}
.dk-editorial-statement__quote {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 4vw, 3rem);
    font-weight: 700;
    line-height: 1.2;
    color: #394951;
    margin: 0 0 2.5rem;
}
.dk-editorial-statement__tagline {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #016b54;
}

.dk-feature-section--module .dk-section-header {
    margin-bottom: 4rem;
}
.dk-feature-card--module-capability {
    padding: 2rem;
    background: #f2f4f5;
    border-radius: 0.75rem;
    border-top: 4px solid transparent;
    transition: box-shadow 0.2s ease;
}
.dk-feature-card--module-capability:hover {
    box-shadow: 0 10px 28px rgba(57, 73, 81, 0.1);
}
.dk-feature-card--module-capability.dk-feature-card--accent-primary {
    border-top-color: #8dc63f;
}
.dk-feature-card--module-capability.dk-feature-card--accent-tertiary {
    border-top-color: #016b54;
}
.dk-feature-card--module-capability.dk-feature-card--accent-secondary {
    border-top-color: #506169;
}
.dk-feature-card--module-capability .dk-feature-card-icon {
    font-size: 2.25rem;
    color: #426900;
    margin-bottom: 1rem;
    display: block;
}
.dk-feature-card--module-stakeholder {
    padding: 2rem;
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
    text-align: left;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.dk-feature-card--module-stakeholder:hover {
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1);
    transform: translateY(-2px);
}
.dk-feature-card--module-stakeholder .dk-feature-card-icon-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 0.75rem;
    margin: 0 0 1.5rem;
    flex-shrink: 0;
}
.dk-feature-card--module-stakeholder.dk-feature-card--tint-secondary .dk-feature-card-icon-box {
    background: rgba(209, 226, 236, 0.45);
}
.dk-feature-card--module-stakeholder.dk-feature-card--tint-secondary .dk-feature-card-icon {
    color: #506169;
}
.dk-feature-card--module-stakeholder.dk-feature-card--tint-primary .dk-feature-card-icon-box {
    background: rgba(141, 198, 63, 0.2);
}
.dk-feature-card--module-stakeholder.dk-feature-card--tint-primary .dk-feature-card-icon {
    color: #426900;
}
.dk-feature-card--module-stakeholder.dk-feature-card--tint-tertiary .dk-feature-card-icon-box {
    background: rgba(113, 197, 169, 0.35);
}
.dk-feature-card--module-stakeholder.dk-feature-card--tint-tertiary .dk-feature-card-icon {
    color: #016b54;
}
.dk-feature-card--module-stakeholder.dk-feature-card--tint-outline .dk-feature-card-icon-box {
    background: rgba(194, 201, 179, 0.35);
}
.dk-feature-card--module-stakeholder.dk-feature-card--tint-outline .dk-feature-card-icon {
    color: #737a66;
}
.dk-feature-card--module-stakeholder .dk-feature-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    margin: 0;
    font-size: 1.75rem;
    line-height: 1;
}
.dk-feature-card--module-stakeholder:hover .dk-feature-card-icon {
    transform: scale(1.1);
}
.dk-feature-card--module-stakeholder .dk-feature-card-title {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.dk-cta-bleed {
    position: relative;
    padding: clamp(5rem, 10vw, 8rem) clamp(1.5rem, 4vw, 2rem);
    background: var(--dk-gradient);
    text-align: center;
    overflow: hidden;
}
.dk-cta-bleed__dots {
    position: absolute;
    inset: 0;
    opacity: 0.1;
    background-image: radial-gradient(#ffffff 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events: none;
}
.dk-cta-bleed__inner {
    position: relative;
    z-index: 1;
    max-width: 56rem;
    margin: 0 auto;
}
.dk-cta-bleed__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(2rem, 5vw, 3.75rem);
    font-weight: 900;
    color: #fff;
    margin: 0 0 2rem;
    line-height: 1.1;
}
.dk-cta-bleed__subtitle {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.125rem;
    margin: -1rem 0 2rem;
}
.dk-cta-bleed__btns {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
    align-items: center;
}
.dk-cta-bleed__btn {
    display: inline-block;
    padding: 1rem 2.5rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 1.125rem;
    text-decoration: none;
    transition: transform 0.15s ease, background 0.2s ease;
}
.dk-cta-bleed__btn--primary {
    background: #fff;
    color: #016b54;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}
.dk-cta-bleed__btn--primary:hover {
    color: #016b54;
    background: #f2f4f5;
    transform: scale(0.98);
}
.dk-cta-bleed__btn--outline {
    border: 2px solid rgba(255, 255, 255, 0.5);
    color: #fff;
}
.dk-cta-bleed__btn--outline:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

/* --- Module hero (bid_evaluation) --- */
.dk-module-hero {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-module-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: center;
}
@media (min-width: 1024px) {
    .dk-module-hero__grid {
        grid-template-columns: 7fr 5fr;
        gap: 4rem;
    }
}
.dk-module-hero__eyebrow {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #426900;
    margin-bottom: 1.5rem;
}
.dk-module-hero__h1 {
    font-family: var(--dk-font-headline);
    font-size: clamp(2.25rem, 5vw, 4.5rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: #394951;
    margin: 0 0 2rem;
}
.dk-module-hero__h1-gradient {
    background: var(--dk-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.dk-module-hero__lead {
    font-size: 1.125rem;
    line-height: 1.75;
    color: rgba(25, 28, 29, 0.72);
    max-width: 42rem;
    margin: 0;
}
.dk-module-hero__visual {
    position: relative;
}
.dk-module-hero__blob {
    position: absolute;
    inset: -1rem;
    border-radius: 1.25rem;
    background: var(--dk-gradient);
    opacity: 0.1;
    filter: blur(32px);
    pointer-events: none;
}
.dk-module-hero__img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    border-radius: 1.25rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    object-fit: cover;
    min-height: 360px;
}
.dk-module-hero__square-frame {
    aspect-ratio: 1;
    background: #f2f4f5;
    border-radius: 2.5rem;
    padding: 1rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    overflow: hidden;
    display: flex;
    min-height: 0;
    isolation: isolate;
}
.dk-module-hero__square-img-wrap {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    border-radius: 2rem;
    overflow: hidden;
}
.dk-module-hero__square-img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0;
}
.dk-module-hero__badge {
    position: absolute;
    bottom: -1.5rem;
    left: -1.5rem;
    z-index: 3;
    max-width: 15rem;
    background: #fff;
    padding: 1.5rem;
    border-radius: 1rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.1);
}
.dk-module-hero__badge-head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}
.dk-module-hero__badge-icon {
    font-size: 1.25rem;
    color: #426900;
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.dk-module-hero__badge-title {
    font-size: 0.875rem;
    font-weight: 700;
    color: #191c1d;
}
.dk-module-hero__badge-text {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.5;
    color: rgba(25, 28, 29, 0.72);
}

/* --- Module what it does --- */
.dk-module-wid {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-module-wid__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: center;
}
@media (min-width: 768px) {
    .dk-module-wid__grid {
        grid-template-columns: 1fr 1fr;
    }
    .dk-module-wid--reversed .dk-module-wid__media {
        order: 2;
    }
    .dk-module-wid--reversed .dk-module-wid__copy {
        order: 1;
    }
}
.dk-module-wid__media {
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    line-height: 0;
    isolation: isolate;
}
.dk-module-wid__img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 0;
}
.dk-module-wid__h2 {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    color: #394951;
    margin: 0 0 2rem;
}
.dk-module-wid__lead {
    font-size: 1.125rem;
    line-height: 1.75;
    color: rgba(25, 28, 29, 0.72);
    margin: 0 0 3rem;
}
.dk-module-wid__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.dk-module-wid__item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}
.dk-module-wid__check {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0.15rem;
    border-radius: 50%;
    background: #8dc63f;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dk-module-wid__check .material-symbols-outlined {
    font-size: 0.875rem;
    color: #304f00;
    line-height: 1;
}
.dk-module-wid__item-title {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 0.25rem;
    color: #191c1d;
}
.dk-module-wid__item-desc {
    margin: 0;
    font-size: 0.875rem;
    color: rgba(25, 28, 29, 0.72);
    line-height: 1.5;
}

/* Elevated capability cards (bid_evaluation) */
.dk-feature-card--module-capability-elevated {
    padding: 2.5rem;
    background: #fff;
    border: 1px solid #eceeef;
    border-radius: 0.75rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.dk-feature-card--module-capability-elevated:hover {
    transform: translateY(-0.5rem);
    box-shadow: 0 24px 48px rgba(57, 73, 81, 0.1);
}
.dk-feature-card--module-capability-elevated .dk-feature-card-icon {
    display: block;
    font-size: 2.25rem;
    color: #426900;
    margin-bottom: 1.5rem;
    transition: transform 0.25s ease;
}
.dk-feature-card--module-capability-elevated:hover .dk-feature-card-icon {
    transform: scale(1.1);
}
.dk-feature-card--module-capability-elevated .dk-feature-card-title {
    font-size: 1.25rem;
    color: #394951;
    margin-bottom: 1rem;
}
.dk-feature-card--module-capability-elevated .dk-feature-card-text {
    line-height: 1.7;
}

/* Comparison paradigm layout */
.dk-comparison-split--paradigm .dk-comparison-split__grid {
    border-radius: 2rem;
}
.dk-comparison-split--paradigm .dk-comparison-split__col {
    background: #1e293b;
    padding: 3rem;
}
.dk-comparison-split--paradigm .dk-comparison-split__col--positive {
    position: relative;
    background: rgba(30, 41, 59, 0.85);
    overflow: hidden;
}
.dk-comparison-split--paradigm .dk-comparison-split__glow {
    position: absolute;
    top: -8rem;
    right: -8rem;
    width: 16rem;
    height: 16rem;
    background: var(--dk-gradient);
    filter: blur(120px);
    opacity: 0.2;
    pointer-events: none;
}
.dk-comparison-split--paradigm .dk-comparison-split__col-head--negative .dk-comparison-split__head-icon {
    color: #ffdad6;
}
.dk-comparison-split--paradigm .dk-comparison-split__head-icon--filled {
    color: #8dc63f;
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.dk-comparison-split--paradigm .dk-comparison-split__dot {
    flex-shrink: 0;
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 50%;
    background: #64748b;
    margin-top: 0.5rem;
}
.dk-comparison-split--paradigm .dk-comparison-split__line {
    color: #cbd5e1;
    font-size: 1rem;
    line-height: 1.5;
}
.dk-comparison-split--paradigm .dk-comparison-split__line--positive {
    color: #fff;
    font-weight: 500;
}
.dk-comparison-split--paradigm .dk-comparison-split__item-icon--arrow {
    color: #8dc63f;
    font-size: 1.25rem;
    flex-shrink: 0;
}
.dk-comparison-split--paradigm .dk-comparison-split__list li {
    align-items: center;
    gap: 1rem;
}

/* Editorial quoted layout */
.dk-editorial-statement--quoted .dk-editorial-statement__quote {
    font-style: italic;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    margin-bottom: 2rem;
}
.dk-editorial-statement--quoted .dk-editorial-statement__rule {
    margin-bottom: 2.5rem;
}
.dk-editorial-statement__body {
    font-size: 1.25rem;
    line-height: 1.75;
    color: rgba(25, 28, 29, 0.72);
    margin: 0;
    max-width: 48rem;
}
.dk-editorial-statement--align-center .dk-editorial-statement__body {
    margin-left: auto;
    margin-right: auto;
}
.dk-editorial-statement--align-right .dk-editorial-statement__body {
    margin-left: auto;
    margin-right: 0;
}

/* Rounded inset CTA */
.dk-cta-inset-wrap {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-cta-inset {
    position: relative;
    padding: clamp(4rem, 8vw, 6rem) clamp(2rem, 5vw, 6rem);
    border-radius: 3rem;
    background: var(--dk-gradient);
    text-align: center;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.12);
}
.dk-cta-inset__dots {
    position: absolute;
    inset: 0;
    opacity: 0.1;
    background-image: radial-gradient(circle at 2px 2px, #fff 1px, transparent 0);
    background-size: 40px 40px;
    pointer-events: none;
}
.dk-cta-inset__inner {
    position: relative;
    z-index: 1;
    max-width: 48rem;
    margin: 0 auto;
}
.dk-cta-inset__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(2rem, 4vw, 3.75rem);
    font-weight: 900;
    color: #fff;
    letter-spacing: -0.03em;
    margin: 0 0 2rem;
    line-height: 1.1;
}
.dk-cta-inset__subtitle {
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.25rem;
    line-height: 1.6;
    margin: 0 0 3rem;
}
.dk-cta-inset__btns {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
}
.dk-cta-inset__btn {
    display: inline-block;
    padding: 1rem 2.5rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 1.125rem;
    text-decoration: none;
    transition: transform 0.15s ease, background 0.2s ease;
}
.dk-cta-inset__btn--primary {
    background: #fff;
    color: #426900;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}
.dk-cta-inset__btn--primary:hover {
    color: #426900;
    transform: scale(1.05);
}
.dk-cta-inset__btn--outline {
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    backdrop-filter: blur(4px);
}
.dk-cta-inset__btn--outline:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

/* --- Compliance page (stitch compliance_page) --- */
.dk-compliance-hero {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-compliance-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: center;
}
@media (min-width: 1024px) {
    .dk-compliance-hero__grid {
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
    }
}
.dk-compliance-hero__h1 {
    font-family: var(--dk-font-headline);
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: #394951;
    margin: 0 0 2rem;
}
.dk-compliance-hero__accent {
    color: #8dc63f;
}
.dk-compliance-hero__lead {
    font-size: clamp(1.125rem, 2vw, 1.25rem);
    line-height: 1.75;
    color: rgba(25, 28, 29, 0.72);
    max-width: 36rem;
    margin: 0 0 2rem;
}
.dk-compliance-hero__btn {
    display: inline-block;
    padding: 1rem 2rem;
    border-radius: 0.5rem;
    font-weight: 700;
    color: #fff;
    background: var(--dk-gradient);
    box-shadow: 0 20px 40px rgba(0, 107, 84, 0.2);
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.2s ease;
}
.dk-compliance-hero__btn:hover {
    color: #fff;
    transform: scale(0.98);
}
.dk-compliance-hero__visual {
    position: relative;
}
.dk-compliance-hero__visual-bg {
    position: absolute;
    inset: 0;
    border-radius: 0.75rem;
    background: var(--dk-gradient);
    opacity: 0.1;
    transform: rotate(3deg);
    pointer-events: none;
}
.dk-compliance-hero__img-wrap {
    position: relative;
    z-index: 1;
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.12);
    line-height: 0;
}
.dk-compliance-hero__img {
    display: block;
    width: 100%;
    min-height: min(var(--dk-compliance-hero-img-h, 500px), 70vh);
    object-fit: cover;
    border-radius: 0;
}

.dk-feature-card--compliance-governance {
    padding: 2rem;
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.04);
    text-align: left;
    transition: box-shadow 0.25s ease;
}
.dk-feature-card--compliance-governance:hover {
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.08);
}
.dk-feature-card--compliance-governance .dk-feature-card-icon-box {
    width: 3rem;
    height: 3rem;
    border-radius: 0.5rem;
    background: rgba(141, 198, 63, 0.2);
    margin: 0 0 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dk-feature-card--compliance-governance .dk-feature-card-icon {
    font-size: 1.5rem;
    color: #8dc63f;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.dk-feature-card--compliance-governance .dk-feature-card-icon--filled {
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.dk-feature-card--compliance-governance .dk-feature-card-title {
    font-size: 1.25rem;
    color: #394951;
    margin-bottom: 1rem;
}
.dk-feature-card--compliance-governance .dk-feature-card-text {
    line-height: 1.7;
}

.dk-compliance-lifecycle {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-compliance-lifecycle__head {
    text-align: center;
    margin-bottom: 4rem;
}
.dk-compliance-lifecycle__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    color: #394951;
    margin: 0 0 1.5rem;
}
.dk-compliance-lifecycle__desc {
    font-size: 1.125rem;
    color: rgba(25, 28, 29, 0.72);
    max-width: 42rem;
    margin: 0 auto;
    line-height: 1.65;
}
.dk-compliance-lifecycle__table {
    border-radius: 0.75rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
}
.dk-compliance-lifecycle__thead,
.dk-compliance-lifecycle__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
}
@media (min-width: 768px) {
    .dk-compliance-lifecycle__thead,
    .dk-compliance-lifecycle__row {
        grid-template-columns: 1fr 2fr;
        align-items: center;
    }
}
.dk-compliance-lifecycle__thead {
    background: #394951;
    color: #f8fafb;
    padding: 1.25rem 2rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.dk-compliance-lifecycle__th--stage {
    font-weight: 700;
}
.dk-compliance-lifecycle__row {
    padding: 1.5rem 2rem;
    background: #f8fafb;
    transition: background 0.2s ease;
}
.dk-compliance-lifecycle__row--alt {
    background: #f2f4f5;
}
@media (hover: hover) {
    .dk-compliance-lifecycle__row:hover {
        background: #eceeef;
    }
    .dk-compliance-lifecycle__row--alt:hover {
        background: #e6e8e9;
    }
}
.dk-compliance-lifecycle__stage {
    font-weight: 700;
    color: #394951;
}
.dk-compliance-lifecycle__cell {
    color: rgba(25, 28, 29, 0.72);
    line-height: 1.6;
}

.dk-compliance-frameworks {
    max-width: 50rem;
    margin: 0 auto;
    text-align: center;
}
.dk-compliance-frameworks__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    background: rgba(141, 198, 63, 0.1);
    color: #426900;
    font-size: 0.875rem;
    font-weight: 700;
    margin-bottom: 2.5rem;
}
.dk-compliance-frameworks__pill .material-symbols-outlined {
    font-size: 1rem;
}
.dk-compliance-frameworks__h2 {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    color: #394951;
    line-height: 1.2;
    margin: 0 0 2.5rem;
}
.dk-compliance-frameworks__lead {
    font-size: 1.25rem;
    line-height: 1.75;
    color: rgba(25, 28, 29, 0.72);
    margin: 0 0 2rem;
}
.dk-compliance-frameworks__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    padding-top: 2rem;
    opacity: 0.6;
    filter: grayscale(100%);
    transition: filter 0.3s ease, opacity 0.3s ease;
}
@media (min-width: 768px) {
    .dk-compliance-frameworks__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
.dk-compliance-frameworks__grid:hover {
    opacity: 1;
    filter: grayscale(0);
}
.dk-compliance-frameworks__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}
.dk-compliance-frameworks__icon-wrap {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: #e6e8e9;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dk-compliance-frameworks__icon-wrap .material-symbols-outlined {
    font-size: 1.75rem;
    color: rgba(25, 28, 29, 0.55);
    line-height: 1;
}
.dk-compliance-frameworks__label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(25, 28, 29, 0.65);
}

/* --- Documentation page (stitch documentation_page) --- */
.dk-doc-hero {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-doc-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: center;
}
@media (min-width: 1024px) {
    .dk-doc-hero__grid {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.75fr);
        gap: 3rem;
        align-items: center;
    }
}
.dk-doc-hero__copy {
    min-width: 0;
}
.dk-doc-hero__visual {
    min-width: 0;
    max-width: 100%;
}
.dk-doc-hero__eyebrow {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #016b54;
    background: rgba(209, 226, 236, 0.55);
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    margin-bottom: 1.5rem;
}
.dk-doc-hero__h1 {
    font-family: var(--dk-font-headline);
    font-size: clamp(2.25rem, 5vw, 4.5rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: #394951;
    margin: 0 0 1.5rem;
}
.dk-doc-hero__accent {
    color: #426900;
}
.dk-doc-hero__lead {
    font-size: clamp(1.0625rem, 2vw, 1.25rem);
    line-height: 1.75;
    color: rgba(25, 28, 29, 0.72);
    max-width: 36rem;
    margin: 0 0 2rem;
}
.dk-doc-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.dk-doc-hero__btn {
    display: inline-block;
    padding: 1rem 1.75rem;
    border-radius: 0.5rem;
    font-weight: 700;
    font-size: 0.9375rem;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.dk-doc-hero__btn--primary {
    color: #fff;
    background: var(--dk-gradient);
    box-shadow: 0 12px 28px rgba(0, 107, 84, 0.2);
}
.dk-doc-hero__btn--primary:hover {
    color: #fff;
    transform: translateY(-1px);
}
.dk-doc-hero__btn--secondary {
    color: #394951;
    background: #fff;
    border: 1px solid rgba(57, 73, 81, 0.2);
}
.dk-doc-hero__btn--secondary:hover {
    color: #394951;
    background: #f8fafb;
}
.dk-doc-hero__img-wrap {
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.12);
    line-height: 0;
}
.dk-doc-hero__img {
    display: block;
    width: 100%;
    max-height: min(var(--dk-doc-hero-img-h, 420px), 52vh);
    min-height: 280px;
    object-fit: cover;
    object-position: center top;
    border-radius: 0;
}

.dk-feature-section--module .dk-section-header--center .dk-feature-section__desc--classic {
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.dk-feature-card--documentation-log {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 2rem;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    text-align: left;
    transition: box-shadow 0.25s ease;
}
.dk-feature-card--documentation-log:hover {
    box-shadow: 0 24px 48px rgba(57, 73, 81, 0.1);
}
.dk-feature-card--documentation-log .dk-feature-card-icon-box {
    width: 3rem;
    height: 3rem;
    border-radius: 0.5rem;
    background: rgba(141, 198, 63, 0.2);
    margin: 0 0 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dk-feature-card--documentation-log .dk-feature-card-icon {
    font-size: 1.5rem;
    color: #8dc63f;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.dk-feature-card--documentation-log .dk-feature-card-title {
    font-size: 1.25rem;
    color: #394951;
    margin-bottom: 0.75rem;
}
.dk-feature-card--documentation-log .dk-feature-card-text {
    flex: 1;
    line-height: 1.65;
    margin-bottom: 1.5rem;
}
.dk-feature-card-footer {
    margin-top: auto;
    padding-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.dk-feature-card-footer-label {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #016b54;
}
.dk-feature-card-read-more {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: #426900;
    text-decoration: none;
    transition: color 0.2s ease, gap 0.2s ease;
}
.dk-feature-card-read-more .material-symbols-outlined {
    font-size: 1.125rem;
    line-height: 1;
    transition: transform 0.2s ease;
}
.dk-feature-card-read-more:hover {
    color: #016b54;
}
.dk-feature-card-read-more:hover .material-symbols-outlined {
    transform: translateX(3px);
}

.dk-doc-compare {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-doc-compare__head {
    text-align: center;
    margin-bottom: 4rem;
}
.dk-doc-compare__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    color: #394951;
    margin: 0 0 1.25rem;
}
.dk-doc-compare__desc {
    font-size: 1.125rem;
    color: rgba(25, 28, 29, 0.72);
    max-width: 42rem;
    margin: 0 auto;
    line-height: 1.65;
}
.dk-doc-compare__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 900px) {
    .dk-doc-compare__grid {
        grid-template-columns: 1fr 1fr;
    }
}
.dk-doc-compare__card {
    padding: 2.5rem;
    border-radius: 1.5rem;
}
.dk-doc-compare__card--legacy {
    background: #eceeef;
}
.dk-doc-compare__card--modern {
    background: #fff;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.08);
}
.dk-doc-compare__card-top {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}
.dk-doc-compare__warn {
    font-size: 1.5rem;
    color: #ba1a1a;
}
.dk-doc-compare__tag {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.25rem 0.625rem;
    border-radius: 0.25rem;
}
.dk-doc-compare__tag--legacy {
    background: rgba(255, 218, 214, 0.6);
    color: #93000a;
}
.dk-doc-compare__tag--modern {
    background: rgba(141, 198, 63, 0.25);
    color: #304f00;
}
.dk-doc-compare__card-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #394951;
    margin: 0 0 1.5rem;
}
.dk-doc-compare__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.dk-doc-compare__list li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: rgba(25, 28, 29, 0.8);
}
.dk-doc-compare__icon {
    flex-shrink: 0;
    font-size: 1.25rem;
    margin-top: 0.1rem;
}
.dk-doc-compare__icon--no {
    color: #737a66;
}
.dk-doc-compare__icon--yes {
    color: #8dc63f;
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Documentation CTA — full-width gradient (white_card layout) */
.dk-cta-doc-full {
    position: relative;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
    max-width: 100vw;
    padding: clamp(4rem, 8vw, 6rem) clamp(1.5rem, 5vw, 4rem);
    background: var(--dk-gradient);
    text-align: center;
    overflow: hidden;
    box-sizing: border-box;
}
.dk-cta-doc-full__dots {
    position: absolute;
    inset: 0;
    opacity: 0.12;
    background-image: radial-gradient(circle at 2px 2px, #fff 1px, transparent 0);
    background-size: 40px 40px;
    pointer-events: none;
}
.dk-cta-doc-full__inner {
    position: relative;
    z-index: 1;
    max-width: 56rem;
    margin: 0 auto;
}
.dk-cta-doc-full__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 4vw, 3rem);
    font-weight: 700;
    color: #fff;
    margin: 0 0 1.25rem;
    line-height: 1.15;
}
.dk-cta-doc-full__subtitle {
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.88);
    margin: 0 0 2rem;
}
.dk-cta-doc-full__btns {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}
.dk-cta-doc-full__btn {
    display: inline-block;
    padding: 1rem 2rem;
    border-radius: 0.5rem;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    transition: transform 0.15s ease, background 0.2s ease;
}
.dk-cta-doc-full__btn--primary {
    background: #fff;
    color: #426900;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}
.dk-cta-doc-full__btn--primary:hover {
    color: #426900;
    transform: translateY(-1px);
}
.dk-cta-doc-full__btn--outline {
    border: 2px solid rgba(255, 255, 255, 0.45);
    color: #fff;
}
.dk-cta-doc-full__btn--outline:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
}

@media (max-width: 1023px) {
    .dk-feature-cards-grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* --- Features page (stitch features_page) --- */
.dk-feat-hero {
    max-width: 56rem;
    margin-bottom: 6rem;
}
.dk-feat-hero__h1 {
    font-family: var(--dk-font-headline);
    font-size: clamp(2.5rem, 5vw, 3.75rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: #394951;
    margin: 0 0 2rem;
}
.dk-feat-hero__lead {
    font-size: clamp(1.0625rem, 2vw, 1.25rem);
    line-height: 1.75;
    color: rgba(25, 28, 29, 0.72);
    max-width: 48rem;
    margin: 0;
}

.dk-feat-bento__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) {
    .dk-feat-bento__grid {
        grid-template-columns: repeat(12, 1fr);
        gap: 2rem;
    }
}
.dk-feat-bento__card {
    padding: 2.5rem;
    border-radius: 1rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.dk-feat-bento__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 48px rgba(57, 73, 81, 0.1);
}
@media (min-width: 768px) {
    .dk-feat-bento__card--span-8 { grid-column: span 8; }
    .dk-feat-bento__card--span-4 { grid-column: span 4; }
    .dk-feat-bento__card--span-12 { grid-column: span 12; }
}
.dk-feat-bento__card--bg-white { background: #fff; }
.dk-feat-bento__card--bg-low { background: #f2f4f5; }
.dk-feat-bento__card--accent {
    border-left: 4px solid #8dc63f;
}
.dk-feat-bento__card--media {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
@media (min-width: 768px) {
    .dk-feat-bento__card--media {
        flex-direction: row;
        align-items: flex-start;
    }
}
.dk-feat-bento__card-body {
    flex: 1;
    min-width: 0;
}
.dk-feat-bento__icon {
    display: block;
    font-size: 2.25rem;
    margin-bottom: 1.5rem;
    line-height: 1;
}
.dk-feat-bento__icon--primary { color: #426900; }
.dk-feat-bento__icon--tertiary { color: #016b54; }
.dk-feat-bento__title {
    font-family: var(--dk-font-headline);
    font-weight: 700;
    color: #394951;
    margin: 0 0 1rem;
}
.dk-feat-bento__title--large { font-size: 1.5rem; }
.dk-feat-bento__title--medium { font-size: 1.25rem; }
.dk-feat-bento__title--small { font-size: 1.125rem; margin-bottom: 0.5rem; }
.dk-feat-bento__desc {
    margin: 0;
    line-height: 1.65;
    color: rgba(25, 28, 29, 0.72);
}
.dk-feat-bento__desc--sm {
    font-size: 0.875rem;
    line-height: 1.6;
}
.dk-feat-bento__media {
    width: 100%;
    flex-shrink: 0;
}
@media (min-width: 768px) {
    .dk-feat-bento__media {
        width: 33.333%;
        max-width: 14rem;
    }
}
.dk-feat-bento__media-img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 0.75rem;
    filter: grayscale(100%);
    transition: filter 0.5s ease;
}
.dk-feat-bento__card--media:hover .dk-feat-bento__media-img {
    filter: grayscale(0%);
}
.dk-feat-bento__card--banner {
    position: relative;
    padding: 3rem;
    background: var(--dk-gradient);
    color: #fff;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 107, 84, 0.15);
}
.dk-feat-bento__card--banner:hover {
    transform: translateY(-4px);
}
.dk-feat-bento__banner-inner {
    position: relative;
    z-index: 1;
    max-width: 42rem;
}
.dk-feat-bento__banner-eyebrow {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.8;
    margin-bottom: 1rem;
}
.dk-feat-bento__card--banner .dk-feat-bento__banner-title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.5rem, 3vw, 1.875rem);
    font-weight: 700;
    margin: 0 0 1.5rem;
    line-height: 1.2;
    color: #fff;
}
.dk-feat-bento__banner-desc {
    font-size: 1.125rem;
    line-height: 1.65;
    opacity: 0.9;
    margin: 0 0 2rem;
}
.dk-feat-bento__banner-highlight {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
}
.dk-feat-bento__banner-highlight .material-symbols-outlined {
    color: #b8f568;
    font-size: 1.25rem;
}
.dk-feat-bento__banner-deco {
    position: absolute;
    right: -5%;
    top: -20%;
    font-size: clamp(8rem, 20vw, 18.75rem);
    opacity: 0.1;
    pointer-events: none;
    line-height: 1;
}

.dk-feat-glance {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-feat-glance__head {
    margin-bottom: 3rem;
}
.dk-feat-glance__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 1.875rem);
    font-weight: 700;
    color: #394951;
    margin: 0 0 0.5rem;
}
.dk-feat-glance__rule {
    width: 4rem;
    height: 4px;
    border-radius: 999px;
    background: var(--dk-gradient);
}
.dk-feat-glance__table-wrap {
    background: #fff;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    overflow-x: auto;
}
.dk-feat-glance__table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}
.dk-feat-glance__table thead tr {
    background: #e6e8e9;
}
.dk-feat-glance__table th {
    padding: 1.5rem 2rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #394951;
}
.dk-feat-glance__table td {
    padding: 1.5rem 2rem;
    border-top: 1px solid #eceeef;
}
.dk-feat-glance__row--alt {
    background: #f2f4f5;
}
.dk-feat-glance__table tbody tr:hover {
    background: #f2f4f5;
}
.dk-feat-glance__row--alt:hover {
    background: #eceeef;
}
.dk-feat-glance__module {
    font-weight: 600;
    color: #426900;
}
.dk-feat-glance__benefit {
    color: rgba(25, 28, 29, 0.72);
}

.dk-cta-features-soft {
    position: relative;
    max-width: 56rem;
    margin: 0 auto;
    padding-block: clamp(5rem, 10vw, 6rem);
    padding-inline: clamp(2rem, 5vw, 4rem);
    border-radius: 2rem;
    background: #f2f4f5;
    text-align: center;
    overflow: hidden;
    box-sizing: border-box;
}
.dk-cta-features-soft__blob {
    position: absolute;
    width: 16rem;
    height: 16rem;
    border-radius: 50%;
    filter: blur(48px);
    pointer-events: none;
}
.dk-cta-features-soft__blob--tr {
    top: 0;
    right: 0;
    background: rgba(141, 198, 63, 0.05);
    transform: translate(50%, -50%);
}
.dk-cta-features-soft__blob--bl {
    bottom: 0;
    left: 0;
    background: rgba(1, 107, 84, 0.05);
    transform: translate(-50%, 50%);
}
.dk-cta-features-soft__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
}
.dk-cta-features-soft__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(2rem, 4vw, 2.5rem);
    font-weight: 700;
    color: #394951;
    margin: 0;
    line-height: 1.2;
    max-width: 40rem;
}
.dk-cta-features-soft__subtitle {
    font-size: 1.125rem;
    color: rgba(25, 28, 29, 0.72);
    margin: 0;
    max-width: 36rem;
    line-height: 1.65;
}
.dk-cta-features-soft__btns {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
    align-items: center;
    margin: 0;
}
.dk-cta-features-soft__btn {
    display: inline-block;
    padding: 1rem 2.5rem;
    border-radius: 0.5rem;
    font-weight: 700;
    font-size: 1.125rem;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.dk-cta-features-soft__btn--primary {
    background: var(--dk-gradient);
    color: #fff;
    box-shadow: 0 12px 28px rgba(66, 105, 0, 0.2);
}
.dk-cta-features-soft__btn--primary:hover {
    color: #fff;
    transform: scale(0.98);
}
.dk-cta-features-soft__btn--outline {
    color: #506169;
    border: 2px solid #c2c9b3;
    background: transparent;
}
.dk-cta-features-soft__btn--outline:hover {
    color: #506169;
    background: #fff;
}

@media (max-width: 639px) {
    .dk-feature-cards-grid--4 {
        grid-template-columns: 1fr;
    }
    .dk-feat-hero {
        margin-bottom: 4rem;
    }
}

/* --- Modules page (stitch modules_page_visual_flow_update) --- */
.dk-mod-overview {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-mod-overview__head {
    margin-bottom: 4rem;
}
.dk-mod-overview__eyebrow {
    margin: 0 0 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #426900;
}
.dk-mod-overview__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    color: #394951;
    margin: 0;
}
.dk-mod-overview__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) {
    .dk-mod-overview__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
.dk-mod-overview__card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100%;
    padding: 2.5rem;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.dk-mod-overview__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 48px rgba(57, 73, 81, 0.1);
}
.dk-mod-overview__card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 2rem;
}
.dk-mod-overview__num {
    font-size: 3rem;
    font-weight: 900;
    line-height: 1;
    color: #e6e8e9;
    transition: color 0.3s ease;
}
.dk-mod-overview__card:hover .dk-mod-overview__num {
    color: rgba(141, 198, 63, 0.2);
}
.dk-mod-overview__icon-box {
    padding: 0.75rem;
    border-radius: 0.5rem;
    background: rgba(141, 198, 63, 0.1);
}
.dk-mod-overview__icon {
    font-size: 1.5rem;
    color: #426900;
    line-height: 1;
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.dk-mod-overview .dk-mod-overview__card-title {
    font-family: var(--dk-font-headline);
    font-size: 1.5rem;
    font-weight: 700;
    color: #394951;
    margin: 0 0 1rem;
}
.dk-mod-overview__card-desc {
    margin: 0 0 2rem;
    line-height: 1.65;
    color: rgba(25, 28, 29, 0.72);
}
.dk-mod-overview__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 700;
    color: #426900;
    text-decoration: none;
    transition: gap 0.2s ease, color 0.2s ease;
}
.dk-mod-overview__link .material-symbols-outlined {
    font-size: 1rem;
}
.dk-mod-overview__link:hover {
    color: #016b54;
    gap: 0.5rem;
}

.dk-mod-connect {
    max-width: 80rem;
    margin: 0 auto;
    overflow: hidden;
}
.dk-mod-connect__head {
    text-align: center;
    margin-bottom: 4rem;
}
.dk-mod-connect__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    color: #394951;
    margin: 0 0 1rem;
}
.dk-mod-connect__desc {
    max-width: 42rem;
    margin: 0 auto;
    font-weight: 500;
    line-height: 1.65;
    color: rgba(25, 28, 29, 0.72);
}
.dk-mod-connect__wrap {
    position: relative;
}
.dk-mod-connect__line {
    display: none;
}
@media (min-width: 1024px) {
    .dk-mod-connect__line {
        display: block;
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        height: 2px;
        transform: translateY(-50%);
        background: linear-gradient(90deg, rgba(141, 198, 63, 0.2), #8dc63f, rgba(141, 198, 63, 0.2));
        z-index: 0;
    }
}
.dk-mod-connect__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 1024px) {
    .dk-mod-connect__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
.dk-mod-connect__card {
    display: flex;
    flex-direction: column;
    padding: 2rem;
    background: #fff;
    border-radius: 1rem;
    border: 1px solid #e6e8e9;
    box-shadow: 0 1px 3px rgba(57, 73, 81, 0.06);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.dk-mod-connect__card:hover {
    border-color: #8dc63f;
    box-shadow: 0 12px 28px rgba(57, 73, 81, 0.08);
}
.dk-mod-connect__badge {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: var(--dk-gradient);
    color: #fff;
    font-weight: 700;
    font-size: 1.125rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    box-shadow: 0 8px 20px rgba(0, 107, 84, 0.2);
}
.dk-mod-connect .dk-mod-connect__card-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #394951;
    margin: 0 0 0.75rem;
}
.dk-mod-connect__card-desc {
    flex: 1;
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.6;
    color: rgba(25, 28, 29, 0.72);
}
.dk-mod-connect__footer {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #426900;
}
.dk-mod-connect__footer .material-symbols-outlined {
    font-size: 1rem;
}

.dk-mod-engine {
    position: relative;
    overflow: hidden;
    background: #394951;
}
.dk-mod-engine__grid-bg {
    position: absolute;
    inset: 0;
    opacity: 0.1;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.5) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.5) 1px, transparent 1px);
    background-size: 40px 40px;
}
.dk-mod-engine__inner {
    position: relative;
    z-index: 1;
    max-width: 80rem;
    margin: 0 auto;
    padding: 6rem clamp(1.5rem, 5vw, 5rem);
}
.dk-mod-engine__head {
    text-align: center;
    margin-bottom: 5rem;
}
.dk-mod-engine__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    color: #fff;
    margin: 0 0 1rem;
}
.dk-mod-engine__desc {
    max-width: 42rem;
    margin: 0 auto;
    color: #94a3b8;
    line-height: 1.65;
}
.dk-mod-engine__pillars {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
}
@media (min-width: 768px) {
    .dk-mod-engine__pillars {
        grid-template-columns: repeat(3, 1fr);
        gap: 3rem;
    }
}
.dk-mod-engine__pillar {
    position: relative;
}
.dk-mod-engine__icon-box {
    width: 4rem;
    height: 4rem;
    border-radius: 1rem;
    background: var(--dk-gradient);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
}
.dk-mod-engine__icon-box .material-symbols-outlined {
    font-size: 1.75rem;
    color: #fff;
}
.dk-mod-engine .dk-mod-engine__pillar-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 1rem;
}
.dk-mod-engine__pillar-desc {
    margin: 0;
    line-height: 1.65;
    color: #94a3b8;
}
.dk-mod-engine__arrow {
    display: none;
}
@media (min-width: 768px) {
    .dk-mod-engine__arrow {
        display: block;
        position: absolute;
        top: 2rem;
        right: -1.5rem;
        font-size: 2.25rem;
        color: rgba(141, 198, 63, 0.3);
        pointer-events: none;
    }
    .dk-mod-engine__pillar:last-child .dk-mod-engine__arrow {
        display: none;
    }
}

/* Modules page hero — larger headline */
.dk-mod-page-hero .dk-module-hero__h1 {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
}
.dk-mod-page-hero .dk-module-hero__badge {
    background: rgba(242, 244, 245, 0.9);
    backdrop-filter: blur(12px);
}
.dk-mod-page-hero .dk-module-hero__badge-icon {
    font-size: 2.25rem;
    color: #8dc63f;
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.dk-mod-page-hero .dk-module-hero__badge-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}
.dk-mod-page-hero .dk-module-hero__badge-icon {
    margin-bottom: 1rem;
}

/* --- Case studies page (stitch case_study_page) --- */
.dk-cs-hero {
    position: relative;
    max-width: 56rem;
    margin: 0 auto;
    padding: clamp(4rem, 10vw, 8rem) clamp(1.5rem, 4vw, 3rem);
    text-align: center;
    overflow: hidden;
}
.dk-cs-hero__blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(64px);
    pointer-events: none;
    z-index: 0;
}
.dk-cs-hero__blob--tr {
    top: 0;
    right: 0;
    width: 66%;
    height: 500px;
    opacity: 0.1;
    background: var(--dk-gradient);
    transform: translate(50%, -50%);
}
.dk-cs-hero__blob--bl {
    bottom: 0;
    left: 0;
    width: 50%;
    height: 400px;
    opacity: 0.05;
    background: #506169;
    transform: translate(-20%, 20%);
}
.dk-cs-hero__inner {
    position: relative;
    z-index: 1;
}
.dk-cs-hero__eyebrow {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #426900;
    margin-bottom: 1.5rem;
}
.dk-cs-hero__h1 {
    font-family: var(--dk-font-headline);
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -0.03em;
    color: #394951;
    margin: 0 0 2rem;
}
.dk-cs-hero__lead {
    font-size: clamp(1.0625rem, 2vw, 1.25rem);
    line-height: 1.75;
    color: rgba(25, 28, 29, 0.72);
    max-width: 42rem;
    margin: 0 auto;
}

.dk-cs-featured {
    position: relative;
    max-width: 90rem;
    margin: 0 auto;
    padding: clamp(2rem, 4vw, 4rem);
    background: #f2f4f5;
    border-radius: 1rem;
    overflow: hidden;
}
.dk-cs-featured__accent {
    position: absolute;
    top: 0;
    right: 0;
    width: 8rem;
    height: 8rem;
    background: var(--dk-gradient);
    opacity: 0.1;
    border-bottom-left-radius: 100%;
    pointer-events: none;
}
.dk-cs-featured__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center;
}
.dk-cs-featured__media {
    order: 1;
}
.dk-cs-featured__copy {
    order: 2;
}
@media (min-width: 1024px) {
    .dk-cs-featured__grid {
        grid-template-columns: 7fr 5fr;
    }
    .dk-cs-featured__copy {
        order: 1;
    }
    .dk-cs-featured__media {
        order: 2;
    }
}
.dk-cs-featured__eyebrow {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}
.dk-cs-featured__eyebrow-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 0.5rem;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 3px rgba(57, 73, 81, 0.08);
}
.dk-cs-featured__eyebrow-icon .material-symbols-outlined {
    color: #426900;
    font-size: 1.5rem;
}
.dk-cs-featured__eyebrow-text {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #426900;
}
.dk-cs-featured .dk-cs-featured__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    line-height: 1.15;
    color: #394951;
    margin: 0 0 1.5rem;
}
.dk-cs-featured__desc {
    font-size: 1.125rem;
    line-height: 1.75;
    color: rgba(25, 28, 29, 0.72);
    margin: 0 0 2rem;
}
.dk-cs-featured__stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    padding-top: 2rem;
    margin-bottom: 1.5rem;
    border-top: 1px solid rgba(194, 201, 179, 0.35);
}
@media (min-width: 768px) {
    .dk-cs-featured__stats {
        grid-template-columns: repeat(3, 1fr);
    }
}
.dk-cs-featured__stat-value {
    font-size: 1.875rem;
    font-weight: 900;
    color: #426900;
    line-height: 1;
    margin-bottom: 0.35rem;
}
.dk-cs-featured__stat-label {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(25, 28, 29, 0.65);
}
.dk-cs-featured__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    color: #426900;
    text-decoration: none;
    transition: gap 0.2s ease;
}
.dk-cs-featured__link:hover {
    gap: 1rem;
    color: #016b54;
}
.dk-cs-featured__img-wrap {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.dk-cs-featured__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.dk-cs-featured__img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(57, 73, 81, 0.4), transparent);
    pointer-events: none;
}

.dk-cs-grid-section {
    max-width: 90rem;
    margin: 0 auto;
}
.dk-cs-grid-section__head {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 4rem;
}
@media (min-width: 768px) {
    .dk-cs-grid-section__head {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
    }
}
.dk-cs-grid-section__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    color: #394951;
    margin: 0 0 1rem;
}
.dk-cs-grid-section__desc {
    margin: 0;
    line-height: 1.65;
    color: rgba(25, 28, 29, 0.72);
    max-width: 36rem;
}
.dk-cs-grid-section__nav {
    display: flex;
    gap: 1rem;
    flex-shrink: 0;
}
.dk-cs-grid-section__nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border-radius: 999px;
    border: 1px solid #c2c9b3;
    background: #fff;
    color: #394951;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}
.dk-cs-grid-section__nav-btn:hover:not(:disabled):not(.is-disabled) {
    background: #f2f4f5;
    border-color: #8dc63f;
}
.dk-cs-grid-section__nav-btn:disabled,
.dk-cs-grid-section__nav-btn.is-disabled {
    opacity: 0.35;
    cursor: not-allowed;
}
.dk-cs-grid-section__nav-btn .material-symbols-outlined {
    font-size: 1.5rem;
    line-height: 1;
}

/* Portfolio slider — default 3 columns on desktop */
.dk-cs-slider {
    --dk-cs-gap: 2rem;
}
.dk-cs-slider__viewport {
    overflow: hidden;
    width: 100%;
}
.dk-cs-slider__track {
    display: flex;
    gap: var(--dk-cs-gap);
    transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}
.dk-cs-slider .dk-cs-card {
    flex: 0 0 100%;
    min-width: 0;
    background: #fff;
    padding: 0.25rem;
    border-radius: 1rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    transition: transform 0.35s ease, box-shadow 0.3s ease;
}
.dk-cs-slider .dk-cs-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 48px rgba(57, 73, 81, 0.1);
}
@media (min-width: 640px) {
    .dk-cs-slider .dk-cs-card {
        flex: 0 0 calc((100% - var(--dk-cs-gap)) / 2);
    }
}
@media (min-width: 1024px) {
    .dk-cs-slider[data-columns="1"] .dk-cs-card {
        flex: 0 0 100%;
    }
    .dk-cs-slider[data-columns="2"] .dk-cs-card {
        flex: 0 0 calc((100% - var(--dk-cs-gap)) / 2);
    }
    .dk-cs-slider[data-columns="3"] .dk-cs-card {
        flex: 0 0 calc((100% - (var(--dk-cs-gap) * 2)) / 3);
    }
}
.dk-cs-card__media {
    position: relative;
    height: 12rem;
    border-radius: 0.75rem;
    overflow: hidden;
    margin-bottom: 1.5rem;
}
.dk-cs-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter 0.7s ease;
}
.dk-cs-card:hover .dk-cs-card__img {
    filter: grayscale(0%);
}
.dk-cs-card__tag {
    position: absolute;
    top: 1rem;
    left: 1rem;
    padding: 0.25rem 0.75rem;
    border-radius: 0.25rem;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #394951;
}
.dk-cs-card__body {
    padding: 0 1.5rem 2rem;
}
.dk-cs-card__client-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}
.dk-cs-card__client {
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #506169;
}
.dk-cs-card__rule {
    width: 3rem;
    height: 4px;
    border-radius: 999px;
    background: var(--dk-gradient);
}
.dk-cs-card .dk-cs-card__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #394951;
    line-height: 1.35;
    margin: 0 0 1rem;
}
.dk-cs-card__highlight {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    margin-bottom: 1.5rem;
    background: #f2f4f5;
    border-radius: 0.5rem;
}
.dk-cs-card__highlight .material-symbols-outlined {
    color: #426900;
    font-size: 1.5rem;
}
.dk-cs-card__highlight span:last-child {
    font-size: 1.125rem;
    font-weight: 900;
    color: #394951;
}
.dk-cs-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: #426900;
    text-decoration: none;
}
.dk-cs-card:hover .dk-cs-card__link {
    text-decoration: underline;
}
.dk-cs-card__link .material-symbols-outlined {
    font-size: 1rem;
}

.dk-cta-case-box {
    position: relative;
    max-width: 56rem;
    margin: 0 auto;
    padding: clamp(3rem, 8vw, 6rem) clamp(2rem, 5vw, 6rem);
    border-radius: 1.5rem;
    background: var(--dk-gradient);
    color: #fff;
    text-align: center;
    overflow: hidden;
}
.dk-cta-case-box__pattern {
    position: absolute;
    inset: 0;
    opacity: 0.1;
    background-image:
        linear-gradient(30deg, rgba(255, 255, 255, 0.12) 12%, transparent 12.5%, transparent 87%, rgba(255, 255, 255, 0.12) 87.5%, rgba(255, 255, 255, 0.12)),
        linear-gradient(150deg, rgba(255, 255, 255, 0.12) 12%, transparent 12.5%, transparent 87%, rgba(255, 255, 255, 0.12) 87.5%, rgba(255, 255, 255, 0.12));
    background-size: 40px 70px;
    pointer-events: none;
}
.dk-cta-case-box__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}
.dk-cta-case-box__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
    line-height: 1.15;
    color: #fff;
    margin: 0;
    max-width: 40rem;
}
.dk-cta-case-box__subtitle {
    font-size: 1.25rem;
    line-height: 1.65;
    color: rgba(248, 250, 251, 0.85);
    margin: 0;
    max-width: 42rem;
}
.dk-cta-case-box__btns {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
}
.dk-cta-case-box__btn {
    display: inline-block;
    padding: 1rem 2.5rem;
    border-radius: 0.5rem;
    font-weight: 700;
    font-size: 1.125rem;
    text-decoration: none;
    transition: transform 0.15s ease, background 0.2s ease;
}
.dk-cta-case-box__btn--primary {
    background: #fff;
    color: #304f00;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);
}
.dk-cta-case-box__btn--primary:hover {
    color: #304f00;
    transform: scale(1.05);
}
.dk-cta-case-box__btn--outline {
    color: #fff;
    border: 2px solid rgba(248, 250, 251, 0.3);
    background: transparent;
}
.dk-cta-case-box__btn--outline:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

/* ============================================================
   Security page (stitch security_page)
   ============================================================ */
.dk-sec-hero {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-sec-hero__grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
}
@media (min-width: 768px) {
    .dk-sec-hero__grid {
        flex-direction: row;
        align-items: center;
    }
}
.dk-sec-hero__copy {
    flex: 1 1 60%;
}
.dk-sec-hero__visual {
    flex: 1 1 40%;
    position: relative;
    width: 100%;
}
.dk-sec-hero__eyebrow {
    display: inline-block;
    padding: 0.375rem 1rem;
    margin-bottom: 1.5rem;
    border-radius: 999px;
    background: #d1e2ec;
    color: #55656d;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.dk-sec-hero__h1 {
    font-family: var(--dk-font-headline);
    font-size: clamp(2.25rem, 5vw, 3.5rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: #394951;
    margin: 0 0 2rem;
}
.dk-sec-hero__h1-main {
    display: block;
}
.dk-sec-hero__accent {
    display: block;
    background: linear-gradient(135deg, #8dc63f 0%, #016b54 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.dk-sec-hero__lead {
    margin: 0 0 2.5rem;
    max-width: 42rem;
    font-size: 1.125rem;
    line-height: 1.7;
    color: rgba(25, 28, 29, 0.72);
}
.dk-sec-hero__callout {
    margin: 0;
    padding: 1.5rem 1.5rem 1.5rem 1.25rem;
    border-left: 4px solid #426900;
    border-radius: 0 0.75rem 0.75rem 0;
    background: #f2f4f5;
}
.dk-sec-hero__callout p {
    margin: 0;
    font-style: italic;
    line-height: 1.65;
    color: rgba(25, 28, 29, 0.72);
}
.dk-sec-hero__glow {
    position: absolute;
    inset: -1rem;
    border-radius: 999px;
    background: rgba(141, 198, 63, 0.1);
    filter: blur(48px);
    z-index: 0;
}
.dk-sec-hero__img-wrap {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: 1rem;
    box-shadow: 0 24px 48px rgba(57, 73, 81, 0.15);
}
.dk-sec-hero__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
    filter: grayscale(100%);
    transition: filter 0.7s ease;
}
.dk-sec-hero__visual:hover .dk-sec-hero__img {
    filter: grayscale(0%);
}

.dk-sec-sovereignty {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-sec-sovereignty__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: center;
}
@media (min-width: 768px) {
    .dk-sec-sovereignty__grid {
        grid-template-columns: 1fr 1fr;
    }
    .dk-sec-sovereignty--reverse .dk-sec-sovereignty__media {
        order: 2;
    }
    .dk-sec-sovereignty--reverse .dk-sec-sovereignty__copy {
        order: 1;
    }
}
.dk-sec-sovereignty__img-wrap {
    overflow: hidden;
    border-radius: 1.5rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.12);
}
.dk-sec-sovereignty__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
}
.dk-sec-sovereignty__h2 {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.875rem, 3.5vw, 2.75rem);
    font-weight: 700;
    line-height: 1.15;
    color: #394951;
    margin: 0 0 1.5rem;
}
.dk-sec-sovereignty__lead {
    margin: 0 0 1.5rem;
    font-size: 1.125rem;
    line-height: 1.7;
    color: rgba(25, 28, 29, 0.72);
}
.dk-sec-sovereignty__callout {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 0.75rem;
    background: #fff;
    box-shadow: 0 4px 16px rgba(57, 73, 81, 0.06);
}
.dk-sec-sovereignty__callout-icon {
    flex-shrink: 0;
    font-size: 1.875rem;
    color: #8dc63f;
    font-variation-settings: 'FILL' 1;
}
.dk-sec-sovereignty__callout p {
    margin: 0;
    font-weight: 600;
    line-height: 1.55;
    color: #394951;
}

.dk-sec-practice {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-sec-practice__title {
    text-align: center;
    font-family: var(--dk-font-headline);
    font-size: clamp(1.5rem, 3vw, 1.875rem);
    font-weight: 700;
    color: #394951;
    margin: 0 0 4rem;
}
.dk-sec-practice__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) {
    .dk-sec-practice__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.dk-sec-practice__card {
    background: #fff;
    padding: 2.5rem;
    border-radius: 1rem;
    border-bottom: 4px solid transparent;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    transition: transform 0.3s ease, border-color 0.3s ease;
}
.dk-sec-practice__card:hover {
    transform: translateY(-8px);
}
.dk-sec-practice__card--accent-primary:hover {
    border-bottom-color: #8dc63f;
}
.dk-sec-practice__card--accent-tertiary:hover {
    border-bottom-color: #016b54;
}
.dk-sec-practice__card--accent-primary-dark:hover {
    border-bottom-color: #426900;
}
.dk-sec-practice__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    margin-bottom: 2rem;
    border-radius: 0.75rem;
    box-shadow: 0 8px 20px rgba(57, 73, 81, 0.12);
    background: linear-gradient(135deg, #8dc63f 0%, #016b54 100%);
    color: #fff;
}
.dk-sec-practice__icon-wrap .material-symbols-outlined {
    font-size: 1.875rem;
    font-variation-settings: 'FILL' 1;
    color: #fff;
}
.dk-sec-practice__card-title {
    font-family: var(--dk-font-headline);
    font-size: 1.25rem;
    font-weight: 700;
    color: #394951;
    margin: 0 0 1rem;
}
.dk-sec-practice__card-text {
    margin: 0;
    line-height: 1.65;
    color: rgba(25, 28, 29, 0.72);
}

.dk-editorial-statement--left .dk-editorial-statement__quote {
    max-width: 48rem;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #394951;
    margin: 0 0 2rem;
}
.dk-editorial-statement--left .dk-editorial-statement__body {
    max-width: 48rem;
    font-size: 1.25rem;
    line-height: 1.65;
    color: rgba(25, 28, 29, 0.72);
    margin: 0;
}

.dk-sec-principles {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-sec-principles__title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-family: var(--dk-font-headline);
    font-size: 1.5rem;
    font-weight: 700;
    color: #394951;
    margin: 0 0 2.5rem;
}
.dk-sec-principles__rule {
    display: block;
    width: 2rem;
    height: 0.25rem;
    border-radius: 999px;
    background: #8dc63f;
    flex-shrink: 0;
}
.dk-sec-principles__table-wrap {
    overflow: hidden;
    border-radius: 1rem;
    background: #fff;
    border: 1px solid rgba(194, 201, 179, 0.25);
    box-shadow: 0 4px 16px rgba(57, 73, 81, 0.04);
}
.dk-sec-principles__table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}
.dk-sec-principles__table thead tr {
    background: #394951;
    color: #fff;
}
.dk-sec-principles__table th {
    padding: 1.25rem 2rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.dk-sec-principles__table td {
    padding: 1.5rem 2rem;
    color: rgba(25, 28, 29, 0.72);
    vertical-align: top;
}
.dk-sec-principles__row--alt {
    background: #f2f4f5;
}
.dk-sec-principles__table tbody tr {
    transition: background 0.2s ease;
}
.dk-sec-principles__table tbody tr:hover {
    background: #eceeef;
}
.dk-sec-principles__row--alt:hover {
    background: #e6e8e9;
}
.dk-sec-principles__principle {
    font-weight: 700;
    color: #394951;
    width: 35%;
}

/* ============================================================
   Pre-bid response management page
   ============================================================ */
.dk-module-hero--pre-bid .dk-module-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}
.dk-module-hero__btn {
    display: inline-block;
    padding: 1rem 2rem;
    border-radius: 0.75rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.dk-module-hero__btn--primary {
    background: var(--dk-gradient);
    color: #fff;
    box-shadow: 0 12px 28px rgba(57, 73, 81, 0.12);
}
.dk-module-hero__btn--primary:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(57, 73, 81, 0.18);
}
.dk-module-hero__btn--outline {
    border: 2px solid rgba(194, 201, 179, 0.45);
    color: #394951;
    background: transparent;
}
.dk-module-hero__btn--outline:hover {
    color: #394951;
    background: #f2f4f5;
}
.dk-module-hero__prebid-frame {
    aspect-ratio: 1;
    border-radius: 2rem;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    background: transparent;
}
.dk-module-hero__prebid-img-wrap {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 2rem;
}
.dk-module-hero__prebid-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.7s ease;
}
.dk-module-hero__prebid-frame:hover .dk-module-hero__prebid-img {
    transform: scale(1.05);
}

.dk-module-wid__eyebrow {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #426900;
    margin-bottom: 1.5rem;
}
.dk-module-wid__media {
    position: relative;
}
.dk-module-wid__glow {
    position: absolute;
    right: -2rem;
    bottom: -2rem;
    width: 12rem;
    height: 12rem;
    border-radius: 999px;
    background: var(--dk-gradient);
    opacity: 0.2;
    filter: blur(48px);
    pointer-events: none;
    z-index: 0;
}
.dk-module-wid__img-wrap {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: 2rem;
    box-shadow: 0 24px 48px rgba(57, 73, 81, 0.15);
}
.dk-module-wid__img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 0;
}
.dk-module-wid--inline .dk-module-wid__item {
    align-items: flex-start;
    gap: 1rem;
}
.dk-module-wid__inline-icon {
    flex-shrink: 0;
    color: #426900;
    font-size: 1.5rem;
    font-variation-settings: 'FILL' 1, 'wght' 700;
    margin-top: 0.125rem;
}
.dk-module-wid__inline-text {
    font-size: 1.125rem;
    line-height: 1.65;
    color: rgba(25, 28, 29, 0.72);
}

.dk-feature-card--pre-bid-capability {
    background: #fff;
    padding: 2rem;
    border-radius: 0.75rem;
    border-bottom: 4px solid #8dc63f;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    transition: transform 0.3s ease;
    text-align: left;
}
.dk-feature-card--pre-bid-capability:hover {
    transform: translateY(-8px);
}
.dk-feature-card--pre-bid-capability .dk-feature-card-icon-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin: 0 0 1.5rem;
    border-radius: 0.5rem;
    background: var(--dk-gradient);
    box-shadow: 0 8px 20px rgba(57, 73, 81, 0.12);
    flex-shrink: 0;
}
.dk-feature-card--pre-bid-capability .dk-feature-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    color: #fff;
    font-size: 1.5rem;
    line-height: 1;
    font-variation-settings: 'FILL' 1;
    transform: none;
}
.dk-feature-card--pre-bid-capability:hover .dk-feature-card-icon {
    transform: none;
}
.dk-feature-card--pre-bid-capability .dk-feature-card-title {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    text-align: left;
}
.dk-feature-card--pre-bid-capability .dk-feature-card-text {
    font-size: 0.875rem;
    line-height: 1.65;
    text-align: left;
}

.dk-shift-split {
    max-width: 80rem;
    margin: 0 auto;
    position: relative;
    color: #fff;
}
.dk-shift-split__slant {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: rgba(255, 255, 255, 0.05);
    transform: skewX(-15deg) translateX(5rem);
    pointer-events: none;
}
.dk-shift-split__head {
    margin-bottom: 4rem;
    position: relative;
    z-index: 1;
}
.dk-shift-split__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    margin: 0 0 1rem;
    color: #fff;
}
.dk-shift-split__desc {
    margin: 0;
    color: rgba(212, 229, 239, 0.7);
}
.dk-shift-split__panel {
    display: grid;
    grid-template-columns: 1fr;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: none;
    position: relative;
    z-index: 1;
}
@media (min-width: 768px) {
    .dk-shift-split__panel {
        grid-template-columns: 1fr 1fr;
    }
}
.dk-shift-split__col {
    padding: 3rem;
}
.dk-shift-split__col--before {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(12px);
}
.dk-shift-split__col--after {
    background: var(--dk-gradient);
}
.dk-shift-split__col-head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 2rem;
}
.dk-shift-split__col-head h3 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
}
.dk-shift-split__head-icon {
    font-size: 1.75rem;
    font-variation-settings: 'FILL' 1;
}
.dk-shift-split__head-icon--warn {
    color: #f87171;
}
.dk-shift-split__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.dk-shift-split__list li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}
.dk-shift-split__num {
    font-family: ui-monospace, monospace;
    font-size: 1.125rem;
    flex-shrink: 0;
    transition: color 0.2s ease;
}
.dk-shift-split__col--before .dk-shift-split__num {
    color: rgba(248, 113, 113, 0.5);
}
.dk-shift-split__col--before li:hover .dk-shift-split__num {
    color: #f87171;
}
.dk-shift-split__col--after .dk-shift-split__num {
    color: rgba(255, 255, 255, 0.4);
}
.dk-shift-split__col--after li:hover .dk-shift-split__num {
    color: #fff;
}
.dk-shift-split__list h4 {
    margin: 0 0 0.25rem;
    font-size: 1.125rem;
    font-weight: 700;
    color: #fff;
}
.dk-shift-split__col--before .dk-shift-split__list p {
    margin: 0;
    font-size: 0.875rem;
    color: rgba(148, 163, 184, 0.95);
}
.dk-shift-split__col--after .dk-shift-split__list p {
    margin: 0;
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.8);
}

.elementor-widget-dk-strategic-shift-split .dk-shift-split__title,
.elementor-widget-dk-strategic-shift-split .dk-shift-split__col-head h3,
.elementor-widget-dk-strategic-shift-split .dk-shift-split__list h4 {
    color: #fff;
}

.dk-trace-panel {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-trace-panel__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center;
    background: #fff;
    border-radius: 1.5rem;
    padding: 3rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
}
@media (min-width: 1024px) {
    .dk-trace-panel__inner {
        grid-template-columns: 1fr 1fr;
        padding: 5rem;
    }
}
.dk-trace-panel__rule {
    width: 4rem;
    height: 0.25rem;
    background: #426900;
    margin-bottom: 2rem;
}
.dk-trace-panel__h2 {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 800;
    line-height: 1.15;
    color: #394951;
    margin: 0 0 1.5rem;
}
.dk-trace-panel__lead {
    margin: 0 0 1.5rem;
    font-size: 1.125rem;
    line-height: 1.65;
    color: rgba(25, 28, 29, 0.72);
}
.dk-trace-panel__stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    padding-top: 1.5rem;
}
.dk-trace-panel__stat-value {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #426900;
    letter-spacing: -0.02em;
}
.dk-trace-panel__stat-label {
    margin: 0.25rem 0 0;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(25, 28, 29, 0.72);
}
.dk-trace-panel__img-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    box-shadow: 0 24px 48px rgba(57, 73, 81, 0.15);
}
.dk-trace-panel__img {
    display: block;
    width: 100%;
    height: 20rem;
    object-fit: cover;
}
.dk-trace-panel__img-overlay {
    position: absolute;
    inset: 0;
    background: rgba(66, 105, 0, 0.1);
    mix-blend-mode: multiply;
    pointer-events: none;
}

.dk-cta-prebid {
    max-width: 64rem;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    text-align: center;
}
.dk-cta-prebid__blob {
    position: absolute;
    width: 24rem;
    height: 24rem;
    border-radius: 999px;
    filter: blur(64px);
    opacity: 0.05;
    pointer-events: none;
}
.dk-cta-prebid__blob--tl {
    top: 2.5rem;
    left: 2.5rem;
    background: var(--dk-gradient);
}
.dk-cta-prebid__blob--br {
    bottom: 2.5rem;
    right: 2.5rem;
    background: #8dc63f;
}
.dk-cta-prebid__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}
.dk-cta-prebid__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -0.03em;
    color: #394951;
    margin: 0;
}
.dk-cta-prebid__accent {
    color: #426900;
}
.dk-cta-prebid__subtitle {
    margin: 0;
    max-width: 42rem;
    font-size: 1.25rem;
    line-height: 1.65;
    color: rgba(25, 28, 29, 0.72);
}
.dk-cta-prebid__btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    padding-top: 0.5rem;
}
.dk-cta-prebid__btn {
    display: inline-block;
    padding: 1.25rem 2.5rem;
    border-radius: 1rem;
    font-weight: 700;
    font-size: 1.125rem;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease;
}
.dk-cta-prebid__btn--primary {
    background: var(--dk-gradient);
    color: #fff;
    box-shadow: none;
}
.dk-cta-prebid__btn--primary:hover {
    color: #fff;
    transform: scale(1.05);
    box-shadow: none;
}
.dk-cta-prebid__btn--secondary {
    background: #e6e8e9;
    color: #394951;
    box-shadow: none;
}
.dk-cta-prebid__btn--secondary:hover {
    color: #394951;
    background: #d8dadb;
}

/* ============================================================
   Tender Generation page (stitch tender_generation_page)
   ============================================================ */
.dk-tender-hero {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-tender-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: center;
}
@media (min-width: 1024px) {
    .dk-tender-hero__grid {
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
    }
}
.dk-tender-hero__eyebrow {
    display: inline-block;
    padding: 0.25rem 1rem;
    margin-bottom: 1.5rem;
    border-radius: 999px;
    background: rgba(141, 198, 63, 0.2);
    color: #426900;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.dk-tender-hero__h1 {
    font-family: var(--dk-font-headline);
    font-size: clamp(2.5rem, 6vw, 4.375rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.04em;
    color: #394951;
    margin: 0 0 2rem;
}
.dk-tender-hero__h1-main {
    display: block;
}
.dk-tender-hero__accent {
    display: block;
    color: #426900;
}
.dk-tender-hero__lead {
    margin: 0 0 2.5rem;
    max-width: 36rem;
    font-size: 1.125rem;
    line-height: 1.7;
    color: rgba(66, 73, 56, 0.85);
}
.dk-tender-hero__callout {
    margin: 0;
    padding: 1.5rem;
    border-left: 4px solid #426900;
    border-radius: 0.75rem;
    background: #f2f4f5;
    box-shadow: 0 2px 8px rgba(57, 73, 81, 0.06);
}
.dk-tender-hero__callout p {
    margin: 0;
    font-style: italic;
    font-weight: 500;
    line-height: 1.65;
    color: #191c1d;
}
.dk-tender-hero__visual {
    position: relative;
}
.dk-tender-hero__glow {
    position: absolute;
    top: -5rem;
    right: -5rem;
    width: 24rem;
    height: 24rem;
    border-radius: 999px;
    background: rgba(141, 198, 63, 0.1);
    filter: blur(64px);
    pointer-events: none;
    z-index: 0;
}
.dk-tender-hero__img-wrap {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: 1rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.12);
}
.dk-tender-hero__img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 0;
}
.dk-tender-hero__badge {
    position: absolute;
    left: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(242, 244, 245, 0.8);
    backdrop-filter: blur(12px);
    box-shadow: 0 12px 28px rgba(57, 73, 81, 0.12);
}
.dk-tender-hero__badge-icon {
    flex-shrink: 0;
    font-size: 2.25rem;
    color: #426900;
    font-variation-settings: 'FILL' 1;
}
.dk-tender-hero__badge-title {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    font-weight: 700;
    color: #394951;
}
.dk-tender-hero__badge-text {
    margin: 0;
    font-size: 0.875rem;
    color: rgba(66, 73, 56, 0.85);
}
.elementor-widget-dk-tender-generation-hero .dk-tender-hero__img {
    border-radius: 0;
}

.dk-tender-intro {
    max-width: 56rem;
    margin: 0 auto;
    text-align: center;
}
.dk-tender-intro__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 1.875rem);
    font-weight: 700;
    color: #394951;
    margin: 0 0 2rem;
}
.dk-tender-intro__desc {
    margin: 0 0 3rem;
    font-size: 1.25rem;
    line-height: 1.65;
    color: rgba(66, 73, 56, 0.85);
}
.dk-tender-intro__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: left;
}
@media (min-width: 768px) {
    .dk-tender-intro__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
.dk-tender-intro__card {
    padding: 2rem;
    border-radius: 0.75rem;
    background: #fff;
    box-shadow: 0 2px 8px rgba(57, 73, 81, 0.06);
    transition: box-shadow 0.2s ease;
}
.dk-tender-intro__card:hover {
    box-shadow: 0 8px 24px rgba(57, 73, 81, 0.1);
}
.dk-tender-intro__icon-wrap {
    width: 3rem;
    height: 3rem;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}
.dk-tender-intro__icon-wrap--primary {
    background: rgba(66, 105, 0, 0.1);
    color: #426900;
}
.dk-tender-intro__icon-wrap--tertiary {
    background: rgba(1, 107, 84, 0.1);
    color: #016b54;
}
.dk-tender-intro__card-title {
    margin: 0 0 1rem;
    font-size: 1.125rem;
    font-weight: 700;
    color: #191c1d;
}
.dk-tender-intro__card-text {
    margin: 0;
    line-height: 1.65;
    color: rgba(66, 73, 56, 0.85);
}

.dk-tender-bento {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-tender-bento__head {
    text-align: center;
    margin-bottom: 4rem;
}
.dk-tender-bento__eyebrow {
    display: block;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #426900;
}
.dk-tender-bento__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #394951;
    margin: 0;
}
.dk-tender-bento__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) {
    .dk-tender-bento__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.dk-tender-bento__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 2rem;
    border-radius: 1.5rem;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s ease, box-shadow 0.2s ease;
}
.dk-tender-bento__card:hover {
    transform: translateY(-4px);
}
.dk-tender-bento__card--wide {
    grid-column: 1 / -1;
}
@media (min-width: 768px) {
    .dk-tender-bento__card--wide {
        grid-column: span 3;
    }
}
.dk-tender-bento__card--light {
    background: #f2f4f5;
    border: 1px solid rgba(194, 201, 179, 0.3);
}
.dk-tender-bento__card--light:hover {
    border-color: rgba(66, 105, 0, 0.4);
    background: rgba(230, 232, 233, 0.5);
}
.dk-tender-bento__card--primary {
    background: #8dc63f;
    color: #304f00;
    box-shadow: 0 12px 28px rgba(66, 105, 0, 0.15);
}
.dk-tender-bento__card--gradient {
    background: linear-gradient(135deg, #8dc63f 0%, #016b54 100%);
    color: #fff;
    box-shadow: 0 16px 32px rgba(1, 107, 84, 0.2);
}
.dk-tender-bento__card--tertiary {
    background: #016b54;
    color: #fff;
    box-shadow: 0 12px 28px rgba(1, 107, 84, 0.2);
}
.dk-tender-bento__card--surface {
    background: #f2f4f5;
    border: 1px solid rgba(194, 201, 179, 0.3);
}
.dk-tender-bento__card--surface:hover {
    background: #e6e8e9;
}
.dk-tender-bento__card--error {
    background: #e6e8e9;
    border: 1px solid rgba(194, 201, 179, 0.2);
}
.dk-tender-bento__card--error:hover {
    border-color: rgba(186, 26, 26, 0.3);
}
.dk-tender-bento__card--wide {
    background: #f2f4f5;
    border: 1px solid rgba(66, 105, 0, 0.2);
}
.dk-tender-bento__card--wide:hover {
    box-shadow: 0 16px 40px rgba(66, 105, 0, 0.05);
}
.dk-tender-bento__icon-wrap {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dk-tender-bento__card--light .dk-tender-bento__icon-wrap,
.dk-tender-bento__card--wide .dk-tender-bento__icon-wrap {
    background: rgba(66, 105, 0, 0.1);
    color: #426900;
}
.dk-tender-bento__card--wide .dk-tender-bento__icon-wrap {
    border-radius: 999px;
}
.dk-tender-bento__card--primary .dk-tender-bento__icon-wrap {
    background: rgba(48, 79, 0, 0.1);
    color: #304f00;
}
.dk-tender-bento__card--gradient .dk-tender-bento__icon-wrap,
.dk-tender-bento__card--tertiary .dk-tender-bento__icon-wrap {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}
.dk-tender-bento__card--surface .dk-tender-bento__icon-wrap {
    background: #eceeef;
    color: rgba(66, 73, 56, 0.85);
}
.dk-tender-bento__card--error .dk-tender-bento__icon-wrap {
    background: rgba(186, 26, 26, 0.1);
    color: #ba1a1a;
}
.dk-tender-bento__icon-wrap .material-symbols-outlined {
    font-size: 1.875rem;
}
.dk-tender-bento__card-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.25;
}
.dk-tender-bento__card--light .dk-tender-bento__card-title,
.dk-tender-bento__card--surface .dk-tender-bento__card-title,
.dk-tender-bento__card--error .dk-tender-bento__card-title,
.dk-tender-bento__card--wide .dk-tender-bento__card-title {
    color: #394951;
}
.dk-tender-bento__card-text {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.65;
}
.dk-tender-bento__card--light .dk-tender-bento__card-text,
.dk-tender-bento__card--surface .dk-tender-bento__card-text,
.dk-tender-bento__card--error .dk-tender-bento__card-text,
.dk-tender-bento__card--wide .dk-tender-bento__card-text {
    color: rgba(66, 73, 56, 0.85);
}
.dk-tender-bento__card--primary .dk-tender-bento__card-text {
    color: rgba(48, 79, 0, 0.8);
    font-weight: 500;
}
.dk-tender-bento__card--gradient .dk-tender-bento__card-text {
    color: rgba(255, 255, 255, 0.9);
}
.dk-tender-bento__card--tertiary .dk-tender-bento__card-text {
    color: rgba(255, 255, 255, 0.8);
}

.dk-tender-compare {
    max-width: 64rem;
    margin: 0 auto;
}
.dk-tender-compare__head {
    text-align: center;
    margin-bottom: 4rem;
}
.dk-tender-compare__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 1.875rem);
    font-weight: 700;
    color: #191c1d;
    margin: 0 0 1rem;
}
.dk-tender-compare__desc {
    margin: 0;
    color: rgba(66, 73, 56, 0.85);
}
.dk-tender-compare__table {
    overflow: hidden;
    border-radius: 1rem;
    border: 1px solid rgba(194, 201, 179, 0.3);
    background: #fff;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
}
.dk-tender-compare__header {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.dk-tender-compare__header-cell {
    padding: 2rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-align: center;
}
.dk-tender-compare__header-cell--manual {
    background: #f2f4f5;
    color: #394951;
    border-right: 1px solid rgba(194, 201, 179, 0.3);
}
.dk-tender-compare__header-cell--ai {
    background: linear-gradient(135deg, #8dc63f 0%, #016b54 100%);
    color: #fff;
}
.dk-tender-compare__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.dk-tender-compare__row--alt {
    background: rgba(242, 244, 245, 0.3);
}
.dk-tender-compare__cell {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 2rem;
    font-size: 1rem;
    line-height: 1.5;
}
.dk-tender-compare__cell--manual {
    color: rgba(66, 73, 56, 0.85);
    border-right: 1px solid #eceeef;
}
.dk-tender-compare__cell--ai {
    font-weight: 600;
    color: #426900;
}
.dk-tender-compare__icon {
    flex-shrink: 0;
    font-size: 1.5rem;
}
.dk-tender-compare__icon--warn {
    color: rgba(186, 26, 26, 0.6);
}
.dk-tender-compare__icon--ai {
    color: #426900;
    font-variation-settings: 'FILL' 1;
}

.dk-tender-personas {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-tender-personas__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.75rem, 3vw, 1.875rem);
    font-weight: 700;
    text-align: center;
    color: #191c1d;
    margin: 0 0 4rem;
}
.dk-tender-personas__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) {
    .dk-tender-personas__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
.dk-tender-personas__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.5rem;
    border-bottom: 2px solid transparent;
    transition: border-color 0.3s ease;
}
.dk-tender-personas__card:hover {
    border-bottom-color: #426900;
}
.dk-tender-personas__icon {
    width: 4rem;
    height: 4rem;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    transition: transform 0.3s ease;
}
.dk-tender-personas__card:hover .dk-tender-personas__icon {
    transform: scale(1.1);
}
.dk-tender-personas__icon .material-symbols-outlined {
    font-size: 1.875rem;
}
.dk-tender-personas__icon--secondary {
    background: #d1e2ec;
    color: #55656d;
}
.dk-tender-personas__icon--primary {
    background: #8dc63f;
    color: #304f00;
}
.dk-tender-personas__icon--tertiary {
    background: #71c5a9;
    color: #00513f;
}
.dk-tender-personas__icon--surface {
    background: #e6e8e9;
    color: #394951;
}
.dk-tender-personas__card-title {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    font-weight: 700;
    color: #191c1d;
}
.dk-tender-personas__card-text {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.55;
    color: rgba(66, 73, 56, 0.85);
}

/* ============================================================
   Sovereign modern page (stitch sovereign_modern_page)
   ============================================================ */
.dk-sov-hero {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-sov-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: center;
}
@media (min-width: 1024px) {
    .dk-sov-hero__grid {
        grid-template-columns: 1fr 1fr;
    }
}
.dk-sov-hero__eyebrow {
    display: inline-block;
    padding: 0.375rem 1rem;
    margin-bottom: 1.5rem;
    border-radius: 999px;
    background: #d1e2ec;
    color: #394951;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.dk-sov-hero__h1 {
    font-family: var(--dk-font-headline);
    font-size: clamp(2.25rem, 5vw, 3.75rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: #394951;
    margin: 0 0 1.5rem;
}
.dk-sov-hero__h1-main {
    display: block;
}
.dk-sov-hero__accent {
    display: block;
    color: #016b54;
}
.dk-sov-hero__lead {
    margin: 0 0 2.5rem;
    max-width: 36rem;
    font-size: clamp(1.125rem, 2vw, 1.25rem);
    line-height: 1.65;
    font-weight: 500;
    color: rgba(66, 73, 56, 0.85);
}
.dk-sov-hero__btns {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 1rem;
}
@media (min-width: 640px) {
    .dk-sov-hero__btns {
        flex-direction: row;
    }
}
.dk-sov-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    border-radius: 0.75rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
.dk-sov-hero__btn--primary {
    background: linear-gradient(135deg, #8dc63f 0%, #016b54 100%);
    color: #fff;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
}
.dk-sov-hero__btn--primary:hover {
    color: #fff;
    transform: translateY(-4px);
}
.dk-sov-hero__btn--secondary {
    border: 2px solid rgba(194, 201, 179, 0.3);
    color: #394951;
    background: transparent;
}
.dk-sov-hero__btn--secondary:hover {
    background: #f2f4f5;
    color: #394951;
}
.dk-sov-hero__visual {
    position: relative;
}
.dk-sov-hero__glow {
    position: absolute;
    top: -5rem;
    right: -5rem;
    width: 24rem;
    height: 24rem;
    border-radius: 999px;
    background: rgba(141, 198, 63, 0.2);
    filter: blur(100px);
    pointer-events: none;
}
.dk-sov-hero__img-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
}
.dk-sov-hero__img {
    display: block;
    width: 100%;
    height: 31.25rem;
    object-fit: cover;
    border-radius: 0;
}
.dk-sov-hero__img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(57, 73, 81, 0.8), transparent);
    pointer-events: none;
}
.dk-sov-hero__badge {
    position: absolute;
    left: 2rem;
    right: 2rem;
    bottom: 2rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    border-radius: 0.75rem;
    background: rgba(242, 244, 245, 0.8);
    backdrop-filter: blur(12px);
    box-shadow: 0 12px 28px rgba(57, 73, 81, 0.12);
}
.dk-sov-hero__badge-icon-wrap {
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: #8dc63f;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dk-sov-hero__badge-icon-wrap .material-symbols-outlined {
    font-variation-settings: 'FILL' 1;
}
.dk-sov-hero__badge-title {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    font-weight: 700;
    color: #394951;
}
.dk-sov-hero__badge-text {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(66, 73, 56, 0.85);
}
.elementor-widget-dk-sovereign-modern-hero .dk-sov-hero__img {
    border-radius: 0;
}

.dk-sov-pillars {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-sov-pillars__head {
    text-align: center;
    margin-bottom: 5rem;
}
.dk-sov-pillars__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.875rem, 3vw, 2.25rem);
    font-weight: 700;
    color: #394951;
    margin: 0 0 1rem;
}
.dk-sov-pillars__divider {
    width: 6rem;
    height: 0.375rem;
    margin: 0 auto;
    border-radius: 999px;
    background: linear-gradient(135deg, #8dc63f 0%, #016b54 100%);
}
.dk-sov-pillars__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) {
    .dk-sov-pillars__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1024px) {
    .dk-sov-pillars__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
.dk-sov-pillars__card {
    padding: 2rem;
    border-radius: 0.75rem;
    background: #fff;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
    transition: background 0.2s ease;
}
.dk-sov-pillars__icon-wrap {
    width: 3.5rem;
    height: 3.5rem;
    margin-bottom: 1.5rem;
    border-radius: 0.5rem;
    background: #f2f4f5;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #016b54;
    transition: background 0.2s ease, color 0.2s ease;
}
.dk-sov-pillars__card:hover .dk-sov-pillars__icon-wrap {
    background: #8dc63f;
    color: #fff;
}
.dk-sov-pillars__icon-wrap .material-symbols-outlined {
    font-size: 1.875rem;
}
.dk-sov-pillars__card-title {
    margin: 0 0 0.75rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: #394951;
}
.dk-sov-pillars__card-text {
    margin: 0;
    line-height: 1.65;
    font-weight: 500;
    color: rgba(66, 73, 56, 0.85);
}

.dk-sov-gov {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-sov-gov__grid {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    align-items: center;
}
@media (min-width: 1024px) {
    .dk-sov-gov__grid {
        flex-direction: row;
        align-items: center;
    }
}
.dk-sov-gov__copy {
    flex: 1 1 50%;
}
.dk-sov-gov__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.875rem, 3vw, 2.25rem);
    font-weight: 700;
    color: #394951;
    margin: 0 0 1.5rem;
}
.dk-sov-gov__lead {
    margin: 0 0 3rem;
    font-size: 1.125rem;
    line-height: 1.65;
    font-weight: 500;
    color: rgba(66, 73, 56, 0.85);
}
.dk-sov-gov__features {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 640px) {
    .dk-sov-gov__features {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 3rem;
        row-gap: 2rem;
    }
}
.dk-sov-gov__feature {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}
.dk-sov-gov__feature-icon {
    flex-shrink: 0;
    color: #8dc63f;
    font-variation-settings: 'FILL' 1;
}
.dk-sov-gov__feature-title {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    font-weight: 700;
    color: #394951;
}
.dk-sov-gov__feature-text {
    margin: 0;
    font-size: 0.875rem;
    color: rgba(66, 73, 56, 0.85);
}
.dk-sov-gov__graphic {
    flex: 1 1 50%;
    width: 100%;
}
.dk-sov-gov__graphic-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}
.dk-sov-gov__graphic-col--left {
    padding-top: 3rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.dk-sov-gov__graphic-col--right {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.dk-sov-gov__block {
    padding: 2rem;
    border-radius: 0.75rem;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
}
.dk-sov-gov__block--gradient {
    background: linear-gradient(135deg, #8dc63f 0%, #016b54 100%);
    color: #fff;
}
.dk-sov-gov__block--dark {
    background: #394951;
    color: #f8fafb;
}
.dk-sov-gov__block-icon {
    display: block;
    margin-bottom: 1rem;
    color: #b8f568;
    font-size: 1.5rem;
}
.dk-sov-gov__block-title {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    font-weight: 700;
}
.dk-sov-gov__block-text {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 700;
}
.dk-sov-gov__block--gradient .dk-sov-gov__block-text {
    opacity: 0.9;
}

.dk-sov-compare {
    max-width: 80rem;
    margin: 0 auto;
}
.dk-sov-compare__title {
    font-family: var(--dk-font-headline);
    font-size: clamp(1.875rem, 3vw, 2.25rem);
    font-weight: 700;
    text-align: center;
    color: #394951;
    margin: 0 0 4rem;
}
.dk-sov-compare__panel {
    overflow: hidden;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 20px 40px rgba(57, 73, 81, 0.06);
}
.dk-sov-compare__grid {
    display: grid;
    grid-template-columns: 1fr;
}
@media (min-width: 768px) {
    .dk-sov-compare__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
.dk-sov-compare__col {
    padding: 3rem;
}
.dk-sov-compare__col--left {
    border-bottom: 1px solid #eceeef;
}
@media (min-width: 768px) {
    .dk-sov-compare__col--left {
        border-bottom: none;
        border-right: 1px solid #eceeef;
    }
}
.dk-sov-compare__col--right {
    background: rgba(242, 244, 245, 0.5);
}
.dk-sov-compare__col-head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 2rem;
}
.dk-sov-compare__col-head h3 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: #191c1d;
}
.dk-sov-compare__head-icon {
    font-size: 1.5rem;
}
.dk-sov-compare__head-icon--warn {
    color: #ba1a1a;
}
.dk-sov-compare__head-icon--good {
    color: #016b54;
}
.dk-sov-compare__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.dk-sov-compare__list li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    font-weight: 500;
    line-height: 1.55;
    color: rgba(66, 73, 56, 0.85);
}
.dk-sov-compare__item-icon {
    flex-shrink: 0;
    margin-top: 0.125rem;
}
.dk-sov-compare__item-icon--cancel {
    color: rgba(186, 26, 26, 0.4);
}
.dk-sov-compare__item-icon--check {
    color: #8dc63f;
    font-variation-settings: 'FILL' 1;
}

.dk-cs-featured__stats--single {
    margin-top: 2rem;
    justify-content: flex-start;
}

/* Case study single — align with footer .dk-container (1280px + 2rem padding) */
body.dk-single-case-study-layout {
    --dk-cs-detail-max: 1280px;
    --dk-cs-detail-pad: 2rem;
}
body.dk-single-case-study-layout .dk-single-hero .dk-container.dk-single-hero__inner,
body.dk-single-case-study-layout .dk-single-body__inner,
body.dk-single-case-study-layout .dk-single-featured__inner {
    max-width: var(--dk-cs-detail-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--dk-cs-detail-pad);
    padding-right: var(--dk-cs-detail-pad);
}
body.dk-single-case-study-layout .dk-single-hero__masthead,
body.dk-single-case-study-layout .dk-single-content,
body.dk-single-case-study-layout .dk-single-nav,
body.dk-single-case-study-layout .dk-single-back-link {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}
body.dk-single-case-study-layout .dk-single-hero__masthead {
    text-align: center;
}
body.dk-single-case-study-layout .dk-single-breadcrumb {
    justify-content: center;
}
body.dk-single-case-study-layout .dk-single-breadcrumb__current {
    text-align: center;
}
body.dk-single-case-study-layout .dk-single-pills {
    justify-content: center;
}
body.dk-single-case-study-layout .dk-single-deck {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
}
body.dk-single-case-study-layout .dk-single-featured__caption {
    max-width: var(--dk-cs-detail-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--dk-cs-detail-pad);
    padding-right: var(--dk-cs-detail-pad);
    text-align: center;
}
body.dk-single-case-study-layout .dk-cs-featured__stats--single {
    justify-content: center;
}

.dk-single-back-link {
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(57, 73, 81, 0.1);
}
.dk-single-back-link a {
    font-weight: 700;
    color: #426900;
    text-decoration: none;
}
.dk-single-back-link a:hover {
    color: #016b54;
}

/* ==========================================
   PDF DOWNLOAD POPUP (widget buttons)
   ========================================== */
.dk-pdf-popup {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
}
.dk-pdf-popup[hidden] {
    display: none !important;
}
.dk-pdf-popup__overlay {
    position: absolute;
    inset: 0;
    background: rgba(55, 71, 79, 0.55);
    backdrop-filter: blur(4px);
}
.dk-pdf-popup__dialog {
    position: relative;
    width: 100%;
    max-width: 28rem;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 24px 64px rgba(55, 71, 79, 0.2);
    padding: 1.75rem 1.75rem 1.5rem;
    max-height: calc(100vh - 2.5rem);
    overflow-y: auto;
}
.dk-pdf-popup__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: none;
    border-radius: 0.5rem;
    background: rgba(55, 71, 79, 0.06);
    color: var(--dk-slate);
    cursor: pointer;
}
.dk-pdf-popup__close:hover {
    background: rgba(55, 71, 79, 0.1);
}
.dk-pdf-popup__head {
    text-align: center;
    margin-bottom: 1.25rem;
    padding-right: 1.5rem;
}
.dk-pdf-popup__icon {
    font-size: 2.25rem;
    color: var(--dk-lime);
    margin-bottom: 0.5rem;
}
.dk-pdf-popup__title {
    font-family: var(--dk-font-headline);
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--dk-forest);
    margin: 0 0 0.35rem;
}
.dk-pdf-popup__lead {
    margin: 0;
    font-size: 0.9rem;
    color: var(--dk-slate);
    line-height: 1.5;
}
.dk-pdf-popup__form .dk-form-group {
    margin-bottom: 1rem;
}
.dk-pdf-popup__form label {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--dk-slate);
    margin-bottom: 0.35rem;
}
.dk-pdf-popup__form .dk-form-input {
    width: 100%;
    box-sizing: border-box;
    display: block;
    background: #fff;
    border: 1px solid rgba(55, 71, 79, 0.24);
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    font-family: var(--dk-font-body);
    font-size: 0.9rem;
    color: var(--dk-slate);
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.dk-pdf-popup__form .dk-form-input::placeholder {
    color: rgba(55, 71, 79, 0.42);
}
.dk-pdf-popup__form .dk-form-input:focus {
    border-color: var(--dk-forest);
    box-shadow: 0 0 0 3px rgba(0, 107, 84, 0.14);
}
.dk-pdf-popup__form .dk-form-input.dk-form-input-error {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12) !important;
}
.dk-pdf-popup__form .dk-form-field-error {
    margin-top: 0.3rem;
    font-size: 0.78rem;
}
/* intl-tel-input inside popup — unified bordered field */
.dk-pdf-popup__form .dk-form-group--phone .iti {
    width: 100%;
    display: block;
    background: #fff;
    border: 1px solid rgba(55, 71, 79, 0.24);
    border-radius: 0.5rem;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.dk-pdf-popup__form .dk-form-group--phone .iti:has(.iti__tel-input:focus) {
    border-color: var(--dk-forest);
    box-shadow: 0 0 0 3px rgba(0, 107, 84, 0.14);
}
.dk-pdf-popup__form .dk-form-group--phone .iti__tel-input {
    width: 100%;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0.75rem 1rem;
    font-family: var(--dk-font-body);
    font-size: 0.9rem;
    color: var(--dk-slate);
    outline: none;
    box-shadow: none;
}
.dk-pdf-popup__form .dk-form-group--phone .iti--separate-dial-code .iti__tel-input {
    padding-left: 6.5rem;
}
.dk-pdf-popup__form .dk-form-group--phone .iti--separate-dial-code .iti__selected-country {
    border-right: 1px solid rgba(55, 71, 79, 0.14);
    background: rgba(55, 71, 79, 0.03);
    padding-left: 0.65rem;
    padding-right: 0.5rem;
}
.dk-pdf-popup__form .dk-form-group--phone .iti__selected-dial-code {
    font-size: 0.9rem;
    color: var(--dk-slate);
}
.dk-pdf-popup__form .dk-form-group--phone .iti__tel-input.dk-form-input-error {
    box-shadow: none;
}
.dk-pdf-popup__form .dk-form-group--phone:has(.iti__tel-input.dk-form-input-error) .iti {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}
.dk-pdf-popup__submit {
    width: 100%;
    margin-top: 0.5rem;
    padding: 0.75rem 1.25rem;
    border: none;
    border-radius: 0.5rem;
    font-family: var(--dk-font-headline);
    font-size: 0.9rem;
    font-weight: 700;
    color: #fff;
    cursor: pointer;
}
.dk-pdf-popup__submit:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}
.dk-pdf-popup__success {
    text-align: center;
    padding-top: 0.25rem;
}
.dk-pdf-popup__success-text {
    margin: 0 0 1.25rem;
    padding: 0.85rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.9rem;
    line-height: 1.5;
    color: #166534;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}
.dk-pdf-popup__download-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.85rem 1.25rem;
    border: none;
    border-radius: 0.5rem;
    font-family: var(--dk-font-headline);
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(0, 107, 84, 0.2);
    transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.dk-pdf-popup__download-btn:hover {
    opacity: 0.95;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(0, 107, 84, 0.28);
    color: #fff;
}
.dk-pdf-popup__download-btn .material-symbols-outlined {
    font-size: 1.25rem;
}
button.dk-pdf-popup-trigger,
a.dk-pdf-popup-trigger {
    border: none;
    cursor: pointer;
    font: inherit;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    -webkit-tap-highlight-color: transparent;
}
