/* Metallic Luxe readability guard: keep black/gold cards clear in every state. */
html body {
  color: #f8f0d7 !important;
  background:
    radial-gradient(circle at 16% 10%, rgba(212, 175, 55, .18), transparent 22rem),
    linear-gradient(180deg, #050403, #11100c 54%, #050403) !important;
}

html body .site-header {
  background: rgba(5, 4, 3, .94) !important;
  border-bottom-color: rgba(212, 175, 55, .28) !important;
}

html body .site-header,
html body .site-header *,
html body .nav-links a,
html body .brand strong,
html body .brand small {
  color: #f8f0d7 !important;
  text-shadow: none !important;
}

html body h1,
html body h2,
html body h3 {
  color: #fff8df !important;
  text-shadow: none !important;
}

html body p,
html body li,
html body dt,
html body dd,
html body label,
html body span {
  text-shadow: none !important;
}

html body .hero,
html body .studio-hero,
html body .page-hero,
html body .service-detail-hero {
  color: #f8f0d7 !important;
  border-color: rgba(212, 175, 55, .26) !important;
  background:
    linear-gradient(135deg, rgba(23, 19, 12, .96), rgba(7, 6, 4, .96)),
    radial-gradient(circle at 86% 18%, rgba(212, 175, 55, .12), transparent 18rem) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .45) !important;
}

html body .summary-card,
html body .portrait-card,
html body .card,
html body .card-link,
html body article[class*="card"],
html body .service-card,
html body .specialty-card,
html body .resource-card,
html body .testimonial-card,
html body .fit-card,
html body .process-card,
html body .detail-card,
html body .detail-module,
html body .detail-console,
html body .contact-panel,
html body .trust-panel,
html body .reason-stack article,
html body .mosaic-grid article,
html body .service-list article,
html body article {
  color: #f8f0d7 !important;
  background: linear-gradient(180deg, rgba(24, 20, 13, .98), rgba(9, 8, 6, .98)) !important;
  border-color: rgba(212, 175, 55, .32) !important;
  box-shadow: 0 18px 52px rgba(0, 0, 0, .36) !important;
  text-shadow: none !important;
}

html body .summary-card *,
html body .portrait-card *,
html body .card *,
html body .card-link *,
html body article[class*="card"] *,
html body .service-card *,
html body .specialty-card *,
html body .resource-card *,
html body .testimonial-card *,
html body .fit-card *,
html body .process-card *,
html body .detail-card *,
html body .detail-module *,
html body .detail-console *,
html body .contact-panel *,
html body .trust-panel *,
html body .reason-stack article *,
html body .mosaic-grid article *,
html body .service-list article *,
html body article * {
  color: #f8f0d7 !important;
  text-shadow: none !important;
}

html body .card:hover,
html body .card-link:hover,
html body article[class*="card"]:hover,
html body .service-card:hover,
html body .specialty-card:hover,
html body .resource-card:hover,
html body .testimonial-card:hover,
html body .fit-card:hover,
html body .process-card:hover,
html body .detail-card:hover,
html body article:hover {
  color: #fff8df !important;
  background: linear-gradient(180deg, rgba(36, 30, 18, .99), rgba(12, 10, 7, .99)) !important;
  border-color: rgba(250, 204, 21, .62) !important;
  box-shadow: 0 26px 72px rgba(0, 0, 0, .48), 0 0 0 1px rgba(250, 204, 21, .2) !important;
}

html body .card:hover *,
html body .card-link:hover *,
html body article[class*="card"]:hover *,
html body .service-card:hover *,
html body .specialty-card:hover *,
html body .resource-card:hover *,
html body .testimonial-card:hover *,
html body .fit-card:hover *,
html body .process-card:hover *,
html body .detail-card:hover *,
html body article:hover * {
  color: #fff8df !important;
  text-shadow: none !important;
}

html body main .grid .card,
html body main .grid .card:visited {
  color: #fff8df !important;
  background:
    linear-gradient(145deg, rgba(32, 27, 17, .99), rgba(7, 6, 4, .99)),
    radial-gradient(circle at 86% 12%, rgba(212, 175, 55, .18), transparent 9rem) !important;
  border-color: rgba(212, 175, 55, .42) !important;
}

html body main .grid .card *,
html body main .grid .card:visited * {
  color: #fff8df !important;
  opacity: 1 !important;
}

html body main .grid .card > span:first-child,
html body main .grid .card .eyebrow,
html body main .grid .card .tag,
html body main .grid .card .badge {
  color: #151008 !important;
  background: linear-gradient(135deg, #fff1a8, #d4af37) !important;
  border-color: rgba(250, 204, 21, .5) !important;
}

html body main .grid .card:hover,
html body main .grid .card:focus-visible {
  color: #fffbe8 !important;
  background:
    linear-gradient(145deg, rgba(43, 35, 20, .99), rgba(11, 9, 6, .99)),
    radial-gradient(circle at 86% 12%, rgba(250, 204, 21, .24), transparent 10rem) !important;
  border-color: rgba(250, 204, 21, .74) !important;
}

html body main .grid .card:hover *,
html body main .grid .card:focus-visible * {
  color: #fffbe8 !important;
  opacity: 1 !important;
}

html body main .grid .card:hover > span:first-child,
html body main .grid .card:focus-visible > span:first-child {
  color: #151008 !important;
}

html body .eyebrow,
html body .tag,
html body .badge,
html body .pill,
html body .label,
html body .kicker {
  color: #161008 !important;
  background: linear-gradient(135deg, #fff1a8, #d4af37) !important;
  border: 1px solid rgba(250, 204, 21, .45) !important;
}

html body .button,
html body button,
html body a[class*="button"] {
  color: #110d07 !important;
  background: linear-gradient(135deg, #fff1a8, #d4af37) !important;
  border: 1px solid rgba(250, 204, 21, .55) !important;
}

html body .button.secondary,
html body a.button.secondary {
  color: #fff8df !important;
  background: rgba(255, 255, 255, .08) !important;
  border-color: rgba(212, 175, 55, .38) !important;
}

/* Interior layout identity: executive dossier, not a standard clinic page. */
html body.vitalweb-remix .hero {
  display: grid !important;
  grid-template-columns: minmax(0, .72fr) minmax(250px, .28fr) !important;
  gap: clamp(22px, 4vw, 48px) !important;
  align-items: stretch !important;
  border-radius: 0 !important;
  border-left: 8px solid #d4af37 !important;
}

html body.vitalweb-remix .hero .summary-card {
  align-self: stretch !important;
  border-radius: 0 !important;
}

html body.vitalweb-remix .about-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .62fr) minmax(260px, .38fr) !important;
  gap: clamp(24px, 4vw, 52px) !important;
}

html body.vitalweb-remix .service-list,
html body.vitalweb-remix .support-grid,
html body.vitalweb-remix .trust-grid,
html body.vitalweb-remix .systems-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

html body.vitalweb-remix .service-list article,
html body.vitalweb-remix .support-grid article,
html body.vitalweb-remix .trust-grid article,
html body.vitalweb-remix .systems-grid article {
  border-radius: 0 !important;
  border-left: 4px solid #d4af37 !important;
}

/* Card spacing safety pass: keeps text from hugging card borders on all sample pages. */
html body :where(.card, .card-link, .summary-card, .portrait-card, .service-card, .specialty-card, .resource-card, .testimonial-card, .fit-card, .process-card, .detail-card, .board-card, .contact-panel, .trust-panel, .detail-module, .detail-console),
html body :where(.service-list, .support-grid, .systems-grid, .trust-grid, .mosaic-grid, .reason-stack, .fit-ribbon) > article,
html body :where(.process-lane) li {
  box-sizing: border-box !important;
  padding: clamp(20px, 2.4vw, 30px) !important;
}

/* Form spacing safety pass: keeps labels and controls comfortably inside contact forms. */
html body :where(form, .lead-form, .quote-form, .managed-form) {
  box-sizing: border-box !important;
  padding: clamp(22px, 2.6vw, 34px) !important;
}

/* Final readability/media safety pass: keeps page images contained and tiny marks readable. */
html body img {
  max-width: 100% !important;
}

html body :where(.brand-mark, .tag, .badge, .label, .kicker) {
  opacity: 1 !important;
  text-shadow: none !important;
}

html body :where(.brand-mark) {
  color: #102326 !important;
  background: #f7fff9 !important;
  border: 1px solid rgba(16, 35, 38, .14) !important;
}

html body:not(.vitalweb-remix) main .grid .card,
html body:not(.vitalweb-remix) main .grid .card:visited {
  color: inherit !important;
  overflow: hidden !important;
}

html body:not(.vitalweb-remix) main .grid .card * {
  opacity: 1 !important;
  text-shadow: none !important;
}

html body .button,
html body button,
html body a[class*="button"] {
  opacity: 1 !important;
  text-shadow: none !important;
}

/* Contact form safety pass: keeps compact demo forms readable on every page. */
html body form.contact-panel,
html body .contact-panel:is(form) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  align-content: start !important;
}

html body form.contact-panel label,
html body .contact-panel:is(form) label {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 7px !important;
  min-width: 0 !important;
  color: inherit !important;
  font-weight: 700 !important;
}

html body form.contact-panel input,
html body form.contact-panel select,
html body form.contact-panel textarea,
html body .contact-panel:is(form) input,
html body .contact-panel:is(form) select,
html body .contact-panel:is(form) textarea {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  font: inherit !important;
}

html body form.contact-panel textarea,
html body .contact-panel:is(form) textarea {
  min-height: 116px !important;
  resize: vertical;
}

/* Form field readability pass: prevents dark inherited controls on light contact layouts. */
html body form.contact-panel input,
html body form.contact-panel select,
html body form.contact-panel textarea,
html body .contact-panel:is(form) input,
html body .contact-panel:is(form) select,
html body .contact-panel:is(form) textarea {
  color: #172126 !important;
  background: rgba(255, 255, 255, .96) !important;
  border-color: rgba(23, 33, 38, .22) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82) !important;
}

html body form.contact-panel input::placeholder,
html body form.contact-panel textarea::placeholder,
html body .contact-panel:is(form) input::placeholder,
html body .contact-panel:is(form) textarea::placeholder {
  color: #6c757d !important;
  opacity: 1 !important;
}
