
:root { --portfolio-rule: rgba(0,0,0,.12); scroll-behavior: smooth; }
html, body { max-width: 100%; overflow-x: hidden !important; }
body { background: #fff !important; color: #111 !important; }
aside[data-ai-chat-panel] { display: none !important; }
[data-portfolio-removed-logo="true"] { display: none !important; }
#marketing-header { backdrop-filter: blur(14px); background: rgba(255,255,255,.88) !important; border-bottom: 1px solid var(--portfolio-rule); }
#marketing-header-logo span { font-weight: 650 !important; letter-spacing: -.03em !important; }
h1, h2, h3 { text-wrap: balance; letter-spacing: -.055em !important; }
h1 { max-width: 13ch !important; font-size: clamp(3.4rem, 8vw, 7.8rem) !important; line-height: .92 !important; }
h2 { font-size: clamp(2.1rem, 4.2vw, 4.8rem) !important; line-height: 1 !important; }
p { text-wrap: pretty; }
a { text-underline-offset: .22em; }
[data-portfolio-media="abstract"] { opacity: 0 !important; }
[data-fill-target="media"], [data-fill-target="icon"], [data-asset-slot-id] {
  background-color: #f5f5f5;
  background-image: linear-gradient(var(--portfolio-rule) 1px, transparent 1px), linear-gradient(90deg, var(--portfolio-rule) 1px, transparent 1px), radial-gradient(circle at 25% 25%, #fff 0 10%, transparent 10.5%), radial-gradient(circle at 75% 70%, #111 0 5%, transparent 5.5%);
  background-size: 32px 32px, 32px 32px, 100% 100%, 100% 100%;
}
[data-fill-target="icon"] { border-radius: 50%; background-size: 8px 8px, 8px 8px, 100% 100%, 100% 100%; }
[data-terminal-core="true"] { border: 1px solid var(--portfolio-rule); }
[data-project-art] {
  position: relative;
  overflow: hidden;
  background-color: #fff !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.12);
  transition: filter .35s ease;
}
[data-project-art="sitesorted"] { background-image: url("assets/sitesorted-builder-ui.jpg") !important; background-size: contain !important; }
[data-project-art="receipts"] { background-image: url("assets/agent-receipts.svg") !important; background-size: 94% auto !important; }
[data-project-art="munin"] { background-image: url("assets/munin-memory.svg") !important; background-size: 94% auto !important; }
[data-project-art="peakflow"] { background-image: url("assets/peakflow.svg") !important; background-size: 94% auto !important; }
[data-project-art] img { opacity: 0 !important; }
[data-project-art]:hover { filter: contrast(1.04); }
.project-art-overlay { position: absolute; inset: 0; z-index: 20; outline: none; }
.project-art-overlay:focus-visible { box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 6px #111; }
.project-title-link { color: inherit !important; text-decoration: none; }
.project-title-link:hover { text-decoration: underline; }
footer { border-top: 1px solid var(--portfolio-rule); }
footer nav.ss-site-nav > div {
  display: flex !important;
  flex-wrap: wrap;
  gap: 3rem 1.5rem;
  align-items: start;
}
footer nav.ss-site-nav > div > div {
  flex: 0 0 calc(25% - 1.125rem);
  min-width: 0 !important;
}
footer h2 {
  font-size: clamp(1.2rem, 2vw, 1.75rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
}
footer li, footer a { overflow-wrap: anywhere; }
.portfolio-footer-list { list-style: none; display: grid; gap: .35rem; margin: .75rem 0 0; padding: 0; }
.portfolio-footer-list li { color: #666; line-height: 1.45; }
.portfolio-footer-list a { color: inherit !important; text-decoration: none; }
.portfolio-footer-list a:hover { color: #111 !important; text-decoration: underline; }
@media (max-width: 880px) {
  h1 { font-size: clamp(2.75rem, 13vw, 4.5rem) !important; line-height: .95 !important; }
  h2 { font-size: clamp(2rem, 9vw, 2.75rem) !important; }
  #marketing-header { height: 64px !important; }
  #marketing-header .max-\[880px\]\:hidden { display: none !important; }
  main { overflow-x: clip; }
  [data-fill-target="media"] { min-height: 180px; }
  section:has([data-project-art]) { margin-top: 5rem !important; }
  section:has([data-project-art]) > div { gap: 3.5rem !important; }
  div:has(> .project-heading) { gap: 1.5rem !important; }
  [data-project-art] { aspect-ratio: 3 / 2 !important; min-height: 0 !important; }
  [data-project-art] + div { gap: 1.25rem !important; padding-top: 1.25rem; }
  [data-project-art] + div p { font-size: 1.1875rem !important; line-height: 1.35 !important; }
  [data-project-art] + div ul { gap: .25rem !important; }
  [data-project-art] + div li { font-size: .8125rem !important; line-height: 1.35 !important; }
  section:has(#about) { margin-top: 5rem !important; }
  .portfolio-about-cards { gap: .75rem !important; }
  .portfolio-about-card {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 1.25rem !important;
    overflow: visible !important;
    background: #fff !important;
  }
  .portfolio-about-card > div, .portfolio-about-card > img { display: none !important; }
  .portfolio-about-card > header {
    position: static !important;
    width: auto !important;
    gap: .45rem !important;
  }
  .portfolio-about-card > header > * { width: 100% !important; max-width: none !important; }
  .portfolio-about-card:first-child > header > :first-child { display: none !important; }
  section:has(#about) .portfolio-about-card > header > * { color: #111 !important; }
  .portfolio-about-card header p { font-size: .9rem !important; line-height: 1.45 !important; }
  .portfolio-about-card:first-child header p:first-child { font-size: 1rem !important; }
  .portfolio-about-card:not(:first-child) header p:first-child { font-size: 1.3rem !important; line-height: 1.2 !important; }
  section:has(> section > #capabilities) { margin-block: 5rem !important; }
  .portfolio-email-pill { width: 100% !important; min-height: 3.25rem; }
  .portfolio-email-pill > .portfolio-mobile-hide { display: none !important; }
  .portfolio-email { flex: 1 1 auto; width: auto !important; max-width: none !important; white-space: nowrap; font-size: .75rem !important; line-height: 1.2 !important; }
  #portfolio-footer-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 1rem !important;
  }
  #portfolio-footer-grid > div {
    padding-block: 1rem;
    border-top: 1px solid var(--portfolio-rule);
  }
  #portfolio-footer-grid > div:nth-child(12),
  #portfolio-footer-grid > div:nth-child(13) { grid-column: 1 / -1; }
  footer h2 { font-size: 1.0625rem !important; }
  footer li, footer a { font-size: .8rem !important; line-height: 1.4 !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
