/* One visual contract, independent of the legacy route modules. */
:root{--fnx-navy:#01193d;--fnx-paper:#f6f2e9;--fnx-gold:#bd965c;--fnx-line:#dcd8cf;--fnx-muted:#5d6876;--fnx-gutter:clamp(24px,4.45vw,80px);--fnx-header-h:88px;--nav-h:88px;--fnx-sans:'Source Sans 3',sans-serif;--fnx-serif:'Source Serif 4',serif;--fnx-mono:'IBM Plex Mono',monospace}
html{scroll-padding-top:108px;scroll-behavior:smooth}body.fnx-site{margin:0;background:var(--fnx-paper);color:var(--fnx-navy);font-family:var(--fnx-sans);-webkit-font-smoothing:antialiased}body.fnx-site *{box-sizing:border-box}body.fnx-site [hidden]{display:none!important}body.fnx-site :focus-visible{outline:2px solid var(--fnx-gold);outline-offset:5px}body.fnx-site :is(h1,h2,h3,p){text-wrap:pretty}body.fnx-site h1{letter-spacing:-.045em}body.fnx-site .inner-page{padding-top:0}body.fnx-site main{min-height:50vh}body.fnx-site .reveal-up{opacity:1!important;transform:none!important}
body.fnx-site .fnx-header{height:var(--fnx-header-h);display:flex;align-items:center;gap:32px;padding:0 var(--fnx-gutter);position:sticky;top:0;z-index:100;background:var(--fnx-paper);border-bottom:1px solid var(--fnx-line);view-transition-name:fnx-header;color:var(--fnx-navy)}
.fnx-header a{color:inherit;text-decoration:none}.fnx-brand{display:flex;flex-shrink:0}.fnx-brand img{width:174px;height:auto;display:block}.fnx-nav{display:flex;justify-content:center;align-items:center;gap:clamp(20px,2vw,32px);flex:1}.fnx-nav a{font:500 15px/1.4 var(--fnx-sans);padding:30px 0;position:relative;white-space:nowrap}.fnx-nav a::after{content:'';position:absolute;bottom:20px;left:0;right:0;height:2px;background:var(--fnx-gold);transform:scaleX(0);transform-origin:left;transition:transform .2s}.fnx-nav a:hover::after,.fnx-nav a[aria-current]::after{transform:scaleX(1)}
.fnx-header-actions{display:flex;align-items:center;gap:20px}.fnx-header button{font:500 14px var(--fnx-sans);color:inherit;background:none;border:0;cursor:pointer}.fnx-search-toggle{align-items:center;gap:8px;min-height:44px;padding:0;display:none}.fnx-js .fnx-search-toggle{display:flex}.fnx-header .fnx-contact{display:inline-flex;align-items:center;gap:20px;min-height:44px;padding:0 20px;background:var(--fnx-navy);color:var(--fnx-paper);font:500 14px var(--fnx-sans);transition:background .2s}.fnx-contact:hover{background:#193454!important}.fnx-menu-toggle{display:none;width:44px;height:44px;padding:10px!important}.fnx-menu-toggle span{display:block;height:1.5px;background:currentColor;width:24px;margin:6px 0}.fnx-nojs-menu{padding:12px var(--fnx-gutter);border-bottom:1px solid var(--fnx-line)}.fnx-nojs-menu nav{display:flex;flex-wrap:wrap;gap:16px;padding:16px 0}.fnx-js .fnx-nojs-menu{display:none}.fnx-skip{position:fixed;top:8px;left:8px;transform:translateY(-160%);z-index:300;background:var(--fnx-navy);color:var(--fnx-paper);padding:12px}.fnx-skip:focus{transform:none}
body.fnx-site .fnx-dialog{padding:32px;border:1px solid var(--fnx-line);border-radius:0;background:var(--fnx-paper);color:var(--fnx-navy);width:min(760px,calc(100% - 32px));max-height:88dvh;margin:auto;box-shadow:0 24px 100px #00122b40;overflow:auto;font:400 17px/1.5 var(--fnx-sans)}.fnx-dialog::backdrop{background:#01193dbb;backdrop-filter:blur(6px)}.fnx-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--fnx-line);padding-bottom:24px}.fnx-dialog-top p{margin:0;font-size:22px;letter-spacing:-.02em}.fnx-dialog-top button{min-height:44px;background:transparent;color:inherit;border:0;font:500 14px var(--fnx-sans);cursor:pointer}.fnx-menu nav{display:grid;padding:24px 0}.fnx-menu nav a{font-size:clamp(28px,4vw,44px);line-height:1.5;letter-spacing:-.03em;text-decoration:none;color:inherit}.fnx-menu a[aria-current]{color:#8c6837}.fnx-menu-audiences{display:grid;gap:12px;padding:20px 0 0;border-top:1px solid var(--fnx-line)}.fnx-menu-audiences p{color:var(--fnx-muted);font-size:15px}.fnx-menu-audiences a{color:inherit;text-decoration:none}.fnx-search-field{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--fnx-navy)}.fnx-search-field input{width:100%;min-width:0;padding:10px 0;border:0;background:transparent;color:inherit;font:400 24px var(--fnx-sans);outline-offset:0}.fnx-search-field input:focus-visible{outline:none}.fnx-search-field:focus-within{outline:2px solid var(--fnx-gold);outline-offset:4px}.fnx-search-count,.fnx-search-note{font-size:13px;color:var(--fnx-muted);margin:18px 0 8px}.fnx-search-results{display:grid}.fnx-search-result{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:18px;padding:14px 0;text-decoration:none;color:inherit;border-bottom:1px solid var(--fnx-line)}.fnx-search-result:hover{background:#eae5db}.fnx-search-result img{width:70px;height:54px;object-fit:cover}.fnx-search-result .fnx-search-placeholder{width:70px;height:54px;background:#e6e1d7;display:grid;place-items:center;color:#a28660;font-size:28px}.fnx-search-result strong{display:block;font-size:18px;font-weight:500}.fnx-search-result small{display:block;font-size:13px;color:var(--fnx-muted)}.fnx-search-all{display:flex;justify-content:space-between;margin-top:24px;padding:14px 0;color:inherit;text-decoration:none;border-bottom:1px solid var(--fnx-navy)}
body.fnx-site .fnx-footer{display:block;padding:72px var(--fnx-gutter) 28px;background:var(--fnx-navy);color:var(--fnx-paper)}.fnx-footer a{color:inherit;text-decoration:none}.fnx-footer a:hover{text-decoration:underline;text-underline-offset:5px}.fnx-footer-top{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-bottom:64px;border-bottom:1px solid #ffffff2b}.fnx-footer .fnx-eyebrow{font:400 10px/1.6 var(--fnx-mono);letter-spacing:.13em;color:#d8b784;margin:0 0 24px}.fnx-footer h2{font:400 clamp(32px,4.2vw,64px)/1.08 var(--fnx-sans);letter-spacing:-.035em;margin:0}.fnx-footer h2 em{font-family:var(--fnx-serif);font-style:italic;font-weight:400;color:#d8b784}.fnx-footer-cta{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:18px 0;border-bottom:1px solid #d8b784;font-size:18px}.fnx-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1.2fr;gap:40px;padding:48px 0}.fnx-footer-brand img{width:178px;height:auto;display:block}.fnx-footer-grid nav{display:grid;gap:10px}.fnx-footer-grid p,.fnx-footer-grid a{font-size:15px;line-height:1.6}.fnx-footer-grid .fnx-eyebrow{margin-bottom:14px}.fnx-footer-bottom{display:flex;gap:28px;align-items:center;border-top:1px solid #ffffff2b;padding-top:20px;font-size:13px;color:#d2d5d9}.fnx-footer-bottom p{margin:0;flex:1}.fnx-footer .fnx-legal{max-width:1050px;font-size:11px;line-height:1.7;color:#aeb8c6;margin:20px 0 0}
/* Common rhythm without replacing route-specific content styles. */
.fnx-home main>.pr2{--pr2-cabecera:var(--fnx-header-h)}.fnx-site .crumb{margin-top:0;padding-top:24px;padding-bottom:24px;font-family:var(--fnx-mono);font-size:11px;letter-spacing:.02em}.fnx-site .crumb a{color:var(--fnx-muted)}.fnx-home .business{padding-top:88px}.fnx-home .section-heading h2{font-family:var(--fnx-sans);font-weight:400;letter-spacing:-.04em}.fnx-home .section-heading h2 em{font-style:normal;font-family:inherit}.fnx-site main :is(a,button){touch-action:manipulation}
@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}::view-transition-group(fnx-header){animation-duration:0s}
@media(min-width:1600px){.fnx-header{--fnx-gutter:max(64px,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.fnx-header{gap:24px!important}.fnx-nav{gap:20px}.fnx-nav a{font-size:14px}.fnx-search-toggle span{display:none}.fnx-header-actions{gap:14px}.fnx-brand img{width:155px}}
@media(max-width:900px){:root{--fnx-header-h:76px;--nav-h:76px}.fnx-nav{display:none}.fnx-header-actions{margin-left:auto}.fnx-js .fnx-menu-toggle{display:block}.fnx-footer-grid{grid-template-columns:1fr 1fr}.fnx-footer-top{display:block}.fnx-footer-cta{max-width:350px;margin-top:32px}.fnx-dialog-top p{font-size:20px}}
@media(max-width:540px){:root{--fnx-header-h:72px;--nav-h:72px;--fnx-gutter:22px}.fnx-brand img{width:139px}.fnx-header{gap:12px!important}.fnx-header-actions{gap:8px}.fnx-header .fnx-contact{padding:0 12px;font-size:13px}.fnx-contact span{display:none}.fnx-menu-toggle{width:34px;padding:5px!important}.fnx-search-toggle{display:none!important}.fnx-footer{padding-top:48px!important}.fnx-footer-grid{gap:32px 16px}.fnx-footer-brand{grid-column:1/-1}.fnx-footer-grid>div:last-child{grid-column:1/-1}.fnx-footer-top{padding-bottom:40px}.fnx-footer-bottom{flex-wrap:wrap;gap:12px 24px}.fnx-footer-bottom p{flex-basis:100%}.fnx-site .fnx-dialog{padding:22px;max-height:92dvh}.fnx-search-field input{font-size:18px}.fnx-search-result{grid-template-columns:52px 1fr auto;gap:12px}.fnx-search-result img,.fnx-search-result .fnx-search-placeholder{width:52px;height:46px}.fnx-search-result strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}@view-transition{navigation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.fnx-site *, .fnx-site *::before,.fnx-site *::after{scroll-behavior:auto!important}}
.fnx-js .fnx-menu-toggle{display:block}.fnx-js .fnx-search-toggle{display:flex!important}
.fnx-stage-bridge{display:flex;align-items:center;gap:32px;padding:28px var(--fnx-gutter);border-top:1px solid var(--fnx-line);color:var(--fnx-navy)}.fnx-stage-bridge p{font:italic 24px var(--fnx-serif);margin:0;flex:1}.fnx-stage-bridge a{font-size:15px;text-decoration:none;color:inherit;min-height:44px;display:flex;align-items:center;gap:12px}.fnx-stage-bridge a:hover{text-decoration:underline;text-underline-offset:5px}@media(max-width:768px){.fnx-stage-bridge{display:grid;gap:8px;padding-block:24px}.fnx-stage-bridge p{margin-bottom:8px}}
/* Neutralize broad `footer > div`, `footer p` and `footer span` rules in the
   approved Home CSS. The shared shell must not inherit a different layout. */
.fnx-footer-top,.fnx-footer-bottom{flex-direction:row}.fnx-footer-top>div{display:block}.fnx-footer p{margin:0}.fnx-footer span{font:inherit;color:inherit;margin:0}.fnx-footer-bottom p{font:inherit}.fnx-footer-grid{font-size:16px}.fnx-footer-top{font-size:16px}
