/* Editorial Ink: magazine-style, high-contrast, refined print direction. */
:root {
  --editorial-ink: #171514;
  --editorial-paper: #f7f1e6;
  --editorial-red: #a33a2b;
  --editorial-tan: #d8c2a3;
}

html body {
  color: var(--editorial-ink) !important;
  background:
    linear-gradient(90deg, rgba(23, 21, 20, .055) 1px, transparent 1px),
    linear-gradient(180deg, #fbf7ef, #eee0ce) !important;
  background-size: 18px 18px, auto !important;
}

html body::before {
  opacity: .22 !important;
  background-image: linear-gradient(90deg, rgba(163, 58, 43, .22), transparent 36%) !important;
}

html body .site-header {
  background: rgba(247, 241, 230, .94) !important;
  border-bottom: 1px solid rgba(23, 21, 20, .18) !important;
}

html body .nav-links a,
html body .brand small {
  color: #3d3833 !important;
  opacity: 1 !important;
}

html body .site-footer,
html body .site-footer p,
html body .site-footer strong {
  color: #fbf7ef !important;
  opacity: 1 !important;
}

html body h1,
html body h2,
html body h3 {
  color: #171514 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
}

html body .hero,
html body .page-hero,
html body .studio-hero,
html body .service-detail-hero {
  background:
    linear-gradient(90deg, rgba(247, 241, 230, .96), rgba(247, 241, 230, .74)),
    linear-gradient(135deg, rgba(163, 58, 43, .13), transparent 52%) !important;
  border-color: rgba(23, 21, 20, .2) !important;
  border-radius: 2px !important;
  box-shadow: 0 28px 80px rgba(58, 41, 30, .16) !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 {
  color: #171514 !important;
  background: rgba(255, 252, 246, .94) !important;
  border: 1px solid rgba(23, 21, 20, .22) !important;
  border-radius: 2px !important;
  box-shadow: 10px 10px 0 rgba(23, 21, 20, .08) !important;
}

html body .card:hover,
html body .card-link:hover,
html body article[class*="card"]:hover {
  transform: translate(-2px, -2px) !important;
  box-shadow: 14px 14px 0 rgba(163, 58, 43, .18) !important;
}

html body .button,
html body button,
html body a[class*="button"] {
  color: #fbf7ef !important;
  background: #171514 !important;
  border: 1px solid #171514 !important;
  border-radius: 2px !important;
}

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 * {
  color: #171514 !important;
  opacity: 1 !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 * {
  color: #171514 !important;
}

html body main .grid .card > span:first-child {
  color: #fbf7ef !important;
  background: #a33a2b !important;
}

html body main .grid .card strong {
  color: #a33a2b !important;
}

html body .eyebrow,
html body .tag,
html body .badge,
html body .pill,
html body .label,
html body .kicker,
html body .studio-copy .eyebrow,
html body .reason-copy .eyebrow,
html body .trust-panel .eyebrow,
html body .contact-panel .eyebrow,
html body .page-hero .eyebrow,
html body .service-detail-hero .eyebrow,
html body .detail-card .eyebrow,
html body article .eyebrow {
  color: #fbf7ef !important;
  background: #8c2f24 !important;
  text-shadow: none !important;
}

html body:not(.vitalweb-remix) .intro-block {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px) !important;
  gap: 28px !important;
  align-items: end !important;
  max-width: none !important;
  border-bottom: 3px solid #171514 !important;
  padding-bottom: 28px !important;
}

html body:not(.vitalweb-remix) .intro-block::after {
  content: "Issue 01 / Care Website Direction" !important;
  color: #a33a2b !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 28px !important;
  line-height: 1.1 !important;
}

html body:not(.vitalweb-remix) .intro-block {
  color: #fbf7ef !important;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .94), rgba(23, 21, 20, .92)),
    radial-gradient(circle at 88% 16%, rgba(163, 58, 43, .26), transparent 16rem) !important;
  padding: clamp(26px, 4vw, 48px) !important;
}

html body:not(.vitalweb-remix) .intro-block h1,
html body:not(.vitalweb-remix) .intro-block p {
  color: #fbf7ef !important;
}

html body:not(.vitalweb-remix) .grid {
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 0 !important;
  border: 1px solid rgba(23, 21, 20, .28) !important;
}

html body:not(.vitalweb-remix) main .grid .card {
  min-height: 340px !important;
  border: 0 !important;
  border-right: 1px solid rgba(23, 21, 20, .28) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 820px) {
  html body:not(.vitalweb-remix) .intro-block,
  html body:not(.vitalweb-remix) .grid {
    grid-template-columns: 1fr !important;
  }

  html body:not(.vitalweb-remix) main .grid .card {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(23, 21, 20, .28) !important;
  }
}

html body .button.secondary {
  color: #171514 !important;
  background: transparent !important;
}

html body .eyebrow,
html body .tag,
html body .badge,
html body .pill,
html body .label,
html body .kicker {
  color: #fbf7ef !important;
  background: #a33a2b !important;
  border-radius: 1px !important;
}

html body main {
  width: min(1120px, calc(100% - 40px)) !important;
  margin-inline: auto !important;
  padding-block: clamp(34px, 5vw, 70px) !important;
}

html body *,
html body *::before,
html body *::after {
  animation-duration: 0s !important;
  animation-delay: 0s !important;
}

html body main,
html body section,
html body header,
html body footer,
html body .studio-hero,
html body .studio-copy,
html body .studio-board,
html body .fit-ribbon,
html body .intro-split,
html body .service-mosaic,
html body .reason-band,
html body .process-lane,
html body .trust-contact {
  opacity: 1 !important;
  filter: none !important;
}

/* Interior layout identity: publication spread with columns and sharp edges. */
html body.vitalweb-remix .studio-hero {
  grid-template-columns: minmax(0, .68fr) minmax(280px, .32fr) !important;
  border-radius: 0 !important;
  border-top: 6px solid #171514 !important;
  border-bottom: 2px solid #171514 !important;
}

html body.vitalweb-remix .intro-split {
  display: grid !important;
  grid-template-columns: minmax(0, .38fr) minmax(0, .62fr) !important;
  gap: 30px !important;
  border-top: 2px solid #171514 !important;
  padding-top: 28px !important;
}

html body.vitalweb-remix .mosaic-grid,
html body.vitalweb-remix .reason-stack {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border: 1px solid rgba(23, 21, 20, .22) !important;
}

html body.vitalweb-remix .mosaic-grid article,
html body.vitalweb-remix .reason-stack article {
  border-radius: 0 !important;
  box-shadow: none !important;
  border-right: 1px solid rgba(23, 21, 20, .22) !important;
}

html body.vitalweb-remix .intro-split,
html body.vitalweb-remix .service-mosaic,
html body.vitalweb-remix .reason-band,
html body.vitalweb-remix .process-lane {
  background: #171514 !important;
}

html body.vitalweb-remix .intro-split h2,
html body.vitalweb-remix .intro-split p,
html body.vitalweb-remix .intro-note,
html body.vitalweb-remix .intro-note p,
html body.vitalweb-remix .mosaic-heading h2,
html body.vitalweb-remix .mosaic-heading p,
html body.vitalweb-remix .reason-copy h2,
html body.vitalweb-remix .reason-copy p,
html body.vitalweb-remix .process-lane .section-heading h2,
html body.vitalweb-remix .process-lane .section-heading p {
  color: #fbf7ef !important;
  opacity: 1 !important;
}

html body p,
html body li,
html body .hero-lede,
html body .intro,
html body .intro-note,
html body .reason-copy,
html body .contact-panel,
html body .trust-panel {
  color: #3d3833 !important;
}

html body .studio-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .75fr) !important;
  align-items: center !important;
  gap: clamp(28px, 5vw, 72px) !important;
  min-height: 560px !important;
  padding: clamp(34px, 6vw, 72px) !important;
  overflow: hidden !important;
}

html body .studio-copy,
html body .studio-board {
  position: relative !important;
  z-index: 1 !important;
}

html body .studio-board {
  display: grid !important;
  gap: 14px !important;
  justify-items: center !important;
}

html body .portrait-orbit {
  max-width: min(310px, 100%) !important;
  margin: 0 auto !important;
}

html body .portrait-orbit img,
html body img[src*="linda-medbiller-photo"] {
  display: block !important;
  width: min(300px, 100%) !important;
  max-height: 340px !important;
  object-fit: contain !important;
  opacity: 1 !important;
}

html body .board-card,
html body .fit-ribbon article,
html body .reason-stack article,
html body .mosaic-grid article,
html body .process-lane li,
html body .contact-panel,
html body .trust-panel {
  color: #171514 !important;
  background: rgba(255, 252, 246, .96) !important;
  border: 1px solid rgba(23, 21, 20, .2) !important;
}

html body .board-card *,
html body .fit-ribbon article *,
html body .reason-stack article *,
html body .mosaic-grid article *,
html body .process-lane li *,
html body .contact-panel *,
html body .trust-panel * {
  color: #171514 !important;
  opacity: 1 !important;
}

html body .fit-ribbon {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-block: 26px !important;
  background: transparent !important;
}

html body .fit-ribbon article {
  padding: 20px !important;
}

@media (max-width: 760px) {
  html body .studio-hero,
  html body .fit-ribbon {
    grid-template-columns: 1fr !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;
}
