@import "https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap";:root{--anaglyph-global-strength:1;--anaglyph-red-x:-1.6px;--anaglyph-red-y:0px;--anaglyph-cyan-x:1.6px;--anaglyph-cyan-y:0px;--anaglyph-red-opacity:.72;--anaglyph-cyan-opacity:.72;--anaglyph-jitter-distance:.6px;--anaglyph-jitter-interval-ms:.64s;--anaglyph-jitter-x:0px;--anaglyph-jitter-y:0px}html.is-anaglyph-scope-preloader{--anaglyph-global-strength:1.36;--anaglyph-red-x:-2.2px;--anaglyph-red-y:.35px;--anaglyph-cyan-x:2.2px;--anaglyph-cyan-y:-.28px;--anaglyph-red-opacity:.78;--anaglyph-cyan-opacity:.73;--anaglyph-jitter-distance:.95px;--anaglyph-jitter-interval-ms:.26s}html.is-anaglyph-scope-header-logo{--anaglyph-global-strength:2.2;--anaglyph-red-x:-2.85px;--anaglyph-red-y:.48px;--anaglyph-cyan-x:2.85px;--anaglyph-cyan-y:-.42px;--anaglyph-red-opacity:.84;--anaglyph-cyan-opacity:.8;--anaglyph-jitter-distance:1.8px;--anaglyph-jitter-interval-ms:95ms}html.is-anaglyph-scope-header-projects,html.is-anaglyph-scope-projects-table-row{--anaglyph-global-strength:.72;--anaglyph-red-x:-.95px;--anaglyph-red-y:.08px;--anaglyph-cyan-x:.95px;--anaglyph-cyan-y:-.08px;--anaglyph-red-opacity:.55;--anaglyph-cyan-opacity:.52;--anaglyph-jitter-distance:.24px;--anaglyph-jitter-interval-ms:.98s}html.is-anaglyph-scope-header-contact{--anaglyph-global-strength:.88;--anaglyph-red-x:-.15px;--anaglyph-red-y:-.15px;--anaglyph-cyan-x:.3px;--anaglyph-cyan-y:50.1px;--anaglyph-red-opacity:.5;--anaglyph-cyan-opacity:.56;--anaglyph-jitter-distance:.2px;--anaglyph-jitter-interval-ms:1.04s}html.is-anaglyph-scope-contact-data{--anaglyph-global-strength:.33;--anaglyph-red-x:-.05px;--anaglyph-red-y:0;--anaglyph-cyan-x:.05px;--anaglyph-cyan-y:0;--anaglyph-red-opacity:.014;--anaglyph-cyan-opacity:.015;--anaglyph-jitter-distance:.11px;--anaglyph-jitter-interval-ms:4.8s}html.is-anaglyph-scope-contact-phone,html.is-anaglyph-scope-contact-email{--anaglyph-global-strength:.07;--anaglyph-red-x:-.2px;--anaglyph-red-y:0;--anaglyph-cyan-x:.2px;--anaglyph-cyan-y:0;--anaglyph-red-opacity:.16;--anaglyph-cyan-opacity:.18;--anaglyph-jitter-distance:0;--anaglyph-jitter-interval-ms:1.8s}[data-anaglyph]{--anaglyph-strength-scale:1}[data-anaglyph-strength=subtle]{--anaglyph-strength-scale:.125}[data-anaglyph-strength=normal]{--anaglyph-strength-scale:1}[data-anaglyph-strength=hard]{--anaglyph-strength-scale:1.4}html.is-anaglyph-enabled [data-anaglyph=text]:not([data-anaglyph-scope]),html.is-anaglyph-enabled.is-anaglyph-scope-preloader [data-anaglyph=text][data-anaglyph-scope=preloader],html.is-anaglyph-enabled.is-anaglyph-scope-header-logo [data-anaglyph=text][data-anaglyph-scope=header-logo],html.is-anaglyph-enabled.is-anaglyph-scope-header-projects [data-anaglyph=text][data-anaglyph-scope=header-projects],html.is-anaglyph-enabled.is-anaglyph-scope-projects-table-row [data-anaglyph-active=true][data-anaglyph=text][data-anaglyph-scope=projects-table-row],html.is-anaglyph-enabled.is-anaglyph-scope-header-contact [data-anaglyph=text][data-anaglyph-scope=header-contact],html.is-anaglyph-enabled.is-anaglyph-scope-contact-data [data-anaglyph=text][data-anaglyph-scope=contact-data],html.is-anaglyph-enabled.is-anaglyph-scope-contact-phone [data-anaglyph=text][data-anaglyph-scope=contact-phone],html.is-anaglyph-enabled.is-anaglyph-scope-contact-email [data-anaglyph=text][data-anaglyph-scope=contact-email]{text-shadow:calc((var(--anaglyph-red-x) * var(--anaglyph-strength-scale) * var(--anaglyph-global-strength)) + var(--anaglyph-jitter-x)) calc((var(--anaglyph-red-y) * var(--anaglyph-strength-scale) * var(--anaglyph-global-strength)) + var(--anaglyph-jitter-y)) 0 rgba(255, 8, 8, var(--anaglyph-red-opacity)), calc((var(--anaglyph-cyan-x) * var(--anaglyph-strength-scale) * var(--anaglyph-global-strength)) - var(--anaglyph-jitter-x)) calc((var(--anaglyph-cyan-y) * var(--anaglyph-strength-scale) * var(--anaglyph-global-strength)) - var(--anaglyph-jitter-y)) 0 rgba(0, 221, 255, var(--anaglyph-cyan-opacity))}html.is-anaglyph-enabled [data-anaglyph=block]:not([data-anaglyph-scope]),html.is-anaglyph-enabled.is-anaglyph-scope-preloader [data-anaglyph=block][data-anaglyph-scope=preloader],html.is-anaglyph-enabled.is-anaglyph-scope-header-logo [data-anaglyph=block][data-anaglyph-scope=header-logo],html.is-anaglyph-enabled.is-anaglyph-scope-header-projects [data-anaglyph=block][data-anaglyph-scope=header-projects],html.is-anaglyph-enabled.is-anaglyph-scope-projects-table-row [data-anaglyph-active=true][data-anaglyph=block][data-anaglyph-scope=projects-table-row],html.is-anaglyph-enabled.is-anaglyph-scope-header-contact [data-anaglyph=block][data-anaglyph-scope=header-contact],html.is-anaglyph-enabled.is-anaglyph-scope-contact-data [data-anaglyph=block][data-anaglyph-scope=contact-data],html.is-anaglyph-enabled.is-anaglyph-scope-contact-phone [data-anaglyph=block][data-anaglyph-scope=contact-phone],html.is-anaglyph-enabled.is-anaglyph-scope-contact-email [data-anaglyph=block][data-anaglyph-scope=contact-email]{filter:drop-shadow(calc((var(--anaglyph-red-x) * var(--anaglyph-strength-scale) * var(--anaglyph-global-strength)) + var(--anaglyph-jitter-x)) calc((var(--anaglyph-red-y) * var(--anaglyph-strength-scale) * var(--anaglyph-global-strength)) + var(--anaglyph-jitter-y)) 0 rgba(255, 8, 8, var(--anaglyph-red-opacity))) drop-shadow(calc((var(--anaglyph-cyan-x) * var(--anaglyph-strength-scale) * var(--anaglyph-global-strength)) - var(--anaglyph-jitter-x)) calc((var(--anaglyph-cyan-y) * var(--anaglyph-strength-scale) * var(--anaglyph-global-strength)) - var(--anaglyph-jitter-y)) 0 rgba(0, 221, 255, var(--anaglyph-cyan-opacity)))}html.is-anaglyph-reduced{--anaglyph-jitter-x:0px;--anaglyph-jitter-y:0px}.anaglyph-debugger{z-index:10050;background:var(--debug-panel-bg);width:min(88vw,360px);color:var(--debug-panel-ink);border:1px solid var(--debug-panel-border);backdrop-filter:blur(10px);pointer-events:auto;border-radius:.45rem;padding:.75rem;font-family:Roboto,Helvetica Neue,sans-serif;font-size:.78rem;position:fixed;bottom:.85rem;right:.85rem}.anaglyph-debugger__title{letter-spacing:.1em;text-transform:uppercase;margin:0 0 .65rem;font-size:.72rem;font-weight:700}.anaglyph-debugger__controls{border:0;gap:.55rem;margin:0;padding:0;display:grid}.anaglyph-debugger__row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem .6rem;display:grid}.anaglyph-debugger__label{font-size:.72rem;line-height:1.2}.anaglyph-debugger__value{font-variant-numeric:tabular-nums;color:var(--debug-panel-muted);font-size:.7rem}.anaglyph-debugger__slider{grid-column:1/-1;width:100%;margin:0}.anaglyph-debugger__actions{justify-content:flex-end;margin-top:.6rem;display:flex}.anaglyph-debugger__reset{border:1px solid var(--debug-panel-button-border);color:inherit;font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:.3rem;padding:.24rem .5rem;font-size:.68rem}.anaglyph-debugger__reset:hover,.anaglyph-debugger__reset:focus-visible{border-color:var(--debug-panel-button-border-hover);outline:none}@media (width<=560px){.anaglyph-debugger{width:min(96vw,380px);bottom:.5rem;right:.5rem}}:root{color-scheme:light;--bg-0:#fff;--bg-1:#f7f6f3;--bg-2:#f4f3f0;--ink-0:#111;--ink-1:#3a3a3a;--ink-2:#7a7a7a;--line:#dbdbdb;--line-strong:#9f9f9f;--page-bg-radial-start:#fff;--page-bg-radial-mid:#fbfbfa;--page-bg-radial-end:#f4f3f0;--page-bg-linear-start:#fff;--page-bg-linear-end:#fff;--interactive-ink:#020202;--focus-ring:#020202b3;--surface-row-hover:#00000008;--surface-row-hover-shadow:#00000012;--surface-card:#ffffff75;--surface-panel:#ffffffb8;--surface-panel-strong:#ffffffdb;--surface-panel-solid:#fff;--preloader-surface-start:#000;--preloader-surface-mid:#171717;--preloader-title-ink:#fff;--preloader-scroll-distance:clamp(5rem, 14svh, 9rem);--preloader-scroll-offset:0px;--preloader-scroll-progress:0;--preloader-title-handoff-progress:0;--preloader-title-handoff-start:.965;--preloader-content-handoff-start:.82;--preloader-progress-follow:1;--landing-content-handoff-progress:0;--landing-vacuum-intro-opacity:1;--debug-panel-bg:#070707e6;--debug-panel-ink:#f8f8f8;--debug-panel-border:#fff3;--debug-panel-muted:#fffc;--debug-panel-button-border:#ffffff52;--debug-panel-button-border-hover:#ffffff85;--modal-overlay:#000000f5;--modal-surface:#fff;--modal-surface-strong:#0000;--modal-ink:#111;--modal-sheen:#fff;--modal-shadow:#000;--type-scale:1;--detail-type-scale:1;--contact-type-scale:1;--landing-vacuum-primary-height:max(0px, calc(100svh - var(--landing-vacuum-top-offset)));--landing-vacuum-secondary-height:max(0px, calc(100svh - (var(--page-padding) * 1.1)));--landing-vacuum-boundary-max-width:4800px;--max-width:1415px;--landing-wide-max-width:2200px;--landing-wide-gutter:clamp(2.5rem, 4vw, 6rem);--page-padding:clamp(.5rem, 2vw, 1.725rem);--section-gap:clamp(2.25rem, 5vw, 4.5rem);--tight-gap:clamp(.7rem, 1.5vw, 1.1rem);--top-chrome-opacity:1;--top-chrome-opacity-transition-ms:.16s;--header-control-font-size:calc(clamp(.82rem, 1.05vw, .96rem) * var(--type-scale));--landing-vacuum-video-crossfade-duration:3.2s;--landing-vacuum-project-preview-fade-duration:.26s;--landing-vacuum-project-preview-opacity:.24;--landing-vacuum-persistent-opacity:.38;--landing-vacuum-header-gap:clamp(1.39rem, .7vw, .6rem);--top-chrome-bottom:calc(var(--page-padding) + clamp(2.35rem, 3.5vw, 2.95rem));--landing-vacuum-top-offset:max(0px, calc(var(--top-chrome-bottom) - var(--page-padding) + var(--landing-vacuum-header-gap)));--landing-vacuum-primary-frame-height:calc(var(--landing-vacuum-top-offset) + var(--landing-vacuum-primary-height));--landing-vacuum-primary-frame-max-height:var(--landing-vacuum-primary-frame-height);--landing-vacuum-continuation-frame-height:var(--landing-vacuum-primary-frame-height);--landing-vacuum-continuation-frame-max-height:var(--landing-vacuum-continuation-frame-height);--landing-vacuum-header-wash-start:#080a0dcc;--landing-vacuum-header-wash-mid:#0a0c107a;--landing-vacuum-header-wash-end:#0a0c101a;--landing-vacuum-body-wash-end:#0a0a0a29;--landing-vacuum-clear-wash:#0a0a0a00;--header-nav-collision-gap:clamp(.9rem, 1.9vw, 1.8rem);--header-nav-stack-gap:clamp(.3rem, 1vw, .72rem);--projects-header-block-gap:clamp(1.5rem, 3vw, 2.5rem);--projects-content-top-clearance:calc(var(--top-chrome-bottom) + var(--projects-header-block-gap));--theme-toggle-width:clamp(3.2rem, 4vw, 3.5rem);--theme-toggle-height:clamp(.9rem, 1.1vw, 1rem);--theme-toggle-pad:.001rem;--theme-toggle-thumb-width:clamp(1.2rem, 1.55vw, 1.34rem);--theme-toggle-track-bg:#ffffffad;--theme-toggle-track-border:#111111ad;--theme-toggle-track-border-hover:#111111eb;--theme-toggle-thumb-bg:#111;--header-video-surface-opacity:0;--header-video-surface-top:#030406fe;--header-video-surface-mid:#030406fb}html[data-theme=dark]{color-scheme:dark;--bg-0:#0f1012;--bg-1:#15171a;--bg-2:#1d2025;--ink-0:#f2eee6;--ink-1:#d0cbc1;--ink-2:#968f85;--line:#35383e;--line-strong:#5f646c;--page-bg-radial-start:#262b31;--page-bg-radial-mid:#15181c;--page-bg-radial-end:#0d0f12;--page-bg-linear-start:#111316;--page-bg-linear-end:#0d0f12;--interactive-ink:#f2eee6;--focus-ring:#f2eee6bd;--surface-row-hover:#ffffff0d;--surface-row-hover-shadow:#00000057;--surface-card:#ffffff0b;--surface-panel:#14161ac7;--surface-panel-strong:#1b1d22eb;--surface-panel-solid:#1d2025;--preloader-surface-start:#040506;--preloader-surface-mid:#0b0d10;--preloader-title-ink:#f2eee6;--debug-panel-bg:#0b0c0feb;--debug-panel-ink:#f2eee6;--debug-panel-border:#ffffff24;--debug-panel-muted:#f2eee6b8;--debug-panel-button-border:#ffffff42;--debug-panel-button-border-hover:#ffffff6b;--modal-overlay:#000000eb;--modal-surface:#080808f5;--modal-surface-strong:#040404fb;--modal-ink:#f5f1ea;--modal-sheen:#ffffff0f;--modal-shadow:#0000009e;--theme-toggle-track-bg:#11111157;--theme-toggle-track-border:#f5f1eab8;--theme-toggle-track-border-hover:#fffcf7f5;--theme-toggle-thumb-bg:#f5f1ea;--header-video-surface-opacity:0;--header-video-surface-top:#030406fe;--header-video-surface-mid:#030406fb;--landing-vacuum-header-wash-start:#080a0dcc;--landing-vacuum-header-wash-mid:#0a0c107a;--landing-vacuum-header-wash-end:#0a0c101a;--landing-vacuum-body-wash-end:#0a0a0a29;--landing-vacuum-clear-wash:#0a0a0a00}@media (width>=1440px){:root{--type-scale:1.06}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;color:var(--ink-0);background-color:var(--bg-0);background:radial-gradient(1100px 500px at 10% -5%, var(--page-bg-radial-start) 0%, var(--page-bg-radial-mid) 62%, var(--page-bg-radial-end) 100%), linear-gradient(var(--page-bg-linear-start), var(--page-bg-linear-end));font-family:Roboto,Helvetica Neue,sans-serif;transition:color .22s,background-color .22s,background .32s}h1,h2,h3,p{margin:0}a{color:inherit}.site-header{height:var(--top-chrome-bottom);z-index:50;isolation:isolate;backdrop-filter:none;pointer-events:none;opacity:var(--top-chrome-opacity,1);will-change:opacity;background-color:#0000;border-bottom:0;transition:none;position:fixed;top:0;left:0;right:0}.site-header--video-surface:before{content:"";height:calc(var(--top-chrome-bottom) + (var(--page-padding) * 1.005));background:linear-gradient(180deg, var(--header-video-surface-top) 0%, var(--header-video-surface-mid) 100%, #03040600 100%, #03040600 100%);opacity:var(--header-video-surface-opacity,0);pointer-events:none;transition:opacity 45ms linear;position:absolute;inset:0 0 auto}body.is-header-over-content,body.page-home.is-landing-vacuum-suppressed{--header-video-surface-opacity:1}body.is-header-over-content{--landing-vacuum-persistent-opacity:.18;--landing-vacuum-project-preview-opacity:.22}body.is-header-over-content .site-header--video-surface:before,body.page-home.is-landing-vacuum-suppressed .site-header--video-surface:before{height:calc(var(--top-chrome-bottom) + var(--page-padding));background:var(--header-video-surface-top)}body.page-home.is-booted .site-header,body.page-home.is-booted .site-pinned-logo,body.page-home.is-booted .site-link,body.page-home.is-booted .theme-toggle{opacity:1}.site-header__inner{width:calc(100% - (var(--page-padding) * 2));max-width:none;min-height:0;padding-top:var(--page-padding);z-index:1;justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:relative}.site-header__inner--nav-only{justify-content:flex-end;align-items:flex-start}.site-header__nav{justify-content:flex-end;align-items:center;gap:clamp(.3rem,.8vw,.5rem);min-width:0;max-width:100%;display:flex}.site-header__contact-group{white-space:nowrap;align-items:center;gap:clamp(.38rem,.9vw,.64rem);display:inline-flex}.is-header-stacked .site-header__inner--nav-only{padding-top:var(--header-nav-stacked-offset,var(--page-padding));justify-content:flex-start}.is-header-stacked .site-header__nav{flex-wrap:wrap;row-gap:clamp(.22rem,.9vw,.62rem);max-width:min(100%,22rem)}.site-brand{font-size:calc(1.1rem * var(--type-scale));letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.site-pinned-logo{left:var(--page-padding);top:var(--page-padding);z-index:70;color:var(--ink-0);font-family:Roboto,Helvetica Neue,sans-serif;font-size:var(--header-control-font-size);letter-spacing:0;text-transform:uppercase;white-space:nowrap;opacity:var(--top-chrome-opacity,1);will-change:opacity;pointer-events:auto;margin:0;font-weight:700;line-height:1;text-decoration:none;transition:none;display:block;position:fixed}body.page-home .site-pinned-logo,body.page-home .site-link{color:#fff}.js[data-theme=dark] .is-booted .site-header,.js .is-booted .site-pinned-logo{transition:opacity var(--top-chrome-opacity-transition-ms,.16s) ease-out}.site-link{min-height:0;font-family:Roboto,Helvetica Neue,sans-serif;font-size:var(--header-control-font-size);letter-spacing:0;text-transform:uppercase;color:var(--interactive-ink);box-shadow:none;cursor:pointer;pointer-events:auto;background-color:#0000;border:0;border-radius:0;justify-content:center;align-items:center;gap:.02em;padding:0;font-weight:700;line-height:1;text-decoration:none;transition:color .22s,opacity .22s,transform .22s;display:inline-flex}.site-link:before,.site-link:after{content:"";font-style:normal}.site-link--projects{transition:color .22s,opacity .22s,transform .22s}.js[data-theme=dark] .is-booting .site-header,.js .is-booting .site-pinned-logo{opacity:0;transition:none}.js.skip-preloader[data-theme=dark] .page-home.is-booting .site-header,.js.skip-preloader .page-home.is-booting .site-pinned-logo{opacity:var(--top-chrome-opacity,1)}.js.skip-preloader .site-preloader{display:none}.js .page-home.is-preloader-scrolling .site-header{z-index:70;opacity:1;transition:none}.js .page-home.is-preloader-scrolling .site-pinned-logo{opacity:var(--preloader-title-handoff-progress,0);pointer-events:none;transition:none}.js .page-home.is-preloader-handoff-complete .site-pinned-logo{opacity:1;transition:none}.site-link:hover,.site-link:focus-visible{color:var(--interactive-ink);opacity:1;transform:none}body.page-home .site-link:hover,body.page-home .site-link:focus-visible{color:#fff}.site-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.theme-toggle{width:var(--theme-toggle-width);height:var(--theme-toggle-height);color:inherit;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;--theme-toggle-thumb-inset-x:var(--theme-toggle-pad);--theme-toggle-thumb-height:calc(var(--theme-toggle-height) - (var(--theme-toggle-pad) * 2));--theme-toggle-thumb-travel:calc(var(--theme-toggle-width) - var(--theme-toggle-thumb-width) - (var(--theme-toggle-thumb-inset-x) * 2));background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.theme-toggle:before{content:"";position:absolute;inset:-.95rem -.25rem}.theme-toggle__track{border:1px solid var(--theme-toggle-track-border);border-radius:inherit;background:var(--theme-toggle-track-bg);width:100%;height:100%;transition:background-color .18s,border-color .18s;display:block;position:relative;overflow:hidden}.theme-toggle__thumb{top:50%;left:var(--theme-toggle-thumb-inset-x);width:var(--theme-toggle-thumb-width);height:var(--theme-toggle-thumb-height);background:var(--theme-toggle-thumb-bg);border:0;border-radius:999px;transition:background-color .18s;position:absolute;transform:translateY(-50%)}html[data-theme=dark] .theme-toggle__thumb,.theme-toggle[aria-pressed=true] .theme-toggle__thumb{transform:translate3d(var(--theme-toggle-thumb-travel), -50%, 0)}.theme-toggle:hover .theme-toggle__track,.theme-toggle:focus-visible .theme-toggle__track{border-color:var(--theme-toggle-track-border-hover)}.theme-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.contact-modal{z-index:120;opacity:0;align-items:center;padding:clamp(.9rem,2vw,1.8rem);transition:opacity .42s;display:grid;position:fixed;inset:0}.contact-modal[hidden]{display:none}.contact-modal[data-state=open]{opacity:1}.contact-modal__backdrop{background:var(--modal-overlay);opacity:0;transition:opacity .18s;position:absolute;inset:0}.contact-modal[data-state=open] .contact-modal__backdrop{opacity:1}.contact-modal__viewport{z-index:1;isolation:isolate;opacity:0;width:min(100%,43rem);margin:0 auto;transition:opacity .18s,transform .22s cubic-bezier(.22,.84,.24,1);position:relative;transform:translateY(.7rem)scale(.985)}.contact-modal[data-state=open] .contact-modal__viewport{opacity:1;transform:translate(0,0)scale(1)}.contact-modal__panel{z-index:1;isolation:isolate;width:100%;max-height:min(100svh - clamp(1.8rem,5vw,3rem),45rem);color:var(--modal-ink);background:linear-gradient(360deg, var(--modal-surface-strong) 0%, var(--modal-surface) 0%);box-shadow:0rem 0rem 0rem 0 var(--modal-shadow);overscroll-behavior:auto;border-radius:clamp(1.45rem,3vw,2.3rem);display:grid;position:relative;overflow:auto}.contact-modal__panel:before,.contact-modal__panel:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0}.contact-modal__panel:before{display:none}.contact-modal__panel:after{background:radial-gradient(circle at top left, var(--modal-sheen) 0%, transparent 100%);opacity:.8;inset:1px}.contact-modal__close{z-index:2;width:auto;height:auto;color:var(--modal-ink);box-shadow:none;backdrop-filter:none;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:.22rem;transition:opacity .18s,transform .18s;display:inline-flex;position:absolute;top:clamp(.85rem,2vw,1.1rem);right:clamp(.85rem,2vw,1.1rem)}.contact-modal__close span,.contact-modal__close span:before,.contact-modal__close span:after{background:currentColor;width:.84rem;height:1.5px;display:block}.contact-modal__close span{background:0 0;position:relative}.contact-modal__close span:before,.contact-modal__close span:after{content:"";position:absolute;top:0;left:0}.contact-modal__close span:before{transform:rotate(45deg)}.contact-modal__close span:after{transform:rotate(-45deg)}.contact-modal__close:hover,.contact-modal__close:focus-visible{opacity:.68;transform:translateY(-1px)}.contact-modal__close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.contact-modal__body{z-index:1;padding:clamp(1.35rem,2.8vw,1.85rem) clamp(1.15rem,3vw,1.7rem) clamp(1.15rem,2.6vw,1.55rem);position:relative}.site-main{width:min(var(--max-width), calc(100% - (var(--page-padding) * 2)));padding:var(--page-padding) 0 1rem;margin:0 auto}body.page-home .site-main{width:100%;max-width:none;margin:0;padding-top:0}.js:not(.skip-preloader){--preloader-scroll-offset:var(--preloader-scroll-distance)}.landing-stage{isolation:isolate;min-height:0;position:relative;overflow:clip}.preloader-scroll-runway{height:var(--preloader-scroll-offset);pointer-events:none}.preloader-scroll-end{pointer-events:none;height:0}@supports not (overflow:clip){.landing-stage{overflow:hidden}}.landing-vacuum-stack{top:var(--preloader-scroll-offset);z-index:0;pointer-events:none;width:100%;min-height:var(--landing-vacuum-continuation-frame-height);position:absolute;left:0}.landing-vacuum{--landing-vacuum-section-height:var(--landing-vacuum-secondary-height);min-height:var(--landing-vacuum-section-height);isolation:isolate;align-items:end;padding:0;display:grid;position:relative;overflow:hidden}.landing-vacuum--primary{width:100%;height:var(--landing-vacuum-primary-frame-height);--landing-vacuum-section-height:var(--landing-vacuum-primary-frame-height);--landing-vacuum-media-opacity:0;max-height:var(--landing-vacuum-primary-frame-max-height);z-index:2;position:absolute;inset:0 0 auto}.js .page-home.is-preloader-scrolling .landing-vacuum--primary{width:100%;height:var(--landing-vacuum-primary-frame-height);--landing-vacuum-media-opacity:var(--landing-vacuum-intro-opacity);max-height:none;position:fixed;inset:0 0 auto}.js .page-home.is-preloader-scrolling .landing-vacuum--primary .landing-vacuum__media,.landing-vacuum--primary .landing-vacuum__media{transition:none}.landing-vacuum--continuation{--landing-vacuum-section-height:var(--landing-vacuum-continuation-frame-height);--landing-vacuum-media-opacity:0;max-height:var(--landing-vacuum-continuation-frame-max-height);z-index:1;position:relative}.js .page-home.is-preloader-handoff-complete .landing-vacuum--continuation,.js .page-home.is-preloader-skipped .landing-vacuum--continuation{--landing-vacuum-section-height:100dvh;--landing-vacuum-media-opacity:var(--landing-vacuum-persistent-opacity);width:100%;height:100dvh;min-height:30dvh;max-height:none;position:fixed;inset:0}.landing-vacuum__media{width:min(100%, var(--landing-vacuum-boundary-max-width));z-index:0;pointer-events:none;opacity:var(--landing-vacuum-media-opacity,1);will-change:opacity, transform;transition:none;position:absolute;top:0;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}.landing-vacuum[data-landing-vacuum-preview-state=active]{--landing-vacuum-media-opacity:var(--landing-vacuum-project-preview-opacity)}.landing-vacuum[data-landing-vacuum-preview-state=active] .landing-vacuum__asset-layer{transition-duration:var(--landing-vacuum-project-preview-fade-duration);transition-timing-function:ease-out}.landing-vacuum--primary[data-landing-vacuum-preview-state=active]{--landing-vacuum-media-opacity:1}.landing-vacuum--primary[data-landing-vacuum-preview-state=active] .landing-vacuum__asset-layer{transition-duration:var(--landing-vacuum-project-preview-fade-duration);transition-timing-function:ease-out}.js .page-home.is-landing-vacuum-suppressed .landing-vacuum--continuation{--landing-vacuum-media-opacity:0}.js .page-home.is-landing-vacuum-suppressed .landing-vacuum--continuation[data-landing-vacuum-preview-state=active]{--landing-vacuum-media-opacity:var(--landing-vacuum-project-preview-opacity)}.landing-vacuum__media:after{content:"";z-index:3;background:linear-gradient(180deg, var(--landing-vacuum-header-wash-start) 0%, var(--landing-vacuum-header-wash-mid) calc(var(--landing-vacuum-top-offset) * .64), var(--landing-vacuum-header-wash-end) calc(var(--landing-vacuum-top-offset) + 4rem), var(--landing-vacuum-clear-wash) 52%, var(--landing-vacuum-body-wash-end) 100%);pointer-events:none;position:absolute;inset:0}.landing-vacuum--primary .landing-vacuum__media:after{content:none}.landing-vacuum--continuation .landing-vacuum__media:after{background:linear-gradient(180deg, var(--landing-vacuum-body-wash-end) 0%, var(--landing-vacuum-clear-wash) 18%, var(--landing-vacuum-clear-wash) 62%, var(--landing-vacuum-body-wash-end) 100%)}.landing-vacuum__asset-layer{width:100%;height:100%;transform:scale(var(--landing-vacuum-media-scale,1));transform-origin:50%;opacity:0;z-index:0;will-change:opacity;transition:opacity var(--landing-vacuum-video-crossfade-duration) ease-in-out;display:block;position:absolute;inset:0}.landing-vacuum__asset-media{position:absolute;inset:0;overflow:hidden}.landing-vacuum__asset-media>img,.landing-vacuum__asset-media>video{object-fit:var(--landing-vacuum-media-fit,cover);object-position:var(--landing-vacuum-media-position-x,50%) var(--landing-vacuum-media-position-y,50%);width:100%;height:100%;display:block;position:absolute;inset:0}.landing-vacuum__asset-media>[data-landing-vacuum-media-primary]{z-index:1}.landing-vacuum__asset-media>[data-landing-vacuum-media-mirror]{z-index:0;display:none}.landing-vacuum__asset-layer[data-landing-vacuum-media-state=active]{opacity:1;z-index:2}.landing-vacuum[data-landing-vacuum-preview-state=active] .landing-vacuum__asset-layer[data-landing-vacuum-media-state=active]{opacity:1}.js .is-booted .landing-vacuum__media{transition:opacity var(--top-chrome-opacity-transition-ms,.16s) ease-out}.js .page-home.is-booting .landing-vacuum__media{opacity:0}.js.skip-preloader .page-home.is-booting .landing-vacuum__media{opacity:var(--landing-vacuum-media-opacity,1)}.landing-content{z-index:1;width:auto;min-height:100svh;max-width:var(--max-width);padding-top:var(--projects-content-top-clearance);margin-inline-start:var(--page-padding);margin-inline-end:var(--page-padding);display:grid;position:relative}.landing-content__separator{pointer-events:none;height:clamp(6rem,12vw,12rem)}.js:not(.skip-preloader) .page-home .landing-content{opacity:var(--landing-content-handoff-progress,0);will-change:opacity}body.is-projects-below-header .projects-table,body.is-projects-below-header .projects-table__row-link{width:100%;max-width:100%}.js:not(.skip-preloader) .page-home.is-preloader-scrolling .landing-content{pointer-events:none}.landing-intro{--landing-title-opacity:1;min-height:calc(100vh - (var(--page-padding) * 1.25));align-content:start;gap:var(--section-gap);grid-template-rows:auto auto 1fr;padding:0 0 1rem;display:grid}.landing-intro__content{top:var(--page-padding);z-index:3;pointer-events:none;gap:0;display:grid;position:sticky}.landing-intro__title{font-size:calc(clamp(2.9rem, 5.6vw, 4.6rem) * var(--type-scale));letter-spacing:-.07em;text-transform:uppercase;opacity:var(--landing-title-opacity);will-change:opacity;font-weight:700;line-height:.88}.js .page-home.is-booting .landing-intro__title{opacity:0}.landing-intro__sections{gap:clamp(1.8rem,4vw,3rem);max-width:min(100%,980px);display:grid}.landing-intro__block{gap:var(--tight-gap);display:grid}.landing-intro__block-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;display:grid}.landing-intro__block-lead{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:clamp(1rem,3vw,2.5rem);display:grid}.landing-intro__block-number{font-size:calc(clamp(1.6rem, 3vw, 2.2rem) * var(--type-scale));letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.landing-intro__block-title{font-size:calc(clamp(2rem, 4.8vw, 3.35rem) * var(--type-scale));letter-spacing:-.065em;text-transform:uppercase;font-weight:700;line-height:.9}.landing-intro__block-title a,.landing-intro__block-page,.landing-intro__list-link{text-decoration:none}.landing-intro__block-page{font-size:calc(clamp(2rem, 4.2vw, 3.1rem) * var(--type-scale));letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-weight:700;line-height:.88}.landing-intro__list{gap:.35rem;margin:0;padding-left:clamp(5rem,10vw,8rem);display:grid}.landing-intro__list-link{font-size:calc(clamp(1rem, 1.75vw, 1.45rem) * var(--type-scale));color:var(--ink-1);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:1.1rem;line-height:1.12;display:grid}.landing-intro__list-link span:last-child{font-variant-numeric:tabular-nums}.landing-intro__list-link:hover,.landing-intro__list-link:focus-visible{color:var(--ink-0)}.landing-intro__location{font-size:calc(.98rem * var(--type-scale));letter-spacing:-.02em;text-transform:uppercase;place-self:end;font-weight:700;line-height:1}.table-section{--projects-table-ink:var(--ink-0);--projects-table-muted:var(--ink-1);--projects-table-subtle:var(--ink-2);--projects-table-divider:var(--line);--projects-table-focus-ring:var(--focus-ring);scroll-margin-top:var(--page-padding);color:var(--projects-table-ink);color-scheme:inherit;padding-top:clamp(2.8rem,7vw,5.8rem);padding-bottom:clamp(3rem,6vw,4.8rem);transition:color .22s}body.is-projects-below-header .table-section{scroll-margin-top:var(--projects-content-top-clearance)}body.page-home .landing-content>.table-section{padding-top:clamp(1.05rem,3vw,2.4rem);padding-bottom:clamp(1rem,2.4vw,2rem)}.table-section__intro{border-bottom:1px solid var(--projects-table-divider);justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:clamp(1.2rem,2.6vw,2.2rem);padding-bottom:clamp(.78rem,1.4vw,1.05rem);transition:border-color .22s;display:flex}.table-section__chapter-page{font-variant-numeric:tabular-nums;font-size:calc(clamp(.76rem, .9vw, .88rem) * var(--type-scale) * var(--detail-type-scale));letter-spacing:.18em;text-transform:uppercase;color:var(--projects-table-subtle);margin:0;font-weight:500}.table-section__chapter-title{font-size:calc(clamp(1.2rem, 7vw, 2.5rem) * var(--type-scale));letter-spacing:-.075em;text-transform:uppercase;color:var(--projects-table-ink);margin:0;font-weight:600;line-height:.85;transition:color .22s}.projects-table__scroller{overflow:visible}.projects-table{width:fit-content;max-width:100%;margin:0;padding:2px;list-style:none}.projects-table__row{position:relative}.projects-table__row:last-child{border-bottom:0}.projects-table__row-link{z-index:1;width:fit-content;color:var(--projects-table-ink);grid-template-columns:minmax(3.8rem,max-content) minmax(0,max-content);grid-template-areas:"year content";align-items:center;gap:0 clamp(.9rem,2vw,2.3rem);padding:clamp(1.05rem,2.2vw,1.8rem) 16px;text-decoration:none;transition:transform .22s,color .22s,background-color .22s,box-shadow .22s;display:grid;position:relative}.projects-table__row-link:focus-visible{outline:1px solid var(--projects-table-focus-ring);outline-offset:-1px}.projects-table__year{font-variant-numeric:tabular-nums;font-size:calc(clamp(1rem, .75vw, 1.58rem) * var(--type-scale) * var(--detail-type-scale));letter-spacing:.15em;text-transform:uppercase;color:var(--projects-table-muted);grid-area:year;align-self:center;margin:0;font-weight:600;transition:color .22s}.projects-table__title-meta{flex-wrap:nowrap;grid-area:content;justify-content:flex-start;justify-self:start;align-items:center;gap:clamp(.32rem,.95vw,.7rem);min-width:0;display:flex}.projects-table__client{font-size:calc(clamp(1.9rem, 4.8vw, 4.2rem) * var(--type-scale));letter-spacing:-.066em;text-wrap:balance;color:var(--projects-table-ink);flex:none;margin:0;font-weight:600;line-height:.84;transition:color .22s}.projects-table__meta{flex-direction:column;flex:none;justify-content:flex-start;align-items:flex-start;gap:.001rem;min-width:0;padding-top:7.5px;display:flex}.projects-table__tipologia,.projects-table__modalidad,.projects-table__ubicacion{font-family:Roboto,Helvetica Neue,sans-serif;line-height:1;font-size:calc(clamp(.78rem, .92vw, .92rem) * var(--type-scale) * var(--detail-type-scale));letter-spacing:.02em;color:var(--projects-table-muted);white-space:nowrap;margin:0;font-weight:600;transition:color .22s}.projects-table__tipologia{text-transform:none}.projects-table__modalidad{letter-spacing:.015em}.projects-table__ubicacion{letter-spacing:.012em;align-self:flex-start}.projects-table__row:nth-child(2) .projects-table__client{letter-spacing:-.064em;font-weight:580}.projects-table__row:nth-child(3) .projects-table__client{letter-spacing:-.068em;font-weight:600}.projects-table__row:hover .projects-table__row-link,.projects-table__row:focus-within .projects-table__row-link{box-shadow:none;background-color:#0000;transform:translate(.34rem)}.projects-table__row:hover,.projects-table__row:focus-within{z-index:2}.projects-table__row:hover .projects-table__tipologia,.projects-table__row:focus-within .projects-table__tipologia,.projects-table__row:hover .projects-table__modalidad,.projects-table__row:focus-within .projects-table__modalidad,.projects-table__row:hover .projects-table__ubicacion,.projects-table__row:focus-within .projects-table__ubicacion{color:var(--projects-table-ink)}.projects-section{padding-top:2.4rem}.projects-section__intro{margin-bottom:1rem}.projects-section__eyebrow{color:var(--ink-2);text-transform:uppercase;letter-spacing:.18em;font-size:calc(.73rem * var(--type-scale) * var(--detail-type-scale));margin-bottom:.35rem}.projects-section h2{font-size:calc(1.5rem * var(--type-scale));letter-spacing:-.04em;font-weight:700}.projects-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none;display:grid}.projects-list__item{border-bottom:1px solid var(--line)}.project-row{color:var(--ink-0);grid-template-columns:minmax(12rem,28vw) minmax(0,1fr);align-items:stretch;gap:clamp(1rem,2.4vw,2.2rem);padding:clamp(1rem,2.2vw,1.55rem) 0;text-decoration:none;transition:transform .24s,color .22s;display:grid}.project-row:hover,.project-row:focus-visible{color:var(--ink-0);transform:translate(.34rem)}.project-row__media{aspect-ratio:16/10;background-color:var(--surface-card);align-self:center;margin:0;overflow:hidden}.project-row__media img{object-fit:cover;width:100%;height:100%;transition:transform .42s;display:block}.project-row:hover .project-row__media img,.project-row:focus-visible .project-row__media img{transform:scale(1.026)}.project-row__content{grid-template-columns:minmax(0,1fr) minmax(13rem,.58fr);align-items:end;gap:clamp(1rem,2vw,2rem);min-width:0;display:grid}.project-row__heading{min-width:0}.project-row__year{font-size:calc(.76rem * var(--type-scale) * var(--detail-type-scale));font-variant-numeric:tabular-nums;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin:0 0 .42rem;font-weight:600}.project-row__heading h3{font-size:calc(clamp(1.55rem, 3.4vw, 3.1rem) * var(--type-scale));letter-spacing:-.06em;margin:0;font-weight:600;line-height:.92}.project-row__summary{max-width:56ch;color:var(--ink-1);font-size:calc(.92rem * var(--type-scale));margin:.7rem 0 0;line-height:1.45}.project-row__meta{gap:.42rem;margin:0;display:grid}.project-row__meta div{grid-template-columns:minmax(4.4rem,max-content) minmax(0,1fr);align-items:baseline;gap:.8rem;display:grid}.project-row__meta dt,.project-row__meta dd{font-size:calc(.78rem * var(--type-scale) * var(--detail-type-scale));margin:0;line-height:1.18}.project-row__meta dt{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-weight:700}.project-row__meta dd{color:var(--ink-1);font-weight:500}.contact-section{--contact-section-type-scale:.752;align-items:start;min-height:auto;padding-top:clamp(.65rem,1.8vw,1.3rem);display:grid}.contact-section--modal{align-items:start;min-height:auto;padding-top:0}.contact-section__content{gap:clamp(.5rem,1.4vw,.9rem);width:min(100%,36rem);display:grid}.contact-section--modal .contact-section__content{width:min(100%,31rem)}.contact-section--modal .contact-section__title,.contact-section--modal .contact-section__details{color:var(--modal-ink)}.contact-section--modal .contact-section__details{font-weight:700}.contact-section__content[data-align=right]{text-align:right;justify-self:end}@media (width>=1600px){.landing-content{width:calc(100% - (var(--landing-wide-gutter) * 2));max-width:var(--landing-wide-max-width);margin-inline:auto}.table-section,.projects-table__scroller,.projects-table,.projects-table__row,.projects-table__row-link,.contact-section{width:100%;max-width:none}.projects-table{width:100%}.projects-table__row-link{grid-template-columns:minmax(3.8rem,max-content) minmax(0,1fr);column-gap:clamp(.9rem,1.25vw,1.75rem);padding-inline:clamp(1rem,1.4vw,2rem)}.projects-table__title-meta{gap:clamp(.32rem,.7vw,.8rem);width:auto;display:flex}.projects-table__meta{text-align:left;justify-self:auto;align-items:flex-start}.projects-table__ubicacion{align-self:flex-start}.contact-section{--contact-section-type-scale:.92}.contact-section:not(.contact-section--modal) .contact-section__content{width:100%;max-width:none}.contact-section:not(.contact-section--modal) .contact-section__content[data-align=left]>*{text-align:left;justify-self:start}.contact-section:not(.contact-section--modal) .contact-section__content[data-align=right]>*{text-align:right;justify-self:end}}.contact-section__title{font-size:calc(clamp(1rem, 3.1vw, 1.8rem) * var(--type-scale) * var(--contact-type-scale) * var(--contact-section-type-scale));letter-spacing:-.065em;text-transform:uppercase;font-weight:700;line-height:.88}.contact-section__details{font-size:calc(clamp(.9rem, 1.55vw, 1.15rem) * var(--type-scale) * var(--contact-type-scale) * var(--contact-section-type-scale));letter-spacing:-.022em;gap:clamp(.08rem,.45vw,.16rem);margin:0;font-style:normal;font-weight:400;line-height:1.16;display:grid}.contact-section__details a{border-bottom:1px solid #0000;text-decoration:none;transition:border-color .18s}.contact-section__details a:hover,.contact-section__details a:focus-visible{border-color:currentColor}.project-page--with-top-chrome{padding-top:clamp(2.8rem,5vw,3.9rem)}.project-sheet{--project-sheet-paper:var(--project-detail-surface,var(--bg-0));--project-sheet-ink:var(--project-detail-ink,var(--ink-0));--project-sheet-muted:var(--project-detail-muted,var(--ink-2));--project-sheet-line:var(--project-detail-line,var(--line));width:min(100%,1580px);color:var(--project-sheet-ink);margin:0 auto}.project-sheet__overview{background-color:#0000;grid-template-columns:minmax(0,2fr) minmax(0,3fr);min-height:calc(100svh - clamp(3.8rem,7vw,6rem));display:grid;overflow:hidden}.project-sheet__information{flex-direction:column;justify-content:center;min-width:0;padding:clamp(2.2rem,5vw,5.4rem) clamp(1.4rem,3.6vw,3.8rem);display:flex;container-type:inline-size}.project-sheet__information h1{max-width:13ch;font-size:calc(clamp(2.1rem, 12cqi, 5.2rem) * var(--type-scale) * .7);letter-spacing:0;text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere;margin:0;font-weight:900;line-height:.92}.project-sheet__metadata{gap:clamp(.8rem,1.6vh,1.25rem);width:min(100%,34rem);margin:clamp(2rem,5vh,4.5rem) 0 0;display:grid}.project-sheet__metadata>div{grid-template-columns:clamp(4.6rem,28%,7.5rem) minmax(0,1fr);align-items:baseline;gap:clamp(.7rem,1.8vw,1.4rem);display:grid}.project-sheet__metadata dt,.project-sheet__metadata dd{margin:0;line-height:1.12}.project-sheet__metadata dt{color:var(--project-sheet-muted);font-size:calc(.82rem * var(--type-scale) * var(--detail-type-scale));letter-spacing:.035em;text-transform:uppercase;font-weight:800}.project-sheet__metadata dd{min-width:0;color:var(--project-sheet-ink);font-size:calc(.92rem * var(--type-scale) * var(--detail-type-scale));overflow-wrap:anywhere;font-weight:700}.project-sheet__metadata-row--year dd{font-size:calc(1.18rem * var(--type-scale) * var(--detail-type-scale));font-weight:900}.project-sheet__description{width:100%;max-width:58ch;color:var(--project-sheet-muted);font-size:calc(.9rem * var(--type-scale) * var(--detail-type-scale));text-align:justify;text-justify:inter-word;text-wrap:pretty;hyphens:auto;overflow-wrap:break-word;margin:clamp(1.9rem,4vh,3.5rem) 0 0;line-height:1.46}.project-sheet__media-pane{align-self:start;min-width:0;min-height:0;padding:clamp(1rem,3vw,3.2rem)}.project-media{--project-media-navigation-gutter:clamp(2.4rem, 3.6vw, 3.8rem);outline:none;width:100%;height:clamp(31rem,69svh,56rem);min-height:0;position:relative}.project-media__viewport{inset:0 var(--project-media-navigation-gutter);background:0 0;position:absolute;overflow:hidden}.project-media__slide{visibility:hidden;opacity:0;pointer-events:none;margin:0;transition:opacity .22s,visibility .22s;position:absolute;inset:0}.project-media__slide.is-active{visibility:visible;opacity:1;pointer-events:auto}.project-media__slide img,.project-media__slide video{object-fit:contain;object-position:center;background:var(--project-sheet-paper);width:100%;height:100%;display:block}.project-media__image-trigger,.project-media__video-trigger{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative}.project-media__video-trigger video{object-fit:contain;background:var(--project-sheet-paper);pointer-events:none}.project-media__video-indicator{z-index:1;color:#fff;text-shadow:0 1px 12px #0000009e;pointer-events:none;font-size:clamp(1.1rem,2vw,1.7rem);line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-media__image-trigger:focus-visible,.project-media__video-trigger:focus-visible{outline:1px solid var(--project-sheet-ink);outline-offset:-.4rem}.project-media__control{z-index:2;width:var(--project-media-navigation-gutter);height:3.6rem;color:var(--project-sheet-ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:opacity .16s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.project-media__control span{font-size:calc(clamp(1.8rem, 2.7vw, 2.6rem) * var(--type-scale));font-weight:400;line-height:1;display:block}.project-media__control--previous{left:0;transform:translateY(-50%)}.project-media__control--next{right:0;transform:translateY(-50%)}.project-media__control:hover,.project-media__control:focus-visible{opacity:.48}.project-media__control:focus-visible{outline-offset:.18rem;outline:1px solid}.project-media:focus-visible{outline:1px solid var(--project-sheet-ink);outline-offset:.35rem}.project-media__counter{left:calc(var(--project-media-navigation-gutter) + clamp(.7rem, 1.4vw, 1.1rem));z-index:2;background:color-mix(in srgb, var(--project-sheet-paper) 86%, transparent);font-size:calc(.64rem * var(--type-scale) * var(--detail-type-scale));letter-spacing:.04em;margin:0;padding:.34rem .5rem;font-weight:800;line-height:1;position:absolute;bottom:clamp(.7rem,1.4vw,1.1rem)}.project-media__empty{border:1px solid var(--project-sheet-line);height:100%;color:var(--project-sheet-muted);font-size:calc(.7rem * var(--type-scale));place-items:center;margin:0;font-weight:800;display:grid}.is-project-lightbox-open{scrollbar-gutter:stable;overflow:hidden}.project-media-lightbox{--project-lightbox-navigation-width:clamp(4.75rem, 6vw, 6.5rem);color:#f7f7f4;background:#121212f0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(1.2rem,3vw,3.4rem);position:fixed;inset:0;overflow:hidden}.project-media-lightbox::backdrop{background:0 0}.project-media-lightbox:not([open]){display:none}.project-media-lightbox__figure{pointer-events:none;place-items:center;width:100%;height:100%;margin:0;display:grid}.project-media-lightbox__figure img,.project-media-lightbox__figure video{object-fit:contain;pointer-events:auto;width:0;height:0;display:block}.project-media-lightbox__figure video{background:#000}.project-media-lightbox__figure [hidden]{display:none}.project-media-lightbox__navigation{z-index:1;width:var(--project-lightbox-navigation-width);color:currentColor;opacity:0;pointer-events:none;cursor:pointer;background:0 0;border:0;align-items:center;height:clamp(7rem,22vh,13rem);padding:clamp(.45rem,.8vw,.75rem);transition:opacity .24s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.project-media-lightbox__navigation--previous{left:max(4rem, env(safe-area-inset-left,0px));justify-content:center}.project-media-lightbox__navigation--next{right:max(4rem, env(safe-area-inset-right,0px));justify-content:center}.project-media-lightbox[data-project-lightbox-media-ready=true] .project-media-lightbox__navigation{pointer-events:auto}.project-media-lightbox__navigation span{font-size:clamp(2rem,3.4vw,3.2rem);font-weight:400;line-height:1}.project-media-lightbox__navigation:hover,.project-media-lightbox__navigation:focus-visible{opacity:1}.project-media-lightbox__navigation:focus-visible{outline-offset:-1rem;outline:1px solid}@media (hover:none){.project-media-lightbox__navigation{--project-lightbox-navigation-width:4rem;top:0;bottom:max(3.5rem, env(safe-area-inset-bottom,0px));opacity:.72;touch-action:manipulation;-webkit-tap-highlight-color:transparent;height:auto;padding:.55rem;transform:none}.project-media-lightbox__navigation--previous{width:min(45vw, max(var(--project-lightbox-navigation-width), var(--project-lightbox-media-left,0px)));left:0}.project-media-lightbox__navigation--next{width:min(45vw, max(var(--project-lightbox-navigation-width), calc(100vw - var(--project-lightbox-media-right,calc(100vw - var(--project-lightbox-navigation-width))))));right:0}.project-media-lightbox__navigation span{font-size:2rem}}.project-media-lightbox__close{z-index:2;color:currentColor;cursor:pointer;background:0 0;border:0;place-items:center;width:1.55rem;height:1.55rem;padding:0;transition:opacity .16s;display:grid;position:absolute;top:clamp(.55rem,1.2vw,1rem);right:clamp(.55rem,1.2vw,1rem)}.project-media-lightbox__close span{font-size:1rem;font-weight:400;line-height:1}.project-media-lightbox__close:hover,.project-media-lightbox__close:focus-visible{opacity:.52}.project-media-lightbox__close:focus-visible{outline-offset:.1rem;outline:1px solid}.site-preloader{z-index:60;pointer-events:none;opacity:1;visibility:visible;contain:layout paint;--preloader-final-left:var(--page-padding);--preloader-final-top:var(--page-padding);--preloader-title-size:clamp(5.5rem, 14vw, 7rem);--preloader-start-scale:1;--preloader-final-scale:1;--preloader-tracking-start:-.04em;--preloader-tracking-end:-.07em;--preloader-target-vector-x:calc(var(--preloader-final-left) - 50vw);--preloader-target-vector-y:calc(var(--preloader-final-top) - 50vh);--preloader-scroll-progress:0;position:fixed;inset:0}.site-preloader.is-scroll-complete{visibility:hidden}.site-preloader__backdrop{background:var(--preloader-surface-start);will-change:opacity, background-color;position:absolute;inset:0}.site-preloader__entry-shell{opacity:1;position:fixed;inset:0}.site-preloader__title-shell{will-change:transform;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.site-preloader__title{color:var(--preloader-title-ink);font-family:Roboto,Helvetica Neue,sans-serif;font-size:calc(var(--preloader-title-size) * var(--type-scale));transform-origin:0 0;transform:scale(var(--preloader-start-scale));opacity:calc(1 - var(--preloader-title-handoff-progress,0));will-change:transform, letter-spacing, color, opacity;white-space:nowrap;letter-spacing:var(--preloader-tracking-start);text-transform:uppercase;pointer-events:none;margin:0;padding-left:0;font-weight:700;line-height:.88;text-decoration:none;display:block}@media (width<=560px){.site-preloader{--preloader-title-size:clamp(2.703rem, 10.27vw, 3.784rem);--preloader-start-scale:.94}}@media (prefers-reduced-motion:reduce){.site-preloader{display:none}}@media (width<=800px){:root{--type-scale:.94;--contact-type-scale:.92;--preloader-scroll-distance:clamp(9rem, 24svh, 14rem);--preloader-title-handoff-start:.78;--preloader-content-handoff-start:.56;--preloader-progress-follow:.28;--landing-vacuum-primary-height:max(0px, calc(100dvh - var(--landing-vacuum-top-offset)));--landing-vacuum-secondary-height:max(0px, calc(100dvh - var(--page-padding)))}.landing-vacuum{padding-bottom:0}.js .page-home.is-landing-vacuum-suppressed .landing-vacuum--primary{--landing-vacuum-media-opacity:0}.landing-vacuum--continuation[data-landing-vacuum-preview-state=active]{visibility:visible;--landing-vacuum-section-height:100dvh;--landing-vacuum-media-opacity:var(--landing-vacuum-project-preview-opacity);width:100%;height:100dvh;min-height:100dvh;max-height:none;position:fixed;inset:0}.landing-vacuum__media{width:100dvw;min-height:100%}.landing-vacuum[data-landing-vacuum-mirror-mobile=true] .landing-vacuum__asset-layer[data-landing-vacuum-media-type=video]{transform:none}.landing-vacuum--continuation[data-landing-vacuum-mirror-mobile=true] .landing-vacuum__asset-layer[data-landing-vacuum-media-type=video] .landing-vacuum__asset-media:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#0506081f 0%,#05060800 24% 76%,#0506082e 100%);position:absolute;inset:0}.landing-vacuum[data-landing-vacuum-mirror-mobile=true] .landing-vacuum__asset-layer[data-landing-vacuum-media-type=video] [data-landing-vacuum-media-mirror]{object-fit:cover;filter:blur(14px)saturate(.82);opacity:.74;display:block;transform:scaleX(-1)scale(1.12)}.landing-vacuum[data-landing-vacuum-mirror-mobile=true] .landing-vacuum__asset-layer[data-landing-vacuum-media-type=video] [data-landing-vacuum-media-primary]{object-fit:contain;transform:scale(1.002)}.table-section__intro{flex-direction:column;align-items:flex-start;gap:.7rem}.projects-table__row-link{grid-template-columns:minmax(3.2rem,max-content) minmax(0,max-content);grid-template-areas:"year content";column-gap:clamp(.72rem,2vw,1.2rem)}.projects-table__title-meta{align-items:center;gap:clamp(.26rem,.85vw,.52rem)}body.is-projects-below-header .projects-table__title-meta{flex-wrap:wrap;row-gap:.42rem}body.is-projects-below-header .projects-table__client,body.is-projects-below-header .projects-table__meta{flex:100%;max-width:100%}body.is-projects-below-header .projects-table__client{overflow-wrap:anywhere}.projects-table__meta{gap:.05rem}.projects-table__client{font-size:calc(clamp(1.6rem, 6.8vw, 3.1rem) * var(--type-scale))}.projects-table__row:hover .projects-table__row-link,.projects-table__row:focus-within .projects-table__row-link{transform:none}.site-main{padding-top:var(--page-padding)}body.page-home .site-main{padding-top:0}.landing-intro{gap:2.6rem;min-height:auto}.landing-intro__content{top:var(--page-padding)}.landing-intro__block-header{grid-template-columns:minmax(0,1fr)}.landing-intro__block-page{justify-self:start}.landing-intro__list{padding-left:clamp(2rem,8vw,4rem)}.project-sheet__overview{grid-template-columns:minmax(0,1fr);min-height:auto;overflow:visible}.project-sheet__information{padding:clamp(3rem,8vw,5rem) clamp(1.4rem,6vw,3.4rem)}.project-sheet__media-pane{min-height:0;padding:clamp(1.4rem,5vw,2.6rem)}.project-media{height:clamp(27rem,72svh,45rem);min-height:0}.contact-section{min-height:auto;padding-top:3rem;padding-bottom:2rem}.contact-section__title{font-size:calc(clamp(2rem, 9vw, 3rem) * var(--type-scale) * var(--contact-type-scale) * var(--contact-section-type-scale))}.contact-section__details{font-size:calc(clamp(1.05rem, 4vw, 1.45rem) * var(--type-scale) * var(--contact-type-scale) * var(--contact-section-type-scale));line-height:1.2}}@media (width<=560px){:root{--type-scale:.88;--contact-type-scale:.86;--preloader-scroll-distance:clamp(8rem, 22svh, 12rem);--preloader-title-handoff-start:.74;--preloader-content-handoff-start:.52;--preloader-progress-follow:.24;--landing-vacuum-primary-height:max(0px, calc(100dvh - var(--landing-vacuum-top-offset)));--landing-vacuum-secondary-height:max(0px, calc(100dvh - var(--page-padding)));--page-padding:.6rem}.landing-vacuum{padding-bottom:0}.table-section{padding-top:2.6rem;padding-bottom:2.2rem}.table-section__chapter-title{font-size:calc(clamp(1.8rem, 10vw, 2.5rem) * var(--type-scale))}.table-section__chapter-page{font-size:calc(.68rem * var(--type-scale) * var(--detail-type-scale));letter-spacing:.12em}.projects-table__row-link{grid-template-columns:minmax(2.2rem,max-content) minmax(0,max-content);grid-template-areas:"year content";align-items:center;gap:0 clamp(.44rem,1.9vw,.9rem);padding:.82rem 0}.projects-table__title-meta{align-items:center;gap:.24rem}.projects-table__meta{gap:.02rem;padding-top:0}.projects-table__year{font-size:calc(.57rem * var(--type-scale) * var(--detail-type-scale));letter-spacing:.1em}.projects-table__client{font-size:calc(clamp(1.22rem, 7.8vw, 2.02rem) * var(--type-scale));line-height:.88}.projects-table__tipologia{font-size:calc(.62rem * var(--type-scale) * var(--detail-type-scale));letter-spacing:.04em}.projects-table__modalidad,.projects-table__ubicacion{font-size:calc(.66rem * var(--type-scale) * var(--detail-type-scale));letter-spacing:.02em}.site-main{padding-bottom:3rem}.site-header__inner{width:calc(100% - (var(--page-padding) * 2))}.site-header__contact-group{gap:.45rem}.landing-intro{gap:2rem}.landing-intro__block-lead{gap:.8rem}.landing-intro__list{padding-left:1.5rem}.landing-intro__list-link{font-size:calc(.98rem * var(--type-scale))}.landing-intro__location{font-size:calc(.84rem * var(--type-scale))}.project-page--with-top-chrome{padding-top:2.8rem}.project-sheet__information{padding:2.6rem 1rem 2.8rem}.project-sheet__information h1{max-width:12ch;font-size:calc(clamp(2rem, 11vw, 3.15rem) * var(--type-scale) * .7)}.project-sheet__metadata{margin-top:2.2rem}.project-sheet__metadata>div{grid-template-columns:4.6rem minmax(0,1fr);gap:.6rem}.project-sheet__description{font-size:calc(.98rem * var(--type-scale));margin-top:2rem;line-height:1.5}.project-sheet__media-pane{padding:1rem}.project-media{aspect-ratio:4/3;height:auto;min-height:0}.contact-section{padding-top:2.6rem;padding-bottom:1.4rem}.contact-section__title{font-size:calc(clamp(1.7rem, 11vw, 2.4rem) * var(--type-scale) * var(--contact-type-scale) * var(--contact-section-type-scale));line-height:.9}.contact-section__details{font-size:calc(clamp(1rem, 4.5vw, 1.3rem) * var(--type-scale) * var(--contact-type-scale) * var(--contact-section-type-scale));letter-spacing:-.015em}}@media (width<=400px),(height<=340px){:root{--type-scale:.85;--detail-type-scale:.74;--contact-type-scale:.78}.table-section__chapter-page,.projects-table__year{letter-spacing:.08em}.projects-table__tipologia,.projects-table__modalidad,.projects-table__ubicacion{letter-spacing:.02em}.contact-section__details{line-height:1.1}}html:has(.project-page--with-top-chrome),body:has(.project-page--with-top-chrome){overscroll-behavior:none;height:100%;overflow:hidden}body:has(.project-page--with-top-chrome){--project-detail-surface:#fff;--project-detail-ink:#111;--project-detail-muted:#1111119e;--project-detail-line:#11111129;--project-detail-header-gap:clamp(1.25rem, 1.8vmin, 1.5rem);--project-detail-bottom-inset:max(var(--page-padding), env(safe-area-inset-bottom,0px));--interactive-ink:var(--project-detail-ink);--focus-ring:color-mix(in srgb, var(--project-detail-ink) 72%, transparent);--theme-toggle-track-bg:transparent;--theme-toggle-track-border:color-mix(in srgb, var(--project-detail-ink) 72%, transparent);--theme-toggle-track-border-hover:var(--project-detail-ink);--theme-toggle-thumb-bg:var(--project-detail-ink);height:100dvh;min-height:0;color:var(--project-detail-ink);background:var(--project-detail-surface)}html[data-theme=dark] body:has(.project-page--with-top-chrome){--project-detail-surface:#000;--project-detail-ink:#fff;--project-detail-muted:#ffffffa3;--project-detail-line:#ffffff2e}body:has(.project-page--with-top-chrome){--header-video-surface-opacity:1}body:has(.project-page--with-top-chrome) .site-header__inner{width:auto;margin-inline:max(var(--page-padding), env(safe-area-inset-left,0px)) max(var(--page-padding), env(safe-area-inset-right,0px));padding-top:max(var(--page-padding), env(safe-area-inset-top,0px))}body:has(.project-page--with-top-chrome) .site-pinned-logo{top:max(var(--page-padding), env(safe-area-inset-top,0px));left:max(var(--page-padding), env(safe-area-inset-left,0px));color:var(--project-detail-ink)}body:has(.project-page--with-top-chrome).is-header-stacked .site-header__inner--nav-only{padding-top:var(--header-nav-stacked-offset,max(var(--page-padding), env(safe-area-inset-top,0px)))}body:has(.project-page--with-top-chrome) .site-header--video-surface:before{height:calc(var(--top-chrome-bottom) + var(--project-detail-header-gap));background:var(--project-detail-surface)}body:has(.project-page--with-top-chrome) .site-main{height:100dvh;padding-top:0;padding-bottom:var(--project-detail-bottom-inset);background:0 0;overflow:hidden}body:has(.project-page--with-top-chrome) .project-page--with-top-chrome{height:100%;min-height:0;padding-top:calc(var(--top-chrome-bottom) + var(--project-detail-header-gap));background:0 0;grid-template-rows:minmax(0,1fr);display:grid}body:has(.project-page--with-top-chrome) .project-sheet__overview{height:auto;min-height:0;overflow:hidden}body:has(.project-page--with-top-chrome) .project-sheet__information{overscroll-behavior-y:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;justify-content:safe center;min-height:0;max-height:100%;padding-block:clamp(1.25rem,4.5dvh,4rem);overflow:hidden auto}body:has(.project-page--with-top-chrome) .project-sheet__information:focus-visible{outline:1px solid var(--project-sheet-ink);outline-offset:-.4rem}body:has(.project-page--with-top-chrome) .project-sheet__metadata{margin-top:clamp(1rem,4dvh,3rem)}body:has(.project-page--with-top-chrome) .project-sheet__description{margin-top:clamp(1rem,3.5dvh,2.5rem)}body:has(.project-page--with-top-chrome) .project-sheet__media-pane{align-self:stretch;align-items:stretch;min-height:0;display:flex}body:has(.project-page--with-top-chrome) .project-media{aspect-ratio:auto;flex:auto;height:auto;min-height:0;max-height:none}@media (width<=800px){html:has(.project-page--with-top-chrome){overscroll-behavior-x:none;overscroll-behavior-y:auto;height:auto;min-height:100%;overflow:hidden auto}body:has(.project-page--with-top-chrome){--project-detail-header-gap:clamp(.75rem, 1.6dvh, 1rem);overscroll-behavior:auto;height:auto;min-height:100dvh;overflow:visible}body:has(.project-page--with-top-chrome) .site-main{height:auto;min-height:100dvh;padding-bottom:var(--project-detail-bottom-inset);overflow:visible}body:has(.project-page--with-top-chrome) .project-page--with-top-chrome{height:auto;min-height:0;display:block}body:has(.project-page--with-top-chrome) .project-sheet__overview{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);height:auto;overflow:visible}body:has(.project-page--with-top-chrome) .project-sheet__information{justify-content:flex-start;justify-self:stretch;width:100%;max-width:none;max-height:none;padding:clamp(1.25rem,3dvh,2rem) clamp(1rem,5vw,1.5rem) clamp(.35rem,1dvh,.65rem);overflow:visible}body:has(.project-page--with-top-chrome) .project-sheet__information h1{font-size:calc(clamp(1.55rem, min(8vw, 5dvh), 3.15rem) * var(--type-scale) * .7)}body:has(.project-page--with-top-chrome) .project-sheet__metadata{gap:clamp(.35rem,1dvh,.7rem);margin-top:clamp(.7rem,2.2dvh,1.25rem)}body:has(.project-page--with-top-chrome) .project-sheet__description{max-width:none;font-size:calc(clamp(.84rem, 3.7vw, .98rem) * var(--type-scale) * var(--detail-type-scale));margin-top:clamp(.7rem,2dvh,1.25rem);line-height:1.46}body:has(.project-page--with-top-chrome) .project-sheet__media-pane{align-self:auto;height:auto;padding:0 clamp(.55rem,2.5vw,1rem) clamp(1.25rem,5vw,2.5rem);display:block}body:has(.project-page--with-top-chrome) .project-media{--project-media-navigation-gutter:clamp(2rem, 8vw, 3rem);aspect-ratio:4/3;flex:none;width:100%;height:auto;min-height:0}}@media (height<=420px) and (width>=801px){body:has(.project-page--with-top-chrome) .project-sheet__overview{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,2fr) minmax(0,3fr)}body:has(.project-page--with-top-chrome) .project-sheet__information{padding:clamp(.65rem,3dvh,1rem)}body:has(.project-page--with-top-chrome) .project-sheet__information h1{font-size:calc(clamp(1.25rem, min(4vw, 7dvh), 2.4rem) * var(--type-scale) * .7)}body:has(.project-page--with-top-chrome) .project-sheet__metadata,body:has(.project-page--with-top-chrome) .project-sheet__description{margin-top:clamp(.55rem,2.2dvh,.9rem)}body:has(.project-page--with-top-chrome) .project-sheet__media-pane{padding:clamp(.45rem,2dvh,.8rem)}}@media (prefers-reduced-motion:reduce){.landing-vacuum__media{display:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation:none!important}}
