/* Shared portfolio shell: quiet neutrals outside case studies. */
:root{--paper:#f8f9fa;--ink:#202426;--muted:#626b70;--line:#dce2e5;--accent:#24292c;--accent-hover:#414b51;--surface:#eaf0f3;--detail:#aabfc9;--footer:#202629;--focus:#526b78}
body[data-project="novaya-zarya"]{--paper:#faf8f5;--ink:#171923;--muted:#726867;--line:#e4dcd7;--accent:#78252d;--accent-hover:#54181e;--surface:#f1e9e3;--detail:#ead4c9;--footer:#691c24;--focus:var(--accent)}
body[data-project="ramka"]{--paper:#f7f7fb;--ink:#222332;--muted:#5c6273;--line:#dfe2eb;--accent:#6750e8;--accent-hover:#5140c7;--surface:#f1edff;--detail:#d8ceff;--footer:#28223e;--focus:var(--accent)}
body[data-project="sdvig"]{--paper:#f3f0e7;--ink:#171715;--muted:#64645c;--line:#d4d1c6;--accent:#1b3ef3;--accent-hover:#1730bd;--surface:#e9e6dc;--detail:#e8ff43;--footer:#171715;--focus:var(--accent)}
body[data-project="upp-route"]{--paper:#f6f5f1;--ink:#142d43;--muted:#526a7b;--line:#d7e2e9;--accent:#003466;--accent-hover:#015382;--surface:#e7f2f8;--detail:#f57921;--footer:#003466;--focus:var(--accent)}
body[data-project="upp-identity"]{--paper:#f8fafb;--ink:#142d43;--muted:#526a7b;--line:#d7e2e9;--accent:#075b94;--accent-hover:#003e68;--surface:#e8f1f7;--detail:#f89019;--footer:#063655;--focus:var(--accent)}
body[data-project="upp-vk-system"]{--paper:#f6f9fc;--ink:#132c44;--muted:#526a7b;--line:#d6e2ee;--accent:#124e80;--accent-hover:#0c3559;--surface:#e4eff8;--detail:#a8d8fa;--footer:#092d51;--focus:var(--accent)}
body[data-project="upp-corporate-deck"]{--paper:#f7fafb;--ink:#14384d;--muted:#526b78;--line:#d5e3e9;--accent:#07678c;--accent-hover:#03496a;--surface:#e4f0f5;--detail:#b5d2df;--footer:#003466;--focus:var(--accent)}
body[data-project="upp-notebook"]{--paper:#f7f8f5;--ink:#16394a;--muted:#536d79;--line:#d8e3e5;--accent:#075671;--accent-hover:#033b52;--surface:#e4eef1;--detail:#acc9d5;--footer:#043b54;--focus:var(--accent)}
body[data-project="upp-graduate-guide"]{--paper:#f7fbfc;--ink:#173c52;--muted:#526e7e;--line:#d5e7ec;--accent:#09577b;--accent-hover:#053f5b;--surface:#e4f3f7;--detail:#ef9a72;--footer:#093e5e;--focus:var(--accent)}
body[data-project="upp-third-wave"]{--paper:#f7f8fc;--ink:#171f3b;--muted:#5c6680;--line:#dce1ed;--accent:#173259;--accent-hover:#10213e;--surface:#e9edf7;--detail:#ed7c35;--footer:#101a3e;--focus:var(--accent)}
body[data-project="upp-book-series"]{--paper:#faf8f3;--ink:#302a25;--muted:#746b60;--line:#e5ded3;--accent:#6c5135;--accent-hover:#4b3826;--surface:#eee7db;--detail:#d9b27c;--footer:#302823;--focus:var(--accent)}
body[data-project="upp-fivebook"]{--paper:#f7f9fa;--ink:#2f4255;--muted:#627383;--line:#d9e2e8;--accent:#486985;--accent-hover:#304c65;--surface:#e6eef3;--detail:#d0b052;--footer:#30475e;--focus:var(--accent)}

a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--focus)}
.name-dot{color:var(--accent)}
.status-dot{background:var(--accent);box-shadow:0 0 0 4px var(--surface)}
.button:hover{background:var(--surface)}
.button.primary:hover,.work-card.featured .work-bottom>a:hover{background:var(--accent-hover)}
.filters button[aria-pressed=true] span{color:#d5dfe3}
.hero-posters,.resume-preview,.zoom,#lightbox-image{background:var(--surface)}
.site-footer{background:var(--footer);color:#f8f9fa}
.footer-meta p{color:#c5ced2}
.case-more{border-color:var(--line)}
.case-more summary span,.case-more>p{color:var(--muted)}
.case-more summary:focus-visible{outline-color:var(--focus)}
.context-note{background:var(--surface);border-color:var(--detail)}
body[data-project] .case-cover{background:var(--surface)}
body[data-project] .case-heading .eyebrow,body[data-project] .case-index a:hover,body[data-project] .next-case>a:hover{color:var(--accent)}
body[data-project] .case-body section>small,body[data-project] .gallery-heading small{color:var(--accent)}
body[data-project] .case-index a:hover{text-decoration:underline;text-underline-offset:5px}
body[data-project] .brief-grid{border-top:2px solid var(--detail);padding-top:26px}
body[data-project="sdvig"] .case-cover{background:#1b3ef3}
body[data-project="sdvig"] .decisions span{background:#e8ff43;color:#171715}
body[data-project="upp-third-wave"] .case-cover{background:#101a3e}
body[data-project="novaya-zarya"] .brief-grid{border:0;padding-top:0}
/* Artwork retains its palette; the home page card chrome stays neutral. */
body[data-page="overview"] .work-card .work-visual,
body[data-page="overview"] .work-card.featured .work-visual{background:var(--surface)}
body[data-page="overview"] .feature-kicker{color:#59666e}
body[data-page="overview"] .feature-tags span{background:#f3f6f7}
body[data-page="overview"] .feature-zarya .zarya-card-label{color:#53636d}
body[data-page="overview"] .hero-focus-label span:last-child{background:#f1f5f6}
body[data-page="overview"] .work-card{box-shadow:none}
body[data-page="overview"] .work-card.featured.feature-zarya .work-visual img{border-color:#fff;box-shadow:0 15px 35px #23313a20}

body[data-project="finapp"]{--paper:#f6faf8;--ink:#142b24;--muted:#5f716a;--line:#dbe6df;--accent:#087b55;--accent-hover:#075e43;--surface:#e6f1eb;--detail:#b8ddca;--footer:#0b3f30;--focus:var(--accent)}

body[data-project="diploma-archive"]{--paper:#f4fafd;--ink:#123c5d;--muted:#58738a;--line:#cfdfeb;--accent:#f57921;--accent-hover:#e96e18;--surface:#e6f0f7;--detail:#ffb67d;--footer:#003466;--focus:#cb5000}

/* Match the diploma website: original orange and white foregrounds. */
body[data-project="diploma-archive"] .button.primary,
body[data-project="diploma-archive"] .brand-mark,
body[data-project="diploma-archive"] .contact-link span,
body[data-project="diploma-archive"] .decisions span,
body[data-project="diploma-archive"] .skip{color:#fff}
body[data-project="diploma-archive"] .case-heading .eyebrow,
body[data-project="diploma-archive"] .case-body section>small,
body[data-project="diploma-archive"] .gallery-heading small,
body[data-project="diploma-archive"] .dip-problem small,
body[data-project="diploma-archive"] .dip-build>small,
body[data-project="diploma-archive"] .dip-result small,
body[data-project="diploma-archive"] .dip-roles article>span,
body[data-project="diploma-archive"] .dip-flow li>span,
body[data-project="diploma-archive"] .dip-gallery figcaption small{color:#b64700}
