.mf-home-banner{position:relative;isolation:isolate;width:calc(100% - 32px);max-width:var(--mf-banner-width,1180px);margin:24px auto 38px;color:var(--mf-banner-ink,#fff)}
.mf-banner-heading{margin:0 0 18px;text-align:center;color:#17334f}.mf-banner-heading h2{margin:0;font-size:clamp(22px,3vw,34px)}.mf-banner-heading p{margin:8px 0 0;color:#526777}
.mf-banner-grid{display:grid;grid-template-columns:repeat(var(--mf-banner-columns,3),minmax(0,1fr));gap:18px}
.mf-banner-card{position:relative;isolation:isolate;min-width:0;min-height:var(--mf-banner-height,360px);border-radius:var(--mf-banner-radius,22px);overflow:hidden;background:linear-gradient(125deg,var(--mf-banner-bg,#153f70),var(--mf-banner-bg2,#356b47));color:var(--mf-banner-ink,#fff);border:1px solid #ffffff26}
.mf-banner-shadow-soft .mf-banner-card{box-shadow:0 12px 28px -14px #17334f4d}.mf-banner-shadow-bold .mf-banner-card{box-shadow:0 20px 36px -12px #17334f66}
.mf-banner-single .mf-banner-card.mf-banner-has-image.mf-banner-image-side{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:stretch}
.mf-banner-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(22px,4vw,48px);min-width:0;min-height:100%}
.mf-banner-copy h2,.mf-banner-copy h3{margin:0;font-size:clamp(24px,3vw,40px);line-height:1.35;color:inherit;overflow-wrap:anywhere;text-wrap:balance}.mf-banner-copy p{margin:16px 0 0;line-height:1.8;max-width:55ch;font-size:15px;color:inherit;opacity:.92;white-space:pre-line}
.mf-banner-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;margin-top:24px;border-radius:10px;background:var(--mf-banner-accent,#8cc63f);color:var(--mf-banner-button-ink,#000)!important;text-decoration:none;font-size:14px;font-weight:700;box-shadow:0 4px 12px #0002}
.mf-banner-cta:hover,.mf-banner-cta:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.mf-banner-align-center .mf-banner-copy{align-items:center;text-align:center}
.mf-banner-visual{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-width:0;min-height:160px;background:#ffffffed;padding:20px;margin:18px;border-radius:max(8px,calc(var(--mf-banner-radius,22px) - 8px))}
.mf-banner-visual img{display:block;width:100%;height:100%;max-height:calc(var(--mf-banner-height,360px) - 76px);object-fit:contain}
.mf-banner-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2;z-index:0}
.mf-banner-three .mf-banner-card{display:flex;flex-direction:column}.mf-banner-three .mf-banner-copy{padding:24px;flex:1;min-height:0}.mf-banner-three .mf-banner-copy h3{font-size:24px}.mf-banner-three .mf-banner-copy p{font-size:14px}.mf-banner-three .mf-banner-visual{height:clamp(140px,calc(var(--mf-banner-height,360px) * .45),300px);margin-top:0}.mf-banner-three .mf-banner-visual img{max-height:100%}
.mf-banner-card::before{content:"";pointer-events:none;position:absolute;inset:-45%;z-index:1;opacity:0;translate:0 0;rotate:0deg;scale:1}
.mf-bfx-wave::before{opacity:.22;background:linear-gradient(90deg,transparent 30%,#ffffffa3 48%,transparent 66%);rotate:20deg;animation:mf-light-wave var(--mf-banner-speed,10s) ease-in-out infinite alternate}
.mf-bfx-glow::before{opacity:.45;background:radial-gradient(ellipse at 50% 50%,#ffffff6b,transparent 55%);animation:mf-soft-glow var(--mf-banner-speed,10s) ease-in-out infinite alternate}
.mf-bfx-shimmer::before{opacity:.15;background:linear-gradient(115deg,transparent 35%,#fff 50%,transparent 65%);animation:mf-light-wave var(--mf-banner-speed,10s) linear infinite}
@keyframes mf-light-wave{from{translate:-38% 0}to{translate:38% 0}}
@keyframes mf-soft-glow{from{translate:-12% -10%;scale:.85}to{translate:12% 10%;scale:1.1}}
.mf-banner-motion{display:block;margin:10px auto 0;min-height:32px;padding:4px 12px;background:#f1f5f9;color:#355166;border:1px solid #d6e1e7;border-radius:8px;font:12px/1.5 inherit;cursor:pointer}
.mf-home-banner[data-paused=true] .mf-banner-card::before{animation-play-state:paused}
.mf-banner-settings .sm-two,.mf-banner-settings .sm-three{margin-top:12px}.mf-banner-part{border:1px solid #d5e1e8;border-radius:12px;margin:12px 0;background:#f9fbfd}.mf-banner-part summary{padding:12px 16px;cursor:pointer;font-weight:700;color:#173f70}.mf-banner-part-body{padding:0 16px 16px}.mf-banner-image-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.mf-banner-palette-note{font-size:12px;color:#536777;margin:10px 0}
.mf-banner-preview{padding-top:1px}.mf-banner-preview .mf-carousel{margin-top:20px}
@media(max-width:820px){.mf-banner-grid{grid-template-columns:1fr}.mf-banner-three .mf-banner-card{min-height:min(var(--mf-banner-height,360px),380px)}.mf-banner-three .mf-banner-visual{height:200px}.mf-banner-three .mf-banner-card.mf-banner-has-image.mf-banner-image-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mf-banner-three .mf-banner-visual{margin:14px}}
@media(max-width:480px){.mf-home-banner{margin:18px auto 26px;width:calc(100% - 24px)}.mf-banner-single .mf-banner-card.mf-banner-has-image.mf-banner-image-side,.mf-banner-three .mf-banner-card.mf-banner-has-image.mf-banner-image-side{display:flex;flex-direction:column}.mf-banner-card{min-height:min(var(--mf-banner-height,360px),420px)}.mf-banner-copy{padding:24px}.mf-banner-copy h2{font-size:28px}.mf-banner-copy p{font-size:14px}.mf-banner-visual{height:210px;margin:0 16px 16px}.mf-banner-visual img{max-height:100%}.mf-banner-grid{gap:14px}}
@media(prefers-reduced-motion:reduce){.mf-banner-card::before{animation:none!important;translate:0 0;scale:1}.mf-banner-motion{display:none}}
