:root{--ds-space-0:0;--ds-space-1:.25rem;--ds-space-2:.5rem;--ds-space-3:.75rem;--ds-space-4:1rem;--ds-space-6:1.5rem;--ds-space-8:2rem;--ds-space-12:3rem;--ds-space-16:4rem;--ds-space-24:6rem;--ds-space-32:8rem;--ds-space-48:12rem;--ds-space-section:clamp(4rem, 2rem + 8vw, 8rem);--ds-radius-none:0;--ds-radius-sm:2px;--ds-radius-md:4px;--ds-radius-lg:8px;--ds-radius-pill:999px;--ds-text-display-size:clamp(2.5rem, 1.5rem + 4.4vw, 5rem);--ds-text-display-leading:1.02;--ds-text-display-tracking:-.035em;--ds-text-h1-size:clamp(2.25rem, 1.4rem + 3vw, 4rem);--ds-text-h1-leading:1.06;--ds-text-h1-tracking:-.03em;--ds-text-h2-size:clamp(1.75rem, 1.2rem + 1.9vw, 3rem);--ds-text-h2-leading:1.12;--ds-text-h2-tracking:-.022em;--ds-text-h3-size:clamp(1.375rem, 1.1rem + 1vw, 2rem);--ds-text-h3-leading:1.2;--ds-text-h3-tracking:-.012em;--ds-text-body-lg-size:clamp(1.0625rem, 1rem + .3vw, 1.125rem);--ds-text-body-lg-leading:1.55;--ds-text-body-lg-tracking:0;--ds-text-body-size:1rem;--ds-text-body-leading:1.6;--ds-text-body-tracking:0;--ds-text-small-size:.875rem;--ds-text-small-leading:1.5;--ds-text-small-tracking:.005em;--ds-text-label-size:.8125rem;--ds-text-label-leading:1.3;--ds-text-label-tracking:.14em;--ds-measure-prose:65ch;--ds-measure-narrow:45ch;--ds-layout-container:80rem;--ds-layout-container-wide:100rem;--ds-layout-gutter:clamp(1rem, .5rem + 2vw, 2rem);--ds-layout-margin:clamp(1rem, .25rem + 3vw, 3rem);--ds-layout-columns-mobile:4;--ds-layout-columns-tablet:8;--ds-layout-columns-desktop:12;--ds-layout-bp-tablet:640px;--ds-layout-bp-desktop:1024px;--ds-layout-bp-wide:1440px;--ds-control-height-sm:2.25rem;--ds-control-height-md:2.75rem;--ds-control-height-lg:3.25rem;--ds-control-tap-target:2.75rem;--ds-focus-width:2px;--ds-focus-offset:3px;--ds-motion-duration-fast:.12s;--ds-motion-duration-base:.2s;--ds-motion-duration-slow:.32s;--ds-motion-duration-page:.56s;--ds-motion-ease-standard:cubic-bezier(.2, 0, 0, 1);--ds-motion-ease-emphasized:cubic-bezier(.16, 1, .3, 1);--ds-motion-ease-exit:cubic-bezier(.4, 0, 1, 1);--ds-z-base:0;--ds-z-sticky:100;--ds-z-overlay:200;--ds-z-modal:300;--ds-z-toast:400}@media (prefers-reduced-motion:reduce){:root{--ds-motion-duration-fast:.01ms;--ds-motion-duration-base:.01ms;--ds-motion-duration-slow:.01ms;--ds-motion-duration-page:.01ms}}:root{--ed-color-brand-charcoal:#141414;--ed-color-brand-warm-white:#f5f1e8;--ed-color-brand-gold:#c5a464;--ed-color-derived-gold-deep:#7a5c1e;--ed-color-derived-logo-gold-light:#876a33;--ed-font-family-display:"Space Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;--ed-font-family-ui:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ed-font-weight-light:300;--ed-font-weight-regular:400;--ed-font-weight-medium:500;--ed-font-weight-semibold:600;--ed-font-weight-bold:700;--ed-text-display-family:var(--ed-font-family-display);--ed-text-display-weight:var(--ed-font-weight-medium);--ed-text-h1-family:var(--ed-font-family-display);--ed-text-h1-weight:var(--ed-font-weight-medium);--ed-text-h2-family:var(--ed-font-family-display);--ed-text-h2-weight:var(--ed-font-weight-medium);--ed-text-h3-family:var(--ed-font-family-display);--ed-text-h3-weight:var(--ed-font-weight-medium);--ed-text-body-lg-family:var(--ed-font-family-ui);--ed-text-body-lg-weight:var(--ed-font-weight-regular);--ed-text-body-family:var(--ed-font-family-ui);--ed-text-body-weight:var(--ed-font-weight-regular);--ed-text-small-family:var(--ed-font-family-ui);--ed-text-small-weight:var(--ed-font-weight-regular);--ed-text-label-family:var(--ed-font-family-display);--ed-text-label-weight:var(--ed-font-weight-medium);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ed-color-background:var(--ed-color-brand-charcoal);--ed-color-foreground:var(--ed-color-brand-warm-white);--ed-color-foreground-muted:#b5b0a3;--ed-color-surface:#1b1b1a;--ed-color-surface-muted:#242422;--ed-color-border:#3a3935;--ed-color-border-strong:#8a867c;--ed-color-primary:var(--ed-color-brand-warm-white);--ed-color-on-primary:var(--ed-color-brand-charcoal);--ed-color-secondary:#242422;--ed-color-on-secondary:var(--ed-color-brand-warm-white);--ed-color-accent:var(--ed-color-brand-gold);--ed-color-on-accent:var(--ed-color-brand-charcoal);--ed-color-accent-text:var(--ed-color-brand-gold);--ed-color-focus:var(--ed-color-brand-gold);--ed-color-success:#6fbf8e;--ed-color-warning:#e5a04b;--ed-color-error:#ef8a80;--ed-color-scrim:#141414b8}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ed-color-background:var(--ed-color-brand-warm-white);--ed-color-foreground:var(--ed-color-brand-charcoal);--ed-color-foreground-muted:#5c5850;--ed-color-surface:#fbf9f4;--ed-color-surface-muted:#ece6d8;--ed-color-border:#d6cfbf;--ed-color-border-strong:#7d786d;--ed-color-primary:var(--ed-color-brand-charcoal);--ed-color-on-primary:var(--ed-color-brand-warm-white);--ed-color-secondary:#ece6d8;--ed-color-on-secondary:var(--ed-color-brand-charcoal);--ed-color-accent:var(--ed-color-brand-gold);--ed-color-on-accent:var(--ed-color-brand-charcoal);--ed-color-accent-text:var(--ed-color-derived-gold-deep);--ed-color-focus:var(--ed-color-derived-gold-deep);--ed-color-success:#2f6b47;--ed-color-warning:#8a5a00;--ed-color-error:#a83a32;--ed-color-scrim:#1414148f}@font-face{font-family:Space Grotesk;src:url(/assets/SpaceGrotesk-Variable-DtNPhPZY.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/assets/Inter-Variable-DiVDrmQJ.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:7rem}body{background:var(--ed-color-background);color:var(--ed-color-foreground);font-family:var(--ed-text-body-family);font-weight:var(--ed-text-body-weight);font-size:var(--ds-text-body-size);line-height:var(--ds-text-body-leading);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,p,ol,ul,dl,dd,figure,address{margin:0;padding:0}ol,ul{list-style:none}address{font-style:normal}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}:focus-visible{outline:var(--ds-focus-width) solid var(--ed-color-focus);outline-offset:var(--ds-focus-offset)}.container{width:100%;max-width:var(--ds-layout-container-wide);padding-inline:var(--ds-layout-margin);margin-inline:auto}.skip-link{left:var(--ds-space-4);top:var(--ds-space-4);z-index:var(--ds-z-overlay);padding:var(--ds-space-3) var(--ds-space-4);background:var(--ed-color-primary);color:var(--ed-color-on-primary);position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.label{font-family:var(--ed-text-label-family);font-weight:var(--ed-text-label-weight);font-size:var(--ds-text-label-size);line-height:var(--ds-text-label-leading);letter-spacing:var(--ds-text-label-tracking);text-transform:uppercase;color:var(--ed-color-accent-text)}.display,h1{font-family:var(--ed-text-display-family);font-weight:var(--ed-text-display-weight);font-size:var(--ds-text-display-size);line-height:var(--ds-text-display-leading);letter-spacing:var(--ds-text-display-tracking);text-wrap:balance}h2{font-family:var(--ed-text-h2-family);font-weight:var(--ed-text-h2-weight);font-size:var(--ds-text-h2-size);line-height:var(--ds-text-h2-leading);letter-spacing:var(--ds-text-h2-tracking);text-wrap:balance}h3{font-family:var(--ed-text-h3-family);font-weight:var(--ed-text-h3-weight);font-size:var(--ds-text-h3-size);line-height:var(--ds-text-h3-leading);letter-spacing:var(--ds-text-h3-tracking)}.lead{font-size:var(--ds-text-body-lg-size);line-height:var(--ds-text-body-lg-leading);color:var(--ed-color-foreground-muted);max-width:var(--ds-measure-narrow)}.small{font-size:var(--ds-text-small-size);line-height:var(--ds-text-small-leading);letter-spacing:var(--ds-text-small-tracking);color:var(--ed-color-foreground-muted)}p{max-width:var(--ds-measure-prose)}.tabular{font-variant-numeric:tabular-nums}.button{justify-content:center;align-items:center;gap:var(--ds-space-3);min-height:var(--ds-control-height-lg);min-width:var(--ds-control-tap-target);padding-inline:var(--ds-space-8);border-radius:var(--ds-radius-sm);font-family:var(--ed-font-family-ui);font-weight:var(--ed-font-weight-medium);font-size:var(--ds-text-body-size);transition:background-color var(--ds-motion-duration-base) var(--ds-motion-ease-standard), color var(--ds-motion-duration-base) var(--ds-motion-ease-standard), border-color var(--ds-motion-duration-base) var(--ds-motion-ease-standard);border:1px solid #0000;text-decoration:none;display:inline-flex}.button--accent{background:var(--ed-color-accent);color:var(--ed-color-on-accent)}.button--accent:hover{background:var(--ed-color-primary);color:var(--ed-color-on-primary)}.button--ghost{border-color:var(--ed-color-border-strong);color:var(--ed-color-foreground)}.button--ghost:hover{border-color:var(--ed-color-foreground)}.button:active{transform:translateY(1px)}.label{font-size:max(var(--ds-text-label-size), .875rem)}:root{--logo-width:240px;--logo-pad:calc(var(--logo-width) * 150 / 1300);--nav-h:3.5rem}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon{flex:none;display:block}.logo--light,:root[data-theme=light] .logo--dark{display:none}:root[data-theme=light] .logo--light{display:block}.site-header{z-index:var(--ds-z-sticky);pointer-events:none;position:absolute;inset:0 0 auto}.site-header__bar{padding-block:var(--ds-space-2);align-items:center;display:flex}.site-header__logo{margin-left:calc(var(--logo-pad) * -1);pointer-events:auto;display:block}.site-header__logo:focus-visible{outline-offset:calc(var(--ds-focus-offset) * -1)}.site-tools{z-index:var(--ds-z-overlay);top:var(--ds-space-6);right:var(--ds-layout-margin);align-items:center;gap:var(--ds-space-2);display:flex;position:fixed}.site-nav,.controls{background:var(--ed-color-surface);border:1px solid var(--ed-color-border-strong);border-radius:var(--ds-radius-sm);padding:var(--ds-space-1);box-shadow:0 .5rem 1.5rem color-mix(in srgb, var(--ed-color-brand-charcoal) 28%, transparent)}.site-nav ul{gap:var(--ds-space-1);display:flex}.site-nav a{min-height:var(--ds-control-tap-target);padding-inline:var(--ds-space-4);font-family:var(--ed-font-family-ui);font-weight:var(--ed-font-weight-medium);font-size:var(--ds-text-small-size);color:var(--ed-color-foreground-muted);transition:color var(--ds-motion-duration-fast) var(--ds-motion-ease-standard);align-items:center;text-decoration:none;display:inline-flex;position:relative}.site-nav a:after{content:"";inset:auto var(--ds-space-4) .55rem;background:var(--ed-color-accent-text);transform-origin:0;height:1px;transition:transform var(--ds-motion-duration-slow) var(--ds-motion-ease-emphasized);position:absolute;transform:scaleX(0)}.site-nav a:hover,.site-nav a[aria-current=true]{color:var(--ed-color-foreground)}.site-nav a[aria-current=true]:after,.site-nav a:hover:after{transform:scaleX(1)}.controls{align-items:center;gap:var(--ds-space-1);display:flex}.lang{display:flex}.lang__btn,.theme-btn{justify-content:center;align-items:center;gap:var(--ds-space-2);min-height:var(--ds-control-tap-target);min-width:var(--ds-control-tap-target);padding-inline:var(--ds-space-3);border-radius:var(--ds-radius-sm);cursor:pointer;font-family:var(--ed-font-family-ui);font-weight:var(--ed-font-weight-medium);font-size:var(--ds-text-small-size);color:var(--ed-color-foreground-muted);transition:color var(--ds-motion-duration-fast) var(--ds-motion-ease-standard), background-color var(--ds-motion-duration-fast) var(--ds-motion-ease-standard);background:0 0;border:0;display:inline-flex}.lang__btn{letter-spacing:.06em}.lang__btn:hover,.theme-btn:hover{color:var(--ed-color-foreground)}.lang__btn[aria-pressed=true]{background:var(--ed-color-primary);color:var(--ed-color-on-primary)}.theme-btn{border-left:1px solid var(--ed-color-border);border-radius:0 var(--ds-radius-sm) var(--ds-radius-sm) 0;padding-inline:var(--ds-space-4)}.controls{gap:0}.hero{--stage-h:max(92svh, 37rem);--hero-travel:35svh;position:relative}.hero__stage{height:var(--stage-h);flex-direction:column;display:flex;position:relative;overflow:hidden}:root[data-scene=lite] .hero,:root[data-scene=full] .hero{height:calc(var(--stage-h) + var(--hero-travel))}:root[data-scene=lite] .hero{--hero-travel:18svh}:root[data-scene=lite] .hero__stage,:root[data-scene=full] .hero__stage{top:min(0px, calc(100svh - var(--stage-h)));position:sticky}.scene{z-index:0;pointer-events:none;background:radial-gradient(ellipse 46% 60% at 72% 54%, color-mix(in srgb, var(--ed-color-brand-gold) 13%, transparent), transparent 70%);position:absolute;inset:0}.scene__canvas{width:100%;height:100%;display:block}.scene__live,.scene__live *{pointer-events:none!important}.scene__live{opacity:0;transition:opacity var(--ds-motion-duration-slow) var(--ds-motion-ease-standard);position:absolute;inset:0}.poster{transition:opacity var(--ds-motion-duration-slow) var(--ds-motion-ease-standard)}.scene[data-scene-state=lite] .scene__live,.scene[data-scene-state=full] .scene__live{opacity:1}.scene[data-scene-state=lite] .poster,.scene[data-scene-state=full] .poster{opacity:0;visibility:hidden;transition:opacity var(--ds-motion-duration-slow) var(--ds-motion-ease-standard) calc(var(--ds-motion-duration-slow) * .6), visibility 0s linear calc(var(--ds-motion-duration-slow) * 2)}.poster{aspect-ratio:1440/900;width:auto;height:100%;display:block;position:absolute;top:0;left:50%;transform:translate(-50%)}.poster--wide{margin-left:23%}.poster--compact{display:none;top:29%}@media (max-width:1199px){.poster--wide{margin-left:28.5%}}@media (max-aspect-ratio:23/20){.poster--wide{display:none}.poster--compact{display:block}}.poster__shade{stop-color:var(--ed-color-brand-charcoal)}.poster__keyline{fill:none;stroke:var(--ed-color-brand-gold);stroke-width:1.4px;stroke-linejoin:round}.poster__top{fill:color-mix(in srgb, var(--ed-color-surface-muted) 68%, var(--ed-color-foreground-muted));stroke:var(--ed-color-brand-gold);stroke-width:1.2px;stroke-linejoin:round}.poster__rod{stroke:var(--ed-color-brand-gold);stroke-linecap:round}.poster__cap{fill:var(--ed-color-brand-gold)}.poster__side{fill:var(--ed-color-brand-gold);fill-opacity:.8;stroke:none}.hero__stage:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(to bottom, color-mix(in srgb, var(--ed-color-background) 94%, transparent) 0, color-mix(in srgb, var(--ed-color-background) 86%, transparent) 50%, transparent 82%);position:absolute;inset:0}@media (min-aspect-ratio:23/20){.hero__stage:before{background:linear-gradient(to right, color-mix(in srgb, var(--ed-color-background) 92%, transparent) 0, color-mix(in srgb, var(--ed-color-background) 74%, transparent) 36%, transparent 62%), linear-gradient(to bottom, color-mix(in srgb, var(--ed-color-background) 60%, transparent) 0, transparent 22%)}}.hero__grid{z-index:2;padding-block:calc(var(--ds-space-8) + 10.5rem) var(--ds-space-16);flex:1;align-items:flex-start;display:flex;position:relative}.hero__copy{gap:var(--ds-space-6);max-width:40rem;display:grid}.hero__actions{gap:var(--ds-space-4);padding-top:var(--ds-space-2);flex-wrap:wrap;display:flex}.hero__caption{z-index:2;left:var(--ds-layout-margin);bottom:var(--ds-space-6);color:var(--ed-color-foreground-muted);position:absolute}@media (min-aspect-ratio:23/20){.hero__grid{padding-block:calc(var(--ds-space-8) + 4rem) var(--ds-space-16);align-items:center}.hero__copy{max-width:46rem}}@media (min-aspect-ratio:23/20) and (max-height:760px){.hero__grid{padding-block:calc(var(--ds-space-4) + 10.5rem) var(--ds-space-12);align-items:flex-start}}.progress{height:2px;z-index:var(--ds-z-overlay);background:var(--ed-color-accent-text);transform-origin:0;transform:scaleX(var(--scroll-progress,0));pointer-events:none;position:fixed;inset:0 0 auto}main,.site-footer{z-index:1;position:relative}[data-reveal]{opacity:0;transform:translateY(var(--ds-space-6));transition:opacity var(--ds-motion-duration-page) var(--ds-motion-ease-emphasized), transform var(--ds-motion-duration-page) var(--ds-motion-ease-emphasized);transition-delay:calc(var(--i,0) * 90ms)}[data-reveal].is-in{opacity:1;transform:none}.section{padding-block:var(--ds-space-section)}.section--muted{background:var(--ed-color-surface);border-block:1px solid var(--ed-color-border)}.section--rule{border-top:1px solid var(--ed-color-border)}.section__head{gap:var(--ds-space-4);margin-bottom:var(--ds-space-16);max-width:44rem;display:grid}.work{padding-block:calc(var(--ds-space-section) * .4) calc(var(--ds-space-section) * .6)}.work__note{font-size:var(--ds-text-small-size);line-height:var(--ds-text-small-leading);color:var(--ed-color-foreground-muted);max-width:40rem}.project{gap:var(--ds-space-6) var(--ds-layout-gutter);margin-top:calc(var(--ds-space-section) * .9);align-items:end;display:grid}.project:first-of-type{margin-top:0}.project__media{min-width:0;margin:0;position:relative}.project__frame{background:var(--ed-color-surface);border:1px solid var(--ed-color-border);clip-path:inset(9% 7%);transition:clip-path 1.1s var(--ds-motion-ease-emphasized);overflow:hidden}.project__media.is-in .project__frame{clip-path:inset(0)}.project__frame img{width:100%;height:auto;transform:translateY(calc(var(--shift,0) * -3%)) scale(1.07);display:block}.project__inset{display:none}.project__text{gap:var(--ds-space-3);align-content:start;min-width:0;display:grid}.project__no{color:var(--ed-color-accent-text)}.project__text h3{font-size:var(--ds-text-h2-size);line-height:var(--ds-text-h2-leading);letter-spacing:var(--ds-text-h2-tracking);font-family:var(--ed-text-h2-family);font-weight:var(--ed-text-h2-weight)}.project__meta{align-items:center;gap:var(--ds-space-3) var(--ds-space-4);font-family:var(--ed-font-family-ui);font-weight:var(--ed-font-weight-medium);font-size:var(--ds-text-small-size);color:var(--ed-color-foreground);flex-wrap:wrap;display:flex}.tag{min-height:1.75rem;padding-inline:var(--ds-space-3);border:1px solid var(--ed-color-border-strong);border-radius:var(--ds-radius-sm);letter-spacing:var(--ds-text-label-tracking);text-transform:uppercase;color:var(--ed-color-foreground-muted);align-items:center;font-size:.875rem;display:inline-flex}.tag--concept{color:var(--ed-color-accent-text);border-style:dashed;border-color:var(--ed-color-accent-text)}.project__details{margin-top:var(--ds-space-2);border-top:1px solid var(--ed-color-border);max-width:34rem}.project__details summary{justify-content:space-between;align-items:center;gap:var(--ds-space-4);min-height:var(--ds-control-tap-target);cursor:pointer;font-family:var(--ed-font-family-ui);font-weight:var(--ed-font-weight-medium);font-size:var(--ds-text-small-size);color:var(--ed-color-foreground);list-style:none;display:flex}.project__details summary::-webkit-details-marker{display:none}.project__details summary:after{content:"+";content:"+" / "";color:var(--ed-color-accent-text);transition:transform var(--ds-motion-duration-base) var(--ds-motion-ease-standard);font-size:1.25rem;line-height:1}.project__details[open] summary:after{transform:rotate(45deg)}.project__details dl{gap:var(--ds-space-3);padding-bottom:var(--ds-space-4);display:grid}.project__details dl>div{gap:var(--ds-space-4);grid-template-columns:5.5rem 1fr;display:grid}.project__details dt{font-size:var(--ds-text-small-size);color:var(--ed-color-foreground-muted)}.project__details dd{font-size:var(--ds-text-small-size);line-height:var(--ds-text-small-leading);color:var(--ed-color-foreground)}.project__idea{color:var(--ed-color-foreground-muted);font-size:var(--ds-text-body-lg-size);line-height:var(--ds-text-body-lg-leading);max-width:34rem}.services-section{background:var(--ed-color-background)}.services{display:grid}.service{gap:var(--ds-space-4) var(--ds-layout-gutter);padding-block:var(--ds-space-8);border-top:1px solid var(--ed-color-border-strong);transition:border-color var(--ds-motion-duration-slow) var(--ds-motion-ease-standard);display:grid}.service:last-child{border-bottom:1px solid var(--ed-color-border-strong)}.service:hover{border-top-color:var(--ed-color-accent-text)}.service__no{font-family:var(--ed-text-display-family);font-weight:var(--ed-text-display-weight);color:#0000;-webkit-text-stroke:1px var(--ed-color-accent-text);font-size:clamp(2.5rem,1.5rem + 4vw,5.5rem);line-height:1}.service__main{gap:var(--ds-space-3);align-content:start;display:grid}.service__main p{color:var(--ed-color-foreground-muted)}.ticks{align-content:start;display:grid}.ticks li{padding-block:var(--ds-space-3);border-top:1px solid var(--ed-color-border);font-family:var(--ed-font-family-ui);font-weight:var(--ed-font-weight-medium)}.ticks li:first-child{border-top:0;padding-top:0}.craft{padding-block:calc(var(--ds-space-section) * 1.1) 0;background:linear-gradient(to bottom, var(--ed-color-background), var(--ed-color-surface) 70%, var(--ed-color-background));overflow:clip}.craft__head{gap:var(--ds-space-6);display:grid}.statement__text{font-family:var(--ed-text-display-family);font-weight:var(--ed-text-display-weight);letter-spacing:var(--ds-text-display-tracking);max-width:14ch;font-size:clamp(2.5rem,1.2rem + 6.4vw,7rem);line-height:1}.craft__figure{margin:var(--ds-space-16) 0 0}.craft__frame{clip-path:inset(10% 14%);transition:clip-path 1.3s var(--ds-motion-ease-emphasized);position:relative;overflow:hidden}.craft__figure.is-in .craft__frame{clip-path:inset(0)}.craft__inner{transform:translateY(calc(var(--shift,0) * -3%)) scale(1.05);position:relative}.craft__inner img{width:100%;height:auto;display:block}.pin{z-index:1;background:var(--ed-color-background);border:1px solid var(--ed-color-accent-text);width:2rem;height:2rem;color:var(--ed-color-accent-text);font-family:var(--ed-text-label-family);font-weight:var(--ed-text-label-weight);font-size:var(--ds-text-label-size);border-radius:50%;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.craft__legend{gap:var(--ds-space-8) var(--ds-layout-gutter);padding-block:var(--ds-space-12) var(--ds-space-section);counter-reset:pin;display:grid}.craft__legend li{counter-increment:pin;align-content:start;gap:var(--ds-space-2);padding-top:var(--ds-space-4);border-top:1px solid var(--ed-color-border-strong);display:grid}.craft__legend li:before{content:counter(pin);font-family:var(--ed-text-label-family);font-weight:var(--ed-text-label-weight);font-size:var(--ds-text-label-size);letter-spacing:var(--ds-text-label-tracking);color:var(--ed-color-accent-text)}.craft__legend p{color:var(--ed-color-foreground-muted)}.steps{gap:var(--ds-space-8) var(--ds-layout-gutter);display:grid}.steps li{gap:var(--ds-space-3);padding-top:var(--ds-space-6);align-content:start;display:grid;position:relative}.steps li:before{content:"";background:var(--ed-color-accent-text);transform-origin:0;height:1px;transition:transform 1.2s var(--ds-motion-ease-emphasized);transition-delay:calc(var(--i,0) * .12s + .15s);position:absolute;inset:0 0 auto;transform:scaleX(0)}.steps li.is-in:before{transform:scaleX(1)}.steps__no{font-family:var(--ed-text-display-family);font-weight:var(--ed-text-display-weight);color:#0000;-webkit-text-stroke:1px var(--ed-color-accent-text);font-size:clamp(2.25rem,1.4rem + 3vw,4rem);line-height:1}.steps p{color:var(--ed-color-foreground-muted)}.contact{gap:var(--ds-space-12) var(--ds-layout-gutter);display:grid}.contact__lead,.contact__details{gap:var(--ds-space-6);align-content:start;display:grid}.contact__details>div{gap:var(--ds-space-2);padding-top:var(--ds-space-4);border-top:1px solid var(--ed-color-border-strong);display:grid}.contact__details dd{font-size:var(--ds-text-body-lg-size);line-height:var(--ds-text-body-lg-leading)}.contact__details a{min-height:var(--ds-control-tap-target);padding-block:var(--ds-space-2);align-items:center;text-decoration:underline;display:inline-flex}.site-footer{border-top:1px solid var(--ed-color-border);background:var(--ed-color-background)}.site-footer__bar{justify-content:space-between;align-items:center;gap:var(--ds-space-4) var(--ds-space-8);padding-block:var(--ds-space-8);flex-wrap:wrap;display:flex}.site-footer__bar .small{order:3}.site-footer .logo{width:var(--logo-width);height:auto;margin-left:calc(var(--logo-pad) * -1)}@media (max-width:639px){.pin{width:1.5rem;height:1.5rem;font-size:.75rem}.theme-btn__label{display:none}.theme-btn{padding-inline:var(--ds-space-3)}.site-tools{top:var(--ds-space-3);right:var(--ds-space-3)}.site-nav{padding:0 0 env(safe-area-inset-bottom);background:var(--ed-color-surface);box-shadow:0 -.5rem 1.5rem color-mix(in srgb, var(--ed-color-brand-charcoal) 22%, transparent);border-width:1px 0 0;border-radius:0;position:fixed;inset:auto 0 0}.site-nav ul{grid-template-columns:repeat(4,1fr);gap:0;display:grid}.site-nav a{padding-inline:var(--ds-space-1);min-height:var(--nav-h);justify-content:center;display:flex}.site-nav a:after{inset:auto 25% .5rem}.site-footer{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}.hero__grid{padding-block:calc(var(--ds-space-2) + 10.5rem) var(--ds-space-8)}.hero__caption{display:none}.hero{--stage-h:max(100svh, 40rem);--hero-travel:32svh}.hero__actions{gap:var(--ds-space-3);flex-wrap:nowrap}.hero__actions .button{padding-inline:var(--ds-space-3);flex:1 1 0}html{scroll-padding-top:5.5rem;scroll-padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 1rem)}}@media (min-width:640px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.craft__legend{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}.service{grid-template-columns:7rem minmax(0,5fr) minmax(0,5fr);align-items:start}.contact{grid-template-columns:repeat(12,minmax(0,1fr))}.contact__lead{grid-column:1/span 6}.contact__details{grid-column:8/span 5}.project{grid-template-columns:repeat(12,minmax(0,1fr))}.project--lead .project__media{grid-column:1/-1}.project--lead .project__text{align-items:start;gap:var(--ds-space-3) var(--ds-layout-gutter);grid-column:1/-1;grid-template-columns:5fr 4fr 3fr;grid-template-areas:"no idea.""title idea.""meta idea."".details."}.project--lead .project__no{grid-area:no}.project--lead h3{grid-area:title}.project--lead .project__meta{grid-area:meta}.project--lead .project__idea{grid-area:idea}.project--lead .project__details{grid-area:details}.project__inset{border:1px solid var(--ed-color-border-strong);width:27%;box-shadow:0 1.5rem 3rem color-mix(in srgb, var(--ed-color-background) 70%, transparent);background:var(--ed-color-surface);display:block;position:absolute;bottom:-9%;right:-2%;overflow:hidden}.project__inset img{width:100%;height:auto;display:block}.project--lead{margin-bottom:var(--ds-space-8)}.project--left .project__media{grid-column:1/span 8}.project--left .project__text{grid-column:9/-1}.project--right{align-items:start}.project--right .project__media{grid-area:1/5/auto/-1}.project--right .project__text{padding-top:var(--ds-space-8);grid-area:1/1/auto/span 4}.project--inset .project__media{grid-column:2/span 10}.project--inset .project__frame img{aspect-ratio:2;object-fit:cover;object-position:50% 12%}.project--inset .project__text{gap:var(--ds-space-3) var(--ds-layout-gutter);grid-column:2/span 10;grid-template-columns:5fr 5fr;grid-template-areas:"no idea""title idea""meta idea"".details"}.project--inset .project__no{grid-area:no}.project--inset h3{grid-area:title}.project--inset .project__meta{grid-area:meta}.project--inset .project__idea{grid-area:idea}.project--inset .project__details{grid-area:details}}@media (max-height:700px){.hero__caption{display:none}}@media (max-height:520px){.hero,:root[data-scene] .hero,:root[data-reduced] .hero{height:auto}.hero__stage,:root[data-scene] .hero__stage{height:auto;min-height:0;position:relative;top:auto}.hero__grid{padding-block:calc(var(--ds-space-4) + 10rem) var(--ds-space-8)}}.button--icon{gap:var(--ds-space-3)}.contact__cta{padding-top:var(--ds-space-2)}.social{gap:var(--ds-space-1);display:grid}.social__link{align-items:center;gap:var(--ds-space-3);min-height:var(--ds-control-tap-target);color:var(--ed-color-foreground);text-decoration:none;display:inline-flex}.social__link:hover .social__user{text-underline-offset:.2em;text-decoration:underline}.social__user{color:var(--ed-color-foreground);font-size:var(--ds-text-body-size);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.social--footer{gap:var(--ds-space-1);display:flex}.social--footer .social__link{width:var(--ds-control-tap-target);border:1px solid var(--ed-color-border);border-radius:var(--ds-radius-sm);color:var(--ed-color-foreground-muted);transition:color var(--ds-motion-duration-fast) var(--ds-motion-ease-standard), border-color var(--ds-motion-duration-fast) var(--ds-motion-ease-standard);justify-content:center}.social--footer .social__link:hover{color:var(--ed-color-foreground);border-color:var(--ed-color-border-strong)}.site-footer__social{order:2}.project__inset{box-shadow:0 1.5rem 3rem color-mix(in srgb, var(--ed-color-brand-charcoal) 45%, transparent)}:root[data-theme=light] .scene{background:radial-gradient(ellipse 46% 60% at 72% 54%, color-mix(in srgb, var(--ed-color-brand-gold) 20%, transparent), transparent 70%)}:root[data-theme=light] .poster__top{fill:var(--ed-color-brand-charcoal)}:root[data-theme=light] .project__frame,:root[data-theme=light] .craft__frame{box-shadow:0 1px 0 var(--ed-color-border)}:root[data-theme=light] .project__inset{border-color:var(--ed-color-border-strong)}:root[data-theme=light] .button--accent:hover{background:var(--ed-color-primary);color:var(--ed-color-on-primary)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:active{transform:none}.hero{height:auto}.progress{display:none}[data-reveal],.steps li:before{opacity:1;transition:none;transform:none}.steps li:before{transform:scaleX(1)}.project__frame,.craft__frame{clip-path:none;transition:none}.project__frame img,.craft__inner{transform:none}.site-nav a:after{transition:none}}:root[data-reduced]{scroll-behavior:auto}:root[data-reduced] .button:active{transform:none}:root[data-reduced] .hero{height:auto}:root[data-reduced] .progress{display:none}:root[data-reduced] [data-reveal],:root[data-reduced] .steps li:before{opacity:1;transition:none;transform:none}:root[data-reduced] .steps li:before{transform:scaleX(1)}:root[data-reduced] .project__frame,:root[data-reduced] .craft__frame{clip-path:none;transition:none}:root[data-reduced] .project__frame img,:root[data-reduced] .craft__inner{transform:none}:root[data-reduced] .site-nav a:after{transition:none}.notfound{gap:var(--ds-space-6);min-height:100svh;padding-block:var(--ds-space-16);align-content:center;justify-items:start;display:grid}.notfound__logo{margin-left:calc(var(--logo-pad) * -1);display:block}
