/* Shared identity for the public website and administration workspace. */
html:has(> body.fm-site) { scroll-behavior:smooth; scroll-padding-top:108px; }
.fm-site [data-site-section] { scroll-margin-top:0; }
@media(max-width:760px) {
    html:has(> body.fm-site) { scroll-padding-top:94px; }
}
@media(prefers-reduced-motion:reduce) {
    html:has(> body.fm-site) { scroll-behavior:auto; }
}
:root {
    --brand-deep: hsl(222 58% 13%);
    --brand-navy: hsl(220 52% 28%);
    --brand-blue: hsl(217 50% 40%);
    --brand-green: hsl(152 38% 42%);
    --brand-green-dark: hsl(152 45% 26%);
    --brand-mint: hsl(152 45% 72%);
    --brand-red: hsl(355 62% 54%);
    --brand-coral: hsl(2 65% 62%);
    --brand-surface: hsl(216 30% 97%);
    --brand-soft: hsl(220 40% 94%);
    --brand-line: hsl(216 25% 88%);
    --brand-ink: hsl(222 40% 14%);
    --brand-muted: hsl(218 14% 40%);
    --brand-font: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --brand-display: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --home-deep: var(--brand-deep); --home-navy: var(--brand-navy); --home-blue: var(--brand-blue);
    --home-green: var(--brand-green); --home-green-dark: var(--brand-green-dark); --home-green-light: var(--brand-mint);
    --home-red: var(--brand-red); --home-coral: var(--brand-coral); --home-mint: var(--brand-soft);
    --home-sand: var(--brand-surface); --home-ink: var(--brand-ink); --home-muted: var(--brand-muted); --home-line: var(--brand-line);
    --home-font-text: var(--brand-font); --home-font-display: var(--brand-display);
}
.fm-site, .admin-body { font-family: var(--brand-font); }
.fm-site :is(h1,h2,h3,h4,h5,h6,.display,.section-title), .admin-body :is(h1,h2,h3,h4) { font-family: var(--brand-display); }
.fm-site :is(p,a,span,strong,b,small,dt,dd,label,legend,li,em) { font-family: var(--brand-font); }
.fm-site :is(button,input,select,textarea), .admin-body :is(button,input,select,textarea) { font-family: inherit; }
.fm-site .container { width: min(1200px, calc(100% - 40px)); margin-inline: auto; }
/* Original homepage navigation, shared by every public page. */
.fm-site .fm-header {
    position: fixed;
    z-index: 100;
    inset: 0 0 auto;
    background: hsl(222 58% 13%);
    box-shadow: none;
    transition: background .3s ease, box-shadow .3s ease;
}

.fm-site .fm-header.scrolled {
    background: hsl(222 58% 13%);
    box-shadow: 0 8px 30px rgb(0 0 0 / .2);
    backdrop-filter: blur(14px);
}

.fm-site .fm-navigation { min-height: 96px; gap: 28px; }
.fm-site .fm-navigation > .brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 13px;
    border-radius: 14px;
    color: var(--home-deep);
    background: #fff;
    box-shadow: 0 8px 24px rgb(0 0 0 / .18);
}
.fm-site .fm-navigation > .brand img { display: block; width: auto; max-width: 160px; height: 52px; object-fit: contain; }
.fm-site .fm-navigation > .brand > span { display: none; }
.fm-site .fm-navigation > .brand--placeholder { padding: 6px 12px 6px 7px; }
.fm-site .fm-navigation > .brand--placeholder img { width: 50px; height: 50px; }
.fm-site .fm-navigation > .brand--placeholder > span { display: flex; min-width: 114px; flex-direction: column; gap: 1px; }
.fm-site .fm-navigation > .brand--placeholder .navbar-brand-name { display: flex; align-items: baseline; gap: 4px; line-height: 1; }
.fm-site .fm-navigation > .brand--placeholder .navbar-brand-fm,
.fm-site .fm-navigation > .brand--placeholder .navbar-brand-overseas { color: var(--home-navy) !important; font-family: var(--home-font-display) !important; font-size: 14px !important; font-weight: 700; letter-spacing: -.03em; }
.fm-site .fm-navigation > .brand--placeholder .brand-licence { color: var(--home-muted); font-size: .46rem; font-weight: 700; line-height: 1.25; white-space: nowrap; }
.fm-site .site-menu { align-items: center; gap: 10px; }
.fm-site .site-links {
    display: flex;
    align-items: center;
    gap: 3px;
    padding: 5px;
    border: 1px solid rgb(255 255 255 / .18);
    border-radius: 999px;
    background: rgb(255 255 255 / .12);
    backdrop-filter: blur(10px);
}
.fm-site .site-links > a, .fm-site .nav-media-menu > summary {
    padding: 8px 13px;
    border-radius: 999px;
    color: #fff;
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}
.fm-site .site-links > a:hover, .fm-site .site-links > a.is-current, .fm-site .nav-media-menu > summary:hover { background: rgb(255 255 255 / .18); }
.fm-site .nav-action-button { color: #fff; background: linear-gradient(135deg, var(--home-red), var(--home-coral)); }
.fm-site .nav-language-button, .fm-site .nav-account-button { color: #fff; border-color: rgb(255 255 255 / .28); background: rgb(255 255 255 / .1); }
.fm-site .nav-toggle {
    width: 48px;
    height: 48px;
    padding: 11px;
    border: 1px solid rgb(255 255 255 / .25);
    border-radius: 12px;
    color: #fff;
    background: rgb(255 255 255 / .1);
}
.fm-site .nav-toggle span { display: block; width: 20px; height: 2px; margin: 4px auto; border-radius: 99px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.fm-site .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.fm-site .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.fm-site .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

@media (min-width: 1441px) {
    .fm-site .header .nav-toggle { display: none !important; }
    .fm-site .header .site-menu {
        position: static !important;
        display: flex !important;
        min-width: 0;
        flex: 1;
        align-items: center;
        justify-content: flex-end;
        gap: 10px !important;
        padding: 0 !important;
        overflow: visible;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    .fm-site .header .site-links { width: auto; flex-direction: row; }
    .fm-site .header .nav-auth { display: flex; width: auto; margin-left: 0; }
}

.fm-site :focus-visible { outline: 3px solid var(--brand-mint); outline-offset: 4px; }
.fm-site .site-footer { line-height: 1.6; }
.fm-site .site-footer a { text-decoration: none; }
.fm-site .site-footer .home-footer-button { color: #fff; }
.fm-site .site-footer :is(h2,h3,p) { margin-top: 0; }

/* A shared company introduction, with a compact homepage composition. */
.fm-site .company-profile { background:#fff; color:var(--brand-ink); }
.fm-site .company-profile-heading { display:grid; grid-template-columns:1fr 260px; gap:60px; align-items:end; margin-bottom:48px; padding-bottom:36px; border-bottom:1px solid var(--brand-line); }
.fm-site .company-profile h2 { margin:14px 0 0; color:var(--brand-ink); font-family:var(--brand-display); font-size:clamp(2.2rem,3.8vw,3.8rem); font-weight:500; letter-spacing:-.055em; line-height:1.1; text-wrap:balance; }
.fm-site .company-profile .eyebrow { margin:0; color:var(--brand-green-dark); font-size:.7rem; font-weight:600; letter-spacing:.13em; }
.fm-site .company-profile-tagline { max-width:240px; margin:0; color:var(--brand-muted); font-size:1.05rem; line-height:1.6; }
.fm-site .company-profile-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(40px,6vw,88px); align-items:start; }
.fm-site .company-profile-visual { min-width:0; margin:0; }
.fm-site .company-profile-visual > img { display:block; width:100%; height:500px; object-fit:cover; border-radius:16px; }
.fm-site .company-profile-visual figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding-top:20px; color:var(--brand-muted); border-top:1px solid var(--brand-line); margin-top:20px; }
.fm-site .company-profile-visual small { font-size:.6rem; font-weight:600; letter-spacing:.1em; }
.fm-site .company-profile-visual strong { color:var(--brand-ink); font-size:.75rem; font-weight:500; }
.fm-site .company-profile-copy > p:not(.eyebrow) { margin:0; color:var(--brand-muted); font-size:.98rem; line-height:1.8; }
.fm-site .company-profile-copy > p:not(.eyebrow) + p { margin-top:20px; }
.fm-site .company-profile--full .company-profile-copy > p:first-child { color:var(--brand-ink); font-size:1.2rem; line-height:1.65; letter-spacing:-.02em; }
.fm-site .company-profile--compact { background:#f3f5f2; }
.fm-site .company-profile--compact .company-profile-layout { grid-template-columns:1.1fr .9fr; align-items:center; }
.fm-site .company-profile--compact h2 { margin-bottom:28px; }
.fm-site .company-profile--compact .company-profile-visual > img { height:430px; }
.fm-site .company-profile-cycle { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:30px; counter-reset:company-stage; }
.fm-site .company-profile-cycle span { padding-top:14px; border-top:1px solid #cdd6ce; color:var(--brand-ink); font-size:.76rem; line-height:1.6; counter-increment:company-stage; }
.fm-site .company-profile-cycle span::before { display:block; margin-bottom:10px; color:var(--brand-green-dark); font-size:.65rem; content:"0" counter(company-stage); }
.fm-site .company-profile-link { display:inline-block; margin-top:30px; padding-bottom:7px; color:var(--brand-green-dark); border-bottom:1px solid #a6b6a9; font-size:.83rem; font-weight:600; }
.fm-site .company-profile-link:hover { border-color:var(--brand-green-dark); }
@media(max-width:950px) {
    .fm-site .company-profile-heading { grid-template-columns:1fr; gap:22px; }
    .fm-site .company-profile-tagline { max-width:none; }
    .fm-site .company-profile-layout, .fm-site .company-profile--compact .company-profile-layout { grid-template-columns:1fr; gap:36px; }
    .fm-site .company-profile-visual > img, .fm-site .company-profile--compact .company-profile-visual > img { height:380px; }
    .fm-site .company-profile--full .company-profile-visual { max-width:650px; }
}
@media(max-width:600px) {
    .fm-site .company-profile-heading { margin-bottom:30px; padding-bottom:26px; }
    .fm-site .company-profile h2 { font-size:clamp(2rem,8vw,2.8rem); }
    .fm-site .company-profile-visual > img, .fm-site .company-profile--compact .company-profile-visual > img { height:300px; }
    .fm-site .company-profile-cycle { gap:12px; }
    .fm-site .company-profile-cycle span { font-size:.7rem; }
}

/* Footer adapted from the supplied footer design */
.site-footer { position: relative; overflow: hidden; color: #fff; background: var(--home-deep); }
.site-footer::before { position: absolute; top: -200px; right: -150px; width: 500px; height: 500px; border-radius: 50%; background: var(--home-blue); filter: blur(120px); opacity: .25; content: ""; }
.home-footer-container { position: relative; }
.fm-site .site-footer .home-footer-container { width: min(1200px, calc(100% - 40px)); }
.home-footer-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: 34px 0; border-bottom: 1px solid rgb(255 255 255 / .1); }
.home-footer-cta h2 { margin: 0; font-size: clamp(1.6rem, 2.6vw, 2.2rem); color: #fff; }
.home-footer-cta > div { display: flex; gap: 10px; flex-wrap: wrap; }
.home-footer-button { display: inline-flex; align-items: center; min-height: 46px; padding: 11px 23px; border: 1.5px solid rgb(255 255 255 / .35); border-radius: 999px; font-size: .8rem; font-weight: 800; transition: transform .25s ease; }
.home-footer-button:hover { transform: translateY(-3px); }
.home-footer-button-primary { border-color: transparent; background: linear-gradient(135deg, var(--home-red), var(--home-coral)); box-shadow: 0 10px 24px hsl(355 62% 54% / .35); }
.home-footer-columns { display: grid; grid-template-columns: 1.3fr .7fr .7fr 1fr; gap: 44px; padding: 60px 0 44px; }
.home-footer-logo { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px; border-radius: 12px; color: var(--home-deep); background: #fff; }
.home-footer-logo img { display: block; width: auto; max-width: 150px; height: 52px; object-fit: contain; }
.home-footer-logo--placeholder { padding-left: 8px; }
.home-footer-logo--placeholder img { width: 46px; height: 46px; }
.home-footer-logo--placeholder span { display: flex; flex-direction: column; line-height: 1.15; }
.home-footer-logo--placeholder strong { color: var(--home-navy); font-family: var(--home-font-display); font-size: .9rem; font-weight: 700; }
.home-footer-logo--placeholder small { margin-top: 3px; color: var(--home-muted); font-size: .54rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.home-footer-brand > p { max-width: 330px; margin: 16px 0 0; color: rgb(255 255 255 / .6); font-size: .8rem; }
.home-footer-socials { display: flex; gap: 8px; margin-top: 18px; }
.home-footer-socials a { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: rgb(255 255 255 / .1); transition: transform .25s ease, background .25s ease; }
.home-footer-socials a:hover { transform: translateY(-3px); background: var(--home-green); }
.home-footer-socials svg, .home-footer-socials img { width: 19px; height: 19px; object-fit: contain; }
.home-footer-socials svg { fill: currentColor; }
.home-footer-license { display: inline-block; margin-top: 18px; padding: 7px 14px; border: 1px solid hsl(152 40% 55% / .35); border-radius: 999px; color: var(--home-green-light); background: hsl(152 40% 40% / .25); font-size: .68rem; font-weight: 800; }
.home-footer-columns h3 { margin: 0 0 14px; color: var(--home-green-light); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }
.home-footer-columns nav a, .home-footer-columns address > span, .home-footer-columns address > a { display: block; margin: 9px 0; color: rgb(255 255 255 / .72); font-size: .8rem; font-style: normal; transition: color .2s ease, transform .2s ease; }
.home-footer-columns nav a:hover, .home-footer-columns address > a:hover { color: var(--home-green-light); transform: translateX(4px); }
.home-footer-languages { display: inline-flex; flex-wrap: wrap; gap: 3px; margin-top: 12px; padding: 3px; border-radius: 999px; background: rgb(255 255 255 / .1); }
.home-footer-languages form { margin: 0; }
.home-footer-languages button { padding: 6px 12px; border: 0; border-radius: 999px; color: #fff; background: transparent; font: 700 .7rem var(--home-font-text); cursor: pointer; }
.home-footer-languages button.is-current { background: var(--home-blue); }
.home-footer-trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; border: 1px solid rgb(255 255 255 / .12); border-radius: 22px; background: rgb(255 255 255 / .12); }
.home-footer-trust article { padding: 24px; background: hsl(220 48% 19%); transition: background .3s ease; }
.home-footer-trust article:hover { background: hsl(220 48% 23%); }
.home-footer-trust i { display: grid; width: 40px; height: 40px; margin-bottom: 12px; place-items: center; border-radius: 12px; background: linear-gradient(135deg, hsl(152 45% 30%), var(--home-green)); font-style: normal; font-weight: 800; }
.home-footer-trust .is-warning i { background: linear-gradient(135deg, hsl(355 62% 46%), var(--home-coral)); }
.home-footer-trust strong { display: block; margin-bottom: 4px; font-size: .85rem; }
.home-footer-trust p { margin: 0; color: rgb(255 255 255 / .65); font-size: .75rem; }
.home-footer-trust a { display: inline-block; margin-top: 8px; color: var(--home-green-light); font-size: .74rem; font-weight: 800; }
.home-footer-legal { display: flex; justify-content: center; gap: 8px 28px; flex-wrap: wrap; margin-top: 26px; }
.home-footer-legal a { color: rgb(255 255 255 / .75); font-size: .76rem; font-weight: 600; }
.home-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 26px; padding: 22px 0 26px; border-top: 1px solid rgb(255 255 255 / .12); color: rgb(255 255 255 / .5); font-size: .74rem; }
.home-footer-bottom a { color: var(--home-green-light); font-weight: 800; }


@media (min-width: 1441px) {
    .fm-site .header .nav-toggle { display: none; }
    .fm-site .header .site-menu, .fm-site .header .site-menu.open { position: static !important; display: flex !important; flex-direction: row; max-height: none; padding: 0 !important; visibility: visible; opacity: 1; overflow: visible; background: transparent !important; border: 0; box-shadow: none !important; }
    .fm-site .header .site-links { width: auto; flex-direction: row; }
}
@media (max-width: 1440px) {
    .fm-site .header .nav-toggle { display: block; }
    .fm-site .header .site-menu { display: none !important; position: absolute !important; top: 100%; inset-inline: 20px; max-height: calc(100dvh - 100px); overflow-y: auto; padding: 20px !important; border: 1px solid var(--brand-line) !important; border-radius: 20px; background: #fff !important; box-shadow: 0 24px 60px rgb(0 0 0 / .22) !important; }
    .fm-site .header .site-menu.open { display: flex !important; align-items: stretch; flex-direction: column; visibility: visible; opacity: 1; }
    .fm-site .header .site-links { display: flex; width: 100%; align-items: stretch; flex-direction: column; padding: 0; border: 0; border-radius: 0; background: transparent; }
    .fm-site .header .site-links > a, .fm-site .header .nav-media-menu > summary { padding: 13px; color: var(--brand-ink); font-size: .85rem; }
    .fm-site .header .site-links > a:hover, .fm-site .header .site-links > a[aria-current=page], .fm-site .header .nav-media-menu > summary.is-current { color: var(--brand-navy); background: var(--brand-soft); }
    .fm-site .header .nav-auth { display: flex; flex-wrap: wrap; margin: 10px 0 0; padding-top: 16px; border-top: 1px solid var(--brand-line); }
    .fm-site .header .nav-auth :is(.nav-language-button,.nav-account-button) { color: var(--brand-ink); border-color: var(--brand-line); background: var(--brand-surface); }
    .fm-site .header :is(.nav-language-name,.nav-account-name) { display: inline; }
    .fm-site .header .account-menu[open] > .account-popover { position: static; width: 100%; margin-top: 8px; box-shadow: none; }
    .fm-site .header .nav-auth .account-menu { flex: 1 1 auto; }
    .fm-site .header .nav-auth .btn { justify-content: center; width: 100%; }
}
@media (max-width: 760px) {
    .fm-site .container { width: calc(100% - 32px); }
    .fm-site .site-footer .home-footer-container { width: calc(100% - 32px); }
    .fm-site .fm-navigation { min-height: 76px; }
    .home-footer-columns, .home-footer-trust { grid-template-columns: 1fr; }
    .home-footer-bottom { align-items: flex-start; flex-direction: column; }
}
@media (min-width: 761px) and (max-width: 1080px) {
    .home-footer-columns, .home-footer-trust { grid-template-columns: 1fr 1fr; }
}

.fm-site .header .nav-auth { display:flex; align-items:center; gap:10px; margin-left:0; }
.fm-site .header .nav-auth .btn { min-height:47px; padding:12px 20px; width:auto; font-size:.8rem; font-weight:700; border-radius:999px; box-shadow:none; }
.fm-site .header .nav-language-name, .fm-site .header .nav-account-name { display:inline; }
.fm-site .header .brand { flex-shrink:0; }
.fm-site .header .brand img { filter:none; }
.fm-site .header .site-links > a[aria-current=page] { color:#fff; background:rgb(255 255 255 / .18); }
.fm-site .header .brand-licence { max-width:none; margin-top:0; letter-spacing:0; }
.fm-site:not(.page-home) #main-content { padding-top:96px; background:var(--brand-deep); }
@media(min-width:1441px) {
    .fm-site .header .fm-navigation { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); width:min(1600px,calc(100% - 48px)); gap:20px; }
    .fm-site .header .fm-navigation > .brand { justify-self:start; }
    .fm-site .header .site-menu { display:contents!important; }
    .fm-site .header .nav-auth { justify-self:end; }
    .fm-site .header .site-links { display:flex; flex-direction:row; justify-content:center; justify-self:center; width:auto; margin-inline:0; padding:5px; gap:3px; border:1px solid rgb(255 255 255 / .18); border-radius:999px; background:rgb(255 255 255 / .12); }
    .fm-site .header .site-links > a, .fm-site .header .nav-media-menu > summary { padding:10px 14px; color:#fff; font-size:.82rem; line-height:1.2; }
    .fm-site .header .nav-media-menu > summary.is-current { color:#fff; background:rgb(255 255 255 / .18); }
}
@media(max-width:1440px) {
    .fm-site .header .nav-toggle { display:block; }
    .fm-site .header .site-menu { display:none!important; }
    .fm-site .header .site-menu.open { display:flex!important; }
    .fm-site .header .site-links > a[aria-current=page] { color:var(--brand-navy); background:var(--brand-soft); }
    .fm-site .header .nav-auth { flex-wrap:wrap; }
    .fm-site .header .nav-auth .btn { width:100%; }
}
@media(max-width:760px) {
    .fm-site .fm-navigation { min-height:82px; }
    .fm-site:not(.page-home) #main-content { padding-top:82px; }
}

.fm-site .fm-header { border-bottom:0; }

.fm-site .header .nav-audience-menu .account-popover { width:260px; inset-inline-start:0; inset-inline-end:auto; }
.fm-site .header .nav-audience-menu .account-popover a { display:block; padding:13px 14px; white-space:normal; font-size:.8rem; line-height:1.5; }
.fm-site .header .nav-audience-menu .account-popover a[aria-current=page] { color:var(--brand-navy); background:var(--brand-soft); }

/* Keep page palettes and container widths out of the shared navigation. */
.fm-site .header {
    --navy: var(--brand-navy);
    --ink: var(--brand-ink);
    --muted: var(--brand-muted);
    --line: var(--brand-line);
    --surface: var(--brand-soft);
}
.fm-site .header .fm-navigation { width:min(1600px,calc(100% - 48px)); margin-inline:auto; }
.fm-site .header .fm-navigation > .brand--placeholder .navbar-brand-fm,
.fm-site .header .fm-navigation > .brand--placeholder .navbar-brand-overseas { font-size:16px!important; }
.fm-site .header .fm-navigation > .brand--placeholder .brand-licence { font-size:.5rem; }
.fm-site .header .nav-action-button { color:#fff; background:linear-gradient(135deg,var(--brand-red),var(--brand-coral)); border-color:transparent; }
.fm-site .header .nav-action-button:hover { color:#fff; background:var(--brand-red); border-color:transparent; }
.fm-site .header :focus-visible { outline-color:var(--brand-mint); }
@media(max-width:760px) {
    .fm-site .header .fm-navigation { width:calc(100% - 32px); }
}
@media(max-width:1440px) {
    .fm-site .header .nav-audience-menu .account-popover { width:100%; }
}

/* Live wordmark: Syne is hosted locally; uploaded marks are optional. */
@font-face { font-family:Syne; src:url('../fonts/syne/Syne-Variable.ttf') format('truetype'); font-weight:400 800; font-style:normal; font-display:swap; }
.navbar-font-syne { font-family:Syne,Arial,sans-serif; }
.fm-site .header .fm-navigation > .brand--wordmark,
.fm-site .site-footer .home-footer-logo--wordmark { display:inline-flex; align-items:center; gap:13px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.brand-live-wordmark { display:inline-flex; align-items:baseline; gap:6px; white-space:nowrap; line-height:1; font-weight:700; letter-spacing:-.055em; }
.brand-live-wordmark .wordmark-first { color:var(--wordmark-first-color,#fff); font-size:var(--wordmark-first-size,32px); }
.brand-live-wordmark .wordmark-second { color:var(--wordmark-second-color,#fff); font-size:var(--wordmark-second-size,32px); }
.fm-site .header .fm-navigation > .brand--wordmark .wordmark-optional-logo,
.fm-site .site-footer .home-footer-logo--wordmark .wordmark-optional-logo { display:block; width:auto; max-width:70px; height:52px; padding:0; border:0; border-radius:0; background:transparent; object-fit:contain; }
.fm-site .header .brand-display--logo .wordmark-optional-logo { max-width:132px; height:78px; }
.fm-site .site-footer .brand-display--logo_text .wordmark-optional-logo { max-width:82px; height:60px; }
.fm-site .site-footer .brand-display--logo .wordmark-optional-logo { max-width:168px; height:104px; }
.navbar-preview-bar { background:#0f1b35; }
.navbar-preview-brand strong { gap:.14em; font-weight:700; letter-spacing:-.055em; }
.navbar-preview-brand [data-navbar-preview-fm], .navbar-preview-brand [data-navbar-preview-overseas] { font-weight:700; letter-spacing:inherit; }
.logo-preview [data-logo-empty] { color:#192d46; font-family:Syne,Arial,sans-serif; font-size:22px; font-weight:800; letter-spacing:-.055em; }
.navbar-preview-brand > img[hidden], .logo-preview img[hidden], .logo-preview [data-logo-empty][hidden] { display:none; }
@media(max-width:760px) {
    .fm-site .header .brand-live-wordmark .wordmark-first { font-size:min(var(--wordmark-first-size,32px),24px); }
    .fm-site .header .brand-live-wordmark .wordmark-second { font-size:min(var(--wordmark-second-size,32px),24px); }
    .fm-site .header .fm-navigation > .brand--wordmark { gap:8px; }
    .fm-site .header .fm-navigation > .brand--wordmark .wordmark-optional-logo { max-width:44px; height:38px; }
    .fm-site .header .fm-navigation > .brand-display--logo .wordmark-optional-logo { max-width:92px; height:58px; }
}

.fm-site .header .fm-navigation > .brand > .brand-live-wordmark { display:inline-flex; }
.fm-site .brand-live-wordmark .navbar-font-syne { font-family:Syne,Arial,sans-serif; }
.fm-site .brand-live-wordmark .navbar-font-manrope { font-family:Manrope,Arial,sans-serif; }
.fm-site .brand-live-wordmark .navbar-font-arial { font-family:Arial,sans-serif; }
.fm-site .brand-live-wordmark .navbar-font-arial-black { font-family:"Arial Black",Arial,sans-serif; }
.fm-site .brand-live-wordmark .navbar-font-trebuchet { font-family:"Trebuchet MS",Arial,sans-serif; }
.fm-site .brand-live-wordmark .navbar-font-verdana { font-family:Verdana,Arial,sans-serif; }
.fm-site .brand-live-wordmark .navbar-font-georgia { font-family:Georgia,serif; }

@media(max-width:760px) {
    .fm-site .header .brand--wordmark:has(.wordmark-optional-logo) .brand-live-wordmark > span { font-size:20px; }
}

@media(max-width:760px) {
    .fm-site .site-footer .brand-live-wordmark > span { font-size:28px; }
    .fm-site .site-footer .home-footer-logo--wordmark:has(.wordmark-optional-logo) .brand-live-wordmark > span { font-size:22px; }
}
@media(max-width:400px) {
    .fm-site .header .brand-live-wordmark .wordmark-first, .fm-site .header .brand-live-wordmark .wordmark-second { font-size:22px; }
    .fm-site .header .brand--wordmark:has(.wordmark-optional-logo) .brand-live-wordmark > span { font-size:18px; }
}

/* Dark at the top of every page; translucent once the page is scrolled. */
.fm-site .fm-header { background:#0f1b35; backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom:1px solid rgb(255 255 255 / .06); box-shadow:none; }
.fm-site .fm-header.scrolled { background:rgb(15 27 53 / .78); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom-color:rgb(255 255 255 / .1); box-shadow:0 5px 24px rgb(8 17 32 / .14); }

.fm-site .header.fm-header { transform:translateY(0); transition:transform .25s ease,background .3s ease,box-shadow .3s ease; }
.fm-site .header.fm-header.header-hidden { transform:translateY(-110%); pointer-events:none; }
@media(prefers-reduced-motion:reduce) {
    .fm-site .header.fm-header { transition:none; }
}

/* Keep primary links centered while the right-side actions progressively compact. */
.fm-site .header .site-menu { visibility:visible; opacity:1; }
.fm-site .header .nav-utilities { position:relative; flex-shrink:0; }
.fm-site .header .nav-utilities-toggle { display:none; }
@media(min-width:700px) {
    .fm-site .header .fm-navigation { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:16px; }
    .fm-site .header .fm-navigation > .brand { grid-column:1; justify-self:start; }
    .fm-site .header .site-menu { display:contents!important; }
    .fm-site .header .site-links { grid-column:2; justify-self:center; }
    .fm-site .header .nav-utilities { grid-column:3; justify-self:end; }
    .fm-site .header .nav-toggle { display:none; }
    .fm-site .header .site-links { display:flex; flex-direction:row; flex-shrink:0; align-items:center; width:auto; gap:2px; margin:0; padding:4px; border:1px solid #ffffff25; border-radius:999px; background:#ffffff12; }
    .fm-site .header .site-links > a, .fm-site .header .nav-media-menu > summary { padding:10px 11px; color:white; font-size:.8rem; line-height:1.2; white-space:nowrap; }
    .fm-site .header .site-links > a[aria-current=page], .fm-site .header .nav-media-menu > summary.is-current { background:#ffffff25; color:white; }
    .fm-site .header .nav-audience-menu .account-popover { position:absolute; width:250px; }
    .fm-site .header .nav-auth { flex-wrap:nowrap; }
    .fm-site .header .nav-auth .btn { width:auto; }
}
@media(min-width:700px) and (max-width:1599px) {
    .fm-site .header .nav-utilities-toggle { display:inline-flex; color:white; background:#ffffff15; border:1px solid #ffffff30; min-width:44px; min-height:44px; justify-content:center; letter-spacing:3px; }
    .fm-site .header .nav-utilities .nav-auth { display:none; position:absolute; inset:calc(100% + 12px) 0 auto auto; width:260px; padding:12px; border:1px solid #dbe3ec; border-radius:16px; background:white; box-shadow:0 16px 45px #07192d33; }
    .fm-site .header .nav-utilities.is-open .nav-auth { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
    .fm-site .header .nav-utilities .account-menu { width:100%; }
    .fm-site .header .nav-utilities .nav-auth summary { width:100%; color:#192d46; justify-content:space-between; }
    .fm-site .header .nav-utilities .nav-action-button { color:white; }
    .fm-site .header .nav-utilities .account-popover { position:static; width:100%; margin-top:8px; border:0; box-shadow:none; background:#f3f6f9; }
}
@media(min-width:700px) and (max-width:1100px) {
    .fm-site .header .fm-navigation { width:calc(100% - 28px); gap:9px; }
    .fm-site .header .brand-live-wordmark > span { font-size:22px!important; }
    .fm-site .header .fm-navigation > .brand--wordmark { gap:6px; }
    .fm-site .header .fm-navigation > .brand--wordmark .wordmark-optional-logo { height:28px; max-width:30px; }
    .fm-site .header .site-links > a, .fm-site .header .nav-media-menu > summary { padding:10px 7px; font-size:.73rem; }
}
.fm-site .header .fm-navigation.nav-collapsed .nav-toggle { display:block; }
.fm-site .header .fm-navigation.nav-collapsed .site-menu { display:none!important; position:absolute; inset:100% 14px auto; max-height:calc(100dvh - 100px); overflow:auto; width:auto; padding:18px; border-radius:16px; background:white; box-shadow:0 16px 45px #07192d33; }
.fm-site .header .fm-navigation.nav-collapsed .site-menu.open { display:flex!important; flex-direction:column; align-items:stretch; }
.fm-site .header .fm-navigation.nav-collapsed .site-links { display:flex; flex-direction:column; align-items:stretch; width:100%; border:0; border-radius:0; background:transparent; }
.fm-site .header .fm-navigation.nav-collapsed .site-links > a, .fm-site .header .fm-navigation.nav-collapsed .nav-media-menu > summary { color:#192d46; padding:12px; }
.fm-site .header .fm-navigation.nav-collapsed .account-popover { position:static; width:100%; box-shadow:none; }
.fm-site .header .fm-navigation.nav-collapsed .nav-utilities-toggle { display:none; }
.fm-site .header .fm-navigation.nav-collapsed .nav-utilities .nav-auth { position:static; display:flex; flex-direction:column; width:100%; padding:8px 0; border:0; box-shadow:none; }
.fm-site .header .fm-navigation.nav-collapsed .nav-auth summary { width:100%; color:#192d46; }
.fm-site .header .fm-navigation.nav-collapsed .nav-auth .nav-action-button { color:white; }
@media(max-width:699px) {
    .fm-site .header .nav-utilities .nav-auth { display:flex; flex-direction:column; align-items:stretch; }
}

@media(min-width:700px) and (max-width:1599px) {
    .fm-site .header .nav-utilities-toggle { width:44px; padding:0; }
    .fm-site .header .site-menu { position:static!important; padding:0!important; overflow:visible; background:transparent!important; border:0!important; box-shadow:none!important; }
    .fm-site .header .nav-auth { margin:0; }
    .fm-site .header .site-links .account-menu[open] > .account-popover { position:absolute; width:250px; }
    .fm-site .header .fm-navigation.nav-collapsed .site-menu { position:absolute!important; padding:18px!important; overflow:auto; background:white!important; box-shadow:0 16px 45px #07192d33!important; }
    .fm-site .header .fm-navigation.nav-collapsed .site-links .account-menu[open] > .account-popover { position:static; width:100%; }
}
@media(min-width:700px) and (max-width:850px) {
    .fm-site .header .brand-live-wordmark > span { font-size:20px!important; }
    .fm-site .header .site-links > a, .fm-site .header .nav-media-menu > summary { padding-inline:6px; font-size:.7rem; }
}

.fm-site .header .nav-language-name { position:static; width:auto; height:auto; overflow:visible; clip:auto; white-space:normal; }
.fm-site .header .nav-language-button { min-width:44px; padding-inline:12px; gap:7px; }
@media(min-width:700px) {
    .fm-site .header .fm-navigation:not(.nav-collapsed):not(.nav-utilities-collapsed) .nav-language-name { display:none; }
    .fm-site .header .fm-navigation.nav-utilities-collapsed .nav-language-name { display:inline; }
}
.fm-site .header .nav-utilities .nav-auth summary.nav-action-button { color:white; }
.fm-site .header .fm-navigation.nav-collapsed .nav-toggle { display:block!important; }
@media(min-width:700px) {
    .fm-site .header .site-links > a, .fm-site .header .nav-media-menu > summary { min-height:44px; display:flex; align-items:center; }
}

@media(min-width:700px) {
    .fm-site .header .site-links > .nav-audience-menu:last-of-type .account-popover { inset-inline-start:auto; inset-inline-end:0; }
}

/* Logo-only branding stays large while preserving the left / center / right navbar structure. */
.fm-site .header .fm-navigation > .brand--wordmark.brand-display--logo .wordmark-optional-logo {
    width:auto!important;
    max-width:168px!important;
    height:86px!important;
}
@media(min-width:700px) {
    .fm-site .header .fm-navigation:has(> .brand-display--logo) {
        display:grid!important;
        grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr)!important;
        align-items:center;
        gap:18px;
        min-height:112px;
        padding-block:8px;
    }
    .fm-site .header .fm-navigation:has(> .brand-display--logo) > .brand {
        grid-column:1;
        justify-self:start!important;
    }
    .fm-site .header .fm-navigation:has(> .brand-display--logo) > .site-menu {
        display:contents!important;
    }
    .fm-site .header .fm-navigation:has(> .brand-display--logo) .site-links {
        grid-column:2;
        justify-self:center;
    }
    .fm-site .header .fm-navigation:has(> .brand-display--logo) .nav-utilities {
        grid-column:3;
        justify-self:end;
    }
}
.fm-site .header .fm-navigation.nav-collapsed:has(> .brand-display--logo) > .site-menu {
    display:none!important;
}
.fm-site .header .fm-navigation.nav-collapsed:has(> .brand-display--logo) > .nav-toggle {
    grid-column:3;
    justify-self:end;
    position:absolute;
    inset-inline-end:0;
    top:50%;
    transform:translateY(-50%);
}
.fm-site .header .fm-navigation.nav-collapsed:has(> .brand-display--logo) > .site-menu.open {
    display:flex!important;
    width:auto;
    align-items:stretch;
    justify-content:flex-start;
}
@media(max-width:699px) {
    .fm-site .header .fm-navigation:has(> .brand-display--logo) {
        min-height:104px;
        justify-content:space-between;
    }
    .fm-site .header .fm-navigation > .brand--wordmark.brand-display--logo .wordmark-optional-logo {
        max-width:124px!important;
        height:70px!important;
    }
}
@media(min-width:700px) and (max-width:1099px) {
    .fm-site .header .fm-navigation:has(> .brand-display--logo) {
        grid-template-columns:minmax(128px,1fr) auto minmax(128px,1fr)!important;
        min-height:92px;
    }
    .fm-site .header .fm-navigation > .brand--wordmark.brand-display--logo .wordmark-optional-logo {
        max-width:126px!important;
        height:70px!important;
    }
}
@media(min-width:1100px) {
    .fm-site .header .fm-navigation:has(> .brand-display--logo) .nav-utilities-toggle {
        display:none!important;
    }
    .fm-site .header .fm-navigation:has(> .brand-display--logo) .nav-utilities .nav-auth {
        position:static!important;
        display:flex!important;
        width:auto!important;
        align-items:center!important;
        flex-direction:row!important;
        gap:10px!important;
        padding:0!important;
        border:0!important;
        background:transparent!important;
        box-shadow:none!important;
    }
    .fm-site .header .fm-navigation:has(> .brand-display--logo) .nav-utilities .account-menu {
        width:auto!important;
    }
}

/* Full actions first become compact, then move into their own dropdown. The primary
   navigation remains centered until the dedicated mobile breakpoint. */
@media(min-width:700px) {
    .fm-site .header .fm-navigation:not(.nav-collapsed):not(.nav-utilities-collapsed) .nav-utilities-toggle {
        display:none!important;
    }
    .fm-site .header .fm-navigation:not(.nav-collapsed):not(.nav-utilities-collapsed) .nav-utilities .nav-auth {
        position:static!important;
        inset:auto!important;
        display:flex!important;
        width:auto!important;
        align-items:center!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        gap:10px!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
    }
    .fm-site .header .fm-navigation:not(.nav-collapsed):not(.nav-utilities-collapsed) .nav-utilities .account-menu {
        width:auto!important;
    }
    .fm-site .header .fm-navigation:not(.nav-collapsed):not(.nav-utilities-collapsed) .nav-utilities .nav-auth summary {
        width:auto!important;
        color:inherit;
    }
    .fm-site .header .fm-navigation:not(.nav-collapsed):not(.nav-utilities-collapsed) .nav-utilities .account-popover {
        position:absolute;
        inset:100% 0 auto auto;
        width:210px;
        margin:0;
        border:1px solid #dbe3ec;
        background:#fff;
        box-shadow:0 16px 45px #07192d33;
    }
    .fm-site .header .fm-navigation .nav-auth,
    .fm-site .header .fm-navigation .nav-auth .btn,
    .fm-site .header .fm-navigation .nav-account-name { transition:gap .2s ease, padding .2s ease, font-size .2s ease, opacity .2s ease; }
    .fm-site .header .fm-navigation.nav-actions-compact .nav-auth { gap:6px!important; }
    .fm-site .header .fm-navigation.nav-actions-compact .nav-auth .btn { min-height:44px; padding:10px 12px!important; font-size:.74rem; }
    .fm-site .header .fm-navigation.nav-actions-compact .nav-account-name { display:none!important; }
    .fm-site .header .fm-navigation.nav-utilities-collapsed .nav-account-name { display:inline!important; }
    .fm-site .header .fm-navigation.nav-utilities-collapsed .nav-utilities-toggle {
        display:inline-flex!important;
        width:44px;
        min-width:44px;
        min-height:44px;
        padding:0;
        align-items:center;
        justify-content:center;
        color:#fff;
        border:1px solid #ffffff30;
        background:#ffffff15;
        letter-spacing:3px;
    }
    .fm-site .header .fm-navigation.nav-utilities-collapsed .nav-utilities {
        justify-self:start;
        margin-inline-start:10px;
    }
    .fm-site .header .fm-navigation.nav-utilities-collapsed .nav-utilities .nav-auth { display:none!important; }
    .fm-site .header .fm-navigation.nav-utilities-collapsed .nav-utilities.is-open .nav-auth {
        position:absolute!important;
        inset:calc(100% + 12px) 0 auto auto!important;
        display:flex!important;
        width:260px!important;
        flex-direction:column!important;
        align-items:stretch!important;
        gap:8px!important;
        margin:0!important;
        padding:12px!important;
        border:1px solid #dbe3ec!important;
        border-radius:16px!important;
        background:#fff!important;
        box-shadow:0 16px 45px #07192d33!important;
    }
    .fm-site .header .fm-navigation.nav-utilities-collapsed .nav-utilities .account-menu { width:100%!important; }
    .fm-site .header .fm-navigation.nav-utilities-collapsed .nav-utilities .nav-auth summary {
        width:100%!important;
        color:#192d46;
        justify-content:space-between;
    }
    .fm-site .header .fm-navigation.nav-utilities-collapsed .nav-utilities .nav-auth .nav-action-button { color:#fff; }
    .fm-site .header .fm-navigation.nav-utilities-collapsed .nav-utilities .account-popover {
        position:static!important;
        width:100%!important;
        margin-top:8px;
        border:0;
        background:#f3f6f9;
        box-shadow:none;
    }
}
