/* ═══════════════════════════════════════════════════════════
   HRH ELTON NGCOBO — EXECUTIVE WEBSITE
   Luxury Dark Theme | Leather Texture | Gold Accents
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Raleway:wght@300;400;500;600;700&display=swap');

/* ─── CSS VARIABLES ─────────────────────────────────────────── */
:root {
    --black: #0a0804;
    --dark: #100d08;
    --dark2: #16120d;
    --dark3: #1e1810;
    --leather: #1a1508;
    --gold: #c9a84c;
    --gold2: #e2c06a;
    --gold3: #f0d080;
    --gold-dark: #8a6a20;
    --gold-dim: rgba(201,168,76,0.25);
    --cream: #f2ead8;
    --cream2: #e8dfc5;
    --parchment: #ede3c4;
    --white: #ffffff;
    --text-light: #d4c9a8;
    --text-mid: #a89878;
    --text-dim: #6b5a3a;
    --border: rgba(201,168,76,0.22);
    --border2: rgba(201,168,76,0.45);
    --f-title: 'Cinzel', Georgia, serif;
    --f-body: 'EB Garamond', Georgia, serif;
    --f-ui: 'Raleway', sans-serif;
}

/* ─── BASE ──────────────────────────────────────────────────── */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--f-ui);
    background: var(--dark);
    color: var(--cream);
    line-height: 1.7;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}

img {
    max-width: 100%;
    display: block;
}

ul {
    list-style: none;
}

::-webkit-scrollbar {
    width: 5px;
}

::-webkit-scrollbar-track {
    background: var(--black);
}

::-webkit-scrollbar-thumb {
    background: var(--gold-dark);
}

/* ─── LEATHER TEXTURE ──────────────────────────────────────── */
.leather-bg {
    background-color: var(--leather);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='4' height='4' fill='%23120f08'/%3E%3Crect x='0' y='0' width='1' height='1' fill='%23181208' opacity='0.6'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%231c1508' opacity='0.4'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%231a1308' opacity='0.3'/%3E%3C/svg%3E");
    position: relative;
}

    .leather-bg::before {
        content: '';
        position: absolute;
        inset: 0;
        background: radial-gradient(ellipse 120% 60% at 50% 0%, rgba(201,168,76,0.04) 0%, transparent 60%), radial-gradient(ellipse 80% 40% at 50% 100%, rgba(0,0,0,0.5) 0%, transparent 70%);
        pointer-events: none;
        z-index: 0;
    }

/* ─── GOLD ORNAMENT TITLE STYLE ────────────────────────────── */
.ornament-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    font-family: var(--f-title);
    font-size: clamp(1.6rem, 3.5vw, 2.8rem);
    font-weight: 600;
    color: var(--gold2);
    letter-spacing: 0.06em;
    margin-bottom: 0.5rem;
}

    .ornament-title::before,
    .ornament-title::after {
        content: '';
        flex: 1;
        max-width: 60px;
        height: 1px;
        background: linear-gradient(90deg, transparent, var(--gold));
    }

    .ornament-title::after {
        background: linear-gradient(90deg, var(--gold), transparent);
    }

.ornament-subtitle {
    text-align: center;
    font-family: var(--f-body);
    font-size: 1rem;
    font-style: italic;
    color: var(--text-mid);
    letter-spacing: 0.05em;
    margin-bottom: 3rem;
}

/* Left-aligned ornament */
.ornament-title.left {
    justify-content: flex-start;
}

    .ornament-title.left::before {
        display: none;
    }

    .ornament-title.left::after {
        max-width: 40px;
        flex: 0;
    }

/* ─── SECTION SECONDARY NAV ────────────────────────────────── */
.sec-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: rgba(0,0,0,0.4);
    padding: 0.9rem 0;
    position: relative;
    z-index: 1;
}

.sec-nav-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.3rem 2.5rem;
    font-family: var(--f-ui);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--text-mid);
    transition: color 0.3s;
    cursor: pointer;
    border-right: 1px solid var(--border);
}

    .sec-nav-item:last-child {
        border-right: none;
    }

    .sec-nav-item:hover {
        color: var(--gold2);
    }

    .sec-nav-item .sni-icon {
        font-size: 0.9rem;
        opacity: 0.7;
    }

/* ─── NAVBAR ────────────────────────────────────────────────── */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    transition: all 0.4s ease;
}

.navbar-inner {
    display: flex;
    align-items: center;
    max-width: 1300px;
    margin: 0 auto;
    padding: 1.4rem 3rem;
    transition: padding 0.4s;
}

.navbar.scrolled {
    background: rgba(10,8,4,0.96);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--border);
}

    .navbar.scrolled .navbar-inner {
        padding: 0.85rem 3rem;
    }

.navbar-logo-wrap {
    display: flex;
    align-items: center;
    margin-right: auto;
    flex-shrink: 0;
    padding-right: 1.5rem;
}

    .navbar-logo-wrap img {
        height: 64px;
        width: auto;
        object-fit: contain;
        display: block;
        transition: height 0.4s;
    }

.navbar.scrolled .navbar-logo-wrap img {
    height: 48px;
}

.navbar-logo-main {
    font-family: var(--f-title);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--gold2);
    letter-spacing: 0.08em;
}

.navbar-logo-sub {
    font-size: 0.55rem;
    font-weight: 600;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-top: 1px;
}

.navbar-links {
    display: flex;
    align-items: center;
    gap: 0;
}

    .navbar-links a {
        font-size: 0.6rem;
        font-weight: 700;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: var(--text-mid);
        padding: 0.4rem 1rem;
        border-right: 1px solid var(--border);
        transition: color 0.3s;
        position: relative;
    }

        .navbar-links a:first-child {
            border-left: 1px solid var(--border);
        }

        .navbar-links a:hover {
            color: var(--gold2);
        }

        .navbar-links a.nav-cta {
            background: transparent;
            color: var(--gold);
            border: 1px solid var(--gold-dark);
            padding: 0.4rem 1.4rem;
            margin-left: 1.2rem;
            transition: all 0.3s;
        }

            .navbar-links a.nav-cta.nav-active,
            .navbar-links a.nav-cta:hover {
                background: var(--gold-dark);
                color: var(--cream);
            }

            .navbar-links a.nav-cta::after {
                display: none;
            }

.hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    margin-left: auto;
}

    .hamburger span {
        width: 22px;
        height: 1.5px;
        background: var(--gold);
        transition: transform 0.3s ease, opacity 0.3s ease;
        transform-origin: center;
        display: block;
    }

    /* Animate to X when open */
    .hamburger.is-open span:nth-child(1) {
        transform: translateY(6.5px) rotate(45deg);
    }

    .hamburger.is-open span:nth-child(2) {
        opacity: 0;
        transform: scaleX(0);
    }

    .hamburger.is-open span:nth-child(3) {
        transform: translateY(-6.5px) rotate(-45deg);
    }

/* Mobile nav */
.mob-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.8);
    z-index: 1999;
    display: none;
}

    .mob-overlay.open {
        display: block;
    }

.mob-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: min(300px,100vw);
    height: 100vh;
    background: var(--dark2);
    border-left: 1px solid var(--border);
    z-index: 2000;
    padding: 5rem 2rem 2rem;
    transition: right 0.4s ease;
}

    .mob-nav.open {
        right: 0;
    }

.mob-close {
    position: absolute;
    top: 1.2rem;
    right: 1.2rem;
    background: none;
    border: none;
    color: var(--text-mid);
    font-size: 1.4rem;
    cursor: pointer;
}

.mob-links {
    display: flex;
    flex-direction: column;
    gap: 0;
}

    .mob-links a {
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: var(--text-mid);
        padding: 1rem 0;
        border-bottom: 1px solid var(--border);
        transition: color 0.3s;
    }

        .mob-links a:hover {
            color: var(--gold2);
        }

/* ─── BUTTONS ───────────────────────────────────────────────── */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-family: var(--f-ui);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    padding: 0.75rem 2.2rem;
    cursor: pointer;
    border: none;
    transition: all 0.3s ease;
    position: relative;
}

.btn-gold {
    background: linear-gradient(135deg, var(--gold-dark) 0%, var(--gold) 50%, var(--gold-dark) 100%);
    color: var(--dark);
    border: 1px solid var(--gold2);
    box-shadow: 0 2px 20px rgba(201,168,76,0.2), inset 0 1px 0 rgba(255,255,255,0.1);
}

    .btn-gold:hover {
        background: linear-gradient(135deg, var(--gold) 0%, var(--gold3) 50%, var(--gold) 100%);
        transform: translateY(-2px);
        box-shadow: 0 6px 30px rgba(201,168,76,0.35);
    }

.btn-outline {
    background: transparent;
    color: var(--gold);
    border: 1px solid var(--gold-dark);
}

    .btn-outline:hover {
        background: var(--gold-dim);
        border-color: var(--gold);
    }

/* ─── ═══════════════════════════════════════════════════════
   HERO SECTION  — Split: Photo Left | Text Right
   ═══════════════════════════════════════════════════════ */
.hero {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative;
    overflow: hidden;
}

/* LEFT: Portrait photo half */
.hero-photo-side {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
}

    .hero-photo-side .img-placeholder {
        width: 100%;
        height: 100%;
        position: absolute;
        inset: 0;
        background: linear-gradient(160deg, #2a2010 0%, #1a1508 30%, #100d06 60%, #0a0804 100%);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1rem;
    }

    .hero-photo-side .img-placeholder-label {
        font-family: var(--f-title);
        font-size: 0.8rem;
        letter-spacing: 0.2em;
        color: var(--gold-dark);
        text-align: center;
        padding: 0 2rem;
    }

    /* Gold gradient overlay on right edge of photo */
    .hero-photo-side::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 200px;
        height: 100%;
        background: linear-gradient(90deg, transparent 0%, var(--dark) 100%);
        z-index: 2;
    }

/* RIGHT: Text half */
.hero-text-side {
    background: var(--dark);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 6rem 4rem 4rem 3rem;
    position: relative;
    z-index: 3;
}

    .hero-text-side::before {
        content: '';
        position: absolute;
        inset: 0;
        background: radial-gradient(ellipse 80% 60% at 80% 40%, rgba(201,168,76,0.06) 0%, transparent 60%), radial-gradient(ellipse 60% 80% at 20% 80%, rgba(201,168,76,0.03) 0%, transparent 50%);
        pointer-events: none;
    }

.hero-eyebrow {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1.5rem;
}

.hero-eyebrow-line {
    width: 30px;
    height: 1px;
    background: var(--gold);
}

.hero-eyebrow-text {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--gold);
}

.hero-name {
    font-family: var(--f-title);
    font-size: clamp(2.4rem, 4.5vw, 4rem);
    font-weight: 700;
    line-height: 1.05;
    color: var(--white);
    margin-bottom: 0.8rem;
    letter-spacing: 0.03em;
}

    .hero-name .hrh {
        color: var(--gold2);
    }

.hero-pipe-titles {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-bottom: 1.6rem;
    font-family: var(--f-ui);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: var(--text-mid);
}

    .hero-pipe-titles span {
        padding: 0 0;
    }

    .hero-pipe-titles .pipe {
        color: var(--gold-dark);
        margin: 0 0.6rem;
    }

.hero-desc {
    font-family: var(--f-body);
    font-size: 1rem;
    color: var(--text-light);
    line-height: 1.85;
    margin-bottom: 2.5rem;
    max-width: 460px;
}

.hero-ctas {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 3rem;
}

.hero-divider {
    width: 100%;
    height: 1px;
    background: var(--border);
    margin-bottom: 2rem;
}

.hero-stats {
    display: flex;
    gap: 3rem;
}

.hstat-num {
    font-family: var(--f-title);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--gold2);
    line-height: 1;
}

.hstat-lbl {
    font-size: 0.58rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-top: 0.3rem;
}

/* ─── LOGO STRIP ────────────────────────────────────────────── */
.logo-strip {
    background: var(--dark2);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 1.2rem 0;
}

.logo-strip-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 3rem;
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 1rem;
}

.logo-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
}

.logo-placeholder-box {
    width: 80px;
    height: 28px;
    border: 1px solid var(--border);
    background: rgba(201,168,76,0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--f-ui);
    font-size: 0.55rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--gold-dark);
    transition: border-color 0.3s;
}

    .logo-placeholder-box:hover {
        border-color: var(--gold-dark);
    }

.logo-placeholder-lbl {
    font-size: 0.5rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-dim);
    text-align: center;
    max-width: 90px;
}

.logo-strip-sep {
    width: 1px;
    height: 30px;
    background: var(--border);
}

/* ─── ═══════════════════════════════════════════════════════
   ABOUT SECTION  — City BG, Photo Right, Text Left
   ═══════════════════════════════════════════════════════ */
.about-section {
    position: relative;
    overflow: hidden;
    min-height: 80vh;
    display: flex;
    align-items: stretch;
}

/* Background image layer */
.about-bg-photo {
    position: absolute;
    inset: 0;
    z-index: 0;
}

    .about-bg-photo .img-placeholder {
        width: 100%;
        height: 100%;
        background: linear-gradient(100deg, #050402 0%, #0d0a05 30%, #1a1408 60%, #2a2010 100%);
        display: flex;
        align-items: center;
        justify-content: center;
    }

/* Left content panel */
.about-content-col {
    position: relative;
    z-index: 2;
    width: 52%;
    padding: 5rem 3rem 5rem 4rem;
    background: linear-gradient(90deg, rgba(5,4,2,0.98) 0%, rgba(5,4,2,0.95) 70%, transparent 100%);
}

/* Right: Portrait image */
.about-photo-col {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 50%;
    z-index: 1;
}

    .about-photo-col .img-placeholder {
        width: 100%;
        height: 100%;
        background: linear-gradient(200deg, #2a2010 0%, #1a1408 40%, #0a0806 100%);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-end;
        padding-bottom: 3rem;
    }
    /* Fade left edge of portrait into dark */
    .about-photo-col::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 160px;
        background: linear-gradient(90deg, rgba(5,4,2,0.95) 0%, transparent 100%);
        z-index: 3;
    }

.about-section-title {
    font-family: var(--f-title);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 600;
    color: var(--gold2);
    margin-bottom: 0.2rem;
    letter-spacing: 0.05em;
}

.about-title-deco {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.5rem;
}

.deco-dash {
    width: 18px;
    height: 1.5px;
    background: var(--gold-dark);
}

.about-sub-nav {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 2rem;
    font-family: var(--f-ui);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--text-mid);
}

    .about-sub-nav .asn-sep {
        color: var(--gold-dark);
    }

/* Cream content box */
.about-text-box {
    background: rgba(242,234,216,0.93);
    border: 1px solid rgba(201,168,76,0.4);
    padding: 2rem 2.2rem;
    margin-bottom: 1.5rem;
}

    .about-text-box .atb-highlight {
        font-family: var(--f-body);
        font-style: italic;
        font-size: 1rem;
        color: #3a2e1a;
        line-height: 1.7;
        margin-bottom: 1rem;
        font-weight: 500;
    }

    .about-text-box .atb-body {
        font-family: var(--f-body);
        font-size: 0.95rem;
        color: #4a3c22;
        line-height: 1.8;
    }

        .about-text-box .atb-body p {
            margin-bottom: 0.8rem;
        }

            .about-text-box .atb-body p:last-child {
                margin-bottom: 0;
            }

/* ─── ═══════════════════════════════════════════════════════
   LEADERSHIP & INITIATIVES
   ═══════════════════════════════════════════════════════ */
.leadership-section {
    position: relative;
    overflow: hidden;
}

    .leadership-section .leather-overlay {
        position: absolute;
        inset: 0;
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"), radial-gradient(ellipse 100% 80% at 50% 50%, rgba(201,168,76,0.03) 0%, transparent 70%);
        pointer-events: none;
        z-index: 0;
    }

.leadership-inner {
    position: relative;
    z-index: 1;
    padding: 4rem 3rem 3.5rem;
    max-width: 1300px;
    margin: 0 auto;
}

/* 4-column card grid */
.lcard-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-bottom: 3rem;
}

.lcard {
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease;
    cursor: pointer;
}

    .lcard:hover {
        transform: translateY(-4px);
    }

.lcard-photo {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
}

    .lcard-photo .img-placeholder {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        transition: filter 0.4s;
    }

.lcard:hover .lcard-photo .img-placeholder {
    filter: brightness(1.1);
}

.lcard-photo-1 .img-placeholder {
    background: linear-gradient(135deg,#1a2535 0%,#0d1520 100%);
}

.lcard-photo-2 .img-placeholder {
    background: linear-gradient(135deg,#1e1c30 0%,#100e1a 100%);
}

.lcard-photo-3 .img-placeholder {
    background: linear-gradient(135deg,#1a2018 0%,#0d150c 100%);
}

.lcard-photo-4 .img-placeholder {
    background: linear-gradient(135deg,#251c0a 0%,#150f04 100%);
}

.lcard-photo-label {
    font-size: 0.55rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--text-dim);
    text-align: center;
    padding: 0 0.5rem;
}

.lcard-photo-icon {
    font-size: 1.8rem;
    opacity: 0.35;
}

/* Gold border bottom on photo */
.lcard-photo::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    opacity: 0.5;
}

.lcard-body {
    padding: 1.2rem 0.5rem 0.5rem;
}

.lcard-cat {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 0.5rem;
}

.lcard-desc-text {
    font-family: var(--f-body);
    font-size: 0.88rem;
    color: var(--text-mid);
    line-height: 1.6;
}

/* ─── ═══════════════════════════════════════════════════════
   INVESTMENTS SECTION
   ═══════════════════════════════════════════════════════ */
.investments-section {
    position: relative;
    padding: 4rem 0;
}

.inv-section-title {
    font-family: var(--f-title);
    font-size: clamp(0.8rem, 1.5vw, 1.1rem);
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--gold2);
    text-align: center;
    margin-bottom: 0.4rem;
}

.inv-section-subtitle {
    font-family: var(--f-ui);
    font-size: clamp(0.7rem, 1.2vw, 0.9rem);
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--text-mid);
    text-align: center;
    margin-bottom: 2.5rem;
}

.inv-arrow {
    color: var(--gold);
    font-size: 0.8rem;
    margin: 0 0.3rem;
}

/* Parchment panel */
.parchment-panel {
    background: linear-gradient(150deg, #1c160c 0%, #171108 40%, #131009 100%);
    border: 1px solid rgba(201,168,76,0.22);
    box-shadow: 0 4px 60px rgba(0,0,0,0.8), inset 0 1px 0 rgba(201,168,76,0.07), inset 0 -1px 0 rgba(0,0,0,0.5);
    max-width: 1100px;
    margin: 0 auto;
    padding: 2.5rem 3rem;
    position: relative;
}

    /* Parchment texture */
    .parchment-panel::before {
        content: '';
        position: absolute;
        inset: 0;
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
        pointer-events: none;
    }

.inv-category {
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.5rem 0;
    border-bottom: 1px solid rgba(201,168,76,0.14);
    position: relative;
}

    .inv-category:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .inv-category:first-child {
        padding-top: 0;
    }

.inv-cat-icon-box {
    width: 3.5rem;
    height: 3.5rem;
    background: rgba(201,168,76,0.07);
    border: 1px solid rgba(201,168,76,0.22);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    flex-shrink: 0;
    color: var(--gold);
}

.inv-cat-name {
    font-family: var(--f-ui);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold2);
    margin-bottom: 1rem;
}

.inv-cat-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.3rem 2rem;
}

.inv-bullet {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-family: var(--f-body);
    font-size: 0.9rem;
    color: var(--text-light);
    line-height: 1.5;
}

.inv-bullet-icon {
    font-size: 0.7rem;
    color: var(--gold-dark);
    margin-top: 0.25rem;
    flex-shrink: 0;
}

/* ─── ENDORSEMENTS & MEDIA ──────────────────────────────────── */
.endorse-section {
    padding: 3.5rem 0 4rem;
    position: relative;
}

.endorse-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    max-width: 1100px;
    margin: 2rem auto 0;
    padding: 0 2rem;
}

.endorse-card {
    background: var(--dark3);
    border: 1px solid var(--border);
    padding: 2rem;
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    position: relative;
}

.endorse-quote-mark {
    font-family: var(--f-title);
    font-size: 4rem;
    line-height: 0.8;
    color: var(--gold-dark);
    flex-shrink: 0;
    margin-top: 0.5rem;
}

.endorse-content {
}

.endorse-title {
    font-family: var(--f-ui);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 0.8rem;
}

.endorse-text {
    font-family: var(--f-body);
    font-style: italic;
    font-size: 0.95rem;
    color: var(--text-light);
    line-height: 1.7;
    margin-bottom: 1rem;
}

.endorse-author {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--gold-dark);
}

.endorse-photo-card {
    background: var(--dark3);
    border: 1px solid var(--border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

    .endorse-photo-card .img-placeholder {
        flex: 1;
        background: linear-gradient(135deg,#1a2030 0%,#0d1018 100%);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        padding: 2rem;
        min-height: 180px;
    }

    .endorse-photo-card .epc-label {
        font-size: 0.55rem;
        letter-spacing: 0.15em;
        text-transform: uppercase;
        color: var(--text-dim);
    }

.endorse-photo-cap {
    background: var(--dark2);
    border-top: 1px solid var(--border);
    padding: 0.7rem 1rem;
    font-size: 0.65rem;
    color: var(--text-dim);
    letter-spacing: 0.08em;
}

/* ─── CONTACT ───────────────────────────────────────────────── */
.contact-section {
    background: var(--dark2);
    border-top: 1px solid var(--border);
    padding: 5rem 0;
}

.contact-inner {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 2rem;
    display: block;
}

.contact-info-col {
}

.contact-info-title {
    font-family: var(--f-title);
    font-size: 1.8rem;
    color: var(--gold2);
    margin-bottom: 2rem;
    letter-spacing: 0.05em;
}

.contact-items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.ci {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.ci-icon {
    width: 42px;
    height: 42px;
    background: var(--dark3);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
    color: var(--gold);
}

.ci-lbl {
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 0.2rem;
}

.ci-val {
    font-family: var(--f-body);
    font-size: 1rem;
    color: var(--text-light);
}

    .ci-val a {
        color: var(--text-light);
        transition: color 0.3s;
    }

        .ci-val a:hover {
            color: var(--gold2);
        }

.contact-form-col {
    background: var(--dark3);
    border: 1px solid var(--border);
    padding: 2.5rem;
}

.cf-title {
    font-family: var(--f-title);
    font-size: 1.6rem;
    color: var(--gold2);
    margin-bottom: 2rem;
    letter-spacing: 0.04em;
}

.cf-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

.cf-group {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 1rem;
}

.cf-label {
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gold-dark);
}

.cf-input, .cf-select, .cf-textarea {
    background: var(--dark);
    border: 1px solid var(--border);
    color: var(--cream);
    padding: 0.75rem 1rem;
    font-family: var(--f-ui);
    font-size: 0.85rem;
    outline: none;
    width: 100%;
    transition: border-color 0.3s;
}

    .cf-input:focus, .cf-select:focus, .cf-textarea:focus {
        border-color: var(--gold-dark);
    }

.cf-select {
    appearance: none;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23c9a84c' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.9rem center;
}

    .cf-select option {
        background: #16120d;
    }

.cf-textarea {
    resize: vertical;
    min-height: 120px;
}

.cf-success {
    background: rgba(201,168,76,0.08);
    border: 1px solid var(--gold-dark);
    padding: 0.9rem 1.2rem;
    color: var(--gold2);
    font-size: 0.82rem;
    margin-top: 1rem;
    font-family: var(--f-body);
}

/* ─── FOOTER ────────────────────────────────────────────────── */
.site-footer {
    background: var(--black);
    border-top: 1px solid var(--border);
    padding: 3.5rem 0 2rem;
}

.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 3rem;
}

.footer-top {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 3rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid var(--border);
    margin-bottom: 1.5rem;
}

.ft-brand-name {
    font-family: var(--f-title);
    font-size: 1.4rem;
    color: var(--gold2);
    margin-bottom: 0.2rem;
    letter-spacing: 0.06em;
}

.ft-brand-role {
    font-size: 0.55rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-bottom: 1rem;
}

.ft-brand-desc {
    font-family: var(--f-body);
    font-size: 0.92rem;
    color: var(--text-dim);
    line-height: 1.8;
    max-width: 260px;
}

.ft-col-title {
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 1rem;
}

.ft-links {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

    .ft-links a {
        font-family: var(--f-body);
        font-size: 0.9rem;
        color: var(--text-dim);
        transition: color 0.3s;
    }

        .ft-links a:hover {
            color: var(--gold2);
        }

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.65rem;
    color: var(--text-dim);
}

.footer-gold {
    color: var(--gold-dark);
}

/* ─── FADE-IN ANIMATION ─────────────────────────────────────── */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scrollWheelAnim {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        transform: translateY(10px);
        opacity: 0;
    }
}

.fade-in {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

    .fade-in.visible {
        opacity: 1;
        transform: translateY(0);
    }

.fade-in-d1 {
    transition-delay: 0.1s;
}

.fade-in-d2 {
    transition-delay: 0.2s;
}

.fade-in-d3 {
    transition-delay: 0.3s;
}

.fade-in-d4 {
    transition-delay: 0.4s;
}

/* ─── RESPONSIVE ────────────────────────────────────────────── */
@media (max-width:1100px) {
    .hero {
        grid-template-columns: 1fr;
    }

    .hero-photo-side {
        min-height: 50vw;
        max-height: 420px;
    }

        .hero-photo-side::after {
            display: none;
        }

    .hero-text-side {
        padding: 3rem 2rem;
    }

    .lcard-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .footer-top {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width:900px) {
    .about-content-col {
        width: 100%;
        background: rgba(5,4,2,0.95);
    }

    .about-photo-col {
        opacity: 0.25;
    }

    .endorse-grid {
        grid-template-columns: 1fr;
    }

    .footer-top {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width:1100px) {
    .navbar-links {
        display: none;
    }

    .hamburger {
        display: flex;
    }

    .lcard-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .parchment-panel {
        padding: 1.5rem;
    }

    .inv-cat-cols {
        grid-template-columns: 1fr;
    }

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

    .footer-top {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 0.8rem;
        text-align: center;
    }

    .hero-stats {
        gap: 1.5rem;
    }

    .hero-ctas {
        flex-direction: column;
    }
}

@media (max-width:480px) {
    .lcard-grid {
        grid-template-columns: 1fr;
    }

    .sec-nav {
        overflow-x: auto;
        justify-content: flex-start;
    }

    .sec-nav-item {
        min-width: max-content;
    }
}
/* ═══════════════════════════════════════════════════════════
   SITE PATCH — append to end of wwwroot/site.css
   Covers: hero · about · leadership · investments ·
   endorsements · contact · footer · ALL new page components
   ═══════════════════════════════════════════════════════════ */

/* ── Keyframes ─────────────────────────────────────────────── */
@keyframes goldShimmer {
    0% {
        background-position: 200% center
    }

    100% {
        background-position: -200% center
    }
}

@keyframes sealPulse {
    0%,100% {
        filter: drop-shadow(0 0 6px rgba(201,168,76,.35))
    }

    50% {
        filter: drop-shadow(0 0 16px rgba(201,168,76,.7))
    }
}

@keyframes rippleOut {
    to {
        transform: scale(42);
        opacity: 0
    }
}

@keyframes scanLine {
    0% {
        top: -2px;
        opacity: 0
    }

    10% {
        opacity: .6
    }

    90% {
        opacity: .5
    }

    100% {
        top: 100%;
        opacity: 0
    }
}

@keyframes orbFloat {
    0%,100% {
        transform: translate(0,0) scale(1)
    }

    50% {
        transform: translate(20px,-30px) scale(1.08)
    }
}

@keyframes diamondDrift {
    0%,100% {
        transform: translateY(0) rotate(0deg);
        opacity: .12
    }

    50% {
        transform: translateY(-18px) rotate(180deg);
        opacity: .22
    }
}

@keyframes iconBounce {
    0%,100% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.18)
    }
}

@keyframes borderGlow {
    0%,100% {
        box-shadow: 0 0 0 0 rgba(201,168,76,0)
    }

    50% {
        box-shadow: 0 0 18px 3px rgba(201,168,76,.18)
    }
}

@keyframes quoteSwing {
    0% {
        opacity: 0;
        transform: translateY(-12px) rotate(-8deg)
    }

    100% {
        opacity: 1;
        transform: none
    }
}

@keyframes contactBorder {
    0% {
        background-position: 0% 50%
    }

    100% {
        background-position: 200% 50%
    }
}

@keyframes successSlide {
    0% {
        opacity: 0;
        transform: translateY(-10px)
    }

    100% {
        opacity: 1;
        transform: none
    }
}

@keyframes pulse {
    0%,100% {
        box-shadow: 0 0 0 0 rgba(201,168,76,.45)
    }

    70% {
        box-shadow: 0 0 0 10px rgba(201,168,76,0)
    }
}

@keyframes ciIconGlow {
    0%,100% {
        border-color: rgba(201,168,76,.22)
    }

    50% {
        border-color: rgba(201,168,76,.6)
    }
}

@keyframes dashGrow {
    to {
        width: 18px !important
    }
}

@keyframes fadeSlideUp {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

    100% {
        opacity: 1;
        transform: none
    }
}

/* ═══════════════════════════════════════════════════════════
   HERO (home)
   ═══════════════════════════════════════════════════════════ */
.hero {
    grid-template-columns: 2fr 3fr !important;
}

.hero-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.hero-real-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    position: absolute;
    inset: 0;
    display: block;
}

.hero-photo-bottom-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 42%;
    background: linear-gradient(to top,var(--dark) 0%,rgba(16,13,8,.7) 40%,transparent 100%);
    z-index: 3;
    pointer-events: none;
}

.hero-text-side {
    position: relative;
    z-index: 2;
}

.hero-name-bba {
    color: var(--text-dim);
    font-size: .65em;
}

.hero-name-shimmer {
    background: linear-gradient(90deg,var(--gold2) 0%,var(--gold3) 30%,var(--white) 50%,var(--gold3) 70%,var(--gold2) 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: goldShimmer 4s linear infinite;
}

.hero-stats {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 2.5rem;
}

.hstat {
    text-align: center;
    flex: 1;
}

.hstat-num {
    font-family: var(--f-title);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--gold2);
    line-height: 1;
}

.hstat-lbl {
    font-size: .55rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-top: .3rem;
}

.hstat-sep {
    width: 1px;
    height: 36px;
    background: var(--border);
    flex-shrink: 0;
}

.hero-seal-strip {
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.hss-line {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg,transparent 0%,var(--gold-dark) 30%,var(--gold) 50%,var(--gold-dark) 70%,transparent 100%);
    opacity: .6;
}

.hss-inner {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.hss-seal {
    width: 44px;
    height: 44px;
    object-fit: contain;
    animation: sealPulse 3s ease-in-out infinite;
}

.hss-seal-dim {
    width: 30px;
    height: 30px;
    opacity: .25;
    animation: none;
    margin-left: auto;
}

.hss-text {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.hss-title {
    font-family: var(--f-title);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .12em;
    color: var(--gold2);
}

.hss-sub {
    font-size: .55rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--text-dim);
}

/* ═══════════════════════════════════════════════════════════
   PAGE HERO (inner pages)
   ═══════════════════════════════════════════════════════════ */
.page-hero {
    position: relative;
    min-height: 52vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(160deg,var(--black) 0%,var(--dark2) 50%,var(--leather) 100%);
    overflow: hidden;
    padding: 7rem 2rem 5rem;
}

.page-hero-bottom-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 35%;
    background: linear-gradient(to top,var(--dark) 0%,transparent 100%);
    pointer-events: none;
    z-index: 2;
}

.page-hero-inner {
    position: relative;
    z-index: 3;
    text-align: center;
    max-width: 900px;
}

.page-hero-eyebrow {
    font-family: var(--f-ui);
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 1rem;
}

.page-hero-title {
    font-family: var(--f-title);
    font-size: clamp(2rem,5vw,3.5rem);
    font-weight: 700;
    color: var(--cream);
    line-height: 1.1;
    margin-bottom: 1rem;
}

.page-hero-sub {
    font-family: var(--f-body);
    font-style: italic;
    font-size: 1rem;
    color: var(--text-mid);
    letter-spacing: .04em;
}

/* ═══════════════════════════════════════════════════════════
   SHARED CONTENT LAYOUT
   ═══════════════════════════════════════════════════════════ */
.content-section {
    padding: 5rem 0;
}

.content-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
}

.section-heading {
    font-family: var(--f-title);
    font-size: clamp(1.5rem,3vw,2.4rem);
    font-weight: 600;
    color: var(--gold2);
    letter-spacing: .05em;
    margin-bottom: .6rem;
}

.gold-rule {
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg,var(--gold-dark),var(--gold),transparent);
    margin-bottom: 2rem;
}

.section-lead {
    font-family: var(--f-body);
    font-size: 1.05rem;
    color: var(--text-light);
    line-height: 1.8;
    margin-bottom: 2rem;
}

.body-text {
    font-family: var(--f-body);
    color: var(--text-light);
    line-height: 1.9;
}

    .body-text p {
        margin-bottom: 1rem;
    }

        .body-text p:last-child {
            margin-bottom: 0;
        }

.two-col-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
}

.col-text {
}

.col-photo {
    position: relative;
}

.profile-img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    object-position: center top;
    display: block;
    border: 1px solid var(--border);
    box-shadow: 0 20px 60px rgba(0,0,0,.5);
    transition: transform .4s ease, box-shadow .4s ease;
}

    .profile-img:hover {
        transform: scale(1.02);
        box-shadow: 0 24px 70px rgba(0,0,0,.6), 0 0 0 1px rgba(201,168,76,.2);
    }

/* ═══════════════════════════════════════════════════════════
   HOME — Pillar grid
   ═══════════════════════════════════════════════════════════ */
.home-value-section {
    padding: 5rem 0;
    background: var(--dark2);
}

.home-value-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.pillar-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.5rem;
}

.pillar-card {
    background: var(--dark3);
    border: 1px solid var(--border);
    padding: 2rem 1.8rem;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

    .pillar-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 16px 40px rgba(0,0,0,.5), 0 0 0 1px rgba(201,168,76,.25);
        border-color: rgba(201,168,76,.35);
    }

.pillar-icon {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.pillar-title {
    font-family: var(--f-title);
    font-size: .95rem;
    color: var(--gold2);
    margin-bottom: .7rem;
    letter-spacing: .04em;
}

.pillar-desc {
    font-family: var(--f-body);
    font-size: .9rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin-bottom: 1rem;
}

.pillar-link {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--gold);
    transition: color .25s;
}

    .pillar-link:hover {
        color: var(--gold3);
    }

/* ═══════════════════════════════════════════════════════════
   HOME — Quote banner
   ═══════════════════════════════════════════════════════════ */
.quote-banner {
    background: var(--black);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 4rem 2rem;
}

.quote-banner-inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.qb-mark {
    font-family: var(--f-title);
    font-size: 5rem;
    color: var(--gold-dark);
    line-height: .5;
    margin-bottom: 1rem;
    opacity: .7;
}

.qb-text {
    font-family: var(--f-body);
    font-size: 1.25rem;
    font-style: italic;
    color: var(--cream);
    line-height: 1.8;
    margin-bottom: 1.5rem;
}

.qb-attr {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gold);
}

/* ═══════════════════════════════════════════════════════════
   HOME — Geographic scope
   ═══════════════════════════════════════════════════════════ */
.geo-section {
    padding: 5rem 0;
}

.geo-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
    position: relative;
    z-index: 1;
}

.geo-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 2rem;
}

.geo-card {
    border: 1px solid var(--border);
    padding: 2.5rem 2rem;
    text-align: center;
    transition: border-color .3s, box-shadow .3s, transform .3s;
}

    .geo-card:hover {
        border-color: rgba(201,168,76,.4);
        box-shadow: 0 8px 30px rgba(0,0,0,.4);
        transform: translateY(-4px);
    }

.geo-flag {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.geo-region {
    font-family: var(--f-title);
    font-size: 1rem;
    color: var(--gold2);
    margin-bottom: .8rem;
    letter-spacing: .05em;
}

.geo-desc {
    font-family: var(--f-body);
    font-size: .9rem;
    color: var(--text-mid);
    line-height: 1.7;
}

/* ═══════════════════════════════════════════════════════════
   ABOUT — Roles grid
   ═══════════════════════════════════════════════════════════ */
.roles-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 1rem;
    margin-top: 1.5rem;
}

.role-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: rgba(201,168,76,.04);
    border: 1px solid var(--border);
    padding: 1.2rem 1.4rem;
    transition: border-color .3s, background .3s, transform .2s;
}

    .role-card:hover {
        border-color: rgba(201,168,76,.3);
        background: rgba(201,168,76,.07);
        transform: translateX(3px);
    }

.role-icon {
    font-size: 1.4rem;
    flex-shrink: 0;
}

.role-title {
    font-family: var(--f-ui);
    font-size: .8rem;
    font-weight: 600;
    color: var(--gold2);
    margin-bottom: .2rem;
}

.role-org {
    font-family: var(--f-body);
    font-size: .85rem;
    color: var(--text-mid);
    line-height: 1.5;
}

.former-roles {
    display: flex;
    flex-direction: column;
    gap: .9rem;
}

.former-role-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    font-family: var(--f-body);
    font-size: .95rem;
    color: var(--text-light);
    line-height: 1.6;
}

.former-bullet {
    color: var(--gold);
    flex-shrink: 0;
    margin-top: .2rem;
}

.bio-text {
    font-family: var(--f-body);
    font-size: 1rem;
    color: var(--text-light);
    line-height: 1.9;
}

    .bio-text p {
        margin-bottom: 1.1rem;
    }

/* ═══════════════════════════════════════════════════════════
   LEADERSHIP — SACoCSO / programs
   ═══════════════════════════════════════════════════════════ */
.sacocso-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 1.5rem;
}

.sacocso-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    border-left: 2px solid var(--gold-dark);
    padding-left: 1.2rem;
}

.sacocso-icon {
    font-size: 1.4rem;
    flex-shrink: 0;
}

.sacocso-item strong {
    display: block;
    font-family: var(--f-ui);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--gold2);
    margin-bottom: .3rem;
}

.sacocso-item p {
    font-family: var(--f-body);
    font-size: .9rem;
    color: var(--text-mid);
    line-height: 1.6;
    margin: 0;
}

.programs-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 1.5rem;
}

.program-card {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    border: 1px solid var(--border);
    padding: 1.8rem;
    transition: border-color .3s, transform .2s;
}

    .program-card:hover {
        border-color: rgba(201,168,76,.3);
        transform: translateY(-3px);
    }

.program-num {
    font-family: var(--f-title);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--gold-dark);
    opacity: .5;
    flex-shrink: 0;
    line-height: 1;
}

.program-body h3 {
    font-family: var(--f-title);
    font-size: .95rem;
    color: var(--gold2);
    margin-bottom: .6rem;
}

.program-body p {
    font-family: var(--f-body);
    font-size: .9rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin: 0;
}

.influence-stats {
    display: flex;
    gap: 0;
    justify-content: center;
    flex-wrap: wrap;
    border: 1px solid var(--border);
}

.inf-stat {
    flex: 1;
    min-width: 160px;
    text-align: center;
    padding: 2.5rem 1rem;
    border-right: 1px solid var(--border);
}

    .inf-stat:last-child {
        border-right: none;
    }

.inf-num {
    font-family: var(--f-title);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--gold2);
    margin-bottom: .5rem;
}

.inf-lbl {
    font-size: .55rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--text-dim);
}

/* ═══════════════════════════════════════════════════════════
   ROYAL — Seal, recognition
   ═══════════════════════════════════════════════════════════ */
.royal-seal-feature {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.royal-seal-large {
    width: 120px;
    height: 120px;
    object-fit: contain;
    animation: sealPulse 3s ease-in-out infinite;
    filter: drop-shadow(0 0 20px rgba(201,168,76,.4));
}

.royal-seal-title {
    font-family: var(--f-title);
    font-size: 1.8rem;
    color: var(--gold2);
    letter-spacing: .08em;
}

.royal-seal-sub {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--text-dim);
}

.recognition-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1.5rem;
    margin-top: 2rem;
}

.recog-card {
    border: 1px solid var(--border);
    padding: 2rem 1.5rem;
    text-align: center;
    transition: border-color .3s, transform .3s, box-shadow .3s;
}

    .recog-card:hover {
        border-color: rgba(201,168,76,.35);
        transform: translateY(-5px);
        box-shadow: 0 10px 30px rgba(0,0,0,.4);
    }

.recog-flag {
    font-size: 2.5rem;
    margin-bottom: .8rem;
}

.recog-card h3 {
    font-family: var(--f-title);
    font-size: .9rem;
    color: var(--gold2);
    margin-bottom: .6rem;
}

.recog-card p {
    font-family: var(--f-body);
    font-size: .85rem;
    color: var(--text-mid);
    line-height: 1.6;
    margin: 0;
}

.heritage-statement {
    font-family: var(--f-body);
    font-size: 1rem;
    color: var(--text-light);
    line-height: 1.9;
}

    .heritage-statement p {
        margin-bottom: 1rem;
    }

/* ═══════════════════════════════════════════════════════════
   PHILANTHROPY — NPOs
   ═══════════════════════════════════════════════════════════ */
.npo-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.npo-card {
    background: rgba(10,8,4,.5);
    border: 1px solid var(--border);
    padding: 2rem;
    transition: border-color .3s, transform .3s;
}

    .npo-card:hover {
        border-color: rgba(201,168,76,.3);
        transform: translateY(-5px);
    }

.npo-icon {
    font-size: 2rem;
    margin-bottom: .8rem;
}

.npo-title {
    font-family: var(--f-title);
    font-size: 1rem;
    color: var(--gold2);
    margin-bottom: .3rem;
}

.npo-type {
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold-dark);
    margin-bottom: 1rem;
}

.npo-list {
    list-style: none;
    padding: 0;
}

    .npo-list li {
        font-family: var(--f-body);
        font-size: .88rem;
        color: var(--text-mid);
        padding: .3rem 0;
        border-bottom: 1px solid rgba(201,168,76,.1);
        line-height: 1.5;
    }

        .npo-list li::before {
            content: '◆ ';
            color: var(--gold-dark);
            font-size: .55rem;
        }

        .npo-list li:last-child {
            border-bottom: none;
        }

.impact-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 2rem;
}

.impact-item {
    border-left: 2px solid var(--gold-dark);
    padding-left: 1.5rem;
}

.impact-icon {
    font-size: 1.8rem;
    margin-bottom: .6rem;
}

.impact-item h3 {
    font-family: var(--f-title);
    font-size: 1rem;
    color: var(--gold2);
    margin-bottom: .6rem;
}

.impact-item p {
    font-family: var(--f-body);
    font-size: .9rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════
   INVESTMENTS — Value prop
   ═══════════════════════════════════════════════════════════ */
.value-prop-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.5rem;
}

.vp-item {
    background: var(--dark3);
    border: 1px solid var(--border);
    padding: 2rem;
    transition: border-color .3s, transform .3s;
}

    .vp-item:hover {
        border-color: rgba(201,168,76,.3);
        transform: translateY(-4px);
    }

.vp-icon {
    font-size: 2rem;
    margin-bottom: .8rem;
}

.vp-item h3 {
    font-family: var(--f-title);
    font-size: .9rem;
    color: var(--gold2);
    margin-bottom: .6rem;
}

.vp-item p {
    font-family: var(--f-body);
    font-size: .88rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════
   DIGITAL — ARTLDPP
   ═══════════════════════════════════════════════════════════ */
.artldpp-badge {
    display: inline-block;
    border: 1px solid var(--gold-dark);
    font-size: .55rem;
    font-weight: 700;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--gold);
    padding: .35rem .9rem;
    margin-bottom: 1rem;
    background: rgba(201,168,76,.06);
}

.artldpp-full {
    font-family: var(--f-body);
    font-style: italic;
    font-size: 1.1rem;
    color: var(--text-mid);
    margin-bottom: 1rem;
}

.artldpp-pillars {
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: .7rem;
}

.artldpp-pillar {
    display: flex;
    gap: .8rem;
    align-items: center;
    font-family: var(--f-ui);
    font-size: .85rem;
    color: var(--text-light);
}

.ap-icon {
    font-size: 1.1rem;
    flex-shrink: 0;
}

.digital-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.5rem;
}

.digital-card {
    background: rgba(10,8,4,.5);
    border: 1px solid var(--border);
    padding: 2rem;
    transition: border-color .3s, transform .3s;
}

    .digital-card:hover {
        border-color: rgba(201,168,76,.3);
        transform: translateY(-5px);
    }

.digital-icon {
    font-size: 2rem;
    margin-bottom: .8rem;
}

.digital-card h3 {
    font-family: var(--f-title);
    font-size: .9rem;
    color: var(--gold2);
    margin-bottom: .6rem;
}

.digital-card p {
    font-family: var(--f-body);
    font-size: .88rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin: 0;
}

.tech-heritage {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.th-item {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    border-left: 2px solid var(--gold-dark);
    padding-left: 1.5rem;
}

.th-logo {
    font-size: 2rem;
    flex-shrink: 0;
}

.th-body h3 {
    font-family: var(--f-title);
    font-size: 1.05rem;
    color: var(--gold2);
    margin-bottom: .2rem;
}

.th-role {
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--gold-dark);
    margin-bottom: .6rem;
}

.th-body p {
    font-family: var(--f-body);
    font-size: .9rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════
   ENDORSEMENTS — Thought leadership, influence
   ═══════════════════════════════════════════════════════════ */
.endorse-section {
    position: relative;
    overflow: hidden;
}

.endorse-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

.tl-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.5rem;
}

.tl-card {
    background: var(--dark3);
    border: 1px solid var(--border);
    padding: 2rem;
    transition: transform .3s, border-color .3s;
}

    .tl-card:hover {
        transform: translateY(-5px);
        border-color: rgba(201,168,76,.3);
    }

.tl-cat {
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: .6rem;
}

.tl-title {
    font-family: var(--f-title);
    font-size: .9rem;
    color: var(--cream);
    margin-bottom: .8rem;
    line-height: 1.4;
}

.tl-excerpt {
    font-family: var(--f-body);
    font-size: .88rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin-bottom: .8rem;
}

.tl-attr {
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--gold-dark);
}

.influence-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1.5rem;
}

.infl-card {
    border: 1px solid var(--border);
    padding: 2rem 1.5rem;
    text-align: center;
    transition: border-color .3s, transform .3s;
}

    .infl-card:hover {
        border-color: rgba(201,168,76,.35);
        transform: translateY(-4px);
    }

.infl-icon {
    font-size: 2rem;
    margin-bottom: .8rem;
}

.infl-card h3 {
    font-family: var(--f-title);
    font-size: .88rem;
    color: var(--gold2);
    margin-bottom: .6rem;
}

.infl-card p {
    font-family: var(--f-body);
    font-size: .85rem;
    color: var(--text-mid);
    line-height: 1.6;
    margin: 0;
}

.endorse-quote-anim {
    display: inline-block;
    opacity: 0;
    transform: translateY(-12px) rotate(-8deg);
}

.endorse-card.revealed .endorse-quote-anim {
    animation: quoteSwing .6s .3s ease forwards;
}

.endorse-card {
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

    .endorse-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 32px rgba(0,0,0,.45);
        border-color: rgba(201,168,76,.4);
    }

/* ═══════════════════════════════════════════════════════════
   CONTACT — enhanced
   ═══════════════════════════════════════════════════════════ */
.contact-gold-border {
    height: 2px;
    background: linear-gradient(90deg,var(--gold-dark),var(--gold),var(--gold3),var(--gold),var(--gold-dark));
    background-size: 200% 100%;
    animation: contactBorder 3s linear infinite;
}

.ci-icon-pulse {
    animation: ciIconGlow 2.5s ease-in-out infinite;
}

.cf-input-anim {
    border-bottom: 2px solid var(--border) !important;
    transition: border-color .3s ease,box-shadow .3s ease !important;
}

    .cf-input-anim:focus {
        border-color: var(--gold) !important;
        box-shadow: 0 2px 0 0 rgba(201,168,76,.25) !important;
        outline: none !important;
    }

.cf-success-anim {
    animation: successSlide .5s ease forwards;
}

.btn-submit-anim {
    transition: transform .2s ease,box-shadow .3s ease !important;
}

    .btn-submit-anim:hover {
        transform: translateY(-3px) !important;
        box-shadow: 0 8px 28px rgba(201,168,76,.35) !important;
    }

.engagement-types {
    margin-top: 2rem;
}

.et-title {
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gold-dark);
    margin-bottom: .8rem;
}

.et-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.et-tag {
    font-size: .6rem;
    font-weight: 600;
    letter-spacing: .1em;
    border: 1px solid var(--border);
    color: var(--text-mid);
    padding: .28rem .7rem;
    transition: border-color .25s, color .25s;
}

    .et-tag:hover {
        border-color: var(--gold-dark);
        color: var(--gold2);
    }

/* ═══════════════════════════════════════════════════════════
   FOOTER — enhanced
   ═══════════════════════════════════════════════════════════ */
.footer-logo-anim {
    transition: transform .5s ease,filter .3s ease;
    cursor: pointer;
}

    .footer-logo-anim:hover {
        transform: rotate(20deg) scale(1.1);
        filter: drop-shadow(0 0 8px rgba(201,168,76,.5));
    }

.ft-links-anim a {
    position: relative;
    display: inline-block;
}

    .ft-links-anim a::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -1px;
        width: 0;
        height: 1px;
        background: var(--gold);
        transition: width .3s ease;
    }

    .ft-links-anim a:hover::after {
        width: 100%;
    }

.footer-contact-mini {
    margin-top: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.fct-item {
    font-family: var(--f-body);
    font-size: .82rem;
    color: var(--text-dim);
    transition: color .25s;
}

a.fct-item:hover {
    color: var(--gold2);
}

/* ═══════════════════════════════════════════════════════════
   ABOUT — scan line, parallax, deco
   ═══════════════════════════════════════════════════════════ */
.about-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    opacity: .08;
    filter: blur(3px) grayscale(40%);
    transition: transform .1s linear;
    will-change: transform;
}

.about-real-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.about-scan-line {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,transparent,rgba(201,168,76,.5),transparent);
    pointer-events: none;
    z-index: 3;
    top: -2px;
    opacity: 0;
}

.about-section.section-entered .about-scan-line {
    animation: scanLine 1.4s ease-out forwards;
}

.deco-dash-anim {
    width: 0 !important;
    animation: dashGrow .6s ease forwards;
    animation-delay: .3s;
}

/* ═══════════════════════════════════════════════════════════
   LEADERSHIP — cards, orbs
   ═══════════════════════════════════════════════════════════ */
.leadership-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(80px);
}

.leadership-orb-1 {
    width: 400px;
    height: 400px;
    top: -80px;
    left: -100px;
    background: radial-gradient(circle,rgba(201,168,76,.06) 0%,transparent 70%);
    animation: orbFloat 9s ease-in-out infinite;
}

.leadership-orb-2 {
    width: 300px;
    height: 300px;
    bottom: -60px;
    right: -60px;
    background: radial-gradient(circle,rgba(201,168,76,.05) 0%,transparent 70%);
    animation: orbFloat 11s ease-in-out infinite reverse;
}

.lcard-photo {
    position: relative;
    overflow: hidden;
}

.lcard-real-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    inset: 0;
    display: block;
    transition: transform .55s ease,filter .55s ease;
}

.lcard:hover .lcard-real-img {
    transform: scale(1.06);
    filter: brightness(1.12);
}

.lcard-photo-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg,rgba(10,8,4,.08) 0%,rgba(10,8,4,.62) 100%);
}

.lcard-shine {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(105deg,transparent 30%,rgba(255,255,255,.07) 50%,transparent 70%);
    transform: translateX(-100%);
    transition: transform .55s ease;
}

.lcard:hover .lcard-shine {
    transform: translateX(100%);
}

.lcard {
    transition: transform .3s ease,box-shadow .3s ease;
}

    .lcard:hover {
        transform: translateY(-8px) !important;
        box-shadow: 0 16px 40px rgba(0,0,0,.55),0 0 0 1px rgba(201,168,76,.3);
    }

/* ═══════════════════════════════════════════════════════════
   INVESTMENTS — diamonds, bullets
   ═══════════════════════════════════════════════════════════ */
.investments-section {
    position: relative;
    overflow: hidden;
}

.inv-diamond {
    position: absolute;
    font-size: 1.2rem;
    color: var(--gold);
    pointer-events: none;
    user-select: none;
    animation: diamondDrift 6s ease-in-out infinite;
}

.inv-diamond-1 {
    top: 12%;
    left: 3%;
    animation-delay: 0s;
}

.inv-diamond-2 {
    bottom: 15%;
    right: 4%;
    animation-delay: 3s;
}

.inv-icon-anim {
    transition: transform .3s ease;
}

.inv-category:hover .inv-icon-anim {
    animation: iconBounce .5s ease;
}

.inv-bullet {
    transition: transform .2s ease;
}

    .inv-bullet:hover {
        transform: translateX(4px);
    }

.inv-bullet-icon {
    display: inline-block;
    transition: color .3s;
}

.inv-bullet:hover .inv-bullet-icon {
    color: var(--gold3);
}

.inv-category {
    transition: background .3s ease;
    border-radius: 2px;
}

    .inv-category:hover {
        background: rgba(201,168,76,.04);
        animation: borderGlow .6s ease;
    }

/* ═══════════════════════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════════════════════ */
.btn {
    position: relative;
    overflow: hidden;
}

.btn-ripple-wave {
    position: absolute;
    border-radius: 50%;
    width: 6px;
    height: 6px;
    margin: -3px;
    background: rgba(255,255,255,.35);
    transform: scale(0);
    animation: rippleOut .65s ease-out forwards;
    pointer-events: none;
}

.btn-gold {
    background-image: linear-gradient(90deg,var(--gold-dark) 0%,var(--gold) 50%,var(--gold-dark) 100%) !important;
    background-size: 200% auto !important;
    transition: background-position .4s ease,transform .2s ease,box-shadow .3s ease !important;
}

    .btn-gold:hover {
        background-position: right center !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 24px rgba(201,168,76,.35) !important;
    }

.btn-outline {
    transition: transform .2s ease,box-shadow .3s ease !important;
}

    .btn-outline:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 4px 16px rgba(201,168,76,.15) !important;
    }

.btn-pulse {
    animation: pulse 2.4s ease-in-out infinite;
}

/* ═══════════════════════════════════════════════════════════
   ACTIVE NAV
   ═══════════════════════════════════════════════════════════ */
.navbar-links a.nav-active {
    color: var(--gold2) !important;
    position: relative;
}

    .navbar-links a.nav-active:not(.nav-cta)::after {
        content: '';
        position: absolute;
        bottom: -3px;
        left: 1.4rem;
        right: 1.4rem;
        height: 1.5px;
        background: var(--gold);
        border-radius: 1px;
    }

.navbar-links a.nav-cta.nav-active {
    background: var(--gold-dark) !important;
    color: var(--cream) !important;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    .pillar-grid, .digital-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .recognition-grid, .influence-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .tl-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .hero {
        grid-template-columns: 1fr !important;
    }

    .two-col-layout {
        grid-template-columns: 1fr;
    }

    .pillar-grid, .geo-grid, .npo-grid, .digital-grid {
        grid-template-columns: 1fr;
    }

    .roles-grid, .sacocso-grid, .programs-grid, .value-prop-grid {
        grid-template-columns: 1fr;
    }

    .recognition-grid, .influence-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .leadership-orb, .inv-diamond {
        display: none;
    }

    .footer-top {
        grid-template-columns: 1fr;
    }

    .navbar-inner {
        position: relative;
    }

    .navbar-links.open {
        display: flex !important;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(10,8,4,.97);
        border-top: 1px solid rgba(201,168,76,.22);
        border-bottom: 1px solid rgba(201,168,76,.22);
        padding: .5rem 0;
        z-index: 999;
    }

        .navbar-links.open a {
            padding: .8rem 2rem;
            border: none !important;
            border-bottom: 1px solid rgba(201,168,76,.1) !important;
            font-size: .75rem;
        }

            .navbar-links.open a.nav-cta {
                margin: .5rem 2rem;
                text-align: center;
                border: 1px solid var(--gold-dark) !important;
            }
}

/* ── Hamburger open/active state (JS-driven) ───────────────── */
.hamburger.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.hamburger.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ── Mobile nav open (JS adds .open class) ─────────────────── */
@media (max-width: 900px) {
    .navbar-links:not(.open) {
        display: none;
    }

    .navbar-links.open {
        display: flex !important;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(10,8,4,.97);
        border-top: 1px solid rgba(201,168,76,.22);
        border-bottom: 1px solid rgba(201,168,76,.22);
        padding: .5rem 0;
        z-index: 999;
    }

        .navbar-links.open a {
            padding: .85rem 2rem;
            border: none !important;
            border-bottom: 1px solid rgba(201,168,76,.08) !important;
            font-size: .78rem;
        }

            .navbar-links.open a.nav-cta {
                margin: .6rem 2rem;
                text-align: center;
                border: 1px solid var(--gold-dark) !important;
            }
    /* Hide desktop nav links on mobile */
    .navbar-links {
        display: none;
    }

    .hamburger {
        display: flex;
    }
}

@media (min-width: 1101px) {
    .hamburger {
        display: none;
    }

    .navbar-links {
        display: flex !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   NAV ACTIVE STATE — clear gold underline on current page
   ═══════════════════════════════════════════════════════════ */
.navbar-links a {
    position: relative;
    transition: color .25s ease;
}

    /* Underline bar that grows in */
    .navbar-links a::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        right: 50%;
        height: 2px;
        background: var(--gold);
        border-radius: 2px;
        transition: left .3s ease, right .3s ease;
    }

    .navbar-links a:hover::after,
    .navbar-links a.nav-active::after {
        left: 0;
        right: 0;
    }

    /* Gold colour on active */
    .navbar-links a.nav-active {
        color: var(--gold2) !important;
    }

    /* CTA button active */
    .navbar-links a.nav-cta.nav-active {
        background: var(--gold-dark) !important;
        color: var(--cream) !important;
    }
    /* CTA has no underline */
    .navbar-links a.nav-cta::after {
        display: none;
    }

/* ── Hamburger is-open animation ───────────────────────────── */
.hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--gold);
    margin: 4px 0;
    border-radius: 2px;
    transition: transform .3s ease, opacity .3s ease;
}

.hamburger.is-open span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.hamburger.is-open span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.hamburger.is-open span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

/* ══════════════════════════════════════════
   HOME PAGE — NEW SECTIONS (real content)
   ══════════════════════════════════════════ */

/* BBA suffix */
.hero-name-bba {
    font-family: var(--f-title);
    font-size: .55em;
    color: var(--text-dim);
    letter-spacing: .08em;
    margin-left: .1em;
    -webkit-text-fill-color: var(--text-dim);
}

/* Leadership card footer link */
.lcard-link {
    display: inline-block;
    margin-top: .8rem;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold);
    transition: color .25s, letter-spacing .25s;
}

    .lcard-link:hover {
        color: var(--gold3);
        letter-spacing: .18em;
    }

/* ── Roles strip ─────────────────────────── */
.roles-strip-section {
    background: var(--dark2);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 4rem 2rem;
}

.roles-strip-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.section-heading-inline {
    font-family: var(--f-title);
    font-size: clamp(1.3rem, 2.5vw, 2rem);
    font-weight: 600;
    color: var(--gold2);
    letter-spacing: .06em;
}

.gold-rule {
    width: 60px;
    height: 1.5px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    display: block;
}

.roles-strip-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-top: 2rem;
}

.rs-card {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    padding: 1.2rem 1rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.25);
    transition: border-color .3s, transform .3s;
}

    .rs-card:hover {
        border-color: rgba(201,168,76,.4);
        transform: translateY(-3px);
    }

.rs-icon {
    font-size: 1.3rem;
    flex-shrink: 0;
    margin-top: .1rem;
}

.rs-title {
    font-size: .72rem;
    font-weight: 700;
    color: var(--cream);
    margin-bottom: .2rem;
    line-height: 1.3;
}

.rs-org {
    font-size: .62rem;
    color: var(--text-mid);
    letter-spacing: .03em;
    line-height: 1.4;
}

/* ── Quote banner ────────────────────────── */
.quote-banner {
    background: var(--black);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 4rem 2rem;
    position: relative;
    overflow: hidden;
}

    .quote-banner::before {
        content: '"';
        position: absolute;
        top: -1rem;
        left: 2rem;
        font-family: var(--f-title);
        font-size: 12rem;
        color: rgba(201,168,76,.04);
        line-height: 1;
        pointer-events: none;
    }

.quote-banner-inner {
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
}

.qb-mark {
    font-family: var(--f-title);
    font-size: 3rem;
    color: var(--gold);
    line-height: .5;
    margin-bottom: .5rem;
}

.qb-text {
    font-family: var(--f-body);
    font-style: italic;
    font-size: clamp(1.1rem, 2.2vw, 1.5rem);
    color: var(--cream);
    line-height: 1.8;
    margin-bottom: 1.2rem;
    border: none;
}

.qb-attr {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gold-dark);
}

/* ── Geographic scope ────────────────────── */
.content-section {
    padding: 4rem 0;
}

.content-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
}

.section-heading {
    font-family: var(--f-title);
    font-size: clamp(1.4rem, 2.8vw, 2.2rem);
    color: var(--gold2);
    font-weight: 600;
    letter-spacing: .05em;
    margin-bottom: .5rem;
}

.body-text {
    font-family: var(--f-body);
    color: var(--text-light);
    font-size: 1rem;
    line-height: 1.8;
}

    .body-text p {
        margin-bottom: .9rem;
    }

        .body-text p:last-child {
            margin-bottom: 0;
        }

.geo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin: 2.5rem 0;
}

.geo-card {
    padding: 2rem 1.5rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.3);
    text-align: center;
    transition: border-color .3s, transform .3s;
}

    .geo-card:hover {
        border-color: rgba(201,168,76,.4);
        transform: translateY(-4px);
    }

.geo-flag {
    font-size: 2.2rem;
    margin-bottom: .8rem;
}

.geo-card h3 {
    font-family: var(--f-title);
    font-size: .9rem;
    font-weight: 600;
    color: var(--gold2);
    letter-spacing: .1em;
    margin-bottom: .6rem;
}

.geo-card p {
    font-family: var(--f-body);
    font-size: .88rem;
    color: var(--text-mid);
    line-height: 1.6;
}

/* ── Influence stats strip ───────────────── */
.influence-stats-strip {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.3);
    padding: 1.5rem 0;
    margin-top: 2rem;
}

.iss-item {
    text-align: center;
    flex: 1;
}

.iss-num {
    font-family: var(--f-title);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--gold2);
    line-height: 1;
}

.iss-lbl {
    font-size: .54rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-top: .3rem;
}

.iss-sep {
    width: 1px;
    height: 40px;
    background: var(--border);
    flex-shrink: 0;
}

/* ── Two-col layout (used by sub-pages) ─── */
.two-col-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

.col-photo .profile-img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* ── evp-section = about-section alias ──── */
.evp-section {
    position: relative;
    overflow: hidden;
    min-height: 80vh;
    display: flex;
    align-items: stretch;
}

/* ── Mobile ─────────────────────────────── */
@media (max-width: 900px) {
    .roles-strip-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .geo-grid {
        grid-template-columns: 1fr;
    }

    .influence-stats-strip {
        flex-wrap: wrap;
        gap: 1rem;
        padding: 1.2rem;
    }

    .iss-sep {
        display: none;
    }

    .two-col-layout {
        grid-template-columns: 1fr;
    }

    .lcard-grid [style*="grid-column"] {
        grid-column: auto !important;
    }
}

@media (max-width: 600px) {
    .roles-strip-grid {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════
   SITE PATCH — append to end of wwwroot/site.css
   Covers: hero · about · leadership · investments ·
   endorsements · contact · footer · ALL new page components
   ═══════════════════════════════════════════════════════════ */

/* ── Keyframes ─────────────────────────────────────────────── */
@keyframes goldShimmer {
    0% {
        background-position: 200% center
    }

    100% {
        background-position: -200% center
    }
}

@keyframes sealPulse {
    0%,100% {
        filter: drop-shadow(0 0 6px rgba(201,168,76,.35))
    }

    50% {
        filter: drop-shadow(0 0 16px rgba(201,168,76,.7))
    }
}

@keyframes rippleOut {
    to {
        transform: scale(42);
        opacity: 0
    }
}

@keyframes scanLine {
    0% {
        top: -2px;
        opacity: 0
    }

    10% {
        opacity: .6
    }

    90% {
        opacity: .5
    }

    100% {
        top: 100%;
        opacity: 0
    }
}

@keyframes orbFloat {
    0%,100% {
        transform: translate(0,0) scale(1)
    }

    50% {
        transform: translate(20px,-30px) scale(1.08)
    }
}

@keyframes diamondDrift {
    0%,100% {
        transform: translateY(0) rotate(0deg);
        opacity: .12
    }

    50% {
        transform: translateY(-18px) rotate(180deg);
        opacity: .22
    }
}

@keyframes iconBounce {
    0%,100% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.18)
    }
}

@keyframes borderGlow {
    0%,100% {
        box-shadow: 0 0 0 0 rgba(201,168,76,0)
    }

    50% {
        box-shadow: 0 0 18px 3px rgba(201,168,76,.18)
    }
}

@keyframes quoteSwing {
    0% {
        opacity: 0;
        transform: translateY(-12px) rotate(-8deg)
    }

    100% {
        opacity: 1;
        transform: none
    }
}

@keyframes contactBorder {
    0% {
        background-position: 0% 50%
    }

    100% {
        background-position: 200% 50%
    }
}

@keyframes successSlide {
    0% {
        opacity: 0;
        transform: translateY(-10px)
    }

    100% {
        opacity: 1;
        transform: none
    }
}

@keyframes pulse {
    0%,100% {
        box-shadow: 0 0 0 0 rgba(201,168,76,.45)
    }

    70% {
        box-shadow: 0 0 0 10px rgba(201,168,76,0)
    }
}

@keyframes ciIconGlow {
    0%,100% {
        border-color: rgba(201,168,76,.22)
    }

    50% {
        border-color: rgba(201,168,76,.6)
    }
}

@keyframes dashGrow {
    to {
        width: 18px !important
    }
}

@keyframes fadeSlideUp {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

    100% {
        opacity: 1;
        transform: none
    }
}

/* ═══════════════════════════════════════════════════════════
   HERO (home)
   ═══════════════════════════════════════════════════════════ */
.hero {
    grid-template-columns: 2fr 3fr !important;
}

.hero-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.hero-real-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    position: absolute;
    inset: 0;
    display: block;
}

.hero-photo-bottom-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 42%;
    background: linear-gradient(to top,var(--dark) 0%,rgba(16,13,8,.7) 40%,transparent 100%);
    z-index: 3;
    pointer-events: none;
}

.hero-text-side {
    position: relative;
    z-index: 2;
}

.hero-name-bba {
    color: var(--text-dim);
    font-size: .65em;
}

.hero-name-shimmer {
    background: linear-gradient(90deg,var(--gold2) 0%,var(--gold3) 30%,var(--white) 50%,var(--gold3) 70%,var(--gold2) 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: goldShimmer 4s linear infinite;
}

.hero-stats {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 2.5rem;
}

.hstat {
    text-align: center;
    flex: 1;
}

.hstat-num {
    font-family: var(--f-title);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--gold2);
    line-height: 1;
}

.hstat-lbl {
    font-size: .55rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-top: .3rem;
}

.hstat-sep {
    width: 1px;
    height: 36px;
    background: var(--border);
    flex-shrink: 0;
}

.hero-seal-strip {
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.hss-line {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg,transparent 0%,var(--gold-dark) 30%,var(--gold) 50%,var(--gold-dark) 70%,transparent 100%);
    opacity: .6;
}

.hss-inner {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.hss-seal {
    width: 44px;
    height: 44px;
    object-fit: contain;
    animation: sealPulse 3s ease-in-out infinite;
}

.hss-seal-dim {
    width: 30px;
    height: 30px;
    opacity: .25;
    animation: none;
    margin-left: auto;
}

.hss-text {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.hss-title {
    font-family: var(--f-title);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .12em;
    color: var(--gold2);
}

.hss-sub {
    font-size: .55rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--text-dim);
}

/* ═══════════════════════════════════════════════════════════
   PAGE HERO (inner pages)
   ═══════════════════════════════════════════════════════════ */
.page-hero {
    position: relative;
    min-height: 52vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(160deg,var(--black) 0%,var(--dark2) 50%,var(--leather) 100%);
    overflow: hidden;
    padding: 7rem 2rem 5rem;
}

.page-hero-bottom-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 35%;
    background: linear-gradient(to top,var(--dark) 0%,transparent 100%);
    pointer-events: none;
    z-index: 2;
}

.page-hero-inner {
    position: relative;
    z-index: 3;
    text-align: center;
    max-width: 900px;
}

.page-hero-eyebrow {
    font-family: var(--f-ui);
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 1rem;
}

.page-hero-title {
    font-family: var(--f-title);
    font-size: clamp(2rem,5vw,3.5rem);
    font-weight: 700;
    color: var(--cream);
    line-height: 1.1;
    margin-bottom: 1rem;
}

.page-hero-sub {
    font-family: var(--f-body);
    font-style: italic;
    font-size: 1rem;
    color: var(--text-mid);
    letter-spacing: .04em;
}

/* ═══════════════════════════════════════════════════════════
   SHARED CONTENT LAYOUT
   ═══════════════════════════════════════════════════════════ */
.content-section {
    padding: 5rem 0;
}

.content-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
}

.section-heading {
    font-family: var(--f-title);
    font-size: clamp(1.5rem,3vw,2.4rem);
    font-weight: 600;
    color: var(--gold2);
    letter-spacing: .05em;
    margin-bottom: .6rem;
}

.gold-rule {
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg,var(--gold-dark),var(--gold),transparent);
    margin-bottom: 2rem;
}

.section-lead {
    font-family: var(--f-body);
    font-size: 1.05rem;
    color: var(--text-light);
    line-height: 1.8;
    margin-bottom: 2rem;
}

.body-text {
    font-family: var(--f-body);
    color: var(--text-light);
    line-height: 1.9;
}

    .body-text p {
        margin-bottom: 1rem;
    }

        .body-text p:last-child {
            margin-bottom: 0;
        }

.two-col-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
}

.col-text {
}

.col-photo {
    position: relative;
}

.profile-img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    object-position: center top;
    display: block;
    border: 1px solid var(--border);
    box-shadow: 0 20px 60px rgba(0,0,0,.5);
    transition: transform .4s ease, box-shadow .4s ease;
}

    .profile-img:hover {
        transform: scale(1.02);
        box-shadow: 0 24px 70px rgba(0,0,0,.6), 0 0 0 1px rgba(201,168,76,.2);
    }

/* ═══════════════════════════════════════════════════════════
   HOME — Pillar grid
   ═══════════════════════════════════════════════════════════ */
.home-value-section {
    padding: 5rem 0;
    background: var(--dark2);
}

.home-value-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.pillar-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.5rem;
}

.pillar-card {
    background: var(--dark3);
    border: 1px solid var(--border);
    padding: 2rem 1.8rem;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

    .pillar-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 16px 40px rgba(0,0,0,.5), 0 0 0 1px rgba(201,168,76,.25);
        border-color: rgba(201,168,76,.35);
    }

.pillar-icon {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.pillar-title {
    font-family: var(--f-title);
    font-size: .95rem;
    color: var(--gold2);
    margin-bottom: .7rem;
    letter-spacing: .04em;
}

.pillar-desc {
    font-family: var(--f-body);
    font-size: .9rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin-bottom: 1rem;
}

.pillar-link {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--gold);
    transition: color .25s;
}

    .pillar-link:hover {
        color: var(--gold3);
    }

/* ═══════════════════════════════════════════════════════════
   HOME — Quote banner
   ═══════════════════════════════════════════════════════════ */
.quote-banner {
    background: var(--black);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 4rem 2rem;
}

.quote-banner-inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.qb-mark {
    font-family: var(--f-title);
    font-size: 5rem;
    color: var(--gold-dark);
    line-height: .5;
    margin-bottom: 1rem;
    opacity: .7;
}

.qb-text {
    font-family: var(--f-body);
    font-size: 1.25rem;
    font-style: italic;
    color: var(--cream);
    line-height: 1.8;
    margin-bottom: 1.5rem;
}

.qb-attr {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gold);
}

/* ═══════════════════════════════════════════════════════════
   HOME — Geographic scope
   ═══════════════════════════════════════════════════════════ */
.geo-section {
    padding: 5rem 0;
}

.geo-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
    position: relative;
    z-index: 1;
}

.geo-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 2rem;
}

.geo-card {
    border: 1px solid var(--border);
    padding: 2.5rem 2rem;
    text-align: center;
    transition: border-color .3s, box-shadow .3s, transform .3s;
}

    .geo-card:hover {
        border-color: rgba(201,168,76,.4);
        box-shadow: 0 8px 30px rgba(0,0,0,.4);
        transform: translateY(-4px);
    }

.geo-flag {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.geo-region {
    font-family: var(--f-title);
    font-size: 1rem;
    color: var(--gold2);
    margin-bottom: .8rem;
    letter-spacing: .05em;
}

.geo-desc {
    font-family: var(--f-body);
    font-size: .9rem;
    color: var(--text-mid);
    line-height: 1.7;
}

/* ═══════════════════════════════════════════════════════════
   ABOUT — Roles grid
   ═══════════════════════════════════════════════════════════ */
.roles-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 1rem;
    margin-top: 1.5rem;
}

.role-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: rgba(201,168,76,.04);
    border: 1px solid var(--border);
    padding: 1.2rem 1.4rem;
    transition: border-color .3s, background .3s, transform .2s;
}

    .role-card:hover {
        border-color: rgba(201,168,76,.3);
        background: rgba(201,168,76,.07);
        transform: translateX(3px);
    }

.role-icon {
    font-size: 1.4rem;
    flex-shrink: 0;
}

.role-title {
    font-family: var(--f-ui);
    font-size: .8rem;
    font-weight: 600;
    color: var(--gold2);
    margin-bottom: .2rem;
}

.role-org {
    font-family: var(--f-body);
    font-size: .85rem;
    color: var(--text-mid);
    line-height: 1.5;
}

.former-roles {
    display: flex;
    flex-direction: column;
    gap: .9rem;
}

.former-role-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    font-family: var(--f-body);
    font-size: .95rem;
    color: var(--text-light);
    line-height: 1.6;
}

.former-bullet {
    color: var(--gold);
    flex-shrink: 0;
    margin-top: .2rem;
}

.bio-text {
    font-family: var(--f-body);
    font-size: 1rem;
    color: var(--text-light);
    line-height: 1.9;
}

    .bio-text p {
        margin-bottom: 1.1rem;
    }

/* ═══════════════════════════════════════════════════════════
   LEADERSHIP — SACoCSO / programs
   ═══════════════════════════════════════════════════════════ */
.sacocso-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 1.5rem;
}

.sacocso-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    border-left: 2px solid var(--gold-dark);
    padding-left: 1.2rem;
}

.sacocso-icon {
    font-size: 1.4rem;
    flex-shrink: 0;
}

.sacocso-item strong {
    display: block;
    font-family: var(--f-ui);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--gold2);
    margin-bottom: .3rem;
}

.sacocso-item p {
    font-family: var(--f-body);
    font-size: .9rem;
    color: var(--text-mid);
    line-height: 1.6;
    margin: 0;
}

.programs-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 1.5rem;
}

.program-card {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    border: 1px solid var(--border);
    padding: 1.8rem;
    transition: border-color .3s, transform .2s;
}

    .program-card:hover {
        border-color: rgba(201,168,76,.3);
        transform: translateY(-3px);
    }

.program-num {
    font-family: var(--f-title);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--gold-dark);
    opacity: .5;
    flex-shrink: 0;
    line-height: 1;
}

.program-body h3 {
    font-family: var(--f-title);
    font-size: .95rem;
    color: var(--gold2);
    margin-bottom: .6rem;
}

.program-body p {
    font-family: var(--f-body);
    font-size: .9rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin: 0;
}

.influence-stats {
    display: flex;
    gap: 0;
    justify-content: center;
    flex-wrap: wrap;
    border: 1px solid var(--border);
}

.inf-stat {
    flex: 1;
    min-width: 160px;
    text-align: center;
    padding: 2.5rem 1rem;
    border-right: 1px solid var(--border);
}

    .inf-stat:last-child {
        border-right: none;
    }

.inf-num {
    font-family: var(--f-title);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--gold2);
    margin-bottom: .5rem;
}

.inf-lbl {
    font-size: .55rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--text-dim);
}

/* ═══════════════════════════════════════════════════════════
   ROYAL — Seal, recognition
   ═══════════════════════════════════════════════════════════ */
.royal-seal-feature {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.royal-seal-large {
    width: 120px;
    height: 120px;
    object-fit: contain;
    animation: sealPulse 3s ease-in-out infinite;
    filter: drop-shadow(0 0 20px rgba(201,168,76,.4));
}

.royal-seal-title {
    font-family: var(--f-title);
    font-size: 1.8rem;
    color: var(--gold2);
    letter-spacing: .08em;
}

.royal-seal-sub {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--text-dim);
}

.recognition-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1.5rem;
    margin-top: 2rem;
}

.recog-card {
    border: 1px solid var(--border);
    padding: 2rem 1.5rem;
    text-align: center;
    transition: border-color .3s, transform .3s, box-shadow .3s;
}

    .recog-card:hover {
        border-color: rgba(201,168,76,.35);
        transform: translateY(-5px);
        box-shadow: 0 10px 30px rgba(0,0,0,.4);
    }

.recog-flag {
    font-size: 2.5rem;
    margin-bottom: .8rem;
}

.recog-card h3 {
    font-family: var(--f-title);
    font-size: .9rem;
    color: var(--gold2);
    margin-bottom: .6rem;
}

.recog-card p {
    font-family: var(--f-body);
    font-size: .85rem;
    color: var(--text-mid);
    line-height: 1.6;
    margin: 0;
}

.heritage-statement {
    font-family: var(--f-body);
    font-size: 1rem;
    color: var(--text-light);
    line-height: 1.9;
}

    .heritage-statement p {
        margin-bottom: 1rem;
    }

/* ═══════════════════════════════════════════════════════════
   PHILANTHROPY — NPOs
   ═══════════════════════════════════════════════════════════ */
.npo-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.npo-card {
    background: rgba(10,8,4,.5);
    border: 1px solid var(--border);
    padding: 2rem;
    transition: border-color .3s, transform .3s;
}

    .npo-card:hover {
        border-color: rgba(201,168,76,.3);
        transform: translateY(-5px);
    }

.npo-icon {
    font-size: 2rem;
    margin-bottom: .8rem;
}

.npo-title {
    font-family: var(--f-title);
    font-size: 1rem;
    color: var(--gold2);
    margin-bottom: .3rem;
}

.npo-type {
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold-dark);
    margin-bottom: 1rem;
}

.npo-list {
    list-style: none;
    padding: 0;
}

    .npo-list li {
        font-family: var(--f-body);
        font-size: .88rem;
        color: var(--text-mid);
        padding: .3rem 0;
        border-bottom: 1px solid rgba(201,168,76,.1);
        line-height: 1.5;
    }

        .npo-list li::before {
            content: '◆ ';
            color: var(--gold-dark);
            font-size: .55rem;
        }

        .npo-list li:last-child {
            border-bottom: none;
        }

.impact-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 2rem;
}

.impact-item {
    border-left: 2px solid var(--gold-dark);
    padding-left: 1.5rem;
}

.impact-icon {
    font-size: 1.8rem;
    margin-bottom: .6rem;
}

.impact-item h3 {
    font-family: var(--f-title);
    font-size: 1rem;
    color: var(--gold2);
    margin-bottom: .6rem;
}

.impact-item p {
    font-family: var(--f-body);
    font-size: .9rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════
   INVESTMENTS — Value prop
   ═══════════════════════════════════════════════════════════ */
.value-prop-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.5rem;
}

.vp-item {
    background: var(--dark3);
    border: 1px solid var(--border);
    padding: 2rem;
    transition: border-color .3s, transform .3s;
}

    .vp-item:hover {
        border-color: rgba(201,168,76,.3);
        transform: translateY(-4px);
    }

.vp-icon {
    font-size: 2rem;
    margin-bottom: .8rem;
}

.vp-item h3 {
    font-family: var(--f-title);
    font-size: .9rem;
    color: var(--gold2);
    margin-bottom: .6rem;
}

.vp-item p {
    font-family: var(--f-body);
    font-size: .88rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════
   DIGITAL — ARTLDPP
   ═══════════════════════════════════════════════════════════ */
.artldpp-badge {
    display: inline-block;
    border: 1px solid var(--gold-dark);
    font-size: .55rem;
    font-weight: 700;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--gold);
    padding: .35rem .9rem;
    margin-bottom: 1rem;
    background: rgba(201,168,76,.06);
}

.artldpp-full {
    font-family: var(--f-body);
    font-style: italic;
    font-size: 1.1rem;
    color: var(--text-mid);
    margin-bottom: 1rem;
}

.artldpp-pillars {
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: .7rem;
}

.artldpp-pillar {
    display: flex;
    gap: .8rem;
    align-items: center;
    font-family: var(--f-ui);
    font-size: .85rem;
    color: var(--text-light);
}

.ap-icon {
    font-size: 1.1rem;
    flex-shrink: 0;
}

.digital-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.5rem;
}

.digital-card {
    background: rgba(10,8,4,.5);
    border: 1px solid var(--border);
    padding: 2rem;
    transition: border-color .3s, transform .3s;
}

    .digital-card:hover {
        border-color: rgba(201,168,76,.3);
        transform: translateY(-5px);
    }

.digital-icon {
    font-size: 2rem;
    margin-bottom: .8rem;
}

.digital-card h3 {
    font-family: var(--f-title);
    font-size: .9rem;
    color: var(--gold2);
    margin-bottom: .6rem;
}

.digital-card p {
    font-family: var(--f-body);
    font-size: .88rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin: 0;
}

.tech-heritage {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.th-item {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    border-left: 2px solid var(--gold-dark);
    padding-left: 1.5rem;
}

.th-logo {
    font-size: 2rem;
    flex-shrink: 0;
}

.th-body h3 {
    font-family: var(--f-title);
    font-size: 1.05rem;
    color: var(--gold2);
    margin-bottom: .2rem;
}

.th-role {
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--gold-dark);
    margin-bottom: .6rem;
}

.th-body p {
    font-family: var(--f-body);
    font-size: .9rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════
   ENDORSEMENTS — Thought leadership, influence
   ═══════════════════════════════════════════════════════════ */
.endorse-section {
    position: relative;
    overflow: hidden;
}

.endorse-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

.tl-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.5rem;
}

.tl-card {
    background: var(--dark3);
    border: 1px solid var(--border);
    padding: 2rem;
    transition: transform .3s, border-color .3s;
}

    .tl-card:hover {
        transform: translateY(-5px);
        border-color: rgba(201,168,76,.3);
    }

.tl-cat {
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: .6rem;
}

.tl-title {
    font-family: var(--f-title);
    font-size: .9rem;
    color: var(--cream);
    margin-bottom: .8rem;
    line-height: 1.4;
}

.tl-excerpt {
    font-family: var(--f-body);
    font-size: .88rem;
    color: var(--text-mid);
    line-height: 1.7;
    margin-bottom: .8rem;
}

.tl-attr {
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--gold-dark);
}

.influence-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1.5rem;
}

.infl-card {
    border: 1px solid var(--border);
    padding: 2rem 1.5rem;
    text-align: center;
    transition: border-color .3s, transform .3s;
}

    .infl-card:hover {
        border-color: rgba(201,168,76,.35);
        transform: translateY(-4px);
    }

.infl-icon {
    font-size: 2rem;
    margin-bottom: .8rem;
}

.infl-card h3 {
    font-family: var(--f-title);
    font-size: .88rem;
    color: var(--gold2);
    margin-bottom: .6rem;
}

.infl-card p {
    font-family: var(--f-body);
    font-size: .85rem;
    color: var(--text-mid);
    line-height: 1.6;
    margin: 0;
}

.endorse-quote-anim {
    display: inline-block;
    opacity: 0;
    transform: translateY(-12px) rotate(-8deg);
}

.endorse-card.revealed .endorse-quote-anim {
    animation: quoteSwing .6s .3s ease forwards;
}

.endorse-card {
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

    .endorse-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 32px rgba(0,0,0,.45);
        border-color: rgba(201,168,76,.4);
    }

/* ═══════════════════════════════════════════════════════════
   CONTACT — enhanced
   ═══════════════════════════════════════════════════════════ */
.contact-gold-border {
    height: 2px;
    background: linear-gradient(90deg,var(--gold-dark),var(--gold),var(--gold3),var(--gold),var(--gold-dark));
    background-size: 200% 100%;
    animation: contactBorder 3s linear infinite;
}

.ci-icon-pulse {
    animation: ciIconGlow 2.5s ease-in-out infinite;
}

.cf-input-anim {
    border-bottom: 2px solid var(--border) !important;
    transition: border-color .3s ease,box-shadow .3s ease !important;
}

    .cf-input-anim:focus {
        border-color: var(--gold) !important;
        box-shadow: 0 2px 0 0 rgba(201,168,76,.25) !important;
        outline: none !important;
    }

.cf-success-anim {
    animation: successSlide .5s ease forwards;
}

.btn-submit-anim {
    transition: transform .2s ease,box-shadow .3s ease !important;
}

    .btn-submit-anim:hover {
        transform: translateY(-3px) !important;
        box-shadow: 0 8px 28px rgba(201,168,76,.35) !important;
    }

.engagement-types {
    margin-top: 2rem;
}

.et-title {
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gold-dark);
    margin-bottom: .8rem;
}

.et-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.et-tag {
    font-size: .6rem;
    font-weight: 600;
    letter-spacing: .1em;
    border: 1px solid var(--border);
    color: var(--text-mid);
    padding: .28rem .7rem;
    transition: border-color .25s, color .25s;
}

    .et-tag:hover {
        border-color: var(--gold-dark);
        color: var(--gold2);
    }

/* ═══════════════════════════════════════════════════════════
   FOOTER — enhanced
   ═══════════════════════════════════════════════════════════ */
.footer-logo-anim {
    transition: transform .5s ease,filter .3s ease;
    cursor: pointer;
}

    .footer-logo-anim:hover {
        transform: rotate(20deg) scale(1.1);
        filter: drop-shadow(0 0 8px rgba(201,168,76,.5));
    }

.ft-links-anim a {
    position: relative;
    display: inline-block;
}

    .ft-links-anim a::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -1px;
        width: 0;
        height: 1px;
        background: var(--gold);
        transition: width .3s ease;
    }

    .ft-links-anim a:hover::after {
        width: 100%;
    }

.footer-contact-mini {
    margin-top: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.fct-item {
    font-family: var(--f-body);
    font-size: .82rem;
    color: var(--text-dim);
    transition: color .25s;
}

a.fct-item:hover {
    color: var(--gold2);
}

/* ═══════════════════════════════════════════════════════════
   ABOUT — scan line, parallax, deco
   ═══════════════════════════════════════════════════════════ */
.about-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    opacity: .08;
    filter: blur(3px) grayscale(40%);
    transition: transform .1s linear;
    will-change: transform;
}

.about-real-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.about-scan-line {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,transparent,rgba(201,168,76,.5),transparent);
    pointer-events: none;
    z-index: 3;
    top: -2px;
    opacity: 0;
}

.about-section.section-entered .about-scan-line {
    animation: scanLine 1.4s ease-out forwards;
}

.deco-dash-anim {
    width: 0 !important;
    animation: dashGrow .6s ease forwards;
    animation-delay: .3s;
}

/* ═══════════════════════════════════════════════════════════
   LEADERSHIP — cards, orbs
   ═══════════════════════════════════════════════════════════ */
.leadership-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(80px);
}

.leadership-orb-1 {
    width: 400px;
    height: 400px;
    top: -80px;
    left: -100px;
    background: radial-gradient(circle,rgba(201,168,76,.06) 0%,transparent 70%);
    animation: orbFloat 9s ease-in-out infinite;
}

.leadership-orb-2 {
    width: 300px;
    height: 300px;
    bottom: -60px;
    right: -60px;
    background: radial-gradient(circle,rgba(201,168,76,.05) 0%,transparent 70%);
    animation: orbFloat 11s ease-in-out infinite reverse;
}

.lcard-photo {
    position: relative;
    overflow: hidden;
}

.lcard-real-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    inset: 0;
    display: block;
    transition: transform .55s ease,filter .55s ease;
}

.lcard:hover .lcard-real-img {
    transform: scale(1.06);
    filter: brightness(1.12);
}

.lcard-photo-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg,rgba(10,8,4,.08) 0%,rgba(10,8,4,.62) 100%);
}

.lcard-shine {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(105deg,transparent 30%,rgba(255,255,255,.07) 50%,transparent 70%);
    transform: translateX(-100%);
    transition: transform .55s ease;
}

.lcard:hover .lcard-shine {
    transform: translateX(100%);
}

.lcard {
    transition: transform .3s ease,box-shadow .3s ease;
}

    .lcard:hover {
        transform: translateY(-8px) !important;
        box-shadow: 0 16px 40px rgba(0,0,0,.55),0 0 0 1px rgba(201,168,76,.3);
    }

/* ═══════════════════════════════════════════════════════════
   INVESTMENTS — diamonds, bullets
   ═══════════════════════════════════════════════════════════ */
.investments-section {
    position: relative;
    overflow: hidden;
}

.inv-diamond {
    position: absolute;
    font-size: 1.2rem;
    color: var(--gold);
    pointer-events: none;
    user-select: none;
    animation: diamondDrift 6s ease-in-out infinite;
}

.inv-diamond-1 {
    top: 12%;
    left: 3%;
    animation-delay: 0s;
}

.inv-diamond-2 {
    bottom: 15%;
    right: 4%;
    animation-delay: 3s;
}

.inv-icon-anim {
    transition: transform .3s ease;
}

.inv-category:hover .inv-icon-anim {
    animation: iconBounce .5s ease;
}

.inv-bullet {
    transition: transform .2s ease;
}

    .inv-bullet:hover {
        transform: translateX(4px);
    }

.inv-bullet-icon {
    display: inline-block;
    transition: color .3s;
}

.inv-bullet:hover .inv-bullet-icon {
    color: var(--gold3);
}

.inv-category {
    transition: background .3s ease;
    border-radius: 2px;
}

    .inv-category:hover {
        background: rgba(201,168,76,.04);
        animation: borderGlow .6s ease;
    }

/* ═══════════════════════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════════════════════ */
.btn {
    position: relative;
    overflow: hidden;
}

.btn-ripple-wave {
    position: absolute;
    border-radius: 50%;
    width: 6px;
    height: 6px;
    margin: -3px;
    background: rgba(255,255,255,.35);
    transform: scale(0);
    animation: rippleOut .65s ease-out forwards;
    pointer-events: none;
}

.btn-gold {
    background-image: linear-gradient(90deg,var(--gold-dark) 0%,var(--gold) 50%,var(--gold-dark) 100%) !important;
    background-size: 200% auto !important;
    transition: background-position .4s ease,transform .2s ease,box-shadow .3s ease !important;
}

    .btn-gold:hover {
        background-position: right center !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 24px rgba(201,168,76,.35) !important;
    }

.btn-outline {
    transition: transform .2s ease,box-shadow .3s ease !important;
}

    .btn-outline:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 4px 16px rgba(201,168,76,.15) !important;
    }

.btn-pulse {
    animation: pulse 2.4s ease-in-out infinite;
}

/* ═══════════════════════════════════════════════════════════
   ACTIVE NAV
   ═══════════════════════════════════════════════════════════ */
.navbar-links a.nav-active {
    color: var(--gold2) !important;
    position: relative;
}

    .navbar-links a.nav-active:not(.nav-cta)::after {
        content: '';
        position: absolute;
        bottom: -3px;
        left: 1.4rem;
        right: 1.4rem;
        height: 1.5px;
        background: var(--gold);
        border-radius: 1px;
    }

.navbar-links a.nav-cta.nav-active {
    background: var(--gold-dark) !important;
    color: var(--cream) !important;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    .pillar-grid, .digital-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .recognition-grid, .influence-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .tl-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .hero {
        grid-template-columns: 1fr !important;
    }

    .two-col-layout {
        grid-template-columns: 1fr;
    }

    .pillar-grid, .geo-grid, .npo-grid, .digital-grid {
        grid-template-columns: 1fr;
    }

    .roles-grid, .sacocso-grid, .programs-grid, .value-prop-grid {
        grid-template-columns: 1fr;
    }

    .recognition-grid, .influence-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .leadership-orb, .inv-diamond {
        display: none;
    }

    .footer-top {
        grid-template-columns: 1fr;
    }

    .navbar-inner {
        position: relative;
    }

    .navbar-links.open {
        display: flex !important;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(10,8,4,.97);
        border-top: 1px solid rgba(201,168,76,.22);
        border-bottom: 1px solid rgba(201,168,76,.22);
        padding: .5rem 0;
        z-index: 999;
    }

        .navbar-links.open a {
            padding: .8rem 2rem;
            border: none !important;
            border-bottom: 1px solid rgba(201,168,76,.1) !important;
            font-size: .75rem;
        }

            .navbar-links.open a.nav-cta {
                margin: .5rem 2rem;
                text-align: center;
                border: 1px solid var(--gold-dark) !important;
            }
}

/* ── Hamburger open/active state (JS-driven) ───────────────── */
.hamburger.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.hamburger.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ── Mobile nav open (JS adds .open class) ─────────────────── */
@media (max-width: 900px) {
    .navbar-links:not(.open) {
        display: none;
    }

    .navbar-links.open {
        display: flex !important;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(10,8,4,.97);
        border-top: 1px solid rgba(201,168,76,.22);
        border-bottom: 1px solid rgba(201,168,76,.22);
        padding: .5rem 0;
        z-index: 999;
    }

        .navbar-links.open a {
            padding: .85rem 2rem;
            border: none !important;
            border-bottom: 1px solid rgba(201,168,76,.08) !important;
            font-size: .78rem;
        }

            .navbar-links.open a.nav-cta {
                margin: .6rem 2rem;
                text-align: center;
                border: 1px solid var(--gold-dark) !important;
            }
    /* Hide desktop nav links on mobile */
    .navbar-links {
        display: none;
    }

    .hamburger {
        display: flex;
    }
}

@media (min-width: 901px) {
    .hamburger {
        display: none;
    }

    .navbar-links {
        display: flex !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   NAV ACTIVE STATE — clear gold underline on current page
   ═══════════════════════════════════════════════════════════ */
.navbar-links a {
    position: relative;
    transition: color .25s ease;
}

    /* Underline bar that grows in */
    .navbar-links a::after {
        content: '';
        position: absolute;
        bottom: -4px;
        left: 50%;
        right: 50%;
        height: 2px;
        background: var(--gold);
        border-radius: 2px;
        transition: left .3s ease, right .3s ease;
    }

    .navbar-links a:hover::after,
    .navbar-links a.nav-active::after {
        left: 0;
        right: 0;
    }

    /* Gold colour on active */
    .navbar-links a.nav-active {
        color: var(--gold2) !important;
    }

    /* CTA button active */
    .navbar-links a.nav-cta.nav-active {
        background: var(--gold-dark) !important;
        color: var(--cream) !important;
    }
    /* CTA has no underline */
    .navbar-links a.nav-cta::after {
        display: none;
    }

/* ── Hamburger is-open animation ───────────────────────────── */
.hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--gold);
    margin: 4px 0;
    border-radius: 2px;
    transition: transform .3s ease, opacity .3s ease;
}

.hamburger.is-open span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.hamburger.is-open span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.hamburger.is-open span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

/* ══════════════════════════════════════════
   HOME PAGE — NEW SECTIONS (real content)
   ══════════════════════════════════════════ */

/* BBA suffix */
.hero-name-bba {
    font-family: var(--f-title);
    font-size: .55em;
    color: var(--text-dim);
    letter-spacing: .08em;
    margin-left: .1em;
    -webkit-text-fill-color: var(--text-dim);
}

/* Leadership card footer link */
.lcard-link {
    display: inline-block;
    margin-top: .8rem;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold);
    transition: color .25s, letter-spacing .25s;
}

    .lcard-link:hover {
        color: var(--gold3);
        letter-spacing: .18em;
    }

/* ── Roles strip ─────────────────────────── */
.roles-strip-section {
    background: var(--dark2);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 4rem 2rem;
}

.roles-strip-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.section-heading-inline {
    font-family: var(--f-title);
    font-size: clamp(1.3rem, 2.5vw, 2rem);
    font-weight: 600;
    color: var(--gold2);
    letter-spacing: .06em;
}

.gold-rule {
    width: 60px;
    height: 1.5px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    display: block;
}

.roles-strip-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-top: 2rem;
}

.rs-card {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    padding: 1.2rem 1rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.25);
    transition: border-color .3s, transform .3s;
}

    .rs-card:hover {
        border-color: rgba(201,168,76,.4);
        transform: translateY(-3px);
    }

.rs-icon {
    font-size: 1.3rem;
    flex-shrink: 0;
    margin-top: .1rem;
}

.rs-title {
    font-size: .72rem;
    font-weight: 700;
    color: var(--cream);
    margin-bottom: .2rem;
    line-height: 1.3;
}

.rs-org {
    font-size: .62rem;
    color: var(--text-mid);
    letter-spacing: .03em;
    line-height: 1.4;
}

/* ── Quote banner ────────────────────────── */
.quote-banner {
    background: var(--black);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 4rem 2rem;
    position: relative;
    overflow: hidden;
}

    .quote-banner::before {
        content: '"';
        position: absolute;
        top: -1rem;
        left: 2rem;
        font-family: var(--f-title);
        font-size: 12rem;
        color: rgba(201,168,76,.04);
        line-height: 1;
        pointer-events: none;
    }

.quote-banner-inner {
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
}

.qb-mark {
    font-family: var(--f-title);
    font-size: 3rem;
    color: var(--gold);
    line-height: .5;
    margin-bottom: .5rem;
}

.qb-text {
    font-family: var(--f-body);
    font-style: italic;
    font-size: clamp(1.1rem, 2.2vw, 1.5rem);
    color: var(--cream);
    line-height: 1.8;
    margin-bottom: 1.2rem;
    border: none;
}

.qb-attr {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gold-dark);
}

/* ── Geographic scope ────────────────────── */
.content-section {
    padding: 4rem 0;
}

.content-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
}

.section-heading {
    font-family: var(--f-title);
    font-size: clamp(1.4rem, 2.8vw, 2.2rem);
    color: var(--gold2);
    font-weight: 600;
    letter-spacing: .05em;
    margin-bottom: .5rem;
}

.body-text {
    font-family: var(--f-body);
    color: var(--text-light);
    font-size: 1rem;
    line-height: 1.8;
}

    .body-text p {
        margin-bottom: .9rem;
    }

        .body-text p:last-child {
            margin-bottom: 0;
        }

.geo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin: 2.5rem 0;
}

.geo-card {
    padding: 2rem 1.5rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.3);
    text-align: center;
    transition: border-color .3s, transform .3s;
}

    .geo-card:hover {
        border-color: rgba(201,168,76,.4);
        transform: translateY(-4px);
    }

.geo-flag {
    font-size: 2.2rem;
    margin-bottom: .8rem;
}

.geo-card h3 {
    font-family: var(--f-title);
    font-size: .9rem;
    font-weight: 600;
    color: var(--gold2);
    letter-spacing: .1em;
    margin-bottom: .6rem;
}

.geo-card p {
    font-family: var(--f-body);
    font-size: .88rem;
    color: var(--text-mid);
    line-height: 1.6;
}

/* ── Influence stats strip ───────────────── */
.influence-stats-strip {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.3);
    padding: 1.5rem 0;
    margin-top: 2rem;
}

.iss-item {
    text-align: center;
    flex: 1;
}

.iss-num {
    font-family: var(--f-title);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--gold2);
    line-height: 1;
}

.iss-lbl {
    font-size: .54rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-top: .3rem;
}

.iss-sep {
    width: 1px;
    height: 40px;
    background: var(--border);
    flex-shrink: 0;
}

/* ── Two-col layout (used by sub-pages) ─── */
.two-col-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

.col-photo .profile-img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* ── evp-section = about-section alias ──── */
.evp-section {
    position: relative;
    overflow: hidden;
    min-height: 80vh;
    display: flex;
    align-items: stretch;
}

/* ── Mobile ─────────────────────────────── */
@media (max-width: 900px) {
    .roles-strip-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .geo-grid {
        grid-template-columns: 1fr;
    }

    .influence-stats-strip {
        flex-wrap: wrap;
        gap: 1rem;
        padding: 1.2rem;
    }

    .iss-sep {
        display: none;
    }

    .two-col-layout {
        grid-template-columns: 1fr;
    }

    .lcard-grid [style*="grid-column"] {
        grid-column: auto !important;
    }
}

@media (max-width: 600px) {
    .roles-strip-grid {
        grid-template-columns: 1fr;
    }
}

/* ══════════════════════════════════════════════════════════
   HOME PAGE — FULL DATA SECTIONS
   ══════════════════════════════════════════════════════════ */

/* ── BBA suffix ───────────────────────────────────────────── */
.hero-name-bba {
    font-family: var(--f-title);
    font-size: .55em;
    color: var(--text-dim);
    letter-spacing: .08em;
    margin-left: .05em;
    -webkit-text-fill-color: var(--text-dim);
}

/* ── lcard-link ──────────────────────────────────────────── */
.lcard-link {
    display: inline-block;
    margin-top: .8rem;
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold);
    transition: color .25s, letter-spacing .25s;
}

    .lcard-link:hover {
        color: var(--gold3);
        letter-spacing: .2em;
    }

/* ── 2-col wide lcard grid ───────────────────────────────── */
.lcard-grid-2col {
    grid-template-columns: 1fr 1fr !important;
}

.lcard-body-flat {
    padding: 1.6rem 1.5rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.32);
    height: 100%;
    box-sizing: border-box;
}

/* ── Roles strip ─────────────────────────────────────────── */
.roles-strip-section {
    background: var(--dark2);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 4rem 2rem;
}

.roles-strip-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.section-heading-inline {
    font-family: var(--f-title);
    font-size: clamp(1.3rem,2.5vw,2rem);
    font-weight: 600;
    color: var(--gold2);
    letter-spacing: .06em;
}

.gold-rule {
    width: 60px;
    height: 1.5px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    display: block;
}

.roles-strip-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1rem;
    margin-top: 2rem;
}

.rs-card {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    padding: 1.2rem 1rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.25);
    transition: border-color .3s, transform .3s;
}

    .rs-card:hover {
        border-color: rgba(201,168,76,.4);
        transform: translateY(-3px);
    }

.rs-icon {
    font-size: 1.3rem;
    flex-shrink: 0;
    margin-top: .1rem;
}

.rs-title {
    font-size: .72rem;
    font-weight: 700;
    color: var(--cream);
    margin-bottom: .2rem;
    line-height: 1.3;
}

.rs-org {
    font-size: .62rem;
    color: var(--text-mid);
    letter-spacing: .03em;
    line-height: 1.4;
}

/* Founding & former strip */
.former-roles-strip {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-top: 2rem;
    padding: 1.2rem 1.5rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.2);
    flex-wrap: wrap;
}

.frs-label {
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--gold-dark);
    flex-shrink: 0;
    margin-top: .1rem;
}

.frs-items {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1.5rem;
}

.frs-item {
    font-family: var(--f-body);
    font-size: .82rem;
    color: var(--text-mid);
}

/* ── Quote banner ────────────────────────────────────────── */
.quote-banner {
    background: var(--black);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 4rem 2rem;
    position: relative;
    overflow: hidden;
}

    .quote-banner::before {
        content: '"';
        position: absolute;
        top: -1rem;
        left: 2rem;
        font-family: var(--f-title);
        font-size: 12rem;
        color: rgba(201,168,76,.04);
        line-height: 1;
        pointer-events: none;
    }

.quote-banner-inner {
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
}

.qb-mark {
    font-family: var(--f-title);
    font-size: 3rem;
    color: var(--gold);
    line-height: .5;
    margin-bottom: .5rem;
}

.qb-text {
    font-family: var(--f-body);
    font-style: italic;
    font-size: clamp(1.1rem,2.2vw,1.5rem);
    color: var(--cream);
    line-height: 1.8;
    margin-bottom: 1.2rem;
    border: none;
}

.qb-attr {
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gold-dark);
}

/* ── Digital preview section ─────────────────────────────── */
.digital-preview-section {
    padding: 5rem 0;
    position: relative;
    overflow: hidden;
}

.digital-preview-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
    display: grid;
    grid-template-columns: 1fr .85fr;
    gap: 4rem;
    align-items: start;
}

.dp-badge {
    display: inline-block;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gold);
    border: 1px solid var(--gold-dark);
    padding: .3rem .9rem;
    margin-bottom: 1rem;
}

.dp-sub {
    font-family: var(--f-title);
    font-size: clamp(.9rem,1.6vw,1.15rem);
    color: var(--gold2);
    font-weight: 600;
    letter-spacing: .04em;
    margin-bottom: 1.2rem;
}

.dp-pillars {
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.dp-pillar {
    display: flex;
    align-items: center;
    gap: .8rem;
    font-family: var(--f-body);
    font-size: .88rem;
    color: var(--text-light);
    padding: .5rem .8rem;
    border-left: 2px solid var(--gold-dark);
    background: rgba(201,168,76,.04);
}

.dp-icon {
    font-size: 1.1rem;
    flex-shrink: 0;
}

.dp-focus {
    margin-top: 1.5rem;
    padding: 1rem 1.2rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.3);
}

.dp-focus-title {
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gold-dark);
    margin-bottom: .8rem;
}

.dp-focus-items {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .8rem;
}

    .dp-focus-items span {
        font-family: var(--f-body);
        font-size: .8rem;
        color: var(--text-mid);
    }

.dp-img {
    border: 1px solid var(--border);
}

.digital-preview-img img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* ── Royal preview section ───────────────────────────────── */
.royal-preview-section {
    background: var(--dark2);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 5rem 0;
}

.royal-preview-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
    display: grid;
    grid-template-columns: .7fr 1fr;
    gap: 4rem;
    align-items: start;
}

.royal-preview-img img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    border: 1px solid var(--border);
}

.recog-strip {
    margin-top: 1.5rem;
    padding: 1rem 1.2rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.3);
}

.recog-title {
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--gold-dark);
    margin-bottom: .8rem;
}

.recog-flags {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem 1.4rem;
}

.recog-flag-item {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--f-body);
    font-size: .85rem;
    color: var(--text-light);
}

.rf-flag {
    font-size: 1.2rem;
}

.royal-seals {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.5rem;
}

/* ── Philanthropy preview section ────────────────────────── */
.philanthropy-preview-section {
    padding: 5rem 0;
    position: relative;
    overflow: hidden;
}

.npo-preview-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.5rem;
    margin-bottom: 2.5rem;
}

.npo-preview-card {
    padding: 2rem 1.5rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.25);
    text-align: center;
    transition: border-color .3s, transform .3s;
}

    .npo-preview-card:hover {
        border-color: rgba(201,168,76,.4);
        transform: translateY(-4px);
    }

.npo-icon {
    font-size: 2rem;
    margin-bottom: .8rem;
}

.npo-preview-card h3 {
    font-family: var(--f-title);
    font-size: .9rem;
    color: var(--gold2);
    letter-spacing: .08em;
    margin-bottom: .3rem;
}

.npo-type {
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--gold-dark);
    margin-bottom: .8rem;
}

.npo-preview-card p {
    font-family: var(--f-body);
    font-size: .85rem;
    color: var(--text-mid);
    line-height: 1.6;
}

/* Special programs */
.special-programs {
    border: 1px solid var(--border);
    background: rgba(0,0,0,.2);
    padding: 2rem;
}

.sp-title {
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gold-dark);
    margin-bottom: 1.5rem;
}

.sp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
}

.sp-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.sp-num {
    font-family: var(--f-title);
    font-size: 1.8rem;
    font-weight: 700;
    color: rgba(201,168,76,.18);
    line-height: 1;
    flex-shrink: 0;
}

.sp-item strong {
    font-family: var(--f-ui);
    font-size: .8rem;
    color: var(--cream);
    letter-spacing: .04em;
}

.sp-item p {
    font-family: var(--f-body);
    font-size: .8rem;
    color: var(--text-mid);
    margin-top: .3rem;
    line-height: 1.5;
}

/* ── Investor value prop strip ───────────────────────────── */
.ivp-strip {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.28);
    padding: 1.2rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    gap: .5rem;
}

.ivp-item {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--f-body);
    font-size: .82rem;
    color: var(--text-light);
    flex: 1;
    justify-content: center;
    min-width: 150px;
}

.ivp-icon {
    font-size: 1rem;
}

.ivp-sep {
    width: 1px;
    height: 28px;
    background: var(--border);
    flex-shrink: 0;
}

/* ── Geographic scope ────────────────────────────────────── */
.content-section {
    padding: 4rem 0;
}

.content-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
}

.section-heading {
    font-family: var(--f-title);
    font-size: clamp(1.4rem,2.8vw,2.2rem);
    color: var(--gold2);
    font-weight: 600;
    letter-spacing: .05em;
    margin-bottom: .5rem;
}

.body-text {
    font-family: var(--f-body);
    color: var(--text-light);
    font-size: 1rem;
    line-height: 1.8;
}

    .body-text p {
        margin-bottom: .9rem;
    }

        .body-text p:last-child {
            margin-bottom: 0;
        }

.geo-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.5rem;
    margin: 2.5rem 0;
}

.geo-card {
    padding: 2rem 1.5rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.3);
    text-align: center;
    transition: border-color .3s, transform .3s;
}

    .geo-card:hover {
        border-color: rgba(201,168,76,.4);
        transform: translateY(-4px);
    }

.geo-flag {
    font-size: 2.2rem;
    margin-bottom: .8rem;
}

.geo-card h3 {
    font-family: var(--f-title);
    font-size: .9rem;
    color: var(--gold2);
    letter-spacing: .1em;
    margin-bottom: .6rem;
}

.geo-card p {
    font-family: var(--f-body);
    font-size: .86rem;
    color: var(--text-mid);
    line-height: 1.6;
}

/* ── Influence stats strip ───────────────────────────────── */
.influence-stats-strip {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.3);
    padding: 1.5rem 0;
    margin-top: 2rem;
}

.iss-item {
    text-align: center;
    flex: 1;
}

.iss-num {
    font-family: var(--f-title);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--gold2);
    line-height: 1;
}

.iss-lbl {
    font-size: .52rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-top: .3rem;
}

.iss-sep {
    width: 1px;
    height: 40px;
    background: var(--border);
    flex-shrink: 0;
}

/* ── Executive Resources ─────────────────────────────────── */
.exec-resources-section {
    background: var(--dark);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 5rem 2rem;
}

.exec-resources-inner {
    max-width: 1100px;
    margin: 0 auto;
}

.exec-res-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1.5rem;
}

.exec-res-card {
    padding: 2rem 1.5rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.2);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: border-color .3s, transform .3s;
}

    .exec-res-card:hover {
        border-color: rgba(201,168,76,.4);
        transform: translateY(-4px);
    }

.exec-res-icon {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.exec-res-card h3 {
    font-family: var(--f-title);
    font-size: .88rem;
    color: var(--gold2);
    letter-spacing: .08em;
    margin-bottom: .8rem;
}

.exec-res-card p {
    font-family: var(--f-body);
    font-size: .82rem;
    color: var(--text-mid);
    line-height: 1.6;
    flex: 1;
    margin-bottom: 1.5rem;
}

.exec-res-btn {
    font-size: .62rem;
    padding: .5rem 1rem;
}

/* ── Two-col layout (shared) ─────────────────────────────── */
.two-col-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

.col-photo .profile-img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* ── Mobile responsive ───────────────────────────────────── */
@media (max-width: 1100px) {
    .exec-res-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width: 900px) {
    .roles-strip-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .geo-grid, .npo-preview-grid, .sp-grid {
        grid-template-columns: 1fr;
    }

    .digital-preview-inner, .royal-preview-inner {
        grid-template-columns: 1fr;
    }

    .digital-preview-img {
        display: none;
    }

    .two-col-layout {
        grid-template-columns: 1fr;
    }

    .lcard-grid-2col {
        grid-template-columns: 1fr !important;
    }

    .influence-stats-strip {
        flex-wrap: wrap;
        gap: 1rem;
        padding: 1.2rem;
    }

    .iss-sep {
        display: none;
    }

    .ivp-strip {
        flex-direction: column;
        align-items: flex-start;
    }

    .ivp-sep {
        display: none;
    }

    .former-roles-strip {
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    .roles-strip-grid {
        grid-template-columns: 1fr;
    }

    .exec-res-grid {
        grid-template-columns: 1fr;
    }
}

/* ══════════════════════════════════════════
   BIO FEATURE SECTION
   ══════════════════════════════════════════ */
.bio-feature-section {
    background: var(--dark);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 5rem 2rem;
}

.bio-feature-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.bio-feature-eyebrow {
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: .5rem;
}

.bio-feature-layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 3rem;
    align-items: start;
}

.bio-feature-text {
    font-family: var(--f-body);
    color: var(--text-light);
    font-size: 1rem;
    line-height: 1.9;
}

    .bio-feature-text p {
        margin-bottom: 1rem;
    }

        .bio-feature-text p:last-of-type {
            margin-bottom: 0;
        }

.bio-feature-aside {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.bfa-card {
    border: 1px solid var(--border);
    background: rgba(0,0,0,.35);
    padding: 1.4rem;
}

.bfa-card-title {
    font-family: var(--f-title);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold);
    border-bottom: 1px solid var(--border);
    padding-bottom: .7rem;
    margin-bottom: 1rem;
}

.bfa-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .55rem;
}

    .bfa-list li {
        display: flex;
        align-items: flex-start;
        gap: .6rem;
        font-family: var(--f-body);
        font-size: .82rem;
        color: var(--text-light);
        line-height: 1.4;
    }

.bfa-bullet {
    color: var(--gold);
    flex-shrink: 0;
    font-size: .7rem;
    margin-top: .1rem;
}

.bfa-quote-card {
    background: linear-gradient(135deg, rgba(201,168,76,.08), rgba(0,0,0,.4));
}

.bfa-qmark {
    font-family: var(--f-title);
    font-size: 2.5rem;
    color: var(--gold);
    line-height: .6;
    margin-bottom: .5rem;
}

.bfa-quote {
    font-family: var(--f-body);
    font-style: italic;
    font-size: .9rem;
    color: var(--cream);
    line-height: 1.7;
    margin-bottom: .7rem;
}

.bfa-qattr {
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--gold-dark);
}

/* ── Founding & former roles strip ────────── */
.founding-roles-strip {
    margin-top: 2rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.25);
    padding: 1.4rem 1.8rem;
}

.frs-title {
    font-family: var(--f-title);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--border);
    padding-bottom: .6rem;
}

.frs-items {
    display: flex;
    flex-direction: column;
    gap: .55rem;
}

.frs-item {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    font-family: var(--f-body);
    font-size: .85rem;
    color: var(--text-light);
    line-height: 1.4;
}

.frs-bullet {
    color: var(--gold);
    flex-shrink: 0;
    font-size: .6rem;
    margin-top: .22rem;
}

/* ── Investor value proposition strip ─────── */
.ivp-strip {
    margin-top: 2rem;
    border: 1px solid var(--border);
    background: rgba(0,0,0,.25);
    padding: 1.4rem 1.8rem;
}

.ivp-title {
    font-family: var(--f-title);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--border);
    padding-bottom: .6rem;
}

.ivp-items {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
}

.ivp-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .4rem;
    font-family: var(--f-body);
    font-size: .78rem;
    color: var(--text-light);
    line-height: 1.4;
}

.ivp-icon {
    font-size: 1.4rem;
}

/* ══════════════════════════════════════════
   EXECUTIVE ADDITIONS SECTION
   ══════════════════════════════════════════ */
.exec-additions-section {
    background: var(--dark2);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 5rem 2rem;
}

.exec-additions-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.exec-add-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 1rem;
}

.exec-add-card {
    border: 1px solid var(--border);
    background: rgba(0,0,0,.3);
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: .8rem;
    transition: border-color .3s, transform .3s, box-shadow .3s;
    position: relative;
    overflow: hidden;
}

    .exec-add-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: linear-gradient(90deg, transparent, var(--gold), transparent);
        opacity: 0;
        transition: opacity .3s;
    }

    .exec-add-card:hover {
        border-color: rgba(201,168,76,.45);
        transform: translateY(-5px);
        box-shadow: 0 12px 40px rgba(0,0,0,.5);
    }

        .exec-add-card:hover::before {
            opacity: 1;
        }

.exec-add-icon {
    font-size: 2rem;
}

.exec-add-card h3 {
    font-family: var(--f-title);
    font-size: .95rem;
    font-weight: 600;
    color: var(--gold2);
    letter-spacing: .05em;
    margin: 0;
}

.exec-add-card p {
    font-family: var(--f-body);
    font-size: .84rem;
    color: var(--text-mid);
    line-height: 1.7;
    flex: 1;
    margin: 0;
}

.exec-add-link {
    display: inline-block;
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--gold);
    transition: color .25s, letter-spacing .25s;
    margin-top: .3rem;
}

    .exec-add-link:hover {
        color: var(--gold3);
        letter-spacing: .2em;
    }

/* ── Mobile overrides ─────────────────────── */
@media (max-width: 1024px) {
    .bio-feature-layout {
        grid-template-columns: 1fr;
    }

    .bio-feature-aside {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1rem;
    }

    .bfa-card {
        flex: 1 1 280px;
    }

    .ivp-items {
        grid-template-columns: repeat(3, 1fr);
    }

    .exec-add-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .ivp-items {
        grid-template-columns: repeat(2, 1fr);
    }

    .exec-add-grid {
        grid-template-columns: 1fr;
    }

    .bio-feature-aside {
        flex-direction: column;
    }
}

/* ─── THEME ICON OVERRIDES ──────────────────────────────────── */
.vp-icon {
    color: var(--gold);
    display: flex;
    align-items: center;
}

    .inv-cat-icon-box svg,
    .vp-icon svg {
        color: var(--gold);
        opacity: 0.9;
    }

/* ═══════════════════════════════════════════════════════════
   INVESTMENT PANEL — DARK THEME FINAL OVERRIDE
   ═══════════════════════════════════════════════════════════ */
.parchment-panel {
    background: linear-gradient(150deg, #1a1409 0%, #141008 50%, #111009 100%) !important;
    border: 1px solid rgba(201,168,76,0.2) !important;
    box-shadow: 0 4px 60px rgba(0,0,0,0.85), inset 0 1px 0 rgba(201,168,76,0.06) !important;
}

    .parchment-panel::before {
        display: none !important;
    }

.inv-category {
    border-bottom: 1px solid rgba(201,168,76,0.12) !important;
}

.inv-cat-icon-box {
    background: rgba(201,168,76,0.07) !important;
    border: 1px solid rgba(201,168,76,0.2) !important;
    color: var(--gold) !important;
}

    .inv-cat-icon-box svg {
        color: var(--gold) !important;
        stroke: var(--gold) !important;
        opacity: 0.85;
    }

.inv-cat-name {
    color: var(--gold2) !important;
}

.inv-bullet {
    color: var(--text-light) !important;
}

.inv-bullet-icon {
    color: var(--gold-dark) !important;
}

.inv-bullet:hover .inv-bullet-icon {
    color: var(--gold2) !important;
}

.vp-icon {
    color: var(--gold) !important;
    display: flex !important;
    align-items: center !important;
}

    .vp-icon svg {
        color: var(--gold) !important;
        stroke: var(--gold) !important;
    }

    /* ═══════════════════════════════════════════════════════════
   GLOBAL SVG ICON THEME — applies to all icon containers
   ═══════════════════════════════════════════════════════════ */

    /* All icon wrappers — SVGs inherit gold color */
    .inv-cat-icon-box svg,
    .vp-icon svg,
    .rs-icon svg,
    .role-icon svg,
    .exec-add-icon svg,
    .digital-icon svg,
    .infl-icon svg,
    .npo-icon svg,
    .impact-icon svg,
    .ci-icon svg,
    .ap-icon svg,
    .sacocso-icon svg,
    .ivp-icon svg,
    .th-logo svg,
    .recog-flag svg,
    .geo-flag svg,
    .bfa-bullet svg {
        color: var(--gold);
        stroke: var(--gold);
        display: inline-block;
        vertical-align: middle;
        flex-shrink: 0;
    }

/* Icon containers that were emoji — fix display */
.rs-icon,
.role-icon,
.exec-add-icon,
.digital-icon,
.infl-icon,
.npo-icon,
.impact-icon,
.th-logo,
.recog-flag,
.geo-flag {
    color: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ci-icon {
    color: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ap-icon,
.sacocso-icon,
.ivp-icon {
    color: var(--gold);
    display: inline-flex;
    align-items: center;
}

.bfa-bullet svg {
    width: 14px;
    height: 14px;
}

/* Parchment panel — dark override (definitive) */
.parchment-panel {
    background: linear-gradient(150deg, #1a1409 0%, #141008 50%, #111009 100%) !important;
    border: 1px solid rgba(201,168,76,0.2) !important;
    box-shadow: 0 4px 60px rgba(0,0,0,0.85), inset 0 1px 0 rgba(201,168,76,0.06) !important;
}

    .parchment-panel::before {
        display: none !important;
    }

.inv-category {
    border-bottom: 1px solid rgba(201,168,76,0.12) !important;
}

.inv-cat-icon-box {
    background: rgba(201,168,76,0.07) !important;
    border: 1px solid rgba(201,168,76,0.2) !important;
    color: var(--gold) !important;
}

.inv-cat-name {
    color: var(--gold2) !important;
}

.inv-bullet {
    color: var(--text-light) !important;
}

.inv-bullet-icon {
    color: var(--gold-dark) !important;
}

/* ═══════════════════════════════════════════════════════════
   CORNER LOGO — fixed top-left, independent of navbar
   ═══════════════════════════════════════════════════════════ */
.corner-logo-wrap {
    position: fixed;
    top: 1rem;
    left: 1.5rem;
    z-index: 1100;
    display: block;
    line-height: 0;
    transition: opacity 0.3s, transform 0.3s;
}

    .corner-logo-wrap:hover {
        opacity: 0.85;
        transform: scale(1.05);
    }

.corner-logo-img {
    height: 72px;
    width: auto;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.6));
}

/* Navbar inner — now right-aligned only (no logo in flow) */
.navbar-inner {
    justify-content: flex-end !important;
}

/* Remove old logo-wrap styles that no longer apply */
.navbar-logo-wrap {
    display: none !important;
}

/* Exec add icon sizes for briefing room */
.exec-add-icon svg {
    width: 32px;
    height: 32px;
    color: var(--gold);
    stroke: var(--gold);
}


/* ═══════════════════════════════════════════════════════════
   CONTACT PAGE — MOBILE FIXES
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

    .contact-section {
        padding: 3rem 0 !important;
    }

    .contact-inner {
        padding: 0 1.25rem;
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
    }

    .contact-info-title {
        font-size: 1.4rem;
    }

    /* Stack contact items to single column */
    .contact-items {
        grid-template-columns: 1fr !important;
        gap: 1.1rem;
    }

    /* Prevent long email/text from overflowing */
    .ci-val {
        font-size: 0.9rem;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

        .ci-val a {
            word-break: break-all;
        }

    /* Icon box consistent size */
    .ci-icon {
        width: 38px;
        height: 38px;
        flex-shrink: 0;
    }

    /* Form full width, no clipping */
    .contact-form-col {
        padding: 1.5rem 1.25rem;
        width: 100%;
    }

    /* First/last name fields stack on very small screens */
    .cf-row {
        grid-template-columns: 1fr !important;
        gap: 0;
    }

    .cf-title {
        font-size: 1.3rem;
        margin-bottom: 1.5rem;
    }

    /* Engagement tags wrap cleanly */
    .et-tags {
        gap: 0.4rem;
    }

    .et-tag {
        font-size: 0.58rem;
        padding: 0.25rem 0.6rem;
    }

    /* Submit button full width */
    .btn-submit-anim {
        width: 100% !important;
        padding: 0.9rem 1rem;
        font-size: 0.65rem;
    }
}
