:root{--paper: #f4f5f4;--ink: #16171b;--ink-soft: #3c3d42;--muted: #93959a;--hairline: #dedfdb;--serif: "Playfair Display", Georgia, serif;--sans: "Inter", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--pad: clamp(1.5rem, 3.2vw, 2.6rem);--sheet-inset: clamp(10px, 1.5vw, 20px);--label: clamp(.58rem, .8vw, .7rem);--panel-h: min(40vh, 44vw)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}.brand-labels,.meta,.note,.counter,.c-index,.c-tag,.index-num,.index-tag,.index-year,.outro-eyebrow,.outro-socials,.outro-sign{font-family:var(--mono);font-size:var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400}.moodboard{position:relative;min-height:110vh;padding:clamp(8rem,16vh,12rem) clamp(3.5rem,10vw,10rem);display:grid;place-items:center;overflow:hidden;isolation:isolate}.mood-parens{position:absolute;inset:6vh clamp(1rem,3vw,3rem);display:flex;align-items:center;justify-content:space-between;z-index:-1;pointer-events:none}.mood-parens span{font-family:var(--serif);font-style:italic;font-size:min(72vh,42vw);line-height:1;color:var(--ink)}.mood-copy{position:absolute;top:clamp(5rem,11vh,8rem);left:var(--pad);z-index:3}.mood-kicker,.mood-frame figcaption,.method-kicker,.method-num{font-family:var(--mono);font-size:var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.mood-copy h2{margin:.55rem 0 0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(2rem,5vw,4.5rem);line-height:1}.mood-grid{width:min(76vw,1080px);height:min(68vh,720px);position:relative}.mood-frame{position:absolute;margin:0;overflow:hidden;background:#ddd}.mood-frame img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,.61,.36,1)}.mood-frame:hover img{transform:scale(1.035)}.mood-frame figcaption{position:absolute;left:8px;bottom:7px;color:#fff;mix-blend-mode:difference}.mood-frame--hero{left:17%;top:13%;width:52%;height:48%;z-index:1}.mood-frame--detail{right:2%;top:2%;width:30%;height:31%;z-index:2}.mood-frame--portrait{left:3%;bottom:2%;width:25%;height:52%;z-index:3}.mood-frame--studio{right:9%;bottom:4%;width:38%;height:32%;z-index:4}.mood-frame--texture{left:45%;bottom:0;width:17%;height:22%;z-index:5}.sheet{position:fixed;inset:var(--sheet-inset);border:1px solid var(--hairline);pointer-events:none;z-index:40}.frame{position:fixed;top:0;right:0;bottom:0;left:0;padding:var(--pad);z-index:50;pointer-events:none}.frame>*{position:absolute;pointer-events:auto}.brand{top:var(--pad);left:var(--pad);display:flex;flex-direction:column;gap:.5rem}.brand-name{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.7rem,4.2vw,3rem);line-height:.9;letter-spacing:.01em;color:var(--ink)}.meta{top:var(--pad);right:var(--pad);display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;text-align:right;line-height:1.4}.note{bottom:var(--pad);left:var(--pad)}.phonetic{bottom:var(--pad);left:50%;transform:translate(-50%);font-family:var(--serif);font-style:italic;font-size:clamp(.8rem,1.4vw,1rem);color:var(--ink);white-space:nowrap}.counter{bottom:var(--pad);right:var(--pad);display:flex;align-items:baseline;gap:.35rem;font-variant-numeric:tabular-nums}.counter-cur{color:var(--ink)}.counter-sep{opacity:.5}.portfolio{position:relative}.stage{position:relative;height:100vh;width:100%;display:grid;place-items:center;overflow:hidden}.paren{position:absolute;left:50%;top:50%;font-family:var(--serif);font-style:italic;font-weight:400;font-size:54vh;line-height:1;color:var(--ink);pointer-events:none;will-change:transform}.stage-inner{position:relative;width:100%;height:var(--panel-h);display:grid;place-items:center}.project{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.7rem;will-change:transform,opacity}.project-panels{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:clamp(6px,1vw,16px);transform-origin:50% 50%}.panel{position:relative;height:var(--panel-h);width:calc(var(--panel-h) * var(--r, 1));flex:0 0 auto;display:grid;place-items:center;overflow:hidden;border-radius:1px}.panel img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.61,.36,1)}.panel:hover img{transform:scale(1.05)}.panel-label{font-family:var(--sans);font-weight:700;font-size:clamp(.9rem,2.4vw,2rem);letter-spacing:.02em;text-align:center;padding:0 .4em}.panel-plate{position:absolute;top:8px;left:9px;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;color:#fff;mix-blend-mode:difference;pointer-events:none;z-index:2}.project-caption{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.55rem .85rem;text-align:center}.c-index{color:var(--ink)}.c-rule{width:26px;height:1px;background:var(--hairline)}.c-title{font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,2vw,1.55rem);color:var(--ink)}.outro{min-height:100vh;padding:clamp(4rem,12vh,9rem) var(--pad) calc(var(--pad) + var(--sheet-inset));display:flex;flex-direction:column;gap:clamp(2.5rem,7vh,5rem);justify-content:center}.outro-lead{display:flex;flex-direction:column;gap:1.4rem;max-width:52ch}.outro-eyebrow{color:var(--muted)}.outro-title{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(2.6rem,9vw,7rem);line-height:.94;margin:0;text-wrap:balance}.outro-about{max-width:46ch;font-size:clamp(.98rem,1.25vw,1.12rem);line-height:1.62;color:var(--ink-soft);margin:0}.index{list-style:none;margin:0;padding:0;border-top:1px solid var(--hairline)}.index-row{display:grid;grid-template-columns:2.6rem 1fr auto auto;align-items:baseline;gap:.6rem 1.4rem;padding:clamp(.85rem,2.1vh,1.5rem) 0;border-bottom:1px solid var(--hairline);transition:color .4s ease}.index-num{color:var(--ink)}.index-title{font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,2.6vw,2rem);color:var(--ink);transition:transform .45s cubic-bezier(.22,.61,.36,1)}.index-year{font-variant-numeric:tabular-nums}.index-row:hover .index-title{transform:translate(.7rem)}.outro-contact{display:flex;flex-wrap:wrap;align-items:center;gap:1.3rem 2.6rem}.outro-email{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,3.4vw,2.5rem);color:var(--ink);text-decoration:none;background-image:linear-gradient(var(--ink),var(--ink));background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;padding-bottom:.1em;transition:background-size .4s ease}.outro-email:hover{background-size:0% 1px}.outro-socials{display:flex;gap:1.4rem}.outro-socials a{text-decoration:none;transition:color .3s ease}.outro-socials a:hover{color:var(--ink)}.outro-sign{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;padding-top:1.6rem;border-top:1px solid var(--hairline)}.method{min-height:100vh;padding:clamp(7rem,14vh,11rem) var(--pad);display:grid;grid-template-columns:minmax(16rem,.8fr) 1.4fr;align-items:center;gap:clamp(3rem,8vw,9rem);border-top:1px solid var(--hairline)}.method-head h2{margin:.65rem 0 0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(3.2rem,8vw,7rem);line-height:.92}.method-grid{border-top:1px solid var(--hairline)}.method-grid article{display:grid;grid-template-columns:minmax(8rem,.55fr) minmax(12rem,.75fr) 1.4fr;gap:clamp(1rem,2vw,2rem);align-items:baseline;padding:clamp(1.5rem,3.5vh,2.6rem) 0;border-bottom:1px solid var(--hairline)}.method-grid h3{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.45rem,2.7vw,2.25rem)}.method-grid p{margin:0;max-width:50ch;color:var(--ink-soft);font-size:clamp(.92rem,1.1vw,1.02rem);line-height:1.65}@media (max-width: 720px){:root{--panel-h: min(28vh, 13rem)}.stage-inner{height:68vh}.paren{font-size:min(36vh,9.5rem);z-index:0;opacity:.9}.project{gap:1rem;z-index:1}.project-panels{width:min(76vw,22rem);height:min(58vh,31rem);display:grid;grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}.panel{width:100%;height:100%}.panel-plate{top:7px;left:8px}.project-caption{width:min(78vw,23rem);gap:.4rem .6rem}.c-title{width:100%;order:-1;font-size:clamp(1.35rem,6vw,1.7rem)}.c-rule{width:18px}.brand-name{font-size:1.7rem}.index-tag{display:none}.index-row{grid-template-columns:2rem 1fr auto}.moodboard{min-height:auto;padding:9rem 1.25rem 7rem;display:block}.mood-grid{width:100%;height:auto;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:23vh;gap:8px}.mood-parens{top:5rem;right:.25rem;bottom:3rem;left:.25rem}.mood-parens span{font-size:min(38vh,10rem);opacity:.18}.mood-copy{top:4.8rem;left:1.25rem}.mood-copy h2{font-size:clamp(2.5rem,13vw,4rem)}.mood-frame{position:relative;inset:auto;width:auto;height:auto}.mood-frame--hero{grid-column:1 / -1;grid-row:span 2}.mood-frame--detail{grid-column:1}.mood-frame--portrait{grid-column:2;grid-row:span 2}.mood-frame--studio{grid-column:1}.mood-frame--texture{grid-column:1 / -1}.method{grid-template-columns:1fr;align-content:center}.method-grid article{grid-template-columns:1fr}}.portfolio.is-static .stage{height:auto;display:block;padding:8rem 0;overflow:visible}.portfolio.is-static .paren{display:none}.portfolio.is-static .stage-inner{height:auto;display:block}.portfolio.is-static .project{position:relative;inset:auto;opacity:1!important;transform:none!important;visibility:visible!important;min-height:80vh;margin-bottom:6rem}.portfolio.is-static .project-caption{margin-top:1.5rem}@media (prefers-reduced-motion: reduce){.panel img{transition:none}.panel:hover img{transform:none}.mood-frame img{transition:none}.mood-frame:hover img{transform:none}}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/playfair-display-latin-400-italic-LeeEXsx5.woff2) format("woff2"),url(/assets/playfair-display-latin-400-italic-hIeePEuE.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/playfair-display-latin-500-italic-BFrGFGAj.woff2) format("woff2"),url(/assets/playfair-display-latin-500-italic-CRSb1Pyp.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}
