@font-face{font-family:Rubik;src:url(/media/source/fonts/rubik-v10-latin-300.woff2)format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Rubik;src:url(/media/source/fonts/rubik-v10-latin-regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Rubik;src:url(/media/source/fonts/rubik-v10-latin-500.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Rubik;src:url(/media/source/fonts/rubik-v10-latin-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Asul;src:url(/media/source/fonts/asul-v10-latin-700.woff2)format("woff2");font-weight:700;font-display:swap}@property --color-action{syntax:"<color>";inherits:true;initial-value:#e60058}@property --section-space-multiplier{syntax:"<number>";inherits:true;initial-value:20}:root{color-scheme:light dark;--theme-light-canvas:#f5f7fb;--theme-light-section:#fff;--theme-light-surface:#e8edf5;--theme-light-text:#17182f;--theme-light-muted:#55586a;--theme-light-accent:#a1f4f4;--theme-dark-canvas:#080d32;--theme-dark-section:#03032b;--theme-dark-surface:#0b1242;--theme-dark-text:#f7f7fb;--theme-dark-muted:#c9c9d4;--theme-dark-accent:#a1f4f4;--theme-accent-text-light:#006a70;--color-action:#e60058;--color-action-hover:oklch(from var(--color-action) calc(l - .06) c h);--neutral-0:#fff;--color-canvas:light-dark(var(--theme-light-canvas),var(--theme-dark-canvas));--color-section:light-dark(var(--theme-light-section),var(--theme-dark-section));--color-surface:light-dark(var(--theme-light-surface),var(--theme-dark-surface));--color-text:light-dark(var(--theme-light-text),var(--theme-dark-text));--color-muted:light-dark(var(--theme-light-muted),var(--theme-dark-muted));--color-accent:light-dark(var(--theme-light-accent),var(--theme-dark-accent));--color-accent-text:light-dark(var(--theme-accent-text-light),var(--color-accent));--color-focus:light-dark(var(--color-action),var(--color-accent));--color-border:color-mix(in oklab, var(--color-text) 42%, transparent);--color-card-border:color-mix(in oklab, var(--color-text) 18%, transparent);--color-header:color-mix(in oklab, var(--color-canvas) 94%, transparent);--color-floating-nav:color-mix(in oklab, var(--color-canvas) 88%, transparent);--color-input-hover:light-dark(var(--theme-light-surface),var(--theme-dark-section));--color-on-accent:var(--theme-dark-section);--color-on-action:var(--neutral-0);--color-on-action-hover:var(--neutral-0);--color-on-media:var(--theme-dark-text);--color-on-media-muted:#d7d7e0;--color-border-on-media:#ffffff6b;--color-overlay:#001323d1;--color-content-canvas:var(--color-section);--color-content-text:var(--color-text);--font-body:Rubik, ui-sans-serif, system-ui, sans-serif;--font-display:Asul, Georgia, serif;--font-weight-copy:300;--font-weight-copy-emphasis:400;--type-scale-ratio:1.25;--font-size-base:clamp(1rem, .9643rem + .1786vw, 1.125rem);--font-size-n2:calc(var(--font-size-base) * pow(var(--type-scale-ratio), -2));--font-size-n1:calc(var(--font-size-base) * pow(var(--type-scale-ratio), -1));--font-size-0:var(--font-size-base);--font-size-1:calc(var(--font-size-base) * pow(var(--type-scale-ratio), 1));--font-size-2:calc(var(--font-size-base) * pow(var(--type-scale-ratio), 2));--font-size-3:calc(var(--font-size-base) * pow(var(--type-scale-ratio), 3));--font-size-4:calc(var(--font-size-base) * pow(var(--type-scale-ratio), 4));--font-size-5:calc(var(--font-size-base) * pow(var(--type-scale-ratio), 5));--font-size-6:calc(var(--font-size-base) * pow(var(--type-scale-ratio), 6));--font-size-7:calc(var(--font-size-base) * pow(var(--type-scale-ratio), 7));--font-size-caption:var(--font-size-n2);--font-size-small:var(--font-size-n1);--font-size-body:var(--font-size-0);--font-size-lead:var(--font-size-1);--font-size-h3:var(--font-size-2);--font-size-h2:var(--font-size-5);--font-size-h1:var(--font-size-7);--space-unit:.25rem;--space-0_5:calc(var(--space-unit) * .5);--space-1:var(--space-unit);--space-2:calc(var(--space-unit) * 2);--space-3:calc(var(--space-unit) * 3);--space-4:calc(var(--space-unit) * 4);--space-6:calc(var(--space-unit) * 6);--space-8:calc(var(--space-unit) * 8);--space-12:calc(var(--space-unit) * 12);--space-20:calc(var(--space-unit) * 20);--gap-xs:var(--space-2);--gap-sm:var(--space-3);--gap-md:var(--space-4);--gap-lg:var(--space-6);--gap-xl:var(--space-8);--padding-control-block:var(--space-3);--padding-control-inline:var(--space-4);--padding-card:var(--space-6);--margin-stack:var(--space-6);--margin-section:var(--space-20);--section-space-multiplier:28;--section-space:calc(var(--space-unit) * var(--section-space-multiplier));--section-heading-space:calc(var(--space-unit) * 32);--section-heading-gap:var(--space-12);--section-intro-gap:var(--space-4);--section-content-gap:var(--space-12);--footer-card-overlap:clamp(var(--space-8), 8vw, var(--section-space));--message-field-min-block-size:calc(var(--space-unit) * 40);--message-field-max-block-size:min(50svh, calc(var(--space-unit) * 128));--aspect-ratio-widescreen:16 / 9;--aspect-ratio-landscape:4 / 3;--aspect-ratio-square:1 / 1;--radius-sm:.55rem;--radius-md:1rem;--radius-pill:999px;--layout-shell:72rem;--layout-wide:92rem;--layout-narrow:42rem;--header-height:4.25rem;--header-offset:var(--space-4);--header-total-height:calc(var(--header-height) + var(--header-offset));--focus-ring-width:.2rem;--focus-ring-offset:.25rem;--shadow-media:0 1.2rem 3.6rem light-dark(#03032b2e,#00000061);--shadow-navigation:0 .7rem 2rem light-dark(#03032b1f,#00000047);--duration-fast:.22s;--duration-slow:.8s;--duration-marquee:90s;--ease-standard:cubic-bezier(.2, .7, .2, 1);--transition:var(--duration-fast) var(--ease-standard);--theme-light-icon-display:block;--theme-dark-icon-display:none;--monochrome-icon-filter:none;accent-color:var(--color-action)}:root[data-theme=light]{color-scheme:light;--theme-light-icon-display:none;--theme-dark-icon-display:block;--monochrome-icon-filter:invert(1)}:root[data-theme=dark]{color-scheme:dark}@supports (color:contrast-color(red)){:root{--color-on-accent:contrast-color(var(--color-accent));--color-on-action:contrast-color(var(--color-action));--color-on-action-hover:contrast-color(var(--color-action-hover))}}@media (prefers-contrast:more){:root{--color-border:color-mix(in oklab, var(--color-text) 72%, transparent);--color-card-border:var(--color-border);--focus-ring-width:.25rem}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-total-height);background:var(--color-canvas)}html[data-direct-hash]{scroll-behavior:auto}body{background:var(--color-canvas);min-width:20rem;color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-body);font-weight:var(--font-weight-copy);text-rendering:optimizelegibility;margin:0;line-height:1.55}img,svg,video,iframe{max-width:100%;display:block}img{height:auto}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:.09em}button,input,textarea{font:inherit}:where(h1,h2,h3,h4,h5,h6){text-wrap:balance;margin-block:0}p{font-weight:var(--font-weight-copy);text-wrap:balance;margin-block:0}h1{font-size:var(--font-size-h1);letter-spacing:-.045em;line-height:.98}h2{color:var(--color-accent-text);font-family:var(--font-display);font-size:var(--font-size-h2);text-align:center;line-height:1.1}h3{font-size:var(--font-size-h3);line-height:1.15}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}:target,:focus{scroll-margin-top:calc(var(--header-total-height) + var(--space-4))}.layout-shell,.layout-wide,.layout-narrow{width:min(100% - clamp(2rem, 6vw, 7rem), var(--layout-shell));margin-inline:auto}.layout-wide{max-width:var(--layout-wide)}.layout-narrow{max-width:var(--layout-narrow)}.skip-link{z-index:100;background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-sm);padding:.75rem 1rem;font-weight:700;position:fixed;inset:.6rem auto auto .6rem;translate:0 -200%}.skip-link:focus{translate:0}.button{border-radius:var(--radius-sm);background:var(--color-action);min-height:2.75rem;color:var(--color-on-action);cursor:pointer;transition:background-color var(--transition), translate var(--transition);border:0;place-items:center;padding:.75rem 1.15rem;font-weight:700;text-decoration:none;display:inline-grid}.button:hover{background:var(--color-action-hover);color:var(--color-on-action-hover);translate:0 -.12rem}.button:disabled{cursor:wait;opacity:.6}.media-zoom-link{overflow:hidden}.media-zoom-link>img{transition:scale var(--duration-slow) var(--ease-standard)}.media-zoom-link:hover>img,.media-zoom-link:focus-visible>img{scale:1.045}.directional-link{text-decoration:none}.directional-link__label{align-items:center;gap:var(--space-2);color:var(--color-on-media-muted);font-size:var(--font-size-small);letter-spacing:.01em;font-weight:700;display:inline-flex}.directional-link__arrow{transition:translate var(--transition);flex:none;display:inline-block}.directional-link:hover .directional-link__arrow--previous,.directional-link:focus-visible .directional-link__arrow--previous{translate:-.3rem}.directional-link:hover .directional-link__arrow--next,.directional-link:focus-visible .directional-link__arrow--next{translate:.3rem}.site-header{inset:var(--header-offset) 0 auto;z-index:50;height:var(--header-height);pointer-events:none;position:fixed}.header-grid{align-items:center;gap:var(--space-6);height:100%;padding-inline:var(--space-4);border:1px solid color-mix(in oklab, var(--color-text) 16%, transparent);border-radius:var(--radius-pill);background:var(--color-floating-nav);box-shadow:var(--shadow-navigation);backdrop-filter:blur(1rem);pointer-events:auto;grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav actions";display:grid}.brand{justify-self:start;align-items:center;gap:var(--space-3);text-transform:uppercase;letter-spacing:.02em;grid-area:brand;grid-template-columns:1.9rem auto;font-weight:700;text-decoration:none;display:inline-grid}.brand img{width:1.9rem;height:1.9rem}.brand img,.skill-card__icon img{filter:var(--monochrome-icon-filter);transition:filter var(--transition)}.main-nav{justify-content:end;gap:clamp(var(--space-4), 3vw, var(--space-12));grid-area:nav;grid-auto-flow:column;display:grid}.spotlight{--spotlight-x:50%;--spotlight-y:50%;isolation:isolate;position:relative}.spotlight:after{z-index:2;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--spotlight-x) var(--spotlight-y), #a1f4f40f, transparent 16rem);content:"";opacity:0;transition:opacity .3s;position:absolute;inset:0}.spotlight[data-spotlight-active]:after{opacity:1}.main-nav a{place-items:center;min-height:2.75rem;font-weight:500;text-decoration:none;display:grid}.main-nav a:hover{color:var(--color-accent-text)}.main-nav a[aria-current=page]{color:var(--color-accent-text);font-weight:700}.language-switcher{justify-content:start;align-items:center;gap:var(--space-0_5);grid-auto-flow:column;display:grid}.language-switcher a{min-width:2rem;min-height:2.75rem;padding-inline:var(--space-1);place-items:center;font-weight:500;text-decoration:none;display:grid}.language-switcher a[aria-current=page]{color:var(--color-accent-text);font-weight:700;text-decoration:underline}.language-switcher a:hover{color:var(--color-accent-text)}:is(.main-nav,.language-switcher,.mobile-navigation>nav) a[data-label]{grid-template-areas:"label"}:is(.main-nav,.language-switcher,.mobile-navigation>nav) a[data-label]>span,:is(.main-nav,.language-switcher,.mobile-navigation>nav) a[data-label]:after{grid-area:label}:is(.main-nav,.language-switcher,.mobile-navigation>nav) a[data-label]:after{content:attr(data-label);visibility:hidden;font-weight:700}.header-actions{align-items:center;gap:var(--space-2);grid-area:actions;display:flex}.theme-toggle{width:2.75rem;height:2.75rem;color:inherit;cursor:pointer;appearance:none;transition:color var(--transition), background var(--transition), rotate var(--transition);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:none}:root[data-theme-ready] .theme-toggle{display:grid}.theme-toggle:hover{background:color-mix(in oklab, var(--color-accent-text) 14%, transparent);color:var(--color-accent-text)}.theme-toggle:active{rotate:12deg}.theme-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.45rem;height:1.45rem}.theme-icon--light{display:var(--theme-light-icon-display)}.theme-icon--dark{display:var(--theme-dark-icon-display)}.mobile-navigation-toggle{display:none}.hero{min-height:100svh;padding-top:var(--header-total-height);color:var(--color-on-media);background:linear-gradient(90deg,#03032be0 0%,#08154094 42%,#0000 100%),url(/media/source/cases/hero/c4d/hero_stormtrooper.webp) 50%/cover fixed;align-items:center;display:grid;position:relative}.hero-grid{justify-content:center;align-items:center;gap:var(--space-6);grid-template-columns:9rem minmax(0,37rem);display:grid;position:relative}.hero-portrait{width:9rem;aspect-ratio:var(--aspect-ratio-square);background:var(--color-accent);object-fit:cover;border-radius:48% 52%;align-self:start}.hero-copy h1{max-width:13ch;margin-bottom:var(--space-6);text-shadow:0 .2rem .8rem #00000080}.hero-copy p{max-width:52ch;margin-bottom:var(--space-8);color:var(--color-on-media-muted)}.hero-copy .button{margin-bottom:clamp(var(--space-8), 5vh, var(--space-20))}.scroll-cue{width:3rem;height:3rem;position:absolute;top:calc(50svh + 18rem);left:50%;translate:-50%}.scroll-cue span{border-right:.12rem solid var(--color-on-media-muted);border-bottom:.12rem solid var(--color-on-media-muted);width:1.4rem;height:1.4rem;margin:.35rem auto;display:block;rotate:45deg}.section{padding-block:var(--section-heading-space) var(--section-space);position:relative}.section h2{margin-bottom:var(--section-heading-gap)}.section h2:has(+.section-intro){margin-bottom:var(--section-intro-gap)}.section-dark{background:var(--color-canvas)}.section-accent{background:var(--color-accent);color:var(--color-on-accent)}.section-accent h2{color:var(--color-on-accent)}.section-intro{max-width:52ch;margin:0 auto var(--section-content-gap);text-align:center;color:var(--color-muted)}.section-accent .section-intro{color:var(--color-on-accent)}html[data-theme=light] .showreel,html[data-theme=light] #clients{background:var(--color-section);color:var(--color-text)}html[data-theme=light] .showreel h2,html[data-theme=light] #clients h2,html[data-theme=light] .showreel .section-intro,html[data-theme=light] #clients .section-intro{color:var(--color-text)}html[data-theme=light] .site-footer{background:var(--color-canvas)}html[data-theme=light] .footer-contact{background:var(--color-section)}.angle-top:before,.angle-bottom:after{content:"";background:inherit;width:100%;height:clamp(2.5rem,7vw,7rem);position:absolute;left:0}.angle-top:before{clip-path:polygon(0 100%,100% 0,100% 100%);top:0;translate:0 -99%}.angle-bottom:after{clip-path:polygon(0 0,100% 0,0 100%);z-index:2;bottom:0;translate:0 99%}.hero.angle-bottom:after{background:var(--color-canvas);clip-path:polygon(0 100%,100% 0,100% 100%)}.work-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.work-grid>article{min-width:0}.showreel{transition:background .8s,color .8s}.showreel:hover,.showreel:focus-within{background:var(--color-canvas);color:var(--color-accent-text)}.showreel:hover h2,.showreel:focus-within h2{color:var(--color-accent-text)}.showreel-frame{max-width:62rem;aspect-ratio:var(--aspect-ratio-widescreen);border-radius:var(--radius-md);background:var(--theme-dark-section);box-shadow:var(--shadow-media);margin:0 auto;overflow:hidden}.showreel-frame:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.showreel-frame img,.showreel-frame video{object-fit:cover;width:calc(100% + 4px);max-width:none;height:calc(100% + 4px);margin:-2px;display:block}.skills-grid{gap:var(--space-12) var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.skill-card{border:1px solid var(--color-card-border);border-radius:var(--radius-md);background:var(--color-canvas);color:inherit;text-align:center;transition:border-color var(--transition), translate var(--transition);grid-template-rows:auto auto 1fr;place-items:center;padding:3.2rem 1.4rem;text-decoration:none;display:grid;position:relative}.skill-card:hover,.skill-card:focus-visible{border-color:var(--color-accent-text);translate:0 -.2rem}.skill-card__icon{background:var(--color-canvas);width:4rem;height:4rem;transition:background-color var(--transition), scale var(--transition);border-radius:50%;padding:.65rem;position:absolute;top:-2rem}.skill-card__icon img{width:100%;height:100%}.skill-card:hover .skill-card__icon,.skill-card:focus-visible .skill-card__icon{background:var(--color-action-hover);scale:1.06}.skill-card:hover .skill-card__icon img,.skill-card:focus-visible .skill-card__icon img{filter:none}.skill-card h3{margin-bottom:var(--space-4);text-decoration:underline var(--color-action) .14em;text-underline-offset:.25em}.skill-card p{color:var(--color-muted)}.section-cta{margin:var(--space-12) auto 0;width:max-content;display:grid}.client-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000);mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000)}.client-strip{will-change:transform;width:max-content;animation:client-marquee var(--duration-marquee) linear infinite;display:flex}.client-strip-group{align-items:center;gap:var(--space-3);padding-right:var(--space-3);display:flex}.client-strip img{object-fit:contain;filter:invert(12%)sepia(24%)saturate(4100%)hue-rotate(205deg);flex:none;width:clamp(14rem,19vw,18rem);height:12rem}@keyframes client-marquee{to{transform:translate(-50%)}}.contact-page{min-height:100svh;padding-block:calc(var(--header-total-height) + var(--section-space)) var(--section-space);background:radial-gradient(circle at 15% 25%, color-mix(in oklab, var(--color-accent) 12%, transparent), transparent 32rem), var(--color-section);align-items:center;display:grid}.contact-page__inner{align-items:start;gap:clamp(var(--space-8), 7vw, var(--section-space));grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);max-width:64rem;display:grid}.contact-page__header{top:calc(var(--header-total-height) + var(--space-8));position:sticky}.contact-page__eyebrow{margin-bottom:var(--space-4);color:var(--color-accent-text);font-size:var(--font-size-small);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.contact-page__header h1{margin-bottom:var(--space-6)}.contact-page__header>p:not([class]){color:var(--color-muted);font-size:var(--font-size-lead)}.contact-page__response{margin:var(--space-8) 0 0;color:var(--color-accent-text);font-size:var(--font-size-small)}.social-links{gap:var(--space-2);margin:var(--space-6) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.social-links a{width:2.75rem;height:2.75rem;transition:background-color var(--transition), translate var(--transition);border-radius:50%;place-items:center;display:grid}.social-links img{width:2.3rem;filter:var(--monochrome-icon-filter);transition:filter var(--transition)}.social-links a:hover,.social-links a:focus-visible{background:var(--color-action-hover);translate:0 -.12rem}.social-links a:hover img,.social-links a:focus-visible img{filter:none}.contact-form{gap:var(--space-6);padding:clamp(var(--space-6), 5vw, var(--space-12));border:1px solid var(--color-card-border);border-radius:var(--radius-md);background:color-mix(in oklab, var(--color-canvas) 78%, transparent);box-shadow:var(--shadow-media);display:grid}.form-field{gap:var(--space-2);display:grid}.form-field label{font-weight:500}.form-field input,.form-field textarea{border:.12rem solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas);width:100%;color:var(--color-text);transition:border-color var(--transition), background var(--transition);padding:.9rem 1rem}.form-field input::placeholder,.form-field textarea::placeholder{color:color-mix(in oklab, var(--color-muted) 72%, transparent)}.form-field textarea{min-block-size:var(--message-field-min-block-size);max-block-size:var(--message-field-max-block-size);field-sizing:content;resize:vertical;overflow-y:auto}.form-field input:hover,.form-field textarea:hover,.form-field input:focus,.form-field textarea:focus{border-color:var(--color-accent-text);background:var(--color-input-hover)}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.human-check{align-items:center;gap:var(--space-3);cursor:pointer;width:fit-content;display:inline-flex}.human-check input{border:.12rem solid var(--color-border);appearance:none;cursor:pointer;width:1.5rem;height:1.5rem;transition:border-color var(--transition), background-color var(--transition), scale var(--transition);border-radius:.35rem;flex:none;place-content:center;margin:0;display:grid}.human-check input:before{border:solid var(--color-on-action);content:"";width:.7rem;height:.4rem;transition:scale var(--transition);border-width:0 0 .14rem .14rem;rotate:-45deg;scale:0}.human-check input:hover{border-color:var(--color-action)}.human-check input:checked{border-color:var(--color-action);background:var(--color-action)}.human-check input:checked:before{scale:1}.contact-form__actions{justify-content:flex-end;display:flex}.contact-form .button{gap:var(--space-3);display:inline-flex}.form-status{text-align:center;min-height:1.6rem;color:var(--color-accent-text)}.form-status:empty{display:none}.site-footer{padding-block:var(--section-space) var(--space-6);background:var(--color-section);margin-top:-12rem}main:has(>.project-page)+.site-footer{padding-top:var(--space-8);margin-top:0}.angle-bottom+.site-footer{padding-top:0}.angle-bottom+.site-footer .footer-contact{margin-top:calc(var(--footer-card-overlap) * -1)}.footer-contact{z-index:3;padding:clamp(var(--space-12), 8vw, calc(var(--section-space) * 1.35)) clamp(var(--space-6), 6vw, var(--section-space));border:1px solid color-mix(in oklab, var(--color-accent-text) 18%, transparent);border-radius:calc(var(--radius-md) * 1.75);background:var(--color-canvas);text-align:center;justify-items:center;display:grid;position:relative}.footer-contact h2{max-width:18ch;margin-bottom:var(--space-6);color:var(--color-text);font-family:var(--font-body);font-size:clamp(var(--font-size-h3), 5vw, var(--font-size-h2))}.footer-contact p{max-width:58ch;margin-bottom:var(--space-8);color:var(--color-muted);font-size:var(--font-size-lead)}.footer-meta{align-items:center;gap:var(--space-6);margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid color-mix(in oklab, var(--color-text) 14%, transparent);grid-template-columns:minmax(0,1fr) auto;display:grid}.copyright{color:var(--color-muted);font-size:var(--font-size-small);margin:0}.footer-nav{justify-content:flex-end;gap:var(--space-2) var(--space-6);font-size:var(--font-size-small);flex-wrap:wrap;display:flex}.footer-nav a{min-height:2.75rem;margin-block:calc(var(--space-2) * -1);padding-inline:var(--space-2);place-items:center;text-decoration:none;display:grid}.footer-nav a:hover,.footer-nav a:focus-visible{color:var(--color-accent-text)}.project-hero{min-height:clamp(28rem,62svh,45rem);padding-top:var(--header-total-height);background:linear-gradient(to right, #03032be0 0%, #08154094 42%, transparent 100%), var(--hero-image) center / cover;color:var(--color-on-media);align-items:center;display:grid}.project-hero-content h1{max-width:18ch;margin:var(--space-6) 0 0;font-weight:var(--font-weight-copy);text-wrap:balance}.project-meta{gap:var(--space-4) var(--space-12);margin:var(--space-8) 0 0;flex-wrap:wrap;display:flex}.project-meta div{gap:var(--space-1);display:grid}.project-meta dt{color:var(--color-on-media-muted);font-size:var(--font-size-caption);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.project-meta dd{font-size:var(--font-size-small);font-weight:var(--font-weight-copy-emphasis);margin:0}.back-link{min-height:2.75rem;color:var(--color-on-media-muted);padding-block:.7rem;display:inline-block}.project-content{padding-block:var(--section-space) var(--space-12);color:var(--color-content-text)}.project-page{background:var(--color-content-canvas)}.project-intro{width:min(100%, var(--layout-narrow));margin:0 auto var(--section-space);color:var(--color-content-text);font-size:clamp(1.75rem,3vw,2.75rem);font-weight:500;line-height:1.2}.project-story{gap:var(--section-space);display:grid}.project-story--closing{margin-top:var(--section-space)}.project-story__chapter{width:min(100%, var(--layout-narrow));margin-inline:auto}.project-story__chapter h2,.credits h2{margin:0 0 var(--space-6);color:var(--color-content-text);font-family:var(--font-body);font-size:var(--font-size-h3);text-align:left}.project-story__chapter h2{align-items:baseline;gap:var(--space-4);display:flex}.project-story__chapter h2 span{color:var(--color-accent-text);font-size:inherit;font-weight:inherit;font-variant-numeric:tabular-nums}.project-story__chapter>p:last-child{color:var(--color-content-text);font-size:var(--font-size-lead);margin:0;line-height:1.6}.project-gallery{gap:var(--space-6);margin-top:var(--section-space);grid-template-columns:minmax(0,1fr);display:grid}.project-media{border-radius:var(--radius-md);margin:0;overflow:hidden;box-shadow:0 .6rem 2rem #03032b24}.project-media img{width:100%;height:auto;display:block}.video-frame{aspect-ratio:var(--aspect-ratio-widescreen);margin-top:var(--space-12);border-radius:var(--radius-md);box-shadow:var(--shadow-media);position:relative;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.credits{max-width:42rem;margin:var(--space-20) auto 0}.credits dl{gap:var(--space-3) var(--space-6);grid-template-columns:minmax(9rem,1fr) 2fr;display:grid}.credits dt{font-weight:700}.credits dd{margin:0}.legal-page{min-height:70svh;padding-block:calc(var(--header-total-height) + var(--section-space)) var(--section-space)}.legal-page h1{margin-bottom:var(--space-8);color:var(--color-accent-text)}.legal-note{padding:var(--space-4);border-left:.25rem solid var(--color-accent-text);background:var(--color-surface)}.legal-content{color:var(--color-muted)}.legal-content p{margin-bottom:var(--space-4)}.legal-content h2,.legal-content h3{color:var(--color-text);text-align:left;font-family:var(--font-body)}.legal-content h2{margin-top:var(--space-12);font-size:var(--font-size-h3)}.legal-content h3{margin-top:var(--space-6);font-size:var(--font-size-lead)}.legal-content a{overflow-wrap:anywhere}.not-found{min-height:80svh;padding-top:var(--header-total-height);text-align:center;place-content:center;justify-items:center;display:grid}.not-found>p{color:var(--color-accent-text);font:700 6rem/1 var(--font-display);margin:0}@media (width<=900px){.work-grid,.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav{gap:var(--space-3)}}@media (width<=700px){:root{--header-height:3.8rem;--header-offset:var(--space-3)}.header-grid{gap:var(--space-2);grid-template-columns:1fr auto auto;grid-template-areas:"brand actions toggle"}.mobile-navigation-toggle{grid-area:toggle}.mobile-navigation-toggle,.mobile-navigation-close{place-content:center;gap:var(--space-1);width:2.75rem;height:2.75rem;color:inherit;cursor:pointer;appearance:none;background:0 0;border:0;padding:0;display:grid}.mobile-navigation{width:100%;max-width:none;height:100%;max-height:none;color:var(--color-on-media);background:linear-gradient(to bottom, transparent var(--header-total-height), #03032b73 var(--header-total-height));border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.mobile-navigation[open]{display:block}.mobile-navigation::backdrop{background:0 0}.mobile-navigation-close{top:calc(var(--header-offset) + (var(--header-height) - 2.75rem) / 2);position:fixed;right:calc(clamp(2rem,6vw,7rem)/2)}.mobile-navigation-toggle span,.mobile-navigation-close span{width:1.5rem;height:.12rem;transition:translate var(--transition), rotate var(--transition);background:currentColor;display:block}.header-grid:has(>.mobile-navigation[open])>.mobile-navigation-toggle{visibility:hidden;transition-delay:0s}.main-nav,.language-nav{display:none}.mobile-navigation>nav{inset:calc(var(--header-total-height) + var(--space-2)) var(--space-4) auto;padding:var(--space-4);border:1px solid var(--color-border-on-media);border-radius:var(--radius-md);background:var(--theme-dark-section);box-shadow:var(--shadow-navigation);display:grid;position:fixed}.mobile-navigation>nav>a{min-height:3.4rem;font-size:var(--font-size-lead);align-items:center;text-decoration:none;display:grid}.mobile-navigation>nav>a[aria-current=page]{font-weight:700}.mobile-languages{border-top:1px solid var(--color-border-on-media)}.mobile-navigation[open]:not([data-closing]) .mobile-navigation-close span:first-child{translate:0 .23rem;rotate:45deg}.mobile-navigation[open]:not([data-closing]) .mobile-navigation-close span:last-child{translate:0 -.23rem;rotate:-45deg}@starting-style{.mobile-navigation[open]:not([data-closing]) .mobile-navigation-close span:first-child,.mobile-navigation[open]:not([data-closing]) .mobile-navigation-close span:last-child{translate:0;rotate:0deg}}@media (prefers-reduced-motion:reduce){.mobile-navigation-close span{transition-duration:0s}}.hero{background-attachment:scroll}.hero-grid{gap:var(--space-3);grid-template-columns:5.5rem 1fr}.hero-portrait{width:5.5rem}.scroll-cue{top:calc(100svh - 5.5rem)}.work-grid,.skills-grid,.contact-page__inner{grid-template-columns:1fr}.contact-page__header{position:static}.contact-form{padding:var(--space-6)}.footer-contact{border-radius:var(--radius-md)}.credits dl{gap:var(--space-1);grid-template-columns:1fr}.credits dd{margin-bottom:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.client-marquee{overflow:visible}.client-strip{width:100%;animation:none}.client-strip-group{flex-wrap:wrap;justify-content:center;padding-right:0}.client-strip-group[aria-hidden=true]{display:none}}@media (forced-colors:active){.button,.skill-card{border:1px solid buttontext}}:root:root{--type-scale-ratio:1.2;--font-size-base:clamp(1rem, .9643rem + .1786vw, 1.125rem);--space-unit:.25rem;--section-space-multiplier:28;--layout-shell:72rem;--layout-wide:92rem;--layout-narrow:42rem;--theme-light-canvas:#f5f7fb;--theme-light-section:#fff;--theme-light-surface:#e8edf5;--theme-light-text:#17182f;--theme-light-muted:#55586a;--theme-light-accent:#a1f4f4;--theme-dark-canvas:#080d32;--theme-dark-section:#03032b;--theme-dark-surface:#0b1242;--theme-dark-text:#f7f7fb;--theme-dark-muted:#c9c9d4;--theme-dark-accent:#a1f4f4;--theme-accent-text-light:#006a70;--color-action:#e60058}
