/* Native WordPress blocks: homepage hero and its existing content below. */
.finergia-content--home { max-width: none; padding: 0; }
.finergia-content--home > article { max-width: none; }
.finergia-content--home.fg-hero-under-header { margin-top: calc(-1 * var(--fg-hero-header-space, 0px)); }
.finergia-content--home.fg-hero-under-header .fg-home-hero { padding-top: calc(var(--fg-hero-header-space, 0px) + 16px); }
.fg-home-hero {
    --fg-hero-forest: #123b36;
    --fg-hero-lime: #c6df58;
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    margin: 0 auto 56px;
    padding-top: 16px;
    overflow: hidden;
    border-radius: 0;
    background: var(--fg-hero-forest);
    color: #fff;
    font-family: 'Finergia Sans', Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.fg-home-hero *, .fg-home-hero *::before, .fg-home-hero *::after { box-sizing: border-box; }
.fg-home-hero::before, .fg-home-hero::after { position: absolute; z-index: -1; width: 680px; height: 680px; border: 1px solid rgb(198 223 88 / 15%); border-radius: 50%; content: ''; pointer-events: none; }
.fg-home-hero::before { top: -200px; right: -280px; }
.fg-home-hero::after { right: -205px; bottom: -260px; width: 540px; height: 540px; }
/* Native image block: editable artwork fills the hero behind the floating header. */
.finergia-content--home .fg-home-hero .fg-hero-backdrop { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; pointer-events: none; }
.finergia-content--home .fg-home-hero .fg-hero-backdrop img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.fg-home-hero:has(.fg-hero-backdrop)::before { inset: 0; width: auto; height: auto; border: 0; border-radius: 0; background: linear-gradient(0deg, rgb(18 59 54 / 95%), rgb(18 59 54 / 78%) 18%, transparent 52%), linear-gradient(90deg, rgb(18 59 54 / 28%), rgb(18 59 54 / 14%) 55%, transparent 80%); }
.fg-home-hero:has(.fg-hero-backdrop)::after { content: none; }
.editor-styles-wrapper .fg-home-hero .fg-hero-backdrop img { width: 100%; max-height: 180px; object-fit: cover; }
.fg-home-hero .fg-hero-inner { width: calc(100% - 80px); max-width: 1296px; margin-inline: auto; padding: 60px 48px 34px; }
.fg-home-hero .fg-hero-grid { display: grid; grid-template-columns: minmax(0, 1.24fr) minmax(0, 1fr); align-items: center; gap: 64px; margin: 0; }
.fg-home-hero :is(.fg-hero-copy, .fg-hero-media) { align-self: center; min-width: 0; margin: 0; }
.fg-home-hero .fg-hero-kicker { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; color: #d9e9bd; font-size: 13px; font-weight: 600; line-height: 20px; letter-spacing: 1.3px; text-transform: uppercase; }
.fg-home-hero .fg-hero-kicker::before { width: 7px; height: 7px; flex: none; border-radius: 50%; background: var(--fg-hero-lime); content: ''; }
.fg-home-hero .fg-hero-title { max-width: 650px; margin: 0; color: #fff; font-family: inherit; font-size: clamp(48px, 4.45vw, 68px); font-weight: 600; line-height: 1.04; letter-spacing: -1.9px; text-wrap: balance; overflow-wrap: normal; }
.fg-home-hero .fg-hero-title mark { padding: 0; background: transparent; color: var(--fg-hero-lime); }
.fg-home-hero .fg-hero-lead { max-width: 510px; margin: 26px 0 0; color: #d7e4dc; font-size: 19px; line-height: 29px; }
.fg-home-hero .fg-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: 30px 0 0; }
.fg-home-hero .fg-hero-actions .wp-block-button { margin: 0; }
.fg-home-hero .fg-hero-actions .wp-block-button__link { position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 56px; padding: 16px 24px; overflow: hidden; border: 1px solid transparent; border-radius: 12px; background: var(--fg-hero-lime); color: #12352b; font-family: inherit; font-size: 17px; font-weight: 600; line-height: 22px; text-decoration: none; touch-action: manipulation; }
.fg-home-hero .fg-hero-primary .wp-block-button__link::before { position: absolute; z-index: -1; top: 50%; left: calc(-100% - 56px); width: calc(100% + 56px); height: 150px; border-radius: 0 50% 50% 0; background: #e0ed99; content: ''; transform: translateY(-50%); transition: left 800ms ease-out; pointer-events: none; }
.fg-home-hero .fg-hero-primary .wp-block-button__link:is(:hover, :focus-visible, :active)::before { left: 0; }
.fg-home-hero .fg-hero-actions .wp-block-button__link::after { width: 18px; height: 18px; flex: none; background: currentColor; clip-path: polygon(0 45%, 72% 45%, 43% 16%, 51% 8%, 94% 50%, 51% 92%, 43% 84%, 72% 55%, 0 55%); content: ''; transition: transform 180ms ease; }
.fg-home-hero .fg-hero-actions .wp-block-button__link:is(:hover, :focus-visible)::after { transform: translateX(3px); }
.fg-home-hero .fg-hero-secondary .wp-block-button__link { padding-inline: 4px; border-radius: 4px; background: transparent; color: #fff; font-size: 16px; }
.fg-home-hero .fg-hero-secondary .wp-block-button__link:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: 5px; }
.fg-home-hero :is(a, button):focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.fg-home-hero .fg-hero-media { display: flex; justify-content: flex-end; padding: 8px 10px 8px 0; }
.fg-home-hero .fg-hero-visual { position: relative; isolation: isolate; width: 100%; max-width: 402px; margin: 0; padding: 16px 16px 0; border-radius: 24px; background: #fff; color: var(--fg-hero-forest); box-shadow: 0 16px 40px rgb(4 28 23 / 22%); }
.fg-home-hero .fg-hero-visual::before { position: absolute; z-index: -1; inset: 0 -12px 0 6px; border: 1px solid rgb(198 223 88 / 65%); border-radius: 26px; content: ''; transform: rotate(4deg); pointer-events: none; }
.fg-home-hero .fg-hero-portrait { margin: 0; }
.fg-home-hero .fg-hero-portrait img { display: block; width: 100%; max-width: 100%; height: 400px; margin: 0; border-radius: 14px; object-fit: contain; object-position: center bottom; }
.fg-home-hero .fg-hero-portrait figcaption { margin: 0; padding: 18px 12px 20px; border-top: 1px solid #e4eae5; color: #526b63; font-size: 15px; line-height: 23px; text-align: left; }
.fg-home-hero .fg-hero-portrait figcaption strong { color: var(--fg-hero-forest); font-size: 23px; font-weight: 600; line-height: 29px; }
.fg-home-hero .fg-hero-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 42px 0 0; padding: 28px 0 0; border-top: 1px solid rgb(215 228 220 / 23%); }
.fg-home-hero .fg-hero-benefit { position: relative; min-width: 0; margin: 0; padding-left: 34px; }
.fg-home-hero .fg-hero-benefit::before { position: absolute; top: 7px; left: 2px; width: 16px; height: 9px; border-bottom: 2px solid var(--fg-hero-lime); border-left: 2px solid var(--fg-hero-lime); content: ''; transform: rotate(-45deg); }
.fg-home-hero .fg-hero-benefit-title { margin: 0 0 5px; color: #fff; font-size: 17px; font-weight: 600; line-height: 23px; }
.fg-home-hero .fg-hero-benefit-note { max-width: 250px; margin: 0; color: #c8d8ce; font-size: 14px; line-height: 21px; }
.fg-home-hero .fg-hero-copy > *, .fg-home-hero .fg-hero-media, .fg-home-hero .fg-hero-benefits { animation: fg-hero-enter 640ms cubic-bezier(.22, 1, .36, 1) both; }
.fg-home-hero .fg-hero-title { animation-delay: 70ms; }
.fg-home-hero .fg-hero-lead { animation-delay: 140ms; }
.fg-home-hero .fg-hero-actions { animation-delay: 210ms; }
.fg-home-hero .fg-hero-media { animation-delay: 120ms; }
.fg-home-hero .fg-hero-benefits { animation-delay: 260ms; }
@keyframes fg-hero-enter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.finergia-content--home .fg-home-content { width: 100%; max-width: 72rem; margin: 0 auto; padding: 0 24px 40px; }
.fg-home-content > * { max-width: 52rem; }
@media (max-width: 1099px) {
    .fg-home-hero .fg-hero-inner { width: calc(100% - 42px); padding: 44px 32px 28px; }
    .fg-home-hero .fg-hero-grid { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: 36px; }
    .fg-home-hero .fg-hero-title { font-size: clamp(40px, 4.6vw, 50px); letter-spacing: -1.2px; }
    .fg-home-hero .fg-hero-lead { font-size: 18px; line-height: 27px; }
    .fg-home-hero .fg-hero-portrait img { height: 340px; }
    .fg-home-hero .fg-hero-actions { gap: 8px 16px; }
    .fg-home-hero .fg-hero-benefits { gap: 20px; }
}
@media (max-width: 767px) {
    .fg-home-hero { margin-bottom: 36px; }
    .finergia-content--home .fg-home-hero .fg-hero-backdrop img { object-position: 70% center; }
    .fg-home-hero:has(.fg-hero-backdrop)::before { background: linear-gradient(180deg, rgb(18 59 54 / 66%), rgb(18 59 54 / 72%) 58%, rgb(18 59 54 / 95%)); }
    .fg-home-hero .fg-hero-inner { width: calc(100% - 32px); padding: 34px 24px 26px; }
    .fg-home-hero .fg-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 34px; }
    .fg-home-hero .fg-hero-kicker { gap: 8px; margin-bottom: 18px; font-size: 11px; line-height: 17px; letter-spacing: .9px; }
    .fg-home-hero .fg-hero-title { max-width: 560px; font-size: clamp(36px, 8.6vw, 50px); line-height: 1.08; letter-spacing: -.9px; text-wrap: initial; }
    .fg-home-hero .fg-hero-lead { margin-top: 22px; font-size: 17px; line-height: 26px; }
    .fg-home-hero .fg-hero-actions { align-items: stretch; flex-direction: column; gap: 8px; margin-top: 26px; }
    .fg-home-hero .fg-hero-actions .wp-block-button, .fg-home-hero .fg-hero-actions .wp-block-button__link { width: 100%; }
    .fg-home-hero .fg-hero-actions .wp-block-button__link { justify-content: space-between; padding-inline: 18px; }
    .fg-home-hero .fg-hero-secondary .wp-block-button__link { justify-content: center; min-height: 48px; }
    .fg-home-hero .fg-hero-media { justify-content: center; padding: 0 8px 0 0; }
    .fg-home-hero .fg-hero-visual { max-width: 340px; padding: 12px 12px 0; border-radius: 18px; }
    .fg-home-hero .fg-hero-portrait img { height: 300px; border-radius: 10px; }
    .fg-home-hero .fg-hero-portrait figcaption { padding: 14px 10px 16px; }
    .fg-home-hero .fg-hero-portrait figcaption strong { font-size: 21px; line-height: 27px; }
    .fg-home-hero .fg-hero-benefits { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 32px; padding-top: 24px; }
    .fg-home-hero .fg-hero-benefit-note { max-width: none; }
}
@media (max-width: 359px) {
    .fg-home-hero .fg-hero-inner { padding-inline: 20px; }
    .fg-home-hero .fg-hero-title { font-size: 33px; }
    .fg-home-hero .fg-hero-kicker { font-size: 10px; letter-spacing: .6px; }
    .fg-home-hero .fg-hero-lead { font-size: 16px; line-height: 25px; }
    .fg-home-hero .fg-hero-actions .wp-block-button__link { gap: 12px; padding-inline: 14px; font-size: 16px; }
    .fg-home-hero .fg-hero-portrait img { height: 260px; }
}
@media (prefers-reduced-motion: reduce) {
    .fg-home-hero *, .fg-home-hero *::before, .fg-home-hero *::after { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
    .fg-home-hero { border: 1px solid CanvasText; }
    .fg-home-hero .fg-hero-actions .wp-block-button__link { border: 1px solid ButtonText; }
}
@media print {
    .finergia-content--home.fg-hero-under-header { margin-top: 0; }
    .finergia-content--home.fg-hero-under-header .fg-home-hero { padding-top: 0; }
    .fg-home-hero { width: 100%; margin: 0 0 24px; break-inside: avoid; print-color-adjust: exact; }
    .fg-home-hero *, .fg-home-hero *::before, .fg-home-hero *::after { animation: none !important; }
}
