*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}body{margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);font-weight:400;line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}:where(ul[role=list],ol){list-style:none;padding:0}img,svg{display:block;max-width:100%}img{height:auto}input,button,select,textarea{font:inherit;color:inherit}button{cursor:pointer}address{font-style:normal}h1,h2,h3,h4{font-weight:500;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);text-wrap:balance}h2{font-size:var(--text-statement)}h3{font-size:var(--text-lg)}p{text-wrap:pretty}strong{font-weight:600}a{color:var(--color-action);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--color-action-hover);text-decoration-thickness:2px}.mono{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:var(--tracking-mono);line-height:1.5;text-transform:uppercase}.statement{max-width:22em;font-size:var(--text-statement);font-weight:500;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}main section[id]{scroll-margin-top:.75rem}.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:calc(var(--z-loader) + 1);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-dark);color:var(--color-dark-text);font-weight:500;text-decoration:none;transform:translateY(-200%)}.skip-link:focus{transform:none}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-tri{fill:currentColor;stroke:none}.tag{--tag-h: 1.375rem;display:inline-flex;align-items:center;min-height:var(--tag-h);margin-bottom:var(--space-4);padding:0 .4rem;border-radius:var(--radius-sm);background:var(--color-dark);color:var(--color-dark-text);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-mono);line-height:1;text-transform:uppercase;white-space:nowrap}.tag--dark{background:var(--color-dark-text);color:var(--color-dark)}@media (min-width: 768px){.tag:has(+.statement){float:left;margin:calc((var(--text-statement) * 1.15 - var(--tag-h)) / 2) var(--space-4) 0 0}}.btn{display:inline-flex;align-items:center;gap:var(--space-4);min-height:var(--tap);padding:.375rem .375rem .375rem var(--space-4);border:0;border-radius:var(--radius-lg);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-mono);line-height:1.2;text-align:left;text-decoration:none;text-transform:uppercase;transition:background-color var(--dur-fast) linear,color var(--dur-fast) linear,box-shadow var(--dur-fast) linear}.btn-square{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;flex:none;border-radius:var(--radius);background:var(--color-bg);color:var(--color-dark);transition:transform var(--dur-fast) var(--ease-out)}.btn-square .icon{width:1.125rem;height:1.125rem}.btn:hover .btn-square,.btn-call--xl:hover .btn-square,.btn-project:hover .btn-square{transform:translate(2px)}.btn-dark{background:var(--color-dark);color:var(--color-dark-text)}.btn-dark:hover{background:var(--color-dark-card);color:var(--color-dark-text)}.btn-call,.btn-call--xl{background:var(--color-action);color:var(--color-on-action)}.btn-call:hover,.btn-call--xl:hover{background:var(--color-action-hover);color:var(--color-on-action)}.btn-call .btn-square,.btn-call--xl .btn-square{color:var(--color-action)}.btn-call--xl{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:4.5rem;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-radius:var(--radius-lg);text-decoration:none;transition:background-color var(--dur-fast) linear}.btn-call--xl .btn-square{width:3rem;height:3rem}.btn-call--xl .btn-square .icon{width:1.375rem;height:1.375rem}.btn-call-text{display:grid;gap:var(--space-1)}.btn-call-kicker{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-mono);line-height:1.3;text-transform:uppercase}.btn-call-number{font-size:var(--text-number);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1;white-space:nowrap}.btn-project{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:4.5rem;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);font-size:var(--text-lg);font-weight:500;letter-spacing:var(--tracking-tight);line-height:1.2;text-decoration:none;transition:background-color var(--dur-fast) linear}.btn-project:hover{background:var(--color-surface);color:var(--color-text)}.btn-project .btn-square{width:3rem;height:3rem;background:var(--color-dark);color:var(--color-dark-text)}.btn-project .btn-square .icon{width:1.375rem;height:1.375rem}.icon-fb{fill:currentColor;stroke:none}.text-link{display:inline-flex;align-items:center;min-height:var(--tap);font-weight:500}.js [data-reveal]:not(.is-in)>*,.js [data-step]:not(.is-in){clip-path:inset(0 0 100% 0);transform:translateY(1.5rem)}.js [data-reveal].is-in>*,.js [data-step].is-in{animation:reveal-up var(--dur-slow) var(--ease-out) var(--reveal-delay, 0ms) backwards}@keyframes reveal-up{0%{clip-path:inset(0 0 100% 0);transform:translateY(1.5rem)}to{clip-path:inset(0 0 0 0);transform:none}}.js [data-reveal]:not(.is-in)>.is-split,.js [data-reveal].is-in>.is-split{clip-path:none;transform:none;animation:none}.sw{display:inline-block;clip-path:inset(-.4em -.2em -.12em -.2em)}.sw-i{display:inline-block}.is-split:not(.is-in) .sw-i{transform:translateY(115%)}.is-split.is-in .sw-i{transition:transform 1s var(--ease-mask) var(--d, 0ms)}.odo{display:inline-block;white-space:nowrap}.odo-d{display:inline-block;height:1em;overflow:hidden;line-height:1;vertical-align:top}.odo-c{display:block;transform:translateY(calc(var(--n, 0) * -1em));transition:transform var(--odo-dur, 1.6s) var(--ease-out) var(--od, 0ms)}.odo-c>span{display:block;height:1em}.logo{--logo-ink: var(--color-text);--logo-paper: var(--color-bg);display:inline-flex;align-items:stretch;min-height:2.25rem;border:1px solid var(--logo-ink);border-radius:var(--radius-sm);color:var(--logo-ink);font-size:var(--text-sm);font-weight:600;letter-spacing:.06em;line-height:1;text-decoration:none;white-space:nowrap;transition:color var(--dur-base) linear,border-color var(--dur-base) linear}.logo:hover{color:var(--logo-ink)}.logo-ei,.logo-name{display:inline-flex;align-items:center;padding:0 .55em}.logo-ei{background:var(--logo-ink);color:var(--logo-paper);transition:background-color var(--dur-base) linear,color var(--dur-base) linear}#loader{position:fixed;inset:0;z-index:var(--z-loader);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--gutter) + env(safe-area-inset-top,0px)) var(--gutter) calc(var(--gutter) + env(safe-area-inset-bottom,0px));background:var(--color-bg);color:var(--color-text);overflow:hidden;transition:transform var(--dur-slow) var(--ease-in-out)}#loader[hidden]{display:none}#loader.is-done{transform:translateY(-100%)}html:not(.js) #loader{display:none}.loader-mark{align-self:center;margin:auto 0;min-height:3.5rem;font-size:clamp(1.25rem,1rem + 1.4vw,2rem)}.loader-foot{display:grid;gap:var(--space-3)}.loader-count{display:flex;align-items:baseline;font-family:var(--font-mono);font-size:var(--text-number);font-variant-numeric:tabular-nums;line-height:1}.loader-count-digits{min-width:3ch;text-align:right}.loader-count-sign{margin-left:.15em;font-size:.5em}.loader-bar{height:2px;background:var(--color-border);overflow:hidden}.loader-bar-fill{height:100%;background:var(--color-action);transform:scaleX(0);transform-origin:left center}.hero{position:relative;isolation:isolate;min-height:100svh;background:var(--color-dark);color:var(--color-bg)}.hero-media{position:absolute;inset:0;z-index:-1;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}.hero-media:after{content:"";position:absolute;inset:0;background:var(--hero-veil)}.hero-inner{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto auto;row-gap:var(--space-5);min-height:100svh;padding-top:calc(var(--header-h) + var(--space-6));padding-bottom:var(--gutter)}.hero-text{align-self:center}.hero-title{font-size:var(--text-h1);font-weight:500;line-height:1.04;letter-spacing:-.025em}.hero-line{display:block;clip-path:inset(-.3em -.2em -.14em -.2em)}.hero-line-inner{display:block;transition:transform 1.2s var(--ease-mask)}.hero-line:nth-child(2) .hero-line-inner{transition-delay:90ms}.anim body:not(.is-ready) .hero-line-inner{transform:translateY(115%)}.hero-lead{max-width:30rem;margin-top:var(--space-4);font-size:var(--text-base);line-height:1.5}.hero .btn-project{width:100%;margin-top:var(--space-6)}.hero-stat{line-height:1.6}.hero-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.hero-link{position:relative;display:block;aspect-ratio:16 / 10;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-dark-card);color:var(--color-text);text-decoration:none}.hero-link:hover{color:var(--color-text)}.hero-link img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}.hero-link:hover img{transform:scale(1.04)}.hero-link-bar{position:absolute;right:.375rem;bottom:.375rem;left:.375rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:1.75rem;padding:.25rem .25rem .25rem .5rem;border-radius:var(--radius-sm);background:var(--color-bg);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-mono);line-height:1.2;text-transform:uppercase}.hero-link-arrow{display:grid;place-items:center;width:1.25rem;height:1.25rem;flex:none;border-radius:2px;background:var(--color-dark);color:var(--color-bg)}.hero-link-arrow .icon{width:.875rem;height:.875rem}@media (min-width: 480px){.hero .btn-project{width:auto}}@media (min-width: 768px){.hero-links{grid-template-columns:repeat(2,13rem);justify-self:end}.hero-link{aspect-ratio:5 / 4}}@media (min-width: 1024px){.hero-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;column-gap:var(--space-8);padding-bottom:var(--space-6)}.hero-text{grid-column:1;grid-row:1 / span 2}.hero-stat{grid-column:2;grid-row:1;align-self:center}.hero-links{grid-column:2;grid-row:2}}[data-hero-in]{transition:transform var(--dur-slow) var(--ease-out) var(--hero-delay, 0ms)}.js body:not(.is-ready) [data-hero-in]{transform:translateY(.75rem)}.hero-lead{--hero-delay: .16s}.hero .btn-project{--hero-delay: .24s}.hero-stat{--hero-delay: .3s}.hero-links{--hero-delay: .36s}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}.js [data-reveal]:not(.is-in)>*,.js [data-step]:not(.is-in){clip-path:none;transform:none}.js body:not(.is-ready) [data-hero-in],.anim body:not(.is-ready) .hero-line-inner,.is-split:not(.is-in) .sw-i{transform:none}.hero-link:hover img{transform:none}}
