
:root{
  --ui-accent-glow: rgba(49,213,136,.16);
  --ui-primary-glow: rgba(15,94,135,.14);
  --ui-card-hover: 0 24px 50px rgba(15,94,135,.14);
  --scroll-progress: 0%;
}
html{scroll-padding-top:100px}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 12%, var(--ui-primary-glow), transparent 28%),
    radial-gradient(circle at 85% 18%, var(--ui-accent-glow), transparent 24%),
    linear-gradient(rgba(255,255,255,.02), rgba(255,255,255,.02));
  z-index:-1;
}
header::after{
  content:"";
  position:absolute;
  left:0; bottom:-1px;
  height:2px;
  width:var(--scroll-progress);
  background:linear-gradient(90deg, #1570a6 0%, #28b4d8 45%, #31d588 100%);
  transition:width .12s linear;
}
header{transition:background .28s ease, box-shadow .28s ease, border-color .28s ease, transform .28s ease;}
header.scrolled{
  background:rgba(255,255,255,.95)!important;
  box-shadow:0 16px 40px rgba(15,94,135,.10);
  border-bottom-color:rgba(197,216,228,.95)!important;
}
.brand img,.brand img.im{filter:drop-shadow(0 8px 18px rgba(15,94,135,.10));}
.btn{transform:translateZ(0)}
.btn:focus-visible,
a:focus-visible,button:focus-visible{
  outline:3px solid rgba(49,213,136,.30);
  outline-offset:3px;
}
.hero-phone-card,.hero-media-card,.card,.contact-card,.booking-card,.service-card,.step-card,.benefit-card,.trust-card,.testimonial-card,.hero-bottom-card,.hero-strip-item,.info-card,.price-card,.feature-card{
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease;
  will-change:transform;
}
.hero-phone-card:hover,.hero-media-card:hover,.card:hover,.contact-card:hover,.booking-card:hover,.service-card:hover,.step-card:hover,.benefit-card:hover,.trust-card:hover,.testimonial-card:hover,.hero-bottom-card:hover,.hero-strip-item:hover,.info-card:hover,.price-card:hover,.feature-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--ui-card-hover)!important;
  border-color:rgba(87,153,187,.22)!important;
}
.hero-image-wrap,.hero-media,.media-frame{overflow:hidden}
.hero-image-wrap img,.hero-media img,.media-frame img{
  transition:transform .85s ease, filter .5s ease;
  transform:scale(1.01);
  will-change:transform;
}
.hero-image-wrap:hover img,.hero-media:hover img,.media-frame:hover img{transform:scale(1.06)}
.hero,.hero-service,.page-hero-simple{isolation:isolate}
.hero::before,.hero-service::after,.page-hero-simple::before{
  filter:saturate(1.04);
}
.lang-switch,.lang-toggle{box-shadow:0 12px 28px rgba(15,94,135,.08)}
.nav-links a,.mobile-link{transition:color .25s ease, opacity .25s ease, transform .25s ease}
.nav-links a:hover,.mobile-link:hover{transform:translateY(-1px)}
footer{position:relative;overflow:hidden}
footer::before{
  content:"";
  position:absolute;
  inset:auto -10% 55% auto;
  width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle, rgba(49,213,136,.12), transparent 70%);
  pointer-events:none;
}
[data-reveal]{transition-duration:.85s!important;transition-timing-function:cubic-bezier(.22,1,.36,1)!important}
body.ui-ready [data-reveal].visible{filter:none}
@media (max-width: 991px){
  header.scrolled{box-shadow:0 10px 24px rgba(15,94,135,.08)}
  .hero-phone-card:hover,.hero-media-card:hover,.card:hover,.contact-card:hover,.booking-card:hover,.service-card:hover,.step-card:hover,.benefit-card:hover,.trust-card:hover,.testimonial-card:hover,.hero-bottom-card:hover,.hero-strip-item:hover,.info-card:hover,.price-card:hover,.feature-card:hover{transform:translateY(-4px)}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .hero-image-wrap img,.hero-media img,.media-frame img{transform:none!important}
}
