/* TechSerks shared theme — global resets, keyframes, responsive helpers.
   Design styling stays inline on elements; this only holds what cannot be inline. */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#0A0A0B;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
::selection{background:#B12120;color:#fff;}

@keyframes ts-floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes ts-floatY2{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes ts-glow{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.12)}}
@keyframes ts-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes ts-spin{to{transform:rotate(360deg)}}
@keyframes ts-menuIn{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}
@keyframes ts-chatIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ts-fadeIn{from{opacity:0}to{opacity:1}}
@keyframes ts-rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* Responsive helpers — applied via data-attributes so design stays inline */
@media (max-width:880px){
  [data-desktop-nav]{display:none!important;}
  [data-burger]{display:inline-flex!important;}
  [data-hero-grid]{grid-template-columns:1fr!important;gap:40px!important;}
  [data-hero-visual]{order:-1;min-height:300px!important;}
  [data-stack]{grid-template-columns:1fr!important;}
  [data-stack-2]{grid-template-columns:1fr 1fr!important;}
  [data-stack-flip] > *:first-child{order:2;}
}
@media (max-width:560px){
  [data-stack-2]{grid-template-columns:1fr!important;}
}

/* Native disclosure (FAQ) styling */
summary{list-style:none;cursor:pointer;}
summary::-webkit-details-marker{display:none;}
[data-chev]{transition:transform .28s ease;}
details[open] [data-chev]{transform:rotate(180deg);}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  [data-reveal]{opacity:1!important;transform:none!important;}
}
