/* FINREC stage 1. Measurements based on the supplied 1440 px PDF. */
@font-face{font-family:"DejaVu FINREC";src:url("../fonts/dejavu-sans-regular-unhinted.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"DejaVu FINREC";src:url("../fonts/dejavu-sans-bold-unhinted.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{
  --blue:#004c97;--night:#071d35;--cyan:#18a7c8;--lime:#b9df4f;
  --white:#fff;--text-soft:#d4e3ec;--ease:cubic-bezier(.22,1,.36,1);
  --header-height:106px;--anchor-offset:122px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--anchor-offset);background:var(--night)}
body{margin:0;font-family:"DejaVu FINREC","DejaVu Sans",Arial,sans-serif;color:var(--white);background:var(--night);font-size:16px;line-height:1.55;font-synthesis:none;-webkit-text-size-adjust:100%}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer;margin:0;appearance:none}
a{color:inherit}
button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:5px}
[hidden]{display:none!important}
.skip-link{position:fixed;z-index:100;top:12px;left:12px;transform:translateY(-180%);padding:12px 18px;border-radius:6px;background:white;color:var(--blue);font-weight:700;text-decoration:none}
.skip-link:focus{transform:none}
.scroll-sentinel{position:absolute;top:0;left:0;width:1px;height:12px;pointer-events:none}
.site-header{position:sticky;top:0;z-index:30;isolation:isolate;background:transparent;border-bottom:1px solid rgba(255,255,255,.045)}
.site-header::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--night);opacity:var(--header-opacity,1);pointer-events:none}
.header-inner{position:relative;z-index:1;width:100%;max-width:1680px;min-height:105px;margin:auto;padding:20px 14px 20px 32px;display:flex;align-items:center;gap:12px}
.brand{display:inline-flex;flex-shrink:0;align-items:center;gap:12px;text-decoration:none;line-height:1}
.brand-mark{display:block;flex-shrink:0;width:58px;height:58px}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
/* Exact original silhouette recoloured for dark backgrounds; original image fallback. */
@supports ((-webkit-mask-image:url("")) or (mask-image:url(""))){
 .brand-mark{background-color:#4da6ff;-webkit-mask:url(../images/logo-finrec.png) center/contain no-repeat;mask:url(../images/logo-finrec.png) center/contain no-repeat}
 .brand-mark img{visibility:hidden}
}
.brand-name{font-size:38px;font-weight:700;letter-spacing:-1.65px;color:#fff}
.primary-navigation{margin-left:auto;flex-shrink:0;min-width:612px}
.nav-list{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.nav-link{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:4px 0;border:0;background:none;color:var(--white);font-size:11.5px;font-weight:700;text-decoration:none;white-space:nowrap}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform 250ms var(--ease)}
.nav-link[aria-current="location"]::after,.nav-link:focus-visible::after{transform:scaleX(1)}
.header-access{display:flex;gap:12px;align-items:center;flex-shrink:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:54px;padding:15px 25px;border:1px solid transparent;border-radius:7px;font-weight:700;font-size:16px;line-height:1.35;text-align:center;text-decoration:none;transition:background-color 250ms,color 250ms,border-color 250ms,box-shadow 250ms,transform 250ms var(--ease)}
.button-client,.button-dossier{font-size:12px;min-height:44px;padding:10px 13px;white-space:nowrap}
.button-client{background:var(--white);color:var(--blue)}
.button-dossier,.button-primary{background:var(--lime);color:var(--night)}
.button-outline{border-color:rgba(193,223,237,.45);background:rgba(8,41,70,.12);color:var(--white)}
.button-primary:focus-visible,.button-dossier:focus-visible{outline-color:white}
.menu-toggle{display:none;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:none;color:var(--white);font-weight:700;font-size:13px}
.menu-icon{width:18px;display:grid;gap:6px}
.menu-icon span{display:block;height:2px;background:currentColor;transition:transform 200ms var(--ease)}
.menu-toggle[aria-expanded="true"] .menu-icon span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon span:last-child{transform:translateY(-4px) rotate(-45deg)}
/* Padding changes only the header itself, never the global server or applications. */
.site-header.is-compact{box-shadow:0 8px 25px rgba(1,14,27,.15);border-bottom-color:rgba(200,225,240,.14)}
.site-header.is-compact .header-inner{min-height:87px;padding-top:11px;padding-bottom:11px}
.hero{position:relative;isolation:isolate;overflow:visible;min-height:700px;padding:91px 28px 83px;background:transparent}
.hero-art{position:absolute;top:calc(-1 * var(--header-overlap,106px));right:0;bottom:0;left:0;background:linear-gradient(112deg,#071d35 0%,#071d35 45%,#0a3860 64%,#086384 100%);overflow:hidden;pointer-events:none;z-index:0;contain:paint}
.hero-orbit{position:absolute;width:680px;height:680px;right:-106px;top:calc(-235px + var(--header-overlap,106px));border:1px solid rgba(174,225,239,.12);border-radius:50%;box-shadow:0 0 0 96px rgba(185,227,240,.035),0 0 0 194px rgba(185,227,240,.025)}
.hero-disc{position:absolute;width:520px;height:520px;right:90px;bottom:-270px;border-radius:50%;background:linear-gradient(125deg,rgba(52,176,204,.67),rgba(2,115,155,.13))}
.hero-content{position:relative;z-index:1;margin:0 auto;max-width:1180px;text-align:center}
.eyebrow{margin:0 0 20px;color:#80d8e9;font-weight:700;font-size:13px;letter-spacing:2px;line-height:1.5;text-transform:uppercase}
h1{margin:0;font-size:64px;font-weight:700;line-height:1.05;letter-spacing:-2.7px}
.title-line{display:block}
.hero-intro{margin:32px auto 0;font-size:21px;line-height:1.55;color:var(--text-soft)}
.hero-intro span{display:block}
.callout-wrap{display:flex;justify-content:center;margin-top:25px}
.france-callout{display:flex;align-items:center;gap:26px;max-width:880px;color:#fff;text-align:left}
.france-map{display:block;flex:0 0 116px;width:116px;height:116px}
.france-copy{border-left:1px solid #bdd8e3;padding:0 0 0 26px;min-width:0}
.france-label{margin:0 0 7px;color:#80d8e9;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:2.6px;text-transform:uppercase}
.france-title{margin:0 0 6px;font-size:36px;font-weight:700;line-height:1.15;letter-spacing:-.5px}
.france-description{margin:0;font-size:17px;line-height:1.5;color:#f1f6fc}
.hero-actions{display:flex;justify-content:center;gap:14px;margin-top:30px}
.hero-actions .button{flex-shrink:0;white-space:nowrap}
.hero-actions .button-primary{min-width:254px}
.hero-actions .button-outline{min-width:292px}
.pending-notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100% - 32px);padding:14px 16px 14px 20px;border:1px solid #cadde8;border-radius:10px;background:white;color:var(--night);box-shadow:0 8px 35px rgba(0,0,0,.25)}
.pending-notice p{margin:0;font-size:14px}
.pending-notice button{flex-shrink:0;width:44px;height:44px;border:0;border-radius:6px;background:#edf4f8;color:var(--night);font-size:25px}
.no-js-note{margin:0;padding:18px 24px;font-size:14px;color:#d4e3ec;text-align:center;border-top:1px solid rgba(255,255,255,.15)}
@media(hover:hover) and (pointer:fine){
 .nav-link:hover::after{transform:scaleX(1)}
 .button:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(0,0,0,.13)}
 .button-primary:hover,.button-dossier:hover{background:#c8e878}
 .button-client:hover{background:#e9f4fa}
 .button-outline:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.72)}
}
.contact-confirmation{position:relative;z-index:1;max-width:1180px;margin:24px auto;padding:24px 30px;background:#eaf6d2;border:1px solid #b9df4f;border-radius:18px;color:#173f21;scroll-margin-top:130px}.contact-confirmation h2{font-size:21px;line-height:1.4;margin:0 0 8px}.contact-confirmation p{font-size:14px;margin:0}.contact-confirmation:focus{outline:3px solid #b9df4f;outline-offset:4px}@media(max-width:767px){.contact-confirmation{margin:16px;padding:20px}.contact-confirmation h2{font-size:18px}}
