/*
Theme Name: Aixor Child - Performances Group
Theme URI: https://performancesgroup.com
Description: Child theme for Aixor customized for Performances Group.
Author: Performances Group
Template: aixor
Version: 1.0.0
Text Domain: aixor-child-performances-group
*/

/* ==========================================================
   PERFORMANCES GROUP — AIXOR CUSTOM DESIGN SYSTEM
   ========================================================== */

:root {
    --pg-ink: #171B1E;
    --pg-dark: #252B2F;
    --pg-grey: #747B7E;
    --pg-light-grey: #EEF1F2;
    --pg-offwhite: #F7F8F6;
    --pg-white: #FFFFFF;

    --pg-blue: #1760A9;
    --pg-sky: #43AED7;
    --pg-green: #129539;
    --pg-lime: #A8C92A;
    --pg-yellow: #FFC000;
    --pg-orange: #F49B00;
    --pg-pink: #E97BAB;

    --pg-radius: 4px;
    --pg-container: 1380px;
}

html { scroll-behavior: smooth; }

body {
    background: var(--pg-white);
    color: var(--pg-ink);
    font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
    font-size: 17px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body, p, li, a, button, input, textarea {
    font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--pg-ink);
    font-weight: 500;
    letter-spacing: -0.035em;
    line-height: 1.06;
}

h1 { font-size: clamp(3.2rem, 6vw, 6.7rem); }
h2 { font-size: clamp(2.5rem, 4.5vw, 5rem); }
h3 { font-size: clamp(1.65rem, 2.4vw, 2.6rem); }
p { margin-bottom: 1.35em; }
a { color: inherit; text-decoration: none; }
::selection { background: var(--pg-blue); color: #fff; }

.pg-container {
    width: min(92%, var(--pg-container));
    margin-inline: auto;
}

.pg-section { padding: clamp(80px, 10vw, 150px) 0; }
.pg-section-small { padding: clamp(55px, 7vw, 100px) 0; }

.pg-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 26px;
    color: var(--pg-grey);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.pg-eyebrow::before {
    content: "";
    width: 34px;
    height: 2px;
    background: var(--pg-blue);
}

.pg-lead {
    max-width: 760px;
    color: var(--pg-dark);
    font-size: clamp(1.25rem, 1.65vw, 1.65rem);
    line-height: 1.48;
    letter-spacing: -0.015em;
}

.pg-text-muted { color: var(--pg-grey); }

.pg-btn .elementor-button,
a.pg-btn,
button.pg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 14px 28px;
    border: 1px solid var(--pg-ink);
    border-radius: 0;
    background: var(--pg-ink);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: background-color .3s ease, color .3s ease, transform .3s ease;
}

.pg-btn .elementor-button:hover,
a.pg-btn:hover,
button.pg-btn:hover {
    background: var(--pg-blue);
    border-color: var(--pg-blue);
    transform: translateY(-2px);
}

.pg-btn-outline .elementor-button { background: transparent; color: var(--pg-ink); }
.pg-btn-outline .elementor-button:hover { background: var(--pg-ink); color: #fff; }

.pg-link a,
a.pg-link {
    display: inline-block;
    border-bottom: 1px solid currentColor;
    padding-bottom: 4px;
    font-weight: 500;
    transition: opacity .25s ease;
}

.pg-link a:hover,
a.pg-link:hover { opacity: .55; }

.pg-divider { width: 100%; border-top: 1px solid #D9DEDF; }

.pg-header {
    position: relative;
    z-index: 50;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid rgba(23,27,30,.08);
}

.pg-header .elementor-container,
.pg-header .e-con-inner { min-height: 86px; }
.pg-header img { max-height: 54px; width: auto; }
.pg-header .elementor-nav-menu > li > a {
    color: var(--pg-ink);
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: -0.01em;
}
.pg-header .elementor-nav-menu > li > a:hover { color: var(--pg-blue); }

.pg-hero {
    position: relative;
    min-height: min(850px, 90vh);
    overflow: hidden;
    background: var(--pg-offwhite);
}
.pg-hero .e-con-inner { min-height: inherit; }
.pg-hero-title { max-width: 980px; position: relative; z-index: 4; }
.pg-hero-title h1 {
    margin: 0;
    font-size: clamp(3.3rem, 6.4vw, 7rem);
    font-weight: 500;
    letter-spacing: -0.055em;
    line-height: .96;
}
.pg-hero-copy { max-width: 640px; position: relative; z-index: 4; }
.pg-hero-copy p {
    color: #454B4F;
    font-size: clamp(1.15rem, 1.6vw, 1.5rem);
    line-height: 1.5;
}

.pg-africa-mark {
    position: absolute;
    right: -7vw;
    top: 50%;
    width: min(49vw, 760px);
    transform: translateY(-50%);
    opacity: .13;
    pointer-events: none;
    z-index: 1;
    animation: pgFloat 9s ease-in-out infinite;
}
.pg-africa-mark img { width: 100%; height: auto; }

@keyframes pgFloat {
    0%, 100% { transform: translateY(-50%) translate3d(0,0,0); }
    50% { transform: translateY(-50%) translate3d(0,-15px,0); }
}

.pg-stats {
    border-top: 1px solid #D9DEDF;
    border-bottom: 1px solid #D9DEDF;
}
.pg-stat { padding: 42px 0; }
.pg-stat-number {
    color: var(--pg-ink);
    font-size: clamp(3rem, 5vw, 5.6rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.05em;
}
.pg-stat-label {
    max-width: 200px;
    margin-top: 15px;
    color: var(--pg-grey);
    font-size: .92rem;
    line-height: 1.4;
}

.pg-expertise-item {
    position: relative;
    display: block;
    padding: clamp(35px, 4vw, 62px) 0;
    border-top: 1px solid #D7DCDE;
    transition: padding-left .35s ease;
}
.pg-expertise-item:last-child { border-bottom: 1px solid #D7DCDE; }
.pg-expertise-item:hover { padding-left: 24px; }
.pg-expertise-item h3 {
    margin: 0;
    font-size: clamp(2.2rem, 4.3vw, 4.8rem);
    font-weight: 400;
}
.pg-expertise-item p { max-width: 540px; margin: 16px 0 0; color: var(--pg-grey); }
.pg-expertise-strategy:hover { border-top-color: var(--pg-blue); }
.pg-expertise-transformation:hover { border-top-color: var(--pg-green); }
.pg-expertise-finance:hover { border-top-color: var(--pg-yellow); }
.pg-expertise-audit:hover { border-top-color: var(--pg-pink); }

.pg-sector-card {
    position: relative;
    min-height: 410px;
    overflow: hidden;
    background: #111;
}
.pg-sector-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.pg-sector-card:hover img { transform: scale(1.045); }
.pg-sector-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.68) 0%, rgba(0,0,0,.08) 70%);
}
.pg-sector-card .pg-sector-content {
    position: absolute;
    z-index: 2;
    left: 30px;
    right: 30px;
    bottom: 25px;
    color: #fff;
}
.pg-sector-card .pg-sector-content h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.45rem, 2vw, 2.25rem);
}

.pg-impact { background: var(--pg-ink); color: #fff; }
.pg-impact h2,
.pg-impact h3,
.pg-impact .pg-eyebrow { color: #fff; }
.pg-impact .pg-eyebrow::before { background: var(--pg-sky); }
.pg-case { padding: 36px 0; border-top: 1px solid rgba(255,255,255,.18); }
.pg-case:last-child { border-bottom: 1px solid rgba(255,255,255,.18); }
.pg-case-meta {
    color: rgba(255,255,255,.58);
    font-size: .82rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.pg-case h3 {
    max-width: 860px;
    margin: 15px 0;
    font-size: clamp(1.65rem, 2.7vw, 3rem);
    font-weight: 400;
}

.pg-insight-card { height: 100%; }
.pg-insight-image { overflow: hidden; aspect-ratio: 16 / 10; }
.pg-insight-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease;
}
.pg-insight-card:hover .pg-insight-image img { transform: scale(1.035); }
.pg-insight-category {
    margin-top: 22px;
    color: var(--pg-blue);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.pg-insight-card h3 {
    margin-top: 10px;
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.14;
}

.pg-person img { filter: saturate(.85); transition: filter .35s ease; }
.pg-person:hover img { filter: saturate(1); }
.pg-person-name { margin-top: 18px; margin-bottom: 4px; font-size: 1.25rem; font-weight: 500; }
.pg-person-role { color: var(--pg-grey); font-size: .9rem; }

.pg-cta { background: var(--pg-blue); color: #fff; }
.pg-cta h2,
.pg-cta p { color: #fff; }
.pg-cta .elementor-button { background: #fff; border-color: #fff; color: var(--pg-ink); }
.pg-cta .elementor-button:hover { background: var(--pg-ink); border-color: var(--pg-ink); color: #fff; }

.pg-footer { background: #111517; color: rgba(255,255,255,.72); }
.pg-footer h2,
.pg-footer h3,
.pg-footer h4,
.pg-footer a { color: #fff; }
.pg-footer a:hover { color: var(--pg-sky); }
.pg-footer-logo img { max-width: 190px; }

@media (max-width: 1024px) {
    .pg-hero { min-height: auto; padding: 120px 0 90px; }
    .pg-africa-mark { right: -15vw; width: 62vw; opacity: .09; }
    .pg-sector-card { min-height: 340px; }
}

@media (max-width: 767px) {
    body { font-size: 16px; }
    .pg-section { padding: 72px 0; }
    .pg-hero { padding: 90px 0 70px; }
    .pg-hero-title h1 { font-size: clamp(3rem, 14vw, 4.7rem); line-height: .99; }
    .pg-africa-mark { right: -35%; top: 43%; width: 105vw; opacity: .065; }
    .pg-expertise-item:hover { padding-left: 0; }
    .pg-stat { padding: 28px 0; }
    .pg-sector-card { min-height: 300px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
