/* Thermal Group Premium Motion v2.0.28 — visible trial, Ballina only.
   Brand colors, typeface, dimensions, original JS carousel, layouts unchanged.
   Designed as a non-invasive additive layer on top of v2.0.27 or without it. */
html.tg-premium-v228 body { -webkit-tap-highlight-color: transparent; }
/* CLEAR on-load hero entrance: independent child transforms never move the hero frame. */
html.tg-premium-v228 .hero-title > span { animation:tg228-hero .82s cubic-bezier(.16,1,.3,1) both; }
html.tg-premium-v228 .hero-title > span:nth-child(2){animation-delay:.10s}
html.tg-premium-v228 .hero-title > span:nth-child(3){animation-delay:.20s}
html.tg-premium-v228 .hero-copy > p {animation:tg228-hero .76s .20s cubic-bezier(.16,1,.3,1) both}
html.tg-premium-v228 .hero-actions {animation:tg228-hero .72s .27s cubic-bezier(.16,1,.3,1) both}
@keyframes tg228-hero { from{opacity:.12;transform:translate3d(0,28px,0)} to{opacity:1;transform:translate3d(0,0,0)} }
/* Staggered section heading arrival: no hidden pre-state if JS disabled. */
html.tg-premium-v228 .tg228-animate-title {animation:tg228-heading .75s cubic-bezier(.16,1,.3,1) both}
@keyframes tg228-heading {from{opacity:.18;transform:translate3d(0,25px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
/* Interactive depth on desktop: this is intentionally more legible than v227. */
@media (hover:hover) and (pointer:fine) {
  html.tg-premium-v228 .categories-section .category-card,
  html.tg-premium-v228 .services-section .service-card {
    transition:transform .48s cubic-bezier(.16,1,.3,1),box-shadow .48s cubic-bezier(.16,1,.3,1),border-color .24s ease !important;
    transform-origin:center center;
  }
  html.tg-premium-v228 .categories-section .category-card:hover {
    transform:translate3d(0,-10px,0) scale(1.015) !important;
    box-shadow:0 24px 48px rgba(15,57,105,.19),0 6px 14px rgba(15,57,105,.09) !important;
  }
  html.tg-premium-v228 .services-section .service-card:hover {
    transform:translate3d(0,-8px,0) scale(1.012) !important;
    box-shadow:0 23px 45px rgba(15,57,105,.16),0 6px 14px rgba(15,57,105,.07) !important;
  }
  html.tg-premium-v228 .categories-section .category-image img {
    transition:transform .65s cubic-bezier(.16,1,.3,1), filter .4s ease !important;
  }
  html.tg-premium-v228 .categories-section .category-card:hover .category-image img {transform:scale(1.09) !important}
  html.tg-premium-v228 .category-card:hover .round-arrow {
    transform:translate3d(7px,0,0) !important;
    box-shadow:0 10px 20px rgba(15,57,105,.18);
  }
  /* Featured product cards are positioned by an existing carousel: never touch the cards' transforms. */
  html.tg-premium-v228 .featured-section .product-card .product-image img {
    transition:transform .52s cubic-bezier(.16,1,.3,1),filter .4s ease;
  }
  html.tg-premium-v228 .featured-section .product-card:hover .product-image img {transform:translate3d(0,-4px,0) scale(1.045)}
  html.tg-premium-v228 .featured-section .product-card:hover {box-shadow:0 22px 48px rgba(15,57,105,.20) !important}
}
/* Noticeable but quick button interaction; preserve existing red and shine animation. */
html.tg-premium-v228 .btn { position:relative;isolation:isolate;}
html.tg-premium-v228 .btn > span[aria-hidden="true"] {display:inline-block; transition:transform .36s cubic-bezier(.16,1,.3,1) !important}
@media (hover:hover){html.tg-premium-v228 .btn:hover > span[aria-hidden="true"] {transform:translate3d(8px,0,0) !important}}
html.tg-premium-v228 .btn.tg228-pressed {transform:translate3d(0,1px,0) scale(.965) !important;transition:transform .10s ease-out !important}
html.tg-premium-v228 .btn .tg228-ripple {position:absolute;z-index:3;pointer-events:none;border-radius:50%;background:rgba(255,255,255,.35);width:14px;height:14px;left:var(--tg228-x,50%);top:var(--tg228-y,50%);transform:translate(-50%,-50%) scale(0);animation:tg228-ripple .58s ease-out forwards}
@keyframes tg228-ripple {to{opacity:0;transform:translate(-50%,-50%) scale(19)}}
html.tg-premium-v228 .btn:focus-visible,html.tg-premium-v228 .category-card:focus-visible,html.tg-premium-v228 .product-card:focus-visible {outline:3px solid #F11626;outline-offset:4px}
/* Larger mobile tap feedback, no hover-dependent effects. */
@media (hover:none) {html.tg-premium-v228 .category-card:active,html.tg-premium-v228 .product-card:active {filter:brightness(.98)}}
@media (prefers-reduced-motion:reduce) {
 html.tg-premium-v228 .hero-title > span, html.tg-premium-v228 .hero-copy > p,html.tg-premium-v228 .hero-actions,html.tg-premium-v228 .tg228-animate-title{animation:none!important;opacity:1!important;transform:none!important}
 html.tg-premium-v228 .btn .tg228-ripple {display:none!important}
 html.tg-premium-v228 .btn.tg228-pressed {transform:none!important}
 html.tg-premium-v228 .category-card:hover,html.tg-premium-v228 .service-card:hover{transform:none!important}
 html.tg-premium-v228 .category-image img,html.tg-premium-v228 .product-image img,html.tg-premium-v228 .btn > span[aria-hidden="true"]{transition:none!important;transform:none!important}
}
