.custom-logo { width: 154px; height: auto; }
.slider .item {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: clamp(320px, 48vh, 480px);
  background-color: #d1dce2;
  background-position: center top;
}
.slider .item::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('./hero-panorama.webp');
  background-position: inherit;
  background-size: cover;
  pointer-events: none;
}
.slider .item.is-loading::before { opacity: 0; }
.slider .item.is-ready::before {
  transform-origin: center top;
  animation: hero-fade 900ms ease-out both, hero-settle 4.5s cubic-bezier(.2, .65, .3, 1) both;
}
@keyframes hero-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes hero-settle {
  from { transform: scale(1.035); }
  to { transform: scale(1); }
}
.site-title, .site-description { position: absolute; clip-path: inset(50%); }
.section-header h2.widget-title { margin: 0; color: #0f0f16; font-size: 2rem; }
.service-section .entry-title { font-size: 1.25rem; }
.site-footer p { color: #fff; }
.mobile-links { display: flex; flex-wrap: wrap; gap: 20px; padding: 15px; }
.mobile-links a { color: #64646d; text-decoration: none; }
.mobile-links a:hover { color: #ce1b28; }
@media (min-width: 1101px) { .mobile-links { display: none; } }
.hc_scrollup.is-visible { display: block; }
a:focus-visible, button:focus-visible { outline: 3px solid #ce1b28; outline-offset: 4px; }
@media (max-width: 480px) {
  .slider .item { height: clamp(300px, 44svh, 380px); background-position: 62% center; }
  .slider .format-standard { width: calc(100% - 40px); left: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .slider .item.is-loading::before { opacity: 1; }
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

