/* Shared palette for legal, blog, case-study, and system pages. */
:root {
  --tdl-site-green: #006039;
  --tdl-site-green-dark: #073326;
  --tdl-site-forest: #05251d;
  --tdl-site-mint: #2fc28c;
  --tdl-site-paper: #f4f3ee;
  --tdl-site-ink: #25222a;
  --tdl-site-muted: #5b5d59;
  --tdl-site-line: rgba(5, 37, 29, 0.14);
  --\1f3a8 -color--blue-600: #006039;
  --\1f3a8 -color--blue-800: #073326;
  --\1f3a8 -color--blue-950: #05251d;
  --\1f3a8 -color--blue-400: #0b4a35;
  --\1f3a8 -color--blue-200: #d5d5d2;
  --\1f3a8 -color--blue-50: #f2f1ec;
}

html body.legal-page .navbar,
html body.blog-page .navbar,
html body.case-trust-post-page .navbar,
html body.system-page .navbar {
  background: #fff !important;
}

html body.legal-page .button,
html body.blog-page .button,
html body.case-trust-post-page .button,
html body.system-page .button,
html body.legal-page .contact-button,
html body.blog-page .contact-button,
html body.case-trust-post-page .contact-button,
html body.system-page .contact-button {
  border-color: var(--tdl-site-green) !important;
  background: var(--tdl-site-green) !important;
}

html body.legal-page .button:hover,
html body.blog-page .button:hover,
html body.case-trust-post-page .button:hover,
html body.system-page .button:hover,
html body.legal-page .button:focus-visible,
html body.blog-page .button:focus-visible,
html body.case-trust-post-page .button:focus-visible,
html body.system-page .button:focus-visible {
  border-color: var(--tdl-site-green-dark) !important;
  background: var(--tdl-site-green-dark) !important;
}

html body.legal-page :is(a, button, input, select, textarea, summary):focus-visible,
html body.blog-page :is(a, button, input, select, textarea, summary):focus-visible,
html body.case-trust-post-page :is(a, button, input, select, textarea, summary):focus-visible,
html body.system-page :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(0, 96, 57, 0.28) !important;
  outline-offset: 3px;
}

/* Legal documents */
html body.legal-page {
  background: var(--tdl-site-paper) !important;
  color: var(--tdl-site-ink) !important;
}

html body.legal-page .legal-hero-section {
  background:
    radial-gradient(circle at 82% 14%, rgba(47, 194, 140, 0.15), transparent 29%),
    linear-gradient(180deg, #fff 0%, var(--tdl-site-paper) 100%) !important;
}

html body.legal-page .legal-kicker,
html body.legal-page .legal-prose a,
html body.legal-page .legal-companion-kicker,
html body.legal-page .legal-companion-action {
  color: var(--tdl-site-green) !important;
}

html body.legal-page .legal-hero-heading,
html body.legal-page .legal-prose h2,
html body.legal-page .legal-companion-title {
  color: var(--tdl-site-ink) !important;
}

html body.legal-page .legal-meta-pill {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.legal-page .legal-meta-pill::before {
  background: var(--tdl-site-green) !important;
}

html body.legal-page .legal-document-section {
  background: #fff !important;
}

html body.legal-page .legal-prose {
  border-color: var(--tdl-site-line) !important;
}

html body.legal-page .legal-prose p,
html body.legal-page .legal-prose li,
html body.legal-page .legal-hero-copy,
html body.legal-page .legal-companion-copy {
  color: var(--tdl-site-muted) !important;
}

html body.legal-page .legal-inline-button {
  background: var(--tdl-site-green) !important;
  color: #fff !important;
}

html body.legal-page .legal-callout {
  border-color: rgba(0, 96, 57, 0.16) !important;
  background: rgba(0, 96, 57, 0.07) !important;
  color: #34433b !important;
}

html body.legal-page .legal-companion-section {
  background: var(--tdl-site-paper) !important;
}

html body.legal-page .legal-companion-card {
  border-color: var(--tdl-site-line) !important;
  background: #fff !important;
  box-shadow: 0 18px 44px rgba(5, 37, 29, 0.08) !important;
}

html body.legal-page .legal-companion-card:hover,
html body.legal-page .legal-companion-card:focus-visible {
  border-color: rgba(0, 96, 57, 0.32) !important;
  box-shadow: 0 24px 52px rgba(5, 37, 29, 0.13) !important;
}

/* Blog index */
html body.blog-page,
html body.blog-page main,
html body.blog-page .blog-feed {
  background: var(--tdl-site-paper) !important;
  color: var(--tdl-site-ink) !important;
}

html body.blog-page .blog-head {
  background:
    radial-gradient(circle at 78% 12%, rgba(47, 194, 140, 0.15), transparent 30%),
    #fff !important;
}

html body.blog-page :is(
  .blog-eyebrow,
  .blog-section-heading a:hover,
  .blog-featured-tag,
  .blog-tag,
  .blog-card-title a:hover,
  .blog-featured-title a:hover,
  .blog-picks-list a:hover
) {
  color: var(--tdl-site-green) !important;
}

html body.blog-page :is(.blog-subscribe-button, .blog-inline-subscribe-button) {
  border-color: var(--tdl-site-green) !important;
  background: var(--tdl-site-green) !important;
}

html body.blog-page :is(.blog-subscribe-button, .blog-inline-subscribe-button):hover {
  background: var(--tdl-site-green-dark) !important;
}

html body.blog-page .blog-tab:hover,
html body.blog-page .blog-tab.is-active {
  border-color: rgba(0, 96, 57, 0.2) !important;
  background: rgba(0, 96, 57, 0.08) !important;
  color: var(--tdl-site-green) !important;
}

html body.blog-page :is(.blog-featured-tag, .blog-tag) {
  background: rgba(0, 96, 57, 0.08) !important;
}

html body.blog-page :is(
  .blog-featured,
  .blog-card,
  .blog-subscribe-heading,
  .blog-inline-subscribe,
  .blog-empty-note
) {
  border-color: var(--tdl-site-line) !important;
  background-color: #fff !important;
}

html body.blog-page .blog-card:hover {
  border-color: rgba(0, 96, 57, 0.3) !important;
  box-shadow: 0 20px 46px rgba(5, 37, 29, 0.11) !important;
}

/* Case studies */
html body.case-trust-post-page,
html body.case-trust-post-page .case-page,
html body.case-trust-post-page .case-shell,
html body.case-trust-post-page .case-main {
  background: var(--tdl-site-paper) !important;
}

html body.case-trust-post-page .case-hero {
  background:
    radial-gradient(circle at 84% 14%, rgba(47, 194, 140, 0.16), transparent 31%),
    linear-gradient(180deg, #fff, var(--tdl-site-paper)) !important;
}

html body.case-trust-post-page :is(.case-kicker, .case-card-cta, .case-eyebrow, .case-card-tag) {
  color: var(--tdl-site-green) !important;
}

html body.case-trust-post-page .case-kicker {
  background: var(--tdl-site-green) !important;
  color: #fff !important;
}

html body.case-trust-post-page :is(.case-button, .case-button:visited) {
  border-color: var(--tdl-site-green) !important;
  background: var(--tdl-site-green) !important;
  color: #fff !important;
}

html body.case-trust-post-page :is(.case-stat-card, .case-link-card, .case-note) {
  border-color: var(--tdl-site-line) !important;
  background: #fff !important;
  box-shadow: 0 18px 42px rgba(5, 37, 29, 0.08) !important;
}

html body.case-trust-post-page :is(.case-stat-card, .case-link-card):hover,
html body.case-trust-post-page :is(.case-stat-card, .case-link-card):focus-visible {
  border-color: rgba(0, 96, 57, 0.3) !important;
  box-shadow: 0 24px 52px rgba(5, 37, 29, 0.13) !important;
}

html body.case-trust-post-page .case-note {
  border-left-color: var(--tdl-site-green) !important;
}

html body.case-trust-post-page .case-chip {
  border-color: rgba(0, 96, 57, 0.18) !important;
  background: rgba(0, 96, 57, 0.08) !important;
  color: var(--tdl-site-green-dark) !important;
}

html body.case-trust-post-page .tdl-cta-section {
  background: var(--tdl-site-forest) !important;
}

/* 404 and thank-you pages */
html body.system-page {
  background: var(--tdl-site-paper) !important;
  color: var(--tdl-site-ink) !important;
}

html body.not-found-page .v1-common-hero-section {
  background:
    radial-gradient(circle at 78% 18%, rgba(47, 194, 140, 0.16), transparent 32%),
    linear-gradient(180deg, #fff, var(--tdl-site-paper)) !important;
}

html body.not-found-page .navbar,
html body.not-found-page ._404-heading-div,
html body.not-found-page ._404-paragraph,
html body.not-found-page ._404-image-div,
html body.not-found-page ._404-button-div {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

html body.not-found-page ._404-heading-div h1,
html body.not-found-page ._404-heading-div .black-500-text {
  color: var(--tdl-site-ink) !important;
}

html body.not-found-page ._404-heading-div .black-500-text {
  background: linear-gradient(110deg, var(--tdl-site-green-dark), var(--tdl-site-green), #16845c);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

html body.not-found-page ._404-image-div {
  border-color: var(--tdl-site-line) !important;
  background: #fff !important;
  box-shadow: 0 24px 60px rgba(5, 37, 29, 0.12) !important;
}

html body.thank-you-page main {
  position: relative;
  min-height: min(760px, 100vh);
  border: 0;
  background:
    radial-gradient(circle at 78% 18%, rgba(47, 194, 140, 0.18), transparent 34%),
    linear-gradient(180deg, #fff, var(--tdl-site-paper)) !important;
}

html body.thank-you-page main::before {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin-bottom: 24px;
  border-radius: 50%;
  background: var(--tdl-site-green);
  box-shadow: 0 16px 36px rgba(0, 96, 57, 0.24);
  color: #fff;
  content: "✓";
  font-size: 32px;
  font-weight: 700;
}

html body.thank-you-page main h1 {
  color: var(--tdl-site-ink);
}

html body.thank-you-page main p {
  color: var(--tdl-site-muted);
}

html body.thank-you-page main a {
  background: var(--tdl-site-green) !important;
}

html body.thank-you-page main a:hover,
html body.thank-you-page main a:focus-visible {
  background: var(--tdl-site-green-dark) !important;
}

html body.legal-page .footer,
html body.blog-page .footer,
html body.case-trust-post-page .footer,
html body.system-page .footer {
  position: relative;
  z-index: 2;
  background: #000 !important;
  box-shadow: none !important;
}
