/* BLH V5 / restrained pointer-reactive glass.
   The spotlight follows the mouse only on devices with precise hover.
   No decorative text underlines; reduced-motion gets static styling. */

:root{
  --motion-ease:cubic-bezier(.2,.7,.18,1);
  --motion-fast:240ms;
}
.header-inner nav a{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:8px 10px;
  min-height:38px;
  border-radius:12px;
  transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-fast) ease;
  text-decoration:none!important;
}
.header-inner nav a[aria-current="page"]{
  background:rgba(255,126,35,.08);
  color:#dd5f08;
}
.header-inner nav a:focus-visible{
  background:rgba(255,141,58,.16);
  outline:3px solid #ffae66;
  outline-offset:2px;
}
button,.btn,a{ -webkit-tap-highlight-color:transparent }
.btn:focus-visible,.menu-toggle:focus-visible,.feature a:focus-visible{
  outline:3px solid #ffbd7d;
  outline-offset:4px
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .header-inner nav a:hover{
    background:rgba(255,135,50,.13);
    color:#df6410;
    box-shadow:0 7px 18px rgba(14,45,92,.08),inset 0 1px 1px rgba(255,255,255,.6);
  }
  .btn{
    transition:transform 210ms var(--motion-ease),box-shadow 210ms var(--motion-ease),filter 210ms ease
  }
  .btn:hover{
    transform:translateY(-3px);
    filter:saturate(1.06) brightness(1.035);
    box-shadow:0 15px 30px rgba(222,96,12,.28),inset 0 2px 3px #ffffff69
  }
  .btn:active{
    transform:translateY(0) scale(.975);
    box-shadow:0 4px 12px rgba(222,96,12,.18),inset 0 2px 5px rgba(73,26,0,.13)
  }
  .btn-outline:hover{
    box-shadow:0 13px 25px rgba(7,20,54,.24),inset 0 1px 3px rgba(255,255,255,.32);
    filter:brightness(1.08)
  }
  .btn-light:hover{box-shadow:0 13px 26px rgba(5,25,60,.21)}
  .feature,.stat,.industry,.step,.value,.contact-box,.info-panel,.metric-panel,.placeholder,.glass-card{
    transition:box-shadow 260ms var(--motion-ease),border-color 260ms ease,transform 250ms var(--motion-ease),background-color 260ms ease
  }
  /* Mouse-position gradients provide direct feedback without shaking entire cards. */
  .feature:hover{
    transform:translateY(-5px);
    border-color:#96bce9;
    background:
      radial-gradient(230px circle at var(--spot-x,50%) var(--spot-y,40%),rgba(143,200,255,.29),transparent 75%),
      linear-gradient(135deg,#fff,#f2f7ff);
    box-shadow:var(--shadow-x,0px) 20px 37px rgba(16,65,113,.20),inset 0 2px 5px rgba(255,255,255,.95)
  }
  .stat:hover{
    transform:translateY(-3px);
    border-color:#97bce6;
    background:
      radial-gradient(170px circle at var(--spot-x,50%) var(--spot-y,40%),rgba(146,198,255,.36),transparent 78%),
      linear-gradient(125deg,#fff,#eaf3ff);
    box-shadow:var(--shadow-x,0px) 13px 22px rgba(14,51,101,.16),inset 0 2px 5px #fff
  }
  .industry:hover,.step:hover,.value:hover,.contact-box:hover,.info-panel:hover,.placeholder:hover{
    transform:translateY(-3px);
    border-color:#a0c5ec;
    background:
      radial-gradient(240px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(146,204,255,.25),transparent 75%),
      linear-gradient(145deg,rgba(255,255,255,.99),rgba(239,247,255,.95));
    box-shadow:var(--shadow-x,0px) 15px 29px rgba(17,55,100,.14),inset 0 2px 4px #fff
  }
  .metric-panel:hover{
    transform:translateY(-3px);
    border-color:#b3d8ff;
    background:
      radial-gradient(260px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(158,211,255,.35),transparent 75%),
      linear-gradient(140deg,#13396d,#1c5198);
    box-shadow:var(--shadow-x,0px) 18px 35px rgba(7,33,80,.29),inset 0 2px 5px #ffffff59
  }
  .glass-card:hover{
    transform:none!important;
    border-color:rgba(250,253,255,.95);
    background:
      radial-gradient(260px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(247,252,255,.48),transparent 73%),
      linear-gradient(142deg,rgba(212,235,255,.64),rgba(140,188,255,.29) 57%,rgba(255,233,215,.43));
    box-shadow:var(--shadow-x,0px) 26px 55px rgba(3,24,66,.56),inset 0 3px 7px #ffffffd9,inset 0 -3px 12px #427ac44a
  }
  .feature:hover .service-icon{
    animation:serviceWiggle 470ms var(--motion-ease) 1;
    box-shadow:0 10px 21px rgba(42,115,194,.18),inset 0 2px 4px #fff
  }
  .stat:hover .stat-bubble{
    animation:statPulse 460ms var(--motion-ease) 1
  }
  .glass-card:hover .glass-symbol span{
    filter:brightness(1.18);
    transition:filter 220ms ease
  }
  @keyframes serviceWiggle {
    0%{transform:rotate(0deg) translateY(0)}
    35%{transform:rotate(-5deg) translateY(-2px)}
    70%{transform:rotate(3deg) translateY(-1px)}
    100%{transform:rotate(0deg) translateY(0)}
  }
  @keyframes statPulse {
    0%{transform:translateY(-50%) scale(1)}
    50%{transform:translateY(-50%) scale(1.10)}
    100%{transform:translateY(-50%) scale(1)}
  }
  .stats:hover .stat{cursor:default}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) and (max-width:700px){
  .stat:hover .stat-bubble{animation:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:0.01ms!important;animation-duration:0.01ms!important;animation-iteration-count:1!important}
  .btn:hover,.feature:hover,.stat:hover,.industry:hover,.step:hover,.value:hover,.glass-card:hover{transform:none!important}
}

/* Clear keyboard focus for a service card containing a link. */
.feature:focus-within{
  border-color:#ff9e51;
  box-shadow:0 0 0 3px rgba(255,164,95,.16),0 12px 28px rgba(15,53,105,.15),inset 0 2px 4px #fff
}
