/* chrome-accueil.css - CSS de l entete, des deux navigations, du hero, du pied F2,
   du bandeau de consentement et du tiroir, pour les pages de type accueil.
   Extrait de design.css et des blocs <style> du site, dans leur ordre d origine :
   une feuille par type, parce qu une feuille unique melange les cascades et
   deplace la mise en page. Le detail est en tete de architecture.py.
   Les selecteurs generiques sont cantonnes avec :where(), jamais :is().
   Genere le 2026-10-03. Relancer _outils/_refonte/_nuit/architecture.py. */
@font-face { font-family: Archivo; src: url("../fonts/archivo-var.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Geist Mono"; src: url("../fonts/geist-mono-var.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
:root{--navy: #0F2B46; --navy-deep: #0A1F33; --navy-2: #163A5C; --navy-darker: #071526; --accent: #2E7BA8; --sky: #2E7BA8; --sky-l: #9CC3DB; --warm: #C28840; --warm-deep: #9C6A2E; --acc: var(--warm); --dark: #0E1117; --dark2: #0E1117; --ink: #0E1117; --ink-muted: #1A2736; --ink-soft: rgba(26,39,54,.74); --ink-faint: rgba(26,39,54,.58); --canvas: #FAFAF9; --canvas2: #F3F3F0; --paper: #fff; --stone: #EFEAE0; --stone-2: #E5DCC5; --mist: #D7E1E8; --mist-2: #CCD9E0; --sky-bg: #E6EEF4; --text-w: #F4F6F8; --text-w2: rgba(244,246,248,.76); --text-w3: rgba(244,246,248,.52); --stroke: rgba(15,43,70,.1); --stroke-med: rgba(15,43,70,.18); --stroke-strong: rgba(15,43,70,.3); --border-d: rgba(255,255,255,.1); --border-d2: rgba(255,255,255,.2); --r: 6px; --r-s: 4px; --shadow: 0 1px 0 rgba(15,43,70,.05),0 22px 44px -28px rgba(15,43,70,.32); --shadow-s: 0 1px 0 rgba(15,43,70,.04),0 10px 24px -18px rgba(15,43,70,.25); --ft: 'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif; --fb: 'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif; --fm: 'Geist Mono',ui-monospace,'SFMono-Regular',monospace; --max-w: 1120px; --px: clamp(20px,4.5vw,44px); --edge: clamp(20px,3.6vw,64px); --nav-h: 60px; --sticky-h: 58px; --ease: cubic-bezier(.2,.8,.2,1); --t: .22s;}
body.page-home{--acc: var(--sky-l);}
*{box-sizing: border-box;}
html{text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--nav-h) + 16px);}
@media (prefers-reduced-motion: reduce){
html{scroll-behavior: auto;}
*{animation-duration: 0.001s !important; transition-duration: 0.001s !important;}
}
body{margin: 0px; font-family: var(--fb); font-size: 17px; line-height: 1.6; color: var(--ink-muted); background: var(--canvas); font-feature-settings: "kern", "liga"; -webkit-font-smoothing: antialiased; text-rendering: optimizelegibility;}
h1{font-family: var(--ft); font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; margin: 0px; text-wrap: balance; color: var(--ink);}
h1{font-size: clamp(34px, 4.8vw, 58px); line-height: 1.04;}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) p,p:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){margin: 0px 0px 1em; max-width: 64ch;}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) p:last-child,p:last-child:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){margin-bottom: 0px;}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) a,a:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px;}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) img,img:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip),:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) svg,svg:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip),video{display: block; max-width: 100%;}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) button,button:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){font: inherit; color: inherit; background: none; border: 0px; padding: 0px; cursor: pointer;}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) ul,ul:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){margin: 0px; padding: 0px;}
.sr-only{width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px; position: absolute !important;}
.skip{position: absolute; top: -48px; left: 12px; z-index: 2000; background: var(--navy); color: rgb(255, 255, 255); padding: 10px 16px; font: 700 13px var(--ft); text-decoration: none; transition: top var(--t);}
.skip:focus{top: 10px;}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) .wrap,.wrap:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){max-width: var(--max-w); margin: 0px auto; padding: 0 var(--px);}
[hidden]{display: none !important;}
.ic{width: 22px; height: 22px; stroke: currentcolor; stroke-width: 1.6; fill: none; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0;}
.ic.s{width: 17px; height: 17px;}
.site-head{position: sticky; top: 0px; z-index: 900; height: 0px;}
.nav{--nc: #fff; --nb: transparent; position: relative; background: var(--nb); color: var(--nc); border-bottom: 1px solid transparent; transition: background var(--t),border-color var(--t),opacity .6s var(--ease),transform .6s var(--ease);}
body.nav-scrolled .nav{--nc: var(--ink); --nb: rgba(250,250,249,.9); border-bottom-color: var(--stroke); backdrop-filter: saturate(180%) blur(18px);}
body.nav-on-navy .nav{--nc: #fff; --nb: rgba(15,43,70,.9); border-bottom-color: rgba(255, 255, 255, 0.08); backdrop-filter: saturate(160%) blur(18px);}
body.nav-on-hero .nav{--nc: #fff; --nb: transparent; border-bottom-color: transparent; backdrop-filter: none;}
body.page-light.nav-on-hero .nav{--nc: var(--ink);}
body.nav-hidden .nav{opacity: 0; transform: translateY(-8px); pointer-events: none;}
.nav-in{padding: 0 var(--edge); height: var(--nav-h); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px;}
.nav-logo{display: flex; align-items: center; color: var(--nc); text-decoration: none; justify-self: start;}
.nav-logo .logo-svg{height: 27px; width: auto;}
.nav-mid{display: none; list-style: none; align-items: center; gap: clamp(26px, 3.4vw, 48px); justify-self: center;}
.nav-dd{position: static;}
.nav-mid a,.nav-dd-btn{font: 700 11px/1 var(--ft); letter-spacing: 1.6px; text-transform: uppercase; color: var(--nc); opacity: 0.8; text-decoration: none; padding: 12px 0px; display: inline-flex; align-items: center; gap: 6px; transition: opacity var(--t);}
.nav-mid a:hover,.nav-dd-btn:hover,.nav-mid a[aria-current="page"],.nav-dd-btn[aria-expanded="true"]{opacity: 1;}
.nav-dd-btn .ic{width: 12px; height: 12px; stroke-width: 2; transition: transform var(--t);}
.nav-dd-btn[aria-expanded="true"] .ic{transform: rotate(180deg);}
.nav-r{display: flex; align-items: center; gap: 8px; justify-self: end;}
.nav-tel{display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 0px 6px; font: 700 14px/1 var(--ft); letter-spacing: -0.01em; color: var(--nc); text-decoration: none; white-space: nowrap;}
.nav-tel .ic{width: 17px; height: 17px;}
.nav-r .btn-nav{display: none;}
.nav-menu-btn{display: inline-flex; align-items: center; gap: 8px; min-height: 44px; min-width: 44px; padding: 0px 2px 0px 6px; font: 700 11px/1 var(--ft); letter-spacing: 1.6px; text-transform: uppercase; color: var(--nc);}
.nav-menu-btn .ic{width: 22px; height: 22px;}
@media (min-width: 860px){
.nav-mid{display: flex;}
.nav-r .btn-nav{display: inline-flex;}
.nav-menu-btn{display: none;}
.nav-logo .logo-svg{height: 30px;}
.nav-r{gap: 22px;}
}
@media (max-width: 859px){
.nav-in{padding: 0 14px 0 var(--edge);}
.nav-r{gap: 18px;}
}
@media (max-width: 400px){
.nav-logo .logo-svg{height: 25px;}
.nav-tel{font-size: 13px;}
.nav-r{gap: 12px;}
}
.mega{position: absolute; left: 50%; top: calc(100% + 4px); width: min(900px, -48px + 100vw); background: var(--ink); color: var(--text-w); border: 1px solid rgba(255, 255, 255, 0.08); overflow: hidden; box-shadow: rgba(0, 0, 0, 0.7) 0px 30px 60px -24px; opacity: 0; visibility: hidden; transform: translate(-50%, -6px); transition: opacity .2s var(--ease),transform .2s var(--ease),visibility .2s; z-index: 5;}
.mega::before{content: ""; position: absolute; left: 0px; right: 0px; top: -14px; height: 14px;}
.nav-dd:hover .mega,.nav-dd.open .mega,.nav-dd:focus-within .mega{opacity: 1; visibility: visible; transform: translate(-50%, 0px);}
.mega-in{display: grid; grid-template-columns: 210px 1fr 1fr 220px;}
.mega-intro{background: var(--navy); padding: 22px 22px 20px; display: flex; flex-direction: column; gap: 10px;}
.mega-intro .mh{font: 800 16px/1.2 var(--ft); letter-spacing: -0.02em; color: rgb(255, 255, 255); margin: 0px;}
.mega-intro p{font-size: 13px; line-height: 1.5; color: var(--text-w2); flex: 1 1 0%; margin: 0px;}
.mega-intro .link{color: rgb(255, 255, 255); padding: 10px 0px 4px; font-size: 10.5px; letter-spacing: 1.6px;}
.mega-intro .link::before{background: var(--sky-l);}
.mega-col{padding: 22px 22px 20px;}
.mega-col .mk{font: 700 10px/1 var(--ft); letter-spacing: 2px; text-transform: uppercase; color: var(--sky-l); margin: 0px 0px 10px;}
.mega-col ul{list-style: none; display: grid; gap: 0px;}
.mega-col li a{display: block; padding: 6px 0px; font: 700 11px/1.35 var(--ft); letter-spacing: 1.5px; text-transform: uppercase; color: rgb(255, 255, 255); text-decoration: none; opacity: 0.88; transition: opacity var(--t),transform var(--t);}
.mega-col li a:hover{opacity: 1; transform: translateX(4px);}
.mega-col ul + .mk{margin-top: 16px;}
.mega-real .ph{border-radius: var(--r-s); margin-bottom: 12px;}
.mega-real .link{color: rgb(255, 255, 255); padding: 8px 0px 4px; font-size: 10.5px; letter-spacing: 1.6px;}
.mega-real .link::before{background: var(--sky-l);}
@media (max-width: 859px){
.mega{display: none;}
}
.menu{position: fixed; inset: 0px; z-index: 1000; background: var(--ink); color: var(--text-w); overflow-y: auto; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity var(--t),transform var(--t),visibility var(--t); padding-bottom: 40px;}
.menu.open{opacity: 1; visibility: visible; transform: none;}
body.menu-open{overflow: hidden;}
.menu-head{position: sticky; top: 0px; background: var(--ink); display: flex; align-items: center; justify-content: space-between; height: var(--nav-h); padding: 0 var(--px); border-bottom: 1px solid var(--border-d);}
.menu-head .logo-svg{height: 24px; width: auto; color: rgb(255, 255, 255);}
.menu-close{display: inline-flex; align-items: center; gap: 8px; min-height: 44px; min-width: 44px; font: 700 11px var(--ft); letter-spacing: 1.6px; text-transform: uppercase; color: rgb(255, 255, 255);}
.menu-nav{padding: 8px var(--px) 0;}
.menu-sec{padding: 22px 0px; border-bottom: 1px solid var(--border-d);}
.menu-h{font: 700 11px/1 var(--ft); letter-spacing: 2px; text-transform: uppercase; color: var(--text-w3); margin: 0px 0px 12px;}
.menu-list{list-style: none;}
.menu-list a,.menu-big{display: block; padding: 10px 0px; font: 800 clamp(21px,5.6vw,26px)/1.1 var(--ft); letter-spacing: -0.02em; color: rgb(255, 255, 255); text-decoration: none;}
.menu-list.small a{font: 600 17px/1.3 var(--fb); letter-spacing: 0px; padding: 9px 0px; color: var(--text-w);}
.menu-acc summary{list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; padding: 12px 0px; font: 600 16px var(--fb); color: var(--text-w2);}
.menu-acc summary::-webkit-details-marker{display: none;}
.menu-acc summary::after{content: ""; width: 9px; height: 9px; border-right: 1.5px solid currentcolor; border-bottom: 1.5px solid currentcolor; transform: rotate(45deg); transition: transform var(--t);}
.menu-acc[open] summary::after{transform: rotate(-135deg);}
.menu-acc .menu-list{display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px;}
.menu-acc .menu-list a{font: 500 15px/1.3 var(--fb); letter-spacing: 0px; padding: 8px 0px; color: var(--text-w2);}
.menu-foot{padding: 26px var(--px) 0; color: var(--text-w2); font-size: 15px;}
.menu-foot .tel{display: inline-block; font: 800 30px/1 var(--ft); letter-spacing: -0.02em; color: rgb(255, 255, 255); text-decoration: none; margin-bottom: 14px;}
.menu-foot p{margin: 0px 0px 4px;}
@media (min-width: 860px){
.menu{display: none;}
}
.sticky{position: fixed; left: 0px; right: 0px; bottom: 0px; z-index: 950; height: var(--sticky-h); display: none; grid-template-columns: repeat(4, 1fr); background: rgba(10, 31, 51, 0.96); backdrop-filter: blur(14px); color: rgb(255, 255, 255); border-top: 1px solid rgba(255, 255, 255, 0.12); transition: transform .25s var(--ease); padding-bottom: env(safe-area-inset-bottom);}
.sticky.hide{transform: translateY(110%);}
.sticky-a{display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; height: 100%; font: 600 10px/1 var(--ft); letter-spacing: 0.5px; text-transform: uppercase; color: rgb(255, 255, 255); text-decoration: none; border-left: 1px solid rgba(255, 255, 255, 0.1);}
.sticky-a:first-child{border-left: 0px;}
.sticky-a .ic{width: 20px; height: 20px;}
.sticky-main{background: var(--navy);}
@media (max-width: 859px){
.sticky{display: grid;}
body.has-sticky{padding-bottom: calc(var(--sticky-h) + env(safe-area-inset-bottom));}
}
.btn{display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 13px 22px; font: 700 11.5px/1 var(--ft); letter-spacing: 1.6px; text-transform: uppercase; text-decoration: none; border: 1px solid transparent; border-radius: var(--r-s); cursor: pointer; transition: background var(--t),color var(--t),border-color var(--t),transform var(--t),box-shadow var(--t); white-space: nowrap;}
.btn:active{transform: translateY(1px);}
.btn-accent{background: var(--navy); color: rgb(255, 255, 255); border-color: var(--navy); box-shadow: rgba(15, 43, 70, 0.6) 0px 10px 24px -16px;}
.btn-accent:hover{background: var(--navy-deep); border-color: var(--navy-deep);}
.hero:not(.hero-light) .btn-accent{background: var(--navy); color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.4); box-shadow: none;}
.hero:not(.hero-light) .btn-accent:hover{border-color: rgb(255, 255, 255);}
.hero .btn{padding: 12px 20px; font-size: 11.5px; letter-spacing: 1.4px;}
.hero:not(.hero-light) .btn-outline{color: rgb(255, 255, 255); border-color: var(--border-d2);}
.hero:not(.hero-light) .btn-outline:hover{border-color: rgb(255, 255, 255);}
.btn-nav{padding: 11px 18px; border-color: var(--nc); color: var(--nc); background: transparent; font-size: 10.5px;}
.btn-nav:hover{background: var(--nc); color: var(--ink);}
body.nav-scrolled:not(.nav-on-hero):not(.nav-on-navy) .btn-nav:hover{color: rgb(255, 255, 255); background: var(--ink);}
.btn-block{width: 100%;}
.btn-tel{display: inline-flex; align-items: center; gap: 10px; font: 800 clamp(21px,2.2vw,25px)/1 var(--ft); letter-spacing: -0.02em; text-decoration: none; color: inherit; min-height: 50px; transition: color var(--t);}
.btn-tel .ic{width: 22px; height: 22px;}
.btn-tel:hover{color: var(--sky);}
.link{display: inline-flex; align-items: center; gap: 10px; font: 700 11.5px/1 var(--ft); letter-spacing: 1.8px; text-transform: uppercase; color: var(--navy); text-decoration: none; padding: 12px 0px 10px; position: relative;}
.link::before{content: ""; position: absolute; top: 0px; left: 0px; width: 36px; height: 2px; background: var(--navy); transition: width .3s var(--ease);}
.link:hover::before{width: 80px;}
.hero:not(.hero-light) .link{color: rgb(255, 255, 255);}
.hero:not(.hero-light) .link::before{background: var(--acc);}
.hero:not(.hero-light) .label{color: var(--text-w3);}
.hero:not(.hero-light) .label::before{background: var(--acc);}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) .n,.n:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){display: inline-block; font: 800 11px/1 var(--ft); letter-spacing: 1.9px; text-transform: uppercase; color: var(--ink-faint);}
.hero:not(.hero-light) .n{color: var(--text-w3);}
.hero{position: relative; background: var(--ink); color: var(--text-w); padding: calc(var(--nav-h) + clamp(24px,4vw,48px)) 0 clamp(44px,6vw,80px); overflow: hidden;}
.hero::before{content: ""; position: absolute; inset: 0px; background: radial-gradient(70% 90% at 100% 0%, rgba(22, 58, 92, 0.55), transparent 60%), radial-gradient(50% 60% at 0% 100%, rgba(15, 43, 70, 0.5), transparent 60%); pointer-events: none;}
.hero > .wrap{position: relative;}
.hero h1{color: rgb(255, 255, 255); margin-bottom: 16px;}
.hero-lead{font-size: clamp(17px, 1.5vw, 20px); line-height: 1.55; color: var(--text-w2); max-width: 54ch; margin-bottom: 26px;}
.hero-acts{display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; margin-bottom: 18px;}
.hero-hours{font: 500 13px/1.4 var(--fb); color: var(--text-w3); display: flex; align-items: center; gap: 9px; margin-bottom: 8px;}
.hero-hours .ic{width: 15px; height: 15px;}
.hero-proof{font: 500 14px/1.5 var(--fb); color: var(--text-w2); margin: 0px; max-width: 44ch;}
.hero-grid{display: grid; gap: clamp(28px, 4vw, 56px); align-items: center;}
.hero .ph{border-radius: var(--r); box-shadow: rgba(0, 0, 0, 0.8) 0px 40px 60px -40px;}
.hero .cap{color: var(--text-w3);}
@media (max-width: 859px){
.hero .hero-grid > .ph.r45{aspect-ratio: 3 / 2;}
}
@media (min-width: 860px){
.hero-grid{grid-template-columns: 1.05fr 0.95fr;}
}
.bc{font: 600 11px/1.4 var(--ft); letter-spacing: 1.4px; text-transform: uppercase; color: var(--text-w3); margin-bottom: 22px;}
.bc ol{list-style: none; display: flex; flex-wrap: wrap; gap: 6px 10px;}
.bc li + li::before{content: "/"; margin-right: 10px; opacity: 0.5;}
.bc a{color: inherit; text-decoration: none;}
.bc a:hover{color: rgb(255, 255, 255);}
.bc [aria-current]{color: inherit;}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) .ph,.ph:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){position: relative; overflow: hidden; background: var(--mist); border-radius: var(--r);}
.hero .ph{background: rgb(28, 34, 48);}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) .ph img,.ph img:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){width: 100%; height: 100%; object-fit: cover; display: block;}
.r45{aspect-ratio: 4 / 5;}
.r32{aspect-ratio: 3 / 2;}
.hero .cap{color: var(--text-w3);}
.ft{background: var(--ink); color: rgba(255, 255, 255, 0.7); padding: clamp(48px, 7vw, 80px) 0px 0px; font-size: 14.5px;}
.ft-grid{display: grid; gap: 34px;}
.ft h2,.ft .ft-h{font: 700 11px/1 var(--ft); letter-spacing: 2px; text-transform: uppercase; color: rgb(255, 255, 255); margin: 0px 0px 16px;}
.ft-brand .logo-svg{height: 26px; width: auto; color: rgb(255, 255, 255); margin-bottom: 18px;}
.ft-brand p{max-width: 40ch; line-height: 1.55;}
.ft-brand address{font-style: normal; line-height: 1.6; margin: 14px 0px 0px;}
.ft-brand address a{color: rgb(255, 255, 255); text-decoration: none;}
.ft-brand address a:hover{text-decoration: underline;}
.ft-list{list-style: none; display: grid; gap: 8px;}
.ft-list a{color: rgba(255, 255, 255, 0.72); text-decoration: none; line-height: 1.4; transition: color var(--t);}
.ft-list a:hover{color: rgb(255, 255, 255);}
.ft-gap{height: 14px;}
.ft-bottom{margin-top: clamp(36px, 5vw, 56px); padding: 18px 0 calc(18px + env(safe-area-inset-bottom)); border-top: 1px solid var(--border-d); font: 600 10.5px/1.7 var(--ft); letter-spacing: 1.4px; text-transform: uppercase; color: rgba(255, 255, 255, 0.45);}
.ft-bottom p{max-width: none;}
.ft-min{padding: 28px 0px 0px;}
@media (min-width: 640px){
.ft-grid{grid-template-columns: 1fr 1fr;}
}
@media (min-width: 960px){
.ft-grid{grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px;}
}
.plaque .btn-tel{margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--stroke-med); color: var(--ink); width: 100%; justify-content: flex-start;}
.plaque .hero-hours{color: var(--ink-faint); margin-top: 8px;}
.f-err{padding: 8px 12px; font-size: 14.5px; color: var(--ink); background: rgba(194, 136, 64, 0.08);}
.hp{position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden;}
.home-hero{min-height: 100svh; display: flex; align-items: flex-end; padding: 110px 0px clamp(44px, 6vw, 72px);}
.home-hero::before{display: none;}
.home-vid{position: absolute; inset: 0px; z-index: 0; pointer-events: none; background-position: center center; background-size: cover;}
.home-vid video{position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s;}
body.has-video .home-vid video{opacity: 1;}
.hveil{position: absolute; inset: 0px; z-index: 1; pointer-events: none; background: linear-gradient(rgba(9, 18, 30, 0.46) 0%, rgba(9, 18, 30, 0.34) 38%, rgba(7, 14, 24, 0.9) 100%);}
.hveil::before{content: ""; position: absolute; inset: 0px; background: var(--navy); opacity: 0.3; mix-blend-mode: multiply;}
.hveil::after{content: ""; position: absolute; inset: 0px; background: radial-gradient(90% 60% at 20% 100%, rgba(7, 14, 24, 0.86), transparent 72%);}
.home-hero .hero-in{position: relative; z-index: 2; width: 100%; padding: 0 var(--edge);}
.hero-row{display: grid; gap: 0px;}
.tagline{font-family: 'Cabinet Grotesk',var(--fd),var(--ft); color: rgb(255, 255, 255); margin: 0px 0px clamp(18px, 2.4vw, 30px); display: block;}
.tagline .tl-k{display: block; font-size: clamp(10.5px, 1.05vw, 14px); font-weight: 500; letter-spacing: 0.4em; text-transform: uppercase; color: var(--text-w2); white-space: nowrap; margin-bottom: clamp(8px, 1vw, 15px);}
.tagline .tl-m{display: block; font-size: clamp(52px, 8.2vw, 108px); font-weight: 800; letter-spacing: -0.035em; line-height: 0.86; text-transform: uppercase; white-space: nowrap; color: rgb(255, 255, 255);}
.tagline .p1,.tagline .p2{white-space: pre;}
.tagline .pt{color: var(--sky-l);}
.tagline .cur{display: inline-block; width: 0.055em; height: 0.74em; background: rgb(255, 255, 255); margin-left: 0.05em; vertical-align: baseline; animation: 0.53s steps(2, start) 0s infinite normal none running cur;}
.tagline .cur.off{display: none;}
.tagline .pt{display: inline-block; opacity: 0; transform: translateY(-0.5em); margin-left: 0.01em;}
.tagline .pt.on{animation: 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 0s 1 normal forwards running ptIn;}
@keyframes cur { 
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}
@keyframes ptIn { 
  0% { opacity: 0; transform: translateY(-0.6em) scale(0.6); }
  100% { opacity: 1; transform: none; }
}
.home-hero .hero-lead{font-size: clamp(16px, 1.25vw, 17.5px); color: var(--text-w2); max-width: 52ch; margin-bottom: 18px;}
.home-hero .hero-acts{margin-bottom: 0px;}
.home-hero .hero-hours{margin: 14px 0px 0px;}
.cine{opacity: 0; transform: translateY(10px); transition: opacity .75s var(--ease),transform .75s var(--ease);}
.cine.in{opacity: 1; transform: none;}
@media (prefers-reduced-motion: reduce){
.cine{opacity: 1; transform: none;}
.tagline .cur{display: none;}
.tagline .pt{opacity: 1; transform: none;}
}
@media (max-width: 859px){
.home-hero{padding-bottom: calc(var(--sticky-h) + 36px);}
}
@media (min-width: 860px){
.tagline{margin: 0px 0px clamp(20px, 2vw, 32px);}
.hero-row{grid-template-columns: minmax(0px, 1fr) minmax(360px, 470px); column-gap: clamp(40px, 5vw, 96px); align-items: start;}
.home-hero .hero-acts{gap: 14px 18px;}
.home-hero .hero-acts .btn{padding: 13px 18px;}
}
@keyframes cslide { 
  0% { transform: translateX(0px); }
  100% { transform: translateX(calc(-1 * (6 * var(--cw) + 6 * var(--cg)))); }
}
:root{--r: 0; --r-s: 0; --shadow: none; --shadow-s: none;}
h1{font-size: clamp(30px, 4vw, 50px); line-height: 1.05; letter-spacing: -0.03em;}
.hero-lead{font-size: clamp(15.5px, 1.3vw, 17px); line-height: 1.65; max-width: 56ch;}
.btn,.btn-accent{border-radius: 0px;}
.btn{min-height: 48px; padding: 12px 22px; font-size: 11px; letter-spacing: 1.9px;}
.btn-accent{box-shadow: none;}
.btn-accent:hover{background: var(--navy-deep); border-color: var(--navy-deep);}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) .ph,.ph:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip),:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) .ph img,.ph img:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip),.spec{border-radius: 0px !important;}
.page-dark .enbref .enbref-p{border-top-color: var(--border-d2); color: var(--text-w2);}
.page-dark .enbref .enbref-p strong{color: var(--sky-l);}
.page-dark .urg-in{border-color: var(--border-d2);}
.page-dark .urg-in p{color: var(--text-w2);}
.plaque .btn-tel{border-top: 0px; padding-top: 16px; margin-top: 14px; font-size: clamp(19px, 2vw, 23px);}
.page-home{--fpe-ocre: #C28840;}
.page-home .label + h2::after{content: ""; display: block; width: 44px; height: 3px; background: var(--fpe-ocre); margin-top: clamp(16px, 1.6vw, 22px);}
body.page-home .entree .n,.page-home .orga .stat > span,.page-home .real2-c .c,.page-home .hero-hours,.page-home .cta-hours,.page-home .terr-paris-n,.page-home .terr-other-n,.page-home .cslide-v{font-family: var(--fm) !important; letter-spacing: 0.12em !important; font-weight: 400 !important;}
.page-home .orga .stat > span small{font-family: var(--fb) !important; letter-spacing: 0px !important;}
body.page-home .home-hero .hveil .hm-cut{display: none;}
@media (max-width: 859px) and (orientation: portrait){
body.page-home .home-hero .hveil .hm-cut{position: absolute; left: var(--edge); width: clamp(56px, 15vw, 72px); height: auto; fill: rgb(255, 255, 255); bottom: calc(36px + env(safe-area-inset-bottom));}
}
@media (min-width: 768px) and (max-width: 859px) and (orientation: portrait){
body.page-home .home-hero .hveil .hm-cut{display: block;}
}
@media (max-width: 767px) and (orientation: portrait) and (max-aspect-ratio: 3 / 4){
body.page-home .home-hero .hveil .hm-cut{display: block; left: max(var(--px),env(safe-area-inset-left)); bottom: calc(204px + env(safe-area-inset-bottom));}
body.page-home .home-hero .hveil .hm-cut{bottom: calc(100lvh - 100svh + 204px + env(safe-area-inset-bottom));}
}
@font-face { font-family: "Cabinet Grotesk"; src: url("../fonts/cabinet-grotesk-var.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: block; }
:root{--fd: 'Archivo',system-ui,sans-serif;}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) b,b:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){font-family: var(--fb);}
.page-dark .dark-sec .label::before{background: var(--warm) !important;}
@media (min-width: 900px){
.home-hero .hero-row{grid-template-columns: 1fr; row-gap: clamp(26px, 3vw, 44px);}
.home-hero .hero-r{display: grid; grid-template-columns: 1.45fr auto auto auto; align-items: center; border-top: 1px solid rgba(255, 255, 255, 0.3); padding-top: 20px;}
.home-hero .hero-acts{display: contents;}
.home-hero .hero-lead{margin: 0px; padding-right: clamp(28px, 3vw, 48px); max-width: 46ch;}
.home-hero .hero-acts .btn-tel{padding: 0px clamp(24px, 2.6vw, 42px); border-left: 1px solid rgba(255, 255, 255, 0.22); font: 700 clamp(20px,1.9vw,25px)/1 var(--ft); letter-spacing: -0.01em;}
.home-hero .hero-acts .btn{margin: 0px 0px 0px clamp(24px, 2.6vw, 42px); border-left: 0px;}
.home-hero .hero-hours{margin: 0px; padding-left: clamp(24px, 2.6vw, 42px); border-left: 1px solid rgba(255, 255, 255, 0.22); height: 100%; align-items: center;}
}
.link:hover .ic{transform: translateX(4px);}
.link .ic{transition: transform .3s var(--ease);}
@keyframes cIn { 
  100% { transform: none; opacity: 1; }
}
@media (min-width: 900px){
.home-hero .hero-acts .btn-tel{grid-area: 1 / 2; justify-self: start; padding: 0px !important; border-left: 0px !important;}
.home-hero .hero-acts .btn{grid-area: 1 / 3 / 3; justify-self: end; margin: 0px !important;}
.home-hero .hero-acts .btn-tel{grid-area: 1 / 2; width: 100%; justify-content: center; justify-self: center !important; padding: 0px clamp(22px, 2.6vw, 44px) !important; border-left: 1px solid rgba(255, 255, 255, 0.22) !important;}
.home-hero .hero-hours{grid-area: 2 / 2; justify-content: center; width: 100%; justify-self: center !important; margin: 10px 0px 0px !important; padding: 0px clamp(22px, 2.6vw, 44px) !important; border-left: 1px solid rgba(255, 255, 255, 0.22) !important;}
.home-hero .hero-acts .btn{grid-area: 1 / 3 / 3; justify-self: center !important; margin: 0px !important;}
}
.home-hero .hero-acts .btn.btn-accent{transition: background .3s var(--ease),color .3s var(--ease); background: transparent !important; border: 1px solid rgba(255, 255, 255, 0.68) !important; color: rgb(255, 255, 255) !important; padding: 16px 26px !important;}
.home-hero .hero-acts .btn.btn-accent:hover{background: rgb(255, 255, 255) !important; color: var(--navy) !important; border-color: rgb(255, 255, 255) !important;}
@media (min-width: 900px){
.home-hero .hero-r{grid-template-rows: auto auto; align-items: center; border-top: 1px solid rgba(255, 255, 255, 0.3); padding-top: 22px; display: grid !important; grid-template-columns: 1.15fr 1fr 1fr !important; column-gap: 0px !important;}
.home-hero .hero-acts{grid-area: 1 / 2 / auto / 4; align-items: center; justify-content: space-between; gap: 24px; padding-left: clamp(24px, 2.8vw, 48px); border-left: 1px solid rgba(255, 255, 255, 0.22); display: flex !important; margin: 0px !important;}
.home-hero .hero-lead{grid-area: 1 / 1 / 3; align-self: center; max-width: 42ch; margin: 0px !important; padding-right: clamp(28px, 3.2vw, 52px) !important; font-size: 14.8px !important; line-height: 1.7 !important;}
.home-hero .hero-hours{grid-area: 2 / 2; justify-self: stretch; margin: 12px 0px 0px !important; padding-left: clamp(24px, 2.8vw, 48px) !important; border-left: 1px solid rgba(255, 255, 255, 0.22) !important; height: auto !important;}
}
.home-hero .hero-acts .btn-tel{font: 700 clamp(21px,2vw,26px)/1 var(--ft); letter-spacing: -0.01em; padding: 0px !important; border: 0px !important;}
@media (min-width: 900px){
.home-hero .hero-acts{flex-wrap: nowrap !important; gap: clamp(18px, 2.4vw, 40px) !important;}
.home-hero .hero-acts .btn-tel{white-space: nowrap; flex: 0 0 auto; width: auto !important; padding: 0px !important; justify-content: flex-start !important; font-size: clamp(19px, 1.8vw, 24px) !important;}
.home-hero .hero-acts .btn{white-space: nowrap; flex: 0 0 auto;}
}
.hero-vid,.hero-vid-veil{display: none !important;}
.hero-vid-sec{position: relative; background: var(--navy-deep); overflow: hidden; padding: clamp(104px, 11vw, 148px) 0px clamp(46px, 5vw, 80px);}
.hero-vid-sec > .wrap{position: relative; z-index: 2;}
.hero-vid-sec .hero-grid{grid-template-columns: 1fr !important; max-width: 54%;}
.hero-vid-sec h1{font-size: clamp(26px, 3.2vw, 42px) !important; max-width: 17ch;}
.hero-vid-sec .hero-lead{max-width: 46ch;}
.hero-vid-sec .hero-acts .btn.btn-accent{background: transparent !important; border: 1px solid rgba(255, 255, 255, 0.68) !important; color: rgb(255, 255, 255) !important;}
.hero-vid-sec .hero-acts .btn.btn-accent:hover{background: rgb(255, 255, 255) !important; color: var(--navy) !important;}
@media (max-width: 959px){
.hero-vid-sec{padding-top: clamp(92px, 20vw, 120px);}
.hero-vid-sec .hero-grid{max-width: none;}
}
.hero-vid-sec{padding: clamp(104px, 11vw, 148px) 0px clamp(52px, 5.6vw, 86px) !important;}
.hero-vid-sec .hero-grid{align-items: center; gap: clamp(30px, 4vw, 64px); max-width: none !important; display: grid !important;}
@media (min-width: 960px){
.hero-vid-sec .hero-grid{grid-template-columns: 1.08fr 0.92fr !important;}
}
.hero-vid-sec .hero-txt{min-width: 0px;}
.hero-vid-sec{background: linear-gradient(118deg,#061220 0%,var(--navy-deep) 38%,var(--navy) 72%,#1B466E 100%) !important;}
.hero-sz{background: linear-gradient(118deg,#061220 0%,var(--navy-deep) 38%,var(--navy) 72%,#1B466E 100%) !important; color: var(--text-w) !important; padding: clamp(104px, 11vw, 148px) 0px clamp(46px, 5vw, 78px) !important; border: 0px !important;}
.hero-sz .bc,.hero-sz .bc a,.hero-sz .bc span{color: rgba(244, 246, 248, 0.55) !important;}
.hero-sz h1{max-width: 19ch; color: rgb(255, 255, 255) !important; font-size: clamp(26px, 3.2vw, 42px) !important;}
.hero-sz .hero-lead{color: rgba(244, 246, 248, 0.78) !important; max-width: 48ch;}
.hero-sz .btn-tel{color: rgb(255, 255, 255) !important;}
.hero-sz .btn.btn-accent{background: transparent !important; border: 1px solid rgba(255, 255, 255, 0.6) !important; color: rgb(255, 255, 255) !important;}
.hero-sz .btn.btn-accent:hover{background: rgb(255, 255, 255) !important; color: var(--navy) !important;}
.hero-sz .hero-hours,.hero-sz .hero-proof{color: rgba(244, 246, 248, 0.6) !important;}
@media (min-width: 980px){
.hero-sz .wrap{max-width: var(--max-w);}
}
.hero-sz figure,.hero-sz .ph{margin: 0px;}
.hero-sz .ph,.hero-sz figure > div{position: relative; overflow: hidden; aspect-ratio: 4 / 3 !important;}
.hero-sz figure img{width: 100%; height: 100%; object-fit: cover;}
.hero-sz figcaption{position: static !important; background: transparent !important; padding: 0px !important;}
.hero-sz figure::before{content: ""; position: absolute; top: 0px; left: 0px; width: 52px; height: 3px; background: var(--warm); z-index: 2;}
.hero-sz figure{position: relative;}
.hero-sz figcaption,.hero-sz .cap{font: 500 11.5px/1.5 var(--fd) !important; letter-spacing: 0px !important; text-transform: none !important; color: rgba(244, 246, 248, 0.6) !important; margin-top: 12px !important;}
.hero-sz .cap::before{display: none !important;}
.mega-intro{background: rgb(15, 43, 70) !important;}
.mega-intro .mh,.mega-intro p,.mega-col li a,.mega-col .mk{color: rgb(255, 255, 255) !important;}
.mega-col .mk{color: rgb(156, 195, 219) !important;}
.mega-intro p{color: rgba(244, 246, 248, 0.76) !important;}
.mega-real .ph{background: rgb(28, 34, 48);}
.home-hero.hero-seul .hero-r{position: absolute !important; width: 1px !important; height: 1px !important; padding: 0px !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0px !important;}
.home-hero.hero-seul .hero-row{grid-template-columns: 1fr !important;}
@keyframes vcIn { 
  0% { opacity: 0; transform: translateY(6px); }
  100% { opacity: 1; transform: none; }
}
.plate.navy .n{color: var(--sky-l);}
.hero-ph-box::before,.hero-sz figure::before{display: none !important;}
h1{font-family: var(--fd) !important; font-weight: 700 !important; letter-spacing: -0.014em !important;}
.hero .cap{color: rgba(244, 246, 248, 0.6) !important;}
.home-hero .tagline .p2,body.page-home .tagline .p2{color: rgb(31, 72, 112) !important;}
.home-hero.hero-seul .tagline{margin-bottom: 0px !important;}
h1,:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) summary,summary:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){font-family: var(--fd) !important; font-weight: 700 !important;}
.ft-bot,.ft-legal,.ft-bottom{text-transform: uppercase !important; letter-spacing: 0.14em !important; font-size: 10px !important; justify-content: center !important; text-align: center !important;}
.page-dark .enbref .label{color: var(--navy) !important;}
.two .ph.r45{aspect-ratio: 4 / 3 !important;}
.two .btn-tel{color: var(--ink);}
.mega{background: rgb(14, 17, 23) !important; color: rgb(244, 246, 248) !important; border: 1px solid rgba(255, 255, 255, 0.14) !important;}
.spec{margin: 0px; border-top: 1px solid var(--stroke-med);}
.spec div{display: grid; grid-template-columns: 130px minmax(0px, 1fr); gap: 16px; padding: 12px 0px; border-bottom: 1px solid var(--stroke-med);}
.spec dt{font: 600 9.5px/1.7 var(--fb); letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-faint); margin: 0px;}
.spec dd{margin: 0px; font: 400 14.5px/1.55 var(--fb); color: var(--ink-muted);}
@media (max-width: 600px){
.spec div{grid-template-columns: 1fr; gap: 4px;}
}
.rail{display: grid; border-top: 1px solid rgba(255, 255, 255, 0.22); border-bottom: 1px solid rgba(255, 255, 255, 0.22);}
@media (min-width: 760px){
.rail{grid-template-columns: repeat(var(--cols,5),1fr);}
}
.rail > div{padding: 18px clamp(16px, 2vw, 28px) 20px 0px;}
@media (min-width: 760px){
.rail > div + div{border-left: 1px solid rgba(255, 255, 255, 0.16); padding-left: clamp(16px, 2vw, 28px);}
}
@media (max-width: 759px){
.rail > div + div{border-top: 1px solid rgba(255, 255, 255, 0.14);}
}
.rail b{display: block; font: 500 clamp(15px,1.5vw,18px)/1.3 var(--fd); color: rgb(255, 255, 255); letter-spacing: -0.01em;}
.rail span{display: block; margin-top: 6px; font: 600 9.5px/1.4 var(--fb); letter-spacing: 0.18em; text-transform: uppercase; color: var(--sky-l);}
.hero-fiche{overflow: visible; background: var(--canvas) !important; color: var(--ink) !important; padding: calc(var(--nav-h) + clamp(28px,4vw,52px)) 0 0 !important;}
.hero-fiche::before{display: none;}
.hero-fiche .bc,.hero-fiche .bc a{color: var(--ink-faint) !important;}
.hero-fiche .bc a:hover{color: var(--ink) !important;}
.hero-fiche h1{color: var(--ink) !important; max-width: 22ch;}
.hero-fiche .hero-lead{color: var(--ink-soft) !important;}
.hero-fiche .label{color: var(--navy) !important;}
.hero-fiche .label::before{background: var(--warm) !important;}
.hero-fiche .band-navy{background: var(--navy-deep); color: rgb(255, 255, 255); margin-top: clamp(30px, 4vw, 56px); padding: clamp(22px, 2.6vw, 34px) 0px;}
.hero-fiche .band-sky{background: var(--sky-bg); padding: clamp(22px, 2.6vw, 34px) 0px; border-bottom: 1px solid var(--stroke);}
.hero-fiche .band-sky .wrap{display: grid; gap: 18px;}
@media (min-width: 900px){
.hero-fiche .band-sky .wrap{grid-template-columns: 190px minmax(0px, 1fr); align-items: start;}
}
.hero-fiche .band-sky .label{margin: 4px 0px 0px !important;}
.hero-fiche .band-sky p{margin: 0px; font-size: 15px; line-height: 1.8; color: var(--ink-muted); max-width: 74ch;}
.hero-fiche .hero-grid{align-items: start;}
.band-navy .spec.rail{margin: 0px; border-top: 1px solid rgba(255, 255, 255, 0.22); border-bottom: 1px solid rgba(255, 255, 255, 0.22);}
.band-navy .spec.rail > div{padding: 18px clamp(16px, 2vw, 28px) 20px 0px; border: 0px;}
@media (min-width: 760px){
.band-navy .spec.rail > div + div{border-left: 1px solid rgba(255, 255, 255, 0.16); padding-left: clamp(16px, 2vw, 28px);}
}
@media (max-width: 759px){
.band-navy .spec.rail > div + div{border-top: 1px solid rgba(255, 255, 255, 0.14);}
}
.band-navy .spec.rail dd{display: block; margin: 0px; font: 500 clamp(14.5px,1.4vw,17px)/1.32 var(--fd); color: rgb(255, 255, 255); letter-spacing: -0.01em;}
.band-navy .spec.rail dt{display: block; margin-top: 6px; font: 600 9.5px/1.4 var(--fb); letter-spacing: 0.18em; text-transform: uppercase; color: var(--sky-l);}
.hero-fiche .ph.r45{background: var(--mist);}
.page-dark .enbref-p strong{color: var(--ink-faint) !important;}
@media (max-width: 760px){
.spec dt{font-size: 10.5px !important; letter-spacing: 0.12em !important;}
.ft-bot,.ft-legal,.ft-bottom{font-size: 10.5px !important; letter-spacing: 0.1em !important;}
}
@media (max-width: 640px){
.ph.r45,.ph.r32{aspect-ratio: 4 / 3 !important;}
.hero-sz .ph,.hero-sz figure > div{aspect-ratio: 4 / 3 !important;}
}
@media (max-width: 859px){
.btn{min-height: 52px;}
:root{--sticky-h: 62px;}
.sticky-a{font-size: 10.5px !important; letter-spacing: 0.06em !important; gap: 5px !important;}
.sticky-a .ic{width: 21px !important; height: 21px !important;}
.sticky-main{background: var(--warm) !important; color: rgb(11, 13, 17) !important;}
.sticky-main .ic{stroke: rgb(11, 13, 17);}
}
@media (max-width: 760px){
html,body{overflow-x: hidden;}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) .wrap,.wrap:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){padding-left: var(--px); padding-right: var(--px);}
h1,:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) p,p:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip),:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) li,li:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip),:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) summary,summary:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){overflow-wrap: break-word; hyphens: auto;}
.spec dd{overflow-wrap: anywhere;}
}
@media (max-width: 859px){
.home-hero .tagline{flex-wrap: wrap; row-gap: 2px; font-size: clamp(23px, 7.4vw, 40px) !important; white-space: normal !important; margin-bottom: clamp(14px, 3vw, 22px) !important;}
}
@media (max-width: 400px){
.home-hero .tagline{font-size: 22px !important;}
}
@media (max-width: 859px){
.home-hero.hero-seul .hero-r{position: static !important; width: auto !important; height: auto !important; padding: clamp(16px, 4vw, 22px) 0px 0px !important; margin: clamp(16px, 4vw, 26px) 0px 0px !important; overflow: visible !important; clip-path: none !important; white-space: normal !important; border-top: 1px solid rgba(255, 255, 255, 0.28) !important;}
.home-hero.hero-seul .hero-lead{max-width: 40ch; font-size: 14.5px !important; line-height: 1.7 !important; color: rgba(244, 246, 248, 0.82) !important;}
.home-hero.hero-seul .hero-acts{flex-wrap: wrap; gap: 12px; display: flex !important; margin-top: 16px !important;}
.home-hero.hero-seul .hero-acts .btn-tel{font: 700 24px/1 var(--ft) !important; color: rgb(255, 255, 255) !important; padding: 0px !important; border: 0px !important;}
.home-hero.hero-seul .hero-acts .btn{flex: 1 0 100%; justify-content: center;}
.home-hero.hero-seul .hero-hours{margin: 10px 0px 0px !important; padding: 0px !important; border: 0px !important; font-size: 12.5px !important;}
}
@media (max-width: 759px){
.band-navy .spec.rail > div{padding: 14px 0px 15px !important;}
.band-navy .spec.rail dd{font-size: 15px !important;}
.band-navy .spec.rail dt{margin-top: 5px !important;}
}
@media (max-width: 859px){
.menu-list a{align-items: center; min-height: 52px; display: flex !important; padding: 12px 0px !important; font-size: 16px !important;}
.menu-list li + li a{border-top: 1px solid rgba(255, 255, 255, 0.1);}
.menu-sec{padding: 18px 0px !important;}
.menu-h{font-size: 10.5px !important; letter-spacing: 0.14em !important; margin-bottom: 6px !important;}
.hero .hero-acts,.hero-sz .hero-acts{flex-wrap: wrap; gap: 10px; display: flex !important; margin-top: 18px !important;}
.hero .hero-acts .btn-tel,.hero-sz .hero-acts .btn-tel{flex: 1 0 100%; justify-content: center; min-height: 56px; border: 1px solid rgba(255, 255, 255, 0.55) !important; font-size: 21px !important;}
.hero .hero-acts .btn,.hero-sz .hero-acts .btn{flex: 1 0 100%; justify-content: center; min-height: 52px;}
.hero-fiche .hero-acts .btn-tel{border-color: var(--stroke-strong) !important; color: var(--ink) !important;}
}
.page-dark .dark-sec .fold summary::after{border-color: rgba(255, 255, 255, 0.34) !important; background: linear-gradient(rgb(255, 255, 255), rgb(255, 255, 255)) center center / 11px 1.4px no-repeat, linear-gradient(rgb(255, 255, 255), rgb(255, 255, 255)) center center / 1.4px 11px no-repeat !important;}
@media (max-width: 859px){
.nav-in{min-height: var(--nav-h); grid-template-columns: auto 1fr !important; gap: 10px !important;}
.nav-r{flex-wrap: nowrap; justify-self: end !important; gap: 14px !important;}
.nav-tel{min-height: 48px; font-size: 16px !important; padding: 0px 2px !important;}
.nav-tel .ic{width: 19px; height: 19px;}
.btn-nav{display: none !important;}
}
@media (max-width: 400px){
.nav-logo .logo-svg{height: 28px !important;}
.nav-tel{font-size: 15px !important;}
.nav-r{gap: 10px !important;}
}
@media (max-width: 859px){
.site-head{height: auto;}
}
.tagline .pt{animation: 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 4.6s 1 normal forwards running ptIn;}
.tagline .pt.on{animation-delay: 0s;}
.hero-contact{background: var(--stone) !important; color: var(--ink) !important; padding: calc(var(--nav-h) + clamp(22px,3vw,40px)) 0 0 !important; overflow: visible !important;}
.hero-contact .mono{display: none !important;}
.hero-contact .bc,.hero-contact .bc a{color: var(--ink-faint) !important;}
.hero-contact .hero-kicker{display: inline-flex; align-items: center; gap: 11px; margin: 0px 0px 14px; font: 600 10.5px/1 var(--fb); letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink-faint);}
.hero-contact .hero-kicker::before{content: ""; width: 7px; height: 7px; background: var(--warm);}
.hero-contact h1{color: var(--ink) !important; max-width: 16ch;}
.hero-contact .hero-lead{color: var(--ink-soft) !important; max-width: 52ch;}
.hero-contact .ways{display: grid; position: relative; box-shadow: rgba(15, 43, 70, 0.75) 0px 30px 60px -44px; margin-top: clamp(26px, 3.2vw, 40px) !important; background: var(--navy) !important; padding: clamp(18px, 2.2vw, 26px) clamp(18px, 2.4vw, 30px) !important; gap: 0px !important;}
.hero-contact .ways::before{content: ""; position: absolute; top: 0px; left: 0px; width: 64px; height: 3px; background: var(--warm);}
@media (min-width: 900px){
.hero-contact .ways{grid-template-columns: repeat(3, 1fr);}
.hero-contact .way + .way{border-left: 1px solid rgba(255, 255, 255, 0.16); padding-left: clamp(18px, 2.2vw, 30px);}
}
@media (max-width: 899px){
.hero-contact .way + .way{border-top: 1px solid rgba(255, 255, 255, 0.16);}
}
.hero-contact .way{padding: 16px 0px; text-decoration: none; display: flex; align-items: center; gap: 14px; min-height: 56px; color: rgb(255, 255, 255) !important;}
.hero-contact .way b{display: block; font: 500 15.5px/1.3 var(--fd); color: rgb(255, 255, 255);}
.hero-contact .way span span{font-size: 12.5px; line-height: 1.55; color: rgba(244, 246, 248, 0.72);}
.hero-contact .way .wi{color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.3) !important;}
.hero-contact .hero-hours{color: var(--ink-faint) !important; margin-top: 16px !important;}
.hub-hero{background: linear-gradient(118deg,#061220 0%,var(--navy-deep) 40%,var(--navy) 74%,#1B466E 100%) !important; color: var(--text-w) !important; padding: calc(var(--nav-h) + clamp(26px,3.4vw,46px)) 0 clamp(30px,3.6vw,52px) !important;}
.hub-hero .bc,.hub-hero .bc a{color: rgba(244, 246, 248, 0.55) !important;}
.hub-hero h1{color: rgb(255, 255, 255) !important;}
.hub-hero .hero-lead{color: rgba(244, 246, 248, 0.78) !important;}
.hub-hero .label{color: var(--sky-l) !important;}
.hub-hero .hub-meta,.hub-hero .hub-meta b{color: rgb(255, 255, 255) !important;}
.hub-hero .hub-meta span{color: rgba(244, 246, 248, 0.6) !important;}
.hub-hero.hero-light h1{color: rgb(255, 255, 255) !important;}
.hub-hero.hero-light .hero-lead{color: rgba(244, 246, 248, 0.78) !important;}
.hub-hero.hero-light .hero-hours,.hub-hero.hero-light .hub-meta span{color: rgba(244, 246, 248, 0.6) !important;}
.hub-hero.hero-light .label{color: var(--sky-l) !important;}
.hub-hero.hero-light .label::before{background: var(--warm) !important;}
.hub-hero.hero-light .bc,.hub-hero.hero-light .bc a{color: rgba(244, 246, 248, 0.55) !important;}
.hub-hero.hero-light .hub-meta{border-top-color: rgba(255, 255, 255, 0.22) !important;}
.hub-hero.hero-light .hub-meta b{color: rgb(255, 255, 255) !important;}
.hub-hero.hero-light .btn-tel{color: rgb(255, 255, 255) !important;}
.hub-hero.hero-light .btn-outline{color: rgb(255, 255, 255) !important; border-color: rgba(255, 255, 255, 0.6) !important;}
.hub-hero{border-bottom: 0px !important;}
.hero-sz{position: relative; overflow: hidden;}
.hero-sz .wrap{position: relative; z-index: 1;}
.hero-sz .bc{position: relative; z-index: 2;}
@media (min-width: 760px){
.hero-sz[data-mark]::after{content: attr(data-mark); position: absolute; right: clamp(-10px, -0.5vw, 10px); bottom: clamp(-18px, -1vw, 0px); z-index: 0; pointer-events: none; font: 500 clamp(150px,20vw,290px)/.8 var(--fd); letter-spacing: -0.05em; color: transparent; -webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.14);}
}
@media (max-width: 759px){
.hero-sz[data-mark]::after{content: attr(data-mark); position: absolute; right: -6px; top: calc(var(--nav-h) + 6px); z-index: 0; pointer-events: none; font: 500 96px/.8 var(--fd); letter-spacing: -0.05em; color: transparent; -webkit-text-stroke: 1.2px rgba(255, 255, 255, 0.13);}
}
.tagline{flex-wrap: wrap; font-family: var(--fb) !important; font-weight: 200 !important; text-transform: uppercase !important; letter-spacing: 0.16em !important; font-size: clamp(19px, 3.3vw, 42px) !important; line-height: 1.2 !important; align-items: center !important; color: rgb(255, 255, 255) !important;}
.tagline .p1{font-weight: 200 !important; color: rgba(255, 255, 255, 0.94);}
.tagline .p2{font-weight: 700 !important; letter-spacing: 0.11em !important; color: rgb(255, 255, 255) !important;}
.tagline .pt{position: relative; overflow: hidden; opacity: 0; transition: opacity 0.2s linear; display: inline-block !important; color: transparent !important; width: 0.22em !important; margin-left: 0.2em !important; transform: none !important; animation: auto ease 0s 1 normal none running none !important;}
.tagline .pt.on{opacity: 1;}
.tagline .pt::before{content: ""; position: absolute; left: 0px; bottom: 0.06em; width: 0.2em; height: 0.2em; background: rgb(255, 255, 255);}
.tagline .cur{transition: opacity .4s var(--ease); width: 2px !important; height: 1.02em !important; background: rgb(255, 255, 255) !important; margin-left: 0.14em !important; align-self: center !important; border-radius: 0px !important; animation: 0.56s steps(2, start) 0s infinite normal none running curBar !important;}
.tagline .cur.off{opacity: 0 !important; animation: auto ease 0s 1 normal none running none !important;}
@keyframes curBar { 
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}
.page-dark .dark-sec .cap{color: rgba(244, 246, 248, 0.5) !important;}
.page-dark .enbref-p{color: var(--ink-muted) !important;}
@media (max-width: 859px){
.nav-in{grid-template-columns: auto 1fr !important; gap: 8px !important; padding-left: var(--edge) !important; padding-right: var(--edge) !important;}
.nav-r{justify-self: end !important; gap: 6px !important; flex-wrap: nowrap !important;}
.nav-menu-btn span:not(.nav-burger){position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0px, 0px, 0px, 0px) !important; white-space: nowrap !important; margin: -1px !important; padding: 0px !important;}
.nav-menu-btn{min-width: 44px !important; padding: 0px !important; justify-content: center !important; gap: 0px !important;}
.nav-tel{white-space: nowrap; font-size: 14px !important; gap: 5px !important; padding: 0px !important; min-height: 44px !important; letter-spacing: 0px !important;}
.nav-tel .ic{width: 17px !important; height: 17px !important;}
.nav-logo .logo-svg{height: 26px !important;}
}
@media (max-width: 414px){
.nav-logo .logo-svg{height: 23px !important;}
.nav-tel{font-size: 13.5px !important;}
}
@media (max-width: 360px){
.nav-logo .logo-svg{height: 20px !important;}
.nav-tel{font-size: 13px !important;}
.nav-tel .ic{display: none !important;}
}
@media (max-width: 320px){
.nav-logo .logo-svg{height: 18px !important;}
.nav-tel{font-size: 12.5px !important;}
}
.nav-menu-btn .nav-burger{position: relative; display: block; width: 22px; height: 16px; flex: 0 0 auto;}
.nav-burger::before,.nav-burger::after{content: ""; position: absolute; right: 0px; height: 2px; background: currentcolor; border-radius: 1px; transition: width .35s var(--ease),transform .4s var(--ease),top .3s var(--ease),background .3s;}
.nav-burger::before{top: 3px; width: 22px;}
.nav-burger::after{top: 11px; width: 13px;}
.nav-menu-btn:hover .nav-burger::after{width: 22px; background: var(--warm);}
.nav-menu-btn[aria-expanded="true"] .nav-burger::before{top: 7px; width: 22px; transform: rotate(45deg);}
.nav-menu-btn[aria-expanded="true"] .nav-burger::after{top: 7px; width: 22px; transform: rotate(-45deg); background: var(--warm);}
.tagline{white-space: nowrap; display: block !important; margin: 0px 0px clamp(16px, 2vw, 24px) !important; font-family: 'Cabinet Grotesk',var(--fd),sans-serif !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: -0.05em !important; line-height: 0.86 !important; font-size: clamp(52px, 9vw, 130px) !important;}
.tagline .tl-k{display: none !important;}
.tagline .tl-m{display: inline !important;}
.home-hero .hero-l{background: rgb(10, 20, 32); mix-blend-mode: multiply; isolation: auto; padding: clamp(18px, 2.4vw, 30px) 0px;}
.tagline .cur{height: 0.5em !important; width: 3px !important; margin-left: 0.06em !important; background: rgb(255, 255, 255) !important; vertical-align: -0.02em !important; align-self: auto !important;}
.hero-proof{mix-blend-mode: normal; isolation: isolate; flex-wrap: nowrap; align-items: center; gap: clamp(14px, 2vw, 30px); list-style: none; margin: 0px; padding: 15px 0px 0px; border-top: 1px solid rgba(201, 211, 218, 0.32); white-space: nowrap; overflow: hidden; max-width: none; display: flex !important;}
.hero-proof li{font: 600 clamp(9px,.74vw,10.5px)/1 var(--fb); letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255, 255, 255, 0.66); margin: 0px;}
.hero-proof b{font-weight: 600; color: rgb(201, 211, 218);}
.hp-short{display: none;}
@media (max-width: 859px){
.hero-proof{gap: 14px; padding-top: 13px;}
.hero-proof li{font-size: 9px; letter-spacing: 0.1em;}
.hp-long{display: none;}
.hp-short{display: inline;}
}
@media (max-width: 360px){
.hero-proof li{font-size: 8.5px; letter-spacing: 0.07em;}
.hero-proof{gap: 11px;}
}
@media (max-width: 859px){
.home-hero .hero-r{display: none !important;}
.home-hero .hero-row{display: block !important;}
.home-hero .hero-l{width: 100%;}
}
html{background: var(--navy-deep);}
body{min-height: 100svh;}
.home-hero{min-height: 100svh !important;}
@supports (padding:max(0px)){
.sticky{padding-bottom: env(safe-area-inset-bottom);}
.hero-in{padding-left: max(var(--px),env(safe-area-inset-left)); padding-right: max(var(--px),env(safe-area-inset-right));}
}
.btn-accent{background: var(--paper); border: 1px solid var(--navy); color: var(--navy);}
.btn-accent:hover{background: var(--navy); color: rgb(255, 255, 255);}
.page-dark .dark-sec .btn-accent,.hero .btn-accent,.hub-hero .btn-accent,.hero-sz .btn-accent{background: rgb(255, 255, 255) !important; border-color: rgb(255, 255, 255) !important; color: var(--navy-deep) !important;}
.hero .btn-accent:hover{background: var(--canvas) !important; border-color: var(--canvas) !important;}
@media (max-width: 859px){
.sticky{display: none !important;}
body{padding-bottom: 0px !important;}
body{font-size: 16.5px; line-height: 1.72;}
:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) p,p:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip),:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) li,li:where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip){font-size: 16.5px; line-height: 1.72;}
.menu-list a{min-height: 44px; display: flex; align-items: center;}
.link{min-height: 44px;}
.page-dark .chapters{background: rgba(10, 31, 51, 0.96); border-bottom-color: rgba(255, 255, 255, 0.16);}
.page-dark .chapters a{color: rgba(255, 255, 255, 0.6);}
.page-dark .chapters a.on{color: rgb(255, 255, 255);}
.site-head{transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);}
body.head-hide .site-head{transform: translateY(-100%);}
.sec .ph.r45{aspect-ratio: 4 / 3 !important;}
}
.home-hero .hero-l{background: none !important; mix-blend-mode: normal !important; padding: 0px !important;}
.tagline .p2{color: rgb(255, 255, 255) !important; -webkit-text-fill-color: rgb(255, 255, 255) !important; background: none !important;}
@media (max-width: 859px){
.home-hero{display: flex; align-items: flex-end; min-height: 100svh !important;}
.home-hero .hero-in{width: 100%; padding-bottom: calc(112px + env(safe-area-inset-bottom)) !important;}
.tagline{max-width: 100%; font-size: clamp(38px, 12.4vw, 64px) !important; margin: 0px 0px 14px !important;}
.tagline .tl-m,.tagline .p2{max-width: 100% !important; display: inline-block;}
.hero-proof{padding-top: 13px !important;}
.hero-foot{bottom: calc(64px + env(safe-area-inset-bottom)) !important;}
}
.home-hero::before{content: ""; position: absolute; top: 0px; left: 0px; right: 0px; height: 180px; z-index: 1; pointer-events: none; background: linear-gradient(rgba(6, 12, 20, 0.62), rgba(6, 12, 20, 0));}
@media (max-width: 859px){
.page-dark .dark-sec .reveal-b{color: rgb(255, 255, 255); border-top-color: rgba(255, 255, 255, 0.24);}
.home-hero .hero-foot{left: var(--px); right: var(--px); z-index: 3; pointer-events: none; display: block !important; position: absolute !important; bottom: calc(74px + env(safe-area-inset-bottom)) !important;}
.home-hero .hero-rdv{display: none !important;}
.home-hero .hero-scroll{align-items: center; gap: 9px; pointer-events: auto; font: 600 10px/1 var(--fb); letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255, 255, 255, 0.78); text-decoration: none; min-height: 44px; display: inline-flex !important;}
.home-hero .hero-scroll svg{width: 15px; height: 15px; animation: 2.1s ease 0s infinite normal none running fpe-descend;}
}
@keyframes fpe-descend { 
  0%, 100% { transform: translateY(0px); opacity: 0.55; }
  50% { transform: translateY(5px); opacity: 1; }
}
@media (max-width: 859px){@media (prefers-reduced-motion: reduce){
.home-hero .hero-scroll svg{animation: auto ease 0s 1 normal none running none;}
}}
@media (max-width: 859px){
.menu-list a{display: flex; align-items: center; min-height: 44px;}
.page-dark .chapters a,.page-dark .chapters button{color: rgba(255, 255, 255, 0.66) !important;}
.page-dark .chapters a b,.page-dark .chapters button b{color: rgba(255, 255, 255, 0.42) !important;}
.page-dark .chapters a.on,.page-dark .chapters button.on,.page-dark .chapters a:hover,.page-dark .chapters button:hover{color: rgb(255, 255, 255) !important;}
.page-dark .chapters a.on b,.page-dark .chapters button.on b{color: var(--sky-l) !important;}
.ft-brand address a{display: inline-flex; align-items: center; min-height: 44px;}
body.page-home .site-head{transition: transform .45s var(--ease),opacity .35s;}
body.page-home:not(.nav-dispo) .site-head{opacity: 0; pointer-events: none; transform: translateY(-100%);}
body.page-home.nav-dispo .site-head{opacity: 1; pointer-events: auto; transform: none;}
.home-hero .hero-lead{width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px; position: absolute !important;}
.home-hero .hero-acts,.home-hero .hero-hours{display: none !important;}
.egrid.rail{overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; display: flex !important; flex-wrap: nowrap !important; gap: 12px !important; margin-left: calc(-1 * var(--px)) !important; margin-right: calc(-1 * var(--px)) !important; padding: 0 var(--px) 4px !important;}
.egrid.rail::-webkit-scrollbar{display: none;}
.egrid.rail > *{scroll-snap-align: start; flex: 0 0 82% !important; display: block !important; padding: 0px !important; border: 0px !important; margin: 0px !important;}
.egrid.rail > * > .ph{width: 100% !important; aspect-ratio: 3 / 2 !important; margin: 0px 0px 12px !important;}
.egrid.rail .n{display: block !important; margin: 0px 0px 6px !important; font-size: 9.5px !important; letter-spacing: 0.16em !important;}
.egrid.rail h3{margin: 0px 0px 8px !important; font-size: 16px !important; line-height: 1.24 !important;}
.egrid.rail p{font-size: 14px !important; line-height: 1.6 !important; margin: 0px !important;}
.hero .bc{overflow-x: auto; scrollbar-width: none;}
.hero .bc::-webkit-scrollbar{display: none;}
.hero .bc ol{white-space: nowrap; display: flex !important; flex-wrap: nowrap !important; gap: 6px !important; margin: 0px !important; padding: 0px 0px 2px !important;}
.hero .bc li{flex: 0 0 auto;}
.hero-txt .hero-acts,.hero-txt .acts{display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important;}
.hero-txt .acts .btn,.hero-txt .hero-acts .btn{width: 100%; justify-content: center; text-align: center; min-height: 52px; padding-left: 10px !important; padding-right: 10px !important; font-size: 10px !important; letter-spacing: 0.1em !important;}
.hero-grid > .ph.r45{aspect-ratio: 16 / 9 !important;}
.hero-txt .hero-acts,.hero-txt .acts{grid-template-columns: auto minmax(0px, 1fr) !important;}
.hero-txt .hero-acts > *,.hero-txt .acts > *{min-width: 0px !important;}
.hero-txt,.hero-grid,.hero .wrap{min-width: 0px; max-width: 100%;}
.hero-txt .btn-tel{white-space: nowrap !important; font-size: 14px !important; letter-spacing: 0px !important; padding: 0px 14px !important;}
.ft-bottom p{font-size: 10px !important; line-height: 1.55 !important; font-weight: 400 !important; letter-spacing: 0.04em !important; text-transform: none !important;}
.ft-list a{min-height: 38px !important; padding: 2px 0px !important; font-size: 13.5px !important;}
.ft-list{gap: 0px !important;}
.ft-bottom{padding: 14px 0px 0px !important;}
.hero .bc li,.hero .bc a,.hero .bc span{font-size: 10.5px !important; line-height: 1.3 !important; letter-spacing: 0.1em !important;}
.hero .bc{padding-bottom: 6px !important;}
.hero .hero-acts .btn-tel,.hero-sz .hero-acts .btn-tel{font-size: 16px !important; letter-spacing: -0.01em !important; min-height: 52px !important;}
.ft-brand address{font-size: 13.5px !important; line-height: 1.5 !important;}
.ft-h{margin-bottom: 6px !important;}
.ft-grid > div + div{padding-top: 4px !important;}
.site-head{left: 0px; right: 0px; z-index: 900; position: fixed !important; top: 0px !important; height: auto !important;}
.site-head{transition: transform .3s var(--ease),opacity .3s !important;}
body.head-hide .site-head,body.page-home.nav-dispo.head-hide .site-head{transform: translateY(calc(-1 * (var(--nav-h,60px) + env(safe-area-inset-top) + 4px))) !important;}
body.page-home:not(.nav-dispo) .site-head{transform: translateY(-105%) !important;}
.page-dark .dark-sec .btn-accent,.hero .btn-accent,.hub-hero .btn-accent,.hero-sz .btn-accent{background: var(--navy) !important; color: rgb(255, 255, 255) !important; border: 1px solid rgba(255, 255, 255, 0.9) !important;}
.hero .btn-accent:hover{background: var(--navy-deep) !important; border-color: rgb(255, 255, 255) !important;}
.ft-list{display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0px 16px !important;}
.ft-list li{margin: 0px !important;}
.ft-list a{display: flex; align-items: center; min-height: 40px; padding: 4px 0px; font-size: 13.5px !important; line-height: 1.3 !important;}
.ft-brand p{font-size: 14px !important; line-height: 1.6 !important;}
.ft-grid{gap: clamp(20px, 3vw, 28px) !important;}
.plaque .btn-tel{margin-top: 16px !important; padding-top: 14px !important;}
}
.home-hero .hveil{mix-blend-mode: multiply !important; background: linear-gradient(rgb(141, 148, 158) 0%, rgb(153, 160, 169) 34%, rgb(42, 54, 66) 78%, rgb(27, 36, 47) 100%) !important;}
.mot-cut{position: absolute; margin: 0px; padding: 0px; pointer-events: none; display: inline-block; white-space: nowrap; mix-blend-mode: normal; color: rgb(255, 255, 255) !important; -webkit-text-fill-color: rgb(255, 255, 255) !important; background: none !important;}
.home-hero .tagline .p2,body.page-home .tagline .p2,.home-hero .tagline .p1,.home-hero .tagline .pt{background: none !important; color: transparent !important; -webkit-text-fill-color: transparent !important; -webkit-text-stroke: 0px !important; text-shadow: none !important;}
@media (max-width: 767px){
html.page-home{background: rgb(0, 0, 0) !important;}
body.page-home{overflow-x: hidden; margin: 0px !important; padding: 0px !important; background: rgb(0, 0, 0) !important;}
body.page-home .home-hero{position: relative !important; box-sizing: border-box !important; display: block !important; width: 100% !important; height: calc(140px + 100lvh) !important; min-height: calc(140px + 100lvh) !important; margin: 0px !important; padding: 0px !important; overflow: hidden !important; background: rgb(0, 0, 0) !important;}
body.page-home .home-vid{pointer-events: none; background: rgb(0, 0, 0); position: absolute !important; inset: 0px !important; width: 100% !important; height: 100% !important; z-index: 0 !important;}
body.page-home .home-vid video{opacity: 1; position: absolute !important; inset: 0px !important; display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center center !important;}
body.page-home .hveil{pointer-events: none; position: absolute !important; inset: 0px !important; width: 100% !important; height: 100% !important; z-index: 1 !important;}
body.page-home .hero-in{flex-direction: column; justify-content: center; position: relative !important; z-index: 2 !important; box-sizing: border-box !important; width: 100% !important; height: 100% !important; display: flex !important; padding-left: max(var(--px),env(safe-area-inset-left)) !important; padding-right: max(var(--px),env(safe-area-inset-right)) !important; padding-top: env(safe-area-inset-top) !important; padding-bottom: max(110px,calc(32px + env(safe-area-inset-bottom))) !important;}
body.page-home .home-hero .hero-foot{text-align: right; position: absolute !important; left: auto !important; right: max(28px,env(safe-area-inset-right)) !important; bottom: calc(160px + env(safe-area-inset-bottom)) !important; width: auto !important; margin: 0px !important; z-index: 5 !important;}
body.page-home .home-hero .hero-scroll{align-items: center; gap: 12px; white-space: nowrap; display: inline-flex !important; justify-content: flex-end !important; margin: 0px !important;}
}
@media (max-width: 859px){
.tagline{position: relative; font-family: 'Cabinet Grotesk',var(--fd),var(--ft) !important; font-weight: 800 !important; letter-spacing: -0.02em !important; line-height: 0.94 !important;}
.home-hero .hveil{mix-blend-mode: multiply !important; background: linear-gradient(rgb(58, 61, 64) 0px, rgb(107, 113, 120) 110px, rgb(141, 148, 158) 190px, rgb(153, 160, 169) 40%, rgb(42, 54, 66) 82%, rgb(27, 36, 47) 100%) !important;}
.mot-cut{position: absolute; margin: 0px; padding: 0px; pointer-events: none; display: inline-block; white-space: nowrap; color: rgb(255, 255, 255) !important; -webkit-text-fill-color: rgb(255, 255, 255) !important;}
.tagline{position: relative; padding: 0px;}
.home-hero .tagline .p2,body.page-home .tagline .p2,.home-hero .tagline .p1,.home-hero .tagline .pt{background: none !important; color: transparent !important; -webkit-text-fill-color: transparent !important; -webkit-text-stroke: 0px !important; text-shadow: none !important;}
.home-hero .hveil .tagline .p2,.home-hero .hveil .tagline .p1,.home-hero .hveil .tagline .pt,body.page-home .hveil .tagline .p2{color: rgb(255, 255, 255) !important; -webkit-text-fill-color: rgb(255, 255, 255) !important; background: none !important;}
.tagline .p1,.tagline .p2,.tagline .pt{position: relative; z-index: 1;}
.tagline .p1{font-weight: 500 !important; letter-spacing: 0.34em !important; color: rgb(255, 255, 255) !important; -webkit-text-fill-color: rgb(255, 255, 255) !important;}
.tagline .p2{font-weight: 800 !important; letter-spacing: -0.02em !important; color: rgb(255, 255, 255) !important; -webkit-text-fill-color: rgb(255, 255, 255) !important; -webkit-text-stroke: 0px !important;}
.tagline .pt{color: rgb(255, 255, 255) !important; -webkit-text-fill-color: rgb(255, 255, 255) !important;}
.home-hero{padding-top: 0px !important; padding-bottom: calc(clamp(30px,5vw,56px) + env(safe-area-inset-bottom)) !important;}
.home-hero > .wrap{padding-top: max(0px,env(safe-area-inset-top));}
.nav{padding-top: env(safe-area-inset-top);}
.menu,.mega{padding-top: env(safe-area-inset-top);}
html{background: var(--canvas);}
html.page-home{background: rgb(0, 0, 0);}
body.page-home{background: transparent;}
body.page-home .home-hero{background: transparent;}
body.page-home .hero-in{position: relative; z-index: 2;}
body.page-home .hero-l{text-align: left;}
body.page-home .tagline{font-size: clamp(48px, 17vw, 80px) !important;}
body.page-home .hero-proof{justify-content: flex-start !important;}
body.page-home .home-hero{margin-top: 0px !important;}
}
@media (min-width: 860px){
.home-hero{min-height: min(100svh, 56.25vw) !important; height: auto !important;}
.home-hero .home-vid video{image-rendering: auto;}
}
.sticky-main{background: rgb(255, 255, 255) !important; color: var(--navy-deep) !important;}
.sticky-main .ic{stroke: var(--navy-deep) !important;}
.sticky-main:hover,.sticky-main:active{background: var(--canvas) !important;}
body:not(.page-home) .hero{padding-top: calc(var(--nav-h) + clamp(24px,4vw,48px)) !important;}
.hub-hero .btn-accent,.hero-sz .btn-accent{border: 1px solid rgba(255, 255, 255, 0.9) !important;}
html:not([data-ton]) .nav{--nc: #fff; --nb: rgba(15,43,70,.92); --nf: rgba(255,255,255,.10);}
.nav{background: var(--nb); color: var(--nc); border-bottom: 1px solid var(--nf,transparent); backdrop-filter: saturate(160%) blur(16px);}
html[data-ton="sombre"] .nav{--nc: #fff; --nb: rgba(15,43,70,.92); --nf: rgba(255,255,255,.10);}
html[data-ton="clair"] .nav{--nc: var(--ink); --nb: rgba(250,250,249,.92); --nf: var(--stroke);}
html[data-fond="nu"] .nav{--nb: transparent; --nf: transparent; backdrop-filter: none;}
html[data-ton="clair"] .btn-nav:hover{color: rgb(255, 255, 255); background: var(--ink);}
@media (min-width: 860px){
.home-hero{min-height: 100svh !important; height: auto !important;}
.home-hero .home-vid video{object-fit: cover !important; object-position: center 42% !important;}
.home-hero .tagline .tl-k{line-height: 1; display: block !important; font-family: var(--fb) !important; font-weight: 500 !important; font-size: clamp(10px, 0.82vw, 12.5px) !important; letter-spacing: 0.42em !important; text-transform: uppercase !important; color: rgba(255, 255, 255, 0.72) !important; margin: 0px 0px clamp(14px, 1.6vw, 22px) !important;}
.home-hero .hero-foot{z-index: 4; pointer-events: none; text-align: right; display: block !important; position: absolute !important; left: auto !important; right: clamp(20px, 2.2vw, 40px) !important; bottom: clamp(24px, 3vw, 46px) !important; width: auto !important; margin: 0px !important;}
.home-hero .hero-rdv{display: none !important;}
.home-hero .hero-scroll{flex-direction: column; align-items: center; gap: 10px; pointer-events: auto; text-decoration: none; color: rgba(255, 255, 255, 0.8); transition: color .3s var(--ease); display: flex !important;}
.home-hero .hero-scroll:hover{color: rgb(255, 255, 255);}
.home-hero .hero-scroll span{width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; position: absolute !important;}
.home-hero .hero-scroll::before{content: ""; display: block; width: 1px; height: clamp(44px, 5vw, 68px); background-color: rgba(255, 255, 255, 0.22); background-image: linear-gradient(rgba(255, 255, 255, 0) 0px, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 0) 100%); background-size: 100% 40%; background-repeat: no-repeat; animation: 2.6s cubic-bezier(0.62, 0, 0.38, 1) 0s infinite normal none running fpe-fil;}
.home-hero .hero-scroll svg{width: 14px; height: 14px; stroke-width: 1.6; opacity: 0.85; animation: 2.6s ease-in-out 0s infinite normal none running fpe-descend;}
}
@keyframes fpe-fil { 
  0% { background-position: 0px -67%; }
  70%, 100% { background-position: 0px 167%; }
}
@media (max-width: 859px){
.home-hero .tagline .tl-k{display: none !important;}
}
@media (prefers-reduced-motion: reduce){
.home-hero .hero-scroll::before,.home-hero .hero-scroll svg{animation: auto ease 0s 1 normal none running none !important;}
}
.home-hero .tagline .p2{font-weight: 900 !important; letter-spacing: -0.05em !important;}
html:not(.mot-decoupe) .home-hero .tagline .p2{color: rgb(255, 255, 255) !important; -webkit-text-fill-color: rgb(255, 255, 255) !important;}
@media (max-width: 859px){
body.page-home .home-hero .hero-foot{pointer-events: none; display: block !important; position: absolute !important; left: auto !important; right: max(24px,env(safe-area-inset-right)) !important; width: auto !important; margin: 0px !important; text-align: right !important; z-index: 5 !important;}
body.page-home .home-hero .hero-rdv{display: none !important;}
body.page-home .home-hero .hero-scroll{pointer-events: auto; text-decoration: none; white-space: nowrap; display: inline-flex !important; flex-direction: column !important; align-items: center !important; gap: 7px !important; margin: 0px !important; padding: 0px !important; min-height: 0px !important;}
body.page-home .home-hero .hero-scroll span{order: 1; position: static !important; width: auto !important; height: auto !important; padding: 0px !important; margin: 0px !important; overflow: visible !important; clip-path: none !important; font: 500 9.5px/1 var(--fb) !important; letter-spacing: 0.42em !important; text-transform: uppercase !important; color: rgba(255, 255, 255, 0.72) !important; text-indent: 0.42em !important;}
body.page-home .home-hero .hero-scroll::before{content: ""; display: block; order: 2; width: 1px; height: 26px; background-color: rgba(255, 255, 255, 0.32); background-image: linear-gradient(rgba(255, 255, 255, 0) 0px, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 0) 100%); background-size: 100% 40%; background-repeat: no-repeat; animation: 2.6s cubic-bezier(0.62, 0, 0.38, 1) 0s infinite normal none running fpe-fil;}
body.page-home .home-hero .hero-scroll svg{order: 3; stroke-width: 1.6; opacity: 0.85; animation: 2.6s ease-in-out 0s infinite normal none running fpe-descend; width: 12px !important; height: 12px !important;}
}
@media (min-width: 768px) and (max-width: 859px){
body.page-home .home-hero .hero-foot{bottom: calc(36px + env(safe-area-inset-bottom)) !important;}
}
@media (max-width: 767px){
body.page-home .home-hero .hero-foot{bottom: calc(204px + env(safe-area-inset-bottom)) !important;}
body.page-home .home-hero .hero-foot{bottom: calc(100lvh - 100svh + 204px + env(safe-area-inset-bottom)) !important;}
}
@media (max-width: 859px) and (prefers-reduced-motion: reduce){
body.page-home .home-hero .hero-scroll::before,body.page-home .home-hero .hero-scroll svg{animation: auto ease 0s 1 normal none running none !important;}
}
.consent{position: fixed; inset: 0px; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(9, 18, 28, 0.5); backdrop-filter: blur(10px) saturate(115%); opacity: 0; visibility: hidden; transition: opacity .45s var(--ease),visibility 0s .45s;}
.consent.show{opacity: 1; visibility: visible; transition-delay: 0s;}
.consent-card{position: relative; width: 100%; max-width: 552px; max-height: calc(-48px + 100vh); overflow-y: auto; padding: clamp(28px, 3.6vw, 40px); background: var(--paper); color: var(--ink); border: 1px solid rgba(26, 39, 54, 0.12); border-radius: 0px; box-shadow: rgba(15, 43, 70, 0.05) 0px 1px 2px, rgba(15, 43, 70, 0.12) 0px 6px 14px -6px, rgba(15, 43, 70, 0.3) 0px 30px 60px -24px, rgba(9, 18, 28, 0.55) 0px 90px 140px -60px; transform: translateY(20px); transition: transform .45s var(--ease);}
.consent.show .consent-card{transform: none;}
.consent-card::before{content: ""; position: absolute; top: -1px; left: -1px; width: 48px; height: 2px; background: var(--navy);}
.consent-card:focus{outline: none;}
.consent-top{display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0px 0px 22px;}
.consent-kicker{display: flex; align-items: center; gap: 10px; font: 700 10.5px/1 var(--ft); letter-spacing: 1.9px; text-transform: uppercase; color: var(--navy);}
.consent-kicker::before{content: ""; width: 7px; height: 7px; background: var(--warm); flex: 0 0 auto;}
.consent-skip{padding: 0px; border: 0px; background: none; cursor: pointer; font: 400 12.5px/1.3 var(--fb); color: var(--ink-faint); box-shadow: inset 0 -1px 0 var(--stroke-med); transition: color .25s var(--ease),box-shadow .25s var(--ease);}
.consent-skip:hover{color: var(--ink); box-shadow: inset 0 -1px 0 var(--ink);}
.consent .consent-t{font: 600 clamp(22px,3.6vw,28px)/1.18 var(--ft); letter-spacing: -0.02em; color: var(--ink); margin: 0px 0px 14px;}
.consent p{margin: 0px; font: 400 13.5px/1.7 var(--fb); color: var(--ink-soft);}
.consent p a{color: var(--navy); text-decoration: none; box-shadow: inset 0 -1px 0 var(--stroke-strong); transition: box-shadow 0.25s;}
.consent p a:hover{box-shadow: inset 0 -1px 0 var(--navy);}
.consent-list{list-style: none; margin: 24px 0px 0px; padding: 0px; border-top: 1px solid var(--stroke);}
.consent-item{display: flex; align-items: flex-start; gap: 18px; padding: 16px 0px; border-bottom: 1px solid var(--stroke);}
.consent-item-txt{flex: 1 1 0%; min-width: 0px;}
.consent-item-t{display: block; font: 600 13.5px/1.35 var(--fb); color: var(--ink);}
.consent-item-s{display: block; margin-top: 4px; font: 400 12.5px/1.55 var(--fb); color: var(--ink-faint);}
.consent-fixe{flex: 0 0 auto; align-self: center; font: 600 9.5px/1 var(--fb); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-faint); white-space: nowrap;}
.consent-sw{position: relative; flex: 0 0 auto; align-self: center; width: 48px; height: 26px; padding: 0px; cursor: pointer; border: 1px solid var(--stroke-strong); border-radius: 0px; background: var(--canvas2); box-shadow: rgba(15, 43, 70, 0.1) 0px 1px 3px inset; transition: background .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease);}
.consent-sw > span{position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; background: var(--paper); border: 1px solid rgba(15, 43, 70, 0.14); box-shadow: rgba(15, 43, 70, 0.34) 0px 1px 3px; transition: transform .28s var(--ease),border-color .28s var(--ease);}
.consent-sw[aria-checked="true"]{background: var(--navy); border-color: var(--navy); box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px inset;}
.consent-sw[aria-checked="true"] > span{transform: translateX(22px); border-color: transparent;}
.consent-btns{display: flex; gap: 12px; margin: 28px 0px 0px;}
.consent .btn{display: inline-flex; align-items: center; justify-content: center; flex: 1 1 0%; min-height: 48px; padding: 12px 22px; border-radius: 0px; cursor: pointer; font: 600 11px/1 var(--fb); letter-spacing: 1.9px; text-transform: uppercase; transition: background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);}
.consent .btn-accent{background: var(--navy); color: rgb(255, 255, 255); border: 1px solid var(--navy); box-shadow: rgba(15, 43, 70, 0.6) 0px 10px 24px -16px;}
.consent .btn-accent:hover{background: var(--navy-deep); border-color: var(--navy-deep);}
.consent .btn-ghost{background: transparent; color: var(--ink); border: 1px solid var(--stroke-strong);}
.consent .btn-ghost:hover{border-color: var(--navy); color: var(--navy); background: var(--canvas);}
.consent .btn:focus-visible,.consent-skip:focus-visible,.consent-sw:focus-visible{outline: 2px solid var(--navy); outline-offset: 3px;}
html.consent-fige{overflow: hidden;}
body.consent-fige{position: fixed; left: 0px; right: 0px; width: 100%; overflow: hidden;}
@media (prefers-reduced-motion: reduce){
.consent,.consent-card,.consent-sw,.consent-sw > span{transition-duration: 0.01ms;}
}
@media (max-width: 620px){
.consent{align-items: flex-end; padding: 0px;}
.consent-card{max-width: none; max-height: 92vh; border-bottom: 0px; padding: 28px 20px calc(26px + env(safe-area-inset-bottom)); transform: translateY(100%);}
.consent-card::before{left: 0px;}
.consent-btns{flex-direction: column-reverse;}
}
@media (min-width: 761px) and (max-width: 859px){
html,body{overflow-x: clip;}
.rail{overflow-x: auto;}
}
.fpe-voile,.fpe-lame,.fpe-tiroir{--fpe-ocre: #C28840; --fpe-ocre-f: #A9732F; --fpe-encre: #0A1F33;}
.fpe-lame{position: fixed; right: 0px; z-index: 980; display: flex; flex-direction: column; align-items: center; gap: 14px; width: 48px; margin: 0px; padding: 22px 0px; border: 0px; border-radius: 0px; background: var(--fpe-ocre); color: var(--fpe-encre); font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; visibility: hidden; will-change: transform; transition: transform 0.32s cubic-bezier(0.4, 0, 1, 1), background 0.25s, visibility linear 0.32s;}
body[data-fpe-lame="1"] .fpe-lame{visibility: visible; transition: transform 0.46s cubic-bezier(0.2, 0.8, 0.2, 1), background 0.25s, visibility;}
body[data-fpe-entree="1"] .fpe-lame{transition: transform 0.72s cubic-bezier(0.16, 1, 0.3, 1), background 0.25s, visibility;}
.fpe-lame:hover{background: var(--fpe-ocre-f);}
.fpe-lame:focus-visible{outline: 2px solid var(--fpe-encre); outline-offset: -5px;}
.fpe-lame-mot{writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; font: 500 10.5px/1 var(--fm); letter-spacing: 0.1em; text-transform: uppercase;}
.fpe-lame-fl{display: flex; flex-shrink: 0;}
.fpe-lame-mot,.fpe-lame-fl{opacity: 0; transition: opacity 0.16s linear;}
body[data-fpe-lame="1"] .fpe-lame-mot{opacity: 1; transition: opacity 0.4s linear 0.22s;}
body[data-fpe-lame="1"] .fpe-lame-fl{opacity: 1; transition: opacity 0.4s linear 0.34s, transform 0.46s cubic-bezier(0.2, 0.8, 0.2, 1);}
@keyframes fpe-signe { 
  0%, 44%, 80%, 100% { transform: translateX(0px); }
  22% { transform: translateX(-5px); }
  62% { transform: translateX(-3px); }
}
body[data-fpe-entree="1"] .fpe-lame-fl svg{animation: 0.9s cubic-bezier(0.36, 0.07, 0.19, 0.97) 0.74s 1 normal both running fpe-signe;}
.fpe-voile{position: fixed; inset: 0px; z-index: 970; background: rgba(10, 31, 51, 0.7); opacity: 0; pointer-events: none; touch-action: none; transition: opacity 0.34s cubic-bezier(0.2, 0.8, 0.2, 1);}
.fpe-tiroir{position: fixed; z-index: 975; display: flex; flex-direction: column; background: var(--paper,#fff); outline: none; visibility: hidden; will-change: transform; transition: transform 0.46s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.46s, visibility linear 0.46s;}
body[data-fpe="ouvert"] .fpe-tiroir{visibility: visible; transition: transform 0.46s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.46s, visibility;}
.fpe-tete{height: 50px; flex-shrink: 0; background: var(--navy); display: flex; align-items: center; justify-content: space-between; padding-left: 22px;}
.fpe-tete span{font: 500 9.5px/1 var(--fm); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(244, 246, 248, 0.82);}
.fpe-x{width: 50px; height: 50px; margin: 0px; border: 0px; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0px; color: rgb(255, 255, 255);}
.fpe-rail{height: 3px; flex-shrink: 0; background: rgba(15, 43, 70, 0.14);}
.fpe-rail i{display: block; height: 3px; width: 0px; background: var(--fpe-ocre); transition: width 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);}
.fpe-corps{flex: 1 1 auto; min-height: 0px; overflow-y: auto; overscroll-behavior: contain; margin: 0px; padding: 22px; display: flex; flex-direction: column; gap: 18px;}
.fpe-titre{margin: 0px; font: 700 25px/1.14 var(--fd); letter-spacing: -0.025em; color: var(--ink);}
.fpe-titre em{font-style: normal; color: var(--fpe-ocre);}
.fpe-rangs{border-bottom: 1px solid rgba(15, 43, 70, 0.16);}
.fpe-rang{display: flex; flex-wrap: wrap; align-items: center; column-gap: 14px; min-height: 50px; padding: 0px 8px; border-top: 1px solid rgba(15, 43, 70, 0.16); transition: box-shadow 0.18s linear;}
.fpe-rang:focus-within{box-shadow: inset 0 -2px 0 var(--navy);}
.fpe-rang--h{align-items: flex-start; padding-top: 14px; padding-bottom: 14px;}
.fpe-rang label{width: 82px; flex-shrink: 0; margin: 0px; font: 500 9.5px/1 var(--fm); letter-spacing: 0.1em; text-transform: uppercase; color: var(--navy);}
.fpe-rang--h label{padding-top: 4px;}
.fpe-rang input,.fpe-rang textarea{flex: 1 1 0px; min-width: 0px; margin: 0px; border: 0px; background: transparent; color: var(--ink-muted); font: 500 16px/1.35 var(--fb); padding: 0px; outline: none; border-radius: 0px; box-shadow: none; appearance: none;}
.fpe-rang textarea{height: 56px; resize: none;}
.fpe-rang ::placeholder{color: rgba(26, 39, 54, 0.42);}
.fpe-rang .f-msg{flex: 0 0 100%; margin: 0px 0px 10px; padding-left: 96px; font-size: 13.5px; color: var(--warm-deep);}
.fpe-corps .f-err{margin: 0px; padding: 0px; border: 0px; background: none; font-size: 13.5px; line-height: 1.45; color: var(--warm-deep);}
.fpe-corps .hp{position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden;}
.fpe-ok{display: flex; align-items: flex-start; gap: 11px; margin: 0px; cursor: pointer;}
.fpe-ok input{width: 18px; height: 18px; margin: 0px; accent-color: var(--navy); flex-shrink: 0;}
.fpe-ok span{font: 400 11.5px/1.5 var(--fb); color: var(--ink-soft);}
.fpe-corps .btn{margin-top: auto;}
.fpe-corps .btn-accent{background: var(--navy); border-color: var(--navy); color: rgb(255, 255, 255);}
.fpe-corps .btn-accent:hover{background: var(--navy-deep); border-color: var(--navy-deep);}
@media (max-width: 859px){
.fpe-lame{bottom: 98px; transform: translate3d(112%, 0px, 0px);}
body[data-fpe-lame="1"] .fpe-lame{transform: translate3d(0px, 0px, 0px);}
body[data-fpe="ouvert"] .fpe-lame{transform: translate3d(0px, calc(98px - min(500px, -16px + 100svh)), 0px);}
.fpe-lame-fl{transform: rotate(90deg);}
body[data-fpe="ouvert"] .fpe-lame-fl{transform: rotate(-90deg);}
.fpe-tiroir{left: 0px; right: 0px; bottom: 0px; height: min(500px, -16px + 100svh); transform: translate3d(0px, 100%, 0px);}
body[data-fpe="ouvert"] .fpe-tiroir{transform: translate3d(0px, 0px, 0px);}
body[data-fpe="ouvert"] .fpe-voile{opacity: 1; pointer-events: auto;}
.fpe-corps{padding-bottom: calc(22px + env(safe-area-inset-bottom));}
html.fpe-fige{overflow: hidden;}
}
@media (min-width: 600px) and (max-width: 859px){
.fpe-corps{padding-left: max(22px, 50% - 280px); padding-right: max(22px, 50% - 280px);}
}
@media (max-width: 389px){
.fpe-titre{font-size: 22px;}
}
@media (min-width: 860px){
.fpe-voile{display: none;}
.fpe-lame{top: 50%; transform: translate3d(112%, -50%, 0px);}
body[data-fpe-lame="1"] .fpe-lame{transform: translate3d(0px, -50%, 0px);}
body[data-fpe="ouvert"] .fpe-lame{transform: translate3d(-430px, -50%, 0px);}
body[data-fpe="ouvert"] .fpe-lame-fl{transform: rotate(180deg);}
.fpe-tiroir{top: 50%; right: 0px; width: 430px; max-height: calc(-40px + 100vh); transform: translate3d(100%, -50%, 0px);}
body[data-fpe="ouvert"] .fpe-tiroir{transform: translate3d(0px, -50%, 0px); box-shadow: rgba(10, 31, 51, 0.66) -28px 0px 76px -40px;}
.fpe-corps{padding: 24px;}
}
@media (prefers-reduced-motion: reduce){
.fpe-lame,body[data-fpe-lame="1"] .fpe-lame,body[data-fpe-entree="1"] .fpe-lame,.fpe-lame-mot,.fpe-lame-fl,body[data-fpe-lame="1"] .fpe-lame-mot,body[data-fpe-lame="1"] .fpe-lame-fl,.fpe-tiroir,.fpe-voile{transition-duration: 0.01s !important; transition-delay: 0s !important;}
.fpe-lame-fl svg{animation: auto ease 0s 1 normal none running none !important;}
}
@media (max-width: 859px){
.fpe-lame{width: 24px; padding: 16px 0px; gap: 10px;}
.fpe-lame-mot{font-size: 9.5px; letter-spacing: 0.06em;}
.fpe-lame-fl svg{width: 11px; height: 11px;}
}
@media (min-width: 760px){
.band-navy .spec.rail > div{display: block !important; min-width: 0px;}
.band-navy .spec.rail{grid-template-columns: repeat(var(--cols,6),minmax(0,1fr)) !important;}
.band-navy .spec.rail dd{overflow-wrap: break-word; hyphens: auto;}
}
@media (max-width: 859px){
.egrid.rail{scroll-padding-left: var(--px); padding-left: var(--px) !important; padding-right: var(--px) !important;}
.egrid.c2.rail > div,.egrid.c3.rail > div{display: block !important; grid-template-columns: none !important; padding: 0px !important; border: 0px !important;}
.egrid.c2.rail > div > .ph,.egrid.c3.rail > div > .ph{width: 100% !important; aspect-ratio: 3 / 2 !important; margin: 0px 0px 12px !important; grid-row: auto !important;}
.ft-list a{min-height: 44px !important;}
}
.hero-contact .hero-proof{display: block !important; white-space: normal !important; overflow: visible !important; border-top: 0px !important; padding: 0px !important; margin-top: 14px !important; color: var(--ink-soft) !important;}
.lp-cert img[src*="decennale"]{filter: grayscale(1);}
@media (max-width: 859px){
.link{line-height: 1.45;}
}
.hero-sz .szband{overflow: visible; margin-bottom: 34px;}
.hero-sz .szband figcaption{position: absolute !important; inset: 100% 0px auto !important; margin: 10px 0px 0px !important; padding: 0px !important; background: none !important;}
@media (min-width: 760px){
.hero-sz[data-mark]::after{right: 0px !important;}
}
@media (max-width: 759px){
.hero-sz[data-mark]::after{display: none !important;}
}
.page-travaux .tx-certifs .tx-rge{font-size: 0.62em; opacity: 0.78;}
:root{--ink-faint: rgba(26,39,54,.68);}
.page-travaux .tx-dep > summary{pointer-events: none; cursor: default;}
.page-travaux .tx-dep > summary::after{display: none !important;}
.nb{white-space: nowrap;}
@media (min-width: 860px){
.page-travaux .tx-cmp-ep{right: 62px !important;}
}
@media (min-width: 760px){
.hero-sz[data-mark]::after{right: 0.1em !important;}
}
.hero-fiche .hero-acts .btn.btn-accent{background: var(--navy) !important; color: rgb(255, 255, 255) !important; border: 1px solid var(--navy) !important;}
.hero-fiche .hero-acts .btn.btn-accent:hover{background: var(--navy-deep) !important; border-color: var(--navy-deep) !important;}
@media (max-width: 859px){
body.page-home :where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) main > :not(.hero) p,body.page-home :where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) main > :not(.hero) li,body.page-home .faq-a-in{font-size: 16.5px !important; line-height: 1.55 !important;}
body.page-home main > :not(.hero) .label,body.page-home main > :not(.hero) .cap,body.page-home main > :not(.hero) small{font-size: 13px !important;}
}
@media (min-width: 860px){
body.page-home :where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) main > :not(.hero) p,body.page-home :where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) main > :not(.hero) li{font-size: 17px !important; line-height: 1.55 !important;}
}
body.page-home .dark-sec p,body.page-home .dark-sec li,body.page-home .cta-sec p,body.page-home .avis-sec p,body.page-home .ac-verif p{color: rgba(255, 255, 255, 0.92) !important;}
@media (max-width: 859px){
body.page-home :where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) main h2{font-size: 30px !important; line-height: 1.08 !important; letter-spacing: -0.02em !important;}
body.page-home main .ac-vitrine h2{font-size: 46px !important; line-height: 1.02 !important; letter-spacing: -0.03em !important;}
}
@media (min-width: 860px){
body.page-home :where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) main h2{font-size: 54px !important; line-height: 1.04 !important; letter-spacing: -0.025em !important;}
body.page-home main .ac-vitrine h2{font-size: 88px !important; line-height: 0.98 !important; letter-spacing: -0.035em !important;}
}
@media (max-width: 859px){
body.page-home .home-hero .hveil .hm-cut{display: none !important;}
body.page-home .home-hero .ac-tel-hero{display: flex !important;}
}
body.page-home .home-hero .ac-tel-hero{display: none; position: absolute; z-index: 5; left: max(var(--px),env(safe-area-inset-left)); flex-direction: column; align-items: flex-start; gap: 9px; padding: 0px 10px 6px 0px; text-decoration: none; color: rgb(255, 255, 255); transition: opacity .3s var(--ease);}
body.page-home .home-hero .ac-tel-hero .k{font: 500 9.5px/1 var(--fb); letter-spacing: 0.42em; text-transform: uppercase; color: rgba(255, 255, 255, 0.72);}
body.page-home .home-hero .ac-tel-hero .n{font: 600 18px/1 var(--fb); letter-spacing: 0.1em; color: rgb(201, 211, 218); text-shadow: rgba(0, 0, 0, 0.5) 0px 1px 14px;}
body.page-home .home-hero .ac-tel-hero .ic{display: none;}
body.page-home .home-hero .ac-tel-hero:active .n{color: rgb(255, 255, 255);}
body.page-home .home-hero .ac-tel-hero:active .k{color: rgba(255, 255, 255, 0.95);}
@media (max-width: 767px){
body.page-home .home-hero .ac-tel-hero{bottom: calc(223px + env(safe-area-inset-bottom));}
body.page-home .home-hero .ac-tel-hero{bottom: calc(100lvh - 100svh + 223px + env(safe-area-inset-bottom));}
}
@media (min-width: 768px) and (max-width: 859px){
body.page-home .home-hero .ac-tel-hero{bottom: calc(55px + env(safe-area-inset-bottom));}
}
body.page-home .ac-rappel .k{margin: 0px 0px 10px; letter-spacing: 0.26em; text-transform: uppercase; color: rgba(26, 39, 54, 0.68); font: 600 10.5px/1 var(--fb) !important;}
body.page-home .ac-rappel .t{margin: 0px; letter-spacing: -0.015em; color: var(--ink); max-width: 32ch; font: 500 clamp(19px,2.1vw,23px)/1.34 var(--ft) !important;}
body.page-home .stats{display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 1px !important; background: rgba(255, 255, 255, 0.2) !important; margin: 0px 0px clamp(28px, 3.4vw, 42px) !important; padding: 0px !important; border: 0px !important;}
@media (min-width: 860px){
body.page-home .stats{grid-template-columns: repeat(4, 1fr) !important;}
}
body.page-home .stats .stat{background: var(--ink) !important; padding: 22px 16px !important; margin: 0px !important; border: 0px !important; display: block !important;}
body.page-home .stats .stat b{display: block !important; font: 800 clamp(34px,6.4vw,56px)/.95 var(--ft) !important; letter-spacing: -0.035em !important; color: rgb(255, 255, 255) !important; margin: 0px 0px 8px !important;}
body.page-home .stats .stat b.long{font-size: clamp(23px, 4.2vw, 34px) !important;}
body.page-home .stats .stat b small{margin-left: 0.08em; font-size: 0.44em !important; color: var(--sky) !important;}
body.page-home .stats .stat > span{display: block !important; font: 600 13.5px/1.35 var(--fb) !important; color: rgba(255, 255, 255, 0.92) !important;}
body.page-home .stats .stat > span small{display: block !important; margin-top: 7px !important; font-weight: 400 !important; font-size: 12.5px !important; line-height: 1.45 !important; color: rgba(255, 255, 255, 0.62) !important;}
@media (max-width: 859px){
body.page-home .form-sec{padding-top: 24px !important; padding-bottom: 26px !important;}
body.page-home .certif-sec{padding-top: 22px !important; padding-bottom: 22px !important;}
body.page-home .cta-sec{padding-top: 24px !important; padding-bottom: 26px !important;}
body.page-home .terr2{padding-top: 30px !important; padding-bottom: 30px !important;}
body.page-home .avis-sec{padding-top: 28px !important; padding-bottom: 28px !important;}
}
@media (min-width: 860px){
body.page-home .cta-sec{padding-top: 78px !important; padding-bottom: 78px !important;}
}
body.page-home main a.link,body.page-home main a.btn,body.page-home :where(header.site-head,nav.nav,nav.menu-nav,section.hero,footer.ft,#consent,.fpe-tiroir,.skip) main button{min-height: 44px;}
@media (min-width: 860px){
main h1{text-wrap: pretty;}
}

/* --- pied, variante F2 --- */

/* ------------------------------------------------- pied F2, repris du site */
.ft2{background:var(--ink,#0E1117);color:#F4F6F8;padding:clamp(32px,3.4vw,46px) 0 clamp(14px,1.6vw,20px)}
.ft2 a{color:inherit;text-decoration:none}
.ft2-t{display:flex;align-items:flex-end;justify-content:flex-start;gap:28px;flex-wrap:wrap;
  padding-bottom:clamp(15px,1.7vw,21px);border-bottom:1px solid rgba(244,246,248,.16)}
.ft2-j{display:flex;gap:clamp(20px,2.8vw,50px);flex-wrap:wrap;align-items:baseline}
.ft2-j a,.ft2-j span{max-width:none;font-family:'Geist Mono',ui-monospace,monospace;
  font-size:10.5px;letter-spacing:.11em;text-transform:uppercase}
.ft2-j span{color:rgba(244,246,248,.5)}
.ft2-j a{color:rgba(244,246,248,.86);border-bottom:1px solid rgba(244,246,248,.28);padding-bottom:2px;
  transition:color .3s,border-color .3s}
.ft2-j a:hover{color:#F4F6F8;border-color:#9CC3DB}
/* les horaires ferment la ligne de contact, à son extrémité droite */
.ft2-j .ft2-hr{margin-left:auto;color:rgba(244,246,248,.5)}
@media(max-width:860px){.ft2-j .ft2-hr{margin-left:0;flex-basis:100%}}
.ft2-g{margin-top:clamp(18px,2vw,27px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(18px,2.4vw,42px)}
.ft2-h{margin:0 0 12px;font-family:'Geist Mono',ui-monospace,monospace;font-size:10px;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(244,246,248,.52)}
.ft2-l{list-style:none;margin:0;padding:0}
.ft2-l li + li{margin-top:7px}
.ft2-l a{display:block;max-width:none;font-size:13.5px;line-height:1.45;
  color:rgba(244,246,248,.82);transition:color .3s}
.ft2-l a:hover{color:#F4F6F8}
.ft2-b{margin-top:clamp(18px,2.1vw,28px);padding-top:clamp(12px,1.4vw,16px);
  border-top:1px solid rgba(244,246,248,.14)}
.ft2-d{margin:0 0 clamp(12px,1.4vw,17px);max-width:none;font-size:12px;line-height:1.66;
  color:rgba(244,246,248,.56)}
.ft2-lg{margin:0;max-width:none;font-family:'Geist Mono',ui-monospace,monospace;font-size:8.5px;
  letter-spacing:.035em;text-transform:uppercase;color:rgba(244,246,248,.38);line-height:1.62}
@media(max-width:900px){
  .ft2-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft2-lg{font-size:8px}
  .ft2-d{font-size:11.5px}
}

/* ------------------------------------------------- l'identite, en tete de pied
   La presentation de l'entreprise remonte au-dessus de la ligne de contact,
   avec le logo contre elle et les horaires dessous. Elle cesse d'etre une
   mention legale en petit gris : on lui donne du corps, de l'interligne et
   une mesure courte, et le nom de la societe porte l'accroche. */
.ft2-t{display:block}
.ft2-id{display:grid;grid-template-columns:auto minmax(0,1fr);
  column-gap:clamp(20px,2.2vw,36px);row-gap:12px;align-items:start}
.ft2-mk{grid-row:1 / span 2;width:clamp(112px,8.4vw,146px);height:auto;
  margin-top:5px;opacity:.94}
.ft2-id .ft2-d{grid-column:2;margin:0;max-width:none;
  font-size:clamp(13.5px,1.02vw,15px);line-height:1.68;font-weight:300;
  letter-spacing:-.004em;color:rgba(244,246,248,.74)}
.ft2-id .ft2-d b{font-weight:600;letter-spacing:-.012em;color:#F4F6F8}
.ft2-hr{grid-column:2;margin:0;font-family:'Geist Mono',ui-monospace,monospace;
  font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(244,246,248,.5)}
.ft2-t .ft2-j{margin-top:clamp(15px,1.8vw,23px)}
@media(max-width:760px){
  .ft2-id{grid-template-columns:minmax(0,1fr);row-gap:16px}
  .ft2-mk{grid-row:auto;width:124px;margin-top:0}
  .ft2-id .ft2-d,.ft2-hr{grid-column:1}
}
