/* Web glass material: restricted to navigation chrome and actionable controls. */
.ibg-body .ibg-utility {
  background: linear-gradient(130deg, #ffffff12, #ffffff00 60%), #202a35f5;
  box-shadow: inset 0 1px 0 #ffffff26;
}
.ibg-body {
  --ibg-control-glass: #f4f6f8;
  --ibg-bar-glass: #f5f7f9;
  --ibg-action-glass: #a91323;
  --ibg-glass-rim:
    inset 0 1px 0 #ffffffed, inset 1px 0 0 #ffffff80, inset 0 -1px 0 #aeb9c933;
}
.ibg-body
  :is(.ibg-filters, .ibg-price-panel, .ibg-advice-panel, .ibg-contact-card) {
  background: #f7f8f9;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.ibg-body .ibg-intent-strip a {
  background: #fff;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.ibg-body .ibg-header {
  background:
    linear-gradient(125deg, #ffffff80, #ffffff00 55%, #e7edf238),
    var(--ibg-bar-glass);
  border-bottom: 1px solid #ffffffb8;
  box-shadow:
    var(--ibg-glass-rim),
    0 5px 22px #1423350d;
}
.ibg-body
  :is(
    .ibg-button,
    .ibg-menu-toggle,
    .ibg-channel-tabs a,
    .ibg-service-jumps a,
    .ibg-home-return,
    .ibg-card-bottom > a,
    .ibg-gallery-open > span,
    .ibg-gallery-thumbs button,
    .ibg-lightbox-close,
    .ibg-mobile-actions a
  ),
.ibg-body .ibg-hero .ibg-text-link {
  background:
    linear-gradient(155deg, #ffffffa8, #ffffff0a 48%, #dce4ee26),
    var(--ibg-control-glass);
  border: 1px solid #ffffffc2;
  box-shadow:
    var(--ibg-glass-rim),
    0 4px 14px #17283d14;
  color: #202a35;
  border-radius: 1rem;
  touch-action: manipulation;
  transition:
    transform 150ms ease,
    box-shadow 150ms ease,
    background-color 150ms ease;
}
.ibg-body :is(a, button).ibg-button,
.ibg-body .ibg-mobile-actions a:last-child,
.ibg-body .ibg-service-jumps a[aria-current="page"] {
  background:
    linear-gradient(150deg, #ffffff2e, #ffffff00 45%, #60061824),
    var(--ibg-action-glass);
  border-color: #ffffff85;
  box-shadow:
    inset 0 1px 0 #ffffff8c,
    inset 1px 0 0 #ffffff33,
    inset 0 -1px 0 #61091d40,
    0 5px 18px #87102924;
  color: #fff;
}
.ibg-body .ibg-channel-tabs a[aria-current="page"] {
  background: linear-gradient(145deg, #ffffffab, #ffffff26), #f1cbd0;
  color: #941427;
  border-color: #c3738080;
}
.ibg-body
  :is(
    .ibg-button,
    .ibg-menu-toggle,
    .ibg-home-return,
    .ibg-channel-tabs a,
    .ibg-service-jumps a,
    .ibg-card-bottom > a,
    .ibg-mobile-actions a
  ):active {
  transform: scale(0.975);
  transition-duration: 80ms;
}
.ibg-body
  :is(
    .ibg-button,
    .ibg-menu-toggle,
    .ibg-home-return,
    .ibg-channel-tabs a,
    .ibg-service-jumps a,
    .ibg-card-bottom > a,
    .ibg-mobile-actions a
  ):focus-visible {
  outline: 3px solid #1464c5;
  outline-offset: 3px;
}
@supports (
  (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))
) {
  .ibg-body {
    --ibg-bar-glass: #f7f9fcad;
    --ibg-control-glass: #f5f8fbc4;
    --ibg-action-glass: #a30e22eb;
  }
  .ibg-body .ibg-header {
    -webkit-backdrop-filter: blur(24px) saturate(165%);
    backdrop-filter: blur(24px) saturate(165%);
  }
  .ibg-body
    :is(
      .ibg-button,
      .ibg-menu-toggle,
      .ibg-channel-tabs a,
      .ibg-service-jumps a,
      .ibg-home-return,
      .ibg-card-bottom > a,
      .ibg-gallery-open > span,
      .ibg-lightbox-close,
      .ibg-mobile-actions a
    ),
  .ibg-body .ibg-hero .ibg-text-link {
    -webkit-backdrop-filter: blur(12px) saturate(155%);
    backdrop-filter: blur(12px) saturate(155%);
  }
}
@media (max-width: 1000px) {
  .ibg-body .ibg-header nav {
    background: var(--ibg-bar-glass);
    border: 1px solid #ffffffb8;
    box-shadow:
      var(--ibg-glass-rim),
      0 14px 32px #17283d1f;
    -webkit-backdrop-filter: blur(24px) saturate(165%);
    backdrop-filter: blur(24px) saturate(165%);
  }
}
@media (max-width: 767px) {
  .ibg-body .ibg-mobile-actions {
    background: var(--ibg-bar-glass);
    box-shadow:
      var(--ibg-glass-rim),
      0 -4px 22px #14233512;
    -webkit-backdrop-filter: blur(20px) saturate(155%);
    backdrop-filter: blur(20px) saturate(155%);
  }
  /* The bar already blurs the content; avoid stacked mobile blur layers. */
  .ibg-body .ibg-mobile-actions a,
  .ibg-body .ibg-header .ibg-button,
  .ibg-body .ibg-menu-toggle {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .ibg-body .ibg-button:hover {
    background-color: #8f1020;
    color: #fff;
    box-shadow:
      inset 0 1px 0 #ffffffa6,
      0 7px 20px #87102930;
  }
}
@media (prefers-reduced-transparency: reduce),
  (prefers-contrast: more),
  (forced-colors: active) {
  .ibg-body {
    --ibg-bar-glass: #fff;
    --ibg-control-glass: #fff;
    --ibg-action-glass: #a4141d;
  }
  .ibg-body
    :is(
      .ibg-header,
      .ibg-header nav,
      .ibg-mobile-actions,
      .ibg-mobile-actions a,
      .ibg-button,
      .ibg-menu-toggle,
      .ibg-channel-tabs a,
      .ibg-service-jumps a,
      .ibg-home-return,
      .ibg-card-bottom > a,
      .ibg-gallery-open > span,
      .ibg-lightbox-close
    ),
  .ibg-body .ibg-hero .ibg-text-link {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background-image: none;
    border-color: #737980;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ibg-body
    :is(
      .ibg-button,
      .ibg-menu-toggle,
      .ibg-home-return,
      .ibg-channel-tabs a,
      .ibg-service-jumps a,
      .ibg-card-bottom > a,
      .ibg-mobile-actions a
    ) {
    transition: none;
    transform: none;
  }
}
