.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@font-face{font-family:Neron;src:url(/fonts/NeronGrotesque-Bold.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Neron;src:url(/fonts/NeronGrotesque-Regular.woff2)format("woff2");font-weight:400;font-display:swap}:root{--beige:#e3ded7;--brown:#3f302e;--yellow:#ffc000;--white:#f4f1ec;--beige-veil:var(--beige);--pad:30px;--nav-size:12px;--mark-size:6px;--mark-bar:1px;--cats-gap:26px;--reveal-ms:.375s;--nav-reveal-ms:1.12s;--reveal-ease:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--beige);height:100%;color:var(--white);-webkit-font-smoothing:antialiased;font-variant-ligatures:none;font-feature-settings:"liga" 0, "dlig" 0, "clig" 0, "calt" 0, "rlig" 0;font-kerning:none;text-transform:uppercase;font-family:Neron,Helvetica Neue,Arial,sans-serif;font-weight:700}body.page-home,body.page-index,body.page-project{overflow:hidden}body.page-info{overflow:hidden auto}.nav{height:36px;padding:0 var(--pad);z-index:100;background:var(--beige-veil);pointer-events:none;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav a,.nav span,.nav button{pointer-events:auto}.nav__logo{align-items:center;display:flex}.nav__logo img{filter:none;width:auto;height:14px;display:block}.nav__center{pointer-events:auto;align-items:center;gap:26px;padding:0 40px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav__center:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:-40px -60px}.nav__center:hover:after,.nav__center.is-filtering:after{pointer-events:auto}.nav__lead{align-items:center;gap:7px;display:inline-flex}.nav__lead .mark .bar{background:var(--brown)}.nav__center--plain{padding:0}.nav__center--plain:after{content:none}.nav__center:hover .nav__lead .mark{transform:rotate(45deg)}.nav__right{gap:20px;margin-left:auto;display:flex}.nav a{color:var(--brown);font-weight:700;font-size:var(--nav-size);letter-spacing:.1px;white-space:nowrap;text-decoration:none;transition:opacity .2s}.nav a:hover{opacity:.55}.nav__center.is-filtering a[data-cat]{opacity:.4}.nav__center.is-filtering a[data-cat].is-active,.nav__center.is-filtering a[data-cat].is-active:hover{opacity:1}.nav__cats{display:flex}.nav__cats__list{gap:26px;display:flex}.nav__center--collapsed{gap:0}.nav__center--collapsed .nav__cats{white-space:nowrap;width:0;transition:width var(--nav-reveal-ms) var(--reveal-ease);justify-content:flex-end;overflow:hidden}.nav__center--collapsed .nav__cats__list{flex:none}.nav__center--collapsed:hover .nav__cats,.nav__center--collapsed.is-filtering .nav__cats{width:var(--cats-width,auto)}.nav .nav__markwrap{display:none}.page-index .nav__cats a{position:relative}.page-index .nav .nav__markwrap{display:block;position:absolute;top:calc(100% + 1px);left:50%;overflow:hidden;transform:translate(-50%)}.page-index .nav .nav__mark{transition:transform calc(var(--reveal-ms) * 1.5) var(--reveal-ease);transform:translateY(-110%)}.page-index .nav__cats a:hover .nav__mark,.page-index .nav__cats a.is-active .nav__mark{transition-duration:var(--reveal-ms);transform:none}.nav__center--collapsed .nav__cats__list a[data-all],.nav__filter{display:none}#scroller{background:var(--beige);touch-action:none;height:100dvh;position:fixed;inset:0;overflow:hidden}#scroller.is-native{touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow:hidden auto}#scroller.is-native::-webkit-scrollbar{display:none}#scrollSpace{pointer-events:none;width:1px}#track{height:100dvh;position:relative}.panel{height:100dvh;width:calc(100dvh * var(--ar,.75));will-change:transform;background-image:var(--lqip,none);background-position:50%;background-size:cover;position:fixed;top:0;left:0}.panel__link{cursor:pointer;width:100%;height:100%;display:block;position:relative}.panel__hot{z-index:5;position:absolute;inset:66.66% 0 0}.shot{object-fit:cover;user-select:none;-webkit-user-drag:none;width:100%;height:100dvh;margin-left:0;display:block}.label{background:var(--beige-veil);z-index:40;pointer-events:none;max-width:280px;padding:8px 10px 7px;position:absolute;bottom:0;left:0}.label__title{font-weight:700;font-size:var(--nav-size);color:var(--brown);line-height:1.4}.label__descWrap{transition:grid-template-rows var(--reveal-ms) var(--reveal-ease);grid-template-rows:0fr;display:grid}.panel:has(.panel__hot:hover) .label__descWrap{grid-template-rows:1fr}.label__desc{font-weight:700;font-size:var(--nav-size);color:var(--brown);min-height:0;line-height:1.12;overflow:hidden}.label__desc p{margin-top:14px}.label__toggle{pointer-events:none;margin-top:0;display:inline-block}.mark{width:var(--mark-size);height:var(--mark-size);transition:transform .34s var(--reveal-ease);display:block;position:relative}.mark .bar{background:var(--brown);border-radius:0;position:absolute;top:50%;left:50%}.mark .bar--h{width:var(--mark-size);height:var(--mark-bar);transform:translate(-50%,-50%)}.mark .bar--v{width:var(--mark-bar);height:var(--mark-size);transform:translate(-50%,-50%)}.panel:has(.panel__hot:hover) .mark{transform:rotate(45deg)}.label__toggle.static{cursor:default}body.page-index{flex-direction:column;min-height:100dvh;display:flex;overflow:hidden}.index-wrap{background:var(--beige);scrollbar-width:none;flex:1;min-height:0;position:relative;overflow-y:auto}.index-wrap::-webkit-scrollbar{display:none}.page-index .site-footer{background:var(--beige)}.page-index .site-footer__item{color:var(--brown)}.index-bg{--index-img-h:min(52vh, 460px);height:var(--index-img-h);width:calc(var(--index-img-h) * var(--ar,.75));opacity:0;transition:opacity var(--reveal-ms) var(--reveal-ease);z-index:1;pointer-events:none;background-position:50%;background-size:cover;position:fixed;top:50%;left:75%;transform:translate(-50%,-50%)}.index-bg.show{opacity:1}.index-list{top:34%;left:var(--pad);z-index:2;max-width:calc(50vw - var(--pad) * 2);flex-direction:column;gap:0;margin-block:-7px;padding-bottom:60px;display:flex;position:absolute}.index-item{font-weight:700;font-size:var(--nav-size);color:var(--brown);padding:7px 0;line-height:1.4;text-decoration:none;display:block}.index-item__name{min-width:0}.index-item__title{transition:opacity var(--reveal-ms) var(--reveal-ease);align-items:baseline;gap:20px;display:flex}.marks{flex:none;align-items:baseline;gap:7px;width:46px;margin-left:auto;display:flex}.marks__ico{width:.688em;height:.688em;color:var(--brown);visibility:hidden;display:block}.marks__ico.is-on{visibility:visible}.marks__sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.index-item__loc{white-space:nowrap;flex:none;width:72px;margin-left:24px}.index-item:hover .index-item__title{opacity:.75}.index-item__descWrap{transition:grid-template-rows var(--reveal-ms) var(--reveal-ease);grid-template-rows:0fr;display:grid}.index-item:hover .index-item__descWrap{grid-template-rows:1fr}.index-item__desc{opacity:.75;min-height:0;padding-right:calc(var(--loc-w,60px) * 1.5 + 70px);overflow:hidden}html:has(body.page-info){background:var(--brown)}.page-info{background:var(--brown);overflow:hidden auto}.info-wrap{background:var(--brown);min-height:100dvh;padding:150px var(--pad) 0}.info-cols{max-width:1380px;font-weight:700;font-size:var(--nav-size);color:var(--white);grid-template-columns:repeat(3,minmax(0,1fr));gap:0 60px;line-height:1.2;display:grid}.info-cols p{margin-bottom:1.3em}.info-cols p:last-child{margin-bottom:0}.info-cols__clients{margin:0;padding:0;list-style:none}.info-cols p.info-cols__heading{font:inherit;margin:0}.info-cols__clients a{color:inherit;text-decoration:none;transition:opacity .2s}.info-cols__clients a:hover{opacity:.55}body.page-info{flex-direction:column;min-height:100dvh;display:flex;overflow:hidden}.page-info .info-wrap{flex:1;min-height:0;padding-bottom:40px}.copy-mail{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;padding:0;transition:opacity .2s;display:inline}.copy-mail:hover{opacity:.55}.copy-mail:focus-visible{outline-offset:3px;outline:1px solid}.copy-mail.is-copied{opacity:.55}.site-footer{height:36px;padding:0 var(--pad);background:var(--brown);justify-content:space-between;align-items:center;gap:20px;display:flex}.site-footer__item{font-weight:700;font-size:var(--nav-size);letter-spacing:.1px;color:var(--white);line-height:1.2;text-decoration:none}.page-project{background:var(--beige);overflow:hidden}.project-text{background:var(--beige-veil);z-index:60;max-width:322px;color:var(--brown);pointer-events:none;padding:8px 10px 7px;position:fixed;bottom:0;left:0}.project-text__title{font-weight:700;font-size:var(--nav-size);padding-right:26px;line-height:1.12}.project-text__descWrap{transition:grid-template-rows var(--reveal-ms) var(--reveal-ease);grid-template-rows:0fr;display:grid}.project-text.open .project-text__descWrap{grid-template-rows:1fr}.project-text__desc{font-weight:700;font-size:var(--nav-size);min-height:0;line-height:1.12;overflow:hidden}.project-text__desc p{margin-top:14px}.project-text__toggle{cursor:pointer;pointer-events:auto;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:0;right:0}.project-text__toggle .mark{transform:rotate(45deg)}#nextUp{font-weight:700;font-size:var(--nav-size);color:var(--brown);white-space:nowrap;opacity:0;z-index:60;pointer-events:none;--next-progress:0;align-items:center;gap:7px;padding:8px 10px 7px;display:flex;position:fixed;bottom:0;right:0}#nextUp.is-on{background:var(--brown);color:var(--beige);opacity:1;transform:translateY(calc(var(--next-progress) * (50% - 50dvh)))}@keyframes vt-slide-in{0%{transform:translate(100%)}}@keyframes vt-slide-out{to{transform:translate(-12%)}}@keyframes vt-back-in{0%{transform:translate(-100%)}}@keyframes vt-back-out{to{transform:translate(12%)}}@keyframes vt-up-in{0%{transform:translateY(100%)}}@keyframes vt-up-out{to{transform:translateY(-12%)}}::view-transition{background:var(--beige)}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;object-fit:fill;object-position:top left;height:100%;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:both}::view-transition-old(root){z-index:0;animation:.7s vt-slide-out}::view-transition-new(root){z-index:1;animation:.7s vt-slide-in}:root[data-nav-dir=home]::view-transition-old(root){animation-name:vt-back-out}:root[data-nav-dir=home]::view-transition-new(root){animation-name:vt-back-in}:root[data-nav-dir=info]::view-transition-old(root){animation-name:vt-up-out}:root[data-nav-dir=info]::view-transition-new(root){animation-name:vt-up-in}:root[data-astro-transition-fallback]{animation-duration:.7s;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:both}:root[data-astro-transition-fallback=old]{animation-name:vt-slide-out}:root[data-astro-transition-fallback=new]{animation-name:vt-slide-in}:root[data-nav-dir=home][data-astro-transition-fallback=old]{animation-name:vt-back-out}:root[data-nav-dir=home][data-astro-transition-fallback=new]{animation-name:vt-back-in}:root[data-nav-dir=info][data-astro-transition-fallback=old]{animation-name:vt-up-out}:root[data-nav-dir=info][data-astro-transition-fallback=new]{animation-name:vt-up-in}@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),:root[data-astro-transition-fallback]{animation-duration:1ms}}#splashOverlay{z-index:1000;background:var(--beige);opacity:1;cursor:pointer;justify-content:flex-start;align-items:center;transition:opacity .5s;display:flex;position:fixed;inset:0;overflow:hidden}#splashOverlay.splash-done{opacity:0;pointer-events:none}#splashOverlay #splashWrap{-webkit-user-select:none;user-select:none;margin-left:10vw}#splashOverlay #splashTitle{filter:none;width:auto;height:27px;margin-bottom:10px;display:block}#splashOverlay #splashBox{position:relative;overflow:hidden}#splashOverlay #splashBox .word{text-transform:uppercase;letter-spacing:-.015em;white-space:nowrap;color:#fff;will-change:transform, font-size, width;background:#4d3735;font-family:Neron,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;display:block;position:absolute;left:0}#splashOverlay #splashMeas{visibility:hidden;white-space:nowrap;text-transform:uppercase;letter-spacing:-.015em;font-family:Neron,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;position:absolute}#splashPanel{z-index:2000;backdrop-filter:blur(8px);color:#333;text-transform:none;cursor:default;background:#fffffff0;border-top:1px solid #e2e2e2;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 28px;padding:12px 18px;font:11px/1.3 system-ui,sans-serif;display:grid;position:fixed;bottom:0;left:0;right:0}#splashPanel.hidden{display:none}#splashPanel .row{align-items:center;gap:8px;min-width:0;display:flex}#splashPanel label{white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;color:#666;flex:0 0 84px}#splashPanel input[type=range]{accent-color:#2b59d8;flex:1;min-width:0}#splashPanel output{text-align:right;font-variant-numeric:tabular-nums;color:#111;flex:0 0 48px}#splashPanel button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:5px 14px;font:11px system-ui,sans-serif}#splashPanel button:hover{background:#f2f2f2}#splashPanel .hint{color:#999;align-self:center}@media (width<=860px){:root{--pad:16px}.nav{height:auto;min-height:36px;padding:0 var(--pad);background:var(--beige-veil);flex-flow:wrap;align-items:center;gap:0;position:fixed}.page-index .nav,.page-info .nav{background:var(--beige)}.nav__center{display:contents}.nav__logo{padding:0}.nav__right{flex-direction:row;align-items:center;gap:16px;margin:0 0 0 16px;padding:0;position:static;transform:none}.nav__right a[href=\/projects]{display:none}.nav:has(.nav__center--plain) .nav__right a[href=\/projects]{display:flex}.nav a,.nav__filter{align-items:center;min-height:36px;display:flex}.nav__filter{font-family:inherit;font-weight:700;font-size:var(--nav-size);letter-spacing:.1px;text-transform:uppercase;color:var(--brown);white-space:nowrap;cursor:pointer;background:0 0;border:0;order:2;gap:6px;margin-left:auto;padding:0}.nav__right{order:3}.nav__filter .mark .bar{background:var(--brown)}.nav__filter.is-open .mark{transform:rotate(45deg)}a.nav__lead{display:none}.nav__cats,.nav__center--collapsed .nav__cats{transition:grid-template-rows var(--reveal-ms) var(--reveal-ease);background:0 0;flex-basis:100%;order:4;grid-template-rows:0fr;justify-content:normal;width:100%;margin-left:0;display:grid;position:static;overflow:hidden;transform:none}.nav__cats.is-open,.nav__center--collapsed .nav__cats.is-open{grid-template-rows:1fr}.nav__cats__list{white-space:nowrap;grid-template-columns:1fr 1fr;align-items:center;gap:0 12px;width:100%;min-height:0;padding:0;display:grid;overflow:hidden}.nav__cats__list a{min-height:0;font-size:var(--nav-size);line-height:1.45}.nav__center--collapsed .nav__cats__list a[data-all]{display:flex}.label{max-width:calc(100% - 40px)}#nextUp{max-width:calc(100vw - 2 * var(--pad));white-space:normal;align-items:flex-end}.label__descWrap,.label__toggle{display:none}.project-text{pointer-events:auto;cursor:pointer;max-width:min(322px,100vw - 40px)}.marks{gap:5px;width:38px}.index-item__loc{width:62px;margin-left:12px}body.page-index{display:block;overflow:hidden auto}.index-wrap{min-height:100dvh;position:static;overflow:visible}.index-list{padding:max(calc(var(--nav-h,36px) + 24px), 60px) var(--pad) 60px;max-width:none;transition:padding-top var(--reveal-ms) var(--reveal-ease);gap:0;position:static;left:auto}.index-item__descWrap,.index-bg{display:none}.info-cols{grid-template-columns:1fr;gap:24px}body.page-info{display:block;overflow-y:auto}.page-info .info-wrap{min-height:100dvh}.page-index .nav__cats__list a{flex-direction:column;align-items:flex-start}.page-index .nav .nav__markwrap{margin:2px 0 4px;position:static;transform:none}.info-wrap{padding-top:max(calc(var(--nav-h,36px) + 24px), 60px)}.site-footer{height:auto;padding:10px var(--pad) 8px;flex-direction:column;align-items:flex-start;gap:0}.site-footer__item,a.site-footer__item{min-height:0;line-height:1.45;display:block}#splashPanel{display:none}#splashOverlay #splashWrap{margin-left:var(--pad)}#splashOverlay #splashTitle{height:25px;margin-bottom:10px}}
