/* Identité, profondeur et mouvement — les contenus restent visibles sans JavaScript. */
:root{--radius:12px;--ease-out:cubic-bezier(.22,1,.36,1);scroll-padding-top:125px}
body{overflow-x:clip}
.site-header{position:sticky;top:0;z-index:30;background:rgb(255 255 255 / .94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:box-shadow .3s,border-color .3s}
.site-header.is-scrolled{box-shadow:0 8px 35px #11263b14;border-bottom-color:#cad7e5}
.site-header::after{content:'';height:3px;position:absolute;bottom:-1px;left:0;right:0;background:linear-gradient(90deg,#005eb8,#ff9b16,#ffda75);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.header-inner{min-height:98px}
.nav a:not(.button){position:relative}
.nav a:not(.button)::after{content:'';position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}
.nav a:not(.button):hover::after,.nav a[aria-current=page]::after{transform:scaleX(1)}
.button{border-radius:9px;position:relative;overflow:hidden;isolation:isolate;box-shadow:0 8px 24px #005eb820;transition:background .25s,box-shadow .3s,transform .3s var(--ease-out)}
.button::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,#ffffff25 45%,transparent 75%);transform:translateX(-120%);transition:transform .65s;z-index:-1}
.button:hover::before,.button:focus-visible::before{transform:translateX(120%)}
.button:hover{transform:translateY(-3px);box-shadow:0 13px 28px #005eb830}
.arrow{display:inline-block;transition:transform .3s var(--ease-out)}
a:hover .arrow,a:focus-visible .arrow{transform:translate(3px,-3px)}
.hero{position:relative;isolation:isolate;overflow:hidden;padding:88px 0 90px;background:#0b1e31;color:white}
.hero::before{content:'';position:absolute;inset:-15%;z-index:-2;background:radial-gradient(ellipse at 83% 32%,#1764a670 0,transparent 42%),radial-gradient(ellipse at 15% 100%,#e67b1825 0,transparent 43%),linear-gradient(125deg,#0b1e31,#102c47);animation:ignis-light-arrive 4.5s var(--ease-out) both;pointer-events:none}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#adc9ec06 1px,transparent 1px),linear-gradient(90deg,#adc9ec06 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}
.hero-grid{gap:72px;perspective:1200px}
.hero h1{color:#f9fbff;font-size:clamp(2.7rem,5.45vw,4.6rem);font-weight:500;letter-spacing:-.05em;line-height:1.1}
.hero h1 em{color:#ffbc4b;background:linear-gradient(100deg,#ff982d,#ffdb88);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero .eyebrow{color:#b6cce1;display:flex;align-items:center;gap:12px}
.hero .eyebrow::before{content:'';width:25px;height:2px;background:#ffb126;flex-shrink:0}
.hero .lead{color:#c6d5e5}
.hero .text-link{color:#d3e3f5;text-decoration-color:#6888a6}
.hero .button{background:#ffbd52;color:#13263a;border-color:#ffbd52;box-shadow:0 8px 30px #ff9a1b20}
.hero .button:hover{background:#ffcd7a;box-shadow:0 12px 36px #ff9a1b35}
.hero .button::before{background:linear-gradient(110deg,transparent 15%,#ffffff65 45%,transparent 75%)}
.dossier-panel{position:relative;isolation:isolate;background:linear-gradient(135deg,#244660d9,#132d46ed);border:1px solid #ffffff2e;border-top:1px solid #ffcf7c;border-radius:20px;padding:38px 34px;box-shadow:0 30px 60px #00000032,0 1px 0 #ffffff15 inset;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s var(--ease-out),box-shadow .45s;will-change:auto}
.dossier-panel::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(circle at var(--light-x,80%) var(--light-y,0%),#ffffff13,transparent 62%);pointer-events:none}
.dossier-panel h2{font-size:2rem;font-weight:500}
.document-list li{border-color:#b6d3ef29;padding:19px 0;transition:transform .3s,color .3s}
.document-list li:hover{transform:translateX(5px);color:#ffe0a9}
.document-list span{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:#ffffff09;border:1px solid #ffffff12;font-size:.7rem}
.proof{background:#fff;border-top:0;box-shadow:0 8px 24px #11263b04}
.proof .container{padding-block:28px}
.proof span::before{color:#005eb8}
.section{padding-block:90px}
.section-title h2,.split h2{font-weight:500}
.service{position:relative;isolation:isolate;display:flex;flex-direction:column;border:1px solid #dce5ee;border-radius:16px;padding:30px;background:#fff;box-shadow:0 8px 28px #11263b04;transition:transform .4s var(--ease-out),box-shadow .4s,border-color .3s}
.service::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,0%),#005eb810,transparent 68%);z-index:-1;opacity:0;transition:opacity .4s;pointer-events:none}
.service:first-child{border-color:#dce5ee;border-top:3px solid #e59b29;padding-top:28px}
.service:hover,.service:focus-within{transform:translateY(-8px);box-shadow:0 22px 44px #183b6214;border-color:#a9c5e2}
.service:hover::before,.service:focus-within::before{opacity:1}
.service a{margin-top:auto;align-self:flex-start;padding-top:8px}
.service .number{color:#3a6287;font-size:.74rem;letter-spacing:.08em;margin-bottom:30px}
.service h3{font-size:1.4rem;font-weight:500}
.feature-list .n{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #ccdae8;background:#fff;border-radius:50%;color:#005eb8}
.feature-list li{transition:padding-left .3s}
.feature-list li:hover{padding-left:7px}
.note{border-radius:0 12px 12px 0;background:#eaf0f6}
.steps{gap:25px}
.step{position:relative;border-top:0;padding:28px 0 0}
.step::after{content:'';position:absolute;height:2px;top:0;left:0;right:0;background:linear-gradient(90deg,#0d5eaa,#dbe5ef);transform:scaleX(var(--step-progress,.25));transform-origin:left;transition:transform 1.1s var(--ease-out)}
.step.in-view{--step-progress:1}
.step::before{font-size:2.4rem;font-weight:400;letter-spacing:-.07em;color:#005eb8;margin-bottom:25px}
.local{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(115deg,#0b1e31,#143957)}
.local::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 100% 100%,#1a81d83d,transparent 65%);pointer-events:none}
.local .split p{color:#cfdae5}
.towns span{border-radius:30px;background:#ffffff05;transition:background .3s,border-color .3s}
.towns span:hover{background:#ffffff0f;border-color:#8aa8c3}
.faq details{padding-inline:20px;border-radius:10px;transition:background .25s}
.faq details[open]{background:#eaf0f6;margin-block:5px;border-color:transparent}
.faq summary{list-style:none;position:relative;padding-right:35px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:0;top:21px;width:26px;height:26px;text-align:center;color:#005eb8;font-size:1.4rem;font-weight:400;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.contact-banner{background:linear-gradient(120deg,#e5edf7,#f2f6fc);padding-block:68px;position:relative;overflow:hidden}
.contact-banner::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(#005eb8,#ffb126)}
.contact-banner h2{font-weight:500}
.page-hero{position:relative;isolation:isolate;background:linear-gradient(115deg,#f5f7fa,#e8f0f9);overflow:hidden}
.page-hero::after{content:'';position:absolute;right:-10%;top:-70%;width:55%;height:200%;background:radial-gradient(ellipse,#abcbed3d,transparent 68%);z-index:-1;pointer-events:none}
.page-hero h1{font-weight:500}
.sidebar,.form-panel{border-radius:16px;box-shadow:0 12px 36px #183b6209}
input,select,textarea{border-radius:7px;transition:box-shadow .25s,border-color .25s}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px #005eb80b}
.site-footer{background:#0b1e31}
@keyframes ignis-light-arrive{from{opacity:.35;transform:translate(3%,-2%) scale(1.04)}to{opacity:1;transform:translate(0,0) scale(1)}}
@media(hover:none){.service:hover{transform:none}.feature-list li:hover{padding-left:0}.document-list li:hover{transform:none}}
@media(max-width:1100px){.hero-grid{gap:38px}.dossier-panel{padding:30px 27px}.service{padding:25px}.service:first-child{padding-top:23px}}
@media(max-width:900px){.site-header{position:relative;backdrop-filter:none}.header-inner{min-height:88px}.hero{padding:64px 0}.hero-grid{gap:28px}.dossier-panel h2{font-size:1.65rem}.section{padding-block:65px}:root{scroll-padding-top:24px}}
@media(max-width:680px){.hero{padding:46px 0 50px}.hero h1{font-size:clamp(2.55rem,10vw,3.3rem)}.hero-grid{gap:40px}.dossier-panel{padding:30px 26px;border-radius:16px}.hero .eyebrow{font-size:.68rem;letter-spacing:.09em;gap:9px}.hero .eyebrow::before{width:16px}.section{padding-block:52px}.service,.service:first-child{padding:26px}.service:first-child{padding-top:24px}.service .number{margin-bottom:20px}.service h3{font-size:1.3rem}.steps{gap:25px}.step::before{font-size:2rem}.faq details{padding-inline:13px}.faq summary{font-size:1rem}.proof .container{padding-block:24px}.contact-banner{padding-block:42px}.form-panel{padding:25px 20px}.page-hero h1{overflow-wrap:normal}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.dossier-panel,.service:hover,.button:hover,.document-list li:hover{transform:none!important}}
@media print{.site-header{position:static}.site-header::after,.hero::before,.hero::after,.local::before,.page-hero::after{display:none}.hero,.local,.page-hero{background:#fff;color:#000}.hero h1,.hero h1 em,.hero .lead,.hero .eyebrow,.local h2,.local p{color:#000;-webkit-text-fill-color:initial;background:none}.service,.dossier-panel,.form-panel{box-shadow:none;transform:none}.section{padding-block:25px}}
