.dl-about-widget {
    --dl-about-bg: #f1f0eb;
    --dl-about-text: #050505;
    --dl-about-line: rgba(5, 5, 5, .18);
    --dl-about-accent: #72e6ad;
    --dl-about-motif: #050505;
    --dl-about-reveal: 22px;
    --dl-about-team-card: 340px;
    --dl-about-team-gap: 28px;
    width: 100%;
    overflow: clip;
    background: var(--dl-about-bg);
    color: var(--dl-about-text);
    font-family: "Coolvetica", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.dl-about-widget *,
.dl-about-widget *::before,
.dl-about-widget *::after {
    box-sizing: border-box;
}

.dl-about__inner {
    width: 100%;
    max-width: 1680px;
    margin-inline: auto;
    padding: 92px 48px 104px;
}

/* Bloco editorial inicial: título + texto equilibrados; números fecham o bloco em largura total. */
.dl-about__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(430px, .55fr);
    align-items: start;
    column-gap: 56px;
    row-gap: 48px;
}

.dl-about__headline,
.dl-about__side {
    min-width: 0;
}

.dl-about__eyebrow,
.dl-about__team-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 24px;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dl-about__eyebrow-mark {
    width: 9px;
    height: 9px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #1e22c9;
}

.dl-about__title {
    margin: 0;
    max-width: 1080px;
    font-family: "Coolvetica", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 64px;
    font-weight: 600;
    line-height: .96;
    letter-spacing: -.035em;
    text-wrap: wrap;
}

.dl-about__motif {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    width: 420px;
    max-width: 78%;
    margin-top: 34px;
}

.dl-about__motif-line {
    display: block;
    height: 5px;
    background: var(--dl-about-motif);
    transform-origin: left center;
}

.dl-about__motif-line:nth-child(1) { width: 100%; }
.dl-about__motif-line:nth-child(2) { width: 74%; }
.dl-about__motif-line:nth-child(3) { width: 91%; }
.dl-about__motif-line:nth-child(4) { width: 61%; }
.dl-about__motif-line:nth-child(5) { width: 82%; }

.dl-about__side {
    align-self: start;
    padding-top: clamp(54px, 5vw, 92px);
}

.dl-about__copy {
    max-width: 610px;
    font-family: "Coolvetica", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.38;
    letter-spacing: -.012em;
}

.dl-about__lead {
    margin: 0 0 1.15em;
    font-weight: 600;
}

.dl-about__description,
.dl-about__description p {
    margin: 0;
}

.dl-about__description p + p {
    margin-top: 1em;
}

/* Números passam a formar uma faixa horizontal, eliminando o vazio abaixo do título. */
.dl-about__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 54px;
    border-top: 1px solid var(--dl-about-line);
    border-bottom: 1px solid var(--dl-about-line);
}

.dl-about__stat {
    min-height: 96px;
    padding: 10px 14px 9px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 10px;
    border-right: 1px solid var(--dl-about-line);
}

.dl-about__stat:last-child {
    border-right: 0;
}

.dl-about__stat-value {
    display: block;
    margin: 0;
    font-family: "Coolvetica", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 52px;
    font-weight: 400;
    line-height: .9;
    letter-spacing: -.035em;
}

.dl-about__stat-label {
    display: block;
    margin-top: 0;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dl-about__team {
    margin-top: 88px;
    padding-top: 22px;
    border-top: 1px solid var(--dl-about-line);
}

.dl-about__team-header {
    display: grid;
    grid-template-columns: minmax(160px, .22fr) minmax(0, 1.78fr);
    align-items: end;
    gap: 32px;
    margin-bottom: 34px;
}

.dl-about__team-eyebrow {
    margin: 0 0 5px;
}

.dl-about__team-title {
    margin: 0;
    max-width: none;
    font-family: "Coolvetica", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.025em;
    white-space: nowrap;
}

/* Carousel contínuo em uma única linha. */
.dl-about__team-carousel {
    position: relative;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    touch-action: pan-y;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}

.dl-about__team-carousel.is-dragging {
    cursor: grabbing;
}

.dl-about__team-carousel.is-static {
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
}

.dl-about__team-carousel.is-static .dl-about__team-track {
    transform: none !important;
    will-change: auto;
}

.dl-about__team-track {
    display: flex;
    align-items: flex-start;
    width: max-content;
    will-change: transform;
    transform: translate3d(0, 0, 0);
}

.dl-about__team-group {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    gap: var(--dl-about-team-gap);
    padding-right: var(--dl-about-team-gap);
}

.dl-about__person {
    flex: 0 0 var(--dl-about-team-card);
    width: var(--dl-about-team-card);
    min-width: 0;
}

.dl-about__person-media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: #050505;
}

.dl-about__person-media > img:not(.dl-about__placeholder-symbol) {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: scale(1.001);
    transition: transform 800ms cubic-bezier(.2,.72,.2,1), filter 500ms ease;
}

.dl-about-widget--photo-hover .dl-about__person:hover .dl-about__person-media > img:not(.dl-about__placeholder-symbol) {
    transform: scale(1.025);
}

.dl-about__person-media.is-placeholder {
    display: grid;
    place-items: center;
    isolation: isolate;
}

.dl-about__placeholder-symbol {
    width: min(34%, 120px);
    height: auto;
    opacity: .2;
    filter: none;
}

.dl-about__placeholder-label {
    position: absolute;
    left: 14px;
    bottom: 12px;
    z-index: 2;
    color: #fff;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dl-about__person-copy {
    padding: 14px 0 6px;
    border-top: 1px solid var(--dl-about-line);
}

.dl-about__person-name {
    margin: 0;
    font-family: "Coolvetica", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.025em;
}

.dl-about__person-role {
    margin-top: 8px;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dl-about__person-bio {
    margin: 13px 0 0;
    max-width: 34em;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: -.005em;
}

/*
 * Blur Reveal — preparado por JS apenas para textos visíveis à animação.
 * Sem JS, no editor e em leitores com movimento reduzido, tudo fica legível.
 * Blur/transform rodam uma vez por título: sem scrub e sem listeners de scroll.
 */
.dl-about-widget {
    --dl-about-effective-blur: min(var(--dl-about-blur, 4px), 4px);
    --dl-about-travel-factor: 1;
}

.dl-about-widget.is-reveal-enhanced .dl-about__reveal-text .dl-about__scrub-word {
    display: inline-block;
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0px);
    transition:
        opacity var(--dl-about-duration, 480ms) cubic-bezier(.22,.72,.22,1),
        transform var(--dl-about-duration, 480ms) cubic-bezier(.22,.72,.22,1),
        filter var(--dl-about-duration, 480ms) cubic-bezier(.22,.72,.22,1);
    transition-delay: var(--dl-about-word-delay, 0ms);
}

.dl-about-widget.is-reveal-enhanced .dl-about__reveal-text.is-reveal-pending .dl-about__scrub-word {
    opacity: .38;
    transform: translate3d(0, calc(var(--dl-about-travel, 8px) * var(--dl-about-travel-factor)), 0);
    filter: blur(var(--dl-about-effective-blur));
}

.dl-about-widget.is-reveal-enhanced .dl-about__reveal-block {
    opacity: 1;
    transform: none;
    transition:
        opacity 440ms cubic-bezier(.22,.72,.22,1),
        transform 480ms cubic-bezier(.22,.72,.22,1);
}

.dl-about-widget.is-reveal-enhanced .dl-about__reveal-block.is-reveal-pending {
    opacity: .68;
    transform: translate3d(0, 7px, 0);
}

/* Os conteúdos editoriais e o carrossel não devem nascer invisíveis. */
.dl-about-widget [data-dl-about-reveal],
.dl-about__team-group[aria-hidden="true"] [data-dl-about-reveal] {
    opacity: 1;
    transform: none;
}

body.elementor-editor-active .dl-about__reveal-text .dl-about__scrub-word,
.elementor-editor-preview .dl-about__reveal-text .dl-about__scrub-word {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
}

body.elementor-editor-active .dl-about__team-carousel,
.elementor-editor-preview .dl-about__team-carousel {
    overflow-x: auto;
    scrollbar-width: thin;
}

body.elementor-editor-active .dl-about__team-track,
.elementor-editor-preview .dl-about__team-track {
    transform: none !important;
}

@media (max-width: 1199px) {
    .dl-about-widget {
        --dl-about-effective-blur: min(var(--dl-about-blur, 4px), 2.8px);
        --dl-about-travel-factor: .75;
    }

    .dl-about__inner {
        padding-inline: 32px;
        padding-top: 76px;
        padding-bottom: 84px;
    }

    .dl-about__intro {
        grid-template-columns: minmax(0, 1.28fr) minmax(330px, .72fr);
        column-gap: 38px;
        row-gap: 40px;
    }

    .dl-about__title {
        font-size: 52px;
    }

    .dl-about__motif {
        gap: 8px;
        margin-top: 28px;
    }


    .dl-about__side {
        padding-top: 50px;
    }

    .dl-about__copy {
        font-size: 18px;
    }

    .dl-about__stats {
        margin-top: 44px;
    }

    .dl-about__stat {
        min-height: 92px;
        gap: 9px;
    }

    .dl-about__stat-value {
        font-size: 48px;
    }

    .dl-about__team {
        margin-top: 72px;
    }

    .dl-about__team-title {
        font-size: 38px;
        white-space: nowrap;
    }

    .dl-about__person {
        --dl-about-team-card: 310px;
    }
}

@media (max-width: 767px) {
    .dl-about-widget {
        --dl-about-effective-blur: min(var(--dl-about-blur, 4px), 1.8px);
        --dl-about-travel-factor: .5;
    }

    .dl-about-widget.is-reveal-enhanced .dl-about__reveal-block.is-reveal-pending {
        transform: translate3d(0, 4px, 0);
    }

    .dl-about__inner {
        padding: 60px 18px 68px;
    }

    .dl-about__intro,
    .dl-about__team-header {
        grid-template-columns: 1fr;
    }

    .dl-about__intro {
        gap: 30px;
    }

    .dl-about__eyebrow,
    .dl-about__team-eyebrow {
        margin-bottom: 17px;
    }

    .dl-about__title {
        max-width: 15ch;
        font-size: 40px;
        line-height: .97;
    }

    .dl-about__side {
        padding-top: 0;
    }

    .dl-about__copy {
        font-size: 17px;
        line-height: 1.4;
    }

    .dl-about__stats {
        grid-template-columns: 1fr 1fr;
        margin-top: 32px;
        border-left: 1px solid var(--dl-about-line);
        border-right: 1px solid var(--dl-about-line);
    }

    .dl-about__stat {
        min-height: 88px;
        padding: 10px 11px 9px;
        border-bottom: 1px solid var(--dl-about-line);
    }

    .dl-about__stat:nth-child(2n) {
        border-right: 0;
    }

    .dl-about__stat-value {
        font-size: 42px;
    }

    .dl-about__stat-label {
        margin-top: 0;
        font-size: 10px;
    }

    .dl-about__team {
        margin-top: 60px;
        padding-top: 18px;
    }

    .dl-about__team-header {
        gap: 12px;
        margin-bottom: 26px;
    }

    .dl-about__team-title {
        max-width: 100%;
        font-size: 32px;
        white-space: normal;
    }

    .dl-about__person {
        --dl-about-team-card: min(78vw, 290px);
    }

    .dl-about__team-group {
        gap: 18px;
        padding-right: 18px;
    }

    .dl-about__person-name {
        font-size: 25px;
    }

    .dl-about__person-bio {
        font-size: 13.5px;
    }
}

@media (max-width: 379px) {
    .dl-about__inner {
        padding-inline: 15px;
    }

    .dl-about__title {
        font-size: 37px;
    }

    .dl-about__stat {
        min-height: 84px;
        padding: 9px 10px 8px;
    }

    .dl-about__person {
        --dl-about-team-card: min(82vw, 270px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .dl-about-widget .dl-about__reveal-text .dl-about__scrub-word,
    .dl-about-widget .dl-about__reveal-block {
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
        transition: none !important;
    }

    .dl-about-widget [data-dl-about-reveal],
    .dl-about__person-media img {
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }

    .dl-about__team-carousel {
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x proximity;
    }

    .dl-about__team-track {
        transform: none !important;
    }

    .dl-about__person {
        scroll-snap-align: start;
    }
}
