/* === stats-orbit.css === */

.stats-orbit {
    background: #edf2f2;
    padding: 60px 0 0;
    overflow: hidden;
}

.orbit-container {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
}

.orbit-svg {
    display: block;
    margin: auto;
    height: auto;
    position: relative;
    z-index: 1;
}

/* ── Icon group: NO background, just the SVG image ──────── */
.orbit-icon-group {
    transition:
        transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
        filter 0.3s ease;
    transform-box: fill-box;
    transform-origin: center;
}

.orbit-icon-group:hover {
    transform: scale(1.2);
    filter: drop-shadow(0 4px 12px rgba(26, 92, 107, 0.4));
}

/* ── Icon swap on hover — no background leaking through ─── */
.icon-default {
    opacity: 1;
    transition: opacity 0.35s ease;
}
.icon-hover {
    opacity: 0;
    transition: opacity 0.35s ease;
}

.orbit-icon-group:hover .icon-default {
    opacity: 0;
}
.orbit-icon-group:hover .icon-hover {
    opacity: 1;
}

/* ── Globe ───────────────────────────────────────────────── */
.orbit-globe-wrap {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 36%;
    max-width: 360px;
    z-index: 4;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.orbit-globe {
    width: 100%;
    object-fit: contain;
    object-position: bottom;
    filter: drop-shadow(0 0 10px rgba(26, 92, 107, 0.25))
        drop-shadow(0 0 24px rgba(26, 92, 107, 0.12));
}

.orbit-globe-placeholder {
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.orbit-globe-placeholder svg {
    width: 90%;
    height: auto;
}

/* ── Labels
   viewBox 1000×560
   Water  icon (173,291): left=17.3%, top=52.0%  → label above-left
   Metals icon (827,291): left=82.7%, top=52.0%  → label above-right
   CAGR   icon (124,383): left=12.4%, top=68.4%  → label left
   Women  icon (876,383): left=87.6%, top=68.4%  → label right
──────────────────────────────────────────────────────────── */
.orbit-label {
    position: absolute;
    font-size: 1.15rem;
    font-weight: 700;
    color: #0e3d49;
    line-height: 1.5;
    z-index: 5;
    white-space: nowrap;
}

/* Water: above-left of icon */
.orbit-label--tl {
    right: 75%;
    top: 0%;
    text-align: justify;
}

/* Metals: above-right of icon */
.orbit-label--tr {
    left: 78%;
    top: 4%;
    text-align: left;
}

/* CAGR: left of icon */
.orbit-label--bl {
    right: 82%;
    top: 52%;
    text-align: justify;
}

/* Women: right of icon */
.orbit-label--br {
    left: 85%;
    top: 59%;
    text-align: left;
}

/* ═══════════════════════════════════════════════════════
   ABOUT INTRO
═══════════════════════════════════════════════════════ */
.about-intro {
    position: relative;
    background: #d9efec;
    padding: 100px 40px 110px;
    overflow: hidden;
    text-align: center;
}

.about-pattern {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: url("/images/home/about-pattern.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
    opacity: 65%;
}

.about-inner {
    position: relative;
    z-index: 2;
    max-width: 1100px; /* was 860px — needs to be wider for 56px heading */
    margin: 0 auto;
}

.about-heading {
    font-size: 56px;
    font-weight: 500;
    color: #074158;
    line-height: 60px;
    margin-bottom: 40px;
    text-align: center;
}

.about-body {
    font-size: 24px;
    line-height: 32px;
    color: #000000;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.gsap-fade-up {
    opacity: 0;
    transform: translateY(36px);
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 900px) {
    .orbit-label {
        font-size: 0.88rem;
    }
    .orbit-globe-wrap {
        width: 40%;
    }
}

@media (max-width: 600px) {
    .stats-orbit {
        padding: 30px 0 0;
    }
    .orbit-label {
        font-size: 0.68rem;
        white-space: normal;
        max-width: 80px;
    }
    .orbit-label--tl {
        right: 78%;
        top: 22%;
    }
    .orbit-label--tr {
        left: 78%;
        top: 22%;
    }
    .orbit-label--bl {
        right: 85%;
        top: 54%;
    }
    .orbit-label--br {
        left: 85%;
        top: 54%;
    }
    .orbit-globe-wrap {
        width: 46%;
    }
    .about-intro {
        padding: 50px 24px 60px;
    }
}

/* ORBIT ICON BASE */
.orbit-icon {
    position: absolute;
    width: 64px;
    height: 64px;
    transform: translate(-50%, -50%);
    z-index: 3;
    transition:
        transform 0.35s ease,
        filter 0.35s ease;
}

.orbit-icon img {
    width: 100%;
    height: 100%;
}

.orbit-icon:hover {
    transform: translate(-50%, -50%) scale(1.18);
    filter: drop-shadow(0 8px 20px rgba(26, 92, 107, 0.35));
}
/* top-left */
.orbit-icon--water {
    left: 31%;
    top: 20%;
}

/* top-right */
.orbit-icon--metals {
    left: 69%;
    top: 20%;
}

/* bottom-left */
.orbit-icon--cagr {
    left: 22%;
    top: 68%;
}

/* bottom-right */
.orbit-icon--women {
    left: 78%;
    top: 68%;
}

/* ORBIT ICON BASE – stack the two images */
.orbit-icon {
    position: absolute;
    width: 64px;
    height: 64px;
    transform: translate(-50%, -50%);
    z-index: 3;
    transition:
        transform 0.35s ease,
        filter 0.35s ease;
}

/* Stack icons absolutely inside the container */
.orbit-icon img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Default on top initially */
.icon-default {
    opacity: 1;
    transition: opacity 0.35s ease;
}

.icon-hover {
    opacity: 0;
    transition: opacity 0.35s ease;
}

/* Hover: swap visibility + scale/shadow */
.orbit-icon:hover {
    transform: translate(-50%, -50%) scale(1.2);
    filter: drop-shadow(0 8px 20px rgba(26, 92, 107, 0.35));
}

.orbit-icon:hover .icon-default {
    opacity: 0;
}

.orbit-icon:hover .icon-hover {
    opacity: 1;
}
.orbit-label {
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform-origin: center;
}

.orbit-label.is-hovered {
    transform: scale(1.12);
}
