/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--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{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.hidden{display:none}.resize{resize:both}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#050505;--ink:#f1efe9;--muted:#96948f;--line:#ffffff29;--pad:clamp(18px,3vw,48px);--display-serif:"STSong","Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark;scroll-behavior:smooth}body{color:var(--ink);background:0 0;margin:0;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.55}body>footer,body>header,body>main{z-index:1;position:relative}body.no-scroll{overflow:hidden}a{text-decoration:none}a,button{color:inherit}button{font:inherit}img{filter:saturate(.88)}::selection{color:#050505;background:#eee9dd}.site-header{z-index:30;height:72px;padding:0 var(--pad);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#050505d1;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.wordmark{letter-spacing:.12em;white-space:nowrap;font-size:12px}.wordmark span{color:var(--muted);letter-spacing:.08em;margin-left:10px}.site-header nav{gap:clamp(18px,3vw,42px);font-size:12px;display:flex}.site-header nav a{color:#c9c7c1;transition:color .25s}.site-header nav a:hover{color:#fff}.page-shell{padding-inline:var(--pad)}.site-footer{min-height:130px;margin:clamp(80px,14vw,200px) var(--pad) 0;border-top:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;padding:28px 0;font-size:11px;display:flex}.site-record{transition:color .25s}.site-record:focus-visible,.site-record:hover{color:var(--ink);text-underline-offset:4px;text-decoration:underline}.eyebrow{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:10px}.text-link{border-bottom:1px solid;padding-bottom:4px;font-size:12px;display:inline-block}.fade-in{opacity:0;animation:fadeUp .75s cubic-bezier(.22,1,.36,1) forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.28s}::view-transition-new(root){animation-duration:.28s}.home-intro{grid-template-columns:1fr 2fr 1fr;align-items:start;min-height:52vh;padding:clamp(70px,10vw,150px) 0 80px;display:grid}.home-intro h1{max-width:920px;font-family:var(--display-serif);letter-spacing:-.025em;grid-column:2;margin:-8px 0 26px;font-size:clamp(42px,6.2vw,104px);font-weight:400;line-height:1.08}.home-intro p{color:#bbb9b3;grid-column:2;width:min(460px,100%);margin:0 0 30px;font-size:14px}.home-intro .text-link{grid-column:2;width:max-content}.series-showcase{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.series-panel{min-width:0}.series-image{cursor:zoom-in;background:#111;border:0;width:100%;height:min(68vw,76vh);min-height:460px;padding:0;display:block;position:relative;overflow:hidden}.series-image img{object-fit:cover;transition:transform .6s,filter .4s}.series-panel:hover .series-image img{filter:saturate();transform:scale(1.015)}.fullscreen-hint{z-index:2;opacity:0;background:#0000009e;padding:7px 9px;font-size:10px;transition:opacity .25s;position:absolute;bottom:13px;right:15px}.series-image:hover .fullscreen-hint{opacity:1}.series-panel-copy{border-top:1px solid var(--line);min-height:150px;padding:15px 4px;display:block}.series-panel-copy span,.series-row-copy>span:first-child{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.series-panel-copy h2{max-width:420px;font-family:var(--display-serif);margin:28px 0 0;font-size:clamp(20px,2vw,32px);font-weight:400;line-height:1.35}.page-heading{grid-template-columns:1fr 2fr 1fr;min-height:56vh;padding:clamp(80px,12vw,170px) 0 70px;display:grid}.page-heading h1{font-family:var(--display-serif);letter-spacing:-.035em;grid-column:2;margin:-14px 0 30px;font-size:clamp(60px,10vw,170px);font-weight:400;line-height:.95}.page-heading p{color:var(--muted);grid-column:2;margin:0}.series-list{border-top:1px solid var(--line)}.series-row{border-bottom:1px solid var(--line);grid-template-columns:1.6fr 1fr;gap:clamp(30px,6vw,110px);min-height:80vh;padding:clamp(45px,8vw,130px) 0;display:grid}.series-row:nth-child(2n) .series-row-image{order:2}.series-row-image{background:#111;min-height:520px;position:relative;overflow:hidden}.series-row-image img{object-fit:cover;transition:transform .7s}.series-row:hover img{transform:scale(1.012)}.series-row-copy{align-self:center}.series-row-copy h2{font-family:var(--display-serif);letter-spacing:-.025em;margin:50px 0 28px;font-size:clamp(34px,4.5vw,75px);font-weight:400;line-height:1.12}.series-row-copy p{color:#aaa8a2;max-width:460px;margin:0 0 40px}.project-heading,.series-detail-heading{grid-template-columns:1.45fr .7fr;align-items:end;gap:9vw;min-height:48vh;padding:clamp(75px,10vw,150px) 0 70px;display:grid}.project-heading h1,.series-detail-heading h1{font-family:var(--display-serif);letter-spacing:-.03em;margin:25px 0 0;font-size:clamp(48px,7.2vw,116px);font-weight:400;line-height:1.1}.series-intro p{color:#bebbb4;margin:0 0 35px;font-size:clamp(15px,1.4vw,21px);line-height:1.7}.series-intro span{color:var(--muted);letter-spacing:.12em;font-size:11px}.project-editorial{flex-direction:column;padding:8px 0 0}.project-editorial,.project-row{gap:clamp(5px,.48vw,9px);display:flex}.project-row{width:100%;height:clamp(190px,16.5vw,340px)}.project-card{flex-grow:var(--image-ratio,1);flex-basis:calc(var(--image-ratio,1) * 100px);isolation:isolate;min-width:0;position:relative}.project-card:focus-visible,.project-card:hover{z-index:12}.project-row--last{justify-content:flex-start}.project-row--last .project-card{flex-grow:0;min-width:clamp(180px,24vw,460px)}.project-thumb{background:#111;width:100%;height:100%;position:relative;overflow:hidden}.project-thumb img{object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .4s,opacity .4s}.project-card:focus-visible img,.project-card:hover img{filter:saturate();opacity:.72;transform:scale(1.022)}.project-hover-previews{z-index:4;pointer-events:none;position:absolute;inset:0}.project-hover-preview{width:clamp(100px,48%,220px);aspect-ratio:var(--preview-ratio,4/5);border:3px solid var(--bg);opacity:0;background:#111;transition:opacity .28s,transform .46s cubic-bezier(.22,1,.36,1);position:absolute;overflow:hidden;box-shadow:0 18px 45px #00000073}.project-hover-preview img{object-fit:cover}.project-hover-preview--1{top:9%;left:7%;transform:translate(18%,18%)rotate(0)scale(.88)}.project-hover-preview--2{bottom:8%;right:6%;transform:translate(-18%,-15%)rotate(0)scale(.88)}.project-hover-preview--3{top:8%;right:8%;transform:translate(-15%,18%)rotate(0)scale(.84)}.project-hover-preview--4{bottom:7%;left:8%;transform:translate(18%,-15%)rotate(0)scale(.82)}.project-hover-preview--5{top:48%;left:50%;transform:translate(-50%,-50%)rotate(0)scale(.78)}.project-card:focus-visible .project-hover-preview--1,.project-card:hover .project-hover-preview--1{opacity:1;transform:translate(-32%,-28%)rotate(-4deg)scale(1)}.project-card:focus-visible .project-hover-preview--2,.project-card:hover .project-hover-preview--2{opacity:1;transform:translate(34%,28%)rotate(3deg)scale(1)}.project-card:focus-visible .project-hover-preview--3,.project-card:hover .project-hover-preview--3{opacity:1;transform:translate(30%,-34%)rotate(5deg)scale(.92)}.project-card:focus-visible .project-hover-preview--4,.project-card:hover .project-hover-preview--4{opacity:1;transform:translate(-28%,34%)rotate(-5deg)scale(.9)}.project-card:focus-visible .project-hover-preview--5,.project-card:hover .project-hover-preview--5{opacity:1;transform:translate(-50%,-62%)rotate(2deg)scale(.88)}.project-hover-preview--1{z-index:5}.project-hover-preview--2{z-index:4}.project-hover-preview--3{z-index:3}.project-hover-preview--4{z-index:2}.project-hover-preview--5{z-index:1}.project-mobile-count{display:none}.project-caption{z-index:2;color:#fff;letter-spacing:.02em;opacity:0;background:linear-gradient(#0000 52%,#000000b8);justify-content:space-between;align-items:flex-end;gap:18px;padding:clamp(12px,1.5vw,22px);font-size:11px;transition:opacity .3s,transform .3s;display:flex;position:absolute;inset:0;transform:translateY(6px)}.project-card:focus-visible .project-caption,.project-card:hover .project-caption{opacity:1;transform:none}.project-caption span:first-child{max-width:75%}.project-caption span:last-child{color:#d0cec8;letter-spacing:.12em;font-size:10px}.project-card:focus-visible{outline:1px solid var(--ink);outline-offset:6px}.project-meta{color:var(--muted);flex-direction:column;align-items:flex-start;gap:9px;font-size:11px;display:flex}.project-meta a{color:var(--ink);font-size:14px}.project-meta span:last-child{max-width:360px;margin-top:18px}.project-description{color:#aaa8a2;max-width:620px;margin:28px 0 0;font-size:clamp(14px,1.2vw,18px);line-height:1.75}.project-gallery{flex-direction:column;gap:clamp(24px,2.2vw,36px);display:flex}.project-gallery-image{cursor:zoom-in;background:#0c0c0c;border:0;width:100%;height:min(86vh,1050px);min-height:520px;padding:0;display:block;position:relative;overflow:hidden}.project-gallery-image:nth-child(3n+2){width:82%;margin-left:auto}.project-gallery-image:nth-child(3n){width:74%;margin-right:auto}.project-gallery-image img{object-fit:contain}.project-gallery-image>span{z-index:2;color:#b8b5ae;letter-spacing:.1em;background:#00000094;padding:6px 8px;font-size:10px;position:absolute;bottom:12px;right:14px}.project-hero-image{cursor:zoom-in;background:#0c0c0c;border:0;width:100%;height:min(82vh,900px);min-height:500px;padding:0;display:block;position:relative;overflow:hidden}.project-hero-image img{object-fit:contain}.project-hero-image>span{opacity:0;background:#0000009e;padding:7px 9px;font-size:10px;transition:opacity .25s;position:absolute;bottom:14px;right:16px}.project-hero-image:hover>span{opacity:1}.project-navigation{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;align-items:center;padding:25px 0;display:grid}.project-navigation button{cursor:pointer;background:0 0;border:0;width:max-content;padding:0;font-size:12px}.project-navigation button:last-child{justify-self:end}.project-navigation span{color:var(--muted);justify-self:center;font-size:10px}.lightbox{z-index:100;background:#000;animation:softFade .25s both;position:fixed;inset:0}@keyframes softFade{0%{opacity:0}to{opacity:1}}.lightbox img{object-fit:contain;padding:46px}.lightbox-close{background:#0000008c;padding:8px;font-size:11px;top:18px;right:22px}.lightbox-arrow,.lightbox-close{z-index:3;cursor:pointer;border:0;position:absolute}.lightbox-arrow{background:#0000006b;width:48px;height:60px;font-size:20px;top:50%}.lightbox-arrow.left{left:10px}.lightbox-arrow.right{right:10px}.lightbox-label{z-index:3;color:#ddd;justify-content:space-between;font-size:11px;display:flex;position:absolute;bottom:18px;left:24px;right:24px}.text-page{min-height:75vh;padding-top:clamp(100px,15vw,220px)}.text-page>h1{max-width:1100px;font-family:var(--display-serif);letter-spacing:-.035em;margin:35px 0 clamp(100px,14vw,200px);font-size:clamp(62px,10vw,170px);font-weight:400;line-height:1}.text-page-grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12vw;padding-top:35px;display:grid}.text-page-grid p{color:#aaa8a2;max-width:600px}.text-page-grid .lead{color:var(--ink);font-family:var(--display-serif);margin:0;font-size:clamp(28px,3.4vw,55px);line-height:1.3}.contact-email{border-bottom:1px solid;margin:0 0 15px;font-family:Georgia,serif;font-size:clamp(23px,3vw,44px);display:inline-block}.contact-note{font-size:11px}.contact-grid h2{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin:70px 0 20px;font-size:10px;font-weight:400}.source-link{border-top:1px solid var(--line);padding:13px 0;display:block}.not-found{min-height:75vh;padding-top:18vh}.not-found h1{font-family:var(--display-serif);font-size:clamp(48px,8vw,110px);font-weight:400}@media (max-width:900px){.home-intro,.page-heading{grid-template-columns:1fr}.home-intro .text-link,.home-intro h1,.home-intro p,.page-heading h1,.page-heading p{grid-column:1}.home-intro .eyebrow,.page-heading .eyebrow{margin-bottom:45px}.series-showcase{margin-right:calc(var(--pad)*-1);scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.series-panel{scroll-snap-align:start;flex:0 0 82vw}.series-image{height:70vh}.series-row{grid-template-columns:1fr;min-height:auto}.series-row:nth-child(2n) .series-row-image{order:0}.series-row-image{min-height:65vh}.project-heading,.series-detail-heading{grid-template-columns:1fr;gap:50px}.project-row{height:clamp(180px,25vw,260px)}}@media (max-width:620px){.site-header{height:62px}.wordmark span{display:none}.site-header nav{gap:16px}.home-intro{min-height:62vh;padding-top:70px}.home-intro h1{font-size:45px}.series-panel{flex-basis:88vw}.series-image{height:68vh;min-height:430px}.page-heading{min-height:50vh}.series-row-image{min-height:52vh}.series-row-copy h2{margin-top:30px}.project-heading,.series-detail-heading{padding-top:80px}.project-heading h1,.series-detail-heading h1{font-size:47px}.project-editorial{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:4px;display:grid}.project-row{display:contents}.project-card,.project-row--last .project-card{width:100%;min-width:0;aspect-ratio:var(--cover-ratio,4/5);flex:none}.project-caption{color:#fff;opacity:1;background:linear-gradient(#0000 45%,#000000a8);padding:10px;position:absolute;transform:none}.project-caption span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-caption span:last-child,.project-hover-previews{display:none}.project-mobile-count{z-index:4;color:#fff;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);letter-spacing:.04em;background:#050505ad;padding:5px 7px;font-size:9px;line-height:1;display:block;position:absolute;top:7px;right:7px}.project-hero-image{height:68vh;min-height:430px;margin-inline:calc(var(--pad)*-1);width:calc(100% + var(--pad)*2)}.project-gallery{gap:22px}.project-gallery-image,.project-gallery-image:nth-child(3n),.project-gallery-image:nth-child(3n+2){width:calc(100% + var(--pad)*2);height:70vh;min-height:430px;margin-inline:calc(var(--pad)*-1)}.project-navigation span{display:none}.project-navigation{grid-template-columns:1fr 1fr}.lightbox img{padding:46px 8px}.lightbox-label{left:12px;right:12px}.text-page-grid{grid-template-columns:1fr;gap:70px}.text-page>h1{margin-bottom:100px}.site-footer{flex-direction:column;gap:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade-in{opacity:1;animation:none}.project-thumb img,.series-image img{transition:none}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.galaxy-container{position:fixed;inset:0;z-index:0;width:100%;height:100%;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 50% 16%,rgba(255,255,255,.055),transparent 44%),#050505}.galaxy-container canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity .6s ease}.galaxy-container--ready canvas{opacity:.88}@media (prefers-reduced-motion:reduce){.galaxy-container canvas{opacity:.42}}