:root {
    color-scheme:light;
    --paper:#f8f9f5;
    --white:#fff;
    --ink:#17392e;
    --muted:#59675f;
    --green:#146648;
    --line:#dce3da;
    --pale:#eef2e9;
    --lime:#d6eab2;
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:30px;
}
body {
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font:16px/1.7 'Segoe UI',Arial,sans-serif;
}
a {
    color:inherit;
    text-decoration:none;
}
a:hover {
    color:var(--green);
}
a:focus-visible {
    outline:3px solid var(--green);
    outline-offset:6px;
}
img {
    display:block;
    max-width:100%;
}
.container {
    width:min(1200px,calc(100% - 96px));
    margin-inline:auto;
}
.site-header {
    border-bottom:1px solid var(--line);
    background:var(--paper);
}
.header-inner {
    min-height:100px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
}
.brand {
    font-size:32px;
    font-weight:800;
    letter-spacing:-1.8px;
}
.brand span {
    color:var(--green);
}
nav {
    display:flex;
    align-items:center;
    gap:38px;
    font-size:14px;
    font-weight:600;
}
nav a {
    padding:10px 0;
}
nav [aria-current] {
    color:var(--green);
    text-decoration:underline;
    text-underline-offset:8px;
}
.nav-contact {
    border:1px solid var(--ink);
    padding:10px 19px;
    border-radius:3px;
}
.nav-contact span {
    margin-inline-start:14px;
}
.hero {
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:70px;
    align-items:center;
    padding-block:76px 82px;
}
.eyebrow {
    font-size:11px;
    letter-spacing:1.8px;
    font-weight:700;
    line-height:1.6;
    margin:0 0 24px;
    text-transform:uppercase;
    color:var(--green);
}
.small-line {
    display:inline-block;
    width:22px;
    height:2px;
    background:var(--green);
    vertical-align:middle;
    margin-inline-end:7px;
}
h1,h2,h3,h4,p,figure {
    margin-top:0;
}
h1 {
    font-size:clamp(42px,4.4vw,65px);
    line-height:1.09;
    letter-spacing:-3px;
    font-weight:600;
    margin-bottom:27px;
}
em {
    font-family:Georgia,serif;
    font-weight:400;
    color:var(--green);
}
.hero-intro {
    max-width:520px;
    font-size:17px;
    color:var(--muted);
    line-height:1.85;
}
.actions {
    display:flex;
    gap:28px;
    align-items:center;
    margin-top:30px;
}
.button {
    background:var(--ink);
    color:var(--white);
    padding:14px 21px;
    font-size:14px;
    border-radius:3px;
    font-weight:600;
}
.button:hover {
    background:var(--green);
    color:var(--white);
}
.button span {
    margin-inline-start:20px;
}
.text-link {
    display:inline-block;
    font-size:14px;
    font-weight:650;
    border-bottom:1px solid var(--green);
    padding:4px 0;
}
.text-link span {
    margin-inline-start:16px;
}
.hero-disciplines {
    display:flex;
    gap:23px;
    margin-top:44px;
    font-size:9px;
    font-weight:700;
    letter-spacing:1.5px;
    color:var(--muted);
}
.portrait {
    position:relative;
    margin:0;
    padding:0 0 0 16px;
}
.portrait img {
    height:390px;
    width:100%;
    object-fit:cover;
    object-position:37% center;
    border-radius:100px 4px 4px 4px;
}
.portrait figcaption {
    position:relative;
    margin:-38px 22px 0 -16px;
    background:var(--ink);
    color:white;
    padding:25px 28px;
    display:grid;
    box-shadow:0 12px 28px #193c2e10;
}
.portrait figcaption span:first-child {
    font-size:9px;
    letter-spacing:2px;
    color:var(--lime);
}
.portrait figcaption strong {
    font-size:23px;
    margin-top:7px;
    letter-spacing:-.6px;
}
.portrait figcaption span:last-child {
    font-size:12px;
    color:#d5e2d9;
}
.portrait-mark {
    position:absolute;
    bottom:24px;
    right:47px;
    font-family:Georgia,serif;
    font-size:42px;
    font-style:italic;
    color:var(--lime);
}
.intro-band {
    background:var(--pale);
    border-block:1px solid var(--line);
    padding:20px 0;
}
.intro-band .container {
    display:flex;
    justify-content:space-around;
    gap:20px;
    font-family:Georgia,serif;
    font-style:italic;
    font-size:22px;
}
.section {
    padding-block:85px;
}
h2 {
    font-size:clamp(30px,3vw,42px);
    line-height:1.2;
    letter-spacing:-1.6px;
    font-weight:550;
    margin-bottom:24px;
}
h3 {
    font-size:21px;
    line-height:1.3;
    letter-spacing:-.6px;
    font-weight:600;
}
p {
    margin-bottom:19px;
}
.about-grid {
    display:grid;
    grid-template-columns:1fr 1.15fr;
    gap:90px;
}
.about-copy {
    padding-top:37px;
    color:var(--muted);
}
.about-copy .large-copy {
    font-size:20px;
    color:var(--ink);
    line-height:1.7;
}
.about-copy .text-link {
    color:var(--ink);
}
.services-section {
    background:var(--pale);
}
.section-heading {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:40px;
    margin-bottom:36px;
}
.section-heading h2 {
    margin-bottom:0;
}
.section-heading>p {
    color:var(--muted);
    font-size:14px;
    margin:0;
}
.services-grid,.projects-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}
.projects-grid {
    grid-auto-rows:1fr;
}
.service-card,.project-card {
    padding:30px;
    border:1px solid #d0dace;
    border-radius:4px;
    background:var(--paper);
}
.project-heading {
    display:flex;
    align-items:center;
    gap:16px;
    min-height:56px;
    margin-bottom:20px;
}
.project-logo {
    flex:0 0 48px;
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.project-logo img {
    width:100%;
    height:100%;
    object-fit:contain;
}
.project-identity { min-width:0; }
.project-identity .eyebrow {
    font-size:10px;
    letter-spacing:1px;
    margin:0 0 6px;
    line-height:1.5;
}
.project-identity h3 {
    margin:0;
    font-size:20px;
    line-height:1.25;
    overflow-wrap:anywhere;
}
.project-description { margin:0 0 24px; font-size:14px; line-height:1.8; }
.project-status {
    display:inline-block;
    margin:12px 0 0;
    padding:4px 12px;
    border:1px solid var(--line);
    border-radius:4px;
    background:var(--pale);
    color:var(--green);
    font-size:13px;
    font-weight:600;
}
.service-number {
    display:block;
    font-size:12px;
    letter-spacing:1px;
    color:var(--green);
    margin-bottom:40px;
}
.service-card h3 {
    margin-bottom:13px;
}
.service-card p {
    font-size:14px;
    color:var(--muted);
}
.service-card .service-summary {
    font-weight:600;
    color:var(--ink);
}
.service-card .text-link {
    margin-top:10px;
}
.work-note {
    background:var(--pale);
    display:grid;
    grid-template-columns:1fr 2fr;
    align-items:center;
    gap:45px;
    padding:46px;
    border-radius:4px;
}
.work-symbol {
    font:70px/1.3 Georgia,serif;
    text-align:center;
    color:#5c7768;
}
.work-note p {
    max-width:590px;
    color:var(--muted);
    font-size:15px;
}
.work-note h3 {
    font-size:26px;
}
.cv-section {
    border-top:1px solid var(--line);
}
.cv-grid {
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:90px;
}
.cv-intro>p:not(.eyebrow) {
    color:var(--muted);
}
.cv-row {
    border-top:1px solid var(--line);
    padding:25px 0;
}
.cv-row:first-child {
    border-top:2px solid var(--green);
}
.cv-row h3 {
    font-size:14px;
    letter-spacing:0;
}
.cv-row p {
    color:var(--muted);
    font-size:15px;
    margin-bottom:0;
}
.skill-list,.plain-list {
    list-style:none;
    margin:0;
    padding:0;
}
.skill-list {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}
.skill-list li {
    font-size:12px;
    border:1px solid #cdd8ce;
    padding:5px 11px;
    border-radius:3px;
}
.skill-group+.skill-group {
    margin-top:20px;
}
.skill-group h4 {
    font-size:13px;
    font-weight:600;
    color:var(--green);
    margin-bottom:10px;
}
.plain-list {
    font-size:15px;
    color:var(--muted);
}
.plain-list li+li {
    margin-top:10px;
}
.content-note {
    font-size:13px;
    max-width:300px;
}
.timeline-entry+.timeline-entry {
    margin-top:24px;
}
.timeline-entry h4 {
    margin:6px 0;
    font-size:18px;
}
.period {
    font-size:12px;
    color:var(--green);
}
.contact-section {
    background:var(--ink);
    color:var(--white);
}
.contact-grid {
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:90px;
    align-items:center;
}
.contact-section .eyebrow {
    color:var(--lime);
}
.contact-section h2 {
    font-size:50px;
}
.contact-section em {
    color:var(--lime);
}
.contact-section p:not(.eyebrow) {
    color:#c9d9d0;
    font-size:15px;
}
.contact-details {
    border-top:1px solid #537568;
    padding-top:25px;
}
.contact-details a {
    display:block;
    color:white;
}
.contact-details a:hover {
    color:var(--lime);
}
.contact-email {
    font-size:clamp(18px,2vw,26px);
    letter-spacing:-.6px;
    margin-bottom:15px;
    overflow-wrap:anywhere;
}
.contact-details>p:last-child {
    margin-top:13px;
}
.contact-section a:focus-visible {
    outline-color:var(--lime);
}
.site-footer {
    padding:26px 0;
}
.footer-inner {
    display:flex;
    gap:25px;
    align-items:center;
    justify-content:space-between;
}
.footer-inner p,.footer-inner>a:last-child {
    font-size:12px;
    color:var(--muted);
    margin:0;
}
.powered-by-evo {
    display:flex;
    flex:0 0 auto;
    flex-direction:column;
    align-items:center;
    gap:7px;
    padding-block:8px;
    font-size:12px;
    font-weight:500;
    letter-spacing:.35px;
    color:var(--muted);
}
.powered-by-evo img {
    width:82px;
    height:auto;
    object-fit:contain;
}
.skip-link {
    position:absolute;
    top:-100px;
    left:15px;
    padding:12px;
    background:white;
    z-index:10;
}
.skip-link:focus {
    top:15px;
}
body:has(nav [aria-current]) main>.section:first-child {
    padding-top:75px;
    min-height:460px;
}
.services-grid:has(> :only-child) {
    grid-template-columns:1fr;
    max-width:750px;
}
.services-grid:has(> :only-child) .service-number {
    margin-bottom:20px;
}
.home-hero {
    grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
    gap:48px;
    padding-block:38px;
}
.home-hero h1 {
    font-size:clamp(36px,3.8vw,54px);
    letter-spacing:-2px;
    margin-bottom:18px;
}
.home-hero .eyebrow {
    margin-bottom:18px;
}
.home-hero .hero-intro {
    font-size:16px;
    line-height:1.7;
    margin-bottom:0;
}
.home-hero .actions {
    margin-top:22px;
    flex-wrap:wrap;
}
.home-hero .portrait img {
    height:240px;
}
.home-hero .portrait figcaption {
    padding:16px 22px;
}
.home-hero .portrait-mark {
    display:none;
}
.home-overview {
    padding-block:12px 36px;
}
.home-overview h2 {
    font-size:24px;
    letter-spacing:-.6px;
    margin-bottom:20px;
}
.home-preview-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.home-preview {
    display:flex;
    flex-direction:column;
    align-items:start;
    padding:20px;
    border:1px solid var(--line);
    border-radius:4px;
    background:var(--pale);
}
.home-preview h3 {
    font-size:18px;
    margin-bottom:8px;
}
.home-preview:hover {
    border-color:var(--green);
    background:var(--white);
}
.home-preview p {
    color:var(--muted);
    font-size:14px;
    line-height:1.6;
    margin-bottom:10px;
}
.home-preview .text-link {
    margin-top:auto;
}
.home-contact {
    padding-block:26px;
}
.home-contact .container {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.home-contact h2 {
    font-size:28px;
    margin:0;
}
.home-contact .text-link {
    color:var(--lime);
    border-color:var(--lime);
}
@media(min-width:1500px) {
    .hero {
        padding-block:38px;
    }
    .portrait img {
        height:240px;
    }
}
@media(max-width:1000px) {
    .container {
        width:calc(100% - 64px);
    }
    .hero {
        gap:30px;
    }
    h1 {
        font-size:47px;
    }
    .portrait img {
        height:370px;
    }
    .portrait-mark {
        display:none;
    }
    .hero-disciplines {
        gap:12px;
        letter-spacing:.8px;
    }
    .about-grid,.cv-grid,.contact-grid {
        gap:45px;
    }
    .service-card {
        padding:23px;
    }
    .section-heading>p br {
        display:none;
    }
    .contact-email {
        font-size:21px;
    }
}
@media(max-width:720px) {
    .container {
        width:calc(100% - 40px);
    }
    .header-inner {
        min-height:90px;
        gap:16px;
    }
    .brand {
        font-size:27px;
    }
    nav {
        gap:17px;
        font-size:12px;
    }
    .nav-contact {
        border:0;
        padding:10px 0;
    }
    .nav-contact span {
        display:none;
    }
    .hero {
        grid-template-columns:1fr;
        padding-block:44px;
        gap:40px;
    }
    .home-hero {
        padding-block:28px;
        gap:24px;
    }
    .home-hero .portrait {
        max-width:420px;
    }
    .home-hero .portrait img {
        height:180px;
        border-top-left-radius:60px;
    }
    .home-preview-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    h1 {
        font-size:48px;
        letter-spacing:-2px;
    }
    .hero-intro {
        font-size:16px;
    }
    .eyebrow {
        font-size:10px;
        letter-spacing:1.4px;
    }
    .hero-disciplines {
        margin-top:27px;
        gap:25px;
    }
    .portrait {
        max-width:510px;
        width:100%;
        margin:auto;
    }
    .portrait img {
        height:320px;
        object-position:center;
    }
    .portrait-mark {
        display:block;
    }
    .intro-band .container {
        font-size:16px;
        gap:12px;
        flex-wrap:wrap;
    }
    .section {
        padding-block:55px;
    }
    .about-grid,.cv-grid,.contact-grid {
        grid-template-columns:1fr;
        gap:25px;
    }
    .about-copy {
        padding:0;
    }
    .about-copy .large-copy {
        font-size:18px;
    }
    .section-heading {
        display:block;
    }
    .section-heading>p {
        margin-top:20px;
    }
    .services-grid,.projects-grid {
        grid-template-columns:1fr;
    }
    .service-card {
        padding:26px;
    }
    .service-number {
        margin-bottom:20px;
    }
    .work-note {
        grid-template-columns:1fr;
        gap:20px;
        padding:28px;
    }
    .work-symbol {
        font-size:45px;
        text-align:left;
    }
    .work-note h3 {
        font-size:23px;
    }
    .contact-section h2 {
        font-size:44px;
    }
    .footer-inner {
        flex-wrap:wrap;
        gap:12px;
    }
    .footer-inner p {
        order:3;
        width:100%;
    }
    .actions {
        gap:24px;
    }
    .button {
        padding:13px 16px;
    }
    .button span {
        margin-inline-start:10px;
    }
}
@media(max-width:480px) {
    .home-hero .portrait {
        display:grid;
        grid-template-columns:96px minmax(0,1fr);
        padding:0;
        align-items:stretch;
    }
    .home-hero .portrait img {
        height:104px;
        border-radius:24px 0 0 4px;
        object-position:37% center;
    }
    .home-hero .portrait figcaption {
        margin:0;
        padding:14px;
        align-content:center;
        box-shadow:none;
    }
    .home-hero .portrait figcaption span:first-child {
        display:none;
    }
    .home-hero .portrait figcaption strong {
        font-size:19px;
        margin:0;
    }
    .home-preview-grid {
        grid-template-columns:1fr;
        gap:12px;
    }
    .home-preview {
        padding:14px 18px;
    }
    .home-contact h2 {
        font-size:25px;
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
}
button {
    font:inherit;
    cursor:pointer;
    border:0;
}
.connection-status {
    position:fixed;
    bottom:18px;
    left:50%;
    transform:translateX(-50%);
    max-width:calc(100% - 32px);
    width:max-content;
    padding:12px 18px;
    border:1px solid var(--line);
    border-radius:4px;
    background:var(--white);
    color:var(--ink);
    box-shadow:0 5px 24px #0002;
    font-size:13px;
    z-index:20;
}
[hidden] {
    display:none!important;
}
main:focus {
    outline:none;
}
.page-heading {
    font-size:clamp(30px,3vw,42px);
    line-height:1.2;
    letter-spacing:-1.6px;
    font-weight:550;
    margin-bottom:24px;
}
@media(max-width:360px) {
    .header-inner {
        flex-wrap:wrap;
        gap:0;
        padding-block:12px;
    }
    .header-inner nav {
        width:100%;
        justify-content:space-between;
        gap:10px;
    }
    .actions {
        gap:18px;
        flex-wrap:wrap;
    }
    .hero-disciplines {
        gap:12px;
    }
    .contact-email {
        font-size:18px;
    }
}

/* A readable CV column with a compact identity sidebar for longer histories. */
@media (min-width: 721px) {
    .cv-full .cv-grid {
        grid-template-columns: minmax(220px, .7fr) minmax(0, 1.6fr);
        gap: 64px;
        align-items: start;
    }
    .cv-full .cv-intro {
        position: sticky;
        top: 28px;
    }
}

/* Project palettes follow the source systems; lighter tints preserve readability. */
.project-card {
    display:flex;
    flex-direction:column;
    padding:24px;
    border-radius:10px;
    --project-accent:#333333;
    --project-ink:#252525;
    --project-tint:#f2f2f2;
    border-color:color-mix(in srgb,var(--project-accent) 28%,white);
    border-top:4px solid var(--project-accent);
    background:var(--project-tint);
    color:var(--project-ink);
}
.project-card .eyebrow,.project-card h3 { color:var(--project-ink); }
.project-card .project-status {
    align-self:flex-start;
    margin-top:auto;
    color:var(--project-ink);
    background:color-mix(in srgb,var(--project-accent) 12%,white);
    border-color:color-mix(in srgb,var(--project-accent) 25%,white);
}
.project-card[data-theme="evo-tools"] { --project-accent:#087f68; --project-ink:#075747; --project-tint:#edf7f3; }
.project-card[data-theme="kibubupesa"] { --project-accent:#087f5b; --project-ink:#132d46; --project-tint:#f0fdf4; }
.project-card[data-theme="menejakanisa"] { --project-accent:#007f98; --project-ink:#005469; --project-tint:#edf8fb; }
.project-card[data-theme="muzikihub"] { --project-accent:#f16022; --project-ink:#803411; --project-tint:#fff4ed; }
.project-card[data-theme="mawasiliano"] { --project-accent:#10878a; --project-ink:#07565c; --project-tint:#eef9f6; }
.project-card[data-theme="zaa"] { --project-accent:#0342b8; --project-ink:#022b75; --project-tint:#f4f7ff; }
.project-card[data-theme="spartan"] { --project-accent:#00a3ff; --project-ink:#005b8f; --project-tint:#edf8ff; }
.project-card[data-theme="damumoja"] { --project-accent:#e60000; --project-ink:#990000; --project-tint:#fff1f1; }
.project-card[data-theme="mvulana"] { --project-accent:#617b37; --project-ink:#37531e; --project-tint:#f3f6eb; }
.project-card[data-theme="new-hope"] { --project-accent:#590103; --project-ink:#151344; --project-tint:#f4f0e8; }
.project-card[data-theme="miradipro"] { --project-accent:#f97316; --project-ink:#0b2f57; --project-tint:#eef6fb; }
.project-card[data-theme="evokeys"] { --project-accent:#167a36; --project-ink:#18542a; --project-tint:#eff7f1; }
.project-card[data-theme="dondoshalink"] { --project-accent:#b9f23d; --project-ink:#1d2a44; --project-tint:#f0f4e8; }

/* Native marks have different built-in clear space; balance their visible size. */
.project-card[data-theme="menejakanisa"] .project-logo img { transform:scale(1.12); }
@media (min-width:731px) and (max-width:1100px) {
    .projects-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Shared display controls; language names remain in their native scripts. */
.header-inner { flex-wrap:wrap; gap:18px 24px; padding-block:18px; }
.header-inner nav { margin-inline-start:auto; gap:24px; flex-wrap:wrap; }
.display-preferences { display:flex; align-items:center; gap:8px; }
.theme-toggle,.language-picker summary,.language-options button {
    font:inherit; font-size:13px; color:var(--ink); background:var(--paper);
    border:1px solid var(--line); border-radius:6px; cursor:pointer;
    min-height:42px; display:flex; align-items:center; justify-content:center; gap:8px;
}
.theme-toggle { width:42px; padding:10px; }
.language-picker { position:relative; }
.language-picker summary { padding:8px 10px; list-style:none; }
.language-picker summary::-webkit-details-marker { display:none; }
.language-picker img { width:20px; height:15px; object-fit:cover; border-radius:2px; flex-shrink:0; }
.language-options {
    position:absolute; inset-inline-end:0; top:calc(100% + 8px); z-index:20;
    width:230px; max-width:calc(100vw - 32px); max-height:min(440px,70vh); overflow:auto;
    padding:6px; border:1px solid var(--line); border-radius:8px; background:var(--paper);
    box-shadow:0 8px 30px #0002;
}
.language-options button { width:100%; justify-content:flex-start; text-align:start; border:0; padding:8px 12px; }
.language-options button[aria-pressed="true"] { background:var(--pale); font-weight:700; }
.language-options button:hover,.theme-toggle:hover,.language-picker summary:hover { background:var(--pale); }
button:focus-visible,summary:focus-visible { outline:3px solid var(--green); outline-offset:3px; }
html[dir="rtl"] .portrait { padding:0 16px 0 0; }
html[dir="rtl"] .about-copy { padding-inline-start:0; }
html[dir="rtl"] .eyebrow { letter-spacing:0; }
.contact-email,.contact-details a[href^="tel:"],.contact-details a[href^="https://wa.me/"] { direction:ltr; unicode-bidi:isolate; }
@media (max-width:730px) {
    .header-inner { justify-content:space-between; }
    .header-inner .brand { order:0; }
    #display-preferences { order:1; }
    .header-inner nav { order:2; width:100%; margin:0; justify-content:space-between; gap:10px; }
    .language-picker summary { max-width:158px; }
    .header-inner nav a { white-space:normal; }
}
:root[data-color-mode="dark"] {
    color-scheme:dark;
    --paper:#151719; --white:#1e2023; --ink:#e8ece9; --muted:#b4beb8;
    --green:#86d5b3; --line:#3a4140; --pale:#252c29; --lime:#d6eab2;
}
[data-color-mode="dark"] .button { background:#86d5b3; color:#14251c; }
[data-color-mode="dark"] .button:hover { background:#b0e8ce; color:#14251c; }
[data-color-mode="dark"] .contact-section,
[data-color-mode="dark"] .portrait figcaption { background:#202423; color:#eef2ef; }
[data-color-mode="dark"] .service-card,
[data-color-mode="dark"] .skill-list li { border-color:var(--line); }
[data-color-mode="dark"] .skip-link { background:var(--paper); }
[data-color-mode="dark"] .project-card {
    background:#202225; color:#e8ece9;
    border-color:#42464a; border-top-color:var(--project-accent);
}
[data-color-mode="dark"] .project-card .eyebrow,
[data-color-mode="dark"] .project-card h3 { color:#e8ece9; }
[data-color-mode="dark"] .project-card .project-status {
    background:#2c3033; color:#e8ece9; border-color:#50565b;
    border-inline-start:3px solid var(--project-accent);
}
[data-color-mode="dark"] .project-card[data-theme="evo"] { --project-accent:#b7c0bc; }
[data-color-mode="dark"] .project-card[data-theme="new-hope"] { --project-accent:#bc7c89; }
[data-color-mode="dark"] .project-card[data-theme="zaa"] { --project-accent:#6f9bff; }
[data-color-mode="dark"] .project-card[data-theme="evo-tools"] .project-logo img,
[data-color-mode="dark"] .project-card[data-theme="evokeys"] .project-logo img,
[data-color-mode="dark"] .project-card[data-theme="evo"] .project-logo img,
[data-color-mode="dark"] .powered-by-evo img { filter:invert(1); }
[data-color-mode="dark"] .project-card[data-theme="spartan"] .project-logo,
[data-color-mode="dark"] .project-card[data-theme="miradipro"] .project-logo,
[data-color-mode="dark"] .project-card[data-theme="zaa"] .project-logo,
[data-color-mode="dark"] .project-card[data-theme="new-hope"] .project-logo { background:#f8f9f5; border-radius:5px; }
html[dir="rtl"] body { font-family:'Noto Sans Arabic','Noto Sans Arabic UI',Tahoma,Arial,sans-serif; }
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3 { letter-spacing:0; }
.brand { direction:ltr; unicode-bidi:isolate; }
.project-identity h3 { text-align:start; }
bdi { unicode-bidi:isolate; }
html[dir="rtl"] .text-link span[aria-hidden],html[dir="rtl"] .nav-contact span[aria-hidden],html[dir="rtl"] .button span[aria-hidden] { display:inline-block; transform:scaleX(-1); }
html[dir="rtl"] .work-symbol { text-align:start; }
html[dir="rtl"] .contact-details a { text-align:right; }
html[dir="rtl"] .portrait-mark { right:auto; left:47px; }
@media (max-width:400px) {
    .header-inner { column-gap:8px; }
    .language-picker summary { max-width:140px; font-size:12px; }
}

.project-footer { margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px; }
.project-card .project-footer .project-status { margin:0; align-self:center; }
.project-link-slot { display:flex; align-items:center; margin-inline-start:auto; }
.project-link-slot:empty { flex:1; }
.project-link-slot .text-link { color:inherit; border-color:currentColor; }
.project-card[data-theme="zanzibar-central"] { --project-accent:#007f98; --project-ink:#005469; --project-tint:#edf8fb; }
