@import"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,600;1,400&family=Roboto+Mono:wght@400&display=swap";:root{--background: #f1f0e9;--background-side: #f1f0e9;--surface: #faf8f2;--ink: #171714;--muted: #626970;--line: #c8c4ba;--accent: #2d7a57;--project-ink: #171714;--project-accent: #9fd3b5;--radius-surface: 2px;--radius-control: 3px;--font-body: "Roboto", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-voice: Georgia, "Times New Roman", Times, serif;--font-code: "Roboto Mono", SFMono-Regular, Menlo, Consolas, monospace;--page: min(1400px, calc(100% - clamp(48px, 8.4vw, 144px)) );--reading: min(700px, calc(100% - 48px) );color:var(--ink);background:var(--background-side);font-family:var(--font-body);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-size:1rem;line-height:1.6;overflow-wrap:break-word;text-rendering:optimizeLegibility}main{min-height:0}h1,h2,h3,p,ul,ol,dl,figure{margin-top:0}h1,h2,h3{font-weight:600;line-height:1.15;letter-spacing:-.025em}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--accent)}button,input,textarea{font:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.personal-voice{font-family:var(--font-voice);font-style:italic;font-weight:400;font-synthesis:style}.reading-column{width:var(--reading);margin-inline:auto}.with-margin-note{display:grid;gap:24px;align-items:start}.margin-note{margin:0 0 16px;padding-top:14px;border-top:1px solid var(--accent);color:var(--ink);font-size:1.125rem;line-height:1.5}.margin-note .margin-note__label{margin:0 0 10px;color:var(--accent);font-size:.8rem}.margin-note>p:last-child{margin-bottom:0}.page-shell,.header-shell,.footer-shell{width:var(--page);margin-inline:auto}.site-header{position:sticky;z-index:20;top:0}.header-surface{width:100%;margin-inline:auto;border-bottom:1px solid var(--line);background:var(--background)}.header-shell{display:grid;grid-template-columns:1fr auto auto;align-items:center;min-height:72px;gap:32px}.wordmark{width:max-content;color:var(--ink);font-size:1.125rem;font-weight:600;letter-spacing:-.02em;text-decoration:none}.site-header ul,.site-footer nav{display:flex;align-items:center;gap:28px;margin:0;padding:0;list-style:none}.site-header nav a,.language-switcher a,.language-switcher summary{color:var(--muted);font-size:.9375rem;text-decoration:none}.site-header nav a[aria-current=page],.language-switcher a[aria-current=page]{color:var(--ink);font-weight:700}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.language-switcher{position:relative}.language-switcher>summary{padding:6px 0;text-align:right}.language-switcher>summary:hover,.language-switcher[open]>summary{color:var(--ink)}.language-switcher>ul{position:absolute;top:calc(100% + 14px);right:0;display:grid;z-index:1;width:150px;gap:0;border:1px solid var(--line);background:var(--surface)}.language-switcher li+li{border-top:1px solid var(--line)}.language-switcher a{display:block;padding:10px 14px}.cover-concept{display:grid;min-height:inherit;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-content:center;justify-items:center;gap:clamp(18px,3vw,48px);padding:clamp(23px,3.1vw,39px) clamp(26px,3.5vw,44px);background:var(--surface)}.cover-prompt{--rag-idle-background: transparent;--rag-idle-border: #9bb4e4;width:min(94%,500px);padding:2px 0 14px 18px;border-left:2px solid var(--rag-idle-border);background:var(--rag-idle-background);animation:rag-highlight 8s ease-in-out infinite}.cover-prompt p,.cover-answer p{margin:0;line-height:1.5}.cover-prompt p{font-size:.875rem}.cover-retrieval{display:grid;grid-template-columns:minmax(0,1fr);width:100%;align-content:center;gap:8px}.cover-retrieval>.cover-small{margin:0;text-align:center}.cover-answer{--rag-idle-background: #fff;--rag-idle-border: #d8d3c9;width:min(94%,500px);justify-self:center;padding:18px 20px;border:1px solid var(--rag-idle-border);border-radius:var(--radius-surface);background:var(--rag-idle-background);animation:rag-answer-highlight 8s ease-in-out 2.1s infinite}.cover-answer p{color:#424a50;font-size:.76rem}.cover-reference-list{display:flex;flex-wrap:wrap;gap:5px 16px;margin:13px 0 0;padding:11px 0 0;border-top:1px solid #e1ddd5;color:var(--accent);font-size:.7rem;list-style:none}.cover-small{display:block;margin-bottom:9px;color:var(--accent);font-size:.75rem;font-weight:500}.cover-flow{display:flex;align-items:center;justify-content:center;gap:12px}.cover-doc{--rag-idle-background: var(--surface);--rag-idle-border: #d4d0c7;display:grid;align-content:center;width:116px;aspect-ratio:4 / 5;gap:10px;padding:18px;border:1px solid var(--rag-idle-border);border-radius:var(--radius-surface);background:var(--rag-idle-background);animation:rag-highlight 8s ease-in-out infinite}.cover-doc span{display:block;height:5px;background:#c7ced8}.cover-doc span:nth-child(2){width:76%}.cover-doc span:nth-child(3){width:52%}.cover-doc-a{animation-delay:.75s;transform:translateY(8px)}.cover-doc-b{--rag-idle-border: #9bb4e4;animation-delay:1.1s;transform:translateY(-8px)}.cover-doc-c{opacity:.52;animation-delay:1.45s;transform:scale(.84) translateY(10px)}@keyframes rag-highlight{0%,10%,to{border-color:var(--rag-idle-border);background-color:var(--rag-idle-background)}5%{border-color:#829fd5;background-color:#fff}}@keyframes rag-answer-highlight{0%,38%,to{border-color:var(--rag-idle-border);background-color:var(--rag-idle-background)}8%,25%{border-color:#91a9d5;background-color:#fff}}.article-meta{display:flex;flex-wrap:wrap;gap:16px 28px;margin-top:32px;color:var(--muted);font-size:.78rem}.domain-line,.article-pillar{color:var(--accent);font-size:.82rem;font-weight:500}.section-shell{padding-block:0 68px}.technology-list{display:flex;flex-wrap:wrap;gap:0;margin:4px 0 0;padding:0;color:var(--muted);font-size:.74rem;list-style:none}.technology-list li:not(:last-child):after{margin-inline:8px;color:#71808e;content:"/"}.text-link{display:block;width:max-content;max-width:100%;margin-top:28px;color:var(--accent);font-weight:500}.work-list{border-bottom:1px solid var(--line)}.work-row{scroll-margin-top:112px;display:grid;grid-template-columns:48px minmax(210px,.58fr) minmax(380px,1fr);gap:28px;padding-block:36px;border-top:1px solid var(--line)}.work-row p{margin-bottom:0}.work-index{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.74rem}.work-row h2{margin:0;font-size:clamp(1.2rem,2vw,1.7rem);font-weight:640}.work-summary,.work-description{color:var(--muted)}.page-intro{padding-block:82px 62px}.page-intro h1{margin:0 0 24px;font-size:clamp(2.75rem,5vw,4rem)}.page-intro>p:last-child{max-width:680px;margin-bottom:0;color:var(--muted);font-size:clamp(1.08rem,1.7vw,1.3rem)}.projects-intro{display:grid;grid-template-columns:1fr minmax(280px,.7fr);align-items:end;gap:48px}.projects-intro h1{margin-bottom:0}.projects-intro>p:last-child{justify-self:end;font-size:.9375rem;text-align:right}.work-description{display:grid;gap:16px}.work-description .technology-list{align-self:end}.contact-intro{padding-block:48px 32px}.contact-intro h1{margin-bottom:12px;font-size:clamp(2.4rem,4.2vw,3.5rem)}.contact-intro p{max-width:660px;margin:0;color:var(--muted);font-size:1.05rem}.contact-layout{display:grid;grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);gap:clamp(32px,5vw,64px);padding-bottom:80px}.contact-intro:lang(ko),.contact-layout:lang(ko){word-break:keep-all}.contact-personal{display:flex;flex-direction:column;align-self:start;gap:24px;padding:clamp(24px,3vw,36px);border-radius:var(--radius-surface);background:var(--project-ink);color:var(--surface)}.contact-personal--text{align-self:stretch;justify-content:center}.contact-portrait{display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--radius-surface)}.contact-note{margin:0;font-size:clamp(1.35rem,2.1vw,1.75rem);line-height:1.45}.contact-signature{margin:0;font-size:.9rem}.contact-personal a{align-self:flex-start;padding-block:8px;font-size:.9rem;font-weight:600}.contact-personal a:hover{color:var(--project-accent)}.contact-personal a:focus-visible{outline-color:var(--project-accent)}.contact-form-section h2{margin-bottom:24px;font-size:clamp(1.4rem,2.4vw,1.85rem)}.contact-form-section form,.contact-field{display:grid}.contact-form-section form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.contact-field{min-width:0;gap:7px}.contact-field--wide,.contact-form-section button,.contact-form-section .form-privacy{grid-column:1 / -1}.contact-field label{font-size:.82rem;font-weight:600}.contact-field input,.contact-field textarea{width:100%;padding:10px 12px;border:1px solid #898e8a;border-radius:var(--radius-control);background:var(--surface);color:var(--ink)}.contact-field input{min-height:48px}.contact-field textarea{min-height:160px;resize:vertical}.contact-field input:user-invalid,.contact-field textarea:user-invalid{border-color:#9b2c2c}.contact-field small,.form-privacy{color:var(--muted);font-size:.76rem}.contact-form-section button{width:max-content;max-width:100%;min-height:46px;padding:12px 20px;border:1px solid var(--project-ink);border-radius:var(--radius-control);background:var(--project-ink);color:var(--surface);cursor:pointer;font-weight:600}.contact-form-section button:hover{background:#253449}.form-privacy{max-width:560px;margin:0}.media-figure{width:100%;max-width:100%;margin:32px 0}.media-figure img,.media-figure video{display:block;width:100%;max-width:100%;height:auto;border:1px solid var(--line);background:#fff;object-fit:contain}.media-figure__enlarge{display:block}.media-figure figcaption{display:grid;gap:4px;margin-top:12px;color:var(--muted);font-size:.78rem;line-height:1.5}.media-figure figcaption p{margin:0}.media-figure__caption{color:var(--accent);font-weight:500}.media-figure__credit{font-size:.72rem}.figure-placeholder{display:grid;align-content:center;min-height:180px;padding:24px;border:1px dashed #919691;background:#faf8f28c;color:var(--muted);text-align:center}.figure-placeholder span{font-size:.8rem}.figure-placeholder strong{color:var(--ink);font-size:1rem}.case-study-header{padding-block:76px 54px}.case-study-header .back-link{margin-bottom:48px}.case-study-header h1{max-width:930px;margin:18px 0 28px;font-size:clamp(2.5rem,4.8vw,4rem)}.case-study-lead{max-width:790px;margin-bottom:36px;color:var(--muted);font-size:clamp(1.12rem,1.8vw,1.4rem)}.case-study-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:790px;margin-bottom:0;border-block:1px solid var(--line)}.case-study-meta div{padding-block:16px}.case-study-meta div+div{padding-left:28px;border-left:1px solid var(--line)}.case-study-meta dt{color:var(--accent);font-size:.8rem;font-weight:500}.case-study-meta dd{margin:3px 0 0}.case-study-header>.media-figure{max-width:980px;margin-top:40px;margin-left:auto}.case-study-rag-cover{display:grid;min-height:578px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-surface);background:var(--surface)}.case-study-body{padding-bottom:100px;color:#2f353a;font-size:1.04rem}.case-study-body section{padding-block:54px;border-top:1px solid var(--line)}.case-study-body h2{margin-bottom:22px;color:var(--ink);font-size:clamp(1.7rem,3vw,2.4rem)}.case-study-body h3{margin:30px 0 14px;color:var(--ink);font-size:1.18rem}.case-study-body p,.case-study-body ul{margin-bottom:1.35em}.reading-column .media-figure--wide{width:min(1120px,calc(100vw - 32px));max-width:none;margin:34px 0 42px 50%;transform:translate(-50%)}.project-figure{width:min(100%,calc(100vw - 48px));margin:48px 0 56px 50%;padding:24px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-surface);background:#fff;transform:translate(-50%)}.project-figure--wide{width:min(980px,calc(100vw - 48px))}.project-figure--compact{width:min(820px,calc(100vw - 48px))}.project-figure>figure.media-figure{width:100%;max-width:none;margin:0;transform:none}.project-figure .media-figure img,.project-figure .media-figure video{border:0;background:transparent}.project-figure .media-figure figcaption{gap:6px;margin-top:20px;padding-top:16px;border-top:1px solid #d8d4cb}.project-figure .media-figure__caption{font-size:.86rem;line-height:1.45}.project-figure .media-figure__description{font-size:.75rem}.case-study-body li+li{margin-top:.45em}.component-list{margin:0;border-bottom:1px solid var(--line)}.component-list__item{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;padding-block:14px;border-top:1px solid var(--line)}.component-list dt{color:var(--muted);font-size:.78rem;font-weight:650}.component-list dd{margin:0;color:var(--ink);font-weight:650}.back-link{display:inline-block;color:var(--muted);font-size:.84rem;font-weight:700;text-decoration:none}.back-link:before{margin-right:8px;content:"←"}.case-study-back{margin-top:8px}.site-footer{position:relative}.site-footer:before{position:absolute;top:0;left:50%;width:min(1184px,100%);height:1px;transform:translate(-50%);background:var(--line);content:"";pointer-events:none}.footer-shell{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:124px}.footer-shell p,.site-footer a{margin:0;color:var(--muted);font-size:.8rem;text-decoration:none}@media(min-width:1200px){.reading-column{margin-inline:max(24px,calc((100% - 1120px)/2)) auto}.with-margin-note{width:calc(100% + 280px);grid-template-columns:minmax(0,1fr) 240px;gap:40px}.reading-column .project-figure,.reading-column .media-figure--wide{margin-left:0;transform:none}}@media(max-width:820px){:root{--page: min(100% - 32px, 680px);--reading: min(100% - 32px, 680px)}.header-shell{gap:16px}.contact-layout{grid-template-columns:minmax(0,1fr);gap:36px}.contact-portrait{width:min(100%,240px)}.contact-personal{gap:20px}.projects-intro{grid-template-columns:1fr;gap:24px}.projects-intro>p:last-child{justify-self:start;text-align:left}.work-row{grid-template-columns:38px minmax(0,1fr)}.work-description{grid-column:2}.footer-shell{align-items:flex-start;flex-direction:column;justify-content:center;padding-block:32px}.site-footer nav{flex-wrap:wrap;gap:12px 22px}}@media(max-width:560px){.contact-intro{padding-block:32px 26px}.contact-form-section form{grid-template-columns:minmax(0,1fr)}.contact-layout{padding-bottom:56px}.header-shell{grid-template-columns:1fr auto;gap:10px 18px;padding-block:11px}.site-header nav{grid-column:1 / -1;grid-row:2}.site-header nav ul{justify-content:space-between;gap:12px}.language-switcher{grid-column:2;grid-row:1}.cover-concept{padding:23px 20px}.cover-prompt,.cover-answer{width:96%}.cover-doc{width:88px}.cover-answer p{font-size:.72rem}.page-intro h1{font-size:clamp(2.4rem,12vw,3.25rem)}.case-study-header h1{font-size:clamp(2.6rem,12vw,3.2rem);hyphens:none;overflow-wrap:normal}.domain-line{font-size:.66rem;line-height:1.6}.section-shell{padding-block:0 52px}.page-intro,.case-study-header{padding-block:60px 48px}.case-study-header .back-link{margin-bottom:38px}.case-study-meta{grid-template-columns:1fr}.case-study-meta div+div{padding-left:0;border-top:1px solid var(--line);border-left:0}.case-study-body section{padding-block:44px}.case-study-rag-cover{min-height:560px}.project-figure{width:calc(100vw - 32px);margin-block:38px 46px;padding:14px}.project-figure .media-figure figcaption{margin-top:14px;padding-top:12px}.component-list__item{grid-template-columns:1fr;gap:4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cover-prompt,.cover-doc,.cover-answer{animation:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}section[id]{scroll-margin-top:112px}.header-shell{grid-template-columns:1fr auto 1fr}.wordmark{font-size:20px;letter-spacing:-.06em}.wordmark-dot{color:var(--accent)}.site-header nav ul{gap:clamp(24px,3vw,48px)}.site-header nav a{display:inline-block;padding-block:12px;font-size:14px}.site-header nav a[aria-current=page]{color:var(--accent)}.language-switcher{justify-self:end}.language-switcher>summary{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;border:1px solid rgb(23 23 20 / 35%);border-radius:3px;color:var(--ink);font-size:13px}.language-switcher>summary:after{content:"⌄"}.language-flag{display:inline-flex;flex:none;width:21px}.language-flag svg{display:block;width:100%;height:15px;border:1px solid rgb(23 23 20 / 12%)}.language-switcher>ul{top:calc(100% + 8px);width:180px;padding:5px;border-radius:3px;background:var(--background)}.site-header .language-switcher a{display:flex;align-items:center;gap:12px;min-height:42px;font-size:13px}.kicker{width:fit-content;max-width:100%;margin:0;padding:4px 9px;border:1px dashed currentColor;border-radius:2px;font:400 11px/1.4 var(--font-code);letter-spacing:.08em;text-transform:uppercase}.home-intro,.home-section{padding-inline:clamp(24px,4.2vw,72px)}.home-intro{padding-block:clamp(56px,6vw,88px) clamp(52px,5vw,72px)}.home-intro h1{max-width:1280px;margin:0;font-size:clamp(56px,7.35vw,120px);line-height:1;font-weight:400;letter-spacing:-.035em}.hero-line{display:block}.home-intro h1 em,.about-grid h2 em{color:var(--accent);font-family:var(--font-body);font-weight:400}.hero-footer{margin-top:clamp(40px,4vw,58px);display:flex;justify-content:space-between;align-items:flex-end;gap:32px}.hero-footer>p{max-width:455px;margin:0 0 6px;font-size:clamp(14px,1.2vw,17px);line-height:1.6}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;flex-shrink:0}.button{display:inline-flex;align-items:center;gap:10px;width:fit-content;max-width:100%;min-height:52px;padding:12px 24px;border:1px solid rgb(23 23 20 / 35%);border-radius:3px;font-size:14px;font-weight:500;text-decoration:none}.button-primary{color:var(--background);background:var(--ink);border-color:var(--ink)}.button-primary:hover{color:var(--background);background:var(--accent);border-color:var(--accent)}.button-secondary:hover{background:#1717140f}.home-section{padding-block:96px 104px}.work-section{padding-bottom:112px;background:#fffefa}.section-heading{padding-bottom:48px}.section-heading h2:not(.kicker){max-width:850px;margin:20px 0 0;font-size:clamp(32px,4vw,62px);line-height:1.08;font-weight:400;letter-spacing:-.03em}.project-showcase{display:grid;grid-template-columns:clamp(48px,5vw,68px) minmax(0,1fr);margin:0;padding:0;min-width:0;border:0;background:#dfe2da}.project-rail{display:flex;flex-direction:column;align-items:center;gap:2px;padding:22px 0;border-right:1px solid rgb(23 23 20 / 18%)}.rail-mark{margin-bottom:14px;font-size:clamp(10px,1.3vw,18px);font-weight:600}.project-choice{position:relative;width:44px;height:36px}.project-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0}.project-choice label{position:absolute;inset:0;display:grid;place-items:center;cursor:pointer}.project-choice label:before{width:18px;height:18px;border:1px solid rgb(23 23 20 / 35%);border-radius:1px;content:""}.project-choice input:checked+label:before{background:var(--accent);border-color:var(--accent)}.project-choice input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}.project-tooltip{position:absolute;z-index:2;left:calc(100% + 4px);width:max-content;max-width:240px;padding:8px 12px;background:var(--ink);color:var(--background);font-size:12px;pointer-events:none;visibility:hidden}.project-choice:hover .project-tooltip,.project-choice input:focus-visible+label .project-tooltip{visibility:visible}.project-panels{min-width:0}.project-panel{display:none;min-height:340px;height:clamp(340px,calc(100svh - 352px),660px);color:#2b2c27}.project-showcase:has(#select-rag:checked) #panel-rag,.project-showcase:has(#select-silhouettes:checked) #panel-silhouettes,.project-showcase:has(#select-robot:checked) #panel-robot{display:flex;flex-direction:column}.project-panel-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;flex:none;gap:24px;padding:20px clamp(16px,2.5vw,36px);border-bottom:1px solid rgb(23 23 20 / 15%)}.project-panel h3{margin:0;font-size:clamp(20px,2.2vw,30px);font-weight:500;letter-spacing:-.035em}.project-keywords{margin:8px 0 0;font:12px/1.5 var(--font-code)}.case-link{display:inline-flex;gap:10px;align-items:center;width:fit-content;padding-block:8px 6px;border-bottom:1px solid currentColor;font-size:14px;font-weight:500;text-decoration:none}.project-visual{display:flex;flex:1;min-height:0;padding:20px clamp(16px,2.5vw,36px) 24px}.project-visual>a{display:flex;width:100%;min-height:0}.project-visual img{width:100%;height:100%;min-height:0;object-fit:contain}.project-visual,.project-text{background-image:url(/media/project-grain.svg);background-size:180px 180px}#panel-rag .project-visual{justify-content:center;background:#e8e7df;background-image:none}#panel-rag .project-visual>a{justify-content:center;align-items:center}.project-text{flex:1;display:grid;align-content:center;padding:24px clamp(16px,2.5vw,36px);gap:20px}.project-text p{max-width:750px;margin:0}.project-domain{color:var(--accent);font:12px/1.5 var(--font-code)}.project-problem{font-size:clamp(24px,3vw,44px);line-height:1.2;letter-spacing:-.03em}.home-more{margin:28px 0 0;text-align:right}.home-more a{justify-content:space-between;gap:24px}.articles-section{background:#dfe2da}.articles-section .section-heading{padding-bottom:46px}.articles-section h2{max-width:800px}.home-publications{border-top:1px solid rgb(23 23 20 / 35%)}.home-publication{display:grid;grid-template-columns:8% 1fr 22% 30px;align-items:center;gap:24px;min-height:118px;padding-block:24px;border-bottom:1px solid rgb(23 23 20 / 35%);text-decoration:none}.publication-number,.publication-tags,.home-publication time{font:11px/1.5 var(--font-code);text-transform:uppercase;letter-spacing:.04em}.publication-tags{margin:0 0 10px;color:#171714a6}.home-publication h3{max-width:720px;margin:0;color:var(--ink);font-size:clamp(20px,2.2vw,34px);line-height:1.15;font-weight:400;letter-spacing:-.035em}.home-publication:hover h3{color:var(--accent)}.home-publication:hover{background:#ffffff47}.row-arrow{display:grid;place-items:center;font-size:22px;font-weight:300}.article-count{font-variant-numeric:tabular-nums}.about-section{padding-block:104px 56px;color:var(--background);background:var(--ink)}.about-grid{display:grid;grid-template-columns:.55fr 1.1fr .8fr;align-items:start;gap:clamp(24px,4vw,60px);margin-top:42px}.about-portrait{display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;object-position:50% 35%;border-radius:2px;filter:grayscale(1) contrast(.92)}.about-grid h2{max-width:840px;margin:0;font-size:clamp(46px,5.8vw,90px);line-height:1.05;font-weight:400;letter-spacing:-.03em}.about-copy{padding-top:12px}.about-copy p{margin:0 0 24px;color:#f1f0e9b8;font-size:15px;line-height:1.75}.about-section a:hover{color:#9fd3b5}.about-section :focus-visible{outline-color:#9fd3b5}.capabilities{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;margin:80px 0 0;padding:20px 0 0;border-top:1px solid rgb(241 240 233 / 25%);font:12px/1.5 var(--font-code);letter-spacing:.06em;text-transform:uppercase}.home-contact{padding-block:94px 28px;color:var(--background);background:#1f5c40}.contact-row{display:grid;gap:28px;padding-block:38px 72px}.home-contact h2{margin:0 0 8px;font-size:clamp(48px,6.8vw,108px);line-height:1.05;font-weight:400;letter-spacing:-.03em}.contact-link{display:inline-flex;color:#9fd3b5;font-size:clamp(48px,6.8vw,108px);font-style:italic;line-height:1.05;letter-spacing:-.03em;text-decoration:none}.contact-link:hover{color:var(--background)}.home-contact :focus-visible{outline-color:#9fd3b5}.email-tools{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.contact-intro .email-tools{margin-top:28px}.email-tools:has(.copy-email:not([hidden])) .email-fallback{display:none}.copy-email{display:inline-flex;align-items:center;gap:10px;min-height:44px;max-width:100%;padding:12px 16px;border:1px solid currentColor;border-radius:3px;background:transparent;color:inherit;font:13px/1.5 var(--font-code);cursor:pointer}.copy-email svg{flex:none}.copy-email:hover{background:var(--ink);color:var(--background)}.home-contact .copy-email:hover{background:var(--background);color:#1f5c40}.copy-email[hidden]{display:none}.copy-status{flex-basis:100%;font-size:13px}.copy-status:empty{display:none}.contact-form-link{font:12px/1.5 var(--font-code);padding-block:12px}.site-footer:before{width:var(--page)}.footer-shell{min-height:96px}.home-contact .site-footer:before{display:none}.home-contact .footer-shell{display:grid;grid-template-columns:1fr auto 1fr;width:100%;min-height:0;padding-top:24px;border-top:1px solid rgb(241 240 233 / 30%)}.home-contact .footer-shell p,.home-contact .site-footer a{color:inherit;font:11px/1.5 var(--font-code);text-transform:uppercase;letter-spacing:.04em}.back-to-top{justify-self:end}.projects-intro .kicker{grid-column:1 / -1;margin-bottom:0}.projects-intro{row-gap:24px}.page-intro h1,.contact-intro h1{font-size:clamp(48px,6vw,88px);font-weight:400}.work-row h2{font-weight:400}.work-status{font-size:12px;color:var(--accent)}.contact-personal{padding-inline:0;color:var(--ink);background:transparent}.contact-personal a:hover{color:var(--accent)}.contact-personal a:focus-visible{outline-color:var(--accent)}@media(max-width:1000px){.about-grid{grid-template-columns:minmax(160px,.55fr) 1fr}.about-copy{grid-column:2;padding-top:0}.hero-footer{gap:24px}.hero-footer>p{max-width:42%}.header-shell{grid-template-columns:auto 1fr auto;gap:24px}.site-header nav ul{justify-content:center;gap:20px}}@media(max-width:760px){:root{--page: calc(100% - 48px) }.header-shell{grid-template-columns:auto 1fr;gap:14px;padding-block:14px}.site-header nav{grid-column:1 / -1;grid-row:2}.site-header nav ul{justify-content:space-between;gap:12px}.site-header nav a{font-size:12px}.language-switcher{grid-column:2;grid-row:1}.home-intro{padding-block:42px 52px}.home-intro h1{font-size:clamp(48px,14.5vw,70px);line-height:1}.hero-line{display:inline}.hero-line+.hero-line:before{content:" "}.hero-footer{flex-direction:column;align-items:flex-start;gap:24px;margin-top:36px}.hero-footer>p{max-width:38ch}.hero-actions{gap:10px}.button{min-height:46px;padding-inline:15px;font-size:13px}.home-section{padding-top:72px}.section-heading,.articles-section .section-heading{padding-bottom:36px}.section-heading h2:not(.kicker){margin-top:16px}.project-showcase{grid-template-columns:44px minmax(0,1fr)}.project-rail{padding-top:14px}.project-panel{height:auto;min-height:0}.project-panel-header{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px}.project-panel h3{font-size:21px}.project-keywords{font-family:var(--font-body)}.project-visual,.project-text{padding:16px}.project-visual>a{align-items:center}.project-visual img{height:auto}.project-tooltip{max-width:min(220px,calc(100vw - 110px))}.home-publication{grid-template-columns:28px minmax(0,1fr) 20px;gap:10px;min-height:124px}.home-publication time{grid-column:2}.home-publication .row-arrow{grid-column:3;grid-row:1 / span 2}.about-grid{grid-template-columns:1fr;gap:38px}.about-portrait{width:min(66%,260px)}.about-copy{grid-column:auto}.about-grid h2{font-size:clamp(44px,12.5vw,64px)}.capabilities{grid-template-columns:1fr 1fr;gap:22px 0;margin-top:54px}.contact-row{padding-block:32px 60px}.home-contact h2,.contact-link{overflow-wrap:normal}.home-contact .footer-shell{grid-template-columns:1fr auto;gap:24px;padding-bottom:0}.home-contact .footer-shell nav{grid-column:1 / -1;grid-row:2}.footer-shell{padding-block:24px}}
