:root{--page-gutter:clamp(24px,8.333333vw,160px)}
body:is(.homepage,.about-v24){--content-gutter:var(--page-gutter);--edge:var(--page-gutter);--gutter:var(--page-gutter)}
body:is(.homepage,.about-v24)>header{--panel-inset:16px;--logo-cell:calc(2 * (var(--page-gutter) - 16px) + 58px);grid-template-columns:var(--logo-cell) 1fr 220px}
body.homepage .hero-intro{left:var(--page-gutter)!important}
body.homepage .hero .expertise-intro{font-size:24px!important;line-height:1.4!important}
body.homepage :is(.about-section,.work-section,.contact){padding-inline:calc(var(--page-gutter) - var(--panel-inset))!important}
body.about-v24 .bounded{width:calc(100% - 2 * (var(--page-gutter) - 16px));max-width:none;padding-inline:0}
body.about-v24 .about-end{padding-inline:calc(var(--page-gutter) - 16px)}
body.about-v24 .about-footer-band{padding-inline:var(--page-gutter)}
body .back-to-top,body.about-v24>.back-to-top{right:var(--page-gutter)!important}
body.homepage .footer-bottom{grid-template-columns:1fr 1fr!important}
body.homepage .footer-copyright{grid-column:1;grid-row:1;justify-self:start;text-align:left}
body.homepage .footer-credit{grid-column:2;grid-row:1;justify-self:end;text-align:right}
body.homepage .case-hover-description{text-align:left;justify-self:end;max-width:100%;width:410px}
.card-copy-line{display:block}
body.homepage .view-all-projects{--inner-gutter:clamp(14px,2.22vw,42px);padding:var(--inner-gutter)!important}
body.homepage .view-all-arrow{justify-self:end;align-self:end;margin:0}
body.homepage .view-all-arrow svg{overflow:visible}
body.homepage .view-all-arrow .pdf-arrow{transform:translate(4%,4%);width:104%;height:104%}
/* One underline motion for text links on every route. */
a.motion-link{background-image:linear-gradient(currentColor,currentColor)!important;background-repeat:no-repeat!important;background-position:0 100%!important;background-size:0 1px!important;text-decoration:none!important;transition:background-size .55s cubic-bezier(.16,1,.3,1)!important;width:fit-content}
a.motion-link:is(:hover,:focus-visible){background-size:100% 1px!important;text-decoration:none!important}
a.motion-link:after,a.motion-link .link-ink:after,a.motion-link .nav-decode:after{display:none!important}
a.motion-link .nav-decode,a.motion-link .link-ink{animation:none!important;transform:none!important;clip-path:none!important}
/* Header is hidden in its initial HTML state, then reveals with the page. */
body:is(.homepage,.about-v24)>header.header-pending{visibility:hidden}
body:is(.homepage,.about-v24)>header.header-entering:before{animation:header27-in 1.5s cubic-bezier(.22,1,.36,1) both!important;transform-origin:left center}
body:is(.homepage,.about-v24)>header.header-entering .logo img{animation:shared-logo .45s .2s cubic-bezier(.22,1,.36,1) both!important}
body:is(.homepage,.about-v24)>header.header-entering :is(nav a,.cv-label,.cv-triangle,.menu-toggle){animation:shared-label .65s .85s cubic-bezier(.22,1,.36,1) both!important}
body:is(.homepage,.about-v24)>header.header-entering :is(.logo,.header-cv):after{animation:shared-line .45s 1.25s ease both!important}
body:is(.homepage,.about-v24)>header.header-leaving:before{animation:header27-in 1.25s ease reverse both!important}
body:is(.homepage,.about-v24)>header.header-leaving .logo img{animation:shared-logo .35s .85s ease reverse both!important}
@keyframes header27-in{0%{opacity:0;transform:scale(.8);clip-path:inset(0 calc(100% - var(--logo-cell)) 0 0 round 20px)}20%,40%{opacity:1;transform:scale(1);clip-path:inset(0 calc(100% - var(--logo-cell)) 0 0 round 20px)}100%{opacity:1;transform:scale(1);clip-path:inset(0 round 20px)}}
.about-v24 .hero-orbit{border:0!important;touch-action:pan-y;cursor:grab}
.about-v24 .hero-orbit:after,.about-v24 .hero-orbit:before{display:none!important}
.about-v24 .hero-orbit.is-dragging{cursor:grabbing}
.about-v24 .hero-orbit.is-dragging .orbit-card{transition-duration:.3s}
.about-v24 .about-opening{border-bottom:0!important}
.orbit-drag-hint{display:flex;align-items:center;justify-content:center;gap:14px;color:#9ca4ab;font-size:14px;margin:24px 0 48px;opacity:0;transition:opacity .25s}
.hero-orbit:hover+.orbit-drag-hint,.hero-orbit:focus-within+.orbit-drag-hint{opacity:1}
.drag-hand{font-size:24px;animation:drag-guide 1.7s ease-in-out infinite}
@keyframes drag-guide{0%,100%{transform:translateX(-7px) rotate(-12deg)}50%{transform:translateX(7px) rotate(12deg)}}
.about-v24 .connect-actions a:before{inset:auto!important;left:-145%!important;top:50%!important;width:140%;aspect-ratio:1;border-radius:50%;transform:translateY(-50%)!important;transition:left .65s cubic-bezier(.22,1,.36,1)!important}
.about-v24 .connect-actions a:is(:hover,:focus-visible):before{left:-20%!important}
.about-v24 .connect-actions .pdf-arrow{width:22px;height:22px;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.about-v24 .connect-actions a:is(:hover,:focus-visible) .pdf-arrow{transform:translateY(-3px)}
.scroll-type .type-char{color:#a9aeb1;transition:color .12s}
.scroll-type .type-char.typed{color:var(--ink,#1e272e)}
@media(max-width:1100px) and (min-width:701px){body:is(.homepage,.about-v24)>header{grid-template-columns:var(--logo-cell) 1fr 170px}body.homepage .hero-intro{width:52%;max-width:52%}.greeting-line{white-space:normal}}
@media(max-width:700px){
 body:is(.homepage,.about-v24)>header{--logo-cell:calc(2 * (var(--page-gutter) - 10px) + 44px);grid-template-columns:var(--logo-cell) 1fr 60px}
 body.homepage .hero .expertise-intro{font-size:16px!important}
 body.homepage .hero-intro{left:var(--page-gutter)!important}
 body.about-v24 .bounded{width:calc(100% - 2 * (var(--page-gutter) - 10px))}
 body.about-v24 .about-end{padding-inline:calc(var(--page-gutter) - 10px)}
 body.homepage .case-hover-description{width:100%}.card-copy-line{display:inline}.card-copy-line+.card-copy-line:before{content:' '}
 .orbit-drag-hint{opacity:1;margin:20px 0 40px}
 body.homepage .footer-bottom{display:flex!important;flex-direction:column;align-items:flex-start}
 body.homepage .footer-copyright{order:-1}body.homepage .footer-credit{text-align:left}
}
@media(prefers-reduced-motion:reduce){body:is(.homepage,.about-v24)>header.header-pending{visibility:visible}.drag-hand{animation:none}.scroll-type .type-char{color:var(--ink)}a.motion-link{transition:none!important}}
body.homepage .view-all-arrow .pdf-arrow{transform:none;width:100%;height:100%}
