/* site.css — supplements Tailwind CDN with a few hand-rolled styles. */

html { scroll-behavior: smooth; }
body { font-family: 'Plus Jakarta Sans','Inter',ui-sans-serif,system-ui,sans-serif; color: #21262e; }

/* Header transition when scrolled (toggled by site.js). */
#site-header.is-scrolled {
  background: rgba(255,255,255,.95);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #e4e7ec;
  box-shadow: 0 1px 2px -1px rgba(16,24,40,.10);
}
#site-header.is-scrolled #brand-text { color: #21262e; }
#site-header.is-scrolled .nav-link { color: #5a6473; }
#site-header.is-scrolled #mobile-toggle { color: #21262e; }

/* Long-form article prose. */
.prose-content { color: #374151; line-height: 1.75; }
.prose-content h2 { font-size: 1.6rem; line-height: 1.25; font-weight: 700; color: #21262e; margin: 2.25rem 0 .85rem; }
.prose-content h3 { font-size: 1.2rem; line-height: 1.3; font-weight: 600; color: #21262e; margin: 1.6rem 0 .6rem; }
.prose-content p { margin: 0 0 1.1rem; }
.prose-content ul, .prose-content ol { margin: 0 0 1.2rem 1.25rem; }
.prose-content ul { list-style: disc; }
.prose-content ol { list-style: decimal; }
.prose-content li { margin: .35rem 0; padding-left: .25rem; }
.prose-content a { color: #1e4fb5; text-decoration: underline; text-underline-offset: 2px; }
.prose-content a:hover { color: #163a86; }
.prose-content strong { color: #21262e; font-weight: 700; }
.prose-content img { border-radius: .5rem; margin: 1.25rem 0; width: 100%; height: auto; }
.prose-content table { width: 100%; border-collapse: collapse; margin: 1.25rem 0; font-size: .95rem; }
.prose-content th, .prose-content td { border: 1px solid #e4e7ec; padding: .6rem .75rem; text-align: left; }
.prose-content th { background: #f4f6fb; font-weight: 600; }

/* FAQ / accordion. */
.accordion-item { border: 1px solid #e4e7ec; border-radius: .5rem; overflow: hidden; }
.accordion-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; font-weight: 500; text-align: left; background: #fff; cursor: pointer; }
.accordion-trigger .chev { transition: transform .2s ease; flex: 0 0 auto; }
.accordion-item.open .accordion-trigger .chev { transform: rotate(180deg); }
.accordion-panel { display: none; padding: 0 1.25rem 1.1rem; color: #5a6473; font-size: .95rem; line-height: 1.7; }
.accordion-item.open .accordion-panel { display: block; }

/* Table of contents box. */
.toc { background: #f7f9fc; border: 1px solid #e4e7ec; border-radius: .5rem; padding: 1.1rem 1.25rem; margin: 1.5rem 0; }
.toc ol { list-style: decimal; margin-left: 1.1rem; }
.toc a { color: #1e4fb5; text-decoration: none; }
.toc a:hover { text-decoration: underline; }

/* Form field. */
.field-label { display:block; font-size:.875rem; font-weight:500; color:#21262e; margin-bottom:.35rem; }
.field-input { width:100%; border:1px solid #cfd5e0; border-radius:.5rem; padding:.6rem .75rem; font-size:.95rem; background:#fff; }
.field-input:focus { outline:2px solid #1e4fb5; outline-offset:1px; border-color:#1e4fb5; }

/* ---- Header mega menu (Services dropdown) ---- */
.has-mega .mega-panel{
  opacity:0;
  visibility:hidden;
  transform:translate(-50%, 6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
  z-index:60;
}
.has-mega:hover .mega-panel,
.has-mega:focus-within .mega-panel{
  opacity:1;
  visibility:visible;
  transform:translate(-50%, 0);
}
.has-mega:hover .mega-caret,
.has-mega:focus-within .mega-caret{ transform:rotate(180deg); }
