.header{position:sticky;top:0;z-index:30;box-shadow:0 10px 35px #0002}
.button{position:relative;overflow:hidden;isolation:isolate;transition:transform .22s,background .22s,box-shadow .22s}
.button::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 20%,#ffffff50 50%,transparent 75%);transform:translateX(-130%);transition:transform .55s}
.button:hover::before,.button:focus-visible::before{transform:translateX(130%)}
.button:hover{box-shadow:0 9px 25px #f4ae3b28}
.button:active{transform:translateY(1px) scale(.98)}
nav a{position:relative;transition:color .2s}
nav a::after{content:'';position:absolute;bottom:-6px;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s}
nav a:hover::after,nav a[aria-current]::after{transform:scaleX(1)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:4px;color:var(--paper);padding:7px 10px;cursor:pointer}
.motion-enabled .reveal{transition:opacity .7s,transform .7s}
.motion-enabled .reveal.pending{opacity:0;transform:translateY(24px)}
.photo-grid figure img{transition:transform .5s}.photo-grid figure:hover img{transform:scale(1.035)}
@media(max-width:700px){.menu-toggle{display:block;font-size:20px}.header{gap:10px}.header .button{padding:10px}.brand-sub{display:none}nav.is-open{position:absolute;display:flex;top:78px;left:0;right:0;background:var(--ink);padding:25px 5%;box-shadow:0 20px 30px #0006;justify-content:space-between}html{scroll-padding-top:95px}}
@media(prefers-reduced-motion:reduce){.motion-enabled .reveal.pending{opacity:1;transform:none}.button::before{display:none}.motion-enabled .reveal{transition:none}.photo-grid figure img{transition:none}}
