:root{--ink:#0a0a0a;--graphite:#1c1c1c;--carbon:#2a2a2a;--steel:#5e5e5e;--concrete:#a3a3a3;--fog:#e6e6e6;--paper:#f7f7f5;--bg:var(--ink);--fg:var(--paper);--fg-muted:var(--concrete);--line-color:color-mix(in srgb, var(--paper) 16%, transparent);--line:1px solid var(--line-color);--grid-color:color-mix(in srgb, var(--paper) 4%, transparent);--photo-filter:grayscale(1) contrast(1.05);--font-display:"Zalando Sans Expanded", "Inter Tight", system-ui, sans-serif;--font-heading:"Zalando Sans SemiExpanded", "Inter Tight", system-ui, sans-serif;--font-accent:"Cal Sans", "Zalando Sans SemiExpanded", system-ui, sans-serif;--font-body:"Inter Tight", system-ui, sans-serif;--font-ui:"Google Sans", "Inter Tight", system-ui, sans-serif;--font-alt:"Raleway", "Inter Tight", system-ui, sans-serif;--font-geo:"Poppins", "Inter Tight", system-ui, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:clamp(1rem, .96rem + .18vw, 1.125rem);--text-lg:clamp(1.125rem, 1.05rem + .35vw, 1.375rem);--text-xl:clamp(1.375rem, 1.2rem + .8vw, 2rem);--text-2xl:clamp(1.75rem, 1.4rem + 1.6vw, 3rem);--text-3xl:clamp(2.25rem, 1.6rem + 3vw, 4.5rem);--text-hero:clamp(2.75rem, 1.4rem + 6.4vw, 8.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-section:clamp(5rem, 3rem + 8vw, 11rem);--gutter:clamp(1rem, 4vw, 3rem);--container:96rem;--header-height:4.5rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.2s;--duration:.45s;--duration-slow:.9s;--z-header:50;--z-menu:60;--z-intro:100}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:linear-gradient(to right, var(--grid-color) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-color) 1px, transparent 1px);background-size:80px 80px;flex-direction:column;margin:0;line-height:1.6;display:flex}h1,h2,h3,h4{text-wrap:balance;margin:0;font-weight:500;line-height:1.1}h1{font-family:var(--font-display)}h2,h3,h4{font-family:var(--font-heading)}p{text-wrap:pretty;margin:0}a{color:inherit}img,svg{max-width:100%;display:block}img{height:auto}button{font:inherit;color:inherit}::selection{background:var(--paper);color:var(--ink)}:focus-visible{outline:2px solid var(--paper);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.site-main{flex:1}.section{padding-block:var(--space-section)}.section+.section{padding-top:0}.section-head{align-items:center;gap:var(--space-4);margin-bottom:var(--space-12);font-family:var(--font-geo);font-size:var(--text-xs);letter-spacing:.25em;text-transform:uppercase;color:var(--fg-muted);grid-template-columns:auto auto 1fr;font-weight:400;display:grid}.section-head__label{font:inherit;letter-spacing:inherit}.section-head__index{font-family:var(--font-accent);font-size:var(--text-sm);letter-spacing:.05em;color:var(--fg)}.section-head__rule{background:var(--line-color);transform-origin:0;height:1px}.section-title{font-size:var(--text-3xl);max-width:18ch;margin-bottom:var(--space-12)}.skip-link{top:var(--space-2);left:var(--space-2);z-index:calc(var(--z-intro) + 1);padding:var(--space-2) var(--space-4);background:var(--paper);color:var(--ink);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{z-index:var(--z-header);height:var(--header-height);transition:transform var(--duration) var(--ease-out), background-color var(--duration) var(--ease-out);position:fixed;inset:0 0 auto}.site-header.is-scrolled{background-color:color-mix(in srgb, var(--ink) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:var(--line)}.site-header.is-hidden{transform:translateY(-100%)}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-6);height:100%;display:flex}.brand{font-family:var(--font-display);letter-spacing:.02em;align-items:center;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.brand__logo{width:auto;height:2rem}.site-nav{align-items:center;gap:var(--space-8);font-family:var(--font-ui);font-size:var(--text-sm);display:flex}.site-nav__links{gap:var(--space-8);margin:0;padding:0;list-style:none;display:flex}.site-nav__links a{text-decoration:none}.lang-switch{gap:var(--space-3);font-family:var(--font-ui);font-size:var(--text-sm);letter-spacing:.08em;display:flex}.lang-switch a{color:var(--fg-muted);transition:color var(--duration-fast);text-decoration:none}.lang-switch a.is-current,.lang-switch a:hover{color:var(--fg)}.menu-toggle{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);letter-spacing:.15em;text-transform:uppercase;background:0 0;border:0;display:none}.menu-toggle__icon{width:1.75rem;height:.6rem;position:relative}.menu-toggle__icon:before,.menu-toggle__icon:after{content:"";height:1px;transition:transform var(--duration) var(--ease-out), top var(--duration) var(--ease-out);background:currentColor;position:absolute;left:0;right:0}.menu-toggle__icon:before{top:0}.menu-toggle__icon:after{top:100%}.menu-toggle[aria-expanded=true] .menu-toggle__icon:before{top:50%;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle__icon:after{top:50%;transform:rotate(-45deg)}@media (max-width:860px){.site-nav__links,.site-nav .lang-switch{display:none}.menu-toggle{display:inline-flex}}.menu{z-index:var(--z-menu);padding:calc(var(--header-height) + var(--space-8)) var(--gutter) var(--space-8);background:var(--ink);visibility:hidden;clip-path:inset(0 0 100%);flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0}.menu.is-open{visibility:visible;clip-path:inset(0)}.menu__links{counter-reset:menu;margin:0;padding:0;list-style:none}.menu__links li{border-bottom:var(--line);overflow:hidden}.menu__links a{align-items:baseline;gap:var(--space-4);padding-block:var(--space-4);font-family:var(--font-display);font-size:var(--text-2xl);text-decoration:none;display:flex}.menu__links a:before{counter-increment:menu;content:counter(menu, decimal-leading-zero);font-family:var(--font-accent);font-size:var(--text-sm);color:var(--fg-muted)}.menu__footer{justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--fg-muted);font-size:var(--text-sm);display:flex}.menu-open .site-header{z-index:calc(var(--z-menu) + 1);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000}.link-underline{text-decoration:none;position:relative}.link-underline:after{content:"";transform-origin:100%;height:1px;transition:transform var(--duration) var(--ease-out);background:currentColor;position:absolute;bottom:-.15em;left:0;right:0;transform:scaleX(0)}.link-underline:hover:after,.link-underline:focus-visible:after{transform-origin:0;transform:scaleX(1)}.btn{align-items:center;gap:var(--space-4);border:1px solid var(--fg);background:var(--fg);color:var(--bg);font-family:var(--font-ui);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background-color var(--duration) var(--ease-out), color var(--duration) var(--ease-out);padding:1rem 1.6rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover,.btn--ghost{color:var(--fg);background:0 0}.btn--ghost:hover{background:var(--fg);color:var(--bg)}.btn__arrow{transition:transform var(--duration) var(--ease-out)}.btn:hover .btn__arrow{transform:translate(.3rem)}.photo{background:var(--graphite);position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%;filter:var(--photo-filter);transition:filter var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);transform:scale(1.02)}:is(a,article):hover .photo img,:is(a,article):focus-within .photo img{filter:none;transform:scale(1.06)}.site-footer{border-top:var(--line);padding-block:var(--space-16) var(--space-8);font-family:var(--font-ui)}.site-footer__grid{gap:var(--space-12);grid-template-columns:2fr repeat(2,1fr);display:grid}.site-footer__lead{font-family:var(--font-display);font-size:var(--text-xl);max-width:20ch}.site-footer h2{font-family:var(--font-geo);font-size:var(--text-xs);letter-spacing:.25em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:var(--space-4);font-weight:400}.site-footer ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.site-footer a{text-decoration:none}.site-footer__wordmark{margin-top:var(--space-16);font-family:var(--font-display);letter-spacing:-.02em;color:#0000;-webkit-text-stroke:1px var(--line-color);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:clamp(3rem,15vw,16rem);font-weight:800;line-height:.85;overflow:hidden}.site-footer__bottom{justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8);font-size:var(--text-sm);color:var(--fg-muted);flex-wrap:wrap;display:flex}@media (max-width:860px){.site-footer__grid{grid-template-columns:1fr}}.hero{min-height:100svh;padding-block:calc(var(--header-height) + var(--space-12)) var(--space-12);align-content:end;display:grid;position:relative;overflow:hidden}.hero__inner{z-index:1;gap:var(--space-8);display:grid;position:relative}.hero__eyebrow{font-family:var(--font-alt);font-weight:300;font-size:var(--text-sm);letter-spacing:.3em;text-transform:uppercase;color:var(--fg-muted)}.hero__title{font-size:var(--text-hero);letter-spacing:-.02em;max-width:14ch;line-height:.95}.hero__bottom{justify-content:space-between;align-items:end;gap:var(--space-8);padding-top:var(--space-8);border-top:var(--line);grid-template-columns:minmax(0,36rem) auto;display:grid}.hero__lead{font-size:var(--text-lg);color:var(--fog)}.hero__scroll{align-items:center;gap:var(--space-3);font-family:var(--font-geo);font-size:var(--text-xs);letter-spacing:.25em;text-transform:uppercase;color:var(--fg-muted);text-decoration:none;display:inline-flex}.hero__scroll-line{background:linear-gradient(var(--fg), transparent);width:1px;height:3rem}.hero__drawing{inset:var(--header-height) 0 0 auto;width:min(62vw,64rem);color:var(--fg);opacity:.55;pointer-events:none;position:absolute}.hero__drawing svg{width:100%;height:100%}.hero__drawing .wall{stroke-width:1.5px}.hero__drawing .thin{stroke-width:.6px;opacity:.5}.hero__drawing text{font-family:var(--font-geo);letter-spacing:.1em;fill:var(--fg-muted);font-size:11px}@media (max-width:860px){.hero__drawing{opacity:.25;width:100%}.hero__bottom{grid-template-columns:1fr}}.marquee{border-block:var(--line);padding-block:var(--space-6);white-space:nowrap;-webkit-user-select:none;user-select:none;overflow:hidden}.marquee__track{gap:var(--space-12);padding-right:var(--space-12);font-family:var(--font-display);font-size:var(--text-2xl);will-change:transform;display:inline-flex}.marquee__item{align-items:center;gap:var(--space-12);display:inline-flex}.marquee__item:after{content:"";border:1px solid var(--fg-muted);width:.5em;height:.5em;transform:rotate(45deg)}.service-list{border-top:var(--line);margin:0;padding:0;list-style:none}.service-item{gap:var(--space-8);padding-block:var(--space-8);border-bottom:var(--line);isolation:isolate;grid-template-columns:5rem minmax(0,1.2fr) minmax(0,1fr);align-items:baseline;display:grid;position:relative}.service-item:before{content:"";inset:0 calc(var(--gutter) * -1);z-index:-1;background:var(--graphite);transform-origin:0;transition:transform var(--duration) var(--ease-out);position:absolute;transform:scaleX(0)}.service-item:hover:before{transform:scaleX(1)}.service-item__index{font-family:var(--font-accent);font-size:var(--text-lg);color:var(--steel);transition:color var(--duration)}.service-item:hover .service-item__index{color:var(--fg)}.service-item__title{font-size:var(--text-xl);transition:transform var(--duration) var(--ease-out)}.service-item:hover .service-item__title{transform:translate(.5rem)}.service-item__summary{color:var(--fg-muted)}.service-item__sub{gap:var(--space-2);margin-top:var(--space-4);font-family:var(--font-ui);font-size:var(--text-sm);flex-wrap:wrap;padding:0;list-style:none;display:flex}.service-item__sub li{border:var(--line);padding:.2rem .7rem}@media (max-width:860px){.service-item{grid-template-columns:3rem 1fr}.service-item__body{grid-column:2}}.project-grid{gap:var(--space-12) var(--space-8);grid-template-columns:repeat(12,1fr);display:grid}.project-card{grid-column:span 6}.project-card:nth-child(4n+1){grid-column:1/span 7}.project-card:nth-child(4n+2){margin-top:var(--space-16);grid-column:9/span 4}.project-card:nth-child(4n+3){grid-column:2/span 4}.project-card:nth-child(4n+4){margin-top:calc(var(--space-16) * -1);grid-column:7/span 6}.project-card .photo{aspect-ratio:4/3}.project-card:nth-child(4n+2) .photo,.project-card:nth-child(4n+3) .photo{aspect-ratio:3/4}.project-card__meta{justify-content:space-between;gap:var(--space-4);margin-top:var(--space-4);font-family:var(--font-geo);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--fg-muted);display:flex}.project-card__title{margin-top:var(--space-2);font-size:var(--text-xl)}.project-card__placeholder{width:100%;height:100%;font-family:var(--font-geo);font-size:var(--text-xs);letter-spacing:.2em;color:var(--concrete);place-items:center;display:grid}@media (max-width:860px){.project-grid{grid-template-columns:1fr}.project-card:nth-child(n){grid-column:1;margin-top:0}.project-card:nth-child(n) .photo{aspect-ratio:4/3}}.approach{gap:var(--space-16);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.approach__text{font-size:var(--text-xl);font-family:var(--font-heading);line-height:1.35}.stats{border-top:var(--line);grid-template-columns:repeat(2,1fr);display:grid}.stat{padding:var(--space-8) 0;border-bottom:var(--line)}.stat:nth-child(odd){padding-right:var(--space-8);border-right:var(--line)}.stat:nth-child(2n){padding-left:var(--space-8)}.stat__value{font-family:var(--font-accent);font-size:var(--text-3xl);margin:0;line-height:1;display:block}.stat__label{margin-top:var(--space-2);color:var(--fg-muted);font-size:var(--text-sm);display:block}@media (max-width:860px){.approach{grid-template-columns:1fr}}.cta{gap:var(--space-8);justify-items:start;display:grid}.cta__title{font-family:var(--font-display);font-size:var(--text-3xl);max-width:16ch}.cta__actions{gap:var(--space-4);flex-wrap:wrap;display:flex}.page-hero{padding-block:calc(var(--header-height) + var(--space-16)) var(--space-12)}.page-hero__eyebrow{gap:var(--space-2);margin-bottom:var(--space-6);font-family:var(--font-geo);font-size:var(--text-xs);letter-spacing:.25em;text-transform:uppercase;color:var(--fg-muted);flex-wrap:wrap;display:flex}.page-hero__eyebrow a{text-decoration:none}.page-hero__title{font-size:var(--text-3xl);max-width:20ch}.page-hero--project .page-hero__title{font-size:clamp(2.5rem,1.4rem + 4.6vw,6.5rem)}.page-hero__lead{margin-top:var(--space-8);max-width:44rem;font-size:var(--text-lg);color:var(--fog)}.section--tight{padding-block:var(--space-12)}.section--first{padding-top:calc(var(--header-height) + var(--space-16))}.section-more{margin-top:var(--space-12);font-family:var(--font-ui)}.empty-state,.content-note{color:var(--fg-muted)}.content-note{margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);border-left:1px solid var(--fg-muted);font-size:var(--text-sm)}.site-nav__links a.is-current:after{transform:scaleX(1)}.service-item__link{text-decoration:none}.service-item__link:after{content:"";position:absolute;inset:0}.service-item__sub a{z-index:1;text-decoration:none;position:relative}.chips,.service-chips{gap:var(--space-2);margin:0 0 var(--space-12);flex-wrap:wrap;padding:0;list-style:none;display:flex}.chip{border:var(--line);font-family:var(--font-ui);font-size:var(--text-sm);transition:background-color var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);padding:.45rem 1rem;text-decoration:none;display:inline-block}.chip:hover{border-color:var(--fg)}.chip.is-active{background:var(--fg);border-color:var(--fg);color:var(--bg)}.card-grid{gap:var(--space-12) var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.card-grid .project-card:nth-child(n){grid-column:auto;margin-top:0}.card-grid .project-card .photo{aspect-ratio:4/3}.project-card__link{text-decoration:none;display:block}.project-card__location{margin-top:var(--space-1);color:var(--fg-muted)}.material-grid,.team-grid{gap:var(--space-12) var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.material-card a,.team-card a{text-decoration:none;display:block}.material-card .photo{aspect-ratio:1}.material-card__category{margin-top:var(--space-4);font-family:var(--font-geo);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--fg-muted)}.material-card__title,.team-card__name{margin-top:var(--space-2);font-size:var(--text-lg)}.material-card__brand,.team-card__title{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--fg-muted)}.team-card__photo{aspect-ratio:4/5}.team-card__initials{width:100%;height:100%;font-family:var(--font-display);font-size:var(--text-2xl);color:var(--steel);place-items:center;display:grid}@media (max-width:1100px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-grid,.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.card-grid{grid-template-columns:1fr}.material-grid,.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.photo--color img{filter:none}.detail-cover{aspect-ratio:16/9;margin:0}.detail-cover--square{aspect-ratio:4/3;margin-bottom:var(--space-8)}.detail-layout{gap:var(--space-16);grid-template-columns:minmax(0,1fr) 22rem;align-items:start;display:grid}.detail-layout--media{grid-template-columns:minmax(0,1.4fr) minmax(18rem,1fr)}.detail-aside{top:calc(var(--header-height) + var(--space-4));gap:var(--space-6);justify-items:start;display:grid;position:sticky}.detail-aside__title{font-family:var(--font-geo);font-size:var(--text-xs);letter-spacing:.25em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:var(--space-4);font-weight:400}.detail-links{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.facts{border-top:var(--line);width:100%;margin:0}.facts>div{gap:var(--space-4);padding-block:var(--space-3);border-bottom:var(--line);grid-template-columns:8rem 1fr;display:grid}.facts dt{font-family:var(--font-geo);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--fg-muted);padding-top:.2em}.facts dd{margin:0}.prose{gap:var(--space-6);max-width:44rem;font-size:var(--text-lg);color:var(--fog);display:grid}.prose--large{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--fg);line-height:1.4}.prose--legal{font-size:var(--text-base);max-width:52rem}.prose__lead{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--fg);line-height:1.35}@media (max-width:860px){.detail-layout,.detail-layout--media{grid-template-columns:1fr}.detail-aside{position:static}}.gallery{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gallery--compact{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.gallery__item{margin:0}.gallery:not(.gallery--compact) .gallery__item:nth-child(3n+1){grid-column:1/-1}.gallery__item .photo{aspect-ratio:3/2;display:block}.gallery:not(.gallery--compact) .gallery__item:nth-child(3n+1) .photo{aspect-ratio:21/9}.gallery__item figcaption{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--fg-muted)}@media (max-width:640px){.gallery,.gallery--compact{grid-template-columns:1fr}}.compare{--position:50%;-webkit-user-select:none;user-select:none;width:100%;max-height:85vh;position:relative;overflow:hidden}.compare__after,.compare__before{position:absolute;inset:0}.compare__before{clip-path:inset(0 calc(100% - var(--position)) 0 0)}.compare:after{content:"";top:0;bottom:0;left:var(--position);background:var(--paper);pointer-events:none;width:1px;position:absolute}.compare__label{bottom:var(--space-4);background:color-mix(in srgb, var(--ink) 70%, transparent);font-family:var(--font-geo);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;pointer-events:none;padding:.2rem .6rem;position:absolute}.compare__label--before{left:var(--space-4)}.compare__label--after{right:var(--space-4)}.compare__range{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.compare__range:focus-visible+.compare__label,.compare:focus-within{outline:2px solid var(--paper);outline-offset:3px}.profile{gap:var(--space-16);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;display:grid}.profile__photo{aspect-ratio:4/5}.profile__body{gap:var(--space-6);display:grid}.profile__title{font-family:var(--font-alt);font-weight:300;font-size:var(--text-lg);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted)}.profile__links{gap:var(--space-6);font-family:var(--font-ui);flex-wrap:wrap;display:flex}@media (max-width:860px){.profile{grid-template-columns:1fr}}.contact{gap:var(--space-16);grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;display:grid}.contact__details{gap:var(--space-6);justify-items:start;display:grid}.contact__list{gap:var(--space-3);font-size:var(--text-lg);margin:0;padding:0;list-style:none;display:grid}.quote-form{gap:var(--space-6);font-family:var(--font-ui);display:grid}.field-row{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{gap:var(--space-2);display:grid}.field label{font-size:var(--text-sm);color:var(--fog)}.field label small{color:var(--fg-muted)}.field input,.field select,.field textarea{border:0;border-bottom:1px solid var(--steel);width:100%;color:var(--fg);font:inherit;font-size:var(--text-base);transition:border-color var(--duration-fast);background:0 0;border-radius:0;padding:.85rem 0}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--fg-muted) 50%), linear-gradient(-45deg, transparent 50%, var(--fg-muted) 50%);background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-repeat:no-repeat;background-size:5px 5px}.field select option{background:var(--ink)}.field textarea{resize:vertical;min-height:9rem}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--fg);outline:none}.field .input-validation-error{border-bottom-color:#ff8a8a}.field:has(.field-error:not(:empty)) :is(input,textarea){border-bottom-color:#ff8a8a}.field-error{color:#ff8a8a;font-size:var(--text-sm)}.field-error:empty,.form-errors:empty,.validation-summary-valid{display:none}.field--honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.consent{gap:var(--space-3);font-size:var(--text-sm);color:var(--fog);align-items:flex-start;display:flex}.consent input{accent-color:var(--paper);margin-top:.25rem}.quote-form .btn{justify-self:start}.form-success{gap:var(--space-4);padding:var(--space-12) 0;border-top:var(--line);border-bottom:var(--line);display:grid}@media (max-width:860px){.contact,.field-row,.field-row--3{grid-template-columns:1fr}}.pagination{justify-content:center;gap:var(--space-8);margin-top:var(--space-16);font-family:var(--font-ui);color:var(--fg-muted);display:flex}.pagination a{color:var(--fg)}.hero--short{min-height:80svh}.site-footer__logo{width:12rem;height:auto;margin-bottom:var(--space-6)}.site-footer__links{gap:var(--space-6);display:flex}.brand__logo{height:1.6rem}.motion [data-reveal]{opacity:0;transform:translateY(2rem)}.motion [data-split]{visibility:hidden}.motion .section-head__rule{transform:scaleX(0)}.split-line{margin-bottom:-.08em;padding-bottom:.08em;overflow:hidden}.intro{z-index:var(--z-intro);background:var(--ink);pointer-events:none;place-items:center;display:none;position:fixed;inset:0}.motion .intro{display:grid}.intro__line{background:var(--paper);width:min(40vw,20rem);height:1px;transform:scaleX(0)}.page-transition{z-index:calc(var(--z-intro) - 1);background:var(--ink);pointer-events:none;position:fixed;inset:0;transform:scaleY(0)}.pt-in .page-transition{transform:scaleY(1)}.hero__scene{inset:var(--header-height) 0 0 auto;opacity:0;pointer-events:none;width:min(66vw,70rem);position:absolute}.hero__scene canvas{width:100%;height:100%;display:block}.hero--3d .hero__drawing{display:none}@media (max-width:860px){.hero__scene{opacity:.5;width:100%}}.fx-canvas{z-index:40;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.photo.is-fx img{opacity:0}.cursor{z-index:calc(var(--z-intro) + 1);border:1px solid color-mix(in srgb, var(--paper) 60%, transparent);pointer-events:none;opacity:0;width:2.25rem;height:2.25rem;transition:width var(--duration) var(--ease-out), height var(--duration) var(--ease-out), margin var(--duration) var(--ease-out), background-color var(--duration) var(--ease-out), opacity var(--duration-fast);border-radius:50%;place-items:center;margin:-1.125rem 0 0 -1.125rem;display:grid;position:fixed;top:0;left:0}.cursor.is-visible{opacity:1}.cursor.is-link{width:3.5rem;height:3.5rem;margin:-1.75rem 0 0 -1.75rem}.cursor.is-label{background:var(--paper);border-color:var(--paper);width:5.5rem;height:5.5rem;margin:-2.75rem 0 0 -2.75rem}.cursor__label{font-family:var(--font-geo);letter-spacing:.15em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity var(--duration-fast);font-size:.7rem}.cursor.is-label .cursor__label{opacity:1}
