/* Button-only refresh. Page layout, typography and media remain in style.css. */
.button,.text-link,.floating,.menu,#close-lightbox{border-radius:4px;font-family:inherit;font-weight:600;letter-spacing:.015em;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,border-color .18s ease}
.button{background:var(--blue);box-shadow:inset 0 0 0 1px #ffffff14;gap:24px;position:relative;isolation:isolate;overflow:hidden}
.button:hover{background:#3468e8;box-shadow:inset 0 0 0 999px #0c101522;transform:none}
.button:active{box-shadow:inset 0 0 0 999px #0c101544}
.button>span,.text-link>span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;font-size:19px;font-weight:400;line-height:1;transition:transform .18s ease,background-color .18s ease}
.button>span{border-left:1px solid #ffffff35;padding-left:12px;width:36px;flex-basis:36px}
.button:hover>span{transform:translate(2px,-2px)}
.header-actions .button{background:transparent;box-shadow:inset 0 0 0 1px #97a5b270;color:var(--white)}
.header-actions .button:hover{box-shadow:inset 0 0 0 1px var(--blue);background:#3468e812}
.header-actions .button>span{border:0;padding:0;width:20px;flex-basis:20px;font-size:17px}
.text-link{border-bottom:0;box-shadow:inset 0 -1px 0 #97a5b260;gap:24px}
.text-link>span{border:1px solid #97a5b24d;border-radius:3px;font-size:17px}
.text-link:hover{color:var(--white);box-shadow:inset 0 -1px 0 var(--blue)}
.text-link:hover>span{border-color:var(--blue);background:var(--blue);transform:translateX(2px)}
.menu,#close-lightbox{box-shadow:inset 0 0 0 1px #97a5b260;padding:10px 12px;background:transparent;min-height:40px}
.menu:hover,#close-lightbox:hover{box-shadow:inset 0 0 0 1px var(--blue);background:var(--panel)}
summary b{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;border:1px solid #97a5b250;border-radius:3px;line-height:1;font-size:19px;transition:color .18s ease,border-color .18s ease,background-color .18s ease,transform .18s ease}
summary:hover b,details[open] summary b{border-color:var(--blue);background:var(--blue);color:var(--white)}
.gallery button{border-radius:4px}
.gallery button>span{align-items:center;transition:border-color .18s ease}
.gallery button b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border:1px solid #97a5b250;border-radius:3px;font-size:17px;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
.gallery button:hover>span{border-color:var(--blue)}
.gallery button:hover b{background:var(--blue);border-color:var(--blue);transform:translate(2px,-2px)}
.floating{background:var(--panel);border:1px solid #97a5b270;box-shadow:none;padding:12px 18px}
.floating:hover{border-color:var(--blue);background:var(--blue)}
.header-actions>a:not(.button),details a,.contact-link,.footer-top>div>a,.footer-bottom>a{transition:color .18s ease}
.header-actions>a:not(.button):hover,details a:hover,.contact-link:hover,.footer-top>div>a:hover,.footer-bottom>a:hover{color:#97a5b2}
.hero-bottom>a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #97a5b250;border-radius:4px;font-size:21px;transition:border-color .18s ease,background-color .18s ease}
.hero-bottom>a:hover{border-color:var(--blue);background:var(--blue);color:var(--white)}
@media(max-width:760px){.button{gap:18px}.header-actions .button{gap:10px}.menu{padding:8px 10px}.text-link{gap:18px}}
@media(prefers-reduced-motion:reduce){.button:hover>span,.text-link:hover>span,.gallery button:hover b{transform:none}}
