/* Guliwe leadership system — editorial roster / compact executive portraits */
:root {
    --lead-ink: #071b33;
    --lead-navy: #0f2949;
    --lead-cobalt: #1a4377;
    --lead-metal: #b8bfc9;
    --lead-paper: #f8f4ee;
    --lead-mist: #e9edf1;
    --lead-line: rgba(15, 41, 73, .16);
}

.leadership-roster {
    background: var(--lead-paper);
    position: relative;
    overflow: hidden;
    padding: clamp(42px, 5vw, 68px) 0;
}
.leadership-roster::before {
    content: "GULIWE";
    position: absolute;
    right: -1vw;
    top: -2.2rem;
    color: rgba(15, 41, 73, .045);
    font: 700 clamp(7rem, 19vw, 18rem)/1 'Cormorant Garamond', Georgia, serif;
    letter-spacing: -.07em;
    pointer-events: none;
}
.leadership-intro { position: relative; z-index: 1; max-width: 710px; margin-bottom: clamp(25px, 3vw, 38px); }
.leadership-kicker {
    display: flex; align-items: center; gap: 12px; margin-bottom: 13px;
    color: var(--lead-cobalt); font: 700 .66rem/1 'Inter', sans-serif;
    letter-spacing: .22em; text-transform: uppercase;
}
.leadership-kicker::before { content: ""; width: 30px; height: 2px; background: var(--lead-cobalt); }
.leadership-heading { color: var(--lead-ink); font: 600 clamp(2.2rem, 3.4vw, 3.45rem)/.98 'Cormorant Garamond', Georgia, serif; margin: 0; }
.leadership-heading em { color: var(--lead-cobalt); }
.leadership-summary { color: #516174; max-width: 540px; margin: 10px 0 0; font-size: .86rem; line-height: 1.65; }

.leadership-grid {
    position: relative; z-index: 1; display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(24px, 3vw, 36px) clamp(14px, 2.4vw, 30px);
    align-items: start;
}
.leader-person { text-align: center; min-width: 0; }
.leader-photo {
    width: min(100%, 132px); aspect-ratio: 1; object-fit: cover; object-position: center 20%;
    display: block; margin: 0 auto 11px; border-radius: 50%;
    border: 5px solid rgba(184, 191, 201, .30);
    filter: grayscale(.2) saturate(.82);
    transition: transform .38s cubic-bezier(.2,.8,.2,1), filter .38s ease, border-color .38s ease;
}
.leader-person:hover .leader-photo, .leader-person:focus-within .leader-photo {
    transform: translateY(-7px) scale(1.025); filter: grayscale(0) saturate(1); border-color: var(--lead-cobalt);
}
.leader-name { color: var(--lead-ink); font: 600 clamp(1.02rem, 1.35vw, 1.22rem)/1.05 'Cormorant Garamond', Georgia, serif; margin: 0 0 6px; }
.leader-role { max-width: 220px; margin: 0 auto; color: #536477; font: 700 .75rem/1.4 'Inter', sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.leader-person--board .leader-photo { border-color: var(--lead-cobalt); }
.leader-person--board .leader-role { color: var(--lead-cobalt); }
.leadership-action { position: relative; z-index: 1; margin-top: 30px; text-align: center; }

/* company structure */
.structure-hero {
    min-height: 370px; display: flex; align-items: flex-end; position: relative; overflow: hidden;
    background: linear-gradient(125deg, #071b33 0%, #0f2949 57%, #1a4377 100%);
    padding: 74px 0 48px; color: var(--lead-paper);
}
.structure-hero::after { content:""; position:absolute; width:52vw; height:52vw; right:-15vw; top:-22vw; border:1px solid rgba(184,191,201,.28); border-radius:50%; box-shadow:0 0 0 35px rgba(184,191,201,.055), 0 0 0 85px rgba(184,191,201,.035); }
.structure-hero .container { position: relative; z-index: 1; }
.structure-hero .leadership-kicker { color: var(--lead-metal); }
.structure-hero .leadership-kicker::before { background: var(--lead-metal); }
.structure-hero h1 { max-width: 680px; margin:0; color:var(--lead-paper); font:600 clamp(2.55rem,4.5vw,4.25rem)/.96 'Cormorant Garamond', Georgia, serif; }
.structure-hero p { max-width: 600px; color: rgba(248,244,238,.72); margin: 12px 0 0; line-height: 1.65; font-size: .9rem; }
.structure-roster .leadership-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.structure-architecture { background: #e9edf1; padding: clamp(54px,7vw,90px) 0; border-top: 1px solid rgba(15,41,73,.08); }
.structure-note { color: #5c6a79; max-width: 640px; margin: 12px auto 38px; text-align: center; }
.structure-lines { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 920px; margin: 0 auto; background: var(--lead-paper); border: 1px solid var(--lead-line); }
.structure-lines div { padding: 24px; text-align: center; border-right: 1px solid var(--lead-line); color: var(--lead-ink); font: 700 .67rem/1.45 'Inter', sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.structure-lines div:last-child { border:0; }

@media (max-width: 991px) {
    .leadership-grid, .structure-roster .leadership-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .leader-photo { width: min(100%, 124px); }
}
@media (max-width: 575px) {
    .leadership-roster { padding: 42px 0; }
    .leadership-grid, .structure-roster .leadership-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 14px; }
    .leader-photo { width: min(100%, 118px); border-width: 5px; margin-bottom: 12px; }
    .leader-role { font-size: .75rem; line-height: 1.4; letter-spacing: .035em; max-width: 170px; }
    .structure-hero { min-height: 330px; padding-bottom: 50px; }
    .structure-lines { grid-template-columns: 1fr; }
    .structure-lines div { border-right: 0; border-bottom: 1px solid var(--lead-line); }
    .structure-lines div:last-child { border-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) { .leader-photo { transition: none; } }