@font-face{font-family: "Figtree";src: url("/assets/fonts/Figtree-VF.woff2") format("woff2-variations"),url("/assets/fonts/Figtree-VF.woff2") format("woff2");font-weight: 400 800;font-style: normal;font-display: swap}@font-face{font-family: "Archivo";src: url("/assets/fonts/Archivo-VF.woff2") format("woff2-variations"),url("/assets/fonts/Archivo-VF.woff2") format("woff2");font-weight: 400 600;font-stretch: 100% 125%;font-style: normal;font-display: swap}:root{--night: #0E0F0F;--ink: #171918;--paper: #F3F0E9;--paper-deep: #E6E1D6;--acid: #D8F267;--red: #5E0B10;--paper-muted: rgba(243,240,233,0.72);--ink-muted: #4A4C4A;--font-display: "Figtree","Helvetica Neue",Arial,system-ui,sans-serif;--font-body: "Archivo","Helvetica Neue",Arial,system-ui,sans-serif;--display-weight: 700;--step--1: clamp(0.8125rem,0.79rem + 0.1vw,0.875rem);--step-0: clamp(1rem,0.96rem + 0.18vw,1.0625rem);--step-1: clamp(1.15rem,1.05rem + 0.45vw,1.4rem);--step-2: clamp(1.45rem,1.2rem + 1vw,2.1rem);--step-3: clamp(1.9rem,1.4rem + 2.1vw,3.3rem);--step-4: clamp(2.5rem,1.6rem + 4vw,5.6rem);--step-5: clamp(3.1rem,1.4rem + 7.6vw,10.5rem);--space-2xs: 0.5rem;--space-xs: 0.75rem;--space-s: 1rem;--space-m: 1.5rem;--space-l: clamp(2rem,1.6rem + 1.8vw,3rem);--space-xl: clamp(3rem,2.2rem + 3.6vw,5.5rem);--space-2xl: clamp(4.5rem,3rem + 7vw,10rem);--gutter: clamp(1rem,0.6rem + 1.8vw,2rem);--page-pad: clamp(1rem,0.2rem + 3.6vw,3.5rem);--img-gap: clamp(0.5rem,0.3rem + 0.8vw,1rem);--max: 1520px;--header-h: 5.25rem;--ease: cubic-bezier(0.22,1,0.36,1)}body,.tone-dark{--fg: var(--paper);--muted: var(--paper-muted);--line: rgba(243,240,233,0.16);--line-strong: rgba(243,240,233,0.5);--ph: rgba(243,240,233,0.05);--focus: var(--acid)}.tone-light{--fg: var(--ink);--muted: rgba(23,25,24,0.8);--line: rgba(23,25,24,0.16);--line-strong: rgba(23,25,24,0.55);--ph: rgba(23,25,24,0.05);--focus: var(--ink);color: var(--ink)}.tone-dark{color: var(--paper)}.tone-dark,.tone-light{background: var(--tone,transparent)}.services.tone-light,.contact.tone-light{background: var(--paper)}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-padding-top: var(--header-h)}@media (prefers-reduced-motion: no-preference){html{scroll-behavior: smooth}}body{margin: 0;background: var(--night);color: var(--paper);font-family: var(--font-body);font-size: var(--step-0);line-height: 1.6;-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;overflow-x: hidden}img,picture,video,svg{display: block;max-width: 100%}img,video{height: auto}picture{width: 100%}picture img{width: 100%}h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin: 0}ul,ol{padding: 0;list-style: none}a{color: inherit;text-decoration-thickness: 1px;text-underline-offset: 0.22em}em{font-style: normal;font-weight: 400}:focus-visible{outline: 2px solid var(--focus,var(--acid));outline-offset: 3px}main:focus{outline: none}::selection{background: var(--red);color: var(--paper)}.container{width: 100%;max-width: var(--max);margin-inline: auto;padding-inline: var(--page-pad)}.label{font-family: var(--font-body);font-size: 0.75rem;font-weight: 520;font-stretch: 125%;letter-spacing: 0.2em;text-transform: uppercase;line-height: 1.5}.nowrap{white-space: nowrap}.sr-only{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}.display{font-family: var(--font-display);font-weight: var(--display-weight)}.skip-link{position: absolute;left: var(--space-s);top: -100px;z-index: 100;padding: var(--space-xs) var(--space-s);background: var(--paper);color: var(--ink);font-weight: 600}.skip-link:focus{top: var(--space-s)}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 0.6em;min-height: 3.1rem;padding: 0.85rem 1.7rem;border: 1px solid currentColor;font-size: 0.75rem;font-weight: 560;font-stretch: 118%;letter-spacing: 0.2em;text-transform: uppercase;text-decoration: none;transition: background-color 0.35s var(--ease),color 0.35s var(--ease),border-color 0.35s var(--ease)}.btn--light{background: var(--paper);border-color: var(--paper);color: var(--ink)}.btn--light:hover{background: transparent;color: var(--paper)}.btn--ghost{color: var(--paper);border-color: rgba(243,240,233,0.45)}.btn--ghost:hover{border-color: var(--paper);background: var(--paper);color: var(--ink)}.tone-light .btn--light{background: var(--ink);border-color: var(--ink);color: var(--paper)}.tone-light .btn--light:hover{background: transparent;color: var(--ink)}.tone-light .btn--ghost{color: var(--ink);border-color: rgba(23,25,24,0.4)}.tone-light .btn--ghost:hover{background: var(--ink);color: var(--paper);border-color: var(--ink)}.site-header{position: fixed;inset: 0 0 auto;z-index: 50;color: var(--paper);transition: background-color 0.5s var(--ease),color 0.5s var(--ease)}.header-inner{position: relative;display: flex;align-items: center;justify-content: space-between;gap: var(--space-m);min-height: var(--header-h);padding-inline: var(--page-pad);border-bottom: 1px solid transparent;transition: border-color 0.5s var(--ease)}.site-header[data-tone="light"]:not(.is-scrolled){color: var(--ink);--focus: var(--ink)}.site-header.is-scrolled{background: rgba(14,15,15,0.9);-webkit-backdrop-filter: blur(14px) saturate(1.1);backdrop-filter: blur(14px) saturate(1.1)}.site-header.is-scrolled .header-inner{border-bottom-color: rgba(243,240,233,0.14)}.brand{display: inline-flex;align-items: center;min-height: 44px;color: inherit;z-index: 3}.brand svg{height: 1.9rem;width: auto}.site-nav{display: flex;align-items: center;justify-content: flex-end;flex: 1}.nav-list{display: flex;align-items: center;gap: clamp(1.25rem,2.6vw,2.75rem)}.nav-list a{position: relative;display: inline-flex;align-items: center;min-height: 44px;font-size: 0.75rem;font-weight: 520;font-stretch: 118%;letter-spacing: 0.22em;text-transform: uppercase;text-decoration: none}.nav-list a::after{content: "";position: absolute;left: 0;right: 0;bottom: 0.85rem;height: 1px;background: currentColor;transform: scaleX(0);transform-origin: right;transition: transform 0.5s var(--ease)}.nav-list a:hover::after,.nav-list a[aria-current="page"]::after{transform: scaleX(1);transform-origin: left}.nav-extra{display: none}.nav-toggle{display: none;align-items: center;gap: 0.8rem;min-height: 44px;min-width: 44px;padding: 0;margin-right: -8px;border: 0;background: none;color: inherit;font: inherit;font-size: 0.75rem;font-weight: 520;font-stretch: 118%;letter-spacing: 0.22em;text-transform: uppercase;cursor: pointer;position: relative;z-index: 3;justify-content: center}.nav-toggle-label{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}.nav-toggle-icon{display: grid;gap: 7px;width: 28px}.nav-toggle-icon span{display: block;height: 1px;background: currentColor;transition: transform 0.45s var(--ease)}@media (max-width: 899px){:root{--header-h: 4.25rem}.brand svg{height: 1.55rem}html:not(.js) .header-inner{flex-wrap: wrap;padding-block: 0.5rem}html:not(.js) .site-nav{width: 100%;flex-wrap: wrap;gap: 0 var(--space-m)}html:not(.js) .nav-list{flex-wrap: wrap;gap: 0 var(--space-m)}html.js .nav-toggle{display: inline-flex}html.js .site-nav{position: fixed;inset: 0;z-index: 2;display: flex;flex-direction: column;justify-content: flex-start;align-items: stretch;gap: var(--space-l);padding: calc(var(--header-h) + var(--space-l)) var(--page-pad) var(--space-l);background: var(--night);color: var(--paper);overflow-y: auto;opacity: 0;visibility: hidden;transition: opacity 0.5s var(--ease),visibility 0s linear 0.5s}html.js .site-nav.is-open{opacity: 1;visibility: visible;transition: opacity 0.5s var(--ease),visibility 0s}html.js .nav-list{flex-direction: column;align-items: stretch;gap: 0}html.js .nav-list li{border-bottom: 1px solid rgba(243,240,233,0.14)}html.js .nav-list a{width: 100%;min-height: 0;padding: 0.55rem 0 0.35rem;border: 0;font-family: var(--font-display);font-weight: var(--display-weight);font-size: clamp(2.4rem,10vw,4rem);font-stretch: 100%;letter-spacing: -0.01em;text-transform: none;line-height: 1.1}html.js .nav-list a::after{display: none}html.js .nav-extra{display: grid;gap: 0.25rem;margin-top: auto}html.js .nav-extra a{display: inline-flex;align-items: center;min-height: 44px;color: var(--paper-muted);text-decoration: none}html.menu-open{overflow: hidden}html.menu-open .site-header{color: var(--paper);background: transparent;-webkit-backdrop-filter: none;backdrop-filter: none}html.menu-open .header-inner{border-bottom-color: transparent}html.menu-open .nav-toggle-icon span:first-child{transform: translateY(4px) rotate(45deg)}html.menu-open .nav-toggle-icon span:last-child{transform: translateY(-4px) rotate(-45deg)}@media (prefers-reduced-motion: no-preference){html.js .site-nav .nav-list li{opacity: 0;transform: translateY(0.75rem);transition: opacity 0.5s var(--ease),transform 0.7s var(--ease)}html.js .site-nav.is-open .nav-list li{opacity: 1;transform: none}html.js .site-nav.is-open .nav-list li:nth-child(2){transition-delay: 0.05s}html.js .site-nav.is-open .nav-list li:nth-child(3){transition-delay: 0.1s}}}.hero{position: relative;display: grid;min-height: 100svh;overflow: hidden;background: var(--night);color: var(--paper)}.hero-media{position: absolute;inset: 0;display: grid;grid-template-columns: 1fr}.hero-img{position: relative;overflow: hidden}.hero-img picture,.hero-img img{width: 100%;height: 100%;object-fit: cover}.hero-img{display: none}.hero-img--right{display: block}.hero-img--right img{object-position: 82% 45%}@media (min-width: 900px){.hero-img--right img{object-position: 74% 50%}}.hero-img:first-child img{object-position: 36% 50%}.hero-media::after{content: "";position: absolute;inset: 0;background: linear-gradient(to bottom,rgba(10,10,10,0.55) 0%,rgba(10,10,10,0) 22%),linear-gradient(to top,rgba(10,10,10,0.92) 0%,rgba(10,10,10,0.55) 38%,rgba(10,10,10,0.05) 70%)}@media (min-width: 900px){.hero-media{grid-template-columns: repeat(3,1fr);gap: 2px;background: var(--night)}.hero-img{display: block}}.hero-content{position: relative;z-index: 1;align-self: end;padding-top: calc(var(--header-h) + 3rem);padding-bottom: var(--space-xl)}.hero-title{font-family: var(--font-display);font-weight: var(--display-weight);font-size: clamp(2.6rem,1rem + 5.4vw,7.25rem);line-height: 0.95;letter-spacing: -0.045em}.hero-title .line{display: block;overflow: hidden;padding-bottom: 0.1em;margin-bottom: -0.1em}.hero-title .line > span{display: block}.hero-actions{display: flex;flex-wrap: wrap;gap: var(--space-xs)}@media (prefers-reduced-motion: no-preference){.hero-title .line > span{animation: rise 1.2s var(--ease) both}.hero-title .line:nth-child(2) > span{animation-delay: 0.1s}.hero-img img{animation: settle 2.4s var(--ease) both}.hero-img:nth-child(1) img{animation-delay: 0.1s}.hero-img:nth-child(3) img{animation-delay: 0.2s}}@keyframes rise{from{transform: translateY(105%)}to{transform: none}}@keyframes fade{from{opacity: 0}to{opacity: 1}}@keyframes slide-up{from{transform: translateY(2rem)}to{transform: none}}@keyframes settle{from{transform: scale(1.1)}to{transform: none}}.work-head{padding-block: var(--space-2xl) var(--space-xl);display: grid;gap: var(--space-m)}.work-head .label{color: var(--paper-muted)}.work-title{max-width: 24ch;font-family: var(--font-display);font-weight: 500;font-size: var(--step-3);line-height: 1.08;letter-spacing: -0.01em}.work-note{color: var(--paper-muted);font-size: var(--step--1)}.universe{position: relative;padding-block: clamp(4rem,3rem + 7vw,10rem);overflow: hidden}.universe-inner{display: grid;gap: var(--space-m) var(--gutter);align-items: end}.universe-main,.universe-second{overflow: hidden}.universe-main img,.universe-second img,.universe .ph{aspect-ratio: 4 / 5;object-fit: cover;width: 100%}.universe-main img,.universe-second img{transition: transform 1.4s var(--ease)}.universe-second{width: 46%;justify-self: end;margin-top: -22%;position: relative;z-index: 1;box-shadow: 0 0 0 var(--img-gap) var(--tone)}.universe-text{display: grid;gap: var(--space-2xs);padding-top: var(--space-s)}.universe-num{font-family: var(--font-display);font-weight: 400;font-size: var(--step-2);line-height: 1;color: var(--muted)}.universe .label{color: var(--muted)}.universe-title{font-family: var(--font-display);font-weight: var(--display-weight);font-size: var(--step-4);line-height: 0.92;letter-spacing: -0.04em}.universe-title a{text-decoration: none}.universe-title a::after{content: "";position: absolute;inset: 0;z-index: 2}.universe-partners{color: var(--muted);font-size: var(--step--1)}.universe-link{margin-top: var(--space-s);font-size: 0.75rem;font-weight: 560;font-stretch: 118%;letter-spacing: 0.2em;text-transform: uppercase}.universe-link span{display: inline-block;transition: transform 0.5s var(--ease)}.universe:hover .universe-link span,.universe:focus-within .universe-link span{transform: translateX(0.4rem)}.universe:has(.universe-title a:focus-visible){outline: 2px solid var(--focus);outline-offset: -8px}@media (prefers-reduced-motion: no-preference) and (hover: hover){.universe:hover .universe-main img{transform: scale(1.03)}.universe:hover .universe-second img{transform: scale(1.05)}}@media (min-width: 900px){.universe-inner{grid-template-columns: repeat(12,minmax(0,1fr));grid-template-rows: auto 1fr auto}.universe-main{grid-column: 1 / span 6;grid-row: 1 / span 3}.universe-second{grid-column: 8 / span 3;grid-row: 1;width: auto;margin-top: 0;justify-self: stretch;box-shadow: none}.universe-text{grid-column: 8 / span 5;grid-row: 3}.universe.is-flipped .universe-main{grid-column: 7 / span 6}.universe.is-flipped .universe-second{grid-column: 3 / span 3}.universe.is-flipped .universe-text{grid-column: 1 / span 5}}.section{padding-block: var(--space-2xl)}.section-head{display: grid;gap: var(--space-m);margin-bottom: var(--space-xl)}.section-head .label{color: var(--muted)}.section-title{max-width: 16ch;font-family: var(--font-display);font-weight: var(--display-weight);font-size: var(--step-4);line-height: 0.95;letter-spacing: -0.04em}.services{padding-top: var(--space-2xl)}.svc{display: grid;gap: clamp(1.25rem,0.8rem + 1.6vw,2.5rem)}.svc-row{--p: 1;--tilt: 1;--key: clamp(3.4rem,2.6rem + 2.4vw,5rem);display: grid;grid-template-columns: 1fr;padding: clamp(0.4rem,0.3rem + 0.3vw,0.6rem);border: 1px solid rgba(23,25,24,0.28);overflow: hidden}.svc-box{position: relative;display: grid;align-content: center;gap: 0.6rem;min-height: clamp(9rem,6rem + 9vw,15rem);padding: clamp(1.5rem,1rem + 2vw,3rem)}.svc-problem{background: var(--paper-deep);color: var(--ink);-webkit-mask: radial-gradient(circle calc(var(--key) / 2 + 1px) at 50% 100%,transparent 98%,#000 100%);mask: radial-gradient(circle calc(var(--key) / 2 + 1px) at 50% 100%,transparent 98%,#000 100%);padding-bottom: calc(var(--key) / 2 + clamp(1.5rem,1rem + 2vw,3rem))}.svc-line{max-width: 20ch;font-family: var(--font-display);font-weight: 700;font-size: clamp(1.4rem,0.7rem + 1.9vw,2.6rem);line-height: 1.04;letter-spacing: -0.04em}.svc-solution{background: var(--ink);color: var(--paper);padding-top: calc(var(--key) / 2 + clamp(1.5rem,1rem + 2vw,3rem))}.svc-key{position: absolute;z-index: 2;left: 50%;top: calc(var(--key) / -2);width: var(--key);height: var(--key);margin-left: calc(var(--key) / -2);border-radius: 50%;background: var(--ink)}@media (min-width: 960px){.svc-row{grid-template-columns: 1fr 1fr}.svc-problem{-webkit-mask: radial-gradient(circle calc(var(--key) / 2 + 1px) at 100% 50%,transparent 98%,#000 100%);mask: radial-gradient(circle calc(var(--key) / 2 + 1px) at 100% 50%,transparent 98%,#000 100%);padding-bottom: clamp(1.5rem,1rem + 2vw,3rem);padding-right: calc(var(--key) / 2 + clamp(1.5rem,1rem + 2vw,3rem))}.svc-solution{padding-top: clamp(1.5rem,1rem + 2vw,3rem);padding-left: calc(var(--key) / 2 + clamp(1.5rem,1rem + 2vw,3rem))}.svc-key{left: calc(var(--key) / -2);top: 50%;margin-left: 0;margin-top: calc(var(--key) / -2)}}@media (prefers-reduced-motion: no-preference) and (min-width: 960px){.svc-problem{transform: translate3d(calc((1 - var(--p)) * -30vw),0,0) rotate(calc((1 - var(--p)) * var(--tilt) * -4deg))}.svc-solution{transform: translate3d(calc((1 - var(--p)) * 30vw),0,0) rotate(calc((1 - var(--p)) * var(--tilt) * 4deg))}.svc-key{transform: rotate(calc((1 - var(--p)) * -180deg))}.svc-row.is-locked .svc-key{animation: key-click 0.55s var(--ease)}.svc-row.is-locked .svc-problem{animation: jolt-left 0.45s var(--ease)}.svc-row.is-locked .svc-solution{animation: jolt-right 0.45s var(--ease)}}@media (prefers-reduced-motion: no-preference) and (max-width: 959px){html.js .svc-problem,html.js .svc-solution{transition: transform 0.75s cubic-bezier(0.2,0.9,0.25,1)}html.js .svc-problem{transform: translate3d(0,-0.5rem,0)}html.js .svc-solution{transform: translate3d(0,2rem,0);transition-delay: 0.06s}html.js .svc-key{transform: scale(0);transition: transform 0.5s cubic-bezier(0.2,1.6,0.35,1) 0.45s}html.js .svc-row.is-met .svc-problem,html.js .svc-row.is-met .svc-solution,html.js .svc-row.is-met .svc-key{transform: none}html.js .svc-row.is-met .svc-solution{animation: settle-y 0.4s var(--ease) 0.8s}}@keyframes settle-y{0%{transform: none}35%{transform: translateY(0.25rem)}100%{transform: none}}@keyframes key-click{0%{transform: scale(1)}35%{transform: scale(1.22)}100%{transform: scale(1)}}@keyframes jolt-left{0%{transform: none}30%{transform: translateX(-0.4rem)}100%{transform: none}}@keyframes jolt-right{0%{transform: none}30%{transform: translateX(0.4rem)}100%{transform: none}}.section-title.is-light{font-weight: 400}.section-title.is-light strong{font-weight: 800}.rise .rw{display: inline-block;overflow: hidden;vertical-align: top;padding-bottom: 0.08em;margin-bottom: -0.08em}.rise .rw > span{display: inline-block}@media (prefers-reduced-motion: no-preference){html.js .section-head[data-reveal]{opacity: 1;transform: none}html.js .section-head[data-reveal] .rise .rw > span{transform: translateY(110%);transition: transform 1s var(--ease);transition-delay: calc(var(--i) * 70ms)}html.js .section-head[data-reveal].is-in .rise .rw > span{transform: none}}.process{margin-top: var(--space-2xl);padding-top: var(--space-xl);border-top: 1px solid var(--line)}.process-title{margin-bottom: var(--space-l);font-family: var(--font-display);font-weight: 800;font-size: var(--step-3);line-height: 1;letter-spacing: -0.045em}.process-list{display: grid}.step{--f: 1;display: grid;gap: 0.5rem var(--gutter);align-items: end;padding-block: clamp(0.75rem,0.4rem + 1vw,1.5rem);border-bottom: 1px solid var(--line)}.step-word{font-family: var(--font-display);font-weight: 800;font-size: clamp(3.2rem,1rem + 10vw,11rem);line-height: 0.88;letter-spacing: -0.055em;color: var(--paper)}.step-note{max-width: 30ch;color: var(--paper-muted);font-size: var(--step-1);line-height: 1.4;padding-bottom: 0.6em}@media (min-width: 900px){.step{grid-template-columns: minmax(0,1.7fr) minmax(0,1fr)}.step:nth-child(even) .step-word{padding-left: 8vw}}@supports ((-webkit-background-clip: text) or (background-clip: text)){@media (prefers-reduced-motion: no-preference){.step-word{color: transparent;-webkit-text-stroke: 1.5px var(--paper);background: linear-gradient(90deg,var(--paper) calc(var(--f) * 100%),transparent calc(var(--f) * 100%));-webkit-background-clip: text;background-clip: text}.step-note{opacity: clamp(0,calc((var(--f) - 0.55) * 3),1);transform: translate3d(0,calc((1 - clamp(0,calc((var(--f) - 0.55) * 3),1)) * 1.25rem),0)}}}.about-grid{display: grid;gap: var(--space-xl) var(--gutter);align-items: start}.about-portrait{--rv: 1;--py: 0;position: relative;overflow: hidden;aspect-ratio: 4 / 5}.about-portrait picture{height: 100%}.about-portrait img,.about-portrait .ph{width: 100%;height: 100%;object-fit: cover}@media (prefers-reduced-motion: no-preference){.about-portrait{clip-path: inset(calc((1 - var(--rv)) * 100%) 0 0 0)}.about-portrait img{height: 116%;transform: translate3d(0,calc(-7% + var(--py) * -6%),0) scale(calc(1.18 - var(--rv) * 0.18));transform-origin: 50% 60%}}.about-body{display: grid;gap: var(--space-m)}.about-body > .label{color: var(--muted)}.about-name{font-family: var(--font-display);font-weight: var(--display-weight);font-size: var(--step-4);line-height: 0.92;letter-spacing: -0.04em}.about-role{color: var(--muted)}.about-stat{display: flex;align-items: center;gap: var(--space-m);padding-block: var(--space-m);border-block: 1px solid var(--line)}.stat-figure{font-family: var(--font-display);font-weight: var(--display-weight);font-size: var(--step-4);line-height: 0.85;letter-spacing: -0.045em}.stat-text{max-width: 26ch;color: var(--muted);font-size: var(--step--1);line-height: 1.45}.about-lead{max-width: 46ch;font-size: var(--step-1);line-height: 1.5}.xp-list li{display: grid;grid-template-columns: 1fr;gap: 0 var(--space-s);padding-block: 0.8rem;border-bottom: 1px solid var(--line);font-size: var(--step--1)}.xp-company{font-weight: 600}.xp-role{color: var(--muted)}@media (min-width: 700px){.xp-list li{grid-template-columns: 1fr 1.4fr}}@media (min-width: 900px){.about-grid{grid-template-columns: repeat(12,minmax(0,1fr))}.about-portrait{grid-column: 1 / span 5;position: sticky;top: calc(var(--header-h) + 2rem)}.about-body{grid-column: 7 / span 6}}.contact .label{color: var(--muted)}.contact-title{margin-block: var(--space-m) var(--space-m);font-family: var(--font-display);font-weight: var(--display-weight);font-size: var(--step-5);line-height: 0.9;letter-spacing: -0.045em;max-width: 12ch}.contact-topics{display: flex;flex-wrap: wrap;gap: 0.3em 0.55em;margin-bottom: var(--space-xl);font-family: var(--font-display);font-weight: 800;font-size: clamp(1.9rem,1rem + 3.6vw,4.6rem);line-height: 1.05;letter-spacing: -0.045em}.contact-topics li{position: relative;display: inline-block;isolation: isolate;padding-bottom: 0.2em}.contact-topics li::before{content: "";position: absolute;z-index: -1;left: 0;right: 0.02em;bottom: 0;height: 0.14em;background: var(--red)}@media (prefers-reduced-motion: no-preference){html.js .contact-topics[data-reveal]{opacity: 1;transform: none}html.js .contact-topics[data-reveal] li{opacity: 0;transform: translateY(110%) rotate(calc(9deg - var(--i) * 5deg)) scale(0.85);transition: transform 0.95s cubic-bezier(0.2,1.5,0.35,1),opacity 0.5s var(--ease);transition-delay: calc(var(--i) * 140ms)}html.js .contact-topics[data-reveal] li::before{transform: scaleX(0);transform-origin: left;transition: transform 0.6s var(--ease);transition-delay: calc(0.55s + var(--i) * 140ms)}html.js .contact-topics[data-reveal].is-in li{opacity: 1;transform: none}html.js .contact-topics[data-reveal].is-in li::before{transform: none}}.contact-icons{display: flex;flex-wrap: wrap;gap: clamp(0.75rem,0.5rem + 1vw,1.25rem)}.icon-btn{position: relative;display: grid;place-items: center;width: clamp(4.25rem,3.4rem + 2.6vw,6rem);aspect-ratio: 1;border-radius: 50%;background: var(--ink);color: var(--paper);text-decoration: none;transition: background-color 0.35s var(--ease),transform 0.45s cubic-bezier(0.2,1.6,0.35,1)}.icon-btn svg{width: 38%;height: 38%}.icon-btn:focus-visible{background: var(--red)}@media (hover: hover){.icon-btn:hover{background: var(--red);transform: translateY(-0.3rem) rotate(-6deg)}}.icon-label{position: absolute;left: 50%;top: calc(100% + 0.6rem);white-space: nowrap;font-size: 0.75rem;font-weight: 560;font-stretch: 118%;letter-spacing: 0.2em;text-transform: uppercase;color: var(--ink);opacity: 0;transform: translate(-50%,-0.3rem);transition: opacity 0.3s var(--ease),transform 0.3s var(--ease)}.icon-btn:hover .icon-label,.icon-btn:focus-visible .icon-label{opacity: 1;transform: translate(-50%,0)}@media (hover: none){.icon-label{opacity: 1;transform: translate(-50%,0);letter-spacing: 0.06em}.contact-icons{column-gap: 1.4rem;row-gap: 2.5rem}}@media (prefers-reduced-motion: no-preference){html.js .contact-icons[data-reveal]{opacity: 1;transform: none}html.js .contact-icons[data-reveal] li{opacity: 0;transform: scale(0.4) rotate(-25deg);transition: transform 0.8s cubic-bezier(0.2,1.6,0.35,1),opacity 0.4s var(--ease);transition-delay: calc(0.5s + var(--i) * 110ms)}html.js .contact-icons[data-reveal].is-in li{opacity: 1;transform: none}}.site-footer{background: var(--night);color: var(--paper);padding-block: var(--space-2xl) var(--space-m);overflow: hidden}.footer-top{display: grid;gap: var(--space-l) var(--gutter);padding-bottom: var(--space-xl)}.footer-claim{font-family: var(--font-display);font-weight: 800;font-size: var(--step-3);line-height: 1;letter-spacing: -0.045em;max-width: 10ch}.footer-col ul{display: grid;gap: 0.1rem}.footer-col a{display: inline-flex;align-items: center;min-height: 36px;text-decoration: none;overflow-wrap: anywhere;font-family: var(--font-display);font-weight: 600;font-size: var(--step-1);letter-spacing: -0.02em;color: var(--paper);background: linear-gradient(var(--acid),var(--acid)) no-repeat 0 88% / 0 2px;transition: background-size 0.45s var(--ease),color 0.3s var(--ease)}.footer-col a:hover{background-size: 100% 2px}.footer-contact a{font-family: var(--font-body);font-weight: 400;font-size: var(--step--1);letter-spacing: 0;color: var(--paper-muted)}.footer-contact a:hover{color: var(--paper)}.footer-wordmark{display: block;color: var(--paper);overflow: hidden}.footer-wordmark svg{width: 100%;height: auto}@media (prefers-reduced-motion: no-preference){html.js .footer-wordmark[data-reveal]{opacity: 1;transform: none}html.js .footer-wordmark[data-reveal] svg{transform: translate3d(0,60%,0);transition: transform 1.4s var(--ease)}html.js .footer-wordmark[data-reveal].is-in svg{transform: none}}.footer-bottom{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: var(--space-s);margin-top: var(--space-l);padding-top: var(--space-s);border-top: 1px solid rgba(243,240,233,0.14);font-size: var(--step--1);color: var(--paper-muted)}.footer-legal{display: inline-flex;align-items: center;gap: 0.75rem}.footer-mark svg{width: 1.9rem;height: 1.9rem;border-radius: 0.45rem;transition: transform 0.8s cubic-bezier(0.2,1.4,0.35,1)}.footer-legal:hover .footer-mark svg{transform: rotate(360deg)}.back-to-top{display: inline-flex;align-items: center;min-height: 44px;padding: 0 1.2rem;margin-block: -0.5rem;border: 1px solid rgba(243,240,233,0.35);border-radius: 999px;text-decoration: none;color: var(--paper);font-size: 0.75rem;font-weight: 560;font-stretch: 118%;letter-spacing: 0.2em;text-transform: uppercase;transition: background-color 0.3s var(--ease),color 0.3s var(--ease),border-color 0.3s var(--ease)}.back-to-top:hover{background: var(--acid);color: var(--ink);border-color: var(--acid)}@media (min-width: 700px){.footer-top{grid-template-columns: repeat(2,minmax(0,1fr))}.footer-claim{grid-column: 1 / -1}}@media (min-width: 1100px){.footer-top{grid-template-columns: 2fr 1fr 1.2fr}.footer-claim{grid-column: auto}}.ph{position: relative;display: grid;place-items: center;width: 100%;aspect-ratio: 4 / 5;background: var(--ph);outline: 1px solid var(--line);outline-offset: -1px}.ph-mark{position: relative;font-family: var(--font-display);font-weight: var(--display-weight);font-size: clamp(2.5rem,5vw,4.5rem);line-height: 1;color: var(--line-strong)}.ph-mark i{position: absolute;right: -0.28em;bottom: 0.08em;width: 0.16em;height: 0.16em;background: var(--line-strong)}.ph-num{position: absolute;left: 0.9rem;bottom: 0.7rem;font-size: 0.75rem;font-weight: 520;font-stretch: 118%;letter-spacing: 0.2em;text-transform: uppercase;color: var(--muted)}.case{background: var(--tone)}.case-cover{display: grid;min-height: 100svh}.case-cover-text{display: flex;flex-direction: column;justify-content: space-between;gap: var(--space-xl);padding: calc(var(--header-h) + var(--space-m)) var(--page-pad) var(--space-l)}.case-crumbs{display: flex;justify-content: space-between;align-items: center;font-size: 0.75rem;font-weight: 520;font-stretch: 118%;letter-spacing: 0.2em;text-transform: uppercase}.case-crumbs a{display: inline-flex;align-items: center;gap: 0.6em;min-height: 44px;text-decoration: none}.case-crumbs a:hover{text-decoration: underline}.case-cover .label{color: var(--muted);margin-bottom: var(--space-s)}.case-title{font-family: var(--font-display);font-weight: var(--display-weight);font-size: clamp(3rem,1.6rem + 5.6vw,8.5rem);line-height: 0.9;letter-spacing: -0.045em;overflow-wrap: break-word}.case-subtitle{margin-top: var(--space-s);font-family: var(--font-display);font-weight: 400;font-size: var(--step-2);line-height: 1.1;color: var(--muted)}.case-cover-media{position: relative;overflow: hidden}.tone-dark .case-cover-media::after{content: "";position: absolute;inset: 0 0 auto;height: 11rem;pointer-events: none;background: linear-gradient(to bottom,rgba(10,10,10,0.72),rgba(10,10,10,0.3) 45%,rgba(10,10,10,0))}.case-cover-media img,.case-cover-media .ph{width: 100%;height: 100%;aspect-ratio: 4 / 5;object-fit: cover}@media (min-width: 900px){.case-cover{grid-template-columns: 1fr 1fr}.case-cover-media img,.case-cover-media .ph{aspect-ratio: auto;min-height: 100svh}}@media (prefers-reduced-motion: no-preference){.case-cover-text > div{animation: slide-up 1.1s var(--ease) backwards}.case-cover-media img{animation: settle 2.2s var(--ease) both}}@keyframes lift{from{opacity: 0;transform: translateY(2rem)}to{opacity: 1;transform: none}}.case-intro{display: grid;gap: var(--space-xl) var(--gutter);padding-block: var(--space-2xl) var(--space-xl)}.case-lead{max-width: 30ch;font-family: var(--font-display);font-weight: 500;font-size: var(--step-3);line-height: 1.12;letter-spacing: -0.01em}.facts{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(100%,14rem),1fr));gap: 0 var(--gutter);border-top: 1px solid var(--line-strong)}.facts > div{padding-block: var(--space-s);border-bottom: 1px solid var(--line)}.facts dt,.credits dt{font-size: 0.75rem;font-weight: 520;font-stretch: 125%;letter-spacing: 0.2em;text-transform: uppercase;color: var(--muted);margin-bottom: 0.25rem}.facts dd{font-weight: 500;line-height: 1.4}.programme{display: grid;border-top: 1px solid var(--line)}.programme li{display: grid;gap: 0.25rem var(--gutter);padding-block: var(--space-s);border-bottom: 1px solid var(--line)}.programme .label{color: var(--muted)}.prog-place{font-family: var(--font-display);font-weight: 400;font-size: var(--step-2);line-height: 1.1}.prog-text{color: var(--muted)}@media (min-width: 900px){.case-intro{grid-template-columns: repeat(12,minmax(0,1fr))}.case-lead{grid-column: 1 / span 8}.facts,.programme{grid-column: 1 / -1}.programme li{grid-template-columns: 10rem 1fr 1.4fr;align-items: baseline}}.case-gallery{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: var(--img-gap);padding-inline: var(--img-gap);padding-bottom: var(--space-2xl)}.g-item{overflow: hidden;grid-column: span 2}.g-item img,.g-item video,.g-item .ph{width: 100%;object-fit: cover;aspect-ratio: 4 / 5}.g-wide img,.g-wide .ph{aspect-ratio: 4 / 3}.g-third{grid-column: span 1}.g-half + .g-third,.g-wide + .g-third{grid-column: span 2}.g-item video{background: var(--night)}@media (min-width: 700px){.case-gallery{grid-template-columns: repeat(6,minmax(0,1fr))}.g-wide{grid-column: span 6}.g-wide img,.g-wide .ph{aspect-ratio: 16 / 9}.g-half{grid-column: span 3}.g-third,.g-half + .g-third,.g-wide + .g-third{grid-column: span 2}}.case-details{display: grid;gap: var(--space-xl) var(--gutter);padding-bottom: var(--space-2xl)}.case-details h2{color: var(--muted);margin-bottom: var(--space-m)}.done{display: flex;flex-wrap: wrap;gap: 0.5rem}.done li{padding: 0.45rem 0.9rem;border: 1px solid var(--line-strong);font-size: var(--step--1)}.credits{display: grid;border-top: 1px solid var(--line-strong)}.credits > div{display: grid;gap: 0 var(--space-s);padding-block: var(--space-xs);border-bottom: 1px solid var(--line)}.credits dd{font-weight: 500}.case-provenance{margin-top: var(--space-m);font-size: var(--step--1);color: var(--muted);max-width: 48ch}@media (min-width: 600px){.credits > div{grid-template-columns: 13rem 1fr}.credits dt{margin: 0.2rem 0 0}}@media (min-width: 900px){.case-details{grid-template-columns: 1fr 1fr}}.next-case{background: var(--tone);color: var(--fg)}.next-inner{display: grid;grid-template-columns: 1fr auto;align-items: center;gap: var(--space-2xs) var(--gutter);padding-block: var(--space-xl);text-decoration: none}.next-inner .label{color: var(--muted)}.next-title{grid-column: 1;font-family: var(--font-display);font-weight: var(--display-weight);font-size: var(--step-4);line-height: 0.95;letter-spacing: -0.04em}.next-arrow{display: inline-block;font-family: var(--font-body);font-weight: 400;font-size: 0.5em;transition: transform 0.5s var(--ease)}@media (hover: hover){.next-inner:hover .next-arrow{transform: translateX(0.5rem)}}.next-media{grid-column: 2;grid-row: 1 / span 2;width: clamp(6rem,18vw,17rem);overflow: hidden}.next-media img,.next-media .ph{aspect-ratio: 4 / 5;object-fit: cover;transition: transform 1.2s var(--ease)}@media (prefers-reduced-motion: no-preference) and (hover: hover){.next-inner:hover .next-media img{transform: scale(1.05)}}.case-cta{display: grid;gap: var(--space-l);justify-items: start;padding-block: var(--space-2xl)}.reach{display: flex;flex-wrap: wrap;align-items: center;gap: 0.75rem}.reach-toggle{list-style: none;cursor: pointer;user-select: none;gap: 0.9rem;border-radius: 999px}.reach-toggle::-webkit-details-marker{display: none}.reach-plus{position: relative;width: 0.8rem;height: 0.8rem}.reach-plus::before,.reach-plus::after{content: "";position: absolute;left: 0;right: 0;top: 50%;height: 1.5px;margin-top: -0.75px;background: currentColor;transition: transform 0.4s var(--ease)}.reach-plus::after{transform: rotate(90deg)}.reach[open] .reach-plus::after{transform: rotate(0deg)}.reach-options{display: flex;flex-wrap: wrap;gap: 0.75rem}.reach-option{display: inline-flex;align-items: center;gap: 0.6rem;min-height: 3.1rem;padding: 0 1.4rem 0 1.1rem;border: 1px solid rgba(243,240,233,0.55);border-radius: 999px;color: var(--paper);text-decoration: none;font-size: 0.75rem;font-weight: 560;font-stretch: 118%;letter-spacing: 0.2em;text-transform: uppercase;transition: transform 0.4s cubic-bezier(0.2,1.6,0.35,1),background-color 0.3s var(--ease),color 0.3s var(--ease),border-color 0.3s var(--ease)}.reach-option svg{width: 1.15rem;height: 1.15rem}.reach-option:focus-visible{background: var(--paper);color: var(--ink);border-color: var(--paper)}@media (hover: hover){.reach-option:hover{transform: translateY(-0.2rem);background: var(--paper);color: var(--ink);border-color: var(--paper)}}@media (prefers-reduced-motion: no-preference){.reach[open] .reach-option{animation: reach-in 0.6s cubic-bezier(0.2,1.5,0.35,1) both}.reach[open] .reach-option + .reach-option{animation-delay: 0.08s}}@keyframes reach-in{from{opacity: 0;transform: translateX(-1rem) scale(0.85)}to{opacity: 1;transform: none}}.cta-title{font-family: var(--font-display);font-weight: var(--display-weight);font-size: var(--step-4);line-height: 0.95;letter-spacing: -0.04em}.pf{padding-top: calc(var(--header-h) + var(--space-xl));padding-bottom: var(--space-2xl)}.pf-heading{margin-bottom: var(--space-l);font-family: var(--font-body);font-stretch: 125%;font-weight: 560;font-size: clamp(0.75rem,0.7rem + 0.3vw,0.9rem);letter-spacing: 0.22em;text-transform: uppercase;color: var(--paper-muted)}.pf-list{position: relative;border-top: 1px solid rgba(243,240,233,0.2)}.pf-item{position: relative;border-bottom: 1px solid rgba(243,240,233,0.2);transition: opacity 0.4s var(--ease)}.pf-item::before{content: "";position: absolute;inset: -1px calc(-1 * var(--page-pad));z-index: 0;background: var(--tone);transform: scaleY(0);transform-origin: bottom;transition: transform 0.55s var(--ease)}.pf-link{position: relative;z-index: 1;display: grid;grid-template-columns: 1fr auto;align-items: center;gap: 0.4rem var(--gutter);padding-block: clamp(1rem,0.6rem + 1.4vw,2rem);text-decoration: none;color: var(--paper)}.pf-name{font-family: var(--font-display);font-weight: 800;font-size: clamp(2.3rem,0.9rem + 6.2vw,8rem);line-height: 0.92;letter-spacing: -0.055em;transition: transform 0.6s var(--ease)}.pf-meta{grid-column: 1;display: flex;flex-wrap: wrap;gap: 0.2rem 1.25rem;color: var(--paper-muted);font-size: 0.75rem;font-weight: 560;font-stretch: 118%;letter-spacing: 0.2em;text-transform: uppercase}.pf-thumb{grid-column: 2;grid-row: 1 / span 2;width: clamp(4.5rem,3rem + 6vw,7rem);overflow: hidden}.pf-thumb img,.pf-thumb .ph{aspect-ratio: 4 / 5;object-fit: cover;width: 100%}@media (hover: hover) and (min-width: 900px){.pf-link{grid-template-columns: 1fr}.pf-meta{justify-content: flex-start}.pf-item:hover::before{transform: scaleY(1)}.pf-item:hover .pf-name,.pf-link:focus-visible .pf-name{transform: translateX(2vw)}.pf-list:hover .pf-item:not(:hover){opacity: 0.35}.pf-thumb{position: fixed;left: 0;top: 0;z-index: 3;grid-column: auto;grid-row: auto;width: clamp(14rem,8rem + 12vw,22rem);pointer-events: none;opacity: 0;transform: translate3d(calc(var(--mx,50vw) - 50%),calc(var(--my,50vh) - 50%),0) rotate(-5deg) scale(0.7);transition: opacity 0.35s var(--ease),transform 0.5s var(--ease);box-shadow: 0 1.5rem 3rem rgba(0,0,0,0.35)}.pf-item:hover .pf-thumb{opacity: 1;transform: translate3d(calc(var(--mx,50vw) - 50%),calc(var(--my,50vh) - 50%),0) rotate(-3deg) scale(1)}}@media (prefers-reduced-motion: no-preference){.pf-item{animation: slide-up 0.9s var(--ease) backwards}.pf-item:nth-child(2){animation-delay: 0.06s}.pf-item:nth-child(3){animation-delay: 0.12s}.pf-item:nth-child(4){animation-delay: 0.18s}.pf-item:nth-child(5){animation-delay: 0.24s}}.notfound{min-height: 80svh;display: grid;align-content: end;gap: var(--space-l);padding-top: calc(var(--header-h) + var(--space-2xl));padding-bottom: var(--space-2xl)}.notfound .label{color: var(--paper-muted)}.notfound-title{font-family: var(--font-display);font-weight: var(--display-weight);font-size: var(--step-5);line-height: 0.9;letter-spacing: -0.045em;max-width: 10ch}.nf-links{width: 100%;max-width: 44rem;margin-top: var(--space-l);border-top: 1px solid var(--line-strong)}.nf-links a{display: flex;gap: var(--space-s);align-items: baseline;padding-block: var(--space-xs);border-bottom: 1px solid var(--line);font-family: var(--font-display);font-weight: 600;font-size: var(--step-2);text-decoration: none}.nf-links a:hover{text-decoration: underline}.nf-links @media (prefers-reduced-motion: no-preference){html.js [data-reveal]{opacity: 0;transform: translate3d(0,2.5rem,0);transition: opacity 1s var(--ease),transform 1.3s var(--ease)}html.js [data-reveal].is-in{opacity: 1;transform: none}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{transition-duration: 0.01ms !important;animation-duration: 0.01ms !important;animation-iteration-count: 1 !important}}@media print{.site-header,.next-case,.case-cta{display: none}}
