:root {
  --ds-ink: #1f2933;
  --ds-ink-strong: #102a2e;
  --ds-teal: #0b5d57;
  --ds-teal-dark: #073f3b;
  --ds-ivory: #fffdf7;
  --ds-gold: #d6b981;
  --ds-focus: #f4b400;
}

body,
.entry-content,
.elementor-widget-text-editor,
.elementor-widget-icon-box .elementor-icon-box-description,
.elementor-widget-image-box .elementor-image-box-description {
  color: var(--ds-ink);
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.elementor-heading-title,
.elementor-icon-box-title,
.elementor-image-box-title {
  color: var(--ds-ink-strong);
}

.entry-content a:not(.elementor-button),
.ds-article a {
  color: var(--ds-teal-dark);
  text-decoration: underline;
  text-decoration-thickness: .09em;
  text-underline-offset: .18em;
}

/* The live homepage uses white text on #d6b981; dark ink raises the ratio above WCAG AA. */
.elementor-9 .elementor-element.elementor-element-984260b,
.elementor-9 .elementor-element.elementor-element-984260b * {
  color: #17211f !important;
}

.elementor-button[style*="#d6b981"],
.elementor-button[style*="#D6B981"] {
  color: #17211f !important;
}

/* Improve secondary copy on dark image overlays and the about-page counters. */
.elementor-11 .elementor-element.elementor-element-8ade0ca .elementor-icon-box-description,
.elementor-11 .elementor-counter-title,
.elementor-9 .elementor-element.elementor-element-f2dea00 .elementor-icon-box-description {
  color: #f4f7f4 !important;
}

/* Contact form: readable fields, placeholders, validation and keyboard focus. */
.elementor-21 .wpcf7 input:not([type="submit"]),
.elementor-21 .wpcf7 textarea,
.elementor-21 .wpcf7 select {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, .72) !important;
}

.elementor-21 .wpcf7 input::placeholder,
.elementor-21 .wpcf7 textarea::placeholder {
  color: #f0f2f0 !important;
  opacity: 1;
}

.elementor-21 .wpcf7-not-valid-tip {
  color: #ffd2d2 !important;
  font-weight: 700;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.elementor-button:focus-visible {
  outline: 3px solid var(--ds-focus) !important;
  outline-offset: 3px !important;
}

/* Article reading surface. */
.ds-article {
  max-width: 780px;
  margin-inline: auto;
  color: var(--ds-ink);
  font-size: 1.075rem;
  line-height: 2;
}

.ds-article h2 {
  margin-top: 2.2em;
  line-height: 1.55;
}

.ds-article h3 {
  margin-top: 1.65em;
  line-height: 1.65;
}

.ds-article .ds-summary,
.ds-article .ds-note,
.ds-article .ds-sources {
  margin: 1.5rem 0;
  padding: 1.1rem 1.25rem;
  border-radius: 14px;
}

.ds-article .ds-summary {
  background: #edf6f4;
  border-right: 4px solid var(--ds-teal);
}

.ds-article .ds-note {
  background: #fff7e6;
  border-right: 4px solid #9a6a00;
  color: #3d2b05;
}

.ds-article .ds-sources {
  background: #f5f6f7;
  font-size: .95em;
}

.ds-article li + li {
  margin-top: .55em;
}

@media (max-width: 720px) {
  body { font-size: 16px; }
  .ds-article { font-size: 1rem; line-height: 1.95; }
  .ds-article .ds-summary,
  .ds-article .ds-note,
  .ds-article .ds-sources { padding: 1rem; }
}

