/* A small upward relay, using the same fine navy/orange language as the site. */
.back-top{isolation:isolate;overflow:hidden;transition:background .25s,border-color .25s,color .25s}
.back-top-window{position:relative;display:block;width:24px;height:24px;overflow:hidden}
.back-top-window svg{position:absolute;inset:0;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.back-top-window svg+svg{transform:translateY(125%)}
.back-top:is(:hover,:focus-visible){background:var(--ink);border-color:var(--ink);color:white}
.back-top:is(:hover,:focus-visible) svg:first-child{transform:translateY(-125%)}
.back-top:is(:hover,:focus-visible) svg+svg{transform:translateY(0)}
.back-top:active{background:var(--ink);border-color:var(--ink)}
@media(max-width:960px){
 .header .menu-toggle{position:relative;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;gap:0;border:1px solid #203a6033;border-radius:50%;transition:background .3s,border-color .3s;align-items:center}
 .header .menu-toggle span{position:absolute;top:50%;left:10px;width:22px;height:1px;background:var(--ink);transition:transform .4s cubic-bezier(.22,1,.36,1),background .25s}
 .header .menu-toggle span:first-child{transform:translateY(-3.5px)}
 .header .menu-toggle span:last-child{transform:translateY(3.5px)}
 .header .menu-toggle[aria-expanded="true"]{background:var(--ink);border-color:var(--ink)}
 .header .menu-toggle[aria-expanded="true"] span{background:var(--paper)}
 .header .menu-toggle[aria-expanded="true"] span:first-child{transform:rotate(45deg)}
 .header .menu-toggle[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}
 .mobile-nav{padding:calc(var(--menu-header-bottom,84px) + 28px) 7% max(28px,env(safe-area-inset-bottom));background:var(--paper);clip-path:inset(0);border-bottom:1px solid #203a601a}
 .mobile-nav[hidden]{display:none}
 .mobile-nav:not([hidden]){display:flex;flex-direction:column;justify-content:flex-start;gap:0}
 .menu-caption{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;font-size:12px;letter-spacing:.12em;line-height:1.5;margin:0 0 24px;color:var(--ink)}
 .menu-caption>span{font-size:12px;color:var(--muted);letter-spacing:.15em}
 .menu-links{width:100%;margin:auto 0;flex-shrink:0}
 .mobile-nav .menu-link{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;gap:12px;align-items:center;padding:18px 0;border-bottom:1px solid #203a6026;font-weight:400;line-height:1.4;background:transparent;color:var(--ink);transition:color .2s}
 .menu-link-index{font-size:12px;letter-spacing:.04em;color:var(--muted);align-self:center}
 .menu-link-copy{display:flex;flex-direction:column;gap:5px}
 .menu-link-copy small{font-size:12px;letter-spacing:.1em;color:var(--muted);line-height:1.4}
 .menu-link-copy>span{font-size:clamp(20px,5.4vw,28px);line-height:1.5;letter-spacing:.025em}
 .menu-link-mark{font-size:21px;color:var(--orange);transition:transform .3s cubic-bezier(.22,1,.36,1)}
 .mobile-nav .menu-link:is(:hover,:focus-visible){color:var(--orange)}
 .menu-link:is(:hover,:focus-visible) .menu-link-mark{transform:translate(2px,-2px)}
 .mobile-nav .menu-link:last-child{margin-top:24px;padding:17px 18px;background:var(--orange);border:0;border-radius:10px;color:#fff}
 .menu-link:last-child .menu-link-index,.menu-link:last-child .menu-link-copy small,.menu-link:last-child .menu-link-mark{color:#fff}
 .menu-link:last-child .menu-link-copy>span{font-size:20px}
 .menu-signature{margin:28px 0 0;font-size:12px;line-height:1.8;letter-spacing:.09em;color:var(--muted);flex-shrink:0}
}
@media(max-width:960px) and (max-height:740px){
 .mobile-nav{padding-top:calc(var(--menu-header-bottom,76px) + 18px)}
 .menu-caption{margin-bottom:14px}
 .mobile-nav .menu-link{padding:12px 0}
 .menu-link-copy>span{font-size:21px}
 .mobile-nav .menu-link:last-child{margin-top:18px;padding:14px 18px}
 .menu-signature{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .back-top,.back-top-window svg,.header .menu-toggle,.header .menu-toggle span,.menu-link-mark{transition:none}
}

/* Footer text follows the header's directional underline. */
.footer-links>a,.footer-links>button{position:relative;width:max-content;max-width:100%;transition:color .2s}
.footer-links>a::after,.footer-links>button::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.footer-links>a:is(:hover,:focus-visible),.footer-links>button:is(:hover,:focus-visible){color:var(--orange)}
.footer-links>a:is(:hover,:focus-visible)::after,.footer-links>button:is(:hover,:focus-visible)::after{transform:scaleX(1);transform-origin:left}
/* Photo navigation uses the same departing/arriving arrow as back-to-top. */
.workspace-arrows button{display:grid;place-items:center;padding:0;--arrow-exit:125%;--arrow-enter:-125%}
.workspace-arrows button[data-slide-direction="-1"]{--arrow-exit:-125%;--arrow-enter:125%}
.workspace-arrows button:is(:hover,:focus-visible){background:white;border-color:#acb9bf;color:var(--ink)}
.workspace-arrow-window{position:relative;display:block;width:22px;height:22px;overflow:hidden}
.workspace-arrow-window svg{position:absolute;inset:0;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.workspace-arrow-window svg+svg{transform:translateX(var(--arrow-enter))}
.workspace-arrows button:is(:hover,:focus-visible) svg:first-child{transform:translateX(var(--arrow-exit))}
.workspace-arrows button:is(:hover,:focus-visible) svg+svg{transform:translateX(0)}
@media(prefers-reduced-motion:reduce){.footer-links>a,.footer-links>button,.footer-links>a::after,.footer-links>button::after,.workspace-arrow-window svg{transition:none}}
