:root{--canvas:#f4f0e8;--surface:#fbf8f2;--ink:#171916;--muted:#59615c;--rule:#c7cbc2;--rule-strong:#8c968e;--accent:#1f5a48;--accent-soft:#dce7e0;--focus:#9a3e15;--warning:#713b16;--warning-soft:#f2e5d4;--charcoal:#17201d;--charcoal-panel:#202b27;--charcoal-text:#f3f1e9;--charcoal-muted:#b8c5be;--charcoal-rule:#52625b;--touch-target:2.75rem;--shell:80rem;--gutter:clamp(1rem, 4vw, 4rem);--header-height:4.75rem;--font-display-en:ui-serif, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--font-body-en:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--font-display-zh:"Songti SC", STSong, "Noto Serif CJK SC", "Source Han Serif SC", serif;--font-body-zh:"PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif}*,:before,:after{box-sizing:border-box}html{background:var(--canvas);min-width:20rem;color:var(--ink);font-family:var(--font-body-en)}:lang(zh){font-family:var(--font-body-zh)}:lang(zh) h1,:lang(zh) h2,:lang(zh) .display-statement{font-family:var(--font-display-zh)}body{overflow-wrap:anywhere;background:var(--canvas);text-rendering:optimizelegibility;min-height:100vh;margin:0;font-size:clamp(1rem,.35vw + .94rem,1.075rem);line-height:1.68}body:before{z-index:-1;content:"";opacity:.16;pointer-events:none;background-image:radial-gradient(circle,#17191617 .45px,#0000 .55px);background-size:5px 5px;position:fixed;inset:0}img{block-size:auto;max-inline-size:100%;display:block}a{color:inherit;text-underline-offset:.24em;text-decoration-thickness:.08em}a:hover{color:var(--accent)}button,input,textarea,select{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}::selection{background:var(--accent);color:#fff}.shell{width:min(calc(100% - (2 * var(--gutter))), var(--shell));margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.skip-link{z-index:1000;min-block-size:var(--touch-target);background:var(--ink);color:var(--surface);padding:.75rem 1rem;font-weight:750;transition:transform .18s;position:fixed;inset-block-start:0;inset-inline-start:var(--gutter);transform:translateY(-150%)}.skip-link:focus{transform:translateY(.75rem)}.site-header{z-index:50;background:#f4f0e8f5;border-block-end:1px solid #8c968eb8;position:sticky;inset-block-start:0}.site-nav{min-block-size:var(--header-height);justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.identity-link{min-block-size:var(--touch-target);align-items:center;gap:1rem;text-decoration:none;display:inline-flex}.identity-link span{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;font-size:.69rem;font-weight:750}.identity-link strong{letter-spacing:.015em;font-size:.9rem}.site-nav__links{align-items:center;gap:.3rem 1.15rem;display:flex}.site-nav__links a{min-block-size:var(--touch-target);min-inline-size:var(--touch-target);color:var(--muted);justify-content:center;align-items:center;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex;position:relative}.site-nav__links a:after{block-size:2px;transform-origin:inline-start;background:var(--accent);content:"";transition:transform .18s;position:absolute;inset-block-end:.35rem;inset-inline:0;transform:scaleX(0)}.site-nav__links a:hover,.site-nav__links a[aria-current]{color:var(--ink)}.site-nav__links a:hover:after,.site-nav__links a:focus-visible:after,.site-nav__links a[aria-current]:after{transform:scaleX(1)}.menu-toggle{min-block-size:var(--touch-target);min-inline-size:var(--touch-target);border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);justify-content:center;align-items:center;font-size:.76rem;font-weight:750;display:none}.menu-toggle__mark{margin-inline-start:.5rem;transition:transform .18s;display:inline-block}.menu-toggle[aria-expanded=true] .menu-toggle__mark{transform:rotate(45deg)}h1,h2,h3,p{margin-block-start:0}h1,h2{font-family:var(--font-display-en);letter-spacing:-.035em;font-weight:400}h1{font-size:clamp(3.5rem,10vw,8.75rem);line-height:.88}h2{font-size:clamp(2.35rem,6vw,5.5rem);line-height:.96}h3{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.22}p,li,dd{max-inline-size:72ch}.lead{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.5}.eyebrow,.meta,.status-label,.section-index,.chapter-label,.timeline-date,.article-date,.contact-action__label{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;font-size:.71rem;font-weight:750}.eyebrow{color:var(--accent);margin-block-end:1.25rem}.eyebrow--light{color:#b8d4c9}.status-label{border:1px solid var(--rule-strong);color:var(--muted);margin:0;padding:.38rem .55rem}.primary-action,.quiet-button{min-block-size:3.25rem;min-inline-size:var(--touch-target);border:1px solid var(--ink);background:var(--ink);color:var(--surface);justify-content:center;align-items:center;gap:.75rem;padding-block:.8rem;padding-inline:1.15rem;font-size:.82rem;font-weight:760;text-decoration:none;display:inline-flex}.primary-action:hover{border-color:var(--accent);background:var(--accent);color:#fff}.primary-action--light{border-color:var(--charcoal-text);background:var(--charcoal-text);color:var(--charcoal)}.primary-action--light:hover{color:var(--charcoal);background:#fff;border-color:#fff}.quiet-button{color:var(--ink);background:0 0}.quiet-button:hover{background:var(--surface);color:var(--accent)}.text-link,.email-link{min-block-size:var(--touch-target);align-items:center;gap:.65rem;font-weight:750;display:inline-flex}.link-arrow{transition:transform .18s;display:inline-block}a:hover .link-arrow,button:hover .link-arrow{transform:translate(3px)}.evidence-line{grid-template-columns:.55rem minmax(0,1fr);align-items:center;gap:.75rem;min-inline-size:0;display:grid}.evidence-line:after{background:var(--rule-strong);content:"";grid-column:2;block-size:1px}.evidence-line>span{background:var(--accent);grid-row:1/span 2;block-size:.5rem;inline-size:.5rem}.evidence-line p{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.69rem;font-weight:750}.evidence-line--contact:after,.evidence-line--ledger:after{background:var(--ink)}.fact-list{margin:1.5rem 0 0}.fact-list>div{border-block-start:1px solid var(--rule);padding-block:1rem}.fact-list dt{color:var(--muted);font-size:.76rem}.fact-list dd{margin:.18rem 0 0;font-weight:680}.site-footer{border-block-start:1px solid var(--rule-strong);color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;justify-content:space-between;gap:2rem;padding-block:2rem;font-size:.68rem;display:flex}.site-footer p{margin:0}.home-hero{min-block-size:calc(100vh - var(--header-height));grid-template-columns:minmax(0,1.35fr) minmax(17rem,.65fr);align-items:end;gap:clamp(3rem,8vw,8rem);padding-block:clamp(4rem,10vw,8.5rem);display:grid}.home-hero h1{max-inline-size:8ch;margin-block-end:1rem}.home-hero__location{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-block-end:2.25rem;font-size:.74rem;font-weight:750}.display-statement{max-inline-size:17ch;font-family:var(--font-display-en);margin-block-end:2rem;font-size:clamp(1.75rem,4vw,3.35rem);line-height:1.05}.home-hero__introduction{max-inline-size:44rem}.home-hero__primary .primary-action{margin-block-start:1.2rem}.evidence-ledger{border:1px solid var(--rule-strong);border-block-start:4px solid var(--ink);background:#fbf8f2c2;padding:1.3rem}.editorial-section,.home-contact{border-block-start:1px solid var(--rule-strong);grid-template-columns:minmax(8rem,.35fr) minmax(0,1.65fr);gap:clamp(2rem,8vw,8rem);padding-block:clamp(5rem,10vw,9rem);display:grid}.section-index{color:var(--muted);padding-inline-start:1.2rem;position:relative}.section-index:before{background:var(--rule-strong);content:"";inline-size:1px;position:absolute;inset-block:.2rem 0;inset-inline-start:0}.section-index:after{background:var(--accent);content:"";block-size:.5rem;inline-size:.5rem;position:absolute;inset-block-start:.2rem;inset-inline-start:-.22rem}.section-index span{color:var(--accent);display:block}.section-index p{margin-block-start:1.6rem}.section-copy h2{max-inline-size:12ch}.section-copy--wide p{max-inline-size:58rem}.project-feature{background:var(--charcoal);color:var(--charcoal-text)}.project-feature__inner{padding-block:clamp(5rem,10vw,9rem)}.project-feature__heading{grid-template-columns:minmax(8rem,.35fr) minmax(0,1.65fr);gap:clamp(2rem,8vw,8rem);display:grid}.project-feature__heading h2{max-inline-size:none;margin-block-end:2rem;font-size:clamp(3.4rem,11vw,9.5rem)}.section-index--light{color:var(--charcoal-muted)}.section-index--light:before{background:var(--charcoal-rule)}.section-index--light:after{background:#b8d4c9}.section-index--light span{color:#b8d4c9}.project-feature__body{grid-template-columns:minmax(15rem,.72fr) minmax(20rem,1.28fr);gap:clamp(2rem,6vw,6rem);margin-inline-start:calc(17.5% + 4rem);display:grid}.project-feature__copy{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.project-feature__body .primary-action{justify-self:start}.project-status{max-inline-size:31rem;color:var(--charcoal-muted);font-family:var(--font-display-en);font-size:clamp(1.45rem,3vw,2.5rem);line-height:1.18}.project-visual{border:1px solid var(--charcoal-rule);background:#0e1412;margin:0;overflow:hidden}.project-visual>img{inline-size:100%}.project-visual figcaption{border-block-start:1px solid var(--charcoal-rule);color:var(--charcoal-muted);gap:.3rem;padding:1rem;display:grid}.project-visual figcaption strong{color:var(--charcoal-text);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.7rem}.project-visual figcaption small{font-size:.78rem;line-height:1.5}.project-visual--home figcaption{grid-template-columns:3.5rem minmax(0,1fr);align-items:center;gap:1rem}.project-visual--home figcaption>img{border-radius:.7rem;inline-size:3.5rem}.project-visual--home figcaption span{gap:.25rem;display:grid}.neutral-evidence-frame{border:1px solid var(--rule-strong);background-color:var(--accent-soft);background-image:radial-gradient(circle,#1f5a4838 .65px,#0000 .8px);background-size:8px 8px;flex-direction:column;justify-content:space-between;min-block-size:20rem;margin-block:1.5rem;padding:1.25rem;display:flex}.neutral-evidence-frame span,.neutral-evidence-frame small{font-family:var(--font-mono);letter-spacing:.06em;font-size:.69rem}.neutral-evidence-frame strong{max-inline-size:24ch;font-family:var(--font-display-en);font-size:clamp(1.3rem,2.5vw,2rem);font-weight:400;line-height:1.15}.neutral-evidence-frame--dark{border-color:var(--charcoal-rule);background-color:var(--charcoal-panel);color:var(--charcoal-text);background-image:radial-gradient(circle,#b8d4c933 .65px,#0000 .8px)}.neutral-evidence-frame--dark span,.neutral-evidence-frame--dark small{color:var(--charcoal-muted)}.career-context{grid-template-columns:minmax(15rem,.72fr) minmax(20rem,1.28fr);gap:clamp(2rem,7vw,7rem);padding-block:clamp(5rem,9vw,8rem);display:grid}.career-context .evidence-line{align-self:start}.career-context h2,.career-context>p,.career-context>a{grid-column:2}.career-context h2{max-inline-size:13ch}.photography-section{border-block-start:1px solid var(--rule-strong);padding-block:clamp(5rem,10vw,9rem)}.photography-heading{grid-template-columns:minmax(8rem,.35fr) minmax(0,1.65fr);align-items:start;gap:clamp(2rem,8vw,8rem);display:grid}.photography-heading h2{max-inline-size:13ch}.photography-heading .lead{max-inline-size:42rem;color:var(--muted)}.photography-sequence{margin-block-start:clamp(3rem,7vw,6rem)}.photography-frame{opacity:1;margin:0;transform:none}.photography-frame__media{background:var(--charcoal);overflow:hidden}.photography-frame__media img{object-fit:cover;block-size:100%;inline-size:100%;transition:transform .22s}.photography-frame--lead .photography-frame__media{aspect-ratio:16/9}.photography-frame--lead .photography-frame__media img{object-position:50% 52%}.photography-pair{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:clamp(1rem,2vw,2rem);margin-block-start:clamp(3rem,7vw,6rem);display:grid}.photography-frame--portrait .photography-frame__media{aspect-ratio:2/3}.photography-frame--terrain .photography-frame__media{aspect-ratio:4/3}.photography-frame figcaption{border-block-start:1px solid var(--rule-strong);font-family:var(--font-mono);letter-spacing:.05em;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:.75rem 1rem;padding-block-start:.8rem;font-size:.68rem;display:grid}.photography-frame figcaption p{color:var(--ink);font-family:var(--font-body-en);letter-spacing:0;margin:0;font-size:.86rem}.photography-frame figcaption small{color:var(--muted);text-align:end;text-transform:uppercase}.photography-frame--portrait{--photo-reveal-delay:70ms}.photography-frame--terrain{--photo-reveal-delay:.14s}.js [data-photo-reveal]{opacity:.86;transition:opacity .22s ease var(--photo-reveal-delay,0s), transform .22s ease var(--photo-reveal-delay,0s);transform:translateY(12px)}.js [data-photo-reveal][data-revealed=true]{opacity:1;transform:translateY(0)}.js .photography-section .section-index:before{transform-origin:top;transition:transform .22s;transform:scaleY(.35)}.js .photography-section[data-revealed=true] .section-index:before{transform:scaleY(1)}@media (hover:hover) and (pointer:fine){.photography-frame:hover .photography-frame__media img{transform:scale(1.015)}}.home-contact{align-items:end}.home-contact h2{max-inline-size:14ch}.email-link{font-family:var(--font-display-en);font-size:clamp(1.5rem,4vw,3rem);font-weight:400}.page-hero{padding-block:clamp(5rem,10vw,9rem)}.page-hero--editorial{grid-template-columns:minmax(0,1.3fr) minmax(18rem,.7fr);align-items:end;gap:clamp(3rem,9vw,8rem);display:grid}.page-hero h1{max-inline-size:10ch;margin:0}.page-hero .lead{border-block-start:3px solid var(--ink);padding-block-start:1.5rem}.about-narrative{border-block-start:1px solid var(--rule-strong);grid-template-columns:minmax(8rem,.35fr) minmax(0,1.65fr);gap:clamp(2rem,8vw,8rem);padding-block:clamp(5rem,9vw,8rem);display:grid}.prose-column{max-inline-size:52rem}.prose-column h2{max-inline-size:10ch}.prose-column p{font-size:clamp(1.02rem,.5vw + .92rem,1.16rem)}.prose-column p+p{margin-block-start:1.5rem}.timeline-section,.education-section,.about-contact{border-block-start:1px solid var(--rule-strong);padding-block:clamp(5rem,9vw,8rem)}.section-heading{grid-template-columns:minmax(0,1.4fr) minmax(16rem,.6fr);align-items:end;gap:clamp(2rem,7vw,6rem);margin-block-end:3rem;display:grid}.section-heading h2{max-inline-size:11ch;margin-block-end:0}.section-heading>p{color:var(--muted);margin-block-end:.5rem}.evidence-timeline{padding-inline-start:2rem;position:relative}.evidence-timeline:before{background:var(--rule-strong);content:"";inline-size:1px;position:absolute;inset-block:.5rem;inset-inline-start:.25rem}.timeline-entry{border-block-start:1px solid var(--rule);grid-template-columns:12rem minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);padding-block:1.5rem;display:grid;position:relative}.timeline-entry:before{border:1px solid var(--accent);background:var(--canvas);content:"";block-size:.5rem;inline-size:.5rem;position:absolute;inset-block-start:1.85rem;inset-inline-start:-2rem}.timeline-entry--current:before{background:var(--accent)}.timeline-entry:last-child{border-block-end:1px solid var(--rule)}.timeline-date{color:var(--accent)}.timeline-entry h3{font-family:var(--font-display-en);margin-block-end:.45rem;font-size:clamp(1.45rem,3vw,2.25rem);font-weight:400}.timeline-entry p{margin-block-end:0}.education-section{grid-template-columns:minmax(8rem,.35fr) minmax(0,1.65fr);gap:clamp(2rem,8vw,8rem);display:grid}.education-section h2{max-inline-size:11ch}.education-list{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.education-list article{border:1px solid var(--rule-strong);background:#fbf8f2b8;min-block-size:14rem;padding:1.4rem}.education-list h3{max-inline-size:24ch;font-family:var(--font-display-en);margin-block-start:2.4rem;font-size:clamp(1.3rem,2.5vw,2rem);font-weight:400}.meta{color:var(--muted)}.about-contact{grid-template-columns:minmax(15rem,.72fr) minmax(20rem,1.28fr);gap:clamp(2rem,7vw,7rem);display:grid}.about-contact h2,.about-contact .primary-action{grid-column:2}.about-contact h2{max-inline-size:12ch}.about-contact .primary-action{justify-self:start}.case-hero{padding-block:clamp(4.5rem,10vw,8rem)}.case-hero__topline{justify-content:space-between;align-items:center;gap:2rem;display:flex}.case-hero__title-lockup{grid-template-columns:7rem minmax(0,1fr);align-items:end;gap:clamp(1.25rem,3vw,3rem);margin-block:clamp(3rem,8vw,7rem) 2rem;display:grid}.case-hero__title-lockup>img{border-radius:1.4rem;inline-size:7rem}.case-hero h1{overflow-wrap:normal;word-break:normal;max-inline-size:none;margin:0;font-size:clamp(3.8rem,11vw,9.5rem)}.case-hero__summary{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);align-items:start;gap:clamp(3rem,9vw,8rem);display:grid}.fact-list--case{margin-block-start:0}.case-nav-wrap{z-index:40;border-block:1px solid var(--rule-strong);background:#f4f0e8fa;grid-template-columns:minmax(0,1fr);display:grid;position:sticky;inset-block-start:var(--header-height)}.chapter-progress{z-index:1;pointer-events:none;block-size:3px;position:absolute;inset-block-start:-1px;inset-inline:0;overflow:hidden}.chapter-progress span{block-size:100%;inline-size:100%;transform:scaleX(var(--chapter-progress,.111));transform-origin:inline-start;background:var(--accent);transition:transform .22s;display:block}.case-nav{scrollbar-width:thin;gap:.25rem 1rem;display:flex;overflow-x:auto}.case-nav a{min-block-size:var(--touch-target);min-inline-size:var(--touch-target);color:var(--muted);flex:none;justify-content:center;align-items:center;padding-inline:.15rem;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-flex}.case-nav a:hover,.case-nav a[aria-current]{color:var(--ink);text-underline-offset:.35rem;text-decoration:underline 2px}.case-nav__affordance{display:none}.case-chapter{border-block-start:1px solid var(--rule);grid-template-columns:minmax(7rem,.3fr) minmax(0,1.7fr);gap:clamp(2rem,8vw,7rem);padding-block:clamp(4.5rem,9vw,8rem);scroll-margin-block-start:calc(var(--header-height) + var(--touch-target) + 1rem);display:grid}.chapter-label{color:var(--muted);padding-inline-start:1.2rem;position:relative}.chapter-label:before{background:var(--rule-strong);content:"";inline-size:1px;position:absolute;inset-block:.2rem 0;inset-inline-start:0}.chapter-label:after{background:var(--accent);content:"";block-size:.5rem;inline-size:.5rem;position:absolute;inset-block-start:.2rem;inset-inline-start:-.22rem}.chapter-label span{color:var(--accent)}.chapter-label p{margin-block-start:1.5rem}.chapter-body{max-inline-size:56rem}.chapter-body h2{max-inline-size:13ch}.constraint-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:0;list-style:none;display:grid}.constraint-list li{border-block-start:2px solid var(--accent);background:#fbf8f2a6;min-block-size:8rem;padding:1rem}.constraint-list strong,.constraint-list span{display:block}.constraint-list span{color:var(--muted);margin-block-start:.65rem}.evidence-chapter{background:var(--charcoal);color:var(--charcoal-text);scroll-margin-block-start:calc(var(--header-height) + var(--touch-target) + 1rem)}.evidence-chapter__inner{grid-template-columns:minmax(7rem,.3fr) minmax(0,1.7fr);gap:clamp(2rem,8vw,7rem);padding-block:clamp(5rem,10vw,9rem);display:grid}.chapter-label--dark{color:var(--charcoal-muted)}.chapter-label--dark:before{background:var(--charcoal-rule)}.chapter-label--dark:after{background:#b8d4c9}.chapter-label--dark span{color:#b8d4c9}.evidence-chapter__body h2{max-inline-size:12ch}.evidence-chapter__body .lead{color:var(--charcoal-muted)}.evidence-frame-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block-start:3rem;display:grid}.evidence-frame-grid .neutral-evidence-frame{min-block-size:24rem;margin:0}.visual-evidence{margin-block-start:3rem}.project-visual--interface>img{background:#050605}.project-visual--interface figcaption span{color:var(--charcoal-text);font-family:var(--font-display-en);font-size:clamp(1.25rem,2.5vw,2rem);line-height:1.2}.output-record{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block-start:1rem;display:grid}.evidence-photo{border:1px solid var(--charcoal-rule);background:#0e1412;margin:0;overflow:hidden}.evidence-photo>img{aspect-ratio:2/3;object-fit:cover;inline-size:100%}.evidence-photo figcaption{border-block-start:1px solid var(--charcoal-rule);gap:.35rem;padding:1rem;display:grid}.evidence-photo figcaption strong{color:var(--charcoal-text);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.7rem}.evidence-photo figcaption small{color:var(--charcoal-muted);font-size:.78rem;line-height:1.5}.evidence-boundary{color:var(--charcoal-muted);border-inline-start:3px solid #b8d4c9;margin-block:1rem 0;padding:1rem;font-size:.86rem}.gate-note{background:#202b27cc;border-inline-start:3px solid #d6a87e;margin-block-start:2rem;padding:1.2rem}.gate-note strong{color:#f1c59c;font-family:var(--font-mono);letter-spacing:.08em;font-size:.71rem}.gate-note p{color:var(--charcoal-muted);margin:.5rem 0 0}.next-list{padding-inline-start:1.3rem}.next-list li{border-block-start:1px solid var(--rule);padding-block:.75rem}.page--contact main{min-block-size:calc(100vh - (2 * var(--header-height)));display:grid}.contact-hero{grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);align-items:center;gap:clamp(3rem,10vw,9rem);padding-block:clamp(5rem,12vw,10rem);display:grid}.contact-hero h1{max-inline-size:8ch}.contact-hero__heading .lead{max-inline-size:34rem}.contact-action{border-block:1px solid var(--rule-strong);padding-block:1.4rem}.contact-action__label{color:var(--muted);margin-block:2.5rem .75rem}.contact-email{min-block-size:var(--touch-target);max-inline-size:100%;font-family:var(--font-display-en);overflow-wrap:anywhere;align-items:center;gap:.65rem;font-size:clamp(1.15rem,2.2vw,1.7rem);font-weight:400;display:inline-flex}.contact-action__note{color:var(--muted);margin-block:2.5rem 0;font-size:.86rem}@media (width<=70rem){.home-hero{grid-template-columns:minmax(0,1.1fr) minmax(16rem,.9fr);gap:3rem}.project-feature__body{margin-inline-start:0}}@media (width<=48rem){:root{--gutter:1rem;--header-height:4.5rem}.site-header{position:relative}.site-nav{flex-wrap:wrap;gap:.5rem 1rem;padding-block:.65rem}.js .menu-toggle{display:inline-flex}.site-nav__links{flex-wrap:wrap;justify-content:flex-start;gap:.1rem .65rem;inline-size:100%;padding-block:.25rem .45rem}.js .site-nav__links{display:none}.js .site-nav__links[data-open=true]{display:flex}.site-nav__links a{justify-content:flex-start}.identity-link span{display:none}h1{font-size:clamp(3.25rem,18vw,5.6rem)}h2{font-size:clamp(2.25rem,12vw,4rem)}.primary-action{inline-size:100%}.home-hero,.page-hero--editorial,.contact-hero{grid-template-columns:1fr;gap:3rem;min-block-size:auto;padding-block:4.5rem 5rem}.home-hero h1{max-inline-size:none}.display-statement{font-size:2rem}.editorial-section,.home-contact,.project-feature__heading,.about-narrative,.education-section,.about-contact{grid-template-columns:1fr;gap:2rem}.project-feature__body,.career-context{grid-template-columns:1fr;margin-inline-start:0}.project-feature__body .primary-action{justify-self:stretch}.career-context h2,.career-context>p,.career-context>a,.about-contact h2,.about-contact .primary-action{grid-column:1}.photography-heading,.photography-pair{grid-template-columns:1fr;gap:2rem}.photography-frame--lead .photography-frame__media{aspect-ratio:4/3}.photography-frame figcaption{grid-template-columns:auto minmax(0,1fr)}.photography-frame figcaption small{text-align:start;grid-column:2}.section-index{min-block-size:5rem}.section-heading{grid-template-columns:1fr;gap:1.25rem}.education-list,.constraint-list,.evidence-frame-grid{grid-template-columns:1fr}.timeline-entry{grid-template-columns:1fr;gap:.35rem}.timeline-entry h3{margin-block-start:.25rem}.case-hero__topline{flex-direction:column;align-items:flex-start}.case-hero__title-lockup{grid-template-columns:1fr;gap:1rem}.case-hero__title-lockup>img{border-radius:.9rem;inline-size:4.5rem}.case-hero h1{font-size:clamp(2.35rem,11.5vw,4.5rem)}.case-hero__summary{grid-template-columns:1fr;gap:2rem}.case-nav-wrap{grid-template-columns:minmax(0,1fr) auto;position:sticky;inset-block-start:0}.case-nav{inline-size:100%;scroll-padding-inline:var(--gutter);padding-inline-start:var(--gutter)}.case-nav__affordance{border-inline-start:1px solid var(--rule);background:var(--surface);color:var(--muted);font-family:var(--font-mono);white-space:nowrap;align-items:center;padding-inline:.65rem;font-size:.62rem;display:inline-flex}.case-chapter,.evidence-chapter__inner{grid-template-columns:1fr;gap:1.5rem;scroll-margin-block-start:calc(var(--touch-target) + 1rem)}.evidence-chapter{scroll-margin-block-start:calc(var(--touch-target) + 1rem)}.neutral-evidence-frame{min-block-size:16rem}.evidence-frame-grid .neutral-evidence-frame{min-block-size:18rem}.output-record{grid-template-columns:1fr}.page--contact main{min-block-size:auto}.contact-email{font-size:1.25rem}.site-footer{flex-direction:column;gap:.25rem}}@media (width<=24rem){.site-nav__links{gap:.1rem .35rem}.site-nav__links a{padding-inline:.1rem;font-size:.72rem}.home-hero__introduction,.project-status,.lead{font-size:1.08rem}.contact-email{font-family:var(--font-body-en);font-size:1rem;font-weight:700}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.skip-link{transition:none}.link-arrow,.menu-toggle__mark,.site-nav__links a:after,.chapter-progress span{transform:none!important}.photography-frame,.photography-frame__media img,.photography-section .section-index:before{opacity:1!important;transition:none!important;transform:none!important}}@media (prefers-reduced-data:reduce){body:before{display:none}}@media (forced-colors:active){body:before{display:none}.evidence-line>span,.chapter-label:after,.section-index:after,.timeline-entry:before{background:canvas;border:2px solid canvastext}.site-nav__links a[aria-current]{outline:2px solid canvastext}}@media print{body:before,.site-header,.site-footer,.menu-toggle{display:none}body{color:#000;background:#fff;font-size:10.5pt}a{color:inherit;text-decoration:none}}
