/* Small visual responses shared throughout the site. */
.text-link,.back-top,.footer-links a,.home-portfolio-link>a,.session-grid a,.about-social a{transition:color .2s,translate .2s,text-decoration-color .2s}
.session-grid a:hover,.about-social a:hover{translate:3px 0}.footer-bottom>a:hover{translate:0 -2px}
.filter-bar button,.work-view-controls button,.board-actions button,.quick-view,.menu-theme{transition:background .22s,color .22s,border-color .22s,box-shadow .22s}
.quick-view:hover,.board-actions button:hover{box-shadow:0 3px 0 color-mix(in srgb,var(--ink) 15%,transparent)}
.navigation .tiny-brand .brand-dot{display:inline-block;transition:scale .25s}.navigation .tiny-brand:hover .brand-dot{scale:1.25}
.contact-layout label{transition:color .2s}.contact-layout label:focus-within{color:var(--blue)}.contact-layout input,.contact-layout textarea,.contact-layout select{transition:border-color .2s,background-color .2s,box-shadow .2s}.contact-layout input:focus,.contact-layout textarea:focus,.contact-layout select:focus{box-shadow:0 4px 0 color-mix(in srgb,var(--blue) 12%,transparent)}
.contact-layout .field-feedback{font-size:12px;line-height:1.5;color:#a32b27}.contact-layout .field-feedback:empty{display:none}.contact-layout .field-invalid input,.contact-layout .field-invalid textarea{border-color:#a32b27}.darkroom .contact-layout .field-feedback{color:#ffada6}.darkroom .contact-layout .field-invalid input,.darkroom .contact-layout .field-invalid textarea{border-color:#ffada6}.contact-layout .field-complete input,.contact-layout .field-complete textarea{border-color:var(--blue)}
.lightbox-close:hover{background:#edff76;color:#24261e;border-color:#edff76}.lightbox-controls button{transition:background .2s,color .2s}.look-note summary,.about-faq summary{transition:color .2s}.look-note summary:hover,.about-faq summary:hover{color:var(--blue)}
@media(hover:hover) and (pointer:fine){#work.work .photo-board .photo-button:hover{box-shadow:0 8px 20px #17211626}.print-story:hover{filter:brightness(1.12)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}.session-grid a:hover,.about-social a:hover,.footer-bottom>a:hover{translate:none}}
/* Fine-grained feedback without changing target positions or document flow. */
.navigation nav a:not(.nav-contact)::after{transition:transform .3s cubic-bezier(.16,1,.3,1)}
.navigation nav a[aria-current=page]::after{transform:scaleX(1)}
.text-link,.footer-links a,.footer-bottom a,.session-grid a,.preview-story{ text-decoration-thickness:1px;text-underline-offset:5px }
.footer-links a:hover,.footer-bottom a:hover{ text-decoration:underline }
.print-story,.quick-view,.submit-inquiry{transition:background-color .25s,color .25s,box-shadow .25s,filter .25s}
.print-story:focus-visible,.quick-view:focus-visible{box-shadow:0 0 0 5px color-mix(in srgb,var(--blue) 15%,transparent)}
.menu-bars i{transform-origin:center}.menu-toggle:hover .menu-bars i:first-child{width:15px}.menu-toggle:hover .menu-bars i:last-child{width:22px}.menu-bars i{transition:width .25s,transform .3s}
.menu-link .menu-number{transition:opacity .25s,color .25s}.menu-link:hover .menu-number{opacity:1;color:var(--menu-accent)}
.filter-bar button span{display:inline-block;transition:transform .25s}.filter-bar button[aria-pressed=true] span{transform:translateY(-1px)}
.lightbox-close,.preview-previous,.preview-next{transition:background-color .2s,color .2s,box-shadow .2s}.lightbox-controls button:focus-visible{outline-color:#edff76}
.photo-button img,.portfolio-image img{transition:filter .4s,transform .6s}.photo-button:focus-visible img{filter:brightness(1.06)}
.inquiry-progress{display:flex;flex-direction:column;gap:12px}.inquiry-progress-label{font-family:'Courier New',monospace;font-size:12px;color:var(--ink)}.inquiry-progress-track{display:block;height:3px;background:var(--line);overflow:hidden}.inquiry-progress-track i{display:block;height:100%;width:0;background:var(--blue);transition:width .45s cubic-bezier(.2,.8,.2,1)}.message-count{font-family:'Courier New',monospace;font-size:11px;opacity:.6;text-align:right;font-weight:400}
.contact-layout label:focus-within .message-count{opacity:1}.contact-layout input:hover,.contact-layout textarea:hover,.contact-layout select:hover{border-color:color-mix(in srgb,var(--ink) 60%,transparent)}
@media(hover:hover) and (pointer:fine){
 .portfolio-image:after,.photo-button:after,.expand-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(180px circle at var(--pointer-x,50%) var(--pointer-y,50%),#ffffff15,transparent 75%);opacity:0;transition:opacity .35s}
 .portfolio-image:hover:after,.photo-button:hover:after,.expand-photo:hover:after{opacity:1}
 .little-stamp:hover{box-shadow:4px 5px 0 color-mix(in srgb,var(--ink) 14%,transparent)}
 .next-story:hover strong>span{display:inline-block;transform:translate(5px,-5px)}.next-story strong>span{transition:transform .3s}
}
body.motion-paused .portfolio-image:after,body.motion-paused .photo-button:after,body.motion-paused .expand-photo:after{display:none}
@media(prefers-reduced-motion:reduce){.portfolio-image:after,.photo-button:after,.expand-photo:after{display:none}.inquiry-progress-track i{transition:none}}
