/* /assets/css/page-about.css */
.page--about .site-main,
.page--about .site-body,
.page--about .page-panel {
    width: 100%;
    max-width: none;
}

.page--about #app-body {
    width: 100%;
}

.about-page {
    width: min(1220px, calc(100% - 40px));
    margin: 0 auto;
    padding: 24px 0 34px;
    display: grid;
    gap: 28px;
    box-sizing: border-box;
}

.about-section {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(340px, 0.96fr);
    min-height: 360px;
    border: 1px solid rgba(212, 166, 58, 0.14);
    border-radius: 26px;
    background:
        linear-gradient(135deg, rgba(208, 217, 184, 0.88), rgba(177, 190, 150, 0.82)),
        linear-gradient(180deg, rgba(36, 30, 22, 0.96), rgba(19, 15, 11, 0.98));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 18px 34px rgba(0, 0, 0, 0.14);
}

.about-section--reverse {
    grid-template-columns: minmax(340px, 0.96fr) minmax(0, 1.04fr);
}

.about-section--reverse .about-section__media {
    order: 2;
}

.about-section--reverse .about-section__content {
    order: 1;
}

.about-section__media {
    position: relative;
    min-height: 340px;
    overflow: hidden;
}

.about-section__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, transparent 58%, rgba(186, 199, 160, 0.34)),
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.12), transparent 34%);
    pointer-events: none;
}

.about-section--reverse .about-section__media::after {
    background:
        linear-gradient(270deg, transparent 58%, rgba(186, 199, 160, 0.34)),
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.12), transparent 34%);
}

.about-section__image {
    width: 100%;
    height: 100%;
    min-height: 340px;
    display: block;
    object-fit: cover;
    transform: scale(1.035);
    transition:
        opacity 720ms ease,
        transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.about-section__content {
    position: relative;
    z-index: 1;
    align-self: center;
    padding: clamp(24px, 4vw, 52px);
}

.about-section__eyebrow {
    margin: 0 0 10px;
    color: rgba(53, 48, 35, 0.72);
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.about-section__title {
    margin: 0;
    color: #161713;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    font-size: clamp(1.45rem, 2.2vw, 2.35rem);
    line-height: 1.08;
    letter-spacing: 0.01em;
}

.about-section__title--main {
    font-size: clamp(1.75rem, 2.7vw, 2.75rem);
}

.about-section__copy {
    display: grid;
    gap: 12px;
    margin-top: 22px;
}

.about-section__copy p {
    margin: 0;
    color: rgba(255, 247, 232, 0.96);
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    font-size: clamp(0.98rem, 1.16vw, 1.08rem);
    font-weight: 800;
    line-height: 1.38;
    letter-spacing: 0.01em;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.32);
}

.about-reveal {
    opacity: 0;
    transform: translateY(26px);
    transition:
        opacity 650ms ease,
        transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.about-reveal .about-section__image {
    opacity: 0.3;
}

.about-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.about-reveal.is-visible .about-section__image {
    opacity: 1;
    transform: scale(1);
}

.about-reveal[data-delay="1"] {
    transition-delay: 90ms;
}

.about-reveal[data-delay="2"] {
    transition-delay: 170ms;
}

.about-reveal[data-delay="3"] {
    transition-delay: 250ms;
}

@media (max-width: 1000px) {
    .about-page {
        width: min(100%, calc(100% - 30px));
        gap: 22px;
    }

    .about-section,
    .about-section--reverse {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .about-section--reverse .about-section__media,
    .about-section--reverse .about-section__content {
        order: initial;
    }

    .about-section__media,
    .about-section__image {
        min-height: 300px;
    }

    .about-section__media::after,
    .about-section--reverse .about-section__media::after {
        background:
            linear-gradient(180deg, transparent 58%, rgba(186, 199, 160, 0.42)),
            radial-gradient(circle at top left, rgba(255, 255, 255, 0.12), transparent 34%);
    }
}

@media (max-width: 640px) {
    .about-page {
        width: min(100%, calc(100% - 22px));
        padding: 16px 0 24px;
        gap: 18px;
    }

    .about-section {
        border-radius: 20px;
    }

    .about-section__media,
    .about-section__image {
        min-height: 220px;
    }

    .about-section__content {
        padding: 22px 18px 24px;
    }

    .about-section__copy {
        gap: 10px;
        margin-top: 16px;
    }

    .about-section__copy p {
        font-size: 0.94rem;
        line-height: 1.45;
    }
}

/* About page: let the full page scroll so the footer sits after content. */
body.page--about {
    overflow-x: hidden;
    overflow-y: auto;
}

body.page--about .site-shell {
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: visible;
    align-items: start;
}

body.page--about .site-main {
    min-height: 0;
    overflow: visible;
}

body.page--about .site-footer {
    align-self: end;
}

/* About page: scoped image-to-text blend and theme color refinement. */
body.page--about .about-page .about-section {
    border-color: rgba(212, 166, 58, 0.22) !important;
    background:
        linear-gradient(135deg, rgba(39, 50, 34, 0.96), rgba(69, 80, 50, 0.93)),
        linear-gradient(180deg, rgba(18, 23, 16, 0.98), rgba(10, 13, 8, 0.98)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 247, 232, 0.07),
        0 18px 34px rgba(0, 0, 0, 0.22) !important;
}

body.page--about .about-page .about-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(circle at 48% 50%, rgba(39, 50, 34, 0.48), transparent 24%),
        linear-gradient(90deg, transparent 35%, rgba(39, 50, 34, 0.72) 50%, rgba(39, 50, 34, 0.96) 64%);
}

body.page--about .about-page .about-section--reverse::before {
    background:
        radial-gradient(circle at 52% 50%, rgba(39, 50, 34, 0.48), transparent 24%),
        linear-gradient(270deg, transparent 35%, rgba(39, 50, 34, 0.72) 50%, rgba(39, 50, 34, 0.96) 64%);
}

body.page--about .about-page .about-section__media::after {
    background:
        linear-gradient(90deg, transparent 52%, rgba(39, 50, 34, 0.88) 100%),
        radial-gradient(circle at top left, rgba(255, 247, 232, 0.08), transparent 34%) !important;
}

body.page--about .about-page .about-section--reverse .about-section__media::after {
    background:
        linear-gradient(270deg, transparent 52%, rgba(39, 50, 34, 0.88) 100%),
        radial-gradient(circle at top right, rgba(255, 247, 232, 0.08), transparent 34%) !important;
}

body.page--about .about-page .about-section__media,
body.page--about .about-page .about-section__content {
    position: relative;
    z-index: 2;
}

body.page--about .about-page .about-section__content {
    background:
        linear-gradient(135deg, rgba(39, 50, 34, 0.18), rgba(16, 20, 13, 0.28));
}

body.page--about .about-page .about-section__eyebrow {
    color: rgba(212, 166, 58, 0.86) !important;
}

body.page--about .about-page .about-section__title {
    color: #fff7e8 !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.38);
}

body.page--about .about-page .about-section__copy p {
    color: rgba(244, 240, 228, 0.92) !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.44) !important;
}

@media (max-width: 1000px) {
    body.page--about .about-page .about-section::before,
    body.page--about .about-page .about-section--reverse::before {
        background:
            linear-gradient(180deg, transparent 38%, rgba(39, 50, 34, 0.76) 56%, rgba(39, 50, 34, 0.96) 100%);
    }

    body.page--about .about-page .about-section__media::after,
    body.page--about .about-page .about-section--reverse .about-section__media::after {
        background:
            linear-gradient(180deg, transparent 50%, rgba(39, 50, 34, 0.88) 100%),
            radial-gradient(circle at top left, rgba(255, 247, 232, 0.08), transparent 34%) !important;
    }
}

/* Premium container image backgrounds for About page sections */
.about-section {
    background:
        linear-gradient(135deg, rgba(10, 14, 10, 0.52), rgba(24, 31, 19, 0.38)),
        var(--about-shell-bg, url("/assets/images/container1.png")) center / cover no-repeat !important;
    border: 1px solid rgba(244, 236, 215, 0.18);
    box-shadow:
        inset 0 1px 0 rgba(255, 247, 232, 0.08),
        0 18px 34px rgba(0, 0, 0, 0.18);
}

.about-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top right, rgba(212, 166, 58, 0.12), transparent 30%),
        linear-gradient(140deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015) 34%, transparent 62%);
    pointer-events: none;
}

.about-section:nth-child(1) {
    --about-shell-bg: url("/assets/images/container1.png");
}

.about-section:nth-child(2) {
    --about-shell-bg: url("/assets/images/container3.png");
}

.about-section:nth-child(3) {
    --about-shell-bg: url("/assets/images/container5.png");
}

.about-section:nth-child(4) {
    --about-shell-bg: url("/assets/images/container2.png");
}

.about-section:nth-child(5) {
    --about-shell-bg: url("/assets/images/container4.png");
}

.about-section__content {
    background:
        linear-gradient(90deg, rgba(12, 16, 12, 0.06), rgba(12, 16, 12, 0.30));
}

.about-section--reverse .about-section__content {
    background:
        linear-gradient(270deg, rgba(12, 16, 12, 0.06), rgba(12, 16, 12, 0.30));
}

.about-section__eyebrow {
    color: rgba(255, 231, 188, 0.84);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.24);
}

.about-section__title {
    color: #fff7e8;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.24);
}
