.fdf-header, .fdf-footer { font-family: "Manrope", Arial, sans-serif; }
.fdf-header *, .fdf-footer * { box-sizing: border-box; }
.fdf-header a, .fdf-footer a { text-decoration: none; }
.fdf-header a:focus-visible, .fdf-footer a:focus-visible, .fdf-menu-toggle:focus-visible { outline: 3px solid #ea7a32; outline-offset: 5px; }
.fdf-header { position: fixed; top: 0; left: 0; width: 100%; z-index: 100; background: #fff; border-bottom: 1px solid #dce5df; box-shadow: 0 4px 24px #12352908; }
.fdf-header-inner { max-width: 1360px; margin: auto; padding: 0 32px; min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.fdf-brand { display: inline-flex; align-items: center; gap: 12px; color: #153e2f; flex-shrink: 0; }
.fdf-brand img { display: block; width: 48px; height: 48px; object-fit: contain; }
.fdf-brand > span { font-family: "Space Grotesk", Arial, sans-serif; font-size: 20px; font-weight: 700; line-height: 1.25; letter-spacing: -.5px; }
.fdf-brand small { display: block; font: 500 10px/1.6 "Manrope", Arial, sans-serif; letter-spacing: .7px; margin-top: 4px; text-transform: uppercase; color: #62766c; }
.fdf-navigation { display: flex; align-items: center; gap: 24px; }
.fdf-navigation > a { color: #43554b; font-size: 13px; font-weight: 700; white-space: nowrap; padding: 12px 0; border-bottom: 2px solid transparent; }
.fdf-navigation > a:hover, .fdf-navigation > a[aria-current="page"] { color: #166534; border-bottom-color: #247547; }
.fdf-header .fdf-button, .fdf-footer .fdf-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; background: #f07830; color: #182c22; padding: 13px 20px; border: 1px solid #f07830; border-radius: 6px; font-weight: 800; font-size: 13px; line-height: 1.4; white-space: nowrap; transition: background .2s; }
.fdf-header .fdf-button:hover, .fdf-footer .fdf-button:hover { background: #ff985a; border-color: #ff985a; color: #182c22; }
.fdf-header .fdf-navigation .fdf-button[aria-current="page"] { color: #182c22; border-color: #f07830; }
.fdf-menu-toggle { display: none; }
.fdf-footer { background: #102e24; color: #c4d2ca; }
.fdf-footer-inner { max-width: 1240px; margin: auto; padding: 0 32px; }
.fdf-footer-callout { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 48px 0; border-bottom: 1px solid #ffffff24; }
.fdf-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #d6ae7b; margin: 0 0 12px; }
.fdf-footer-callout h2 { font: 500 clamp(24px, 3vw, 34px)/1.2 "Space Grotesk", Arial, sans-serif; letter-spacing: -.7px; color: #fff; margin: 0; }
.fdf-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1.2fr; gap: 64px; padding: 48px 0; }
.fdf-footer .fdf-brand { color: white; }
.fdf-footer .fdf-brand { flex-direction: column; align-items: flex-start; gap: 20px; }
.fdf-footer .fdf-brand img { width: 152px; height: 152px; background: #fff; border-radius: 50%; padding: 8px; }
.fdf-footer .fdf-brand small { color: #a9c2b4; }
.fdf-footer-about > p { font-size: 14px; line-height: 1.9; margin: 24px 0 0; max-width: 340px; }
.fdf-footer h3 { color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.7px; margin: 0 0 20px; }
.fdf-footer-links { display: flex; align-items: flex-start; flex-direction: column; gap: 10px; }
.fdf-footer-links h3 { margin-bottom: 8px; }
.fdf-footer-links a, .fdf-footer-contact a { color: #c4d2ca; font-size: 13px; line-height: 1.8; }
.fdf-footer-links a:hover, .fdf-footer-contact a:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.fdf-footer-contact > a { overflow-wrap: anywhere; }
.fdf-footer address { margin: 18px 0; font-style: normal; font-size: 13px; line-height: 1.9; }
.fdf-footer .fdf-social { display: inline-flex; align-items: center; gap: 16px; padding-top: 6px; color: #e5eee9; }
.fdf-footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #ffffff24; padding: 22px 0; font-size: 11px; line-height: 1.7; color: #a4b9ad; }
.fdf-footer-bottom p { margin: 0; }
@media (max-width: 1199px) {
 .fdf-header-inner { height: 80px; min-height: 80px; flex-wrap: nowrap; gap: 0; }
 .fdf-menu-toggle { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; border: 1px solid #d3dfd7; border-radius: 6px; padding: 10px 14px; background: white; color: #153e2f; font-size: 12px; font-weight: 700; cursor: pointer; }
 .fdf-menu-icon { width: 17px; height: 12px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; position: relative; }
 .fdf-menu-icon::after { content: ""; position: absolute; left: 0; right: 0; top: 3px; border-top: 2px solid currentColor; }
 .fdf-navigation { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-bottom: 1px solid #dce5df; box-shadow: 0 12px 20px #12352912; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 32px 24px; max-height: calc(100dvh - 80px); overflow-y: auto; }
 .fdf-navigation.is-open { display: flex; }
 .fdf-navigation > a { padding: 14px 4px; font-size: 15px; border-bottom: 1px solid #e5ebe7; }
 .fdf-navigation .fdf-button { margin-top: 14px; }
 .fdf-footer-grid { gap: 32px; grid-template-columns: 1.2fr 1fr; }
 .fdf-footer-about { grid-column: 1 / -1; }
}
@media (max-width: 599px) {
 .fdf-header-inner { padding: 0 16px; }
 .fdf-brand { gap: 8px; }
 .fdf-brand img { width: 38px; height: 38px; }
 .fdf-brand > span { font-size: 17px; }
 .fdf-brand small { font-size: 8px; letter-spacing: .2px; }
 .fdf-menu-toggle { padding: 10px; }
 .fdf-menu-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
 .fdf-footer-inner { padding: 0 24px; }
 .fdf-footer-callout { align-items: flex-start; flex-direction: column; padding: 36px 0; gap: 24px; }
 .fdf-footer-grid { grid-template-columns: 1fr; gap: 32px; padding: 36px 0; }
 .fdf-footer-bottom { flex-direction: column; gap: 6px; }
}

/* Strong brand header with clear navigation states. */
.fdf-header { background: #123d30; border-bottom: 3px solid #f07830; box-shadow: 0 4px 18px #102e2426; }
.fdf-header .fdf-brand { color: #fff; }
.fdf-header .fdf-brand small { color: #d5e7dd; }
.fdf-header .fdf-brand img { background: #fff; border-radius: 50%; padding: 3px; }
.fdf-header .fdf-navigation > a { color: #fff; }
.fdf-header .fdf-navigation > a:hover, .fdf-header .fdf-navigation > a[aria-current="page"] { color: #ffb078; border-bottom-color: #ffb078; }
.fdf-header .fdf-navigation > .fdf-button { color: #182c22; }
.fdf-header .fdf-navigation > .fdf-button:hover { color: #182c22; }
@media (max-width: 1199px) { .fdf-header .fdf-navigation { background: #123d30; } .fdf-header .fdf-navigation > a { border-bottom-color: #ffffff30; } }

/* Keep link positions stable across page loads and active/hover states. */
.fdf-header .fdf-navigation > a { font-size: 15px; font-weight: 400; line-height: 1.4; }
.fdf-header .fdf-navigation > .fdf-button { font-size: 15px; font-weight: 400; }
@media (min-width: 1200px) {
 .fdf-header-inner { gap: 20px; }
 .fdf-header .fdf-brand { width: 320px; }
 .fdf-header .fdf-navigation { display: grid; grid-template-columns: 4rem 4rem 5rem 14rem 5rem 10rem; gap: 12px; flex-shrink: 0; }
 .fdf-header .fdf-navigation > a { text-align: center; display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 0; }
 .fdf-header .fdf-navigation > .fdf-button { padding: 12px 10px; }
}
@media (min-width: 600px) and (max-width: 1199px) { .fdf-menu-toggle { width: 132px; justify-content: center; } }
