/* Shared header, isolated from legacy logo/nav selectors. */
html body .fp117-header{box-sizing:border-box;position:relative;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1680px,calc(100% - 96px));height:98px;margin:0 auto;padding:0;font:700 14px/1.4 Arial,sans-serif;color:#fff}
html body .header:has(.fp117-header){height:98px;background:#071e2b!important;z-index:100}
html body .header .header_container:has(.fp117-header){width:100%!important;max-width:none!important;padding:0!important;height:98px}
html body .fp117-auth-shell{position:relative;z-index:50;flex:0 0 auto}
html body .fp117-header .home-brand{display:flex!important;align-items:center;gap:10px;text-decoration:none!important;font:italic 800 30px/1.2 Arial,sans-serif!important;letter-spacing:-1px;white-space:nowrap;color:#fff!important}
html body .fp117-header .home-brand>span{display:block;color:#fff!important}
html body .fp117-header .home-brand .brand-green{color:#6af02e!important}
html body .fp117-header .home-brand small{display:block;font:800 8px/1.2 Arial,sans-serif!important;letter-spacing:3px;text-align:center;margin-top:5px;color:#fff!important}
html body .fp117-header .home-brand :is(svg,img){width:44px!important;height:44px!important;flex:0 0 44px;object-fit:contain;filter:none!important;animation:none!important}
html body .fp117-header :is(a,summary){font:700 14px/1.4 Arial,sans-serif;color:#fff!important;text-decoration:none;cursor:pointer;letter-spacing:0}
html body .fp117-header .fp117-desktop{display:flex;align-items:center;gap:24px}
html body .fp117-header .fp117-group{position:relative}
html body .fp117-header summary{list-style:none;padding:10px 0}
html body .fp117-header summary::-webkit-details-marker{display:none}
html body .fp117-header .fp117-submenu{position:absolute;right:0;top:100%;min-width:200px;padding:8px;background:#071e2b;border:1px solid #38515e;border-radius:6px}
html body .fp117-header .fp117-submenu a{display:block;padding:10px 12px;white-space:nowrap}
html body .fp117-header :is(a:hover,a[aria-current=page],.fp117-current>summary){text-decoration:underline;text-decoration-color:#6af02e;text-underline-offset:8px}
html body .fp117-header :is(.fp117-login,.fp117-signup){padding:12px 20px;border:1px solid #8da3af;border-radius:5px;text-decoration:none}
html body .fp117-header .fp117-signup{background:#6af02e;border-color:#6af02e;color:#071e2b!important}
html body .fp117-header :focus-visible{outline:2px solid #6af02e;outline-offset:4px}
html body .fp117-header .fp117-mobile{display:none}
@media(max-width:1120px){html body .fp117-header{width:calc(100% - 48px)}html body .fp117-header .home-brand{font-size:25px!important}html body .fp117-header .fp117-desktop{gap:16px}}
@media(max-width:900px){html body .fp117-header,html body .header:has(.fp117-header),html body .header .header_container:has(.fp117-header){height:80px}html body .fp117-header .fp117-desktop{display:none}html body .fp117-header .fp117-mobile{display:block}html body .fp117-mobile>nav{position:absolute;top:80px;left:0;right:0;background:#071e2b;padding:16px;border:1px solid #38515e;max-height:calc(100vh - 100px);overflow-y:auto}html body .fp117-mobile nav>a{display:block;padding:12px;margin:5px 0}html body .fp117-header .fp117-mobile .fp117-submenu{position:static;border:0;border-left:2px solid #6af02e;margin:4px 0 10px 8px}html body .fp117-header{width:calc(100% - 32px)}}

html{overflow-y:scroll;scrollbar-gutter:stable}html body .auth-background,html body .fp-info-background{top:0;bottom:auto;height:max(680px,calc(100svh - 60px));background-size:cover;background-position:75% top;animation:none!important;transition:none!important}html body .auth-scene,html body .fp-info-scene{min-height:calc(100svh - 60px);animation:none!important;transition:none!important}html body .fp117-header .fp117-desktop{gap:18px}

/* Remove inherited page borders while retaining the inner header padding. */
html:has(.fp117-header),html body:has(.fp117-header){margin:0!important;padding:0!important;border:0!important}
html body:has(.fp117-header)>.container{margin:0!important;border:0!important;width:100%!important;box-sizing:border-box}
html body .header:has(.fp117-header){left:0!important;right:0!important;width:100%!important;margin:0!important;border:0!important;box-sizing:border-box}

/* Keep dropdown geometry identical on home, auth and legacy shells. */
html body .fp117-header .fp117-group .fp117-submenu,html body .fp117-header .fp117-group .fp117-submenu a{box-sizing:border-box!important;text-align:left!important;justify-content:flex-start!important;align-items:flex-start!important;float:none!important}
html body .fp117-header .fp117-group .fp117-submenu a{display:block!important;width:100%!important;margin:0!important;padding:11px 14px!important;border:0!important;border-radius:4px!important;line-height:1.4!important}
html body .fp117-header .fp117-group .fp117-submenu a:hover,html body .fp117-header .fp117-group .fp117-submenu a[aria-current=page]{background:#153544!important;text-decoration:none!important;color:#6af02e!important}
html body .fp117-header :is(a,summary):focus{box-shadow:none!important}
html body .fp117-header :is(a,summary):focus:not(:focus-visible),html body .fp117-header.fp-pointer-focus :is(a,summary):focus{outline:none!important}
html body .fp117-header:not(.fp-pointer-focus) :is(a,summary):focus-visible{outline:2px solid #6af02e!important;outline-offset:4px!important;box-shadow:none!important}

/* Shared public geometry, including pages with legacy shell styles. */
html body .header:has(.fp117-header){padding:0!important;min-height:98px!important;box-shadow:none!important}
html body .header .header_container:has(.fp117-header){margin:0!important;border:0!important;min-height:98px!important;display:block!important}
html body .fp117-header .fp117-group>summary{padding:12px 10px!important;border:0!important;border-radius:5px!important;line-height:1.4!important}
html body .fp117-header .fp117-group .fp117-submenu{padding:8px!important;min-width:224px!important;border:1px solid #365360!important;border-radius:8px!important}
html body .fp117-header .fp117-group .fp117-submenu a{padding:12px 16px!important;min-height:44px!important;margin:3px 0!important;white-space:normal!important}
@media(max-width:1100px){html body .fp117-header .fp117-desktop{gap:8px!important}}
@media(max-width:900px){html body .header:has(.fp117-header),html body .header .header_container:has(.fp117-header){min-height:80px!important}html body .fp117-header .fp117-mobile .fp117-submenu{min-width:0!important}}

html body .header:has(.fp117-header){border-bottom:1px solid #314955!important;box-sizing:border-box!important}
html body :is(.fp117-auth-shell,.fp117-home-shell):has(.fp117-header){border-bottom:1px solid #314955!important;box-sizing:border-box!important}

/* All public shells share the same opaque surface and separator. */
html body :is(.header,.fp117-auth-shell,.fp117-home-shell):has(.fp117-header){background:#071e2b!important;border:0!important;border-bottom:1px solid #314955!important;box-shadow:none!important;padding:0!important;box-sizing:border-box!important}
html body .fp117-header{height:98px!important;min-height:98px!important;max-height:98px!important;padding:0!important;border:0!important;box-sizing:border-box!important}
html body .fp117-header *{box-sizing:border-box}
html body .fp117-header .fp117-desktop{margin:0!important;padding:0!important;gap:18px!important}
@media(max-width:1100px){html body .fp117-header .fp117-desktop{gap:8px!important}}
@media(max-width:900px){html body .fp117-header{height:80px!important;min-height:80px!important;max-height:80px!important}}

/* Explicit wordmark typography prevents nested span rules changing the logo. */
html body .fp117-header .home-brand>span,html body .fp117-header .home-brand>span>.brand-green{font-family:Arial,sans-serif!important;font-size:30px!important;font-style:italic!important;font-weight:800!important;line-height:1.2!important;letter-spacing:-1px!important;text-transform:none!important;text-shadow:none!important}
html body .fp117-header .home-brand>span{margin:0!important;padding:0!important}
html body .fp117-header .home-brand>span>.brand-green{display:inline!important;margin:0!important;padding:0!important}
html body .fp117-header .home-brand small{font-style:normal!important;text-transform:none!important}
@media(max-width:1120px){html body .fp117-header .home-brand>span,html body .fp117-header .home-brand>span>.brand-green{font-size:25px!important}}
