/* Shared responses across the portfolio and the case study. */
.reading-progress{position:fixed;inset:0 0 0 auto;width:3px;height:100%;background:#ffe240;z-index:120;transform:scaleY(0);transform-origin:top;pointer-events:none}
@media(max-width:700px){.reading-progress{inset:0 auto 0 0}}
.page-return{position:fixed;left:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:29;display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fffef6f2;border:1px solid #1113;border-radius:999px;color:#111;box-shadow:0 3px 16px #0001;font-size:12px;backdrop-filter:blur(12px)}
.page-return[hidden]{display:none}.page-return button{width:30px;height:30px;border:0;background:transparent;color:inherit;font:20px/1 sans-serif;cursor:pointer}.page-return button:focus-visible{outline:2px solid #111;outline-offset:3px;border-radius:50%}
body.menu-open .page-return,body:has(.lightbox.on) .page-return,html.splash-active .page-return{visibility:hidden}
.menu-panel nav a[aria-current=location]{color:#ffe240;border-bottom-color:#ffe240}
.topbar a[aria-current=location]{text-decoration:underline;text-decoration-color:#ffe240;text-decoration-thickness:3px;text-underline-offset:6px}
.menu-panel nav a{transition:color .25s,padding-left .35s,background-size .35s}
.figma-thumb,.palett-thumb,.page-thumb,.thumb,.link-btn,.contact-submit,.archive-link{transition:translate .3s ease,box-shadow .3s ease,background-color .25s,color .25s}
.project:focus-within,.archive-card:focus-within,.earlier-card:focus-within{outline:2px solid #111;outline-offset:6px}
.figma-thumb:active,.palett-thumb:active,.page-thumb:active,.thumb:active,.link-btn:active,.contact-submit:active{translate:0 2px}
.contact-field:focus-within label{color:#111}.contact-field:focus-within input,.contact-field:focus-within textarea{border-color:#111;box-shadow:0 3px 0 #ffe240;outline-offset:4px}
.hero-visual .hero-orbit{translate:var(--pointer-x,0px) var(--pointer-y,0px);transition:translate .5s ease-out}
.hero-visual .hero-arc{translate:calc(var(--pointer-x,0px) * -.5) calc(var(--pointer-y,0px) * -.5);transition:translate .65s ease-out}
@media(hover:hover) and (pointer:fine){.figma-thumb:hover,.palett-thumb:hover,.page-thumb:hover,.thumb:hover{translate:0 -5px;box-shadow:0 12px 28px #0002}.link-btn:hover,.contact-submit:hover{translate:0 -3px}.archive-link:hover{box-shadow:0 3px 0 #ffe240}.service-row:hover .service-name{translate:8px 0}.service-name{transition:translate .3s}}
@media(max-width:600px){.page-return{left:16px;bottom:calc(16px + env(safe-area-inset-bottom));padding:6px;min-height:44px}.page-return-label{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.hero-visual .hero-orbit,.hero-visual .hero-arc{translate:none!important}.figma-thumb,.palett-thumb,.page-thumb,.thumb,.link-btn,.contact-submit,.service-name{translate:none!important;transition:none!important}.reveal{transition-delay:0s!important}}
