@font-face{font-family:FINNEX Sans;src:url('../fonts/roboto-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:FINNEX Sans;src:url('../fonts/roboto-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:FINNEX Sans;src:url('../fonts/roboto-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--font:'FINNEX Sans',Arial,sans-serif}
body[class*="wp-theme-finnex-theme"],body.fn-app-body,body.fn-login-page{font-family:var(--font);font-weight:400;font-synthesis:none}
.fn-header,.fn-hero,.fn-section,.fn-contact,.fn-app,.fn-login-shell,.fn-footer{font-family:var(--font);font-synthesis:none}
.fn-hero h1{font-family:var(--font);font-size:clamp(40px,4.6vw,66px);font-weight:500;line-height:1.12;letter-spacing:-.035em}
.fn-hero h1:after{font-family:var(--font);font-style:normal;font-weight:400;font-size:.6em;line-height:1.25;letter-spacing:-.025em}
.fn-section-head h2,.fn-saas h2,.fn-security h2,.fn-cta h2,.fn-contact h1,.fn-content h1{font-weight:500;line-height:1.12;letter-spacing:-.035em}
.fn-lead,.fn-lead-small,.fn-section p,.fn-contact p{font-weight:400;line-height:1.75}
.fn-nav a,.fn-text-link,.fn-button,.fn-brand,.fn-dashboard>h2,.fn-float-card b{font-weight:500}
.fn-nav a,.fn-text-link,.fn-button{font-size:14px}
.fn-kicker{font-weight:500;letter-spacing:.12em;font-size:12px}
.fn-app h1,.fn-app h2,.fn-app h3{font-family:var(--font);font-weight:500;letter-spacing:-.025em;line-height:1.25}
.fn-app p,.fn-app small,.fn-app input,.fn-app select{font-family:var(--font);font-weight:400}
.fn-module-card p{font-size:14px;line-height:1.6}
.fn-app-main{min-width:0}.fn-user small{overflow-wrap:anywhere}
.fn-app a,.fn-nav a{overflow-wrap:anywhere}
/* FINNEX responsive typography and accessible interaction refinements */
.fn-app :is(button,input,select,textarea),.fn-contact :is(button,input,select,textarea){font:inherit}
.fn-app :is(button,a,input,select,textarea):focus-visible,.fn-nav a:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.fn-app :is(h1,h2,h3),.fn-section :is(h1,h2,h3){text-wrap:balance;overflow-wrap:break-word}
.fn-app :is(p,td,th,label),.fn-contact :is(p,label){overflow-wrap:anywhere}
@media(max-width:768px){.fn-app-main,.fn-section,.fn-contact{min-width:0}.fn-app :is(input,select,textarea){max-width:100%}.fn-app :is(table){display:block;max-width:100%;overflow-x:auto}}
@media(prefers-reduced-motion:reduce){.fn-app *,.fn-nav *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:600px){.fn-hero h1{font-size:clamp(32px,9vw,40px);line-height:1.13}.fn-lead{font-size:17px}.fn-kicker{font-size:11px}.fn-nav a{font-size:16px}}
@media(max-width:360px){.fn-hero h1{font-size:30px}.fn-section-head h2,.fn-contact h1{font-size:clamp(25px,8vw,32px)}}
@media(forced-colors:active){.fn-app :is(button,a,input,select,textarea):focus-visible,.fn-nav a:focus-visible{outline:2px solid Highlight}}
@media print{.fn-app :is(button,input,select,textarea){font-size:inherit}.fn-app :is(table){display:table;overflow:visible}}
/* FINNEX 2026: touch targets, navigation, forms and accessible tables */
.fn-menu-toggle,.fn-app-menu{min-width:44px;min-height:44px;cursor:pointer}
.fn-nav a,.fn-header-actions a{display:inline-flex;align-items:center;min-height:44px}
.fn-app :is(button,[role=button],input,select,textarea),.fn-contact :is(button,input,select,textarea){min-height:42px}
.fn-app :is(input,select,textarea),.fn-contact :is(input,select,textarea){max-width:100%;accent-color:var(--gold,#b49355)}
.fn-app :is(table){border-collapse:collapse;max-width:100%}
.fn-app :is(th,td){vertical-align:top;overflow-wrap:anywhere}
.fn-app :is(button,a):disabled,.fn-app :is(button,a)[aria-disabled=true]{cursor:not-allowed;opacity:.58}
@media(max-width:960px){.fn-nav.is-open{max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}.fn-nav.is-open a{min-height:48px}.fn-header-inner{min-width:0}.fn-header-actions{min-width:0}}
@media(max-width:600px){.fn-container{width:min(calc(100% - 32px),var(--max))}.fn-form-card{padding:clamp(16px,5vw,28px)}.fn-form-card form{grid-template-columns:minmax(0,1fr)}.fn-form-card label,.fn-form-card button,.fn-form-card form>small{grid-column:1/-1}.fn-app :is(table){-webkit-overflow-scrolling:touch}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fn-button:hover{transform:none}}
@media print{.fn-menu-toggle,.fn-app-menu,.fn-header-actions{display:none!important}.fn-app :is(th,td){break-inside:avoid}}
/* FINNEX internal mobile navigation and dense dashboard refinement */
@media(max-width:960px){.fn-app-side.is-open{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}.fn-app-side.is-open a{min-height:44px}.fn-app-menu[aria-expanded=true]{outline-offset:3px}}
@media(max-width:600px){.fn-app-main :is(h1,h2){overflow-wrap:anywhere;line-height:1.2}.fn-app-main :is(input,select,textarea){width:100%;min-width:0}.fn-app-main :is(button){max-width:100%;white-space:normal}.fn-app-main :is(.fn-module-card,.fn-app-feature){min-width:0}.fn-app-main :is(table){width:100%;max-width:100%;overflow-x:auto}}
@media(forced-colors:active){.fn-menu-toggle:focus-visible,.fn-app-menu:focus-visible{outline:2px solid Highlight}}
/* FINNEX robust navigation, accessible statuses and mobile safe areas */
.fn-app [aria-live],.fn-contact [aria-live]{overflow-wrap:anywhere}
.fn-app :is(button,a,input,select,textarea):focus-visible,.fn-contact :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--gold,#b49355);outline-offset:3px}
@media(max-width:600px){.fn-header-inner{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.fn-nav.is-open,.fn-app-side.is-open{padding-bottom:env(safe-area-inset-bottom,16px)}.fn-app-main :is(pre,code){overflow-wrap:anywhere}.fn-app-main :is(.fn-module-card,.fn-app-feature){box-sizing:border-box}}
@media(prefers-contrast:more){.fn-app :is(button,input,select,textarea),.fn-contact :is(button,input,select,textarea){border-width:2px}.fn-nav a:focus-visible{outline-width:4px}}
