@font-face {
    font-family: "Outfit";
    src: url("../assets/fonts/Outfit-Variable.woff2") format("woff2");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

html[data-about-brand] {
    --brand: #42694c;
    --brand-strong: #284b35;
    --brand-deep: #183925;
    --sage: #adc9b0;
    --mint: #7caaa0;
    --cream: #fafbf8;
    --soft: #edf2e9;
    --surface: #ffffff;
    --ink: #26392d;
    --ink-soft: #435749;
    --muted: #596b60;
    --line: #ccd9c9;
    --primary: var(--brand);
    --primary-strong: var(--brand-strong);
    --primary-soft: #e5efdf;
    --accent: #8fb596;
    --accent-soft: #e9f2e6;
    --bg: var(--cream);
    --bg-soft: var(--soft);
    --font-display: "Outfit", sans-serif;
    --font-body: "Outfit", sans-serif;
}

html[data-about-brand],
html[data-about-brand] body,
.page-about {
    color: var(--ink);
    background: var(--cream);
    font-family: "Outfit", sans-serif;
}

html[data-about-brand] .site-header {
    --surface: #ffffff;
    --surface-muted: #f1f5ee;
    --primary-soft: #e5efdf;
    --ink: #26392d;
    --ink-soft: #435749;
    color-scheme: light;
    background: #ffffff;
    border-bottom-color: var(--line);
    box-shadow: 0 8px 32px rgba(40, 75, 53, 0.07);
    backdrop-filter: none;
}

html[data-about-brand] .nav-shell {
    max-width: 1240px;
}

html[data-about-brand] .brand {
    width: clamp(210px, 20vw, 290px);
    min-width: 0;
}

html[data-about-brand] .brand-logo {
    display: block;
    width: 100%;
    height: auto;
    background: #ffffff;
}

html[data-about-brand] .primary-nav a {
    color: var(--ink-soft);
    font-family: "Outfit", sans-serif;
    font-weight: 650;
}

html[data-about-brand] .primary-nav a:hover,
html[data-about-brand] .primary-nav a:focus-visible,
html[data-about-brand] .primary-nav a.is-active {
    color: var(--brand-strong);
    background: var(--primary-soft);
}

html[data-about-brand] .nav-toggle,
html[data-about-brand] .language-switch,
html[data-about-brand] .theme-toggle {
    color: var(--brand-strong);
    background: #ffffff;
    border-color: var(--line);
}

html[data-about-brand] .nav-toggle span:not(.sr-only) {
    background: var(--brand-strong);
}

.page-about h1,
.page-about h2,
.page-about h3,
.page-about h4 {
    color: var(--brand-strong);
    font-family: "Outfit", sans-serif;
    font-weight: 570;
    letter-spacing: -0.035em;
}

.page-about .eyebrow {
    color: var(--brand);
    font-family: "Outfit", sans-serif;
    font-weight: 750;
    letter-spacing: 0.08em;
}

.page-about .about-identity,
html[data-about-brand][data-theme="dark"] .page-about .about-identity {
    color: var(--ink);
    background:
        radial-gradient(circle at 78% 28%, rgba(173, 201, 176, 0.28), transparent 32%),
        linear-gradient(135deg, #fafbf8 0%, #f2f6ef 56%, #e7efe3 100%);
    border-bottom-color: var(--line);
}

.page-about .about-identity::before {
    background:
        linear-gradient(rgba(66, 105, 76, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(66, 105, 76, 0.07) 1px, transparent 1px);
}

.page-about .about-identity::after,
html[data-about-brand][data-theme="dark"] .page-about .about-identity::after {
    content: none;
}

.page-about .about-identity-glow {
    background: rgba(143, 181, 150, 0.25);
}

.page-about .about-identity-copy h1 span:last-child {
    color: var(--brand);
}

.page-about .about-identity-lead,
.page-about .about-section-heading > p {
    color: var(--ink-soft);
}

.page-about .about-qualities li {
    color: var(--brand-strong);
    background: rgba(229, 239, 223, 0.88);
    border-color: var(--line);
}

.page-about .about-qualities li::before {
    background: var(--brand);
    box-shadow: 0 0 0 4px rgba(173, 201, 176, 0.26);
}

.page-about .about-team-orbit {
    color: #ffffff;
    background:
        radial-gradient(circle at 50% 50%, rgba(173, 201, 176, 0.08) 0 20%, transparent 20.5%),
        radial-gradient(circle at 34% 28%, rgba(173, 201, 176, 0.2), transparent 30%),
        repeating-conic-gradient(from 18deg, rgba(255, 255, 255, 0.026) 0 8deg, transparent 8deg 34deg),
        linear-gradient(145deg, #315c3d, #183925 74%);
    border-color: rgba(173, 201, 176, 0.3);
    box-shadow:
        16px 16px 0 rgba(173, 201, 176, 0.18),
        0 34px 80px rgba(11, 49, 25, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.page-about .about-team-orbit::before {
    background:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
}

.page-about .about-team-orbit::after {
    content: "";
    position: absolute;
    inset: 16%;
    z-index: 0;
    border: 1px solid rgba(173, 201, 176, 0.2);
    border-radius: 50%;
    box-shadow:
        inset 0 0 42px rgba(173, 201, 176, 0.06),
        0 0 0 10px rgba(173, 201, 176, 0.025);
    pointer-events: none;
}

.page-about .about-orbit-ring--outer {
    width: 78%;
    border-color: rgba(220, 232, 216, 0.5);
    box-shadow: 0 0 24px rgba(173, 201, 176, 0.08);
}

.page-about .about-orbit-ring--inner {
    width: 51%;
    border-color: rgba(232, 240, 231, 0.3);
}

.page-about .about-orbit-tracer {
    width: 78%;
    background: conic-gradient(from 30deg, transparent 0 56%, rgba(173, 201, 176, 0.18) 66%, rgba(220, 232, 216, 0.98) 78%, transparent 88%);
}

.page-about .about-orbit-tracer::after {
    background: #dce8d8;
    border-color: var(--brand-deep);
    box-shadow: 0 0 0 7px rgba(173, 201, 176, 0.13), 0 0 22px rgba(173, 201, 176, 0.62);
}

.page-about .about-orbit-core {
    background: radial-gradient(circle at 34% 26%, #f7faf5, #c8dcc6 52%, #8fb596);
    border: 1px solid rgba(255, 255, 255, 0.72);
    box-shadow:
        0 0 0 10px rgba(173, 201, 176, 0.09),
        0 0 0 22px rgba(173, 201, 176, 0.045),
        0 20px 46px rgba(6, 29, 16, 0.3);
}

.page-about .about-orbit-core span,
.page-about .about-orbit-core small {
    color: var(--brand-deep);
}

.page-about .about-orbit-member {
    min-width: 150px;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    padding: 8px 13px 8px 9px;
    background: linear-gradient(105deg, rgba(247, 250, 245, 0.2), rgba(173, 201, 176, 0.1));
    border-color: rgba(220, 232, 216, 0.38);
    box-shadow: 0 16px 34px rgba(6, 29, 16, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.page-about .about-orbit-member > span {
    color: var(--brand-deep);
    background: var(--sage);
}

.page-about .about-orbit-member-copy {
    min-width: 0;
    display: grid;
    gap: 1px;
}

.page-about .about-orbit-member-copy small {
    color: rgba(232, 240, 231, 0.68);
    font-size: 0.55rem;
    font-weight: 650;
    letter-spacing: 0.035em;
}

.page-about .about-team-section {
    background: var(--cream);
}

.page-about .about-team-section .team-card-index {
    display: none;
}

.page-about .about-section-heading {
    border-bottom-color: var(--line);
}

.page-about .about-team-section .team-card,
html[data-about-brand][data-theme="dark"] .page-about .about-team-section .team-card {
    --member-accent: var(--brand);
    --member-soft: #e5efdf;
    --member-text: var(--brand-strong);
    background:
        linear-gradient(180deg, rgba(229, 239, 223, 0.58), transparent 44%),
        var(--surface);
    border-color: var(--line);
    box-shadow: 7px 7px 0 rgba(66, 105, 76, 0.08), 0 20px 52px rgba(40, 75, 53, 0.09);
}

.page-about .about-team-section .team-card--kornel,
html[data-about-brand][data-theme="dark"] .page-about .about-team-section .team-card--kornel {
    --member-accent: #42694c;
    --member-soft: #e5efdf;
}

.page-about .about-team-section .team-card--zalan,
html[data-about-brand][data-theme="dark"] .page-about .about-team-section .team-card--zalan {
    --member-accent: #527c62;
    --member-soft: #e3eee2;
    --member-text: #365a42;
}

.page-about .about-team-section .team-card--enki,
html[data-about-brand][data-theme="dark"] .page-about .about-team-section .team-card--enki {
    --member-accent: #6f9b8f;
    --member-soft: #e2eeea;
    --member-text: #365d53;
}

.page-about .about-team-section .team-card-media {
    background: var(--brand-deep);
}

.page-about .about-team-section .team-card-media::before {
    background:
        linear-gradient(135deg, rgba(173, 201, 176, 0.1), transparent 32%),
        linear-gradient(180deg, transparent 76%, rgba(11, 49, 25, 0.5));
}

.page-about .about-team-section .team-card-media::after {
    height: 24%;
    background: linear-gradient(180deg, transparent, rgba(11, 49, 25, 0.54));
}

.page-about .about-team-section .team-card--kornel img {
    object-position: center 32%;
    filter: saturate(.96) contrast(1.01);
}

.page-about .about-team-section .team-card--zalan img {
    object-position: center 31%;
    filter: saturate(.96) contrast(1.01);
}

.page-about .about-team-section .team-card--enki img {
    object-position: center 30%;
    filter: saturate(.96) contrast(1.01);
    image-rendering: auto;
}

@media (hover: hover) and (pointer: fine) {
    .page-about .about-team-section .team-card:hover {
        border-color: color-mix(in srgb, var(--member-accent) 42%, var(--line));
        box-shadow:
            8px 8px 0 color-mix(in srgb, var(--member-accent) 9%, transparent),
            0 25px 58px rgba(40, 75, 53, 0.12);
        transform: translateY(-3px);
    }

    .page-about .about-team-section .team-card:hover img {
        filter: saturate(1) contrast(1.02);
        transform: scale(1.025);
    }

    .page-about .about-team-section .team-card:hover .team-card-line {
        transform: scaleX(0.72);
    }

    .page-about .about-team-section .team-card:hover .team-card-name > span {
        color: #ffffff;
        background: var(--member-accent);
        transform: translate3d(2px, -2px, 0);
    }
}

.page-about .about-team-section .team-card,
.page-about .about-team-section .team-card img,
.page-about .team-card-line,
.page-about .team-card-name > span {
    transition-duration: 280ms;
}

.page-about .team-card-index {
    color: var(--brand-deep);
    background: rgba(220, 232, 216, 0.94);
}

.page-about .about-team-section .team-focus,
.page-about .team-card-name > span,
.page-about .about-team-section .team-tags li,
.page-about .about-team-section .team-tags li:nth-child(3) {
    color: var(--member-text);
    background: color-mix(in srgb, var(--member-soft) 74%, #ffffff);
    border-color: color-mix(in srgb, var(--member-accent) 20%, var(--line));
}

.page-about .about-team-section .team-card-body > p:not(.team-focus) {
    color: var(--ink-soft);
}

.page-about .about-method {
    color: #ffffff;
    background:
        radial-gradient(circle at 12% 18%, rgba(173, 201, 176, 0.15), transparent 28%),
        radial-gradient(circle at 88% 80%, rgba(124, 170, 160, 0.13), transparent 30%),
        var(--brand-deep);
    border-color: rgba(173, 201, 176, 0.16);
}

.page-about .about-method::after {
    content: none;
}

.page-about .about-method::before {
    background:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
}

.page-about .about-method-heading .eyebrow {
    color: var(--sage);
}

.page-about .about-method-heading h2 {
    color: #ffffff;
}

.page-about .about-method-heading > p {
    color: rgba(232, 240, 231, 0.78);
}

.page-about .about-method-grid::before {
    background: linear-gradient(90deg, transparent, rgba(173, 201, 176, 0.56) 14%, rgba(173, 201, 176, 0.56) 86%, transparent);
}

.page-about .about-method-card {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.035)), rgba(13, 49, 29, 0.44);
    border-color: rgba(173, 201, 176, 0.2);
}

.page-about .about-method-card::before {
    background: rgba(173, 201, 176, 0.11);
}

.page-about .about-method-card::after {
    background: var(--sage);
}

.page-about .about-method-card-top span {
    color: var(--brand-deep);
    background: var(--sage);
}

.page-about .about-method-card-top i {
    background: linear-gradient(90deg, rgba(173, 201, 176, 0.62), transparent);
}

.page-about .about-method-symbol {
    color: rgba(173, 201, 176, 0.78);
}

.page-about .about-method-card h3 {
    color: #ffffff;
}

.page-about .about-method-card p {
    color: rgba(232, 240, 231, 0.74);
}

@media (hover: hover) and (pointer: fine) {
    .page-about .about-team-orbit:hover {
        box-shadow: 20px 20px 0 rgba(173, 201, 176, 0.2), 0 42px 94px rgba(11, 49, 25, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.13);
    }

    .page-about .about-team-orbit:hover .about-orbit-member {
        background: linear-gradient(105deg, rgba(247, 250, 245, 0.24), rgba(173, 201, 176, 0.15));
        border-color: rgba(173, 201, 176, 0.6);
    }

    .page-about .about-method-card:hover {
        background: linear-gradient(145deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.055)), rgba(13, 49, 29, 0.52);
        border-color: rgba(173, 201, 176, 0.62);
        box-shadow: 0 30px 60px rgba(6, 29, 16, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    }

    .page-about .about-method-card:hover .about-method-symbol {
        color: #dce8d8;
    }
}

.page-about .cta-band {
    background: var(--brand-deep);
}

.page-about .cta-band h2,
.page-about .cta-band p {
    color: #ffffff;
}

.page-about .cta-band::before {
    background:
        linear-gradient(120deg, rgba(24, 57, 37, 0.98), rgba(13, 49, 29, 0.92)),
        radial-gradient(circle at 82% 18%, rgba(173, 201, 176, 0.18), transparent 34%);
}

.page-about .cta-band .eyebrow {
    color: var(--sage);
}

.page-about .cta-band .button-primary {
    color: var(--brand-deep);
    background: var(--sage);
    border-color: var(--sage);
}

.page-about .cta-band .button-primary:hover,
.page-about .cta-band .button-primary:focus-visible {
    color: var(--brand-deep);
    background: #dce8d8;
}

html[data-about-brand] .site-footer {
    color: #e8f0e7;
    background: var(--brand-deep);
    border-top-color: rgba(173, 201, 176, 0.25);
}

html[data-about-brand] .site-footer a {
    color: #f7faf5;
}

html[data-about-brand] .footer-brand {
    width: min(100%, 330px);
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

html[data-about-brand] .footer-brand-logo-wrap {
    display: block;
    width: 100%;
    background: transparent;
}

html[data-about-brand] .footer-brand-logo {
    display: block;
    width: 100%;
    height: auto;
    filter: brightness(1.72) saturate(0.72) drop-shadow(0 4px 14px rgba(173, 201, 176, 0.2));
}

html[data-about-brand] .footer-grid p {
    color: #c9d9c8;
}

html[data-about-brand] :is(.footer-links, .footer-contact) > span {
    color: var(--sage);
}

html[data-about-brand] .footer-bottom {
    border-top-color: rgba(173, 201, 176, 0.22);
}

@media (max-width: 760px) {
    html[data-about-brand] .brand {
        width: 210px;
    }
}

@media (max-width: 640px) {
    .page-about .about-orbit-member {
        min-width: 112px;
        gap: 7px;
        padding: 7px 9px 7px 7px;
    }

    .page-about .about-orbit-member-copy small {
        display: none;
    }

    .page-about .about-orbit-member--zali {
        left: -2%;
    }

    .page-about .about-orbit-member--enki {
        right: -2%;
    }
}

@media (max-width: 580px) {
    html[data-about-brand] .site-header {
        min-height: 116px;
    }

    html[data-about-brand] .nav-shell {
        flex-wrap: wrap;
        gap: 8px;
        padding-block: 10px;
    }

    html[data-about-brand] .brand {
        width: min(210px, calc(100% - 64px));
    }

    html[data-about-brand] .header-actions {
        width: 100%;
        justify-content: flex-end;
    }
}

@media (max-width: 360px) {
    html[data-about-brand] .brand {
        width: 180px;
    }
}

/* Temporary shared team image, ready to be replaced by the final team photo. */
.page-about .about-qualities li {
    padding-inline: 15px;
}

.page-about .about-qualities li::before {
    content: none;
}

.page-about .about-team-photo {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: min(100%, 520px);
    aspect-ratio: 1;
    justify-self: end;
    margin: 0;
    background: var(--brand-deep);
    border: 1px solid rgba(66, 105, 76, 0.24);
    border-radius: 34px;
    box-shadow:
        15px 15px 0 rgba(173, 201, 176, 0.2),
        0 34px 80px rgba(24, 57, 37, 0.18);
}

.page-about .about-team-photo::after {
    content: none;
}

.page-about .about-team-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 50% 50%;
    filter: none;
    transform: scale(1.015);
    transition: transform 700ms cubic-bezier(.2, .75, .25, 1), filter 420ms ease;
}

.page-about .about-team-photo figcaption {
    position: absolute;
    right: 24px;
    bottom: 24px;
    left: 24px;
    z-index: 2;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px;
    color: #ffffff;
    background: rgba(24, 57, 37, 0.82);
    border: 1px solid rgba(220, 232, 216, 0.28);
    border-radius: 18px;
    backdrop-filter: blur(12px);
}

.page-about .about-team-photo figcaption strong {
    font-size: 1rem;
}

.page-about .about-team-photo figcaption span {
    color: rgba(232, 240, 231, 0.78);
    font-size: .76rem;
    text-align: right;
}

@media (hover: hover) and (pointer: fine) {
    .page-about .about-team-photo:hover img {
        filter: none;
        transform: scale(1.045);
    }
}

@media (max-width: 1050px) {
    .page-about .about-team-photo {
        width: min(100%, 760px);
        aspect-ratio: 16 / 10;
        justify-self: center;
    }
}

@media (max-width: 640px) {
    .page-about .about-team-photo {
        aspect-ratio: 4 / 5;
        border-radius: 24px;
        box-shadow: 9px 9px 0 rgba(173, 201, 176, 0.18), 0 24px 54px rgba(24, 57, 37, 0.16);
    }

    .page-about .about-team-photo figcaption {
        right: 14px;
        bottom: 14px;
        left: 14px;
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
        padding: 14px 15px;
    }

    .page-about .about-team-photo figcaption span {
        text-align: left;
    }
}

/* Compact team introduction with a clearer path into the profile cards. */
.page-about .about-team-section {
    padding-top: clamp(54px, 5.5vw, 76px);
    padding-bottom: clamp(84px, 9vw, 124px);
}

.page-about .about-team-section .about-section-heading {
    grid-template-columns: minmax(0, 1fr) minmax(380px, .82fr);
    gap: clamp(42px, 6vw, 86px);
    align-items: center;
    margin-bottom: clamp(34px, 4vw, 48px);
    padding-bottom: 24px;
}

.page-about .about-team-section .about-section-heading h2 {
    max-width: 720px;
}

.page-about .about-team-section .about-section-heading > p {
    justify-self: end;
    line-height: 1.55;
}

@media (min-width: 1000px) {
    .page-about .about-team-section .team-tags {
        flex-wrap: nowrap;
        gap: 6px;
    }

    .page-about .about-team-section .team-tags li,
    .page-about .about-team-section .team-tags li:nth-child(3) {
        padding-inline: 8px;
        white-space: nowrap;
    }
}

@media (max-width: 900px) {
    .page-about .about-team-section .about-section-heading {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
        align-items: start;
    }

    .page-about .about-team-section .about-section-heading > p {
        justify-self: start;
    }
}

@media (max-width: 640px) {
    .page-about .about-team-section {
        padding-top: 48px;
        padding-bottom: 76px;
    }

    .page-about .about-team-section .about-section-heading {
        margin-bottom: 30px;
        padding-bottom: 18px;
    }
}

/* Method cards without decorative numbering. */
.page-about .about-method-grid::before {
    content: none;
}

.page-about .about-method-card {
    min-height: 286px;
    padding: 30px 26px 28px;
}

.page-about .about-method-symbol {
    min-height: 0;
    margin: 0 0 42px;
    font-size: 4.2rem;
}

.page-about .about-method-card h3 {
    margin: 0 0 11px;
}

.page-about .about-method-card p {
    max-width: 290px;
}

@media (max-width: 640px) {
    .page-about .about-method-card {
        min-height: 248px;
        padding: 26px 22px 24px;
    }

    .page-about .about-method-symbol {
        margin-bottom: 34px;
        font-size: 3.8rem;
    }
}
