/* Domain Ads — responsive refinements */
@media (max-width: 1024px){
  .btn-glow{padding:12px 24px}
  .btn-ghost{padding:11px 22px}
}
@media (max-width: 768px){
  h1{letter-spacing:-.03em}
  .glass,.glass-strong{border-radius:20px}
  .cursor-dot,.cursor-ring{display:none}
  .fab{width:44px;height:44px}
  .fab-label{display:none}
  .scroll-progress{height:2px}
  .marquee{animation-duration:26s}
}
@media (max-width: 480px){
  section{padding-left:1rem;padding-right:1rem}
  .preloader-bar{width:170px}
}
@media (hover: none){
  .card-tilt:hover{transform:none;box-shadow:none}
  .magnetic{transform:none !important}
}
@media print{
  .preloader,.scroll-progress,header,.fab,#toTop{display:none !important}
  body{background:#fff;color:#000}
}

/* --- mobile layout fixes --- */
@media (max-width: 767px){
  /* footer: single column that can actually shrink */
  #siteFooter > .grid{grid-template-columns:minmax(0,1fr) !important;gap:2rem}
  #siteFooter .grid > div{min-width:0;max-width:100%}
  #siteFooter p,#siteFooter .glass{max-width:100% !important}
  #siteFooter #newsletterForm{flex-wrap:wrap}
  #siteFooter #newsletterForm input{min-width:0;flex:1 1 100%}
  #siteFooter #newsletterForm button{flex:1 1 100%;text-align:center}
  #siteFooter .social-icon{width:40px;height:40px}
}
/* hero stat labels must not clip on narrow phones */
@media (max-width: 430px){
  #home .grid-cols-3{gap:1rem}
  #home .grid-cols-3 .text-3xl{font-size:1.6rem}
  #home .grid-cols-3 .uppercase{letter-spacing:.04em;font-size:10px}
}
/* generic: long words / emails should wrap instead of overflowing */
@media (max-width: 767px){
  body{overflow-x:hidden}
  p,li,a,h1,h2,h3,h4{overflow-wrap:break-word}
  .grid > *{min-width:0}
}

/* floating buttons: smaller + out of the way on phones */
@media (max-width: 767px){
  .fab{width:42px;height:42px}
  .fab svg{width:17px;height:17px}
}
