:root {
  --tbg-admin-offset: 0px;
  --tbg-forest: var(--wp--preset--color--forest, #174f37);
  --tbg-dark: var(--wp--preset--color--dark-forest, #0b3324);
  --tbg-olive: var(--wp--preset--color--olive, #505e35);
  --tbg-leaf: var(--wp--preset--color--leaf, #738b4d);
  --tbg-sage: var(--wp--preset--color--sage, #eaf2ec);
  --tbg-cream: var(--wp--preset--color--cream, #f7f4e8);
  --tbg-surface: var(--wp--preset--color--surface, #fff);
  --tbg-ink: var(--wp--preset--color--ink, #2e2c27);
  --tbg-muted: var(--wp--preset--color--muted, #617067);
  --tbg-border: var(--wp--preset--color--border, #cbd9cf);
  --tbg-harvest: var(--wp--preset--color--harvest, #f2c94c);
  --tbg-error: var(--wp--preset--color--pomegranate, #a84044);
  --tbg-success: var(--wp--preset--color--success, #237a50);
  --tbg-radius-sm: var(--wp--custom--radius--small, 8px);
  --tbg-radius-md: var(--wp--custom--radius--medium, 12px);
  --tbg-radius-lg: var(--wp--custom--radius--large, 16px);
  --tbg-radius-pill: var(--wp--custom--radius--pill, 999px);
  --tbg-shadow-sm: var(--wp--custom--shadow--small, 0 2px 12px rgba(11, 51, 36, 0.08));
  --tbg-shadow-md: var(--wp--custom--shadow--medium, 0 14px 40px rgba(11, 51, 36, 0.12));
  --tbg-touch: var(--wp--custom--touch-target, 44px);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body.tbg-site {
  min-width: 320px;
  min-height: 100vh;
  overflow-wrap: break-word;
  font-synthesis-weight: none;
}

body.tbg-site :where(img, video, iframe) {
  max-width: 100%;
}

body.tbg-site :where(button, input, select, textarea) {
  font: inherit;
}

body.tbg-site :where(button, a) {
  touch-action: manipulation;
}

body.tbg-site :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--tbg-harvest);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgba(23, 79, 55, 0.16);
}

body.tbg-site :where(h1, h2, h3, h4, h5, h6) {
  text-wrap: balance;
}

body.tbg-site :where(p, li) {
  text-wrap: pretty;
}

.tbg-site-main {
  min-height: 55vh;
}

.tbg-page-shell {
  padding-block: clamp(2rem, 6vw, 5rem);
}

.tbg-content-width {
  width: min(100%, var(--wp--style--global--content-size, 780px));
  margin-inline: auto;
}

.tbg-wide-width {
  width: min(100%, var(--wp--style--global--wide-size, 1320px));
  margin-inline: auto;
}

/* Phase 12.5 long-form customer policies. */
.tbg-policy {
  width: min(100%, 860px);
  margin-inline: auto;
  color: var(--tbg-ink);
  font-size: clamp(1rem, 0.98rem + 0.12vw, 1.075rem);
  line-height: 1.72;
}

.tbg-policy > :first-child {
  margin-top: 0;
}

.tbg-policy > h2 {
  margin-top: clamp(2.25rem, 5vw, 3.5rem);
  padding-top: clamp(1.25rem, 3vw, 2rem);
  border-top: 1px solid var(--tbg-border);
  color: var(--tbg-dark);
  font-size: clamp(1.35rem, 1.15rem + 0.8vw, 1.85rem);
  line-height: 1.25;
}

.tbg-policy > h2:first-of-type {
  margin-top: 2rem;
}

.tbg-policy :where(p, ul, ol) {
  max-width: none;
}

.tbg-policy :where(ul, ol) {
  padding-left: 1.35rem;
}

.tbg-policy li + li {
  margin-top: 0.5rem;
}

.tbg-policy a {
  color: var(--tbg-forest);
  font-weight: 700;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.15em;
}

.tbg-policy__updated {
  margin-bottom: 1.5rem;
  color: var(--tbg-muted);
  font-size: 0.92rem;
}

.tbg-policy .tbg-policy__summary {
  margin-block: 0 2rem;
  padding: clamp(1.15rem, 3vw, 1.75rem);
  border: 1px solid var(--tbg-border);
  border: 1px solid color-mix(in srgb, var(--tbg-forest) 28%, var(--tbg-border));
  border-left: 5px solid var(--tbg-forest);
  border-radius: var(--tbg-radius-md);
  background: var(--tbg-sage);
  box-shadow: var(--tbg-shadow-sm);
}

.tbg-policy .tbg-policy__summary h2 {
  margin: 0 0 0.75rem;
  color: var(--tbg-dark);
  font-size: clamp(1.2rem, 1.1rem + 0.35vw, 1.45rem);
}

.tbg-policy .tbg-policy__summary ul {
  margin-block: 0;
}

.tbg-policy__contact {
  margin-top: 2.5rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--tbg-border);
  border-radius: var(--tbg-radius-md);
  background: var(--tbg-surface);
  box-shadow: var(--tbg-shadow-sm);
}

@media (max-width: 640px) {
  .tbg-policy {
    line-height: 1.65;
  }

  .tbg-policy > h2 {
    margin-top: 2rem;
    padding-top: 1.25rem;
  }

  .tbg-policy .tbg-policy__summary {
    border-left-width: 4px;
  }
}

.tbg-surface-cream {
  background: var(--tbg-cream);
}

.tbg-muted {
  color: var(--tbg-muted);
}

.tbg-visually-hidden,
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus {
  z-index: 100000;
  top: 0.5rem;
  left: 0.5rem;
  width: auto;
  height: auto;
  padding: 0.75rem 1rem;
  clip: auto;
  background: var(--tbg-surface);
  color: var(--tbg-dark);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
