html { scroll-behavior: smooth; }
:where(.wp-site-blocks) [id] { scroll-margin-top: 80px; }
.mj-header { backdrop-filter: blur(10px); background-color: color-mix(in srgb, var(--wp--preset--color--paper) 90%, transparent) !important; }
.mj-header .wp-block-navigation a:hover { color: var(--wp--preset--color--teal); }
.mj-label { text-transform: uppercase; }
.mj-hero { background-image: linear-gradient(var(--wp--preset--color--line) 1px, transparent 1px), linear-gradient(90deg, var(--wp--preset--color--line) 1px, transparent 1px); background-size: 48px 48px; }
.mj-hero .mj-label { display: flex; align-items: center; gap: .6rem; }
.mj-hero .mj-label::before { content: ""; width: 1.5rem; height: 2px; background: var(--wp--preset--color--copper); }
.mj-hero-meta { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.25rem; margin-top: 2rem !important; }
.mj-headshot { position: relative; max-width: 340px; margin-left: auto !important; box-shadow: 0 12px 32px rgba(26,29,33,.08); border-radius: 18px; }
.mj-headshot img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; border: 1px solid var(--wp--preset--color--line); }
.mj-headshot::before, .mj-headshot::after { content: ""; position: absolute; z-index: 1; }
.mj-headshot::before { top: 0; right: 18px; width: 28%; height: 4px; background: var(--wp--preset--color--teal); }
.mj-headshot::after { bottom: 18px; left: 0; width: 4px; height: 22%; background: var(--wp--preset--color--copper); }
@media (max-width: 781px) { .mj-headshot { max-width: 260px; margin-left: 0 !important; } }
.mj-section-alt { border-block: 1px solid var(--wp--preset--color--line); }
.mj-card, .mj-work-card { height: 100%; transition: transform .25s ease, box-shadow .25s ease; }
.mj-work-card { overflow: hidden; }
.mj-work-card:hover, .mj-process-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(26,29,33,.06); }
.mj-work-thumb { margin: 0 !important; }
.mj-work-thumb img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.mj-placeholder-note { display: inline-block; background: var(--wp--preset--color--sand); border: 1px dashed #b8b0a0; border-radius: 6px; padding: .4rem .6rem; text-transform: uppercase; }
.mj-aside-list, .mj-dash-list { list-style: none; padding: 0 !important; }
.mj-aside-list li { border-left: 2px solid var(--wp--preset--color--teal); padding-left: 1rem; margin-bottom: .85rem; }
.mj-dash-list li::before { content: "— "; color: #b8b0a0; }
.mj-skill-title::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 2px; background: var(--wp--preset--color--teal); margin-right: .5rem; vertical-align: middle; }
.mj-timeline { border-left: 2px solid var(--wp--preset--color--line); padding-left: 1.5rem; margin-left: .35rem; }
.mj-timeline-card { position: relative; }
.mj-timeline-card::before { content: ""; position: absolute; left: calc(-1.5rem - 7px); top: 1.6rem; width: 12px; height: 12px; border-radius: 50%; background: var(--wp--preset--color--teal); border: 2px solid var(--wp--preset--color--paper); }
.mj-org { color: var(--wp--preset--color--teal); }
.mj-dates { font-family: var(--wp--preset--font-family--plex-mono); font-size: .72rem; background: var(--wp--preset--color--sand); padding: .15rem .5rem; border-radius: 4px; color: var(--wp--preset--color--muted); text-transform: uppercase; }
.mj-contact .mj-label { color: #c9a882 !important; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .mj-card, .mj-work-card { transition: none; } }