/* Finergia navigation: clear hierarchy, generous targets, locally hosted type. */
.finergia-base { display: flow-root; }
/* The parser-time bootstrap supplies the same reservation as the controller.
   These screen-only rules leave the native no-JS and print layouts unchanged. */
@media screen {
    .fg-header-layout :is(.finergia-content--home, .finergia-content--service, .finergia-content--forms, .finergia-content--company):has(> article > :is(.fg-home-hero, .fg-service-hero, .fg-form-hero, .fg-company-hero):first-child) { margin-top: calc(-1 * var(--fg-hero-header-space, 0px)); }
    .fg-header-layout :is(.finergia-content--service, .finergia-content--forms, .finergia-content--company) > article > :is(.fg-service-hero, .fg-form-hero, .fg-company-hero):first-child { padding-top: var(--fg-hero-header-space, 0px); }
    .fg-header-layout .finergia-content--home > article > .fg-home-hero:first-child { padding-top: calc(var(--fg-hero-header-space, 0px) + 16px); }
}
.fg-header {
    --fg-forest: #123b36;
    --fg-ink: #183d36;
    --fg-muted: #526b63;
    --fg-lime: #c6df58;
    --fg-line: #e3eae5;
    --fg-soft: #f2f6ef;
    --fg-admin-offset: 0px;
    --fg-header-height: 84px;
    --fg-floating-top: 30px;
    --fg-floating-side: 40px;
    --fg-floating-bottom: 18px;
    --fg-current-top: var(--fg-floating-top);
    --fg-font-sans: 'Finergia Sans', Arial, Helvetica, sans-serif;
    position: fixed;
    inset: var(--fg-admin-offset) 0 auto;
    z-index: 100;
    margin: var(--fg-floating-top) var(--fg-floating-side) 0;
    background: #fff;
    border-bottom: 1px solid var(--fg-line);
    border-radius: 10px;
    box-shadow: 0 7px 42px rgb(0 0 0 / 9%), 0 1.4px 6.825px rgb(0 0 0 / 4.5%);
    color: var(--fg-ink);
    font: 400 16px/1.5 var(--fg-font-sans);
    transition: margin 500ms ease-in-out, border-radius 500ms ease-in-out, box-shadow 500ms ease-in-out;
}
.fg-header.fg-has-trust { --fg-header-height: 129px; }
.fg-header.fg-sticky { --fg-current-top: 0px; margin: 0; border-radius: 0; box-shadow: 0 4px 24px rgb(18 59 54 / 7%); }
.admin-bar .fg-header { --fg-admin-offset: 32px; }
/* Reserve the floating footprint in both scroll states to avoid moving page content. */
.fg-header-space { height: calc(85px + 48px); }
.fg-has-trust + .fg-header-space { height: calc(129px + 48px); }
.fg-header *, .fg-header *::before, .fg-header *::after { box-sizing: border-box; }
.fg-header [hidden] { display: none !important; }
.fg-header a { color: inherit; text-decoration: none; }
.fg-header :is(a, button, summary):focus-visible { outline: 3px solid #52750c; outline-offset: 4px; }
.fg-header :where(button) { font: inherit; cursor: pointer; }
.fg-header :is(a, button, summary) { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.fg-header-inner { position: static; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; column-gap: 32px; max-width: 1360px; min-height: 84px; margin: 0 auto; padding: 16px 32px; }
.fg-has-trust .fg-header-inner { padding-bottom: 0; }
.fg-mobile-toolbar { display: contents; }
.fg-brand { flex: none; line-height: 0; }
.fg-brand a { display: flex; align-items: center; width: 176px; min-height: 52px; }
.fg-header .fg-brand img { display: block; width: 176px; max-width: 100%; height: auto; max-height: 40px; object-fit: contain; }
.fg-icon { display: inline-block; flex: none; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.fg-nav { display: flex; align-items: center; gap: 24px; min-width: 0; margin-left: auto; }
.fg-nav-stage { min-width: 0; }
.fg-header :is(.fg-nav-list, .fg-mega-links, .fg-mega-nested) { margin: 0; padding: 0; list-style: none; }
.fg-nav-list { display: flex; align-items: center; gap: 4px; }
.fg-nav-item { position: static; margin: 0; padding: 0; }
.fg-nav-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 48px; padding: 12px; border: 0; border-radius: 10px; background: transparent; font-size: 16px; font-weight: 600; line-height: 24px; white-space: nowrap; cursor: pointer; transition: background-color 160ms ease, color 160ms ease; }
.fg-nav-link:hover, .fg-nav-link.is-current { background: var(--fg-soft); }
.fg-nav-trigger { background: var(--fg-soft); list-style: none; }
.fg-nav-trigger::-webkit-details-marker { display: none; }
.fg-nav-trigger::marker { content: ''; }
.fg-nav-trigger .fg-icon { width: 12px; height: 8px; stroke-width: 2; transition: transform 200ms ease; }
.fg-nav-disclosure[open] > .fg-nav-trigger { background: var(--fg-forest); color: #fff; }
.fg-nav-disclosure[open] > .fg-nav-trigger .fg-icon { transform: rotate(180deg); }
/* A transparent bridge keeps the pointer path from the trigger to its panel intact. */
.fg-nav-disclosure[open]::before { position: absolute; right: 0; bottom: -13px; left: 0; height: 14px; content: ''; }
.fg-header .fg-button { position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 14px 22px; overflow: hidden; border: 1px solid transparent; border-radius: 12px; background: var(--fg-lime); color: #12352b; font-size: 16px; font-weight: 600; line-height: 22px; white-space: nowrap; transition: box-shadow 200ms ease; }
/* Rounded sweep restored from the earlier header, scaled for each CTA width. */
.fg-header .fg-button::before { position: absolute; top: 50%; left: calc(-100% - 56px); width: calc(100% + 56px); height: 150px; content: ''; border-radius: 0 50% 50% 0; background: #e0ed99; transform: translateY(-50%); transition: left 800ms ease-out; pointer-events: none; }
.fg-header .fg-button > :is(span, svg) { position: relative; z-index: 1; }
.fg-header .fg-button:is(:hover, :focus-visible, :active)::before { left: 0; }
.fg-header .fg-button:is(:hover, :focus-visible) { box-shadow: 0 4px 12px rgb(71 95 13 / 12%); }
.fg-button .fg-icon { width: 18px; height: 18px; transition: transform 160ms ease; }
.fg-button:hover .fg-icon { transform: translateX(3px); }
.fg-menu-toggle, .fg-menu-back, .fg-menu-caption, .fg-header .fg-cta-mobile, .fg-menu-backdrop { display: none; }
.fg-trust-row { display: flex; flex: 0 0 100%; align-items: center; justify-content: flex-end; min-height: 44px; margin-top: 16px; border-top: 1px solid var(--fg-line); }
.fg-trustpilot { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 12px; min-height: 44px; padding: 8px 0; color: var(--fg-muted); font-size: 13px; line-height: 18px; }
.fg-header .fg-trust-logo { display: block; flex: none; width: 120px; height: 21px; object-fit: contain; }
.fg-trust-score, .fg-trust-stars { display: inline-flex; flex: none; align-items: center; }
.fg-trust-score { gap: 8px; }
.fg-trust-stars { gap: 2px; }
.fg-trust-stars svg { display: block; width: 20px; height: 20px; }
.fg-star-empty { fill: #dce4dd; }
.fg-star-filled { fill: #1a976a; }
.fg-trust-name, .fg-trust-rating { color: var(--fg-forest); font-weight: 600; }
.fg-trust-rating { font-size: 15px; line-height: 20px; white-space: nowrap; }
.fg-trust-count { white-space: nowrap; }
.fg-header a.fg-trustpilot:hover .fg-trust-count { text-decoration: underline; text-underline-offset: 3px; }
.fg-review-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.fg-mega { position: absolute; top: calc(100% + 12px); left: 50%; width: min(1240px, calc(100% - 64px)); max-height: calc(100dvh - var(--fg-admin-offset) - var(--fg-current-top) - var(--fg-header-height) - 36px); margin: 0; padding: 32px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--fg-line); border-radius: 22px; background: #fff; box-shadow: 0 24px 64px rgb(18 59 54 / 14%), 0 4px 12px rgb(18 59 54 / 4%); transform: translateX(-50%); animation: fg-panel-enter 180ms cubic-bezier(.22, 1, .36, 1); transition: max-height 500ms ease-in-out; }
@keyframes fg-panel-enter { from { opacity: 0; transform: translate(-50%, -6px); } to { opacity: 1; transform: translate(-50%, 0); } }
.fg-mega-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 40px; align-items: start; }
.fg-mega-layout--without-card, .fg-mega--simple .fg-mega-layout { grid-template-columns: minmax(0, 1fr); }
.fg-mega-main, .fg-mega-aside { min-width: 0; }
.fg-mega-head { margin-bottom: 20px; }
.fg-mega-parent { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: 26px; font-weight: 600; line-height: 32px; letter-spacing: -.45px; }
.fg-mega-parent .fg-icon { width: 20px; height: 20px; color: #6a8579; }
.fg-mega-parent:hover span { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.fg-header .fg-mega-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 20px; }
.fg-mega-item { min-width: 0; margin: 0; padding: 0; }
.fg-mega-link { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 60px; padding: 12px 14px; border-radius: 10px; font-size: 17px; font-weight: 600; line-height: 23px; overflow-wrap: anywhere; transition: color 160ms ease, background-color 160ms ease; }
.fg-mega-link > span { min-width: 0; }
.fg-mega-link > .fg-icon { width: 10px; height: 7px; color: #789184; transform: rotate(-90deg); transition: color 160ms ease, transform 160ms ease; }
.fg-mega-link:hover, .fg-mega-link.is-current { background: var(--fg-soft); }
.fg-mega-link:hover > .fg-icon { color: var(--fg-forest); transform: translateX(2px) rotate(-90deg); }
.fg-header .fg-mega-description { margin: -5px 14px 12px; color: var(--fg-muted); font-size: 15px; line-height: 22px; }
.fg-header .fg-mega-nested { padding-left: 14px; margin: 0 0 8px 14px; border-left: 1px solid var(--fg-line); }
.fg-mega-nested .fg-mega-link { min-height: 44px; font-size: 15px; font-weight: 400; line-height: 21px; }
.fg-mega-bottom { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--fg-line); }
.fg-contact-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; padding: 8px 14px; border-radius: 10px; font-size: 16px; font-weight: 600; line-height: 24px; }
.fg-contact-link:hover { background: var(--fg-soft); }
.fg-contact-link .fg-icon { width: 18px; height: 18px; }
.fg-feature { display: flex; flex-direction: column; gap: 20px; width: 100%; min-width: 0; margin: 0; padding: 20px; border: 1px solid #e6ede1; border-radius: 16px; background: var(--fg-soft); }
.fg-feature-media { width: 100%; max-width: 240px; margin-inline: auto; overflow: hidden; border-radius: 10px; background: #fff; }
.fg-header .fg-feature-media img { display: block; width: 100%; height: auto; max-width: 100%; margin: 0; object-fit: contain; object-position: center bottom; }
.fg-feature-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; width: 100%; min-width: 0; }
.fg-header .fg-feature-title { margin: 0; font-family: var(--fg-font-sans); font-size: 22px; font-weight: 600; line-height: 27px; letter-spacing: -.25px; overflow-wrap: anywhere; }
.fg-header .fg-feature-description { margin: 0; color: var(--fg-muted); font-size: 16px; font-weight: 400; line-height: 24px; overflow-wrap: anywhere; }
.fg-header .fg-feature-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 48px; margin-top: 8px; padding: 12px 14px; border: 1px solid var(--fg-forest); border-radius: 10px; background: var(--fg-forest); color: #fff; font-size: 16px; font-weight: 600; line-height: 22px; transition: background-color 160ms ease; }
.fg-feature-link span { min-width: 0; overflow-wrap: anywhere; }
.fg-feature-link .fg-icon { width: 18px; height: 18px; }
.fg-header .fg-feature-link:hover { background: #205449; }
.fg-header:not(.fg-enhanced):not(.fg-starting) { position: relative; }
.fg-header:not(.fg-enhanced):not(.fg-starting) + .fg-header-space { display: none; }
@media (min-width: 1300px) {
    .fg-mega--simple { width: 640px; }
}
@media (max-width: 1299px) {
    .fg-header { --fg-header-height: 73px; --fg-floating-top: 0px; --fg-floating-side: 0px; --fg-floating-bottom: 0px; border-radius: 0; box-shadow: none; }
    .fg-header.fg-has-trust { --fg-header-height: 117px; }
    .fg-header-space { height: 73px; }
    .fg-has-trust + .fg-header-space { height: 117px; }
    .fg-header-inner { display: block; min-height: 72px; padding: 0 24px; }
    .fg-mobile-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; }
    .fg-brand a { width: 166px; min-height: 48px; }
    .fg-header .fg-brand img { width: 166px; max-height: 34px; }
    .fg-menu-toggle { display: inline-flex; flex: none; align-items: center; justify-content: center; gap: 12px; min-width: 96px; height: 48px; margin: 0; padding: 12px; border: 1px solid var(--fg-line); border-radius: 12px; background: var(--fg-soft); color: var(--fg-forest); font-size: 16px; font-weight: 600; line-height: 24px; }
    .fg-menu-toggle:hover { background: #e8f0e1; }
    .fg-menu-lines { position: relative; display: block; flex: none; width: 20px; height: 16px; }
    .fg-menu-lines > span { position: absolute; left: 0; width: 20px; height: 2px; border-radius: 2px; background: currentColor; transition: transform 200ms ease, opacity 150ms ease, top 200ms ease; }
    .fg-menu-lines > span:nth-child(1) { top: 0; }
    .fg-menu-lines > span:nth-child(2), .fg-menu-lines > span:nth-child(3) { top: 7px; }
    .fg-menu-lines > span:nth-child(4) { top: 14px; }
    .fg-menu-is-open .fg-menu-lines > span:nth-child(1), .fg-menu-is-open .fg-menu-lines > span:nth-child(4) { top: 7px; opacity: 0; }
    .fg-menu-is-open .fg-menu-lines > span:nth-child(2) { transform: rotate(45deg); }
    .fg-menu-is-open .fg-menu-lines > span:nth-child(3) { transform: rotate(-45deg); }
    .fg-trust-row { justify-content: center; min-height: 44px; margin: 0; }
    .fg-header.fg-menu-is-open { top: var(--fg-admin-offset); margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; transition: none; }
    .fg-header.fg-menu-is-open .fg-header-inner { position: fixed; inset: var(--fg-admin-offset) 0 0; display: flex; flex-direction: column; align-items: stretch; min-height: 0; width: 100%; height: calc(100dvh - var(--fg-admin-offset)); margin: 0; padding: 0; background: #fff; }
    .fg-menu-is-open .fg-mobile-toolbar { flex: none; min-height: 72px; padding: 12px 24px; border-bottom: 1px solid var(--fg-line); }
    .fg-menu-is-open .fg-brand, .fg-menu-is-open .fg-trust-row, .fg-menu-is-open .fg-menu-toggle-label { display: none; }
    .fg-menu-is-open .fg-menu-toggle { min-width: 48px; margin-left: auto; }
    .fg-menu-caption { display: block; font-size: 24px; font-weight: 600; line-height: 30px; letter-spacing: -.3px; }
    .fg-menu-back { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 0; border: 0; background: none; color: var(--fg-forest); font-size: 18px; font-weight: 600; line-height: 24px; }
    .fg-menu-back .fg-icon { width: 16px; height: 16px; fill: currentColor; stroke: none; }
    .fg-nav { position: relative; display: flex; flex: 1; flex-direction: column; align-items: stretch; gap: 0; width: 100%; min-width: 0; min-height: 0; margin: 0; overflow: hidden; background: #fff; }
    .fg-nav-stage { position: relative; flex: 1; width: 100%; min-height: 0; transform: translateX(0); transition: transform 260ms cubic-bezier(.22, 1, .36, 1); }
    .fg-submenu-open .fg-nav-stage { transform: translateX(-100%); }
    .fg-header .fg-nav-list { display: block; height: 100%; margin: 0; padding: 20px 24px; overflow-y: auto; overscroll-behavior: contain; }
    .fg-nav-item + .fg-nav-item { margin-top: 4px; }
    .fg-nav-link { display: flex; width: 100%; min-height: 60px; padding: 16px; border-radius: 12px; font-size: 20px; line-height: 28px; white-space: normal; }
    .fg-nav-trigger { min-height: 68px; margin-bottom: 8px; }
    .fg-nav-trigger .fg-icon, .fg-nav-disclosure[open] > .fg-nav-trigger .fg-icon { transform: rotate(-90deg); }
    .fg-nav-disclosure[open] > .fg-nav-trigger[aria-expanded='false'] { background: var(--fg-soft); color: var(--fg-forest); }
    .fg-nav-disclosure[open]::before { display: none; }
    .fg-nav-footer { position: relative; z-index: 1; flex: none; margin: 0; padding: 16px 24px max(20px, env(safe-area-inset-bottom)); border-top: 1px solid var(--fg-line); background: #fff; }
    .fg-header .fg-cta-desktop { display: none; }
    .fg-header .fg-cta-mobile { display: flex; width: 100%; min-height: 52px; }
    .fg-mega { position: absolute; top: 0; right: auto; left: 100%; width: 100%; height: 100%; max-height: none; margin: 0; padding: 24px; overflow-x: hidden; overflow-y: auto; border: 0; border-radius: 0; box-shadow: none; transform: none; animation: none; }
    .fg-mega-layout, .fg-mega-layout--without-card, .fg-mega--simple .fg-mega-layout { display: block; }
    .fg-mega-head { margin: 0 0 16px; }
    .fg-mega-parent { justify-content: space-between; width: 100%; min-height: 44px; font-size: 24px; line-height: 30px; }
    .fg-header .fg-mega-links { display: block; }
    .fg-mega-item + .fg-mega-item { border-top: 1px solid var(--fg-line); }
    .fg-mega-link { min-height: 58px; padding: 14px 8px; border-radius: 8px; font-size: 17px; line-height: 24px; }
    .fg-header .fg-mega-description { margin-right: 8px; margin-left: 8px; }
    .fg-mega-aside { margin-top: 24px; }
    .fg-feature { gap: 18px; max-width: 440px; padding: 20px; }
    .fg-header:not(.fg-enhanced):not(.fg-starting) .fg-nav { display: block; overflow: visible; }
    .fg-header:not(.fg-enhanced):not(.fg-starting) .fg-nav-stage { transform: none; }
    .fg-header:not(.fg-enhanced):not(.fg-starting) .fg-nav-list { height: auto; overflow: visible; }
    .fg-header:not(.fg-enhanced):not(.fg-starting) .fg-mega { position: static; width: auto; height: auto; overflow: visible; }
    .fg-header:not(.fg-enhanced):not(.fg-starting) .fg-nav-footer { padding-bottom: 20px; }
}
@media (min-width: 768px) and (max-width: 1299px) {
    .fg-header { --fg-floating-top: 20px; --fg-floating-side: 21px; --fg-floating-bottom: 18px; border-radius: 10px; box-shadow: 0 7px 42px rgb(0 0 0 / 9%), 0 1.4px 6.825px rgb(0 0 0 / 4.5%); }
    .fg-header-space { height: calc(73px + 38px); }
    .fg-has-trust + .fg-header-space { height: calc(117px + 38px); }
    .fg-menu-backdrop { position: fixed; inset: 0; display: block; background: rgb(13 39 33 / 32%); backdrop-filter: blur(4px); }
    .fg-header.fg-menu-is-open .fg-header-inner { right: 0; left: auto; width: 480px; border-radius: 24px 0 0 24px; box-shadow: -16px 0 64px rgb(18 59 54 / 12%); overflow: hidden; }
    .fg-menu-is-open .fg-mobile-toolbar { padding-right: 28px; padding-left: 28px; }
    .fg-header .fg-nav-list, .fg-mega { padding-right: 28px; padding-left: 28px; }
    .fg-nav-footer { padding-right: 28px; padding-left: 28px; }
}
@media (max-width: 374px) {
    .fg-header-inner { padding-right: 16px; padding-left: 16px; }
    .fg-brand a, .fg-header .fg-brand img { width: 148px; }
    .fg-menu-is-open .fg-mobile-toolbar, .fg-header .fg-nav-list, .fg-mega, .fg-nav-footer { padding-right: 20px; padding-left: 20px; }
    .fg-mega-parent { font-size: 22px; line-height: 28px; }
    .fg-feature { padding: 16px; }
}
@media (max-width: 782px) { .admin-bar .fg-header { --fg-admin-offset: 46px; } }
@media (max-width: 600px) { .admin-bar .fg-header { --fg-admin-offset: 0px; } }
@media (prefers-reduced-motion: reduce) {
    .fg-header *, .fg-header *::before, .fg-header *::after, .fg-header { transition: none !important; animation: none !important; }
}
@media (forced-colors: active) {
    .fg-header :is(.fg-button, .fg-mega, .fg-feature, .fg-menu-toggle, .fg-feature-link) { border: 1px solid ButtonText; }
    .fg-nav-disclosure[open] > .fg-nav-trigger { outline: 1px solid ButtonText; }
}
@media print {
    .fg-header { position: static; margin: 0; border-radius: 0; box-shadow: none; transition: none; }
    .fg-header-space, .fg-nav, .fg-menu-toggle, .fg-trust-row { display: none !important; }
}

/* Editorial finish. The existing floating-header and panel mechanics stay intact. */
.fg-header .fg-button { border-radius: 6px; }
.fg-header .fg-feature { border-radius: 4px 28px 4px 4px; background: #edf1e4; }
.fg-header .fg-feature-media { border-radius: 130px 130px 4px 4px; }
.fg-header .fg-feature-title { font-family: 'Finergia Serif', Georgia, serif; font-weight: 400; font-size: 25px; line-height: 1.18; letter-spacing: -.025em; }
.fg-header .fg-mega-parent { font-family: 'Finergia Serif', Georgia, serif; font-weight: 400; font-size: 30px; line-height: 1.2; }
.fg-header .fg-mega-link { border-radius: 4px; }
@media (min-width: 1300px) {
    .fg-header a.fg-nav-link { position: relative; }
    .fg-header a.fg-nav-link::after { position: absolute; right: 12px; bottom: 5px; left: 12px; height: 2px; background: #789632; content: ''; transform: scaleX(0); transform-origin: left; transition: transform 350ms cubic-bezier(.22,1,.36,1); }
    .fg-header a.fg-nav-link:is(:hover,:focus-visible,.is-current)::after { transform: scaleX(1); }
    .fg-header .fg-mega { border-radius: 4px 28px 4px 4px; }
    .fg-header .fg-mega-head { margin-bottom: 16px; padding-bottom: 20px; border-bottom: 1px solid #dce5d7; }
    .fg-header .fg-mega-link { border-bottom: 1px solid #edf1e8; }
}
@media (max-width: 374px) { .fg-header .fg-mega-parent { font-size: 26px; } }
