:root{--container-wide:88rem;--container-content:76rem;--container-reading:46rem;--gutter-desktop:2rem;--gutter-tablet:1.5rem;--gutter-mobile:1rem;--section-space-xl:clamp(5rem, 8vw, 8rem);--section-space-lg:clamp(3.75rem, 6vw, 6rem);--section-space-md:clamp(2.75rem, 4vw, 4rem);--section-space-sm:clamp(1.75rem, 3vw, 2.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--space-32:8rem;--radius-media:.75rem;--radius-control:.375rem;--radius-small:.25rem;--border-width:1px;--focus-width:2px;--duration-fast:.14s;--duration-normal:.24s;--duration-slow:.42s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.2, .8, .2, 1)}:root,html[data-theme=light]{color-scheme:light;--page-background:#f4f5f2;--page-background-subtle:#ecefeb;--surface-default:#fafbf8;--surface-subtle:#eef1ed;--surface-strong:#dde3de;--text-primary:#181b19;--text-secondary:#555d59;--text-muted:#78807c;--text-inverse:#f4f6f3;--border-subtle:#dfe3df;--border-default:#c8cec9;--border-strong:#838c86;--action-primary:#265f50;--action-primary-hover:#194b3f;--action-primary-text:#f5f8f6;--focus-ring:#156bd1;--media-background:#e6eae6;--media-frame:#cfd5d0;--media-overlay:#141c1814;--media-scrim:#0a100dad;--status-active:#226b55;--status-exploring:#496d91;--status-paused:#8a6230;--status-completed:#55645d;--selection-background:#cfe1da;--header-background:#f4f5f2;--media-shadow:0 18px 60px #212b2614;--media-hover-shadow:0 24px 70px #212b2621}html[data-theme=dark]{color-scheme:dark;--page-background:#111513;--page-background-subtle:#151b18;--surface-default:#181e1b;--surface-subtle:#1d2521;--surface-strong:#28322d;--text-primary:#e7ece8;--text-secondary:#abb5af;--text-muted:#7e8a83;--text-inverse:#121714;--border-subtle:#242e29;--border-default:#34413b;--border-strong:#66746c;--action-primary:#83c6af;--action-primary-hover:#a3d7c5;--action-primary-text:#102019;--focus-ring:#7eb5f5;--media-background:#0c100e;--media-frame:#2b3631;--media-overlay:#bfe0d314;--media-scrim:#050807c2;--status-active:#82cdb2;--status-exploring:#8eb9df;--status-paused:#d4aa73;--status-completed:#a5b3ab;--selection-background:#315447;--header-background:#111513;--media-shadow:0 22px 80px #00000047;--media-hover-shadow:0 30px 96px #0000006b}:root{--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--type-display-large:clamp(3rem, 6vw, 4.75rem);--type-display-medium:clamp(2.5rem, 5vw, 3.75rem);--type-heading-1:clamp(2.25rem, 4vw, 3.25rem);--type-heading-2:clamp(1.75rem, 3vw, 2.5rem);--type-heading-3:clamp(1.3rem, 2vw, 1.75rem);--type-heading-4:clamp(1.05rem, 1.4vw, 1.25rem);--type-body-large:clamp(1.075rem, 1.4vw, 1.25rem);--type-body-default:1rem;--type-body-small:.875rem;--type-meta:.78rem;--type-label:.72rem;--type-code:.9rem}body{font-family:var(--font-sans);font-size:var(--type-body-default);font-synthesis:none;text-rendering:optimizelegibility;line-height:1.68}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--text-primary);letter-spacing:-.035em;font-weight:590}h1{font-size:var(--type-heading-1);line-height:1.06}h2{font-size:var(--type-heading-2);line-height:1.1}h3{font-size:var(--type-heading-3);line-height:1.18}h4{font-size:var(--type-heading-4);line-height:1.25}.display-large{font-size:var(--type-display-large);line-height:.98}.display-medium{font-size:var(--type-display-medium);line-height:1.02}.eyebrow,.meta,.label{font-size:var(--type-label);letter-spacing:.11em;text-transform:uppercase;font-weight:650}.eyebrow{margin-bottom:var(--space-3);color:var(--text-muted)}.lede{max-width:48rem;color:var(--text-secondary);font-size:var(--type-body-large);line-height:1.62}.prose{color:var(--text-secondary);font-size:clamp(1rem,1.15vw,1.075rem);line-height:1.86}.prose h2,.prose h3,.prose h4{margin-top:2.2em}.prose h2+p,.prose h3+p,.prose h4+p{margin-top:0}.prose a{color:var(--text-primary);text-decoration-color:var(--border-strong);text-underline-offset:.22em;text-decoration-thickness:.08em}.prose blockquote{margin:var(--space-8) 0;padding:var(--space-4) 0 var(--space-4) var(--space-6);border-left:2px solid var(--action-primary);color:var(--text-primary);font-size:var(--type-body-large);line-height:1.65}code,pre{font-family:var(--font-mono);font-size:var(--type-code)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--page-background);min-width:20rem}html[data-menu-open=true]{overflow:hidden}body{background:var(--page-background);min-width:20rem;color:var(--text-primary);margin:0;overflow-x:clip}::selection{background:var(--selection-background);color:var(--text-primary)}img,svg,video{max-width:100%;display:block}.theme-picture{width:100%;height:100%;display:block}.theme-picture-dark,html[data-theme=dark] .theme-picture-light.theme-picture-has-dark{display:none}html[data-theme=dark] .theme-picture-dark{display:block}.theme-picture img{object-fit:cover;width:100%;height:100%}button,input,textarea,select{font:inherit}button,a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:3px}html[data-theme-ready=true] body,html[data-theme-ready=true] .site-header,html[data-theme-ready=true] .nav-panel,html[data-theme-ready=true] .media-frame,html[data-theme-ready=true] .entry-card,html[data-theme-ready=true] .build-note{transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard)}.skip-link{z-index:100;top:var(--space-3);left:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--text-primary);color:var(--text-inverse);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.container,.wide-container,.reading-container{width:min(calc(100% - (var(--gutter-desktop) * 2)), var(--container-content));margin-inline:auto}.wide-container{max-width:var(--container-wide)}.reading-container,.narrow-container,.narrow-prose{max-width:var(--container-reading)}.site-header{z-index:40;border-bottom:var(--border-width) solid var(--border-subtle);background:var(--header-background);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-8);min-height:4rem;display:flex}.wordmark{align-items:baseline;gap:var(--space-3);letter-spacing:-.02em;white-space:nowrap;font-size:.94rem;font-weight:680;text-decoration:none;display:inline-flex}.wordmark-role{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:520}.nav-panel,.nav-list,.footer-links{align-items:center;display:flex}.nav-panel{gap:var(--space-8)}.nav-list{gap:var(--space-6);margin:0;padding:0;list-style:none}.nav-list a{padding-block:var(--space-2);color:var(--text-secondary);font-size:.84rem;text-decoration:none;display:block;position:relative}.nav-list a:after{background:var(--action-primary);content:"";transform-origin:100%;height:1px;transition:transform var(--duration-fast) var(--ease-standard);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-list a:hover,.nav-list a[aria-current=page]{color:var(--text-primary)}.nav-list a:hover:after,.nav-list a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.theme-toggle,.menu-toggle{justify-content:center;align-items:center;gap:var(--space-2);cursor:pointer;background:0 0;border:0;min-height:2.75rem;padding:0;font-size:.78rem;font-weight:620;display:inline-flex}.theme-toggle{padding-left:var(--space-6);border-left:var(--border-width) solid var(--border-default);color:var(--text-secondary)}.theme-toggle:hover{color:var(--text-primary)}.theme-indicator{border:var(--border-width) solid var(--border-strong);background:var(--page-background);width:.55rem;height:.55rem;box-shadow:inset .2rem -.08rem 0 var(--text-primary);border-radius:50%}html[data-theme=dark] .theme-indicator{background:var(--action-primary);box-shadow:none}.menu-toggle{display:none}.menu-icon{gap:.25rem;width:1rem;display:grid}.menu-icon i{height:1px;transition:transform var(--duration-fast) var(--ease-standard);background:currentColor;display:block}.site-footer{margin-top:var(--section-space-xl);border-top:var(--border-width) solid var(--border-default)}.footer-inner{align-items:center;gap:var(--space-8);min-height:9rem;color:var(--text-muted);font-size:var(--type-body-small);grid-template-columns:1fr auto auto;display:grid}.footer-inner p{margin:0}.footer-identity{gap:var(--space-1);display:grid}.footer-identity strong{color:var(--text-primary)}.footer-links{gap:var(--space-4)}.footer-links a,.site-footer a{text-underline-offset:.22em}.button-row{gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.button,.button-secondary{min-height:2.75rem;padding-inline:var(--space-4);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-control);color:var(--text-primary);transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);background:0 0;justify-content:center;align-items:center;font-size:.85rem;font-weight:620;text-decoration:none;display:inline-flex}.button{border-color:var(--action-primary);background:var(--action-primary);color:var(--action-primary-text)}.button:hover,.button-secondary:hover{transform:translateY(-1px)}.button:hover{border-color:var(--action-primary-hover);background:var(--action-primary-hover)}.button-secondary:hover{border-color:var(--border-strong);background:var(--surface-subtle)}.text-link{align-items:center;gap:var(--space-2);color:var(--text-primary);text-decoration-color:var(--border-strong);text-underline-offset:.24em;font-size:.86rem;font-weight:640;display:inline-flex}.text-link:hover{color:var(--action-primary)}.section{padding-block:var(--section-space-lg);border-top:var(--border-width) solid var(--border-subtle)}.section:first-child{border-top:0}.section-heading{align-items:end;gap:var(--space-8);margin-bottom:var(--space-8);grid-template-columns:minmax(0,1fr) auto;display:grid}.section-heading h2{margin-bottom:0}.section-description{max-width:42rem;margin:var(--space-3) 0 0;color:var(--text-secondary)}.page-header,.content-header,.project-header{padding-block:var(--section-space-lg)}.page-header h1,.content-header h1,.project-header h1{margin-bottom:var(--space-6)}.page-header{border-bottom:var(--border-width) solid var(--border-subtle)}.page-header-grid{align-items:end;gap:var(--space-16);grid-template-columns:minmax(0,1fr) minmax(17rem,.65fr);display:grid}.page-header-grid .lede{margin-bottom:0}.home-hero{min-height:min(43rem,100vh - 4rem);padding-block:var(--section-space-xl) var(--section-space-lg)}.home-hero-grid{align-items:end;gap:var(--space-16);grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr);min-height:30rem;display:grid}.home-hero h1{max-width:12ch;margin-bottom:var(--space-6)}.home-hero-role{margin-bottom:var(--space-4);color:var(--text-primary);font-size:var(--type-body-large);font-weight:610}.home-hero-copy{max-width:42rem;margin-bottom:var(--space-4);color:var(--text-secondary);font-size:var(--type-body-large)}.home-hero-aside{align-content:end;gap:var(--space-8);padding-bottom:var(--space-2);display:grid}.home-hero-note{padding-top:var(--space-4);border-top:var(--border-width) solid var(--border-default);color:var(--text-secondary);font-size:var(--type-body-small);margin:0}.home-hero-meta{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.home-hero-meta div{gap:var(--space-1);display:grid}.home-hero-meta dt,.project-facts dt,.contact-list dt,.lab-facts dt{color:var(--text-muted);font-size:var(--type-label);letter-spacing:.1em;text-transform:uppercase;font-weight:650}.home-hero-meta dd,.project-facts dd,.contact-list dd,.lab-facts dd{color:var(--text-primary);margin:0}.featured-project{gap:var(--space-12);grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr);display:grid}.featured-project-media,.media-frame{border:var(--border-width) solid var(--media-frame);border-radius:var(--radius-media);background:var(--media-background);box-shadow:var(--media-shadow);display:block;position:relative;overflow:hidden}.featured-project-media{aspect-ratio:16/10;min-height:30rem}.featured-project-media img,.media-frame img,.entry-cover img,.project-cover img,.content-cover img{object-fit:cover;width:100%;height:100%}.featured-project-media img,.media-frame img{transition:opacity var(--duration-normal) var(--ease-standard), transform var(--duration-slow) var(--ease-emphasized)}.featured-project-media:hover img,.media-frame:hover img{transform:scale(1.012)}html[data-theme=dark] .featured-project-media,html[data-theme=dark] .media-frame{box-shadow:var(--media-shadow)}html[data-theme=dark] .featured-project-media:hover,html[data-theme=dark] .media-frame:hover{box-shadow:var(--media-hover-shadow)}html[data-theme=dark] .featured-project-media img,html[data-theme=dark] .media-frame img,html[data-theme=dark] .entry-cover img,html[data-theme=dark] .project-cover img,html[data-theme=dark] .content-cover img{opacity:.93}html[data-theme=dark] .theme-picture-dark img{opacity:1}.featured-project-copy{padding-block:var(--space-4);flex-direction:column;justify-content:space-between;display:flex}.project-number{color:var(--text-muted);font-size:var(--type-label);letter-spacing:.12em;font-weight:650}.featured-project-copy h3{margin:var(--space-6) 0 var(--space-2)}.featured-project-title-en{margin-bottom:var(--space-6);color:var(--text-muted);font-size:var(--type-body-small)}.featured-project-copy>div>p:last-child,.project-index-copy>p,.lab-entry-copy>p{color:var(--text-secondary)}.project-meta-line{gap:var(--space-2) var(--space-6);padding-top:var(--space-4);border-top:var(--border-width) solid var(--border-subtle);color:var(--text-muted);font-size:var(--type-meta);flex-wrap:wrap;display:flex}.project-index{border-top:var(--border-width) solid var(--border-default);margin:0;padding:0;list-style:none}.project-index-item{align-items:center;gap:var(--space-6);padding-block:var(--space-6);border-bottom:var(--border-width) solid var(--border-subtle);grid-template-columns:3rem minmax(0,1fr) minmax(10rem,.35fr) auto;display:grid}.project-index-item h3{font-size:var(--type-heading-4);margin:0}.project-index-item h3 a{text-decoration:none}.project-index-title-en,.project-index-meta{color:var(--text-muted);font-size:var(--type-body-small)}.project-index-item:hover h3 a{color:var(--action-primary)}.writing-index{border-top:var(--border-width) solid var(--border-default);margin:0;padding:0;list-style:none}.writing-row{align-items:start;gap:var(--space-6);padding-block:var(--space-6);border-bottom:var(--border-width) solid var(--border-subtle);grid-template-columns:8rem minmax(0,.85fr) minmax(18rem,1.15fr) auto;display:grid}.writing-row time,.writing-row-meta{color:var(--text-muted);font-size:var(--type-meta)}.writing-row h2,.writing-row h3{font-size:var(--type-heading-4);margin:0}.writing-row h2 a,.writing-row h3 a{text-decoration:none}.writing-row p{color:var(--text-secondary);font-size:var(--type-body-small);margin:0}.writing-row:hover h2 a,.writing-row:hover h3 a{color:var(--action-primary)}.lab-showcase{gap:var(--space-6);grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);display:grid}.lab-feature,.lab-entry{min-width:0}.lab-feature .media-frame{aspect-ratio:16/9}.lab-stack{gap:var(--space-6);display:grid}.lab-entry{gap:var(--space-6);padding-top:var(--space-6);border-top:var(--border-width) solid var(--border-subtle);grid-template-columns:minmax(8rem,.45fr) minmax(0,1fr);display:grid}.lab-entry .media-frame{aspect-ratio:4/3;box-shadow:none}.lab-entry-copy{min-width:0}.lab-entry-copy h3,.lab-feature-copy h3{margin:var(--space-3) 0}.lab-entry-copy h3 a,.lab-feature-copy h3 a{text-decoration:none}.lab-feature-copy{gap:var(--space-6);padding-top:var(--space-6);grid-template-columns:minmax(0,1fr) auto;display:grid}.lab-feature-copy>div>p:last-child{max-width:44rem;color:var(--text-secondary)}.status-line,.status-badge{align-items:center;gap:var(--space-2);color:var(--status-active);font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase;font-weight:680;display:inline-flex}.status-line:before,.status-badge:before{content:"";background:currentColor;border-radius:50%;width:.45rem;height:.45rem}.status-badge{border:0;border-radius:0;min-height:auto;padding:0}.status-badge.prominent{padding-top:var(--space-2)}.status-exploring{color:var(--status-exploring)}.status-paused{color:var(--status-paused)}.status-completed{color:var(--status-completed)}.home-about{gap:var(--space-16);grid-template-columns:minmax(0,.8fr) minmax(20rem,1.2fr);display:grid}.home-about h2{margin-bottom:0}.home-about-copy{max-width:46rem;color:var(--text-secondary);font-size:var(--type-body-large)}.build-note{padding:var(--space-4);border-left:2px solid var(--action-primary);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--type-body-small)}.entry-grid{gap:var(--space-8) var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.entry-card{border-top:var(--border-width) solid var(--border-default);background:0 0;min-width:0}.entry-cover{margin-top:var(--space-4);border:var(--border-width) solid var(--media-frame);border-radius:var(--radius-media);background:var(--media-background);display:block;overflow:hidden}.entry-cover-project{aspect-ratio:16/10}.entry-cover-writing{aspect-ratio:3/2}.entry-cover-lab{aspect-ratio:4/3}.entry-cover img{transition:transform var(--duration-slow) var(--ease-emphasized)}.entry-cover:hover img{transform:scale(1.012)}.entry-card-body{padding-block:var(--space-4)}.entry-card-kicker,.entry-card-footer,.content-meta{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);color:var(--text-muted);font-size:var(--type-meta);flex-wrap:wrap;display:flex}.entry-card h3{margin:var(--space-4) 0 var(--space-3)}.entry-card h3 a{text-decoration:none}.entry-card h3 span{margin-top:var(--space-1);color:var(--text-muted);font-size:.72em;font-weight:470;display:block}.entry-card-body>p{color:var(--text-secondary)}.content-meta{margin-top:var(--space-6);justify-content:flex-start}.tag-list{gap:var(--space-2) var(--space-4);margin:var(--space-6) 0 0;color:var(--text-muted);font-size:var(--type-meta);flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag-list li+li:before{margin-right:var(--space-4);color:var(--border-strong);content:"·"}.project-heading-row{align-items:start;gap:var(--space-8);grid-template-columns:minmax(0,1fr) auto;display:grid}.project-title-en{color:var(--text-muted);font-size:var(--type-body-large);margin-bottom:0}.project-intro-grid{align-items:end;gap:var(--space-16);margin-top:var(--space-12);grid-template-columns:minmax(0,1fr) minmax(22rem,.75fr);display:grid}.project-intro-grid .lede{margin-bottom:0}.project-facts,.contact-list,.lab-facts{border-top:var(--border-width) solid var(--border-default);margin:0;padding:0;display:grid}.project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-facts div,.contact-list div,.lab-facts div{min-width:0;padding:var(--space-4) 0;border-bottom:var(--border-width) solid var(--border-subtle)}.project-facts div+div{padding-left:var(--space-4);border-left:var(--border-width) solid var(--border-subtle)}.project-facts div:nth-child(3){border-top:var(--border-width) solid var(--border-subtle);border-left:0;padding-left:0}.project-facts div:nth-child(4){border-top:var(--border-width) solid var(--border-subtle)}.project-cover,.content-cover{border:var(--border-width) solid var(--media-frame);border-radius:var(--radius-media);background:var(--media-background);box-shadow:var(--media-shadow);overflow:hidden}.project-cover{aspect-ratio:16/10}.content-cover-writing{aspect-ratio:3/2}.content-cover-lab{aspect-ratio:16/10}.content-cover-spotlight{aspect-ratio:16/9}.media-note{justify-content:space-between;align-items:center;gap:var(--space-4);margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--type-meta);display:flex}.media-story{gap:var(--space-8) var(--space-6);padding-top:var(--section-space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.media-story-item{min-width:0;margin:0}.media-story-wide{grid-column:1/-1}.media-story-frame{border:var(--border-width) solid var(--media-frame);border-radius:var(--radius-media);background:var(--media-background);overflow:hidden}.media-story-wide .media-story-frame{aspect-ratio:16/9}.media-story-pair .media-story-frame{aspect-ratio:4/3}.media-story-item figcaption{justify-content:space-between;gap:var(--space-4);margin-top:var(--space-3);color:var(--text-muted);font-size:var(--type-meta);display:flex}.media-story-item figcaption span:first-child{color:var(--text-secondary);flex:none;font-weight:630}.detail-grid{padding-top:var(--section-space-lg);grid-template-columns:12rem minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,7rem);display:grid}.contents-nav{position:sticky;top:6rem}.contents-nav p{margin-bottom:var(--space-4);color:var(--text-muted);font-size:var(--type-label);letter-spacing:.1em;text-transform:uppercase;font-weight:650}.contents-nav ol{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.contents-nav a{color:var(--text-muted);font-size:var(--type-body-small);line-height:1.45;text-decoration:none}.contents-nav a:hover{color:var(--action-primary)}.case-study-prose,.lab-prose{grid-template-columns:minmax(0, 1fr) minmax(0, var(--container-reading)) minmax(0, .25fr);column-gap:var(--space-8);display:grid}.case-study-prose>*,.lab-prose>*{grid-column:2}.case-study-prose>h2,.lab-prose>h2{max-width:24ch;margin-top:var(--section-space-md);padding-top:var(--space-6);border-top:var(--border-width) solid var(--border-default);grid-column:1/3}.case-study-prose>blockquote,.lab-prose>blockquote{grid-column:1/4;max-width:58rem}.content-page>.prose,.article-body{padding-bottom:var(--section-space-md)}.content-shell{gap:var(--space-16);grid-template-columns:minmax(0,1fr) minmax(18rem,.4fr);display:grid}.content-shell .content-meta{place-content:end flex-start}.article-body{width:min(calc(100% - (var(--gutter-desktop) * 2)), var(--container-reading));max-width:var(--container-reading);padding-top:var(--section-space-md);margin-inline:auto}.writing-detail .content-shell{gap:var(--space-6);grid-template-columns:1fr}.content-navigation{gap:var(--space-6);margin-top:var(--section-space-md);padding-top:var(--space-6);border-top:var(--border-width) solid var(--border-default);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.content-navigation a{color:var(--text-secondary);font-size:var(--type-body-small);text-decoration:none}.content-navigation a:last-child{text-align:right}.next-project{align-items:start;gap:var(--space-8);margin-top:var(--section-space-lg);padding-block:var(--space-8);border-top:var(--border-width) solid var(--border-default);border-bottom:var(--border-width) solid var(--border-default);grid-template-columns:7rem minmax(15rem,.8fr) minmax(18rem,1.2fr) auto;display:grid}.next-project h2{margin-bottom:var(--space-2);font-size:var(--type-heading-3)}.next-project h2 a{text-decoration:none}.next-project>p{color:var(--text-secondary);font-size:var(--type-body-small);margin:0}.lab-summary{margin-bottom:var(--section-space-md);border-top:var(--border-width) solid var(--border-default);border-bottom:var(--border-width) solid var(--border-default);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.lab-summary-item{min-width:0;padding:var(--space-6)}.lab-summary-item+.lab-summary-item{border-left:var(--border-width) solid var(--border-default)}.lab-summary-item span{margin-bottom:var(--space-3);color:var(--text-muted);font-size:var(--type-label);letter-spacing:.1em;text-transform:uppercase;font-weight:650;display:block}.lab-summary-item p{color:var(--text-primary);margin:0}.current-state{margin-bottom:var(--section-space-md);border-top:var(--border-width) solid var(--border-default);border-bottom:var(--border-width) solid var(--border-default);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.current-state-item{min-width:0;padding:var(--space-4)}.current-state-item+.current-state-item{border-left:var(--border-width) solid var(--border-subtle)}.current-state-item span{color:var(--text-muted);font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase;font-weight:650}.current-state-item p{margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:var(--type-body-small)}.media-pair,.media-grid,.media-sequence{gap:var(--space-4);display:grid}.media-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.media-caption{margin-top:var(--space-2);color:var(--text-muted);font-size:var(--type-meta)}.timeline{margin:var(--space-8) 0 0;border-top:var(--border-width) solid var(--border-default);padding:0;list-style:none}.timeline li{gap:var(--space-6);padding-block:var(--space-6);border-bottom:var(--border-width) solid var(--border-subtle);grid-template-columns:9rem minmax(0,1fr);display:grid}.timeline span{color:var(--text-muted);font-size:var(--type-body-small)}.timeline p{margin-bottom:0}.about-grid{gap:var(--space-12);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.simple-list{margin:0;padding-left:1.1rem}.contact-list{margin-top:var(--space-12);grid-template-columns:repeat(3,minmax(0,1fr))}.contact-list div+div{padding-left:var(--space-4);border-left:var(--border-width) solid var(--border-subtle)}.error-page{text-align:left;place-content:center;min-height:65vh;display:grid}.error-code{margin-bottom:var(--space-6);color:var(--text-muted);letter-spacing:-.08em;font-size:clamp(5rem,18vw,12rem);font-weight:560;line-height:.8}@media (width<=1100px){.featured-project{grid-template-columns:minmax(0,1.25fr) minmax(17rem,.75fr)}.featured-project-media{min-height:24rem}.writing-row{grid-template-columns:7rem minmax(0,.9fr) minmax(14rem,1.1fr)}.writing-row-meta{grid-column:2}.detail-grid{gap:var(--space-8);grid-template-columns:10rem minmax(0,1fr)}.current-state{grid-template-columns:repeat(2,minmax(0,1fr))}.next-project{grid-template-columns:5rem minmax(0,1fr) auto}.next-project>p{grid-column:2}.current-state-item:nth-child(3){border-left:0;border-top:var(--border-width) solid var(--border-subtle)}.current-state-item:nth-child(4){border-top:var(--border-width) solid var(--border-subtle)}}@media (width<=840px){.container,.wide-container,.reading-container{width:min(calc(100% - (var(--gutter-tablet) * 2)), var(--container-content))}.article-body{width:min(calc(100% - (var(--gutter-tablet) * 2)), var(--container-reading))}.header-inner{min-height:3.75rem}.wordmark-role{display:none}.menu-toggle{display:inline-flex}.menu-toggle[aria-expanded=true] .menu-icon i:first-child{transform:translateY(.125rem)rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-.125rem)rotate(-45deg)}.nav-panel{z-index:39;padding:var(--space-8) var(--gutter-tablet) var(--space-6);border-bottom:var(--border-width) solid var(--border-default);background:var(--header-background);align-items:stretch;display:none;position:absolute;top:calc(100% + 1px);left:0;right:0}.nav-panel[data-open=true]{gap:var(--space-6);display:grid}.nav-list{gap:0;display:grid}.nav-list a{padding-block:var(--space-4);border-bottom:var(--border-width) solid var(--border-subtle);font-size:var(--type-body-large)}.nav-list a:after{display:none}.theme-toggle{width:100%;padding:var(--space-2) 0 0;border-left:0;justify-content:flex-start}.footer-inner{grid-template-columns:1fr auto}.footer-inner>p{grid-column:1/-1}.home-hero{min-height:auto}.home-hero-grid,.page-header-grid,.featured-project,.project-intro-grid,.content-shell,.home-about,.lab-showcase{grid-template-columns:1fr}.home-hero-grid{gap:var(--space-12);min-height:33rem}.home-hero-aside{max-width:34rem}.featured-project-media{aspect-ratio:16/10;min-height:auto}.featured-project-copy{gap:var(--space-8);padding-top:0}.project-index-item{grid-template-columns:2rem minmax(0,1fr) auto}.project-index-title-en,.project-index-meta{grid-column:2}.writing-row{grid-template-columns:7rem minmax(0,1fr)}.writing-row p,.writing-row-meta{grid-column:2}.lab-feature-copy,.detail-grid{grid-template-columns:1fr}.contents-nav{padding-bottom:var(--space-6);border-bottom:var(--border-width) solid var(--border-default);position:static}.contents-nav ol{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-prose,.lab-prose{display:block}.case-study-prose>h2,.lab-prose>h2{max-width:none}.entry-grid,.about-grid{grid-template-columns:1fr}}@media (width<=640px){.container,.wide-container,.reading-container{width:min(calc(100% - (var(--gutter-mobile) * 2)), var(--container-content))}.article-body{width:min(calc(100% - (var(--gutter-mobile) * 2)), var(--container-reading))}.section-heading,.project-heading-row{gap:var(--space-4);grid-template-columns:1fr}.section-heading .text-link{justify-self:start}.home-hero{padding-top:var(--section-space-lg)}.home-hero-grid{align-content:space-between;min-height:31rem}.home-hero h1{max-width:10ch}.home-hero-meta{grid-template-columns:1fr}.project-index-item{gap:var(--space-4);grid-template-columns:1.5rem minmax(0,1fr)}.project-index-item>.text-link,.project-index-title-en,.project-index-meta{grid-column:2}.writing-row{gap:var(--space-3);grid-template-columns:1fr}.writing-row p,.writing-row-meta{grid-column:1}.lab-entry{gap:var(--space-4);grid-template-columns:6.75rem minmax(0,1fr)}.lab-entry-copy>p{display:none}.project-facts,.contact-list,.lab-summary,.current-state,.media-pair,.media-grid,.media-story,.content-navigation{grid-template-columns:1fr}.media-story-wide{grid-column:auto}.media-story-item figcaption{gap:var(--space-2);display:grid}.project-facts div+div,.contact-list div+div,.lab-summary-item+.lab-summary-item,.current-state-item+.current-state-item{border-top:var(--border-width) solid var(--border-subtle);border-left:0;padding-left:0}.project-facts div,.contact-list div{gap:var(--space-4);grid-template-columns:7rem minmax(0,1fr);display:grid}.contents-nav ol{grid-template-columns:1fr}.timeline li{gap:var(--space-2);grid-template-columns:1fr}.footer-inner{align-content:center;gap:var(--space-4);grid-template-columns:1fr}.footer-inner>p{grid-column:1}.footer-links{justify-content:flex-start}.content-navigation a:last-child{text-align:left}.next-project{gap:var(--space-4);grid-template-columns:1fr}.next-project>p{grid-column:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.button:hover,.button-secondary:hover,.entry-cover:hover img,.featured-project-media:hover img,.media-frame:hover img{transform:none}}
