html,
body {
    margin: 0;
    min-height: 100%;
    background: #fff;
}

html.dwh-login-is-open,
html.dwh-login-is-open body {
    overflow: hidden;
}

body {
    font-family: "Kanit", sans-serif;
}

.dwh-page {
    left: auto;
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.dwh-main {
    padding-top: 0;
}

.dwh-page section[id] {
    scroll-margin-top: 108px;
}

/* Header login button */
.dwh-header__login {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: 8px;
}

.dwh-header__login--split {
    gap: 8px;
}

.dwh-login-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 176px;
    padding: 5px;
    border: 2px solid #ff8c0d;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(0, 102, 204, .12);
    cursor: pointer;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.dwh-login-trigger--large {
    border-color: #087dff;
}

.dwh-login-trigger:hover,
.dwh-login-trigger:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0, 102, 204, .2);
    outline: none;
}

.dwh-login-trigger__inner {
    display: inline-flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 8px 13px;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(135deg, #087dff 0%, #0068e8 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 8px 20px rgba(0, 105, 232, .24);
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.dwh-login-trigger--large .dwh-login-trigger__inner {
    background: linear-gradient(135deg, #ff9d27 0%, #ff7a00 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 8px 20px rgba(255, 124, 0, .24);
}

.dwh-login-trigger__text {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    line-height: 1.05;
}

.dwh-login-trigger__text small {
    font-size: 11px;
    font-weight: 500;
    opacity: .96;
}

.dwh-login-trigger__inner svg {
    width: 22px;
    height: 22px;
    stroke-width: 2.2;
}

.dwh-nav__mobile-login {
    display: none;
}

/* Login modal */
.dwh-login-modal,
.dwh-login-modal * {
    box-sizing: border-box;
}

.dwh-login-modal[hidden] {
    display: none !important;
}

.dwh-login-modal {
    position: fixed;
    z-index: 5000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    font-family: "Kanit", sans-serif;
    opacity: 0;
    visibility: hidden;
    transition: opacity .18s ease, visibility .18s ease;
}

.dwh-login-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.dwh-login-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 25, 55, .58);
    backdrop-filter: blur(7px);
}

.dwh-login-dialog {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    max-height: min(820px, calc(100vh - 48px));
    padding: 30px;
    overflow: auto;
    border: 1px solid rgba(197, 218, 239, .9);
    border-radius: 24px;
    color: #0b3158;
    background:
        radial-gradient(circle at 8% 4%, rgba(0, 129, 255, .11), transparent 32%),
        #fff;
    box-shadow: 0 35px 100px rgba(0, 39, 91, .34);
    outline: none;
    transform: translateY(14px) scale(.985);
    transition: transform .2s ease;
}

.dwh-login-modal.is-open .dwh-login-dialog {
    transform: translateY(0) scale(1);
}

.dwh-login-dialog__close {
    position: absolute;
    z-index: 2;
    top: 18px;
    right: 18px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #69819b;
    background: #f1f7fd;
    cursor: pointer;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.dwh-login-dialog__close:hover,
.dwh-login-dialog__close:focus-visible {
    color: #006fe8;
    background: #e5f2ff;
    transform: rotate(4deg);
    outline: none;
}

.dwh-login-dialog svg {
    width: 1.25em;
    height: 1.25em;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dwh-login-progress {
    display: grid;
    grid-template-columns: auto 1fr auto 1fr auto;
    align-items: center;
    gap: 12px;
    margin: 2px 46px 32px 0;
}

.dwh-login-progress > div {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #8aa0b6;
    font-size: 13px;
    white-space: nowrap;
}

.dwh-login-progress > div span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid #cbd9e7;
    border-radius: 50%;
    color: #7890a8;
    background: #fff;
    font-weight: 700;
}

.dwh-login-progress > div strong {
    font-weight: 500;
}

.dwh-login-progress > div.is-active,
.dwh-login-progress > div.is-complete {
    color: #006fe8;
}

.dwh-login-progress > div.is-active span,
.dwh-login-progress > div.is-complete span {
    border-color: #087dff;
    color: #fff;
    background: #087dff;
    box-shadow: 0 7px 16px rgba(0, 112, 232, .22);
}

.dwh-login-progress > i {
    height: 2px;
    border-radius: 20px;
    background: #dce8f4;
}

.dwh-login-step {
    animation: dwhLoginStep .2s ease;
}

.dwh-login-step[hidden] {
    display: none !important;
}

@keyframes dwhLoginStep {
    from { opacity: 0; transform: translateX(7px); }
    to { opacity: 1; transform: translateX(0); }
}

.dwh-login-step__heading {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
}

.dwh-login-step__heading--center {
    justify-content: center;
    text-align: left;
}

.dwh-login-step__badge {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, #0b83ff, #0066dd);
    box-shadow: 0 10px 22px rgba(0, 102, 221, .2);
}

.dwh-login-step__badge svg {
    width: 25px;
    height: 25px;
}

.dwh-login-step__heading h2 {
    margin: 0;
    color: #0b3158;
    font-size: 24px;
    line-height: 1.25;
}

.dwh-login-step__heading p {
    margin: 4px 0 0;
    color: #688099;
    font-size: 14px;
}

.dwh-login-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.dwh-login-option {
    position: relative;
    display: flex;
    min-height: 184px;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    padding: 22px 42px 22px 22px;
    border: 1.5px solid #c8d8e8;
    border-radius: 16px;
    color: #173f68;
    background: #fff;
    box-shadow: 0 8px 22px rgba(9, 52, 98, .05);
    text-align: center;
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.dwh-login-option:hover,
.dwh-login-option:focus-visible,
.dwh-login-option.is-selected {
    transform: translateY(-3px);
    outline: none;
}

.dwh-login-option--blue:hover,
.dwh-login-option--blue:focus-visible,
.dwh-login-option--blue.is-selected {
    border-color: #087dff;
    background: #f5faff;
    box-shadow: 0 15px 30px rgba(0, 116, 240, .14);
}

.dwh-login-option--orange:hover,
.dwh-login-option--orange:focus-visible,
.dwh-login-option--orange.is-selected {
    border-color: #ff8c0d;
    background: #fffaf4;
    box-shadow: 0 15px 30px rgba(255, 140, 13, .14);
}

.dwh-login-option--neutral:hover,
.dwh-login-option--neutral:focus-visible,
.dwh-login-option--neutral.is-selected {
    border-color: #7892ad;
    background: #f8fafc;
    box-shadow: 0 15px 30px rgba(65, 89, 115, .12);
}

.dwh-login-option__icon {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 15px;
    color: #087dff;
    background: #eaf5ff;
}

.dwh-login-option--orange .dwh-login-option__icon {
    color: #ff8500;
    background: #fff2e1;
}

.dwh-login-option--neutral .dwh-login-option__icon {
    color: #7b90a6;
    background: #eef3f7;
}

.dwh-login-option__icon svg {
    width: 30px;
    height: 30px;
    stroke-width: 1.8;
}

.dwh-login-option strong {
    color: inherit;
    font-size: 19px;
}

.dwh-login-option b {
    color: #0b3158;
    font-size: 23px;
}

.dwh-login-option small {
    color: #617990;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.55;
}

.dwh-login-option__arrow {
    position: absolute;
    top: 50%;
    right: 16px;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    color: #087dff;
    background: #edf6ff;
    transform: translateY(-50%);
}

.dwh-login-option--orange .dwh-login-option__arrow {
    color: #ff8500;
    background: #fff1df;
}

.dwh-login-option--neutral .dwh-login-option__arrow {
    color: #7c91a6;
    background: #eff3f7;
}

.dwh-login-remember {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 18px;
    color: #607890;
    font-size: 13px;
    cursor: pointer;
}

.dwh-login-remember input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #087dff;
}

.dwh-login-back {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 20px;
    padding: 8px 0;
    border: 0;
    color: #006fe8;
    background: transparent;
    font-weight: 500;
    cursor: pointer;
}

.dwh-login-back:hover,
.dwh-login-back:focus-visible {
    color: #004eaa;
    outline: none;
}

.dwh-login-ready {
    width: min(520px, 100%);
    margin: 0 auto;
    padding: 22px;
    border: 1px solid #d7e5f2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 36px rgba(5, 53, 106, .1);
}

.dwh-login-ready__button,
.dwh-login-ready__change {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 18px;
    border-radius: 10px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.dwh-login-ready__button {
    border: 1px solid #006fe8;
    color: #fff;
    background: linear-gradient(135deg, #087dff, #0065e4);
    box-shadow: 0 12px 26px rgba(0, 101, 228, .22);
}

.dwh-login-ready__button:hover,
.dwh-login-ready__button:focus-visible {
    color: #fff;
    background: linear-gradient(135deg, #006fe8, #0054c5);
    outline: none;
}

.dwh-login-ready__change {
    margin-top: 10px;
    border: 1px solid #b9cee1;
    color: #006fe8;
    background: #fff;
}

.dwh-login-ready__change:hover,
.dwh-login-ready__change:focus-visible {
    border-color: #087dff;
    background: #f4faff;
    outline: none;
}

.dwh-login-note {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 7px;
    margin: 20px 0 0;
    color: #496987;
    font-size: 13px;
    text-align: center;
}

.dwh-login-note svg {
    flex: 0 0 auto;
    margin-top: 2px;
    color: #087dff;
}

@media (max-width: 1100px) {
    .dwh-header__login {
        margin-left: 0;
    }

    .dwh-login-trigger {
        min-width: 154px;
    }

    .dwh-login-trigger__inner {
        min-height: 40px;
        padding: 7px 10px;
        font-size: 13px;
    }

    .dwh-login-trigger__text small {
        font-size: 10px;
    }
}

@media (max-width: 900px) {
    .dwh-header__login {
        margin-left: auto;
    }

    .dwh-menu-button {
        flex: 0 0 auto;
        margin-left: 8px;
    }

    .dwh-login-trigger {
        min-width: 140px;
        padding: 4px;
        border-radius: 10px;
    }

    .dwh-login-trigger__inner {
        min-height: 38px;
        gap: 7px;
        padding: 7px 9px;
        border-radius: 7px;
        font-size: 13px;
    }

    .dwh-nav__mobile-login {
        display: none;
    }
}

@media (max-width: 680px) {
    .dwh-hero {
        padding-top: 82px;
    }

    .dwh-login-modal {
        align-items: end;
        padding: 0;
    }

    .dwh-login-dialog {
        width: 100%;
        max-height: 92vh;
        padding: 24px 18px 22px;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 24px 24px 0 0;
        transform: translateY(24px);
    }

    .dwh-login-dialog__close {
        top: 14px;
        right: 14px;
    }

    .dwh-login-progress {
        grid-template-columns: auto 1fr auto 1fr auto;
        gap: 7px;
        margin: 0 42px 24px 0;
    }

    .dwh-login-progress > div {
        gap: 0;
    }

    .dwh-login-progress > div strong {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .dwh-login-step__heading h2 {
        font-size: 21px;
    }

    .dwh-login-options {
        grid-template-columns: 1fr;
    }

    .dwh-login-option {
        min-height: 126px;
        align-items: flex-start;
        padding: 18px 54px 18px 82px;
        text-align: left;
    }

    .dwh-login-option__icon {
        position: absolute;
        top: 50%;
        left: 18px;
        width: 48px;
        height: 48px;
        transform: translateY(-50%);
    }

    .dwh-login-option small br {
        display: none;
    }

    .dwh-login-ready {
        padding: 16px;
    }
}

@media (max-width: 520px) {
    .dwh-header__login {
        width: 100%;
        order: 8;
        margin: 8px 0 0;
        justify-content: stretch;
    }

    .dwh-login-trigger {
        flex: 1 1 0;
        min-width: 0;
    }

    .dwh-login-trigger__inner {
        min-height: 38px;
        gap: 6px;
        padding: 7px 8px;
        font-size: 12px;
    }

    .dwh-login-trigger__inner svg {
        width: 18px;
        height: 18px;
    }

    .dwh-login-trigger__text small {
        font-size: 9.5px;
    }
}

@media (max-width: 390px) {
    .dwh-header__login {
        gap: 6px;
    }

    .dwh-login-trigger__inner {
        font-size: 11px;
    }

    .dwh-login-trigger__inner svg {
        display: none;
    }

    .dwh-login-dialog {
        padding-right: 14px;
        padding-left: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dwh-login-modal,
    .dwh-login-dialog,
    .dwh-login-step,
    .dwh-login-trigger,
    .dwh-login-option {
        animation: none !important;
        transition: none !important;
    }
}

/* =========================================================
   Font-size accessibility tool
   ========================================================= */
.dwh-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.dwh-font-tool {
    position: fixed;
    z-index: 1200;
    left: 22px;
    bottom: 22px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 9px 8px 14px;
    border: 1px solid rgba(0, 129, 255, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 12px 34px rgba(10, 48, 92, .18);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.dwh-font-tool__label {
    color: #234767;
    font-size: 13px !important;
    font-weight: 600;
    white-space: nowrap;
}

.dwh-font-tool__controls {
    display: flex;
    align-items: center;
    gap: 4px;
}

.dwh-font-tool button {
    display: inline-grid;
    place-items: center;
    min-width: 38px;
    height: 36px;
    padding: 0 9px;
    border: 1px solid #d6e6f5;
    border-radius: 999px;
    color: #005fc7;
    background: #f7fbff;
    font-family: inherit;
    font-size: 13px !important;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}

.dwh-font-tool button:hover,
.dwh-font-tool button:focus-visible {
    border-color: #0081ff;
    color: #fff;
    background: #0081ff;
    outline: none;
    transform: translateY(-1px);
}

.dwh-font-tool button:disabled {
    color: #8ba5bc;
    border-color: #e4edf5;
    background: #f4f7fa;
    cursor: not-allowed;
    transform: none;
}

.dwh-font-tool__reset {
    min-width: 58px !important;
    color: #fff !important;
    border-color: #ff8c0d !important;
    background: #ff8c0d !important;
}

.dwh-font-tool__reset:hover,
.dwh-font-tool__reset:focus-visible {
    border-color: #df7200 !important;
    background: #df7200 !important;
}

@media (max-width: 680px) {
    .dwh-font-tool {
        left: 12px;
        bottom: 12px;
        gap: 0;
        padding: 6px;
    }

    .dwh-font-tool__label {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
    }

    .dwh-font-tool button {
        min-width: 36px;
        height: 34px;
        padding: 0 8px;
    }

    .dwh-font-tool__reset {
        min-width: 54px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dwh-font-tool button {
        transition: none !important;
    }
}


/* --------------------------------------------------------------------------
   Cookie consent
   -------------------------------------------------------------------------- */
.dwh-cookie-banner[hidden],
.dwh-cookie-modal[hidden] {
    display: none !important;
}

.dwh-cookie-banner {
    position: fixed;
    z-index: 10040;
    right: 22px;
    bottom: 22px;
    left: 22px;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.dwh-cookie-banner__card {
    width: min(1180px, 100%);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 18px 20px;
    border: 1px solid rgba(0, 129, 255, .18);
    border-radius: 22px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 24px 70px rgba(8, 35, 74, .22);
    backdrop-filter: blur(18px);
    pointer-events: auto;
    transform: translateY(24px);
    opacity: 0;
    transition: transform .22s ease, opacity .22s ease;
}

.dwh-cookie-banner.is-visible .dwh-cookie-banner__card {
    transform: translateY(0);
    opacity: 1;
}

.dwh-cookie-banner__icon,
.dwh-cookie-dialog__icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 15px;
    color: #fff;
    background: linear-gradient(145deg, #0081ff, #0066d9);
    box-shadow: 0 10px 24px rgba(0, 129, 255, .24);
}

.dwh-cookie-banner__icon svg,
.dwh-cookie-dialog__icon svg,
.dwh-cookie-button svg,
.dwh-policy-nav button svg,
.dwh-policy-card__icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dwh-cookie-banner__copy {
    min-width: 0;
}

.dwh-cookie-banner__title {
    display: block;
    margin-bottom: 4px;
    color: #0d2a4f;
    font-size: 1.05rem;
    font-weight: 600;
}

.dwh-cookie-banner__description {
    margin: 0;
    color: #53667d;
    font-size: .91rem;
    line-height: 1.65;
}

.dwh-cookie-link,
.dwh-cookie-footer-link {
    color: #0075e8;
    font: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

button.dwh-cookie-footer-link {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.dwh-footer .dwh-cookie-footer-link {
    color: rgba(255, 255, 255, .78);
    text-decoration: none;
}

.dwh-footer .dwh-cookie-footer-link:hover,
.dwh-footer__legal a:hover {
    color: #fff;
}

.dwh-footer__legal {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 18px;
}

.dwh-footer__legal a {
    color: rgba(255, 255, 255, .78);
}

.dwh-cookie-banner__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;
}

.dwh-cookie-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 9px 15px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-family: inherit;
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

.dwh-cookie-button:hover {
    transform: translateY(-1px);
}

.dwh-cookie-button svg {
    width: 18px;
    height: 18px;
}

.dwh-cookie-button--primary {
    color: #fff;
    background: linear-gradient(135deg, #0081ff, #0068db);
    box-shadow: 0 9px 20px rgba(0, 129, 255, .24);
}

.dwh-cookie-button--secondary {
    color: #0f3159;
    border-color: #d6e4f3;
    background: #f6f9fc;
}

.dwh-cookie-button--ghost {
    color: #006fd9;
    border-color: transparent;
    background: transparent;
}

.dwh-cookie-modal {
    position: fixed;
    z-index: 10060;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
}

.dwh-cookie-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7, 24, 45, .62);
    backdrop-filter: blur(6px);
    opacity: 0;
    transition: opacity .18s ease;
}

.dwh-cookie-dialog {
    position: relative;
    z-index: 1;
    width: min(680px, 100%);
    max-height: min(760px, calc(100vh - 40px));
    overflow: auto;
    padding: 26px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(0, 18, 46, .35);
    transform: translateY(18px) scale(.98);
    opacity: 0;
    transition: transform .2s ease, opacity .2s ease;
}

.dwh-cookie-modal.is-open .dwh-cookie-modal__backdrop {
    opacity: 1;
}

.dwh-cookie-modal.is-open .dwh-cookie-dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.dwh-cookie-dialog__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #e4ebf3;
    border-radius: 12px;
    color: #50627a;
    background: #fff;
    cursor: pointer;
}

.dwh-cookie-dialog__close svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.dwh-cookie-dialog__heading {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding-right: 38px;
}

.dwh-cookie-dialog__title {
    margin: 0 0 5px;
    color: #0b2a50;
    font-size: 1.55rem;
    line-height: 1.25;
}

.dwh-cookie-dialog__description {
    margin: 0;
    color: #63758a;
    line-height: 1.65;
}

.dwh-cookie-categories {
    display: grid;
    gap: 12px;
    margin-top: 22px;
}

.dwh-cookie-category {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 17px 18px;
    border: 1px solid #e1eaf4;
    border-radius: 16px;
    background: #f9fbfd;
}

.dwh-cookie-category__title {
    display: block;
    margin-bottom: 4px;
    color: #16385f;
    font-size: 1rem;
    font-weight: 600;
}

.dwh-cookie-category__description {
    margin: 0;
    color: #63758a;
    font-size: .88rem;
    line-height: 1.55;
}

.dwh-cookie-category__status {
    color: #0075e8;
    font-size: .85rem;
    font-weight: 600;
    white-space: nowrap;
}

.dwh-cookie-switch {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
}

.dwh-cookie-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.dwh-cookie-switch > span {
    position: relative;
    width: 48px;
    height: 27px;
    border-radius: 999px;
    background: #cbd7e5;
    transition: background .18s ease;
}

.dwh-cookie-switch > span::after {
    content: '';
    position: absolute;
    top: 4px;
    left: 4px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 8px rgba(14, 38, 66, .2);
    transition: transform .18s ease;
}

.dwh-cookie-switch input:checked + span {
    background: #0081ff;
}

.dwh-cookie-switch input:checked + span::after {
    transform: translateX(21px);
}

.dwh-cookie-switch input:focus-visible + span {
    outline: 3px solid rgba(0, 129, 255, .24);
    outline-offset: 2px;
}

.dwh-cookie-dialog__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #e5edf5;
}

.dwh-cookie-dialog__footer > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
}

html.dwh-cookie-is-open {
    overflow: hidden;
}

/* Cookie policy page */
.dwh-policy-body {
    background: #f5f9fd;
}

.dwh-policy-main {
    min-height: 70vh;
    padding-top: var(--dwh-header-height, 82px);
}

.dwh-policy-hero {
    padding: 82px 0 62px;
    color: #fff;
    background:
        radial-gradient(circle at 84% 14%, rgba(255, 140, 13, .24), transparent 28%),
        linear-gradient(135deg, #07336e, #0081ff);
}

.dwh-policy-hero h1 {
    margin: 13px 0 12px;
    font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.12;
}

.dwh-policy-hero p {
    max-width: 780px;
    margin: 0 0 14px;
    color: rgba(255, 255, 255, .86);
    font-size: 1.08rem;
    line-height: 1.75;
}

.dwh-policy-hero small {
    color: rgba(255, 255, 255, .72);
}

.dwh-policy-content {
    padding: 54px 0 82px;
}

.dwh-policy-layout {
    display: grid;
    grid-template-columns: 245px minmax(0, 1fr);
    align-items: start;
    gap: 32px;
}

.dwh-policy-nav {
    position: sticky;
    top: calc(var(--dwh-header-height, 82px) + 20px);
    display: grid;
    gap: 8px;
    padding: 20px;
    border: 1px solid #e1eaf3;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(13, 52, 94, .08);
}

.dwh-policy-nav strong {
    margin-bottom: 4px;
    color: #15385f;
}

.dwh-policy-nav a,
.dwh-policy-nav button {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 9px;
    border: 0;
    border-radius: 9px;
    color: #5c6f86;
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.dwh-policy-nav a:hover,
.dwh-policy-nav button:hover {
    color: #0075e8;
    background: #edf6ff;
}

.dwh-policy-article {
    padding: 34px clamp(24px, 5vw, 52px);
    border: 1px solid #e1eaf3;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(13, 52, 94, .08);
}

.dwh-policy-article section {
    scroll-margin-top: 112px;
}

.dwh-policy-article section + section {
    margin-top: 38px;
    padding-top: 34px;
    border-top: 1px solid #e7eef6;
}

.dwh-policy-article h2 {
    margin: 0 0 12px;
    color: #12355d;
    font-size: 1.65rem;
}

.dwh-policy-article p {
    color: #5b6f86;
    line-height: 1.8;
}

.dwh-policy-article a {
    color: #0075e8;
}

.dwh-policy-card {
    display: flex;
    gap: 16px;
    margin-top: 14px;
    padding: 19px;
    border: 1px solid #e1eaf3;
    border-radius: 16px;
    background: #f8fbfe;
}

.dwh-policy-card__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 13px;
    color: #0075e8;
    background: #e8f4ff;
}

.dwh-policy-card h3 {
    margin: 0 0 5px;
    color: #173a62;
}

.dwh-policy-card p {
    margin: 0;
}

@media (max-width: 980px) {
    .dwh-cookie-banner__card {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .dwh-cookie-banner__actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
    .dwh-policy-layout {
        grid-template-columns: 1fr;
    }
    .dwh-policy-nav {
        position: static;
    }
}

@media (max-width: 680px) {
    .dwh-cookie-banner {
        right: 10px;
        bottom: 10px;
        left: 10px;
    }
    .dwh-cookie-banner__card {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px;
        border-radius: 18px;
    }
    .dwh-cookie-banner__icon {
        display: none;
    }
    .dwh-cookie-banner__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .dwh-cookie-banner__actions .dwh-cookie-button--primary {
        grid-column: 1 / -1;
        grid-row: 1;
    }
    .dwh-cookie-button {
        width: 100%;
    }
    .dwh-cookie-dialog {
        padding: 22px 17px 18px;
        border-radius: 20px;
    }
    .dwh-cookie-dialog__heading {
        padding-right: 34px;
    }
    .dwh-cookie-dialog__icon {
        width: 40px;
        height: 40px;
    }
    .dwh-cookie-category {
        grid-template-columns: 1fr;
        gap: 11px;
    }
    .dwh-cookie-dialog__footer {
        align-items: stretch;
        flex-direction: column;
    }
    .dwh-cookie-dialog__footer > div {
        display: grid;
        grid-template-columns: 1fr;
    }
    .dwh-policy-main {
        padding-top: 70px;
    }
    .dwh-policy-hero {
        padding: 58px 0 44px;
    }
    .dwh-policy-content {
        padding: 28px 0 54px;
    }
    .dwh-policy-article {
        padding: 25px 18px;
    }
}

.dwh-footer__grid .dwh-cookie-footer-link {
    font-size: 14px;
    line-height: inherit;
}


/* Terms and conditions page */
.dwh-terms-hero h1 {
    max-width: 980px;
}

.dwh-terms-layout {
    grid-template-columns: 285px minmax(0, 1fr);
}

.dwh-terms-nav {
    max-height: calc(100vh - var(--dwh-header-height, 82px) - 40px);
    overflow: auto;
    scrollbar-width: thin;
}

.dwh-terms-nav a {
    align-items: flex-start;
    line-height: 1.45;
}

.dwh-terms-nav a > span {
    width: 24px;
    height: 24px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 24px;
    border-radius: 8px;
    color: #0075e8;
    background: #eaf5ff;
    font-size: .78em;
    font-weight: 600;
}

.dwh-terms-nav .dwh-terms-nav__top {
    margin-top: 7px;
    border-top: 1px solid #e5edf5;
    border-radius: 0;
    padding-top: 14px;
}

.dwh-terms-nav__top svg {
    width: 16px;
    height: 16px;
}

.dwh-terms-article section {
    scroll-margin-top: calc(var(--dwh-header-height, 82px) + 24px);
}

.dwh-terms-article h2 {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    line-height: 1.35;
}

.dwh-terms-article h2 > span {
    width: 36px;
    height: 36px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 36px;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(135deg, #0081ff, #0065cc);
    font-size: .72em;
    box-shadow: 0 7px 15px rgba(0, 117, 232, .18);
}

.dwh-terms-article p {
    margin: 0 0 13px;
    text-align: left;
}

.dwh-terms-article .dwh-terms-subitem {
    padding-left: 18px;
}

.dwh-terms-contact {
    margin-top: 42px;
    padding: 22px;
    border: 1px solid #cfe6fb;
    border-radius: 16px;
    background: #f1f8ff;
}

.dwh-terms-contact strong {
    color: #12355d;
}

.dwh-terms-contact p {
    margin: 7px 0 0;
}

@media (max-width: 980px) {
    .dwh-terms-layout {
        grid-template-columns: 1fr;
    }
    .dwh-terms-nav {
        max-height: 320px;
    }
}

@media (max-width: 640px) {
    .dwh-terms-article h2 > span {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
    .dwh-terms-article .dwh-terms-subitem {
        padding-left: 8px;
    }
}


/* Language switcher */
.dwh-language-switch {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-left: 4px;
    padding: 3px;
    border: 1px solid rgba(0, 129, 255, .22);
    border-radius: 999px;
    background: rgba(243, 249, 255, .92);
    box-shadow: 0 8px 22px rgba(0, 102, 204, .08);
}

.dwh-language-switch__button {
    min-width: 38px;
    height: 32px;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    color: #0b5ebf;
    background: transparent;
    cursor: pointer;
    font-family: "Kanit", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.dwh-language-switch__button.is-active {
    color: #fff;
    background: linear-gradient(135deg, #087dff 0%, #0068e8 100%);
    box-shadow: 0 8px 18px rgba(0, 105, 232, .22);
}

.dwh-language-switch__button:hover,
.dwh-language-switch__button:focus-visible {
    outline: none;
    background: rgba(0, 129, 255, .12);
}

.dwh-language-switch__button.is-active:hover,
.dwh-language-switch__button.is-active:focus-visible {
    background: linear-gradient(135deg, #087dff 0%, #0068e8 100%);
}

@media (max-width: 900px) {
    .dwh-language-switch {
        margin-left: 0;
    }
}

@media (max-width: 520px) {
    .dwh-language-switch {
        order: 7;
        margin: 8px 0 0 auto;
    }

    .dwh-language-switch__button {
        min-width: 34px;
        height: 30px;
        padding: 0 8px;
        font-size: 12px;
    }
}


/* ซ่อนโลโก้เฉพาะใน footer ให้เหลือแค่คำว่า DailyWork */
.dwh-footer .dwh-logo__icon,
footer .dwh-logo__icon {
  display: none !important;
}

.dwh-footer .dwh-logo,
footer .dwh-logo {
  gap: 0 !important;
  align-items: center !important;
}
/* v2.9.9.4 FORCE metrics to stay in one row (loaded after homepage css) */
body .dwh-page .dwh-trust .dwh-container.dwh-metrics,
body .dwh-trust .dwh-container.dwh-metrics,
body .dwh-container.dwh-metrics {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    overflow: visible !important;
}

body .dwh-page .dwh-trust .dwh-metric,
body .dwh-trust .dwh-metric,
body .dwh-container.dwh-metrics .dwh-metric {
    min-width: 0 !important;
    width: auto !important;
    flex: initial !important;
    min-height: 118px !important;
    padding: 18px 10px !important;
    border-bottom: 0 !important;
}

body .dwh-page .dwh-trust .dwh-metric:nth-child(2)::after,
body .dwh-trust .dwh-metric:nth-child(2)::after,
body .dwh-container.dwh-metrics .dwh-metric:nth-child(2)::after {
    display: block !important;
}

body .dwh-page .dwh-trust .dwh-metric:last-child::after,
body .dwh-trust .dwh-metric:last-child::after,
body .dwh-container.dwh-metrics .dwh-metric:last-child::after {
    display: none !important;
}

body .dwh-page .dwh-trust .dwh-metric strong,
body .dwh-trust .dwh-metric strong,
body .dwh-container.dwh-metrics .dwh-metric strong {
    font-size: clamp(20px, 1.45vw, 28px) !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

body .dwh-page .dwh-trust .dwh-metric span,
body .dwh-trust .dwh-metric span,
body .dwh-container.dwh-metrics .dwh-metric span {
    font-size: clamp(11px, .78vw, 14px) !important;
    line-height: 1.25 !important;
}

@media (max-width: 760px) {
    body .dwh-page .dwh-trust .dwh-container.dwh-metrics,
    body .dwh-trust .dwh-container.dwh-metrics,
    body .dwh-container.dwh-metrics {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        grid-template-columns: repeat(5, minmax(150px, 1fr)) !important;
        -webkit-overflow-scrolling: touch;
    }
}

/* v2.9.12.3 - Compact and readable solutions section */
#solutions.dwh-section--blue {
    padding-top: 36px !important;
    padding-bottom: 39px !important;
}

#solutions .dwh-section-heading {
    max-width: 860px !important;
    margin-bottom: 32px !important;
}

#solutions .dwh-section-heading .dwh-eyebrow {
    margin-bottom: 10px !important;
    color: rgba(255, 255, 255, .92) !important;
    font-size: 14px !important;
}

#solutions .dwh-section-heading h2 {
    margin-bottom: 12px !important;
    font-size: clamp(30px, 2.6vw, 42px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.02em !important;
}

#solutions .dwh-section-heading p {
    max-width: 720px !important;
    margin-inline: auto !important;
    color: rgba(255, 255, 255, .88) !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

#solutions .dwh-card-grid {
    gap: 18px !important;
}

#solutions .dwh-module-card {
    display: flex !important;
    min-height: 232px !important;
    flex-direction: column !important;
    padding: 22px 22px 20px !important;
    border-color: rgba(255, 255, 255, .20) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .08)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10) !important;
}

#solutions .dwh-module-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(255, 255, 255, .36) !important;
    box-shadow: 0 18px 38px rgba(1, 14, 46, .18), inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}

#solutions .dwh-module-card .dwh-icon-box {
    width: 46px !important;
    height: 46px !important;
    border-radius: 13px !important;
    background: rgba(255, 255, 255, .16) !important;
}

#solutions .dwh-module-card .dwh-icon-box svg {
    width: 24px !important;
    height: 24px !important;
}

#solutions .dwh-module-card__number {
    top: 16px !important;
    right: 20px !important;
    color: rgba(255, 255, 255, .20) !important;
    font-size: 42px !important;
    line-height: 1 !important;
}

#solutions .dwh-module-card h3 {
    margin: 16px 0 8px !important;
    color: #fff !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
}

#solutions .dwh-module-card p {
    min-height: 54px !important;
    color: rgba(255, 255, 255, .88) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

#solutions .dwh-module-card a {
    margin-top: auto !important;
    padding-top: 14px !important;
    color: #fff !important;
    font-size: 14px !important;
}

@media (max-width: 1100px) {
    #solutions.dwh-section--blue {
        padding-top: 31px !important;
        padding-bottom: 33px !important;
    }
    #solutions .dwh-module-card {
        min-height: 210px !important;
    }
}

@media (max-width: 900px) {
    #solutions.dwh-section--blue {
        padding-top: 25px !important;
        padding-bottom: 27px !important;
    }
    #solutions .dwh-section-heading {
        margin-bottom: 24px !important;
    }
    #solutions .dwh-section-heading h2 {
        font-size: 28px !important;
    }
    #solutions .dwh-module-card {
        min-height: auto !important;
        padding: 20px !important;
    }
    #solutions .dwh-module-card p {
        min-height: auto !important;
    }
}


/* v2.9.13 - รวมส่วนปัญหาและ Workflow ให้กระชับขึ้น */
.dwh-combined-section {
  padding-top: 38px !important;
  padding-bottom: 36px !important;
  background: linear-gradient(180deg, #eef8ff 0%, #f7fbff 100%) !important;
}
.dwh-combined-section .dwh-section-heading {
  max-width: 940px !important;
  margin-bottom: 32px !important;
}
.dwh-combined-section .dwh-section-heading h2 {
  max-width: 780px;
  margin-bottom: 14px !important;
  font-size: clamp(34px, 3.1vw, 48px) !important;
  line-height: 1.2 !important;
}
.dwh-combined-section .dwh-section-heading p {
  max-width: 880px;
  font-size: 16px !important;
  line-height: 1.85 !important;
}
.dwh-impact-grid {
  gap: 18px !important;
}
.dwh-combined-section .dwh-problem-card {
  min-height: 214px !important;
  padding: 24px !important;
}
.dwh-combined-section .dwh-problem-card .dwh-icon-box {
  width: 46px !important;
  height: 46px !important;
  border-radius: 13px !important;
}
.dwh-combined-section .dwh-problem-card .dwh-icon-box svg {
  width: 23px !important;
  height: 23px !important;
}
.dwh-combined-section .dwh-problem-card h3 {
  margin: 18px 0 8px !important;
  font-size: 19px !important;
  line-height: 1.4 !important;
}
.dwh-combined-section .dwh-problem-card p {
  font-size: 14px !important;
  line-height: 1.75 !important;
}
.dwh-workflow-card {
  margin-top: 28px;
  padding: 24px;
  border: 1px solid #cfe4fb;
  border-radius: 22px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 16px 38px rgba(18, 73, 133, .07);
}
.dwh-workflow-card__header {
  display: grid;
  grid-template-columns: minmax(220px, 340px) 1fr;
  gap: 22px;
  align-items: center;
  margin-bottom: 18px;
}
.dwh-workflow-card__header .dwh-eyebrow {
  margin-bottom: 0;
}
.dwh-workflow-card__header p {
  margin: 0;
  color: var(--dwh-muted);
  font-size: 14px;
  line-height: 1.75;
}
.dwh-flow--compact {
  gap: 10px !important;
}
.dwh-flow--compact .dwh-flow__item {
  min-height: 82px !important;
  padding: 12px 8px !important;
  border-radius: 14px !important;
  background: #fff !important;
}
.dwh-flow--compact .dwh-flow__item span {
  width: 24px !important;
  height: 24px !important;
  margin-bottom: 7px !important;
  font-size: 12px !important;
}
.dwh-flow--compact .dwh-flow__item strong {
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.dwh-flow--compact > i {
  color: #7fa1c7 !important;
}

@media (max-width: 1100px) {
  .dwh-workflow-card__header {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

@media (max-width: 900px) {
  .dwh-combined-section {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
  .dwh-combined-section .dwh-section-heading h2 {
    font-size: 30px !important;
  }
  .dwh-workflow-card {
    padding: 18px;
  }
}


/* v2.9.14 - Compact hero section so metrics are visible in the first screen */
@media (min-width: 901px) {
    body .dwh-page .dwh-hero {
        min-height: 650px !important;
        padding-top: 86px !important;
        padding-bottom: 46px !important;
    }

    body .dwh-page .dwh-hero__grid {
        min-height: 520px !important;
        gap: 44px !important;
        align-items: center !important;
    }

    body .dwh-page .dwh-eyebrow {
        margin-bottom: 10px !important;
    }

    body .dwh-page .dwh-hero h1 {
        max-width: 650px !important;
        margin-bottom: 18px !important;
        font-size: clamp(36px, 3.45vw, 52px) !important;
        line-height: 1.14 !important;
    }

    body .dwh-page .dwh-hero__content > p {
        max-width: 640px !important;
        margin-bottom: 22px !important;
        font-size: 16px !important;
        line-height: 1.65 !important;
    }

    body .dwh-page .dwh-hero__checks {
        gap: 18px !important;
        margin-top: 18px !important;
        font-size: 13px !important;
    }

    body .dwh-page .dwh-app-download {
        gap: 8px !important;
        margin-top: 22px !important;
    }

    body .dwh-page .dwh-app-download__title {
        font-size: 16px !important;
    }

    body .dwh-page .dwh-store-badge {
        min-width: 154px !important;
        height: 46px !important;
        padding: 5px 12px !important;
    }

    body .dwh-page .dwh-store-badge__text strong {
        font-size: 18px !important;
    }

    body .dwh-page .dwh-app-download__support {
        margin-top: -4px !important;
        padding-left: 18px !important;
    }

    body .dwh-page .dwh-hero__visual {
        min-height: 500px !important;
    }

    body .dwh-page .dwh-dashboard-frame {
        top: 24px !important;
        width: 88% !important;
        border-width: 7px !important;
        border-radius: 18px !important;
        transform: rotate(-1deg) !important;
    }

    body .dwh-page .dwh-mobile-frame {
        right: 0 !important;
        bottom: 18px !important;
        width: 32% !important;
        transform: rotate(1.5deg) !important;
    }

    body .dwh-page .dwh-floating-card--top {
        top: 4px !important;
        right: 12% !important;
    }

    body .dwh-page .dwh-floating-card--bottom {
        left: -2% !important;
        bottom: 72px !important;
    }

    body .dwh-page .dwh-hero__glow--one {
        top: 70px !important;
        width: 280px !important;
        height: 280px !important;
    }

    body .dwh-page .dwh-hero__glow--two {
        bottom: 86px !important;
        width: 170px !important;
        height: 170px !important;
    }

    body .dwh-page .dwh-trust {
        margin-top: -34px !important;
    }

    body .dwh-page .dwh-trust .dwh-container.dwh-metrics {
        position: relative !important;
        z-index: 2 !important;
    }

    body .dwh-page .dwh-trust .dwh-metric,
    body .dwh-page .dwh-container.dwh-metrics .dwh-metric {
        min-height: 98px !important;
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }
}

@media (min-width: 1600px) {
    body .dwh-page .dwh-hero {
        min-height: 700px !important;
        padding-top: 64px !important;
    }
    body .dwh-page .dwh-hero__grid {
        min-height: 560px !important;
    }
    body .dwh-page .dwh-hero__visual {
        min-height: 540px !important;
    }
}

/* v2.9.17 - Hero title split: H1 + H2 */
body .dwh-page .dwh-home-hero-title {
  margin-bottom: 10px !important;
}

body .dwh-page .dwh-home-hero-subtitle {
  max-width: 720px;
  margin: 0 0 18px;
  color: var(--dwh-blue-900);
  font-size: clamp(28px, 2.8vw, 44px);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -0.04em;
}

@media (min-width: 901px) {
  body .dwh-page .dwh-hero h1.dwh-home-hero-title {
    margin-bottom: 8px !important;
  }

  body .dwh-page .dwh-home-hero-subtitle {
    margin-bottom: 18px !important;
    font-size: clamp(28px, 2.7vw, 42px) !important;
    line-height: 1.18 !important;
  }
}

@media (max-width: 900px) {
  body .dwh-page .dwh-home-hero-subtitle {
    max-width: 100%;
    text-align: center;
    font-size: clamp(24px, 7vw, 34px);
  }
}

/* v2.9.18 - prevent hero eyebrow/title from being covered by fixed header */
@media (min-width: 901px) {
  body .dwh-page .dwh-hero__content {
    padding-top: 6px !important;
  }

  body .dwh-page .dwh-eyebrow {
    display: inline-flex !important;
    position: relative !important;
    z-index: 1 !important;
  }
}

/* v2.9.19 - final fix: move hero eyebrow below fixed header */
@media (min-width: 901px) {
  body .dwh-page .dwh-hero {
    padding-top: 124px !important;
  }

  body .dwh-page .dwh-hero__grid {
    align-items: flex-start !important;
    padding-top: 0 !important;
  }

  body .dwh-page .dwh-hero__content {
    padding-top: 0 !important;
  }

  body .dwh-page .dwh-home-hero-eyebrow {
    display: inline-flex !important;
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    position: relative !important;
    z-index: 2 !important;
  }

  body .dwh-page .dwh-hero__visual {
    margin-top: -26px !important;
  }
}

@media (min-width: 1600px) {
  body .dwh-page .dwh-hero {
    padding-top: 132px !important;
  }
}

/* v2.9.20 - move metrics block upward into hero section */
body .dwh-page .dwh-trust--hero {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
    position: relative !important;
    z-index: 2 !important;
}

body .dwh-page .dwh-hero > .dwh-trust--hero .dwh-container.dwh-metrics {
    margin-top: 0 !important;
}

@media (min-width: 901px) {
    body .dwh-page .dwh-trust--hero .dwh-container.dwh-metrics {
        max-width: 1320px !important;
    }

    body .dwh-page .dwh-trust {
        margin-top: 0 !important;
    }
}

@media (max-width: 900px) {
    body .dwh-page .dwh-trust--hero {
        margin-top: 18px !important;
    }
}

/* v2.9.21 - place metrics as third row of hero grid and clean spacing */
body .dwh-page .dwh-trust--hero-grid {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin-top: 18px !important;
    margin-bottom: 0 !important;
}

body .dwh-page .dwh-trust--hero-grid .dwh-container.dwh-metrics {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
}

@media (min-width: 901px) {
    body .dwh-page .dwh-hero__grid {
        row-gap: 14px !important;
    }

    body .dwh-page .dwh-trust--hero-grid {
        align-self: stretch !important;
        margin-top: 10px !important;
        padding-bottom: 4px !important;
    }

    body .dwh-page .dwh-trust--hero-grid .dwh-container.dwh-metrics {
        box-shadow: 0 14px 36px rgba(16, 68, 140, 0.08) !important;
    }
}

@media (max-width: 900px) {
    body .dwh-page .dwh-trust--hero-grid {
        margin-top: 20px !important;
    }
}

/* v2.9.22 - move metrics above hero content and align like reference */
body .dwh-page .dwh-trust--hero-top {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 6px !important;
    position: relative !important;
    z-index: 3 !important;
}

body .dwh-page .dwh-trust--hero-top .dwh-container.dwh-metrics {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    box-shadow: 0 16px 38px rgba(16, 68, 140, 0.10) !important;
}

@media (min-width: 901px) {
    body .dwh-page .dwh-hero {
        padding-top: 106px !important;
    }

    body .dwh-page .dwh-hero__grid {
        row-gap: 10px !important;
        align-items: start !important;
    }

    body .dwh-page .dwh-trust--hero-top {
        margin-bottom: 8px !important;
    }

    body .dwh-page .dwh-hero__content,
    body .dwh-page .dwh-hero__visual {
        margin-top: 0 !important;
    }
}

@media (max-width: 900px) {
    body .dwh-page .dwh-trust--hero-top {
        margin-top: 8px !important;
        margin-bottom: 18px !important;
    }
}



/* v2.9.22.4 - hero copy + app section update */
body .dwh-page .dwh-home-hero-subtitle {
  max-width: 760px !important;
}

body .dwh-page .dwh-home-hero-description {
  max-width: 760px !important;
}

body .dwh-page .dwh-app-download {
  align-items: flex-start !important;
}

body .dwh-page .dwh-app-download__feature {
  width: 100% !important;
  max-width: 560px !important;
  margin-top: 14px !important;
  border: 1px solid rgba(16, 74, 146, 0.10) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 18px 48px rgba(16, 74, 146, 0.10) !important;
}

body .dwh-page .dwh-app-download__feature img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

@media (max-width: 900px) {
  body .dwh-page .dwh-app-download__feature {
    max-width: 100% !important;
    border-radius: 20px !important;
  }
}


/* v2.9.22.6 - One Stop Service content section from module graphic */
.dwh-one-stop-section {
  position: relative;
  overflow: hidden;
  padding-top: 37px;
  padding-bottom: 41px;
  background:
    radial-gradient(circle at 8% 0%, rgba(3, 137, 250, 0.10), transparent 28%),
    radial-gradient(circle at 92% 0%, rgba(3, 137, 250, 0.10), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.dwh-one-stop-heading {
  max-width: 980px;
  margin: 0 auto 32px;
  text-align: center;
}

.dwh-one-stop-heading h2 {
  margin: 0;
  color: var(--dwh-blue-950);
  font-size: clamp(38px, 5vw, 76px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.055em;
}

.dwh-one-stop-heading p {
  margin: 14px auto 0;
  max-width: 920px;
  color: var(--dwh-blue-950);
  font-size: clamp(18px, 1.55vw, 24px);
  font-weight: 600;
  line-height: 1.45;
}

.dwh-one-stop-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}

.dwh-one-stop-card {
  --one-stop-accent: var(--dwh-blue-700);
  position: relative;
  display: flex;
  min-height: 385px;
  flex-direction: column;
  padding: 22px 22px 18px;
  border: 1px solid rgba(169, 202, 235, 0.72);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 48px rgba(16, 68, 140, 0.08);
}

.dwh-one-stop-card--purple { --one-stop-accent: #5b39d8; }
.dwh-one-stop-card--blue { --one-stop-accent: #0968f2; }
.dwh-one-stop-card--teal { --one-stop-accent: #07939b; }
.dwh-one-stop-card--green { --one-stop-accent: #55a80e; }
.dwh-one-stop-card--orange { --one-stop-accent: #ff6b00; }
.dwh-one-stop-card--amber { --one-stop-accent: #ff9d00; }
.dwh-one-stop-card--rose { --one-stop-accent: #f43655; }
.dwh-one-stop-card--cyan { --one-stop-accent: #078f9a; }
.dwh-one-stop-card--indigo { --one-stop-accent: #5738d9; }
.dwh-one-stop-card--ai { --one-stop-accent: #0869f2; }

.dwh-one-stop-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.dwh-one-stop-card__no {
  display: inline-flex;
  min-width: 42px;
  height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(135deg, var(--one-stop-accent), color-mix(in srgb, var(--one-stop-accent) 82%, #ffffff 18%));
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 10px 18px color-mix(in srgb, var(--one-stop-accent) 26%, transparent);
}

.dwh-one-stop-card__icon {
  display: inline-grid;
  width: 70px;
  height: 70px;
  place-items: center;
  border-radius: 22px;
  color: #fff;
  background: linear-gradient(135deg, var(--one-stop-accent), color-mix(in srgb, var(--one-stop-accent) 74%, #ffffff 26%));
  box-shadow: 0 14px 30px color-mix(in srgb, var(--one-stop-accent) 24%, transparent);
}

.dwh-one-stop-card__icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dwh-one-stop-card__badge {
  position: absolute;
  top: 20px;
  right: 0;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 5px 12px;
  border-radius: 9px 0 0 9px;
  color: #3b2a00;
  background: linear-gradient(135deg, #ffe58a, #ffd156);
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 10px 20px rgba(245, 176, 0, 0.18);
}

.dwh-one-stop-card h3 {
  margin: 0 0 8px;
  color: var(--one-stop-accent);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.16;
  letter-spacing: -0.03em;
}

.dwh-one-stop-card h3 small {
  display: block;
  margin-top: 3px;
  font-size: .75em;
  line-height: 1.25;
}

.dwh-one-stop-card p {
  min-height: 58px;
  margin: 0 0 14px;
  color: var(--dwh-blue-950);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
}

.dwh-one-stop-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dwh-one-stop-card li {
  position: relative;
  padding-left: 24px;
  color: var(--dwh-blue-950);
  font-size: 14px;
  line-height: 1.35;
}

.dwh-one-stop-card li::before {
  content: "✓";
  position: absolute;
  top: 0.04em;
  left: 0;
  display: inline-grid;
  width: 15px;
  height: 15px;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: var(--one-stop-accent);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

.dwh-one-stop-card--clickable {
  cursor: pointer;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background-color 0.22s ease;
}

.dwh-one-stop-card--clickable::after {
  content: "";
  margin-top: auto;
  padding-top: 18px;
  border-top: 0;
}

.dwh-one-stop-card--clickable:hover,
.dwh-one-stop-card--clickable:focus-visible {
  transform: translateY(-6px);
  border-color: rgba(9, 104, 242, 0.35);
  background: #ffffff;
  box-shadow: 0 24px 54px rgba(16, 68, 140, 0.16);
  outline: none;
}

.dwh-one-stop-card--clickable:hover h3,
.dwh-one-stop-card--clickable:focus-visible h3 {
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 2px;
}

.dwh-one-stop-card--clickable:active {
  transform: translateY(-2px);
}

@media (max-width: 1280px) {
  .dwh-one-stop-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .dwh-one-stop-section {
    padding-top: 28px;
    padding-bottom: 30px;
  }

  .dwh-one-stop-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dwh-one-stop-card {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .dwh-one-stop-grid {
    grid-template-columns: 1fr;
  }

  .dwh-one-stop-heading {
    text-align: left;
  }

  .dwh-one-stop-heading h2 {
    font-size: 36px;
  }
}



/* v2.9.22.17 - reduce outer spacing between homepage sections by 50% */
@media (min-width: 901px) {
  body .dwh-page #one-stop-service.dwh-section { padding-top: 37px !important; padding-bottom: 41px !important; }
  body .dwh-page #industries.dwh-section { padding-top: 38px !important; padding-bottom: 36px !important; }
  body .dwh-page #solutions.dwh-section { padding-top: 36px !important; padding-bottom: 39px !important; }
  body .dwh-page #results.dwh-section,
  body .dwh-page #roles.dwh-section,
  body .dwh-page #process.dwh-section { padding-top: 52px !important; padding-bottom: 52px !important; }
  body .dwh-page #demo.dwh-demo { padding-top: 52px !important; padding-bottom: 52px !important; }
}
@media (max-width: 900px) {
  body .dwh-page #one-stop-service.dwh-section { padding-top: 28px !important; padding-bottom: 30px !important; }
  body .dwh-page #industries.dwh-section { padding-top: 28px !important; padding-bottom: 28px !important; }
  body .dwh-page #solutions.dwh-section { padding-top: 25px !important; padding-bottom: 27px !important; }
  body .dwh-page #results.dwh-section,
  body .dwh-page #roles.dwh-section,
  body .dwh-page #process.dwh-section { padding-top: 38px !important; padding-bottom: 38px !important; }
  body .dwh-page #demo.dwh-demo { padding-top: 52px !important; padding-bottom: 52px !important; }
}


/* 2026-08-17 KPI bar: exactly five equal columns, centered and fitted */
@media (min-width: 901px) {
  body .dwh-page .dwh-trust--hero-top .dwh-container.dwh-metrics {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    width: 100% !important;
    max-width: none !important;
    overflow: hidden !important;
    align-items: stretch !important;
  }
  body .dwh-page .dwh-trust--hero-top .dwh-container.dwh-metrics .dwh-metric {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 88px !important;
    padding: 12px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  body .dwh-page .dwh-trust--hero-top .dwh-container.dwh-metrics .dwh-metric strong {
    margin: 0 !important;
    max-width: 100% !important;
    font-size: clamp(22px, 1.5vw, 28px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em !important;
    white-space: nowrap !important;
  }
  body .dwh-page .dwh-trust--hero-top .dwh-container.dwh-metrics .dwh-metric:nth-child(4) strong {
    font-size: clamp(21px, 1.42vw, 27px) !important;
  }
  body .dwh-page .dwh-trust--hero-top .dwh-container.dwh-metrics .dwh-metric:nth-child(5) strong {
    font-size: clamp(20px, 1.34vw, 26px) !important;
  }
  body .dwh-page .dwh-trust--hero-top .dwh-container.dwh-metrics .dwh-metric span {
    margin: 4px auto 0 !important;
    max-width: 100% !important;
    font-size: clamp(11px, .78vw, 13px) !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
}
