/* Typography — heading scale derived from site usage */

h1 {
  font-size: 3rem !important;       /* 48px */
  font-weight: 800 !important;
  line-height: 1;
  letter-spacing: -0.025em;
}

h2 {
  font-size: 2.25rem !important;    /* 36px */
  font-weight: 800 !important;
  line-height: 1;
  letter-spacing: -0.025em;
}

h3 {
  font-size: 1.5rem !important;     /* 24px */
  font-weight: 800 !important;
  line-height: 1.1;
  letter-spacing: -0.015em;
}

h4 {
  font-size: 1.25rem !important;    /* 20px */
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

@media (min-width: 768px) {
  h1 {
    font-size: 4.5rem !important;   /* 72px */
  }

  h2 {
    font-size: 3.75rem !important;  /* 60px */
  }

  h3 {
    font-size: 1.875rem !important; /* 30px */
  }

  h4 {
    font-size: 1.5rem !important;   /* 24px */
  }
}

@media (min-width: 1024px) {
  h1 {
    font-size: 6rem !important;     /* 96px */
  }

  h2 {
    font-size: 4.5rem !important;   /* 72px */
  }

  h3 {
    font-size: 2.25rem !important;  /* 36px */
  }

  h4 {
    font-size: 1.875rem !important; /* 30px */
  }
}

.yellow-color{
    color:#ffbf31 !important;
}

.white-text{
    color:#fff !important;
}

/* ── Column accordion (tabs) ──────────────────────────────────────
   Clean divided accordion that adopts the active colour-section
   palette via --cs-text (falls back to the dark default when the
   column sits outside a coloured .cs section). */
.acc { --acc-color: var(--cs-text, #1a2a1a); }

.acc-item {
  border-top: 1px solid color-mix(in srgb, var(--acc-color) 20%, transparent);
}
.acc-item:last-child {
  border-bottom: 1px solid color-mix(in srgb, var(--acc-color) 20%, transparent);
}

.acc-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0.25rem;
  cursor: pointer;
  list-style: none;                 /* hide default disclosure triangle */
  font-weight: 600;
  color: var(--acc-color);
  transition: opacity 0.2s ease;
}
.acc-summary::-webkit-details-marker { display: none; }
.acc-summary:hover { opacity: 0.65; }

.acc-icon {
  width: 1.15rem;
  height: 1.15rem;
  flex-shrink: 0;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.acc-item[open] .acc-icon { transform: rotate(180deg); }

.acc-panel {
  padding: 0 0.25rem 1.15rem;
  color: var(--acc-color);
}
.acc-item[open] .acc-panel {
  animation: acc-reveal 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes acc-reveal {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Rich-text (RTE) vertical rhythm ──────────────────────────────
   The Tailwind CDN build ships no typography plugin, so `.prose` has no
   styles, and Preflight resets every margin to 0 — headings, paragraphs and
   lists in editor content render with no spacing. These rules restore a
   sensible rhythm for all RTE content (.prose wrappers). */
.prose > * + * { margin-top: 1.15em; }

/* Text sits under its own heading with a little breathing room … */
.prose > :is(h1, h2, h3, h4, h5, h6) + * { margin-top: 1.25em; }

/* … but a new heading gets extra air above it. */
.prose > * + :is(h1, h2, h3, h4, h5, h6) { margin-top: 1.75em; }

.prose ul { list-style: square; padding-left: 1.25em; }
.prose ol { list-style: decimal; padding-left: 1.25em; }
.prose li + li { margin-top: 0.4em; }
.prose a { text-decoration: underline; text-underline-offset: 2px; }

/* An image placed inside a heading (e.g. the coloured mark above the Quicklinks
   titles) sits on its own line with a little breathing room before the text. */
.prose :is(h1, h2, h3, h4, h5, h6) img { display: block; margin-bottom: 0.5em; }
