:root{--color-bg: #0e0c0a;--color-surface: #161412;--color-border: #444444;--color-text: #e8e8e8;--color-text-muted: #b8b8b8;--color-accent: #fb7228;--color-accent-hover: #fc8a4f;--color-white: #ffffff;--color-error: #f05e7b;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, monospace;--text-xs: .75rem;--text-sm: clamp(.8333rem, .8304rem + .0149vw, .8438rem);--text-base: clamp(1rem, .9643rem + .1786vw, 1.125rem);--text-md: clamp(1.2rem, 1.1143rem + .4286vw, 1.5rem);--text-lg: clamp(1.44rem, 1.28rem + .8vw, 2rem);--text-xl: clamp(1.728rem, 1.4598rem + 1.341vw, 2.6667rem);--text-2xl: clamp(2.0736rem, 1.6502rem + 2.1171vw, 3.5556rem);--text-hero: clamp(3.5rem, 8vw, 9rem);--text-display: clamp(6rem, 15vw, 12rem);--text-icon-sm: 1.25rem;--text-icon-lg: 1.5rem;--leading-none: 1;--leading-tight: .95;--leading-compact: 1.4;--leading-normal: 1.6;--leading-loose: 1.8;--weight-normal: 400;--weight-medium: 500;--weight-bold: 700;--tracking-tight: -.03em;--tracking-wide: .08em;--tracking-wider: .15em;--tracking-emphasis: .18em;--tracking-display: -.05em;--space-3xs: clamp(.25rem, .2411rem + .0446vw, .2813rem);--space-2xs: clamp(.5rem, .4821rem + .0893vw, .5625rem);--space-xs: clamp(.75rem, .7232rem + .1339vw, .8438rem);--space-s: clamp(1rem, .9643rem + .1786vw, 1.125rem);--space-m: clamp(1.5rem, 1.4464rem + .2679vw, 1.6875rem);--space-l: clamp(2rem, 1.9286rem + .3571vw, 2.25rem);--space-xl: clamp(3rem, 2.8929rem + .5357vw, 3.375rem);--space-2xl: clamp(4rem, 3.8571rem + .7143vw, 4.5rem);--space-3xl: clamp(5rem, 4.8214rem + .8929vw, 5.625rem);--space-m-xl: clamp(1.5rem, .9643rem + 2.6786vw, 3.375rem);--space-logo-pad: .35rem;--section-py: clamp(5rem, 12vh, 10rem);--section-py-lg: clamp(6rem, 15vh, 12rem);--nav-h: 80px;--container-max: calc(16 * var(--space-2xl) + 2 * var(--container-px));--container-px: var(--space-m-xl);--container-narrow: 680px;--container-wide: 1400px;--shadow-color: 30deg 30% 6%;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.22, 1.36, .36, 1);--t-fast: .15s;--t-medium: .3s;--t-slow: .6s;--t-hero: .8s;--t-hero-xl: 1.2s;--radius-sm: 4px;--radius-md: 8px;--radius-xs: 2px;--radius-inset: 3px;--radius-pill: 999px;--control-h-sm: 36px;--control-h-md: 44px;--control-h-lg: 48px;--size-icon-sm: 16px;--size-hit-target: 48px;--scrollbar-size: 6px;--logo-h-desktop: 56px;--logo-h-mobile: 36px;--noise-opacity: .05;--glow-duration: 80s}@supports (transition-timing-function: linear(0,1)){:root{--ease-spring: linear( 0, .009, .035 2.1%, .141, .281 6.7%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121 24%, 1.149 27.3%, 1.159, 1.152, 1.128 36%, 1.042 44.6%, 1.008 52.5%, .995 56.5%, .988, .987, .99 67.8%, 1.002 76.9%, 1 )}}@property --mx{syntax: "<length-percentage>"; inherits: true; initial-value: 50%;}@property --my{syntax: "<length-percentage>"; inherits: true; initial-value: 50%;}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip;-webkit-tap-highlight-color:transparent;accent-color:var(--color-accent);scrollbar-gutter:stable;scrollbar-color:var(--color-border) var(--color-bg);scroll-behavior:smooth}.js{scroll-behavior:auto}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background-color:var(--color-bg)}body::-webkit-scrollbar-thumb{background-color:var(--color-border)}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}body:after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:var(--noise-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;mix-blend-mode:soft-light}img,svg{display:block;max-width:100%;height:auto}a{color:var(--color-accent);text-decoration:none;text-underline-offset:.15em;text-decoration-thickness:1px;transition:color var(--t-fast) var(--ease-out)}a:hover{color:var(--color-accent-hover)}ul,ol{list-style:none}button,input,textarea{font:inherit;color:inherit;border:none;background:none}button{cursor:pointer;-webkit-user-select:none;user-select:none}::selection{background-color:color-mix(in srgb,var(--color-accent) 40%,transparent);color:var(--color-white)}.hero ::selection{background-color:color-mix(in srgb,var(--color-bg) 50%,transparent);color:var(--color-white)}.skip-link{position:fixed;top:calc(env(safe-area-inset-top) + var(--space-s));left:50%;width:max-content;white-space:nowrap;transform:translate(-50%,calc(-100% - var(--space-s) - env(safe-area-inset-top) - 6px));z-index:10000;padding:var(--space-2xs) var(--space-s);background-color:var(--color-white);color:var(--color-bg);border:2px solid var(--color-bg);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--radius-sm);text-decoration:none;box-shadow:0 0 0 3px var(--color-accent);transition:transform var(--t-fast) var(--ease-out)}.skip-link:focus,.skip-link:focus-visible{transform:translate(-50%);color:var(--color-bg)}body.builder-open .skip-link{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0}*:focus:not(:focus-visible){outline:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:3px solid var(--color-white);outline-offset:2px;box-shadow:0 0 0 5px color-mix(in srgb,var(--color-bg) 82%,transparent)}[tabindex="-1"]:focus{outline:none}.builder__input:focus-visible,.builder__textarea:focus-visible,.builder__select:focus-visible,.form__input:focus-visible,.form__textarea:focus-visible{outline:none;box-shadow:none}.project-card:focus-visible{outline-offset:4px}h1,h2,h3{font-family:var(--font-sans);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}h1{font-size:var(--text-hero)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-md)}p,li,dd{text-wrap:pretty}p+p{margin-top:var(--space-m)}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-px);padding-right:var(--container-px)}.container--narrow{max-width:var(--container-narrow)}.container--wide{max-width:var(--container-wide)}.section{padding-top:var(--section-py);padding-bottom:var(--section-py)}.section--lg{padding-top:var(--section-py-lg);padding-bottom:var(--section-py-lg)}main>section[id]{scroll-margin-top:calc(var(--nav-h) + var(--space-m))}.section-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-normal);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted);margin:0 0 var(--space-2xl)}.js .section-label{opacity:0;letter-spacing:0}.js .section-label.is-visible{animation:labelReveal var(--t-slow) var(--ease-out) forwards}@keyframes labelReveal{0%{opacity:0;letter-spacing:0}to{opacity:1;letter-spacing:var(--tracking-wider)}}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(40px);transition:opacity var(--t-hero) var(--ease-out),transform var(--t-hero) var(--ease-out)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}.js .reveal[data-stagger]{opacity:1;transform:none;transition:none}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:var(--space-xs) 0;transition:transform var(--t-slow) var(--ease-in-out),background-color var(--t-slow) var(--ease-out),box-shadow var(--t-slow) var(--ease-out)}.nav__container{display:flex;align-items:center;justify-content:space-between}.nav--hidden{transform:translateY(-100%)}.nav--scrolled{background-color:var(--color-bg);box-shadow:0 .5px .6px hsl(var(--shadow-color) / .36),0 1.6px 1.8px -.8px hsl(var(--shadow-color) / .36),0 4px 4.5px -1.7px hsl(var(--shadow-color) / .36),0 10px 11.3px -2.5px hsl(var(--shadow-color) / .36)}.nav--scrolled .nav__link{color:color-mix(in srgb,var(--color-white) 88%,transparent);transition-duration:var(--t-slow)}.nav--scrolled .nav__cta{color:var(--color-bg);background-color:var(--color-accent);border-color:var(--color-accent)}.nav--scrolled .nav__cta:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.nav__logo{display:flex;align-items:center;text-decoration:none;color:var(--color-bg)}.nav__logo-img{display:block;height:var(--logo-h-desktop);width:auto;fill:currentColor;color:inherit;transition:color var(--t-medium) var(--ease-out)}.nav__logo:hover .nav__logo-img{color:var(--color-white)}.logo-eyelid{transform-origin:16.738px 16.651px;transform:scaleY(0)}.nav--scrolled .nav__logo:hover .nav__logo-img{color:var(--color-accent)}.nav--scrolled .nav__logo-img{color:var(--color-white);transition-duration:var(--t-slow)}.nav__links{display:flex;align-items:center;gap:var(--space-l)}.nav__link{position:relative;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:color-mix(in srgb,var(--color-bg) 82%,transparent);text-decoration:none;transition:color var(--t-fast) var(--ease-out)}.nav__link:hover,.nav__link--active{color:var(--color-white)}.nav__cta{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-bg);background-color:color-mix(in srgb,var(--color-white) 18%,transparent);padding:var(--space-2xs) var(--space-s);border:1px solid color-mix(in srgb,var(--color-bg) 45%,transparent);border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;white-space:nowrap;opacity:0;max-width:0;padding-left:0;padding-right:0;border-color:transparent;overflow:hidden;pointer-events:none;transition:color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out),transform var(--t-medium) var(--ease-spring),opacity var(--t-medium) var(--ease-out),max-width var(--t-medium) var(--ease-out),padding var(--t-medium) var(--ease-out),border-color var(--t-medium) var(--ease-out)}.nav--cta-visible .nav__cta{opacity:1;max-width:12rem;padding:var(--space-2xs) var(--space-s);border-color:color-mix(in srgb,var(--color-bg) 45%,transparent);pointer-events:auto}.nav__cta:hover{color:var(--color-bg);border-color:color-mix(in srgb,var(--color-bg) 70%,transparent);background-color:color-mix(in srgb,var(--color-white) 30%,transparent)}main{--mx: 50vw;--my: 50vh;position:relative;z-index:2;min-height:100svh;background-color:var(--color-bg);transition:--mx .6s var(--ease-out),--my .6s var(--ease-out)}main:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;transition:--mx .6s var(--ease-out),--my .6s var(--ease-out);padding-inline:max(var(--container-px),calc((100% - var(--container-max)) / 2 + var(--container-px)));--grid-v: rgba(255, 210, 140, .015);--grid-h: rgba(255, 210, 140, .01);background-image:radial-gradient(circle 600px at var(--mx) var(--my),rgba(255,210,140,.025) 0%,transparent 100%),linear-gradient(to right,var(--grid-v) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-h) 1px,transparent 1px);background-size:auto,var(--space-2xl) var(--space-2xl);background-origin:border-box,content-box,content-box;-webkit-mask-image:linear-gradient(to bottom,transparent,black 4%,black 96%,transparent);mask-image:linear-gradient(to bottom,transparent,black 4%,black 96%,transparent)}.hero~section,.hero~footer{position:relative;z-index:1}.hero~section:not(.cta-block),.hero~footer{background-color:var(--color-bg)}.hero{--mx: 50%;--my: 50%;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 0 clamp(6rem,12vh,10rem);max-width:none;margin:0 auto;position:sticky;top:0;z-index:0;background:radial-gradient(circle 500px at var(--mx) var(--my),rgba(255,210,140,.08) 0%,transparent 100%),linear-gradient(155deg,#f0922a,#fb7228,#e8581e 60%,#c24516);box-shadow:inset 0 0 clamp(100px,25vw,350px) #0e0c0a2e;transition:--mx .6s var(--ease-out),--my .6s var(--ease-out)}.hero:before{content:"";position:absolute;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(ellipse 55% 45% at 30% 35%,rgba(255,210,140,.09) 0%,transparent 70%),radial-gradient(ellipse 45% 55% at 70% 65%,rgba(140,40,8,.08) 0%,transparent 70%);animation:glowDrift var(--glow-duration) var(--ease-in-out) infinite}.hero:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='250'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:250px 250px;mix-blend-mode:overlay}.hero__center{text-align:left;position:relative;z-index:1}.hero__title{--leading-display: .92;font-size:var(--text-hero);line-height:var(--leading-display);letter-spacing:var(--tracking-tight);color:var(--color-bg);max-width:18ch;margin-left:-.04em}.hero__eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);color:color-mix(in srgb,var(--color-bg) 80%,transparent);letter-spacing:var(--tracking-emphasis);text-transform:uppercase;margin-bottom:var(--space-s)}.hero__subline{font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-medium);color:color-mix(in srgb,var(--color-bg) 90%,transparent);margin-top:var(--space-s);max-width:none;line-height:var(--leading-compact)}.hero__actions{display:flex;align-items:center;gap:var(--space-l);margin-top:var(--space-l)}.hero__btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-xs) var(--space-l);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-bg);background-color:var(--color-white);border:none;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;min-height:var(--control-h-lg);transition:transform var(--t-medium) var(--ease-spring),background-color var(--t-fast) var(--ease-out)}.hero__btn:hover{background-color:color-mix(in srgb,var(--color-white) 92%,transparent)}.hero__link{position:relative;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:color-mix(in srgb,var(--color-bg) 78%,transparent);text-decoration:none;transition:color var(--t-fast) var(--ease-out)}.hero__link:hover{color:var(--color-bg)}.hero__arrow{display:inline-block;transform:translateY(0)}.hero__arrow .icon{width:.9em;height:.9em}.hero__link:hover .hero__arrow,.hero__link:focus-visible .hero__arrow{animation:arrowBob var(--t-hero) var(--ease-in-out)}@keyframes arrowBob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.hero__eyebrow{opacity:0;animation:heroFadeUp var(--t-hero) var(--ease-out) .1s forwards}.hero__title{opacity:0;animation:heroFadeUp var(--t-hero-xl) var(--ease-out) .25s forwards}.hero__subline{opacity:0;animation:heroFadeUp var(--t-hero) var(--ease-out) .5s forwards}.hero__actions{opacity:0;animation:heroFadeUp var(--t-hero) var(--ease-out) .7s forwards}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes glowDrift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(4%,3%) scale(1.04)}66%{transform:translate(-3%,-2%) scale(.97)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.builder{--builder-nav-h: var(--nav-h);--builder-pad-top: var(--space-s);--builder-pad-bottom: calc(var(--space-s) + env(safe-area-inset-bottom));--builder-fade-h: var(--size-hit-target);--builder-content-end-space: calc(var(--builder-fade-h) + var(--space-s));position:fixed;inset:0;z-index:200;background-color:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--t-medium) var(--ease-out),visibility 0s var(--t-medium)}.builder__card{position:relative;width:calc(100% - var(--space-m) * 2);max-width:640px;height:min(640px,calc(100dvh - var(--space-l) * 2));background-color:var(--color-bg);border:1px solid var(--color-white);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;align-items:center;padding:calc(var(--builder-nav-h) + var(--builder-pad-top)) var(--container-px) var(--builder-pad-bottom);opacity:0;transform:scale(.96);transition:transform var(--t-medium) var(--ease-out),opacity var(--t-medium) var(--ease-out)}.builder__card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:var(--builder-fade-h);background:linear-gradient(transparent,var(--color-bg));pointer-events:none;z-index:2;border-radius:0 0 var(--radius-md) var(--radius-md)}.builder.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--t-medium) var(--ease-out),visibility 0s}.builder.is-open .builder__card{opacity:1;transform:scale(1)}.builder:not(.is-open) .builder__card{transition-timing-function:var(--ease-out),var(--ease-out)}@supports (transition-behavior: allow-discrete){.builder{display:none;visibility:visible;transition:opacity var(--t-medium) var(--ease-out),display var(--t-medium) allow-discrete}.builder.is-open{display:flex;transition:opacity var(--t-medium) var(--ease-out),display var(--t-medium) allow-discrete}@starting-style{.builder.is-open{opacity:0}.builder.is-open .builder__card{opacity:0;transform:scale(.96)}}}.builder__nav{position:absolute;top:0;left:0;right:0;height:var(--nav-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--container-px);z-index:1}.builder__nav .builder__ctrl-back{grid-column:1;justify-self:start}.builder__nav .builder__next{grid-column:3;justify-self:end;margin-top:0;padding:var(--space-2xs) var(--space-s);min-height:var(--control-h-sm);font-size:var(--text-xs)}.builder__nav .builder__next:disabled{opacity:.3;cursor:default;transform:none}.builder__nav .builder__next--skip{background:var(--color-white);color:var(--color-bg);border:none}.builder__nav .builder__next--skip:hover{background:var(--color-white);color:var(--color-bg);opacity:.85}.builder>.builder__close{position:absolute;top:var(--space-s);right:var(--space-s);z-index:1;font-size:var(--text-icon-lg);color:var(--color-bg);background:var(--color-white);border:none;border-radius:50%;cursor:pointer;width:var(--size-hit-target);height:var(--size-hit-target);display:flex;align-items:center;justify-content:center;transition:opacity var(--t-fast) var(--ease-out)}.builder>.builder__close:hover{opacity:.8}.builder>.builder__close.is-hidden{display:none}.builder>.builder__restart{position:absolute;top:var(--space-s);left:var(--space-s);z-index:1;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);background:none;border:none;cursor:pointer;padding:var(--space-xs) var(--space-s);min-height:var(--size-hit-target);display:flex;align-items:center;transition:color var(--t-fast) var(--ease-out)}.builder>.builder__restart:hover{color:var(--color-white)}.builder>.builder__restart.is-confirm{color:var(--color-accent)}.builder>.builder__restart.is-hidden{display:none}.builder__ctrl-back{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);background:none;border:none;cursor:pointer;padding:var(--space-xs) var(--space-s);min-height:var(--control-h-md);transition:color var(--t-fast) var(--ease-out)}.builder__ctrl-back:hover{color:var(--color-white)}.builder__ctrl-back.is-hidden{visibility:hidden}.builder__counter{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide);font-variant-numeric:tabular-nums}.builder__step-header{width:100%;max-width:600px;flex:0 0 auto;padding-right:var(--space-s)}.builder__step>.builder__header{display:none}.builder__inner{position:relative;width:100%;max-width:600px;flex:1 1 auto;min-height:0;overflow:hidden auto;overscroll-behavior:contain;padding-left:6px;margin-left:-6px;padding-right:var(--space-s);padding-bottom:var(--builder-content-end-space);scroll-padding-bottom:var(--builder-content-end-space);scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.builder__inner::-webkit-scrollbar{width:var(--scrollbar-size)}.builder__inner::-webkit-scrollbar-track{background:transparent}.builder__inner::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:calc(var(--scrollbar-size) / 2)}.builder__step{display:none}.builder__step.is-active{display:block}.builder__step.is-entering{animation:fadeIn var(--t-medium) var(--ease-out)}.builder__step.is-sliding{display:block;position:absolute;inset:0;padding-right:var(--space-s);padding-bottom:var(--builder-content-end-space);will-change:transform}@keyframes slideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutToLeft{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes slideInFromLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideOutToRight{0%{transform:translate(0)}to{transform:translate(100%)}}.builder__step.is-active.slide-in-forward{animation:slideInFromRight var(--t-medium) var(--ease-out) both}.builder__step.is-active.slide-out-forward{animation:slideOutToLeft var(--t-medium) var(--ease-out) both}.builder__step.is-active.slide-in-back{animation:slideInFromLeft var(--t-medium) var(--ease-out) both}.builder__step.is-active.slide-out-back{animation:slideOutToRight var(--t-medium) var(--ease-out) both}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.builder__header{position:relative;background-color:var(--color-bg);padding-bottom:var(--space-s)}.builder__question{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-white);line-height:var(--leading-tight);margin-bottom:var(--space-m)}.builder__hint{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide);margin-top:calc(var(--space-xs) * -1);margin-bottom:var(--space-s)}.builder__options{display:flex;flex-direction:column;gap:var(--space-xs)}.builder__option{text-align:left;padding:var(--space-s) var(--space-m);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-base);min-height:var(--control-h-lg);cursor:pointer;transition:border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out)}.builder__option:hover{border-color:var(--color-accent);color:var(--color-white);background-color:#fb72280d}.builder__option.is-selected{border-color:var(--color-accent);color:var(--color-white);background-color:#fb722814}.builder__option:focus-visible{outline:2px solid var(--color-white);outline-offset:-2px}.builder__option:active{transform:scale(.985)}:not([data-multi=true])>.builder__option{position:relative;padding-left:calc(var(--space-m) + var(--space-l))}:not([data-multi=true])>.builder__option:before{content:"";position:absolute;left:var(--space-m);top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;border:1px solid var(--color-border);transition:border-color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out)}:not([data-multi=true])>.builder__option:hover:before{border-color:var(--color-accent)}:not([data-multi=true])>.builder__option.is-selected:before{border-color:var(--color-accent);background-color:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 5L6.5 10.5L4 8' stroke='%230e0c0a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:14px 14px;background-position:center;background-repeat:no-repeat}.builder__option-hint{display:block;font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--weight-normal);margin-top:var(--space-3xs);transition:color var(--t-fast) var(--ease-out)}.builder__option:hover .builder__option-hint,.builder__option.is-selected .builder__option-hint{color:var(--color-text)}.builder__checkbox{display:flex;align-items:center;gap:var(--space-s);margin-top:var(--space-m);cursor:pointer;-webkit-user-select:none;user-select:none}.builder__checkbox-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.builder__checkbox-box{flex-shrink:0;width:var(--size-icon-sm);height:var(--size-icon-sm);border:1px solid var(--color-border);border-radius:var(--radius-inset);transition:border-color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out)}.builder__checkbox:hover .builder__checkbox-box{border-color:var(--color-accent)}.builder__checkbox-input:focus-visible+.builder__checkbox-box{outline:3px solid var(--color-white);outline-offset:2px;box-shadow:0 0 0 5px color-mix(in srgb,var(--color-bg) 82%,transparent)}.builder__checkbox-input:checked+.builder__checkbox-box{border-color:var(--color-accent);background-color:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 5L6.5 10.5L4 8' stroke='%230e0c0a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:var(--size-icon-sm) var(--size-icon-sm);background-position:center;background-repeat:no-repeat}.builder__checkbox-text{font-size:var(--text-base);color:var(--color-text-muted);transition:color var(--t-fast) var(--ease-out)}.builder__checkbox:hover .builder__checkbox-text,.builder__checkbox-input:checked~.builder__checkbox-text{color:var(--color-text)}.builder__reveal{display:none;margin-top:var(--space-m);animation:fadeSlideIn var(--t-medium) var(--ease-out)}.builder__reveal.is-visible{display:flex;gap:var(--space-xs);align-items:center}.builder__other-edit{display:none;padding:var(--space-s) var(--space-m);border:1px solid var(--color-accent);border-radius:var(--radius-sm);background-color:#fb722814;min-height:var(--control-h-lg);align-items:center;gap:var(--space-xs)}.builder__option[data-value=Other].is-selected:has(+.builder__other-edit.is-active){display:none}.builder__other-edit.is-active{display:flex}.builder__other-input{flex:1;min-width:0;background:transparent;border:none;color:var(--color-text);font-size:var(--text-base);padding:0}.builder__other-input:focus:not(:focus-visible){outline:none}.builder__other-input:focus-visible{outline:none;box-shadow:inset 0 -2px 0 var(--color-accent)}.builder__other-input.builder__input--error{box-shadow:inset 0 -2px 0 var(--color-error)}.builder__other-input::placeholder{color:var(--color-text-muted)}.builder__other-clear{color:var(--color-text-muted);font-size:var(--text-icon-sm);line-height:var(--leading-none);flex-shrink:0;padding:var(--space-3xs);cursor:pointer;transition:color var(--t-fast) var(--ease-out)}.builder__other-clear:hover{color:var(--color-white)}[data-multi=true] .builder__option{padding-left:calc(var(--space-m) + var(--space-l));position:relative}[data-multi=true] .builder__option:before{content:"";position:absolute;left:var(--space-m);top:50%;transform:translateY(-50%);width:var(--size-icon-sm);height:var(--size-icon-sm);border:1px solid var(--color-border);border-radius:var(--radius-inset);transition:border-color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out)}[data-multi=true] .builder__option:hover:before{border-color:var(--color-accent)}[data-multi=true] .builder__option.is-selected:before{border-color:var(--color-accent);background-color:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 5L6.5 10.5L4 8' stroke='%230e0c0a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:var(--size-icon-sm) var(--size-icon-sm);background-position:center;background-repeat:no-repeat}.builder__options.is-maxed .builder__option:not(.is-selected){opacity:.35;pointer-events:none}.builder__select{appearance:none;-webkit-appearance:none;padding:var(--space-s);padding-right:var(--space-xl);background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%23888888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-s) center;background-size:16px 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-base);min-height:var(--control-h-lg);width:100%;cursor:pointer;transition:border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.builder__select:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 15%,transparent)}.builder__select:not(:invalid){color:var(--color-text)}.builder__select option{background-color:var(--color-surface);color:var(--color-text)}.builder__url-group{display:flex;flex-direction:column;gap:var(--space-m)}.builder__url-entry{display:flex;flex-direction:column;gap:var(--space-xs)}.builder__taginput-wrap{position:relative;width:100%}.builder__taginput-wrap .builder__input{width:100%}.builder__tag-selected{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-bottom:var(--space-2xs)}.builder__tag-selected:empty{margin-bottom:0}.builder__tag{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-accent);padding:var(--space-3xs) var(--space-xs);border:1px solid var(--color-accent);border-radius:var(--radius-pill);background-color:#fb72281a;cursor:pointer;transition:opacity var(--t-fast) var(--ease-out)}.builder__tag:hover{opacity:.7}.builder__tag-suggest{display:none;position:absolute;left:0;right:0;top:100%;z-index:10;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-top:var(--space-3xs);overflow:hidden}.builder__tag-option{display:block;width:100%;text-align:left;padding:var(--space-xs) var(--space-s);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);cursor:pointer;transition:background-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.builder__tag-option:hover{background-color:#fb72280d;color:var(--color-white)}.builder__add-url{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);background:none;border:none;cursor:pointer;padding:var(--space-xs) 0;margin-top:var(--space-xs);text-align:left;transition:color var(--t-fast) var(--ease-out)}.builder__add-url:hover{color:var(--color-accent)}.builder__add-url.is-hidden{display:none}.builder__next{display:inline-block;margin-top:var(--space-l);padding:var(--space-xs) var(--space-m);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-bg);background-color:var(--color-accent);border:none;border-radius:var(--radius-sm);cursor:pointer;min-height:var(--control-h-md);transition:background-color var(--t-fast) var(--ease-out),transform var(--t-medium) var(--ease-spring)}.builder__next:hover{background-color:var(--color-accent-hover)}.builder__next:focus-visible{outline:3px solid var(--color-white);outline-offset:2px;box-shadow:0 0 0 5px color-mix(in srgb,var(--color-bg) 82%,transparent)}.builder__summary{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-l);padding:var(--space-s) var(--space-m);border-left:2px solid var(--color-accent);line-height:var(--leading-loose)}.builder__summary strong{color:var(--color-white)}.builder__summary-sites{margin-top:var(--space-s);display:grid;gap:var(--space-2xs)}.builder__summary-site{display:flex;align-items:flex-start;gap:var(--space-xs);color:var(--color-text);text-decoration:none}.builder__summary-site:hover{color:var(--color-white)}.builder__summary-site__favicon{width:var(--size-icon-sm);height:var(--size-icon-sm);border-radius:var(--radius-xs);margin-top:.15em;flex-shrink:0}.builder__summary-site__text{display:grid;gap:.1rem}.builder__summary-site__label{color:var(--color-white);line-height:1.35}.builder__summary-site__description{font-size:var(--text-xs);color:var(--color-text);line-height:1.4}.builder__summary-site__meta,.builder__summary-site__tags{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.35}.builder__price-anchor{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-l);line-height:var(--leading-loose)}.builder__price-anchor strong{color:var(--color-text)}.builder__form{display:flex;flex-direction:column;gap:var(--space-s);padding-right:var(--space-s)}.builder__field{display:block;position:relative}.builder__field.is-invalid .builder__label{color:var(--color-error)}.builder__label{position:absolute;left:var(--space-s);top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:var(--text-base);pointer-events:none;transition:top var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out),font-size var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out);transform-origin:left center}.builder__input:not(:placeholder-shown)+.builder__label,.builder__input:focus+.builder__label,.builder__textarea:not(:placeholder-shown)+.builder__label,.builder__textarea:focus+.builder__label,.builder__field.is-filled .builder__label{top:6px;transform:translateY(0);font-size:var(--text-xs);color:var(--color-text-muted)}.builder__field .builder__input,.builder__field .builder__textarea{padding-top:calc(var(--space-s) + 12px)}.builder__field:has(.builder__textarea) .builder__label{top:var(--space-s);transform:translateY(0)}.builder__textarea:not(:placeholder-shown)+.builder__label,.builder__textarea:focus+.builder__label{top:6px}.builder__field--select .builder__label{top:6px;transform:translateY(0);font-size:var(--text-xs);color:var(--color-text-muted)}.builder__field--select .builder__select{padding-top:calc(var(--space-s) + 12px)}.builder__field--required .builder__label:after{content:" *";color:var(--color-error);font-weight:var(--weight-bold)}.builder__input,.builder__textarea,.builder__select{width:100%;padding:var(--space-s);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-base);min-height:var(--control-h-lg);transition:border-color var(--t-fast) var(--ease-out)}.builder__input:focus-visible,.builder__textarea:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 15%,transparent)}.builder__field .builder__input::placeholder,.builder__field .builder__textarea::placeholder{color:transparent}.builder__input::placeholder,.builder__textarea::placeholder{color:var(--color-text-muted)}.builder__input--inline{flex:1;min-width:0}.builder__input--small{font-size:var(--text-sm)}.builder__input--valid{border-color:#4caf50}.builder__valid-check{position:absolute;right:var(--space-s);top:50%;transform:translateY(-50%) scale(.5);width:18px;height:18px;color:#4caf50;opacity:0;transition:opacity var(--t-medium) var(--ease-out),transform var(--t-medium) var(--ease-spring);pointer-events:none}.builder__field.is-valid .builder__valid-check{opacity:1;transform:translateY(-50%) scale(1)}.url-preview{display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) 0;animation:fadeSlideIn var(--t-medium) var(--ease-out)}.url-preview__favicon{width:var(--size-icon-sm);height:var(--size-icon-sm);border-radius:var(--radius-xs);flex-shrink:0}.url-preview__domain{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide)}.url-preview__check{color:#4caf50;font-weight:var(--weight-bold);font-size:var(--text-sm)}.url-preview__check.is-hidden{display:none}.builder__input--error{border-color:var(--color-error);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-error) 22%,transparent);background-color:color-mix(in srgb,var(--color-error) 8%,transparent)}.builder__field.is-shaking,.builder__input.is-shaking{animation:shake .4s var(--ease-out)}.builder__required-note{margin-top:calc(var(--space-2xs) * -1);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide)}.builder__required-note span{color:var(--color-error);font-weight:var(--weight-bold)}.builder__textarea{resize:vertical;field-sizing:content;max-height:40vh}.builder__form-error{min-height:1.4em;margin-top:calc(var(--space-2xs) * -1);color:var(--color-error);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide)}.builder__submit{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-s) var(--space-l);background-color:var(--color-accent);color:var(--color-bg);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--radius-sm);cursor:pointer;min-height:var(--control-h-lg);transition:background-color var(--t-fast) var(--ease-out),transform var(--t-medium) var(--ease-spring);width:fit-content}.builder__submit:hover{background-color:var(--color-accent-hover)}.builder__submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.builder__submit.is-loading .builder__submit-label{opacity:0}.builder__submit.is-loading:after{content:"";position:absolute;width:1em;height:1em;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}.builder__form-actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-s)}.builder__restart-inline{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);background:none;border:none;cursor:pointer;padding:var(--space-2xs) var(--space-s);min-height:var(--control-h-sm);transition:color var(--t-fast) var(--ease-out)}.builder__restart-inline:hover{color:var(--color-white)}.builder__restart-inline.is-confirm{color:var(--color-accent)}.builder__restart-inline.is-hidden{display:none}.builder__consent,.form__consent{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-normal);margin-bottom:var(--space-m)}.builder__elephant{display:block;width:200px;height:auto;margin-bottom:var(--space-l);opacity:0;transform:translateY(20px)}.builder__step.is-active .builder__elephant{animation:elephantIn var(--t-hero) var(--ease-out) .3s forwards}@keyframes elephantIn{to{opacity:1;transform:translateY(0)}}.builder__thankyou-text{color:var(--color-text-muted);font-size:var(--text-base)}.builder__done{margin-top:var(--space-l);padding:var(--space-xs) var(--space-l);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);color:var(--color-white);background:transparent;border:1px solid color-mix(in srgb,var(--color-white) 30%,transparent);border-radius:var(--radius-sm);cursor:pointer;opacity:0;transform:translateY(10px);transition:border-color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out)}.builder__step.is-active .builder__done{animation:fadeUp var(--t-medium) var(--ease-out) .9s forwards}.builder__done:hover,.builder__done:focus-visible{border-color:var(--color-white);background:color-mix(in srgb,var(--color-white) 8%,transparent)}.services{border-top:1px solid var(--color-border)}.services__note{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:calc(var(--space-l) * -1);margin-bottom:var(--space-xl)}.service{position:relative;padding:var(--space-l) 0;border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:auto 1fr;gap:var(--space-m) var(--space-l);align-items:baseline}.js [data-stagger]>.service{opacity:1;transform:none}.js [data-stagger] .service:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:var(--color-border);transform:scaleX(0);transform-origin:left;transition:transform var(--t-hero) var(--ease-out)}.js [data-stagger].is-visible .service:after{transform:scaleX(1);transition-delay:var(--stagger-delay, 0ms)}.js [data-stagger] .service__number,.js [data-stagger] .service__title,.js [data-stagger] .service__desc{opacity:0;transform:translateY(var(--space-xs));transition:opacity var(--t-hero) var(--ease-out),transform var(--t-hero) var(--ease-out)}.js [data-stagger].is-visible .service__number{opacity:1;transform:translateY(0);transition-delay:var(--stagger-delay, 0ms)}.js [data-stagger].is-visible .service__title{opacity:1;transform:translateY(0);transition-delay:calc(var(--stagger-delay, 0ms) + var(--t-fast))}.js [data-stagger].is-visible .service__desc{opacity:1;transform:translateY(0);transition-delay:calc(var(--stagger-delay, 0ms) + var(--t-medium))}.service__number{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide)}.service__title{font-family:var(--font-sans);color:var(--color-white)}.service__desc{grid-column:2;color:var(--color-text);max-width:40ch}.projects__grid{display:grid;grid-template-columns:1fr;gap:var(--space-s)}.project-card{display:block;position:relative;overflow:hidden;border-radius:var(--radius-sm);text-decoration:none}.project-card__image-wrap{display:block;position:relative;aspect-ratio:var(--card-ratio, 16 / 9);overflow:hidden}.project-card__badge{position:absolute;top:var(--space-s);right:var(--space-s);padding:var(--space-3xs) var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-white);background-color:#0e0c0ab3;border-radius:var(--radius-sm);pointer-events:none}.project-card__image{width:100%;height:100%;object-fit:cover;filter:brightness(.85);transition:filter var(--t-hero) var(--ease-out),transform var(--t-hero) var(--ease-out)}.project-card__image--hover{position:absolute;inset:0;opacity:0;transition:filter var(--t-hero) var(--ease-out),transform var(--t-hero) var(--ease-out),opacity var(--t-hero) var(--ease-out)}.project-card.is-mobile-preview .project-card__image{filter:brightness(1);transform:scale(1.03);will-change:filter,transform}.project-card.is-mobile-preview .project-card__image--hover{opacity:1}.project-card.is-mobile-preview .project-card__number{color:var(--color-accent);transition:color var(--t-medium) var(--ease-out)}.project-card--highlight{--card-ratio: 3 / 2;background-color:var(--color-surface)}.project-card__body{padding:var(--space-m)}.project-card__body .project-card__number{display:block;margin-bottom:var(--space-2xs)}.project-card__body .project-card__type{display:block;margin-left:0;margin-top:var(--space-3xs)}.project-card__outcome{margin-top:var(--space-s);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-accent);letter-spacing:var(--tracking-tight)}.project-card__excerpt{margin-top:var(--space-2xs);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal);max-width:40ch}.project-card--featured{--card-ratio: 16 / 9;background-color:var(--color-surface)}.project-card__year{font-family:var(--font-mono);font-size:var(--text-xs);color:color-mix(in srgb,var(--color-white) 50%,transparent);letter-spacing:var(--tracking-wide)}.project-card__title a{color:inherit;text-decoration:none}.project-card__arrow{font-size:.75em;opacity:0;transition:opacity var(--t-fast) var(--ease-out)}.project-card__title a:hover .project-card__arrow,.project-card__title a:focus-visible .project-card__arrow{opacity:1}.project-card__number{font-family:var(--font-mono);font-size:var(--text-xs);color:color-mix(in srgb,var(--color-white) 60%,transparent);letter-spacing:var(--tracking-wide);flex-shrink:0;transition:color var(--t-medium) var(--ease-out)}.project-card__title{font-family:var(--font-sans);font-size:var(--text-md);color:var(--color-white);letter-spacing:var(--tracking-tight)}.project-card__type{font-family:var(--font-mono);font-size:var(--text-xs);color:color-mix(in srgb,var(--color-white) 75%,transparent);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-left:auto;flex-shrink:0}.projects__further{margin-top:var(--space-xl);border-top:1px solid var(--color-border);list-style:none;padding:0;margin-left:0}.project-text{display:grid;grid-template-columns:1fr;gap:0 var(--space-l);padding:var(--space-s) 0;border-bottom:1px solid var(--color-border)}.project-text__title{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-white);letter-spacing:var(--tracking-tight)}.project-text__title a{color:inherit;text-decoration:none}.project-text__title a:hover{color:var(--color-accent)}.project-text__arrow{font-size:.75em;opacity:0;transition:opacity var(--t-fast) var(--ease-out)}.project-text__title a:hover .project-text__arrow{opacity:1}.project-text__year{font-family:var(--font-mono);font-size:var(--text-xs);color:color-mix(in srgb,var(--color-white) 40%,transparent);letter-spacing:var(--tracking-wide)}.project-text__type{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase}.project-text__line{margin-top:var(--space-3xs);font-size:var(--text-sm);color:var(--color-text-muted)}@media(min-width:640px){.project-text{grid-template-columns:calc(var(--space-2xl) * 3) auto 1fr;grid-template-rows:auto auto;align-items:baseline}.project-text__title{grid-column:1}.project-text__year{grid-column:2;grid-row:1}.project-text__type{grid-column:3;grid-row:1;text-align:right}.project-text__line{grid-column:2 / -1;grid-row:2;margin-top:0}}@media(min-width:768px){.projects__grid{grid-template-columns:1fr 1fr;grid-auto-flow:dense}.project-card--highlight{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.project-card--highlight .project-card__body{display:flex;flex-direction:column;justify-content:center;padding:var(--space-l) var(--space-xl)}.project-card--highlight-alt .project-card__image-wrap{order:2}.project-card--highlight-alt .project-card__body{order:1}}.why-us{background-color:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.why-us__text{font-size:var(--text-base);line-height:var(--leading-loose);color:var(--color-text)}.why-us__text strong{display:block;font-size:var(--text-md);color:var(--color-white);font-weight:var(--weight-bold)}.why-us__text ul{list-style:none;padding:0;margin:0}.why-us__text li{padding-left:1.75em;position:relative;margin-bottom:var(--space-l)}.why-us__text li:before{content:"\2713";position:absolute;left:0;font-size:var(--text-md);color:var(--color-accent);font-weight:var(--weight-bold)}.credentials{padding-top:var(--section-py-lg);padding-bottom:var(--section-py-lg);background-color:color-mix(in srgb,var(--color-accent) 15%,var(--color-bg))}.credentials__title{font-size:var(--text-2xl);color:var(--color-white);max-width:20ch;margin-bottom:var(--space-m)}.credentials__text{font-size:var(--text-md);line-height:var(--leading-loose);color:var(--color-text);max-width:50ch}.credentials__quote{position:relative;margin-top:var(--space-2xl);padding-left:var(--space-m);border-left:none}.js .credentials__quote{--quote-border-progress: 0;opacity:var(--quote-border-progress, 1)}.credentials__quote:before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background-color:var(--color-accent);transform-origin:top;transform:scaleY(var(--quote-border-progress, 1))}.credentials__quote p{font-family:var(--font-sans);font-size:var(--text-md);font-style:normal;color:var(--color-text);line-height:var(--leading-normal);max-width:45ch}.credentials__quote cite{display:block;margin-top:var(--space-s);font-style:normal;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide)}.credentials__quote-role{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.clients{padding-bottom:var(--space-2xl);background-color:color-mix(in srgb,var(--color-accent) 15%,var(--color-bg))}.clients .section-label{margin-bottom:0}.clients-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;cursor:grab;touch-action:pan-y;-webkit-mask-image:linear-gradient(to right,transparent,black 4%,black 96%,transparent);mask-image:linear-gradient(to right,transparent,black 4%,black 96%,transparent);scrollbar-width:none;-webkit-user-select:none;user-select:none}.clients-scroll::-webkit-scrollbar{display:none}.clients-scroll:active{cursor:grabbing}.clients-scroll:focus-visible{outline:3px solid var(--color-white);outline-offset:3px;box-shadow:0 0 0 5px color-mix(in srgb,var(--color-bg) 82%,transparent)}.clients-scroll__track{display:flex;gap:var(--space-l);width:max-content;padding:var(--space-l) var(--space-m) var(--space-m);margin:0}.clients-scroll__item{flex-shrink:0;width:8rem;height:3.5rem;padding:var(--space-logo-pad);box-sizing:border-box;filter:brightness(0) invert(1);list-style:none}.clients-scroll__item img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}.clients-scroll__item a{display:block;width:100%;height:100%;color:inherit;text-decoration:none;transition:opacity .25s var(--ease-out)}.clients-scroll__item a:hover{opacity:.7}.clients-scroll__item a:focus-visible{opacity:.82;outline:2px solid var(--color-bg);outline-offset:4px;border-radius:2px}.cta-wrap{--mx: 50%;--my: 50%;position:relative;z-index:3;background:radial-gradient(circle 500px at var(--mx) var(--my),rgba(255,210,140,.08) 0%,transparent 100%),var(--color-accent);transition:--mx .6s var(--ease-out),--my .6s var(--ease-out)}.cta-block{position:relative}.clients{position:relative;-webkit-user-select:none;user-select:none}.elephant-peek{--peek: -60%;--x: 15%;position:absolute;z-index:1;top:100%;right:var(--x);width:120px;translate:50% 0;transform:translateY(0);opacity:0;pointer-events:none;transition:transform .3s var(--ease-out),right 0s,opacity .15s ease .15s}.elephant-peek__svg{display:block;width:100%;height:auto}.is-elephant-visible .elephant-peek{transform:translateY(calc(var(--peek) + var(--peek-boost, 0%)));opacity:1}.elephant-peek__label{position:absolute;bottom:100%;right:0;transform:translateY(.25em);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-white);background:var(--color-bg);padding:.3em .6em;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.elephant-peek--near-edge .elephant-peek__label{right:auto;left:0}.elephant-peek:hover .elephant-peek__label,.elephant-peek.is-label-shown .elephant-peek__label{opacity:1;transform:translateY(-.3em)}@keyframes blink{0%,90%,to{transform:scaleY(var(--squint, 1))}95%{transform:scaleY(.1)}}.elephant-peek--hi .elephant-eye--left{transform-origin:71.1px 43.5px}.elephant-peek--hi .elephant-eye--right{transform-origin:94.5px 40.3px}.elephant-peek--phone{width:120px;--peek-boost: -10%}.elephant-peek--phone .elephant-eye--left{transform-origin:45.4px 32.2px}.elephant-peek--phone .elephant-eye--right{transform-origin:60.2px 28px}.elephant-mouth{transform-origin:54.8px 47px;transition:transform .2s var(--ease-out)}.elephant-mouth path:first-child{transition:fill .2s var(--ease-out)}.elephant-peek:hover .elephant-mouth,.elephant-peek.is-label-shown .elephant-mouth{transform:scaleY(.15)}.elephant-peek:hover .elephant-mouth path:first-child,.elephant-peek.is-label-shown .elephant-mouth path:first-child{fill:#454b4c}.elephant-eye{animation:blink 4s ease-in-out infinite}.elephant-eye--right{animation-delay:15ms}@keyframes blink-once{0%,to{transform:scaleY(var(--squint, 1))}50%{transform:scaleY(.1)}}.elephant-eye.is-blinking{animation:blink-once .15s ease-in-out}.elephant-eye.is-closed{animation:none;transform:scaleY(0)}.cta-block__inner{display:flex;flex-wrap:wrap;gap:var(--space-l);align-items:flex-end;justify-content:space-between}.cta-block__title{color:var(--color-bg);font-size:var(--text-2xl);max-width:15ch;margin-bottom:var(--space-s)}.cta-block__text{color:color-mix(in srgb,var(--color-bg) 82%,transparent);max-width:38ch;line-height:var(--leading-compact)}.cta-block__btn{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-s) var(--space-l);background-color:var(--color-bg);color:var(--color-white);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--radius-sm);border:none;cursor:pointer;text-decoration:none;transition:transform var(--t-medium) var(--ease-spring),opacity var(--t-fast) var(--ease-out);width:fit-content}.cta-block__btn:after{content:" \2192";display:inline-block;transition:transform var(--t-medium) var(--ease-out)}.cta-block__btn:hover{color:var(--color-white)}.cta-block__btn:hover:after{transform:translate(3px)}.footer{background-color:var(--color-accent);padding:var(--space-xs) 0 var(--space-m)}.cta-wrap .footer{background-color:transparent}.footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--space-3xs) var(--space-l)}.footer__info{font-family:var(--font-mono);font-size:var(--text-xs);color:color-mix(in srgb,var(--color-bg) 84%,transparent)}.footer__link{position:relative;font-family:var(--font-mono);font-size:var(--text-xs);color:color-mix(in srgb,var(--color-bg) 84%,transparent);text-decoration:none;flex-shrink:0}.footer__link:hover{color:var(--color-bg)}.nav__link:after,.footer__link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background-color:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--t-slow) var(--ease-out)}.nav__link:hover:after,.nav__link--active:after,.footer__link:hover:after,.footer__link--active:after{transform:scaleX(1);transition:transform var(--t-fast) var(--ease-out)}.hero__btn:active,.cta-block__btn:active,.nav__cta:active,.builder__submit:active,.builder__next:active:not(:disabled),.form__submit:active:not(:disabled){transform:translateY(0) scale(.985)}.js [data-stagger]>*{opacity:0;transform:translateY(24px);transition:opacity var(--t-hero) var(--ease-out),transform var(--t-hero) var(--ease-out)}.js [data-stagger].is-visible>*{opacity:1;transform:translateY(0)}@media(hover:hover){.project-card:hover .project-card__image{filter:brightness(1);transform:scale(1.03);will-change:filter,transform}.project-card:hover .project-card__image--hover{opacity:1}.project-card:hover .project-card__number{color:var(--color-accent);transition:color var(--t-medium) var(--ease-out)}.cta-block__btn:hover{opacity:.92}}.contact-intro{font-size:var(--text-md);color:var(--color-text);margin-bottom:var(--space-xl);max-width:45ch}.form__group{margin-bottom:var(--space-l)}.form__label{display:block;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text);margin-bottom:var(--space-xs)}.form__optional{text-transform:none;letter-spacing:normal;opacity:.85}.form__input,.form__textarea{display:block;width:100%;padding:var(--space-s);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:0;color:var(--color-text);font-size:var(--text-base);transition:border-color var(--t-fast) var(--ease-out)}.form__input:focus-visible,.form__textarea:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 15%,transparent)}.form__input::placeholder,.form__textarea::placeholder{color:var(--color-text-muted);opacity:1}.form__textarea{min-height:180px;resize:vertical;field-sizing:content;max-height:50vh}#message{color:var(--color-white);-webkit-text-fill-color:var(--color-white);background-color:var(--color-surface)}#message::placeholder{color:var(--color-white);opacity:.85}.form__honeypot,.builder__honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}.form__submit{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-s) var(--space-l);background-color:var(--color-white);color:var(--color-bg);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--radius-sm);transition:background-color var(--t-fast) var(--ease-out),transform var(--t-medium) var(--ease-spring)}.form__submit:hover{background-color:var(--color-accent-hover)}.form__submit:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes spin{to{transform:rotate(360deg)}}.form__submit.is-loading .form__submit-label{opacity:0}.form__submit.is-loading:after{content:"";position:absolute;width:1em;height:1em;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}.form__submit{position:relative;justify-content:center}.form__error{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-2xs);display:none}.form__group--error .form__error{display:block}.form__group--error .form__input,.form__group--error .form__textarea{border-color:var(--color-error)}.form__group--error.is-shaking{animation:shake .4s var(--ease-out)}.form__input-wrap{position:relative}.form__group--valid .form__input{border-color:#4caf50}.form__valid-check{position:absolute;right:var(--space-s);top:50%;transform:translateY(-50%) scale(.5);width:18px;height:18px;color:#4caf50;opacity:0;transition:opacity var(--t-medium) var(--ease-out),transform var(--t-medium) var(--ease-spring);pointer-events:none}.form__group--valid .form__valid-check{opacity:1;transform:translateY(-50%) scale(1)}.form__group .url-preview{margin-top:var(--space-2xs);padding:0}.form__success{display:none;text-align:center;padding:var(--space-2xl) 0}.contact-form.is-hiding{animation:fadeOut var(--t-medium) var(--ease-out) forwards}@keyframes fadeOut{to{opacity:0;transform:translateY(-8px)}}.form__success.is-visible{display:flex;flex-direction:column;align-items:center}.form__success-elephant{display:block;width:120px;height:auto;margin-bottom:var(--space-l);opacity:0;transform:translateY(20px);animation:elephantIn var(--t-hero) var(--ease-out) .2s forwards}.form__success-heading{font-family:var(--font-sans);font-size:var(--text-lg);color:var(--color-white);opacity:0;transform:translateY(12px);animation:fadeUp var(--t-medium) var(--ease-out) .5s forwards}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.page-header{padding-top:calc(var(--nav-h) + var(--space-3xl));padding-bottom:var(--space-xl);background-color:var(--color-bg)}.page-header+.section{background-color:var(--color-bg)}.page-header__title{font-size:var(--text-2xl);margin-bottom:var(--space-s)}.page-header__desc{color:var(--color-text)}.prose h2{font-size:var(--text-md);margin-top:var(--space-xl);margin-bottom:var(--space-s)}.prose h2:first-child{margin-top:0}.prose p{color:var(--color-text);line-height:var(--leading-loose)}.prose ul,.prose ol{color:var(--color-text);line-height:var(--leading-loose);padding-left:var(--space-m);margin-top:var(--space-s);margin-bottom:var(--space-s)}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li+li{margin-top:var(--space-2xs)}.prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:.15em}.prose a:hover{color:var(--color-accent-hover)}.error-page{min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;background-color:var(--color-bg)}.error-page__elephant{display:block;margin:0 auto var(--space-l);width:100px;height:auto}.error-page__text{font-size:var(--text-base);color:var(--color-text-muted);margin:var(--space-s) 0 var(--space-l)}.error-page a{text-decoration:underline;text-underline-offset:.18em}.case-header{padding-top:calc(var(--nav-h) + var(--space-3xl));padding-bottom:var(--space-xl);background-color:var(--color-bg)}.case-header__back{display:inline-block;font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-bottom:var(--space-l);transition:color .2s ease}.case-header__back:hover,.case-header__back:focus-visible{color:var(--color-accent)}.case-header__title{font-size:var(--text-2xl);line-height:var(--leading-tight);margin-bottom:var(--space-2xs)}.case-header__type{font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-m)}.case-header__takeaway{font-size:var(--text-md);color:var(--color-accent);font-style:italic;margin-bottom:var(--space-l);max-width:50ch}.case-meta{display:flex;flex-wrap:wrap;gap:var(--space-m) var(--space-xl);margin:0}.case-meta__item{display:flex;flex-direction:column;gap:var(--space-3xs)}.case-meta dt{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase}.case-meta dd{font-size:var(--text-sm);color:var(--color-text);margin:0}.case-meta a{color:var(--color-accent);text-decoration:none}.case-meta a:hover{text-decoration:underline;text-underline-offset:.15em}.case-hero{padding:var(--space-xl) 0;background-color:var(--color-bg)}.case-hero__img{width:100%;height:auto;border-radius:4px}.js .case-hero.reveal{opacity:0;transform:scale(.96);transition:opacity var(--t-hero) var(--ease-out),transform var(--t-hero) var(--ease-out)}.js .case-hero.reveal.is-visible{opacity:1;transform:scale(1)}.case-body{padding:var(--space-xl) 0 var(--space-3xl);background-color:var(--color-bg)}.case-body .prose h2{margin-top:var(--space-2xl)}.case-body .prose h3{font-size:var(--text-base);font-weight:var(--weight-bold);margin-top:var(--space-xl);margin-bottom:var(--space-xs)}.case-body .prose p+p{margin-top:var(--space-s)}.case-body .prose blockquote{border-left:2px solid var(--color-accent);padding-left:var(--space-m);margin:var(--space-xl) 0;font-style:italic;color:var(--color-text-muted)}.case-body .prose blockquote p{font-size:var(--text-md);line-height:var(--leading-normal)}.case-body .prose blockquote cite{display:block;font-size:var(--text-sm);font-style:normal;margin-top:var(--space-s);color:var(--color-text-muted)}.case-body .prose details{margin:var(--space-xl) 0;border:1px solid var(--color-border);border-radius:4px;padding:0}.case-body .prose details summary{padding:var(--space-s) var(--space-m);cursor:pointer;font-weight:var(--weight-medium);color:var(--color-text-muted);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;list-style:none;user-select:none;-webkit-user-select:none;display:flex;align-items:center;gap:var(--space-xs)}.case-body .prose details summary::-webkit-details-marker{display:none}.case-body .prose details summary:before{content:"+";display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25em;height:1.25em;font-weight:var(--weight-bold);font-size:1.2em;color:var(--color-accent)}.case-body .prose details.is-opening summary:before{transform:rotate(45deg);transition:transform var(--t-slow) var(--ease-spring)}.case-body .prose details.is-closing summary:before{transform:rotate(0);transition:transform var(--t-medium) var(--ease-out)}.case-body .prose details[open] summary{border-bottom:1px solid var(--color-border)}.case-body .prose details .details__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--t-slow) var(--ease-out)}.no-js .case-body .prose details[open] .details__body{grid-template-rows:1fr}.case-body .prose details .details__inner{overflow:hidden}.case-body .prose details .details__inner>*:first-child{padding-top:var(--space-s)}.case-body .prose details .details__inner>*:last-child{padding-bottom:var(--space-m)}.case-body .prose details .details__inner>*{padding-left:var(--space-m);padding-right:var(--space-m)}.case-body .prose details .details__inner ul{padding-left:calc(var(--space-m) + var(--space-m))}.case-body .prose img{width:100%;height:auto;border-radius:4px;margin:var(--space-l) 0}.case-body .prose figure{margin:var(--space-l) 0}.case-body .prose figcaption{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2xs)}.gallery__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xs);list-style:none;padding:0;margin:0}@media(max-width:639px){.gallery__grid{grid-template-columns:1fr}}.gallery__img{width:100%;height:auto;border-radius:4px}.related-projects{padding:var(--space-2xl) 0;background-color:var(--color-bg)}.related-projects__heading{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted);margin-bottom:var(--space-l)}.related-carousel__track{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-l)}@media(max-width:767px){.related-carousel{margin-left:calc(-1 * var(--container-px));margin-right:calc(-1 * var(--container-px))}.related-carousel__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:var(--space-m);padding:0 var(--container-px)}.related-carousel__track::-webkit-scrollbar{display:none}.related-carousel__track{cursor:grab}.related-carousel__track:active{cursor:grabbing}.related-card{flex:0 0 80%;scroll-snap-align:center;-webkit-user-select:none;user-select:none}.related-card img{-webkit-user-drag:none}}.related-carousel__dots{display:none}@media(max-width:767px){.related-carousel__dots{display:flex;justify-content:center;gap:var(--space-xs);padding-top:var(--space-m)}}.related-carousel__dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background:var(--color-border);cursor:pointer;transition:background-color var(--t-medium) var(--ease-out),transform var(--t-medium) var(--ease-spring)}.related-carousel__dot:hover{transform:scale(1.25)}.related-carousel__dot.is-active{background:var(--color-accent);transform:scale(1.25)}.related-card{text-decoration:none;display:flex;flex-direction:column;gap:var(--space-xs)}.related-card__thumb{overflow:hidden;border-radius:4px;aspect-ratio:3/2}.related-card__img{width:100%;height:100%;object-fit:cover;filter:brightness(.85);transform:scale(1);transition:filter var(--t-hero) var(--ease-out),transform var(--t-hero) var(--ease-out)}.related-card:hover .related-card__img,.related-card:focus-visible .related-card__img{filter:brightness(1);transform:scale(1.05)}.related-card__title{font-size:var(--text-base);color:var(--color-text);transition:color var(--t-medium) var(--ease-out)}.related-card:hover .related-card__title,.related-card:focus-visible .related-card__title{color:var(--color-accent)}.related-card__type{font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--t-medium) var(--ease-out)}.related-card:hover .related-card__type,.related-card:focus-visible .related-card__type{color:var(--color-text)}.related-card__thumb--empty{background:var(--color-surface);transition:background-color var(--t-medium) var(--ease-out)}.related-card:hover .related-card__thumb--empty{background:var(--color-border)}.related-card__placeholder{aspect-ratio:3/2;background:var(--color-surface);border-radius:4px}.case-nav{padding:var(--space-xl) 0;border-top:1px solid var(--color-border);background-color:var(--color-bg)}.case-nav .container{display:flex;justify-content:space-between;gap:var(--space-m)}.case-nav__link{display:flex;flex-direction:column;gap:var(--space-3xs);text-decoration:none;transition:color .2s ease}.case-nav__link--next{text-align:right;margin-left:auto}.case-nav__label{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase}.case-nav__title{font-size:var(--text-base);color:var(--color-text)}.case-nav__link:hover .case-nav__title,.case-nav__link:focus-visible .case-nav__title{color:var(--color-accent)}.columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-l) var(--space-xl);margin:var(--space-xl) 0}@media(max-width:639px){.columns{grid-template-columns:1fr}}.columns__heading{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);margin-bottom:var(--space-s)}.columns__col p{color:var(--color-text);line-height:var(--leading-loose)}.breakout{margin:var(--space-2xl) calc(-1 * var(--container-px))}@media(min-width:768px){.breakout{margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}}.breakout__img{width:100%;height:auto;display:block}.breakout__caption{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2xs);padding:0 var(--container-px)}@media(min-width:768px){.breakout__caption{max-width:var(--container-narrow);margin-left:auto;margin-right:auto;padding:0}}.stats{margin:var(--space-2xl) 0}.stats__heading{font-size:var(--text-md);margin-bottom:var(--space-l)}.stats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-l)}.stats__item{display:flex;flex-direction:column;gap:var(--space-3xs);margin:0}.stats__number{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-none);color:var(--color-accent)}.stats__unit{font-size:var(--text-sm);color:var(--color-text);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.stats__desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal);max-width:30ch}.compare{--split: 50%;margin:var(--space-xl) 0}.compare__viewport{position:relative;overflow:hidden;border-radius:4px;line-height:0;user-select:none;-webkit-user-select:none;touch-action:pan-y}.compare__layer{position:relative}.compare__layer--after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--split))}.compare__img{width:100%;height:auto;display:block}.compare__badge{position:absolute;bottom:var(--space-s);padding:var(--space-3xs) var(--space-xs);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;background:#000000b3;color:var(--color-white);border-radius:2px;pointer-events:none;z-index:1}.compare__badge--before{left:var(--space-s)}.compare__badge--after{right:var(--space-s)}.compare__divider{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:var(--color-white);pointer-events:none;transform:translate(-1px);box-shadow:0 0 6px #0006;z-index:1}.compare__divider:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;border-radius:50%;background:var(--color-white);box-shadow:0 0 6px #0000004d}.compare__divider:after{content:"\25c2  \25b8";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;color:var(--color-bg);letter-spacing:2px;z-index:1}.compare__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:col-resize}.compare__caption{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2xs);line-height:var(--leading-normal)}.swap{margin:var(--space-xl) 0}.swap__button{display:block;width:100%;cursor:pointer;text-align:left}.swap__viewport{position:relative;overflow:hidden;border-radius:4px;line-height:0}.swap__img{width:100%;height:auto;display:block;transition:opacity .5s ease}.swap__img--alt{position:absolute;inset:0;opacity:0}@media(hover:hover){.swap:hover .swap__img--alt{opacity:1}.swap:hover .swap__img--primary,.swap:hover .swap__hint{opacity:0}}.swap.is-active .swap__img--alt{opacity:1}.swap.is-active .swap__img--primary,.swap.is-active .swap__hint{opacity:0}.swap__hint{position:absolute;bottom:var(--space-s);right:var(--space-s);padding:var(--space-3xs) var(--space-xs);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;background:#000000b3;color:var(--color-white);border-radius:2px;pointer-events:none;opacity:.8;transition:opacity .3s ease}.swap__caption{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2xs);line-height:var(--leading-normal)}.is-constrained .hero:before,.is-constrained .hero:after{animation:none}.is-constrained body:after{display:none}.services{content-visibility:auto;contain-intrinsic-size:auto 678px}.projects{content-visibility:auto;contain-intrinsic-size:auto 1562px}.why-us{content-visibility:auto;contain-intrinsic-size:auto 867px}.clients{contain:layout style}.credentials{content-visibility:auto;contain-intrinsic-size:auto 686px}.cta-block{contain:layout style}@media(max-width:639px){.services{contain-intrinsic-size:auto 820px}.projects{contain-intrinsic-size:auto 1941px}.why-us{contain-intrinsic-size:auto 600px}.credentials{contain-intrinsic-size:auto 673px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero__arrow{animation:none}.js .section-label{opacity:1;letter-spacing:var(--tracking-wider)}.builder__card,.builder.is-open .builder__card{transform:none!important}}@media(max-width:639px){:root{--nav-h: 60px}.nav__logo-img{height:var(--logo-h-mobile)}.nav__links{gap:var(--space-s)}.nav__cta{display:none}.hero{padding-top:var(--nav-h);padding-bottom:var(--space-2xl)}.hero__actions{flex-direction:column;align-items:flex-start;gap:var(--space-m)}.hero__btn{padding:var(--space-xs) var(--space-m)}}@media(max-width:767px){.builder{--builder-pad-top: calc(var(--space-s) + env(safe-area-inset-top));--builder-pad-bottom: calc(var(--space-s) + env(safe-area-inset-bottom));align-items:stretch;justify-content:stretch}.builder__card{width:100%;max-width:none;height:100vh;height:100dvh;border:none;border-radius:0}.builder__card:after{border-radius:0}.builder__nav{top:calc(env(safe-area-inset-top) + var(--space-s));padding:0 var(--container-px)}.builder__step-header,.builder__inner{max-width:none;padding-right:0}.builder>.builder__close{position:fixed;top:auto;right:auto;bottom:calc(env(safe-area-inset-bottom) + var(--space-s));left:50%;transform:translate(-50%);z-index:3}.builder>.builder__restart{position:fixed;top:auto;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom) + var(--space-s) + var(--size-hit-target) + var(--space-2xs));z-index:3}}@media(min-width:640px){.service{grid-template-columns:var(--space-2xl) 1fr auto;gap:0 var(--space-l);align-items:center;padding:var(--space-m) 0}.service__desc{grid-column:3;text-align:right;max-width:36ch;text-wrap:balance}}@media print{nav,.builder,.skip-link,body:after{display:none!important}body{background:#fff;color:#000}main,main:before{background:none!important}.project-card__image,.clients-scroll__item{filter:none}a{color:#000;text-decoration:underline}a[href]:after{content:" (" attr(href) ")";font-size:.85em}a[href^="#"]:after,a[href^=javascript]:after{content:""}}
