/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}}:root{--paper:lab(91.8839% -1.6326 -4.13144);--paper-light:lab(96.5229% -.963241 -2.41604);--ink:lab(5.16867% -1.03639 -10.2742);--ink-soft:lab(24.5319% -2.14754 -9.85428);--brass:lab(56.645% 55.6872 57.3308);--line:lab(75.6434% -2.39974 -6.17141);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-quart:cubic-bezier(.25, 1, .5, 1);--hero-shift:0px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--font-sans), sans-serif;font-kerning:normal;margin:0;font-size:1rem;overflow-x:hidden}a{color:inherit}button,input,textarea{font:inherit}::selection{background:var(--brass);color:var(--paper-light)}.skip-link{z-index:100;background:var(--paper-light);color:var(--ink);transition:transform .18s var(--ease-out);padding:.75rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.hero{isolation:isolate;min-height:100svh;color:var(--paper-light);grid-template-rows:auto 1fr auto;display:grid;position:relative;overflow:hidden}.hero-image,.hero-shade,.hero-grid{z-index:-2;position:absolute;inset:0}.hero-image{transform:translate3d(0, var(--hero-shift), 0) scale(1.055);animation:hero-settle 1.2s var(--ease-out) both;will-change:transform;background-image:url(/munich-architecture.jpg);background-position:64%;background-size:cover;inset:-6% 0}.hero-shade{z-index:-1;background:linear-gradient(90deg,lab(1.88145% .0549927 -8.3609/.97) 0%,lab(2.93908% -.324935 -9.89811/.86) 41%,lab(3.60377% -.624955 -9.54033/.3) 72%,lab(3.6232% -.707559 -8.23847/.14) 100%),linear-gradient(#0000 52%,lab(1.48771% -.0282377 -6.12033/.56))}.hero-grid{z-index:-1;opacity:.3;background-image:linear-gradient(90deg,lab(90.7239% -1.63215 -4.1312/.17) 1px,#0000 1px),linear-gradient(lab(90.7239% -1.63215 -4.1312/.14) 1px,#0000 1px);background-size:clamp(4rem,8vw,8rem) clamp(4rem,8vw,8rem);left:48%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 22% 86%,#0000);mask-image:linear-gradient(90deg,#0000,#000 22% 86%,#0000)}.site-header{padding:max(1.5rem, env(safe-area-inset-top)) clamp(1.25rem, 4vw, 4.5rem) 1rem;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;display:grid}.header-system{color:lab(83.7639% -1.8917 -4.81303);letter-spacing:.14em;text-transform:uppercase;font-size:.63rem;font-weight:650}.header-link{justify-self:end}.brand{letter-spacing:-.02em;align-items:center;gap:.9rem;font-size:clamp(.88rem,1.2vw,1rem);font-weight:600;text-decoration:none;display:inline-flex}.brand img{filter:invert();width:1.75rem;height:auto;transition:transform .28s var(--ease-quart)}.header-link{letter-spacing:.02em;border-bottom:1px solid lab(95.3927% .992239 5.25923/.5);align-items:center;gap:.55rem;min-height:2.75rem;font-size:.78rem;font-weight:650;text-decoration:none;display:inline-flex}.header-link span,.primary-action span,.contact-form button span{transition:transform .22s var(--ease-out)}.hero-content{align-self:center;width:min(49rem,100% - 2.5rem);margin-left:clamp(1.25rem,8vw,9rem);padding:clamp(4rem,8vh,7rem) 0}.eyebrow{letter-spacing:.17em;text-transform:uppercase;margin:0 0 1.75rem;font-size:.7rem;font-weight:700}.eyebrow:before{content:"";vertical-align:.22em;background:var(--brass);width:2rem;height:1px;margin-right:.8rem;display:inline-block}.eyebrow.dark{color:var(--ink-soft)}.eyebrow.light{color:var(--paper)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-display), serif;letter-spacing:-.047em;font-weight:430}h1{text-wrap:balance;max-width:12ch;margin-bottom:2rem;font-size:clamp(3.6rem,8.1vw,8.25rem);line-height:.86}.hero-intro{color:lab(90.7606% 1.30171 6.77974);max-width:38rem;margin-bottom:2rem;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.primary-action{background:var(--paper-light);min-height:3.4rem;color:var(--ink);letter-spacing:.02em;transition:background-color .22s var(--ease-quart), transform .12s var(--ease-out);justify-content:space-between;align-items:center;gap:2.25rem;padding:0 1.15rem;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.network-rail{letter-spacing:.1em;text-transform:uppercase;grid-template-columns:auto minmax(5rem,11rem) auto;align-items:center;gap:.8rem;width:min(32rem,47vw);font-size:.64rem;display:grid;position:absolute;bottom:clamp(2rem,4vw,4rem);right:clamp(1.25rem,4vw,4.5rem)}.network-city{grid-template-columns:auto auto;align-items:center;gap:.15rem .45rem;display:grid}.network-city-right{justify-items:end}.network-city strong{font-size:.64rem;font-weight:700}.network-city small{color:lab(72.1627% -2.64665 -6.84727);letter-spacing:.08em;grid-column:2;font-size:.55rem}.network-city-right small{grid-area:2/1}.network-city-right .network-dot{grid-area:1/2}.network-dot{background:var(--brass);border-radius:50%;width:.36rem;height:.36rem;box-shadow:0 0 0 .24rem lab(56.645% 55.6872 57.3308/.18)}.network-track{background:lab(79.1236% -2.40389 -6.17353/.38);height:1px;position:relative;overflow:hidden}.network-track:before,.network-track:after{content:"";border:1px solid lab(88.4039% -1.63117 -4.13066);border-radius:50%;width:.32rem;height:.32rem;position:absolute;top:-.16rem}.network-track:before{left:0}.network-track:after{right:0}.network-track span{background:var(--brass);width:22%;height:1px;animation:network-travel 3.2s var(--ease-out) 1.2s infinite;display:block}.scroll-cue{letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.75rem;font-size:.66rem;font-weight:650;text-decoration:none;display:flex;position:absolute;bottom:clamp(2rem,4vw,4rem);left:clamp(1.25rem,4vw,4.5rem)}.scroll-cue span{background:lab(93.0726% .99352 5.26009/.48);width:2.75rem;height:1px;overflow:hidden}.scroll-cue span:after{content:"";background:var(--paper-light);width:100%;height:100%;animation:line-travel 2.7s var(--ease-out) 1.1s infinite;display:block;transform:translate(-110%)}.hero-enter{opacity:0;animation:enter .7s var(--ease-out) forwards;animation-delay:var(--delay,0s);transform:translateY(1rem)}.work-section,.perspective-section{padding:clamp(6rem,11vw,10rem) clamp(1.25rem,7vw,8rem)}.work-section{background-color:var(--paper);background-image:linear-gradient(90deg,#0000 calc(25% - 1px),lab(75.6434% -2.39974 -6.17141/.35) 25%,#0000 calc(25% + 1px));position:relative}.section-heading{border-bottom:1px solid var(--line);grid-template-columns:minmax(11rem,.65fr) minmax(18rem,1.35fr);align-items:end;gap:3rem;padding-bottom:clamp(3rem,6vw,5rem);display:grid}.section-heading .eyebrow{margin-bottom:.75rem}.section-heading h2,.perspective-grid h2,.contact-heading h2{text-wrap:balance;margin:0;font-size:clamp(3rem,6vw,6.2rem);line-height:.94}.section-heading h2{max-width:11ch}.work-intro{grid-template-columns:minmax(18rem,1.35fr) minmax(11rem,.65fr);gap:3rem;margin-left:calc(36% + 3rem);padding:2.25rem 0 clamp(3rem,7vw,6rem);display:grid}.work-intro p{max-width:38rem;margin-bottom:0;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.62}.work-intro span{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;align-self:end;font-size:.7rem;line-height:1.5}.services{border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line);transition:color .24s var(--ease-quart), transform .24s var(--ease-quart);grid-template-columns:.35fr 1fr 1.25fr auto;align-items:start;gap:clamp(1rem,3vw,3rem);padding:clamp(2rem,4vw,3.25rem) 0;display:grid;position:relative}.service:before{content:"";z-index:-1;background:var(--ink);transform-origin:bottom;transition:transform .3s var(--ease-out);position:absolute;inset:0 calc(-1*clamp(1.25rem,7vw,8rem));transform:scaleY(0)}.service-number{color:var(--brass);letter-spacing:.12em;font-size:.72rem;font-weight:700}.service-number:before{content:"["}.service-number:after{content:"]"}.service h3{font-family:var(--font-sans), sans-serif;letter-spacing:-.04em;margin:-.2rem 0 0;font-size:clamp(1.45rem,2.1vw,2.15rem);font-weight:580;line-height:1.05}.service p{max-width:39rem;color:var(--ink-soft);margin:0;line-height:1.65}.service-arrow{transition:transform .24s var(--ease-out);font-size:1.25rem}.perspective-section{background:var(--paper-light);position:relative;overflow:hidden}.perspective-section:after{content:"MUC / NYC";color:lab(86.084% -1.89313 -4.81379);font-family:var(--font-sans), sans-serif;letter-spacing:-.09em;pointer-events:none;font-size:clamp(5rem,16vw,14rem);font-weight:750;line-height:1;position:absolute;bottom:-.27em;right:-.08em}.perspective-section>*{z-index:1;position:relative}.perspective-line{background:var(--line);transform-origin:0;width:100%;height:1px;margin-bottom:clamp(4rem,8vw,7rem)}.perspective-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:clamp(3rem,9vw,9rem);display:grid}.perspective-grid h2{max-width:9ch}.perspective-copy{max-width:37rem;padding-top:.75rem}.perspective-copy p{margin-bottom:1.5rem;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.72}.perspective-copy p:last-child{color:var(--ink-soft)}.contact-section{background:var(--ink);color:var(--paper-light);grid-template-columns:.85fr 1.15fr;gap:clamp(4rem,10vw,10rem);padding:clamp(6rem,11vw,10rem) clamp(1.25rem,7vw,8rem);display:grid}.contact-heading{align-self:start}.contact-heading h2{max-width:9ch;margin-bottom:2rem}.contact-heading>p:not(.eyebrow){max-width:29rem;color:var(--paper);margin-bottom:1.25rem;line-height:1.65}.contact-note{border-left:1px solid var(--brass);color:lab(72.1995% 2.19035 9.41337);letter-spacing:.1em;text-transform:uppercase;padding:.45rem 0 .45rem 1.05rem;font-size:.67rem;font-weight:650;display:inline-block}.contact-form{align-self:start;padding-top:1rem;position:relative}.form-trap{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.field-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.field{margin-bottom:2.25rem;position:relative}.field label{color:var(--paper);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;margin-bottom:.55rem;font-size:.69rem;font-weight:650;display:flex}.field label span{color:lab(67.5588% 2.20317 9.42346);font-weight:500}.field input,.field textarea{width:100%;color:var(--paper-light);font-family:var(--font-display), serif;transition:border-color .22s var(--ease-quart), transform .22s var(--ease-quart);background:0 0;border:0;border-bottom:1px solid oklch(58% .025 246);border-radius:0;outline:none;padding:.65rem 0 .85rem;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.35}.field textarea{resize:vertical;min-height:10rem}.field-error{color:lab(73.2839% 39.7979 25.2446);margin-top:.55rem;font-size:.75rem;line-height:1.45}.field input:focus,.field textarea:focus{border-color:var(--brass);transform:translateY(-2px)}.field input:focus-visible{outline:2px solid var(--brass);outline-offset:4px}.field textarea:focus-visible{outline:2px solid var(--brass);outline-offset:4px}.primary-action:focus-visible{outline:2px solid var(--brass);outline-offset:4px}.header-link:focus-visible{outline:2px solid var(--brass);outline-offset:4px}.brand:focus-visible{outline:2px solid var(--brass);outline-offset:4px}.scroll-cue:focus-visible{outline:2px solid var(--brass);outline-offset:4px}.contact-form button:focus-visible{outline:2px solid var(--brass);outline-offset:4px}footer a:focus-visible{outline:2px solid var(--brass);outline-offset:4px}.form-action-row{align-items:center;gap:1.5rem;min-height:3.75rem;display:flex}.contact-form button{background:var(--brass);min-height:3.5rem;color:var(--ink);cursor:pointer;letter-spacing:.02em;transition:background-color .22s var(--ease-quart), transform .12s var(--ease-out);border:0;justify-content:space-between;align-items:center;gap:2rem;padding:0 1.15rem;font-size:.78rem;font-weight:700;display:inline-flex}.contact-form button:disabled{cursor:wait;opacity:.72}.contact-form button:disabled:not(:active){transform:none}.form-status{max-width:18rem;color:var(--paper);opacity:0;transition:opacity .26s var(--ease-out), transform .26s var(--ease-out);margin:0;font-size:.76rem;line-height:1.45;transform:translateY(.4rem)}.form-status span{color:var(--brass);margin-right:.35rem}.form-status.is-visible{opacity:1;transform:translateY(0)}.form-error{color:lab(73.2839% 39.7979 25.2446)}footer{padding:2.5rem clamp(1.25rem, 7vw, 8rem) max(2.5rem, env(safe-area-inset-bottom));background:var(--ink);color:lab(67.5588% 2.20317 9.42346);border-top:1px solid lab(24.5807% -2.84228 -8.48625);grid-template-columns:1fr 1.25fr auto;align-items:end;gap:2rem;font-size:.68rem;line-height:1.6;display:grid}.footer-brand{color:var(--paper-light);align-self:start;font-size:.85rem;font-weight:650;text-decoration:none}footer address{font-style:normal}.footer-links{gap:1.25rem;display:flex}.footer-links a{text-underline-offset:.25rem}.reveal{opacity:0;transition:opacity .65s var(--ease-out), transform .65s var(--ease-out);transition-delay:var(--reveal-delay,0s);transform:translateY(1.75rem)}.reveal.is-visible{opacity:1;transform:translateY(0)}.perspective-line.reveal{transform:scaleX(0)}.perspective-line.reveal.is-visible{transform:scaleX(1)}@media (hover:hover){.brand:hover img{transform:rotate(24deg)}.header-link:hover span,.primary-action:hover span,.contact-form button:hover span{transform:translate(.18rem,.18rem)}.primary-action:hover{background:var(--paper)}.primary-action:active,.contact-form button:active{transform:translateY(2px)}.service:hover{color:var(--paper-light);transform:translate(.35rem)}.service:hover:before{transform:scaleY(1)}.service:hover p{color:var(--paper)}.service:hover .service-arrow{transform:translate(.2rem,-.2rem)}.contact-form button:hover{background:lab(62.4677% 55.389 55.2064)}}@media (max-width:840px){.site-header{grid-template-columns:1fr auto}.header-system{display:none}.section-heading,.perspective-grid,.contact-section{grid-template-columns:1fr}.work-intro{grid-template-columns:1fr;margin-left:0}.service{grid-template-columns:3rem 1fr auto}.service p{grid-column:2/4}.contact-section{gap:4rem}footer{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1}}@media (max-width:560px){.site-header{align-items:flex-start}.brand{align-items:flex-start;max-width:10rem}.brand img{margin-top:.1rem}.header-link{border-bottom:0;font-size:0}.header-link span{font-size:1rem}.hero-content{align-self:end;margin-left:1.25rem;padding:5rem 0 9rem}h1{font-size:clamp(3.5rem,17vw,5rem);line-height:.9}.hero-image{background-position:68%}.hero-shade{background:linear-gradient(90deg,lab(3.01894% -1.05866 -5.63412/.92),lab(3.01894% -1.05866 -5.63412/.38)),linear-gradient(#0000 34%,lab(2.46146% -.810444 -3.81628/.78))}.network-rail{display:none}.scroll-cue{bottom:2rem}.section-heading h2,.perspective-grid h2,.contact-heading h2{font-size:clamp(2.9rem,14vw,4.5rem)}.service{grid-template-columns:2.25rem 1fr auto}.service:before{display:none}.field-row{grid-template-columns:1fr;gap:0}.form-action-row{flex-direction:column;align-items:flex-start}footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap;grid-column:auto}}@keyframes enter{to{opacity:1;transform:translateY(0)}}@keyframes hero-settle{0%{opacity:.7;transform:translate3d(0, calc(var(--hero-shift) + 1rem), 0) scale(1.09)}to{opacity:1;transform:translate3d(0, var(--hero-shift), 0) scale(1.055)}}@keyframes line-travel{0%,20%{transform:translate(-110%)}70%,to{transform:translate(110%)}}@keyframes network-travel{0%{transform:translate(-120%)}to{transform:translate(520%)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-image,.hero-enter,.reveal,.perspective-line.reveal{opacity:1!important;transform:none!important}}
