.magic-rings-container,.magic-rings-container canvas{width:100%;height:100%;display:block}.magic-rings-fallback{opacity:.45;background:radial-gradient(circle,#0000 14%,#fff 14.5%,#0000 15.5% 24%,#fff 24.5%,#0000 25.5%)}:root{--page-gutter:11px;--nav-height:57px;--marquee-height:57px;--content-max:1080px;--section-gap:20px;color:#000;font-synthesis:none;background:#fff;font-family:Arial,Helvetica,PingFang SC,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#fff;margin:0}a{color:inherit;text-decoration:none}img{display:block}body.splash-open{overflow:hidden}body.splash-open .contact-marquee-track{animation-play-state:paused}.opening-splash{z-index:5000;color:#fff;cursor:pointer;opacity:1;background:#000;outline:0;transition:opacity .5s cubic-bezier(.4,0,.2,1);position:fixed;inset:0;overflow:hidden}.opening-splash.is-leaving{opacity:0;pointer-events:none}.opening-splash-rings{position:absolute;inset:0}.opening-splash-name{z-index:1;aspect-ratio:1;letter-spacing:-.045em;white-space:nowrap;text-shadow:0 0 8px #ffffffbf,0 0 20px #fff6;background:radial-gradient(circle,#ffffff14 0%,#ffffff06 52%,#0000 72%);border:1px solid #ffffff57;border-radius:50%;place-items:center;width:clamp(156px,18vw,220px);font-size:clamp(16px,1.7vw,22px);font-weight:600;line-height:1;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 28px #ffffff14,0 0 34px #ffffff21}.site-nav{height:var(--nav-height);letter-spacing:-.055em;background:#fff;grid-template-columns:1fr 1fr;align-items:center;font-size:16px;font-weight:600;line-height:1;display:grid;box-shadow:inset 0 -1px #e5e5e5}.site-nav a:last-child{text-align:right}.site-nav a{color:#000;touch-action:manipulation;-webkit-tap-highlight-color:transparent;align-items:center;height:100%;transition:color .1s,opacity .1s;display:flex}.site-nav a:hover{color:#aaa}.site-nav a:active{color:#777;opacity:.7}.site-nav a:last-child{justify-content:flex-end}.works-index>.site-nav,.profile>.site-nav{z-index:40;position:sticky;top:0}.contact-marquee{z-index:2000;height:var(--marquee-height);color:#000;background:#f5f5f5;position:fixed;inset:0 0 auto;overflow:hidden}.contact-marquee-track{letter-spacing:-.055em;white-space:nowrap;will-change:transform;backface-visibility:hidden;flex-wrap:nowrap;width:max-content;height:100%;font-size:12px;font-weight:600;line-height:1;animation:18s linear infinite contact-marquee;display:flex;transform:translate(0,0)}.contact-marquee-group{flex:none;justify-content:space-around;align-items:center;gap:110px;width:max-content;min-width:100vw;padding:0 55px;display:flex;transform:translateZ(0)}.contact-marquee-close{width:var(--marquee-height);color:#000;cursor:pointer;background:#f5f5f5;border:0;font:400 34px/1 Arial,Helvetica,sans-serif;position:absolute;inset:0 0 0 auto}.contact-marquee-close:hover{color:#fff;background:#111}.contact-marquee:hover .contact-marquee-track{animation-play-state:paused}body.has-contact-marquee{padding-top:var(--marquee-height)}.has-contact-marquee .works-index>.site-nav,.has-contact-marquee .profile>.site-nav,.has-contact-marquee .project-nav{top:var(--marquee-height)}@keyframes contact-marquee{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.works-index{min-height:100svh;padding:0 var(--page-gutter);background:#fff}.works-index>.site-nav{margin-bottom:var(--section-gap)}.works-list{width:100%;max-width:var(--content-max);grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 11px;margin-left:auto;margin-right:auto;padding:0 0 72px;display:grid}.work-card{min-width:0}.work-cover{aspect-ratio:3/4;background:#fff;line-height:0;display:block;overflow:hidden}.work-cover img,.work-cover video{object-fit:cover;object-position:center;image-rendering:auto;width:100%;height:100%;display:block}.work-meta{letter-spacing:-.045em;padding-top:12px;font-size:16px;font-weight:600;line-height:1;display:block}.work-meta b{text-align:left}.work-meta span{text-align:right}@media (width>=1200px){.works-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.info-page,.profile{background:#fff;min-height:0}.profile{padding:0 var(--page-gutter) 64px;flex-direction:column;display:flex}.profile-copy{width:100%;max-width:var(--content-max);margin:var(--section-gap) auto 0;letter-spacing:-.045em;flex-direction:column;flex:1;gap:64px;font-size:16px;font-weight:600;line-height:2;display:flex}.profile-copy p{margin:0}.profile-intro span{display:block}.info-contact{margin-top:0}.info-contact>p{margin:0 0 12px}.info-contact a{text-decoration:none}.info-locations{grid-template-columns:1fr 1fr;gap:24px;width:min(320px,100%);margin-top:12px;margin-bottom:0;font-size:12px;line-height:1.5;display:grid}.info-portrait{object-fit:contain;object-position:left top;width:min(320px,100%);height:auto;margin-top:0}.project-longform{background:#fff;width:100%;min-height:100svh;line-height:0}.project-nav{z-index:40;height:var(--nav-height);padding:0 var(--page-gutter);background:#fff;position:sticky;top:0}.project-details{width:100%;max-width:var(--content-max);padding:var(--section-gap) 18px;color:#111;background:#fff;grid-template-columns:360px minmax(0,1fr);align-content:start;gap:18px;margin-left:auto;margin-right:auto;line-height:normal;display:grid}.project-details-meta,.project-details-copy{letter-spacing:-.03em;margin:0;font-size:16px;font-weight:500;line-height:2}.project-details-meta{line-height:2}.project-details-meta>div{margin-bottom:22px}.project-details-meta dt{color:#aaa;margin-bottom:2px}.project-details-meta dd{margin:0}.project-details-meta dd span{display:block}.project-details-copy{max-width:680px}.project-details-copy p{margin:0 0 42px}.project-details-copy p:last-child{margin-bottom:0}.project-details-main{min-width:0}.project-media{margin-top:42px;line-height:0}.project-longform-image{width:100%;height:auto;margin:0;display:block}.project-longform img.project-longform-image{width:auto;max-width:100%}.habc-lead-image{background:#f1f1f1}.project-longform-image+.project-longform-image{margin-top:16px}.site-footer{padding:48px var(--page-gutter) 20px;color:#000;letter-spacing:-.03em;background:#fff;border-top:1px solid #e5e5e5;font-size:12px;font-weight:500;line-height:1}.site-footer-copyright{margin:0}.back-to-top{right:var(--page-gutter);bottom:var(--page-gutter);z-index:1000;color:#000;cursor:pointer;background:#fff;border:0;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;transition:background .2s,color .2s,transform .2s;display:grid;position:fixed;box-shadow:0 0 0 1px #0000001f}.back-to-top:hover{color:#fff;background:#111}.back-to-top:active{transform:scale(.94)}.back-to-top-icon{border-top:3px solid;border-right:3px solid;width:12px;height:12px;transform:translateY(2px)rotate(-45deg)}@media (width<=760px){:root{--page-gutter:10px;--nav-height:48px;--marquee-height:48px;--section-gap:12px}.site-nav{font-size:16px}.site-nav a{transition-duration:60ms}.opening-splash-name{width:144px;font-size:16px}.contact-marquee-track{font-size:12px;animation-duration:15s}.contact-marquee-group{gap:72px;padding:0 36px}.contact-marquee-close{font-size:28px}.works-list{grid-template-columns:1fr;row-gap:24px;padding:0 0 46px}.works-index>.site-nav{margin-bottom:var(--section-gap)}.work-meta{gap:6px;padding-top:8px;font-size:12px}.profile-copy{gap:46px;font-size:12px}.profile{padding-bottom:46px}.info-portrait{width:min(260px,100%);margin-top:0}.info-contact>p{margin:0 0 10px}.info-locations{gap:16px;width:min(260px,100%);margin:10px 0 0}.project-details{padding:var(--section-gap) var(--page-gutter) 24px;grid-template-columns:1fr;gap:24px}.project-details-meta{align-items:start;gap:var(--page-gutter);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-details-meta,.project-details-copy{font-size:12px}.project-details-meta{line-height:2}.project-details-meta>div,.project-details-meta>div:last-child{margin:0}.project-details-copy p{margin-bottom:24px}.project-media{margin-top:24px}.project-longform-image+.project-longform-image{margin-top:8px}.site-footer{padding:32px var(--page-gutter) 16px}.back-to-top{width:44px;height:44px}.back-to-top-icon{border-width:2.5px;width:10px;height:10px;transform:translateY(2px)rotate(-45deg)}}@media (hover:none) and (pointer:coarse){.site-nav a:hover{color:#000}.site-nav a:active{color:#aaa;opacity:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.contact-marquee-track{animation-play-state:paused}.opening-splash{transition-duration:.01ms}}
