/* Additive overrides: preserve the installed theme assets and responsive layout. */
:root { --wl-header-offset: 110px; }
html { scroll-padding-top: var(--wl-header-offset); }
:is(h1, h2, h3, section[id], [id].article-cta) { scroll-margin-top: var(--wl-header-offset); }
.hamburger { border: 0; background: transparent; color: inherit; min-width: 44px; min-height: 44px; }
[hidden], .contact-modal-overlay[hidden], .mobile-overlay[hidden], .mobile-menu[hidden] { display: none !important; }
.wl-skip-link { position: fixed; left: 16px; top: -120px; padding: 12px 20px; background: #fff; color: #261d6c; z-index: 10001; }
.wl-skip-link:focus { top: 16px; }
:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.contact-modal-overlay { height: 100dvh; padding: 16px; }
.contact-modal { max-height: calc(100dvh - 32px); overscroll-behavior: contain; }
.contact-modal-close, .mobile-menu-close { width: 44px; height: 44px; }
.mobile-menu { width: min(360px, 100vw); height: 100dvh; max-height: 100dvh; overscroll-behavior: contain; }
.contact-form-section { padding-top: 70px; }
.wl-field-label { display: block; margin: 12px 0 6px; font-size: 16px; color: #fff; }
.wl-input-error:focus-visible { outline-color: #ffd8d8; }
.article-content { min-width: 0; }
.article-content table { max-width: 100%; }
.seo-listing-title { margin-bottom: 40px; text-align: center; }
.blog-posts-section, .seo-not-found { padding-top: 60px; padding-bottom: 60px; }
.blog-post-card .entry-title { text-align: left; margin: 0 0 18px; font-size: 24px; line-height: 1.4; }
.seo-breadcrumbs { margin-bottom: 30px; }
.seo-empty-actions, .seo-search-form { display: flex; flex-wrap: wrap; gap: 16px; margin: 24px 0; align-items: end; }
.seo-search-form label { display: block; }
.seo-search-form input { min-height: 44px; max-width: 100%; padding: 12px; color: #261d6c; }
.seo-search-form button { min-height: 44px; }
.seo-archive-description { margin-bottom: 30px; }
.hero h1 { overflow-wrap: break-word; }
@media (max-width: 768px) {
  :root { --wl-header-offset: 90px; }
  .hero h1 { font-size: clamp(30px, 7.5vw, 42px); line-height: 1.2; }
  .hero h1 br { display: none; }
  .contact-modal-overlay { padding: 0; }
  .contact-modal { height: 100dvh; max-height: 100dvh; border-radius: 0; padding-bottom: env(safe-area-inset-bottom, 20px); }
  .contact-modal-close { position: sticky; top: 12px; margin-left: auto; margin-right: 12px; float: right; background: #1e144e; }
  .contact-form-section { padding: 64px 24px 32px; }
  .contact-info-section { padding: 32px 24px; }
  .hero-buttons { display: flex; flex-wrap: wrap; gap: 16px; }
  .hero-buttons > :is(a, button) { max-width: 100%; }
  .article-content :is(h1, h2) { overflow-wrap: break-word; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .plasma-blob, .typewriter, .wl-ai *, .mobile-menu { animation: none !important; transition: none !important; }
}
