/* NFIS runtime layer - drawer, reveals, box model. Not builder-editable. */
.nfis-skip{position: fixed;top: -100px;left: 1rem;z-index: var(--z-skip);background: var(--sage);color: #fff;padding: .75rem 1.25rem;border-radius: 10px;font-weight: 600;transition: top var(--dur-base) var(--ease-out)}
.nfis-skip:focus{top: 1rem}
@media (min-width: 1025px){section p:not([style*="max-width"]) { max-width: 72ch; }}
.nfis-burger{display: none;flex-direction: column;justify-content: center;align-items: center;gap: 5px;width: 44px;height: 44px;padding: 0;border: none;background: none;cursor: pointer;color: var(--charcoal)}
.nfis-burger span{display: block;width: 22px;height: 2px;border-radius: 1px;background: currentColor;transition: transform var(--dur-base) var(--ease-out), opacity var(--dur-fast) linear}
.nfis-burger[aria-expanded="true"] span:nth-child(1){transform: translateY(7px) rotate(45deg)}
.nfis-burger[aria-expanded="true"] span:nth-child(2){opacity: 0}
.nfis-burger[aria-expanded="true"] span:nth-child(3){transform: translateY(-7px) rotate(-45deg)}
.nfis-drawer{position: fixed;inset: 0;z-index: var(--z-drawer);display: flex;flex-direction: column;justify-content: flex-start;gap: .25rem;padding: 5.5rem 1.75rem 2rem;background: var(--cream);opacity: 0;visibility: hidden;transform: translateY(-8px);transition: opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);overflow-y: auto}
.nfis-drawer.open{opacity:100%;visibility: visible;transform: none;transition-delay: 0s}
.nfis-drawer a{font-family: Spectral, Georgia, serif;font-size: 1.6rem;font-weight: 600;color: var(--charcoal);padding: .7rem 0;border-bottom: 1px solid var(--sage-pale);transition: color var(--dur-base) var(--ease-out), padding-left var(--dur-base) var(--ease-out)}
.nfis-drawer a:hover{color: var(--sage-deep);padding-left: .5rem}
.nfis-drawer a:focus-visible{color: var(--sage-deep);padding-left: .5rem}
.nfis-drawer.open a{animation: nfis-drawer-in .45s var(--ease-out) backwards;animation-delay: calc(var(--i, 0) * 45ms)}
@keyframes nfis-drawer-in{from { opacity: 0; transform: translateY(12px); } to { opacity:100%; transform: none; }}
.nfis-drawer__cta{margin-top: 1.5rem;background: var(--sage);color: #fff !important;text-align: center;border: none !important;border-radius: 100px;padding: .9rem 1.5rem !important;font-family: inherit !important;font-size: 1rem !important}
.nfis-drawer__cta:hover{background: var(--sage-deep);padding-left: 1.5rem !important}
body.nfis-menu-open{overflow: hidden}
body.nfis-menu-open nav{z-index: calc(var(--z-drawer) + 10) !important}
@media (min-width: 1024px){.nfis-drawer { display: none; }}
html.nfis-reveal-ready .nfis-reveal{opacity: 0;transform: translateY(22px);transition-property: opacity, transform;transition-duration: var(--dur-slow);transition-timing-function: var(--ease-out);transition-delay: calc(var(--i, 0) * 70ms);will-change: opacity, transform}
html.nfis-reveal-ready .nfis-reveal.in{opacity:100%;transform: none;will-change: auto}
@media (prefers-reduced-motion: reduce){html.nfis-reveal-ready .nfis-reveal { opacity:100% !important; transform: none !important; transition: none !important; } .nfis-drawer.open a { animation: none !important; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important} .js .fade-up,.fade-up{opacity:100%!important;transform:none!important} html{scroll-behavior:auto!important}}
.nfis-drawer a.nfis-drawer__sub{font-family:var(--font-body);font-size:1.05rem;font-weight:500;color:var(--warm-grey);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem}
.nfis-drawer a.nfis-drawer__sub:hover{color:var(--sage-deep);padding-left:1.4rem}
@media (max-width: 1023px){
.nfis-burger{display: flex}
}