/* Pointer feedback uses individual transform properties, preserving saved transforms. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  a[data-motion-card] { transition:translate .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease; }
  a[data-motion-card]:hover { translate:0 -5px; box-shadow:0 14px 35px rgb(0 0 0 / .07); }
  a[data-motion-card] img { transition:scale .8s cubic-bezier(.22,1,.36,1); }
  a[data-motion-card]:hover img { scale:1.025; }
  header a,.contact-direct a { transition:scale .3s ease,filter .3s ease; }
  header a:hover,.contact-direct a:hover { scale:1.035;filter:brightness(1.04); }
  a:active { scale:.98; }
}
.skill-disclosure summary { list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px; }
.skill-disclosure summary::-webkit-details-marker { display:none; }
.skill-disclosure summary::after { content:'+';font-size:24px;font-weight:400;transition:rotate .35s ease; }
.skill-disclosure[open] summary::after { rotate:45deg; }
@media(prefers-reduced-motion:reduce){a,img,summary::after{transition:none!important;scroll-behavior:auto!important}}

.satisfaction-dots{display:grid;grid-template-columns:repeat(20,1fr);gap:5px;width:100%;margin-bottom:6px}
.satisfaction-dots i{display:block;width:4px;height:4px;border-radius:50%;background:aqua;justify-self:center}
.satisfaction-dots .dim{opacity:.3}
[data-count-to]{display:inline-block;min-width:1.12em;font-variant-numeric:tabular-nums}

[data-meter-number]{font-variant-numeric:tabular-nums;min-width:2.4em}

.skill-disclosure{padding:0!important;border-radius:0!important;border-top:1px solid #e4e4e4;background:transparent!important}
.skill-disclosure summary{padding:24px 0;gap:18px;justify-content:flex-start;font-size:22px;line-height:1.35;font-weight:600}
.skill-disclosure summary::after{display:none}
.skill-disclosure summary span{flex:1;min-width:0}
.skill-disclosure .skill-icon{width:24px;height:24px;flex:none;display:block}
.skill-disclosure p{margin:0!important;padding:0 0 24px;font-size:16px;line-height:1.4;color:#777}
.skill-toggle{width:18px;height:18px;position:relative;flex:none}
.skill-toggle::before,.skill-toggle::after{content:"";position:absolute;background:currentColor;left:2px;right:2px;top:8px;height:1.5px}
.skill-toggle::after{rotate:90deg;transition:rotate .3s ease,opacity .3s ease}
.skill-disclosure[open] .skill-toggle::after{rotate:0deg;opacity:0}
.skill-disclosure summary:focus:not(:focus-visible){outline:none}
@media(max-width:609.98px){.skill-disclosure summary{font-size:20px;gap:14px}}
