.personal-intro .hero__lede { margin-inline: auto; }
.infra-explainer, .infra-cases { margin-top: var(--space-8); }
.infra-figure { margin-block: var(--space-6); }
.infra-diagram { display: block; width: 100%; height: auto; border-radius: var(--radius-l); background: var(--bg); }
.infra-figure figcaption { margin-top: var(--space-3); }
.infra-mobile-flow { display: none; }
.infra-responsibilities { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-5); padding: var(--space-5); border-radius: var(--radius-l); background: var(--bg); }
.infra-responsibilities strong { display: inline-block; margin-bottom: var(--space-2); }
.infra-case { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.5fr); gap: var(--space-7); padding-block: var(--space-7); border-bottom: 1px solid var(--hairline); }
.infra-case h4 { margin-top: var(--space-4); }
.infra-case dl { display: grid; gap: var(--space-5); }
.infra-case dt { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; font-weight: 600; color: var(--text-2); margin-bottom: var(--space-2); }
.infra-case dd { margin: 0; }
.infra-takeaway { margin-top: var(--space-5); padding-left: var(--space-4); border-left: 3px solid var(--accent); }
@media (max-width: 734px) {
  .infra-figure img { display: none; }
  .infra-mobile-flow { display: grid; gap: var(--space-5); padding-left: var(--space-5); margin-block: var(--space-6); }
  .infra-mobile-flow li::marker { color: var(--accent); font-weight: 600; }
  .infra-mobile-flow h4 { margin-bottom: var(--space-2); }
  .infra-case, .infra-responsibilities { grid-template-columns: minmax(0,1fr); gap: var(--space-5); }
}
.bringup-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-block: var(--space-7); }
.bringup-metric { border-top: 1px solid var(--hairline); padding-top: var(--space-5); }
.bringup-metric .display { color: var(--accent); margin-bottom: var(--space-5); }
.bringup-metric h3, .bringup-layer h3 { margin-bottom: var(--space-3); }
.bringup-layers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-block: var(--space-7); }
.bringup-layer { background: var(--bg); padding: var(--space-5); border-radius: var(--radius-l); }
#ai-bringup { scroll-margin-top: var(--space-9); }
@media (max-width: 734px) { .bringup-metrics, .bringup-layers { grid-template-columns: minmax(0, 1fr); } }
.personal-hero-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--space-7); align-items: center; }
.personal-hero h1 { margin-block: var(--space-4) var(--space-5); }
.personal-lede { margin-block: var(--space-5); font-size: 21px; line-height: 1.5; }
.personal-portrait { display: block; width: 100%; height: auto; border-radius: var(--radius-l); }
.personal-hero .hero__actions { justify-content: flex-start; gap: var(--space-5); }
.personal-experience { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--space-8); }
.personal-role { margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--hairline); }
.personal-role h3 { margin-block: var(--space-2); }
.personal-role-title { margin-bottom: var(--space-3); color: var(--text-2); }
.personal-pubs { list-style: none; padding: 0; margin-block: var(--space-5) var(--space-6); }
.personal-pubs li { padding-block: var(--space-5); border-bottom: 1px solid var(--hairline); }
.personal-pubs .caption { margin-top: var(--space-3); }
#experience, #silicon, #research, #contact { scroll-margin-top: var(--space-9); }
@media (max-width: 734px) {
  .personal-hero-grid, .personal-experience { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .personal-hero .hero__actions { flex-direction: row; flex-wrap: wrap; }
}

.infra-case > div:first-child{grid-column:1/-1}.infra-case-figure{margin:0;min-width:0}.infra-case-figure img{display:block;width:100%;height:auto}.infra-case{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px 40px}@media(max-width:760px){.infra-case{grid-template-columns:1fr}.infra-case-figure{overflow-x:auto}.infra-case-figure img{min-width:680px}.infra-case-figure::after{content:"Swipe to explore the workflow →";font-size:12px;color:#546277}}

.infra-case-figure,.infra-case > div:last-child{grid-column:1/-1}.infra-case > div:last-child dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}@media(max-width:760px){.infra-case > div:last-child dl{grid-template-columns:1fr;gap:12px}}

.infra-story{margin:32px 0 48px}.infra-story img{display:block;width:100%;height:auto}.infra-case-figure img{min-width:0}.infra-case-figure::after{content:none}.infra-figure .infra-diagram{display:block}.infra-case-figure a{display:block}.infra-case-figure img{background:#fff;border:1px solid #dbe3e4}.infra-case-figure .caption{line-height:1.6;margin-top:16px}.infra-case-figure{overflow:visible}

.infra-zoom-figure{grid-column:1/-1;margin:0}.infra-zoom-figure img{width:100%;height:auto;display:block}.infra-original{grid-column:1/-1}.infra-original summary{cursor:pointer;color:#176d64;font-weight:600;margin:12px 0}.infra-feedback{margin-top:64px}.infra-quote{margin:28px 0;padding:24px 30px;border-left:4px solid #176d64;background:white}.infra-quote>p:first-child{font-size:26px;line-height:1.6}.infra-translation{font-size:20px;color:#546277}.infra-quote-author{font-weight:600}.infra-quote .caption{margin-top:14px}
/* Compact personal portfolio: preserve evidence detail through full-size links. */
body { font-size:16px; line-height:1.55; }
.wrap, .nav__in { max-width:1180px; padding-inline:32px; }
.sec { padding-block:56px; }
.sec__head { margin-bottom:24px; }
.title { font-size:30px; line-height:1.2; }
.heading { font-size:23px; line-height:1.3; }
.subhead { font-size:18px; line-height:1.35; }
.display { font-size:40px; line-height:1.15; }
.personal-hero { padding-block:48px; }
.personal-hero .display--xl { font-size:46px; line-height:1.12; }
.personal-lede { font-size:18px; margin-block:16px; }
.personal-portrait { max-width:290px; justify-self:center; }
.personal-hero-grid { gap:40px; }
.personal-role { margin-top:20px; padding-top:16px; }
.bringup-metrics { gap:24px; margin-block:28px; }
.bringup-metric { padding-top:16px; }
.bringup-metric .display { margin-bottom:12px; }
.infra-explainer, .infra-cases { margin-top:40px; }
.infra-figure, .infra-story { max-width:720px; margin:24px auto; }
.infra-responsibilities { padding:20px; gap:24px; }
.infra-case { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:16px 28px; padding-block:28px; align-items:start; }
.infra-case h4 { margin-top:8px; }
.infra-case .infra-zoom-figure { grid-column:1; grid-row:2; }
.infra-case > div.infra-case-detail { grid-column:2; grid-row:2; }
.infra-case > div.infra-case-detail dl { display:grid; grid-template-columns:1fr; gap:16px; }
.infra-case dt { margin-bottom:4px; }
.infra-takeaway { margin-top:16px; font-size:14px; line-height:1.5; }
.infra-original { grid-column:1/-1; grid-row:3; }
.infra-original summary { font-size:14px; margin:0; }
.infra-original .infra-case-figure { max-width:800px; margin:16px auto; }
.infra-feedback { margin-top:40px; }
.infra-feedback-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:20px; }
.infra-quote { margin:0; padding:20px; border-left-width:3px; }
.infra-quote h4 { font-size:16px; line-height:1.4; margin-bottom:12px; color:#176d64; }
.infra-quote > p:first-child, .infra-quote > p[lang] { font-size:18px; line-height:1.55; }
.infra-translation { font-size:15px; line-height:1.5; margin-top:10px; }
.infra-quote-author { font-size:13px; margin-top:12px; }
.infra-quote .caption { margin-top:8px; }
.infra-feedback > .caption { margin-top:8px; }
#engineer-feedback { scroll-margin-top:80px; }
.infra-feedback-grid { grid-template-columns:1fr; gap:28px; }
.infra-feedback-scene { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:32px; align-items:center; padding-block:20px; border-bottom:1px solid #dbe3e4; }
.infra-scene-art h4 { font-size:19px; line-height:1.35; color:#176d64; margin-bottom:12px; }
.infra-scene-art img { width:100%; height:auto; display:block; border-radius:12px; }
.infra-scene-art .caption { font-size:12px; margin-top:8px; }
.infra-scene-dialogue { display:grid; gap:16px; min-width:0; }
.infra-speech { position:relative; border:1px solid #c9dcd7; border-radius:18px; padding:20px 24px; background:#fff; }
.infra-speech::before { content:""; position:absolute; left:-10px; top:30px; width:18px; height:18px; background:#fff; border-left:1px solid #c9dcd7; border-bottom:1px solid #c9dcd7; transform:rotate(45deg); }
.infra-speech > p[lang] { font-size:18px; line-height:1.55; }
@media(max-width:700px) {
 .infra-feedback-scene { grid-template-columns:1fr; gap:20px; padding-block:16px; }
 .infra-scene-art img { max-width:430px; margin-inline:auto; }
 .infra-speech::before { top:-10px; left:30px; transform:rotate(135deg); }
 .infra-speech { padding:18px; }
}

/* r10: case storyboards and speech composed inside the illustration. */
.infra-case-workflow { grid-column:1/-1; grid-row:2; margin:0 auto 12px; width:100%; max-width:920px; }
.infra-case-workflow img,.infra-dialogue-art img { display:block; width:100%; height:auto; }
.infra-case > *, .infra-feedback-scene > * { min-width:0; }
.infra-case .infra-zoom-figure { grid-row:3; }
.infra-case > div.infra-case-detail { grid-row:3; }
.infra-original { grid-row:4; }
.infra-feedback-scene { scroll-margin-top:72px; display:block; min-width:0; max-width:920px; width:100%; margin-inline:auto; padding:20px 0; }
.infra-feedback-scene h4 { font-size:20px; color:#176d64; margin-bottom:14px; }
.infra-dialogue-art { margin:0; }
.infra-dialogue-art img { border-radius:12px; }
.infra-scene-credit { font-size:13px; font-weight:600; margin-top:12px; }
.infra-quote-transcript summary { cursor:pointer; font-size:14px; color:#176d64; margin-top:10px; }
.infra-quote-transcript .infra-speech { margin-top:14px; border-radius:4px; }
.infra-quote-transcript .infra-speech::before { content:none; }
@media(max-width:600px) {
 .infra-dialogue-art > a,.infra-case-workflow > a { display:block; overflow-x:auto; border-radius:10px; }
 .infra-dialogue-art img { min-width:640px; }
 .infra-case-workflow img { min-width:820px; }
 .infra-dialogue-art > a::after,.infra-case-workflow > a::after { content:"Swipe to read the full scene →"; display:block; font-size:12px; color:#546277; padding-top:6px; }
}
@media(max-width:900px) {
 .infra-case .infra-case-workflow,.infra-case .infra-zoom-figure,.infra-case > div.infra-case-detail,.infra-original { grid-column:1; grid-row:auto; }
}
@media(max-width:900px) {
 .infra-case { grid-template-columns:minmax(0,1fr); }
 .infra-case .infra-zoom-figure { grid-column:1; grid-row:auto; max-width:680px; }
 .infra-case > div.infra-case-detail { grid-column:1; grid-row:auto; }
 .infra-original { grid-row:auto; }
 .infra-feedback-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
 .wrap, .nav__in { padding-inline:20px; }
 .sec { padding-block:36px; }
 .personal-hero { padding-block:28px; }
 .personal-hero .display--xl { font-size:36px; }
 .title { font-size:27px; }
 .heading { font-size:21px; }
 .personal-portrait { max-width:220px; }
 .personal-lede { font-size:17px; }
 .infra-quote { padding:16px; }
 .infra-quote > p:first-child, .infra-quote > p[lang] { font-size:17px; }
 .infra-feedback-grid { gap:14px; }
 .infra-case { padding-block:24px; }
 .nav__links { gap:12px; }
}


/* Real evidence remains a separate, unmodified image on the illustrated screen. */
.infra-screen-composite { display:block; position:relative; width:100%; }
.infra-screen-composite .infra-screen-evidence { position:absolute; left:2.57%; top:12.43%; width:61.30%; height:auto; min-width:0; border-radius:0; }
@media(max-width:600px) { .infra-screen-composite { min-width:640px; } }

/* Editorial pass: consistent type, comfortable reading width and optional evidence detail. */
body { font-size:16px; line-height:1.65; }
.wrap, .nav__in { max-width:1120px; }
.sec { padding-block:56px; }
.title { font-size:30px; line-height:1.25; letter-spacing:-.025em; }
.heading { font-size:23px; line-height:1.35; letter-spacing:-.015em; }
.subhead { font-size:18px; line-height:1.4; }
.caption, .figcap { font-size:13px; line-height:1.6; color:#586579; }
.eyebrow { font-size:11px; line-height:1.6; letter-spacing:.09em; }
.personal-hero h1 { font-size:44px; line-height:1.15; letter-spacing:-.035em; }
.personal-hero-grid { grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr); }
.personal-hero p { max-width:66ch; }
.personal-lede { font-size:20px; line-height:1.5; }
.personal-role p { max-width:64ch; }
.personal-role-title { font-weight:600; }
#ai-bringup > .wrap > p, .infra-explainer > p, .infra-feedback > p, #research > .wrap > p { max-width:76ch; }
.bringup-metric .display { font-size:35px; }
.bringup-metric h3 { font-size:17px; }
.bringup-metric > p:last-child { font-size:14px; line-height:1.6; }
.infra-figure { max-width:760px; }
.infra-case { display:flex; flex-direction:column; gap:18px; padding-block:34px; }
.infra-case > * { width:100%; }
.infra-case-workflow { max-width:840px; margin:0 auto; }
.infra-case-workflow figcaption, .infra-dialogue-art figcaption { margin-top:10px; }
.infra-case > div.infra-case-detail { order:2; }
.infra-case > div.infra-case-detail dl { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.infra-case dd { font-size:15px; line-height:1.65; }
.infra-case dt { font-size:11px; color:#176d64; }
.infra-takeaway { max-width:80ch; margin-top:20px; font-size:15px; }
.infra-extra { order:3; }
.infra-original { order:4; }
.infra-extra, .infra-original { border-top:1px solid #dbe3e4; padding-top:12px; }
.infra-extra summary, .infra-original summary, .infra-quote-transcript summary { cursor:pointer; color:#176d64; font-size:14px; font-weight:500; }
.infra-extra .infra-zoom-figure, .infra-original .infra-case-figure { max-width:800px; margin:20px auto 4px; }
.infra-feedback-scene { max-width:800px; padding-block:24px; }
.infra-feedback-scene h4 { font-size:21px; line-height:1.4; }
.infra-scene-credit { line-height:1.6; }
.infra-quote p { max-width:72ch; }
.personal-pubs h3 { font-size:17px; line-height:1.5; }
.bringup-layer p { font-size:15px; }
#silicon .prose, #fingerprint .prose, #draw .prose { max-width:72ch; }
#ai-bringup, #experience, #silicon, #research, #contact, #bringup-cases, #infra-architecture { scroll-margin-top:88px; }
summary:focus-visible, a:focus-visible { outline:2px solid #176d64; outline-offset:4px; }
@media(max-width:760px) {
 .personal-hero-grid, .personal-experience { grid-template-columns:minmax(0,1fr); }
 .personal-hero-grid { gap:24px; }
 .personal-portrait { max-width:240px; justify-self:start; }
 .personal-hero h1 { font-size:36px; }
 .personal-lede { font-size:18px; }
 .title { font-size:27px; }
 .heading { font-size:21px; }
 .sec { padding-block:36px; }
 .infra-case > div.infra-case-detail dl { grid-template-columns:1fr; gap:16px; }
 .infra-case-workflow img, .infra-dialogue-art img, .infra-screen-composite { min-width:0; }
 .infra-case-workflow > a, .infra-dialogue-art > a { overflow:visible; }
 .infra-case-workflow > a::after, .infra-dialogue-art > a::after { content:'Open image for a closer look ↗'; font-size:13px; padding-top:8px; }
 .infra-extra .infra-zoom-figure { width:100%; }
 .infra-feedback-scene { padding-block:18px; }
 .nav__in { align-items:flex-start; gap:6px; padding-block:10px; }
 .nav__links { display:flex; flex-wrap:nowrap; gap:18px; overflow-x:auto; width:100%; padding-bottom:3px; }
 .nav__links a { white-space:nowrap; font-size:13px; }
 .infra-mobile-flow { font-size:15px; }
 .infra-responsibilities { font-size:15px; }
}

@media (max-width:760px) { .nav__links { scrollbar-width:none; } .nav__links::-webkit-scrollbar { display:none; } }
