/* ============================================================
   OMEGA NOTAIRES — Martigues · maquette (Jonathan Boetsch)
   Identité : bleu pétrole profond + terre cuite, sable chaud
   ============================================================ */
:root{
  --deep:#132b4d;
  --deep-2:#1d3f6e;
  --accent:#2f7fbf;
  --accent-soft:#8cbde4;
  --sand:#f5f7fa;
  --paper:#ffffff;
  --ink:#17202e;
  --ink-soft:#55617a;
  --hair:#dde3ec;
  --shadow:0 1px 2px rgba(19,43,77,.06),0 10px 34px rgba(19,43,77,.10);
  --serif:"Iowan Old Style",Palatino,"Palatino Linotype",Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--ink);font-family:var(--sans);
  line-height:1.72;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:70rem;margin:0 auto;padding:0 1.5rem}
.narrow{max-width:48rem;margin-left:auto;margin-right:auto}
.center{text-align:center}

/* ---- bandeau maquette ---- */
.mockup-bar{background:#101d33;color:#d7e4f2;font-family:var(--sans);
  font-size:.8rem;letter-spacing:.02em;text-align:center;padding:.5rem 1rem;
  position:sticky;top:0;z-index:100;border-bottom:1px solid #2b4670}
.mockup-bar strong{color:#8cbde4}

/* ---- header / nav ---- */
header.site{background:var(--deep);color:#fff;position:sticky;top:2rem;z-index:90;
  border-bottom:2px solid var(--accent)}
@media(max-width:640px){header.site{position:static}}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.9rem 0;flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:.65rem;text-decoration:none;color:#fff}
.brand .mark{font-family:var(--serif);font-size:1.9rem;line-height:1;color:var(--accent-soft)}
.brand .word{font-family:var(--serif);font-size:.9rem;letter-spacing:.3em;
  text-transform:uppercase;color:#fff;padding-top:.15rem}
.brand .word small{display:block;letter-spacing:.18em;font-size:.62rem;color:#9fb4d2;margin-top:.15rem}
.menu{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.menu a{text-decoration:none;color:#dbe4f0;font-size:.8rem;letter-spacing:.09em;
  text-transform:uppercase;padding:.2rem 0;border-bottom:1px solid transparent;transition:.15s}
.menu a:hover,.menu a[aria-current]{color:#fff;border-color:var(--accent)}
.nav .tel{font-size:.85rem;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.35);
  padding:.45rem .9rem;border-radius:2px;letter-spacing:.03em;white-space:nowrap}
.nav .tel:hover{border-color:var(--accent);background:rgba(47,127,191,.22)}

/* ---- hero ---- */
.hero{position:relative;min-height:72vh;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .veil{position:absolute;inset:0;
  background:linear-gradient(102deg,rgba(10,25,48,.95) 0%,rgba(10,25,48,.87) 45%,rgba(10,25,48,.62) 72%,rgba(10,25,48,.32) 100%)}
.hero .inner{position:relative;padding:4.5rem 0}
.eyebrow{font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--accent-soft);margin:0 0 1rem;font-weight:600}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.8vw,3.3rem);
  line-height:1.14;margin:0 0 1.1rem;max-width:21ch}
.hero p.lead{font-size:1.1rem;max-width:36rem;color:#e6edf6;margin:0 0 1.6rem}
.hero .mark-xl{font-family:var(--serif);font-size:clamp(3.2rem,9vw,5.4rem);
  color:var(--accent);line-height:1;margin-bottom:.3rem}
.trust{display:flex;align-items:center;gap:.6rem;margin:0 0 2rem;font-size:.92rem;color:#e6edf6}
.trust .stars{color:#f0b429;letter-spacing:.1em}

/* ---- boutons ---- */
.btn{display:inline-block;font-family:var(--sans);font-size:.81rem;letter-spacing:.1em;
  text-transform:uppercase;text-decoration:none;padding:.85rem 1.7rem;border-radius:2px;
  transition:.18s;border:1px solid transparent;cursor:pointer}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:#255f92}
.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff;margin-left:.5rem}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.09)}
.btn-deep{background:var(--deep);color:#fff}
.btn-deep:hover{background:var(--deep-2)}

/* ---- sections ---- */
section.band{padding:4.8rem 0}
section.band.alt{background:var(--paper)}
.kicker{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);
  font-weight:700;margin:0 0 .8rem;display:block}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,3.4vw,2.25rem);
  line-height:1.22;margin:0 0 1.1rem;color:var(--deep)}
h3{font-family:var(--serif);font-weight:400;font-size:1.28rem;margin:0 0 .5rem;color:var(--deep)}
p{margin:0 0 1.1rem}
.lead-p{font-size:1.13rem;color:var(--ink-soft)}
.divider{width:64px;height:2px;background:var(--accent);margin:0 0 1.6rem}
.divider.center{margin-left:auto;margin-right:auto}

/* ---- grilles ---- */
.cols{display:grid;gap:2.4rem}
.cols.two{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));align-items:center}
.figure-shadow{border-radius:4px;overflow:hidden;box-shadow:var(--shadow)}
figure{margin:0}
figcaption{font-size:.72rem;color:#8593ab;padding:.5rem .2rem 0}

/* ---- cartes services ---- */
.svc-grid{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));margin-top:2.2rem}
.svc-card{display:block;text-decoration:none;color:inherit;background:var(--paper);
  border:1px solid var(--hair);border-radius:4px;padding:1.8rem;box-shadow:var(--shadow);
  transition:.18s;border-top:3px solid var(--accent)}
.svc-card:hover{transform:translateY(-3px);box-shadow:0 6px 30px rgba(19,43,77,.16)}
.svc-card .rn{font-family:var(--serif);color:var(--accent);font-size:1.35rem;margin-bottom:.35rem}
.svc-card h3{margin:0 0 .5rem}
.svc-card p{font-size:.92rem;color:var(--ink-soft);margin:0 0 .8rem}
.svc-card .go{font-size:.77rem;letter-spacing:.08em;text-transform:uppercase;color:var(--deep);font-weight:600}

/* ---- bandeau chiffres ---- */
.stats{background:var(--deep);color:#fff}
.stats .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));
  gap:1.5rem;padding:3rem 0;text-align:center}
.stat .big{font-family:var(--serif);font-size:2.5rem;color:var(--accent-soft);line-height:1}
.stat .lab{font-size:.81rem;letter-spacing:.05em;color:#b9c6da;margin-top:.4rem}

/* ---- notaires ---- */
.people{display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));margin-top:2.2rem}
.person{background:var(--paper);border:1px solid var(--hair);border-radius:4px;
  padding:1.9rem;box-shadow:var(--shadow);text-align:center}
.person .avatar{width:88px;height:88px;border-radius:50%;
  background:linear-gradient(155deg,var(--deep),var(--deep-2));
  color:var(--accent-soft);font-family:var(--serif);font-size:1.7rem;
  display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;letter-spacing:.03em}
.person h3{margin-bottom:.15rem}
.person .role{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);margin:0 0 .9rem}
.person p{font-size:.94rem;color:var(--ink-soft);margin:0}

/* ---- fil d'ariane ---- */
.crumbs{font-size:.77rem;letter-spacing:.04em;color:var(--ink-soft);padding:1.3rem 0 0}
.crumbs a{color:var(--accent);text-decoration:none}
.crumbs a:hover{text-decoration:underline}

/* ---- corps de page service ---- */
.svc-body{max-width:44rem}
.svc-body h2{margin-top:2.6rem}
.svc-body ul,.svc-body ol{padding-left:1.2rem;color:var(--ink)}
.svc-body li{margin:.45rem 0}
.callout{background:var(--paper);border:1px solid var(--hair);border-left:3px solid var(--accent);
  border-radius:3px;padding:1.2rem 1.4rem;margin:1.8rem 0}
.callout p:last-child{margin-bottom:0}
.callout .t{font-family:var(--serif);color:var(--deep);font-size:1.05rem;margin:0 0 .4rem}

/* ---- FAQ ---- */
.faq{margin-top:1rem}
.faq details{border-bottom:1px solid var(--hair);padding:.9rem 0}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:1.07rem;color:var(--deep);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";color:var(--accent);font-weight:700;margin-right:.6rem}
.faq details[open] summary::before{content:"–"}
.faq p{margin:.7rem 0 0;color:var(--ink-soft);font-size:.96rem}

.aside-cta{background:var(--deep);color:#fff;border-radius:4px;padding:1.9rem;margin-top:2.4rem}
.aside-cta h3{color:#fff;margin:0 0 .6rem}
.aside-cta p{color:#c2cfe2;font-size:.93rem;margin:0 0 1.2rem}

/* ---- contact ---- */
.contact-grid{display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}
.info-line{display:flex;gap:.9rem;margin-bottom:1.2rem;font-size:1rem}
.info-line .k{color:var(--accent);font-weight:700;min-width:6.5rem;font-size:.78rem;
  letter-spacing:.08em;text-transform:uppercase;padding-top:.2rem}
.info-line a{color:var(--deep)}
form.demo label{display:block;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-soft);margin:0 0 .35rem}
form.demo input,form.demo textarea,form.demo select{width:100%;padding:.75rem .9rem;
  border:1px solid var(--hair);border-radius:3px;background:#fff;font:inherit;
  margin-bottom:1.1rem;color:var(--ink)}
form.demo textarea{min-height:8rem;resize:vertical}
.map-frame{border:1px solid var(--hair);border-radius:4px;overflow:hidden;box-shadow:var(--shadow)}
.map-frame iframe{display:block;width:100%;height:340px;border:0}

/* ---- champ à confirmer ---- */
.tofill{background:#eef4fb;border:1px dashed #7ba9d4;border-radius:2px;
  padding:.05rem .45rem;color:#95541f;font-size:.93em;font-style:normal}
.note-fill{font-size:.75rem;color:#95541f;background:#fdf0e4;border:1px solid #eccfae;
  border-radius:3px;padding:.55rem .8rem;margin:1rem 0}

/* ---- donnée vérifiée, source citée ---- */
.note-src{font-size:.75rem;color:#2f5d4a;background:#eef6f0;border:1px solid #c5ddcd;
  border-left:3px solid #4c8c6c;border-radius:3px;padding:.6rem .85rem;margin:1.1rem 0;line-height:1.55}
.note-src::before{content:"✓ Vérifié à la source — ";font-weight:700;color:#2b6b4d}
.note-src strong{color:#204b3a}

/* ---- footer ---- */
footer.site{background:var(--deep);color:#b9c6da;padding:3.5rem 0 2rem;font-size:.9rem}
footer.site .grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));
  margin-bottom:2rem}
footer.site .brand .word{color:#fff}
footer.site a{color:#b9c6da;text-decoration:none}
footer.site a:hover{color:#fff}
footer.site h4{color:#fff;font-family:var(--serif);font-weight:400;font-size:1.03rem;margin:0 0 .8rem}
footer.site ul{list-style:none;margin:0;padding:0;line-height:2}
.legal{border-top:1px solid rgba(255,255,255,.14);padding-top:1.4rem;
  font-size:.77rem;color:#8593ab;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* ============================================================
   AJOUTS : avis, pictos services, dataviz, simulateur, blog
   ============================================================ */

/* ---- pictogrammes de service (tracés maison) ---- */
.ico{width:44px;height:44px;display:block;margin-bottom:.9rem}
.ico *{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ico .fillmark{fill:var(--accent);stroke:none}
.svc-card:hover .ico *{stroke:var(--deep)}
.svc-card:hover .ico .fillmark{fill:var(--deep)}

/* ---- avis Google ---- */
.reviews{display:grid;gap:1.3rem;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));margin-top:2.2rem}
.review{background:var(--paper);border:1px solid var(--hair);border-radius:5px;padding:1.6rem;
  box-shadow:var(--shadow);display:flex;flex-direction:column}
.review .head{display:flex;align-items:center;gap:.8rem;margin-bottom:.7rem}
.review .ini{width:38px;height:38px;border-radius:50%;background:var(--deep);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;flex:0 0 auto}
.review .who{font-weight:600;font-size:.93rem;line-height:1.3}
.review .when{font-size:.75rem;color:var(--ink-soft)}
.review .st{color:#f0b429;letter-spacing:.08em;font-size:.9rem;margin-bottom:.5rem}
.review p{font-size:.94rem;color:var(--ink-soft);margin:0;flex:1}
.review .src{font-size:.7rem;color:#8593ab;margin-top:.9rem;padding-top:.7rem;border-top:1px solid var(--hair)}
.rating-band{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;
  background:var(--deep);color:#fff;border-radius:5px;padding:1.5rem 1.8rem}
.rating-band .score{font-family:var(--serif);font-size:2.8rem;line-height:1;color:var(--accent-soft)}
.rating-band .meta{font-size:.9rem;color:#c2cfe2}
.rating-band .tags{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.5rem}
.rating-band .tags span{font-size:.72rem;border:1px solid rgba(255,255,255,.28);border-radius:20px;
  padding:.15rem .65rem;color:#dbe4f0}

/* ---- dataviz ---- */
.chart{background:var(--paper);border:1px solid var(--hair);border-radius:5px;
  padding:1.6rem 1.4rem;box-shadow:var(--shadow);margin:1.8rem 0;overflow-x:auto}
.chart h3{margin:0 0 .25rem;font-size:1.1rem}
.chart .sub{font-size:.78rem;color:var(--ink-soft);margin:0 0 1.1rem}
.chart svg{display:block;width:100%;height:auto;min-width:min(100%,460px)}
.chart .src{font-size:.7rem;color:#8593ab;margin:.9rem 0 0}
.bar-txt{font:600 12px var(--sans);fill:var(--deep)}
.bar-lab{font:12px var(--sans);fill:var(--ink-soft)}
.axis{stroke:var(--hair);stroke-width:1}

table.data{width:100%;border-collapse:collapse;font-size:.93rem;margin:1.4rem 0}
table.data th,table.data td{padding:.65rem .7rem;border-bottom:1px solid var(--hair);text-align:left}
table.data th{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-weight:700}
table.data td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--deep)}
table.data td.n{text-align:right;color:var(--ink-soft);font-size:.85rem}
table.data tr:hover td{background:var(--sand)}

/* ---- simulateur ---- */
.simu{background:var(--paper);border:1px solid var(--hair);border-radius:6px;
  box-shadow:var(--shadow);overflow:hidden;margin:2rem 0}
.simu .in{padding:1.8rem;display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
.simu label{display:block;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-soft);margin:0 0 .35rem}
.simu input,.simu select{width:100%;padding:.7rem .85rem;border:1px solid var(--hair);
  border-radius:4px;font:inherit;background:#fff;color:var(--ink)}
.simu input:focus,.simu select:focus{outline:2px solid var(--accent);outline-offset:1px}
.simu .out{background:var(--deep);color:#fff;padding:1.8rem}
.simu .total{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;margin-bottom:1.2rem}
.simu .total .big{font-family:var(--serif);font-size:2.6rem;color:var(--accent-soft);line-height:1}
.simu .total .pct{font-size:.95rem;color:#c2cfe2}
.simu .lines{display:grid;gap:.5rem}
.simu .line{display:flex;justify-content:space-between;gap:1rem;font-size:.92rem;
  padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.12)}
.simu .line span:last-child{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.simu .line small{display:block;font-size:.72rem;color:#9fb4d2;font-weight:400}
.simu .warn{font-size:.76rem;color:#c2cfe2;margin:1.2rem 0 0;padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.16);line-height:1.6}
.simu .split{height:14px;display:flex;border-radius:3px;overflow:hidden;margin:.3rem 0 1.1rem}
.simu .split i{display:block;height:100%}

/* ---- blog ---- */
.posts{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));margin-top:2.2rem}
.post-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--paper);
  border:1px solid var(--hair);border-radius:5px;overflow:hidden;box-shadow:var(--shadow);transition:.18s}
.post-card:hover{transform:translateY(-3px);box-shadow:0 6px 30px rgba(19,43,77,.16)}
.post-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.post-card .body{padding:1.3rem 1.4rem 1.5rem}
.post-card .cat{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:700}
.post-card h3{margin:.45rem 0 .5rem;font-size:1.12rem;line-height:1.3}
.post-card p{font-size:.9rem;color:var(--ink-soft);margin:0 0 .8rem}
.post-card .meta{font-size:.74rem;color:#8593ab}
.post-hero{border-radius:5px;overflow:hidden;box-shadow:var(--shadow);margin:0 0 2rem}
.post-meta{font-size:.82rem;color:var(--ink-soft);margin:0 0 1.6rem}
.tldr{background:var(--deep);color:#fff;border-radius:5px;padding:1.6rem 1.8rem;margin:0 0 2.2rem}
.tldr h2{color:#fff;margin:0 0 .8rem;font-size:1.15rem}
.tldr ul{margin:0;padding-left:1.1rem}
.tldr li{color:#dbe4f0;font-size:.95rem;margin:.4rem 0}

/* ---- grille 3 colonnes + encarts (bloc identité notariale) ---- */
.cols.three{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));align-items:stretch}
.feature{background:var(--paper);border:1px solid var(--hair);border-radius:5px;
  padding:1.7rem 1.6rem;box-shadow:var(--shadow);border-top:3px solid var(--accent)}
.feature h3{margin:0 0 .5rem}
.feature p{font-size:.94rem;color:var(--ink-soft);margin:0}

/* ============================================================
   AJOUTS 06/08 : piliers sur une ligne, carrousel d'avis, portraits
   ============================================================ */

/* ---- les 3 piliers, toujours sur une seule ligne en desktop ---- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.6rem;text-align:left}
@media(max-width:860px){.pillars{grid-template-columns:1fr}}
.pillars .feature{padding:1.6rem 1.5rem}
.pillars .feature p{font-size:.92rem}

/* ---- carrousel d'avis façon widget Google ---- */
.rev-wrap{position:relative;margin-top:2rem}
.rev-track{display:flex;gap:1.3rem;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;padding:.4rem .2rem 1.4rem;
  scrollbar-width:none;-ms-overflow-style:none}
.rev-track::-webkit-scrollbar{display:none}
.rev-track .review{scroll-snap-align:start;flex:0 0 calc((100% - 2.6rem)/3);min-width:16rem}
@media(max-width:900px){.rev-track .review{flex:0 0 calc((100% - 1.3rem)/2)}}
@media(max-width:620px){.rev-track .review{flex:0 0 100%}}

.rev-nav{position:absolute;top:45%;transform:translateY(-50%);z-index:5;
  width:42px;height:42px;border-radius:50%;border:1px solid var(--hair);background:#fff;
  box-shadow:0 2px 12px rgba(19,43,77,.16);cursor:pointer;display:flex;
  align-items:center;justify-content:center;transition:.18s;padding:0}
.rev-nav:hover{background:var(--deep);border-color:var(--deep)}
.rev-nav svg{width:18px;height:18px;fill:none;stroke:var(--deep);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.rev-nav:hover svg{stroke:#fff}
.rev-nav[disabled]{opacity:.3;cursor:default}
.rev-nav[disabled]:hover{background:#fff;border-color:var(--hair)}
.rev-nav[disabled]:hover svg{stroke:var(--deep)}
.rev-prev{left:-14px}
.rev-next{right:-14px}
@media(max-width:1180px){.rev-prev{left:2px}.rev-next{right:2px}}

.rev-dots{display:flex;gap:.5rem;justify-content:center;margin-top:.2rem}
.rev-dots button{width:8px;height:8px;padding:0;border-radius:50%;border:0;
  background:var(--hair);cursor:pointer;transition:.2s}
.rev-dots button[aria-current="true"]{background:var(--accent);width:22px;border-radius:4px}

.rev-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.rev-logo{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--ink-soft)}
.rev-logo b{font-weight:700;color:var(--ink)}
.g-mark{font:700 15px/1 Arial,sans-serif;letter-spacing:-.5px}
.g-mark .b{color:#4285F4}.g-mark .r{color:#EA4335}.g-mark .y{color:#FBBC05}.g-mark .g{color:#34A853}

/* ---- portraits des notaires ---- */
.person .avatar.has-photo{padding:0;overflow:hidden;background:var(--sand);
  width:110px;height:110px;border:2px solid var(--hair)}
.person .avatar.has-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%}

/* ============================================================
   MENU DÉROULANT « Vos démarches »
   ============================================================ */
.menu li.has-sub{position:relative}
.sub-toggle{display:inline-flex;align-items:center;gap:.35rem;background:none;border:0;padding:.2rem 0;
  font:inherit;color:#dbe4f0;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;
  cursor:pointer;border-bottom:1px solid transparent;transition:.15s;font-family:var(--sans)}
.sub-toggle:hover,.has-sub:focus-within>.sub-toggle,.has-sub.open>.sub-toggle,
.sub-toggle[aria-current="page"]{color:#fff;border-color:var(--accent)}
.sub-toggle svg{width:9px;height:9px;fill:none;stroke:currentColor;stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .2s;margin-top:1px}
.has-sub.open>.sub-toggle svg,.has-sub:hover>.sub-toggle svg{transform:rotate(180deg)}

.sub{position:absolute;top:calc(100% + .85rem);left:-1rem;z-index:120;min-width:17.5rem;
  background:#fff;border:1px solid var(--hair);border-top:3px solid var(--accent);border-radius:0 0 5px 5px;
  box-shadow:0 14px 44px rgba(19,43,77,.20);padding:.7rem 0 .5rem;
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s}
.has-sub:hover>.sub,.has-sub:focus-within>.sub,.has-sub.open>.sub{opacity:1;visibility:visible;transform:none}
/* pont invisible pour ne pas perdre le survol entre le bouton et le panneau */
.sub::before{content:"";position:absolute;top:-1.1rem;left:0;right:0;height:1.1rem}

.sub .sub-h{display:block;font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent);font-weight:700;padding:.75rem 1.2rem .3rem}
.sub .sub-h:first-child{padding-top:.25rem}
.sub a{display:block;padding:.5rem 1.2rem;font-size:.9rem;letter-spacing:0;text-transform:none;
  color:var(--ink);text-decoration:none;border:0;transition:.12s;line-height:1.35}
.sub a:hover,.sub a:focus{background:var(--sand);color:var(--deep);padding-left:1.45rem}
.sub a[aria-current="page"]{color:var(--accent);font-weight:600}
.sub hr{border:0;border-top:1px solid var(--hair);margin:.5rem 0}
.sub .all{font-weight:600;color:var(--deep)}
.sub .all::after{content:" →";color:var(--accent)}

@media(max-width:860px){
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    min-width:0;border:0;border-left:2px solid var(--accent);border-radius:0;
    background:transparent;margin:.4rem 0 .6rem;padding:.2rem 0;display:none}
  .has-sub.open>.sub{display:block}
  .has-sub:hover>.sub{display:none}
  .has-sub.open:hover>.sub{display:block}
  .sub a{color:#dbe4f0;padding:.4rem 1rem}
  .sub a:hover,.sub a:focus{background:rgba(255,255,255,.08);color:#fff;padding-left:1.2rem}
  .sub .sub-h{color:var(--accent-soft);padding:.5rem 1rem .2rem}
  .sub .all{color:#fff}
  .menu{flex-direction:column;align-items:flex-start;gap:.7rem;width:100%}
}
