/* Real project imagery, kept independent from the Three.js interaction shell. */
.visual-work{padding:68px var(--pad) 92px;scroll-margin-top:28px}
.visual-work-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:end;margin-bottom:46px}
.visual-work-heading h2{font:400 clamp(42px,5.2vw,78px)/1.04 var(--display);letter-spacing:-.045em;margin:0}
.visual-work-heading>p{color:#a9bac5;font-size:17px;line-height:1.7;max-width:40ch;margin:0 0 4px}
.work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:54px 30px;align-items:start}
.work-card{min-width:0;grid-column:span 5}
.work-card:nth-child(1),.work-card:nth-child(4){grid-column:span 7}
.work-card:nth-child(2){padding-top:94px}
.work-card:nth-child(3){padding-top:28px}
.work-card:last-child{grid-column:1/-1}
.work-link{display:block;text-decoration:none;color:inherit;border-radius:14px;outline-offset:9px}
.work-visual{overflow:hidden;border-radius:12px;border:1px solid #ffffff12;background:#15232b;aspect-ratio:1.44}
.work-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s ease}
.work-link:hover .work-visual img{transform:scale(1.025)}
.work-link:focus-visible{outline:2px solid var(--accent)}
.work-copy{padding:22px 2px 0;position:relative}
.work-kind{font:11px/1.6 var(--mono);letter-spacing:.10em;text-transform:uppercase;color:#99b4c4;margin:0 0 10px}
.work-title{font:400 clamp(28px,3vw,42px)/1.12 var(--display);letter-spacing:-.025em;margin:0 0 12px;color:#edf1ee}
.work-headline{font-size:16px;line-height:1.6;color:#acbec9;margin:0 0 16px;max-width:40ch}
.work-read{display:flex;align-items:center;gap:12px;font:12px/1.6 var(--mono);color:#e5bd83;min-height:44px}
.work-read>span{font-size:22px;transition:transform .2s}
.work-link:hover .work-read>span{transform:translate(3px,-3px)}
.work-card[data-showcase-id="bioply"] .work-kind{color:#b9cda2}
.work-card[data-showcase-id="bioply"] .work-visual{aspect-ratio:1.6}
.work-card[data-showcase-id="bioply"] .work-visual img{object-fit:contain}
.work-card[data-showcase-id="pixelsfromoz"] .work-kind{color:#e8b4d2}
.work-card:last-child .work-link{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:50px;align-items:center}
.work-card:last-child .work-visual{aspect-ratio:1.7}
.work-card:last-child .work-title{font-size:clamp(32px,4vw,54px);max-width:11ch}
.visual-work-note{font:12px/1.8 var(--mono);color:#8fa4b3;max-width:85ch;margin:48px 0 0}
.case-product-capture img{max-height:none;object-fit:contain}
.case-visual-link{display:block;outline-offset:5px}
.case-visual-link:focus-visible{outline:2px solid var(--accent)}
.case-caption a{display:inline-block;min-height:44px;align-content:center;color:#d6bc92;margin-left:8px;text-underline-offset:4px}
.case-system-map{border-color:#708b5a44;background:#101c19}
.case-system-map img{max-height:none}
.case-system-intro{max-width:72ch;color:var(--muted);font-size:18px;line-height:1.75;margin:0 0 32px}
@media(max-width:1050px){.visual-work-heading{gap:32px}.work-grid{gap:40px 24px}.work-card:nth-child(2){padding-top:60px}.work-card:last-child .work-link{gap:30px}.work-copy{padding-top:18px}}
@media(max-width:700px){.visual-work{padding-top:46px;padding-bottom:56px}.visual-work-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.visual-work-heading h2{font-size:46px}.visual-work-heading>p{font-size:16px}.work-grid{grid-template-columns:1fr;gap:36px}.work-card,.work-card:nth-child(1),.work-card:nth-child(4),.work-card:last-child{grid-column:auto}.work-card:nth-child(2),.work-card:nth-child(3){padding-top:0}.work-title{font-size:34px}.work-card:last-child .work-link{display:block}.work-card:last-child .work-title{font-size:34px;max-width:none}.work-card:last-child .work-visual{aspect-ratio:1.44}.work-copy{padding-top:18px}.visual-work-note{margin-top:30px;font-size:11px}.case-system-intro{font-size:16px}.case-caption a{margin-left:0;display:block}}
@media(max-width:350px){.visual-work-heading h2{font-size:39px}.work-title,.work-card:last-child .work-title{font-size:30px}}
@media(prefers-reduced-motion:reduce){.work-visual img,.work-read>span{transition:none}.work-link:hover .work-visual img,.work-link:hover .work-read>span{transform:none}}

/* Fast, shareable career path: static content and source-backed role chapters. */
.header-links>a:not(.profile-link){display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none;font:11px/1.6 var(--mono)}
.header-links>a:not(.profile-link):hover{color:#ead5b2}
.career-hero{padding-bottom:30px}
.career-hero h1{font-size:clamp(42px,5.4vw,76px)}
.career-jumps{display:flex;flex-wrap:wrap;gap:8px 24px;border-block:1px solid #8ca0ac33;padding:12px 0;margin:0 0 22px}
.career-jumps a{min-height:44px;display:inline-flex;align-items:center;color:#d8b682;font:12px/1.6 var(--body);text-underline-offset:5px}
.career-entry{display:grid;grid-template-columns:minmax(160px,.42fr) minmax(0,1fr);gap:42px;padding:42px 0;border-bottom:1px solid #8ca0ac33;scroll-margin-top:30px}
.career-image-link .index-visual{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;background:transparent;border-radius:8px}
.career-image-link .index-logo{object-fit:scale-down;padding:20px}
.career-entry-copy .case-kicker{color:#d8b682;font-size:11px;line-height:1.7}
.career-entry h2{font:400 clamp(30px,3.3vw,46px)/1.12 var(--display);letter-spacing:-.035em;margin:12px 0 18px}
.career-entry h2 a{color:#e0e7eb;text-decoration:none}
.career-entry-copy>p:not(.case-kicker):not(.career-image-credit){color:#a8bac7;font-size:16px;line-height:1.8;margin:0;max-width:72ch}
.career-phases{display:grid;gap:12px;border-left:1px solid #d8b68266;padding-left:18px;margin:24px 0}
.career-phases a{display:flex;flex-wrap:wrap;gap:4px 14px;color:#b7c6cf;font-size:13px;line-height:1.7;min-height:44px;align-items:center;text-decoration:none}
.career-phases strong{font-weight:500;color:#e1d0b6}.career-phases span{color:#8fa7b7}
.career-period{color:#d8b682;font:12px/1.8 var(--body);margin:0}
.career-period time{display:block;white-space:nowrap}
.career-entry-links{margin:18px 0 10px}.career-evidence{display:flex;flex-wrap:wrap;gap:6px 20px}
.career-evidence a{color:#a8bac7;font-size:12px;line-height:1.7;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}
.career-image-credit{color:#78909f;font-size:10px;line-height:1.7;margin:16px 0 0;max-width:85ch}
.career-collaborations{padding-top:50px}.career-collaborations h2{font:400 clamp(30px,3.6vw,46px)/1.2 var(--display);margin:14px 0 4px}
@media(max-width:700px){
 .career-hero{display:block}.career-hero h1{font-size:44px}.career-hero .case-lead{margin-top:24px}
 .career-entry{grid-template-columns:84px minmax(0,1fr);gap:16px;padding:28px 0}
 .career-image-link .index-visual{height:66px;aspect-ratio:auto}
 .career-image-link .index-logo{padding:4px}
 .career-entry h2{font-size:28px}.career-entry-copy .case-kicker{font-size:10px}
 .career-entry-copy>p:not(.case-kicker):not(.career-image-credit){font-size:14px;line-height:1.8}
 .career-jumps{gap:4px 18px}.career-jumps a{font-size:11px}.career-image-credit{font-size:9px}
 .career-phases{padding-left:12px}.career-phases a{font-size:12px}
}
