:is(body:has(.portfolio-index),body:has(.detail-main)){--ink:#101214;--paper:#eef0ef;--muted:#a8acab;--line:#eef0ef35;--accent:#ff6744;--font-body:"Manrope Local", Arial, sans-serif;--font-display:"Manrope Local", Arial, sans-serif;--font-utility:"Geist Mono Local", ui-monospace, monospace;--focus:var(--accent);background:var(--ink);color:var(--paper)}.scene-logo{width:48px}.md-mark{width:100%;height:auto}.md-mark path{fill:none;stroke:currentColor;stroke-width:8px;stroke-linecap:square;stroke-linejoin:miter}.portfolio-index{padding:calc(72px + clamp(5.5rem,10vw,10rem)) clamp(1rem,3vw,3.5rem) clamp(6rem,10vw,10rem)}.portfolio-heading{grid-template-columns:.36fr 1.2fr .52fr;align-items:start;gap:clamp(2rem,5vw,6rem);padding-bottom:clamp(4rem,8vw,8rem);display:grid}.portfolio-heading>span,.project-kicker,.project-label,.project-card-meta,.project-tags,.detail-term,.gallery-heading span,.next-project span{font:500 .61rem var(--font-utility);letter-spacing:.1em;text-transform:uppercase}.portfolio-heading h1,.detail-title{font-family:var(--font-display);letter-spacing:-.075em;margin:0;font-size:clamp(4.2rem,11vw,11.5rem);font-weight:400;line-height:.8}.portfolio-heading h1 i,.detail-title i{font-weight:400}.portfolio-heading p{max-width:34ch;margin:0;font-size:.88rem;line-height:1.75}.portfolio-grid{grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2.25rem);display:grid}.project-card{min-width:0;color:inherit;flex-direction:column;grid-column:span 6;text-decoration:none;display:flex}.project-card:nth-child(3n+2){margin-top:clamp(3rem,8vw,9rem)}.project-card-media{aspect-ratio:16/10;background:#25282a;position:relative;overflow:hidden}.project-card-media:after,.detail-hero-media:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff28,#0000 42%,#0000002e);position:absolute;inset:0}.project-card img,.detail-hero-media img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform var(--motion-duration) var(--motion-ease)}.project-card:hover img{transform:scale(1.035)}.project-card-meta{color:var(--muted);justify-content:space-between;gap:1rem;padding:1rem 0 .8rem;display:flex}.project-card h2{letter-spacing:-.055em;text-wrap:balance;max-width:14ch;margin:0;font-size:clamp(2rem,4vw,4rem);font-weight:400;line-height:.93}.project-card p{max-width:52ch;color:var(--muted);margin:1.25rem 0 0;font-size:.82rem;line-height:1.65}.project-tags{flex-wrap:wrap;gap:.45rem 1.1rem;margin-top:1.5rem;display:flex}.detail-main{overflow:hidden}.case-terrain{z-index:0;isolation:isolate;contain:strict;pointer-events:none;background:radial-gradient(circle at 50% 39%,#fff 0 12%,#f3f7f6c9 35%,#0000 65%),linear-gradient(145deg,#f6f8f7,#d8e1e2);position:fixed;inset:0;overflow:hidden}.case-terrain:before{content:"";z-index:2;background:linear-gradient(90deg,#f7f9f724 0%,#0000 17% 83%,#f7f9f724 100%),radial-gradient(at 50% 48%,#ffffff5c 0 13%,#0000 46%);position:absolute;inset:0}.case-terrain:after{content:"";z-index:3;background:linear-gradient(#f9fbfa59 0%,#0000 22% 72%,#dfe7e86b 100%);position:absolute;inset:0}.case-terrain canvas{opacity:0;filter:saturate(.82)contrast(.98);width:100%;height:100%;transition:opacity 1.4s}.case-terrain[data-state=ready] canvas{opacity:1}body:has(.case-terrain) #smooth-wrapper{z-index:1;isolation:isolate;position:relative}body:has(.case-terrain[data-state=ready]) .detail-hero{background:#eef0ef4d}body:has(.case-terrain) .detail-story{background:var(--ink)}body:has(.case-terrain[data-state=ready]) .case-study{background:0 0}body:has(.case-terrain[data-state=ready]) .case-chapter{background:#eef0ef2e}body:has(.case-terrain[data-state=ready]) .case-chapter:nth-child(2n){background:#ffffff42}body:has(.case-terrain[data-state=ready]) .case-copy{isolation:isolate;text-shadow:0 1px 1px #fff9;position:relative}body:has(.case-terrain[data-state=ready]) .case-copy:before{content:"";z-index:-1;filter:blur(16px);pointer-events:none;background:radial-gradient(#f5f8f7d1 0%,#f5f8f77a 50%,#0000 74%);position:absolute;inset:-2rem}body:has(.case-terrain[data-state=ready]) .case-image-canvas{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#dfe4e057}body:has(.case-terrain) .next-project{background:var(--ink)}:is(body:has(.case-terrain) .next-project:hover,body:has(.case-terrain) .next-project:focus-visible){background:#191d1e}@media (prefers-reduced-motion:reduce){.case-terrain canvas{transition:none}}.detail-hero{--detail-hero-line:#1012142b;background:var(--paper);color:var(--ink);padding:calc(72px + clamp(2.5rem,5vw,5rem)) clamp(1rem,3vw,3.5rem) clamp(3rem,6vw,6rem)}.detail-title{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;text-wrap:balance;min-width:0;max-width:12ch;margin:0;font-size:clamp(3.4rem,7vw,8rem);line-height:.86}.detail-topline{grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;margin-bottom:clamp(2.5rem,5vw,5rem);display:grid}.detail-topline a{font:500 .6rem var(--font-utility);letter-spacing:.08em;text-transform:uppercase;opacity:.72;transition:color var(--motion-duration) var(--motion-ease), opacity var(--motion-duration) var(--motion-ease);background:0 0;border:0;align-items:center;gap:.65rem;padding:.35rem 0;text-decoration:none;display:inline-flex}.detail-topline a span{transition:transform var(--motion-duration) var(--motion-ease);display:inline-block}.detail-topline a:hover,.detail-topline a:focus-visible{color:var(--accent);opacity:1}.detail-back:hover span,.detail-back:focus-visible span{transform:translate(-3px)}.detail-site-link:hover span,.detail-site-link:focus-visible span{transform:translate(3px,-3px)}.detail-back{justify-self:start}.detail-site-link{justify-self:end}.detail-hero-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(2.5rem,6vw,7rem);display:grid}.detail-meta{border:1px solid var(--detail-hero-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#eef0ef47;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:clamp(2rem,4vw,4rem) 0 0;display:grid}.detail-meta>div{background:0 0;min-width:0;padding:1.2rem}.detail-meta>div+div{border-left:1px solid var(--detail-hero-line)}.detail-term{color:#1012148f;margin-bottom:.75rem;display:block}.detail-meta p{margin:0;font-size:.78rem;line-height:1.6}.detail-hero-media{aspect-ratio:16/10;border:1px solid var(--detail-hero-line);background:#25282a;position:relative;overflow:hidden}.detail-hero-media picture,.detail-hero-media img{width:100%;height:100%}.detail-hero-media img{object-fit:cover;object-position:top}.detail-story{grid-template-columns:.42fr 1fr .45fr;gap:clamp(3rem,6vw,6rem) clamp(2rem,6vw,8rem);padding:clamp(6rem,11vw,11rem) clamp(1rem,3vw,3.5rem);display:grid}.detail-story>.project-label{grid-area:1/1}.detail-story h2{grid-area:1/2/auto/-1;margin:0;font-size:clamp(2.6rem,4vw,6.4rem);font-weight:400;line-height:.95}.detail-story>div{border-top:1px solid var(--line);grid-area:2/1/auto/-1;padding-top:clamp(2rem,4vw,4rem)}.detail-story p{max-width:none;margin:0;font-size:clamp(1rem,1.4vw,1.3rem);line-height:1.75}.detail-story aside{color:var(--muted);grid-area:1/3;font-size:.74rem;line-height:1.7}.detail-story-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,7vw,8rem);display:grid}.detail-story-overview h3{color:var(--muted);font:500 .65rem var(--font-utility);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.25rem}.detail-story-overview p{font-size:clamp(1rem,1.3vw,1.2rem)}.case-study{background:var(--paper);color:var(--ink)}.case-chapter{border-top:1px solid #1012141c;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);align-items:center;gap:clamp(3rem,6vw,7rem);padding:clamp(4rem,8vw,8rem) clamp(1rem,3vw,3.5rem);display:grid}.case-chapter:nth-child(2n){background:#fff;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}.case-chapter:nth-child(2n) .case-copy{grid-area:1/2}.case-chapter:nth-child(2n) .case-figure{grid-area:1/1}.case-copy .project-label{color:#10121480}.case-copy h2{text-wrap:balance;overflow-wrap:anywhere;margin:1.75rem 0 1.5rem;font-size:clamp(2rem,3.5vw,4.2rem);font-weight:400;line-height:1.04}.case-copy p{color:#101214b3;max-width:46ch;margin:0;font-size:clamp(.95rem,1.1vw,1.05rem);line-height:1.8}.case-figure{min-width:0;margin:0}.case-image-canvas{background:#dfe4e0;border:1px solid #10121414;place-items:center;min-height:clamp(18rem,35vw,36rem);padding:clamp(1rem,3vw,3.5rem);display:grid}.case-image-button{cursor:zoom-in;background:0 0;border:0;width:fit-content;max-width:100%;padding:0;line-height:0;display:block;position:relative}.case-image-button img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:44rem;display:block;box-shadow:0 1.25rem 3.5rem #10121424}.case-figure--mobile img{max-width:min(100%,22rem)}.case-image-open{background:var(--ink);color:#fff;place-items:center;width:2.5rem;height:2.5rem;font-size:1.2rem;line-height:1;transition:background-color .2s;display:grid;position:absolute;bottom:.75rem;right:.75rem}.case-image-button:hover .case-image-open,.case-image-button:focus-visible .case-image-open{background:var(--accent)}.case-image-button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.case-figure figcaption{color:#10121480;font:500 .6rem var(--font-utility);letter-spacing:.06em;text-transform:uppercase;padding-top:1rem;line-height:1.6}@media (max-width:900px){.case-chapter,.case-chapter:nth-child(2n){grid-template-columns:1fr;gap:2.5rem}.case-chapter:nth-child(2n) .case-copy,.case-chapter:nth-child(2n) .case-figure{grid-area:auto/1}.case-copy h2{font-size:clamp(2rem,5vw,3.5rem)}.case-copy p{max-width:65ch}}@media (max-width:700px){.detail-story-overview{grid-template-columns:1fr;gap:2rem}.case-chapter{padding:3.5rem .9rem}.case-copy h2{margin-top:1.25rem}.case-image-canvas{min-height:14rem;padding:1rem}.case-image-button img{max-height:32rem}.case-figure--mobile img{max-width:min(100%,16rem)}}.gallery-lightbox{z-index:9000;color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:gallery-lightbox-in var(--motion-duration) var(--motion-ease);background:#0a0b0cf5;grid-template-rows:auto minmax(0,1fr) auto;padding:clamp(1rem,2vw,2rem);display:grid;position:fixed;inset:0}.gallery-lightbox-topbar,.gallery-lightbox-controls{min-width:0;font:500 .6rem var(--font-utility);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;display:flex}.gallery-lightbox-topbar{border-bottom:1px solid #ffffff38;padding-bottom:1rem}.gallery-lightbox-topbar p,.gallery-lightbox-controls p{margin:0}.gallery-lightbox button{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;transition:color var(--motion-duration) var(--motion-ease);background:0 0;border:0;align-items:center;gap:.6rem;padding:.65rem 0;display:inline-flex}.gallery-lightbox button:hover,.gallery-lightbox button:focus-visible{color:var(--accent)}.gallery-lightbox-topbar button span{font-size:1.4rem;font-weight:400;line-height:0}.gallery-lightbox-media{scrollbar-color:#ffffff4d transparent;align-content:start;justify-items:center;min-height:0;padding:clamp(1rem,2vw,2rem);display:grid;overflow:auto}.gallery-lightbox-media img{object-fit:initial;width:min(100%,1600px);max-width:none;height:auto;max-height:none}.gallery-lightbox-media.mobile img{width:min(100%,760px)}.gallery-lightbox-controls{border-top:1px solid #ffffff38;padding-top:1rem}.gallery-lightbox-controls p{color:#ffffffa3;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:50vw;overflow:hidden}@keyframes gallery-lightbox-in{0%{opacity:1;transform:translateY(40px)}to{opacity:1;transform:none}}.next-project{border-top:1px solid var(--line);color:inherit;transition:background-color var(--motion-duration) var(--motion-ease), box-shadow var(--motion-duration) var(--motion-ease);grid-template-columns:.42fr 1fr auto;align-items:end;gap:clamp(1.5rem,5vw,6rem);padding:clamp(5rem,9vw,9rem) clamp(1rem,3vw,3.5rem);text-decoration:none;display:grid;box-shadow:inset 0 0 0 1px #0000}.next-project:hover,.next-project:focus-visible{background:#ffffff05;box-shadow:inset 0 0 0 1px #ffffff0f}.next-project strong{letter-spacing:-.065em;max-width:14ch;font-size:clamp(2.8rem,7vw,7rem);font-weight:400;line-height:.9}.next-project b{font-size:clamp(2rem,4vw,4rem);font-weight:400}@media (max-width:850px){.portfolio-heading,.detail-story{grid-template-columns:1fr}.portfolio-heading h1{font-size:clamp(4.6rem,24vw,8rem)}.project-card{grid-column:span 12}.project-card:nth-child(3n+2){margin-top:0}.detail-topline{grid-template-columns:1fr auto;align-items:center}.detail-topline .project-kicker{grid-area:2/1/auto/-1;justify-self:start}.detail-site-link{justify-self:end}.detail-hero-layout{grid-template-columns:1fr;gap:2.5rem}.detail-story>.project-label,.detail-story h2,.detail-story>div,.detail-story aside{grid-area:auto/1}.detail-meta{grid-template-columns:1fr}.detail-meta>div+div{border-left:0;border-top:1px solid var(--detail-hero-line)}.detail-hero-media{aspect-ratio:4/3}.detail-story aside{max-width:42ch}.next-project{grid-template-columns:1fr auto}.next-project span{grid-column:1/-1}}@media (max-width:540px){.portfolio-index,.detail-hero{padding-inline:.9rem}.portfolio-heading{text-align:left;gap:1.25rem;padding-bottom:4rem}.portfolio-heading>span,.portfolio-heading p{margin-inline:0}.portfolio-heading h1{font-size:clamp(3.25rem,15.5vw,5rem);line-height:.88}.portfolio-heading h1 br,.detail-title br{display:none}.project-card{border-bottom:1px solid var(--line);padding-bottom:2.75rem}.project-card+.project-card{padding-top:0}.project-card-media{aspect-ratio:7/5;border:1px solid #ffffff14}.project-card-meta{letter-spacing:.06em;padding:.85rem 0 .65rem}.project-card h2{text-align:left;overflow-wrap:anywhere;max-width:none;margin-inline:0;font-size:clamp(2rem,9vw,2.35rem);line-height:.92}.project-card p{margin-top:.9rem;font-size:.86rem;line-height:1.58}.project-tags{gap:.45rem .8rem;margin-top:1.1rem;line-height:1.5}.detail-title{font-size:clamp(3rem,15vw,5rem)}.detail-hero-media{aspect-ratio:1}.detail-story{padding-inline:.9rem}.gallery-lightbox{padding:.8rem}.gallery-lightbox-media{padding:.8rem 0}.gallery-lightbox-controls p{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.project-card img,.case-image-open{transition:none}.gallery-lightbox{animation:none}}
