/* ═══════════════════════════════════════════════════════════════
   about.css — About Section
   ═══════════════════════════════════════════════════════════════ */

.about-section {
    background-color: var(--color-bg-section);
    background-image: url("../assets/about-section/about-sectiong-bg.png");
    padding: var(--space-section-py) var(--space-section-px);
    position: relative;
    z-index: 20;
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3xl);
    align-items: center;
    width: 100%;
}

/* ── Label ── */
.about-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: var(--space-md);
}

.about-label img {
    width: 28px;
}

.about-label span {
    font-family: var(--font-heading);
    font-weight: var(--label-span-font-weight);
    font-size: var(--label-span-font-size);
    letter-spacing: var(--label-span-letter-spacing);
    color: var(--color-primary);
    text-transform: uppercase;
}

/* ── Heading ── */
.about-heading {
    font-family: var(--font-display);
    color: var(--color-dark);
    font-weight: var(--heading-font-weight);
    font-size: var(--heading-font-size);
    line-height: var(--heading-line-height);
    letter-spacing: var(--heading-letter-spacing);
    margin-bottom: var(--heading-margin-bottom);
    text-transform: uppercase;
}

/* ── Description ── */
.about-desc {
    font-family: var(--font-inter);
    color: var(--color-text-body);
    font-size: 18px;
    line-height: 1.75;
    margin-bottom: var(--space-lg);
    max-width: 90%;
    letter-spacing: 1%;
}

.about-divider {
    border: none;
    height: 1.5px;
    background: linear-gradient(to right, #6d6d6d 0%, transparent 85%);
    margin-bottom: var(--space-lg);
}

/* ── Checklist ── */
.about-checklist {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-md) 0;
}

.about-check-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-family: var(--font-inter);
    font-weight: 500;
    font-size: 18px;
    color: #131313b2;
}

.about-check-item img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* ── Counter box ── */
.about-counter-wrap {
    display: flex;
    justify-content: flex-end;
    padding-right: 6rem;
}

.about-counter {
    position: relative;
    width: 260px;
    height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.corner-svg {
    position: absolute;
    width: 70px;
    height: 70px;
    pointer-events: none;
}

.corner-tl {
    top: 0;
    left: -30px;
}
.corner-tr {
    top: 0;
    right: -30px;
}
.corner-bl {
    bottom: 0;
    left: -30px;
}
.corner-br {
    bottom: 0;
    right: -30px;
}

.about-number {
    font-family: var(--font-display);
    font-size: 300px;
    font-weight: 900;
    color: var(--color-primary);
    line-height: 1;
    letter-spacing: 5%;
    user-select: none;
}

.about-years-label {
    position: absolute;
    top: 50%;
    left: 45%;
    transform: translate(-50%, -50%);
    background: var(--color-bg-section);
    padding: 6px 8px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.3em;
    color: var(--color-dark);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
    white-space: nowrap;
    z-index: var(--z-normal);
}

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */

@media (max-width: 1024px) {
    .about-grid {
        grid-template-columns: 1fr;
        gap: 3.5rem;
    }

    .about-counter-wrap {
        justify-content: center;
        padding-right: 0;
    }

    .about-checklist {
        grid-template-columns: repeat(2, auto);
        justify-content: center;
        gap: 1.5rem 2rem;
    }

    .about-counter {
        width: 240px;
        height: 240px;
    }

    .about-number {
        font-size: 13rem;
    }

    .about-label {
        justify-content: center;
    }

    .about-heading,
    .about-desc {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    .about-desc {
        max-width: 100%;
    }

    .about-divider {
        margin: 0 auto var(--space-lg);
        width: 60%;
        background: linear-gradient(
            to right,
            transparent 0%,
            #6d6d6d 50%,
            transparent 100%
        );
    }

    .about-check-item {
        justify-content: flex-start;
    }

    .about-years-label {
        font-size: 0.8rem;
    }
}

@media (max-width: 640px) {
    .about-checklist {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    .about-check-item {
        margin-left: 5%;
        justify-content: start;
    }
    .about-counter {
        width: 200px;
        height: 200px;
    }
    .about-number {
        font-size: 12rem;
    }
    .about-years-label {
        font-size: 0.8rem;
    }
    .about-counter {
        width: 230px;
        height: 230px;
    }
}

@media (max-width: 425px) {
    .about-heading {
        font-size: 1.6rem;
    }
}

/* Large desktop */
@media (min-width: 1032px) {
    .about-counter {
        width: 300px;
        height: 300px;
    }

    .about-number {
        font-size: 17rem;
    }
}

/* ══════════════════════════════
   STATISTICS HOVER EFFECT
══════════════════════════════ */

/* Add transition to the counter number */
.counter-animate {
    transition: transform 0.3s ease;
    display: inline-block;
}

/* Scale ALL numbers when hovering over ANY stat card in the statistics grid */
#about > div > div:last-child:hover .counter-animate {
    transform: scale(1.15);
}

/* Change border colors to blue (#0083CF) on hover for statistics section */
/* Target the entire statistics grid container */
#about > div > div:last-child {
    transition: all 0.3s ease;
}

/* Change all horizontal borders to blue on hover - target the grid container */
#about > div > div:last-child:hover > span.h-px {
    background: repeating-linear-gradient(90deg, #0083CF 0, #0083CF 5px, transparent 5px, transparent 10px) !important;
}

/* Vertical borders */
#about > div > div:last-child:hover > span.w-px {
    background: repeating-linear-gradient(0deg, #0083CF 0, #0083CF 5px, transparent 5px, transparent 10px) !important;
}

/* Also change borders on individual stat cards */
#about > div > div:last-child:hover > div.relative > span {
    background: repeating-linear-gradient(90deg, #0083CF 0, #0083CF 5px, transparent 5px, transparent 10px) !important;
}

#about > div > div:last-child:hover > div.relative > span.w-px {
    background: repeating-linear-gradient(0deg, #0083CF 0, #0083CF 5px, transparent 5px, transparent 10px) !important;
}



/* ══════════════════════════════════════════════════════════════
   ABOUT SECTION ANIMATIONS - Safe approach with before-animation class
══════════════════════════════════════════════════════════════ */

/* Only hide elements BEFORE animation starts (controlled by JS) */
#about.before-animation .mb-\[10px\].flex.items-center.gap-\[7px\],
#about.before-animation h2,
#about.before-animation .h-\[3px\],
#about.before-animation p.m-0,
#about.before-animation .grid.max-w-full > div,
#about.before-animation .relative.flex.items-center.justify-center,
#about.before-animation .tech-icons-container > div,
#about.before-animation .curve-line-animate,
#about.before-animation .relative.mt-\[60px\] {
    opacity: 0 !important;
}

/* Apply transforms when animation is ready */
#about.before-animation .mb-\[10px\].flex.items-center.gap-\[7px\] {
    transform: translateY(20px) !important;
}

#about.before-animation h2 {
    transform: translateY(20px) !important;
}

#about.before-animation .h-\[3px\] {
    transform: scaleX(0) !important;
    transform-origin: left;
}

#about.before-animation p.m-0 {
    transform: translateY(20px) !important;
}

#about.before-animation .grid.max-w-full > div {
    transform: translateY(20px) !important;
}

#about.before-animation .relative.flex.items-center.justify-center {
    transform: scale(0.95) !important;
}

#about.before-animation .tech-icons-container > div {
    transform: translateX(-30px) scale(0.8) !important;
}

#about.before-animation .relative.mt-\[60px\] {
    transform: translateY(30px) !important;
}

/* Transitions - Slower and more elegant */
#about .mb-\[10px\].flex.items-center.gap-\[7px\] {
    transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

#about h2 {
    transition: opacity 1.4s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 1.4s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: 0.3s;
}

#about .h-\[3px\] {
    transition: opacity 1.0s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 1.0s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: 0.6s;
}

#about p.m-0 {
    transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: 0.8s;
}

#about .grid.max-w-full > div {
    transition: opacity 1.0s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 1.0s cubic-bezier(0.16, 1, 0.3, 1);
}

#about .grid.max-w-full > div:nth-child(1) {
    transition-delay: 0.4s;
}

#about .grid.max-w-full > div:nth-child(2) {
    transition-delay: 0.45s;
}

#about .grid.max-w-full > div:nth-child(3) {
    transition-delay: 0.5s;
}

#about .grid.max-w-full > div:nth-child(4) {
    transition-delay: 0.55s;
}

#about .relative.flex.items-center.justify-center {
    transition: opacity 1.4s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 1.4s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: 0.5s;
}

.tech-icons-container > div {
    transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.tech-icons-container > div:nth-child(1) {
    transition-delay: 0.5s;
}

.tech-icons-container > div:nth-child(2) {
    transition-delay: 0.6s;
}

.tech-icons-container > div:nth-child(3) {
    transition-delay: 0.7s;
}

.tech-icons-container > div:nth-child(4) {
    transition-delay: 0.8s;
}

.curve-line-animate {
    transition: opacity 0.8s ease;
}

.curve-line-delay-1 {
    transition-delay: 0.7s;
}

.curve-line-delay-2 {
    transition-delay: 0.8s;
}

.curve-line-delay-3 {
    transition-delay: 0.9s;
}

#about .relative.mt-\[60px\] {
    transition: opacity 1.4s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 1.4s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: 1.0s;
}

/* Animated state - elements return to normal */
#about.animate-in .mb-\[10px\].flex.items-center.gap-\[7px\],
#about.animate-in h2,
#about.animate-in .h-\[3px\],
#about.animate-in p.m-0,
#about.animate-in .grid.max-w-full > div,
#about.animate-in .relative.flex.items-center.justify-center,
#about.animate-in .tech-icons-container > div,
#about.animate-in .curve-line-animate,
#about.animate-in .relative.mt-\[60px\] {
    opacity: 1 !important;
    transform: none !important;
}


/* ══════════════════════════════════════════════════════════════
   PROCESS SECTION ANIMATIONS - Individual card scroll-triggered reveal
══════════════════════════════════════════════════════════════ */

/* Hide cards before animation */
.process-step.before-animation {
    opacity: 0;
    transform: translateY(50px) scale(0.95);
}

/* Transition for cards with staggered delays */
.process-step {
    transition: opacity 1.0s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 1.0s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Add staggered animation delays based on card order */
.process-step[data-order="0"].animate-in {
    transition-delay: 0s;
}

.process-step[data-order="1"].animate-in {
    transition-delay: 0.15s;
}

.process-step[data-order="2"].animate-in {
    transition-delay: 0.3s;
}

.process-step[data-order="3"].animate-in {
    transition-delay: 0.45s;
}

/* Animated state - card returns to normal */
.process-step.animate-in {
    opacity: 1;
    transform: none;
}

/* ══════════════════════════════════════════════════════════════
   PROCESS CARD HOVER EFFECT - Tilt and lift (no background/shadow)
══════════════════════════════════════════════════════════════ */

.process-step {
    transform-style: preserve-3d;
}

.process-step.animate-in:hover {
    transform: translateY(-10px) rotateX(5deg) !important;
    transition-delay: 0s !important;
}

/* Enhance the number badge on hover */
.process-step:hover span {
    transform: scale(1.15) rotate(5deg);
}

/* ══════════════════════════════════════════════════════════════
   MOBILE EXPERIENCE IMAGE - CLEAN PROFESSIONAL FLIP
══════════════════════════════════════════════════════════════ */

/* Container with 3D context */
#about .relative.z-\[5\].h-\[340px\] {
    perspective: 1500px;
    cursor: pointer;
}

/* Image setup for smooth transform */
#about .relative.z-\[5\].h-\[340px\] img {
    transform-style: preserve-3d;
    transform: rotateY(0deg);
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Simple Y-axis flip on hover */
#about .relative.z-\[5\].h-\[340px\]:hover img {
    transform: rotateY(360deg);
}
