/* Preserve the original light/dark foreground palette. Only soften its edges into the slate canvas. */
.home-theme { background: #6c757d; }
.home-theme .entry-reveal { background: #6c757d; box-shadow: none; border-radius: 0; }
/* Two intersecting fades leave section centers solid and legible. */
.home-theme .about,
.home-theme .work .wrap,
.home-theme .experience,
.home-theme .capabilities .wrap,
.home-theme .personal-copy,
.home-theme .project,
.case-theme .intro,
.case-theme .systems,
.case-theme .case-card,
.case-theme .skill-bento article,
.case-theme .systems .pipeline article {
  -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent), linear-gradient(to bottom, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent), linear-gradient(to bottom, transparent, #000 5%, #000 95%, transparent);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
.home-theme .about { background: #fff; color: #343a40; box-shadow: none; }
.home-theme .ticker { background: #343a40; color: #fff; border: 0; }
.home-theme .work { background: #6c757d; }
.home-theme .work .wrap { background: #f8f9fa; box-shadow: none; color: #343a40; }
.home-theme .project { border: 0; box-shadow: none; }
.home-theme .project:hover { box-shadow: none; }
.home-theme .project-dark { background: #343a40; color: #fff; }
.home-theme .project-light { background: #ced4da; color: #343a40; }
.home-theme .project-visual { background: radial-gradient(circle at 60% 45%, #6c757d, #343a40 58%, #212529); }
.home-theme .document-art { background: radial-gradient(circle at 50% 50%, #e9ecef, #adb5bd); }
.home-theme .document-art::before { border-color: #6c757d55; }
.home-theme .experience { background: #343a40; color: #fff; box-shadow: none; }
.home-theme .capabilities { background: #6c757d; }
.home-theme .capabilities .wrap { background: #f1f3f5; color: #343a40; padding: clamp(25px,4vw,60px); }
.home-theme .personal { background: transparent; box-shadow: none; }
.home-theme .personal-copy { background: #fff; color: #343a40; padding: clamp(25px,4vw,60px); }
.home-theme .personal-image { background: transparent; }
.home-theme .personal-image img {
  -webkit-mask-image: radial-gradient(ellipse 60% 70% at center, #000 42%, transparent 100%);
  mask-image: radial-gradient(ellipse 60% 70% at center, #000 42%, transparent 100%);
}
.home-theme .contact { background: #6c757d; color: #fff; }
.home-theme .contact .wrap { background: transparent; box-shadow: none; }
/* Secondary pages retain their ivory panels, ink, dark case cards and white architecture steps. */
.case-theme .intro,
.case-theme .systems { background: #f8f9fa; color: #343a40; }
.case-theme .intro .section-label,
.case-theme .systems .section-label { color: #495057; }
.case-theme .intro .primary { background: #343a40; color: #fff; }
.case-theme .intro .secondary { color: #343a40; box-shadow: 0 0 0 1px #6c757d; }
.case-theme .case-card,
.case-theme .skill-bento article { background: #343a40b8; color: #fff; box-shadow: none; border: 0; }
.case-theme .systems .pipeline article { background: #fff; color: #343a40; box-shadow: none; border: 0; }
.case-theme .systems .pipeline article p,
.case-theme .systems .pipeline article b { color: #495057; }
.case-theme .case-card::after { display: none; }
.case-theme .system-console { background: #343a40ee; }
@media (max-width:760px) {
  /* Secondary-page nav has no menu toggle: keep its two links inline, not as an open overlay. */
  .case-theme .nav-links[data-open="true"] { display: flex; position: static; padding: 0; gap: 0; background: transparent; box-shadow: none; border-radius: 0; }
  .case-theme .nav-links a { min-height: 44px; padding: .4rem .5rem; font-size: 12px; }
  .case-theme .brand-copy small { display: none; }
  .home-theme .about,
  .home-theme .work .wrap,
  .home-theme .experience,
  .home-theme .capabilities .wrap,
  .home-theme .personal-copy {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent), linear-gradient(to bottom, transparent, #000 4%, #000 96%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent), linear-gradient(to bottom, transparent, #000 4%, #000 96%, transparent);
  }
  .home-theme .personal { width: calc(100% - 24px); padding-inline: 0; }
}
/* Outer canvas: retain the foreground palette and dark copy/controls on light surfaces. */
.home-theme { --brand: #dee2e6; background: #dee2e6; }
.home-theme .entry-stage,
.home-theme .entry-reveal,
.home-theme .work,
.home-theme .capabilities,
.home-theme .personal,
.home-theme .contact { background: #dee2e6; }
.home-theme .site-header { background: #495057; color: #fff; border-color: #adb5bd; }
.home-theme .hero { background: #dee2e6; color: #343a40; }
.home-theme .hero h1 span:first-child { -webkit-text-stroke-color: #343a40; }
.home-theme .hero h1 .period,
.home-theme .hero-topline,
.home-theme .hero-bottom,
.home-theme .hero .eyebrow,
.home-theme .hero-description,
.home-theme .hero-summary strong,
.home-theme .portrait-hint { color: #343a40; }
.home-theme .hero-bottom { border-color: #6c757d; }
.home-theme .hero .button-light { background: #343a40; color: #fff; }
.home-theme .hero .button-light:hover { background: #495057; color: #fff; }
.home-theme .hero .button-outline { border-color: #343a40; color: #343a40; }
.home-theme .hero .button-outline:hover { background: #343a40; color: #fff; }
.home-theme .hero-image:focus-visible { outline-color: #343a40; }
.home-theme .portrait-hint { background: #dee2e6e6; padding: 4px 6px; border-radius: 3px; }
.home-theme .contact { color: #343a40; }
.home-theme .contact .section-index,
.home-theme .contact-bottom,
.home-theme .contact-bottom p,
.home-theme .contact-kicker,
.home-theme .contact h2 em { color: #343a40; border-color: #6c757d; }
.home-theme .contact .button-light { background: #343a40; color: #fff; }
.home-theme .contact .button-light:hover { background: #495057; color: #fff; }
.home-theme .footer { color: #343a40; }
@media (max-width:760px) {
  .home-theme .nav-items { background: #495057; border-color: #adb5bd; }
}
.case-theme { background: #dee2e6; }
.case-theme .site-header,
.case-theme .site-header[data-elevated="true"] { background: #495057f2; border-color: #adb5bd; }
.case-theme .hero { background: #6c757d; color: #fff; -webkit-mask-image: linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 95%,transparent); mask-image: linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 95%,transparent); -webkit-mask-composite: source-in; mask-composite: intersect; }
.case-theme .hero-lede { color: #fff; }
.case-theme .site-footer { color: #343a40; border-color: #6c757d; }
.case-theme .site-footer a,
.case-theme .site-footer p { color: #343a40; }
