/* Public presentation layer. Load last so component colours survive theme rules. */
.public-site.medical-design {
  --muted: #52667a;
  --polish-line: #d8e5ee;
  --polish-accent: #5eead4;
}

/* Dark panels need explicit foreground colours, rather than global heading colours. */
.public-site.medical-design .catalog-support {
  background: #123e58;
  color: #d7e7f0;
  border: 1px solid #28556e;
  border-radius: 20px;
  padding: clamp(26px, 4vw, 44px);
  gap: 28px;
}
.public-site.medical-design .catalog-support h2 {
  color: #fff;
  margin: 10px 0 18px;
  font-size: clamp(26px, 2.6vw, 32px);
  line-height: 1.5;
  text-wrap: balance;
}
.public-site.medical-design .catalog-support .eyebrow {
  color: var(--polish-accent);
  font-size: 12px;
  letter-spacing: 1.6px;
}
.public-site.medical-design .catalog-support p { color: #d7e7f0; line-height: 1.85; }
.public-site.medical-design .catalog-support .btn { background: #006bc9; color: #fff; border: 1px solid #3590df; }
.public-site.medical-design .catalog-support .btn:hover { background: #0055a0; }
.public-site.medical-design .rd-service-card h3 { color: #fff; }
.public-site.medical-design .rd-service-card :is(p, li, small) { color: #d7e7f0; }

/* Consistent control sizes, visible keyboard focus and restrained hover feedback. */
.public-site.medical-design .about-pillars :is(h2, h3) { color: #fff; }
.public-site.medical-design .about-pillars :is(.eyebrow, .about-pillar-index) { color: #5eead4; }
.public-site.medical-design .about-pillars :is(p, .about-pillar-name) { color: #d7e7f0; }
.public-site.medical-design .help-contact h3 { color: #fff; }
.public-site.medical-design .help-contact :is(p, a) { color: #d7e7f0; }

.public-site.medical-design .btn { min-height: 48px; font-size: 15px; line-height: 1.6; border-radius: 10px; }
.public-site.medical-design :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #0b7d88;
  outline-offset: 3px;
}
.public-site.medical-design :is(.catalog-support, .rd-service-card, .rd-footer, .rd-hero) :is(a, button):focus-visible {
  outline-color: #5eead4;
}
.public-site.medical-design :is(input, textarea)::placeholder { color: #64758a; opacity: 1; }
.public-site.medical-design #site-navigation > a { font-size: 14px; }
.public-site.medical-design #site-navigation > a:hover { color: #005da8; }

/* Readable supporting copy; preserve the existing two-line catalogue previews. */
.public-site.medical-design .catalog-card-brand { font-size: 12px; letter-spacing: 1.2px; }
.public-site.medical-design .catalog-card-model,
.public-site.medical-design .catalog-card-code { color: #52667a; font-size: 14px; }
.public-site.medical-design .catalog-card-link { font-size: 15px; }
.public-site.medical-design .catalog-product-card h3 { font-size: 20px; line-height: 1.6; }
.public-site.medical-design :is(.catalog-product-card, .knowledge-card, .rd-solution) {
  border-color: var(--polish-line);
}
.public-site.medical-design :is(.catalog-product-card, .knowledge-card):hover {
  border-color: #8db6ce;
  box-shadow: 0 8px 24px #123e580b;
}
.public-site.medical-design .rd-add-quote { font-size: 14px; min-height: 44px; }
.public-site.medical-design .rd-solution p { font-size: 15px; line-height: 1.85; }
.public-site.medical-design .rd-solution-link { font-size: 14px; }
.public-site.medical-design .rd-contact-cta p { font-size: 16px; line-height: 1.85; }
.public-site.medical-design .knowledge-card :is(p, .knowledge-card-summary) { font-size: 16px; line-height: 1.85; }
.public-site.medical-design :is(.product-contact, .contact-banner) { border: 1px solid var(--polish-line); border-radius: 16px; }
.public-site.medical-design :is(.product-contact, .contact-banner) h2 { margin-top: 0; line-height: 1.5; }
.public-site.medical-design :is(.product-contact, .contact-banner) p { color: #52667a; line-height: 1.85; }

/* Footer text is useful navigation, not fine print. */
.public-site.medical-design .rd-footer { color: #c4d4e3; }
.public-site.medical-design .rd-footer h2 { color: #fff; font-size: 18px; line-height: 1.6; }
.public-site.medical-design .rd-footer h3 { color: #fff; font-size: 16px; }
.public-site.medical-design .rd-footer :is(p, a, address) { color: #c4d4e3; font-size: 14px; line-height: 1.9; }
.public-site.medical-design .rd-footer a:hover { color: #5eead4; text-decoration: underline; text-underline-offset: 4px; }
.public-site.medical-design .rd-footer-bottom { color: #c4d4e3; font-size: 13px; }

@media (max-width: 700px) {
  .public-site.medical-design .catalog-support { align-items: stretch; gap: 22px; padding: 26px 22px; }
  .public-site.medical-design .catalog-support h2 { font-size: 26px; margin-bottom: 14px; }
  .public-site.medical-design .catalog-support p { font-size: 16px; }
  .public-site.medical-design .catalog-support .btn { width: 100%; text-align: center; }
  .public-site.medical-design .catalog-card-content { padding: 22px; }
  .public-site.medical-design .rd-footer :is(p, a, address) { font-size: 14px; }
  .public-site.medical-design .rd-contact-cta h2 { font-size: 28px; line-height: 1.5; }
}
@media (prefers-reduced-motion: reduce) {
  .public-site.medical-design :is(.catalog-product-card, .knowledge-card, .rd-solution) { transition: none; transform: none; }
}
