/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}}:root{--paper:#edf0f1;--ink:#1b1b1a;--muted:#777b7c;--line:#cfd3d4;--serif:Georgia, "Times New Roman", "Songti SC", serif;--sans:Arial, "PingFang SC", sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased}button,a{color:inherit;font:inherit}button{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}a{text-decoration:none}img{width:100%;display:block}::selection{background:#d7dde0}.portfolio-shell{grid-template-columns:42% 58%;min-height:100svh;padding:18px 18px 18px 0;transition:grid-template-columns .38s cubic-bezier(.22,.61,.36,1);display:grid}.portfolio-shell.home-open{grid-template-columns:minmax(0, 1fr) minmax(0, var(--home-stage-width,58%))}.portfolio-shell.project-open{grid-template-columns:32% 68%}.sidebar{flex-direction:column;min-height:calc(100svh - 36px);padding:30px 4vw 16px;display:flex;position:relative}.sidebar-top{justify-content:space-between;align-items:center;display:flex}.name{letter-spacing:.015em;font-size:17px}:is(.name:hover,.name:focus-visible){opacity:.55}.mobile-menu-button{display:none}.side-navigation{flex-direction:column;align-items:flex-start;gap:2px;margin-top:39px;display:flex}.side-navigation button,.side-navigation a{font-size:13px;line-height:1.45;transition:opacity .22s,transform .22s}:is(.side-navigation button:hover,.side-navigation a:hover,.side-navigation button:focus-visible,.side-navigation a:focus-visible,.side-navigation button[aria-current=page]){opacity:.48}.side-navigation button:active,.side-navigation a:active{transform:translate(2px)}.sub-navigation{margin-top:36px;font-size:11px;line-height:1.45}.sub-navigation button{color:var(--muted);margin-bottom:18px}.current-project{flex-direction:column;display:flex}.current-project p{margin:0 0 2px}.current-project span{color:var(--muted)}.project-switcher{flex-direction:column;align-items:flex-start;gap:2px;margin-top:30px;display:flex}.project-switcher button{color:var(--muted);margin:0;line-height:1.5;position:relative}.project-switcher button span{color:var(--ink);position:absolute;right:calc(100% + 7px)}:is(.project-switcher button.active,.project-switcher button:hover,.project-switcher button:focus-visible){color:var(--ink)}.language{margin-top:42px;font-size:12px}.sidebar-bottom{flex-direction:column;gap:3px;margin-top:auto;font-size:10px;display:flex}.project-open .sidebar{grid-template-rows:auto auto 1fr auto;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-content:start;column-gap:28px;display:grid}.project-open .sidebar-top{grid-column:1/-1}.project-open .side-navigation{grid-area:2/1}.project-open .sub-navigation{grid-area:2/2;margin-top:39px}.project-open .language{grid-area:3/1;align-self:start}.project-open .sidebar-bottom{grid-area:4/1}.content-stage{background:var(--paper);min-width:0;min-height:calc(100svh - 36px);position:relative;overflow:hidden}.content-stage>.home-view,.content-stage>.page-view,.content-stage>.project-view{animation:.34s cubic-bezier(.22,.61,.36,1) both content-reveal}@keyframes content-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.home-view,.home-image,.home-image img{position:absolute;inset:0}.home-image{opacity:0;margin:0;transition:opacity 1.1s}.home-image.active{opacity:1}.home-image img{object-position:right center;height:100%}.home-image.fit-contain img{object-fit:contain}.home-image.fit-cover img{object-fit:cover}.image-caption,.project-caption{color:#fff;font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(#0000,#0000003d);justify-content:space-between;align-items:center;gap:20px;padding:18px 21px;font-size:9px;display:flex;position:absolute;bottom:0;left:0;right:0}.image-caption.on-contain{color:var(--muted);background:0 0}.image-caption.on-cover{color:#fff;background:linear-gradient(#0000,#0000003d)}.quiet-pagination{gap:11px;display:flex}.quiet-pagination button{font-family:var(--sans);color:inherit;opacity:.48;font-size:9px}.quiet-pagination button.active{opacity:1;text-underline-offset:4px;text-decoration:underline}.page-view{height:calc(100svh - 36px);padding:32px 34px 42px;overflow-y:auto}.page-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding-bottom:19px;display:flex}.page-title h1{margin:0;font-size:16px;font-weight:400}.page-title span{color:var(--muted);font-size:10px}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px;padding-top:35px;display:grid}.work-card{grid-template-columns:1fr auto;gap:8px 14px;transition:opacity .22s,transform .28s cubic-bezier(.22,.61,.36,1);display:grid}.work-card img{aspect-ratio:4/3;object-fit:cover;background:#e3e4e2;grid-column:1/-1;transition:opacity .25s}:is(.work-card:hover img,.work-card:focus-visible img){opacity:.78}.work-card:active{opacity:.72;transform:scale(.992)}.work-card-title{font-size:12px}.work-card-year{color:var(--muted);font-family:var(--sans);letter-spacing:.04em;font-size:8px}.project-view{scrollbar-width:thin;scrollbar-color:var(--line) transparent;height:calc(100svh - 36px);padding:18px;overflow-y:auto}.project-intro{justify-content:space-between;align-items:baseline;gap:28px;padding:4px 0 18px;display:flex}.project-intro p{margin:0;font-size:12px}.project-intro span{color:var(--muted);text-align:right;font-size:10px;line-height:1.6}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.project-gallery figure{background:#e5e7e7;margin:0;overflow:hidden}.project-gallery img{width:100%;height:auto}.text-columns{grid-template-columns:1fr 1fr;gap:8vw;padding-top:clamp(70px,13vh,130px);display:grid}.text-columns p{margin:0}.lead{max-width:390px;font-size:clamp(21px,2.2vw,34px);line-height:1.5}.body-copy{max-width:430px;font-size:13px;line-height:2}.body-copy p+p{margin-top:24px}.journal-list{padding-top:50px}.journal-list article{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr 1.3fr;gap:28px;padding:23px 0;display:grid}.journal-list time{color:var(--muted);font-family:var(--sans);font-size:9px}.journal-list h2{margin:0;font-size:16px;font-weight:400}.journal-list p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.contact-content{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(48px,8vw,130px);padding-top:clamp(70px,14vh,130px);display:grid}.contact-copy{padding-top:12px}.contact-copy p{color:var(--muted);font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px;font-size:9px}.contact-copy a{border-bottom:1px solid var(--ink);font-size:clamp(20px,2.8vw,42px)}.contact-form{gap:22px;display:grid;position:relative}.contact-form-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:12px;display:flex}.contact-form-heading span{font-size:12px}.contact-form-heading small{color:var(--muted);font-family:var(--sans);letter-spacing:.05em;text-align:right;font-size:8px}.contact-form label{color:var(--muted);font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;gap:8px;font-size:9px;display:grid}.contact-form label span small{color:var(--muted);opacity:.72;margin-left:7px;font-size:8px;font-weight:400}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;font-family:var(--serif);text-transform:none;background:0 0;border-radius:0;outline:none;padding:4px 0 10px;font-size:14px;line-height:1.7}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink)}.contact-form-footer{align-items:center;gap:18px;min-height:32px;display:flex}.contact-form button{border-bottom:1px solid var(--ink);padding:5px 0;font-size:11px}.contact-form button:disabled{cursor:wait;opacity:.45}.form-status{color:var(--muted);font-family:var(--sans);margin:0;font-size:9px;line-height:1.5}.form-status.error{color:#8d3c35}.contact-honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}@media (max-width:760px){.portfolio-shell{padding:0;display:block}.portfolio-shell.home-open,.portfolio-shell.project-open{display:block}.sidebar{z-index:10;flex-direction:row;align-items:center;height:66px;min-height:auto;padding:0 20px}.project-open .sidebar{display:flex}.mobile-menu-button{font-size:12px;transition:opacity .2s,transform .25s;display:block}.mobile-menu-button:active{opacity:.5;transform:scale(.94)}.sidebar-top{width:100%}.side-navigation,.language,.sidebar-bottom,.sub-navigation{display:none}.sidebar.menu-open,.project-open .sidebar.menu-open{background:var(--paper);height:100svh;padding:25px 20px;animation:.28s cubic-bezier(.22,.61,.36,1) both menu-reveal;display:block;position:fixed;inset:0}.sidebar.menu-open .side-navigation{gap:8px;margin-top:76px;display:flex}.sidebar.menu-open .side-navigation button,.sidebar.menu-open .side-navigation a{font-size:24px}.sidebar.menu-open .side-navigation>*{animation:.3s cubic-bezier(.22,.61,.36,1) both menu-item-reveal}.sidebar.menu-open .side-navigation>:nth-child(2){animation-delay:25ms}.sidebar.menu-open .side-navigation>:nth-child(3){animation-delay:50ms}.sidebar.menu-open .side-navigation>:nth-child(4){animation-delay:75ms}.sidebar.menu-open .side-navigation>:nth-child(5){animation-delay:.1s}.sidebar.menu-open .language{margin-top:45px;display:block}.sidebar.menu-open .sidebar-bottom{display:flex;position:absolute;bottom:24px;left:20px}.content-stage{min-height:calc(100svh - 66px)}.home-view{position:absolute;inset:0}.page-view{height:calc(100svh - 66px);padding:24px 20px 38px}.works-grid{grid-template-columns:1fr;gap:42px}.project-view{height:calc(100svh - 66px);padding:12px}.project-intro{align-items:flex-start;padding:2px 2px 16px}.project-intro span{max-width:65%}.project-gallery{grid-template-columns:1fr;gap:12px}.text-columns{grid-template-columns:1fr;gap:46px;padding-top:60px}.journal-list article{grid-template-columns:65px 1fr;gap:12px 18px}.journal-list p{grid-column:2}.contact-content{grid-template-columns:1fr;gap:64px;padding-top:52px}.contact-copy a{font-size:7vw}.contact-form-heading{align-items:flex-start}}@keyframes menu-reveal{0%{opacity:0}to{opacity:1}}@keyframes menu-item-reveal{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
