/* Shared portfolio frame. Load after every page stylesheet. */
html{scrollbar-gutter:stable}
.multipage{--site-max:1440px;--site-outer:0px;--site-gutter:64px;--site-header:76px}
.multipage .wrap{width:100%;max-width:min(var(--site-max),calc(100% - var(--site-outer)));margin-inline:auto;padding-left:var(--site-gutter);padding-right:var(--site-gutter)}
.multipage>.nav.wrap{height:var(--site-header);min-height:var(--site-header);margin-block:0;display:flex;align-items:center;flex-wrap:nowrap;gap:24px;border:0;position:relative;flex-shrink:0}
.multipage>.nav.wrap .brand{font-size:18px;gap:14px;flex:none}
.multipage>.nav.wrap .brand>span{width:42px;height:42px;font-size:23px}
.multipage>.nav.wrap .menu{display:none}
.multipage>.nav.wrap nav{display:flex;position:static;align-items:center;justify-content:flex-end;gap:20px;margin:0 0 0 auto;padding:0;border:0;background:transparent;font-size:13px}
.multipage>.nav.wrap nav a{display:inline-flex;align-items:center;min-height:44px;padding:0;margin:0;border:0;text-decoration:none}
.multipage>.nav.wrap nav a[aria-current=page]{color:var(--accent);border:0;margin:0;padding:0;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:10px}
.multipage>.nav.wrap nav .mobile-contact{display:none}
.multipage>.nav.wrap .nav-actions{display:flex;align-items:center;gap:16px;flex:none}
.multipage>.nav.wrap .theme-toggle{min-width:62px;min-height:44px;padding:8px 10px;font-size:12px}
.multipage>.nav.wrap .nav-actions .button{display:inline-flex;min-height:44px;font-size:12px;padding:10px 16px}
.multipage>footer.wrap{margin-block:0;padding-top:16px;padding-bottom:16px;gap:20px;min-height:72px;flex-shrink:0}
.multipage>footer.wrap>.brand{font-size:12px;gap:14px}
.multipage>footer.wrap>.brand>span{width:28px;height:28px;font-size:16px}
.multipage>footer.wrap>div{gap:22px}
.multipage>footer.wrap a,.multipage>footer.wrap button,.multipage>footer.wrap p{font-size:11px}
.multipage .recommendation-list{max-width:100%}
.multipage .recommendation-entry blockquote{max-width:72ch}
.multipage .contact-context>p{max-width:65ch}
.home-proof-links .linkedin-mark{display:block;width:28px;height:28px;object-fit:contain;flex:none}
.home-proof-links .linkedin-mark-light{display:none}
[data-theme=light] .home-proof-links .linkedin-mark-light{display:block}
[data-theme=light] .home-proof-links .linkedin-mark-dark{display:none}
@media(max-width:1100px){
  .multipage{--site-gutter:36px}
  .multipage>.nav.wrap{gap:12px}
  .multipage>.nav.wrap .brand{font-size:15px;gap:10px}
  .multipage>.nav.wrap .menu{display:block;margin-left:auto;min-width:44px;min-height:44px;padding:10px;flex:none}
  .multipage>.nav.wrap nav{display:none;position:absolute;left:0;right:0;top:var(--site-header);padding:18px var(--site-gutter);margin:0;gap:8px 24px;flex-wrap:wrap;justify-content:flex-start;background:var(--bg);border-bottom:1px solid var(--line);z-index:10;font-size:14px}
  .multipage>.nav.wrap nav.open{display:flex}
  .multipage>.nav.wrap nav .mobile-contact{display:inline-flex}
  .multipage>.nav.wrap .nav-actions{gap:0}
  .multipage>.nav.wrap .nav-actions .button{display:none}
}
@media(max-width:760px){
  .multipage{--site-gutter:24px;--site-header:68px}
  .multipage>.nav.wrap{padding-left:16px;padding-right:16px;gap:8px}
  .multipage>.nav.wrap .brand{font-size:14px;gap:10px}
  .multipage>.nav.wrap .brand>span{width:34px;height:34px;font-size:19px}
  .multipage>.nav.wrap .theme-toggle{min-width:50px;min-height:44px;padding:8px;font-size:11px}
  .multipage>footer.wrap{padding-top:20px;padding-bottom:20px}
  .multipage>footer.wrap>div{flex-wrap:wrap;gap:12px 22px}
}
@media(max-width:360px){
  .multipage>.nav.wrap .brand{font-size:12px;gap:8px}
  .multipage>.nav.wrap .brand>span{width:30px;height:30px;font-size:18px}
}
@media(min-width:1600px){
  .multipage{--site-max:2240px;--site-outer:128px}
}
@media(min-width:1600px) and (max-height:999px){
  .multipage{--site-max:1720px}
}
@media(min-width:1600px) and (min-height:1000px){
  .multipage{--site-header:clamp(84px,4.5vw,104px)}
  .multipage>.nav.wrap .brand{font-size:clamp(18px,1.1vw,24px)}
  .multipage>.nav.wrap .brand>span{width:48px;height:48px;font-size:26px}
  .multipage>.nav.wrap nav{font-size:clamp(14px,.8vw,18px);gap:clamp(20px,1.2vw,32px)}
  .multipage>.nav.wrap .nav-actions .button,.multipage>.nav.wrap .theme-toggle{font-size:14px;min-height:48px}
  .multipage>footer.wrap>.brand{font-size:14px}
  .multipage>footer.wrap a,.multipage>footer.wrap button,.multipage>footer.wrap p{font-size:clamp(12px,.65vw,14px)}
  .multipage .vx-heading h1,.multipage .page-title,.multipage .profile-intro h1{font-size:clamp(52px,3vw,76px);line-height:1.15}
  .multipage .vx-case-hero h1{font-size:clamp(52px,2.7vw,68px)}
  .multipage .vx-heading p,.multipage .page-intro,.multipage .profile-intro>p,.multipage .vx-case-hero>div>p{font-size:clamp(18px,1vw,22px)}
  .multipage .vx-main,.multipage .profile-layout,.multipage .page-section{padding-top:48px}
  .multipage .vx-domain-stage{gap:64px;padding-block:40px}
  .multipage .vx-domain-copy h2{font-size:clamp(34px,1.8vw,44px)}
  .multipage .vx-domain-copy>p{font-size:18px}
  .multipage .vx-domain-tabs button{font-size:16px;min-height:80px;gap:14px}
  .multipage .vx-domain-art .vx-art{height:clamp(420px,22vw,560px)}
  .multipage .vx-heading.with-art>.vx-art{height:clamp(260px,12vw,340px)}
  .multipage .vx-case-hero>.vx-art{height:clamp(380px,20vw,500px)}
  .multipage .vx-project-gallery{gap:0 48px}
  .multipage .vx-project h2{font-size:26px}
  .multipage .vx-project-hook{font-size:16px}
  .multipage .vx-featured .vx-project-hook{font-size:24px}
  .multipage .vx-project-copy>.text-link,.multipage .vx-project-sector{font-size:14px}
  .multipage .vx-project-state{font-size:12px}
  .multipage .vx-project-image .vx-art{height:180px}
  .multipage .vx-featured .vx-project-image .vx-art{height:clamp(360px,20vw,500px)}
  .multipage .vx-featured .vx-project-summary{font-size:16px;max-width:65ch}
  .multipage .vx-controls button{font-size:14px;padding:12px 20px}
  .multipage .vx-design-layout,.multipage .vx-lab-layout{gap:36px}
  .multipage .vx-design-nodes strong,.multipage .vx-station strong{font-size:16px}
  .multipage .vx-design-nodes small,.multipage .vx-station small{font-size:13px}
  .multipage .vx-insight p,.multipage .vx-lab-insight p,.multipage .vx-lab-method p,.multipage .vx-leadership p{font-size:16px;max-width:70ch}
  .multipage #story-panel p{font-size:18px}
  .multipage .profile-layout{gap:28px 44px}
  .multipage .domain-copy strong{font-size:16px}
  .multipage .domain-copy small,.multipage .technology-focus p,.multipage .focus-links a{font-size:14px}
  .multipage .skill-row{padding:12px 16px;gap:24px}
  .multipage .technology{font-size:12px;min-width:76px;min-height:76px;max-width:112px}
  .multipage .profile-credential h3{font-size:18px}
  .multipage .profile-credential p,.multipage .credential-intro,.multipage .credential-snapshot{font-size:13px}
  .multipage .profile-credential a{font-size:14px;min-height:44px}
  .multipage .profile-workflow strong{font-size:15px}
  .multipage .profile-workflow small,.multipage .profile-useful a{font-size:13px}
  .multipage .profile-more summary{font-size:16px}
}

/* A shared external-link symbol, independent of font glyph metrics. */
.multipage .external-link-label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.multipage .external-arrow{display:block;width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.multipage .home-proof-links .external-arrow{width:16px;height:16px}
