/* Hallmark component refinement: calm, arrow-free actions; existing gold/glass material.
   Codex 2026-09-11: shared service dialogs, enquiry, navigation and footer actions. */
:root{--button-light:color-mix(in srgb,var(--color-ink) 24%,transparent);--button-edge:color-mix(in srgb,var(--color-ink) 40%,transparent)}
html body :is(.button-primary,.text-button,.request-top,#replay,.service-links button,.nav-links a){
 position:relative;isolation:isolate;overflow:hidden;cursor:pointer;
 transition:translate .28s var(--ease-out),scale .3s var(--ease-out),box-shadow .3s,border-color .3s,color .3s;
}
html body :is(.button-primary,.text-button){gap:0;letter-spacing:.015em;font-weight:600;white-space:nowrap}
html body :is(#service-dialog,#request-dialog) :is(.button-primary,.text-button){
 display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;
 padding:16px 24px;border-radius:18px;font-size:14px;line-height:1.25;text-align:center;
}
html body :is(.button-primary,.text-button,.request-top,#replay,.service-links button,.nav-links a)::after{
 content:"";position:absolute;inset:-40% auto -40% -60%;width:38%;height:auto;border-radius:inherit;
 background:linear-gradient(105deg,transparent,var(--button-light),transparent);
 pointer-events:none;opacity:0;transform:translateX(0) skewX(-12deg);
 animation:button-idle-light 8s .2s ease-in-out infinite;
}
html body .request-top::before,html body .request-short::before,html body .request-submit::before{content:none}
html body .text-button:hover>:is(.lg-warp,.lg-rim){transform:none}
html body :is(.button-primary,.text-button,.request-top,#replay,.service-links button,.nav-links a):hover{
 translate:0 -2px;border-color:var(--button-edge);
}
html body :is(.button-primary,.text-button,.request-top,#replay,.service-links button,.nav-links a):hover::after{
 animation:button-light-pass .8s var(--ease-out) both;
}
html body :is(.button-primary,.text-button,.request-top,#replay,.service-links button,.nav-links a):active{
 translate:0 0;scale:.975;
}
html body :is(.button-primary,.text-button,.request-top,#replay,.service-links button,.nav-links a):focus-visible{
 outline:2px solid var(--color-focus);outline-offset:4px;
}
html body :is(.button-primary,.text-button,.request-top,#replay,.service-links button,.nav-links a):is(:disabled,[aria-disabled=true],[aria-busy=true]){
 translate:none;scale:1;cursor:default;
}
html body :is(.button-primary,.text-button,.request-top,#replay,.service-links button,.nav-links a):is(:disabled,[aria-disabled=true],[aria-busy=true])::after{animation:none}
@keyframes button-idle-light{
 0%{transform:translateX(0) skewX(-12deg);opacity:0}
 4%{opacity:.8}
 20%,100%{transform:translateX(470%) skewX(-12deg);opacity:0}
}
@keyframes button-light-pass{
 0%{transform:translateX(0) skewX(-12deg);opacity:0}
 20%{opacity:.8}
 100%{transform:translateX(470%) skewX(-12deg);opacity:0}
}
@media(min-width:601px){
 .nav-links a{grid-template-columns:30px minmax(0,1fr)}
 html body :is(.button-primary,.text-button,.request-top):hover{transform:none;filter:none}
}
@media(max-width:600px){
 html body :is(#service-dialog,#request-dialog) :is(.button-primary,.text-button){
  border-color:var(--button-edge);background:var(--glass-clear);color:var(--color-ink);
  box-shadow:0 6px 20px var(--glass-shadow),inset 0 1px 0 var(--glass-rim);
 }
 html body :is(#service-dialog,#request-dialog) :is(.button-primary,.text-button):hover{
  box-shadow:0 9px 24px var(--glass-shadow),inset 0 1px 0 var(--glass-white);
 }
 html body .header-actions .request-top{overflow:visible;translate:none}
 html body .header-actions .request-top::after{inset:4px auto 4px 0;animation:none;display:none}
 html body .header-actions .request-short{transition:scale .3s var(--ease-out),box-shadow .3s}
 html body .header-actions .request-top:active{scale:1}
 html body .header-actions .request-top:active .request-short{scale:.975}
}
@media(prefers-reduced-motion:reduce){
 html body :is(.button-primary,.text-button,.request-top,#replay,.service-links button,.nav-links a){transition:none;translate:none;scale:1}
 html body :is(.button-primary,.text-button,.request-top,#replay,.service-links button,.nav-links a)::after{animation:none;display:none}
}
