:root { color-scheme: dark; --paper:#121212; --ink:#eeeeee; --muted:#b1b1b1; --line:#383838; --tint:#1f1f1f; --mono:Consolas,"Courier New",monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.65; }
a { color:inherit; text-decoration:none; }
button,select { font:inherit; }
button,a { touch-action:manipulation; }
button { cursor:pointer; }
img,video { display:block; max-width:100%; }
img { width:100%; }
h1,h2,h3,h4,p,figure { margin:0; }
h1,h2,h3 { font-weight:500; letter-spacing:-.045em; line-height:1.1; }
p { color:var(--muted); }
[hidden] { display:none!important; }
.work-grid .work-card[hidden],.exhibit-grid .project-exhibit[hidden] { display:none!important; }
a:focus-visible,button:focus-visible,select:focus-visible { outline:2px solid #4d4d4d; outline-offset:5px; }
a:hover { color:#616161; }
.site-header,main,footer { max-width:1500px; margin:auto; padding-inline:54px; }
.site-header { display:flex; justify-content:space-between; align-items:center; gap:30px; min-height:105px; border-bottom:1px solid var(--line); }
.brand { font-weight:600; font-size:18px; letter-spacing:-.035em; }
.brand span { display:block; font:10px var(--mono); font-weight:400; letter-spacing:.02em; margin-top:6px; color:var(--muted); }
nav { display:flex; gap:30px; font-size:13px; }
nav a { padding:10px 0; border-bottom:1px solid transparent; }
nav a[aria-current] { border-color:var(--ink); }
.eyebrow { font:10px/1.6 var(--mono); letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.intro { padding:65px 0 43px; }
.intro h1 { font-size:clamp(46px,6.3vw,90px); letter-spacing:-.065em; line-height:1.04; margin:26px 0 32px; }
.intro-bottom { display:flex; justify-content:space-between; align-items:end; gap:35px; font-size:15px; }
.intro-bottom p { max-width:600px; }
.text-link { display:inline-block; font-size:13px; border-bottom:1px solid var(--line); padding:7px 0; }
.intro.compact { padding-block:50px; }
.intro.compact h1 { font-size:64px; }
.work-toolbar { border-block:1px solid var(--line); padding:13px 0; margin-bottom:30px; }
.filters { display:flex; gap:8px; flex-wrap:wrap; }
.filters button { padding:8px 15px; background:transparent; border:1px solid transparent; color:var(--muted); font:11px var(--mono); }
.filters button[aria-pressed="true"] { color:var(--paper); background:var(--ink); }
.filters button:hover { border-color:#777777; }
.work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:55px 32px; padding-bottom:75px; }
.work-card { min-width:0; }
.work-card:is(:first-child,:last-child) { grid-column:1/-1; display:grid; grid-template-columns:1.55fr 1fr; column-gap:44px; align-items:center; }
.work-card:is(:first-child,:last-child) .card-kicker { grid-column:1/-1; }
.work-card:is(:first-child,:last-child) .project-sheet { grid-template-columns:1.15fr 1fr; grid-template-rows:repeat(3,140px); }
.work-card:is(:first-child,:last-child) .project-sheet .sheet-0 { grid-column:1; grid-row:1 / span 3; }
.work-card:is(:first-child,:last-child) .card-copy h2 { font-size:42px; margin:17px 0 22px; }
.featured-note { margin-top:24px; font-size:15px!important; line-height:1.8; max-width:440px; }
.card-kicker { display:flex; justify-content:space-between; gap:15px; margin-bottom:11px; font:9px var(--mono); color:var(--muted); letter-spacing:.05em; }
.project-sheet { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:280px 115px; gap:7px; padding:12px; background:var(--tint); border:1px solid #0000000b; }
.sheet-image { display:flex; position:relative; align-items:center; justify-content:center; background:#242424; min-width:0; overflow:hidden; }
.sheet-image img { width:100%; height:100%; object-fit:contain; filter:saturate(.58); transition:filter .2s; }
.sheet-image:hover img { filter:saturate(1); }
.sheet-image > span { position:absolute; bottom:8px; right:8px; padding:3px 7px; background:#171717df; color:#f4f4f4; font:9px var(--mono); opacity:.85; }
.project-sheet .sheet-0 { grid-column:1/-1; }
.project-sheet.count-1 { grid-template-rows:402px; }
.project-sheet.count-2 { grid-template-columns:1.3fr 1fr; grid-template-rows:402px; }
.project-sheet.count-2 .sheet-0 { grid-column:auto; }
.project-sheet.count-3 { grid-template-columns:1fr 1fr; }
.card-copy { padding:22px 0 0; }
.card-copy h2 { font-size:29px; margin:9px 0 12px; line-height:1.15; }
.card-copy h2 a { display:flex; justify-content:space-between; gap:25px; }
.card-copy h2 span { font-size:21px; padding-top:3px; color:var(--muted); }
.card-copy > p:last-child { font-size:14px; }
.directory { padding-bottom:75px; }
.directory-row { display:grid; grid-template-columns:50px 1fr auto; align-items:center; gap:25px; padding:30px 0; border-bottom:1px solid var(--line); }
.directory-row h2 { font-size:30px; }
.directory-row p { margin-top:10px; font-size:14px; }
.directory-count { font:11px var(--mono); }
.case-intro { padding:35px 0 50px; }
.case-intro > .eyebrow { margin-top:40px; }
.case-intro h1 { font-size:clamp(42px,5.2vw,74px); max-width:1020px; margin:18px 0 35px; }
.case-summary { display:grid; grid-template-columns:1fr 1.15fr; gap:70px; }
.case-summary .case-deck { font-size:27px; line-height:1.35; letter-spacing:-.025em; color:var(--ink); max-width:460px; }
.case-summary > div p { font-size:15px; margin-bottom:15px; }
.case-media { padding:26px 25px 35px; margin-bottom:55px; background:var(--tint); }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-bottom:25px; }
.section-heading h2 { font-size:28px; }
.contact-sheet { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.contact-sheet .sheet-image { height:285px; padding:8px; }
.contact-sheet .sheet-image:nth-child(7n+1) { grid-column:span 2; grid-row:span 2; height:582px; }
.contact-sheet .sheet-image:only-child { grid-column:1/-1; height:560px; }
.contact-sheet .sheet-image:only-child { height:auto; padding:20px; }
.contact-sheet .sheet-image:only-child img { width:auto; height:auto; max-height:620px; }
.year-heading { margin:25px 0 15px; font:18px var(--mono); }
.case-watch { margin-bottom:55px; }
footer { border-top:1px solid var(--line); display:flex; gap:30px; padding-block:26px; font:11px var(--mono); color:var(--muted); }
footer > span { margin-right:auto; }
.page-intro { padding:55px 0; }
.page-intro h1 { font-size:clamp(42px,5.4vw,76px); margin:15px 0 20px; }
.lead { font-size:19px; max-width:700px; }
.about-grid { display:grid; grid-template-columns:.65fr 1fr; gap:70px; align-items:center; padding-bottom:60px; }
.about-grid figure img { max-height:520px; object-fit:contain; background:var(--tint); filter:saturate(.5); }
figcaption { font:10px var(--mono); margin-top:12px; color:var(--muted); }
.about-copy h2 { font-size:32px; }
.about-copy p { font-size:15px; margin:18px 0; }
.tags { padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:9px; margin:24px 0; }
.tags li { font:10px var(--mono); border:1px solid var(--line); padding:7px 10px; }
.resume-section { padding:35px 0 50px; border-top:1px solid var(--line); }
.resume-section > h2 { font-size:32px; margin-bottom:25px; }
.experience-row { display:grid; grid-template-columns:1fr 1.8fr; gap:45px; padding:25px 0; border-top:1px solid var(--line); }
.experience-row h3,.education-grid h3 { font-size:23px; }
.experience-row h4 { font-size:15px; font-weight:600; margin-bottom:10px; }
.experience-row p { font-size:14px; }
.experience-row .experience-date,.experience-row .previous-role { font:11px/1.8 var(--mono); margin-top:10px; }
.education-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.education-grid h3 { margin:15px 0; }
.education-grid p,.recognition { font-size:14px; }
.recognition { border-top:1px solid var(--line); padding-top:20px; margin-top:25px; }
.social-list { padding-bottom:60px; }
.social-row { display:grid; grid-template-columns:35px 1fr auto 135px; align-items:center; gap:20px; padding:28px 0; border-top:1px solid var(--line); }
.social-row h2 { font-size:28px; }.social-row p { font-size:14px; margin-top:7px; }.social-handle { font:12px var(--mono); }.social-arrow { text-align:right; font-size:28px; }.copy-button { background:transparent; border:1px solid var(--line); padding:10px; font-size:12px; }.copy-status { font-size:13px; }
.video-section { padding-bottom:60px; }
.video-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px 24px; }
.video-image { position:relative; background:#212121; }
.video-image img { aspect-ratio:4/3; object-fit:contain; filter:saturate(.55); }
.video-image span { position:absolute; right:12px; bottom:12px; color:white; background:#111c; padding:3px 12px; }
.video-card .eyebrow { margin:14px 0 8px; }.video-card h3 { font-size:22px; }.video-action { display:block; font-size:12px; margin-top:12px; color:var(--muted); }
.skip-link { position:absolute; top:0; left:15px; transform:translateY(-150%); background:#222222; color:white; padding:12px; z-index:30; }.skip-link:focus { transform:none; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.gallery-dialog { color-scheme:dark; width:min(1400px,96vw); max-width:none; height:94dvh; max-height:94dvh; padding:0; border:1px solid #777777; background:#191919; color:#f4f4f4; overflow:auto; }
.gallery-dialog::backdrop { background:#0d0d0def; }
.gallery-dialog[open] { display:flex; flex-direction:column; }
.gallery-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:15px 22px; border-bottom:1px solid #444444; }.gallery-header h2 { font-size:24px; }
.gallery-close,.gallery-prev,.gallery-next { border:1px solid #777777; color:white; background:transparent; min-height:44px; min-width:44px; padding:7px 13px; }.gallery-close:hover,.gallery-prev:hover,.gallery-next:hover { background:#eeeeee; color:#111111; }.gallery-prev:disabled,.gallery-next:disabled { opacity:.3; cursor:default; }
.gallery-year { display:flex; align-items:center; gap:14px; padding:10px 22px; font:12px var(--mono); }.gallery-year select { padding:7px 12px; }
.gallery-stage { flex:1; min-height:0; padding:12px; display:flex; align-items:center; justify-content:center; }.gallery-stage img,.gallery-stage video { width:100%; height:100%; object-fit:contain; max-height:65dvh; }
.gallery-bottom { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:15px 22px; border-top:1px solid #444444; }.gallery-position { color:#bbbbbb; font:10px var(--mono); margin-bottom:8px; }.gallery-caption { color:#dddddd; font-size:14px; }.gallery-details { font-size:12px; text-decoration:underline; text-underline-offset:4px; display:inline-block; margin-top:8px; }.gallery-navigation { display:flex; gap:10px; }
body.gallery-open { overflow:hidden; }
@media(min-width:1600px) { .project-sheet { grid-template-rows:310px 125px; }.project-sheet.count-1,.project-sheet.count-2 { grid-template-rows:442px; } }
@media(max-width:1000px) { .site-header,main,footer { padding-inline:28px; }.work-grid { gap:35px 22px; }.project-sheet { grid-template-rows:225px 90px; }.project-sheet.count-1,.project-sheet.count-2 { grid-template-rows:322px; }.card-copy h2 { font-size:25px; }.case-summary { gap:35px; }.contact-sheet .sheet-image { height:215px; }.contact-sheet .sheet-image:nth-child(7n+1) { height:442px; }.about-grid { gap:35px; } }
@media(max-width:700px) { .site-header,main,footer { padding-inline:20px; }.site-header { flex-direction:column; align-items:start; gap:18px; padding-block:22px; }nav { justify-content:space-between; width:100%; gap:16px; font-size:12px; }.intro { padding:35px 0 25px; }.intro h1 { font-size:clamp(39px,8vw,56px); }.intro-bottom { flex-direction:column; align-items:start; gap:15px; }.intro-bottom p { font-size:14px; }.work-grid { grid-template-columns:1fr; gap:40px; }.project-sheet { grid-template-rows:290px 110px; }.project-sheet.count-1,.project-sheet.count-2 { grid-template-rows:407px; }.filters { gap:3px; }.filters button { font-size:10px; padding:8px 10px; }.card-copy h2 { font-size:28px; }.case-summary { grid-template-columns:1fr; gap:20px; }.case-summary .case-deck { font-size:24px; }.case-intro h1 { font-size:42px; }.case-media { padding:16px 12px; margin-inline:-8px; }.section-heading { align-items:start; flex-direction:column; gap:8px; }.section-heading h2 { font-size:25px; }.contact-sheet { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.contact-sheet .sheet-image { height:185px; }.contact-sheet .sheet-image:nth-child(7n+1) { height:320px; grid-row:span 1; }.contact-sheet .sheet-image:only-child { height:360px; }.directory-row { grid-template-columns:25px 1fr; gap:15px; }.directory-row h2 { font-size:25px; }.directory-count { grid-column:2; }.about-grid,.experience-row,.education-grid { grid-template-columns:1fr; gap:25px; }.about-grid figure { max-width:400px; }.video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 15px; }.video-card h3 { font-size:18px; }.social-row { grid-template-columns:25px 1fr auto; gap:12px; }.social-handle { grid-column:2; }.social-arrow,.copy-button { grid-column:3; grid-row:1 / span 2; }.copy-button { max-width:85px; }.gallery-header { padding:12px; }.gallery-header h2 { font-size:18px; }.gallery-bottom { flex-direction:column; align-items:start; padding:12px; gap:12px; }.gallery-navigation { width:100%; justify-content:space-between; }.gallery-caption { font-size:12px; }footer { flex-wrap:wrap; gap:15px; font-size:10px; }footer > span { flex-basis:100%; } }
@media(max-width:380px) { .project-sheet { grid-template-rows:235px 80px; }.project-sheet.count-1,.project-sheet.count-2 { grid-template-rows:322px; }.card-kicker { font-size:8px; }.video-grid { grid-template-columns:1fr; }.contact-sheet .sheet-image { height:150px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }* { transition:none!important; } }
@media(max-width:1000px) { .work-card:is(:first-child,:last-child) { column-gap:28px; }.work-card:is(:first-child,:last-child) .card-copy h2 { font-size:33px; } }
@media(max-width:700px) { .work-card:is(:first-child,:last-child) { display:block; }.work-card:is(:first-child,:last-child) .project-sheet { grid-template-rows:repeat(3,105px); }.work-card:is(:first-child,:last-child) .card-copy h2 { font-size:32px; }.contact-sheet .sheet-image:only-child { height:auto; }.contact-sheet .sheet-image:only-child img { height:auto; }.featured-note { font-size:14px!important; } }

/* Dark presentation: compact project spreads and photographs at natural proportions. */
a:hover { color:#d9d9d9; }
a:focus-visible,button:focus-visible,select:focus-visible { outline-color:#cccccc; }
.intro { padding:42px 0 30px; }
.intro h1 { font-size:clamp(43px,5.5vw,78px); margin-block:19px 24px; }
.work-grid { grid-template-columns:1fr; gap:0; }
.work-card,.work-card:is(:first-child,:last-child) { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:16px 40px; padding:28px 0 38px; border-bottom:1px solid var(--line); align-items:center; }
.work-card .card-kicker { grid-column:1/-1; margin:0; font-size:10px; }
.work-card .project-sheet,.work-card:is(:first-child,:last-child) .project-sheet { grid-template-columns:1.2fr 1fr; grid-template-rows:repeat(2,165px); gap:6px; padding:0; border:0; background:transparent; }
.work-card .project-sheet > .sheet-image:first-child,.work-card:is(:first-child,:last-child) .project-sheet > .sheet-image:first-child { grid-column:1; grid-row:1/span 2; }
.work-card .project-sheet.count-1,.work-card:is(:first-child,:last-child) .project-sheet.count-1 { display:block; }
.work-card .project-sheet.count-1 > .sheet-image { max-height:336px; width:fit-content; max-width:100%; margin:0 auto; }
.work-card .project-sheet.count-1 img { width:auto; height:auto; max-height:336px; }
.work-card .project-sheet.count-2 { grid-template-rows:336px; }
.work-card .project-sheet.count-2 > .sheet-image:first-child { grid-row:auto; }
.project-sheet .sheet-image img { object-fit:cover; filter:none; }
.sheet-image { background:#1a1a1a; }
.work-card .card-copy,.work-card:is(:first-child,:last-child) .card-copy { padding:0; }
.work-card .card-copy h2,.work-card:is(:first-child,:last-child) .card-copy h2 { font-size:34px; line-height:1.13; margin:13px 0 19px; }
.card-copy > p { font-size:15px; line-height:1.75; }
.card-copy > .text-link { margin-top:19px; }
.project-links { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:15px; }
.project-links .text-link { color:#d3d3d3; }
.case-summary .project-links { margin-top:25px; }
.design-credit { font-size:12px!important; }.design-credit a { text-decoration:underline; }
.case-media { padding:24px 0; background:transparent; }
.contact-sheet { display:block; columns:3; column-gap:18px; }
.media-entry { display:inline-block; width:100%; margin:0 0 22px; break-inside:avoid; }
.contact-sheet .media-entry .sheet-image,.contact-sheet .media-entry .sheet-image:only-child { height:auto; padding:0; display:block; }
.contact-sheet .media-entry .sheet-image img,.contact-sheet .media-entry .sheet-image:only-child img { width:100%; height:auto; max-height:none; object-fit:contain; filter:none; }
.media-entry figcaption { font:12px/1.6 "Segoe UI",Arial,sans-serif; color:var(--muted); margin:9px 0 0; }
.contact-sheet:has(>.media-entry:only-child) { columns:1; max-width:960px; }
.gallery-stage img { width:auto; height:auto; max-width:100%; max-height:65dvh; }
.gallery-original { display:inline-block; font-size:12px; text-decoration:underline; text-underline-offset:4px; margin:8px 0 0 20px; }
.about-grid figure img,.video-image img { filter:none; }
@media(max-width:1000px) { .work-card,.work-card:is(:first-child,:last-child) { gap:15px 28px; grid-template-columns:1.2fr 1fr; }.work-card .card-copy h2,.work-card:is(:first-child,:last-child) .card-copy h2 { font-size:28px; }.contact-sheet { columns:2; } }
@media(max-width:700px) { .work-card,.work-card:is(:first-child,:last-child) { display:flex; flex-direction:column; align-items:stretch; gap:18px; padding:22px 0 30px; }.work-card .project-sheet,.work-card:is(:first-child,:last-child) .project-sheet { grid-template-rows:repeat(2,140px); }.work-card .card-copy h2,.work-card:is(:first-child,:last-child) .card-copy h2 { font-size:30px; }.work-card .project-sheet.count-2 { grid-template-rows:286px; }.case-media { margin-inline:0; }.contact-sheet { column-gap:10px; }.media-entry figcaption { font-size:11px; }.card-kicker { font-size:9px!important; } }
@media(max-width:420px) { .contact-sheet { columns:1; }.work-card .project-sheet,.work-card:is(:first-child,:last-child) .project-sheet { grid-template-rows:repeat(2,125px); } }
.work-card:has([data-project="rover"]),.work-card:has([data-project="remorse"]) { grid-template-columns:180px minmax(0,1fr); }
.work-card:has([data-project="rover"]) .card-copy,.work-card:has([data-project="remorse"]) .card-copy { max-width:760px; }
.work-card:has([data-project="solar"]) .project-sheet.count-1 > .sheet-image { width:100%; max-height:none; }
.work-card:has([data-project="solar"]) .project-sheet.count-1 img { width:100%; max-height:none; }
@media(max-width:700px) { .work-card:has([data-project="rover"]),.work-card:has([data-project="remorse"]) { display:grid; grid-template-columns:100px minmax(0,1fr); gap:15px; }.work-card:has([data-project="rover"]) .card-kicker,.work-card:has([data-project="remorse"]) .card-kicker { grid-column:1/-1; }.work-card:has([data-project="rover"]) .card-copy h2,.work-card:has([data-project="remorse"]) .card-copy h2 { font-size:23px; }.work-card:has([data-project="rover"]) .card-copy p,.work-card:has([data-project="remorse"]) .card-copy p { font-size:13px; } }

.work-card .project-sheet.motion-sheet,.work-card:is(:first-child,:last-child) .project-sheet.motion-sheet { display:block; }
.clip-player { min-width:0; background:transparent; margin:0; }
.clip-player video { display:block; width:100%; height:auto; max-height:none; background:transparent; }
.motion-sheet .clip-player { width:fit-content; max-width:100%; margin:auto; }
.motion-sheet .clip-player video { width:auto; max-width:100%; max-height:450px; }
.clip-controls { display:flex; align-items:center; gap:12px; padding:8px 0; }
.clip-toggle { flex:none; min-width:60px; min-height:40px; border:1px solid var(--line); background:#212121; color:var(--ink); font-size:12px; }
.clip-seek { flex:1; min-width:40px; width:100%; height:36px; accent-color:#d1d1d1; cursor:ew-resize; }
.clip-time { flex:none; font:10px var(--mono); white-space:nowrap; color:var(--muted); }
.clip-player figcaption { font:12px/1.6 "Segoe UI",Arial,sans-serif; margin:4px 0 0; color:var(--muted); }
.clip-player figcaption > span { display:block; }
.clip-player .clip-hint { font-size:10px; margin-top:5px; color:#999999; }
.clip-expand { display:inline-block; margin-top:6px; text-decoration:underline; text-underline-offset:4px; font-size:12px; }
.motion-section { padding:25px 0 40px; border-top:1px solid var(--line); }
.motion-section .section-heading p { font-size:13px; }
.clip-grid { columns:3; column-gap:22px; }
.clip-grid > .clip-player { display:inline-block; width:100%; break-inside:avoid; margin:0 0 30px; }
.clip-grid:has(>.clip-player:only-child) { columns:1; max-width:650px; }
@media(max-width:1000px) { .clip-grid { columns:2; }.clip-controls { gap:7px; }.clip-toggle { min-width:49px; }.clip-time { font-size:9px; } }
@media(max-width:700px) { .motion-sheet .clip-player { width:100%; max-width:470px; }.motion-sheet .clip-player video { width:100%; max-height:none; }.clip-grid { columns:1; }.motion-section .section-heading { align-items:start; }.clip-controls { gap:10px; } }

/* Editorial accents and quietly animated project views. */
.work-card:has(.inline-clips) { display:flex!important; flex-direction:column; align-items:stretch; gap:22px; }
.work-card:has(.inline-clips) .card-kicker { order:0; }
.work-card:has(.inline-clips) .card-copy { order:1; max-width:900px; }
.work-card:has(.inline-clips) .project-sheet { order:2; width:100%; }
.work-card:has(.inline-clips) .card-copy h2 { margin-bottom:12px; }
.work-card:has(.inline-clips) .reel-compact { max-width:550px; }
.inline-clips { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 18px; align-items:start; }
.inline-clips:has(>.clip-player:only-child) { grid-template-columns:minmax(0,1fr); max-width:560px; }
.motion-sheet .inline-clips .clip-player { width:100%; margin:0; }
.motion-sheet .inline-clips .clip-player video { width:100%; height:auto; max-height:none; }
.clip-speed { flex:none; color:var(--ink); background:#212121; border:1px solid var(--line); padding:7px 3px; font-size:11px; max-width:70px; }
.clip-controls { flex-wrap:wrap; gap:8px; }
.clip-time { margin-left:auto; }
.clip-chapters { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.clip-chapters button { padding:6px 9px; background:transparent; color:var(--muted); border:1px solid var(--line); text-align:left; font-size:11px; }
.clip-chapters button[aria-pressed="true"] { color:#d5d5d5; border-color:#929292; }
.clip-player figcaption>span:first-child { min-height:3.2em; color:#cfcfcf; }
.directory-row { grid-template-columns:1fr auto; }
.social-row { grid-template-columns:1fr auto 35px; }
@media(max-width:1000px) { .inline-clips { grid-template-columns:1fr; }.directory-row { grid-template-columns:1fr auto; }.social-row { grid-template-columns:1fr auto; }.social-handle { grid-column:1; }.social-arrow { grid-column:2; } }
@media(min-width:1001px) { .inline-clips:has(>.clip-player:nth-child(3)) { grid-template-columns:repeat(3,minmax(0,1fr)); } }
:root { --accent:#c3c3c3; --paper:#161616; --line:#3e3e3e; }
.brand { font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:400; letter-spacing:-.035em; }
.brand span { font-size:10px; letter-spacing:.03em; }
nav a[aria-current] { color:var(--accent); border-color:var(--accent); }
.intro h1 { font-weight:400; font-size:clamp(44px,5.2vw,74px); }
.intro h1::first-line { color:#cacaca; }
.intro-note { font:11px var(--mono); color:#c0c0c0; margin:-4px 0 23px; }
.signal-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:#bebebe; margin-right:8px; box-shadow:0 0 0 4px #bebebe12; }
.work-card { position:relative; padding-left:18px!important; border-left:2px solid color-mix(in srgb,var(--accent,#c3c3c3) 35%,transparent); margin-bottom:16px; transition:border-color .25s,background .25s; }
.work-card:hover { border-left-color:var(--accent); background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 65%); }
.work-card .eyebrow,.work-card .card-kicker>span:first-child,.work-card .card-copy h2 span { color:var(--accent,#c3c3c3); }
.work-card .text-link:hover { color:var(--accent); border-color:var(--accent); }
.project-sheet:has(>.project-reel),.work-card:is(:first-child,:last-child) .project-sheet:has(>.project-reel) { display:block; }
.project-reel { width:100%; min-width:0; }
.reel-slide { margin:0; animation:reel-appear .4s ease-out; }
.reel-slide img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:3px; filter:none; }
.reel-slide figcaption { font:12px/1.5 "Segoe UI",Arial,sans-serif; min-height:36px; margin-top:9px; }
.reel-controls { display:flex; align-items:center; gap:9px; margin-top:10px; }
.reel-controls button { min-height:36px; min-width:36px; color:var(--ink); border:1px solid var(--line); background:transparent; }
.reel-controls button:hover { border-color:var(--accent); color:var(--accent); }
.reel-count { font:10px var(--mono); color:var(--muted); }
.reel-toggle { margin-left:auto; font-size:10px; padding-inline:9px; }
.motion-sheet>.project-reel { margin-top:20px; padding-top:15px; border-top:1px solid var(--line); }
.motion-sheet .reel-slide img { aspect-ratio:2.3; }
.about-grid figure { width:fit-content; max-width:100%; }
.about-grid figure img { display:block; width:auto; height:auto; max-width:100%; max-height:520px; background:none; border-radius:3px; filter:none; }
.about-grid { grid-template-columns:auto minmax(0,1fr); gap:60px; }
.about-grid .portrait { width:400px; min-width:0; max-width:100%; }
.about-grid > * { min-width:0; }
.portrait-crop { aspect-ratio:1; overflow:hidden; border-radius:3px; }
.about-grid .portrait-crop img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:50% 43%; }
.about-contact { border-top:1px solid var(--line); margin-top:24px; padding-top:20px; }
.contact-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:14px; }
.contact-button { display:inline-block; padding:12px 17px; background:#c3c3c3; color:#161616; font-size:13px; border:1px solid #c3c3c3; }
.contact-button:hover { background:#d8d8d8; color:#161616; }
.footer-contact { display:flex; flex-wrap:wrap; gap:24px; }
.social-row:hover h2,.social-row:hover .social-arrow { color:#c3c3c3; }
.contact-note { border-left:2px solid #aeaeae; padding-left:20px; margin-bottom:65px; max-width:640px; }
.contact-note p+p { margin-top:10px; }
@media(max-width:700px) { .about-grid .portrait { width:100%; }.contact-actions { gap:16px; }.footer-contact { gap:18px; } }
.sync-story,.stream-section,.exhibit-story,.related-project { border-top:1px solid var(--line); padding:42px 0; }
.sync-story h2 { font-size:clamp(29px,3.7vw,47px); line-height:1.2; margin:17px 0 24px; max-width:900px; }
.story-lead { max-width:820px; font-size:18px; }
.system-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; margin-top:32px; }
.system-steps article { padding:20px; background:#202020; border-top:2px solid #b9b9b9; }
.system-steps article:nth-child(2) { border-color:#b1b1b1; background:#202020; }
.system-steps article:nth-child(3) { border-color:#bebebe; background:#242424; }
.system-steps span { font:10px var(--mono); color:#c8c8c8; }
.system-steps h3 { font-size:23px; margin:13px 0; }.system-steps p { font-size:14px; }
.stream-status { font:11px var(--mono); color:#c6c6c6; padding:8px 12px; border:1px solid #595959; }
.stream-window { display:grid; grid-template-columns:auto minmax(0,1fr); gap:34px; align-items:center; background:transparent; border:1px solid #4c4c4c; padding:22px; }
.stream-window>img { max-height:450px; width:auto; max-width:100%; margin:auto; border-radius:2px; }
.stream-copy h3 { font-size:32px; margin:17px 0; }.stream-copy p { font-size:15px; }.stream-copy .eyebrow { font-size:10px; color:#c3c3c3; }
.stream-copy .text-link { margin:18px 18px 0 0; }
.exhibit-story { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }.exhibit-story h2 { font-size:36px; margin:15px 0 20px; }.exhibit-story p { margin-bottom:15px; }.exhibit-story img { border-radius:3px; }
.related-project h2 { margin:12px 0; font-size:30px; }
@keyframes reel-appear { from { opacity:.55; transform:translateY(3px); } to { opacity:1; transform:none; } }
@media(max-width:700px) { .work-card { padding-left:12px!important; }.about-grid,.stream-window,.exhibit-story,.system-steps { grid-template-columns:1fr; gap:24px; }.about-grid figure img { max-height:430px; }.stream-window { padding:15px; }.stream-status { font-size:10px; }.stream-window>img { max-height:370px; }.motion-sheet .reel-slide img { aspect-ratio:1.7; } }
@media(prefers-reduced-motion:reduce) { .reel-slide { animation:none; }.work-card { transition:none; } }

/* Monochrome surfaces: ambient light, inset edges, and quiet motion. */
:root { --paper:#0c0c0c; --ink:#f2f2f2; --muted:#b4b4b4; --line:#343434; --accent:#dedede; }
body { background:radial-gradient(ellipse at 10% 0%,#282828 0,transparent 42rem),radial-gradient(ellipse at 95% 25%,#171717 0,transparent 45rem),#0c0c0c; }
.site-header { background:linear-gradient(120deg,#ffffff05,transparent); box-shadow:0 1px 0 #ffffff05; }
.intro h1,.page-intro h1,.case-intro h1 { text-shadow:0 4px 30px #ffffff14; }
.intro h1::first-line { color:#fafafa; }
.intro-note { color:#bababa; }
.signal-dot { background:#eee; box-shadow:0 0 12px #ffffff55; animation:signal-breathe 4s ease-in-out infinite; }
.work-card { --accent:#ddd!important; --tint:#181818!important; padding:26px!important; border:1px solid #ffffff14; border-radius:12px; background:linear-gradient(135deg,#242424bb,#141414 48%,#101010); box-shadow:inset 0 1px 0 #ffffff09,0 14px 32px #00000040; margin-bottom:24px; transition:box-shadow .5s,border-color .5s; }
.work-card:hover { border-color:#ffffff30; background:linear-gradient(135deg,#2a2a2acc,#171717 48%,#111); box-shadow:inset 0 1px 0 #ffffff12,0 20px 40px #00000060; }
.clip-player video,.reel-slide img,.sheet-image img,.portrait-crop img,.stream-window>img,.exhibit-story img,.gallery-stage img,.gallery-stage video { filter:none!important; border-radius:5px; }
.clip-player video,.portrait-crop { box-shadow:0 8px 24px #00000055; }
.reel-slide>a { display:block; overflow:hidden; border-radius:5px; }
.reel-slide { animation:reel-appear .9s ease-out; }
.is-cycling .reel-slide:not([hidden]) img { animation:reel-drift 8s linear both; }
.reel-progress { display:block; height:1px; margin-top:14px; background:#ffffff16; overflow:hidden; }
.reel-progress::after { content:''; display:block; width:100%; height:100%; background:#ddd; transform:scaleX(0); transform-origin:left; }
.is-cycling .reel-progress::after { animation:reel-progress 8s linear forwards; }
.system-steps article,.stream-window,.education-grid article { background:linear-gradient(135deg,#232323,#141414); border:1px solid #383838; border-radius:8px; box-shadow:inset 0 1px 0 #ffffff08,0 8px 24px #00000035; }
.system-steps article:nth-child(n) { background:linear-gradient(135deg,#232323,#141414); border-color:#383838; }
.social-row { padding-inline:14px; transition:background .3s,box-shadow .3s; }
.social-row:hover { background:linear-gradient(90deg,#ffffff08,transparent); box-shadow:inset 2px 0 #ddd; }
a:hover { color:#fff; }
.clip-seek { accent-color:#ddd; }
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible { outline:2px solid #ddd; outline-offset:4px; }
@keyframes reel-drift { from { transform:scale(1); } to { transform:scale(1.025); } }
@keyframes reel-progress { to { transform:scaleX(1); } }
@keyframes signal-breathe { 50% { opacity:.5; box-shadow:0 0 3px #ffffff22; } }
@media(max-width:700px) { .work-card { padding:16px!important; border-radius:8px; }.work-card .project-sheet { max-width:100%; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }.reel-progress { display:none; } }

/* The interface stays neutral; light is sampled from the actual scene. */
@property --scene-color { syntax:'<color>'; initial-value:#777; inherits:true; }
.scene-lit { --scene-color:#777; transition:--scene-color 1.6s ease,box-shadow .5s,border-color .5s; }
.work-card.scene-lit { background:radial-gradient(ellipse at var(--light-x,15%) var(--light-y,25%),color-mix(in srgb,var(--scene-color) 20%,transparent),transparent 65%),linear-gradient(135deg,#202020,#111 65%); border-color:color-mix(in srgb,var(--scene-color) 28%,#303030); box-shadow:inset 0 1px 0 #ffffff10,0 16px 40px #0008,0 0 55px color-mix(in srgb,var(--scene-color) 8%,transparent); }
.work-card.scene-lit:hover { border-color:color-mix(in srgb,var(--scene-color) 48%,#444); }
.clip-player.scene-lit video,.portrait-crop.scene-lit,.media-entry.scene-lit img { box-shadow:0 8px 24px #0006,0 0 30px color-mix(in srgb,var(--scene-color) 19%,transparent); }
.stream-window.scene-lit,.gallery-stage.scene-lit { background:radial-gradient(ellipse at 20% 50%,color-mix(in srgb,var(--scene-color) 18%,#161616),#101010 80%); }
.project-reel .reel-progress::after { background:color-mix(in srgb,var(--scene-color) 60%,white); }
.clip-player.scene-lit .clip-seek { accent-color:color-mix(in srgb,var(--scene-color) 55%,white); }
@media(prefers-reduced-motion:reduce) { .scene-lit { transition:none!important; } }

/* Opening spread: project imagery beside a compact editorial introduction. */
.intro.intro-feature { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:55px; padding:46px 0 38px; }
.intro-feature .intro-copy { min-width:0; }
.intro-feature h1 { font-size:clamp(42px,4.5vw,66px); line-height:1.04; margin:25px 0; letter-spacing:-.045em; }
.intro-feature h1 em { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.055em; color:#bdbdbd; }
.intro-description { max-width:480px; font-size:16px; line-height:1.7; }
.intro-links { display:flex; flex-wrap:wrap; gap:22px; margin-top:20px; }
.intro-location { font:10px var(--mono); color:#999; margin-top:28px; }
.intro-board { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:15px; position:relative; }
.intro-board::before { content:''; position:absolute; inset:12% 0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse,color-mix(in srgb,var(--scene-color) 23%,transparent),transparent 68%); filter:blur(25px); }
.intro-board figure { min-width:0; }
.intro-board .intro-feature-image { grid-column:1/-1; }
.intro-board img,.intro-board video { width:100%; aspect-ratio:1.5; height:auto; object-fit:cover; border-radius:3px; box-shadow:0 8px 24px #0007; filter:none; }
.intro-board .intro-feature-image img { aspect-ratio:2.4; }
.intro-board figure:last-child { margin-top:22px; }
.intro-board figcaption { font:10px/1.6 var(--mono); margin-top:7px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:0 8px; color:#a4a4a4; }
.intro-board figcaption span:first-child { color:#eee; }
#selected-work { scroll-margin-top:24px; }
.case-intro h1 { font-size:clamp(42px,6vw,86px); letter-spacing:-.045em; }
.case-intro .case-summary { border-top:1px solid #ffffff20; padding-top:26px; }
.social-list .social-row h2 { font-size:clamp(28px,3vw,44px); letter-spacing:-.045em; }
@media(max-width:1000px) { .intro.intro-feature { gap:28px; }.intro-feature h1 { font-size:46px; }.intro-board figcaption { font-size:9px; } }
@media(max-width:700px) { .intro.intro-feature { grid-template-columns:1fr; padding-top:32px; gap:30px; }.intro-feature h1 { font-size:clamp(40px,10vw,58px); }.intro-board { gap:12px; }.intro-board figure:last-child { margin-top:12px; }.intro-description { font-size:15px; }.intro-location { margin-top:20px; }.case-intro h1 { font-size:40px; } }
.clip-chapters label { display:flex; align-items:center; flex-wrap:wrap; gap:8px; width:100%; color:#aaa; font:10px var(--mono); }
.clip-chapters select { min-width:0; max-width:100%; flex:1; padding:9px 10px; background:#181818; color:#ddd; border:1px solid #3b3b3b; font:12px 'Segoe UI',sans-serif; }
.clip-player figcaption>span:first-child { min-height:4.8em; }

/* Curated source-frame indexes, shared across overview and project pages. */
.directory-row.visual-directory { grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); gap:45px; padding:30px 0; }
.visual-directory .index-reel { max-width:480px; }
.visual-directory .reel-slide img { aspect-ratio:1.6; object-fit:contain; background:#111; }
.visual-directory .directory-summary { max-width:600px; font-size:15px; line-height:1.7; }
.visual-directory .reel-slide figcaption { font-size:12px; }
.scene-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:20px; padding-block:24px; border-top:1px solid var(--line); margin-top:24px; }
.work-card>.scene-strip { grid-column:1/-1; order:3; width:100%; }
.scene-strip figure { min-width:0; }
.scene-strip img { width:100%; height:170px; object-fit:contain; background:#101010; border-radius:4px; }
.scene-strip figcaption { color:#bcbcbc; font-size:12px; line-height:1.6; margin-top:10px; }
.scene-jump { display:block; padding:0; width:100%; border:0; color:#ddd; background:transparent; text-align:left; }
.scene-jump span { display:block; margin-top:7px; font:10px var(--mono); }
.scene-jump:hover img { outline:1px solid #888; outline-offset:3px; }
.about-grid .portrait { width:480px; max-width:100%; }
.about-grid .portrait-crop img { filter:grayscale(1)!important; }
.portrait-crop.scene-lit { --scene-color:#999!important; }
@media(max-width:1000px) { .about-grid .portrait { width:400px; }.directory-row.visual-directory { gap:28px; } }
@media(max-width:700px) { .directory-row.visual-directory { grid-template-columns:minmax(0,1fr); gap:18px; }.visual-directory .index-reel { max-width:none; }.visual-directory .directory-copy { min-width:0; }.scene-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.scene-strip img { height:140px; }.about-grid .portrait { width:100%; max-width:100%; } }
@media(max-width:380px) { .scene-strip { grid-template-columns:1fr; }.scene-strip img { height:190px; } }

/* Work index: moving project backdrops and a dense, visible frame gallery. */
.visual-index { max-width:1680px; padding-inline:28px; }
.index-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; padding:34px 0 24px; }
.index-heading h1 { font-size:clamp(40px,5vw,70px); margin-top:8px; }
.index-heading>p { font-size:14px; max-width:430px; }
.index-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:12px 0 20px; }
.exhibit-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:20px; padding-bottom:35px; }
.project-exhibit { grid-column:span 6; min-width:0; background:#121212; border:1px solid #ffffff15; box-shadow:0 14px 30px #0005; overflow:hidden; border-radius:5px; }
.project-exhibit:first-child { grid-column:span 7; }.project-exhibit:nth-child(2) { grid-column:span 5; }
.exhibit-stage { position:relative; height:390px; overflow:hidden; isolation:isolate; background:#151515; }
.exhibit-backdrop { position:absolute; inset:-20px 0; width:100%; height:calc(100% + 40px); max-width:none; object-fit:cover; transform:translateY(var(--scene-offset,0px)) scale(1.025); filter:none!important; z-index:-2; pointer-events:none; }
.exhibit-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#00000005 20%,#00000035 43%,#000000ec 100%); pointer-events:none; }
.exhibit-copy { position:absolute; left:24px; right:24px; bottom:22px; max-width:630px; }
.exhibit-copy .eyebrow { color:#e2e2e2; text-shadow:0 1px 4px #000; }
.exhibit-copy h2 { font-size:clamp(26px,2.7vw,40px); line-height:1.05; margin:10px 0; text-wrap:balance; }
.exhibit-copy h2 a { color:#fff; text-shadow:0 2px 12px #0009; }
.exhibit-copy>p:not(.eyebrow) { font-size:14px; color:#eee; line-height:1.5; max-width:540px; }
.exhibit-link { display:inline-block; margin-top:12px; border-bottom:1px solid #ffffff66; font:11px/1.8 var(--mono); color:#eee; }
.exhibit-frames { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:12px; align-items:start; }
.exhibit-frames figure { min-width:0; }
.exhibit-frames a { display:block; overflow:hidden; background:#111; }
.exhibit-frames img { width:100%; height:112px; object-fit:cover; filter:none!important; transition:transform .45s; }
.exhibit-frames a:hover img { transform:scale(1.04); }
.exhibit-frames figcaption { color:#aaa; font:10px/1.5 var(--mono); padding-top:5px; overflow-wrap:anywhere; }
.exhibit-compact .exhibit-stage { height:230px; }
.exhibit-compact .exhibit-backdrop { position:absolute; width:110px; height:140px; inset:45px auto auto 22px; object-fit:contain; transform:none; }
.exhibit-compact .exhibit-copy { left:155px; bottom:auto; top:30px; }
.exhibit-compact .exhibit-copy h2 { font-size:25px; }
.exhibit-compact .exhibit-shade { display:none; }
@media(min-width:1500px) { .exhibit-stage { height:440px; }.exhibit-frames img { height:135px; } }
@media(max-width:900px) { .project-exhibit:first-child,.project-exhibit:nth-child(2) { grid-column:span 6; }.exhibit-stage { height:370px; }.exhibit-copy { left:18px; right:18px; }.exhibit-frames { grid-template-columns:repeat(2,minmax(0,1fr)); }.exhibit-compact { grid-column:1/-1; } }
@media(max-width:600px) { .visual-index { padding-inline:14px; }.index-heading { display:block; padding-top:24px; }.index-heading>p { margin-top:15px; }.index-toolbar { gap:8px; }.index-toolbar .text-link { font-size:11px; }.exhibit-grid { gap:18px; }.project-exhibit,.project-exhibit:first-child,.project-exhibit:nth-child(2) { grid-column:1/-1; }.exhibit-stage { height:390px; }.exhibit-copy h2 { font-size:32px; }.exhibit-frames { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:10px; }.exhibit-frames img { height:90px; }.exhibit-frames figcaption { font-size:9px; }.exhibit-compact .exhibit-stage { height:245px; }.exhibit-compact .exhibit-copy { left:125px; top:24px; right:14px; }.exhibit-compact .exhibit-backdrop { width:85px; left:18px; }.exhibit-compact .exhibit-copy h2 { font-size:23px; }.exhibit-compact .exhibit-copy p { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .exhibit-backdrop { transform:none; }.exhibit-frames img { transition:none; } }

/* One rotating system takes the lead; all project photos remain below. */
.system-rotator { margin:0 0 22px; border:1px solid #ffffff22; border-radius:6px; overflow:hidden; background:#101010; }
.system-tabs { display:flex; flex-wrap:wrap; gap:0; padding:4px 10px; border-bottom:1px solid #ffffff1a; background:#151515; }
.system-tabs button { flex:1; white-space:nowrap; padding:12px 10px; border:0; border-bottom:2px solid transparent; color:#aaa; background:transparent; font:11px var(--mono); }
.system-tabs button[aria-selected=true] { color:#fff; border-bottom-color:#ddd; }
.system-screen { min-width:0; }
.system-slide { animation:system-enter .7s ease-out; }
.system-slide .exhibit-stage { height:490px; }
.system-slide .exhibit-copy { max-width:660px; left:32px; right:32px; bottom:30px; }
.system-slide .exhibit-copy h2 { font-size:clamp(32px,4vw,55px); }
.system-slide .exhibit-copy>p:not(.eyebrow) { font-size:16px; }
.system-slide .exhibit-backdrop { object-position:center 45%; }
.system-slide .exhibit-shade { background:linear-gradient(90deg,#0009,transparent 80%),linear-gradient(0deg,#000e,transparent 80%); }
.system-progress { height:2px; background:#ffffff12; }
.system-progress::after { content:''; display:block; width:100%; height:100%; background:#ddd; transform-origin:left; transform:scaleX(0); }
.system-rotator.is-running .system-progress::after { animation:reel-progress 12s linear forwards; }
.visual-index .exhibit-grid .exhibit-stage { height:280px; }
.visual-index .exhibit-grid .exhibit-copy h2 { font-size:29px; }
.visual-index .exhibit-grid .project-exhibit { grid-column:span 6; }
.visual-index .exhibit-grid .exhibit-compact .exhibit-stage { height:230px; }
@keyframes system-enter { from { opacity:.4; } to { opacity:1; } }
@media(max-width:700px) { .system-tabs button { flex:1 0 23%; padding:10px 5px; white-space:normal; font-size:9px; }.system-slide .exhibit-stage { height:410px; }.system-slide .exhibit-copy { left:18px; right:18px; bottom:22px; }.system-slide .exhibit-copy h2 { font-size:34px; }.system-slide .exhibit-copy>p:not(.eyebrow) { font-size:14px; }.visual-index .exhibit-grid .project-exhibit { grid-column:1/-1; }.visual-index .exhibit-grid .exhibit-copy h2 { font-size:27px; } }
@media(prefers-reduced-motion:reduce) { .system-slide { animation:none; }.system-progress { display:none; } }

/* Readable project notes, with a short terminal prompt as the only typed text. */
.system-slide { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr); }
.system-slide .exhibit-stage { height:540px; }
.system-slide .exhibit-copy { display:none; }
.system-slide .exhibit-shade { background:linear-gradient(0deg,#0005,transparent 50%); }
.terminal-panel { padding:28px; background:linear-gradient(140deg,#191919,#101010); border-left:1px solid #ffffff1b; min-width:0; }
.terminal-topline { font:10px/1.5 var(--mono); letter-spacing:.06em; color:#929292; }
.terminal-command { font:13px/1.5 var(--mono); color:#eee; min-height:20px; margin:16px 0; }
.terminal-panel h2 { font-size:clamp(25px,2.2vw,34px); line-height:1.12; }
.terminal-tagline { color:#d4d4d4; font-size:14px; margin:14px 0 20px; }
.terminal-panel dl { margin:0; }
.terminal-panel dt { font:10px var(--mono); color:#919191; margin:14px 0 6px; }
.terminal-panel dd { margin:0; font-size:14px; line-height:1.65; color:#c2c2c2; }
.terminal-links { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:20px; }
.terminal-links a { font:11px/1.7 var(--mono); border-bottom:1px solid #777; color:#eee; }
.system-rotator.is-running .system-progress::after { animation-duration:18s; }
.system-slide .software-stage .exhibit-backdrop { width:180px; height:180px; inset:70px auto auto 50%; transform:translateX(-50%); object-fit:contain; }
.software-wordmark { position:absolute; bottom:80px; left:0; right:0; text-align:center; font:48px Georgia,serif; }
.software-wordmark span { display:block; font:12px var(--mono); color:#aaa; margin-top:16px; }
.conversation-map { border-top:1px solid var(--line); padding:42px 0; }
.conversation-map h2 { font-size:clamp(28px,3.5vw,46px); margin:18px 0; }
.related-work { display:grid; grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr); gap:45px; align-items:center; border-top:1px solid var(--line); padding:40px 0; }
.related-work h2 { font-size:36px; margin:12px 0 18px; }
.related-work p { max-width:760px; }
.iykyd-mark { padding:60px 20px; background:#090909; border:1px solid #303030; }
.iykyd-mark span { font:clamp(32px,4vw,55px) var(--mono); color:#eee; }
.iykyd-mark small { display:block; font:11px var(--mono); color:#999; margin-top:18px; }
.related-art { max-width:240px; margin:auto; border-radius:15px; }
.project-related-links { display:flex; flex-wrap:wrap; gap:20px; grid-column:1/-1; order:4; }
.socio-hero { display:grid; grid-template-columns:1.3fr .7fr; align-items:center; gap:70px; padding:60px 0; }
.socio-hero h1 { font-size:clamp(44px,5vw,75px); margin:20px 0; }
.socio-hero em { font-family:Georgia,serif; font-weight:400; }
.socio-hero>img { max-width:380px; border-radius:20px; }
.socio-workflow { display:grid; grid-template-columns:1fr 1fr; gap:50px; padding:45px 0; border-top:1px solid var(--line); }
.socio-workflow h2 { font-size:36px; margin:18px 0; }
.demo-options { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.demo-options button { background:#181818; border:1px solid #444; color:#aaa; padding:10px 14px; font:12px var(--mono); }
.demo-options button[aria-pressed=true] { color:#fff; border-color:#ccc; }
.command-demo { padding:28px; background:#080808; border:1px solid #383838; }
.command-demo pre { white-space:pre-wrap; overflow-wrap:anywhere; color:#eee; font:14px/2 var(--mono); min-height:110px; }
.command-demo>p:last-child { font-size:14px; }
@media(max-width:1000px) { .system-slide { grid-template-columns:1fr 1fr; }.terminal-panel { padding:22px; }.system-slide .exhibit-stage { height:580px; } }
@media(max-width:700px) { .system-slide { grid-template-columns:minmax(0,1fr); }.system-slide .exhibit-stage { height:270px; }.terminal-panel { border-left:0; border-top:1px solid #333; padding:22px; }.terminal-panel h2 { font-size:29px; }.terminal-panel dd { font-size:14px; }.system-slide .software-stage .exhibit-backdrop { width:100px; height:100px; top:25px; }.software-wordmark { bottom:30px; font-size:35px; }.related-work,.socio-hero,.socio-workflow { grid-template-columns:1fr; gap:25px; }.socio-hero { padding-top:32px; }.socio-hero>img { max-width:210px; margin:auto; }.iykyd-mark { padding:30px 20px; }.related-art { max-width:160px; }.command-demo { padding:20px; } }
.iykyd-videos { padding:40px 0; border-top:1px solid var(--line); }
.iykyd-video-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.iykyd-video img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:4px; }
.iykyd-video h3 { font-size:22px; line-height:1.25; margin:14px 0 9px; }
.iykyd-video span { font:11px var(--mono); color:#aaa; }
@media(max-width:600px) { .iykyd-video-grid { grid-template-columns:1fr; } }

/* Shared editorial layout across the index, projects, background and contact. */
.site-header,main.visual-index,main.landing-index,main.about-page,main.contact-page,footer { max-width:1600px; padding-inline:36px; }
.site-header { min-height:94px; }
a:hover { color:#fff; }
a:focus-visible,button:focus-visible,select:focus-visible { outline-color:#ddd; }
.page-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:end; padding:38px 0 30px; }
.page-heading h1 { font-size:clamp(38px,4.5vw,68px); line-height:1.04; margin-top:14px; }
.page-heading em,.about-deck em { font-family:Georgia,serif; font-weight:400; color:#bbb; }
.heading-note { max-width:480px; justify-self:end; }
.heading-note p { font-size:15px; line-height:1.7; }
.heading-note .text-link { margin-top:12px; }
.landing-index .system-rotator { margin-bottom:32px; }
.section-caption { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:22px 0; }
.section-caption h2 { font-size:32px; margin-top:10px; }
.landing-index .work-toolbar { margin-bottom:20px; }
.landing-index .work-card { border-radius:6px; }
.about-page .about-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:60px; padding:40px 0; align-items:center; }
.about-page .portrait { width:100%; }
.about-page .portrait-crop { aspect-ratio:1; }
.about-page .about-copy h1 { font-size:clamp(40px,4.5vw,70px); margin:16px 0; }
.about-deck { font-size:clamp(22px,2.5vw,34px); line-height:1.25; color:#eee; margin-bottom:22px; letter-spacing:-.035em; }
.about-page .about-copy .about-deck { font-size:clamp(22px,2.5vw,34px); line-height:1.25; }
.about-page .about-copy .eyebrow { font:10px/1.6 var(--mono); }
.about-copy .terminal-command { margin-bottom:15px; font-size:12px; color:#ddd; }
.about-copy>p:not(.eyebrow):not(.about-deck):not(.terminal-command) { font-size:15px; line-height:1.7; }
.about-page .about-contact { padding-top:18px; margin-top:20px; }
.context-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:8px 0 42px; }
.context-card { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); align-items:stretch; background:linear-gradient(130deg,#202020,#101010); border:1px solid #ffffff20; border-radius:5px; overflow:hidden; transition:border-color .3s; }
.context-card:hover { border-color:#777; }
.context-card img { height:100%; min-height:220px; object-fit:cover; }
.context-card>div { padding:24px; }
.context-card h2 { font-size:25px; margin:12px 0; }
.context-card p:not(.eyebrow) { font-size:13px; line-height:1.6; }
.about-page .experience-row { padding:25px 20px; background:linear-gradient(110deg,#ffffff03,transparent); }
.about-page .education-grid article { padding:24px; border:1px solid #333; background:#151515; }
.contact-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:32px; align-items:start; margin:10px 0 30px; }
.contact-context { padding:28px; border:1px solid #ffffff24; border-radius:5px; background:linear-gradient(140deg,#242424,#111); }
.contact-context .terminal-command { margin:0 0 20px; }
.contact-context h2 { font-size:clamp(28px,3vw,44px); margin-bottom:18px; }
.contact-context>p:not(.terminal-command) { font-size:14px; max-width:360px; }
.contact-project { display:block; margin:26px 0 12px; }
.contact-project img { aspect-ratio:1.8; object-fit:cover; border-radius:3px; }
.contact-project span { display:block; font:11px/1.7 var(--mono); margin-top:10px; color:#bbb; }
.contact-page .social-list { display:grid; gap:10px; padding-bottom:0; }
.contact-page .social-row { grid-template-columns:minmax(0,1fr) auto; gap:8px 16px; padding:20px 24px; border:1px solid #ffffff22; border-radius:5px; background:linear-gradient(115deg,#1e1e1e,#121212); }
.contact-page .social-row>span:first-child { grid-column:1; }
.contact-page .social-row h2 { font-size:30px; }
.contact-page .social-row p { font-size:12px; margin-top:6px; }
.contact-page .social-handle { grid-column:1; grid-row:2; font-size:11px; color:#aaa; overflow-wrap:anywhere; }
.contact-page .social-arrow { grid-column:2; grid-row:1 / span 2; }
.contact-page .contact-note { border-top:1px solid #333; padding:22px 0 35px; }
@media(max-width:1000px) { .about-page .about-grid { gap:30px; }.context-card { grid-template-columns:1fr; }.context-card img { height:210px; min-height:0; }.contact-layout { gap:20px; }.contact-context { padding:22px; } }
@media(max-width:700px) { .site-header,main.visual-index,main.landing-index,main.about-page,main.contact-page,footer { padding-inline:18px; }.page-heading { grid-template-columns:1fr; gap:20px; padding:28px 0; }.heading-note { justify-self:start; }.page-heading h1 { font-size:42px; }.section-caption { align-items:start; flex-direction:column; gap:12px; }.section-caption h2 { font-size:28px; }.about-page .about-grid { grid-template-columns:1fr; gap:25px; padding:28px 0; }.about-page .portrait { max-width:100%; }.about-page .about-copy h1 { font-size:44px; }.context-grid { grid-template-columns:1fr; gap:18px; }.context-card { grid-template-columns:minmax(0,.75fr) minmax(0,1fr); }.context-card img { height:100%; }.context-card>div { padding:18px; }.context-card h2 { font-size:23px; }.contact-layout { grid-template-columns:1fr; }.contact-context h2 { font-size:34px; }.contact-page .social-row { padding:20px; }.contact-page .social-row h2 { font-size:28px; } }
@media(max-width:380px) { .page-heading h1 { font-size:36px; }.context-card { grid-template-columns:1fr; }.context-card img { height:180px; } }
@media(max-width:700px) { .contact-page .social-list { grid-row:1; }.contact-context { grid-row:2; } }
@media(prefers-reduced-motion:reduce) { .context-card { transition:none; } }
.studio-wordmark { display:flex; flex-direction:column; justify-content:center; align-items:center; font:clamp(44px,7vw,100px)/.92 Georgia,serif; letter-spacing:-.06em; color:#eee; min-height:200px; padding:30px; }
.studio-wordmark span { font:12px/2 var(--mono); letter-spacing:.35em; margin-top:18px; text-transform:uppercase; }
.software-stage>.studio-wordmark { height:100%; background:radial-gradient(ellipse at 35% 35%,#303030,#111 70%); }
.exhibit-compact .studio-wordmark { position:absolute; left:12px; top:25px; width:120px; padding:10px; font-size:40px; }
.exhibit-compact .studio-wordmark span { font-size:9px; }
.studio-hero { display:grid; grid-template-columns:1.2fr 1fr; gap:70px; padding:60px 0; align-items:center; }
.studio-hero h1 { font-size:clamp(48px,6vw,86px); margin:20px 0; }
.studio-hero h1 em { font-family:Georgia,serif; font-weight:400; color:#bbb; }
.studio-hero>div>p:not(.eyebrow) { max-width:550px; }
.studio-directory { padding:28px; border:1px solid #383838; background:linear-gradient(140deg,#252525,#111); }
.studio-directory a { display:block; padding:24px 0; border-bottom:1px solid #383838; }
.studio-directory a:last-child { border-bottom:0; padding-bottom:0; }
.studio-directory span,.studio-directory small { display:block; font:11px/1.8 var(--mono); color:#aaa; }
.studio-directory strong { display:block; font-size:38px; font-weight:400; letter-spacing:-.045em; margin:5px 0; }
.resume-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; padding:30px 0 22px; border-top:1px solid var(--line); scroll-margin-top:24px; }
/* An automatic image-led presentation, without tabs or category selectors. */
.cinematic-showcase { border:0; border-radius:0; background:transparent; margin-bottom:38px; }
.cinematic-showcase .system-slide { display:grid; grid-template-columns:minmax(0,1fr); }
.cinematic-showcase .system-slide>.focused-reel { background:transparent; }
.cinematic-showcase .focused-reel .reel-slide img { height:clamp(340px,48vw,620px); background:#0c0c0c; }
.cinematic-showcase .focused-reel .reel-slide figcaption { display:none; }
.cinematic-showcase .focused-reel .reel-progress { display:none; }
.cinematic-showcase .terminal-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px 50px; padding:26px 0; background:none; border:0; }
.cinematic-showcase .terminal-topline { grid-column:1; }
.cinematic-showcase .terminal-command { grid-column:1; margin:3px 0; }
.cinematic-showcase .terminal-panel h2 { grid-column:1; font-size:clamp(28px,3.5vw,46px); }
.cinematic-showcase .terminal-tagline { display:none; }
.cinematic-showcase .terminal-panel dl { grid-column:2; grid-row:1 / span 4; }
.cinematic-showcase .terminal-panel dt:first-child { margin-top:0; }
.cinematic-showcase .terminal-links { grid-column:1; margin-top:14px; }
.cinematic-showcase .software-stage { height:clamp(340px,48vw,620px); }
.cinematic-showcase .system-progress { background:#ffffff10; height:1px; }
.cinematic-showcase .system-progress::after { background:#888; }
.cinematic-showcase .reel-slide { animation:cinematic-image .85s ease-out; }
@keyframes cinematic-image { from { opacity:.25; transform:translateX(14px); } to { opacity:1; transform:translateX(0); } }
@media(max-width:700px) { .cinematic-showcase .focused-reel .reel-slide img,.cinematic-showcase .software-stage { height:350px; }.cinematic-showcase .terminal-panel { grid-template-columns:1fr; padding:20px 0; gap:8px; }.cinematic-showcase .terminal-panel dl { grid-column:1; grid-row:auto; margin-top:12px; }.cinematic-showcase .terminal-links { grid-row:auto; }.cinematic-showcase .terminal-panel h2 { font-size:32px; }.landing-heading { padding-bottom:22px; } }
@media(prefers-reduced-motion:reduce) { .cinematic-showcase .reel-slide { animation:none; } }
.focused-reel { min-width:0; width:100%; background:#101010; }
.focused-reel .reel-slide { margin:0; }
.focused-reel .reel-slide>a { display:block; }
.focused-reel .reel-slide img { width:100%; height:clamp(280px,36vw,520px); aspect-ratio:auto; object-fit:contain; object-position:center; border-radius:0; background:#101010; }
.focused-reel .reel-slide figcaption { font:12px/1.65 var(--mono); color:#bbb; padding:14px 18px; min-height:70px; margin:0; }
.system-slide>.focused-reel { align-self:stretch; }
.system-slide>.focused-reel .reel-slide img { height:460px; }
.project-exhibit .focused-copy { position:static; max-width:none; padding:20px; }
.project-exhibit .focused-copy h2 { font-size:28px; margin-top:8px; }
.project-exhibit .focused-copy p { font-size:14px; }
.project-exhibit .focused-reel img { height:360px; }
.work-card .focused-sheet { display:block!important; padding:0; background:none; }
.work-card .focused-clips { grid-column:1/-1; order:4; display:grid; grid-template-columns:1fr; gap:24px; margin-top:24px; }
.clip-grid { grid-template-columns:1fr; }
.case-media>.focused-reel { max-width:1100px; margin:auto; }
.case-media>.focused-reel img { height:min(65vh,650px); }
@media(max-width:700px) { .focused-reel .reel-slide img,.system-slide>.focused-reel .reel-slide img,.project-exhibit .focused-reel img { height:300px; }.focused-reel .reel-slide figcaption { min-height:95px; padding:12px; font-size:11px; }.case-media>.focused-reel img { height:380px; } }
.contact-simple .social-list { display:block; padding:10px 0 50px; }
.contact-simple .social-row { grid-template-columns:minmax(160px,1fr) minmax(0,1.5fr) 24px; gap:24px; padding:30px 0; border:0; border-top:1px solid #383838; border-radius:0; background:none; }
.contact-simple .social-row:last-child { border-bottom:1px solid #383838; }
.contact-simple .social-row:hover { background:linear-gradient(90deg,transparent,#ffffff04); box-shadow:none; }
.contact-simple .social-row h2 { font-size:30px; }
.contact-simple .social-row p { max-width:350px; }
.contact-simple .social-handle { grid-column:2; grid-row:1; text-align:right; font:clamp(22px,2.6vw,38px)/1.3 var(--mono); letter-spacing:-.055em; color:#ddd; }
.contact-simple .social-arrow { grid-column:3; grid-row:1; font-size:25px; }
@media(max-width:700px) { .contact-simple .social-row { grid-template-columns:minmax(75px,.6fr) minmax(0,1.4fr) 14px; gap:10px; padding:26px 0; }.contact-simple .social-row h2 { font-size:20px; }.contact-simple .social-row p { font-size:11px; line-height:1.5; }.contact-simple .social-handle { font-size:clamp(17px,4.5vw,25px); overflow-wrap:anywhere; }.contact-simple .social-arrow { font-size:18px; } }
.resume-heading h2 { font-size:36px; margin-top:10px; }
.resume-jump { display:flex; flex-wrap:wrap; gap:20px; }
.print-resume { color:#eee; background:#202020; border:1px solid #555; padding:10px 16px; font:12px var(--mono); }
.resume-experience { border-top:0; padding-top:0; }
.resume-bullets { padding-left:18px; margin:14px 0 0; color:#bbb; font-size:14px; line-height:1.75; }
.resume-bullets li+li { margin-top:8px; }
.volunteer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:24px; }
.volunteer-grid article { padding:24px; background:linear-gradient(135deg,#202020,#121212); border:1px solid #333; }
.volunteer-grid h3 { font-size:27px; margin:14px 0; }
.resume-specialties { display:grid; grid-template-columns:130px minmax(0,1fr); gap:18px 28px; }
.resume-specialties dt { font:12px/1.8 var(--mono); color:#eee; }
.resume-specialties dd { margin:0; color:#bbb; font-size:15px; }
#volunteering { scroll-margin-top:24px; }
@media(max-width:700px) { .volunteer-grid { grid-template-columns:1fr; }.resume-specialties { grid-template-columns:1fr; gap:8px; }.resume-specialties dd { margin-bottom:16px; }.about-page .experience-row { padding-inline:0; }.resume-heading { align-items:center; } }
@media print {
 @page { margin:15mm; }
 html,body { background:#fff!important; color:#111!important; font-size:10pt; }
 .site-header,.skip-link,footer,.about-page .portrait,.about-contact,.resume-jump,.print-resume,.about-page .tags { display:none!important; }
 main.about-page { padding:0; max-width:none; }
 .about-page .about-grid { display:block; padding:0 0 12pt; }
 .about-page .about-copy>p:not(.eyebrow),.about-copy .terminal-command { display:none; }
 .about-page .about-copy h1 { font-size:26pt; margin:5pt 0; }
 .about-page p,.about-page li,.about-page dd,.about-page dt { color:#222!important; }
 .about-page .resume-heading { padding:12pt 0; }
 .about-page .resume-heading h2,.about-page .resume-section>h2 { font-size:18pt; margin:0 0 8pt; }
 .about-page .resume-section { padding:12pt 0; }
 .about-page .experience-row { display:grid; grid-template-columns:180px 1fr; gap:20px; padding:12pt 0; background:none; break-inside:avoid; }
 .about-page h3 { font-size:13pt; }.about-page h4 { font-size:11pt; }
 .resume-bullets { font-size:10pt; line-height:1.4; }
 .education-grid,.volunteer-grid { display:grid; gap:12pt; }
 .education-grid { grid-template-columns:1fr 1fr; }.volunteer-grid { grid-template-columns:repeat(3,1fr); }
 .about-page .education-grid article,.volunteer-grid article { background:none; padding:10pt; break-inside:avoid; }
 .resume-specialties { grid-template-columns:90px 1fr; }
 .resume-specialties dd { font-size:10pt; }
 h2,h3,h4 { break-after:avoid; }
}
@media(max-width:700px) { .studio-hero { grid-template-columns:1fr; gap:28px; padding:30px 0; }.studio-hero h1 { font-size:48px; }.studio-directory { padding:22px; }.software-stage>.studio-wordmark { font-size:64px; }.exhibit-compact .studio-wordmark { left:0; width:120px; } }

.terminal-reveal { display:grid; }
.terminal-measure,.terminal-visual { grid-area:1 / 1; white-space:pre-wrap; }
.terminal-measure { visibility:hidden; pointer-events:none; }
.terminal-visual { align-self:start; }
.terminal-reveal.is-typing .terminal-visual::after { content:'▌'; color:#ddd; margin-left:2px; }
.cinematic-showcase .terminal-panel { align-items:start; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.cinematic-showcase .terminal-panel h2 { grid-row:2; margin:0; font-size:clamp(25px,2.7vw,38px); }
.cinematic-showcase .terminal-command { grid-row:1; grid-column:2; margin:0; }
.cinematic-showcase .terminal-panel dl { grid-row:2 / span 2; }
.cinematic-showcase .terminal-panel dd:last-of-type { font-family:var(--mono); font-size:13px; }
.cinematic-showcase .terminal-links { grid-row:3; }
@media(max-width:700px) { .cinematic-showcase .terminal-panel { grid-template-columns:1fr; }.cinematic-showcase .terminal-command { grid-column:1; grid-row:2; }.cinematic-showcase .terminal-panel h2 { grid-row:3; }.cinematic-showcase .terminal-panel dl { grid-column:1; grid-row:4; }.cinematic-showcase .terminal-links { grid-row:5; } }
@media print { .terminal-reveal .terminal-visual,.terminal-reveal .sr-only { display:none; }.terminal-reveal .terminal-measure { visibility:visible; } }

/* Large image stage with its live terminal description directly over the image. */
.landing-heading { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:32px; align-items:center; }
.landing-heading h1 { font-size:clamp(30px,3.8vw,56px); }
.landing-heading h1 em { white-space:nowrap; font-size:clamp(24px,3.4vw,52px); }
.cinematic-showcase .system-slide { position:relative; min-height:660px; isolation:isolate; }
.cinematic-showcase .system-slide>.focused-reel,.cinematic-showcase .system-slide>.exhibit-stage { grid-area:1 / 1; height:100%; }
.cinematic-showcase .system-slide .focused-reel .reel-slide img { height:clamp(660px,76vh,850px); width:100%; object-fit:cover; object-position:center 45%; }
.cinematic-showcase .system-slide>.software-stage { height:clamp(660px,76vh,850px); }
.cinematic-showcase .terminal-panel { position:absolute; inset:auto 0 0; z-index:2; padding:95px 36px 30px; color:#fff; background:linear-gradient(0deg,#050505f5 0%,#050505dc 58%,#05050500 100%); pointer-events:none; column-gap:42px; }
.cinematic-showcase .terminal-panel a { pointer-events:auto; }
.cinematic-showcase .terminal-panel h2 { font-size:clamp(28px,2.7vw,40px); color:#fff; text-shadow:0 2px 12px #000; }
.cinematic-showcase .terminal-panel dd { color:#eee; text-shadow:0 1px 5px #000; }
.cinematic-showcase .terminal-panel dt,.cinematic-showcase .terminal-topline { color:#ccc; }
.cinematic-showcase .terminal-panel dd:last-of-type { font-size:14px; line-height:1.7; }
.cinematic-showcase .terminal-links a { color:#fff; border-color:#aaa; }
.cinematic-showcase .terminal-command { color:#fff; }
.cinematic-showcase .terminal-reveal.is-typing .terminal-visual::after { content:'▌'; color:#fff; }
@media(max-width:1000px) { .landing-heading { grid-template-columns:1fr; gap:16px; }.landing-heading .heading-note { justify-self:start; max-width:700px; }.landing-heading h1 em { font-size:clamp(24px,5.1vw,52px); } }
@media(max-width:700px) { .landing-heading h1 { font-size:clamp(30px,7vw,42px); }.landing-heading h1 em { font-size:clamp(18px,5.5vw,36px); }.cinematic-showcase .system-slide { min-height:700px; }.cinematic-showcase .system-slide .focused-reel .reel-slide img,.cinematic-showcase .system-slide>.software-stage { height:700px; }.cinematic-showcase .terminal-panel { padding:100px 18px 24px; gap:7px; }.cinematic-showcase .terminal-panel h2 { font-size:28px; }.cinematic-showcase .terminal-panel dl { margin-top:5px; }.cinematic-showcase .terminal-panel dd { font-size:13px; }.cinematic-showcase .terminal-panel dd:last-of-type { font-size:12px; }.cinematic-showcase .terminal-links { margin-top:8px; } }

/* One presentation per project, with a compact directory on the landing page. */
.project-directory { padding:18px 0 35px; }
.project-directory-list { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.project-directory-entry { position:relative; padding:23px 35px 23px 0; border-top:1px solid #333; }
.project-directory-entry h3 { font-size:24px; line-height:1.25; margin-bottom:9px; }
.project-directory-entry p { font-size:13px; max-width:560px; }
.project-directory-entry>span { position:absolute; top:24px; right:0; color:#aaa; }
.directory-volunteering { display:flex; flex-wrap:wrap; align-items:center; gap:18px 30px; padding:24px 0; border-top:1px solid #333; }
.directory-volunteering a { border-bottom:1px solid #555; font-size:15px; }
.clip-grid { columns:1; margin-inline:auto; }
.clip-grid.clip-playlist { display:block; columns:1; max-width:1100px; margin:auto; }
.project-reel.is-cycling .reel-progress::after { animation-duration:var(--reel-duration,3s); }
.system-rotator.is-running .system-progress::after { animation-duration:var(--system-duration,3s); }
.clip-grid .clip-player[hidden],.inline-clips .clip-player[hidden] { display:none!important; }
.clip-playlist .clip-player { width:100%; margin:0; }
.clip-playlist .clip-player video { width:100%; height:min(62vh,620px); object-fit:contain; background:#101010; }
.recording-navigation { display:flex; justify-content:space-between; gap:24px; align-items:center; max-width:1100px; margin:18px auto 0; padding-top:14px; border-top:1px solid #333; }
.recording-navigation p { font-size:12px; max-width:650px; }
.recording-navigation button { color:#eee; padding:8px 0; background:none; border:0; border-bottom:1px solid #666; font:12px var(--mono); white-space:nowrap; }
.case-media .focused-reel:has(.reel-slide:only-child) { max-width:760px; }
@media(max-width:700px) { .project-directory-list { grid-template-columns:1fr; }.project-directory-entry h3 { font-size:23px; }.clip-playlist .clip-player video { height:360px; }.recording-navigation { align-items:start; gap:14px; }.recording-navigation p { font-size:11px; }.directory-volunteering .eyebrow { width:100%; } }

.focused-reel .reel-slide figcaption { font-size:16px; line-height:1.65; min-height:92px; }
.project-exhibit .focused-copy p,.project-directory-entry p { font-size:16px; line-height:1.65; }
.clip-player figcaption,.recording-navigation p { font-size:15px; line-height:1.65; }
.cinematic-showcase .terminal-panel dd { font-size:16px; }
.cinematic-showcase .terminal-panel dd:last-of-type { font-size:16px; }
.project-directory-entry { padding-left:18px; border-left:2px solid transparent; transition:background .3s,border-color .3s; }
.project-directory-entry.is-showcased { background:linear-gradient(110deg,#ffffff15,#ffffff03); border-left-color:#eee; }
.project-directory-entry.is-showcased h3,.project-directory-entry.is-showcased>span { color:#fff; }
.project-directory-entry.is-showcased p { color:#ddd; }
.contact-simple .social-handle.terminal-reveal { justify-self:end; width:max-content; max-width:100%; }
.contact-simple .social-handle .terminal-visual { text-align:left; }
@media(max-width:700px) { .focused-reel .reel-slide figcaption { font-size:14px; min-height:105px; }.project-exhibit .focused-copy p,.project-directory-entry p { font-size:15px; }.cinematic-showcase .terminal-panel dd,.cinematic-showcase .terminal-panel dd:last-of-type { font-size:14px; }.clip-player figcaption,.recording-navigation p { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { .project-directory-entry { transition:none; } }

/* Reserve each character's space, preserving inline links and natural line wrapping. */
.typed-run,.typed-glyph { display:inline; font:inherit; letter-spacing:inherit; }
.typed-pending { visibility:hidden; }
@media print { .typed-pending { visibility:visible; } }

/* A cursor follows the revealed characters without shifting the line. */
.typed-caret { position:relative; }
.typed-caret::after { content:""; position:absolute; width:1px; height:.95em; background:currentColor; left:100%; bottom:0; pointer-events:none; }
@media print { .typed-caret::after { display:none; } }
/* Keep navigation within reach while reading a project. */
.site-header { position:sticky; top:0; z-index:20; background:#121212f5; backdrop-filter:blur(14px); }
.site-header nav { flex-wrap:wrap; }
.volunteering-referral { padding:20px 0 28px; border-top:1px solid var(--line); scroll-margin-top:150px; }
html { scroll-padding-top:110px; }
a:focus-visible,button:focus-visible,select:focus-visible { outline-color:#dedede; }
nav a:hover { color:#fff; border-bottom-color:#999; }
@media(max-width:700px) {
 .site-header { gap:8px; min-height:0; padding-block:12px; }
 .site-header nav a { min-height:40px; display:flex; align-items:center; }
 html { scroll-padding-top:130px; }
}
@media print { .site-header { position:static; } }
@media(max-width:400px) { .site-header nav { gap:8px; font-size:11px; } }

@media(max-width:700px) {
 .contact-simple .social-row { grid-template-columns:minmax(68px,.65fr) minmax(0,1.7fr) 14px; row-gap:7px; padding-block:20px; }
 .contact-simple .social-row>span:first-child { display:contents; }
 .contact-simple .social-row h2 { grid-column:1; grid-row:1; }
 .contact-simple .social-row p { grid-column:1 / -1; grid-row:2; max-width:none; font-size:13px; }
 .contact-simple .social-handle { font-size:clamp(16px,4.2vw,22px); }
}
