/* =========================================
   ABOUT HERO SECTION
========================================= */

:root {
    --cv-primary-navy: #132855;
    --cv-dark-navy: #0D1C45;
    --cv-brushed-gold: #C9A25B;
    --cv-natural-oak: #B88558;
    --cv-warm-ivory: #F8F7F4;
    --cv-soft-beige: #E7E1D8;
    --cv-charcoal: #1E1E1E;
}

.cv-about-hero {
    position: relative;
    min-height: 900px;
    padding: 150px 30px 110px;

    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(201, 162, 91, 0.16),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            var(--cv-warm-ivory) 0%,
            var(--cv-warm-ivory) 58%,
            var(--cv-soft-beige) 100%
        );

    overflow: hidden;
    isolation: isolate;
}

/* =========================================
   LIGHT SECTION RECTANGULAR GRID MASK
========================================= */

.cv-about-grid {
    position: absolute;
    inset: 0;
    z-index: -4;
    pointer-events: none;

    background-image:
        linear-gradient(
            to right,
            rgba(19, 40, 85, 0.08) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(19, 40, 85, 0.08) 1px,
            transparent 1px
        );

    background-size: 90px 90px;

    opacity: 0.42;

    -webkit-mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.75) 38%,
        rgba(0, 0, 0, 0.25) 72%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.75) 38%,
        rgba(0, 0, 0, 0.25) 72%,
        transparent 100%
    );
}

/* Decorative glow */

.cv-about-glow {
    position: absolute;
    top: 100px;
    right: 80px;
    width: 580px;
    height: 580px;
    z-index: -4;
    border-radius: 50%;
    background: rgba(201, 162, 91, 0.12);
    filter: blur(90px);
}

/* Decorative orbit circles */

.cv-about-orbit {
    position: absolute;
    z-index: -3;
    border-radius: 50%;
    border: 1px solid rgba(184, 133, 88, 0.25);
    pointer-events: none;
}

.cv-about-orbit-one {
    width: 760px;
    height: 760px;
    top: 70px;
    right: -220px;
}

.cv-about-orbit-two {
    width: 560px;
    height: 560px;
    top: 170px;
    right: -120px;
    border-color: rgba(201, 162, 91, 0.22);
}

/* Main container */

.cv-about-container {
    position: relative;
    z-index: 2;
    width: min(100%, 1460px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(540px, 1.05fr);
    align-items: center;
    gap: clamp(70px, 7vw, 130px);
}

/* Left content */

.cv-about-content {
    max-width: 720px;
}

.cv-about-eyebrow {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 30px;
    color: var(--cv-natural-oak);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 4px;
    line-height: 1.4;
}

.cv-about-eyebrow-line {
    width: 56px;
    height: 2px;
    flex-shrink: 0;
    background: var(--cv-brushed-gold);
}

.cv-about-title {
    margin: 0;
    color: var(--cv-primary-navy);
    font-size: clamp(52px, 4.3vw, 88px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -4.5px;
}

.cv-about-title span {
    display: block;
    margin-top: 12px;
    color: var(--cv-natural-oak);
}

.cv-about-description {
    max-width: 680px;
    margin: 38px 0 0;
    color: rgba(19, 40, 85, 0.72);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.8;
}

.cv-about-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 42px;
}

/* Buttons */

.cv-about-btn {
    min-height: 76px;
    padding: 12px 18px 12px 30px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        background-color 0.35s ease,
        color 0.35s ease,
        border-color 0.35s ease;
}

.cv-about-btn-primary {
    color: var(--cv-warm-ivory);
    background: var(--cv-primary-navy);
    border: 1px solid var(--cv-primary-navy);
    box-shadow: 0 18px 36px rgba(13, 28, 69, 0.18);
}

.cv-about-btn-primary:hover {
    color: var(--cv-warm-ivory);
    transform: translateY(-4px);
    background: var(--cv-dark-navy);
    border-color: var(--cv-dark-navy);
    box-shadow: 0 24px 45px rgba(13, 28, 69, 0.25);
}

.cv-about-btn-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-primary-navy);
    background: var(--cv-brushed-gold);
    transition: transform 0.35s ease;
}

.cv-about-btn-primary:hover .cv-about-btn-icon {
    transform: translateX(4px) rotate(-8deg);
}

.cv-about-btn-secondary {
    padding: 12px 30px;
    color: var(--cv-primary-navy);
    background: rgba(248, 247, 244, 0.45);
    border: 1px solid rgba(19, 40, 85, 0.28);
}

.cv-about-btn-secondary:hover {
    color: var(--cv-warm-ivory);
    background: var(--cv-natural-oak);
    border-color: var(--cv-natural-oak);
    transform: translateY(-4px);
}

.cv-about-btn-secondary i {
    color: var(--cv-natural-oak);
    transition: color 0.35s ease, transform 0.35s ease;
}

.cv-about-btn-secondary:hover i {
    color: var(--cv-warm-ivory);
    transform: translateY(4px);
}

/* =========================================
   RIGHT VISUAL
========================================= */

.cv-about-visual {
    position: relative;
    padding: 20px 30px 35px 0;
}

.cv-about-image-card {
    position: relative;
    min-height: 640px;
    padding: 24px;
    border-radius: 32px;
    background:
        linear-gradient(
            145deg,
            var(--cv-primary-navy),
            var(--cv-dark-navy)
        );
    border: 1px solid rgba(201, 162, 91, 0.3);
    box-shadow:
        0 45px 90px rgba(13, 28, 69, 0.22),
        inset 0 1px 0 rgba(248, 247, 244, 0.12);
    overflow: hidden;
}

.cv-about-image-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 15% 10%,
            rgba(201, 162, 91, 0.16),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            rgba(248, 247, 244, 0.05),
            transparent 40%
        );
}

.cv-about-card-top {
    position: relative;
    z-index: 2;
    height: 48px;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 0 8px;
}

.cv-about-card-top > span {
    color: var(--cv-brushed-gold);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 4px;
}

.cv-about-card-line {
    height: 1px;
    flex: 1;
    background: linear-gradient(
        90deg,
        rgba(201, 162, 91, 0.6),
        rgba(201, 162, 91, 0)
    );
}

/* Image */

.cv-about-image-wrap {
    position: relative;
    height: 500px;
    border-radius: 23px;
    overflow: hidden;
    background: var(--cv-primary-navy);
}

.cv-about-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.cv-about-image-card:hover .cv-about-image {
    transform: scale(1.045);
}

.cv-about-image-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            to top,
            rgba(13, 28, 69, 0.78),
            rgba(13, 28, 69, 0.08) 60%,
            rgba(13, 28, 69, 0.16)
        );
}

/* Bottom card label */

.cv-about-card-bottom {
    position: relative;
    z-index: 2;
    min-height: 70px;
    padding: 15px 8px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.cv-about-card-bottom > span:first-child {
    color: var(--cv-brushed-gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
}

.cv-about-card-arrow {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-primary-navy);
    background: var(--cv-brushed-gold);
}

/* Floating top card */

.cv-about-floating-card {
    position: absolute;
    top: -25px;
    right: -55px;
    z-index: 5;
    min-width: 245px;
    padding: 18px 22px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    background: rgba(248, 247, 244, 0.95);
    border: 1px solid rgba(231, 225, 216, 0.9);
    box-shadow: 0 22px 55px rgba(13, 28, 69, 0.16);
    backdrop-filter: blur(15px);
    animation: cvAboutFloat 4.5s ease-in-out infinite;
}

.cv-about-floating-icon {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-warm-ivory);
    background: var(--cv-natural-oak);
    font-size: 20px;
}

.cv-about-floating-card small {
    display: block;
    margin-bottom: 5px;
    color: rgba(19, 40, 85, 0.55);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.cv-about-floating-card strong {
    display: block;
    color: var(--cv-primary-navy);
    font-size: 17px;
}

/* Small lower floating card */

.cv-about-mini-card {
    position: absolute;
    left: -55px;
    bottom: 0;
    z-index: 5;
    min-width: 180px;
    padding: 19px 24px;
    border-radius: 18px;
    background: var(--cv-warm-ivory);
    border: 1px solid rgba(201, 162, 91, 0.4);
    box-shadow: 0 20px 45px rgba(13, 28, 69, 0.14);
    animation: cvAboutFloatTwo 5.5s ease-in-out infinite;
}

.cv-about-mini-card span {
    display: block;
    margin-bottom: 6px;
    color: var(--cv-natural-oak);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
}

.cv-about-mini-card strong {
    color: var(--cv-primary-navy);
    font-size: 17px;
}

/* Bottom line */

.cv-about-bottom-line {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 42%;
    height: 4px;
    background: linear-gradient(
        90deg,
        var(--cv-primary-navy),
        var(--cv-brushed-gold),
        transparent
    );
}

/* Floating animations */

@keyframes cvAboutFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }
}

@keyframes cvAboutFloatTwo {
    0%,
    100% {
        transform: translateY(0) rotate(-1deg);
    }

    50% {
        transform: translateY(10px) rotate(1deg);
    }
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1280px) {
    .cv-about-container {
        grid-template-columns: minmax(0, 1fr) minmax(480px, 0.95fr);
        gap: 65px;
    }

    .cv-about-title {
        font-size: clamp(52px, 5vw, 72px);
    }

    .cv-about-floating-card {
        right: -20px;
    }

    .cv-about-mini-card {
        left: -25px;
    }
}

@media (max-width: 1050px) {
    .cv-about-hero {
        min-height: auto;
        padding: 130px 25px 100px;
    }

    .cv-about-container {
        max-width: 820px;
        grid-template-columns: 1fr;
        gap: 80px;
    }

    .cv-about-content {
        max-width: 760px;
    }

    .cv-about-title {
        font-size: clamp(54px, 8vw, 78px);
    }

    .cv-about-description {
        max-width: 720px;
    }

    .cv-about-visual {
        padding-right: 35px;
    }

    .cv-about-image-card {
        min-height: 620px;
    }

    .cv-about-orbit-one {
        top: auto;
        bottom: 80px;
        right: -330px;
    }

    .cv-about-orbit-two {
        top: auto;
        bottom: 180px;
        right: -220px;
    }
}

@media (max-width: 767px) {
    .cv-about-hero {
        padding: 105px 18px 75px;
    }

    .cv-about-grid {
        background-size: 45px 45px;
    }

    .cv-about-container {
        gap: 62px;
    }

    .cv-about-eyebrow {
        gap: 12px;
        margin-bottom: 22px;
        font-size: 11px;
        letter-spacing: 2.5px;
    }

    .cv-about-eyebrow-line {
        width: 35px;
    }

    .cv-about-title {
        font-size: clamp(43px, 13.5vw, 60px);
        line-height: 1.03;
        letter-spacing: -2.6px;
    }

    .cv-about-title span {
        margin-top: 8px;
    }

    .cv-about-description {
        margin-top: 28px;
        font-size: 17px;
        line-height: 1.75;
    }

    .cv-about-actions {
        margin-top: 32px;
        align-items: stretch;
        flex-direction: column;
    }

    .cv-about-btn {
        width: 100%;
        min-height: 66px;
        justify-content: space-between;
    }

    .cv-about-btn-secondary {
        padding: 12px 25px;
    }

    .cv-about-visual {
        padding: 25px 0 50px;
    }

    .cv-about-image-card {
        min-height: 500px;
        padding: 15px;
        border-radius: 24px;
    }

    .cv-about-card-top {
        height: 42px;
    }

    .cv-about-image-wrap {
        height: 390px;
        border-radius: 18px;
    }

    .cv-about-card-bottom {
        min-height: 60px;
    }

    .cv-about-card-bottom > span:first-child {
        font-size: 10px;
        letter-spacing: 2px;
    }

    .cv-about-floating-card {
        top: -18px;
        right: 12px;
        min-width: auto;
        padding: 12px 15px;
        border-radius: 15px;
    }

    .cv-about-floating-icon {
        width: 43px;
        height: 43px;
        border-radius: 12px;
        font-size: 16px;
    }

    .cv-about-floating-card small {
        font-size: 8px;
    }

    .cv-about-floating-card strong {
        font-size: 14px;
    }

    .cv-about-mini-card {
        left: 15px;
        bottom: 5px;
        min-width: 150px;
        padding: 14px 18px;
    }

    .cv-about-mini-card strong {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .cv-about-title {
        font-size: 42px;
    }

    .cv-about-description {
        font-size: 16px;
    }

    .cv-about-image-wrap {
        height: 330px;
    }

    .cv-about-image-card {
        min-height: 440px;
    }

    .cv-about-mini-card {
        display: none;
    }
}

/* =========================================
   ABOUT STATS SECTION
========================================= */

.cv-about-stats {
    --cv-primary-navy: #132855;
    --cv-dark-navy: #0D1C45;
    --cv-brushed-gold: #C9A25B;
    --cv-natural-oak: #B88558;
    --cv-warm-ivory: #F8F7F4;
    --cv-soft-beige: #E7E1D8;
    --cv-charcoal: #1E1E1E;

    position: relative;
    padding: 95px 30px;

    background:
        radial-gradient(
            circle at 10% 0%,
            rgba(248, 247, 244, 0.08),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            var(--cv-dark-navy) 0%,
            var(--cv-primary-navy) 52%,
            var(--cv-dark-navy) 100%
        );

    overflow: hidden;
    isolation: isolate;
}

/* =========================================
   DARK SECTION RECTANGULAR GRID MASK
========================================= */

.cv-stats-bg-grid {
    position: absolute;
    inset: 0;
    z-index: -3;
    pointer-events: none;

    background-image:
        linear-gradient(
            to right,
            rgba(248, 247, 244, 0.075) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(248, 247, 244, 0.075) 1px,
            transparent 1px
        );

    background-size: 90px 90px;

    opacity: 0.48;

    -webkit-mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.78) 42%,
        rgba(0, 0, 0, 0.26) 76%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.78) 42%,
        rgba(0, 0, 0, 0.26) 76%,
        transparent 100%
    );
}

/* Background glow */

.cv-stats-glow {
    position: absolute;
    z-index: -2;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(120px);
}

.cv-stats-glow-left {
    left: -240px;
    bottom: -220px;
    background: rgba(201, 162, 91, 0.16);
}

.cv-stats-glow-right {
    top: -260px;
    right: -200px;
    background: rgba(184, 133, 88, 0.14);
}

/* Main stats container */

.cv-stats-container {
    position: relative;
    z-index: 2;
    width: min(100%, 1600px);
    min-height: 355px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    background:
        linear-gradient(
            145deg,
            rgba(19, 40, 85, 0.88),
            rgba(13, 28, 69, 0.96)
        );
    border: 1px solid rgba(201, 162, 91, 0.34);
    border-radius: 27px;
    box-shadow:
        0 35px 80px rgba(13, 28, 69, 0.42),
        inset 0 1px 0 rgba(248, 247, 244, 0.08);
    overflow: hidden;
}

.cv-stats-container::before {
    content: "";
    position: absolute;
    top: -170px;
    right: -100px;
    width: 560px;
    height: 560px;
    pointer-events: none;

    background:
        repeating-radial-gradient(
            circle at center,
            transparent 0,
            transparent 34px,
            rgba(201, 162, 91, 0.14) 35px,
            transparent 37px
        );

    -webkit-mask-image: radial-gradient(
        circle,
        rgba(0, 0, 0, 0.9),
        transparent 72%
    );

    mask-image: radial-gradient(
        circle,
        rgba(0, 0, 0, 0.9),
        transparent 72%
    );

    opacity: 0.75;
}

.cv-stats-container::after {
    content: "";
    position: absolute;
    left: -45px;
    bottom: -70px;
    width: 300px;
    height: 260px;
    pointer-events: none;

    background-image: radial-gradient(
        circle,
        rgba(201, 162, 91, 0.34) 1.2px,
        transparent 1.5px
    );

    background-size: 12px 12px;

    -webkit-mask-image: radial-gradient(
        ellipse at left bottom,
        rgba(0, 0, 0, 1),
        transparent 72%
    );

    mask-image: radial-gradient(
        ellipse at left bottom,
        rgba(0, 0, 0, 1),
        transparent 72%
    );

    opacity: 0.42;
}

/* Individual item */

.cv-stat-item {
    position: relative;
    min-width: 0;
    padding: 46px 25px 42px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition:
        background-color 0.4s ease,
        transform 0.4s ease;
}

.cv-stat-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 42px;
    right: 0;
    width: 1px;
    height: calc(100% - 84px);
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(231, 225, 216, 0.23) 18%,
        rgba(231, 225, 216, 0.23) 82%,
        transparent
    );
}

.cv-stat-item:hover {
    background: rgba(248, 247, 244, 0.035);
}

/* Icon */

.cv-stat-icon {
    position: relative;
    width: 78px;
    height: 78px;
    margin-bottom: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-brushed-gold);
    background:
        radial-gradient(
            circle at 50% 45%,
            rgba(201, 162, 91, 0.14),
            rgba(13, 28, 69, 0.38)
        );
    border: 1px solid rgba(201, 162, 91, 0.4);
    font-size: 26px;
    box-shadow:
        inset 0 0 22px rgba(201, 162, 91, 0.06),
        0 12px 28px rgba(13, 28, 69, 0.35);
    transition:
        transform 0.4s ease,
        background-color 0.4s ease,
        color 0.4s ease;
}

.cv-stat-icon i {
    position: relative;
    z-index: 2;
}

.cv-stat-icon-ring {
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    border-top: 2px solid var(--cv-brushed-gold);
    border-right: 2px solid transparent;
    border-bottom: 2px solid transparent;
    border-left: 2px solid transparent;
    transform: rotate(25deg);
    transition: transform 0.8s ease;
}

.cv-stat-item:hover .cv-stat-icon {
    color: var(--cv-dark-navy);
    background: var(--cv-brushed-gold);
    transform: translateY(-7px);
}

.cv-stat-item:hover .cv-stat-icon-ring {
    transform: rotate(205deg);
}

/* Number */

.cv-stat-number-wrap {
    min-height: 73px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
    white-space: nowrap;
}

.cv-stat-number {
    color: var(--cv-warm-ivory);
    font-size: clamp(43px, 3vw, 65px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -2.5px;
    font-variant-numeric: tabular-nums;
}

.cv-stat-suffix,
.cv-stat-word {
    color: var(--cv-natural-oak);
    font-weight: 700;
    line-height: 1;
}

.cv-stat-suffix {
    font-size: clamp(29px, 2.7vw, 43px);
}

.cv-stat-word {
    margin-left: 3px;
    font-size: clamp(27px, 2.8vw, 42px);
    letter-spacing: -1px;
}

/* Gold divider below number */

.cv-stat-small-line {
    width: 48px;
    height: 2px;
    margin: 16px 0 19px;
    border-radius: 10px;
    background: var(--cv-brushed-gold);
    transition: width 0.4s ease;
}

.cv-stat-item:hover .cv-stat-small-line {
    width: 78px;
}

/* Stat label */

.cv-stat-label {
    min-height: 24px;
    margin: 0;
    color: var(--cv-soft-beige);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 2px;
    text-transform: uppercase;
    opacity: 0.72;
}

/* Counter active entrance animation */

.cv-stat-item {
    opacity: 0;
    transform: translateY(28px);
}

.cv-about-stats.cv-stats-visible .cv-stat-item {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 0.65s ease,
        transform 0.65s ease,
        background-color 0.4s ease;
}

.cv-about-stats.cv-stats-visible .cv-stat-item:nth-child(1) {
    transition-delay: 0.05s;
}

.cv-about-stats.cv-stats-visible .cv-stat-item:nth-child(2) {
    transition-delay: 0.13s;
}

.cv-about-stats.cv-stats-visible .cv-stat-item:nth-child(3) {
    transition-delay: 0.21s;
}

.cv-about-stats.cv-stats-visible .cv-stat-item:nth-child(4) {
    transition-delay: 0.29s;
}

.cv-about-stats.cv-stats-visible .cv-stat-item:nth-child(5) {
    transition-delay: 0.37s;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1200px) {
    .cv-stats-container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cv-stat-item:nth-child(3)::after {
        display: none;
    }

    .cv-stat-item:nth-child(-n + 3) {
        border-bottom: 1px solid rgba(231, 225, 216, 0.15);
    }

    .cv-stat-item:nth-child(4) {
        grid-column: 1 / 2;
    }

    .cv-stat-item:nth-child(5) {
        grid-column: 2 / 4;
    }

    .cv-stat-item:nth-child(5)::after {
        display: none;
    }
}

@media (max-width: 767px) {
    .cv-about-stats {
        padding: 70px 18px;
    }

    .cv-stats-container {
        grid-template-columns: 1fr;
        border-radius: 22px;
    }

    .cv-stat-item {
        min-height: 290px;
        padding: 38px 20px;
        border-bottom: 1px solid rgba(231, 225, 216, 0.15);
    }

    .cv-stat-item:last-child {
        border-bottom: none;
    }

    .cv-stat-item::after {
        display: none !important;
    }

    .cv-stat-item:nth-child(4),
    .cv-stat-item:nth-child(5) {
        grid-column: auto;
    }

    .cv-stat-icon {
        width: 70px;
        height: 70px;
        margin-bottom: 24px;
        font-size: 23px;
    }

    .cv-stat-number-wrap {
        min-height: 60px;
    }

    .cv-stat-number {
        font-size: 52px;
    }

    .cv-stat-suffix {
        font-size: 34px;
    }

    .cv-stat-word {
        font-size: 35px;
    }

    .cv-stat-label {
        font-size: 11px;
        letter-spacing: 1.7px;
    }
}

@media (max-width: 400px) {
    .cv-stat-number {
        font-size: 45px;
    }

    .cv-stat-suffix {
        font-size: 30px;
    }

    .cv-stat-word {
        font-size: 30px;
    }
}

/* Reduced motion accessibility */

@media (prefers-reduced-motion: reduce) {
    .cv-stat-item,
    .cv-stat-icon,
    .cv-stat-icon-ring,
    .cv-stat-small-line {
        animation: none;
        transition: none;
    }

    .cv-stat-item {
        opacity: 1;
        transform: none;
    }
}

/* =========================================
   OUR MISSION SECTION
========================================= */

.cv-mission-section {
    position: relative;
    padding: 125px 30px;
    background:
        radial-gradient(
            circle at 90% 15%,
            rgba(201, 162, 91, 0.17),
            transparent 30%
        ),
        radial-gradient(
            circle at 8% 85%,
            rgba(184, 133, 88, 0.10),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            var(--cv-warm-ivory) 0%,
            var(--cv-warm-ivory) 56%,
            var(--cv-soft-beige) 100%
        );
    overflow: hidden;
    isolation: isolate;
}

/* =========================================
   RECTANGULAR GRID MASK
========================================= */

.cv-mission-grid-mask {
    position: absolute;
    inset: 0;
    z-index: -4;
    pointer-events: none;

    background-image:
        linear-gradient(
            to right,
            rgba(19, 40, 85, 0.075) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(19, 40, 85, 0.075) 1px,
            transparent 1px
        );

    background-size: 90px 90px;
    opacity: 0.48;

    -webkit-mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.72) 42%,
        rgba(0, 0, 0, 0.30) 75%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.72) 42%,
        rgba(0, 0, 0, 0.30) 75%,
        transparent 100%
    );
}

/* Background glow */

.cv-mission-glow {
    position: absolute;
    z-index: -3;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(110px);
}

.cv-mission-glow-one {
    top: -220px;
    right: -160px;
    width: 540px;
    height: 540px;
    background: rgba(201, 162, 91, 0.14);
}

.cv-mission-glow-two {
    left: -210px;
    bottom: -260px;
    width: 520px;
    height: 520px;
    background: rgba(184, 133, 88, 0.10);
}

/* Main container */

.cv-mission-container {
    position: relative;
    z-index: 2;
    width: min(100%, 1460px);
    margin: 0 auto;
}

/* Section label */

.cv-mission-section-label {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 55px;
    color: rgba(19, 40, 85, 0.55);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 3.5px;
}

.cv-mission-label-line {
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--cv-natural-oak);
}

/* Main layout */

.cv-mission-layout {
    display: grid;
    grid-template-columns:
        minmax(480px, 0.92fr)
        minmax(0, 1.08fr);
    align-items: center;
    gap: clamp(70px, 7vw, 125px);
}

/* =========================================
   LEFT VISUAL
========================================= */

.cv-mission-visual {
    position: relative;
    padding: 18px 0 45px 25px;
}

.cv-mission-image-card {
    position: relative;
    padding: 22px;
    border-radius: 30px;
    background:
        linear-gradient(
            145deg,
            var(--cv-primary-navy),
            var(--cv-dark-navy)
        );
    border: 1px solid rgba(201, 162, 91, 0.32);
    box-shadow:
        0 40px 85px rgba(13, 28, 69, 0.20),
        inset 0 1px 0 rgba(248, 247, 244, 0.10);
    overflow: hidden;
}

.cv-mission-image-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            135deg,
            rgba(248, 247, 244, 0.07),
            transparent 38%
        );
}

/* Card Header */

.cv-mission-card-header {
    position: relative;
    z-index: 2;
    min-height: 55px;
    padding: 0 5px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.cv-mission-card-header > span:first-child {
    color: var(--cv-brushed-gold);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
}

.cv-mission-card-number {
    color: rgba(248, 247, 244, 0.35);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

/* Image */

.cv-mission-image-wrap {
    position: relative;
    height: 520px;
    border-radius: 22px;
    background: var(--cv-primary-navy);
    overflow: hidden;
}

.cv-mission-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transition:
        transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.cv-mission-image-card:hover .cv-mission-image {
    transform: scale(1.05);
}

.cv-mission-image-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            to top,
            rgba(13, 28, 69, 0.90) 0%,
            rgba(13, 28, 69, 0.22) 54%,
            rgba(13, 28, 69, 0.08) 100%
        );
}

/* Image caption */

.cv-mission-image-caption {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 26px;
    z-index: 2;
}

.cv-mission-image-caption span {
    display: block;
    margin-bottom: 7px;
    color: var(--cv-brushed-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.cv-mission-image-caption strong {
    display: block;
    max-width: 340px;
    color: var(--cv-warm-ivory);
    font-size: 25px;
    font-weight: 700;
    line-height: 1.25;
}

/* Card footer */

.cv-mission-card-footer {
    position: relative;
    z-index: 2;
    min-height: 88px;
    padding: 19px 5px 0;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
}

.cv-mission-footer-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cv-mission-footer-item span {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-dark-navy);
    background: var(--cv-brushed-gold);
    font-size: 10px;
    font-weight: 800;
}

.cv-mission-footer-item p {
    margin: 0;
    color: var(--cv-soft-beige);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
}

.cv-mission-footer-divider {
    width: 1px;
    height: 38px;
    background: rgba(231, 225, 216, 0.22);
}

/* Floating visual card */

.cv-mission-floating-card {
    position: absolute;
    left: -25px;
    bottom: 0;
    z-index: 5;
    min-width: 255px;
    padding: 17px 21px;
    border-radius: 19px;
    display: flex;
    align-items: center;
    gap: 14px;
    background: rgba(248, 247, 244, 0.96);
    border: 1px solid rgba(201, 162, 91, 0.35);
    box-shadow: 0 22px 50px rgba(13, 28, 69, 0.18);
    backdrop-filter: blur(14px);
    animation: cvMissionFloat 5s ease-in-out infinite;
}

.cv-mission-floating-icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-warm-ivory);
    background: var(--cv-natural-oak);
    font-size: 19px;
}

.cv-mission-floating-card small {
    display: block;
    margin-bottom: 5px;
    color: rgba(19, 40, 85, 0.52);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.cv-mission-floating-card strong {
    display: block;
    color: var(--cv-primary-navy);
    font-size: 16px;
}

@keyframes cvMissionFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-11px);
    }
}

/* =========================================
   RIGHT CONTENT
========================================= */

.cv-mission-content {
    max-width: 760px;
}

/* Heading */

.cv-mission-heading-wrap {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    margin-bottom: 34px;
}

.cv-mission-heading-number {
    padding-top: 7px;
    color: var(--cv-natural-oak);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
}

.cv-mission-mini-title {
    display: block;
    margin-bottom: 10px;
    color: var(--cv-natural-oak);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.cv-mission-heading-wrap h2 {
    margin: 0;
    color: var(--cv-primary-navy);
    font-size: clamp(45px, 4.7vw, 60px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -3.5px;
}

/* Highlight Card */

.cv-mission-highlight {
    position: relative;
    padding: 30px 34px 30px 40px;
    border-radius: 0 22px 22px 0;
    background:
        linear-gradient(
            135deg,
            rgba(231, 225, 216, 0.70),
            rgba(248, 247, 244, 0.90)
        );
    border: 1px solid rgba(19, 40, 85, 0.10);
    box-shadow:
        0 20px 50px rgba(13, 28, 69, 0.08);
    overflow: hidden;
}

.cv-mission-highlight-line {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 5px;
    background:
        linear-gradient(
            to bottom,
            var(--cv-brushed-gold),
            var(--cv-natural-oak)
        );
}

.cv-mission-highlight::after {
    content: "“";
    position: absolute;
    top: -22px;
    right: 23px;
    color: rgba(201, 162, 91, 0.15);
    font-size: 125px;
    font-family: Georgia, serif;
    line-height: 1;
    pointer-events: none;
}

.cv-mission-highlight p {
    position: relative;
    z-index: 2;
    margin: 0;
    color: var(--cv-primary-navy);
    font-size: 20px;
    font-weight: 650;
    line-height: 1.65;
}

/* Paragraph Content */

.cv-mission-copy {
    margin-top: 35px;
}

.cv-mission-copy p {
    margin: 0;
    color: rgba(19, 40, 85, 0.72);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.85;
}

.cv-mission-copy p + p {
    margin-top: 23px;
}

/* Bottom Values */

.cv-mission-values {
    margin-top: 38px;
    padding-top: 30px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    border-top: 1px solid rgba(19, 40, 85, 0.14);
}

.cv-mission-value {
    display: flex;
    align-items: center;
    gap: 14px;
}

.cv-mission-value-icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-warm-ivory);
    background: var(--cv-primary-navy);
    font-size: 17px;
    box-shadow: 0 12px 25px rgba(13, 28, 69, 0.16);
}

.cv-mission-value strong {
    display: block;
    margin-bottom: 4px;
    color: var(--cv-primary-navy);
    font-size: 15px;
}

.cv-mission-value small {
    display: block;
    color: rgba(19, 40, 85, 0.58);
    font-size: 12px;
    line-height: 1.4;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1150px) {
    .cv-mission-layout {
        grid-template-columns:
            minmax(430px, 0.9fr)
            minmax(0, 1.1fr);
        gap: 65px;
    }

    .cv-mission-image-wrap {
        height: 470px;
    }
}

@media (max-width: 980px) {
    .cv-mission-section {
        padding: 105px 25px;
    }

    .cv-mission-layout {
        max-width: 820px;
        margin: 0 auto;
        grid-template-columns: 1fr;
        gap: 85px;
    }

    .cv-mission-visual {
        padding-left: 25px;
    }

    .cv-mission-content {
        max-width: 820px;
    }

    .cv-mission-heading-wrap h2 {
        font-size: clamp(50px, 8vw, 70px);
    }
}

@media (max-width: 767px) {
    .cv-mission-section {
        padding: 80px 18px;
    }

    .cv-mission-grid-mask {
        background-size: 55px 55px;
        opacity: 0.40;
    }

    .cv-mission-section-label {
        margin-bottom: 40px;
        gap: 12px;
        font-size: 10px;
        letter-spacing: 2.4px;
    }

    .cv-mission-label-line {
        width: 35px;
    }

    .cv-mission-layout {
        gap: 65px;
    }

    .cv-mission-visual {
        padding: 15px 0 55px;
    }

    .cv-mission-image-card {
        padding: 14px;
        border-radius: 23px;
    }

    .cv-mission-image-wrap {
        height: 390px;
        border-radius: 17px;
    }

    .cv-mission-image-caption {
        left: 20px;
        right: 20px;
        bottom: 20px;
    }

    .cv-mission-image-caption strong {
        font-size: 21px;
    }

    .cv-mission-card-footer {
        grid-template-columns: 1fr;
        gap: 13px;
        padding: 18px 5px 6px;
    }

    .cv-mission-footer-divider {
        width: 100%;
        height: 1px;
    }

    .cv-mission-floating-card {
        left: 14px;
        bottom: 0;
        min-width: 230px;
        padding: 13px 16px;
    }

    .cv-mission-floating-icon {
        width: 43px;
        height: 43px;
        font-size: 16px;
    }

    .cv-mission-heading-wrap {
        gap: 15px;
    }

    .cv-mission-heading-wrap h2 {
        font-size: 45px;
        letter-spacing: -2px;
    }

    .cv-mission-highlight {
        padding: 25px 23px 25px 29px;
    }

    .cv-mission-highlight p {
        font-size: 17px;
        line-height: 1.7;
    }

    .cv-mission-copy p {
        font-size: 16px;
        line-height: 1.8;
    }

    .cv-mission-values {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .cv-mission-image-wrap {
        height: 330px;
    }

    .cv-mission-card-header > span:first-child {
        letter-spacing: 2px;
    }

    .cv-mission-floating-card {
        min-width: 210px;
    }

    .cv-mission-heading-wrap h2 {
        font-size: 40px;
    }
}

/* =========================================
   OUR VALUES — DIAMOND NETWORK SECTION
========================================= */

.cv-values-network {
    position: relative;
    padding: 120px 30px 130px;
    background:
        radial-gradient(
            circle at 50% 54%,
            rgba(201, 162, 91, 0.12),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 5%,
            rgba(184, 133, 88, 0.09),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            var(--cv-dark-navy) 0%,
            var(--cv-primary-navy) 50%,
            var(--cv-dark-navy) 100%
        );
    overflow: hidden;
    isolation: isolate;
}

/* =========================================
   RECTANGLE GRID MASK
========================================= */

.cv-values-network-grid {
    position: absolute;
    inset: 0;
    z-index: -4;
    pointer-events: none;

    background-image:
        linear-gradient(
            to right,
            rgba(248, 247, 244, 0.06) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(248, 247, 244, 0.06) 1px,
            transparent 1px
        );

    background-size: 90px 90px;
    opacity: 0.45;

    -webkit-mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.96) 0%,
        rgba(0, 0, 0, 0.78) 45%,
        rgba(0, 0, 0, 0.30) 82%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.96) 0%,
        rgba(0, 0, 0, 0.78) 45%,
        rgba(0, 0, 0, 0.30) 82%,
        transparent 100%
    );
}

.cv-values-network-glow {
    position: absolute;
    top: 44%;
    left: 50%;
    z-index: -3;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: rgba(201, 162, 91, 0.10);
    filter: blur(130px);
    pointer-events: none;
    transform: translate(-50%, -50%);
}

/* Container */

.cv-values-network-container {
    position: relative;
    z-index: 2;
    width: min(100%, 1460px);
    margin: 0 auto;
}

/* =========================================
   HEADER
========================================= */

.cv-values-network-header {
    margin-bottom: 72px;
}

.cv-values-network-label {
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.cv-values-network-label > span {
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--cv-brushed-gold);
}

.cv-values-network-label small {
    color: rgba(231, 225, 216, 0.56);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3.4px;
}

.cv-values-network-heading-row {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(360px, 0.48fr);
    align-items: end;
    gap: 70px;
}

.cv-values-network-heading-row h2 {
    margin: 0;
    color: var(--cv-warm-ivory);
    font-size: clamp(50px, 4vw, 78px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -4px;
}

.cv-values-network-heading-row h2 span {
    color: var(--cv-brushed-gold);
}

.cv-values-network-heading-row p {
    margin: 0;
    padding-left: 30px;
    color: rgba(231, 225, 216, 0.72);
    font-size: 17px;
    line-height: 1.75;
    border-left: 1px solid rgba(201, 162, 91, 0.35);
}

/* =========================================
   NETWORK LAYOUT
========================================= */

.cv-values-network-layout {
    position: relative;
    min-height: 830px;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(250px, 0.72fr)
        minmax(0, 1fr);
    grid-template-rows: repeat(3, minmax(220px, auto));
    align-items: center;
    gap: 24px 50px;
}

/* Card positions */

.cv-network-value-one {
    grid-column: 1;
    grid-row: 1;
}

.cv-network-value-two {
    grid-column: 3;
    grid-row: 1;
}

.cv-network-value-three {
    grid-column: 1;
    grid-row: 2;
}

.cv-values-center {
    grid-column: 2;
    grid-row: 2;
}

.cv-network-value-four {
    grid-column: 3;
    grid-row: 2;
}

.cv-network-value-five {
    grid-column: 1;
    grid-row: 3;
}

.cv-network-value-six {
    grid-column: 3;
    grid-row: 3;
}

/* =========================================
   VALUE CARDS
========================================= */

.cv-network-value {
    position: relative;
    min-height: 210px;
    padding: 30px;
    border-radius: 22px;
    background:
        linear-gradient(
            140deg,
            rgba(248, 247, 244, 0.085),
            rgba(248, 247, 244, 0.035)
        );
    border: 1px solid rgba(231, 225, 216, 0.14);
    box-shadow:
        0 24px 55px rgba(13, 28, 69, 0.22),
        inset 0 1px 0 rgba(248, 247, 244, 0.055);
    backdrop-filter: blur(13px);
    overflow: hidden;
    transition:
        transform 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease,
        background-color 0.4s ease;
}

.cv-network-value::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    background:
        radial-gradient(
            circle at 15% 15%,
            rgba(201, 162, 91, 0.15),
            transparent 35%
        );
    transition: opacity 0.4s ease;
}

.cv-network-value:hover {
    transform: translateY(-7px);
    border-color: rgba(201, 162, 91, 0.48);
    box-shadow:
        0 32px 70px rgba(13, 28, 69, 0.34),
        inset 0 1px 0 rgba(248, 247, 244, 0.08);
}

.cv-network-value:hover::before {
    opacity: 1;
}

.cv-network-value-top {
    position: relative;
    z-index: 2;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.cv-network-value-number {
    color: rgba(231, 225, 216, 0.35);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
}

.cv-network-value-icon {
    width: 54px;
    height: 54px;
    flex-shrink: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-brushed-gold);
    background:
        linear-gradient(
            145deg,
            var(--cv-dark-navy),
            var(--cv-primary-navy)
        );
    border: 1px solid rgba(201, 162, 91, 0.38);
    box-shadow:
        0 12px 26px rgba(13, 28, 69, 0.30),
        inset 0 1px 0 rgba(248, 247, 244, 0.06);
    font-size: 18px;
    transition:
        transform 0.45s ease,
        color 0.4s ease,
        background-color 0.4s ease;
}

.cv-network-value:hover .cv-network-value-icon {
    color: var(--cv-dark-navy);
    background: var(--cv-brushed-gold);
    transform: rotate(-8deg) scale(1.07);
}

.cv-network-value h3 {
    position: relative;
    z-index: 2;
    margin: 0 0 12px;
    color: var(--cv-warm-ivory);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.cv-network-value p {
    position: relative;
    z-index: 2;
    margin: 0;
    color: rgba(231, 225, 216, 0.68);
    font-size: 14px;
    line-height: 1.72;
}

/* Card corner shape */

.cv-network-value-corner {
    position: absolute;
    right: -28px;
    bottom: -28px;
    width: 85px;
    height: 85px;
    border: 1px solid rgba(201, 162, 91, 0.25);
    transform: rotate(45deg);
    transition:
        right 0.4s ease,
        bottom 0.4s ease,
        background-color 0.4s ease;
}

.cv-network-value:hover .cv-network-value-corner {
    right: -20px;
    bottom: -20px;
    background: rgba(201, 162, 91, 0.08);
}

/* =========================================
   CENTER DIAMOND
========================================= */

.cv-values-center {
    position: relative;
    width: 250px;
    height: 250px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cv-values-center-orbit {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid rgba(201, 162, 91, 0.32);
    animation: cvValuesOrbitRotate 20s linear infinite;
}

.cv-values-center-orbit::before,
.cv-values-center-orbit::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(231, 225, 216, 0.10);
}

.cv-values-center-orbit::before {
    inset: 22px;
}

.cv-values-center-orbit::after {
    inset: 47px;
}

.cv-values-center-diamond {
    position: relative;
    z-index: 2;
    width: 145px;
    height: 145px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(
            145deg,
            var(--cv-brushed-gold),
            var(--cv-natural-oak)
        );
    border: 1px solid rgba(248, 247, 244, 0.38);
    box-shadow:
        0 28px 60px rgba(13, 28, 69, 0.38),
        0 0 45px rgba(201, 162, 91, 0.16);
    transform: rotate(45deg);
    transition:
        transform 0.5s ease,
        box-shadow 0.5s ease;
}

.cv-values-center:hover .cv-values-center-diamond {
    transform: rotate(45deg) scale(1.06);
    box-shadow:
        0 35px 75px rgba(13, 28, 69, 0.45),
        0 0 60px rgba(201, 162, 91, 0.24);
}

.cv-values-center-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--cv-dark-navy);
    text-align: center;
    transform: rotate(-45deg);
}

.cv-values-center-content > span {
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
}

.cv-values-center-content strong {
    font-size: 27px;
    font-weight: 800;
    line-height: 0.95;
}

.cv-values-center-content small {
    display: block;
    margin-top: 6px;
    font-size: 15px;
    font-weight: 700;
}

/* Orbit dots */

.cv-values-center-dot {
    position: absolute;
    z-index: 3;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--cv-brushed-gold);
    border: 3px solid var(--cv-primary-navy);
}

.cv-center-dot-one {
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
}

.cv-center-dot-two {
    top: 50%;
    right: -5px;
    transform: translateY(-50%);
}

.cv-center-dot-three {
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
}

.cv-center-dot-four {
    top: 50%;
    left: -5px;
    transform: translateY(-50%);
}

@keyframes cvValuesOrbitRotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* =========================================
   CONNECTING LINES
========================================= */

.cv-values-network-lines {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.cv-values-line {
    position: absolute;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(201, 162, 91, 0.48),
            transparent
        );
    transform-origin: center;
}

.cv-values-line-one {
    top: 25%;
    left: 28%;
    width: 23%;
    transform: rotate(27deg);
}

.cv-values-line-two {
    top: 25%;
    right: 28%;
    width: 23%;
    transform: rotate(-27deg);
}

.cv-values-line-three {
    top: 50%;
    left: 27%;
    width: 24%;
}

.cv-values-line-four {
    top: 50%;
    right: 27%;
    width: 24%;
}

.cv-values-line-five {
    bottom: 25%;
    left: 28%;
    width: 23%;
    transform: rotate(-27deg);
}

.cv-values-line-six {
    right: 28%;
    bottom: 25%;
    width: 23%;
    transform: rotate(27deg);
}

/* =========================================
   TABLET RESPONSIVE
========================================= */

@media (max-width: 1100px) {

    .cv-values-network {
        padding: 105px 25px;
    }

    .cv-values-network-heading-row {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 30px;
    }

    .cv-values-network-heading-row p {
        max-width: 680px;
    }

    .cv-values-network-layout {
        min-height: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto;
        gap: 20px;
    }

    .cv-network-value-one,
    .cv-network-value-two,
    .cv-network-value-three,
    .cv-network-value-four,
    .cv-network-value-five,
    .cv-network-value-six {
        grid-column: auto;
        grid-row: auto;
    }

    .cv-values-center {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 220px;
        height: 220px;
        margin: 25px auto;
    }

    .cv-network-value-three {
        grid-row: 3;
    }

    .cv-network-value-four {
        grid-row: 3;
    }

    .cv-network-value-five {
        grid-row: 4;
    }

    .cv-network-value-six {
        grid-row: 4;
    }

    .cv-values-network-lines {
        display: none;
    }
}

/* =========================================
   MOBILE RESPONSIVE
========================================= */

@media (max-width: 767px) {

    .cv-values-network {
        padding: 80px 18px;
    }

    .cv-values-network-grid {
        background-size: 55px 55px;
        opacity: 0.38;
    }

    .cv-values-network-header {
        margin-bottom: 45px;
    }

    .cv-values-network-label {
        margin-bottom: 18px;
        gap: 12px;
    }

    .cv-values-network-label > span {
        width: 35px;
    }

    .cv-values-network-label small {
        font-size: 9px;
        letter-spacing: 2.3px;
    }

    .cv-values-network-heading-row h2 {
        font-size: clamp(43px, 12vw, 56px);
        line-height: 1.02;
        letter-spacing: -2.5px;
    }

    .cv-values-network-heading-row h2 span {
        display: block;
        margin-top: 7px;
    }

    .cv-values-network-heading-row p {
        padding: 0 0 0 20px;
        font-size: 15px;
    }

    .cv-values-network-layout {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .cv-values-center {
        order: -1;
        width: 200px;
        height: 200px;
        margin: 0 auto 15px;
    }

    .cv-values-center-diamond {
        width: 122px;
        height: 122px;
    }

    .cv-values-center-content strong {
        font-size: 23px;
    }

    .cv-network-value {
        width: 100%;
        min-height: auto;
        padding: 24px;
        border-radius: 19px;
    }

    .cv-network-value-top {
        margin-bottom: 21px;
    }

    .cv-network-value-icon {
        width: 50px;
        height: 50px;
        font-size: 16px;
    }

    .cv-network-value h3 {
        font-size: 19px;
    }

    .cv-network-value p {
        font-size: 14px;
    }
}

@media (max-width: 420px) {

    .cv-values-network-heading-row h2 {
        font-size: 40px;
    }

    .cv-values-center {
        width: 180px;
        height: 180px;
    }

    .cv-values-center-diamond {
        width: 108px;
        height: 108px;
    }

    .cv-values-center-content strong {
        font-size: 21px;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {

    .cv-values-center-orbit {
        animation: none;
    }

    .cv-network-value,
    .cv-network-value-icon,
    .cv-values-center-diamond {
        transition: none;
    }
}

/* =========================================
   WHO WE SERVE SECTION
========================================= */

.cv-serve-section {
    position: relative;
    padding: 120px 30px 125px;
    background:
        radial-gradient(
            circle at 88% 8%,
            rgba(201, 162, 91, 0.16),
            transparent 28%
        ),
        radial-gradient(
            circle at 7% 88%,
            rgba(184, 133, 88, 0.09),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            var(--cv-warm-ivory) 0%,
            var(--cv-warm-ivory) 58%,
            var(--cv-soft-beige) 100%
        );
    overflow: hidden;
    isolation: isolate;
}

/* =========================================
   SHORT RECTANGULAR GRID MASK
========================================= */

.cv-serve-short-grid {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 320px;
    z-index: -4;
    pointer-events: none;

    background-image:
        linear-gradient(
            to right,
            rgba(19, 40, 85, 0.08) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(19, 40, 85, 0.08) 1px,
            transparent 1px
        );

    background-size: 90px 90px;
    opacity: 0.48;

    -webkit-mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.72) 50%,
        rgba(0, 0, 0, 0.20) 80%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.72) 50%,
        rgba(0, 0, 0, 0.20) 80%,
        transparent 100%
    );
}

/* Background glows */

.cv-serve-glow {
    position: absolute;
    z-index: -3;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(110px);
}

.cv-serve-glow-one {
    top: -220px;
    right: -180px;
    width: 560px;
    height: 560px;
    background: rgba(201, 162, 91, 0.13);
}

.cv-serve-glow-two {
    left: -220px;
    bottom: -260px;
    width: 520px;
    height: 520px;
    background: rgba(184, 133, 88, 0.08);
}

/* Main container */

.cv-serve-container {
    position: relative;
    z-index: 2;
    width: min(100%, 1460px);
    margin: 0 auto;
}

/* =========================================
   HEADER
========================================= */

.cv-serve-header {
    margin-bottom: 65px;
}

.cv-serve-label {
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    color: rgba(19, 40, 85, 0.54);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 3.4px;
}

.cv-serve-label-line {
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--cv-natural-oak);
}

.cv-serve-heading-row {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(350px, 0.5fr);
    align-items: end;
    gap: 70px;
}

.cv-serve-heading h2 {
    margin: 0;
    color: var(--cv-primary-navy);
    font-size: clamp(50px, 4vw, 78px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -4px;
}

.cv-serve-heading h2 span {
    display: block;
    margin-top: 8px;
    color: var(--cv-natural-oak);
}

.cv-serve-intro {
    position: relative;
    padding: 22px 0 5px 78px;
    border-left: 1px solid rgba(184, 133, 88, 0.35);
}

.cv-serve-intro-number {
    position: absolute;
    top: 16px;
    left: 23px;
    color: var(--cv-natural-oak);
    font-size: 38px;
    font-weight: 700;
    line-height: 1;
}

.cv-serve-intro p {
    margin: 0;
    color: rgba(19, 40, 85, 0.70);
    font-size: 17px;
    line-height: 1.75;
}

/* =========================================
   MAIN LAYOUT
========================================= */

.cv-serve-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 0.9fr)
        85px
        minmax(0, 1.1fr);
    align-items: stretch;
    gap: 24px;
}

/* Base panel */

.cv-serve-panel {
    position: relative;
    min-width: 0;
    padding: 34px;
    border-radius: 28px;
    background:
        linear-gradient(
            145deg,
            rgba(248, 247, 244, 0.94),
            rgba(231, 225, 216, 0.65)
        );
    border: 1px solid rgba(19, 40, 85, 0.13);
    box-shadow:
        0 30px 70px rgba(13, 28, 69, 0.11),
        inset 0 1px 0 rgba(248, 247, 244, 0.9);
    overflow: hidden;
}

/* Panel top */

.cv-serve-panel-top {
    position: relative;
    z-index: 2;
    margin-bottom: 30px;
    padding-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    border-bottom: 1px solid rgba(19, 40, 85, 0.12);
}

.cv-serve-panel-kicker {
    display: block;
    margin-bottom: 8px;
    color: var(--cv-natural-oak);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.cv-serve-panel-top h3 {
    margin: 0;
    color: var(--cv-primary-navy);
    font-size: clamp(27px, 2.4vw, 36px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -1.3px;
}

.cv-serve-panel-icon {
    width: 62px;
    height: 62px;
    flex-shrink: 0;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-warm-ivory);
    background:
        linear-gradient(
            145deg,
            var(--cv-primary-navy),
            var(--cv-dark-navy)
        );
    border: 1px solid rgba(201, 162, 91, 0.35);
    box-shadow: 0 15px 30px rgba(13, 28, 69, 0.18);
    font-size: 21px;
}

/* =========================================
   PARTNER LIST
========================================= */

.cv-serve-partner-list {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cv-serve-partner-item {
    position: relative;
    min-height: 76px;
    padding: 13px 17px;
    border-radius: 17px;
    display: grid;
    grid-template-columns: 32px 48px minmax(0, 1fr) 34px;
    align-items: center;
    gap: 13px;
    background: rgba(248, 247, 244, 0.72);
    border: 1px solid rgba(19, 40, 85, 0.10);
    transition:
        transform 0.35s ease,
        background-color 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}

.cv-serve-partner-item:hover {
    transform: translateX(7px);
    background: var(--cv-warm-ivory);
    border-color: rgba(201, 162, 91, 0.45);
    box-shadow: 0 15px 30px rgba(13, 28, 69, 0.09);
}

.cv-serve-item-number {
    color: rgba(19, 40, 85, 0.38);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
}

.cv-serve-item-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-brushed-gold);
    background: var(--cv-primary-navy);
    font-size: 16px;
    transition:
        transform 0.35s ease,
        background-color 0.35s ease,
        color 0.35s ease;
}

.cv-serve-partner-item:hover .cv-serve-item-icon {
    color: var(--cv-primary-navy);
    background: var(--cv-brushed-gold);
    transform: rotate(-6deg);
}

.cv-serve-partner-item strong {
    color: var(--cv-primary-navy);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

.cv-serve-item-arrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-natural-oak);
    border: 1px solid rgba(184, 133, 88, 0.28);
    font-size: 11px;
    transition:
        color 0.35s ease,
        background-color 0.35s ease,
        transform 0.35s ease;
}

.cv-serve-partner-item:hover .cv-serve-item-arrow {
    color: var(--cv-warm-ivory);
    background: var(--cv-natural-oak);
    transform: translateX(3px);
}

/* =========================================
   CENTER CONNECTOR
========================================= */

.cv-serve-connector {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.cv-serve-connector-line {
    width: 1px;
    height: 130px;
    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(184, 133, 88, 0.55),
            transparent
        );
}

.cv-serve-connector-core {
    position: relative;
    width: 66px;
    height: 66px;
    margin: 12px 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-primary-navy);
    background: var(--cv-brushed-gold);
    border: 8px solid var(--cv-warm-ivory);
    box-shadow:
        0 18px 40px rgba(13, 28, 69, 0.16),
        0 0 0 1px rgba(184, 133, 88, 0.28);
    font-size: 18px;
}

.cv-serve-connector-core::before {
    content: "";
    position: absolute;
    inset: -17px;
    border-radius: 50%;
    border: 1px solid rgba(184, 133, 88, 0.25);
}

/* =========================================
   INDUSTRY GRID
========================================= */

.cv-serve-industry-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.cv-serve-industry-item {
    min-height: 104px;
    padding: 18px 14px;
    border-radius: 17px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
    background: rgba(248, 247, 244, 0.72);
    border: 1px solid rgba(19, 40, 85, 0.10);
    transition:
        transform 0.35s ease,
        background-color 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}

.cv-serve-industry-item:hover {
    transform: translateY(-6px);
    background: var(--cv-primary-navy);
    border-color: rgba(201, 162, 91, 0.42);
    box-shadow: 0 18px 35px rgba(13, 28, 69, 0.16);
}

.cv-industry-icon {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-natural-oak);
    background: var(--cv-soft-beige);
    border: 1px solid rgba(184, 133, 88, 0.25);
    font-size: 15px;
    transition:
        transform 0.35s ease,
        color 0.35s ease,
        background-color 0.35s ease;
}

.cv-serve-industry-item:hover .cv-industry-icon {
    color: var(--cv-primary-navy);
    background: var(--cv-brushed-gold);
    transform: rotate(-6deg) scale(1.06);
}

.cv-serve-industry-item strong {
    color: var(--cv-primary-navy);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    transition: color 0.35s ease;
}

.cv-serve-industry-item:hover strong {
    color: var(--cv-warm-ivory);
}

.cv-serve-industry-wide {
    grid-column: span 3;
    min-height: 88px;
    flex-direction: row;
}

/* Industry footer */

.cv-serve-industry-footer {
    position: relative;
    z-index: 2;
    margin-top: 24px;
    padding-top: 23px;
    display: flex;
    align-items: center;
    gap: 16px;
    border-top: 1px solid rgba(19, 40, 85, 0.12);
}

.cv-serve-industry-footer span:first-child {
    color: rgba(19, 40, 85, 0.58);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.cv-serve-industry-footer-line {
    height: 1px;
    flex: 1;
    background:
        linear-gradient(
            90deg,
            rgba(184, 133, 88, 0.55),
            transparent
        );
}

.cv-serve-industry-footer strong {
    color: var(--cv-natural-oak);
    font-size: 15px;
    white-space: nowrap;
}

/* =========================================
   TABLET RESPONSIVE
========================================= */

@media (max-width: 1100px) {

    .cv-serve-section {
        padding: 105px 25px;
    }

    .cv-serve-heading-row {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 35px;
    }

    .cv-serve-intro {
        max-width: 680px;
    }

    .cv-serve-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .cv-serve-connector {
        min-height: 80px;
        flex-direction: row;
    }

    .cv-serve-connector-line {
        width: 130px;
        height: 1px;
        background:
            linear-gradient(
                to right,
                transparent,
                rgba(184, 133, 88, 0.55),
                transparent
            );
    }

    .cv-serve-connector-core {
        margin: 0 12px;
    }
}

/* =========================================
   MOBILE RESPONSIVE
========================================= */

@media (max-width: 767px) {

    .cv-serve-section {
        padding: 80px 18px;
    }

    .cv-serve-short-grid {
        height: 240px;
        background-size: 55px 55px;
        opacity: 0.40;
    }

    .cv-serve-header {
        margin-bottom: 45px;
    }

    .cv-serve-label {
        margin-bottom: 18px;
        gap: 12px;
        font-size: 9px;
        letter-spacing: 2.3px;
    }

    .cv-serve-label-line {
        width: 35px;
    }

    .cv-serve-heading h2 {
        font-size: clamp(43px, 12vw, 57px);
        line-height: 1.02;
        letter-spacing: -2.5px;
    }

    .cv-serve-intro {
        padding: 18px 0 0 60px;
    }

    .cv-serve-intro-number {
        top: 15px;
        left: 15px;
        font-size: 32px;
    }

    .cv-serve-intro p {
        font-size: 15px;
    }

    .cv-serve-panel {
        padding: 23px;
        border-radius: 22px;
    }

    .cv-serve-panel-top {
        margin-bottom: 23px;
        padding-bottom: 20px;
    }

    .cv-serve-panel-top h3 {
        font-size: 27px;
    }

    .cv-serve-panel-icon {
        width: 52px;
        height: 52px;
        border-radius: 15px;
        font-size: 18px;
    }

    .cv-serve-partner-item {
        min-height: 72px;
        padding: 11px 13px;
        grid-template-columns: 27px 43px minmax(0, 1fr);
    }

    .cv-serve-item-arrow {
        display: none;
    }

    .cv-serve-item-icon {
        width: 42px;
        height: 42px;
    }

    .cv-serve-partner-item strong {
        font-size: 13px;
    }

    .cv-serve-connector-line {
        width: 75px;
    }

    .cv-serve-industry-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cv-serve-industry-wide {
        grid-column: span 2;
    }

    .cv-serve-industry-footer {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .cv-serve-industry-footer-line {
        display: none;
    }
}

@media (max-width: 430px) {

    .cv-serve-heading h2 {
        font-size: 40px;
    }

    .cv-serve-panel {
        padding: 19px;
    }

    .cv-serve-industry-item {
        min-height: 98px;
        padding: 15px 10px;
    }

    .cv-serve-industry-item strong {
        font-size: 12px;
    }
}

/* =========================================
   WHY AGENCIES CHOOSE TO STAY
========================================= */

.cv-difference-section {
    position: relative;
    padding: 120px 30px 130px;

    background:
        radial-gradient(
            circle at 88% 8%,
            rgba(201, 162, 91, 0.11),
            transparent 28%
        ),
        radial-gradient(
            circle at 8% 92%,
            rgba(184, 133, 88, 0.08),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            var(--cv-dark-navy) 0%,
            var(--cv-primary-navy) 50%,
            var(--cv-dark-navy) 100%
        );

    overflow: hidden;
    isolation: isolate;
}

/* =========================================
   RECTANGLE GRID MASK
========================================= */

.cv-difference-grid-mask {
    position: absolute;
    inset: 0;
    z-index: -4;
    pointer-events: none;

    background-image:
        linear-gradient(
            to right,
            rgba(248, 247, 244, 0.06) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(248, 247, 244, 0.06) 1px,
            transparent 1px
        );

    background-size: 90px 90px;
    opacity: 0.46;

    -webkit-mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.78) 45%,
        rgba(0, 0, 0, 0.30) 82%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.78) 45%,
        rgba(0, 0, 0, 0.30) 82%,
        transparent 100%
    );
}

/* Background glows */

.cv-difference-glow {
    position: absolute;
    z-index: -3;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(120px);
}

.cv-difference-glow-one {
    top: -220px;
    right: -180px;
    width: 560px;
    height: 560px;
    background: rgba(201, 162, 91, 0.12);
}

.cv-difference-glow-two {
    left: -220px;
    bottom: -250px;
    width: 520px;
    height: 520px;
    background: rgba(184, 133, 88, 0.08);
}

/* Main container */

.cv-difference-container {
    position: relative;
    z-index: 2;
    width: min(100%, 1460px);
    margin: 0 auto;
}

/* =========================================
   SECTION HEADER
========================================= */

.cv-difference-header {
    margin-bottom: 75px;
}

.cv-difference-label {
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 16px;

    color: rgba(231, 225, 216, 0.56);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 3.4px;
}

.cv-difference-label-line {
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--cv-brushed-gold);
}

.cv-difference-heading-row {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(370px, 0.5fr);
    align-items: end;
    gap: 75px;
}

.cv-difference-heading h2 {
    margin: 0;
    color: var(--cv-warm-ivory);
    font-size: clamp(52px, 4vw, 78px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -4px;
}

.cv-difference-heading h2 span {
    display: block;
    margin-top: 9px;
    color: var(--cv-brushed-gold);
}

/* Header note */

.cv-difference-header-note {
    position: relative;
    min-height: 105px;
    padding: 20px 0 5px 82px;
    display: flex;
    align-items: flex-start;
    border-left: 1px solid rgba(201, 162, 91, 0.36);
}

.cv-difference-note-number {
    position: absolute;
    top: 17px;
    left: 24px;
    color: var(--cv-brushed-gold);
    font-size: 39px;
    font-weight: 700;
    line-height: 1;
}

.cv-difference-header-note small {
    display: block;
    margin-bottom: 8px;
    color: var(--cv-natural-oak);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.4px;
    text-transform: uppercase;
}

.cv-difference-header-note p {
    margin: 0;
    color: rgba(231, 225, 216, 0.70);
    font-size: 16px;
    line-height: 1.7;
}

/* =========================================
   TIMELINE LAYOUT
========================================= */

.cv-difference-timeline {
    position: relative;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        110px
        minmax(0, 1fr);
    row-gap: 25px;
}

/* Center spine */

.cv-difference-spine {
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 50%;
    width: 2px;
    z-index: 1;
    background: rgba(231, 225, 216, 0.11);
    transform: translateX(-50%);
}

.cv-difference-spine-progress {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:
        linear-gradient(
            to bottom,
            transparent,
            var(--cv-brushed-gold) 12%,
            var(--cv-natural-oak) 88%,
            transparent
        );
    opacity: 0.70;
}

.cv-difference-spine-dot {
    position: absolute;
    left: 50%;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--cv-brushed-gold);
    border: 4px solid var(--cv-primary-navy);
    box-shadow: 0 0 0 1px rgba(201, 162, 91, 0.42);
    transform: translate(-50%, -50%);
}

.cv-spine-dot-one {
    top: 8.33%;
}

.cv-spine-dot-two {
    top: 25%;
}

.cv-spine-dot-three {
    top: 41.66%;
}

.cv-spine-dot-four {
    top: 58.33%;
}

.cv-spine-dot-five {
    top: 75%;
}

.cv-spine-dot-six {
    top: 91.66%;
}

/* Timeline item */

.cv-difference-item {
    position: relative;
    min-width: 0;
    display: flex;
    align-items: center;
}

.cv-difference-left {
    grid-column: 1 / 3;
    padding-right: 55px;
    justify-content: flex-end;
}

.cv-difference-right {
    grid-column: 2 / 4;
    padding-left: 55px;
    justify-content: flex-start;
}

.cv-difference-left:nth-of-type(2) {
    grid-row: 1;
}

.cv-difference-right:nth-of-type(3) {
    grid-row: 2;
}

.cv-difference-left:nth-of-type(4) {
    grid-row: 3;
}

.cv-difference-right:nth-of-type(5) {
    grid-row: 4;
}

.cv-difference-left:nth-of-type(6) {
    grid-row: 5;
}

.cv-difference-right:nth-of-type(7) {
    grid-row: 6;
}

/* Connector line */

.cv-difference-connector {
    position: absolute;
    top: 50%;
    width: 55px;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            rgba(201, 162, 91, 0.15),
            rgba(201, 162, 91, 0.60)
        );
    transform: translateY(-50%);
}

.cv-difference-left .cv-difference-connector {
    right: 0;
}

.cv-difference-right .cv-difference-connector {
    left: 0;
    background:
        linear-gradient(
            90deg,
            rgba(201, 162, 91, 0.60),
            rgba(201, 162, 91, 0.15)
        );
}

/* =========================================
   DIFFERENCE CARD
========================================= */

.cv-difference-card {
    position: relative;
    width: 100%;
    max-width: 620px;
    min-height: 195px;
    padding: 31px 31px 31px 118px;
    border-radius: 23px;

    background:
        linear-gradient(
            140deg,
            rgba(248, 247, 244, 0.085),
            rgba(248, 247, 244, 0.035)
        );

    border: 1px solid rgba(231, 225, 216, 0.14);

    box-shadow:
        0 24px 55px rgba(13, 28, 69, 0.23),
        inset 0 1px 0 rgba(248, 247, 244, 0.055);

    backdrop-filter: blur(13px);
    overflow: hidden;

    transition:
        transform 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease;
}

.cv-difference-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;

    background:
        linear-gradient(
            120deg,
            rgba(201, 162, 91, 0.15),
            transparent 42%
        );

    transition: opacity 0.4s ease;
}

.cv-difference-item:hover .cv-difference-card {
    transform: translateY(-6px);
    border-color: rgba(201, 162, 91, 0.46);

    box-shadow:
        0 33px 72px rgba(13, 28, 69, 0.35),
        inset 0 1px 0 rgba(248, 247, 244, 0.08);
}

.cv-difference-item:hover .cv-difference-card::before {
    opacity: 1;
}

/* Number */

.cv-difference-card-number {
    position: absolute;
    top: 25px;
    right: 27px;
    color: rgba(231, 225, 216, 0.24);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
}

/* Icon */

.cv-difference-card-icon {
    position: absolute;
    top: 50%;
    left: 31px;
    width: 64px;
    height: 64px;
    border-radius: 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--cv-brushed-gold);

    background:
        linear-gradient(
            145deg,
            var(--cv-dark-navy),
            var(--cv-primary-navy)
        );

    border: 1px solid rgba(201, 162, 91, 0.38);

    box-shadow:
        0 14px 30px rgba(13, 28, 69, 0.30),
        inset 0 1px 0 rgba(248, 247, 244, 0.06);

    font-size: 21px;
    transform: translateY(-50%);

    transition:
        transform 0.4s ease,
        background-color 0.4s ease,
        color 0.4s ease;
}

.cv-difference-item:hover .cv-difference-card-icon {
    color: var(--cv-dark-navy);
    background: var(--cv-brushed-gold);
    transform: translateY(-50%) rotate(-7deg) scale(1.06);
}

/* Content */

.cv-difference-card-content {
    position: relative;
    z-index: 2;
}

.cv-difference-card-kicker {
    display: block;
    margin-bottom: 9px;
    color: var(--cv-natural-oak);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.3px;
    text-transform: uppercase;
}

.cv-difference-card-content h3 {
    margin: 0 0 12px;
    padding-right: 40px;
    color: var(--cv-warm-ivory);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.3;
}

.cv-difference-card-content p {
    margin: 0;
    color: rgba(231, 225, 216, 0.68);
    font-size: 15px;
    line-height: 1.72;
}

/* Decorative corner */

.cv-difference-card-corner {
    position: absolute;
    right: -30px;
    bottom: -30px;
    width: 88px;
    height: 88px;
    border: 1px solid rgba(201, 162, 91, 0.22);
    transform: rotate(45deg);
    transition:
        right 0.4s ease,
        bottom 0.4s ease,
        background-color 0.4s ease;
}

.cv-difference-item:hover .cv-difference-card-corner {
    right: -20px;
    bottom: -20px;
    background: rgba(201, 162, 91, 0.08);
}

/* =========================================
   TABLET RESPONSIVE
========================================= */

@media (max-width: 1050px) {

    .cv-difference-section {
        padding: 105px 25px;
    }

    .cv-difference-heading-row {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 34px;
    }

    .cv-difference-header-note {
        max-width: 680px;
    }

    .cv-difference-timeline {
        grid-template-columns: 55px minmax(0, 1fr);
        row-gap: 19px;
    }

    .cv-difference-spine {
        left: 27px;
        transform: none;
    }

    .cv-difference-left,
    .cv-difference-right {
        grid-column: 2;
        grid-row: auto !important;
        padding: 0;
        justify-content: stretch;
    }

    .cv-difference-card {
        max-width: none;
    }

    .cv-difference-connector {
        left: -28px !important;
        right: auto !important;
        width: 28px;
        background:
            linear-gradient(
                90deg,
                rgba(201, 162, 91, 0.65),
                rgba(201, 162, 91, 0.16)
            ) !important;
    }
}

/* =========================================
   MOBILE RESPONSIVE
========================================= */

@media (max-width: 767px) {

    .cv-difference-section {
        padding: 80px 18px;
    }

    .cv-difference-grid-mask {
        background-size: 55px 55px;
        opacity: 0.38;
    }

    .cv-difference-header {
        margin-bottom: 48px;
    }

    .cv-difference-label {
        margin-bottom: 18px;
        gap: 12px;
        font-size: 9px;
        letter-spacing: 2.3px;
    }

    .cv-difference-label-line {
        width: 35px;
    }

    .cv-difference-heading h2 {
        font-size: clamp(43px, 12vw, 57px);
        line-height: 1.02;
        letter-spacing: -2.5px;
    }

    .cv-difference-heading h2 span {
        margin-top: 6px;
    }

    .cv-difference-header-note {
        min-height: auto;
        padding: 17px 0 0 60px;
    }

    .cv-difference-note-number {
        top: 14px;
        left: 15px;
        font-size: 32px;
    }

    .cv-difference-header-note p {
        font-size: 15px;
    }

    .cv-difference-timeline {
        grid-template-columns: 34px minmax(0, 1fr);
        row-gap: 15px;
    }

    .cv-difference-spine {
        left: 16px;
    }

    .cv-difference-spine-dot {
        width: 12px;
        height: 12px;
        border-width: 3px;
    }

    .cv-difference-connector {
        left: -18px !important;
        width: 18px;
    }

    .cv-difference-card {
        min-height: auto;
        padding: 94px 23px 25px;
        border-radius: 20px;
    }

    .cv-difference-card-icon {
        top: 22px;
        left: 23px;
        width: 54px;
        height: 54px;
        border-radius: 16px;
        font-size: 18px;
        transform: none;
    }

    .cv-difference-item:hover .cv-difference-card-icon {
        transform: rotate(-7deg) scale(1.05);
    }

    .cv-difference-card-number {
        top: 37px;
        right: 23px;
    }

    .cv-difference-card-content h3 {
        padding-right: 0;
        font-size: 19px;
    }

    .cv-difference-card-content p {
        font-size: 14px;
        line-height: 1.7;
    }
}

@media (max-width: 420px) {

    .cv-difference-heading h2 {
        font-size: 40px;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {

    .cv-difference-card,
    .cv-difference-card-icon,
    .cv-difference-card-corner {
        transition: none;
    }
}

/* =========================================
   TEAM BEHIND YOUR CAMPAIGNS
========================================= */

.cv-team-section {
    position: relative;
    padding: 120px 30px 125px;

    background:
        radial-gradient(
            circle at 88% 8%,
            rgba(201, 162, 91, 0.16),
            transparent 28%
        ),
        radial-gradient(
            circle at 6% 92%,
            rgba(184, 133, 88, 0.09),
            transparent 26%
        ),
        linear-gradient(
            135deg,
            var(--cv-warm-ivory) 0%,
            var(--cv-warm-ivory) 58%,
            var(--cv-soft-beige) 100%
        );

    overflow: hidden;
    isolation: isolate;
}

/* =========================================
   SHORT RECTANGULAR MASK
========================================= */

.cv-team-grid-mask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 360px;
    z-index: -4;
    pointer-events: none;

    background-image:
        linear-gradient(
            to right,
            rgba(19, 40, 85, 0.08) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(19, 40, 85, 0.08) 1px,
            transparent 1px
        );

    background-size: 90px 90px;
    opacity: 0.46;

    -webkit-mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.72) 50%,
        rgba(0, 0, 0, 0.20) 82%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.72) 50%,
        rgba(0, 0, 0, 0.20) 82%,
        transparent 100%
    );
}

/* Background glows */

.cv-team-glow {
    position: absolute;
    z-index: -3;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(115px);
}

.cv-team-glow-one {
    top: -230px;
    right: -180px;
    width: 560px;
    height: 560px;
    background: rgba(201, 162, 91, 0.13);
}

.cv-team-glow-two {
    left: -220px;
    bottom: -260px;
    width: 520px;
    height: 520px;
    background: rgba(184, 133, 88, 0.08);
}

/* Container */

.cv-team-container {
    position: relative;
    z-index: 2;
    width: min(100%, 1460px);
    margin: 0 auto;
}

/* =========================================
   HEADER
========================================= */

.cv-team-header {
    margin-bottom: 70px;
}

.cv-team-label {
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 16px;

    color: rgba(19, 40, 85, 0.54);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 3.4px;
}

.cv-team-label-line {
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--cv-natural-oak);
}

.cv-team-heading-row {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(370px, 0.5fr);
    align-items: end;
    gap: 75px;
}

.cv-team-heading h2 {
    margin: 0;
    color: var(--cv-primary-navy);
    font-size: clamp(50px, 4vw, 78px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -4px;
}

.cv-team-heading h2 span {
    display: block;
    margin-top: 9px;
    color: var(--cv-natural-oak);
}

/* Header introduction */

.cv-team-intro {
    position: relative;
    min-height: 100px;
    padding: 20px 0 4px 82px;
    border-left: 1px solid rgba(184, 133, 88, 0.36);
}

.cv-team-intro-number {
    position: absolute;
    top: 16px;
    left: 24px;
    color: var(--cv-natural-oak);
    font-size: 39px;
    font-weight: 700;
    line-height: 1;
}

.cv-team-intro p {
    margin: 0;
    color: rgba(19, 40, 85, 0.70);
    font-size: 17px;
    line-height: 1.75;
}

/* =========================================
   MAIN LAYOUT
========================================= */

.cv-team-layout {
    display: grid;
    grid-template-columns:
        minmax(400px, 0.78fr)
        100px
        minmax(0, 1.22fr);
    align-items: stretch;
    gap: 25px;
}

/* =========================================
   LEFT TEAM HUB
========================================= */

.cv-team-hub {
    position: relative;
    min-height: 620px;
    border-radius: 32px;
    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            145deg,
            var(--cv-primary-navy),
            var(--cv-dark-navy)
        );

    border: 1px solid rgba(201, 162, 91, 0.34);

    box-shadow:
        0 35px 75px rgba(13, 28, 69, 0.20),
        inset 0 1px 0 rgba(248, 247, 244, 0.10);

    overflow: hidden;
}

.cv-team-hub::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background:
        radial-gradient(
            circle at center,
            rgba(201, 162, 91, 0.12),
            transparent 48%
        );
}

/* Hub orbit rings */

.cv-team-hub-orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%);
}

.cv-team-orbit-one {
    width: 390px;
    height: 390px;
    border: 1px solid rgba(201, 162, 91, 0.30);
    animation: cvTeamOrbit 22s linear infinite;
}

.cv-team-orbit-two {
    width: 285px;
    height: 285px;
    border: 1px dashed rgba(231, 225, 216, 0.22);
    animation: cvTeamOrbitReverse 18s linear infinite;
}

/* Hub core */

.cv-team-hub-core {
    position: relative;
    z-index: 3;
    width: 205px;
    height: 205px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--cv-dark-navy);
    text-align: center;

    background:
        linear-gradient(
            145deg,
            var(--cv-brushed-gold),
            var(--cv-natural-oak)
        );

    border: 8px solid rgba(248, 247, 244, 0.10);

    box-shadow:
        0 30px 65px rgba(13, 28, 69, 0.38),
        0 0 45px rgba(201, 162, 91, 0.14);

    transition:
        transform 0.45s ease,
        box-shadow 0.45s ease;
}

.cv-team-hub:hover .cv-team-hub-core {
    transform: scale(1.045);

    box-shadow:
        0 38px 78px rgba(13, 28, 69, 0.44),
        0 0 60px rgba(201, 162, 91, 0.22);
}

.cv-team-hub-icon {
    width: 52px;
    height: 52px;
    margin-bottom: 13px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--cv-brushed-gold);
    background: var(--cv-dark-navy);
    font-size: 19px;
}

.cv-team-hub-core > span {
    margin-bottom: 7px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.cv-team-hub-core strong {
    font-size: 29px;
    font-weight: 800;
    line-height: 0.95;
}

.cv-team-hub-core small {
    display: block;
    margin-top: 7px;
    font-size: 18px;
    font-weight: 700;
}

/* Orbit labels */

.cv-team-orbit-label {
    position: absolute;
    z-index: 4;
    padding: 9px 14px;
    border-radius: 999px;

    color: var(--cv-soft-beige);
    background: rgba(248, 247, 244, 0.08);
    border: 1px solid rgba(201, 162, 91, 0.25);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.cv-team-orbit-label-one {
    top: 92px;
    left: 50%;
    transform: translateX(-50%);
}

.cv-team-orbit-label-two {
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
}

.cv-team-orbit-label-three {
    bottom: 92px;
    left: 50%;
    transform: translateX(-50%);
}

.cv-team-orbit-label-four {
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
}

/* Hub footer */

.cv-team-hub-footer {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 28px;
    z-index: 4;
    padding-top: 21px;
    display: flex;
    align-items: center;
    gap: 14px;
    border-top: 1px solid rgba(231, 225, 216, 0.15);
}

.cv-team-hub-footer span:first-child {
    color: rgba(231, 225, 216, 0.56);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.cv-team-hub-footer-line {
    height: 1px;
    flex: 1;
    background:
        linear-gradient(
            90deg,
            rgba(201, 162, 91, 0.55),
            transparent
        );
}

.cv-team-hub-footer strong {
    color: var(--cv-brushed-gold);
    font-size: 13px;
    white-space: nowrap;
}

/* Hub animations */

@keyframes cvTeamOrbit {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes cvTeamOrbitReverse {
    from {
        transform: translate(-50%, -50%) rotate(360deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(0deg);
    }
}

/* =========================================
   CONNECTING SPINE
========================================= */

.cv-team-spine {
    position: relative;
    min-height: 620px;
}

.cv-team-spine-line {
    position: absolute;
    top: 45px;
    bottom: 45px;
    left: 50%;
    width: 2px;

    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(184, 133, 88, 0.55) 14%,
            rgba(184, 133, 88, 0.55) 86%,
            transparent
        );

    transform: translateX(-50%);
}

.cv-team-spine-dot {
    position: absolute;
    left: 50%;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--cv-brushed-gold);
    border: 4px solid var(--cv-warm-ivory);
    box-shadow: 0 0 0 1px rgba(184, 133, 88, 0.45);
    transform: translate(-50%, -50%);
}

.cv-team-dot-one {
    top: 12.5%;
}

.cv-team-dot-two {
    top: 37.5%;
}

.cv-team-dot-three {
    top: 62.5%;
}

.cv-team-dot-four {
    top: 87.5%;
}

/* =========================================
   RIGHT FUNCTION CARDS
========================================= */

.cv-team-functions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

.cv-team-function-card {
    position: relative;
    min-height: 143px;
    padding: 25px 62px 25px 108px;
    border-radius: 22px;
    display: flex;
    align-items: center;

    background:
        linear-gradient(
            145deg,
            rgba(248, 247, 244, 0.94),
            rgba(231, 225, 216, 0.63)
        );

    border: 1px solid rgba(19, 40, 85, 0.13);

    box-shadow:
        0 22px 50px rgba(13, 28, 69, 0.10),
        inset 0 1px 0 rgba(248, 247, 244, 0.90);

    overflow: hidden;

    transition:
        transform 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease,
        background-color 0.4s ease;
}

.cv-team-function-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;

    background:
        linear-gradient(
            115deg,
            rgba(201, 162, 91, 0.17),
            transparent 43%
        );

    transition: opacity 0.4s ease;
}

.cv-team-function-card:hover {
    transform: translateX(8px);
    border-color: rgba(201, 162, 91, 0.50);

    box-shadow:
        0 28px 60px rgba(13, 28, 69, 0.16),
        inset 0 1px 0 rgba(248, 247, 244, 0.95);
}

.cv-team-function-card:hover::before {
    opacity: 1;
}

/* Number */

.cv-team-function-number {
    position: absolute;
    top: 18px;
    right: 21px;
    color: rgba(19, 40, 85, 0.30);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

/* Icon */

.cv-team-function-icon {
    position: absolute;
    top: 50%;
    left: 25px;
    width: 60px;
    height: 60px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--cv-brushed-gold);

    background:
        linear-gradient(
            145deg,
            var(--cv-primary-navy),
            var(--cv-dark-navy)
        );

    border: 1px solid rgba(201, 162, 91, 0.35);
    box-shadow: 0 14px 28px rgba(13, 28, 69, 0.20);

    font-size: 20px;
    transform: translateY(-50%);

    transition:
        transform 0.4s ease,
        color 0.4s ease,
        background-color 0.4s ease;
}

.cv-team-function-card:hover .cv-team-function-icon {
    color: var(--cv-primary-navy);
    background: var(--cv-brushed-gold);
    transform: translateY(-50%) rotate(-7deg) scale(1.06);
}

/* Card content */

.cv-team-function-content {
    position: relative;
    z-index: 2;
}

.cv-team-function-kicker {
    display: block;
    margin-bottom: 7px;
    color: var(--cv-natural-oak);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2.2px;
    text-transform: uppercase;
}

.cv-team-function-content h3 {
    margin: 0 0 8px;
    color: var(--cv-primary-navy);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.cv-team-function-content p {
    margin: 0;
    color: rgba(19, 40, 85, 0.68);
    font-size: 14px;
    line-height: 1.65;
}

/* Arrow */

.cv-team-card-arrow {
    position: absolute;
    top: 50%;
    right: 22px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--cv-natural-oak);
    border: 1px solid rgba(184, 133, 88, 0.30);
    font-size: 11px;
    transform: translateY(-50%);

    transition:
        color 0.35s ease,
        background-color 0.35s ease,
        transform 0.35s ease;
}

.cv-team-function-card:hover .cv-team-card-arrow {
    color: var(--cv-warm-ivory);
    background: var(--cv-natural-oak);
    transform: translate(4px, -50%);
}

/* Bottom hover line */

.cv-team-card-line {
    position: absolute;
    left: 108px;
    bottom: 0;
    width: 0;
    height: 3px;
    border-radius: 8px 8px 0 0;

    background:
        linear-gradient(
            90deg,
            var(--cv-brushed-gold),
            var(--cv-natural-oak)
        );

    transition: width 0.5s ease;
}

.cv-team-function-card:hover .cv-team-card-line {
    width: calc(100% - 155px);
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .cv-team-section {
        padding: 105px 25px;
    }

    .cv-team-heading-row {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 35px;
    }

    .cv-team-intro {
        max-width: 680px;
    }

    .cv-team-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .cv-team-hub {
        min-height: 570px;
    }

    .cv-team-spine {
        min-height: 80px;
    }

    .cv-team-spine-line {
        top: 50%;
        bottom: auto;
        left: 45px;
        right: 45px;
        width: auto;
        height: 2px;

        background:
            linear-gradient(
                to right,
                transparent,
                rgba(184, 133, 88, 0.55) 14%,
                rgba(184, 133, 88, 0.55) 86%,
                transparent
            );

        transform: translateY(-50%);
    }

    .cv-team-spine-dot {
        top: 50%;
    }

    .cv-team-dot-one {
        left: 12.5%;
    }

    .cv-team-dot-two {
        left: 37.5%;
    }

    .cv-team-dot-three {
        left: 62.5%;
    }

    .cv-team-dot-four {
        left: 87.5%;
    }

    .cv-team-functions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cv-team-function-card {
        min-height: 205px;
        padding: 92px 24px 25px;
        align-items: flex-start;
    }

    .cv-team-function-icon {
        top: 22px;
        left: 24px;
        transform: none;
    }

    .cv-team-function-card:hover .cv-team-function-icon {
        transform: rotate(-7deg) scale(1.06);
    }

    .cv-team-card-arrow {
        display: none;
    }

    .cv-team-card-line {
        left: 24px;
    }

    .cv-team-function-card:hover .cv-team-card-line {
        width: calc(100% - 48px);
    }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .cv-team-section {
        padding: 80px 18px;
    }

    .cv-team-grid-mask {
        height: 250px;
        background-size: 55px 55px;
        opacity: 0.38;
    }

    .cv-team-header {
        margin-bottom: 48px;
    }

    .cv-team-label {
        margin-bottom: 18px;
        gap: 12px;
        font-size: 9px;
        letter-spacing: 2.2px;
    }

    .cv-team-label-line {
        width: 35px;
    }

    .cv-team-heading h2 {
        font-size: clamp(42px, 12vw, 57px);
        line-height: 1.02;
        letter-spacing: -2.5px;
    }

    .cv-team-heading h2 span {
        margin-top: 7px;
    }

    .cv-team-intro {
        min-height: auto;
        padding: 17px 0 0 60px;
    }

    .cv-team-intro-number {
        top: 14px;
        left: 15px;
        font-size: 32px;
    }

    .cv-team-intro p {
        font-size: 15px;
    }

    .cv-team-hub {
        min-height: 470px;
        border-radius: 24px;
    }

    .cv-team-orbit-one {
        width: 315px;
        height: 315px;
    }

    .cv-team-orbit-two {
        width: 235px;
        height: 235px;
    }

    .cv-team-hub-core {
        width: 170px;
        height: 170px;
    }

    .cv-team-hub-core strong {
        font-size: 25px;
    }

    .cv-team-orbit-label {
        padding: 7px 10px;
        font-size: 8px;
    }

    .cv-team-orbit-label-one {
        top: 62px;
    }

    .cv-team-orbit-label-two {
        right: 12px;
    }

    .cv-team-orbit-label-three {
        bottom: 82px;
    }

    .cv-team-orbit-label-four {
        left: 12px;
    }

    .cv-team-hub-footer {
        left: 20px;
        right: 20px;
        bottom: 20px;
    }

    .cv-team-spine {
        min-height: 65px;
    }

    .cv-team-functions {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .cv-team-function-card {
        min-height: auto;
        padding: 90px 22px 24px;
        border-radius: 19px;
    }

    .cv-team-function-icon {
        width: 54px;
        height: 54px;
        border-radius: 16px;
        font-size: 18px;
    }

    .cv-team-function-content h3 {
        font-size: 19px;
    }

    .cv-team-function-content p {
        font-size: 14px;
    }
}

@media (max-width: 430px) {

    .cv-team-heading h2 {
        font-size: 40px;
    }

    .cv-team-hub {
        min-height: 420px;
    }

    .cv-team-orbit-one {
        width: 275px;
        height: 275px;
    }

    .cv-team-orbit-two {
        width: 205px;
        height: 205px;
    }

    .cv-team-hub-core {
        width: 150px;
        height: 150px;
    }

    .cv-team-hub-core strong {
        font-size: 22px;
    }

    .cv-team-hub-core small {
        font-size: 15px;
    }

    .cv-team-orbit-label-two,
    .cv-team-orbit-label-four {
        display: none;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {

    .cv-team-hub-orbit {
        animation: none;
    }

    .cv-team-hub-core,
    .cv-team-function-card,
    .cv-team-function-icon {
        transition: none;
    }
}

/* =========================================
   OUR STANDARDS SECTION
========================================= */

.cv-standards-section {
    position: relative;
    padding: 120px 30px 130px;

    background:
        radial-gradient(
            circle at 50% 58%,
            rgba(201, 162, 91, 0.12),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 8%,
            rgba(184, 133, 88, 0.09),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            var(--cv-dark-navy) 0%,
            var(--cv-primary-navy) 50%,
            var(--cv-dark-navy) 100%
        );

    overflow: hidden;
    isolation: isolate;
}

/* =========================================
   RECTANGLE GRID MASK
========================================= */

.cv-standards-grid-mask {
    position: absolute;
    inset: 0;
    z-index: -4;
    pointer-events: none;

    background-image:
        linear-gradient(
            to right,
            rgba(248, 247, 244, 0.06) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(248, 247, 244, 0.06) 1px,
            transparent 1px
        );

    background-size: 90px 90px;
    opacity: 0.45;

    -webkit-mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.78) 46%,
        rgba(0, 0, 0, 0.30) 82%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.78) 46%,
        rgba(0, 0, 0, 0.30) 82%,
        transparent 100%
    );
}

/* Decorative glows */

.cv-standards-glow {
    position: absolute;
    z-index: -3;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(125px);
}

.cv-standards-glow-one {
    top: -230px;
    right: -180px;
    width: 560px;
    height: 560px;
    background: rgba(201, 162, 91, 0.12);
}

.cv-standards-glow-two {
    left: -230px;
    bottom: -270px;
    width: 540px;
    height: 540px;
    background: rgba(184, 133, 88, 0.08);
}

/* Container */

.cv-standards-container {
    position: relative;
    z-index: 2;
    width: min(100%, 1460px);
    margin: 0 auto;
}

/* =========================================
   HEADER
========================================= */

.cv-standards-header {
    margin-bottom: 70px;
}

.cv-standards-label {
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 16px;

    color: rgba(231, 225, 216, 0.56);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 3.4px;
}

.cv-standards-label-line {
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--cv-brushed-gold);
}

.cv-standards-heading-row {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(370px, 0.5fr);
    align-items: end;
    gap: 75px;
}

.cv-standards-heading h2 {
    margin: 0;
    color: var(--cv-warm-ivory);
    font-size: clamp(50px, 5vw, 78px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -4px;
}

.cv-standards-heading h2 span {
    display: block;
    margin-top: 9px;
    color: var(--cv-brushed-gold);
}

/* Header note */

.cv-standards-header-note {
    position: relative;
    min-height: 102px;
    padding: 19px 0 5px 83px;
    display: flex;
    align-items: flex-start;
    border-left: 1px solid rgba(201, 162, 91, 0.36);
}

.cv-standards-header-number {
    position: absolute;
    top: 16px;
    left: 24px;
    color: var(--cv-brushed-gold);
    font-size: 39px;
    font-weight: 700;
    line-height: 1;
}

.cv-standards-header-note small {
    display: block;
    margin-bottom: 8px;
    color: var(--cv-natural-oak);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.3px;
    text-transform: uppercase;
}

.cv-standards-header-note p {
    margin: 0;
    color: rgba(231, 225, 216, 0.70);
    font-size: 16px;
    line-height: 1.7;
}

/* =========================================
   STANDARDS LAYOUT
========================================= */

.cv-standards-layout {
    position: relative;
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    grid-template-rows:
        minmax(205px, auto)
        minmax(280px, auto)
        minmax(205px, auto);
    gap: 20px;
}

/* Top Row */

.cv-standard-one {
    grid-column: 1;
    grid-row: 1;
}

.cv-standard-two {
    grid-column: 2;
    grid-row: 1;
}

.cv-standard-three {
    grid-column: 3;
    grid-row: 1;
}

.cv-standard-four {
    grid-column: 4;
    grid-row: 1;
}

/* Center */

.cv-standards-center {
    grid-column: 2 / 4;
    grid-row: 2;
}

/* Bottom Row */

.cv-standard-five {
    grid-column: 1;
    grid-row: 3;
}

.cv-standard-six {
    grid-column: 2;
    grid-row: 3;
}

.cv-standard-seven {
    grid-column: 3;
    grid-row: 3;
}

.cv-standard-eight {
    grid-column: 4;
    grid-row: 3;
}

/* =========================================
   STANDARD CARD
========================================= */

.cv-standard-card {
    position: relative;
    min-width: 0;
    padding: 27px;
    border-radius: 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    background:
        linear-gradient(
            140deg,
            rgba(248, 247, 244, 0.085),
            rgba(248, 247, 244, 0.035)
        );

    border: 1px solid rgba(231, 225, 216, 0.14);

    box-shadow:
        0 23px 52px rgba(13, 28, 69, 0.23),
        inset 0 1px 0 rgba(248, 247, 244, 0.055);

    backdrop-filter: blur(13px);
    overflow: hidden;

    transition:
        transform 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease;
}

.cv-standard-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;

    background:
        radial-gradient(
            circle at 20% 15%,
            rgba(201, 162, 91, 0.16),
            transparent 38%
        );

    transition: opacity 0.4s ease;
}

.cv-standard-card:hover {
    transform: translateY(-7px);
    border-color: rgba(201, 162, 91, 0.47);

    box-shadow:
        0 32px 68px rgba(13, 28, 69, 0.35),
        inset 0 1px 0 rgba(248, 247, 244, 0.08);
}

.cv-standard-card:hover::before {
    opacity: 1;
}

/* Card Top */

.cv-standard-card-top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.cv-standard-number {
    color: rgba(231, 225, 216, 0.36);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.cv-standard-check {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--cv-brushed-gold);

    background:
        linear-gradient(
            145deg,
            var(--cv-dark-navy),
            var(--cv-primary-navy)
        );

    border: 1px solid rgba(201, 162, 91, 0.38);
    box-shadow: 0 12px 25px rgba(13, 28, 69, 0.28);

    font-size: 14px;

    transition:
        transform 0.4s ease,
        color 0.4s ease,
        background-color 0.4s ease;
}

.cv-standard-card:hover .cv-standard-check {
    color: var(--cv-dark-navy);
    background: var(--cv-brushed-gold);
    transform: rotate(-7deg) scale(1.07);
}

/* Card content */

.cv-standard-card-content {
    position: relative;
    z-index: 2;
    margin-top: 35px;
}

.cv-standard-card-content h3 {
    margin: 0;
    color: var(--cv-warm-ivory);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
}

.cv-standard-card-content h3 span {
    display: block;
    color: rgba(231, 225, 216, 0.70);
    font-weight: 500;
}

/* Decorative corner */

.cv-standard-corner {
    position: absolute;
    right: -30px;
    bottom: -30px;
    width: 82px;
    height: 82px;
    border: 1px solid rgba(201, 162, 91, 0.22);
    transform: rotate(45deg);

    transition:
        right 0.4s ease,
        bottom 0.4s ease,
        background-color 0.4s ease;
}

.cv-standard-card:hover .cv-standard-corner {
    right: -21px;
    bottom: -21px;
    background: rgba(201, 162, 91, 0.08);
}

/* =========================================
   CENTER COMMITMENT SEAL
========================================= */

.cv-standards-center {
    position: relative;
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cv-standards-center-ring {
    position: absolute;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    border: 1px solid rgba(201, 162, 91, 0.34);
    animation: cvStandardRingRotate 20s linear infinite;
}

.cv-standards-center-ring::before,
.cv-standards-center-ring::after {
    content: "";
    position: absolute;
    border-radius: 50%;
}

.cv-standards-center-ring::before {
    inset: 22px;
    border: 1px dashed rgba(231, 225, 216, 0.16);
}

.cv-standards-center-ring::after {
    inset: 50px;
    border: 1px solid rgba(201, 162, 91, 0.19);
}

.cv-standards-center-core {
    position: relative;
    z-index: 3;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    color: var(--cv-dark-navy);
    text-align: center;

    background:
        linear-gradient(
            145deg,
            var(--cv-brushed-gold),
            var(--cv-natural-oak)
        );

    border: 8px solid rgba(248, 247, 244, 0.10);

    box-shadow:
        0 30px 65px rgba(13, 28, 69, 0.40),
        0 0 55px rgba(201, 162, 91, 0.17);

    transition:
        transform 0.45s ease,
        box-shadow 0.45s ease;
}

.cv-standards-center:hover .cv-standards-center-core {
    transform: scale(1.05);

    box-shadow:
        0 38px 78px rgba(13, 28, 69, 0.46),
        0 0 70px rgba(201, 162, 91, 0.24);
}

.cv-standards-center-small {
    margin-bottom: 8px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2.3px;
    text-transform: uppercase;
}

.cv-standards-center-core strong {
    font-size: 30px;
    font-weight: 800;
    line-height: 0.95;
}

.cv-standards-center-core strong span {
    display: block;
    margin-top: 6px;
    font-size: 24px;
}

.cv-standards-center-icon {
    width: 40px;
    height: 40px;
    margin-top: 15px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--cv-brushed-gold);
    background: var(--cv-dark-navy);
    font-size: 15px;
}

/* Orbit dots */

.cv-standard-orbit-dot {
    position: absolute;
    z-index: 4;
    width: 13px;
    height: 13px;
    border-radius: 50%;

    background: var(--cv-brushed-gold);
    border: 3px solid var(--cv-primary-navy);
    box-shadow: 0 0 0 1px rgba(201, 162, 91, 0.45);
}

.cv-orbit-dot-one {
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
}

.cv-orbit-dot-two {
    top: 50%;
    right: calc(50% - 146px);
    transform: translateY(-50%);
}

.cv-orbit-dot-three {
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
}

.cv-orbit-dot-four {
    top: 50%;
    left: calc(50% - 146px);
    transform: translateY(-50%);
}

@keyframes cvStandardRingRotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* =========================================
   TABLET RESPONSIVE
========================================= */

@media (max-width: 1100px) {

    .cv-standards-section {
        padding: 105px 25px;
    }

    .cv-standards-heading-row {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 35px;
    }

    .cv-standards-header-note {
        max-width: 680px;
    }

    .cv-standards-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto;
    }

    .cv-standard-one,
    .cv-standard-two,
    .cv-standard-three,
    .cv-standard-four,
    .cv-standard-five,
    .cv-standard-six,
    .cv-standard-seven,
    .cv-standard-eight {
        grid-column: auto;
        grid-row: auto;
    }

    .cv-standards-center {
        grid-column: 1 / -1;
        grid-row: 3;
        margin: 20px 0;
    }

    .cv-standard-five {
        grid-row: 4;
    }

    .cv-standard-six {
        grid-row: 4;
    }

    .cv-standard-seven {
        grid-row: 5;
    }

    .cv-standard-eight {
        grid-row: 5;
    }
}

/* =========================================
   MOBILE RESPONSIVE
========================================= */

@media (max-width: 767px) {

    .cv-standards-section {
        padding: 80px 18px;
    }

    .cv-standards-grid-mask {
        background-size: 55px 55px;
        opacity: 0.38;
    }

    .cv-standards-header {
        margin-bottom: 48px;
    }

    .cv-standards-label {
        margin-bottom: 18px;
        gap: 12px;
        font-size: 9px;
        letter-spacing: 2.3px;
    }

    .cv-standards-label-line {
        width: 35px;
    }

    .cv-standards-heading h2 {
        font-size: clamp(42px, 12vw, 57px);
        line-height: 1.02;
        letter-spacing: -2.5px;
    }

    .cv-standards-heading h2 span {
        margin-top: 7px;
    }

    .cv-standards-header-note {
        min-height: auto;
        padding: 17px 0 0 60px;
    }

    .cv-standards-header-number {
        top: 14px;
        left: 15px;
        font-size: 32px;
    }

    .cv-standards-header-note p {
        font-size: 15px;
    }

    .cv-standards-layout {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .cv-standard-card {
        min-height: 190px;
        padding: 24px;
        border-radius: 19px;
    }

    .cv-standard-card-content {
        margin-top: 30px;
    }

    .cv-standard-card-content h3 {
        font-size: 18px;
    }

    .cv-standards-center {
        grid-column: auto;
        grid-row: auto;
        min-height: 255px;
        order: -1;
        margin: 5px 0 20px;
    }

    .cv-standards-center-ring {
        width: 240px;
        height: 240px;
    }

    .cv-standards-center-core {
        width: 165px;
        height: 165px;
    }

    .cv-standards-center-core strong {
        font-size: 27px;
    }

    .cv-standards-center-core strong span {
        font-size: 21px;
    }

    .cv-orbit-dot-two {
        right: calc(50% - 126px);
    }

    .cv-orbit-dot-four {
        left: calc(50% - 126px);
    }
}

@media (max-width: 430px) {

    .cv-standards-heading h2 {
        font-size: 40px;
    }

    .cv-standards-center-ring {
        width: 220px;
        height: 220px;
    }

    .cv-standards-center-core {
        width: 150px;
        height: 150px;
    }

    .cv-orbit-dot-two {
        right: calc(50% - 116px);
    }

    .cv-orbit-dot-four {
        left: calc(50% - 116px);
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {

    .cv-standards-center-ring {
        animation: none;
    }

    .cv-standard-card,
    .cv-standard-check,
    .cv-standards-center-core {
        transition: none;
    }
}

/* =========================================
   ABOUT ENQUIRY SECTION
========================================= */

.cv-about-enquiry-section {
    position: relative;
    padding: 120px 30px 125px;

    background:
        radial-gradient(
            circle at 88% 8%,
            rgba(201, 162, 91, 0.17),
            transparent 29%
        ),
        radial-gradient(
            circle at 7% 92%,
            rgba(184, 133, 88, 0.09),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            var(--cv-warm-ivory) 0%,
            var(--cv-warm-ivory) 58%,
            var(--cv-soft-beige) 100%
        );

    overflow: hidden;
    isolation: isolate;
}

/* Short rectangular mask */

.cv-about-enquiry-grid {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 360px;
    z-index: -4;
    pointer-events: none;

    background-image:
        linear-gradient(
            to right,
            rgba(19, 40, 85, 0.08) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(19, 40, 85, 0.08) 1px,
            transparent 1px
        );

    background-size: 90px 90px;
    opacity: 0.48;

    -webkit-mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.72) 50%,
        rgba(0, 0, 0, 0.20) 82%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.72) 50%,
        rgba(0, 0, 0, 0.20) 82%,
        transparent 100%
    );
}

/* Background glows */

.cv-about-enquiry-glow {
    position: absolute;
    z-index: -3;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(115px);
}

.cv-about-enquiry-glow-one {
    top: -230px;
    right: -180px;
    width: 560px;
    height: 560px;
    background: rgba(201, 162, 91, 0.14);
}

.cv-about-enquiry-glow-two {
    left: -230px;
    bottom: -260px;
    width: 530px;
    height: 530px;
    background: rgba(184, 133, 88, 0.08);
}

/* Container */

.cv-about-enquiry-container {
    position: relative;
    z-index: 2;
    width: min(100%, 1460px);
    margin: 0 auto;
}

/* =========================================
   HEADER
========================================= */

.cv-about-enquiry-header {
    margin-bottom: 68px;
}

.cv-about-enquiry-label {
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    color: rgba(19, 40, 85, 0.54);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3.4px;
}

.cv-about-enquiry-label-line {
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--cv-natural-oak);
}

.cv-about-enquiry-heading-row {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(370px, 0.52fr);
    align-items: end;
    gap: 75px;
}

.cv-about-enquiry-heading h2 {
    margin: 0;
    color: var(--cv-primary-navy);
    font-size: clamp(50px, 4vw, 78px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -4px;
}

.cv-about-enquiry-heading h2 span {
    display: block;
    margin-top: 9px;
    color: var(--cv-natural-oak);
}

.cv-about-enquiry-intro {
    position: relative;
    min-height: 105px;
    padding: 19px 0 5px 83px;
    border-left: 1px solid rgba(184, 133, 88, 0.37);
}

.cv-about-enquiry-intro-number {
    position: absolute;
    top: 16px;
    left: 24px;
    color: var(--cv-natural-oak);
    font-size: 39px;
    font-weight: 700;
    line-height: 1;
}

.cv-about-enquiry-intro p {
    margin: 0;
    color: rgba(19, 40, 85, 0.70);
    font-size: 17px;
    line-height: 1.75;
}

/* =========================================
   MAIN LAYOUT
========================================= */

.cv-about-enquiry-layout {
    display: grid;
    grid-template-columns:
        minmax(390px, 0.82fr)
        minmax(0, 1.18fr);
    align-items: stretch;
    gap: 30px;
}

/* =========================================
   LEFT INFO PANEL
========================================= */

.cv-about-enquiry-info {
    position: relative;
    padding: 38px;
    border-radius: 30px;

    background:
        linear-gradient(
            145deg,
            var(--cv-primary-navy),
            var(--cv-dark-navy)
        );

    border: 1px solid rgba(201, 162, 91, 0.34);

    box-shadow:
        0 35px 75px rgba(13, 28, 69, 0.20),
        inset 0 1px 0 rgba(248, 247, 244, 0.10);

    overflow: hidden;
}

.cv-about-enquiry-info-grid {
    position: absolute;
    inset: 0;
    pointer-events: none;

    background-image:
        linear-gradient(
            rgba(248, 247, 244, 0.045) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(248, 247, 244, 0.045) 1px,
            transparent 1px
        );

    background-size: 55px 55px;
    opacity: 0.42;

    -webkit-mask-image: radial-gradient(
        circle at top right,
        rgba(0, 0, 0, 0.85),
        transparent 68%
    );

    mask-image: radial-gradient(
        circle at top right,
        rgba(0, 0, 0, 0.85),
        transparent 68%
    );
}

.cv-about-enquiry-info-header {
    position: relative;
    z-index: 2;
    margin-bottom: 32px;
    padding-bottom: 28px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
    border-bottom: 1px solid rgba(231, 225, 216, 0.16);
}

.cv-about-enquiry-info-kicker {
    display: block;
    margin-bottom: 10px;
    color: var(--cv-brushed-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.cv-about-enquiry-info-header h3 {
    max-width: 360px;
    margin: 0;
    color: var(--cv-warm-ivory);
    font-size: clamp(27px, 2.5vw, 38px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -1.5px;
}

.cv-about-enquiry-main-icon {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-primary-navy);
    background: var(--cv-brushed-gold);
    font-size: 22px;
    box-shadow: 0 16px 32px rgba(13, 28, 69, 0.30);
}

/* Contact info list */

.cv-about-enquiry-info-list {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.cv-about-enquiry-info-item {
    position: relative;
    min-height: 82px;
    padding: 15px 50px 15px 15px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    gap: 15px;
    color: inherit;
    text-decoration: none;
    background: rgba(248, 247, 244, 0.055);
    border: 1px solid rgba(231, 225, 216, 0.13);

    transition:
        transform 0.35s ease,
        background-color 0.35s ease,
        border-color 0.35s ease;
}

.cv-about-enquiry-info-item:hover {
    transform: translateX(7px);
    background: rgba(248, 247, 244, 0.09);
    border-color: rgba(201, 162, 91, 0.38);
}

.cv-about-enquiry-item-icon {
    width: 51px;
    height: 51px;
    flex-shrink: 0;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-brushed-gold);
    background: var(--cv-dark-navy);
    border: 1px solid rgba(201, 162, 91, 0.30);
    font-size: 17px;
}

.cv-about-enquiry-item-content {
    min-width: 0;
}

.cv-about-enquiry-item-content small {
    display: block;
    margin-bottom: 5px;
    color: var(--cv-warm-ivory);
    font-size: 13px;
    font-weight: 700;
}

.cv-about-enquiry-item-content strong {
    display: block;
    color: rgba(231, 225, 216, 0.68);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.cv-about-enquiry-item-arrow {
    position: absolute;
    top: 50%;
    right: 16px;
    color: var(--cv-brushed-gold);
    font-size: 12px;
    transform: translateY(-50%);
}

/* Trust block */

.cv-about-enquiry-trust {
    position: relative;
    z-index: 2;
    margin-top: 27px;
    padding-top: 26px;
    display: flex;
    align-items: center;
    gap: 14px;
    border-top: 1px solid rgba(231, 225, 216, 0.16);
}

.cv-about-enquiry-trust-icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-primary-navy);
    background: var(--cv-brushed-gold);
    font-size: 17px;
}

.cv-about-enquiry-trust small {
    display: block;
    margin-bottom: 5px;
    color: rgba(231, 225, 216, 0.52);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.cv-about-enquiry-trust strong {
    display: block;
    color: var(--cv-soft-beige);
    font-size: 14px;
}

/* =========================================
   FORM CARD
========================================= */

.cv-about-enquiry-form-card {
    position: relative;
    padding: 39px;
    border-radius: 30px;

    background:
        linear-gradient(
            145deg,
            rgba(248, 247, 244, 0.97),
            rgba(231, 225, 216, 0.72)
        );

    border: 1px solid rgba(19, 40, 85, 0.13);

    box-shadow:
        0 35px 75px rgba(13, 28, 69, 0.13),
        inset 0 1px 0 rgba(248, 247, 244, 0.95);

    overflow: hidden;
}

.cv-about-enquiry-form-card::before {
    content: "";
    position: absolute;
    top: -130px;
    right: -120px;
    width: 330px;
    height: 330px;
    border-radius: 50%;
    background: rgba(201, 162, 91, 0.12);
    filter: blur(65px);
    pointer-events: none;
}

.cv-about-enquiry-form-header {
    position: relative;
    z-index: 2;
    margin-bottom: 29px;
    padding-bottom: 24px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
    border-bottom: 1px solid rgba(19, 40, 85, 0.12);
}

.cv-about-enquiry-form-kicker {
    display: block;
    margin-bottom: 8px;
    color: var(--cv-natural-oak);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.4px;
    text-transform: uppercase;
}

.cv-about-enquiry-form-header h3 {
    margin: 0;
    color: var(--cv-primary-navy);
    font-size: clamp(27px, 2.5vw, 36px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -1.3px;
}

.cv-about-enquiry-form-index {
    color: rgba(19, 40, 85, 0.28);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
}

/* Form */

.cv-about-enquiry-form {
    position: relative;
    z-index: 2;
}

.cv-about-enquiry-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px;
}

.cv-about-enquiry-field {
    margin-bottom: 19px;
}

.cv-about-enquiry-field label {
    display: block;
    margin-bottom: 9px;
    color: rgba(19, 40, 85, 0.62);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.cv-about-enquiry-field label span {
    color: var(--cv-natural-oak);
}

.cv-about-enquiry-input,
.cv-about-enquiry-textarea {
    position: relative;
}

.cv-about-enquiry-input > i {
    position: absolute;
    top: 50%;
    left: 17px;
    z-index: 2;
    color: var(--cv-natural-oak);
    font-size: 13px;
    transform: translateY(-50%);
    pointer-events: none;
}

.cv-about-enquiry-input input,
.cv-about-enquiry-input select,
.cv-about-enquiry-textarea textarea {
    width: 100%;
    color: var(--cv-primary-navy);
    background: rgba(248, 247, 244, 0.82);
    border: 1px solid rgba(19, 40, 85, 0.15);
    outline: none;
    font-family: inherit;
    font-size: 14px;

    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        background-color 0.3s ease;
}

.cv-about-enquiry-input input,
.cv-about-enquiry-input select {
    height: 59px;
    padding: 0 45px 0 46px;
    border-radius: 15px;
}

.cv-about-enquiry-textarea textarea {
    min-height: 145px;
    padding: 18px 48px 18px 17px;
    border-radius: 16px;
    resize: vertical;
    line-height: 1.6;
}

.cv-about-enquiry-input input::placeholder,
.cv-about-enquiry-textarea textarea::placeholder {
    color: rgba(19, 40, 85, 0.40);
}

.cv-about-enquiry-input input:focus,
.cv-about-enquiry-input select:focus,
.cv-about-enquiry-textarea textarea:focus {
    background: var(--cv-warm-ivory);
    border-color: var(--cv-natural-oak);
    box-shadow: 0 0 0 4px rgba(184, 133, 88, 0.11);
}

.cv-about-enquiry-select select {
    appearance: none;
    cursor: pointer;
}

.cv-about-enquiry-select::after {
    content: "\f078";
    position: absolute;
    top: 50%;
    right: 17px;
    color: var(--cv-natural-oak);
    font-family: "Font Awesome 6 Free";
    font-size: 11px;
    font-weight: 900;
    transform: translateY(-50%);
    pointer-events: none;
}

.cv-about-enquiry-textarea > span {
    position: absolute;
    right: 17px;
    bottom: 16px;
    color: var(--cv-natural-oak);
    font-size: 13px;
}

/* Validation error */

.cv-about-enquiry-field-error {
    border-color: var(--cv-natural-oak) !important;
    box-shadow: 0 0 0 4px rgba(184, 133, 88, 0.13) !important;
}

/* Honeypot */

.cv-about-enquiry-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Response message */

.cv-about-enquiry-message {
    display: none;
    margin-bottom: 17px;
    padding: 15px 17px;
    border-radius: 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

.cv-about-enquiry-message.cv-about-enquiry-success {
    display: block;
    color: var(--cv-primary-navy);
    background: rgba(201, 162, 91, 0.20);
    border: 1px solid rgba(201, 162, 91, 0.48);
}

.cv-about-enquiry-message.cv-about-enquiry-error {
    display: block;
    color: var(--cv-warm-ivory);
    background: var(--cv-natural-oak);
    border: 1px solid var(--cv-natural-oak);
}

/* Submit */

.cv-about-enquiry-submit {
    position: relative;
    width: 100%;
    min-height: 70px;
    padding: 10px 12px 10px 27px;
    border: 0;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: var(--cv-warm-ivory);
    background:
        linear-gradient(
            135deg,
            var(--cv-primary-navy),
            var(--cv-dark-navy)
        );
    cursor: pointer;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;

    box-shadow: 0 18px 38px rgba(13, 28, 69, 0.20);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.cv-about-enquiry-submit:hover {
    transform: translateY(-3px);
    box-shadow: 0 25px 48px rgba(13, 28, 69, 0.28);
}

.cv-about-enquiry-submit:disabled {
    cursor: not-allowed;
    opacity: 0.72;
    transform: none;
}

.cv-about-enquiry-submit-icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cv-primary-navy);
    background: var(--cv-brushed-gold);
    transition: transform 0.35s ease;
}

.cv-about-enquiry-submit:hover .cv-about-enquiry-submit-icon {
    transform: translateX(4px);
}

/* Loader */

.cv-about-enquiry-loader {
    display: none;
    position: absolute;
    top: 50%;
    right: 28px;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    border: 3px solid rgba(248, 247, 244, 0.30);
    border-top-color: var(--cv-warm-ivory);
    transform: translateY(-50%);
    animation: cvAboutEnquirySpin 0.8s linear infinite;
}

.cv-about-enquiry-submit.cv-about-enquiry-loading
.cv-about-enquiry-submit-icon {
    visibility: hidden;
}

.cv-about-enquiry-submit.cv-about-enquiry-loading
.cv-about-enquiry-loader {
    display: block;
}

@keyframes cvAboutEnquirySpin {
    from {
        transform: translateY(-50%) rotate(0deg);
    }

    to {
        transform: translateY(-50%) rotate(360deg);
    }
}

.cv-about-enquiry-form-note {
    margin: 14px 0 0;
    color: rgba(19, 40, 85, 0.50);
    font-size: 11px;
    line-height: 1.5;
    text-align: center;
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 1050px) {

    .cv-about-enquiry-section {
        padding: 105px 25px;
    }

    .cv-about-enquiry-heading-row {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 35px;
    }

    .cv-about-enquiry-intro {
        max-width: 700px;
    }

    .cv-about-enquiry-layout {
        grid-template-columns: 1fr;
    }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .cv-about-enquiry-section {
        padding: 80px 18px;
    }

    .cv-about-enquiry-grid {
        height: 250px;
        background-size: 55px 55px;
        opacity: 0.38;
    }

    .cv-about-enquiry-header {
        margin-bottom: 48px;
    }

    .cv-about-enquiry-label {
        margin-bottom: 18px;
        gap: 12px;
        font-size: 9px;
        letter-spacing: 2.3px;
    }

    .cv-about-enquiry-label-line {
        width: 35px;
    }

    .cv-about-enquiry-heading h2 {
        font-size: clamp(42px, 12vw, 57px);
        line-height: 1.02;
        letter-spacing: -2.5px;
    }

    .cv-about-enquiry-heading h2 span {
        margin-top: 7px;
    }

    .cv-about-enquiry-intro {
        min-height: auto;
        padding: 17px 0 0 60px;
    }

    .cv-about-enquiry-intro-number {
        top: 14px;
        left: 15px;
        font-size: 32px;
    }

    .cv-about-enquiry-intro p {
        font-size: 15px;
    }

    .cv-about-enquiry-info,
    .cv-about-enquiry-form-card {
        padding: 24px;
        border-radius: 23px;
    }

    .cv-about-enquiry-info-header,
    .cv-about-enquiry-form-header {
        gap: 15px;
    }

    .cv-about-enquiry-main-icon {
        width: 54px;
        height: 54px;
        border-radius: 16px;
        font-size: 18px;
    }

    .cv-about-enquiry-info-header h3,
    .cv-about-enquiry-form-header h3 {
        font-size: 28px;
    }

    .cv-about-enquiry-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .cv-about-enquiry-info-item {
        padding-right: 42px;
    }

    .cv-about-enquiry-submit {
        min-height: 66px;
    }
}

@media (max-width: 430px) {

    .cv-about-enquiry-heading h2 {
        font-size: 40px;
    }

    .cv-about-enquiry-info,
    .cv-about-enquiry-form-card {
        padding: 20px;
    }

    .cv-about-enquiry-item-icon {
        width: 46px;
        height: 46px;
    }

    .cv-about-enquiry-item-content strong {
        font-size: 12px;
    }
}

/* =========================================
   ABOUT FAQ SECTION
========================================= */

.cv-about-faq-section {
    position: relative;
    padding: 120px 30px 130px;

    background:
        radial-gradient(
            circle at 88% 8%,
            rgba(201, 162, 91, 0.11),
            transparent 28%
        ),
        radial-gradient(
            circle at 7% 92%,
            rgba(184, 133, 88, 0.08),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            var(--cv-dark-navy) 0%,
            var(--cv-primary-navy) 50%,
            var(--cv-dark-navy) 100%
        );

    overflow: hidden;
    isolation: isolate;
}

/* =========================================
   RECTANGLE GRID MASK
========================================= */

.cv-about-faq-grid-mask {
    position: absolute;
    inset: 0;
    z-index: -4;
    pointer-events: none;

    background-image:
        linear-gradient(
            to right,
            rgba(248, 247, 244, 0.06) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(248, 247, 244, 0.06) 1px,
            transparent 1px
        );

    background-size: 90px 90px;
    opacity: 0.45;

    -webkit-mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.78) 46%,
        rgba(0, 0, 0, 0.30) 82%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.78) 46%,
        rgba(0, 0, 0, 0.30) 82%,
        transparent 100%
    );
}

/* Background glows */

.cv-about-faq-glow {
    position: absolute;
    z-index: -3;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(120px);
}

.cv-about-faq-glow-one {
    top: -220px;
    right: -180px;
    width: 560px;
    height: 560px;
    background: rgba(201, 162, 91, 0.12);
}

.cv-about-faq-glow-two {
    left: -220px;
    bottom: -260px;
    width: 520px;
    height: 520px;
    background: rgba(184, 133, 88, 0.08);
}

/* Container */

.cv-about-faq-container {
    position: relative;
    z-index: 2;
    width: min(100%, 1460px);
    margin: 0 auto;
}

/* Label */

.cv-about-faq-label {
    margin-bottom: 58px;
    display: flex;
    align-items: center;
    gap: 16px;

    color: rgba(231, 225, 216, 0.56);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3.4px;
}

.cv-about-faq-label-line {
    width: 48px;
    height: 1px;
    flex-shrink: 0;
    background: var(--cv-brushed-gold);
}

/* =========================================
   MAIN LAYOUT
========================================= */

.cv-about-faq-layout {
    display: grid;
    grid-template-columns:
        minmax(360px, 0.72fr)
        minmax(0, 1.28fr);
    align-items: start;
    gap: clamp(70px, 8vw, 140px);
}

/* =========================================
   LEFT INTRO
========================================= */

.cv-about-faq-intro {
    position: sticky;
    top: 120px;
    max-width: 500px;
}

.cv-about-faq-kicker {
    display: block;
    margin-bottom: 17px;
    color: var(--cv-brushed-gold);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2.8px;
    text-transform: uppercase;
}

.cv-about-faq-intro h2 {
    margin: 0;
    color: var(--cv-warm-ivory);
    font-size: clamp(50px, 4.5vw, 76px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -4px;
}

.cv-about-faq-intro h2 span {
    display: block;
    margin-top: 9px;
    color: var(--cv-brushed-gold);
}

.cv-about-faq-intro > p {
    max-width: 465px;
    margin: 29px 0 0;
    color: rgba(231, 225, 216, 0.70);
    font-size: 17px;
    line-height: 1.78;
}

/* FAQ summary */

.cv-about-faq-summary {
    margin-top: 40px;
    padding: 23px 25px;
    border-radius: 19px;
    display: flex;
    align-items: center;
    gap: 18px;

    background:
        linear-gradient(
            135deg,
            rgba(248, 247, 244, 0.075),
            rgba(248, 247, 244, 0.025)
        );

    border: 1px solid rgba(201, 162, 91, 0.24);
    backdrop-filter: blur(12px);
}

.cv-about-faq-summary-number {
    width: 67px;
    height: 67px;
    flex-shrink: 0;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--cv-dark-navy);
    background: var(--cv-brushed-gold);
    font-size: 29px;
    font-weight: 800;
}

.cv-about-faq-summary small {
    display: block;
    margin-bottom: 6px;
    color: rgba(231, 225, 216, 0.52);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.cv-about-faq-summary strong {
    display: block;
    color: var(--cv-warm-ivory);
    font-size: 15px;
}

/* Help card */

.cv-about-faq-help-card {
    margin-top: 17px;
    padding: 19px 22px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    gap: 14px;

    background: rgba(248, 247, 244, 0.045);
    border: 1px solid rgba(231, 225, 216, 0.12);
}

.cv-about-faq-help-icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--cv-brushed-gold);
    background: var(--cv-dark-navy);
    border: 1px solid rgba(201, 162, 91, 0.30);
    font-size: 17px;
}

.cv-about-faq-help-card small {
    display: block;
    margin-bottom: 5px;
    color: rgba(231, 225, 216, 0.50);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.cv-about-faq-help-card a {
    color: var(--cv-warm-ivory);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.cv-about-faq-help-card a i {
    margin-left: 7px;
    color: var(--cv-brushed-gold);
    transition: transform 0.3s ease;
}

.cv-about-faq-help-card a:hover i {
    transform: translateX(4px);
}

/* =========================================
   FAQ LIST
========================================= */

.cv-about-faq-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.cv-about-faq-item {
    position: relative;
    border-radius: 22px;

    background:
        linear-gradient(
            140deg,
            rgba(248, 247, 244, 0.075),
            rgba(248, 247, 244, 0.03)
        );

    border: 1px solid rgba(231, 225, 216, 0.13);

    box-shadow:
        0 22px 52px rgba(13, 28, 69, 0.22),
        inset 0 1px 0 rgba(248, 247, 244, 0.05);

    backdrop-filter: blur(13px);
    overflow: hidden;

    transition:
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        transform 0.35s ease;
}

.cv-about-faq-item:hover,
.cv-about-faq-item.active {
    border-color: rgba(201, 162, 91, 0.42);
    box-shadow:
        0 28px 65px rgba(13, 28, 69, 0.32),
        inset 0 1px 0 rgba(248, 247, 244, 0.08);
}

.cv-about-faq-item.active {
    transform: translateX(7px);
}

/* Question button */

.cv-about-faq-question {
    width: 100%;
    min-height: 112px;
    padding: 25px 25px;
    border: 0;
    display: grid;
    grid-template-columns:
        46px
        minmax(0, 1fr)
        48px;
    align-items: center;
    gap: 18px;

    color: inherit;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
}

/* Number */

.cv-about-faq-number {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--cv-brushed-gold);
    background: var(--cv-dark-navy);
    border: 1px solid rgba(201, 162, 91, 0.30);

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;

    transition:
        color 0.35s ease,
        background-color 0.35s ease,
        transform 0.35s ease;
}

.cv-about-faq-item.active .cv-about-faq-number {
    color: var(--cv-dark-navy);
    background: var(--cv-brushed-gold);
    transform: rotate(-5deg);
}

/* Question text */

.cv-about-faq-question-text {
    color: var(--cv-warm-ivory);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
}

/* Toggle */

.cv-about-faq-toggle {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--cv-brushed-gold);
    border: 1px solid rgba(201, 162, 91, 0.40);

    font-size: 13px;

    transition:
        transform 0.4s ease,
        color 0.35s ease,
        background-color 0.35s ease;
}

.cv-about-faq-item.active .cv-about-faq-toggle {
    color: var(--cv-dark-navy);
    background: var(--cv-brushed-gold);
    transform: rotate(180deg);
}

/* Answer animation */

.cv-about-faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.42s ease;
}

.cv-about-faq-item.active .cv-about-faq-answer {
    grid-template-rows: 1fr;
}

.cv-about-faq-answer-inner {
    min-height: 0;
    overflow: hidden;
}

.cv-about-faq-answer-inner {
    position: relative;
    padding: 0 72px 0 89px;
}

.cv-about-faq-item.active .cv-about-faq-answer-inner {
    padding-top: 2px;
    padding-bottom: 28px;
}

.cv-about-faq-answer-line {
    position: absolute;
    top: 4px;
    bottom: 30px;
    left: 49px;
    width: 2px;
    border-radius: 10px;

    background:
        linear-gradient(
            to bottom,
            var(--cv-brushed-gold),
            var(--cv-natural-oak)
        );
}

.cv-about-faq-answer p {
    margin: 0;
    color: rgba(231, 225, 216, 0.68);
    font-size: 15px;
    line-height: 1.75;
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 1000px) {

    .cv-about-faq-section {
        padding: 105px 25px;
    }

    .cv-about-faq-layout {
        grid-template-columns: 1fr;
        gap: 65px;
    }

    .cv-about-faq-intro {
        position: relative;
        top: auto;
        max-width: 760px;
    }

    .cv-about-faq-intro > p {
        max-width: 650px;
    }

    .cv-about-faq-summary,
    .cv-about-faq-help-card {
        max-width: 480px;
    }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .cv-about-faq-section {
        padding: 80px 18px;
    }

    .cv-about-faq-grid-mask {
        background-size: 55px 55px;
        opacity: 0.38;
    }

    .cv-about-faq-label {
        margin-bottom: 42px;
        gap: 12px;
        font-size: 9px;
        letter-spacing: 2.3px;
    }

    .cv-about-faq-label-line {
        width: 35px;
    }

    .cv-about-faq-intro h2 {
        font-size: clamp(43px, 12vw, 57px);
        line-height: 1.02;
        letter-spacing: -2.5px;
    }

    .cv-about-faq-intro > p {
        font-size: 15px;
    }

    .cv-about-faq-question {
        min-height: 96px;
        padding: 20px;
        grid-template-columns:
            40px
            minmax(0, 1fr)
            40px;
        gap: 13px;
    }

    .cv-about-faq-number {
        width: 39px;
        height: 39px;
        border-radius: 12px;
    }

    .cv-about-faq-question-text {
        font-size: 16px;
    }

    .cv-about-faq-toggle {
        width: 39px;
        height: 39px;
    }

    .cv-about-faq-answer-inner {
        padding-left: 72px;
        padding-right: 24px;
    }

    .cv-about-faq-answer-line {
        left: 39px;
    }

    .cv-about-faq-answer p {
        font-size: 14px;
    }
}

@media (max-width: 430px) {

    .cv-about-faq-intro h2 {
        font-size: 40px;
    }

    .cv-about-faq-question {
        grid-template-columns:
            1fr
            40px;
    }

    .cv-about-faq-number {
        display: none;
    }

    .cv-about-faq-answer-inner {
        padding-left: 24px;
    }

    .cv-about-faq-answer-line {
        left: 10px;
    }
}

/* =========================================
   ABOUT FINAL CTA SECTION
========================================= */

.cv-about-final-cta {
    position: relative;
    min-height: 720px;
    padding: 120px 30px;
    display: flex;
    align-items: center;
    justify-content: center;

    background-image:
        url("../images/about/about-final-bg.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    overflow: hidden;
    isolation: isolate;
}

/* Main dark overlay */

.cv-about-final-overlay {
    position: absolute;
    inset: 0;
    z-index: -4;
    pointer-events: none;

    background:
        linear-gradient(
            135deg,
            rgba(13, 28, 69, 0.96) 0%,
            rgba(19, 40, 85, 0.91) 48%,
            rgba(13, 28, 69, 0.97) 100%
        );
}

/* Rectangle grid over image */

.cv-about-final-grid {
    position: absolute;
    inset: 0;
    z-index: -3;
    pointer-events: none;

    background-image:
        linear-gradient(
            to right,
            rgba(248, 247, 244, 0.06) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(248, 247, 244, 0.06) 1px,
            transparent 1px
        );

    background-size: 90px 90px;
    opacity: 0.42;

    -webkit-mask-image: radial-gradient(
        ellipse at center,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.58) 55%,
        transparent 92%
    );

    mask-image: radial-gradient(
        ellipse at center,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.58) 55%,
        transparent 92%
    );
}

/* Decorative glows */

.cv-about-final-glow {
    position: absolute;
    z-index: -2;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(125px);
}

.cv-about-final-glow-one {
    top: -230px;
    right: -170px;
    width: 570px;
    height: 570px;
    background: rgba(201, 162, 91, 0.19);
}

.cv-about-final-glow-two {
    left: -220px;
    bottom: -260px;
    width: 540px;
    height: 540px;
    background: rgba(184, 133, 88, 0.13);
}

/* Container */

.cv-about-final-container {
    position: relative;
    z-index: 2;
    width: min(100%, 1120px);
    margin: 0 auto;
    text-align: center;
}

/* Label */

.cv-about-final-label {
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 17px;

    color: var(--cv-brushed-gold);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3.5px;
}

.cv-about-final-label-line {
    width: 48px;
    height: 1px;
    background: var(--cv-brushed-gold);
    opacity: 0.75;
}

/* Heading */

.cv-about-final-title {
    max-width: 1050px;
    margin: 0 auto;
    color: var(--cv-warm-ivory);
    font-size: clamp(52px, 4.1vw, 84px);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -4px;
    text-shadow: 0 18px 45px rgba(13, 28, 69, 0.42);
}

.cv-about-final-title span {
    display: block;
    margin-top: 11px;
    color: var(--cv-brushed-gold);
}

/* Description */

.cv-about-final-description {
    max-width: 680px;
    margin: 31px auto 0;
    color: rgba(231, 225, 216, 0.78);
    font-size: 18px;
    line-height: 1.75;
}

/* Buttons */

.cv-about-final-actions {
    margin-top: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 17px;
}

.cv-about-final-btn {
    min-height: 72px;
    padding: 10px 18px 10px 29px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;

    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        color 0.35s ease,
        background-color 0.35s ease,
        border-color 0.35s ease;
}

/* Primary button */

.cv-about-final-btn-primary {
    color: var(--cv-dark-navy);
    background:
        linear-gradient(
            135deg,
            var(--cv-brushed-gold),
            var(--cv-natural-oak)
        );
    border: 1px solid rgba(248, 247, 244, 0.18);

    box-shadow:
        0 20px 40px rgba(13, 28, 69, 0.30),
        inset 0 1px 0 rgba(248, 247, 244, 0.22);
}

.cv-about-final-btn-primary:hover {
    color: var(--cv-dark-navy);
    transform: translateY(-5px);
    box-shadow:
        0 29px 55px rgba(13, 28, 69, 0.42),
        inset 0 1px 0 rgba(248, 247, 244, 0.28);
}

.cv-about-final-btn-icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--cv-brushed-gold);
    background: var(--cv-dark-navy);

    transition: transform 0.35s ease;
}

.cv-about-final-btn-primary:hover .cv-about-final-btn-icon {
    transform: translateX(5px) rotate(-7deg);
}

/* Secondary button */

.cv-about-final-btn-secondary {
    min-width: 210px;
    padding: 10px 27px;
    color: var(--cv-warm-ivory);
    background: rgba(248, 247, 244, 0.055);
    border: 1px solid rgba(231, 225, 216, 0.25);
    backdrop-filter: blur(12px);
}

.cv-about-final-btn-secondary:hover {
    color: var(--cv-dark-navy);
    background: var(--cv-warm-ivory);
    border-color: var(--cv-warm-ivory);
    transform: translateY(-5px);
}

.cv-about-final-btn-secondary i {
    color: var(--cv-brushed-gold);
    transition:
        color 0.35s ease,
        transform 0.35s ease;
}

.cv-about-final-btn-secondary:hover i {
    color: var(--cv-natural-oak);
    transform: translate(3px, -3px);
}

/* Trust strip */

.cv-about-final-trust {
    width: fit-content;
    max-width: 100%;
    margin: 45px auto 0;
    padding: 17px 24px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 18px;

    background: rgba(248, 247, 244, 0.055);
    border: 1px solid rgba(231, 225, 216, 0.14);
    backdrop-filter: blur(14px);
}

.cv-about-final-trust-item {
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(231, 225, 216, 0.76);
    font-size: 12px;
    font-weight: 650;
}

.cv-about-final-trust-item i {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--cv-dark-navy);
    background: var(--cv-brushed-gold);
    font-size: 9px;
}

.cv-about-final-trust-divider {
    width: 1px;
    height: 25px;
    background: rgba(231, 225, 216, 0.18);
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 1000px) {

    .cv-about-final-cta {
        min-height: 660px;
        padding: 105px 25px;
    }

    .cv-about-final-title {
        font-size: clamp(50px, 7vw, 72px);
    }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .cv-about-final-cta {
        min-height: 650px;
        padding: 85px 18px;
        background-position: center;
    }

    .cv-about-final-grid {
        background-size: 55px 55px;
        opacity: 0.35;
    }

    .cv-about-final-label {
        margin-bottom: 24px;
        gap: 11px;
        font-size: 9px;
        letter-spacing: 2.3px;
    }

    .cv-about-final-label-line {
        width: 32px;
    }

    .cv-about-final-title {
        font-size: clamp(40px, 11.5vw, 56px);
        line-height: 1.08;
        letter-spacing: -2.5px;
    }

    .cv-about-final-title span {
        margin-top: 8px;
    }

    .cv-about-final-description {
        margin-top: 25px;
        font-size: 16px;
        line-height: 1.7;
    }

    .cv-about-final-actions {
        margin-top: 34px;
        align-items: stretch;
        flex-direction: column;
    }

    .cv-about-final-btn {
        width: 100%;
        min-height: 67px;
        justify-content: space-between;
    }

    .cv-about-final-btn-secondary {
        padding: 10px 24px;
    }

    .cv-about-final-trust {
        width: 100%;
        margin-top: 35px;
        padding: 18px;
        border-radius: 20px;
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .cv-about-final-trust-divider {
        width: 100%;
        height: 1px;
    }
}

@media (max-width: 430px) {

    .cv-about-final-title {
        font-size: 39px;
    }
}