:root {
    --lime: #81FF6E;
    --lime-soft: #efffeb;
    --lime-pale: #f7fff5;
    --green: #183d25;
    --green-2: #28563a;
    --muted: #647466;
    --line: #dce9da;
    --white: #fff;
    --ink: #17241b;
    --radius: 22px;
    --shadow: 0 22px 60px rgba(24, 61, 37, .10)
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 92px
}

body {
    margin: 0;
    background: var(--white);
    color: var(--ink);
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased
}

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

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

[hidden] {
    display: none !important
}

.wrap {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto
}

.topline {
    background: var(--green);
    color: #fff;
    font-size: 12px;
    letter-spacing: .03em
}

.topline-inner {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px
}

.topline i {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--lime);
    margin-right: 9px
}

.topline a {
    font-weight: 700
}

.topline b {
    color: var(--lime);
    margin-left: 8px
}

.header {
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(220, 233, 218, .85)
}

.nav {
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    position: relative
}

.brand {
    display: flex;
    align-items: center;
    gap: 11px;
    flex-shrink: 0
}

.brand-logo {
    width: 64px;
    height: 64px;
    object-fit: contain;
    flex-shrink: 0
}

.brand-symbol {
    width: 43px;
    height: 43px;
    border-radius: 14px;
    background: var(--lime);
    display: grid;
    place-items: center;
    font-family: Manrope, sans-serif;
    font-size: 27px;
    font-weight: 800;
    color: var(--green);
    position: relative;
    line-height: 1
}

.brand-symbol span {
    font-size: 13px;
    position: absolute;
    right: 4px;
    top: 4px
}

.brand-words {
    display: flex;
    flex-direction: column;
    line-height: 1.1
}

.brand-words strong {
    font: 800 17px Manrope, sans-serif;
    letter-spacing: .08em
}

.brand-words small {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .18em;
    margin-top: 5px;
    color: var(--muted)
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 27px;
    font-size: 13px;
    font-weight: 700;
    color: #435548
}

.nav-links>a:not(.nav-cta):hover {
    color: #267438
}

.nav-cta {
    background: var(--lime);
    color: var(--green);
    padding: 12px 17px;
    border-radius: 999px
}

.nav-cta span {
    margin-left: 9px
}

.nav-toggle {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

.menu-button {
    display: none
}

.hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(112deg, #f7fff5 0%, #fff 54%, #f2ffef 100%);
    padding: 74px 0 0
}

.hero-shape {
    position: absolute;
    border: 1px solid rgba(129, 255, 110, .55);
    border-radius: 50%;
    pointer-events: none
}

.shape-one {
    width: 520px;
    height: 520px;
    right: -220px;
    top: -260px
}

.shape-two {
    width: 370px;
    height: 370px;
    right: -145px;
    top: -185px
}

.hero-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr .86fr;
    gap: 70px;
    align-items: center;
    padding-bottom: 62px
}

.overline,
.eyebrow {
    font-size: 10px;
    letter-spacing: .17em;
    font-weight: 800;
    color: #3f704b;
    display: flex;
    align-items: center;
    gap: 10px
}

.overline-line {
    width: 27px;
    height: 2px;
    background: #4caa42
}

.hero h1,
.section-heading h2,
.section-main h2,
.founder-copy h2,
.contact-copy h2 {
    font-family: Manrope, sans-serif;
    font-weight: 700;
    letter-spacing: -.065em;
    line-height: 1.04
}

.hero h1 {
    font-size: clamp(48px, 6.2vw, 78px);
    margin: 23px 0 21px;
    color: var(--green)
}

h1 em,
h2 em {
    font-style: normal;
    color: #4b9c40
}

.hero-intro {
    max-width: 530px;
    color: #5d6e60;
    font-size: 17px;
    line-height: 1.8;
    margin: 0
}

.hero-buttons {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
    margin-top: 30px
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    padding: 15px 20px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 13px;
    transition: transform .2s, box-shadow .2s
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(24, 61, 37, .13)
}

.btn-primary {
    background: var(--lime);
    color: var(--green);
    box-shadow: 0 7px 0 rgba(24, 61, 37, .06)
}

.btn-text {
    padding-inline: 0;
    color: var(--green)
}

.btn-text span {
    color: #4b9c40
}

.hero-footnote {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 42px;
    font-size: 12px;
    color: #5b6c5d
}

.footnote-mark {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #e6ffe1;
    color: #367b31;
    font-size: 17px
}

.hero-visual {
    height: 500px;
    position: relative;
    isolation: isolate
}

.visual-photo {
    position: absolute;
    inset: 12px 20px 35px 45px;
    border-radius: 48% 48% 24px 24px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(20, 54, 30, .03), rgba(24, 61, 37, .15)), #efffeb;
    box-shadow: var(--shadow)
}

.visual-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.visual-photo:after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    border: 1px solid rgba(255, 255, 255, .65);
    pointer-events: none
}

.photo-stamp {
    position: absolute;
    left: 0;
    top: 58px;
    width: 104px;
    height: 104px;
    border-radius: 50%;
    background: var(--lime);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--green);
    font-size: 8px;
    letter-spacing: .14em;
    font-weight: 800;
    transform: rotate(-12deg);
    box-shadow: 0 10px 24px #183d251c
}

.photo-stamp b {
    font-size: 22px;
    line-height: 1.1
}

.visual-note {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border: 1px solid var(--line);
    padding: 19px 22px;
    border-radius: 16px;
    box-shadow: var(--shadow);
    min-width: 275px
}

.visual-note-number {
    align-self: flex-start;
    color: #5b9f4b;
    font: 700 12px Manrope, sans-serif
}

.visual-note strong {
    font: 800 17px/1.25 Manrope, sans-serif;
    color: var(--green)
}

.visual-note small {
    display: block;
    color: var(--muted);
    font-size: 11px;
    margin-top: 7px
}

.note-arrow {
    margin-left: auto;
    font-size: 23px;
    color: #4a9840
}

.visual-corner {
    position: absolute;
    right: 0;
    bottom: 48px;
    writing-mode: vertical-rl;
    color: #6b8b6d;
    font-size: 9px;
    letter-spacing: .16em
}

.hero-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    border-top: 1px solid var(--line);
    padding-block: 19px;
    color: #6a7b6c;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em
}

.hero-bottom i {
    color: #55a84b;
    font-style: normal;
    padding-inline: 5px
}

.hero-bottom a {
    letter-spacing: .02em;
    text-transform: none;
    font-size: 11px
}

.hero-bottom b {
    color: #4b9c40;
    margin-left: 8px
}

.numbers {
    background: var(--green);
    color: white;
    padding: 56px 0
}

.numbers-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr .7fr 1fr;
    align-items: center;
    gap: 32px
}

.section-no {
    display: block;
    width: fit-content;
    padding: 6px 10px;
    border-left: 3px solid var(--lime);
    border-radius: 0 5px 5px 0;
    background: var(--lime-soft);
    color: var(--green-2);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .1em;
    line-height: 1.4
}

.numbers .section-no {
    color: var(--lime);
    background: rgba(255, 255, 255, .1)
}

.numbers-intro h2 {
    font: 700 25px/1.22 Manrope, sans-serif;
    letter-spacing: -.04em;
    margin: 15px 0 0
}

.numbers-intro em {
    color: var(--lime);
    font-style: normal
}

.number-item {
    border-left: 1px solid #ffffff2b;
    padding-left: 28px
}

.number-item strong {
    font: 800 clamp(34px, 4vw, 48px)/1 Manrope, sans-serif;
    letter-spacing: -.06em;
    color: var(--lime)
}

.number-item strong span {
    font-size: .7em
}

.number-item p {
    font-size: 12px;
    color: #d5e5d5;
    line-height: 1.5;
    margin: 12px 0 0
}

.number-note {
    border-left: 1px solid #ffffff2b;
    padding-left: 25px
}

.number-note>span {
    font-size: 22px;
    color: var(--lime)
}

.number-note p {
    font-size: 12px;
    line-height: 1.65;
    color: #e2eee2;
    margin: 7px 0
}

.number-note small {
    font-size: 9px;
    color: #a9c5ac;
    line-height: 1.5;
    display: block
}

.section {
    padding: 108px 0
}

.split-layout {
    display: grid;
    grid-template-columns: .68fr 1.32fr;
    gap: 100px
}

.section-side {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start
}

.side-art {
    width: 220px;
    height: 270px;
    background: var(--lime);
    border-radius: 120px 120px 22px 22px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-top: 54px
}

.side-art-ring {
    position: absolute;
    width: 190px;
    height: 190px;
    border: 1px solid #183d2538;
    border-radius: 50%;
    left: 37px;
    top: 38px
}

.side-art img {
    position: relative;
    width: 150px;
    height: 150px;
    object-fit: contain;
    border-radius: 50%
}

.side-art small {
    position: absolute;
    bottom: 20px;
    left: 23px;
    font-size: 8px;
    letter-spacing: .13em;
    font-weight: 800;
    line-height: 1.6;
    color: #31583a
}

.section-main .eyebrow {
    margin-bottom: 18px
}

.section-main h2,
.section-heading h2,
.founder-copy h2,
.contact-copy h2 {
    font-size: clamp(36px, 4.5vw, 55px);
    margin: 0;
    color: var(--green)
}

.section-main .large-copy {
    font-size: 18px;
    line-height: 1.75;
    color: #425b48;
    max-width: 690px;
    margin: 24px 0 16px
}

.section-main>p:not(.large-copy) {
    color: #647466;
    max-width: 690px;
    font-size: 14px;
    line-height: 1.9
}

.principles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin: 36px 0
}

.principles>div {
    border-top: 2px solid var(--lime);
    padding-top: 15px
}

.principles span {
    font-size: 10px;
    color: #4d9c42;
    font-weight: 800;
    letter-spacing: .1em
}

.principles strong {
    display: block;
    font: 800 13px Manrope, sans-serif;
    color: var(--green);
    margin-top: 11px
}

.principles p {
    font-size: 11px;
    line-height: 1.6;
    color: #718072;
    margin-bottom: 0
}

.section-main blockquote {
    margin: 32px 0 0;
    background: var(--lime-soft);
    border-radius: 0 16px 16px 0;
    border-left: 4px solid var(--lime);
    padding: 19px 22px;
    display: flex;
    gap: 16px
}

.section-main blockquote>span {
    font: 700 42px Georgia;
    color: #4a9a40;
    line-height: 1
}

.section-main blockquote p {
    margin: 0;
    color: var(--green);
    font: 600 15px Manrope, sans-serif
}

.section-main cite {
    display: block;
    font-style: normal;
    color: #6a806b;
    font-size: 10px;
    margin-top: 8px
}

.pathways {
    background: #f7fff5
}

.section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 42px
}

.section-heading h2 {
    margin-top: 15px
}

.section-heading>p {
    max-width: 390px;
    margin: 0 0 5px;
    color: #637365;
    font-size: 14px;
    line-height: 1.8
}

.pathway-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.path-card {
    background: #fff;
    border: 1px solid #e2eee0;
    border-radius: 20px;
    overflow: hidden;
    transition: transform .25s, box-shadow .25s
}

.path-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow)
}

.path-card-featured {
    border-color: #b9efae;
    box-shadow: 0 12px 35px rgba(48, 110, 46, .06)
}

.path-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 22px 0;
    color: #708270;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .13em
}

.path-icon {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: var(--lime);
    color: var(--green);
    font-size: 16px
}

.path-illustration {
    height: 155px;
    position: relative;
    overflow: hidden;
    margin: 16px 18px 0;
    border-radius: 13px;
    background: var(--lime-soft)
}

.path-illustration>span:last-child {
    position: absolute;
    bottom: 13px;
    left: 15px;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .16em;
    color: #527354
}

.illustration-circle {
    position: absolute;
    width: 115px;
    height: 115px;
    border-radius: 50%;
    background: var(--lime);
    right: 45px;
    top: 17px
}

.book-shape {
    position: absolute;
    width: 80px;
    height: 100px;
    border: 2px solid var(--green);
    border-radius: 5px 12px 12px 5px;
    transform: rotate(12deg);
    top: 24px;
    left: 35%
}

.book-one {
    background: #fff
}

.book-two {
    background: #c9ffbe;
    transform: rotate(-9deg);
    left: 45%;
    top: 30px
}

.illustration-science {
    background: #e9ffe5
}

.orbit {
    position: absolute;
    border: 1px solid #67bd5b;
    border-radius: 50%;
    width: 185px;
    height: 75px;
    left: calc(50% - 92px);
    top: 37px
}

.orbit-a {
    transform: rotate(35deg)
}

.orbit-b {
    transform: rotate(-35deg)
}

.formula {
    position: absolute;
    left: calc(50% - 20px);
    top: 44px;
    font: 800 42px Manrope;
    color: var(--green)
}

.illustration-caption {
    z-index: 2
}

.illustration-exams {
    background: #edfbea
}

.exam-orbit {
    position: absolute;
    width: 108px;
    height: 108px;
    border: 1px solid #70c565;
    border-radius: 50%;
    left: calc(50% - 54px);
    top: 14px
}

.exam-orbit:before,
.exam-orbit:after {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid #70c565;
    border-radius: 50%
}

.exam-orbit:after {
    inset: -12px;
    border-style: dashed
}

.exam-star {
    position: absolute;
    top: 38px;
    left: calc(50% - 18px);
    font-size: 37px;
    color: #368a34
}

.path-copy {
    padding: 22px
}

.path-label {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    color: #4b9b42
}

.path-copy h3 {
    font: 800 22px/1.25 Manrope, sans-serif;
    letter-spacing: -.04em;
    color: var(--green);
    margin: 12px 0
}

.path-copy p {
    font-size: 12px;
    line-height: 1.8;
    color: #68786a;
    min-height: 87px;
    margin: 0 0 18px
}

.chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 52px
}

.chips span {
    font-size: 9px;
    padding: 5px 8px;
    background: #f1f8ef;
    color: #48684b;
    border-radius: 5px;
    font-weight: 700
}

.inline-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #e4eee2;
    margin-top: 18px;
    padding-top: 16px;
    color: var(--green);
    font-size: 11px;
    font-weight: 800
}

.inline-link b {
    font-size: 17px;
    color: #42953a
}

.disclaimer {
    font-size: 10px;
    color: #7a887a;
    line-height: 1.7;
    margin: 20px 0 0
}

.statement {
    background: var(--green);
    overflow: hidden
}

.statement-inner {
    position: relative;
    min-height: 270px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 45px 0
}

.statement-symbol {
    font-size: 27px;
    color: var(--lime)
}

.statement p {
    font: 700 clamp(25px, 4vw, 43px)/1.3 Manrope, sans-serif;
    letter-spacing: -.05em;
    color: #fff;
    margin: 14px 0
}

.statement p em {
    font-style: normal;
    color: var(--lime)
}

.statement-caption {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .19em;
    color: #d5e5d5
}

.statement-watermark {
    position: absolute;
    right: 0;
    bottom: -100px;
    font: 800 290px Manrope, sans-serif;
    line-height: 1;
    color: #ffffff0a;
    pointer-events: none
}

.achievements {
    background: #fff
}

.achievement-list {
    border-top: 1px solid var(--line)
}

.achievement-list article {
    display: grid;
    grid-template-columns: 55px 150px 1fr 30px;
    align-items: center;
    gap: 20px;
    padding: 21px 10px;
    border-bottom: 1px solid var(--line);
    transition: background .2s
}

.achievement-list article:hover {
    background: #f7fff5
}

.achievement-number {
    font: 700 11px Manrope;
    color: #83a081
}

.achievement-field {
    font-size: 9px;
    letter-spacing: .13em;
    font-weight: 800;
    color: #4e9c43
}

.achievement-list h3 {
    font: 700 16px Manrope, sans-serif;
    color: var(--green);
    margin: 0
}

.achievement-list p {
    font-size: 12px;
    color: #718071;
    margin: 4px 0 0
}

.achievement-mark {
    font-size: 20px;
    color: #65b856;
    text-align: right
}

.team {
    background: #f7fff5
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px
}

.team-grid article {
    background: #fff;
    border: 1px solid #e3eee1;
    border-radius: 17px;
    padding: 22px;
    min-width: 0
}

.team-avatar {
    width: 57px;
    height: 57px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font: 800 25px Manrope;
    color: var(--green);
    margin-bottom: 22px
}

.avatar-a {
    background: #d5ffc9
}

.avatar-b {
    background: #e8f9e4
}

.avatar-c {
    background: #efffe9;
    border: 1px solid #d6efce
}

.avatar-d {
    background: var(--lime)
}

.team-grid article>span {
    font-size: 8px;
    letter-spacing: .12em;
    color: #4b9c42;
    font-weight: 800
}

.team-grid h3 {
    font: 800 16px Manrope;
    color: var(--green);
    margin: 7px 0 2px
}

.team-grid p {
    font-size: 11px;
    color: #758276;
    margin: 0
}

.support-team {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 20px;
    padding: 23px;
    background: #fff;
    border: 1px solid #e3eee1;
    border-radius: 16px
}

.support-team>div {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.support-team span {
    font-size: 8px;
    letter-spacing: .12em;
    color: #4b9c42;
    font-weight: 800
}

.support-team strong {
    font: 700 13px Manrope;
    color: var(--green)
}

.support-team small {
    font-size: 10px;
    color: #748274
}

.founder {
    background: var(--green);
    color: #fff;
    padding: 100px 0;
    overflow: hidden;
    position: relative
}

.founder:after {
    content: "";
    position: absolute;
    right: -180px;
    top: -220px;
    width: 520px;
    height: 520px;
    border: 1px solid #ffffff18;
    border-radius: 50%;
    box-shadow: 0 0 0 45px #ffffff06, 0 0 0 90px #ffffff04;
    pointer-events: none
}

.founder-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 90px;
    align-items: center
}

.founder-portrait {
    height: 490px;
    position: relative;
    background: #d8f7d1;
    border-radius: 180px 180px 18px 18px;
    isolation: isolate
}

.founder-portrait img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    border-radius: inherit;
    z-index: 1
}

.portrait-placeholder {
    display: flex;
    position: absolute;
    inset: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--green);
    background: linear-gradient(145deg, #caffc0, #f3fff0);
    border-radius: inherit
}

.portrait-placeholder span {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .16em
}

.portrait-placeholder b {
    font: 800 25px/1.3 Manrope;
    margin: 15px 0
}

.portrait-placeholder small {
    font-size: 11px;
    color: #547658
}

.portrait-outline {
    position: absolute;
    inset: 14px -14px -14px 14px;
    border: 1px solid #81ff6e9c;
    border-radius: inherit;
    z-index: -1
}

.portrait-label {
    position: absolute;
    z-index: 3;
    bottom: 24px;
    left: -25px;
    background: var(--lime);
    color: var(--green);
    padding: 15px 18px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 14px 30px #0002
}

.portrait-label span {
    font-size: 8px;
    letter-spacing: .12em;
    font-weight: 800
}

.portrait-label b {
    font: 800 14px Manrope;
    margin-top: 3px
}

.portrait-index {
    position: absolute;
    right: -25px;
    top: 35px;
    writing-mode: vertical-rl;
    color: #c8e5c8;
    font-size: 9px;
    letter-spacing: .18em
}

.founder-copy .section-no {
    color: var(--lime);
    background: rgba(255, 255, 255, .1);
    margin-bottom: 21px
}

.founder-copy .eyebrow {
    color: #c5e7c4;
    margin-bottom: 17px
}

.founder-copy .eyebrow>span {
    width: 7px;
    height: 7px;
    background: var(--lime);
    border-radius: 50%
}

.founder-copy h2 {
    color: #fff
}

.founder-copy h2 em {
    color: var(--lime)
}

.founder-quote {
    font: 500 16px/1.85 Manrope, sans-serif;
    color: #f1f8ef;
    margin: 24px 0 16px
}

.founder-copy>p:not(.founder-quote) {
    font-size: 13px;
    line-height: 1.9;
    color: #c2d7c3
}

.founder-signoff {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 26px 0
}

.sign-mark {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    object-fit: contain;
    flex: 0 0 auto
}

.founder-signoff div {
    display: flex;
    flex-direction: column
}

.founder-signoff strong {
    font: 700 12px Manrope
}

.founder-signoff small {
    font-size: 10px;
    color: #b9d2b9
}

.founder-copy .btn {
    margin-top: 3px
}

.contact {
    padding: 100px 0;
    background: linear-gradient(120deg, #f4fff1, #fff 60%)
}

.contact-layout {
    display: grid;
    grid-template-columns: 1fr .8fr;
    gap: 100px;
    align-items: center
}

.contact-copy h2 {
    margin: 17px 0
}

.contact-copy>p {
    max-width: 510px;
    color: #667667;
    line-height: 1.9;
    font-size: 14px
}

.contact-phone {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 27px
}

.contact-phone>span {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: var(--lime);
    font-size: 21px;
    color: var(--green)
}

.contact-phone div {
    display: flex;
    flex-direction: column
}

.contact-phone small {
    font-size: 9px;
    letter-spacing: .14em;
    font-weight: 800;
    color: #6a806c
}

.contact-phone a {
    font: 800 23px Manrope;
    color: var(--green)
}

.contact-phone .contact-email {
    margin-top: 5px;
    font: 600 14px 'DM Sans', sans-serif;
    overflow-wrap: anywhere
}

.contact-reassurance {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 26px;
    color: #617462;
    font-size: 11px
}

.contact-reassurance span {
    color: #4a9b40;
    font-size: 17px
}

.contact-panel {
    background: #fff;
    border: 1px solid #dfeedd;
    border-radius: 22px;
    padding: 31px;
    box-shadow: var(--shadow)
}

.panel-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 9px;
    letter-spacing: .14em;
    font-weight: 800;
    color: #559c4a
}

.panel-top span:last-child {
    color: #a1b2a0
}

.contact-panel h3 {
    font: 800 25px/1.25 Manrope;
    letter-spacing: -.04em;
    color: var(--green);
    margin: 24px 0 10px
}

.contact-panel>p {
    font-size: 12px;
    line-height: 1.8;
    color: #6b7c6c;
    margin-bottom: 22px
}

.contact-panel .btn {
    width: 100%;
    justify-content: space-between;
    margin-top: 10px
}

.btn-dark {
    background: var(--green);
    color: #fff
}

.btn-whatsapp {
    background: var(--lime);
    color: var(--green)
}

.btn-email {
    background: #f1f8ef;
    color: var(--green);
    border: 1px solid var(--line)
}

.contact-panel>small {
    display: block;
    margin-top: 20px;
    font-size: 9px;
    line-height: 1.7;
    color: #7b887b
}

.footer {
    background: #102b19;
    color: #fff;
    padding: 31px 0 0
}

.footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 27px
}

.footer .brand-words small {
    color: #b5cbb6
}

.footer-top>p {
    font-size: 11px;
    line-height: 1.7;
    color: #bfd1bf;
    margin: 0
}

.back-top {
    font-size: 9px;
    letter-spacing: .14em;
    font-weight: 800;
    color: var(--lime)
}

.footer-bottom {
    border-top: 1px solid #ffffff21;
    padding: 16px 0;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    font-size: 9px;
    color: #a6bba7
}

.promo-dialog {
    position: fixed;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent
}

.promo-dialog::backdrop {
    background: rgba(15, 34, 21, .48);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px)
}

.promo-dialog img {
    width: auto;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .3)
}

.promo-dialog form {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1
}

.promo-close {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 50%;
    background: rgba(16, 43, 25, .9);
    color: #fff;
    font: 400 30px/1 'DM Sans', sans-serif;
    cursor: pointer
}

.promo-close:hover {
    background: var(--green)
}

@media(max-width:1000px) {
    .hero-layout {
        gap: 38px
    }

    .hero-visual {
        height: 450px
    }

    .numbers-grid {
        grid-template-columns: 1fr 1fr;
        gap: 25px
    }

    .number-item,
    .number-note {
        padding-left: 20px
    }

    .split-layout {
        gap: 55px
    }

    .founder-grid {
        gap: 55px
    }

    .contact-layout {
        gap: 55px
    }
}

@media(max-width:760px) {
    .wrap {
        width: min(100% - 34px, 560px)
    }

    .topline-inner {
        min-height: 35px;
        font-size: 10px
    }

    .nav {
        height: 70px
    }

    .brand-logo {
        width: 56px;
        height: 56px
    }

    .menu-button {
        display: flex;
        flex-direction: column;
        gap: 5px;
        padding: 10px;
        cursor: pointer
    }

    .menu-button span {
        width: 23px;
        height: 2px;
        background: var(--green);
        display: block
    }

    .nav-links {
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        top: 70px;
        padding: 18px 22px 23px;
        background: #fff;
        border-bottom: 1px solid var(--line);
        box-shadow: 0 15px 25px #183d2510;
        align-items: stretch;
        flex-direction: column;
        gap: 0
    }

    .nav-links a {
        padding: 12px 0
    }

    .nav-links .nav-cta {
        padding: 12px 17px;
        text-align: center;
        margin-top: 8px
    }

    .nav-toggle:checked~.nav-links {
        display: flex
    }

    .hero {
        padding-top: 49px
    }

    .hero-layout {
        grid-template-columns: 1fr;
        gap: 33px;
        padding-bottom: 40px
    }

    .hero h1 {
        font-size: clamp(48px, 12vw, 68px)
    }

    .hero-intro {
        font-size: 15px
    }

    .hero-visual {
        height: 390px;
        max-width: 470px;
        width: 100%;
        margin: auto
    }

    .visual-photo {
        inset: 6px 15px 28px 34px
    }

    .photo-stamp {
        width: 82px;
        height: 82px;
        left: 0;
        top: 38px;
        font-size: 7px
    }

    .photo-stamp b {
        font-size: 18px
    }

    .visual-note {
        min-width: 0;
        width: 78%;
        padding: 14px
    }

    .visual-note strong {
        font-size: 15px
    }

    .hero-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
        font-size: 8px
    }

    .numbers {
        padding: 42px 0
    }

    .numbers-grid {
        grid-template-columns: 1fr 1fr;
        gap: 28px 16px
    }

    .numbers-intro {
        grid-column: 1/-1
    }

    .numbers-intro h2 {
        font-size: 24px
    }

    .number-item {
        padding-left: 14px
    }

    .number-item strong {
        font-size: 36px
    }

    .number-note {
        grid-column: 1/-1;
        display: grid;
        grid-template-columns: 25px 1fr;
        column-gap: 8px;
        padding-left: 14px
    }

    .number-note>span {
        grid-row: span 2
    }

    .number-note p {
        margin-top: 0
    }

    .section {
        padding: 72px 0
    }

    .split-layout {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .section-side {
        display: block
    }

    .side-art {
        display: none
    }

    .section-heading {
        display: block;
        margin-bottom: 28px
    }

    .section-heading h2,
    .section-main h2,
    .founder-copy h2,
    .contact-copy h2 {
        font-size: clamp(35px, 9vw, 47px)
    }

    .section-heading>p {
        margin-top: 18px;
        font-size: 13px
    }

    .principles {
        grid-template-columns: 1fr;
        gap: 15px;
        margin: 26px 0
    }

    .principles>div {
        display: grid;
        grid-template-columns: 28px 1fr;
        column-gap: 8px;
        padding-top: 12px
    }

    .principles span {
        grid-row: span 2
    }

    .principles strong {
        margin-top: 0
    }

    .principles p {
        grid-column: 2;
        margin-top: 4px
    }

    .pathway-grid {
        grid-template-columns: 1fr;
        gap: 15px
    }

    .path-illustration {
        height: 160px
    }

    .path-copy p {
        min-height: 0
    }

    .statement-inner {
        min-height: 230px
    }

    .statement p {
        font-size: 27px
    }

    .achievement-list article {
        grid-template-columns: 28px 1fr 24px;
        gap: 10px;
        padding: 17px 0
    }

    .achievement-field {
        display: none
    }

    .achievement-list h3 {
        font-size: 14px
    }

    .achievement-list p {
        font-size: 11px
    }

    .team-grid {
        grid-template-columns: 1fr 1fr;
        gap: 11px
    }

    .team-grid article {
        padding: 16px
    }

    .team-avatar {
        width: 48px;
        height: 48px;
        margin-bottom: 16px
    }

    .team-grid h3 {
        font-size: 14px
    }

    .support-team {
        grid-template-columns: 1fr;
        gap: 17px;
        padding: 19px
    }

    .founder {
        padding: 72px 0
    }

    .founder-grid {
        grid-template-columns: 1fr;
        gap: 48px
    }

    .founder-portrait {
        height: 390px;
        width: min(100%, 390px);
        margin-inline: auto
    }

    .portrait-label {
        left: -8px
    }

    .founder-copy h2 {
        font-size: 39px
    }

    .founder-quote {
        font-size: 14px
    }

    .contact {
        padding: 72px 0
    }

    .contact-layout {
        grid-template-columns: 1fr;
        gap: 36px
    }

    .contact-panel {
        padding: 24px
    }

    .footer-top {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 16px
    }

    .footer-top>p {
        grid-column: 1/-1;
        grid-row: 2
    }

    .back-top {
        grid-column: 2;
        grid-row: 1
    }

    .footer-bottom {
        flex-direction: column;
        gap: 5px
    }
}

@media(max-width:1100px) {
    .menu-button {
        display: flex;
        flex-direction: column;
        gap: 5px;
        padding: 10px;
        cursor: pointer
    }

    .menu-button span {
        width: 23px;
        height: 2px;
        background: var(--green);
        display: block
    }

    .nav-links {
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        padding: 18px 22px 23px;
        background: #fff;
        border-bottom: 1px solid var(--line);
        box-shadow: 0 15px 25px #183d2510;
        align-items: stretch;
        flex-direction: column;
        gap: 0
    }

    .nav-links a {
        padding: 12px 0
    }

    .nav-links .nav-cta {
        padding: 12px 17px;
        text-align: center;
        margin-top: 8px
    }

    .nav-toggle:checked~.nav-links {
        display: flex
    }

    .nav-toggle:focus-visible+.menu-button {
        outline: 2px solid var(--green);
        outline-offset: 3px
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    *,
    *:before,
    *:after {
        transition: none !important
    }
}

/* Team portraits, testimonial photo wall and event gallery */
.people-photo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 17px;
    margin-top: 32px
}

.people-photo-card,
.testimonial-photo-card,
.event-photo-card {
    min-width: 0;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 34px rgba(24, 61, 37, .045)
}

.people-photo {
    height: 250px;
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 13px;
    background-color: #efffeb;
    background-size: cover;
    background-position: center;
    isolation: isolate
}

.people-photo img,
.testimonial-photo img,
.event-photo img {
    position: absolute;
    inset: 0;
    width: 80%;
    height: 100%;
    object-fit: cover
}

.people-photo img[hidden],
.testimonial-photo img[hidden],
.event-photo img[hidden] {
    display: none
}

.people-photo:before,
.testimonial-photo:before,
.event-photo:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(145deg, #eaffE5, #f9fff7 52%, #d9ffd1)
}

.people-photo:after,
.testimonial-photo:after,
.event-photo:after {
    content: "✳";
    position: absolute;
    top: 15px;
    right: 17px;
    color: #398345;
    font-size: 22px;
    opacity: .75
}

.photo-instruction {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    padding: 0px 30px;
    border: 1px dashed #8ccf82;
    border-radius: 10px;
    background: rgba(255, 255, 255, .91);
    color: #456a49;
    font-size: 10px;
    line-height: 1.5;
    text-align: center;
    overflow-wrap: anywhere;
    backdrop-filter: blur(4px)
}

.photo-instruction[hidden] {
    display: none
}

.photo-instruction b {
    display: block;
    font-size: 10px;
    color: #1d512b;
    margin-top: 2px
}

.people-photo-copy {
    padding: 18px 17px 20px
}

.people-photo-copy>span,
.testimonial-photo-caption>span,
.event-photo-caption>span {
    display: block;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .13em;
    color: #4b9c42
}

.people-photo-copy h3 {
    font: 800 15px/1.35 Manrope, sans-serif;
    color: var(--green);
    margin: 8px 0
}

.people-photo-copy p {
    font-size: 11px;
    line-height: 1.7;
    color: #667667;
    margin: 0
}

.people-photo-copy small {
    display: block;
    font-size: 9px;
    line-height: 1.6;
    color: #7b897b;
    margin-top: 8px
}

.testimonials {
    background: #f7fff5
}

.testimonial-photo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 17px
}

.testimonial-photo-card {
    border-radius: 16px
}

.testimonial-photo {
    height: 220px;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 12px;
    background-size: cover;
    background-position: center;
    background-color: #efffeb;
    isolation: isolate
}

.testimonial-photo-caption,
.event-photo-caption {
    padding: 14px 15px 17px
}

.testimonial-photo-caption strong,
.event-photo-caption strong {
    display: block;
    color: var(--green);
    font: 800 13px Manrope, sans-serif;
    margin: 6px 0
}

.testimonial-photo-caption small,
.event-photo-caption small {
    display: block;
    color: #748274;
    font-size: 10px;
    line-height: 1.6
}

.events {
    background: #fff
}

.event-photo-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 17px
}

.event-photo-card {
    grid-column: span 2
}

.event-photo-card-1,
.event-photo-card-2 {
    grid-column: span 3
}

.event-photo {
    height: 245px;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 13px;
    background-size: cover;
    background-position: center;
    background-color: #efffeb;
    isolation: isolate
}

.event-number {
    position: absolute;
    right: 14px;
    top: 13px;
    font: 800 22px Manrope, sans-serif;
    color: #2d6b37;
    background: #ffffffd9;
    border-radius: 10px;
    padding: 5px 9px
}

@media(max-width:1000px) {

    .people-photo-grid,
    .testimonial-photo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .event-photo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .event-photo-card,
    .event-photo-card-1,
    .event-photo-card-2 {
        grid-column: span 1
    }
}

@media(max-width:760px) {

    .people-photo-grid,
    .testimonial-photo-grid,
    .event-photo-grid {
        grid-template-columns: 1fr 1fr;
        gap: 11px
    }

    .people-photo {
        height: 210px
    }

    .people-photo-copy {
        padding: 14px 12px 16px
    }

    .people-photo-copy h3 {
        font-size: 13px
    }

    .people-photo-copy p {
        font-size: 10px
    }

    .testimonial-photo {
        height: 190px;
        padding: 8px
    }

    .testimonial-photo-caption,
    .event-photo-caption {
        padding: 12px
    }

    .event-photo {
        height: 190px;
        padding: 8px
    }

    .photo-instruction {
        font-size: 9px;
        padding: 8px 6px
    }

    .photo-instruction b {
        font-size: 9px
    }
}

@media(max-width:420px) {

    .people-photo-grid,
    .testimonial-photo-grid,
    .event-photo-grid {
        grid-template-columns: 1fr
    }

    .people-photo {
        height: 270px
    }

    .testimonial-photo,
    .event-photo {
        height: 240px
    }
}

/* Keep supporting text readable without changing the main type scale. */
.topline {
    font-size: 14px
}

.overline,
.eyebrow {
    font-size: 12px
}

.brand-words small {
    font-size: 11px
}

.photo-stamp {
    font-size: 10px
}

.side-art small,
.illustration-caption,
.statement-caption {
    font-size: 12px
}

.visual-note-number,
.visual-note small,
.hero-bottom span,
.number-note small,
.principles span,
.section-main cite,
.path-top,
.path-label,
.chips span,
.achievement-number,
.achievement-field,
.team-grid article>span,
.support-team span,
.support-team small,
.portrait-placeholder span,
.portrait-placeholder small,
.portrait-label span,
.portrait-index,
.founder-signoff small,
.contact-phone small,
.panel-top,
.contact-panel>small,
.footer-bottom,
.back-top,
.photo-instruction,
.photo-instruction b,
.people-photo-copy small,
.people-photo-copy>span,
.testimonial-photo-caption>span,
.event-photo-caption>span {
    font-size: 12px
}

.hero-bottom a,
.number-item p,
.number-note p,
.principles p,
.section-heading>p,
.section-main>p:not(.large-copy),
.path-copy p,
.inline-link,
.disclaimer,
.achievement-list p,
.team-grid p,
.support-team strong,
.founder-copy>p:not(.founder-quote),
.contact-copy>p,
.contact-reassurance,
.contact-panel>p,
.footer-top>p,
.people-photo-copy p,
.testimonial-photo-caption small,
.event-photo-caption small {
    font-size: 14px
}

.principles strong,
.support-team strong {
    font-size: 15px
}

.path-copy h3,
.achievement-list h3 {
    font-size: 18px
}

.people-photo-copy h3 {
    font-size: 16px
}

.testimonial-photo-caption strong,
.event-photo-caption strong {
    font-size: 15px
}

@media(max-width:760px) {
    .topline {
        font-size: 12px
    }

    .hero-bottom {
        font-size: 11px
    }

    .hero-bottom a {
        font-size: 13px
    }

    .section-heading>p,
    .people-photo-copy p,
    .achievement-list p {
        font-size: 14px
    }

    .people-photo-copy h3 {
        font-size: 16px
    }
}