:root {
    --team-sage: #9DAC99;
    --team-ink: #2F3932;
    --team-text: #4F5B53;
    --team-paper: #FBF9F4;
    --team-pale: #EEF1EB;
    --team-line: #D7DDD4;
}

.team-page { background: var(--team-paper); color: var(--team-ink); }

.team-intro {
    min-height: 500px;
    padding: 130px 9vw 90px;
    display: flex;
    align-items: flex-end;
    position: relative;
    overflow: hidden;
    background: var(--team-sage);
    color: var(--team-ink);
}
.team-intro::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: 8vw;
    top: 90px;
    border: 1px solid rgba(47, 57, 50, .18);
    border-radius: 50%;
}
.team-intro > div { position: relative; z-index: 1; }
.team-intro .label { color: #425047 !important; opacity: 1; }
.team-intro h1 {
    margin: 18px 0;
    color: var(--team-ink);
    font: 400 clamp(70px, 10vw, 145px)/.9 "Playfair Display", Georgia, serif;
}
.team-intro .lead {
    max-width: 650px;
    color: #38453C !important;
    font: 500 19px/1.75 "Montserrat", Arial, sans-serif;
}

.founder { display: grid; grid-template-columns: 1fr 1fr; background: var(--team-paper); }
.founder-visual { min-height: 760px; background: var(--team-pale); }
.founder-visual > img,
.founder-visual > .portrait-placeholder { width: 100%; height: 100%; object-fit: cover; }

.portrait-placeholder {
    min-height: 650px;
    display: grid;
    place-content: center;
    text-align: center;
    color: var(--team-ink);
    background: linear-gradient(145deg, #DCE3D9, #F3F5F1);
}
.portrait-placeholder span {
    opacity: .22;
    letter-spacing: .16em;
    font: clamp(55px, 8vw, 110px) "Playfair Display", Georgia, serif;
}
.portrait-placeholder p { font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }

.founder-copy { padding: 100px 8vw; }
.founder-copy h2,
.guides h2,
.team-cta h2 {
    margin: 15px 0 35px;
    color: var(--team-ink);
    font: 400 clamp(48px, 6vw, 80px)/1.05 "Playfair Display", Georgia, serif;
}
.founder-copy > p:not(.label),
.guides p {
    color: var(--team-text);
    font: 400 16px/1.85 "Montserrat", Arial, sans-serif;
}
.founder-copy blockquote {
    margin: 45px 0;
    padding-top: 30px;
    border-top: 1px solid var(--team-line);
    color: var(--team-ink);
    font: italic 25px/1.5 "Playfair Display", Georgia, serif;
}

.guides {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 9vw;
    padding: 110px 9vw;
    background: var(--team-pale);
}
.language-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 35px; }
.language-list span {
    padding: 11px 16px;
    border: 1px solid #899888;
    border-radius: 99px;
    color: var(--team-ink);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.team-cta { padding: 120px 8vw; text-align: center; background: var(--team-paper); }
.team-cta p {
    max-width: 650px;
    margin: 0 auto;
    color: var(--team-text);
    font: 400 17px/1.75 "Montserrat", Arial, sans-serif;
}
.team-cta .label { color: #627160 !important; font: 700 10px "Montserrat", Arial, sans-serif; }
.team-cta .btn { margin-top: 35px; background: var(--team-sage); color: var(--team-ink); }

@media (max-width: 900px) {
    .founder, .guides { grid-template-columns: 1fr; }
    .founder-visual { min-height: 560px; }
    .founder-copy { padding: 75px 7vw; }
    .team-intro { min-height: 420px; }
    .portrait-placeholder { min-height: 500px; }
}

@media (max-width: 520px) {
    .team-intro { padding: 100px 6vw 65px; }
    .team-intro::after { width: 130px; height: 130px; right: -35px; top: 85px; }
    .team-intro h1 { font-size: clamp(58px, 20vw, 82px); }
    .team-intro .lead { font-size: 16px; }
    .guides, .team-cta { padding: 75px 6vw; }
    .founder-visual { min-height: 450px; }
}
