/* ==========================================================
   Rasplus Gestion Privée — feuille de style des pages expertises
   ========================================================== */
:root{
  --navy:#14335a; --navy-dark:#0e2644; --gold:#b0935a; --gold-soft:#c9b07c;
  --bg:#fbfaf7; --paper:#f7f4ec; --text:#3a4658; --muted:#7c8696; --line:rgba(176,147,90,.35);
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Montserrat',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}

/* ---------- En-tête ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:36px;padding:22px 48px;transition:background .45s ease,padding .45s ease,box-shadow .45s ease}
.site-header .brand{display:block;position:relative;width:150px;height:56px;flex:none}
.site-header .brand img{position:absolute;left:0;top:0;height:56px;width:auto;transition:opacity .45s ease}
.site-header .brand .dark{opacity:0}
.site-header nav{display:flex;gap:30px;margin-left:auto}
.site-header nav a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.82);text-decoration:none;padding-bottom:4px;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.site-header nav a:hover,.site-header nav a.active{color:#fff;border-bottom-color:var(--gold)}
.site-header .client{font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:#fff;border:1px solid var(--gold);padding:11px 18px;transition:all .3s}
.site-header .client:hover{background:var(--gold);color:var(--navy-dark)}
.site-header.scrolled{background:rgba(251,250,247,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:12px 48px;box-shadow:0 1px 0 var(--line),0 10px 30px -18px rgba(14,38,68,.35)}
.site-header.scrolled .brand .light{opacity:0}
.site-header.scrolled .brand .dark{opacity:1}
.site-header.scrolled nav a{color:var(--navy)}
.site-header.scrolled nav a:hover,.site-header.scrolled nav a.active{color:var(--navy)}
.site-header.scrolled .client{color:var(--navy)}
.site-header.scrolled .client:hover{color:#fff;background:var(--navy);border-color:var(--navy)}
.burger{display:none;margin-left:auto;background:none;border:0;width:34px;height:24px;position:relative;cursor:pointer}
.burger span,.burger::before,.burger::after{content:"";position:absolute;left:0;right:0;height:1px;background:#fff;transition:all .3s}
.burger::before{top:2px}.burger span{top:11px}.burger::after{top:20px}
.scrolled .burger span,.scrolled .burger::before,.scrolled .burger::after{background:var(--navy)}
@media (max-width:1080px){
  .site-header,.site-header.scrolled{padding:14px 22px}
  .burger{display:block}
  .site-header nav{position:fixed;inset:0;background:var(--navy-dark);flex-direction:column;justify-content:center;align-items:center;gap:30px;opacity:0;pointer-events:none;transition:opacity .4s}
  .site-header nav a,.site-header.scrolled nav a{color:#fff;font-size:13px}
  .menu-open nav{opacity:1;pointer-events:auto}
  .menu-open .burger{z-index:2}
  .menu-open .burger span{opacity:0}
  .menu-open .burger::before{top:11px;transform:rotate(45deg);background:#fff}
  .menu-open .burger::after{top:11px;transform:rotate(-45deg);background:#fff}
  .site-header .client{display:none}
}

/* ---------- Hero ---------- */
.page-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--navy-dark)}
.page-hero .bg{position:absolute;inset:-6% 0;background-size:cover;background-position:center;animation:heroZoom 26s ease-in-out infinite alternate;will-change:transform}
@keyframes heroZoom{from{transform:scale(1.02)}to{transform:scale(1.14) translate3d(-1%,-1%,0)}}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,38,68,.55) 0%,rgba(14,38,68,.35) 35%,rgba(10,28,52,.9) 100%)}
.page-hero .inner{position:relative;z-index:1;width:100%;max-width:1240px;margin:0 auto;padding:0 48px 90px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px}
.crumb{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:22px}
.crumb a{text-decoration:none;color:rgba(255,255,255,.8)}
.crumb a:hover{color:var(--gold)}
.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,6vw,78px);line-height:1.02;letter-spacing:-.005em}
.page-hero .lead{max-width:560px;margin-top:22px;font-family:var(--serif);font-style:italic;font-size:clamp(19px,2vw,24px);line-height:1.45;color:#efe9dc}
.page-hero .emblem{width:170px;height:170px;border-radius:50%;background:rgba(251,250,247,.94);padding:14px;box-shadow:0 20px 60px -10px rgba(0,0,0,.45),0 0 0 1px rgba(176,147,90,.6),0 0 0 9px rgba(251,250,247,.08)}
.page-hero .emblem img{width:100%;height:100%;object-fit:contain}
.scroll-cue{position:absolute;left:50%;bottom:26px;z-index:1;width:1px;height:46px;background:linear-gradient(var(--gold),transparent);animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:760px){
  .page-hero{min-height:88vh}
  .page-hero .inner{grid-template-columns:1fr;padding:0 22px 80px}
  .page-hero .emblem{width:110px;height:110px;order:-1}
}

/* ---------- Sections communes ---------- */
.wrap{max-width:1240px;margin:0 auto;padding:0 48px}
@media (max-width:760px){.wrap{padding:0 22px}}
section{position:relative}
.kicker{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.6vw,46px);line-height:1.15;color:var(--navy);margin-top:12px}
.prose p{font-size:15px;line-height:1.95;margin-top:18px}
.ornament{display:flex;align-items:center;gap:14px;margin:26px 0 0;color:var(--gold)}
.ornament::before,.ornament::after{content:"";height:1px;width:46px;background:var(--gold)}
.ornament i{width:7px;height:7px;transform:rotate(45deg);border:1px solid var(--gold)}

/* Papier + filigranes */
.paper{background:linear-gradient(rgba(251,250,247,.55),rgba(251,250,247,.55)),url(../img/bg-papier.webp) center/cover;background-color:var(--paper);overflow:hidden}
.paper.watermark::before{content:"";position:absolute;width:720px;height:720px;right:-240px;top:-80px;background:url(../img/embleme.png) center/contain no-repeat;opacity:.05;pointer-events:none}
.paper.guilloche::after{content:"";position:absolute;width:880px;height:880px;left:-420px;bottom:-300px;background:url(../img/guilloche.svg) center/contain no-repeat;opacity:.16;pointer-events:none}
.paper>*{position:relative;z-index:1}

/* Intro deux colonnes */
.intro{padding:130px 0 120px}
.intro .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;align-items:center}
.framed{position:relative}
.framed::before{content:"";position:absolute;inset:0;transform:translate(24px,24px);border:1px solid var(--gold);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.framed:hover::before{transform:translate(14px,14px)}
.framed .ph{position:relative;overflow:hidden;aspect-ratio:4/3;background:#e9e4da;box-shadow:0 2px 4px rgba(14,38,68,.06),0 20px 44px -14px rgba(14,38,68,.38),0 60px 100px -40px rgba(14,38,68,.4)}
.framed .ph img{width:100%;height:118%;object-fit:cover;position:absolute;top:-9%;left:0;will-change:transform}
.framed .ph::after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.5)}
@media (max-width:900px){.intro{padding:90px 0}.intro .wrap{grid-template-columns:1fr;gap:60px}}

/* Points clés */
.keys{padding:110px 0 120px}
.keys .head{text-align:center;max-width:640px;margin:0 auto}
.keys .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:70px}
.key{background:#fff;padding:40px 30px 36px;position:relative;box-shadow:0 1px 2px rgba(14,38,68,.05),0 16px 36px -16px rgba(14,38,68,.3);transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s}
.key::before{content:"";position:absolute;left:30px;right:30px;top:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}
.key:hover{transform:translateY(-8px);box-shadow:0 2px 4px rgba(14,38,68,.06),0 34px 60px -20px rgba(14,38,68,.4)}
.key .n{display:none}
.key h3{font-family:var(--serif);font-weight:500;font-size:23px;color:var(--navy);margin:18px 0 12px;line-height:1.2}
.key p{font-size:13.5px;line-height:1.8;color:var(--text)}
@media (max-width:1080px){.keys .grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.keys .grid{grid-template-columns:1fr}}

/* Bandeau marbre (Pour qui) */
.marble{position:relative;color:#fff;padding:120px 0;background:var(--navy-dark) url(../img/bg-marbre.webp) center/cover;overflow:hidden}
.marble::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,38,68,.88),rgba(14,38,68,.55))}
.marble .wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.marble h2{color:#fff}
.marble .prose p{color:#d5dce6}
.profiles{list-style:none;border-top:1px solid rgba(176,147,90,.45)}
.profiles li{padding:22px 0;border-bottom:1px solid rgba(176,147,90,.45);display:grid;grid-template-columns:38px 1fr;gap:14px;font-size:15px;line-height:1.65;color:#eef1f6}
.profiles li b{display:block;font-family:var(--serif);font-weight:500;font-size:21px;color:#fff;margin-bottom:4px}
.profiles li::before{content:"";width:9px;height:9px;margin-top:10px;transform:rotate(45deg);border:1px solid var(--gold)}
.glass{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:40px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
@media (max-width:900px){.marble{padding:90px 0}.marble .wrap{grid-template-columns:1fr;gap:50px}}

/* Étapes */
.steps{padding:120px 0}
.steps .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.timeline{list-style:none;position:relative;counter-reset:s}
.timeline::before{content:"";position:absolute;left:26px;top:10px;bottom:10px;width:1px;background:linear-gradient(var(--gold),rgba(176,147,90,.15))}
.timeline li{position:relative;padding:0 0 46px 70px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:19px;top:6px;width:14px;height:14px;transform:rotate(45deg);background:var(--bg);border:1px solid var(--gold);box-shadow:0 0 0 6px var(--bg)}
.timeline h3{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--navy);line-height:1.2}
.timeline p{font-size:14px;line-height:1.85;margin-top:8px}
.steps .framed{position:sticky;top:120px}
@media (max-width:900px){.steps{padding:90px 0}.steps .wrap{grid-template-columns:1fr;gap:60px}.steps .framed{position:relative;top:0}}

/* FAQ */
.faq{padding:110px 0 130px}
.faq .wrap{max-width:900px}
.faq .head{text-align:center}
.faq details{background:#fff;margin-top:16px;box-shadow:0 1px 2px rgba(14,38,68,.05),0 12px 30px -18px rgba(14,38,68,.3);transition:box-shadow .4s}
.faq details:first-of-type{margin-top:60px}
.faq details[open]{box-shadow:0 2px 4px rgba(14,38,68,.06),0 26px 50px -24px rgba(14,38,68,.4)}
.faq summary{list-style:none;cursor:pointer;padding:26px 70px 26px 32px;position:relative;font-family:var(--serif);font-size:21px;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:32px;top:50%;width:12px;height:12px;margin-top:-9px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:rotate(45deg);transition:transform .35s}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:-3px}
.faq .a{padding:0 32px 28px;font-size:14.5px;line-height:1.9;border-top:1px solid var(--line);padding-top:20px;margin:0 32px;padding-left:0;padding-right:0}

/* CTA */
.cta{position:relative;text-align:center;color:#fff;padding:130px 22px;overflow:hidden;background:var(--navy-dark)}
.cta .bg{position:absolute;left:0;top:-15%;width:100%;height:130%;object-fit:cover;opacity:.85}
.cta::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,38,68,.55),rgba(14,38,68,.3) 50%,rgba(14,38,68,.75))}
.cta .in{position:relative;z-index:2}
.cta h2{color:#fff}
.cta .phone{display:inline-block;margin-top:22px;font-family:var(--serif);font-size:clamp(28px,4vw,38px);letter-spacing:.06em;color:#fff;text-decoration:none;font-feature-settings:'lnum' 1}
.cta .phone:hover{color:var(--gold)}
.cta .mail{display:block;margin-top:8px;font-size:13px;letter-spacing:.06em;color:#c9d2df;text-decoration:none}
.btn{display:inline-block;margin-top:34px;font-size:12px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;padding:18px 40px;text-decoration:none;border:1px solid var(--gold);color:#fff;transition:all .3s}
.btn:hover{background:var(--gold);color:var(--navy-dark)}
.btn.dark{color:var(--navy);border-color:var(--navy)}
.btn.dark:hover{background:var(--navy);color:#fff}

/* Autres expertises */
.others{padding:100px 0 110px}
.others .head{text-align:center}
.others .row{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:56px}
.other{position:relative;display:block;text-decoration:none;background:#fff;box-shadow:0 1px 2px rgba(14,38,68,.05),0 14px 34px -16px rgba(14,38,68,.3);transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s;overflow:hidden}
.other:hover{transform:translateY(-8px);box-shadow:0 34px 60px -22px rgba(14,38,68,.42)}
.other .img{aspect-ratio:16/10;overflow:hidden}
.other .img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.other:hover .img img{transform:scale(1.07)}
.other .t{padding:24px 26px 26px;font-family:var(--serif);font-size:22px;color:var(--navy);display:flex;justify-content:space-between;align-items:center}
.other .t span{color:var(--gold);transition:transform .3s}
.other:hover .t span{transform:translateX(5px)}
@media (max-width:900px){.others .row{grid-template-columns:1fr}}

/* Pied de page */
footer{background:var(--bg);text-align:center;padding:50px 24px 46px;font-size:11px;letter-spacing:.1em;color:var(--muted);border-top:1px solid var(--line)}
footer .brand-foot{width:120px;margin:0 auto 22px;opacity:.9}
.legal{max-width:780px;margin:12px auto 0;font-size:10.5px;letter-spacing:.04em;line-height:1.7}
.legal a{color:inherit;text-decoration-color:var(--gold);text-underline-offset:2px}

/* Révélations au défilement */
.js .reveal{opacity:0;transform:perspective(1000px) rotateX(12deg) translateY(36px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal.d1{transition-delay:.1s}.js .reveal.d2{transition-delay:.2s}.js .reveal.d3{transition-delay:.3s}
.js .framed.reveal .ph{clip-path:inset(100% 0 0 0);transition:clip-path 1.4s cubic-bezier(.7,0,.2,1) .15s}
.js .framed.reveal.in .ph{clip-path:inset(0)}

/* Curseur */
.cur-dot,.cur-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;border-radius:50%;opacity:0;transition:opacity .3s}
.cur-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--navy)}
.cur-ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid var(--gold);transition:opacity .3s,width .35s,height .35s,margin .35s,background .35s,border-color .35s}
.cur-on .cur-dot,.cur-on .cur-ring{opacity:1}
.cur-hover .cur-ring{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(176,147,90,.12)}
.cur-dark .cur-dot{background:#fff}
.cur-dark .cur-ring{border-color:rgba(255,255,255,.75)}
@media (hover:hover) and (pointer:fine){html.cur-ready,html.cur-ready a,html.cur-ready summary,html.cur-ready button{cursor:none}}
@media (hover:none),(pointer:coarse){.cur-dot,.cur-ring{display:none}}

@media (prefers-reduced-motion:reduce){
  .page-hero .bg,.scroll-cue{animation:none}
}


/* ==========================================================
   Mises en page propres à chaque expertise
   ========================================================== */

/* --- Chapitres en zigzag (assurance vie) --- */
.chapters{padding:120px 0 80px}
.chapter{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;margin-bottom:120px}
.chapter:nth-child(even) .framed{order:2}
.chapter .label{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold)}
.chapter h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,40px);color:var(--navy);line-height:1.15;margin-top:6px}
.chapter p{font-size:15px;line-height:1.95;margin-top:18px}
@media (max-width:900px){.chapter{grid-template-columns:1fr;gap:56px;margin-bottom:90px}.chapter:nth-child(even) .framed{order:0}}

/* --- Schéma du triangle --- */
.triangle{padding:120px 0;background:var(--navy-dark) url(../img/bg-marbre.webp) center/cover;position:relative;color:#fff;overflow:hidden}
.triangle::before{content:"";position:absolute;inset:0;background:rgba(14,38,68,.82)}
.triangle .wrap{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.triangle h2{color:#fff}
.triangle .prose p{color:#d5dce6}
.tri svg{width:100%;height:auto;overflow:visible}
.tri .edge{stroke:var(--gold);stroke-width:1;fill:none;stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 2.2s cubic-bezier(.6,0,.2,1) .2s}
.tri.in .edge{stroke-dashoffset:0}
.tri .node circle{fill:rgba(251,250,247,.06);stroke:var(--gold);stroke-width:1}
.tri .node text{fill:#fff;font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;text-anchor:middle}
.tri .node .sub{fill:#aab6c8;font-family:'Montserrat',sans-serif;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.tri .core text{fill:var(--gold);font-family:'Montserrat',sans-serif;font-size:10.5px;letter-spacing:.2em;text-anchor:middle;text-transform:uppercase}
@media (max-width:900px){.triangle .wrap{grid-template-columns:1fr}}

/* --- Citation pleine largeur --- */
.quote{position:relative;padding:150px 22px;text-align:center;color:#fff;overflow:hidden}
.quote .bg{position:absolute;inset:-10% 0;background-size:cover;background-position:center}
.quote::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(14,38,68,.72),rgba(14,38,68,.6))}
.quote blockquote{position:relative;z-index:2;max-width:860px;margin:0 auto;font-family:var(--serif);font-style:italic;font-size:clamp(26px,3.4vw,42px);line-height:1.35}
.quote blockquote::before{content:"“";display:block;font-size:110px;line-height:.6;color:var(--gold);font-style:normal;margin-bottom:24px}
.quote cite{display:block;margin-top:26px;font-style:normal;font-family:var(--sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-soft)}

/* --- Onglets (placements) --- */
.tabs{padding:120px 0}
.tabs .head{text-align:center;max-width:680px;margin:0 auto}
.tablist{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:56px 0 46px}
.tablist button{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;background:transparent;border:1px solid var(--line);color:var(--navy);padding:15px 26px;cursor:pointer;transition:all .35s}
.tablist button:hover{border-color:var(--gold)}
.tablist button[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.panel{display:none;grid-template-columns:1.1fr .9fr;background:#fff;box-shadow:0 2px 4px rgba(14,38,68,.05),0 30px 60px -30px rgba(14,38,68,.4)}
.panel.on{display:grid;animation:panelIn .7s cubic-bezier(.2,.7,.2,1)}
@keyframes panelIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.panel .img{min-height:420px;background-size:cover;background-position:center}
.panel .txt{padding:56px 54px}
.panel h3{font-family:var(--serif);font-weight:400;font-size:34px;color:var(--navy)}
.panel p{font-size:15px;line-height:1.9;margin-top:16px}
.panel ul{list-style:none;margin-top:22px;border-top:1px solid var(--line)}
.panel li{padding:13px 0 13px 26px;border-bottom:1px solid var(--line);font-size:14px;position:relative}
.panel li::before{content:"";position:absolute;left:2px;top:20px;width:7px;height:7px;transform:rotate(45deg);border:1px solid var(--gold)}
@media (max-width:900px){.panel.on{grid-template-columns:1fr}.panel .img{min-height:260px}.panel .txt{padding:36px 26px}}

/* --- Horizon (placements) --- */
.horizon{padding:110px 0 120px}
.horizon .head{text-align:center;max-width:680px;margin:0 auto}
.hbar{position:relative;margin:80px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.hbar::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:linear-gradient(90deg,rgba(176,147,90,.25),var(--gold) 50%,var(--navy))}
.hstop{position:relative;padding:44px 34px 0 0}
.hstop::before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--bg);border:1px solid var(--gold);box-shadow:0 0 0 6px var(--bg),0 8px 20px -6px rgba(14,38,68,.4)}
.hstop:last-child::before{background:var(--navy);border-color:var(--navy)}
.hstop h3{font-family:var(--serif);font-weight:400;font-size:28px;color:var(--navy)}
.hstop .tag{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:6px}
.hstop p{font-size:14px;line-height:1.85;margin-top:14px}
@media (max-width:900px){.hbar{grid-template-columns:1fr;gap:44px}.hbar::before{left:9px;right:auto;top:0;bottom:0;width:2px;height:auto;background:linear-gradient(rgba(176,147,90,.25),var(--gold),var(--navy))}.hstop{padding:0 0 0 46px}}

/* --- Mosaïque (SCPI) --- */
.mosaic{padding:120px 0}
.mosaic .head{display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap}
.mosaic .head p{max-width:440px;font-size:15px;line-height:1.85}
.tiles{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:280px 280px;gap:18px;margin-top:60px}
.tile{position:relative;overflow:hidden;background:var(--navy-dark);box-shadow:0 24px 50px -28px rgba(14,38,68,.6)}
.tile:first-child{grid-row:span 2}
.tile:last-child{grid-column:span 2}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.2,.7,.2,1),opacity .6s}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(10,28,52,.9))}
.tile .cap{position:absolute;left:28px;right:28px;bottom:24px;z-index:1;color:#fff}
.tile h3{font-family:var(--serif);font-weight:400;font-size:30px}
.tile p{font-size:13.5px;line-height:1.7;color:#d5dce6;max-height:0;opacity:0;overflow:hidden;transition:max-height .6s ease,opacity .5s ease,margin .5s;margin-top:0}
.tile:hover img{transform:scale(1.08)}
.tile:hover p{max-height:120px;opacity:1;margin-top:8px}
.tile .cap::before{content:"";display:block;width:34px;height:1px;background:var(--gold);margin-bottom:14px;transition:width .5s}
.tile:hover .cap::before{width:70px}
@media (hover:none){.tile p{max-height:none;opacity:1;margin-top:8px}}
@media (max-width:900px){.tiles{grid-template-columns:1fr;grid-template-rows:none}.tile,.tile:first-child,.tile:last-child{grid-row:auto;grid-column:auto;height:300px}}

/* --- Volets extensibles (SCPI) --- */
.modes{padding:120px 0;background:var(--navy-dark) url(../img/bg-marbre.webp) center/cover;position:relative;color:#fff}
.modes::before{content:"";position:absolute;inset:0;background:rgba(14,38,68,.84)}
.modes .wrap{position:relative}
.modes h2{color:#fff}
.flaps{display:flex;gap:14px;margin-top:56px;height:360px}
.flap{flex:1;position:relative;overflow:hidden;border:1px solid rgba(176,147,90,.4);background:rgba(255,255,255,.04);padding:34px 30px;transition:flex .7s cubic-bezier(.2,.7,.2,1),background .5s;display:flex;flex-direction:column;justify-content:flex-end}
.flap:hover{flex:2.4;background:rgba(255,255,255,.08)}
.flap h3{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.15}
.flap p{font-size:14px;line-height:1.8;color:#d5dce6;margin-top:12px;opacity:.0;max-height:0;overflow:hidden;transition:opacity .5s .1s,max-height .6s}
.flap:hover p{opacity:1;max-height:200px}
.flap::before{content:"";position:absolute;top:30px;left:30px;width:9px;height:9px;transform:rotate(45deg);border:1px solid var(--gold)}
@media (hover:none),(max-width:900px){.flaps{flex-direction:column;height:auto}.flap{padding:30px 26px 26px}.flap p{opacity:1;max-height:none}.flap::before{display:none}}

/* --- Vigilance --- */
.vigil{padding:110px 0}
.vigil .box{max-width:980px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:50px;align-items:start;background:#fff;padding:54px 60px;border-left:2px solid var(--gold);box-shadow:0 2px 4px rgba(14,38,68,.05),0 30px 60px -32px rgba(14,38,68,.4)}
.vigil .mark{width:74px;height:74px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:38px;color:var(--gold)}
.vigil h3{font-family:var(--serif);font-weight:400;font-size:30px;color:var(--navy)}
.vigil ul{list-style:none;margin-top:18px}
.vigil li{padding:10px 0 10px 24px;position:relative;font-size:14.5px;line-height:1.75}
.vigil li::before{content:"";position:absolute;left:0;top:19px;width:10px;height:1px;background:var(--gold)}
@media (max-width:760px){.vigil .box{grid-template-columns:1fr;padding:38px 26px}}

/* --- Charte / cahier des charges (FID) --- */
.charter{padding:130px 0}
.charter .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.sheet{position:relative;background:#fffdf8 url(../img/bg-papier.webp) center/cover;padding:64px 60px 70px;box-shadow:0 1px 2px rgba(14,38,68,.08),0 30px 60px -24px rgba(14,38,68,.45);transform:rotate(-1.2deg);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.sheet:hover{transform:rotate(0)}
.sheet::before{content:"";position:absolute;inset:16px;border:1px solid rgba(176,147,90,.55);pointer-events:none}
.sheet::after{content:"";position:absolute;inset:22px;border:1px solid rgba(176,147,90,.25);pointer-events:none}
.sheet .title{font-family:var(--serif);font-size:30px;color:var(--navy);text-align:center}
.sheet .subt{text-align:center;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:6px}
.sheet dl{margin-top:34px}
.sheet dt{font-family:var(--serif);font-size:21px;color:var(--navy);margin-top:20px;display:flex;align-items:center;gap:12px}
.sheet dt::after{content:"";flex:1;border-bottom:1px dotted rgba(176,147,90,.7);transform:translateY(-4px)}
.sheet dd{font-size:13.5px;line-height:1.75;margin-top:4px}
.sheet .seal{position:absolute;right:34px;bottom:-34px;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d8bf8a,#b0935a 55%,#8a6f3c);box-shadow:0 10px 24px -6px rgba(14,38,68,.5),inset 0 0 0 6px rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center}
.sheet .seal img{width:62%;opacity:.9;filter:brightness(.25) sepia(.3)}
@media (max-width:900px){.charter .wrap{grid-template-columns:1fr;gap:70px}.sheet{padding:50px 32px 60px}}

/* --- Cercles des acteurs (FID) --- */
.actors{padding:120px 0}
.actors .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.orbit svg{width:100%;height:auto}
.orbit .ring{fill:none;stroke:var(--gold);stroke-width:1}
.orbit .ring.d{stroke-dasharray:3 6}
.orbit .rot{transform-origin:300px 300px;animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.orbit .dot{fill:var(--bg);stroke:var(--gold)}
.orbit text{font-family:'Cormorant Garamond',Georgia,serif;fill:var(--navy);text-anchor:middle}
.orbit .lab{font-family:'Montserrat',sans-serif;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;fill:var(--muted)}
.legend{list-style:none;margin-top:30px}
.legend li{display:grid;grid-template-columns:18px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.75}
.legend li::before{content:"";width:9px;height:9px;margin-top:9px;transform:rotate(45deg);border:1px solid var(--gold)}
.legend b{font-family:var(--serif);font-weight:500;font-size:20px;color:var(--navy);display:block}
@media (prefers-reduced-motion:reduce){.orbit .rot{animation:none}}
@media (max-width:900px){.actors .wrap{grid-template-columns:1fr}}

/* --- Liste élégante sur image (FID) --- */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:var(--navy-dark);color:#fff}
.split .img{background-size:cover;background-position:center;position:relative}
.split .img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(14,38,68,.6))}
.split .txt{padding:100px 80px;display:flex;flex-direction:column;justify-content:center}
.split h2{color:#fff}
.split .lines{list-style:none;margin-top:34px}
.split .lines li{padding:20px 0;border-bottom:1px solid rgba(176,147,90,.4);font-family:var(--serif);font-size:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.split .lines li span{font-family:var(--sans);font-size:12px;color:#aab6c8;letter-spacing:.04em;text-align:right;max-width:55%}
.split .note{font-size:12px;line-height:1.7;color:#8fa0b8;font-style:italic;margin-top:24px}
@media (max-width:900px){.split{grid-template-columns:1fr}.split .img{min-height:320px}.split .txt{padding:70px 26px}.split .lines li{flex-direction:column;align-items:flex-start}.split .lines li span{text-align:left;max-width:none}}

/* --- Profils en colonnes illustrées --- */
.persona{padding:120px 0}
.persona .head{text-align:center;max-width:700px;margin:0 auto}
.persona .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:60px}
.pcol{text-align:center;padding:0 10px}
.pcol .ring{width:84px;height:84px;margin:0 auto 22px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px rgba(176,147,90,.08)}
.pcol .ring i{width:12px;height:12px;transform:rotate(45deg);background:var(--gold)}
.pcol h3{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--navy)}
.pcol p{font-size:14px;line-height:1.85;margin-top:10px}
@media (max-width:900px){.persona .cols{grid-template-columns:1fr;gap:46px}}

/* Triangle de sécurité (illustration) */
.tri-img{position:relative;margin:0}
.tri-img::before{content:"";position:absolute;inset:0;transform:translate(22px,22px);border:1px solid var(--gold);pointer-events:none}
.tri-img img{position:relative;width:100%;height:auto;box-shadow:0 2px 4px rgba(0,0,0,.2),0 30px 70px -20px rgba(0,0,0,.65)}
.others .row{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-width:1000px;margin-left:auto;margin-right:auto}


/* ==========================================================
   Page guide (assurance vie luxembourgeoise)
   ========================================================== */
.page-hero .hero-cta{display:inline-block;margin-top:32px}
.guide{padding:110px 0 120px}
.guide .wrap{display:grid;grid-template-columns:260px 1fr;gap:80px;align-items:start}
.toc{position:sticky;top:110px;padding:30px 28px;background:#fff;box-shadow:0 1px 2px rgba(14,38,68,.05),0 18px 40px -22px rgba(14,38,68,.35);border-top:2px solid var(--gold)}
.toc .kicker{margin-bottom:14px}
.toc a{display:block;padding:9px 0 9px 16px;font-size:13px;line-height:1.45;color:var(--text);text-decoration:none;border-left:1px solid var(--line);transition:all .3s}
.toc a:hover,.toc a.on{color:var(--navy);border-left-color:var(--gold);padding-left:20px}
.article{max-width:800px}
.article>section{padding:0 0 84px;scroll-margin-top:100px}
.article>section+section{padding-top:84px;border-top:1px solid var(--line)}
.article h2{font-size:clamp(30px,3vw,40px);margin-top:10px}
.article .lede{font-family:var(--serif);font-size:23px;line-height:1.55;color:var(--navy);margin-top:20px}
.article p{font-size:15px;line-height:1.95;margin-top:16px}
@media (max-width:1000px){.guide .wrap{grid-template-columns:1fr;gap:50px}.toc{position:relative;top:0}}

/* Avantages avec pictogramme */
.adv{display:grid;grid-template-columns:86px 1fr;gap:28px;padding:30px 0;border-bottom:1px solid var(--line)}
.adv:first-of-type{margin-top:26px;border-top:1px solid var(--line)}
.adv .pic{width:86px;height:86px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 10px 24px -14px rgba(14,38,68,.35)}
.adv .pic img{width:58px;height:58px}
.adv h3{font-family:var(--serif);font-weight:500;font-size:25px;color:var(--navy);line-height:1.2}
.adv p{margin-top:8px!important;font-size:14.5px!important}
.chips{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.chips span{font-family:var(--serif);font-size:20px;color:var(--navy);width:46px;height:46px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;background:#fff}
.tri-inline{margin:26px 0 8px}
.tri-inline img{width:100%;max-width:560px;display:block;margin:0 auto}
@media (max-width:600px){.adv{grid-template-columns:1fr;gap:16px}}

/* Encadrés à coins ornés */
.corner{position:relative;background:#fff;padding:40px 42px;margin-top:26px;box-shadow:0 1px 2px rgba(14,38,68,.05),0 22px 46px -26px rgba(14,38,68,.38)}
.corner::before,.corner::after{content:"";position:absolute;width:26px;height:26px;border:1px solid var(--gold)}
.corner::before{top:10px;left:10px;border-right:0;border-bottom:0}
.corner::after{bottom:10px;right:10px;border-left:0;border-top:0}
.corner h3{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--navy)}
.corner ul{list-style:none;margin-top:14px}
.corner li{position:relative;padding:11px 0 11px 26px;font-size:14.5px;line-height:1.75;border-bottom:1px dotted var(--line)}
.corner li:last-child{border-bottom:0}
.corner li::before{content:"";position:absolute;left:2px;top:20px;width:8px;height:8px;transform:rotate(45deg);border:1px solid var(--gold)}
.corner.navy{background:var(--navy);color:#fff}
.corner.navy h3{color:#fff}
.corner.navy li{color:#dfe5ee;border-bottom-color:rgba(176,147,90,.35)}

/* Tableau comparatif */
.compare{width:100%;border-collapse:collapse;margin-top:28px;background:#fff;box-shadow:0 1px 2px rgba(14,38,68,.05),0 22px 46px -26px rgba(14,38,68,.38);font-size:14px}
.compare th,.compare td{padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);line-height:1.6}
.compare thead th{background:var(--navy);color:#fff;font-family:var(--serif);font-weight:400;font-size:19px}
.compare thead th:nth-child(2){background:var(--navy-dark);border-bottom:2px solid var(--gold)}
.compare tbody th{font-weight:500;color:var(--navy);width:30%}
.compare tbody td:nth-child(2){background:rgba(176,147,90,.07);color:var(--navy)}
.compare tbody tr:last-child th,.compare tbody tr:last-child td{border-bottom:0}
@media (max-width:640px){.compare th,.compare td{padding:12px 12px;font-size:13px}.compare thead th{font-size:16px}}

/* Palier */
.tier{display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:center;margin-top:28px;padding:38px 40px;background:var(--navy-dark) url(../img/bg-marbre.webp) center/cover;position:relative;color:#fff;box-shadow:0 30px 60px -30px rgba(14,38,68,.6)}
.tier::before{content:"";position:absolute;inset:0;background:rgba(14,38,68,.8)}
.tier>*{position:relative}
.tier .amount{font-family:var(--serif);text-align:center;padding-right:36px;border-right:1px solid rgba(176,147,90,.5)}
.tier .amount small{display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-soft)}
.tier .amount b{display:block;font-weight:400;font-size:46px;line-height:1.1;margin-top:6px;font-feature-settings:'lnum' 1}
.tier p{color:#dfe5ee;margin-top:0!important}
.tier ul{list-style:none;margin-top:12px}
.tier li{padding:6px 0 6px 22px;position:relative;font-size:14px;color:#fff}
.tier li::before{content:"";position:absolute;left:0;top:14px;width:10px;height:1px;background:var(--gold)}
@media (max-width:640px){.tier{grid-template-columns:1fr;padding:32px 26px}.tier .amount{border-right:0;border-bottom:1px solid rgba(176,147,90,.5);padding:0 0 22px}}

/* Modes de gestion */
.mgmt{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.mgmt .corner{margin-top:0;padding:34px 28px}
.mgmt .corner p{font-size:13.5px!important;line-height:1.8;margin-top:10px!important}
@media (max-width:800px){.mgmt{grid-template-columns:1fr}}

/* correctifs guide */
.guide .wrap>*{min-width:0}
.article{min-width:0;width:100%}
.adv:last-of-type{border-bottom:0;padding-bottom:0}
.article .tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:28px;box-shadow:0 1px 2px rgba(14,38,68,.05),0 22px 46px -26px rgba(14,38,68,.38)}
.article .tablewrap .compare{margin-top:0;box-shadow:none;min-width:560px}
@media (max-width:640px){.corner{padding:34px 24px}.mgmt .corner{padding:30px 22px}}

/* guide enrichi */
.ill{margin:30px 0 6px;position:relative}
.ill img{width:100%;height:auto;display:block;box-shadow:0 2px 4px rgba(14,38,68,.06),0 26px 50px -28px rgba(14,38,68,.45)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;background:#fff;box-shadow:0 1px 2px rgba(14,38,68,.05),0 22px 46px -26px rgba(14,38,68,.38)}
.facts div{padding:26px 24px;border-right:1px solid var(--line)}
.facts div:last-child{border-right:0}
.facts small{display:block;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.facts b{display:block;font-family:var(--serif);font-weight:500;font-size:21px;color:var(--navy);margin-top:6px;line-height:1.25}
@media (max-width:700px){.facts{grid-template-columns:1fr}.facts div{border-right:0;border-bottom:1px solid var(--line)}}
.feat{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:40px 0;border-bottom:1px solid var(--line)}
.feat:last-of-type{border-bottom:0}
.feat.rev .ill{order:2}
.feat .ill{margin:0}
.feat .head3{display:flex;align-items:center;gap:14px}
.feat .head3 img{width:44px;height:44px}
.feat h3{font-family:var(--serif);font-weight:500;font-size:27px;color:var(--navy);line-height:1.15}
.feat p{font-size:14.5px!important;margin-top:12px!important}
@media (max-width:760px){.feat{grid-template-columns:1fr;gap:24px}.feat.rev .ill{order:0}}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.duo .corner{margin-top:0;padding:28px 26px}
.duo .corner h3{font-size:21px}
.duo .corner p{font-size:13.5px!important;margin-top:8px!important;line-height:1.75}
@media (max-width:760px){.duo{grid-template-columns:1fr}}
.supports{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.supports div{background:#fff;padding:26px 24px 24px;box-shadow:0 1px 2px rgba(14,38,68,.05),0 16px 34px -22px rgba(14,38,68,.35);border-top:2px solid var(--gold);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.supports div:hover{transform:translateY(-5px);box-shadow:0 26px 46px -24px rgba(14,38,68,.45)}
.supports h3{font-family:var(--serif);font-weight:500;font-size:21px;color:var(--navy)}
.supports p{font-size:13.5px!important;line-height:1.75;margin-top:8px!important}
@media (max-width:860px){.supports{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.supports{grid-template-columns:1fr}}
.subh{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--navy);margin-top:36px}
.small-note{font-size:12px!important;color:var(--muted);font-style:italic;margin-top:14px!important}
.article .faq-in details{background:#fff;margin-top:12px;box-shadow:0 1px 2px rgba(14,38,68,.05),0 12px 30px -18px rgba(14,38,68,.3)}
.article .faq-in details:first-of-type{margin-top:26px}
.article .faq-in summary{list-style:none;cursor:pointer;padding:22px 60px 22px 26px;position:relative;font-family:var(--serif);font-size:20px;color:var(--navy)}
.article .faq-in summary::-webkit-details-marker{display:none}
.article .faq-in summary::after{content:"";position:absolute;right:26px;top:50%;width:11px;height:11px;margin-top:-8px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:rotate(45deg);transition:transform .35s}
.article .faq-in details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.article .faq-in .a{padding:0 26px 22px;font-size:14.5px;line-height:1.85}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.hero-ctas .btn{margin-top:0}
.hero-ctas .btn.alt{background:var(--gold);color:var(--navy-dark)}
.hero-ctas .btn.alt:hover{background:transparent;color:#fff}

/* ==========================================================
   Page Assurance vie luxembourgeoise — format « produit »
   ========================================================== */
.sq-hero{padding:150px 0 0;background:var(--bg)}
.sq-hero .wrap{text-align:center;max-width:980px}
.sq-hero .kicker{display:inline-block}
.sq-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.4vw,70px);line-height:1.06;color:var(--navy);margin-top:18px}
.sq-hero h1 em{font-style:italic;color:var(--gold)}
.sq-hero .lead{max-width:680px;margin:24px auto 0;font-size:16px;line-height:1.85;color:var(--text)}
.sq-hero .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.sq-hero .btns .btn{margin-top:0}
.btn.solid{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.solid:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-dark)}
.sq-photo{max-width:1320px;margin:64px auto 0;padding:0 24px}
.sq-photo .ph{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:21/8;box-shadow:0 40px 80px -40px rgba(14,38,68,.55)}
.sq-photo .ph img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover}
@media (max-width:760px){.sq-hero{padding:120px 0 0}.sq-photo .ph{aspect-ratio:4/3;border-radius:14px}}

/* tuiles à coche */
.checks{padding:70px 0 40px;background:var(--bg)}
.checks .row{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.chk{background:#fff;border-radius:18px;padding:28px 22px;box-shadow:0 1px 2px rgba(14,38,68,.05),0 16px 34px -22px rgba(14,38,68,.35);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.chk:hover{transform:translateY(-6px)}
.chk .ic{width:52px;height:52px;border-radius:14px;background:rgba(20,51,90,.08);display:flex;align-items:center;justify-content:center}
.chk .ic svg{width:26px;height:26px;stroke:var(--navy);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30;transition:stroke-dashoffset .9s ease .3s}
.chk.in .ic svg{stroke-dashoffset:0}
.chk p{margin-top:18px;font-size:14px;line-height:1.6;color:var(--navy);font-weight:500}
@media (max-width:1100px){.checks .row{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.checks .row{grid-template-columns:1fr 1fr}}

/* trois raisons */
.reasons{padding:90px 0;background:var(--bg)}
.reasons .head{text-align:center;max-width:720px;margin:0 auto}
.reasons .row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px}
.rcard{background:#fff;border-radius:20px;padding:38px 32px;box-shadow:0 1px 2px rgba(14,38,68,.05),0 20px 44px -26px rgba(14,38,68,.4)}
.rcard .ic{width:58px;height:58px;border-radius:16px;background:var(--navy);display:flex;align-items:center;justify-content:center}
.rcard .ic svg{width:28px;height:28px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.rcard h3{font-family:var(--serif);font-weight:500;font-size:27px;color:var(--navy);margin-top:24px;line-height:1.15}
.rcard ul{list-style:none;margin-top:18px}
.rcard li{padding:10px 0 10px 26px;border-top:1px solid var(--line);position:relative;font-size:14px;line-height:1.6}
.rcard li::before{content:"";position:absolute;left:2px;top:15px;width:11px;height:6px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
@media (max-width:900px){.reasons .row{grid-template-columns:1fr}}

/* onglets gestion (variante arrondie) */
.sq-tabs{padding:90px 0;background:#fff}
.sq-tabs .head{text-align:center;max-width:720px;margin:0 auto}
.sq-tabs .tablist{margin:40px 0 36px}
.sq-tabs .tablist button{border-radius:999px}
.sq-tabs .panel{border-radius:22px;overflow:hidden}

/* bento */
.bento{padding:100px 0;background:var(--bg)}
.bento .head{text-align:center;max-width:720px;margin:0 auto}
.bgrid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:250px;gap:18px;margin-top:56px}
.bt{position:relative;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(14,38,68,.05),0 22px 46px -28px rgba(14,38,68,.42);padding:30px}
.bt.img{padding:0}
.bt.img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.bt.img:hover img{transform:scale(1.05)}
.bt.img .cap{position:absolute;left:0;right:0;bottom:0;padding:26px 28px;color:#fff;background:linear-gradient(transparent,rgba(10,28,52,.88))}
.bt.img .cap h3{font-family:var(--serif);font-weight:400;font-size:26px}
.bt.img .cap p{font-size:13.5px;color:#dbe2ec;margin-top:6px;line-height:1.6}
.bt.big{grid-column:span 7;grid-row:span 2}
.bt.w5{grid-column:span 5}
.bt.w4{grid-column:span 4}
.bt.w8{grid-column:span 8}
.bt.navy{background:var(--navy);color:#fff}
.bt .num{font-family:var(--serif);font-weight:400;color:var(--navy);font-size:clamp(70px,8vw,120px);line-height:.9;letter-spacing:-.02em;font-feature-settings:'lnum' 1;display:flex;align-items:flex-start}
.bt .num sup{font-size:.45em;margin:.12em 0 0 .06em;color:var(--gold)}
.bt.navy .num{color:#fff}
.bt .lbl{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.bt .txt{font-size:13.5px;line-height:1.7;margin-top:16px;max-width:360px}
.bt.navy .txt{color:#d5dce6}
.bt .bar{height:3px;background:rgba(176,147,90,.25);margin-top:22px;border-radius:2px;overflow:hidden}
.bt .bar i{display:block;height:100%;width:0;background:var(--gold);transition:width 1.8s cubic-bezier(.2,.7,.2,1) .2s}
.bt.in .bar i{width:var(--w,40%)}
.bt .cur{display:flex;gap:10px;margin-top:6px}
.bt .cur span{width:58px;height:58px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:24px;color:#fff;opacity:0;transform:translateY(12px);transition:all .6s cubic-bezier(.2,.7,.2,1)}
.bt.in .cur span{opacity:1;transform:none}
.bt.in .cur span:nth-child(2){transition-delay:.12s}.bt.in .cur span:nth-child(3){transition-delay:.24s}.bt.in .cur span:nth-child(4){transition-delay:.36s}
.bt.bsplit{display:grid;grid-template-columns:1fr 1fr;padding:0}
.bt.bsplit .t{padding:30px;display:flex;flex-direction:column;justify-content:center}
.bt.bsplit h3{font-family:var(--serif);font-weight:400;font-size:28px;color:var(--navy);line-height:1.15}
.bt.bsplit .im{background-size:cover;background-position:center}
.bt.bsplit .btn{margin-top:18px;align-self:flex-start;padding:13px 22px;font-size:11px}
@media (max-width:1000px){.bgrid{grid-template-columns:1fr 1fr;grid-auto-rows:auto}.bt,.bt.big,.bt.w5,.bt.w4,.bt.w8{grid-column:span 2;grid-row:auto}.bt.img{height:340px}.bt.bsplit{grid-template-columns:1fr}.bt.bsplit .im{height:220px}}

/* bandeau CTA clair */
.cta-band{padding:80px 22px;text-align:center;background:var(--bg)}
.cta-band h2{max-width:760px;margin:12px auto 0}
.cta-band p{max-width:640px;margin:16px auto 0;font-size:15px;line-height:1.8}
.cta-band .btn{margin-top:28px}

/* carrousel protection */
.protect{position:relative;padding:0 0 110px;background:var(--bg)}
.protect .head{text-align:center;padding:30px 22px 46px}
.protect .stage{position:relative;max-width:1320px;margin:0 auto;padding:0 24px}
.protect .ph{border-radius:22px;overflow:hidden;aspect-ratio:21/9;box-shadow:0 40px 80px -40px rgba(14,38,68,.55)}
.protect .ph img{width:100%;height:100%;object-fit:cover}
.slides{position:absolute;right:70px;bottom:-60px;width:min(460px,80%);background:#fff;border-radius:20px;box-shadow:0 30px 70px -30px rgba(14,38,68,.6);padding:36px 36px 28px;min-height:280px}
.slide{display:none}
.slide.on{display:block;animation:panelIn .6s cubic-bezier(.2,.7,.2,1)}
.slide .lbl{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.slide h3{font-family:var(--serif);font-weight:400;font-size:30px;color:var(--navy);margin-top:8px;line-height:1.15}
.slide p{font-size:14px;line-height:1.8;margin-top:12px}
.slide img{width:100%;max-width:260px;margin:12px auto 0;border-radius:10px}
.snav{display:flex;align-items:center;gap:12px;margin-top:22px}
.snav button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--navy);font-size:16px;transition:all .3s}
.snav button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.dots{display:flex;gap:7px;margin-left:auto}
.dots i{width:7px;height:7px;border-radius:50%;background:rgba(20,51,90,.18);transition:all .3s}
.dots i.on{background:var(--gold);width:22px;border-radius:4px}
@media (max-width:860px){.protect .ph{aspect-ratio:4/3}.slides{position:relative;right:auto;bottom:auto;width:auto;margin:-60px 16px 0}}

/* étapes avec photo */
.subsc{padding:150px 0 110px;background:#fff}
.subsc .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.subsc .ph{border-radius:22px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 40px 80px -40px rgba(14,38,68,.55)}
.subsc .ph img{width:100%;height:100%;object-fit:cover}
.subsc .timeline{margin-top:34px}
.subsc .timeline li{padding-bottom:26px}
@media (max-width:900px){.subsc{padding:110px 0 80px}.subsc .wrap{grid-template-columns:1fr;gap:50px}.subsc .ph{aspect-ratio:4/3}}

/* triangle */
.tri-sec{padding:110px 0;background:var(--navy-dark) url(../img/bg-marbre.webp) center/cover;position:relative;color:#fff}
.tri-sec::before{content:"";position:absolute;inset:0;background:rgba(14,38,68,.84)}
.tri-sec .wrap{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.tri-sec h2{color:#fff}
.tri-sec p{color:#d5dce6;font-size:15px;line-height:1.9;margin-top:16px}
.tri-sec img{width:100%;border-radius:18px;box-shadow:0 30px 70px -20px rgba(0,0,0,.6)}
@media (max-width:900px){.tri-sec .wrap{grid-template-columns:1fr}}

/* FAQ arrondie */
.sq-faq .faq details{border-radius:14px}
.bt.bsplit{grid-column:span 12}
.tri-sec img{max-width:520px;justify-self:center}
.bento{padding-bottom:110px}
.tri-sec img,.tri-inline img,.tri-img img,.sq-photo img{height:auto}
.sq-photo .ph img{height:120%}
@media (max-width:640px){.bt .num{font-size:64px}.slides{padding:28px 24px 22px}}
@media (max-width:1000px){.bt.bsplit{grid-column:span 2!important}.bgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:760px){.sq-photo{padding:0 16px}}
.sq-hero,.bento,.protect{overflow-x:clip}

/* --- version condensée --- */
.sq-hero{padding:120px 0 0}
.sq-hero h1{font-size:clamp(34px,4.2vw,54px)}
.sq-hero .lead{font-size:15px;margin-top:18px}
.sq-hero .btns{margin-top:26px}
.sq-photo{max-width:1180px;margin-top:44px}
.sq-photo .ph{aspect-ratio:21/7}
.checks{padding:44px 0 20px}
.chk{padding:22px 18px}
.chk p{margin-top:12px;font-size:13px}
.reasons,.sq-tabs,.bento{padding:64px 0}
.reasons .row,.bgrid{margin-top:36px}
.rcard{padding:28px 26px}
.rcard h3{font-size:23px;margin-top:18px}
.sq-tabs .panel .img{min-height:320px}
.sq-tabs .panel .txt{padding:40px 42px}
.bgrid{grid-auto-rows:210px}
.bt .num{font-size:clamp(58px,6vw,92px)}
.cta-band{padding:56px 22px}
.protect{padding:0 0 90px}
.protect .head{padding:10px 22px 32px}
.protect .stage{max-width:1180px}
.protect .ph{aspect-ratio:21/8}
.tri-sec{padding:70px 0}
.tri-sec img{max-width:420px}
.subsc{padding:110px 0 70px}
.subsc .wrap{grid-template-columns:380px 1fr;gap:60px;max-width:1100px}
.subsc .ph{aspect-ratio:4/5}
.subsc .timeline li{padding-bottom:16px}
.sq-faq.faq{padding:64px 0 80px}
.sq-faq.faq details:first-of-type{margin-top:36px}
h2{font-size:clamp(28px,3vw,38px)}
@media (max-width:900px){.subsc .wrap{grid-template-columns:1fr}.subsc .ph{max-width:420px}}
.bgrid{grid-auto-rows:minmax(210px,auto)}.bt.bsplit{min-height:240px}

/* ===== Curseur plume ===== */
.cur-dot,.cur-ring{display:none!important}
html,html body,html.cur-ready,html.cur-ready body{cursor:url(../img/cursor-fleche.png) 3 3,auto;cursor:-webkit-image-set(url(../img/cursor-fleche.png) 1x,url(../img/cursor-fleche@2x.png) 2x) 3 3,auto;cursor:image-set(url(../img/cursor-fleche.png) 1x,url(../img/cursor-fleche@2x.png) 2x) 3 3,auto}
html a,html button,html summary,html [role=tab],html .card,html .other,html .tile,html.cur-ready a,html.cur-ready button,html.cur-ready summary{cursor:url(../img/cursor-fleche-lien.png) 3 3,pointer;cursor:-webkit-image-set(url(../img/cursor-fleche-lien.png) 1x,url(../img/cursor-fleche-lien@2x.png) 2x) 3 3,pointer;cursor:image-set(url(../img/cursor-fleche-lien.png) 1x,url(../img/cursor-fleche-lien@2x.png) 2x) 3 3,pointer}
html input,html textarea{cursor:text!important}

/* ===== Page Qui sommes-nous ===== */
.history{padding:100px 0;background:#fff}
.history .head,.partners .head,.reg .head{text-align:center;max-width:720px;margin:0 auto}
.partners .head p{font-size:15px;line-height:1.85;margin-top:16px}
.htl{list-style:none;position:relative;max-width:980px;margin:60px auto 0}
.htl::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(var(--gold),rgba(176,147,90,.2))}
.htl li{position:relative;width:50%;padding:0 56px 50px 0;text-align:right}
.htl li:nth-child(even){margin-left:50%;padding:0 0 50px 56px;text-align:left}
.htl li::before{content:"";position:absolute;top:10px;right:-8px;width:14px;height:14px;transform:rotate(45deg);background:#fff;border:1px solid var(--gold);box-shadow:0 0 0 6px #fff}
.htl li:nth-child(even)::before{right:auto;left:-7px}
.htl .yr{font-family:var(--serif);font-size:40px;line-height:1;color:var(--gold);font-feature-settings:'lnum' 1}
.htl h3{font-family:var(--serif);font-weight:500;font-size:25px;color:var(--navy);margin-top:10px}
.htl p{font-size:14.5px;line-height:1.85;margin-top:8px}
@media (max-width:760px){.htl::before{left:7px}.htl li,.htl li:nth-child(even){width:auto;margin-left:0;padding:0 0 40px 40px;text-align:left}.htl li::before,.htl li:nth-child(even)::before{left:0;right:auto}}
.partners{padding:100px 0}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.pcard{background:#fff;border-radius:18px;padding:34px 30px;border-top:2px solid var(--gold);box-shadow:0 1px 2px rgba(14,38,68,.05),0 20px 44px -26px rgba(14,38,68,.4)}
.pcard .lbl{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.pcard h3{font-family:var(--serif);font-weight:500;font-size:26px;color:var(--navy);margin-top:10px;line-height:1.15}
.pcard p{font-size:14px;line-height:1.8;margin-top:12px}
@media (max-width:900px){.pgrid{grid-template-columns:1fr}}
.reg{padding:90px 0}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:44px;background:#fff;box-shadow:0 1px 2px rgba(14,38,68,.05),0 22px 46px -26px rgba(14,38,68,.38)}
.rgrid>div{padding:30px 28px;border-right:1px solid var(--line)}
.rgrid>div:last-child{border-right:0}
.rgrid small{display:block;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.rgrid b{display:block;font-family:var(--serif);font-weight:500;font-size:22px;color:var(--navy);margin-top:8px}
.rgrid span{display:block;font-size:13px;line-height:1.7;margin-top:8px}
@media (max-width:800px){.rgrid{grid-template-columns:1fr}.rgrid>div{border-right:0;border-bottom:1px solid var(--line)}}


/* ===== Cadres dorés ornés + soulèvement au survol ===== */
.sq-photo .ph,.sq-tabs .panel .img,.bt.img,.protect .ph,.subsc .ph,.framed .ph,.other .img,.card .media,.bt.bsplit .im,.cabinet .pic{position:relative}
.sq-photo .ph::after,.sq-tabs .panel .img::after,.bt.img::after,.protect .ph::after,.subsc .ph::after,.framed .ph::after,.other .img::after,.card .media::after,.bt.bsplit .im::after,.cabinet .pic::after{content:"";position:absolute;inset:12px;z-index:3;pointer-events:none;
 border:1px solid rgba(201,173,114,.75);box-shadow:inset 0 0 0 4px rgba(255,255,255,.0),inset 0 0 0 5px rgba(201,173,114,.4);
 background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cg transform='rotate(0 22 22)' fill='none' stroke='%23c9ad72' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M3 41V14C3 7.9 7.9 3 14 3h27'/%3E%3Cpath d='M9 41V17c0-4.4 3.6-8 8-8h24' stroke-width='.7' opacity='.75'/%3E%3Cpath d='M3 14c5 0 8.5 2.5 9.5 6.5M14 3c0 5 2.5 8.5 6.5 9.5'/%3E%3Crect x='10.6' y='10.6' width='4.6' height='4.6' transform='rotate(45 12.9 12.9)' fill='%23c9ad72' stroke='none'/%3E%3C/g%3E%3C/svg%3E") left top/40px no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cg transform='rotate(90 22 22)' fill='none' stroke='%23c9ad72' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M3 41V14C3 7.9 7.9 3 14 3h27'/%3E%3Cpath d='M9 41V17c0-4.4 3.6-8 8-8h24' stroke-width='.7' opacity='.75'/%3E%3Cpath d='M3 14c5 0 8.5 2.5 9.5 6.5M14 3c0 5 2.5 8.5 6.5 9.5'/%3E%3Crect x='10.6' y='10.6' width='4.6' height='4.6' transform='rotate(45 12.9 12.9)' fill='%23c9ad72' stroke='none'/%3E%3C/g%3E%3C/svg%3E") right top/40px no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cg transform='rotate(180 22 22)' fill='none' stroke='%23c9ad72' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M3 41V14C3 7.9 7.9 3 14 3h27'/%3E%3Cpath d='M9 41V17c0-4.4 3.6-8 8-8h24' stroke-width='.7' opacity='.75'/%3E%3Cpath d='M3 14c5 0 8.5 2.5 9.5 6.5M14 3c0 5 2.5 8.5 6.5 9.5'/%3E%3Crect x='10.6' y='10.6' width='4.6' height='4.6' transform='rotate(45 12.9 12.9)' fill='%23c9ad72' stroke='none'/%3E%3C/g%3E%3C/svg%3E") right bottom/40px no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cg transform='rotate(270 22 22)' fill='none' stroke='%23c9ad72' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M3 41V14C3 7.9 7.9 3 14 3h27'/%3E%3Cpath d='M9 41V17c0-4.4 3.6-8 8-8h24' stroke-width='.7' opacity='.75'/%3E%3Cpath d='M3 14c5 0 8.5 2.5 9.5 6.5M14 3c0 5 2.5 8.5 6.5 9.5'/%3E%3Crect x='10.6' y='10.6' width='4.6' height='4.6' transform='rotate(45 12.9 12.9)' fill='%23c9ad72' stroke='none'/%3E%3C/g%3E%3C/svg%3E") left bottom/40px no-repeat;
 transition:inset .6s cubic-bezier(.2,.7,.2,1)}
.bt.img .cap{z-index:2}
.sq-photo .ph,.sq-tabs .panel,.bt,.protect .ph,.subsc .ph,.framed,.other,.card,.tri-sec img,.pcard,.rcard,.chk,.corner,.slides,.pic-wrap,.tri-img,.supports div{transition:translate .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s ease}
@media (hover:hover){
.sq-photo .ph:hover,.sq-tabs .panel:hover,.bt:hover,.protect .ph:hover,.subsc .ph:hover,.framed:hover,.other:hover,.card:hover,.tri-sec img:hover,.pcard:hover,.rcard:hover,.chk:hover,.corner:hover,.pic-wrap:hover,.tri-img:hover{translate:0 -8px;box-shadow:0 4px 8px rgba(14,38,68,.08),0 40px 70px -28px rgba(14,38,68,.55)}
.sq-photo .ph:hover::after,.sq-tabs .panel .img:hover::after,.bt.img:hover::after,.protect .ph:hover::after,.subsc .ph:hover::after,.framed .ph:hover::after,.other .img:hover::after,.card .media:hover::after,.bt.bsplit .im:hover::after,.cabinet .pic:hover::after{inset:8px}
.card:hover,.chk:hover,.bt:hover{transform:none}
}
.tri-sec img{outline:1px solid rgba(201,173,114,.8);outline-offset:10px}

/* ===== Teintes variées des encadrés de texte ===== */
:root{--t1:#ffffff;--t2:#fbf7ef;--t3:#f3ede1;--t4:#eef2f7;--t5:#f6efe0}
.chk:nth-child(5n+1){background:var(--t1)}.chk:nth-child(5n+2){background:var(--t2)}.chk:nth-child(5n+3){background:var(--t4)}.chk:nth-child(5n+4){background:var(--t3)}.chk:nth-child(5n+5){background:var(--t5)}
.rcard:nth-child(1){background:var(--t1)}.rcard:nth-child(2){background:var(--t4)}.rcard:nth-child(3){background:var(--t3)}
.pcard:nth-child(1){background:var(--t2)}.pcard:nth-child(2){background:var(--t4)}.pcard:nth-child(3){background:var(--t1)}
.bgrid .bt:not(.navy):not(.img):nth-child(2){background:var(--t2)}
.bgrid .bt:not(.navy):not(.img):nth-child(5){background:var(--t4)}
.bt.bsplit{background:var(--t3)}
.sq-tabs .panel:nth-of-type(1) .txt{background:var(--t2)}.sq-tabs .panel:nth-of-type(2) .txt{background:var(--t4)}.sq-tabs .panel:nth-of-type(3) .txt{background:var(--t3)}
.slides{background:var(--t2)}
.faq details:nth-of-type(3n+1){background:var(--t1)}.faq details:nth-of-type(3n+2){background:var(--t2)}.faq details:nth-of-type(3n+3){background:var(--t4)}
.corner:not(.navy):nth-child(odd){background:var(--t2)}.corner:not(.navy):nth-child(even){background:var(--t4)}
.mgmt .corner:nth-child(3){background:var(--t3)}
.rgrid>div:nth-child(1){background:var(--t1)}.rgrid>div:nth-child(2){background:var(--t2)}.rgrid>div:nth-child(3){background:var(--t4)}
.other:nth-child(odd) .t{background:var(--t2)}.other:nth-child(even) .t{background:var(--t4)}
.card:nth-child(4n+1){background:var(--t1)}.card:nth-child(4n+2){background:var(--t2)}.card:nth-child(4n+3){background:var(--t4)}.card:nth-child(4n+4){background:var(--t3)}
.sheet{background-color:var(--t5)}
.bt .num sup,.bt .lbl{position:relative}
.bt.img img{position:absolute;inset:0;width:100%;height:100%}.bgrid{grid-auto-rows:minmax(220px,auto)}

/* ===== Profils de risque ===== */
.profiles-sec{padding:70px 0;background:var(--bg)}
.profiles-sec .head{text-align:center;max-width:740px;margin:0 auto}
.profiles-sec .head p{font-size:14.5px;line-height:1.8;margin-top:14px}
.prow{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.pf{border-radius:20px;padding:32px 30px;background:var(--t2);box-shadow:0 1px 2px rgba(14,38,68,.05),0 20px 44px -26px rgba(14,38,68,.4);transition:translate .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s;border-top:2px solid var(--gold)}
.pf.mid{background:var(--t4)}
.pf.dyn{background:var(--navy);color:#fff}
.pf:hover{translate:0 -8px;box-shadow:0 40px 70px -28px rgba(14,38,68,.55)}
.pf .lbl{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.pf h3{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--navy);margin-top:8px}
.pf.dyn h3{color:#fff}
.pf .rng{font-family:var(--serif);font-size:clamp(46px,4.6vw,64px);line-height:1;color:var(--navy);margin-top:18px;font-feature-settings:'lnum' 1;white-space:nowrap}
.pf.dyn .rng{color:#fff}
.pf .rng sup{font-size:.45em;color:var(--gold);margin-left:4px}
.pf .gauge{height:3px;background:rgba(176,147,90,.25);border-radius:2px;margin-top:18px;overflow:hidden}
.pf .gauge i{display:block;height:100%;width:0;background:var(--gold);transition:width 1.8s cubic-bezier(.2,.7,.2,1) .3s}
.pf.in .gauge i{width:var(--w)}
.pf p{font-size:13.5px;line-height:1.75;margin-top:16px}
.pf.dyn p{color:#d5dce6}
.pf .risk{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:12px;letter-spacing:.06em;color:var(--muted)}
.pf.dyn .risk{color:#aab6c8}
.pf .risk b{color:var(--navy);font-weight:500}
.pf.dyn .risk b{color:#fff}
.dots3{display:flex;gap:5px;margin-left:auto}
.dots3 i{width:22px;height:5px;border-radius:3px;background:rgba(176,147,90,.25)}
.dots3 i.on{background:var(--gold)}
.profiles-sec .warn{max-width:820px;margin:28px auto 0;text-align:center;font-size:11.5px;line-height:1.7;color:var(--muted);font-style:italic}
@media (max-width:900px){.prow{grid-template-columns:1fr}}

/* ===== Triangle de sécurité interactif ===== */
.tri-sec{background:var(--bg)!important;color:var(--text)}
.tri-sec::before{display:none}
.tri-sec h2{color:var(--navy)!important}
.tri-sec p{color:var(--text)!important}
.trs{position:relative;width:100%;max-width:520px;aspect-ratio:1;justify-self:center}
.trs-ring{position:absolute;inset:0;width:100%;height:100%}
.trs-n{position:absolute;display:flex;flex-direction:column;align-items:center;gap:10px;background:none;border:0;padding:0;font:inherit;transform:translate(-50%,-50%);transition:transform .45s cubic-bezier(.2,.7,.2,1);z-index:2}
.trs-n .ic{width:84px;height:84px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px var(--bg),0 10px 24px -10px rgba(14,38,68,.35);transition:box-shadow .45s,background .45s}
.trs-n .ic svg{width:40px;height:40px;fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .45s}
.trs-n .ic.big{width:76px;height:76px;background:var(--navy)}
.trs-n .ic.big svg{stroke:#fff}
.trs-n .lb{background:var(--navy);color:#fff;font-size:12.5px;font-weight:500;line-height:1.35;padding:10px 16px;border-radius:9px;text-align:center;white-space:nowrap;box-shadow:0 10px 24px -12px rgba(14,38,68,.6);transition:background .45s,box-shadow .45s}
.n-caa{left:72%;top:16%}.n-caa .lb{order:0}
.n-cli{left:50%;top:50%}
.n-ass{left:22%;top:72%}
.n-bq{left:78%;top:72%}
.trs-n:hover,.trs-n:focus-visible,.trs-n.on{transform:translate(-50%,-50%) translateY(-8px) scale(1.07);outline:none}
.trs-n:hover .ic,.trs-n.on .ic{box-shadow:0 0 0 6px var(--bg),0 0 0 7px var(--gold),0 24px 40px -14px rgba(14,38,68,.55)}
.trs-n:hover .lb,.trs-n.on .lb{background:#0e2644;box-shadow:0 0 0 1px var(--gold),0 22px 40px -14px rgba(14,38,68,.7)}
.trs-n.on .ic:not(.big){background:var(--navy)}.trs-n.on .ic:not(.big) svg{stroke:#fff}
.trs-tip{position:absolute;z-index:5;width:min(300px,86%);background:#fff;border-radius:14px;padding:20px 22px 18px;box-shadow:0 0 0 1px rgba(176,147,90,.5),0 30px 60px -20px rgba(14,38,68,.55);opacity:0;pointer-events:none;transform:translateY(8px) scale(.97);transition:opacity .3s,transform .35s cubic-bezier(.2,.7,.2,1)}
.trs-tip.on{opacity:1;pointer-events:auto;transform:none}
.trs-tip::after{content:"";position:absolute;width:14px;height:14px;background:#fff;transform:rotate(45deg);left:var(--ax,50%);margin-left:-7px;box-shadow:1px 1px 0 rgba(176,147,90,.5)}
.trs-tip.below::after{top:-7px;box-shadow:-1px -1px 0 rgba(176,147,90,.5)}
.trs-tip.above::after{bottom:-7px}
.trs-tip .tt{font-family:var(--serif);font-size:21px;color:var(--navy);padding-right:20px}
.trs-tip .tx{font-size:13px;line-height:1.7;margin-top:8px;color:var(--text)}
.trs-tip .x{position:absolute;top:10px;right:12px;background:none;border:0;font-size:20px;line-height:1;color:var(--muted)}
@media (max-width:520px){.trs-n .ic{width:62px;height:62px}.trs-n .ic svg{width:30px;height:30px}.trs-n .ic.big{width:58px;height:58px}.trs-n .lb{font-size:10.5px;padding:7px 10px}}

/* ===== Fondateur ===== */
.founder{padding:90px 0;background:var(--t4)}
.founder .wrap{display:grid;grid-template-columns:360px 1fr;gap:70px;align-items:center;max-width:1050px}
.fphoto{position:relative;border-radius:50%;padding:10px;background:#fff;box-shadow:0 0 0 1px var(--gold),0 30px 60px -28px rgba(14,38,68,.55);transition:translate .6s cubic-bezier(.2,.7,.2,1)}
.fphoto:hover{translate:0 -8px}
.fphoto img{width:100%;height:auto;border-radius:50%;display:block;aspect-ratio:1;object-fit:cover}
.fphoto::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px dashed rgba(176,147,90,.6)}
.founder .role{font-size:11px!important;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-top:10px!important}
.founder .prose p{font-size:15px;line-height:1.9;margin-top:14px}
@media (max-width:860px){.founder .wrap{grid-template-columns:1fr;gap:44px;text-align:center}.fphoto{max-width:280px;margin:0 auto}}

/* ===== Nos assureurs ===== */
.insurers{padding:80px 0;background:#fff}
.insurers .head{text-align:center;max-width:760px;margin:0 auto}
.insurers .head p{font-size:14.5px;line-height:1.8;margin-top:14px}
.insgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.ins{position:relative;text-align:left;font:inherit;border:0;border-radius:16px;padding:22px 44px 20px 22px;background:var(--t2);box-shadow:0 1px 2px rgba(14,38,68,.05),0 14px 30px -20px rgba(14,38,68,.4);transition:translate .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s,background .4s;border-top:2px solid transparent}
.ins:nth-child(4n+2){background:var(--t4)}.ins:nth-child(4n+3){background:var(--t3)}.ins:nth-child(4n+4){background:var(--t1)}
.ins:hover{translate:0 -6px;box-shadow:0 30px 50px -24px rgba(14,38,68,.5);border-top-color:var(--gold)}
.ins.on{background:var(--navy)!important;border-top-color:var(--gold)}
.ins .in{display:block;font-family:var(--serif);font-size:20px;font-weight:500;color:var(--navy);line-height:1.2}
.ins .ic{display:block;font-size:12.5px;color:var(--muted);margin-top:6px}
.ins .im{display:block;font-size:12px;letter-spacing:.06em;color:var(--text);margin-top:14px}
.ins .im b{color:var(--navy);font-weight:600}
.ins .plus{position:absolute;right:16px;top:18px;width:24px;height:24px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;transition:transform .35s}
.ins.on .in,.ins.on .im b{color:#fff}.ins.on .ic,.ins.on .im{color:#c9d2df}.ins.on .plus{transform:rotate(45deg)}
.insdetail{grid-column:1/-1;display:none;position:relative;background:var(--bg);border-radius:18px;padding:32px 36px;box-shadow:0 0 0 1px rgba(176,147,90,.5),0 30px 60px -30px rgba(14,38,68,.5)}
.insdetail.on{display:block;animation:panelIn .5s cubic-bezier(.2,.7,.2,1)}
.insdetail h3{font-family:var(--serif);font-weight:400;font-size:32px;color:var(--navy);margin-top:6px}
.insdetail .x{position:absolute;top:14px;right:18px;background:none;border:0;font-size:24px;color:var(--muted)}
.dgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:22px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.dgrid>div{padding:18px 18px;border-right:1px solid var(--line)}.dgrid>div:last-child{border-right:0}
.dgrid small{display:block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.dgrid b{display:block;font-family:var(--serif);font-weight:500;font-size:22px;color:var(--navy);margin-top:6px;font-feature-settings:'lnum' 1}
.insdetail .d-note{font-size:14.5px;line-height:1.8;margin-top:18px}
.insdetail .btn{margin-top:20px}
.insurers .warn{max-width:820px;margin:26px auto 0;text-align:center;font-size:11.5px;line-height:1.7;color:var(--muted);font-style:italic}
@media (max-width:1000px){.insgrid{grid-template-columns:repeat(2,1fr)}.dgrid{grid-template-columns:repeat(2,1fr)}.dgrid>div{border-bottom:1px solid var(--line)}}
@media (max-width:560px){.insgrid{grid-template-columns:1fr}.insdetail{padding:28px 22px}}
.ins .lg{display:flex;align-items:center;height:62px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.ins .lg img{max-height:46px;max-width:160px;width:auto;height:auto;transition:filter .4s}
.ins .lg.mono{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:.02em;color:var(--navy);line-height:1.1}
.ins.on .lg img{filter:brightness(0) invert(1)}
.ins.on .lg.mono{color:#fff}
.ins.on .lg{border-bottom-color:rgba(176,147,90,.5)}

/* ===== Illustrations 3D (tuiles et raisons) ===== */
.chk .ill{height:120px;display:flex;align-items:center;justify-content:center;margin:-6px -6px 4px}
.chk .ill img{height:100%;width:auto;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.chk:hover .ill img,.rcard:hover .ill img{transform:translateY(-6px) scale(1.04)}
.chk p{text-align:center;margin-top:8px}
.rcard .ill{height:200px;display:flex;align-items:center;justify-content:center;margin:-10px -10px 0;border-bottom:1px solid var(--line);padding-bottom:10px}
.rcard .ill img{height:100%;width:auto;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.rcard h3{margin-top:18px}

/* ===== Mentions légales ===== */
.legalpage{padding:150px 0 90px}
.lwrap{max-width:820px;margin:0 auto;padding:0 24px}
.legalpage .crumb{color:var(--muted)}.legalpage .crumb a{color:var(--navy)}
.legalpage h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4vw,50px);color:var(--navy);margin-top:10px}
.legalpage h2{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--navy);margin-top:40px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.legalpage p,.legalpage li{font-size:14.5px;line-height:1.9;margin-top:12px}
.legalpage ul{padding-left:20px}
.legalpage a{color:var(--navy);text-decoration-color:var(--gold);text-underline-offset:2px}
.legalpage .upd{font-size:12px;color:var(--muted);margin-top:40px}
.foot-links{margin-top:16px;font-size:11px;letter-spacing:.08em}
.foot-links a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent}
.foot-links a:hover{color:var(--navy);border-bottom-color:var(--gold)}
.chk .ill img,.rcard .ill img{box-shadow:none!important;border-radius:0}
.chk .ill,.rcard .ill{margin-top:0}

/* ===== Trois raisons (version éditoriale) ===== */
.why{padding:80px 0;background:var(--bg)}
.why .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;max-width:1140px}
.why-ph{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:4px}
.why-ph img{width:100%;height:100%;object-fit:cover;display:block}
.why-tx h2{margin-bottom:10px}
.why-it{padding:22px 0;border-bottom:1px solid rgba(176,147,90,.45)}
.why-it:last-of-type{border-bottom:0}
.why-it h3{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--navy)}
.why-it p{font-size:14.5px;line-height:1.8;margin-top:6px;color:var(--text)}
.why-tags{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.06em;color:var(--muted);line-height:2}
.why-tags i{font-style:normal;color:var(--gold);margin:0 8px}
@media (max-width:900px){.why .wrap{grid-template-columns:1fr;gap:36px}.why-ph{aspect-ratio:4/3}}

/* ===== Fiche assureur détaillée ===== */
.ins-t{display:none}
.d-more:empty{display:none}
.d-more{margin-top:22px}
.dtab{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--line);font-size:13.5px}
.dtab th,.dtab td{padding:12px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.6}
.dtab tr:last-child th,.dtab tr:last-child td{border-bottom:0}
.dtab th{width:30%;font-weight:500;color:var(--navy);background:rgba(176,147,90,.06)}
.dpm{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.dpm>div{border-radius:12px;padding:18px 20px}
.dp{background:var(--t4)}.dm{background:var(--t3)}
.dpm h4{font-family:var(--serif);font-weight:500;font-size:19px;color:var(--navy)}
.dpm ul{list-style:none;margin-top:8px}
.dpm li{position:relative;padding:5px 0 5px 20px;font-size:13.5px;line-height:1.6}
.dp li::before{content:"";position:absolute;left:2px;top:12px;width:9px;height:5px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.dm li::before{content:"";position:absolute;left:2px;top:13px;width:10px;height:1px;background:var(--navy)}
@media (max-width:700px){.dpm{grid-template-columns:1fr}.dtab th{width:40%}.dtab th,.dtab td{padding:10px 12px}}

/* ===== Pages contrat ===== */
.contractpage{padding:140px 0 90px}
.cwrap{max-width:1000px;margin:0 auto;padding:0 24px;position:relative;z-index:1}
.contractpage .crumb{color:var(--muted)}.contractpage .crumb a{color:var(--navy);text-decoration:none}
.cp-head{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;margin-top:24px;padding:30px 34px;background:#fff;border-radius:18px;box-shadow:0 1px 2px rgba(14,38,68,.05),0 22px 46px -26px rgba(14,38,68,.38)}
.cp-logo{max-width:180px;max-height:90px;width:auto;height:auto}
.cp-logo.mono{font-family:var(--serif);font-size:30px;font-weight:500;color:var(--navy);max-width:none}
.cp-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.6vw,44px);color:var(--navy);margin-top:4px;line-height:1.1}
.cp-head .lead{font-size:15px;line-height:1.75;margin-top:10px;color:var(--text)}
.cp-kpi{margin-top:22px}
.contractpage h2{font-family:var(--serif);font-weight:400;font-size:30px;color:var(--navy);margin:44px 0 18px}
.cp-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px;padding:28px 32px;border-radius:18px;background:var(--navy);color:#fff}
.cp-cta h3{font-family:var(--serif);font-weight:400;font-size:26px}
.cp-cta p{font-size:14px;color:#d5dce6;margin-top:6px;max-width:520px;line-height:1.7}
.cp-cta .btn{margin-top:0;background:var(--gold);border-color:var(--gold);color:var(--navy-dark);flex:none}
.cp-cta .btn:hover{background:transparent;color:#fff}
.contractpage .warn{font-size:11.5px;line-height:1.7;color:var(--muted);font-style:italic;margin-top:22px}
.cp-pn{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding-top:22px;border-top:1px solid var(--line)}
.cp-pn a,.cp-back{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);text-decoration:none}
.cp-pn a:hover,.cp-back:hover{color:var(--gold)}
.cp-back{display:inline-block;margin-top:22px}
@media (max-width:700px){.cp-head{grid-template-columns:1fr;gap:18px;padding:24px}.cp-cta{flex-direction:column;align-items:flex-start}.cp-pn{flex-direction:column}}

/* Masque les icônes de téléphone ajoutées par certaines extensions de navigateur */
span[class*="skype"],a[class*="skype"],[class*="skype_c2c"],[id*="skype"],[class*="clicktocall"],[class*="click-to-call"],[class*="c2c_"],[data-click2call],a[href^="tel:"] img,a[href^="tel:"] svg{display:none!important}

/* ===== Schéma FID animé ===== */
.fidmap{margin:0;position:relative}
.fidmap svg{display:block;width:100%;height:auto;overflow:visible}
.fidmap .ill{fill:none;stroke:#c9b07c;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(201,176,124,.25))}
.fidmap .thin{stroke-width:.8;opacity:.75}
.fidmap .dash{stroke-dasharray:2 4}
.fidmap .fillsoft{fill:rgba(201,176,124,.10)}
.fidmap .fillgold{fill:#c9b07c}
.fidmap .fillnavy{fill:#0e2644}
.fidmap .t{font-family:var(--serif);font-size:21px;fill:#fff;stroke:none}
.fidmap .big .t{font-size:23px}
.fidmap .s,.fidmap .tl{font-family:var(--serif);font-style:italic;font-size:13.5px;fill:#c9b07c;stroke:none}
.fidmap .sp path{stroke:#f6e7bf;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:.07 .93;stroke-dashoffset:.07;opacity:0;filter:drop-shadow(0 0 5px #e6d3a3)}
.fidmap.go .sp path{animation:fmIn .4s 8s forwards,fmComet 3.6s linear calc(8s + var(--c)) infinite}
@keyframes fmComet{from{stroke-dashoffset:.07}to{stroke-dashoffset:-.93}}
/* état de départ */
.js .fidmap .ln{stroke-dasharray:1;stroke-dashoffset:1}
.js .fidmap .nd,.js .fidmap .tl{opacity:0}
.fidmap .nd .ill,.fidmap .nd .halo{transform-box:fill-box;transform-origin:center}
/* entrée */
.fidmap.go .ln{animation:fmDraw 1.6s cubic-bezier(.45,.05,.35,1) var(--d) forwards}
.fidmap .ln{filter:drop-shadow(0 0 3px rgba(230,211,163,.6))}
.fidmap.go .nd{animation:fmIn .9s ease var(--d) forwards}
.fidmap.go .nd .ill{animation:fmPop .9s cubic-bezier(.2,.8,.2,1.2) var(--d) both}
.fidmap.go .tl{animation:fmIn .8s ease var(--d) forwards}
@keyframes fmDraw{to{stroke-dashoffset:0}}
@keyframes fmIn{to{opacity:1}}
@keyframes fmPop{from{transform:scale(.7)}to{transform:scale(1)}}
/* mouvements légers en continu */
.fidmap .sig{stroke-dasharray:1;stroke-dashoffset:1;animation:fmSig 5s ease-in-out 3s infinite}
@keyframes fmSig{0%{stroke-dashoffset:1}35%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
.fidmap .pen{animation:fmPen 5s ease-in-out 3s infinite}
@keyframes fmPen{0%,100%{transform:translate(-30px,6px)}35%{transform:translate(0,0)}55%{transform:translate(0,-3px)}}
.fidmap .med image{filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}
.fidmap .med .ring{stroke-dasharray:3 5;transform-box:fill-box;transform-origin:center;animation:fmSpin 40s linear infinite}
.fidmap .med{animation:fmFloat 6s ease-in-out infinite}
@keyframes fmFloat{0%,100%{translate:0 0}50%{translate:0 -3px}}
.fidmap .needle{transform-box:fill-box;transform-origin:center;animation:fmNeedle 6s ease-in-out infinite}
@keyframes fmNeedle{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(18deg)}}
.fidmap .guil,.fidmap .dial{transform-box:fill-box;transform-origin:center}
.fidmap .guil{animation:fmSpin 60s linear infinite}
.fidmap .dial{animation:fmDial 9s ease-in-out infinite}
@keyframes fmSpin{to{transform:rotate(360deg)}}
@keyframes fmDial{0%,100%{transform:rotate(0)}30%{transform:rotate(-70deg)}60%{transform:rotate(40deg)}}
.fidmap .halo{animation:fmHalo 5s ease-in-out infinite}
@keyframes fmHalo{0%,100%{opacity:.75;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}
.fidmap .cd{transform-box:fill-box;transform-origin:bottom;animation:fmCd 3.2s ease-in-out calc(var(--k)*.25s) infinite}
@keyframes fmCd{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}
.fidmap .trend{stroke:#e6d3a3;stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1;animation:fmTrend 4.5s ease-in-out 3s infinite}
.fidmap .trend-a{stroke:#e6d3a3;stroke-width:1.6;opacity:0;animation:fmTa 4.5s ease-in-out 3s infinite}
@keyframes fmTrend{0%{stroke-dashoffset:1}45%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:0}}
@keyframes fmTa{0%,40%{opacity:0}48%,85%{opacity:1}100%{opacity:0}}
.fidmap .sheen{animation:fmSheen 4.5s ease-in-out 3s infinite}
@keyframes fmSheen{0%{transform:skewX(-18deg) translateX(0)}45%,100%{transform:skewX(-18deg) translateX(110px)}}
.fidmap .laurel{animation:fmBreath 5s ease-in-out infinite}
@keyframes fmBreath{0%,100%{opacity:.55}50%{opacity:.95}}
.fidmap .col rect{animation:fmCol 4s ease-in-out calc(var(--k)*.35s) infinite}
@keyframes fmCol{0%,100%{fill:rgba(201,176,124,.08)}40%{fill:rgba(201,176,124,.32)}}

/* Pages contrat : en-tête illustré */
.cp-head{grid-template-columns:1fr minmax(260px,400px);gap:0;padding:0;overflow:hidden;align-items:stretch}
.cp-txt{padding:34px 38px;display:flex;flex-direction:column;justify-content:center}
.cp-txt .cp-logo{margin-bottom:18px;max-height:60px;max-width:150px;align-self:flex-start}
.cp-txt .cp-logo.mono{font-size:24px;max-height:none}
.cp-ill{margin:0;position:relative;overflow:hidden;background:#14335a;min-height:260px}
.cp-ill img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.cp-ill::after{content:"";position:absolute;inset:0;box-shadow:inset 18px 0 30px -18px rgba(14,38,68,.45);pointer-events:none}
.cp-head:hover .cp-ill img{transform:scale(1.09)}
@media (max-width:700px){.cp-head{grid-template-columns:1fr}.cp-ill{order:-1;min-height:0;aspect-ratio:4/3}.cp-txt{padding:24px}}

/* Pages contrat : ornement */
.cp-ill{display:none}
.cp-orn{margin:0;position:relative;overflow:hidden;min-height:260px;background:radial-gradient(ellipse at 50% 45%,#1b4170 0%,#14335a 45%,#0e2644 100%)}
.cp-orn::before{content:"";position:absolute;inset:0;background:url(../img/bg-marbre.webp) center/cover;opacity:.35;mix-blend-mode:screen}
.cp-orn::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 60px rgba(0,0,0,.45),inset 22px 0 30px -18px rgba(0,0,0,.4);pointer-events:none}
.cp-orn svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#c9b07c;stroke-width:.7;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55)) drop-shadow(0 0 6px rgba(201,176,124,.18))}
.cp-orn .o2{stroke-opacity:.45}
.cp-orn .of{fill:#c9b07c;stroke:none}
.cp-orn .ro1,.cp-orn .ro2,.cp-orn .ro3{transform-box:fill-box;transform-origin:center}
.cp-orn .ro1{animation:fmSpin 120s linear infinite}
.cp-orn .ro2{animation:fmSpin 90s linear infinite reverse}
.cp-orn .ro3{animation:fmSpin 160s linear infinite}
@media (max-width:700px){.cp-orn{order:-1;min-height:0;aspect-ratio:4/3}}
@media (prefers-reduced-motion:reduce){.cp-orn *{animation:none!important}}

/* =====================================================================
   DÉCOR ORNEMENTAL (assets dorés générés) — cartes, cadres, intertitres
   ===================================================================== */
:root{--dk:url(../img/deco/)}
/* Cartes claires riches : acanthe aux angles opposés + filet doré intérieur */
.pf:not(.dyn),.pcard,.insdetail,.cp-txt{
  background-image:url(../img/deco/c1-tl.png),url(../img/deco/c1-br.png),url(../img/deco/grain-light.png);
  background-repeat:no-repeat,no-repeat,repeat;background-position:8px 8px,calc(100% - 8px) calc(100% - 8px),0 0;
  background-size:78px auto,78px auto,256px;
  outline:1px solid rgba(176,147,90,.38);outline-offset:-9px}
/* Cartes claires simples : filet à boucles */
.ins:not(.on),.bt:not(.navy):not(.img):not(.bsplit),.dgrid,.dp,.dm,.glass,.faq details{
  background-image:url(../img/deco/c4-tl.png),url(../img/deco/c4-br.png),url(../img/deco/grain-light.png);
  background-repeat:no-repeat,no-repeat,repeat;background-position:7px 7px,calc(100% - 7px) calc(100% - 7px),0 0;
  background-size:44px auto,44px auto,256px;
  outline:1px solid rgba(176,147,90,.32);outline-offset:-8px}
.bt.bsplit{background-image:url(../img/deco/c4-tl.png),url(../img/deco/c4-br.png);background-repeat:no-repeat;background-position:7px 7px,calc(100% - 7px) calc(100% - 7px);background-size:44px auto;outline:1px solid rgba(176,147,90,.32);outline-offset:-8px}
.glass{background-image:url(../img/deco/c4-tl.png),url(../img/deco/c4-br.png)}
/* Cartes marine : rinceaux dorés + soie */
.bt.navy,.pf.dyn,.cp-cta{
  background-image:url(../img/deco/c5-tl.png),url(../img/deco/c5-br.png),url(../img/deco/grain-dark.png);
  background-repeat:no-repeat,no-repeat,repeat;background-position:9px 9px,calc(100% - 9px) calc(100% - 9px),0 0;
  background-size:70px auto,70px auto,256px;
  outline:1px solid rgba(201,176,124,.42);outline-offset:-10px}
.sheet{background-image:url(../img/deco/c3-tl.png),url(../img/deco/c3-br.png),url(../img/bg-papier.webp);background-repeat:no-repeat;background-position:10px 10px,calc(100% - 10px) calc(100% - 10px),center;background-size:96px auto,96px auto,cover}
/* Tableau détaillé : en-tête de colonne gravé */
.dtab{outline:1px solid rgba(176,147,90,.3);outline-offset:-6px}
/* Intertitres : petit filet de laurier avant chaque surtitre */
.kicker::before{content:"";display:inline-block;width:42px;height:10px;margin-right:12px;vertical-align:middle;background:url(../img/deco/divider-4.png) center/contain no-repeat;opacity:.9}
.sq-hero .kicker::before,.page-hero .kicker::before{filter:brightness(1.25)}
/* Séparateur ornemental réutilisable */
.orn-div{display:block;width:min(340px,70%);height:28px;margin:26px auto;background:url(../img/deco/divider-1.png) center/contain no-repeat}
.contractpage h2{padding-bottom:26px;background:url(../img/deco/divider-1.png) left bottom/220px auto no-repeat}
/* Pages contrat : panneau d'ornement (cadre + laurier + médaillon) */
.cp-ill{display:none}
.cp-orn{margin:0;position:relative;overflow:hidden;min-height:280px;background:#14335a url(../img/deco/navy-silk.webp) center/cover;display:flex;align-items:center;justify-content:center}
.cp-orn::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 70px rgba(0,0,0,.4),inset 20px 0 30px -18px rgba(0,0,0,.45);pointer-events:none}
.cp-orn svg{display:none}
.cp-orn .o-fr{position:absolute;inset:16px;border:28px solid transparent;border-image:url(../img/deco/frame-1.png) 62 / 28px stretch;opacity:.95;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}
.cp-orn .o-em{position:relative;width:150px;height:150px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 8px 14px rgba(0,0,0,.45))}
.cp-orn .o-lr{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.cp-orn .o-md{width:70px;height:70px;margin-top:-6px;border-radius:50%}
.cp-orn .o-dv{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);width:46%;opacity:.85}
.cp-head:hover .cp-orn .o-em{transform:scale(1.04);transition:transform .8s ease}
/* Survol : le filet s'intensifie */
.pf,.pcard,.ins,.bt,.dgrid,.dp,.dm,.cp-cta,.faq details,.hfaq details{transition:outline-color .5s ease,translate .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s ease}
.pf:hover,.pcard:hover,.ins:hover,.bt:hover,.dp:hover,.dm:hover,.cp-cta:hover{outline-color:rgba(176,147,90,.75)}
@media (max-width:700px){
  .pf:not(.dyn),.pcard,.insdetail,.cp-txt,.faq details{background-size:58px auto,58px auto,256px}
  .bt.navy,.pf.dyn,.cp-cta{background-size:54px auto,54px auto,256px}
  .cp-orn{min-height:0;aspect-ratio:4/3}}
.cp-txt{padding:52px 50px 48px 56px}
.pf:not(.dyn),.pcard,.insdetail{padding-top:max(var(--pt,0px),40px)}
.contractpage{overflow:hidden}
html,body{overflow-x:clip}
/* ajustements décor */
.pf:not(.dyn),.pcard,.insdetail{background-size:60px auto,60px auto,256px}
.pf{padding:62px 40px 54px!important}
.pcard{padding-top:62px!important}
.cp-txt{padding:68px 56px 58px 72px}
.bt:not(.img):not(.bsplit),.bt.navy{background-position:calc(100% - 8px) 8px,calc(100% - 8px) calc(100% - 8px),0 0!important}
.bt.navy{background-image:url(../img/deco/c5-tr.png),url(../img/deco/c5-br.png),url(../img/deco/grain-dark.png)!important;background-size:62px auto,62px auto,256px!important}
.bt:not(.navy):not(.img):not(.bsplit){background-image:url(../img/deco/c4-tr.png),url(../img/deco/c4-br.png),url(../img/deco/grain-light.png)!important}
.pf.dyn{background-size:60px auto,60px auto,256px}
.dp,.dm{padding-top:34px}
.kicker::before{width:58px;height:14px;background-image:url(../img/deco/divider-1.png)}
.contractpage{position:relative}
.bt:not(.navy):not(.img):not(.bsplit){background-size:44px auto,44px auto,256px!important;background-repeat:no-repeat,no-repeat,repeat!important}
.pcard{background-image:url(../img/deco/c1-tl.png),url(../img/deco/c1-br.png),url(../img/deco/grain-light.png)!important;background-repeat:no-repeat,no-repeat,repeat!important;background-position:8px 8px,calc(100% - 8px) calc(100% - 8px),0 0!important;background-size:56px auto,56px auto,256px!important;outline:1px solid rgba(176,147,90,.38);outline-offset:-9px}
.faq details{background-image:url(../img/deco/c4-tl.png),url(../img/deco/c4-br.png),url(../img/deco/grain-light.png)!important;background-repeat:no-repeat,no-repeat,repeat!important;background-position:7px 7px,calc(100% - 7px) calc(100% - 7px),0 0!important;background-size:40px auto,40px auto,256px!important;outline:1px solid rgba(176,147,90,.32);outline-offset:-8px}
/* Section "Le potentiel" : l'image se fond dans le marbre */
.split{background:var(--navy-dark) url(../img/bg-marbre.webp) center/cover;position:relative}
.split .img{filter:brightness(.88) saturate(.92);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 48%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,#000 0%,#000 48%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%);mask-composite:intersect}
.split .img::after{background:radial-gradient(ellipse at 30% 50%,transparent 45%,rgba(14,38,68,.45) 100%)}
.split .txt{position:relative;z-index:1}
@media (max-width:900px){.split .img{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 70%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}}
.split{background:linear-gradient(180deg,rgba(14,38,68,.9) 0%,rgba(14,38,68,.72) 30%,rgba(14,38,68,.78) 100%),url(../img/bg-marbre.webp) center top/1600px auto,var(--navy-dark)}
.split .txt{background:linear-gradient(90deg,transparent,rgba(14,38,68,.35) 30%)}
/* Section "Le potentiel" : image unique fondue dans le marbre (générée) */
.split{background:var(--navy-dark) url(../img/fid-potentiel-marbre.webp) left center/cover no-repeat!important;grid-template-columns:1fr 1fr;min-height:680px}
.split .img{visibility:hidden}
.split .txt{background:none!important}
@media (max-width:900px){.split{background-position:22% top!important;background-size:auto 420px!important;padding-top:380px;background-color:#0b1e36!important}
  .split .img{display:none}}
.split{background:linear-gradient(180deg,#0c2440 0,rgba(12,36,64,.85) 60px,rgba(12,36,64,0) 200px),linear-gradient(90deg,rgba(9,22,40,0) 46%,rgba(9,22,40,.55) 62%,rgba(9,22,40,.62) 100%),url(../img/fid-potentiel-marbre.webp) left center/cover no-repeat,#0b1e36!important}
@media (max-width:900px){
  .split{grid-template-columns:1fr!important;padding-top:360px;background:linear-gradient(180deg,#0c2440 0,rgba(12,36,64,0) 120px,rgba(11,30,54,0) 250px,#0b1e36 400px),url(../img/fid-potentiel-marbre.webp) 18% top/auto 420px no-repeat,#0b1e36!important}}
/* ===== Tiroirs souples ===== */
.faq summary::after,.hfaq summary::after{transition:transform .8s cubic-bezier(.34,1.56,.64,1),margin-top .8s cubic-bezier(.34,1.56,.64,1)!important}
.faq details.t-closing summary::after{transform:rotate(45deg)!important;margin-top:-9px!important}
.hfaq details.t-closing summary::after{transform:rotate(45deg)!important;margin-top:-7px!important}
.faq summary,.hfaq summary{transition:color .5s ease,letter-spacing .7s cubic-bezier(.22,1,.36,1)}
.faq details:hover summary,.hfaq details:hover summary{color:#b0935a}
.faq details,.hfaq details{transition:box-shadow .7s cubic-bezier(.22,1,.36,1),translate .7s cubic-bezier(.22,1,.36,1),outline-color .6s ease}
.faq details[open],.hfaq details[open]{translate:0 -2px}
.insdetail.on{animation:drawerIn .95s cubic-bezier(.22,1,.36,1)!important}
.insdetail.on>*{animation:drawerItem .8s cubic-bezier(.22,1,.36,1) both}
.insdetail.on>*:nth-child(2){animation-delay:.08s}.insdetail.on>*:nth-child(3){animation-delay:.16s}.insdetail.on>*:nth-child(4){animation-delay:.24s}.insdetail.on>*:nth-child(5){animation-delay:.32s}.insdetail.on>*:nth-child(n+6){animation-delay:.4s}
.panel.on{animation:panelSoft .95s cubic-bezier(.22,1,.36,1)!important}
@keyframes drawerIn{from{opacity:0;clip-path:inset(0 0 100% 0 round 18px);transform:translateY(-12px)}to{opacity:1;clip-path:inset(0 0 0 0 round 18px);transform:none}}
@keyframes drawerItem{from{opacity:0;transform:translateY(-12px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
@keyframes panelSoft{from{opacity:0;transform:translateY(22px) scale(.985);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
.ins{transition:translate .7s cubic-bezier(.22,1,.36,1),box-shadow .7s cubic-bezier(.22,1,.36,1),background-color .5s ease,outline-color .5s ease!important}
.tablist button{transition:color .5s ease,background-color .6s cubic-bezier(.22,1,.36,1),border-color .6s ease}
@media (max-width:1080px){
  .site-header nav{transition:opacity .6s cubic-bezier(.22,1,.36,1)!important}
  .site-header nav a{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .8s cubic-bezier(.22,1,.36,1)}
  .site-header.menu-open nav a{opacity:1;transform:none}
  .site-header.menu-open nav a:nth-child(1){transition-delay:.08s}.site-header.menu-open nav a:nth-child(2){transition-delay:.16s}.site-header.menu-open nav a:nth-child(3){transition-delay:.24s}.site-header.menu-open nav a:nth-child(4){transition-delay:.32s}.site-header.menu-open nav a:nth-child(5){transition-delay:.4s}}

/* ===== Trois raisons : photo incrustée dans un cadre ivoire ===== */
.why{padding:90px 24px}
.why .wrap{max-width:1180px;margin:0 auto;padding:0;gap:0;grid-template-columns:.95fr 1.05fr;align-items:stretch;position:relative;border-radius:22px;overflow:hidden;
  background:#fbf8f1;background-image:url(../img/deco/c1-tr.png),url(../img/deco/c1-br.png),url(../img/deco/paper-ivory-card.webp);background-repeat:no-repeat,no-repeat,repeat;
  background-position:calc(100% - 12px) 12px,calc(100% - 12px) calc(100% - 12px),0 0;background-size:74px auto,74px auto,600px;
  outline:1px solid rgba(176,147,90,.5);outline-offset:-12px;
  box-shadow:0 2px 4px rgba(14,38,68,.05),0 40px 80px -40px rgba(14,38,68,.35)}
.why .wrap::after{content:"";position:absolute;inset:18px;border:1px solid rgba(176,147,90,.22);border-radius:14px;pointer-events:none}
.why-ph{margin:0;aspect-ratio:auto;min-height:580px;border-radius:0;position:relative;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 52%,rgba(0,0,0,.55) 74%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 52%,rgba(0,0,0,.55) 74%,transparent 100%)}
.why-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(.97);transform:scale(1.03);transition:transform 2.4s cubic-bezier(.22,1,.36,1)}
.why .wrap:hover .why-ph img{transform:scale(1.07)}
.why-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(251,248,241,.35),transparent 18%,transparent 82%,rgba(251,248,241,.45));pointer-events:none}
.why-tx{padding:66px 84px 58px 20px;position:relative;z-index:1}
@media (max-width:900px){
  .why .wrap{grid-template-columns:1fr}
  .why-ph{min-height:300px;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
  .why-tx{padding:10px 34px 48px}}
/* ===== Trois raisons v2 : panorama prolongé + mini-cartes fondues ===== */
.why .wrap{display:grid!important;grid-template-columns:1fr minmax(420px,520px)!important;min-height:700px;background:#eaf1f7!important;outline:1px solid rgba(176,147,90,.55);outline-offset:-12px}
.why .wrap::after{z-index:2}
.why-ph{position:absolute!important;inset:0;min-height:0!important;-webkit-mask-image:none!important;mask-image:none!important;z-index:0}
.why-ph img{object-position:30% center;filter:saturate(.95)!important}
.why-ph::after{background:linear-gradient(90deg,rgba(251,248,241,0) 35%,rgba(251,248,241,.28) 62%,rgba(251,248,241,.55) 100%),linear-gradient(180deg,rgba(251,248,241,.25),transparent 25%,transparent 75%,rgba(251,248,241,.35))!important;box-shadow:inset 0 0 90px rgba(251,248,241,.55)}
.why-tx{grid-column:2;padding:48px 44px 44px 0!important;display:flex;flex-direction:column;gap:14px;justify-content:center;z-index:1}
.why-head,.why-it,.why-tags{position:relative;background:rgba(251,248,241,.74);-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);border-radius:16px;
  box-shadow:0 1px 2px rgba(14,38,68,.05),0 18px 40px -24px rgba(14,38,68,.45);outline:1px solid rgba(176,147,90,.4);outline-offset:-6px;
  background-image:url(../img/deco/c4-tl.png),url(../img/deco/c4-br.png);background-repeat:no-repeat;background-position:5px 5px,calc(100% - 5px) calc(100% - 5px);background-size:30px auto;
  transition:translate .8s cubic-bezier(.22,1,.36,1),box-shadow .8s cubic-bezier(.22,1,.36,1),background-color .6s ease}
.why-head{padding:24px 28px 20px;background-color:rgba(251,248,241,.8)}
.why-head h2{margin:6px 0 0!important;font-size:clamp(28px,2.6vw,36px)}
.why-it{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:center;padding:18px 24px 18px 18px!important;border-bottom:0!important}
.why-it:hover,.why-head:hover{translate:0 -4px;background-color:rgba(251,248,241,.9);box-shadow:0 2px 4px rgba(14,38,68,.06),0 28px 50px -24px rgba(14,38,68,.5)}
.why-ic{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(14,38,68,.25))}
.why-it h3{font-size:21px!important}
.why-it p{font-size:13.5px!important;line-height:1.7!important;margin-top:4px!important}
.why-tags{margin-top:2px!important;padding:12px 20px!important;border-top:0!important;font-size:11.5px!important;background-image:none;outline-offset:-5px}
@media (max-width:900px){
  .why .wrap{grid-template-columns:1fr!important;min-height:0}
  .why-ph{position:relative!important;inset:auto;height:280px}
  .why-ph::after{background:linear-gradient(180deg,transparent 55%,#f4efe4 100%)!important}
  .why .wrap{background:#f4efe4!important}
  .why-tx{grid-column:1;padding:0 18px 30px!important;margin-top:-70px}}
/* Trois raisons : mini-cartes ornées de motifs abstraits (sans icônes) */
.why-it{display:block!important;padding:20px 26px 20px 30px!important;overflow:hidden;
  background-image:url(../img/deco/guilloche-1-light.png),url(../img/deco/c4-tl.png),url(../img/deco/c4-br.png)!important;
  background-repeat:no-repeat!important;background-position:calc(100% + 46px) calc(100% + 52px),5px 5px,calc(100% - 5px) calc(100% - 5px)!important;background-size:150px auto,30px auto,30px auto!important}
.why-it::before{content:"";position:absolute;left:14px;top:22px;bottom:22px;width:1px;background:linear-gradient(180deg,transparent,#b0935a 25%,#b0935a 75%,transparent)}
.why-it>div{position:relative}
.why-head h2::after{content:"";display:block;width:180px;height:18px;margin-top:10px;background:url(../img/deco/divider-3.png) left center/contain no-repeat;opacity:.9}
.why-it:hover{background-position:calc(100% + 36px) calc(100% + 42px),5px 5px,calc(100% - 5px) calc(100% - 5px)!important}
.why-it{transition:translate .8s cubic-bezier(.22,1,.36,1),box-shadow .8s cubic-bezier(.22,1,.36,1),background-color .6s ease,background-position 1.2s cubic-bezier(.22,1,.36,1)!important}
/* Logos réglementaires en pied de page */
.foot-logos{display:flex;justify-content:center;align-items:center;gap:46px;margin:26px auto 6px;flex-wrap:wrap}
.foot-logos a{display:block;opacity:.85;transition:opacity .6s ease,filter .6s ease,translate .7s cubic-bezier(.22,1,.36,1)}
.foot-logos a:hover{opacity:1;translate:0 -2px}
.foot-logos img{display:block;height:46px;width:auto}
.foot-logos a+a img{height:40px}
/* Agréments : logos */
.rgrid .rg-logo{display:flex;align-items:center;justify-content:flex-start;height:64px;margin-bottom:18px}
.rgrid .rg-logo img{max-height:56px;max-width:190px;width:auto;height:auto;transition:translate .7s cubic-bezier(.22,1,.36,1)}
.rgrid div:hover .rg-logo img{translate:0 -3px}
.rgrid .d2 .rg-logo img{max-height:64px}
/* Page 404 */
.nf{min-height:78vh;display:flex;align-items:center;justify-content:center;padding:150px 24px 90px;position:relative;overflow:hidden}
.nf-box{position:relative;z-index:1;max-width:720px;text-align:center;padding:60px 56px;border-radius:22px;background:#fbf8f1 url(../img/deco/paper-ivory-card.webp) 0 0/600px;
  background-image:url(../img/deco/c1-tl.png),url(../img/deco/c1-br.png),url(../img/deco/paper-ivory-card.webp);background-repeat:no-repeat,no-repeat,repeat;background-position:12px 12px,calc(100% - 12px) calc(100% - 12px),0 0;background-size:70px auto,70px auto,600px;
  outline:1px solid rgba(176,147,90,.5);outline-offset:-12px;box-shadow:0 40px 80px -40px rgba(14,38,68,.35)}
.nf-box h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4vw,48px);color:var(--navy);margin:10px 0 14px}
.nf-box p{color:var(--text);line-height:1.8}
.nf-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}
.nf-links .btn{margin-top:0}
.nf-tel{margin-top:26px;font-size:13px;color:var(--muted)!important}.nf-tel a{color:var(--navy)}
/* ===== Vérifiez par vous-même ===== */
.verif{padding:90px 24px;background:var(--bg)}
.verif .wrap{max-width:1140px;margin:0 auto}
.verif .head{text-align:center;max-width:720px;margin:0 auto 40px}
.verif .head p{margin-top:14px;line-height:1.8;color:var(--text)}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vcard{display:flex;flex-direction:column;gap:8px;padding:34px 30px 28px;border-radius:18px;text-decoration:none;color:var(--text);
  background:#fff url(../img/deco/grain-light.png) 0 0/256px;background-image:url(../img/deco/c4-tl.png),url(../img/deco/c4-br.png),url(../img/deco/grain-light.png);background-repeat:no-repeat,no-repeat,repeat;background-position:7px 7px,calc(100% - 7px) calc(100% - 7px),0 0;background-size:40px auto,40px auto,256px;
  outline:1px solid rgba(176,147,90,.38);outline-offset:-8px;box-shadow:0 1px 2px rgba(14,38,68,.05),0 22px 46px -28px rgba(14,38,68,.4);transition:translate .8s cubic-bezier(.22,1,.36,1),box-shadow .8s cubic-bezier(.22,1,.36,1),outline-color .5s}
.vcard:hover{translate:0 -6px;outline-color:rgba(176,147,90,.8)}
.vcard small{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.vcard b{font-family:var(--serif);font-weight:500;font-size:26px;color:var(--navy);line-height:1.2}
.vcard span{font-size:13.5px;line-height:1.7}
.vcard i{font-style:normal;margin-top:auto;padding-top:10px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.vfacts{list-style:none;max-width:860px;margin:40px auto 0;padding:0}
.vfacts li{padding:16px 0 16px 28px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.75;position:relative}
.vfacts li::before{content:"";position:absolute;left:4px;top:24px;width:8px;height:8px;border:1px solid var(--gold);transform:rotate(45deg)}
.vfacts b{color:var(--navy);font-weight:500}
@media (max-width:900px){.vgrid{grid-template-columns:1fr}}
/* ===== Espace client (connexion) ===== */
.ec{min-height:86vh;display:flex;align-items:center;justify-content:center;padding:150px 24px 90px;position:relative;overflow:hidden}
.ec-box{position:relative;z-index:1;width:100%;max-width:470px;text-align:center;padding:52px 48px 40px;border-radius:22px;
  background:#fbf8f1;background-image:url(../img/deco/c1-tl.png),url(../img/deco/c1-br.png),url(../img/deco/paper-ivory-card.webp);background-repeat:no-repeat,no-repeat,repeat;background-position:12px 12px,calc(100% - 12px) calc(100% - 12px),0 0;background-size:62px auto,62px auto,600px;
  outline:1px solid rgba(176,147,90,.5);outline-offset:-12px;box-shadow:0 2px 4px rgba(14,38,68,.05),0 40px 80px -40px rgba(14,38,68,.4)}
.ec-logo{height:74px;width:auto;margin:0 auto 18px;display:block}
.ec-box h1{font-family:var(--serif);font-weight:400;font-size:38px;color:var(--navy);margin:6px 0 26px}
.ec-form{display:flex;flex-direction:column;gap:16px;text-align:left}
.ec-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.ec-form input{font:inherit;font-size:15px;letter-spacing:normal;text-transform:none;color:var(--navy);padding:13px 15px;border:1px solid rgba(176,147,90,.45);border-radius:10px;background:rgba(255,255,255,.85);outline:none;transition:border-color .4s,box-shadow .5s cubic-bezier(.22,1,.36,1)}
.ec-form input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(176,147,90,.15)}
.ec-form .btn{margin-top:8px;width:100%;justify-content:center;text-align:center}
.ec-forgot{align-self:center;font-size:12px;color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(176,147,90,.5)}
.ec-msg{margin-top:6px;padding:14px 16px;border-radius:10px;background:rgba(20,51,90,.06);border-left:2px solid var(--gold);font-size:13px;line-height:1.65;color:var(--text)}
.ec-msg a{color:var(--navy)}
.ec-note{margin-top:22px;font-size:11px;letter-spacing:.08em;color:var(--muted)}
.ec{align-items:flex-start;padding-top:130px}
/* Pages contrat : section développement durable (Helios) */
.cp-dd{margin-top:44px;padding:44px 46px 34px;border-radius:20px;color:#fff;position:relative;overflow:hidden;
  background:#14335a url(../img/deco/navy-silk.webp) center/cover;background-image:url(../img/deco/c5-tl.png),url(../img/deco/c5-br.png),url(../img/deco/navy-silk.webp);background-repeat:no-repeat;background-position:10px 10px,calc(100% - 10px) calc(100% - 10px),center;background-size:64px auto,64px auto,cover;
  outline:1px solid rgba(201,176,124,.45);outline-offset:-11px;box-shadow:0 30px 60px -32px rgba(14,38,68,.6)}
.cp-dd h2{color:#fff!important;margin:8px 0 14px!important}
.cp-dd-lead{font-size:15px;line-height:1.8;color:#d5dce6;max-width:760px}
.dd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.dd-grid>div{display:flex;flex-direction:column;gap:6px;padding:24px 22px;border-radius:14px;background:rgba(255,255,255,.06);outline:1px solid rgba(201,176,124,.35);outline-offset:-6px;transition:translate .8s cubic-bezier(.22,1,.36,1),background-color .6s}
.dd-grid>div:hover{translate:0 -4px;background:rgba(255,255,255,.1)}
.dd-grid small{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#c9b07c}
.dd-grid b{font-family:var(--serif);font-weight:400;font-size:30px;color:#fff}
.dd-grid span{font-size:13.5px;line-height:1.7;color:#d5dce6}
.cp-dd-forms{margin-top:24px;font-size:14px;line-height:1.75;color:#d5dce6}.cp-dd-forms b{color:#fff;font-weight:500}
.cp-dd .warn{color:#9fb0c6!important;margin-top:14px}
@media (max-width:800px){.dd-grid{grid-template-columns:1fr}.cp-dd{padding:36px 26px 28px}}
