/* Satin blue objects, cool porcelain surfaces, and restrained edge lighting. */
.opening-copy--first h1 { text-shadow: 0 2px 22px #101f4c12; }
body:has(.opening) .site-header .header-cta {
  border: 0;
  box-shadow: none;
}
.opening-next { box-shadow: inset 0 1px 0 #ffffff45, 0 7px 24px #0d235519; }

.services { scroll-margin-top: 120px; }
.services .service-card {
  border: 0;
  box-shadow: none;
}
.services .service-top {
  justify-content: flex-end;
  height: 96px;
  margin: -12px -12px 26px 0;
}
.services .service-sculpture {
  display: block;
  width: 100px;
  height: 100px;
  object-fit: contain;
  /* Matching pale glass layers: their overlap is coloured in the asset itself. */
  transition: transform .45s cubic-bezier(.2,.7,.3,1);
}
.services .service-card h3 { margin-bottom: 0; }
.services .service-card p { margin: 15px 0 27px; }
.services .service-card > a {
  margin-top: auto;
}
.services .service-card > a .lucide { transition: transform .25s ease; }
@media (hover: hover) and (pointer: fine) {
  .services .service-card:hover {
    box-shadow: none;
  }
  .services .service-card:hover .service-sculpture { transform: translateY(-2px); }
  .services .service-card > a:hover .lucide { transform: translate(2px,-2px); }
}
@media (min-width: 721px) and (max-width: 1050px) {
  .services .service-card { padding: 25px 23px; }
  .services .service-card h3 { font-size: 20px; }
}
@media (max-width: 720px) {
  .services { scroll-margin-top: 95px; }
  .services .service-top { height: 76px; margin-bottom: 20px; }
  .services .service-sculpture { width: 88px; height: 88px; }
  .services .service-card h3 { font-size: 23px; }
  .services .service-card p { margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .services .service-card, .services .service-sculpture,
  .services .service-card > a .lucide { transition: none; }
  .services .service-card:hover, .services .service-card:hover .service-sculpture,
  .services .service-card > a:hover .lucide { transform: none; }
}
