:root {
    overflow-x: clip;
}

html {
    min-width: 320px;
}

body {
    background-color: #fff;
    color: var(--dm-text-color);
    font-family: var(--dichen-theme-font-family, "Open Sans", "Segoe UI", Arial, sans-serif);
    font-size: 16px;
    line-height: 1.5;
    margin: 0;
    overflow-wrap: break-word;
}

.page-wrapper,
.columns,
.column.main {
    min-width: 0;
}

img,
picture,
svg,
video {
    height: auto;
    max-width: 100%;
}


a {
    color: var(--dm-brand);
}

.action.primary,
button.primary {
    background: var(--dm-brand);
    border-color: var(--dm-brand);
    border-radius:var(--dm-button-radius);
    color: #fff;
    transition:
        background-color 160ms cubic-bezier(.2, .6, .2, 1),
        border-color 160ms cubic-bezier(.2, .6, .2, 1),
        color 160ms cubic-bezier(.2, .6, .2, 1);
}

.action.primary:hover,
.action.primary:focus,
button.primary:hover,
button.primary:focus {
    background: var(--dm-brand-hover);
    border-color: var(--dm-brand-hover);
}

.action.secondary,
button.secondary {
    background: transparent;
    border: 1px solid var(--dm-brand);
    border-radius:var(--dm-button-radius);
    color: var(--dm-brand);
    transition:
        background-color 160ms cubic-bezier(.2, .6, .2, 1),
        border-color 160ms cubic-bezier(.2, .6, .2, 1),
        color 160ms cubic-bezier(.2, .6, .2, 1);
}

.action.secondary:hover,
.action.secondary:focus,
button.secondary:hover,
button.secondary:focus {
    background: var(--dm-brand-hover);
    border-color: var(--dm-brand-hover);
    color: #fff;
}

input,
select,
textarea {
    border-color: #d9e0e5;
    border-radius: 6px;
}

:focus-visible {
    outline: 3px solid var(--dm-brand);
    outline-offset: 2px;
}

.page-main,
.site-container {
    box-sizing: border-box;
    margin-inline: auto;
    max-width: 1280px;
    padding-inline: clamp(20px, 4vw, 48px);
    width: 100%;
}

body .page-main {
    padding-inline: clamp(20px, 4vw, 48px);
}

.site-container--wide {
    max-width: 1440px;
}

.site-container--narrow {
    max-width: 760px;
}

.site-library-section {
    margin-block: clamp(48px, 7vw, 88px);
}

.site-shell--scheme-dark {
    color-scheme: dark;
}

.site-shell--scheme-light {
    color-scheme: light;
}

.site-shell--surface-page {
    background: #fff;
}

.site-shell--surface-default {
    background: #fff;
}

.site-shell--surface-subtle {
    background: #f5f7fa;
}

.site-shell--surface-accent {
    background: #eaf4ff;
}

.site-shell--surface-inverse {
    background: #0c1a2a;
}

.site-shell--text-primary {
    color: inherit;
}

.site-shell--text-secondary,
.site-shell--text-muted {
    color: inherit;
}

.site-shell--text-muted {
    opacity: .72;
}

.site-shell--text-inverse {
    color: #fff;
}

.site-shell--border-subtle,
.site-shell--border-default,
.site-shell--border-strong {
    border-color: #d9e0e5;
}

.site-shell--border-subtle {
    border-color: color-mix(
        in srgb,
        #d9e0e5 72%,
        transparent
    );
}

.dichen-site-header {
    transition:
        background-color 240ms cubic-bezier(.2, .6, .2, 1),
        box-shadow 240ms cubic-bezier(.2, .6, .2, 1),
        transform 240ms cubic-bezier(.2, .6, .2, 1);
}

.dichen-site-header[data-sticky="true"] {
    position: sticky;
    top: 0;
    z-index: 200;
}

.dichen-site-header[data-transparent="true"]:not(.is-scrolled) {
    background: transparent;
}

.dichen-site-header.is-scrolled {
    box-shadow: 0 2px 8px rgb(12 26 42 / 8%);
}

.dichen-site-header[data-hide-on-scroll="true"].is-hidden {
    transform: translateY(-100%);
}

.site-shell__header-cta {
    white-space: nowrap;
}

.site-shell__footer-brand img {
    display: block;
    height: auto;
    max-width: 18rem;
}

.site-shell__footer-brand p {
    max-width: 48rem;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Structural defaults only; child themes own the visual content-card design. */
.dichen-content-collection__items {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(var(--dichen-content-columns, 3), minmax(0, 1fr));
}

.dichen-content-collection[data-columns="1"] { --dichen-content-columns: 1; }
.dichen-content-collection[data-columns="2"] { --dichen-content-columns: 2; }
.dichen-content-collection[data-columns="3"] { --dichen-content-columns: 3; }
.dichen-content-collection[data-columns="4"] { --dichen-content-columns: 4; }
.dichen-content-card img { display: block; height: auto; max-width: 100%; }

@media (max-width: 1023px) {
    .dichen-content-collection__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dichen-content-collection[data-columns="1"] .dichen-content-collection__items { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .dichen-content-collection__items { grid-template-columns: 1fr; }
}

/* Shared content navigation structure; child themes own its visual treatment. */
.dichen-content-navigation__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dichen-content-navigation__previous-next {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dichen-content-navigation__next { text-align: end; }

@media (max-width: 639px) {
    .dichen-content-navigation__previous-next { grid-template-columns: 1fr; }
    .dichen-content-navigation__next { text-align: start; }
}

/* SG Rich text Section. */
.sg-rich-text {
    background: #fff;
    box-sizing: border-box;
    color: inherit;
    display: flex;
    justify-content: center;
    margin: 0;
    padding-block: clamp(32px, calc(9.4648px + 6.0094vw), 96px);
    padding-inline: 24px;
    width: auto;
}

.sg-rich-text .sg-rich-text__container {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1152px;
    min-width: 0;
    padding: 0;
    width: 100%;
}

.sg-rich-text > .sg-rich-text__content {
    box-sizing: border-box;
    margin-inline: auto;
    max-width: 1152px;
    width: 100%;
}

.sg-rich-text .sg-rich-text__content {
    color: inherit;
    font-size: clamp(15px, calc(14.6479px + .0939vw), 16px);
    font-weight: 400;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.sg-rich-text .sg-rich-text__content p { margin: 0 0 clamp(14px, calc(11.8873px + .5634vw), 20px); }
.sg-rich-text .sg-rich-text__content h1,
.sg-rich-text .sg-rich-text__content h2,
.sg-rich-text .sg-rich-text__content h3,
.sg-rich-text .sg-rich-text__content h4,
.sg-rich-text .sg-rich-text__content h5,
.sg-rich-text .sg-rich-text__content h6 {
    color: inherit;
    font-weight: 500;
    letter-spacing: -.02em;
    line-height: 1.25;
    margin: clamp(28px, calc(20.9577px + 1.8779vw), 48px) 0 clamp(12px, calc(9.8873px + .5634vw), 18px);
}
.sg-rich-text .sg-rich-text__content h1 { font-size: clamp(28px, calc(23.7746px + 1.1268vw), 40px); }
.sg-rich-text .sg-rich-text__content h2 { font-size: clamp(24px, calc(22.5915px + .3756vw), 28px); }
.sg-rich-text .sg-rich-text__content h3 { font-size: clamp(21px, calc(19.2394px + .4695vw), 26px); }
.sg-rich-text .sg-rich-text__content h4 { font-size: clamp(18px, calc(16.5915px + .3756vw), 22px); }
.sg-rich-text .sg-rich-text__content h5 { font-size: clamp(16px, calc(15.2958px + .1878vw), 18px); }
.sg-rich-text .sg-rich-text__content h6 { font-size: clamp(14px, calc(13.2958px + .1878vw), 16px); }
.sg-rich-text .sg-rich-text__content ul,
.sg-rich-text .sg-rich-text__content ol { margin: 0 0 clamp(18px, calc(15.8873px + .5634vw), 24px); padding-inline-start: 1.5em; }
.sg-rich-text .sg-rich-text__content li { padding-inline-start: .2em; }
.sg-rich-text .sg-rich-text__content li + li { margin-block-start: .55em; }
.sg-rich-text .sg-rich-text__content li > ul,
.sg-rich-text .sg-rich-text__content li > ol { margin-block: .55em 0; }
.sg-rich-text .sg-rich-text__content strong,
.sg-rich-text .sg-rich-text__content b { font-weight: 600; }
.sg-rich-text .sg-rich-text__content a { color: var(--dm-brand); font-weight: 500; text-underline-offset: .18em; }
.sg-rich-text .sg-rich-text__content blockquote {
    border-inline-start: 3px solid var(--dm-brand);
    font-size: clamp(17px, calc(15.9437px + .2817vw), 20px);
    line-height: 1.6;
    margin: clamp(22px, calc(19.8873px + .5634vw), 28px) 0;
    padding: clamp(14px, calc(11.8873px + .5634vw), 20px) clamp(16px, calc(12.4789px + .939vw), 26px);
}
.sg-rich-text .sg-rich-text__content blockquote > :last-child { margin-bottom: 0; }
.sg-rich-text .sg-rich-text__content hr { border: 0; border-top: 1px solid #d9d9d9; margin: clamp(28px, calc(23.7746px + 1.1268vw), 40px) 0; }
.sg-rich-text .sg-rich-text__content img { display: block; height: auto; margin: clamp(22px, calc(19.8873px + .5634vw), 28px) auto; max-width: 100%; }
.sg-rich-text .sg-rich-text__content table { border-collapse: collapse; font-size: .9375em; margin: clamp(22px, calc(19.8873px + .5634vw), 28px) 0; width: 100%; }
.sg-rich-text .sg-rich-text__content th,
.sg-rich-text .sg-rich-text__content td { border: 1px solid #d9d9d9; padding: 10px 14px; text-align: start; vertical-align: top; }
.sg-rich-text .sg-rich-text__content th { background: #f5f5f5; font-weight: 600; }
.sg-rich-text .sg-rich-text__content > :first-child { margin-block-start: 0; }
.sg-rich-text .sg-rich-text__content > :last-child { margin-block-end: 0; }

/* SG Overview Section — Figma component variants. */
.sg-overview {
    background: #fff;
    box-sizing: border-box;
    color: inherit;
    display: flex;
    justify-content: center;
    margin: 0;
    padding-block: clamp(32px, calc(9.4648px + 6.0094vw), 96px);
    padding-inline: 24px;
    width: auto;
}

.sg-overview .sg-overview__inner {
    align-items: start;
    box-sizing: border-box;
    display: flex;
    gap: var(--sg-overview-gap, clamp(16px, calc(10.3662px + 1.5023vw), 32px));
    margin: 0;
    max-width: 1152px;
    min-width: 0;
    padding: 0;
    width: 100%;
}

.sg-overview.sg-overview--surface-muted { background: #f0f0f0; }

.sg-overview.sg-overview--align-start .sg-overview__inner { align-items: start; }
.sg-overview.sg-overview--align-end .sg-overview__inner { align-items: end; }

.sg-overview .sg-overview__text {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    min-width: 0;
    text-align: left;
}

.sg-overview .sg-overview__tagline,
.sg-history .sg-history__eyebrow {
    align-items: center;
    color: #888888;
    display: flex;
    font-size: clamp(12px, calc(11.2958px + 0.1878vw), 14px);
    gap: 7px;
    letter-spacing: .04em;
    line-height: 1.4;
    margin: 0;
    margin-block-end: clamp(8px, calc(5.1831px + 0.7512vw), 16px);
    text-transform: uppercase;
}

.sg-overview .sg-overview__tagline::before,
.sg-history .sg-history__eyebrow::before {
    background: var(--dm-brand);
    content: '';
    flex: 0 0 12px;
    height: 2px;
}

.sg-overview .sg-overview__tagline[data-show-tagline='false'] { display: none; }

.sg-overview .sg-overview__title,
.sg-history .sg-history__title {
    color: inherit;
    font-size: clamp(28px, calc(23.7746px + 1.1268vw), 40px);
    font-weight: 500;
    letter-spacing: -.025em;
    line-height: 1.08;
    margin: 0;
    margin-block-end: clamp(16px, calc(13.1831px + 0.7512vw), 24px);
    max-width: none;
}

.sg-overview .sg-overview__copy,
.sg-history .sg-history__description {
    color: inherit;
    font-size: clamp(16px, calc(14.5915px + 0.3756vw), 20px);
    line-height: 1.55;
}

.sg-overview .sg-overview__copy > * {
    font-size: inherit;
    line-height: inherit;
}

.sg-overview .sg-overview__copy > :first-child { margin-top: 0; }
.sg-overview .sg-overview__copy > :last-child { margin-bottom: 0; }

.sg-overview .sg-overview__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-block-start: clamp(24px, calc(21.1831px + 0.7512vw), 32px);
}

.sg-overview .sg-overview__button {
    align-items: center;
    border: 1px solid var(--dm-brand);
    border-radius:var(--dm-button-radius);
    box-sizing: border-box;
    display: inline-flex;
    font-size: 14px;
    font-weight: 500;
    justify-content: center;
    line-height: 1.2;
    min-height: 44px;
    min-width: 132px;
    padding: 11px 20px;
    text-decoration: none;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.sg-overview .sg-overview__button--primary,
.sg-overview .sg-overview__button--primary:visited {
    background: var(--dm-brand);
    border-color: var(--dm-brand);
    color: #fff;
}

.sg-overview .sg-overview__button--secondary,
.sg-overview .sg-overview__button--secondary:visited {
    background: transparent;
    border-color: var(--dm-brand);
    color: var(--dm-brand);
}

.sg-overview .sg-overview__button--primary:hover,
.sg-overview .sg-overview__button--primary:focus,
.sg-overview .sg-overview__button--secondary:hover,
.sg-overview .sg-overview__button--secondary:focus {
    background: var(--dm-brand-hover);
    border-color: var(--dm-brand-hover);
    color: #fff;
}
.sg-overview .sg-overview__button[data-show-button='false'] { display: none; }

.sg-overview .sg-overview__media {
    align-items: center;
    aspect-ratio: 16 / 9;
    background: #ededed;
    border-radius: var(--sg-overview-media-radius, clamp(5px, calc(3.2394px + .4695vw), 10px));
    display: flex;
    flex: 1 1 0;
    justify-content: center;
    margin: 0;
    min-width: 0;
    overflow: hidden;
}

.sg-overview.sg-overview--ratio-16-9 .sg-overview__media { aspect-ratio: 16 / 9; }
.sg-overview.sg-overview--ratio-4-3 .sg-overview__media { aspect-ratio: 4 / 3; }
.sg-overview.sg-overview--ratio-1-1 .sg-overview__media { aspect-ratio: 1; }
.sg-overview.sg-overview--ratio-auto .sg-overview__media { aspect-ratio: auto; min-height: 280px; }
.sg-overview .sg-overview__media[data-show-image='false'] { display: none; }

.sg-overview .sg-overview__image {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.sg-overview.sg-overview--fit-cover .sg-overview__image { object-fit: cover; }
.sg-overview.sg-overview--fit-contain .sg-overview__image { object-fit: contain; }

.sg-overview.sg-overview--stacked .sg-overview__media,
.sg-overview.sg-overview--split .sg-overview__media { display: none; }

.sg-overview.sg-overview--split .sg-overview__inner {
    align-items: start;
}

.sg-overview.sg-overview--split .sg-overview__text {
    column-gap: var(--sg-overview-gap, clamp(16px, calc(10.3662px + 1.5023vw), 32px));
    flex-flow: row wrap;
    width: 100%;
}

.sg-overview.sg-overview--split .sg-overview__tagline { flex: 0 0 100%; }
.sg-overview.sg-overview--split .sg-overview__title {
    flex: 0 0 calc(45% - (var(--sg-overview-gap, clamp(16px, calc(10.3662px + 1.5023vw), 32px)) / 2));
    margin-block-end: 0;
}
.sg-overview.sg-overview--split .sg-overview__copy {
    flex: 0 0 calc(55% - (var(--sg-overview-gap, clamp(16px, calc(10.3662px + 1.5023vw), 32px)) / 2));
}
.sg-overview.sg-overview--split .sg-overview__actions {
    flex: 0 0 calc(55% - (var(--sg-overview-gap, clamp(16px, calc(10.3662px + 1.5023vw), 32px)) / 2));
    margin-left: auto;
}

.sg-overview.sg-overview--media-left .sg-overview__inner { flex-direction: row-reverse; }

.sg-overview.sg-overview--text-center { text-align: center; }
.sg-overview.sg-overview--text-center .sg-overview__tagline,
.sg-overview.sg-overview--text-center .sg-overview__actions { justify-content: center; }
.sg-overview.sg-overview--text-center .sg-overview__title,
.sg-overview.sg-overview--text-center .sg-overview__copy { margin-inline: auto; }

@media (max-width: 767px) {
    .sg-overview .sg-overview__inner,
    .sg-overview.sg-overview--media-left .sg-overview__inner {
        flex-direction: column;
    }
    .sg-overview .sg-overview__text,
    .sg-overview .sg-overview__media { flex-basis: auto; width: 100%; }
    .sg-overview.sg-overview--split .sg-overview__text { flex-direction: column; }
    .sg-overview.sg-overview--split .sg-overview__tagline,
    .sg-overview.sg-overview--split .sg-overview__title,
    .sg-overview.sg-overview--split .sg-overview__copy,
    .sg-overview.sg-overview--split .sg-overview__actions {
        flex-basis: auto;
        margin-left: 0;
        width: auto;
    }
    .sg-overview.sg-overview--split .sg-overview__title { margin-block-end: clamp(16px, calc(13.1831px + 0.7512vw), 24px); }
    .sg-overview .sg-overview__media,
    .sg-overview.sg-overview--mobile-media-top .sg-overview__media { order: -1; }
    .sg-overview.sg-overview--mobile-media-bottom .sg-overview__media { order: 0; }
    .sg-overview .sg-overview__title { font-size: clamp(26px, 8vw, 34px); }
    .sg-overview .sg-overview__button { width: 100%; }
}

/* SG company contact information. */
.sg-information {
    background: #f0f0f0;
    box-sizing: border-box;
    color: inherit;
    margin: 0;
    padding-block: clamp(32px, calc(9.4648px + 6.0094vw), 96px);
    padding-inline: 24px;
    width: 100%;
}

.sg-information .sg-information__container {
    display: flex;
    flex-direction: column;
    gap: var(--sg-information-gap, clamp(10px, calc(6.4789px + .939vw), 20px));
    margin-inline: auto;
    max-width: 960px;
    min-width: 0;
    width: 100%;
}

.sg-information .sg-information__title {
    color: inherit;
    font-size: clamp(24px, calc(19.7746px + 1.1268vw), 36px);
    font-weight: 500;
    letter-spacing: -.015em;
    line-height: 1.15;
    margin: 0;
}

.sg-information .sg-information__address {
    display: flex;
    flex-direction: column;
    font-size: clamp(14px, calc(12.5915px + .3756vw), 18px);
    font-style: normal;
    gap: 16px;
    line-height: 1.5;
    margin: 0;
}

.sg-information .sg-information__address p { margin: 0; }
.sg-information .sg-information__address > p:nth-of-type(2) {
    align-items: center;
    display: flex;
    gap: 8px;
}
.sg-information .sg-information__address > p:nth-of-type(n + 2)::before {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 12px;
    border: 1px solid #212529;
    border-radius: 50%;
    box-sizing: border-box;
    content: '';
    flex: 0 0 24px;
    height: 24px;
    width: 24px;
}
.sg-information .sg-information__address > p:nth-of-type(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z' fill='none' stroke='%23d50032' stroke-width='2'/%3E%3Ccircle cx='12' cy='10' r='2.5' fill='%23d50032'/%3E%3C/svg%3E");
}
.sg-information .sg-information__address > p:nth-of-type(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.68 2.8a2 2 0 0 1-.45 2.11L8.07 9.9a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.32 1.84.55 2.8.68A2 2 0 0 1 22 16.92Z' fill='none' stroke='%23d50032' stroke-width='2'/%3E%3C/svg%3E");
}
.sg-information .sg-information__address > p:nth-of-type(4)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='%23d50032' stroke-width='2'/%3E%3Cpath d='m4 7 8 6 8-6' fill='none' stroke='%23d50032' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
}
.sg-information .sg-information__location {
    font-size: clamp(16px, calc(13.1831px + .7512vw), 24px);
    font-weight: 500;
}
.sg-information .sg-information__contact { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.sg-information .sg-information__contact strong { font-weight: 600; }
.sg-information .sg-information__contact a,
.sg-information .sg-information__contact a:visited { color: inherit; text-decoration: none; }
.sg-information .sg-information__contact a:hover,
.sg-information .sg-information__contact a:focus { color: var(--dm-brand); text-decoration: underline; }

.sg-cta {
    background: var(--dm-brand);
    box-sizing: border-box;
    color: #fff;
    padding: clamp(24px, calc(21.1831px + .7512vw), 32px) 24px;
    width: 100%;
}

.sg-cta .sg-cta__inner {
    align-items: center;
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 0 auto;
    max-width: 1152px;
    width: 100%;
}

.sg-cta .sg-cta__content { min-width: 0; }

.sg-cta .sg-cta__title {
    color: #fff;
    font-size: clamp(24px, calc(21.1831px + .7512vw), 32px);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 8px;
}

.sg-cta .sg-cta__copy > * { color: inherit; font: inherit; margin: 0; }

.sg-cta .sg-cta__button,
.sg-cta .sg-cta__button:visited {
    align-items: center;
    background: #fff;
    border: 1px solid #fff;
    border-radius:var(--dm-button-radius);
    color: var(--dm-brand);
    display: inline-flex;
    font-size: var(--dm-button-font-size, 16px);
    font-weight: var(--dm-button-font-weight, 500);
    justify-content: center;
    line-height: 1.5;
    min-height: var(--dm-button-min-height, 40px);
    padding-block: var(--dm-button-padding-block, 12px);
    padding-inline: var(--dm-button-padding-inline, 24px);
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
    white-space: nowrap;
}

.sg-cta .sg-cta__button:hover,
.sg-cta .sg-cta__button:focus {
    background: #f2f2f2;
    border-color: #f2f2f2;
    color: var(--dm-brand-hover);
}

/* Page Builder CTA: mirror the approved DM product-detail CTA card. */
.dm-cta {
    background: #f5f7fa;
    border-radius: 16px;
    box-sizing: border-box;
    color: inherit;
    margin: 48px auto;
    max-width: 1140px;
    width: calc(100% - 64px);
}

.dm-cta .dm-cta__inner {
    align-items: center;
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 0 auto;
    max-width: none;
    padding: 70px 50px;
    width: 100%;
}

.dm-cta .dm-cta__content { min-width: 0; }

.dm-cta .dm-cta__title {
    color: inherit;
    font-size: clamp(24px, calc(21.1831px + .7512vw), 32px);
    font-weight: 600;
    line-height: 1.2;
    margin: 0 0 8px;
}

.dm-cta .dm-cta__copy {
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
    max-width: 100%;
    width: 65ch;
}

.dm-cta .dm-cta__copy > * {
    color: inherit;
    font: inherit;
    margin: 0;
}

.dm-cta .dm-cta__button,
.dm-cta .dm-cta__button:visited {
    align-items: center;
    background: var(--dm-brand);
    border: 1px solid var(--dm-brand);
    border-radius: var(--dm-button-radius);
    color: #fff;
    display: inline-flex;
    font-size: var(--dm-button-font-size, 14px);
    font-weight: var(--dm-button-font-weight, 600);
    justify-content: center;
    line-height: var(--dm-button-line-height, 1.5);
    min-height: var(--dm-button-min-height, 48px);
    padding-block: var(--dm-button-padding-block, 12px);
    padding-inline: var(--dm-button-padding-inline, 20px);
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease;
    white-space: nowrap;
}

.dm-cta .dm-cta__button:hover,
.dm-cta .dm-cta__button:focus {
    background: var(--dm-brand-hover);
    border-color: var(--dm-brand-hover);
    color: #fff;
}

.dm-cta .dm-cta__button:active {
    background: var(--dm-brand-active);
    border-color: var(--dm-brand-active);
}

.dm-cta .dm-cta__button:focus-visible {
    outline: 2px solid var(--dm-brand);
    outline-offset: 4px;
}

@media (max-width: 767px) {
    .sg-cta .sg-cta__inner {
        align-items: start;
        gap: 16px;
        grid-template-columns: 1fr;
    }

    .sg-cta .sg-cta__button { justify-self: start; }

    .dm-cta { width: calc(100% - 32px); }

    .dm-cta .dm-cta__inner {
        align-items: start;
        gap: 16px;
        grid-template-columns: 1fr;
        padding: 40px 20px;
    }

    .dm-cta .dm-cta__button { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
    .dm-cta .dm-cta__button { transition: none; }
}

/* Breadcrumb Page Builder section. */
.sg-breadcrumb .sg-breadcrumb__list,
.sg-breadcrumb .items {
    align-items: center;
    border-block: 1px solid #dedede;
    color: inherit;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0 auto;
    max-width: 1280px;
    padding: 10px 24px;
}

.sg-breadcrumb .sg-breadcrumb__item,
.sg-breadcrumb .item {
    align-items: center;
    display: flex;
    font-size: clamp(12px, calc(11.2958px + .1878vw), 14px);
    line-height: 1.4;
    list-style: none;
    margin: 0;
}

.sg-breadcrumb .sg-breadcrumb__item + .sg-breadcrumb__item::before,
.sg-breadcrumb .item + .item::before {
    background: #212529;
    content: '';
    display: inline-block;
    height: 1em;
    margin-inline-end: 8px;
    vertical-align: -.125em;
    width: 1px;
}

.sg-breadcrumb .sg-breadcrumb__item a,
.sg-breadcrumb .item a {
    color: inherit;
    text-decoration: none;
}

.sg-breadcrumb .sg-breadcrumb__item a:hover,
.sg-breadcrumb .item a:hover {
    color: var(--dm-brand);
}

.sg-breadcrumb .sg-breadcrumb__item a:focus-visible,
.sg-breadcrumb .item a:focus-visible {
    color: var(--dm-brand);
    outline: 2px solid rgb(213 0 50 / 35%);
    outline-offset: 3px;
}

.sg-breadcrumb .sg-breadcrumb__item [aria-current='page'],
.sg-breadcrumb .item [aria-current='page'] {
    color: var(--dm-brand);
    font-weight: 600;
}

@media (max-width: 767px) {
    .sg-breadcrumb .sg-breadcrumb__list,
    .sg-breadcrumb .items {
        box-sizing: border-box;
        flex-wrap: nowrap;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-inline: contain;
        scroll-padding-inline: 24px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        width: 100%;
    }

    .sg-breadcrumb .sg-breadcrumb__list::-webkit-scrollbar,
    .sg-breadcrumb .items::-webkit-scrollbar {
        display: none;
    }

    .sg-breadcrumb .sg-breadcrumb__item,
    .sg-breadcrumb .item {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}

/* Reusable Values section. */
.sg-values { --sg-values-gap:clamp(16px,calc(10.3662px + 1.5023vw),32px); background:#f0f0f0; box-sizing:border-box; padding-block:clamp(32px,calc(9.4648px + 6.0094vw),96px); padding-inline:24px; width:100%; }
.sg-values .sg-values__inner { margin:0 auto; max-width:1152px; }
.sg-values .sg-values__eyebrow { color:#8B8B8B; font-size:14px; margin:0; margin-block-end:24px; text-transform:uppercase; }
.sg-values .sg-values__eyebrow::before { background:var(--dm-brand); content:''; display:inline-block; height:2px; margin-inline-end:8px; vertical-align:middle; width:12px; }
.sg-values .sg-values__grid { display:grid; gap:var(--sg-values-gap,30px); grid-template-columns:repeat(3,minmax(0,1fr)); }
.sg-values .sg-values-item { min-width:0; display:flex; flex-direction:column; gap:16px; }
.sg-values .sg-values-item__heading { align-items:center; display:flex; gap:12px; }
.sg-values .sg-values-item__heading h3 { color:inherit; font-size:clamp(26px,calc(23.8873px + .5634vw),32px); font-weight:500; line-height:1.2; margin:0; }
.sg-values .sg-values-item__icon { align-items:center; display:inline-flex; justify-content:center; overflow:hidden; }
.sg-values .sg-values-item__icon img,.sg-values .sg-values-item__icon svg { display:block; height:42px; max-width:42px; width:42px; }
.sg-values .sg-values-item__text { color:inherit; font-size:16px; line-height:1.5; margin:0; }
.sg-values .sg-values-item__text > :first-child { margin-top:0; }.sg-values .sg-values-item__text > :last-child { margin-bottom:0; }
@media(max-width:900px){.sg-values .sg-values__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.sg-values .sg-values__grid{grid-template-columns:1fr;}}

/* Reusable How We Work section. */
.sg-how-we-work { --sg-how-we-work-gap:clamp(16px,calc(10.3662px + 1.5023vw),32px); background:#f0f0f0; box-sizing:border-box; padding-block:clamp(32px,calc(9.4648px + 6.0094vw),96px); padding-inline:24px; width:100%; }
.sg-how-we-work .sg-how-we-work__inner { margin:0 auto; max-width:1152px; }
.sg-how-we-work .sg-how-we-work__eyebrow { color:#8B8B8B; font-size:14px; margin:0; margin-block-end:24px; text-transform:uppercase; }
.sg-how-we-work .sg-how-we-work__eyebrow::before { background:var(--dm-brand); content:''; display:inline-block; height:2px; margin-inline-end:8px; vertical-align:middle; width:12px; }
.sg-how-we-work .sg-how-we-work__grid { display:grid; gap:var(--sg-how-we-work-gap,30px); grid-template-columns:repeat(3,minmax(0,1fr)); }
.sg-how-we-work .sg-how-we-work-item { min-width:0; display:flex; flex-direction:column; gap:16px; }
.sg-how-we-work .sg-how-we-work-item__heading { align-items:center; display:flex; gap:12px; }
.sg-how-we-work .sg-how-we-work-item__heading h3 { color:inherit; font-size:clamp(26px,calc(23.8873px + .5634vw),32px); font-weight:500; line-height:1.2; margin:0; }
.sg-how-we-work .sg-how-we-work-item__icon { align-items:center; display:inline-flex; justify-content:center; overflow:hidden; }
.sg-how-we-work .sg-how-we-work-item__icon img { display:block; height:42px; max-width:42px; width:42px; }
.sg-how-we-work .sg-how-we-work-item__icon svg { display:block; height:42px; max-width:42px; width:42px; }
.sg-how-we-work .sg-how-we-work-item__text { color:inherit; font-size:16px; line-height:1.5; margin:0; }
.sg-how-we-work .sg-how-we-work-item__text > :first-child { margin-top:0; }.sg-how-we-work .sg-how-we-work-item__text > :last-child { margin-bottom:0; }
@media(max-width:900px){.sg-how-we-work .sg-how-we-work__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.sg-how-we-work .sg-how-we-work__grid{grid-template-columns:1fr;}}
