@font-face {
  font-family: "Gotham";
  font-weight: 400;
  font-display: swap;
  src: url("https://static.wixstatic.com/ufonts/ed7594_27e6c3ef88a54b63a443ef02e9ebcc0c/woff2/file.woff2") format("woff2"),
       url("https://static.wixstatic.com/ufonts/ed7594_27e6c3ef88a54b63a443ef02e9ebcc0c/woff/file.woff") format("woff");
}
@font-face {
  font-family: "Gotham";
  font-weight: 500 800;
  font-display: swap;
  src: url("https://static.wixstatic.com/ufonts/ed7594_f084ff7e6c9f4c3ba6d8c0f9183500b6/woff2/file.woff2") format("woff2"),
       url("https://static.wixstatic.com/ufonts/ed7594_f084ff7e6c9f4c3ba6d8c0f9183500b6/woff/file.woff") format("woff");
}

:root {
  --navy: #003479;
  --navy-dark: #00285E;
  --blue: #1C75BC;
  --grey: #EDEDED;
  --ink: #1A1A1A;
  --muted: #4F4F4F;
  --line: #E4E4E4;
  --error: #B42318;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #FFFFFF;
  color: var(--ink);
  font-family: "Gotham", "Helvetica Neue", Arial, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; }
a { color: var(--blue); }
a:hover { color: var(--navy); }
section[id] { scroll-margin-top: 90px; }

.skip-link {
  position: absolute;
  left: -999px;
  top: 8px;
  background: var(--navy);
  color: #FFFFFF;
  padding: 10px 16px;
  z-index: 100;
}
.skip-link:focus { left: 8px; }

/* Header and menus */
.site-header {
  position: sticky !important;
  top: 0;
}
.menu-toggle { display: none; }
.dropdown-panel[hidden] { display: none !important; }
.dropdown-panel a:hover { background: var(--grey) !important; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }

@media (max-width: 900px) {
  .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #FFFFFF;
    color: var(--navy);
    cursor: pointer;
  }
  .main-nav {
    display: none !important;
    width: 100%;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    padding: 8px 0 16px;
  }
  .main-nav.open { display: flex !important; }
  .main-nav > a, .main-nav > div > button { padding: 12px 0 !important; }
  .main-nav > a:last-child { text-align: center; margin-top: 8px; }
  .dropdown-panel {
    position: static !important;
    width: 100% !important;
    box-shadow: none !important;
    margin-bottom: 8px;
  }
  .hero-inner { padding-top: 88px !important; padding-bottom: 96px !important; }
  h1 { font-size: 38px !important; }
  h2 { font-size: 30px !important; }
}
@media (max-width: 600px) {
  main section > div { padding-top: 72px !important; padding-bottom: 72px !important; }
  .form-card { padding: 24px !important; }
}

/* Contact form rendered from Wix Forms */
.form-card {
  background: #FFFFFF;
  color: var(--ink);
  border-radius: 6px;
  padding: 36px;
}
.wf-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 18px; }
.wf-field { display: flex; flex-direction: column; gap: 6px; }
.wf-field.wide { grid-column: 1 / -1; }
.wf-field label, .wf-legend { font-size: 14px; font-weight: 600; }
.wf-field input[type="text"], .wf-field input[type="email"], .wf-field input[type="tel"],
.wf-field input[type="url"], .wf-field input[type="number"], .wf-field input[type="date"],
.wf-field select, .wf-field textarea {
  font: inherit;
  font-size: 16px;
  padding: 12px;
  border: 1px solid #8A8A8A;
  border-radius: 4px;
  background: #FFFFFF;
  color: var(--ink);
  width: 100%;
}
.wf-field textarea { min-height: 120px; resize: vertical; }
.wf-field [aria-invalid="true"] { border-color: var(--error); }
.wf-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; font-weight: 400; }
.wf-check input { margin-top: 3px; width: 18px; height: 18px; }
.wf-help { margin: 0; font-size: 13px; color: var(--muted); }
.wf-error { margin: 0; font-size: 13px; color: var(--error); min-height: 0; }
.wf-error:empty { display: none; }
.wf-form-error { grid-column: 1 / -1; margin: 0; padding: 12px 14px; border-radius: 4px; background: #FDECEA; color: var(--error); font-size: 14px; }
.wf-form-error:empty { display: none; }
.wf-notice { grid-column: 1 / -1; margin: 0; font-size: 13px; line-height: 1.5; color: var(--muted); }
.wf-submit {
  grid-column: 1 / -1;
  justify-self: start;
  font: inherit;
  font-weight: 600;
  font-size: 16px;
  background: var(--blue);
  color: #FFFFFF;
  border: 0;
  border-radius: 4px;
  padding: 16px 30px;
  min-height: 48px;
  cursor: pointer;
}
.wf-submit:hover { background: var(--navy); }
.wf-submit[disabled] { opacity: 0.6; cursor: progress; }
.wf-skeleton { display: grid; gap: 14px; }
.wf-skeleton span { display: block; height: 46px; border-radius: 4px; background: #F1F1F1; }
.wf-done { display: flex; flex-direction: column; gap: 12px; }
.wf-done h3 { margin: 0; font-size: 22px; color: var(--navy); }
.wf-done p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--muted); }

/* Legal pages */
.legal { max-width: 820px; margin: 0 auto; padding: 72px 24px 96px; line-height: 1.7; font-size: 16px; }
.legal h1 { font-size: 40px; color: var(--navy); margin: 0 0 24px; line-height: 1.2; }
.legal h2 { font-size: 22px; color: var(--navy); margin: 40px 0 12px; }
.legal p, .legal li { color: #333333; }
.legal ul { padding-left: 22px; }