/* Retraite Maurice — accueil (repris du thème Lagon cristal, index.html) */
:root{--navy:#0f3a6b;--navy-d:#0a2547;--blue:#1c7db3;--sky:#28a3e6;--lagoon:#3fd0d4;--ice:#e8f4fd;--sun1:#fbb52a;--sun2:#f48a1f;--sun3:#e2531b;--sand:#fdf3e1}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Outfit,sans-serif;background:#fff;color:var(--navy-d);overflow-x:hidden}
a{color:inherit;text-decoration:none}
.serif{font-family:Fraunces,serif;font-style:italic;font-weight:400}

/* aurore de fond */
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(180deg,#f4fbff,#fff 60%)}
.aurora i{position:absolute;border-radius:50%;opacity:.8;will-change:transform}
.aurora i:nth-child(1){width:600px;height:600px;background:radial-gradient(circle,#bfe9fb,transparent 68%);top:-200px;left:-150px;animation:a1 18s ease-in-out infinite alternate}
.aurora i:nth-child(2){width:520px;height:520px;background:radial-gradient(circle,#c9f4f1,transparent 68%);top:20%;right:-180px;animation:a1 22s ease-in-out infinite alternate-reverse}
.aurora i:nth-child(3){width:380px;height:380px;background:radial-gradient(circle,#fde9c4,transparent 68%);bottom:-120px;left:30%;animation:a1 16s ease-in-out infinite alternate}
@keyframes a1{to{transform:translate(120px,80px) scale(1.2)}}

.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 40px;transition:all .4s}
.nav.scrolled{background:rgba(255,255,255,.7);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(15,58,107,.08);padding:10px 40px}
.brand{display:flex;align-items:center;gap:10px;color:var(--navy)}
.brand svg{width:52px;height:42px}
.brand b{display:block;font-weight:800;letter-spacing:.05em;font-size:15px;line-height:1.05}
.brand i{font-size:11px;color:var(--sky);font-style:italic}
.nav ul{display:flex;gap:6px;list-style:none;font-size:15px;padding:6px;border-radius:999px;background:rgba(255,255,255,.6);border:1px solid rgba(28,125,179,.12);backdrop-filter:blur(10px)}
.nav ul a{display:block;padding:8px 16px;border-radius:999px;transition:background .3s,color .3s}
.nav ul a:hover{background:var(--navy);color:#fff}
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;font-weight:600;font-size:15.5px;overflow:hidden;isolation:isolate;transition:transform .3s,box-shadow .3s}
.btn-sun{background:linear-gradient(120deg,var(--sun1),var(--sun2));color:#fff;box-shadow:0 14px 30px -12px rgba(244,138,31,.9)}
.btn-sun::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.7) 50%,transparent 65%);transform:translateX(-120%);animation:shine 3.5s infinite;z-index:-1}
@keyframes shine{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.btn-line{border:1.5px solid rgba(15,58,107,.2);background:rgba(255,255,255,.5);backdrop-filter:blur(8px)}
.btn:hover{transform:translateY(-3px)}
.btn .arrow{display:inline-block;transition:transform .3s}.btn:hover .arrow{transform:translateX(5px)}

/* HERO */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center;padding:120px 40px 60px;max-width:1400px;margin:0 auto}
.pill{display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 8px;border-radius:999px;background:#fff;box-shadow:0 8px 24px -14px rgba(15,58,107,.4);font-size:13.5px;font-weight:500}
.pill b{background:var(--lagoon);color:#fff;border-radius:999px;padding:3px 10px;font-size:12px}
h1{font-size:clamp(44px,5.8vw,86px);font-weight:700;line-height:1;letter-spacing:-.035em;margin:24px 0}
h1 .serif{font-weight:400;background:linear-gradient(100deg,var(--blue),var(--lagoon),var(--sky),var(--blue));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:flow 7s linear infinite;padding-right:.1em}
@keyframes flow{to{background-position:-300% 0}}
.hero p.lead{font-size:18.5px;line-height:1.65;color:#41607f;max-width:500px}
.ctas{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.proof{display:flex;align-items:center;gap:14px;margin-top:40px;font-size:14px;color:#41607f}
.avatars{display:flex}
.avatars span{width:38px;height:38px;border-radius:50%;border:3px solid #fff;margin-left:-10px;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}
.avatars span:first-child{margin-left:0}
.stars{color:var(--sun1);letter-spacing:2px}
.fadeup{opacity:0;transform:translateY(30px);animation:fu 1s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes fu{to{opacity:1;transform:none}}
@keyframes winIn{to{opacity:1}}

.window{position:relative;height:min(78vh,680px);border-radius:44px;overflow:hidden;box-shadow:0 50px 90px -40px rgba(15,58,107,.55),inset 0 0 0 1px rgba(255,255,255,.4);transform:perspective(1400px) rotateY(-6deg) rotateX(2deg);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.window svg,.window img{position:absolute;inset:0;width:100%;height:100%}
.kbimg{object-fit:cover;object-position:60% 50%;animation:kb 30s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.14) translate(-2%,2%)}}
.chip{position:absolute;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.72));border:1px solid rgba(255,255,255,.85);box-shadow:0 20px 40px -20px rgba(10,37,71,.45);font-size:14px;animation:bob 6s ease-in-out infinite;z-index:3}
.chip strong{display:block;font-size:15px}
.chip small{color:#41607f}
.chip .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:800}
@keyframes bob{50%{transform:translateY(-14px)}}
.c1{top:9%;left:7%}.c2{top:44%;right:6%;animation-delay:-2s}.c3{bottom:8%;left:12%;animation-delay:-4s}
.window::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.28) 50%,transparent 60%);transform:translateX(-100%);animation:glass 7s ease-in-out infinite;pointer-events:none}
@keyframes glass{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* marquee */
.marquee{overflow:hidden;padding:26px 0;border-block:1px solid rgba(28,125,179,.12);background:rgba(255,255,255,.6)}
.marquee .track{display:flex;gap:16px;width:max-content;animation:mq 40s linear infinite}
.marquee span,.marquee a{white-space:nowrap;padding:10px 22px;border-radius:999px;background:var(--ice);color:var(--blue);font-weight:500}
.marquee span:nth-child(3n),.marquee a:nth-child(3n){background:#fff4e2;color:var(--sun3)}
@keyframes mq{to{transform:translateX(-50%)}}

section{position:relative}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.kicker{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sky)}
.h2{font-size:clamp(34px,4.2vw,60px);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:12px 0 18px}
.h2 .serif{color:var(--blue)}
.reveal{opacity:0;transform:translateY(40px);transition:1s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

.services{padding:130px 0}

.life{padding:40px 0 120px}
.lgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}
.lph{position:relative;border-radius:36px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(15,58,107,.6)}
.lph.big{height:620px}
.lph img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;will-change:transform}
.lph::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%);transform:translateX(-100%);transition:transform 1.2s}
.lph:hover::after{transform:translateX(100%)}
.lt{position:absolute;left:20px;bottom:20px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.6);backdrop-filter:blur(12px);font-weight:600;font-size:14px}
.ltxt p{color:#4d6b88;line-height:1.7;font-size:17px;max-width:440px}
.island{padding:120px 0;background:linear-gradient(180deg,transparent,var(--ice) 30%,var(--ice) 70%,transparent)}
.isl{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}
.map{position:relative;max-width:500px;width:100%;margin:auto}
/* la mini-carte de l'accueil (blocs/ile.html accueil) : la région choisie se soulève, ses lieux s'allument */
.ile-acc .ile-reg{cursor:pointer;filter:saturate(.7) brightness(1.06);transition:transform .55s cubic-bezier(.3,1.5,.5,1),filter .45s}
.ile-acc .ile-reg path{stroke:#fff;stroke-width:1.8;stroke-linejoin:round}
.ile-acc .ile-reg.on{filter:saturate(1.15) drop-shadow(0 12px 10px rgba(10,37,71,.35));transform:translateY(-7px)}
.ile-acc .ile-pts>g{opacity:.5;transition:opacity .45s,transform .55s cubic-bezier(.3,1.5,.5,1)}
.ile-acc .ile-pts>g.on{opacity:1;transform:translateY(-7px)}
.pin{cursor:pointer}
.pin-in{transition:transform .55s cubic-bezier(.3,1.5,.5,1)}
.pin.on .pin-in{transform:translateY(-7px)}
.pin .ring{fill:#f48a1f;opacity:.6;transform-box:fill-box;transform-origin:center;animation:ping 2.4s ease-out infinite}
@keyframes ping{from{transform:scale(.6);opacity:.9}to{transform:scale(2.6);opacity:0}}
.pin .dot{fill:#fff;stroke:#0f3a6b;stroke-width:3;transition:fill .3s}
.pin.on .dot{fill:var(--sun2)}
.pin-lab{opacity:0;transform:translateY(5px);transition:opacity .3s,transform .4s cubic-bezier(.3,1.5,.5,1);pointer-events:none}
.pin-lab rect{fill:#fff;filter:drop-shadow(0 6px 10px rgba(10,37,71,.25))}
.pin-lab text{font:600 14px Outfit,sans-serif;fill:var(--navy-d);text-anchor:middle}
.pin.on .pin-lab,.pin:hover .pin-lab{opacity:1;transform:none}
.map .ile-ouvrir{position:absolute;left:0;top:2%;display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.75);backdrop-filter:blur(12px);
  font-size:14.5px;color:var(--navy-d);box-shadow:0 12px 30px -16px rgba(15,58,107,.6);transition:transform .3s cubic-bezier(.3,1.5,.5,1),background .2s}
.map .ile-ouvrir b{color:var(--blue)}
.map .ile-ouvrir:hover{transform:translateX(4px);background:#fff}
.regions{display:flex;flex-direction:column;gap:12px}
.region{padding:20px 24px;border-radius:22px;background:#fff;border:1px solid transparent;cursor:pointer;transition:all .35s;box-shadow:0 10px 30px -24px rgba(15,58,107,.5)}
.region h3{font-size:19px;font-weight:600;display:flex;justify-content:space-between}
.region h3 small{font-size:12px;color:var(--sky);font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.region p{max-height:0;overflow:hidden;color:#4d6b88;line-height:1.6;transition:max-height .5s,margin .5s}
.region.on{border-color:var(--lagoon);transform:translateX(8px)}
.region.on p{max-height:90px;margin-top:8px}

@media(max-width:980px){
  .nav ul{display:none}.nav,.nav.scrolled{padding-inline:18px}
  .hero{grid-template-columns:1fr;padding:110px 20px 40px}
  .window{height:440px;transform:none}
  
  .isl,.lgrid{grid-template-columns:1fr}.lph.big{height:420px}
  .wrap{padding:0 20px}
  .qz,.testis{grid-template-columns:1fr}.qz-left{padding:34px 24px}.qz-right{min-height:440px}
  .tm{min-height:auto;display:flex;flex-direction:column}.tm>img{position:relative;height:300px}.tm-card{position:relative;inset:auto;width:auto;margin:-60px 16px 16px;padding:28px}
}
@media(max-width:600px){.nav .btn{display:none}.chip{font-size:12px;padding:10px 12px}.c2{right:4%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.fadeup,.reveal,#win{opacity:1!important;transform:none}}

/* PLONGÉE */
.dive{height:175vh;position:relative}
.dive-pin{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}
.dive-media{position:absolute;inset:0;clip-path:inset(var(--i,20%) var(--j,26%) round var(--r,44px));will-change:clip-path}
.dive-media .drone{transform:scale(var(--z,1.3))}

.dive-media::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 45% at 50% 50%,rgba(10,37,71,.55),transparent 75%),linear-gradient(0deg,rgba(10,37,71,.45),transparent 50%);opacity:var(--o,0)}
.dive-txt{position:relative;z-index:2;text-align:center;color:#fff;opacity:var(--o,0);transform:translateY(calc((1 - var(--o,0))*40px));text-shadow:0 10px 40px rgba(10,37,71,.4)}
.dive-txt h2{font-size:clamp(44px,7vw,110px);font-weight:700;letter-spacing:-.035em;line-height:1}
.dive-txt .kicker{color:#fff}

/* régions avec photo */
.region .rb{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center;max-height:0;overflow:hidden;transition:max-height .5s,margin .5s}
.region.on .rb{max-height:100px;margin-top:12px}
.region .rb img{width:110px;height:76px;object-fit:cover;border-radius:14px}
.region .rb p,.region.on .rb p{max-height:none;margin:0}

/* QUIZ */
.quiz{padding:110px 0}
.qz{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:40px;overflow:hidden;background:rgba(255,255,255,.85);border:1px solid #fff;box-shadow:0 50px 100px -50px rgba(15,58,107,.5)}
.qz-left{padding:56px}
.qz-prog{height:6px;border-radius:6px;background:var(--ice);margin:26px 0 30px;overflow:hidden}
.qz-prog i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,var(--lagoon),var(--blue));transition:width .6s cubic-bezier(.2,.8,.2,1)}
.qz-q{font-size:22px;font-weight:600;margin-bottom:18px}
.qz-step{font-size:13px;color:var(--sky);font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.qz-opts{display:grid;gap:12px}
.qz-opts button{all:unset;cursor:pointer;display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:18px;background:#fff;border:1.5px solid rgba(28,125,179,.15);font-size:16px;transition:transform .25s,border-color .25s,box-shadow .25s}
.qz-opts button:hover{transform:translateX(8px);border-color:var(--lagoon);box-shadow:0 14px 30px -18px rgba(28,125,179,.6)}
.qz-opts button b{width:34px;height:34px;border-radius:10px;background:var(--ice);color:var(--blue);display:grid;place-items:center;font-size:14px;flex:0 0 34px}
.qz-anim{animation:qin .5s cubic-bezier(.2,.8,.2,1)}
@keyframes qin{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
.qz-right{position:relative;min-height:560px;overflow:hidden}
.qz-right img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .7s,transform 1.4s cubic-bezier(.2,.7,.2,1)}
.qz-right img.on{opacity:1;transform:scale(1)}
.qz-res{position:absolute;left:24px;right:24px;bottom:24px;padding:26px;border-radius:26px;background:rgba(255,255,255,.7);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.8);opacity:0;transform:translateY(30px);transition:.7s cubic-bezier(.2,.8,.2,1)}
.qz-res.on{opacity:1;transform:none}
.qz-res small{color:var(--sky);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.qz-res h3{font-size:34px;font-weight:700;letter-spacing:-.02em;margin:4px 0 8px}
.qz-res p{color:#41607f;line-height:1.6;margin-bottom:16px}
.qz-again{all:unset;cursor:pointer;margin-left:14px;font-weight:600;color:var(--blue)}

/* ÉQUIPE + AVIS */
.team{padding:110px 0}
.tm{position:relative;border-radius:44px;overflow:hidden;min-height:620px;box-shadow:0 50px 100px -50px rgba(15,58,107,.6)}
.tm>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.tm-card{position:absolute;right:34px;top:34px;bottom:34px;width:min(460px,calc(100% - 68px));padding:40px;border-radius:32px;background:rgba(255,255,255,.62);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid rgba(255,255,255,.85);display:flex;flex-direction:column;justify-content:center}
.tm-card h3{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:10px 0 18px}
.checks{list-style:none;display:grid;gap:12px;margin-bottom:28px}
.checks li{display:flex;gap:12px;align-items:flex-start;line-height:1.5;color:#2d4a6b}
.checks li::before{content:"✓";flex:0 0 26px;height:26px;border-radius:50%;background:var(--lagoon);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.testis{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.testi{padding:30px;border-radius:30px;background:rgba(255,255,255,.75);border:1px solid #fff;box-shadow:0 30px 60px -40px rgba(15,58,107,.45);transition:transform .4s}
.testi:hover{transform:translateY(-8px)}
.testi .who{display:flex;align-items:center;gap:14px;margin-top:20px}
.testi .who img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 8px 20px -8px rgba(15,58,107,.5)}
.testi .who b{display:block}.testi .who span{font-size:13px;color:var(--sky)}
.testi p{font-family:Fraunces,serif;font-style:italic;font-size:18px;line-height:1.55;color:#24476b}
.testi .stars{display:block;margin-bottom:12px}

/* FAQ */
.faq{padding:90px 0 120px}
.faq .fl{max-width:860px;margin:40px auto 0;display:grid;gap:12px}
.faq details{background:#fff;border-radius:22px;padding:22px 26px;box-shadow:0 14px 34px -26px rgba(15,58,107,.5);border:1px solid transparent;transition:border-color .3s}
.faq details[open]{border-color:var(--lagoon)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;font-weight:600;font-size:17.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:0 0 32px;height:32px;border-radius:50%;background:var(--ice);color:var(--blue);display:grid;place-items:center;font-size:20px;transition:transform .4s,background .3s,color .3s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--blue);color:#fff}
.faq details p{color:#4d6b88;line-height:1.7;padding-top:12px;animation:qin .4s}
@media(max-width:980px){.qz,.testis{grid-template-columns:1fr}.qz-left{padding:34px 24px}.qz-right{min-height:440px}.tm{min-height:auto;display:flex;flex-direction:column}.tm>img{position:relative;height:300px}.tm-card{position:relative;inset:auto;right:auto;top:auto;bottom:auto;width:auto;margin:-60px 16px 16px;padding:28px}}

/* vue drone + éclats de soleil calés sur l'eau */
.drone{position:absolute;inset:0;animation:drone 14s ease-in-out infinite alternate;will-change:transform}
.drone img,.drone canvas{position:absolute;inset:0;width:100%;height:100%}
.drone img{object-fit:cover}
@keyframes drone{from{transform:scale(1.03)}to{transform:scale(1.15) translate(-2.5%,1.5%)}}
.dive-media .drone{animation:none}
.dive-stats{display:flex;gap:16px;justify-content:center;margin-top:34px;opacity:var(--o2,0);transform:translateY(calc((1 - var(--o2,0))*30px));text-shadow:none}
.dive-stats div{padding:18px 24px;border-radius:22px;background:rgba(255,255,255,.72);color:var(--navy-d);min-width:200px;text-align:left;box-shadow:0 20px 40px -24px rgba(10,37,71,.6)}
.dive-stats b{display:block;font-size:26px;font-weight:700;letter-spacing:-.02em}
.dive-stats span{font-size:13.5px;color:#41607f}

.cta2{padding:60px 24px 0}
.cta2-in{position:relative;max-width:1340px;margin:0 auto;border-radius:44px;overflow:hidden;min-height:560px;display:flex;align-items:center;box-shadow:0 50px 100px -50px rgba(15,58,107,.55)}
.cta2-in>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:75% 40%}
.cta2-in::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.88) 40%,rgba(255,255,255,0) 68%);z-index:1}
.cta2-card{position:relative;z-index:2;padding:60px;max-width:620px}
.cta2-card h2{font-size:clamp(36px,4.4vw,62px);font-weight:700;letter-spacing:-.03em;line-height:1.03;margin:12px 0 16px}
.cta2-card h2 .serif{color:var(--blue)}
.cta2-card p{color:#41607f;font-size:18px;line-height:1.6;margin-bottom:28px}
.cta2-card .ctas{margin-top:0}
.mini{list-style:none;display:flex;flex-wrap:wrap;gap:20px;margin-top:24px;color:#2d4a6b;font-size:14px;font-weight:500}
.mini li::before{content:"✓ ";color:var(--lagoon);font-weight:800}
@media(max-width:980px){
  .dive-stats{flex-direction:column;align-items:stretch;padding:0 20px}.dive-stats div{min-width:0}
  .cta2-in{min-height:0;flex-direction:column;align-items:stretch;background:#fff}.cta2-in::before{display:none}
  .cta2-in>img{position:relative;order:2;height:300px;object-position:50% 30%}
  .cta2-card{padding:36px 24px}
}

/* SERVICES : mosaïque, chaque service montre ce qu'on fait */
.sv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.sv-deal{display:flex;align-items:center;gap:18px;padding:18px 24px;border-radius:26px;background:rgba(255,255,255,.8);border:1px solid #fff;box-shadow:0 24px 50px -34px rgba(15,58,107,.5)}
.sv-deal small{display:block;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);font-weight:600}
.sv-deal b{display:block;font-size:22px;letter-spacing:-.02em}
.sv-deal span{font-size:13.5px;color:#4d6b88}
.sv-deal>div:last-child b{color:var(--blue)}
.sv-deal i{font-style:normal;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--lagoon),var(--blue));color:#fff;font-size:18px}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:50px}
.bx{position:relative;padding:32px;border-radius:32px;background:rgba(255,255,255,.78);border:1px solid #fff;box-shadow:0 30px 60px -42px rgba(15,58,107,.55);overflow:hidden;--x:50%;--y:50%}
.bx.in{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.bx::before{content:"";position:absolute;inset:0;background:radial-gradient(300px circle at var(--x) var(--y),rgba(63,208,212,.2),transparent 65%);opacity:0;transition:opacity .4s;pointer-events:none}
.bx:hover::before{opacity:1}
.bx.in:hover{transform:translateY(-6px);box-shadow:0 40px 70px -40px rgba(28,125,179,.6)}
.bx-n{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sky);margin-bottom:12px}
.bx h3{font-size:clamp(22px,2vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:12px}
.bx h3 .serif{color:var(--blue)}
.bx p{color:#4d6b88;line-height:1.6;font-size:15.5px}
.do{list-style:none;display:grid;gap:10px;margin-top:18px}
.do li{display:flex;gap:10px;align-items:flex-start;line-height:1.45;font-size:15px;color:#2d4a6b}
.do li::before{content:"✓";flex:0 0 22px;height:22px;border-radius:50%;background:var(--ice);color:var(--blue);display:grid;place-items:center;font-weight:800;font-size:12px}
.do.sm li{font-size:14px}
.bx-permis{grid-column:span 4;display:grid;grid-template-columns:1.05fr 1fr;gap:30px;align-items:center;background:linear-gradient(140deg,#0a2547,#0f3a6b 55%,#1c7db3);color:#fff;border-color:rgba(255,255,255,.15)}
.bx-permis .bx-n{color:var(--lagoon)}.bx-permis h3 .serif{color:#9be8ea}
.bx-permis .do li{color:#d6e7f5}.bx-permis .do li::before{background:rgba(63,208,212,.2);color:var(--lagoon)}
.bx-permis::after{content:"";position:absolute;width:420px;height:420px;right:-140px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(63,208,212,.35),transparent 65%);pointer-events:none}
.viz-permit{position:relative;display:grid;place-items:center;padding:10px 0}
.doc{position:relative;width:100%;max-width:330px;padding:22px;border-radius:22px;background:#fdfaf3;color:var(--navy-d);box-shadow:0 30px 60px -20px rgba(0,0,0,.5);transform:rotate(3deg);transition:transform .6s}
.bx-permis:hover .doc{transform:rotate(0) scale(1.03)}
.doc-top{display:flex;gap:10px;align-items:center;padding-bottom:12px;border-bottom:1px dashed #d9cdb5}
.doc-top svg{width:40px;height:33px;color:var(--navy)}
.doc-top b{display:block;font-size:15px}.doc-top small{font-size:12px;color:#8a7a5c;font-style:italic}
.doc-id{display:flex;gap:12px;align-items:center;margin:14px 0}
.doc-id .ph{width:46px;height:54px;border-radius:8px;background:linear-gradient(135deg,var(--lagoon),var(--blue));color:#fff;display:grid;place-items:center;font-weight:700}
.doc-id div{flex:1;display:grid;gap:7px}.doc-id i{display:block;height:7px;border-radius:4px;background:#e9dfcb}
.steps4{list-style:none;display:grid;gap:8px;counter-reset:s}
.steps4 li{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;color:#9aa8b8;transition:color .4s}
.steps4 li::before{content:"";flex:0 0 18px;height:18px;border-radius:50%;border:2px solid #d5dde6;transition:all .4s;background:center/10px no-repeat}
.steps4 li.ok{color:var(--navy-d)}
.steps4 li.ok::before{border-color:#159753;background-color:#159753;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 5l2 2 4-4' stroke='%23fff' stroke-width='1.8' fill='none'/%3E%3C/svg%3E")}
.steps4 li.cur::before{border-color:var(--sun2);animation:ping2 1s ease-in-out infinite}
@keyframes ping2{50%{box-shadow:0 0 0 6px rgba(244,138,31,.2)}}
.stamp{position:absolute;right:14px;bottom:20px;padding:8px 14px;border:3px solid #159753;border-radius:10px;color:#159753;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:15px;transform:rotate(-14deg) scale(2.4);opacity:0;transition:transform .35s cubic-bezier(.5,1.8,.5,1),opacity .2s;mix-blend-mode:multiply}
.stamp.on{opacity:.9;transform:rotate(-14deg) scale(1)}

@keyframes ecg{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}

.bx-logement,.bx-banque{grid-column:span 3}
.stack{position:relative;height:230px;margin-top:52px}
.home{position:absolute;inset:0;display:flex;border-radius:22px;overflow:hidden;background:#fff;border:1px solid rgba(28,125,179,.14);box-shadow:0 24px 40px -26px rgba(15,58,107,.6);transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .8s;transform-origin:50% 100%}
.home img{width:46%;object-fit:cover}
.home div{padding:20px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.home b{font-size:17px;line-height:1.25}.home span{font-size:14px;color:#4d6b88}
.home em{font-style:normal;margin-top:8px;align-self:flex-start;padding:5px 12px;border-radius:999px;background:#e6f8f1;color:#127a46;font-size:13px;font-weight:600}
.home[data-p="0"]{z-index:3;transform:none}
.home[data-p="1"]{z-index:2;transform:translateY(-18px) scale(.94);opacity:.9}
.home[data-p="2"]{z-index:1;transform:translateY(-34px) scale(.88);opacity:.65}
.home[data-p="out"]{z-index:4;transform:translateX(70%) rotate(8deg);opacity:0}
.flow{display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:center;margin:20px 0 16px}
.acct{padding:14px;border-radius:18px;background:#fff;box-shadow:0 14px 30px -20px rgba(15,58,107,.5);text-align:center}
.flag{display:block;width:30px;height:20px;margin:0 auto;border-radius:4px;box-shadow:0 0 0 1px rgba(15,58,107,.12)}.flag.fr{background:linear-gradient(90deg,#1f4ea3 33.3%,#fff 0 66.6%,#e1252f 0)}.flag.mu{background:linear-gradient(180deg,#e1252f 25%,#1f3a93 0 50%,#ffd500 0 75%,#00a551 0)}.acct b{display:block;font-size:14px;margin-top:4px}.acct small{font-size:12px;color:#4d6b88}
.pipe{width:100%;height:60px;overflow:visible}
.notif{display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:18px;background:#fff;border:1px solid #d7f3e6;animation:notif 4.8s ease-in-out infinite}
.notif i{font-style:normal;width:34px;height:34px;border-radius:10px;background:#159753;color:#fff;display:grid;place-items:center;font-weight:800}
.notif b{display:block;font-size:14.5px}.notif small{font-size:12.5px;color:#4d6b88}
@keyframes notif{0%,15%{opacity:0;transform:translateY(10px)}25%,85%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-6px)}}
.bx-vie{grid-column:span 3}
.todo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.todo div{position:relative;padding:16px;border-radius:20px;background:#fff;border:1.5px solid rgba(28,125,179,.12);animation:tick 8s infinite}
.todo div:nth-child(2){animation-delay:1.2s}.todo div:nth-child(3){animation-delay:2.4s}.todo div:nth-child(4){animation-delay:3.6s}
.todo div::after{content:"✓";position:absolute;top:12px;right:12px;width:24px;height:24px;border-radius:50%;background:#159753;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;transform:scale(0);animation:tickc 8s infinite;animation-delay:inherit}
@keyframes tick{0%,8%{border-color:rgba(28,125,179,.12)}12%,85%{border-color:#a7e4c7;background:#f3fcf8}100%{border-color:rgba(28,125,179,.12);background:#fff}}
@keyframes tickc{0%,8%{transform:scale(0)}12%,85%{transform:scale(1)}100%{transform:scale(0)}}
.todo span{font-size:22px}.todo b{display:block;font-size:15px;margin-top:6px}.todo small{font-size:13px;color:#4d6b88;line-height:1.4;display:block;margin-top:2px}
.bx-integ{grid-column:span 3;background:linear-gradient(180deg,#fff,#effafa)}
.week{display:grid;gap:8px;margin-top:20px}
.week div{display:flex;align-items:center;gap:14px;padding:11px 14px;border-radius:16px;background:#fff;box-shadow:0 10px 24px -20px rgba(15,58,107,.5);opacity:0;transform:translateX(-20px);transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1)}
.bx-integ.in .week div{opacity:1;transform:none}
.bx-integ.in .week div:nth-child(2){transition-delay:.15s}.bx-integ.in .week div:nth-child(3){transition-delay:.3s}.bx-integ.in .week div:nth-child(4){transition-delay:.45s}
.week b{width:46px;padding:5px 0;border-radius:10px;background:var(--ice);color:var(--blue);text-align:center;font-size:13px}
.week span{font-size:15px;color:#2d4a6b}

@media(max-width:980px){.bento{grid-template-columns:1fr}.bx-permis,.bx-famille,.bx-logement,.bx-banque,.bx-vie,.bx-integ{grid-column:auto}.bx-permis{grid-template-columns:1fr}.bx{padding:26px}}
@media(max-width:600px){.stamp{font-size:12px;bottom:auto;top:78px;right:12px}.sv-deal{width:100%;justify-content:space-between;padding:16px}.sv-deal b{font-size:18px}.home img{width:40%}.home div{padding:14px}.home b{font-size:15px}.flow{grid-template-columns:1fr .8fr 1fr}.todo{grid-template-columns:1fr}}

/* MÉTHODE racontée : l'histoire de Martine et Claude */
.story{padding:120px 0 60px}
.story-head{text-align:center;max-width:760px}
.story-head p{color:#4d6b88;font-size:18px;line-height:1.6}
.story-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;margin-top:30px;align-items:start}
.story-media{position:sticky;top:90px;height:calc(100vh - 120px);max-height:820px;display:flex;flex-direction:column;gap:14px}
.frames{position:relative;flex:1;border-radius:40px;overflow:hidden;box-shadow:0 50px 90px -45px rgba(15,58,107,.6);background:var(--ice)}
.frame{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.07);transition:opacity .9s,transform 1.6s cubic-bezier(.2,.7,.2,1)}
.frame.on{opacity:1;transform:none}
.fig img{width:100%;height:100%;object-fit:cover;display:block}
.fig::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,37,71,.45),transparent 45%);pointer-events:none}
.art{position:absolute;z-index:2;left:22px;bottom:22px;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:20px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #fff;box-shadow:0 20px 40px -20px rgba(10,37,71,.5);color:var(--navy-d);opacity:0;transform:translateY(24px);transition:opacity .7s .35s,transform .8s .35s cubic-bezier(.2,.8,.2,1)}
.art.tr{left:auto;bottom:auto;right:22px;top:22px;transition-delay:.6s;font-weight:600;font-size:14px}
.art.ok{color:#127a46}
.frame.on .art,.sstep .art{opacity:1;transform:none}
.art b{display:block;font-size:15px}.art small{font-size:13px;color:#4d6b88}
.live{flex:0 0 12px;height:12px;border-radius:50%;background:#e2531b;animation:live 1.4s infinite}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(226,83,27,.5)}70%,100%{box-shadow:0 0 0 10px rgba(226,83,27,0)}}
.art.wide{right:22px}.art.wide>div{flex:1}
.bar{height:8px;border-radius:8px;background:var(--ice);margin-top:10px;overflow:hidden}
.bar i{display:block;height:100%;width:0;border-radius:8px;background:linear-gradient(90deg,var(--lagoon),var(--blue));transition:width 1.6s .7s cubic-bezier(.2,.8,.2,1)}
.frame.on .bar i,.sstep .bar i{width:72%}
.art.list{flex-direction:column;align-items:stretch;gap:8px;min-width:300px}
.art.list span{display:flex;align-items:center;gap:10px;font-size:14px}
.art.list i{font-style:normal;flex:0 0 24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--ice);color:var(--blue);font-size:12px;font-weight:800}
.art.list span:nth-child(2) i{background:#ffe4dc;color:#e2531b}
.art.list em{margin-left:auto;padding-left:10px;font-style:normal;font-size:12px;font-weight:600;color:#4d6b88;white-space:nowrap}
.art.list span:nth-child(2) em{color:#e2531b}
.art.pass{gap:18px;padding:16px 22px}
.art.pass b{font-size:26px;letter-spacing:.02em}.art.pass small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.art.pass .pl{font-size:22px;color:var(--sky)}
.art.pass em{font-style:normal;margin-left:6px;padding:6px 12px;border-radius:999px;background:linear-gradient(120deg,var(--sun1),var(--sun2));color:#fff;font-size:13px;font-weight:600}
.flight{display:flex;align-items:center;gap:14px;padding:10px 22px;border-radius:24px;background:rgba(255,255,255,.85);border:1px solid #fff;box-shadow:0 20px 40px -30px rgba(15,58,107,.5);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.flight svg{flex:1;height:52px;overflow:visible}
.fdot{fill:#fff;stroke:#bfe3f2;stroke-width:2.5;transition:fill .4s,stroke .4s}
.fdot.on{fill:var(--lagoon);stroke:var(--blue)}
.sstep{min-height:82vh;display:flex;flex-direction:column;justify-content:center;padding:40px 0;opacity:.28;transition:opacity .6s}
.sstep.on{opacity:1}
.sstep .fig{display:none}
.big{font-size:120px;font-weight:800;line-height:.8;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px var(--lagoon);transition:color .6s}
.sstep.on .big{color:var(--lagoon)}
.when{align-self:flex-start;margin:22px 0 14px;padding:6px 14px;border-radius:999px;background:#fff4e2;color:var(--sun3);font-weight:600;font-size:14px}
.sstep h3{font-size:clamp(28px,2.8vw,40px);font-weight:700;letter-spacing:-.025em;line-height:1.1}
.sstep h3 .serif{color:var(--blue)}
.tale{margin-top:16px;color:#4d6b88;font-size:17px;line-height:1.7}
.split{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;margin-top:24px}
.split div{padding:16px 18px;border-radius:20px;background:#fff;border:1px solid rgba(28,125,179,.1);font-size:15px;line-height:1.45;color:#2d4a6b;font-weight:500}
.split small{display:block;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);font-weight:700;margin-bottom:4px}
.split .us{background:linear-gradient(135deg,#e9fbfa,#e8f4fd);border-color:rgba(63,208,212,.35)}
.split .us small{color:var(--blue)}
@media(max-width:980px){
  .story-grid{grid-template-columns:1fr;gap:0}.story-media{display:none}
  .sstep{min-height:0;opacity:1;padding:34px 0}
  .sstep .fig{display:block;position:relative;height:300px;margin:0 0 24px;border-radius:30px;overflow:hidden}
  .big{font-size:80px}
}
@media(max-width:600px){.split{grid-template-columns:1fr}.art.list{min-width:0;right:14px}.art{left:14px;bottom:14px;padding:12px 14px}.art.tr{right:14px;top:14px;font-size:12.5px}.art.pass{gap:12px}.art.pass b{font-size:20px}}

/* INTRO : sous le lagon, le soleil se lève, puis on émerge */
html.lock{overflow:hidden}
body.loading .fadeup,body.loading #win{animation-play-state:paused!important}
.intro{position:fixed;inset:0;z-index:200;overflow:hidden;display:grid;place-items:center;cursor:pointer;background:radial-gradient(120% 85% at 50% -12%,#8eeae6 0%,#2fb8d2 20%,#1584b4 44%,#0b5384 70%,#062a4f 100%)}
.intro .caus{position:absolute;inset:0;width:100%;height:100%;opacity:0;animation:iOn 1.4s .1s forwards}
.rays{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen}
.rays i{position:absolute;top:-12%;left:50%;height:125%;transform-origin:50% 0;background:linear-gradient(180deg,rgba(255,252,225,.5),rgba(255,255,255,0) 78%);filter:blur(16px);animation:iRay 6s ease-in-out infinite alternate}
@keyframes iRay{from{transform:translateX(-50%) rotate(var(--r));opacity:.25}to{transform:translateX(-50%) rotate(calc(var(--r) + 5deg));opacity:.85}}
.ib{position:absolute;bottom:-30px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.85),rgba(255,255,255,.06) 55%);animation:iBub linear forwards}
@keyframes iBub{to{transform:translate(var(--dx),-115vh)}}
.intro-in{position:relative;text-align:center;color:#fff;will-change:transform,opacity}
.ilogo{width:180px;height:148px;overflow:visible;filter:drop-shadow(0 18px 40px rgba(6,42,79,.45))}
.ilogo .isun{transform:translateY(48px);animation:iSun 1.5s .25s cubic-bezier(.2,.8,.2,1) forwards}
.ilogo .ihalo{transform-box:fill-box;transform-origin:center;animation:iHalo 3s 1s ease-in-out infinite alternate}
@keyframes iSun{to{transform:none}}
@keyframes iHalo{to{transform:scale(1.18);opacity:.7}}
.ilogo .dr,.ilogo .df{stroke:#fff;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;animation:iDraw 1s cubic-bezier(.6,0,.3,1) forwards}
.ilogo .df{fill:#fff;fill-opacity:0;stroke-width:.6}
@keyframes iDraw{to{stroke-dashoffset:0}}
@keyframes iFill{to{fill-opacity:1}}
.iname{display:flex;justify-content:center;margin-top:22px;font-weight:800;font-size:clamp(22px,3.2vw,34px);letter-spacing:.24em;text-shadow:0 8px 30px rgba(6,42,79,.5)}
.iname span{display:inline-block;opacity:0;filter:blur(12px);transform:translateY(26px) scale(1.25);animation:iLet .9s cubic-bezier(.2,.8,.2,1) forwards}
.iname .sp{width:.5em}
@keyframes iLet{to{opacity:1;filter:none;transform:none}}
.itag{display:block;margin-top:10px;font-family:Fraunces,serif;font-style:italic;font-size:19px;color:#fff3cf;opacity:0;animation:iUp 1s 1.55s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes iUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes iOn{to{opacity:1}}
.iwave{display:block;width:200px;height:18px;margin:22px auto 0;overflow:hidden}
.iwave g{animation:iFlow 1.6s linear infinite}
.iwave path{fill:none;stroke:rgba(255,255,255,.85);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:iDraw 1.4s 1.2s ease-in-out forwards}
@keyframes iFlow{to{transform:translateX(-60px)}}
.foam{position:fixed;inset:0;z-index:201;pointer-events:none;width:100%;height:100%}

/* liens vers les pages intérieures */
.bx-more{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-weight:600;font-size:15px;color:var(--blue)}
.bx-more span{transition:transform .3s}.bx-more:hover span{transform:translateX(5px)}
.bx-permis .bx-more{color:#9be8ea}

/* menu commun à toutes les pages (assets/menu.js) */
.nav ul a.on{background:var(--navy);color:#fff}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:0;background:#fff;box-shadow:0 8px 20px -10px rgba(15,58,107,.5);cursor:pointer;place-items:center}
.burger span,.burger span::before,.burger span::after{display:block;width:18px;height:2px;background:var(--navy);border-radius:2px;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}.burger span::before{top:-6px}.burger span::after{top:6px}
@media(max-width:1260px){.nav ul a{padding:8px 12px;font-size:14px}}
@media(max-width:980px){
  .nav ul{display:flex;position:fixed;top:74px;left:16px;right:16px;flex-direction:column;border-radius:24px;padding:10px;background:#fff;box-shadow:0 30px 60px -30px rgba(15,58,107,.6);opacity:0;pointer-events:none;transform:translateY(-10px);transition:all .3s}
  .nav.open ul{opacity:1;pointer-events:auto;transform:none}
  .nav ul a{padding:13px 18px;font-size:17px}
  .nav>.btn{display:none}.burger{display:grid}
}

/* ===== Ajouts retraite-maurice.fr ===== */
.proof-n{font-size:17px;color:var(--navy-d)}
.region{display:block}
.pin text{pointer-events:none}

/* bandeau « Maurice en ce moment » */
.marquee{position:relative;display:flex;align-items:center;padding:20px 0}
.mq-label{position:relative;z-index:2;flex:0 0 auto;margin-left:40px;padding:10px 18px;border-radius:999px;background:var(--navy);color:#fff;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;box-shadow:12px 0 24px 8px #fff}
.marquee .track{animation-duration:70s}
.marquee span i,.marquee a i{font-style:normal;margin-right:4px}
.marquee:hover .track{animation-play-state:paused}
.dive-stats div{min-width:180px}

/* éligibilité */
.elig{padding:120px 0 60px}
.el{display:grid;grid-template-columns:1.15fr 1fr;border-radius:40px;overflow:hidden;background:rgba(255,255,255,.85);border:1px solid #fff;box-shadow:0 50px 100px -50px rgba(15,58,107,.5)}
.el-left{padding:56px}
.el-sub{color:#4d6b88;margin:-4px 0 26px}
.el-q{margin-top:22px}
.el-q p{font-weight:600;font-size:17px;margin-bottom:10px}
.seg2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seg2.three{grid-template-columns:repeat(3,1fr)}
.seg2 button,.chips button{all:unset;cursor:pointer;box-sizing:border-box;text-align:center;padding:14px 16px;border-radius:16px;background:#fff;border:1.5px solid rgba(28,125,179,.15);font-size:15px;line-height:1.3;transition:transform .25s,border-color .25s,background .25s,color .25s,box-shadow .25s}
.seg2 button:hover,.chips button:hover{border-color:var(--lagoon);transform:translateY(-2px)}
.seg2 button.on,.chips button.on{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 14px 30px -16px rgba(15,58,107,.8)}
.seg2 button:focus-visible,.chips button:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.el-right{position:relative;display:grid;place-items:center;padding:50px 40px;background:linear-gradient(140deg,#0a2547,#0f3a6b 55%,#1c7db3);overflow:hidden}
.el-right::after{content:"";position:absolute;width:420px;height:420px;right:-160px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(63,208,212,.35),transparent 65%)}
.el-doc{position:relative;z-index:1;width:100%;max-width:360px;padding:26px;border-radius:24px;background:#fdfaf3;color:var(--navy-d);box-shadow:0 30px 60px -20px rgba(0,0,0,.5);transform:rotate(2deg);transition:transform .6s}
.el-doc .doc-top{display:flex;gap:10px;align-items:center;padding-bottom:12px;border-bottom:1px dashed #d9cdb5}
.el-doc .doc-top svg{width:40px;height:33px;color:var(--navy)}
.el-doc .doc-top b{display:block}.el-doc .doc-top small{font-size:12px;color:#8a7a5c;font-style:italic}
.el-checks{list-style:none;display:grid;gap:10px;margin:18px 0}
.el-checks li{display:flex;align-items:center;gap:10px;font-weight:500;color:#9aa8b8;transition:color .4s}
.el-checks li::before{content:"";flex:0 0 20px;height:20px;border-radius:50%;border:2px solid #d5dde6;background:center/11px no-repeat;transition:all .4s}
.el-checks li.ok{color:var(--navy-d)}
.el-checks li.ok::before{border-color:#159753;background-color:#159753;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 5l2 2 4-4' stroke='%23fff' stroke-width='1.8' fill='none'/%3E%3C/svg%3E")}
.el-checks li.ko{color:var(--sun3)}
.el-checks li.ko::before{border-color:var(--sun2);background-color:#fff4e2}
.el-verdict{padding:16px;border-radius:16px;background:var(--ice);animation:qin .5s}
.el-verdict b{display:block;font-size:18px;margin-bottom:4px}
.el-verdict span{display:block;font-size:14.5px;line-height:1.5;color:#41607f}
.el-verdict .el-go{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.el-verdict .el-go a{padding:9px 14px;border-radius:999px;background:var(--navy);color:#fff;font-size:14px;font-weight:600}
.el-verdict .el-go a+a{background:#fff;color:var(--navy);border:1px solid rgba(15,58,107,.15)}
.el-verdict.warn{background:#fff4e2}
.el-doc .stamp{top:64px;bottom:auto;right:18px}

/* budget */
.life{padding:80px 0 120px}
.bg{margin-top:24px;padding:26px;border-radius:30px;background:rgba(255,255,255,.85);border:1px solid #fff;box-shadow:0 30px 60px -40px rgba(15,58,107,.5)}
.bg-row{margin-bottom:14px}
.bg-l{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sky);margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{padding:9px 14px;border-radius:999px;font-size:14px}
.chips button em{font-style:normal;font-weight:700;color:#159753}
.chips button.on em{color:#9be8c4}
.bg-tot{display:flex;justify-content:space-between;align-items:baseline;margin:20px 0 14px;padding-top:16px;border-top:1px dashed rgba(15,58,107,.15)}
.bg-tot span{color:#41607f}
.bg-tot b{font-size:40px;font-weight:700;letter-spacing:-.03em;color:var(--navy-d)}
.bg-bars{display:grid;gap:8px}
.bg-bar{display:grid;grid-template-columns:150px 1fr 70px;align-items:center;gap:12px;font-size:14px}
.bg-bar span{color:#2d4a6b}
.bg-bar i{display:block;height:10px;border-radius:10px;background:linear-gradient(90deg,var(--lagoon),var(--blue));width:var(--w,0%);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.bg-bar b{text-align:right;font-weight:600}
.ltxt .bg-seuil{margin:14px 0 0;padding:12px 14px;border-radius:14px;background:#e6f8f1;color:#127a46;font-size:14.5px;line-height:1.5;max-width:none}
.ltxt .bg-seuil.warn{background:#fff4e2;color:#a4420f}
.ltxt .bg-note{font-size:12.5px;color:#6d86a0;margin-top:10px;max-width:none}
.ltxt .bx-more{margin-top:12px}
.lph.big .lt{transition:opacity .3s}

/* services */
.incl{display:inline-block;margin:0 0 12px 10px;padding:3px 10px;border-radius:999px;background:var(--ice);color:var(--blue);font-size:12px;font-weight:600}
.bx-permis .incl{background:rgba(63,208,212,.18);color:#9be8ea}
.bx-famille{grid-column:span 2;background:linear-gradient(180deg,#fff,#fff7ee)}
.fam{list-style:none;display:grid;gap:10px;margin-top:16px}
.fam li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #fde3c4;opacity:0;transform:translateY(12px);transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1)}
.bx-famille.in .fam li{opacity:1;transform:none}
.bx-famille.in .fam li:nth-child(2){transition-delay:.15s}.bx-famille.in .fam li:nth-child(3){transition-delay:.3s}
@media(max-width:980px){.bento{grid-template-columns:minmax(0,1fr)}.bx-famille{grid-column:auto}}  /* après la règle de la carte Famille, qui sinon garde ses 2 colonnes sur mobile */
.fam span{font-size:22px}.fam b{flex:1;font-size:15px}
.fam em{font-style:normal;padding:4px 10px;border-radius:999px;background:#e6f8f1;color:#127a46;font-size:12.5px;font-weight:600}
.bx .fam-note{margin-top:14px;font-size:14px}

/* guide */
.guide{padding:60px 0 110px}
.gd-rubs{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}
.gd-rub{display:grid;grid-template-columns:200px 1fr;border-radius:32px;overflow:hidden;background:rgba(255,255,255,.85);border:1px solid #fff;box-shadow:0 30px 60px -42px rgba(15,58,107,.55);transition:transform .4s,box-shadow .4s}
.gd-rub:hover{transform:translateY(-6px);box-shadow:0 40px 70px -40px rgba(28,125,179,.6)}
.gd-rub img{width:100%;height:100%;object-fit:cover}
.gd-rub>div{padding:28px}
.gd-rub h3{font-size:24px;font-weight:700;letter-spacing:-.02em}
.gd-rub p{color:#4d6b88;line-height:1.55;margin:8px 0 14px}
.gd-rub ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.gd-rub li{padding:5px 11px;border-radius:999px;background:var(--ice);color:var(--blue);font-size:13px;font-weight:500}
.gd-rub li span{margin-right:5px}
.gd-rub li.off{background:#f3f6f9;color:#8aa0b5}
.gd-n{display:inline-block;margin-top:16px;font-weight:600;color:var(--blue)}
.gd-last{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.gd-art{display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 24px 50px -36px rgba(15,58,107,.55);transition:transform .4s}
.gd-art:hover{transform:translateY(-6px)}
.gd-art img{height:170px;width:100%;object-fit:cover}
.gd-art div{padding:20px 22px 24px}
.gd-tag{display:inline-block;padding:3px 10px;border-radius:999px;background:#fff4e2;color:var(--sun3);font-size:12px;font-weight:600}
.gd-art h3{font-size:18px;line-height:1.3;margin:10px 0 8px}
.gd-art small{color:#6d86a0}
.gd-free{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;margin-top:30px;padding:30px 36px;border-radius:32px;background:linear-gradient(120deg,var(--ice),#fff4e2);border:1px solid #fff}
.gd-pdf{width:120px;padding:16px 12px;border-radius:14px;background:#fff;text-align:center;box-shadow:0 20px 40px -20px rgba(15,58,107,.5);transform:rotate(-5deg);transition:transform .5s}
.gd-free:hover .gd-pdf{transform:rotate(0) scale(1.05)}
.gd-pdf svg{width:56px;height:46px;color:var(--navy)}
.gd-pdf b{display:block;font-size:13px;margin-top:6px}.gd-pdf small{font-size:11px;color:#6d86a0}
.gd-free h3{font-size:24px;font-weight:700;letter-spacing:-.02em}
.gd-free p{color:#4d6b88;margin-top:6px;line-height:1.55}

.cta2-card .cta2-tel{margin:18px 0 0;font-size:15px}
.cta2-tel a{font-weight:600;color:var(--blue)}

@media(max-width:980px){
  .mq-label{margin-left:20px;font-size:11px;padding:8px 12px}
  .el{grid-template-columns:1fr}.el-left{padding:34px 24px}.el-right{padding:36px 24px}
  .gd-last{grid-template-columns:1fr}
  .gd-rubs{grid-template-columns:1fr}
  .gd-free{grid-template-columns:1fr;text-align:center;justify-items:center}
  .elig{padding:80px 0 40px}
}
@media(max-width:600px){
  .seg2,.seg2.three{grid-template-columns:1fr}
  .gd-rub{grid-template-columns:1fr}.gd-rub img{height:160px}
  .bg{padding:20px}.bg-bar{grid-template-columns:110px 1fr 60px;font-size:13px}.bg-tot b{font-size:32px}
  
  .dive-stats div{min-width:0}
}
.h1-k{display:block;font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sky);margin-bottom:18px;line-height:1.4}
.lph .lt{color:var(--navy-d);-webkit-text-stroke:0;font-size:14px;line-height:1.4;letter-spacing:0;white-space:nowrap;z-index:2}

/* « Ce que nous faisons » sur fond lagon : le titre en blanc, le bandeau « votre part / la nôtre » reste clair */
.services.vt-sec-lagon{padding:120px 0}
.services.vt-sec-lagon .sv-head .kicker{color:#e9fbfa}
.services.vt-sec-lagon .sv-deal{color:var(--navy-d)}
.services.vt-sec-lagon .bx:not(.bx-permis){color:var(--navy-d)}  /* les cartes claires gardent leur texte foncé */
.marquee a{transition:background .3s,color .3s}.marquee a:hover{background:var(--navy);color:#fff}
.el-plus{display:inline-block;margin-top:18px;font-size:14.5px;font-weight:600;color:var(--blue)}.el-plus span{display:inline-block;transition:transform .3s}.el-plus:hover span{transform:translateX(4px)}
