/* The services landing page uses the same surfaces and spacing as the rest of MG. */
body.catalog-polished {
  --catalog-line: #dce6f3;
  --catalog-paper: #f4f8fd;
  --catalog-ink: #132c4c;
}
body.catalog-polished main > .section {
  padding-block: clamp(36px, 5.5vw, 78px);
}
body.experience-site.quality-2026.catalog-polished .catalog-intro {
  padding-block: clamp(30px, 5vw, 70px);
  background: radial-gradient(ellipse at 78% 30%, #e9f2ff, transparent 65%), #f9fbff;
}
.catalog-polished .catalog-intro h1 {
  max-width: 12ch;
  text-wrap: balance;
}
.catalog-polished .catalog-intro .lead { max-width: 45ch; }
.catalog-polished .catalog-intro .hero-buttons { gap: 10px; }
body.experience-site.quality-2026.catalog-polished .mg-catalog-hero-scene {
  border-radius: 24px;
  background: #f2f7ff;
  box-shadow: 0 15px 35px -28px #193b72;
}
.catalog-polished .mg-catalog-hero-legend { padding-block: 10px; }
.catalog-polished main > section[id] { scroll-margin-top: 112px; }
body.catalog-polished .service-directions {
  padding-top: clamp(36px, 5.5vw, 78px) !important;
  background: #fff;
}
.catalog-polished .service-directions .section-top {
  align-items: end;
  gap: 12px 28px;
  margin-bottom: 24px;
}
.catalog-polished .directions-intro { max-width: 35ch; margin: 0; }
body.experience-site.quality-2026.catalog-polished .service-directions-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
body.catalog-polished .service-direction {
  min-width: 0;
  border: 1px solid var(--catalog-line);
  border-radius: 17px;
  background: #fff;
  box-shadow: none;
}
body.catalog-polished .service-direction[open] {
  border-color: #b8cff1;
  background: #f9fbff;
}
body.experience-site.quality-2026.catalog-polished .service-direction summary {
  min-height: 112px;
  padding: 14px;
  gap: 13px;
}
body.experience-site.quality-2026.catalog-polished .service-direction summary > img.mg-category-group-art {
  width: clamp(62px, 9vw, 108px);
  height: 72px;
  padding: 4px;
  border-radius: 10px;
  background: var(--catalog-paper);
}
.catalog-polished .service-direction summary h3 {
  margin: 0 0 4px;
  color: var(--catalog-ink);
  font-size: clamp(16px, 2vw, 21px);
  line-height: 1.25;
}
.catalog-polished .service-direction summary p { line-height: 1.55; }
body.experience-site.quality-2026.catalog-polished .service-direction nav > a {
  min-height: 54px;
  padding-block: 5px;
}
body.experience-site.quality-2026.catalog-polished .service-direction nav > a > img {
  width: 52px;
  height: 39px;
}
.catalog-polished .precise-service-section { background: var(--catalog-paper); }
.catalog-polished .precise-service-picker {
  border: 1px solid var(--catalog-line);
  background: #fff;
  box-shadow: 0 12px 32px -28px #193b72;
}
.catalog-polished .catalog-search-heading {
  padding: clamp(20px, 3.5vw, 38px) clamp(18px, 3.5vw, 38px) 0;
}
.catalog-polished .catalog-search-heading p { margin: 5px 0 0; }
.catalog-polished .precise-service-content {
  border-top: 0;
  padding: 18px clamp(18px, 3.5vw, 38px) clamp(16px, 3.5vw, 30px);
}
.catalog-polished .precise-service-content .service-filters { margin-bottom: 14px; }
.catalog-polished .precise-service-content #service-result-count { margin: 0 0 10px; }
/* Legacy mobile card rules set display:flex!important, including filtered cards. */
.catalog-polished #mg-service-grid > .mg-service-card[hidden],
.catalog-polished #mg-service-grid:not(:has(> :not([hidden]))) { display: none !important; }
.catalog-polished #mg-service-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.catalog-polished #mg-service-grid > .mg-service-card {
  min-width: 0;
  background: linear-gradient(150deg, #ffffffec, #eef5ffd9);
  border: 1px solid #dce8f8 !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 16px -12px #17375f80, inset 0 1px #fff;
}
.catalog-polished #mg-service-grid > .mg-service-card:is(:hover, :focus-visible) {
  border-color: #8fb5f3 !important;
  box-shadow: 0 9px 22px -14px #17375f;
}
.catalog-polished #mg-service-grid .service-card-photo { aspect-ratio: 2 / 1; }
.catalog-polished #mg-service-grid .service-card-body { min-width: 0; padding: 12px; }
.catalog-polished #mg-service-grid .individual-category {
  margin: 0 0 5px;
  color: #24548c;
  font-size: .68rem;
  line-height: 1.3;
  letter-spacing: 0;
}
.catalog-polished #mg-service-grid h3 {
  margin: 0 0 7px;
  color: var(--catalog-ink);
  font-size: clamp(.93rem, 1.7vw, 1.12rem);
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.catalog-polished #mg-service-grid p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin: 0 0 10px;
  color: #4b627e;
  font-size: .78rem;
  line-height: 1.5;
}
.catalog-polished #mg-service-grid .card-arrow {
  gap: 3px;
  padding-top: 7px;
  border-top: 1px solid #dce8f8;
  color: #0753d6;
  font-size: .75rem;
}
.catalog-polished .local-finder { background: #fff; }
.catalog-polished .local-city-group { border-color: var(--catalog-line); }
.catalog-polished .selection-value { background: var(--catalog-paper); }
body.experience-site.quality-2026.catalog-polished .selection-value-points {
  gap: 12px;
  margin-top: 24px;
}
body.experience-site.quality-2026.catalog-polished .selection-value-points > article {
  padding: 20px;
  background: #fff;
}
body.experience-site.quality-2026.catalog-polished .selection-value-points h3 {
  color: var(--catalog-ink);
  font-size: 19px;
}
body.catalog-polished .service-guided-cta {
  background: #fff;
  padding-top: clamp(30px, 5vw, 65px) !important;
}
body.experience-site.quality-2026.catalog-polished .service-guided-cta > .container {
  grid-template-columns: minmax(0, 1fr) clamp(92px, 13vw, 145px) auto;
  grid-template-areas: "copy art action";
  gap: 14px 20px;
  padding: clamp(18px, 3.5vw, 38px);
  border: 1px solid var(--catalog-line);
  border-radius: 22px;
  background: linear-gradient(135deg, #f8fbff, #eaf3ff);
}
.catalog-polished .service-guided-cta > .container > :first-child { grid-area: copy; }
body.experience-site.quality-2026.catalog-polished .mg-catalog-support-character {
  grid-area: art;
  justify-self: center;
  align-self: end;
  width: 100%;
  height: auto;
}
body.experience-site.quality-2026.catalog-polished .mg-catalog-support-character > img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 145px;
  object-fit: contain;
}
body.experience-site.quality-2026.catalog-polished .service-guided-cta > .container > .button {
  grid-area: action;
  justify-self: start;
  text-align: center;
  white-space: normal;
}
.catalog-polished .service-guided-cta h2 { font-size: clamp(24px, 3.5vw, 40px); }
.catalog-polished .service-guided-cta p { margin-bottom: 0; }
@media (max-width: 900px) {
  body.experience-site.quality-2026.catalog-polished .service-guided-cta > .container {
    grid-template-columns: minmax(0, 1fr) clamp(74px, 23vw, 120px);
    grid-template-areas: "copy art" "action action";
  }
  .catalog-polished #mg-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  body.experience-site.quality-2026.catalog-polished .service-guided-cta > .container > .button {
    width: 100%;
    min-height: 48px;
    justify-content: center;
  }
  .catalog-polished #mg-service-grid { gap: 8px; }
  .catalog-polished #mg-service-grid .service-card-body { padding: 9px; }
  .catalog-polished #mg-service-grid h3 { font-size: .875rem; }
  .catalog-polished #mg-service-grid p { font-size: .72rem; }
  .catalog-polished #mg-service-grid .card-arrow { font-size: .7rem; }
}
@media (max-width: 700px) {
  body.experience-site.quality-2026.catalog-polished .service-directions-grid { grid-template-columns: 1fr; }
  .catalog-polished .service-directions .section-top { display: grid; }
  .catalog-polished .catalog-intro h1 { max-width: none; }
  .catalog-polished .precise-service-content { padding-inline: 10px; }
  body.catalog-polished:has(.service-filters :is(input, select):focus) .mobile-convert {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .catalog-polished .catalog-intro-grid > :first-child { animation: catalog-enter .48s ease-out both; }
  .catalog-polished .mg-catalog-hero-scene { animation: catalog-enter .55s .06s ease-out both; }
  .catalog-polished :is(.service-direction, .local-city-group)[open] > nav {
    animation: catalog-enter .24s ease-out both;
  }
  .catalog-polished .service-direction { transition: border-color .2s, background-color .2s; }
}
@keyframes catalog-enter {
  from { opacity: 0; translate: 0 7px; }
  to { opacity: 1; translate: 0 0; }
}
