/* ======================================================
   SERVICES.CSS — Ultra Responsive & iOS fixes (Vitronet)
   Append at end of services.css OR load this file after it.
   ====================================================== */

/* Safety */
*,*::before,*::after{ box-sizing:border-box }
html,body{ max-width:100%; overflow-x:hidden }
img,video{ max-width:100%; height:auto; display:block }

/* Fluid hero text */
.services-hero h1{ font-size: clamp(1.5rem, 4.2vw, 2.2rem); line-height:1.15 }
.services-hero p{ font-size: clamp(.95rem, 2.4vw, 1rem) }

/* Hero grid stack on narrow */
@media (max-width: 960px){
  .services-hero .hero-inner{ grid-template-columns: 1fr }
}

/* Service blocks default to single column; alternate on wide */
.service-block{ grid-template-columns: 1fr; gap: 14px }
@media (min-width: 980px){ .service-block{ grid-template-columns: 1.05fr .95fr } }
@media (min-width: 980px){ .service-block:nth-child(even){ grid-template-columns: .95fr 1.05fr } }

/* Carousel viewport height adapts */
.carousel .viewport{ height: clamp(180px, 34vw, 380px) }

/* Buttons compact on tiny screens */
@media (max-width: 360px){ .s-cta .btn{ padding: 9px 12px; border-radius:10px } }

/* iOS fixes */
html { height: -webkit-fill-available; -webkit-text-size-adjust: 100%; }
body { min-height: 100vh; min-height: -webkit-fill-available; }
input, select, textarea { font-size: 16px; -webkit-appearance: none; }
button, .btn { -webkit-appearance: none; }
