/* ==========================================================
   NOSSO DNA — estilos exclusivos da página
   (usar junto com base.css)
   ========================================================== */

/* ========== HERO ========== */
/* O degradê é o padrão do .page-hero (base.css) */
.dna-hero .page-hero-inner {
    min-height: 540px;
    padding-left: 97px;
    grid-template-columns: minmax(0, 608px) minmax(0, 576px);
}

.dna-hero .page-hero-eyebrow,
.dna-hero h1 {
    margin-bottom: 10px;
}

/* hero.png já vem do Figma com sombra e cantos arredondados:
   660x408 com a foto (576x324) começando em 42px / 14px. */
.dna-hero .page-hero-image {
    position: relative;
    height: 323.62px;
    overflow: visible;
    background: none;
    border-radius: 0;
    box-shadow: none;
}

.dna-hero .page-hero-image img {
    position: absolute;
    left: -7.29%;
    top: -4.33%;
    width: 114.58%;
    height: auto;
    max-width: none;
}

/* ========== ORIGEM ========== */
.dna-origin {
    padding: 96px 0;
}

.dna-origin .section-split {
    grid-template-columns: minmax(0, 639.5px) minmax(0, 482px);
    justify-content: center;
    gap: 72px;
}

/* origem.png já vem recortada do Figma (640x369), com a borda aplicada */
.dna-origin-image {
    height: 368.56px;
    overflow: hidden;
    background: #EBF4F7;
    border-radius: 18.25px;
}

.dna-origin-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dna-origin .text-stack,
.dna-division .text-stack {
    gap: 28px;
}

.dna-origin .text-stack p:first-of-type,
.dna-division .text-stack p:first-of-type {
    color: #374151;
}

/* ========== NOVA DIVISÃO ========== */
.dna-division {
    padding: 96px 0;
    background: var(--bg-light);
}

.dna-division .section-split {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 74px 0 100px;
    grid-template-columns: minmax(0, 493fr) minmax(0, 701fr);
    gap: 72px;
}

.dna-division-image {
    width: 100%;
    height: 448px;
    object-fit: cover;
    border-radius: 20px;
    background: #D4E4ED;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 1200px) {
    .dna-hero .page-hero-inner { padding-left: 40px; }
    .dna-division .section-split { padding: 0 40px; }
}

@media (max-width: 968px) {
    .dna-hero .page-hero-inner {
        grid-template-columns: 1fr;
        min-height: 0;
        padding-left: 24px;
    }
    .dna-hero-media { max-width: 576px; }
    .dna-hero .page-hero-image { height: auto; aspect-ratio: 576 / 323.62; }

    .dna-origin,
    .dna-division { padding: 64px 0; }

    .dna-origin .section-split,
    .dna-division .section-split {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .dna-division .section-split { padding: 0 24px; }

    .dna-origin-image { order: 2; height: auto; aspect-ratio: 639.5 / 368.56; }
    .dna-division-image { height: auto; aspect-ratio: 701 / 448; }
}

/* Celular (layout mobile de 390px) */
@media (max-width: 767px) {
    .dna-hero .page-hero-inner {
        padding: 40px 30px;
        gap: 30px;
    }
    .dna-hero .page-hero-eyebrow { font-size: 16px; line-height: 24px; }
    .dna-hero h1 { font-size: 56px; line-height: 64px; }
    .dna-hero .page-hero-lead { font-size: 18px; line-height: 28px; }
    .dna-hero-media { max-width: none; }

    /* Origem: no celular a imagem vem antes do texto */
    .dna-origin { padding: 40px 0; }
    .dna-origin .section-split { gap: 30px; }
    /* No layout o título tem 322px e ocupa parte da margem direita;
       assim "com experiência." cabe na 3ª linha sem sair da tela */
    .dna-origin .section-heading { margin-right: -12px; }
    .dna-origin-image {
        order: 0;
        aspect-ratio: 330 / 190.19;
        border-radius: 9.4px;
    }

    .dna-division { padding: 40px 0; }
    .dna-division .section-split { padding: 0 30px; gap: 30px; }
    .dna-division-image {
        aspect-ratio: 330 / 210.9;
        border-radius: 9.4px;
    }
}
