:root{--page-padding:24px;--section-padding:80px;--content-max:960px;--bg:#050505;--surface:#050505;--line:#2b2b2b;--text:#fffdfa;--text-dim:rgba(255,253,250,.55);--accent:#f15735;--ease-linear:cubic-bezier(.25,.25,.75,.75);--ease-in-sine:cubic-bezier(.47,0,.745,.715);--ease-out-sine:cubic-bezier(.39,.575,.565,1);--ease-in-out-sine:cubic-bezier(.445,.05,.55,.95);--ease-in-quad:cubic-bezier(.55,.085,.68,.53);--ease-out-quad:cubic-bezier(.25,.46,.45,.94);--ease-in-out-quad:cubic-bezier(.455,.03,.515,.955);--ease-in-cubic:cubic-bezier(.55,.055,.675,.19);--ease-out-cubic:cubic-bezier(.215,.61,.355,1);--ease-in-out-cubic:cubic-bezier(.645,.045,.355,1);--ease-in-quart:cubic-bezier(.895,.03,.685,.22);--ease-out-quart:cubic-bezier(.165,.84,.44,1);--ease-in-out-quart:cubic-bezier(.77,0,.175,1);--ease-in-quint:cubic-bezier(.755,.05,.855,.06);--ease-out-quint:cubic-bezier(.23,1,.32,1);--ease-in-out-quint:cubic-bezier(.86,0,.07,1);--ease-in-expo:cubic-bezier(.95,.05,.795,.035);--ease-out-expo:cubic-bezier(.19,1,.22,1);--ease-in-out-expo:cubic-bezier(1,0,0,1);--ease-in-circ:cubic-bezier(.6,.04,.98,.335);--ease-out-circ:cubic-bezier(.075,.82,.165,1);--ease-in-out-circ:cubic-bezier(.785,.135,.15,.86);--ease-in-back:cubic-bezier(.6,-.28,.735,.045);--ease-out-back:cubic-bezier(.175,.885,.32,1.275);--ease-in-out-back:cubic-bezier(.68,-.55,.265,1.55);--transition-img-clip:.5s transform var(--ease-out-cubic),.55s opacity var(--ease-out-cubic);--transition-text:.5s transform var(--ease-out-cubic),.5s opacity var(--ease-out-cubic)}:root.theme-light{--bg:#fafafa;--surface:#fafafa;--line:#d8d8d8;--text:#010405;--text-dim:grey}.page-enter-active,.page-leave-active{transition:opacity .55s ease}.page-enter-from,.page-leave-to{opacity:.9999}*{box-sizing:border-box}body,html{margin:0;min-height:100%;width:100%}body{background:var(--bg);color:var(--text);font-family:Neue Montreal,PP Neue Montreal,sans-serif;font-weight:500;letter-spacing:0;transition:background-color .8s cubic-bezier(.44,0,.56,1),color .8s cubic-bezier(.44,0,.56,1)}a{color:inherit}.app-shell{display:flex;flex-direction:column;min-height:100vh}.site-header{padding:var(--page-padding);width:100%}.site-header__inner{align-items:flex-start;display:flex;gap:40px;justify-content:space-between;margin:0 auto;max-width:var(--content-max)}.site-header__brand{display:flex;flex-direction:column;flex-shrink:0;gap:16px}.site-header__subtitle{color:var(--text-dim);display:flex;flex-direction:column;font-size:13px;line-height:1.4}.site-header__subtitle p{margin:0}.site-header__nav-group{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:16px}.site-header__primary-nav{display:flex;gap:14px}.site-header__secondary-nav{align-items:flex-end;display:flex;flex-direction:column}.site-header__link,.site-header__name,.site-header__name-link{color:var(--text);font-size:18px;font-weight:500;line-height:1;margin:0;text-decoration:none}.site-header__link{opacity:.55}.site-header__link--small{color:var(--text-dim);font-size:13px;opacity:1}.site-header__link.is-active,.site-header__link:focus-visible,.site-header__link:hover{opacity:1}.main-shell{align-content:flex-end;display:flex;flex:1;height:100%;width:100%}.site-footer{padding:var(--page-padding);transition:opacity .55s ease;width:100%}.site-footer__inner{margin:0 auto;max-width:var(--content-max)}.site-footer__inner p{color:var(--text-dim);font-size:12px;letter-spacing:.08em;line-height:1;margin:0;text-transform:uppercase}.app-shell--about .main-shell{align-content:normal;height:auto;padding:0 var(--page-padding)}.app-shell--about .site-footer__inner p{display:inline-block}.about-page{margin:0 auto;max-width:var(--content-max);width:100%}.about-section{display:flex;flex-wrap:wrap;gap:40px;padding:var(--section-padding) 0}.about-col-s{flex:0 0 240px}.about-col-l{flex:1;min-width:0}.about-photo{aspect-ratio:4/5;overflow:hidden;width:100%}.about-photo img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 15%;object-position:center 15%;width:100%}.about-bio__para{color:var(--text);font-size:24px;font-weight:500;line-height:1.4;margin:0 0 24px}.about-bio__para:last-child{margin-bottom:0}.about-section-label{color:var(--text);font-size:18px;font-weight:500;line-height:1;margin:0}.exp-item{display:grid;gap:8px;grid-template-columns:minmax(0,.5fr) minmax(0,1fr);padding-bottom:24px}.exp-item__dates{font-size:12px;letter-spacing:.05em;line-height:1;padding-top:4px;text-transform:uppercase}.exp-item__dates,.exp-item__title{color:var(--text);font-weight:500;margin:0}.exp-item__company,.exp-item__title{font-size:18px;line-height:1.2}.exp-item__company{color:var(--text-dim);font-weight:500;margin:3px 0 0}.about-actions{padding-top:24px}.about-cv-btn{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--accent);border:none;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;height:40px;padding:12px 20px;text-decoration:none;transition:opacity .15s ease}.about-cv-btn:hover{opacity:.88}.portfolio-marquee{--marquee-gap:8px;--tile-height:60vh;align-content:end;flex:1;pointer-events:none;width:100vw}.portfolio-marquee__viewport{cursor:grab;overflow:hidden;pointer-events:auto;touch-action:pan-y;width:100%}.portfolio-marquee__viewport:active{cursor:grabbing}.portfolio-marquee__track{display:flex;gap:var(--marquee-gap);padding:0 24px 8px;width:-moz-max-content;width:max-content;will-change:transform}.portfolio-marquee__set{display:flex;flex:0 0 auto;gap:var(--marquee-gap)}.card{display:grid;flex:0 0 auto;gap:0;grid-template-rows:var(--tile-height) auto;width:-moz-max-content;width:max-content}.card .img{border-radius:6px;height:var(--tile-height);overflow:hidden;width:calc(var(--tile-height)*var(--media-ratio, 1))}.card .img,.card .img__inner{position:relative;will-change:transform}.card .img__inner{display:grid;height:100%;width:100%}.card img,.card picture,.card video{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.card p{color:var(--text);display:flex;font-size:14px;justify-content:flex-start;line-height:1.35;margin-bottom:0;margin-top:6px}.card p span{color:var(--text-dim)}.card--interactive{cursor:pointer}.card--interactive:hover .img{opacity:.85;transition:opacity .2s ease}.site-header__link--btn{background:none;border:none;cursor:pointer;padding:0}.contact-page{margin:0 auto;max-width:var(--content-max);width:100%}.contact-form{display:flex;flex-direction:column;gap:32px;width:100%}.contact-form__field{display:flex;flex-direction:column;gap:8px}.contact-form__label{color:var(--text-dim);font-size:12px;font-weight:500;letter-spacing:.08em;line-height:1;text-transform:uppercase}.contact-form__input,.contact-form__textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-bottom:1px solid var(--line);border-radius:0;color:var(--text);cursor:auto;font-family:inherit;font-size:18px;font-weight:500;line-height:1.4;outline:none;padding:8px 0;resize:none;transition:border-color .2s ease;width:100%}.contact-form__input:focus,.contact-form__textarea:focus{border-color:var(--text)}.contact-form__actions{padding-top:8px}.contact-form__error{color:var(--accent);font-size:14px;margin:0}.contact-form__success{padding-top:8px}@media(max-width:768px){:root{--page-padding:16px;--section-padding:40px}.site-header__inner{flex-direction:column;gap:20px}.site-header__nav-group,.site-header__secondary-nav{align-items:flex-start}.portfolio-marquee__track{padding:0 14px 40px}.about-section{flex-direction:column;gap:24px}.about-col-s{flex:0 0 auto;width:100%}.about-photo{aspect-ratio:4/3}.about-photo img{-o-object-position:center center;object-position:center center}}.prose{color:var(--foreground-secondary);font-size:var(--text-base);line-height:1.7;max-width:65ch}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--foreground-primary);font-weight:500;letter-spacing:-.02em;line-height:1.25;margin-bottom:.75em;margin-top:2em}.prose h1{font-size:clamp(24px,4vw,36px);margin-top:0}.prose h2{font-size:clamp(18px,3vw,24px)}.prose h3{font-size:clamp(16px,2.5vw,20px)}.prose h4{font-size:var(--text-base)}.prose h5{font-size:var(--text-sm);letter-spacing:.04em}.prose h5,.prose h6{text-transform:uppercase}.prose h6{color:var(--foreground-tertiary);font-size:var(--text-xs);letter-spacing:.06em}.prose p{margin:0 0 1.25em}.prose p:last-child{margin-bottom:0}.prose a{color:var(--foreground-primary);text-decoration:underline;text-decoration-color:var(--foreground-tertiary);text-underline-offset:3px;transition:text-decoration-color var(--transition-fast)}.prose a:hover{text-decoration-color:var(--foreground-primary)}.prose :is(h1,h2,h3,h4,h5,h6)>a,.prose h1 a,.prose h2 a,.prose h3 a,.prose h4 a,.prose h5 a,.prose h6 a{color:inherit;text-decoration:none}.prose h1 a:hover,.prose h2 a:hover,.prose h3 a:hover,.prose h4 a:hover,.prose h5 a:hover,.prose h6 a:hover{color:inherit;text-decoration:none}.prose strong{color:var(--foreground-primary);font-weight:600}.prose em{font-style:italic}.prose ol,.prose ul{margin:0 0 1.25em;padding-left:1.5em}.prose li{margin-bottom:.35em}.prose li::marker{color:var(--foreground-tertiary)}.prose ol ol,.prose ol ul,.prose ul ol,.prose ul ul{margin-bottom:.35em;margin-top:.35em}.prose blockquote{border-left:2px solid var(--foreground-tertiary);color:var(--foreground-secondary);font-style:italic;margin:1.5em 0;padding:.25em 0 .25em 1.25em}.prose blockquote p{margin-bottom:.5em}.prose hr{border:none;border-top:1px solid var(--line);margin:2.5em 0}.prose :not(pre)>code{background:var(--background-secondary);border:1px solid hsla(0,0%,100%,.06);border-radius:4px;color:#e0def4;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.85em;padding:.2em .45em;word-break:break-word}.prose pre{border-radius:var(--radius-md);margin:1.5em 0;overflow-x:auto;padding:var(--smaller);-webkit-overflow-scrolling:touch;border:1px solid hsla(0,0%,100%,.04);font-size:.8125em;line-height:1.7}.prose pre code{background:none;border:none;border-radius:0;color:inherit;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:inherit;padding:0}.prose pre code .line{display:inline}.prose pre::-webkit-scrollbar{height:6px}.prose pre::-webkit-scrollbar-track{background:transparent}.prose pre::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.prose pre::-webkit-scrollbar-thumb:hover{background:#ffffff40}.prose table{border-collapse:collapse;display:block;font-size:var(--text-xs);line-height:1.5;margin:1.5em 0;overflow-x:auto;width:100%}.prose thead{text-align:left}.prose th{color:var(--foreground-primary);font-weight:600;white-space:nowrap}.prose td,.prose th{border-bottom:1px solid var(--line);padding:.625em 1em}.prose td{color:var(--foreground-secondary);vertical-align:top}.prose tbody tr:hover{background:var(--background-tertiary)}.prose img{border-radius:var(--radius-sm);height:auto;margin:1.5em 0;max-width:100%}.prose details{background:var(--background-tertiary);border-radius:var(--radius-md);margin:1.25em 0;padding:var(--smallest)}.prose summary{cursor:pointer;font-weight:500}.prose kbd,.prose summary{color:var(--foreground-primary)}.prose kbd{background:var(--background-tertiary);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:inherit;font-size:.8125em;padding:.1em .4em}:root{--background-primary:#050505;--background-secondary:color-mix(in srgb,var(--background-primary) 80%,var(--foreground-primary) 20%);--background-tertiary:color-mix(in srgb,var(--background-primary) 90%,var(--foreground-primary) 10%);--foreground-primary:#fffdfa;--foreground-secondary:color-mix(in srgb,var(--foreground-primary) 60%,var(--background-primary) 40%);--foreground-tertiary:color-mix(in srgb,var(--foreground-primary) 30%,var(--background-primary) 70%);--text-base:clamp(16px,2vw,18px);--text-sm:clamp(13px,1.8vw,14px);--text-xs:clamp(11px,1.5vw,12px);--tinier:8px;--smallest:16px;--smaller:24px;--small:32px;--big:48px;--bigger:64px;--grid-gap:var(--tinier);--grid-margin:var(--smallest);--radius-sm:4px;--radius-md:8px;--ease-out-quart:cubic-bezier(.22,1,.44,1);--transition-function:var(--ease-out-quart);--transition-fast:.25s var(--transition-function)}.grid{-moz-column-gap:var(--grid-gap);column-gap:var(--grid-gap);display:grid;grid-template-columns:repeat(12,1fr);margin-inline:auto;max-width:var(--content-max);padding-inline:0;width:calc(100% - var(--page-padding)*2)}.grid--full{max-width:none;width:100%}.column{grid-column:var(--grid-column,span 12)}@media(min-width:600px){:root{--grid-margin:var(--small)}.column{grid-column:var(--tablet-grid-column,var(--grid-column,span 12))}}@media(min-width:1024px){:root{--grid-margin:var(--big)}.column{grid-column:var(--laptop-grid-column,var(--tablet-grid-column,var(--grid-column,span 12)))}}@media(min-width:1350px){:root{--grid-margin:var(--bigger)}.column{grid-column:var(--desktop-grid-column,var(--laptop-grid-column,var(--tablet-grid-column,var(--grid-column,span 12))))}}.cs-related{border-top:1px solid var(--line);padding-block:var(--bigger)}.cs-related__label{color:var(--foreground-tertiary);display:block;font-size:var(--text-xs);letter-spacing:.06em;margin-bottom:var(--small);text-transform:uppercase}.cs-related__grid{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.cs-related__grid{grid-template-columns:1fr}}.cs-related__item{display:flex;flex-direction:column;gap:var(--tinier);text-decoration:none}.cs-related__item:hover .cs-related__thumb img,.cs-related__item:hover .cs-related__thumb video{transform:scale(1.03)}.cs-related__thumb{aspect-ratio:4/3;border-radius:var(--radius-sm);overflow:hidden}.cs-related__thumb img,.cs-related__thumb video{display:block;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--transition);width:100%}.cs-related__info{display:flex;flex-direction:column;gap:2px;padding-top:var(--tinier)}.cs-related__client{color:var(--foreground-primary);font-size:var(--text-sm);font-weight:500}.cs-related__role{color:var(--foreground-tertiary);font-size:var(--text-xs)}.case-study{padding-bottom:var(--section-padding);padding-top:80px;width:100%}.case-study--empty{padding:var(--section-padding) var(--grid-margin)}.cs-body{padding-block:var(--bigger);row-gap:var(--small)}.cs-body__heading{color:var(--foreground-tertiary);font-size:var(--text-xs);font-weight:500;letter-spacing:.06em;margin:0;text-transform:uppercase}.cs-body__text{display:flex;flex-direction:column;gap:var(--smallest)}.cs-body__text p{color:var(--foreground-secondary);font-size:var(--text-base);line-height:1.65;margin:0;max-width:55ch}.cs-gallery{padding-block:var(--small);padding-inline:var(--grid-margin)}.cs-gallery__grid{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(2,1fr)}@media(max-width:600px){.cs-gallery__grid{grid-template-columns:1fr}}.cs-gallery__item{background:var(--background-secondary);border-radius:var(--radius-sm);overflow:hidden}.cs-gallery__item img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.cs-hero{padding-block:var(--bigger);row-gap:var(--small)}.cs-hero__client{color:var(--foreground-tertiary);display:block;font-size:var(--text-xs);letter-spacing:.06em;margin-bottom:var(--tinier);text-transform:uppercase}.cs-hero__title{color:var(--foreground-primary);font-size:clamp(24px,4vw,40px);font-weight:500;letter-spacing:-.02em;line-height:1.2;margin:0;max-width:22ch}.cs-hero__tags{gap:var(--tinier)}.cs-hero__meta-inline,.cs-hero__tags{display:flex;flex-wrap:wrap;margin-top:var(--smaller)}.cs-hero__meta-inline{align-items:center;gap:0}.cs-meta-item{font-size:var(--text-sm);line-height:1.5}.cs-meta-item,.cs-meta-sep{color:var(--foreground-tertiary)}.cs-meta-sep{margin:0 .5em;opacity:.5}.cs-media-hero{margin-inline:auto;max-width:var(--content-max);padding-inline:0;width:calc(100% - var(--page-padding)*2)}.cs-media-hero__item{background:var(--background-secondary);border-radius:var(--radius-sm);margin-bottom:var(--grid-gap);overflow:hidden;width:100%}.cs-media-hero__item--16x9{aspect-ratio:16/9}.cs-media-hero__item img,.cs-media-hero__item video{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.cs-media-hero__placeholder{background:linear-gradient(135deg,var(--background-secondary),var(--background-tertiary,var(--background-secondary)));border:1px dashed var(--line);border-radius:inherit;color:var(--foreground-tertiary);display:grid;height:100%;place-items:center;width:100%}.cs-media-hero__placeholder-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.cs-back{padding-block:var(--bigger)}.cs-back__link{align-items:center;color:var(--foreground-secondary);display:inline-flex;font-size:var(--text-sm);gap:6px;text-decoration:none;transition:color var(--transition-fast)}.cs-back__link:hover{color:var(--foreground-primary)}
