/* Together footer geometry; Finergia palette, content, contact strip and accessibility. */
.fg-footer { --fg-forest: #123b36; --fg-muted: #d0dfd5; --fg-line: #42645e; display: flow-root; color: #fff; background: #123b36; font-family: 'Finergia Sans', Arial, sans-serif; font-size: 16px; font-weight: 400; line-height: 27px; overflow-wrap: anywhere; }
.fg-footer, .fg-footer *, .fg-footer *::before, .fg-footer *::after { box-sizing: border-box; }
.fg-footer [hidden] { display: none !important; }
.fg-footer :is(strong, b) { font-weight: 600; }
.fg-footer :is(a, summary):focus-visible { outline: 3px solid #c6df58; outline-offset: 4px; }
.fg-footer .fg-footer-inner { width: 100%; max-width: 1240px; margin: 0 auto; }
.fg-footer .fg-footer-top { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: 20px; margin: 0 10px; padding: 80px 0 0; border-bottom: 1px solid rgb(255 255 255 / 32%); }
.fg-footer-top .fg-footer-toplink { grid-column: 1 / 7; grid-row: 1; justify-self: center; margin: 0 0 40px; }
.fg-footer .fg-footer-brand { grid-column: 1 / 7; grid-row: 2; min-width: 0; }
.fg-footer .fg-footer-logo { width: fit-content; max-width: 100%; margin: 0 auto 35px; padding: 16px 20px; border-radius: 8px; background: #fff; line-height: 0; }
.fg-footer-logo :is(a, img) { display: block; }
.fg-footer-logo img { width: 190px; max-width: 100%; height: auto; }
.fg-footer-logo a:focus-visible { outline-color: #206141; }
.fg-footer .fg-footer-reviews { margin: 0; padding: 0 10px 30px; }
.fg-footer-reviews .fg-trust-row { display: block; margin: 0; padding: 0; border: 0; }
.fg-footer-reviews .fg-review-badge { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 14px; padding: 0; color: #fff; text-decoration: none; }
.fg-footer-reviews .fg-trust-logo { width: 144px; height: auto; padding: 4px 7px; border-radius: 4px; background: #fff; }
.fg-footer-reviews .fg-trust-score { display: inline-flex; align-items: center; gap: 10px; }
.fg-footer-reviews :is(.fg-trust-rating, .fg-trust-name) { color: #fff; font-size: 17px; font-weight: 600; }
.fg-footer-reviews .fg-trust-count { color: #d0dfd5; font-size: 14px; }
.fg-footer .fg-footer-menus { grid-column: 1 / 7; grid-row: 3; min-width: 0; padding: 0; }
.fg-footer .fg-footer-nav { min-width: 0; margin: 0 0 30px; }
.fg-footer-nav h2 { margin: 0; padding: 12px 15px 16px; color: #c6df58; font-family: inherit; font-size: 18px; font-weight: 600; line-height: 24px; }
.fg-footer .fg-footer-links { margin: 0; padding: 0; border-top: 1px solid #42645e; list-style: none; }
.fg-footer-links li { margin: 0; padding: 0; border-bottom: 1px solid #42645e; list-style: none; }
.fg-footer-links a { display: block; min-height: 44px; padding: 8px 15px; color: #fff; font-size: 16px; font-weight: 400; line-height: 27px; text-decoration: none; }
.fg-footer-links a span, .fg-footer-links a { text-underline-offset: 5px; }
.fg-footer-links a:hover, .fg-footer-links a[aria-current='page'] { color: #c6df58; text-decoration: underline; }
.fg-footer-links .sub-menu { margin: 0; padding: 0 0 0 16px; list-style: none; }
.fg-footer-links .sub-menu > li:last-child { border-bottom: 0; }
.fg-footer :is(.fg-footer-toplink, .fg-footer-cta) { position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; gap: 12px; max-width: 100%; min-height: 44px; padding: 12px 40px; overflow: hidden; border: 0; border-radius: 5px; background: #c6df58; color: #12352b; font-family: inherit; font-size: 16px; font-weight: 600; line-height: 20px; text-align: center; text-decoration: none; touch-action: manipulation; }
.fg-footer :is(.fg-footer-toplink, .fg-footer-cta)::before { position: absolute; z-index: -1; top: 50%; left: -320px; width: 310px; height: 150px; border-radius: 0 50% 50% 0; background: #e0ed99; content: ''; transform: translateY(-50%); transition: left 800ms ease-out; pointer-events: none; }
.fg-footer :is(.fg-footer-toplink, .fg-footer-cta):is(:hover, :focus-visible)::before { left: 0; }
.fg-footer-toplink .fg-icon { flex: none; width: 16px; height: 16px; transform: rotate(-90deg); }
.fg-footer-cta .fg-icon { flex: none; width: 16px; height: 16px; }
.fg-footer .fg-footer-legal { margin: 0 10px 30px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #fff; }
.fg-footer-legal > summary { position: relative; min-height: 44px; margin: 0 0 30px; padding: 9px 42px 9px 15px; border-bottom: 1px solid #42645e; font-size: 16px; font-weight: 400; line-height: 25px; list-style: none; cursor: pointer; }
.fg-footer-legal > summary::-webkit-details-marker { display: none; }
.fg-footer-legal > summary .fg-icon { display: none; }
.fg-footer-legal > summary::after { position: absolute; top: 18px; right: 19px; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; content: ''; transform: rotate(45deg); transition: transform 250ms ease-in-out; }
.fg-footer-legal[open] > summary, .fg-footer-legal.fg-footer-closing > summary { margin-bottom: 0; }
.fg-footer-legal[open] > summary::after { transform: rotate(225deg); }
.fg-footer-legal.fg-footer-closing > summary::after { transform: rotate(45deg); }
.fg-footer .fg-footer-legal-panel { margin: 0 0 30px; padding: 10px 37px 24px; overflow: hidden; color: #e3ece6; font-size: 16px; line-height: 25px; letter-spacing: .48px; }
.fg-footer-legal-panel p { margin: 0 0 24px; }
.fg-footer-legal-panel > :last-child { margin-bottom: 0; }
.fg-footer-legal-panel address { margin: 0 0 24px; font-style: normal; }
.fg-footer-registration { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 0 0 24px; }
.fg-footer-registration > div { display: flex; flex-wrap: wrap; gap: 8px; }
.fg-footer-registration dt { font-weight: 600; }
.fg-footer-registration dd { margin: 0; }
.fg-footer-legal-nav h2 { margin: 0 0 16px; color: #fff; font-size: 18px; font-weight: 600; line-height: 24px; }
.fg-footer-copyright small { font-size: inherit; }
.fg-footer-social { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0 0 24px; }
.fg-footer-social a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; }
.fg-footer-registration dd { overflow-wrap: anywhere; }
.fg-footer-legal-panel a { text-underline-offset: 4px; }
.fg-footer-legal-panel .fg-footer-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 0 0 24px; border: 0; }
.fg-footer-legal-panel .fg-footer-links li { border: 0; }
.fg-footer-legal-panel .fg-footer-links a { min-height: 44px; padding: 8px 0; }
.fg-footer .fg-footer-contact { background: #edf4e4; color: #123b36; }
.fg-footer-contact .fg-footer-contact-inner { display: grid; align-items: center; gap: 24px; padding: 32px 25px; }
.fg-footer .fg-footer-contact-title { margin: 0; color: #123b36; font-family: inherit; font-size: 28px; font-weight: 600; line-height: 34px; text-wrap: balance; }
.fg-footer .fg-footer-contact-links { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin: 0; }
.fg-footer-contact-links a { display: inline-block; padding-block: 6px; color: #123b36; font-size: 21px; font-weight: 600; line-height: 28px; text-decoration: none; text-underline-offset: 5px; }
.fg-footer-contact-links a:hover { text-decoration: underline; }
.fg-footer .fg-footer-hours { margin: 4px 0 0; color: #526b63; font-size: 15px; font-weight: 400; line-height: 23px; }
.fg-footer-contact .fg-footer-cta { justify-self: start; padding: 16px 24px; }
.fg-footer-contact :is(a, button):focus-visible { outline-color: #206141; }
@media (min-width: 768px) {
    .fg-footer .fg-footer-top { margin-inline: 30px; padding: 60px 0 40px; }
    .fg-footer-top .fg-footer-toplink { grid-column: 5 / 7; grid-row: 1; align-self: start; justify-self: end; margin: 0; }
    .fg-footer .fg-footer-brand { grid-column: 1 / 5; grid-row: 1; margin: 0 0 40px; }
    .fg-footer .fg-footer-logo { margin: 0 0 30px; }
    .fg-footer .fg-footer-reviews { padding: 0; }
    .fg-footer-reviews .fg-review-badge { justify-content: flex-start; }
    .fg-footer .fg-footer-menus { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-row: 4; gap: 20px; padding-left: 10px; }
    .fg-footer .fg-footer-nav { margin: 0; }
    .fg-footer-nav h2 { padding: 0 0 20px; }
    .fg-footer .fg-footer-links { border: 0; }
    .fg-footer-links li { width: 95%; border: 0; }
    .fg-footer-links a { display: inline-block; min-height: 0; padding: 0; background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-position: left bottom; background-size: 0 1px; transition: background-size 200ms ease-in; }
    .fg-footer-links a:is(:hover, :focus-visible), .fg-footer-links a[aria-current='page'] { color: #fff; background-size: 100% 1px; text-decoration: none; }
    .fg-footer :is(.fg-footer-toplink, .fg-footer-cta) { padding: 12px 18px; }
    .fg-footer .fg-footer-legal { margin: 0 30px; padding: 20px 0 40px; }
    .fg-footer-enhanced .fg-footer-legal > summary { display: none; }
    .fg-footer .fg-footer-legal-panel { margin: 0; padding: 0; }
    .fg-footer-legal-panel .fg-footer-links li { width: auto; }
    .fg-footer-legal-panel .fg-footer-links a { min-height: 0; padding: 0; }
    .fg-footer-contact .fg-footer-contact-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 40px; }
    .fg-footer-contact .fg-footer-cta { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
    .fg-footer-contact .fg-footer-contact-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 40px; }
    .fg-footer-contact .fg-footer-cta { grid-column: auto; }
    .fg-footer .fg-footer-contact-title { max-width: 320px; font-size: 32px; line-height: 40px; }
}
@media (min-width: 1300px) {
    .fg-footer .fg-footer-top { grid-template-columns: repeat(12, minmax(0, 1fr)); padding: 50px 0 30px; }
    .fg-footer .fg-footer-menus { grid-column: 1 / 8; grid-row: 1 / 3; }
    .fg-footer .fg-footer-brand { grid-column: 8 / 11; grid-row: 1 / 3; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; margin: 0; }
    .fg-footer .fg-footer-logo { margin: 30px 0 0 30px; padding: 12px; }
    .fg-footer .fg-footer-reviews { padding: 10px 0 0 20px; }
    .fg-footer-top .fg-footer-toplink { grid-column: 11 / 13; grid-row: 1 / 3; align-self: center; margin-right: 10px; }
    .fg-footer .fg-footer-legal { padding: 30px 0; }
    .fg-footer .fg-footer-legal-panel { font-size: 13px; line-height: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .fg-footer *, .fg-footer *::before, .fg-footer *::after { transition: none !important; animation: none !important; }
}
@media (forced-colors: active) {
    .fg-footer :is(.fg-footer-toplink, .fg-footer-cta) { border: 1px solid ButtonText; }
    .fg-footer-links li, .fg-footer-legal > summary { border-color: CanvasText; }
}
@media print {
    .fg-footer { background: #fff; color: #123b36; }
    .fg-footer .fg-footer-top, .fg-footer .fg-footer-contact, .fg-footer-legal > summary { display: none; }
    .fg-footer .fg-footer-legal { margin: 0; padding: 20px 0; }
    .fg-footer .fg-footer-legal-panel { margin: 0; padding: 0; color: #123b36; }
    .fg-footer .fg-footer-legal-panel p { margin-bottom: 8px; }
}
