/*
  Starter fallback CSS.

  Run `npm install` then `npm run build` inside this theme folder to replace
  this file with the real Tailwind output.
*/
:root {
  --slate-50: #f8fafc;
  --slate-100: #f1f5f9;
  --slate-200: #e2e8f0;
  --slate-300: #cbd5e1;
  --slate-500: #64748b;
  --slate-600: #475569;
  --slate-700: #334155;
  --slate-800: #1e293b;
  --slate-950: #020617;
  --brand-50: #ecfdf5;
  --brand-600: #059669;
  --brand-700: #047857;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--slate-50); color: var(--slate-950); font-family: Afacad, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.bg-white { background: #fff; }
.text-slate-950 { color: var(--slate-950); }
.text-slate-700 { color: var(--slate-700); }
.text-slate-600 { color: var(--slate-600); }
.text-slate-500 { color: var(--slate-500); }
.border-slate-200 { border-color: var(--slate-200); }
.site-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid rgba(226,232,240,.8); background: rgba(255,255,255,.92); backdrop-filter: blur(12px); }
.site-header > div:first-child, footer > div, footer > div > div, section > div, article > div { max-width: 80rem; margin-inline: auto; padding-inline: 1.5rem; }
.site-header > div:first-child { display: flex; align-items: center; justify-content: space-between; padding-top: 1rem; padding-bottom: 1rem; }
main section, main article { padding-bottom: 4rem; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(2.25rem, 5vw, 3.75rem); line-height: 1; letter-spacing: -0.04em; margin-bottom: 1.5rem; }
h2 { font-size: 1.875rem; line-height: 1.15; letter-spacing: -0.03em; }
p { line-height: 1.75; }
.eyebrow { font-size: .875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; color: var(--brand-600); }
.btn-primary, .btn-secondary { display: inline-flex; align-items: center; justify-content: center; border-radius: .75rem; padding: .75rem 1.25rem; font-size: .875rem; font-weight: 700; transition: .2s ease; }
.btn-primary { background: var(--slate-950); color: #fff; box-shadow: 0 1px 2px rgba(15,23,42,.08); }
.btn-primary:hover { background: var(--slate-800); }
.btn-secondary { border: 1px solid var(--slate-200); background: #fff; color: var(--slate-950); }
.btn-secondary:hover { background: var(--slate-50); }
.feature-card, .post-card { border: 1px solid var(--slate-200); border-radius: 1.5rem; background: #fff; padding: 1.5rem; box-shadow: 0 1px 2px rgba(15,23,42,.05); }
.feature-card h2 { margin-top: 1.25rem; margin-bottom: .75rem; font-size: 1.125rem; }
.feature-card p, .post-card p { color: var(--slate-600); font-size: .875rem; }
.feature-icon { display: inline-flex; height: 2.5rem; width: 2.5rem; align-items: center; justify-content: center; border-radius: .75rem; background: var(--brand-50); color: var(--brand-700); font-weight: 800; }
.primary-menu, .footer-menu, .mobile-menu { list-style: none; padding: 0; margin: 0; }
.primary-menu { display: flex; gap: 1.75rem; align-items: center; }
.primary-menu a, .footer-menu a { color: var(--slate-600); font-size: .875rem; font-weight: 600; }
.primary-menu a:hover, .footer-menu a:hover { color: var(--slate-950); }
.footer-menu { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.tf-content { color: var(--slate-700); line-height: 1.8; }
.tf-content > * + * { margin-top: 1.5rem; }
.tf-content a { color: var(--brand-700); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.tf-content h2 { margin-top: 3rem; color: var(--slate-950); }
.tf-content ul, .tf-content ol { padding-left: 1.5rem; }
.hidden { display: none !important; }
.grid { display: grid; }
.gap-5 { gap: 1.25rem; }
.gap-6 { gap: 1.5rem; }
.mt-3 { margin-top: .75rem; }
.mt-4 { margin-top: 1rem; }
.mt-5 { margin-top: 1.25rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-8 { margin-top: 2rem; }
.mt-10 { margin-top: 2.5rem; }
.mt-14 { margin-top: 3.5rem; }
.rounded-xl { border-radius: .75rem; }
.rounded-2xl { border-radius: 1rem; }
.rounded-3xl { border-radius: 1.5rem; }
.border { border: 1px solid var(--slate-200); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (min-width: 768px) {
  .md\:flex { display: flex; }
  .md\:hidden { display: none !important; }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .hidden.md\:flex { display: none !important; }
}


/* Single news article content styling */
.news-content > * {
  margin-bottom: 1.5rem;
}

.news-content h2 {
  font-size: 2rem;
  line-height: 2.4rem;
  font-weight: 600;
  color: #0F385F;
  margin-top: 3rem;
  margin-bottom: 1rem;
}

.news-content h3 {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
  color: #0F385F;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
}

.news-content p {
  color: #4b5563;
}

.news-content a {
  color: #ff6200;
  font-weight: 600;
  text-decoration: underline;
}

.news-content ul {
  list-style: disc;
  padding-left: 1.5rem;
}

.news-content ol {
  list-style: decimal;
  padding-left: 1.5rem;
}

.news-content li {
  margin-bottom: 0.5rem;
}

.news-content img {
  width: 100%;
  height: auto;
}

.news-content blockquote {
  border-left: 4px solid #ff6200;
  padding-left: 1.5rem;
  color: #0F385F;
  font-size: 1.25rem;
  line-height: 1.8rem;
}

.loader {
    width: 50px;
    --b: 8px; 
    aspect-ratio: 1;
    border-radius: 50%;
    padding: 1px;
    background: conic-gradient(#0000 10%,#1f74be) content-box;
    -webkit-mask:
      repeating-conic-gradient(#0000 0deg,#000 1deg 20deg,#0000 21deg 36deg),
      radial-gradient(farthest-side,#0000 calc(100% - var(--b) - 1px),#000 calc(100% - var(--b)));
    -webkit-mask-composite: destination-in;
            mask-composite: intersect;
    animation:l4 1s infinite steps(10);
  }
  @keyframes l4 {to{transform: rotate(1turn)}}
  
  /* Service page content links */
.service-section a:not(.wp-block-button__link),
.contact-form-section a:not(.wp-block-button__link),
.entry-content a:not(.wp-block-button__link) {
  color: #ff6200;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.service-section a:not(.wp-block-button__link):hover,
.contact-form-section a:not(.wp-block-button__link):hover,
.entry-content a:not(.wp-block-button__link):hover {
  color: #ea580c;
}

.site-header {
  position: relative;
  z-index: 9999;
  isolation: isolate;
}

.site-header nav,
.site-header #navbar-multi-level,
.site-header .js-dropdown-menu {
  z-index: 9999;
}

@media (min-width: 1279px) {
  .site-header .js-dropdown-menu {
    position: absolute;
    z-index: 10000;
  }
}

.service-hero,
.single-news-hero,
.wp-block-cover {
  position: relative;
  z-index: 0;
}