/* ═══════════════════════════════════════════════════════════════
   About Page — Figma 40000593:16302 "about PAhe"
   Sections: breadcrumb → hero (image bleeds right, overlaps stats)
             → stats strip → mission & vision → values stage
             → contact panel → app banner (shared)
   ═══════════════════════════════════════════════════════════════ */

.about-page {
    padding-bottom: 64px;
}

/* ═══ Shared typography ═══ */
.about-heading {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 38px;
    line-height: 1.2;
    color: var(--text-primary);
    margin: 0 0 16px;
}

.about-lead {
    font-size: var(--font-size-base);
    line-height: 1.45;
    color: var(--text-tertiary);
    margin: 0;
}

.about-section {
    margin-top: 64px;
}

/* ═══ Breadcrumb ═══ */
.about-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 0;
    margin-top: 40px;
    font-size: var(--font-size-sm);
    font-weight: 500;
}

.about-breadcrumb a {
    color: var(--text-secondary);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.about-breadcrumb a:hover {
    color: var(--text-primary);
}

.about-breadcrumb-sep,
.about-breadcrumb-current {
    color: var(--accent-primary);
}

/* ═══ Top block: hero image bleeds to the right viewport edge and
       overlaps into the stats strip (Figma: image 631×628 @ x809,
       y112 → bottom 740; stats strip starts y676) ═══ */
.about-top {
    position: relative;
}

.about-hero {
    padding: 76px 0 0;
    max-width: 507px;
}

.about-hero .about-heading {
    max-width: 458px;
}

.about-heading-accent {
    color: var(--accent-primary);
}

.about-hero-img {
    display: block;
    width: 100%;
    max-width: 480px;
    margin: 24px auto 0;
    aspect-ratio: 631 / 628;
    object-fit: cover;
    /* background: var(--bg-secondary); */
    /* border-radius: var(--border-radius-card); */
}

@media (min-width: 992px) {
    .about-hero-img {
        position: absolute;
        top: 0;
        right: 0;
        z-index: -1;
        width: min(631px, 44vw);
        max-width: none;
        margin: 0;
        border-radius: 0;
    }

    .about-hero {
        min-height: 380px;
    }
}

@media (min-width: 1200px) {
    /* breadcrumb block (~90px) + hero (76 + 398) = 564px to stats top;
       image is 628px tall → 64px overlap into the purple strip */
    .about-hero {
        min-height: 474px;
    }
}

/* ═══ Stats Strip (full-bleed purple, 193px tall) ═══ */
.about-stats {
    display: flex;
    align-items: center;
    min-height: 193px;
    padding: 32px 0;
    background: var(--bg-footer);
}

.about-stats .container {
    width: 100%;
}

.about-stats-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    max-width: 1072px;
    margin: 0 auto;
}

.about-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
}

.about-stat-number {
    display: flex;
    align-items: center;
    gap: 2px;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 46px;
    line-height: 1.2;
    color: var(--accent-lime);
}

.about-stat-plus {
    width: 26px;
    height: 26px;
    object-fit: contain;
    margin: 5px;
}

.about-stat-label {
    font-size: var(--font-size-base);
    font-weight: 500;
    color: var(--text-white);
}

.about-stat-divider {
    width: 1px;
    height: 43px;
    background: var(--bg-topbar);
    flex-shrink: 0;
}

/* ═══ Mission & Vision ═══ */
.about-mission {
    margin-top: 78px;
}

.about-mission .about-section-head {
    margin-bottom: 54px;
}

.about-mission .about-heading {
    max-width: 458px;
}

.about-pillar-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px;
    align-items: stretch;
}

.about-pillar-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    padding: 16px 12px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 8px;
}

.about-pillar-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
}

.about-pillar-icon img {
    width: 28px;
    height: 28px;
}

.about-pillar-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.about-pillar-card h3 {
    font-size: var(--font-size-sm);
    font-weight: 500;
    line-height: 1.5;
    color: var(--text-primary);
    margin: 0;
}

.about-pillar-card p {
    font-size: var(--font-size-base);
    line-height: 1.45;
    color: var(--text-tertiary);
    margin: 0;
}

/* ═══ Values Stage (full-bleed; cards positioned over the green
       fields vector — Figma frame 1440×910, image 1320×890,
       cards 275px @ x215/583/978, y260/465/479) ═══ */
.about-values {
    margin-top: 48px;
}

.about-values-stage {
    position: relative;
    max-width: 1440px;
    margin: 0 auto;
}

.about-values-head .about-heading {
    max-width: 458px;
}

/* Glass cards (Figma 40000608:7582 — transparent fill over the pitch
   vector; frosted-glass treatment) */
.about-value-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 12px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    /* border: 1px solid rgba(255, 255, 255, 0.16); */
    /* background: var(--zone-uel-bg); */
    border: 1px solid var(--border-strong);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}

.about-value-card h3 {
    font-size: var(--font-size-base);
    font-weight: 500;
    line-height: 1.43;
    text-align: center;
    color: var(--text-primary);
    margin: 0;
}

.about-value-card p {
    font-size: var(--font-size-sm);
    line-height: 1.45;
    color: var(--text-primary);
    margin: 0;
}

/* Desktop: exact Figma placement over the vector */
@media (min-width: 1200px) {
    .about-values-stage {
        aspect-ratio: 1440 / 910;
    }

    .about-values-pitch {
        position: absolute;
        top: 1.1%;
        left: 50%;
        transform: translateX(-50%);
        width: 91.67%;
        height: auto;
        pointer-events: none;
    }

    .about-values-head {
        position: absolute;
        top: 9.78%;
        left: 12.64%;
        width: 74.86%;
        z-index: 1;
    }

    .about-value-card {
        position: absolute;
        z-index: 1;
        width: 19.1%;
    }

    .about-value-card--1 { left: 14.93%; top: 28.57%; }
    .about-value-card--2 { left: 40.49%; top: 28.57%; }
    .about-value-card--3 { left: 67.92%; top: 28.57%; }
    .about-value-card--4 { left: 67.92%; top: 51.1%; }
    .about-value-card--5 { left: 40.49%; top: 52.64%; }
    .about-value-card--6 { left: 14.93%; top: 52.64%; }
}

/* Below 1200px: grid fallback on a dark surface so the white card
   text stays legible in both themes */
@media (max-width: 1199.98px) {
    .about-values-stage {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 32px 24px;
        padding: 40px 24px 48px;
        margin: 0 12px;
        background: var(--bg-topbar);
        border-radius: var(--border-radius-card);
        overflow: hidden;
    }

    .about-values-pitch {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0.85;
        pointer-events: none;
    }

    .about-values-head {
        grid-column: 1 / -1;
        position: relative;
        z-index: 1;
    }

    .about-values-head .about-heading {
        color: var(--text-white);
    }

    .about-values-head .about-lead {
        color: var(--text-white);
        opacity: 0.75;
    }

    .about-value-card {
        position: relative;
        z-index: 1;
    }
}

/* ═══ Contact Panel (gradient card, radius 19; 50/50 split, gap 24;
       intro padding 64; stacked fields; full-width send button) ═══ */
.about-contact {
    margin-top: 52px;
}

.about-contact-card {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, var(--bg-topbar) 0%, var(--bg-footer) 100%);
    border-radius: 19px;
}

/* Watermark logo (Figma: 467×415 @ x-77, y85, 5% opacity) */
.about-contact-card::before {
    content: '';
    position: absolute;
    left: -77px;
    top: 85px;
    width: 467px;
    height: 415px;
    background-image: url('../images/footer-watermark.png');
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.05;
    pointer-events: none;
}

.about-contact-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 24px;
    min-height: 434px;
}

.about-contact-intro {
    flex: 1 1 0;
    padding: 64px;
}

.about-contact-intro .about-heading {
    color: var(--text-white);
}

.about-contact-intro p {
    font-size: var(--font-size-base);
    line-height: 1.45;
    color: var(--text-tertiary);
    max-width: 391px;
    margin: 0;
}

.about-contact-form {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 32px;
}

.about-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.about-form-label {
    font-size: var(--font-size-sm);
    font-weight: 500;
    line-height: 1.5;
    color: var(--text-primary);
}

.about-form-input {
    display: block;
    width: 100%;
    height: 40px;
    padding: 0 12px;
    background: var(--bg-card-header);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-btn);
    font-size: var(--font-size-base);
    font-family: var(--font-body);
    color: var(--text-primary);
    transition: border-color var(--transition-fast);
}

.about-form-input::placeholder {
    color: var(--text-tertiary);
}

.about-form-input:focus {
    outline: none;
    border-color: var(--accent-purple);
}

.about-form-textarea {
    height: auto;
    min-height: 110px;
    padding: 12px;
    resize: vertical;
}

.about-send-btn {
    width: 100%;
    height: 36px;
    padding: 8px 18px;
    background: var(--accent-purple);
    border: none;
    border-radius: var(--border-radius-btn);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: var(--text-white);
    cursor: pointer;
    transition: background var(--transition-fast);
}

.about-send-btn:hover {
    background: var(--accent-purple-dark);
}

.about-form-success {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--font-size-sm);
    color: var(--accent-green);
}

/* ═══ Form validation state (about.js) ═══ */
.about-form-input.error {
    border-color: var(--accent-red);
}

/* ═══ App banner spacing on this page ═══ */
.about-app-banner {
    margin-top: 64px;
}

/* ═══ Responsive ═══ */
@media (max-width: 1199.98px) {
    .about-heading {
        font-size: 34px;
    }

    .about-stat-number {
        font-size: 40px;
    }

    .about-contact-intro {
        padding: 48px 40px;
    }
}

@media (max-width: 991.98px) {
    .about-hero {
        padding-top: 32px;
        max-width: none;
    }

    .about-breadcrumb {
        margin-top: 8px;
    }

    .about-stats {
        /* margin-top: 40px; */
    }

    .about-stats-row {
        flex-wrap: wrap;
        justify-content: center;
        gap: 24px 40px;
    }

    .about-stat-divider {
        display: none;
    }

    .about-mission {
        margin-top: 56px;
    }

    .about-mission .about-section-head {
        margin-bottom: 32px;
    }

    .about-values-stage {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-contact-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        min-height: 0;
    }

    .about-contact-intro {
        padding: 40px 32px 24px;
    }

    .about-contact-form {
        margin: 0 32px 32px;
    }
}

@media (max-width: 767.98px) {
    .about-heading {
        font-size: 28px;
    }

    .about-section {
        margin-top: 48px;
    }

    .about-stat-number {
        font-size: 32px;
    }

    .about-stat-plus {
        width: 20px;
        height: 20px;
        margin: 3px;
    }

    .about-pillar-row {
        grid-template-columns: 1fr;
    }

    .about-values-stage {
        padding: 32px 20px 40px;
    }

    .about-contact-intro {
        padding: 32px 20px 20px;
    }

    .about-contact-form {
        margin: 0 20px 20px;
        padding: 20px;
    }
}

@media (max-width: 575.98px) {
    .about-heading {
        font-size: 24px;
    }

    .about-stats-row {
        gap: 20px 24px;
    }

    .about-stat-label {
        font-size: var(--font-size-sm);
    }

    .about-values-stage {
        grid-template-columns: 1fr;
        gap: 24px;
        margin: 0 8px;
    }
}
