/* Shared interaction polish: no animation libraries or additional image downloads. */
header{position:relative;z-index:100}
.projects-dropdown{position:relative}
.projects-dropdown summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px}
.projects-dropdown summary::-webkit-details-marker{display:none}
.projects-dropdown summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.projects-dropdown[open] summary{color:var(--deepgold)}
.projects-dropdown-panel{position:absolute;top:100%;left:-24px;min-width:330px;padding:24px 18px 14px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 18px 36px #151b1926;z-index:110;animation:detail-arrive .2s ease;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.projects-dropdown-panel p{margin:0 12px 14px;color:var(--deepgold);font:500 12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:.02em;text-transform:none}
.projects-dropdown-panel a,.mobile-menu .projects-dropdown-panel a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 12px;font:400 16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:-.015em;text-transform:none;border-bottom:1px solid var(--line)}
.projects-dropdown-panel a:last-child{border:0}
.projects-dropdown-panel a.projects-dropdown-all{color:var(--deepgold);font-weight:500;margin-bottom:8px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.projects-dropdown-panel a:hover,.projects-dropdown-panel a:focus-visible{background:#e9dfcd;color:#242b25}
.projects-dropdown-panel a span{color:var(--deepgold)}
.mobile-menu .projects-dropdown summary{min-height:52px;padding:0 20px;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.mobile-menu .projects-dropdown-panel{position:static;min-width:0;box-shadow:none;padding:14px 20px;background:#f0eadd}
.mobile-menu .projects-dropdown-panel a::after{content:none}
@media(max-width:760px){header{position:sticky;top:0}.mobile-menu{max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain}}
@media(prefers-reduced-motion:reduce){.projects-dropdown-panel{animation:none}}
.project-lightbox,.lightbox{z-index:700}
.category-burst{position:fixed;inset:0;z-index:1001;pointer-events:none;overflow:hidden;contain:strict}
.category-burst span{position:absolute;font:26px/1 "Apple Color Emoji","Segoe UI Emoji",sans-serif;user-select:none;pointer-events:none}
@media(pointer:coarse){.category-burst span{font-size:23px}}
@media(prefers-reduced-motion:reduce){.category-burst{display:none}}
.gold-ripple{position:fixed;z-index:1000;width:94px;height:94px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#ead29b55 0%,#d4ac6466 40%,transparent 70%);border:1px solid #dbb97788}
.button,.portfolio-page-button,.menu-toggle,.pager a,.lightbox-close,.lightbox .close{transition:background-color .2s,color .2s,box-shadow .2s,scale .2s cubic-bezier(.22,1,.36,1)}
.button:active,.portfolio-page-button:active,.menu-toggle:active,.pager a:active,.lightbox-close:active,.lightbox .close:active{scale:.96}
:is(a,button):focus-visible{outline:2px solid #b48a46;outline-offset:5px}
.filter-pill{background:linear-gradient(115deg,#26332b,#1b251f);box-shadow:inset 3px 0 #dabb80,0 5px 16px #17221915;transition:transform .42s cubic-bezier(.22,1,.36,1),width .42s cubic-bezier(.22,1,.36,1),height .42s cubic-bezier(.22,1,.36,1)}
.project.filter-reveal{animation-duration:.52s;animation-delay:var(--reveal-delay,0ms)}
.project{position:relative;isolation:isolate}
.project::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;border:1px solid transparent;opacity:0;transition:opacity .3s;background:radial-gradient(ellipse at var(--shine-x,50%) 0%,#ecd39b24,transparent 60%)}
.project img{transition:transform .65s cubic-bezier(.22,1,.36,1),filter .4s}
.lightbox-copy,.modal-copy{animation:detail-arrive .4s ease both}
@keyframes detail-arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(hover:hover) and (pointer:fine){
 .project:hover::after{opacity:1;border-color:#c4a16666}
 .project:hover img{transform:scale(1.025);filter:brightness(1.035)}
 .button:hover,.portfolio-page-button:not(:disabled):hover,.pager a:hover{box-shadow:0 7px 20px #75603b24}
}
@media(max-width:760px){
 header{background:#faf8f0ed;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
 .mobile-menu.is-open{animation:detail-arrive .25s ease both}
 .mobile-menu.is-open a{animation:detail-arrive .3s ease both}
 .mobile-menu.is-open a:nth-child(2){animation-delay:35ms}
 .mobile-menu.is-open a:nth-child(3){animation-delay:70ms}
 .mobile-menu.is-open a:nth-child(4){animation-delay:105ms}
}
@media(prefers-reduced-motion:reduce){
 .project,.project img,.project::after,.filter-pill,.button,.portfolio-page-button,.menu-toggle,.pager a,.lightbox-close,.lightbox .close,.lightbox-copy,.modal-copy,.mobile-menu.is-open,.mobile-menu.is-open a{animation:none!important;transition:none!important;scale:none!important}
 .project:hover img{transform:none}
}
