:root{--motion-ease: cubic-bezier(.22, 1, .36, 1)}@keyframes content-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes content-out{to{opacity:0;transform:translateY(-6px)}}@keyframes menu-item-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.motion-pending{opacity:0}.motion-revealed{animation:content-in .56s var(--motion-ease) both}.mobile-menu{opacity:1;transform:translate(32px);transition:opacity .24s ease,transform .32s var(--motion-ease),display .32s allow-discrete,overlay .32s allow-discrete}.mobile-menu[open]{opacity:1;transform:none}.mobile-menu[open] nav a{animation:menu-item-in .36s var(--motion-ease) both}.mobile-menu[open] nav a:nth-child(2){animation-delay:30ms}.mobile-menu[open] nav a:nth-child(3){animation-delay:60ms}.mobile-menu[open] nav a:nth-child(4){animation-delay:90ms}.mobile-menu[open] nav a:nth-child(5){animation-delay:.12s}.mobile-menu[open] nav a:focus-visible{animation:none}.mobile-menu::backdrop{background:#0003;opacity:0;transition:opacity .24s,display .32s allow-discrete,overlay .32s allow-discrete}.mobile-menu[open]::backdrop{opacity:1}@starting-style{.mobile-menu[open]{opacity:1;transform:translate(32px)}.mobile-menu[open]::backdrop{opacity:0}}.cookie-dialog,.lightbox{opacity:0;transform:translateY(12px) scale(.985);transition:opacity .2s,transform .28s var(--motion-ease),display .28s allow-discrete,overlay .28s allow-discrete}.cookie-dialog[open],.lightbox[open]{opacity:1;transform:none}@starting-style{.cookie-dialog[open],.lightbox[open]{opacity:0;transform:translateY(12px) scale(.985)}}}.button.dark,.portfolio-button{background-image:linear-gradient(110deg,#111 0% 38%,#424242 70%,#171717);background-size:240% 100%;background-position:0 50%;transition:background-position .4s var(--motion-ease),transform .25s var(--motion-ease),box-shadow .25s}.button.dark:hover,.portfolio-button:hover{background-position:100% 50%;box-shadow:0 8px 20px #0002}.button.dark:active,.portfolio-button:active{transform:translateY(1px)}.button span,.text-link span,.portfolio-button span{transition:transform .25s var(--motion-ease)}.button:hover span,.text-link:hover span,.portfolio-button:hover span{transform:translate(3px,-2px)}.text-link{transition:border-color .2s,color .2s}.text-link:hover{color:#555}.category-card{transition:background .3s,border-color .3s,box-shadow .3s}.category-card:hover{border-color:#999;box-shadow:0 12px 32px #0001}.project-arrow{transition:background .25s,color .25s,transform .25s}.project-link:hover .project-arrow{background:#111;color:#fff;transform:translate(2px,-2px)}.tile-caption{transition:background-color .3s}.project-tile:hover .tile-caption{background-color:#0002}.field input,.field textarea{transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus{border-color:#111;box-shadow:0 0 0 3px #0000000a}.mobile-menu nav a{transition:padding-left .25s var(--motion-ease),background-color .25s}.mobile-menu nav a:hover{padding-left:12px;background:#f5f5f5}@media(hover:hover)and (prefers-reduced-motion:no-preference){.button.dark:hover,.portfolio-button:hover{transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.motion-pending{opacity:1}.button span,.text-link span,.portfolio-button span,.project-arrow,.project-tile:hover img,.project-link:hover img{transform:none!important}}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-variable.ttf) format("truetype")}@font-face{font-family:Plus Jakarta Sans;font-style:italic;font-weight:200 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-italic-variable.ttf) format("truetype")}:root{--ink: #111111;--paper: #f8f7f4;--stone: #eeeee9;--accent: #333333;--muted: #444444;--line: #dedede;--sans: "Plus Jakarta Sans", Arial, sans-serif;--display: "Plus Jakarta Sans", Arial, sans-serif;--container: 1320px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);font-size:20px;font-weight:500;color:var(--ink);background:var(--paper);line-height:1.7;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);font-weight:650;line-height:1.12;letter-spacing:-.02em}h1{font-size:clamp(48px,6vw,92px);margin-bottom:28px}h2{font-size:clamp(36px,4vw,60px)}h3{font-family:var(--display);font-weight:650;font-size:26px;line-height:1.25}p{color:var(--muted)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}button,a,input{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.5}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#d7d7d7;color:var(--ink)}.container{width:min(100% - 96px,var(--container));margin-inline:auto}.section{padding-block:clamp(64px,8vw,120px)}.section+.section{border-top:1px solid var(--line)}.eyebrow{display:block;font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:48px}.section-heading h2{margin:16px 0 0}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;font-size:20px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:8px}.button{min-height:48px;padding:13px 24px;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-size:18px;font-weight:600;border:1px solid transparent;text-align:center;transition:background .25s,border-color .25s}.button.dark{color:var(--paper);background-color:var(--ink)}.button.outline{color:var(--ink);border-color:var(--line);background:transparent}.button:hover{border-color:var(--accent)}.button.dark:hover{background-color:#303030}.icon-button{display:inline-grid;place-items:center;flex-shrink:0;padding:0;font-size:28px;line-height:1;width:44px;height:44px;border:0;color:inherit;background:transparent}.icon-button svg{display:block;width:24px;height:24px}.page-intro{padding:clamp(56px,7vw,104px) 0 64px}.page-intro h1{margin-top:24px}.page-intro p{max-width:630px;font-size:20px}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:15px;font-weight:500;color:var(--muted);margin-bottom:40px}.breadcrumbs a:hover{text-decoration:underline}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}.prose{max-width:760px}.prose p{font-size:20px;line-height:1.8}.prose h2{margin-top:48px;font-size:36px}.skip-link{position:absolute;top:-100px;left:16px;z-index:100;background:var(--ink);color:#fff;padding:12px 20px}.skip-link:focus{top:16px}@media(max-width:1000px){.container{width:min(100% - 56px,var(--container))}}@media(max-width:650px){body{font-size:18px}.container{width:calc(100% - 40px)}.section-heading{align-items:start;flex-direction:column;gap:24px}.projects-grid{grid-template-columns:1fr;gap:36px}.page-intro{padding-bottom:40px}.page-intro p{font-size:18px}h1{font-size:clamp(38px,10vw,60px)}.prose p{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.editorial-link{display:inline-flex;align-items:center;gap:28px;min-height:44px;padding:8px 0;border-bottom:1px solid #888;font:500 10px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.16em}.editorial-link span{font-size:20px;transition:transform .25s}.editorial-link:hover span{transform:translate(5px)}.section-title{padding-block:clamp(32px,4vw,56px)}.section-title h1{margin:0;font-size:clamp(40px,5vw,72px);font-weight:650;letter-spacing:-.035em;line-height:1.12}@media(max-width:900px){main .profile-intro,main .contact-intro,main .portfolio-intro,main .services-intro,main .list-intro,main .detail-intro,main .privacy-intro{padding-top:100px!important}}.project-link:not(:has(>img.image-ready)),.split-card:not(:has(>img.image-ready)),.navigation-card:not(:has(>img.image-ready)),.carousel-slide:not(:has(>img.image-ready)){background:var(--stone);color:var(--ink)}.project-link:not(:has(>img.image-ready)):after,.split-card:not(:has(>img.image-ready)):after,.navigation-card:not(:has(>img.image-ready)):after{opacity:0}.project-link:not(:has(>img.image-ready)) .project-info p,.navigation-card:not(:has(>img.image-ready)) .navigation-location{color:var(--muted)}.project-link:not(:has(>img.image-ready)) .project-arrow,.navigation-card:not(:has(>img.image-ready)) .navigation-arrow{border-color:var(--muted);color:var(--ink)}.hero:not(:has(>img.image-ready)){background:var(--stone);color:var(--ink)}.hero:not(:has(>img.image-ready)) .hero-overlay{opacity:0}.hero:not(:has(>img.image-ready)) h1 img{filter:none;mix-blend-mode:multiply}body:has(.hero:not(:has(>img.image-ready))) app-header.home-header{color:var(--ink)}
