@font-face{font-family:'Bodoni Moda';font-style:normal;font-display:swap;font-weight:400 900;src:url(/bodoni-moda-latin-opsz-normal.woff2) format('woff2-variations');}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-display:swap;font-weight:400 900;src:url(/bodoni-moda-latin-opsz-italic.woff2) format('woff2-variations');}
@font-face{font-family:'Public Sans';font-style:normal;font-display:swap;font-weight:100 900;src:url(/public-sans-latin-wght-normal.woff2) format('woff2-variations');}
@font-face{font-family:'Public Sans';font-style:italic;font-display:swap;font-weight:100 900;src:url(/public-sans-latin-wght-italic.woff2) format('woff2-variations');}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:#FFFFFF;font-family:'Public Sans',system-ui,sans-serif;color:#0A2A52;font-size:16px;line-height:1.6;font-optical-sizing:auto;overflow-x:hidden;}
img{max-width:100%;}
h1,h2,h3{text-wrap:balance;}
:focus-visible{outline:2px solid #1F5FB8;outline-offset:3px;}
.skip{position:absolute;left:-9999px;top:8px;background:#0A2A52;color:#fff;padding:10px 16px;border-radius:999px;z-index:100;}
.skip:focus{left:16px;}
section[id]{scroll-margin-top:84px;}
a{color:#1F5FB8;}
a:hover{color:#0A2A52;}
@keyframes v2Rise{from{opacity:0;transform:translateY(32px);}to{opacity:1;transform:none;}}
@keyframes v2Ken{from{transform:scale(1.04);}to{transform:scale(1.14) translateY(-1.5%);}}
@keyframes v2Sway{0%,100%{transform:rotate(-1.4deg);}50%{transform:rotate(1.4deg);}}
@keyframes v2Marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes v2Wave{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes v2Parallax{from{transform:translateY(-8%) scale(1.16);}to{transform:translateY(8%) scale(1.16);}}
@keyframes v2Shine{from{transform:translateX(-120%) skewX(-18deg);}to{transform:translateX(320%) skewX(-18deg);}}
@keyframes v2Line{from{transform:scaleX(0);}to{transform:scaleX(1);}}
.v2-rise{animation:v2Rise 1.1s cubic-bezier(.2,.7,.2,1) both;}
.v2-d1{animation-delay:.15s;}.v2-d2{animation-delay:.3s;}.v2-d3{animation-delay:.45s;}.v2-d4{animation-delay:.6s;}.v2-d5{animation-delay:.75s;}
.v2-ken{animation:v2Ken 22s ease-in-out infinite alternate;}
.v2-sway{transform-origin:50% 100%;animation:v2Sway 11s ease-in-out infinite;}
.v2-marquee{animation:v2Marquee 46s linear infinite;}
.v2-wave{animation:v2Wave 18s linear infinite;}
.v2-row{transition:background-color .35s ease,padding-left .35s ease;}
.v2-row:hover{background-color:rgba(255,255,255,.06);padding-left:16px;}
.v2-row-light{transition:background-color .35s ease,transform .35s ease,box-shadow .35s ease;}
.v2-row-light:hover{background-color:#F3F8FD;transform:translateY(-4px);box-shadow:0 18px 36px -24px rgba(10,42,82,.45);}
.v2-row-light:hover .v2-arrow{transform:translateX(6px);opacity:1;}
.v2-row-light:hover .v2-ico{background-color:#1F5FB8;color:#FFFFFF;}
.v2-arrow{transition:transform .35s ease,opacity .35s ease;opacity:.35;}
.v2-ico{transition:background-color .35s ease,color .35s ease;}
.v2-btn{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;}
.v2-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(31,95,184,.7);}
.v2-btn::after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:rgba(255,255,255,.3);transform:translateX(-120%) skewX(-18deg);}
.v2-btn:hover::after{animation:v2Shine .8s ease;}
.v2-photo{overflow:hidden;}
.v2-photo img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1);}
.v2-photo:hover img{transform:scale(1.06);}
.v2-link{background-image:linear-gradient(currentColor,currentColor);background-size:0% 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .35s ease;}
.v2-link:hover{background-size:100% 1.5px;}
.v2-rule{transform-origin:0 50%;animation:v2Line 1.2s cubic-bezier(.2,.7,.2,1) .9s both;}
.v2-check{transition:transform .35s ease;}
.v2-item:hover .v2-check{transform:scale(1.15);}
@supports (animation-timeline: view()){
.v2-reveal{animation:v2Rise linear both;animation-timeline:view();animation-range:entry 0% cover 26%;}
.v2-parallax{animation:v2Parallax linear both;animation-timeline:view();}
}
@media (prefers-reduced-motion: reduce){
.v2-rise,.v2-ken,.v2-sway,.v2-marquee,.v2-wave,.v2-reveal,.v2-parallax,.v2-rule{animation:none !important;}
.v2-row,.v2-row-light,.v2-btn,.v2-photo img,.v2-arrow,.v2-ico,.v2-check{transition:none !important;}
}

/* ---------- Mobile ---------- */
@media (max-width: 860px){
  .nav-link{display:none;}
}
@media (max-width: 640px){
  .site-header-inner{padding:10px 16px !important;gap:10px !important;}
  .brand-logo{height:34px !important;}
  .brand-sep{display:none !important;}
  .brand-name{font-size:18px !important;}
  .nav-cta{padding:9px 16px !important;font-size:14px;}
  .quote-mark{display:none !important;}
  .hero-photo{height:340px !important;}
  .hero-medallion{width:172px !important;height:172px !important;left:-6px !important;bottom:-32px !important;padding:6px !important;}
  .band{height:240px !important;}
  .cab-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
  .cab-tall{grid-column:1 !important;grid-row:1 / span 2 !important;}
  .cab-tall img{height:300px !important;}
  .cab-wide{grid-column:2 !important;}
  .cab-wide img{height:145px !important;}
  .reseau-photo{height:380px !important;}
  .contact-card{padding:28px 22px !important;}
}

/* ---------- Pages intérieures ---------- */
.page-hero{background:#EEF5FC;position:relative;overflow:hidden;}
.page-hero-inner{position:relative;max-width:1240px;margin:0 auto;padding:clamp(40px,7vw,72px) 28px clamp(72px,9vw,104px);}
.crumbs{margin:0 0 18px;font-size:14px;color:#4A5A70;}
.crumbs a{color:#4A5A70;text-decoration:none;}
.crumbs a:hover{color:#0A2A52;}
.page-hero h1{margin:0;max-width:900px;font-family:'Bodoni Moda',Georgia,serif;font-weight:400;font-size:clamp(32px,5.4vw,52px);line-height:1.08;letter-spacing:-0.01em;color:#0A2A52;}
.byline{margin:20px 0 0;font-size:15px;color:#4A5A70;}
.article-figure{max-width:1000px;margin:-56px auto 0;padding:0 28px;position:relative;}
.article-figure img{display:block;width:100%;height:clamp(220px,40vw,440px);object-fit:cover;object-position:center 70%;border-radius:28px;box-shadow:0 40px 80px -40px rgba(10,42,82,.5);}
.prose{max-width:760px;margin:0 auto;padding:clamp(40px,6vw,64px) 28px clamp(64px,8vw,96px);font-size:17px;line-height:1.75;color:#24364F;}
.prose p{margin:0 0 1.1em;}
.prose .lead{font-size:19px;color:#0A2A52;}
.prose h2{font-family:'Bodoni Moda',Georgia,serif;font-weight:400;font-size:clamp(26px,3.6vw,34px);line-height:1.15;color:#0A2A52;margin:2.2em 0 .7em;}
.prose h3{font-size:19px;font-weight:600;line-height:1.35;color:#0A2A52;margin:1.8em 0 .5em;}
.prose ul{margin:0 0 1.2em;padding-left:1.2em;}
.prose ol{margin:0 0 1.2em;padding-left:1.4em;}
.prose li{margin:0 0 .5em;}
.prose a{color:#1F5FB8;}
.table-wrap{overflow-x:auto;margin:1.4em 0;border:1px solid #DCE7F3;border-radius:18px;}
.prose table{width:100%;border-collapse:collapse;font-size:16px;}
.prose th,.prose td{text-align:left;padding:14px 18px;border-bottom:1px solid #DCE7F3;vertical-align:top;}
.prose th{background:#F3F8FD;font-weight:600;color:#0A2A52;}
.prose tr:last-child td{border-bottom:0;}
.faq h3{margin-top:1.4em;}
.cta{margin:3em 0 2em;padding:32px 34px;background:#0A2A52;color:#D6E4F5;border-radius:28px;position:relative;overflow:hidden;}
.cta h2{color:#FFFFFF;margin:0 0 .6em;}
.cta strong{color:#FFFFFF;}
.cta a{color:#FFFFFF;}
.cta-coord{font-size:15px;}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0 !important;}
.btn-primary,.btn-ghost{display:inline-block;padding:13px 24px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;}
.btn-primary{background:#FFFFFF;color:#0A2A52 !important;}
.btn-ghost{border:1px solid rgba(255,255,255,.45);color:#FFFFFF !important;}
.disclaimer{font-style:italic;color:#4A5A70;font-size:15px;}
.sources{font-size:15px;}
.legal h2{font-size:clamp(22px,3vw,28px);margin-top:1.8em;}
.en-bref,.sommaire{margin:2em 0;padding:22px 28px 10px;border-radius:22px;}
.en-bref{background:#EEF5FC;border-left:4px solid #1F5FB8;}
.sommaire{border:1px solid #DCE7F3;}
.encadre-titre{margin:0 0 .5em !important;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#1F5FB8;}
.prose .checklist{list-style:none;padding-left:0;}
.prose .checklist li{position:relative;padding-left:30px;}
.prose .checklist li::before{content:"\2713";position:absolute;left:4px;top:0;color:#1F5FB8;font-weight:700;}
.prose th.num,.prose td.num{text-align:right;white-space:nowrap;}
.nw{white-space:nowrap;}
/* ---------- Contact rapide : en-tête et accueil ---------- */
.nav-actions{display:flex;align-items:center;gap:8px;}
.nav-icon{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;width:42px;height:42px;border-radius:999px;border:1px solid rgba(10,42,82,.2);background:#FFFFFF;color:#0A2A52;text-decoration:none;font-size:14px;font-weight:600;}
.nav-icon:hover{border-color:#1F5FB8;color:#1F5FB8;}
.nav-icon-txt,.cta-short{display:none;}
@media (min-width: 861px){.site-header nav{column-gap:22px !important;}}
#domaines .v2-row-light:hover{transform:none !important;box-shadow:none !important;}
@supports (overflow: clip){[style*="overflow: hidden"]:has(.v2-reveal){overflow:clip !important;}}
@media (min-width: 861px){section.band[aria-label="La rade"]{width:calc(100% - 56px);max-width:1184px;margin:56px auto 0;height:auto !important;aspect-ratio:2 / 1;border-radius:24px;}}
.hero-contacts{display:flex;flex-wrap:wrap;gap:12px;width:100%;}
@media (min-width: 861px){.site-header .nav-icon{display:none;}}
@media (min-width: 1100px){.cab-row{row-gap:16px !important;}}
.m-menu{display:none;position:relative;}
.m-menu summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:999px;border:1px solid rgba(10,42,82,.2);background:#FFFFFF;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;}
.m-menu summary::-webkit-details-marker{display:none;}
.m-menu summary span{display:block;width:20px;height:2px;border-radius:2px;background:#0A2A52;transition:transform .2s ease,opacity .2s ease;}
.m-menu[open] summary span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.m-menu[open] summary span:nth-child(2){opacity:0;}
.m-menu[open] summary span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.m-menu-panel{position:absolute;right:0;top:calc(100% + 10px);min-width:250px;background:#FFFFFF;border:1px solid #DCE7F3;border-radius:18px;box-shadow:0 24px 48px -20px rgba(10,42,82,.4);padding:8px;display:flex;flex-direction:column;z-index:50;}
.m-menu-panel a{padding:12px 14px;border-radius:12px;color:#0A2A52;text-decoration:none;font-size:16px;font-weight:500;}
.m-menu-panel a:hover,.m-menu-panel a:focus-visible{background:#EEF5FC;}
@media (max-width: 860px){.m-menu{display:block;margin-left:auto;}}
@media (min-width: 861px) and (max-width: 1180px){.site-header nav{column-gap:16px !important;font-size:14.5px !important;}}
.chrono{margin:2em 0;padding:22px 28px 10px;border:1px solid #DCE7F3;border-radius:22px;}
.prose .chrono-list{list-style:none;margin:0;padding:0;}
.prose .chrono-list li{position:relative;margin:0;padding:0 0 18px 30px;display:flex;flex-direction:column;gap:2px;}
.prose .chrono-list li::before{content:'';position:absolute;left:4px;top:5px;width:12px;height:12px;border-radius:50%;background:#9CB6D6;}
.prose .chrono-list li::after{content:'';position:absolute;left:9px;top:21px;bottom:2px;width:2px;background:#DCE7F3;}
.prose .chrono-list li:last-child::after{display:none;}
.chrono-date{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#1F5FB8;}
.chrono-txt{font-size:16px;line-height:1.5;color:#0A2A52;}
.prose .chrono-list li.chrono-fin::before{background:#1F5FB8;box-shadow:0 0 0 4px #DCE7F3;}
.prose .chrono-list li.chrono-ko::before{background:#B4232C;}
.chrono-ko .chrono-date{color:#B4232C;}
.chrono-ko .chrono-txt{font-weight:600;}
.a-lire{margin:2.4em 0 2em;padding:22px 28px 24px;border:1px solid #DCE7F3;border-radius:22px;background:#FFFFFF;}
.prose .a-lire ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.prose .a-lire li{margin:0;}
.prose .a-lire a{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border-radius:14px;background:#F3F8FD;color:#0A2A52;text-decoration:none;transition:background .2s ease;}
.prose .a-lire a:hover,.prose .a-lire a:focus-visible{background:#E4EFFA;}
.a-lire-cat{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#1F5FB8;}
.a-lire-t{font-family:'Bodoni Moda',Georgia,serif;font-size:19px;line-height:1.3;}
.prose .a-lire a:hover .a-lire-t,.prose .a-lire a:focus-visible .a-lire-t{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;}
@media (max-width: 640px){.a-lire{padding:18px 18px 20px;}.a-lire-t{font-size:17px;}}
.li-ticker{position:relative;background:#EEF5FC;border-top:1px solid #DCE7F3;}
.li-ticker-in{display:flex;align-items:stretch;}
.li-ticker-label{flex:0 0 auto;display:flex;align-items:center;padding:0 26px 0 28px;background:#0A2A52;color:#FFFFFF;text-decoration:none;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;transition:background .2s ease;}
.li-ticker-label:hover,.li-ticker-label:focus-visible{background:#1F5FB8;}
.li-l-short{display:none;}
.li-ticker-view{flex:1 1 auto;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);}
.li-ticker .li-ticker-track{display:flex;width:max-content;animation-duration:140s;}
.li-ticker:hover .li-ticker-track,.li-ticker:focus-within .li-ticker-track{animation-play-state:paused;}
.li-ticker ul{display:flex;margin:0;padding:0 0 0 0;list-style:none;}
.li-ticker li{display:flex;align-items:center;white-space:nowrap;}
.li-ticker-item{display:inline-flex;align-items:baseline;gap:14px;padding:19px 0;color:#0A2A52;text-decoration:none;}
.li-ticker-date{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#1F5FB8;}
.li-ticker-title{font-family:'Bodoni Moda',Georgia,serif;font-style:italic;font-size:19px;line-height:1.3;}
.li-ticker-item:hover .li-ticker-title,.li-ticker-item:focus-visible .li-ticker-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;}
.li-ticker-sep{flex:0 0 auto;margin:0 30px;}
@media (prefers-reduced-motion: reduce){.li-ticker-view{overflow-x:auto;-webkit-mask-image:none;mask-image:none;}}
@media (max-width: 640px){.li-l-full{display:none;}.li-l-short{display:inline;}.li-ticker-label{padding:0 16px;font-size:11.5px;letter-spacing:.12em;}.li-ticker-item{padding:15px 0;gap:10px;}.li-ticker-title{font-size:17px;}.li-ticker-sep{margin:0 22px;}}
.hero-contact:hover{border-color:#1F5FB8 !important;color:#1F5FB8 !important;}
@media (max-width: 640px){
  .site-header nav{flex:1 1 100%;}
  .nav-actions{flex:1 1 100%;display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:8px;}
  .nav-icon{width:auto;height:40px;}
  .nav-icon-txt{display:inline;}
  .nav-cta{text-align:center;padding:10px 12px !important;}
  .cta-full{display:none;}
  .cta-short{display:inline;}
  .prose td.num{white-space:normal;}
  .hero-contacts{display:grid;grid-template-columns:1fr;gap:10px;}
  .hero-rdv{text-align:center;}
  .hero-contact{justify-content:center;}
  .hero-assur{flex-direction:column;}
  .pres-photo{height:240px !important;border-radius:22px !important;}
  .avis-band{border-radius:22px !important;}
  #honoraires ol li{padding:12px 16px 14px !important;}
}
