/* =========================
   About — NETA Unified Premium
   Matches Hero / Shared System
========================= */

.about-section {
    position: relative;
    padding: var(--neta-section-padding, 112px 0);

    background:
        radial-gradient(
            ellipse 52% 40% at 18% 18%,
            color-mix(in srgb, var(--neta-white, #fffaf1) 68%, transparent),
            transparent 62%
        ),
        radial-gradient(
            circle at 82% 78%,
            color-mix(in srgb, var(--neta-brass, #8f7b5d) 9%, transparent),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            var(--neta-paper, #eee6d8),
            var(--neta-paper-light, #fffaf1)
        );

    overflow: hidden;
    isolation: isolate;
}

.about-section::before {
    content: "";
    position: absolute;
    top: 0;
    right: 10%;
    left: 10%;
    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        var(--neta-line, rgba(36, 25, 15, 0.14)),
        transparent
    );

    pointer-events: none;
}

.about-section::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    z-index: 1;

    height: 42%;

    background: linear-gradient(
        180deg,
        transparent,
        color-mix(in srgb, var(--neta-white, #fffaf1) 34%, transparent)
    );

    pointer-events: none;
}

.about-section .container {
    position: relative;
    z-index: 2;
}

/* =========================
   Layout
========================= */

.about-section__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(54px, 6vw, 78px);
    align-items: center;
}

/* =========================
   Media
========================= */

.about-section__media {
    position: relative;

    width: 100%;
    max-width: 560px;
    aspect-ratio: 4 / 3;

    border-radius: var(--neta-radius-lg, 34px);
    overflow: hidden;

    background: var(--neta-linen, #ded4c2);
    border: 1px solid var(--neta-line-soft, rgba(36, 25, 15, 0.08));

    box-shadow:
        0 34px 90px rgba(36, 25, 15, 0.13),
        0 12px 30px rgba(36, 25, 15, 0.07);

    isolation: isolate;
    contain: layout paint;
}

.about-section__media::before {
    content: "";
    position: absolute;
    inset: 16px;
    z-index: 2;

    border: 1px solid color-mix(in srgb, var(--neta-white, #fffaf1) 54%, transparent);
    border-radius: 24px;

    pointer-events: none;
}

.about-section__media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--neta-white, #fffaf1) 7%, transparent),
            transparent 38%
        ),
        linear-gradient(
            0deg,
            color-mix(in srgb, var(--neta-walnut, #24190f) 14%, transparent),
            transparent 52%
        );

    pointer-events: none;
}

.about-section__media img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 4 / 3;

    display: block !important;
    object-fit: cover !important;
    object-position: center !important;

    background: var(--neta-linen, #ded4c2);
    filter: saturate(0.94) sepia(0.04) contrast(1.01);
}

/* =========================
   Content
========================= */

.about-section__content {
    max-width: 760px;
}

.about-section__content .section-label {
    margin-bottom: 20px;
}

.about-section__content h2 {
    max-width: 720px;
    margin: 0;

    color: var(--neta-walnut, #24190f);
    font-family: var(--font-display, serif);
    font-size: var(--neta-title-size, clamp(52px, 7vw, 92px));
    font-weight: 650;
    line-height: 0.98;
    letter-spacing: -0.055em;
}

.about-section__content p:first-of-type {
    margin-top: 28px;
}

.about-section__content p {
    max-width: 680px;
    margin-bottom: 0;

    color: var(--neta-walnut-soft, #4d4035);
    font-family: var(--font-body, sans-serif);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.85;
}

.about-section__content p + p {
    margin-top: 16px;
}

.about-section__content strong {
    color: var(--neta-walnut, #24190f);
    font-weight: 800;
}

.about-section__content::after {
    content: "";
    display: block;

    width: 120px;
    height: 1px;
    margin-top: 34px;

    background: linear-gradient(
        90deg,
        var(--neta-brass, #8f7b5d),
        transparent
    );

    opacity: 0.55;
}

/* =========================
   Tablet
========================= */

@media (max-width: 1024px) {
    .about-section {
        padding: 88px 0;
    }

    .about-section__inner {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .about-section__media {
        width: min(100%, 680px);
        max-width: 680px;
        margin-inline: auto;
        aspect-ratio: 16 / 10;
    }

    .about-section__media img {
        aspect-ratio: 16 / 10;
    }

    .about-section__content {
        max-width: 760px;
        margin-inline: auto;
        text-align: center;
    }

    .about-section__content .section-label {
        margin-right: auto;
        margin-left: auto;
        justify-content: center;
    }

    .about-section__content h2 {
        max-width: 720px;
        margin-inline: auto;
        font-size: clamp(46px, 7vw, 76px);
        line-height: 1;
    }

    .about-section__content p {
        max-width: 680px;
        margin-inline: auto;
        font-size: 17px;
        line-height: 1.78;
    }

    .about-section__content::after {
        margin-inline: auto;
    }
}

/* =========================
   Mobile
========================= */

@media (max-width: 899px) {
    .about-section {
        padding: var(--neta-section-padding-mobile, 58px 0 64px);
    }

    .about-section__inner {
        gap: 28px;
    }

    .about-section__content {
        order: 1;
        text-align: center;
    }

    .about-section__media {
        order: 2;

        width: min(100%, 390px);
        max-width: 390px;
        aspect-ratio: 16 / 10;

        margin: 0 auto;

        border-radius: 22px;
        box-shadow: 0 16px 42px rgba(36, 25, 15, 0.11);
    }

    .about-section__media::before {
        inset: 10px;
        border-radius: 14px;
        border-color: color-mix(in srgb, var(--neta-white, #fffaf1) 46%, transparent);
    }

    .about-section__media img {
        aspect-ratio: 16 / 10;
    }

    .about-section__content .section-label {
        margin: 0 auto 14px;
        justify-content: center;

        font-size: 11px;
        letter-spacing: 0.2em;
    }

    .about-section__content .section-label::before {
        width: 28px;
    }

    .about-section__content h2 {
        max-width: 390px;
        margin-inline: auto;

        font-size: var(--neta-title-size-mobile, clamp(36px, 10vw, 52px));
        line-height: 1.04;
        letter-spacing: -0.05em;
    }

    .about-section__content p:first-of-type {
        margin-top: 18px;
    }

    .about-section__content p {
        max-width: 390px;
        margin-inline: auto;

        font-size: 15.8px;
        line-height: 1.68;
    }

    .about-section__content p + p {
        margin-top: 13px;
    }

    .about-section__content::after {
        width: 96px;
        margin: 24px auto 0;
    }
}

/* =========================
   Small Mobile
========================= */

@media (max-width: 560px) {
    .about-section {
        padding: 52px 0 58px;
    }

    .about-section__inner {
        gap: 24px;
    }

    .about-section__media {
        width: min(100%, 360px);
        max-width: 360px;
        aspect-ratio: 16 / 10;
        border-radius: 20px;
    }

    .about-section__content h2 {
        max-width: 350px;
        font-size: clamp(34px, 10vw, 46px);
        line-height: 1.05;
    }

    .about-section__content p:first-of-type {
        margin-top: 16px;
    }

    .about-section__content p {
        max-width: 340px;
        font-size: 15.2px;
        line-height: 1.64;
    }

    .about-section__content p + p {
        margin-top: 12px;
    }
}

/* =========================
   Very Small Mobile
========================= */

@media (max-width: 390px) {
    .about-section {
        padding: 46px 0 52px;
    }

    .about-section__media {
        width: 100%;
        max-width: none;
    }

    .about-section__content h2 {
        font-size: 32px;
    }

    .about-section__content p {
        font-size: 14.8px;
    }
}