.cms-page-view .dm-about__hero .dm-about__hero-content { text-align: center; }
.cms-page-view .dm-about__hero .dm-about__hero-title { max-width: 850px; margin-inline: auto; }
.dm-about__hero .dm-about__hero-title { text-transform: none; }
.dm-about__story .dm-about__story-media::after { display: none; }
.dm-about__story .dm-about__story-actions { display: none; }

.dm-about__purpose,
.dm-about__manufacturing,
.dm-about__working,
.dm-about__history,
.dm-about__machines { padding-block: clamp(30px, 5vw, 80px); padding-inline: 20px; }
.dm-about__purpose { padding-block-start: 0 !important; }
.dm-about__purpose-content {
    max-width: 1000px;
    margin: 0 auto;
}
.dm-about__statement { text-align: center; margin-bottom: clamp(30px, 5vw, 60px); }
.dm-about__purpose .dm-about__statement .dm-about__statement-label { margin: 0 0 8px; color: #56616f !important; font-size: 16px !important; font-weight: 400 !important; line-height: 24px !important; }
.dm-about__purpose .dm-about__statement .dm-about__statement-copy { margin: 0; color: #343741 !important; font-size: clamp(25px, 2.6vw, 32px) !important; font-weight: 600 !important; line-height: 1.2 !important; }
.dm-about__stats {
    display: flex;
    gap: 20px;
    margin: 0 auto;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}
.dm-about__stats span { display: block; color: #66717e; font-size: 13px; }
.dm-about__stats strong { display: block; color: #0078d2; font-size: clamp(24px, 2.5vw, 36px); line-height: 1.2; white-space: nowrap; }

.dm-about__manufacturing { background: #f5f5f5; }
.dm-about__manufacturing-grid { position: relative; display: grid; grid-template-columns: minmax(260px, 35%) minmax(0, 1fr); align-items: stretch; min-height: 420px; max-width: 1120px; margin: auto; overflow: hidden; }
.dm-about__manufacturing-tabs { grid-column: 1; color: #fff; }
.dm-about__manufacturing-tabs details { background: #0078d2; border-bottom: 1px solid rgba(255,255,255,.24); transition: background-color .3s ease, color .3s ease; }
.dm-about__manufacturing-tabs details[open] { background: #fff; color: #273746; }
.dm-about__manufacturing-tabs summary { display: flex; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; padding: 14px 20px; font-weight: 600; }
.dm-about__manufacturing-tabs summary::-webkit-details-marker { display: none; }
.dm-about__manufacturing-tabs summary::after { content: ''; flex: none; width: 9px; height: 9px; margin: 4px 3px 0 0; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .3s ease; }
.dm-about__manufacturing-tabs details[open] summary::after { transform: rotate(-45deg); }
.dm-about__manufacturing-tabs details p { margin: 0; padding: 0 20px 20px; font-size: 14px; line-height: 1.55; }
@supports (interpolate-size: allow-keywords) and selector(details::details-content) {
    .dm-about__manufacturing-tabs { interpolate-size: allow-keywords; }
    .dm-about__manufacturing-tabs details::details-content { block-size: 0; opacity: 0; overflow: hidden; transition: block-size .38s cubic-bezier(.22, 1, .36, 1), opacity .28s ease, content-visibility .38s allow-discrete; }
    .dm-about__manufacturing-tabs details[open]::details-content { block-size: auto; opacity: 1; }
}
.dm-about__manufacturing-tabs details > img { display: none; position: absolute; inset: 0 0 0 35%; width: 65%; height: 100%; object-fit: cover; }
.dm-about__manufacturing-tabs details[open] > img { display: block; }
.dm-about__manufacturing--enhanced .dm-about__manufacturing-tabs details > img { display: none; }
.dm-about__manufacturing-media { position: absolute; inset: 0 0 0 35%; overflow: hidden; pointer-events: none; }
.dm-about__manufacturing-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .48s ease-in-out; }
.dm-about__manufacturing-image--active { opacity: 1; }

@media (min-width: 801px) {
    .dm-about__manufacturing-tabs { display: flex; flex-direction: column; }
    .dm-about__manufacturing-tabs details { flex: 0 0 auto; }
    .dm-about__manufacturing-tabs details[open] { flex-grow: 1; }
    .dm-about__manufacturing-tabs details:first-child[open] { border-top: 2px solid #0078d2; }
}

.dm-about__working-grid { display: grid; grid-template-columns: 1.05fr 1fr 1fr; gap: 20px; align-items: stretch; max-width: 1170px; margin: 0 auto; }
.dm-about__working-intro { padding: 8px 20px 8px 0; }
.dm-about__working-intro h2 { margin: 0 0 12px; }
.dm-about__working-intro p { margin: 0 0 20px; }
.dm-about__working-link { display: inline-flex; align-items: center; min-height: 38px; padding: 9px 18px; border-radius: 24px; background: #0078d2; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; }
.dm-about__working-link:hover, .dm-about__working-link:focus-visible { background: #005da8; color: #fff; text-decoration: none; }
.dm-about__working-grid article { background: #dcefff; padding: 30px; border-radius: 8px; }
:is(body.cms-about-us, #html-body.cms-page-edit) .dm-about__working-grid article h3 { margin: 14px 0 8px; font-size: 20px !important; }
.dm-about__working-grid article p { margin: 0; }
.dm-about__working-icon, .dm-about__working-icon svg { display: block; }
.dm-about__partners { padding: 24px; }
.dm-about__partners .dm-about__partners-inner { max-width: 1280px; }
.dm-about__partners .dm-about__partners-header { max-width: 180px; }
:is(.cms-about-us, .cms-page-edit) .dm-about__partners { background: #fff; color: #34404b; padding: 30px 24px; }
#html-body.cms-page-edit .dm-about__partners { background-color: #fff !important; }
:is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-inner { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: center; gap: 30px; }
:is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-header { margin: 0; text-align: left; }
:is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-title { font-size: 16px; font-weight: 500; }
:is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-logos { grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; }
:is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-logo { background: none; }

.dm-about__card-track article { min-width: 0; overflow: hidden; border-radius: 8px; background: #f6f7f8; scroll-snap-align: start; }
.dm-about__card-track article img { display: block; width: 100%; height: 185px; object-fit: cover; }
.dm-about__card-track article div { padding: 18px; }
.dm-about__card-track h3 { margin: 0 0 8px; font-size: 17px; }
.dm-about__card-track p { margin: 0; font-size: 14px; line-height: 1.5; }
.dm-about__card-track[aria-label="Company history"] h3 { text-align: center; }
.dm-about__certifications .dm-about__certifications-inner { max-width: 1210px; }
.dm-about__certifications .dm-about__certifications-title { font-size: 32px; font-weight: 600; line-height: 1.2; letter-spacing: normal; margin-block-end: 8px; }
.dm-about__certifications .dm-about__certifications-description { font-size: 15px; line-height: 1.5; }
#html-body.cms-page-edit .dm-about__certifications:not(:has(.dm-about__certifications-card)) { display: block; }
#html-body.cms-page-edit .dm-about__certifications { background-color: #f5f5f5 !important; }
:is(.cms-about-us, .cms-page-edit) .dm-about__certifications-track:empty::before { content: ''; display: block; height: 260px; background: repeating-linear-gradient(90deg, #fff 0 22%, transparent 22% 25%); opacity: .8; }
:is(body.cms-about-us, #html-body.cms-page-edit) section.dm-about__certifications .dm-about__certifications-card-body { margin-block-start: 12px; }
:is(body.cms-about-us, #html-body.cms-page-edit) section.dm-about__certifications .dm-about__certifications-card-title { font-size: 18px !important; font-weight: 600; }
:is(body.cms-about-us, #html-body.cms-page-edit) section.dm-about__certifications .dm-about__certifications-card-title-link { gap: 6px; }
.dm-about__machine-track article { position: relative; color: #fff; background: #0078d2; }
.dm-about__machine-track article img { height: 240px; }
.dm-about__machine-track article::after { content: ''; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, #0078d2); pointer-events: none; }
.dm-about__machine-track article div { position: absolute; z-index: 1; bottom: 0; left: 0; right: 0; }
.dm-about__machine-track article p {
    font-size: 14px;
    line-height: 1.45;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .25s ease, opacity .2s ease;
}
.dm-about__machine-track article:hover::after,
.dm-about__machine-track article:focus-within::after { inset: 0; background: linear-gradient(hsl(205.71deg 100% 41.18% / 50%), #0078d2); }
.dm-about__machine-track article:hover div,
.dm-about__machine-track article:focus-within div { bottom: 50%; transform: translateY(70%); }
.dm-about__machine-track article:hover p,
.dm-about__machine-track article:focus-within p { max-height: 190px; opacity: 1; }

@media (max-width: 800px) {
    .dm-about__manufacturing-grid { display: block; min-height: 0; }
    .dm-about__manufacturing-tabs { display: grid; gap: 10px; }
    .dm-about__manufacturing-tabs details { border: 0; border-radius: 10px; overflow: hidden; }
    .dm-about__manufacturing-tabs summary::after { transform: rotate(-45deg); }
    .dm-about__manufacturing-tabs details[open] summary::after { transform: rotate(45deg); }
    .dm-about__manufacturing-tabs details > img { position: static; inset: auto; width: calc(100% - 40px); height: auto; aspect-ratio: 16 / 9; object-fit: cover; margin: 0 20px 20px; }
    .dm-about__manufacturing-tabs details > img,
    .dm-about__manufacturing--enhanced .dm-about__manufacturing-tabs details > img { display: block; }
    .dm-about__manufacturing-media { display: none; }
    .dm-about__working-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dm-about__working-intro { grid-column: 1 / -1; }
    :is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-inner { grid-template-columns: 1fr; }
    :is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    .dm-about__manufacturing-tabs details,
    .dm-about__manufacturing-tabs summary::after,
    .dm-about__manufacturing-tabs details::details-content,
    .dm-about__manufacturing-image { transition: none; }
}
@media (max-width: 600px) {
    .dm-about__statement-copy br { display: none; }
    .dm-about__working-grid { grid-template-columns: 1fr; }
    :is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Page-specific carousel controls and partner row. */
:is(.cms-about-us, .cms-page-edit) .dm-about__partners {
    padding-block: 0;
}
:is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-inner {
    max-width: 1170px;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 30px;
}
:is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-header { max-width: none; }
:is(.cms-about-us, .cms-page-edit) .dm-about__partners h2.dm-about__partners-title {
    color: #687082;
    font-size: 14px !important;
    font-weight: 500;
    line-height: 1.4;
}
:is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-logos {
    gap: 20px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}
:is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-logo { aspect-ratio: auto; }
:is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-logo img {
    height: auto;
    max-height: 70px;
    width: 100%;
}

.dm-about__history, .dm-about__machines { overflow: hidden; }
.dm-about__slider.dm-about__carousel { color: #343e49; margin: 0 auto; max-width: 1170px; overflow: visible; padding-block: 0; width: calc(100% - 48px); }
.dm-about__slider > h2 { font-size: clamp(26px, 2vw, 34px); line-height: 1.22; margin: 0 0 8px; }
.dm-about__slider > p { font-size: 15px; margin: 0 0 28px; }
.dm-about__slider .dm-about__carousel-card:has(> img)::before { display: none; }
.dm-about__slider--history .dm-about__card-track article { background: #dcefff; color: #333333 !important; display: block; height: auto; box-shadow: 0px 3px 10px rgba(0,0,0,0.15); }
.dm-about__slider--history .dm-about__card-track article img { aspect-ratio: 16/9; height: auto; position: static; }
.dm-about__slider--history .dm-about__card-track article div { min-height: 132px; padding: 15px 14px 18px; }
.dm-about__slider--history .dm-about__card-track h3 { font-size: 20px !important; font-weight: 700 !important; text-align: center; }
.dm-about__slider--history .dm-about__card-track p { color: #333333; font-size: 14px; }
.dm-about__slider .dm-about__carousel-controls { margin-top: 26px; }
.dm-about__slider--machines .dm-about__machine-track article { height: 264px; }
.dm-about__slider--machines .dm-about__machine-track img { height: 100%; }
.dm-about__slider--machines .dm-about__machine-track h3 { font-size: 18px !important; line-height: 1.2 !important; }
.dm-about__slider--machines .dm-about__machine-track article div { transition: bottom .25s ease, transform .25s ease; }
.dm-about__slider--machines .dm-about__machine-track article:hover::after,
.dm-about__slider--machines .dm-about__machine-track article:focus-within::after { inset: 0; }
.dm-about__slider--machines .dm-about__machine-track article:hover div,
.dm-about__slider--machines .dm-about__machine-track article:focus-within div { bottom: 50%; }
.dm-about__slider--machines .dm-about__machine-track article:focus-visible { outline: 3px solid #075fa8; outline-offset: 3px; }

@media (max-width: 799px) {
    .dm-about__slider--machines .dm-about__machine-track article {
        align-items: center;
        box-sizing: border-box;
        height: auto;
        min-height: 264px;
        padding: 24px;
    }

    .dm-about__slider--machines .dm-about__machine-track article::after {
        inset: 0;
        background: linear-gradient(hsl(205.71deg 100% 41.18% / 50%), #0078d2);
    }

    .dm-about__slider--machines .dm-about__machine-track article div,
    .dm-about__slider--machines .dm-about__machine-track article:is(:hover, :focus-within) div {
        position: relative;
        inset: auto;
        transform: none;
        transition: none;
        width: 100%;
    }

    .dm-about__slider--machines .dm-about__machine-track article p {
        max-height: none;
        opacity: 1;
        overflow: visible;
        transition: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dm-about__slider--machines .dm-about__machine-track article div,
    .dm-about__slider--machines .dm-about__machine-track article p { transition: none; }
}

@media (max-width: 900px) {
    :is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-inner { grid-template-columns: 1fr; gap: 14px; }
    :is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .dm-about__slider.dm-about__carousel { width: calc(100% - 36px); }
    :is(.cms-about-us, .cms-page-edit) .dm-about__partners .dm-about__partners-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
