/* PRIVATE PREVIEW 06 · dark metal on the primary actions only.
   Load after palette-v4.css. No geometry, logos or interaction logic changes. */
:is(.button.primary,.hero .hero-actions .button,.call-section .call-main,.mobile-phone .button){
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(112deg,#181b20 0%,#353a42 39%,#24282f 61%,#15181c 100%);
  border-color:#202329;
  color:#fff;
  box-shadow:inset 0 1px 0 #ffffff1a,inset 0 -1px 0 #00000026;
}
:is(.button.primary,.hero .hero-actions .button,.call-section .call-main,.mobile-phone .button):hover{
  background:linear-gradient(112deg,#20242a 0%,#424852 39%,#2c3139 61%,#1b1e24 100%);
  border-color:#303640;
  color:#fff;
}

/* The light passes once per pointer entry, below the text. It never catches
   taps or covers the focus ring. Touch and reduced-motion have no animation.
   Lightest possible background: #ffffff1a over #424852; conservatively
   rounding each channel up gives #565b64 and white-text contrast 6.83:1. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  :is(.button.primary,.hero .hero-actions .button,.call-section .call-main,.mobile-phone .button)::before{
    content:"";
    position:absolute;
    z-index:-1;
    pointer-events:none;
    top:-50%;
    bottom:-50%;
    left:0;
    width:40%;
    background:linear-gradient(90deg,#ffffff00 0%,#ffffff0d 38%,#ffffff1a 50%,#ffffff0d 62%,#ffffff00 100%);
    transform:translateX(-160%) skewX(-18deg);
    opacity:0;
  }
  :is(.button.primary,.hero .hero-actions .button,.call-section .call-main,.mobile-phone .button):hover:not(:disabled)::before{
    animation:reserve-metal-light 760ms cubic-bezier(.2,.5,.3,1) 1 both;
  }
}
@keyframes reserve-metal-light{
  0%{transform:translateX(-160%) skewX(-18deg);opacity:0}
  15%{opacity:1}
  80%{opacity:1}
  100%{transform:translateX(360%) skewX(-18deg);opacity:0}
}
@media print{
  :is(.button.primary,.hero .hero-actions .button,.call-section .call-main,.mobile-phone .button){
    background:#202124!important;
    color:#fff!important;
    box-shadow:none;
  }
}
