* { box-sizing: border-box; letter-spacing: 0 !important; }
html { scroll-behavior: smooth; }
body { margin: 0; }
img { max-width: 100%; }
input, select, textarea { min-width: 0; width: 100%; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #315c42; outline-offset: 5px; }
[hidden] { display: none !important; }
.washed { filter: none !important; }
.card { border-radius: 8px !important; }
header .nav > a:first-child img { width: 180px !important; height: auto !important; }
.services-menu { padding: 18px 0; margin: -18px 0; }
.menu-panel { display: none; z-index: 30; padding-top: 0 !important; }
html:not(.has-js) .services-menu:focus-within .menu-panel, .services-menu.is-open .menu-panel { display: block; }
.menu-panel a { border-radius: 6px !important; }
.menu-panel a:hover, .menu-panel a:focus-visible { background: var(--color-accent-100) !important; }
.faq { background: var(--color-surface); border-radius: 8px; }
.faq summary { padding: 22px 24px; cursor: pointer; font: 20px/1.4 var(--font-heading); }
.faq summary::marker { color: var(--color-accent-700); }
.faq[open] summary { padding-bottom: 16px; }
.honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(100%); }
.form-status { grid-column: 1/-1; font-size: 16px; line-height: 1.5; }
.form-status:empty { display: none; }
.form-status[data-error] { color: #a12826; }
.form-status[data-success] { color: #245732; }
form button:disabled { opacity: .65; cursor: wait; }
a[style*="position:fixed"] { display: none !important; }
.preserved-page { max-width: 1000px; margin: 0 auto; padding: 64px 24px 110px; line-height: 1.75; }
.preserved-page h1 { font-size: 44px; margin-bottom: 28px; }
.preserved-page h2, .preserved-page h3 { font-size: 26px; margin: 32px 0 14px; }
.preserved-page p, .preserved-page ul, .preserved-page ol { margin: 0 0 18px; }
.preserved-page img { height: auto; }
main h1 { font-size: 64px !important; }
main h2 { font-size: 42px !important; }
main h4 { font-size: 32px !important; }
main [data-screen-label="FAQ"] > div:first-child { position: static !important; }
@media (max-width: 960px) {
  header { position: relative !important; }
  header .nav { gap: 16px !important; }
  header .nav > div { gap: 12px 20px !important; }
  main h1 { font-size: 48px !important; }
  main h2 { font-size: 36px !important; }
}
@media (max-width: 600px) {
  header .nav > a:first-child { width: 100%; }
  header .nav > div { width: 100%; justify-content: space-between; }
  header .nav > div > a:first-child:not(.btn) { display: none; }
  .menu-panel { left: 0 !important; max-width: calc(100vw - 40px); }
  main h1 { font-size: 40px !important; overflow-wrap: anywhere; }
  main h2 { font-size: 30px !important; overflow-wrap: anywhere; }
  main h4 { font-size: 28px !important; }
  .faq summary { font-size: 18px; padding: 18px; }
  footer { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
