/* Hallmark · scoped accents · pre-emit critique: P4 H4 E4 S5 R4 V4 */
:root{color-scheme:only light;--color-on-ink:#fafbf9;--color-media:#171b18;--color-footer-meta:#d8dbd5}
html{scroll-behavior:auto}body{transition:background-color .35s ease,color .25s ease}
.skip-link,.name-label,.side-contact,.video-time,.button,.cc,.gpt{color:var(--color-on-ink)}
.video-wrap,.video-wrap>p{background:var(--color-media);color:var(--color-on-dark)}
.footer-meta{color:var(--color-footer-meta)}
.nav-pill::before{content:'';position:absolute;top:6px;bottom:6px;left:0;width:var(--nav-width,0px);transform:translateX(var(--nav-x,6px));background:var(--color-ink);border-radius:30px;pointer-events:none;transition:transform .48s cubic-bezier(.22,1,.36,1),width .42s cubic-bezier(.22,1,.36,1)}
.nav-pill a{position:relative;z-index:1;transition:color .3s ease,background-color .25s ease,transform .2s ease}
.nav-pill a.active{background:transparent;color:var(--color-on-ink)}.nav-pill a:active{transform:scale(.96)}
.nav-pill a:hover:not(.active){background:color-mix(in srgb,var(--color-rule) 65%,transparent)}
.filters{position:relative;isolation:isolate}
.filters::before{content:'';position:absolute;left:0;top:0;z-index:-1;width:var(--filter-width,0px);height:var(--filter-height,0px);transform:translate(var(--filter-x,0px),var(--filter-y,0px));border-radius:30px;background:var(--color-ink);pointer-events:none;transition:transform .42s cubic-bezier(.22,1,.36,1),width .36s ease,height .3s ease}
.filters button{position:relative;transition:color .28s ease,transform .2s ease}
.filters button[aria-pressed=true]{background:transparent;color:var(--color-on-ink)}.filters button:active{transform:scale(.95)}
.project-grid{align-content:start}.project-card{transform-origin:center top}
.profile-card,.search-box input,.nav-pill,.studio-signature{transition:background-color .35s ease,border-color .3s ease,color .25s ease}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nav-pill::before,.filters::before,body{transition:none!important}}
.project-grid[aria-busy=true]{pointer-events:none}

/* Quiet interaction feedback: restrained lift, clean edges and short settling. */
:root{--ease-refined:cubic-bezier(.22,1,.36,1);--color-button-edge:#1f231f20;--color-button-shadow:#1f231f0d;--color-focus:#727c70}
a,button{-webkit-tap-highlight-color:transparent}
.nav-pill a,.filters button{transition:color .3s ease,background-color .3s ease,transform .28s var(--ease-refined)}
.nav-pill a:active,.filters button:active{transform:scale(.985)}
.nav-pill a:hover:not(.active){background:color-mix(in srgb,var(--color-rule) 28%,transparent)}
.filters button:hover:not([aria-pressed=true]){color:var(--color-ink)}
.studio-signature,.side-contact,.load-more,.search-toggle,.contact-button,.header-email{transition:background-color .35s var(--ease-refined),border-color .35s var(--ease-refined),color .3s ease,box-shadow .35s var(--ease-refined),transform .4s var(--ease-refined)}
.studio-signature:hover{border-color:var(--color-muted);box-shadow:0 8px 26px -18px var(--color-shadow)}
.side-contact:hover{background:color-mix(in srgb,var(--color-ink) 90%,var(--color-surface));transform:translateY(-1px)}
.load-more:hover,.search-toggle:hover{background:color-mix(in srgb,var(--color-surface) 70%,var(--color-paper));border-color:var(--color-muted);box-shadow:0 4px 16px -8px var(--color-button-shadow)}
.contact-button:hover{background:color-mix(in srgb,var(--color-on-dark) 8%,transparent);color:var(--color-on-dark);border-color:var(--color-on-dark);transform:translateY(-2px)}
.side-contact:active,.load-more:active,.search-toggle:active,.contact-button:active{transform:translateY(1px);box-shadow:none}
.project-image img{transition:transform .65s var(--ease-refined)}
.project-open:hover .project-image img{transform:scale(1.018)}
.project-open:hover .play-dot{transform:scale(1.035);background:var(--color-surface);color:var(--color-ink)}
.play-dot,.project-arrow{transition:transform .4s var(--ease-refined),background-color .3s ease,color .3s ease}
.project-open:hover .project-arrow{transform:translate(2px,-2px)}
a:focus-visible,button:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}
@media(prefers-reduced-motion:reduce){a,button,.project-image img,.play-dot,.project-arrow{transition:none!important}}

button:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}

/* Small overshoot on release creates a gently damped, tactile response. */
:root{--ease-soft-spring:cubic-bezier(.22,1.16,.36,1)}
.nav-pill a,.filters button,.side-contact,.load-more,.search-toggle,.contact-button,.header-email{transition:background-color .3s ease,border-color .3s ease,color .25s ease,box-shadow .35s ease,transform .48s var(--ease-soft-spring)}
.nav-pill a:hover,.filters button:hover{transform:translateY(-1px)}
.nav-pill a:active,.filters button:active{transform:translateY(1px) scale(.975);transition-timing-function:ease-out;transition-duration:.12s}
.side-contact:hover{transform:translateY(-2px) scale(1.006)}
.load-more:hover,.search-toggle:hover{transform:translateY(-1px) scale(1.006)}
.contact-button:hover{transform:translateY(-2px) scale(1.018)}
.side-contact:active,.load-more:active,.search-toggle:active,.contact-button:active{transform:translateY(1px) scale(.975);transition-timing-function:ease-out;transition-duration:.12s}
.play-dot,.project-arrow{transition:transform .5s var(--ease-soft-spring),background-color .3s ease,color .3s ease}
.project-open:active .play-dot{transform:scale(.94)}
.studio-signature,.explore-link .arrow-circle{transition:background-color .3s ease,border-color .3s ease,box-shadow .35s ease,transform .48s var(--ease-soft-spring)}
.studio-signature:hover{transform:translateX(-50%) translateY(-1px)}
.studio-signature:active{transform:translateX(-50%) translateY(1px) scale(.975);transition-duration:.12s;transition-timing-function:ease-out}
.explore-link:hover .arrow-circle{transform:translateY(2px)}
.explore-link:active .arrow-circle{transform:translateY(3px) scale(.96);transition-duration:.12s;transition-timing-function:ease-out}
@media(prefers-reduced-motion:reduce){.studio-signature,.explore-link .arrow-circle{transition:none!important}.studio-signature:hover,.studio-signature:active{transform:translateX(-50%)}.explore-link .arrow-circle{transform:none!important}}
@media(prefers-reduced-motion:reduce){.nav-pill a,.filters button,.side-contact,.load-more,.search-toggle,.contact-button,.header-email,.play-dot,.project-arrow{transition:none!important;transform:none!important}}

/* Original footage remains easy to find beside the viewing library. */
.original-library{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;margin:0 0 24px;border:1px solid var(--color-rule);border-radius:10px;background:var(--color-surface);transition:border-color .3s ease,box-shadow .35s ease,transform .48s var(--ease-soft-spring)}
.original-library strong{display:block;font-size:11px;font-weight:500;color:var(--color-ink)}
.original-library small{display:block;margin-top:5px;font-size:9px;line-height:1.7;color:var(--color-muted)}
.original-library>span:last-child{font-size:19px;color:var(--color-muted)}
.original-library:hover{border-color:var(--color-muted);box-shadow:0 8px 24px -18px var(--color-shadow);transform:translateY(-1px)}
.original-library:active{transform:translateY(1px) scale(.995);transition-duration:.12s}
.original-video{display:flex;justify-content:space-between;gap:10px;padding:13px 0;margin:15px 0;border-bottom:1px solid var(--color-rule);font-size:11px;color:var(--color-ink);transition:color .25s ease}
.original-video:hover{color:var(--color-muted)}
.library-top{align-items:flex-start}.search-toggle{margin-top:2px}
@media(prefers-reduced-motion:reduce){.original-library,.original-video{transition:none!important;transform:none!important}}
