/* Fonts: self-hosted (SIL Open Font License) — no third-party requests */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-500-italic.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-600-italic.woff2) format('woff2')}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#FFFFFF;font-family:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
section{scroll-margin-top:96px}
img,video,svg{max-width:100%}
a{color:#0B6E5F}
a:hover{color:#084F45}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5FD3B8;outline-offset:2px}

/* FAQ accordion */
details.faq>summary{list-style:none}
details.faq>summary::-webkit-details-marker{display:none}
details.faq .faq-sign::before{content:'+'}
details.faq[open] .faq-sign::before{content:'\2212'}

/* Back to top */
#to-top[hidden]{display:none!important}

/* Skip link */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:#5FD3B8;color:#0B1B2E;padding:10px 16px;border-radius:3px;font-weight:600;text-decoration:none}
.skip-link:focus{left:8px}

/* Small screens: scale down the largest headings */
@media (max-width:640px){
  h1{font-size:40px!important}
  h2{font-size:32px!important}
  section>div{padding-top:64px!important;padding-bottom:64px!important}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

/* Mobile menu */
.menu-btn{display:none;align-items:center;gap:8px;font:inherit;font-size:15px;font-weight:600;color:#FFFFFF;background:transparent;border:1px solid #4A5E78;border-radius:3px;padding:10px 14px;cursor:pointer}
@media (max-width:900px){
  .menu-btn{display:inline-flex}
  #main-nav{display:none!important;width:100%;flex-direction:column;align-items:stretch!important;gap:0!important;padding:8px 0 4px}
  #main-nav.open{display:flex!important}
  #main-nav a{padding:12px 0!important;border-top:1px solid #1E3149}
  #main-nav a:last-child{margin-top:12px;text-align:center;border-top:none;padding:14px 20px!important}
}
