@font-face{font-family:"MADE Saonara";src:url("/fonts/made-saonara.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("/fonts/poppins-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("/fonts/poppins-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  /* Palette tirée des photos : pierre du palais, bronze bleu-vert de la porte, robe noire, rabat blanc */
  --ink:#121b21;--ink-2:#35414a;--muted:#56626b;
  --paper:#fbfaf7;--white:#fff;--stone:#efe8dc;--stone-2:#e2d6c3;--line:#e2dcd1;--line-2:#d3dde1;
  --petrol:#2c5966;--petrol-2:#1f4550;--petrol-soft:#cddde2;--mist:#edf3f5;
  --night:#14212a;--night-2:#1b2c36;--night-3:#263b47;--on-night:#dce4e8;--on-night-muted:#a3b5be;--sand:#dcc7a0;
  --serif:"MADE Saonara","Didot","Bodoni 72",Georgia,"Times New Roman",serif;
  --sans:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1200px;--gutter:clamp(1rem,4vw,2.5rem);
  --radius:2px;--ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);
  --shadow:0 22px 48px -28px rgba(18,27,33,.38);--shadow-lg:0 34px 70px -34px rgba(18,27,33,.5);
  --banner:url("https://static.wixstatic.com/media/5e5fca_546a8e5c83e3457e82b457b4986aeecd~mv2.jpg/v1/fill/w_2048,h_768,al_c,q_80,enc_auto/etienne-lemichel-avocat.jpg");
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:6.5rem}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:var(--ease)}
body{margin:0;background:var(--paper);color:var(--ink-2);font-family:var(--sans);font-weight:300;font-size:1.0625rem;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:var(--petrol);text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .2s var(--ease),text-decoration-color .2s var(--ease)}
a:hover{color:var(--petrol-2)}
strong,b{font-weight:500;color:var(--ink)}
:focus-visible{outline:2px solid var(--petrol);outline-offset:3px}
::selection{background:var(--petrol);color:var(--white)}

h1,h2,h3,.display{font-family:var(--serif);font-weight:700;font-synthesis:weight;color:var(--ink);line-height:1.08;letter-spacing:-.005em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.4rem,5.6vw,4.6rem)}
h2{font-size:clamp(1.9rem,3.5vw,3rem)}
h3{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.2}
p{margin:0 0 1.1em}
.lead{font-size:clamp(1.12rem,1.6vw,1.3rem);line-height:1.65;color:var(--ink-2);max-width:40em}
.eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--sans);font-weight:500;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--petrol);margin:0 0 1.1rem}
.eyebrow::before{content:"";width:2rem;height:1px;background:currentColor}
.muted{color:var(--muted)}
.small{font-size:.9rem}
.nw{white-space:nowrap}
mark.todo{background:#fbe7a6;color:var(--ink);padding:.05em .3em;border-radius:2px}

.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
.narrow{max-width:46rem}
.section{padding-block:clamp(4rem,9vw,7.5rem)}
.section-tight{padding-block:clamp(3rem,6vw,4.5rem)}
.bg-stone{background:var(--stone)}
.bg-white{background:var(--white)}
.bg-mist{background:var(--mist)}
.bg-night,.bg-ink{background:var(--night);color:var(--on-night)}
.bg-petrol{background:var(--petrol);color:#e6eff2}
.bg-night h2,.bg-night h3,.bg-night strong,.bg-ink h2,.bg-ink h3,.bg-ink strong,.bg-petrol h2,.bg-petrol h3,.bg-petrol strong{color:var(--white)}
.bg-night .eyebrow,.bg-ink .eyebrow,.bg-petrol .eyebrow{color:var(--sand)}
.bg-night a:not(.btn),.bg-ink a:not(.btn),.bg-petrol a:not(.btn){color:var(--white)}
.section-head{max-width:46rem;margin-bottom:clamp(2.2rem,4vw,3.5rem)}
.section-head.center{margin-inline:auto;text-align:center}
.section-head.center .eyebrow{justify-content:center}

.skip{position:absolute;left:1rem;top:1rem;background:var(--ink);color:var(--white);padding:.6rem 1rem;z-index:100;transform:translateY(-300%)}
.skip:focus{transform:none}
.draft{background:#0d161c;color:var(--on-night);font-size:.78rem;letter-spacing:.02em;text-align:center;padding:.45rem var(--gutter)}
.draft mark{background:#fbe7a6;color:var(--ink);padding:0 .3em}

/* Barre de progression de lecture */
.progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:70;pointer-events:none}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--petrol),var(--sand));transform-origin:0 50%;transform:scaleX(var(--p,0))}

/* En-tête */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .35s var(--ease)}
.site-header.is-scrolled{box-shadow:0 12px 32px -24px rgba(0,0,0,.45)}
.header-inner{display:flex;align-items:center;gap:1.4rem;min-height:5.25rem;transition:min-height .35s var(--ease)}
.is-scrolled .header-inner{min-height:4.25rem}
.brand{display:flex;align-items:center;gap:.85rem;text-decoration:none;color:var(--ink);margin-right:auto}
.brand:hover{color:var(--ink)}
.brand-logo{width:46px;height:46px;flex:none;color:var(--ink);transition:width .35s var(--ease),height .35s var(--ease)}
.is-scrolled .brand-logo{width:38px;height:38px}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-name{font-family:var(--serif);font-weight:700;font-synthesis:weight;font-size:1.24rem;color:var(--ink)}
.brand-sub{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:.22rem}
.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.15rem}
.nav-list>li{position:relative}
.nav-link{display:inline-flex;align-items:center;gap:.35rem;font:inherit;font-size:.92rem;font-weight:400;color:var(--ink);text-decoration:none;padding:.55rem .75rem;border:0;background:none;cursor:pointer;border-radius:var(--radius);position:relative}
.nav-link::after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.3rem;height:2px;background:var(--petrol);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-link:hover::after,.nav-link[aria-current="page"]::after,.has-sub.is-current>.nav-link::after{transform:scaleX(1)}
.nav-link:hover{color:var(--ink)}
.chev{width:.6rem;height:.6rem;transition:transform .25s var(--ease)}
.submenu{list-style:none;margin:0;padding:.5rem;position:absolute;top:calc(100% + .35rem);left:0;min-width:18rem;background:var(--white);border:1px solid var(--line);border-top:2px solid var(--petrol);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s}
.submenu a{display:block;padding:.65rem .8rem;text-decoration:none;color:var(--ink);font-size:.93rem;border-radius:var(--radius)}
.submenu a:hover,.submenu a[aria-current="page"]{background:var(--mist)}
.submenu small{display:block;color:var(--muted);font-size:.78rem;line-height:1.4}
.has-sub:hover .submenu,.has-sub:focus-within .submenu,.has-sub.is-open .submenu{opacity:1;visibility:visible;transform:none}
.has-sub:hover .chev,.has-sub.is-open .chev{transform:rotate(180deg)}
.header-cta{display:flex;align-items:center;gap:.8rem}
.lang{display:flex;align-items:center;gap:.15rem;font-size:.8rem;font-weight:500}
.lang a{color:var(--muted);text-decoration:none;padding:.3rem .4rem;border-radius:var(--radius);line-height:1}
.lang a:hover{color:var(--ink);background:var(--mist)}
.lang a[aria-current="true"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--petrol)}
.lang a[lang="ar"]{font-family:"IBM Plex Sans Arabic",system-ui,sans-serif;font-size:.9rem}
.burger{display:none;width:2.75rem;height:2.75rem;border:1px solid var(--line);background:var(--white);border-radius:var(--radius);cursor:pointer;align-items:center;justify-content:center}
.burger span,.burger span::before,.burger span::after{display:block;width:1.1rem;height:1.5px;background:var(--ink);position:relative;transition:transform .3s var(--ease),background .3s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.nav-open .burger span{background:transparent}
.nav-open .burger span::before{transform:translateY(6px) rotate(45deg)}
.nav-open .burger span::after{transform:translateY(-6px) rotate(-45deg)}
.nav-extra{display:none}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--sans);font-weight:500;font-size:.95rem;letter-spacing:.01em;padding:.95rem 1.5rem;border-radius:var(--radius);border:1px solid var(--petrol);background:var(--petrol);color:var(--white);text-decoration:none;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.btn:hover{background:var(--petrol-2);border-color:var(--petrol-2);color:var(--white);transform:translateY(-1px);box-shadow:0 14px 26px -16px rgba(0,0,0,.6)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}
.btn-light{background:var(--white);border-color:var(--white);color:var(--ink)}
.btn-light:hover{background:var(--sand);border-color:var(--sand);color:var(--ink)}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.6);color:var(--white)}
.btn-outline-light:hover{background:var(--white);border-color:var(--white);color:var(--ink)}
.btn-small{padding:.6rem 1rem;font-size:.88rem}
.btn svg{width:1.05em;height:1.05em;flex:none}
.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--petrol-soft);padding-bottom:.2rem;transition:gap .25s var(--ease),border-color .25s,color .25s}
.link-arrow:hover{gap:.8rem;border-color:var(--petrol);color:var(--petrol)}
.bg-night .link-arrow,.bg-ink .link-arrow,.bg-petrol .link-arrow,.cta-card .link-arrow{color:var(--white);border-color:rgba(255,255,255,.35)}
.bg-night .link-arrow:hover,.bg-ink .link-arrow:hover,.bg-petrol .link-arrow:hover,.cta-card .link-arrow:hover{border-color:var(--sand);color:var(--white)}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}

/* Accueil : ouverture photographique */
.hero{position:relative;background:var(--night);color:var(--on-night);overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:62% 8%;animation:settle 2.2s var(--ease-out) both}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,33,42,.96) 0%,rgba(20,33,42,.86) 30%,rgba(20,33,42,.45) 56%,rgba(20,33,42,.08) 78%),linear-gradient(0deg,rgba(20,33,42,.7) 0%,rgba(20,33,42,0) 38%)}
.hero-inner{min-height:clamp(560px,84vh,780px);display:flex;flex-direction:column;justify-content:center;padding-block:clamp(4rem,9vh,6rem) clamp(8rem,16vh,10rem)}
.hero-copy{max-width:38rem}
.hero .eyebrow{color:var(--sand)}
.hero h1{color:var(--white);font-size:clamp(2.6rem,6.2vw,5.2rem);margin-bottom:.4em}
.hero .lead{color:var(--on-night);max-width:34rem}
.hero-facts{list-style:none;padding:0;margin:2.2rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;font-size:.9rem;color:var(--on-night-muted)}
.hero-facts li{display:flex;align-items:center;gap:.55rem}
.hero-facts li::before{content:"";width:.4rem;height:.4rem;background:var(--sand);transform:rotate(45deg)}
@keyframes settle{from{transform:scale(1.07)}to{transform:none}}
/* Ordinateur : photo à 92 % de sa taille d'origine, ancrée à droite et fondue dans le fond, titre sur deux lignes */
@media (min-width:641px){
  .hero-bg{left:auto;right:0;width:78%;bottom:auto;height:min(100%,44rem);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 30%),linear-gradient(to bottom,#000 72%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 30%),linear-gradient(to bottom,#000 72%,transparent 100%);mask-composite:intersect}
  .hero-bg img{object-position:66% 20%}
  .hero-copy{max-width:46rem}
  .hero h1{font-size:clamp(2.6rem,5vw,4.4rem)}
  .hero .lead{max-width:38rem}
  .hero-cta-note{max-width:40rem}
  .hero-inner{min-height:clamp(520px,70vh,700px);padding-top:clamp(3rem,7vh,4.5rem)}
}
@media (min-width:901px) and (max-width:1100px){
  .hero-bg img{object-position:52% 20%}
}
/* Tablette : photo en haut, texte dessous, comme sur mobile */
@media (min-width:641px) and (max-width:900px){
  .hero-bg{width:100%;height:clamp(22rem,60vw,32rem);-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);mask-image:linear-gradient(to bottom,#000 60%,transparent 100%)}
  .hero-bg img{object-position:62% 20%}
  .hero::before{display:none}
  .hero-inner{min-height:auto;justify-content:flex-end;padding-top:clamp(18rem,52vw,27rem)}
}

/* Orienteur qui chevauche l'ouverture */
.paths-band{position:relative;z-index:3;margin-top:clamp(-6.5rem,-10vh,-5rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.paths-title{font-family:var(--sans);font-weight:500;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sand);margin:0 0 1rem}
.paths{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.paths a{position:relative;display:flex;flex-direction:column;gap:.2rem;height:100%;padding:1.5rem 3.2rem 1.55rem 1.5rem;background:var(--white);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-lg);border-top:3px solid transparent;transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}
.paths a:hover{transform:translateY(-4px);border-top-color:var(--petrol);color:var(--ink)}
.path-label{font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--petrol)}
.path-text{font-family:var(--serif);font-weight:700;font-synthesis:weight;font-size:1.18rem;line-height:1.28}
.path-arrow{position:absolute;right:1.2rem;bottom:1.4rem;width:1.15rem;height:1.15rem;color:var(--petrol);transition:transform .3s var(--ease)}
.path-arrow svg{width:100%;height:100%;display:block}
.paths a:hover .path-arrow{transform:translateX(4px)}

/* En-têtes des pages intérieures */
.page-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--night);color:var(--on-night);padding-block:clamp(3rem,7vw,5.5rem) clamp(3rem,6vw,4.75rem)}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--banner) 70% 0%/cover no-repeat}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,33,42,.97) 0%,rgba(20,33,42,.92) 40%,rgba(20,33,42,.5) 66%,rgba(20,33,42,.12) 100%)}
.page-hero h1{color:var(--white);max-width:21ch;font-size:clamp(2.3rem,4.8vw,4rem)}
.page-hero .lead{color:var(--on-night);margin-top:1rem}
.page-hero .eyebrow{color:var(--sand)}
.page-hero .muted{color:var(--on-night-muted)}
.crumbs{font-size:.82rem;color:var(--on-night-muted);margin:0 0 1.6rem}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.crumbs li:not(:last-child)::after{content:"/";margin-left:.4rem;opacity:.5}
.crumbs a{color:var(--on-night-muted);text-decoration:none}
.crumbs a:hover{color:var(--white)}
.page-hero .actions{margin-top:1.6rem}

/* Cartes des domaines */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.card{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);padding:clamp(1.7rem,3vw,2.5rem);text-decoration:none;color:inherit;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}
.card::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--petrol);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);color:inherit}
.card:hover::before{transform:scaleX(1)}
.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.6rem}
.card-icon{width:3.2rem;height:3.2rem;color:var(--petrol);background:var(--mist);border-radius:50%;display:grid;place-items:center}
.card-icon svg{width:1.6rem;height:1.6rem}
.card-num{font-family:var(--serif);font-weight:700;font-synthesis:weight;font-size:2.4rem;line-height:1;color:var(--stone-2);transition:color .45s var(--ease)}
.card:hover .card-num{color:var(--petrol-soft)}
.card h3{margin-bottom:.7rem}
.card p{color:var(--muted);font-size:.98rem;flex:1}
.card .link-arrow{align-self:flex-start;margin-top:1rem}

/* Sections à deux colonnes, piliers */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.split-60{grid-template-columns:1.2fr .8fr}
.split.center{align-items:center}
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:1.8rem 2.4rem;margin:2rem 0 0;padding:0;list-style:none}
.pillars li{border-top:2px solid var(--petrol);padding-top:1.1rem}
.pillars h3{font-size:1.2rem;margin-bottom:.35rem}
.pillars p{margin:0;font-size:.95rem;color:var(--muted)}

/* Portrait */
.portrait{position:relative;margin:0}
.portrait::before{content:"";position:absolute;inset:2rem -1.4rem -1.4rem 2rem;background:var(--petrol);z-index:0}
.portrait-img{position:relative;z-index:1;overflow:hidden;box-shadow:var(--shadow-lg)}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:var(--focus,78% 40%)}
.portrait figcaption{position:relative;z-index:2;margin:-2.2rem 0 0 -1.4rem;display:inline-block;background:var(--white);padding:1rem 1.25rem;box-shadow:var(--shadow);font-size:.86rem;line-height:1.45;max-width:17rem}
.portrait figcaption strong{display:block;font-family:var(--serif);font-size:1.05rem;font-weight:700;font-synthesis:weight}

/* Bandeau d'urgence */
.urgent{display:grid;grid-template-columns:1.3fr auto;gap:2rem;align-items:center}
.urgent h2{margin-bottom:.35em}
.urgent p{margin:0;max-width:40rem}

/* Avis Google */
.reviews{display:grid;grid-template-columns:auto 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.score{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding-right:clamp(2rem,5vw,4.5rem);border-right:1px solid var(--stone-2)}
.score-num{font-family:var(--serif);font-weight:700;font-synthesis:weight;font-size:clamp(3.6rem,7vw,5.2rem);line-height:.95;color:var(--ink)}
.score-num small{font-size:.38em;color:var(--muted);font-weight:400}
.stars{display:flex;gap:.2rem;color:#a77b22}
.stars svg{width:1.15rem;height:1.15rem}
.score-meta{font-size:.84rem;color:var(--muted)}
.reviews h2{font-size:clamp(1.6rem,2.8vw,2.3rem)}
.reviews p{max-width:38rem}

/* Frise des étapes */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem);counter-reset:step;position:relative}
.steps::before{content:"";position:absolute;left:1.6rem;right:1.6rem;top:1.6rem;height:1px;background:var(--petrol-soft)}
.steps li{counter-increment:step;position:relative}
.steps li::before{content:counter(step);position:relative;display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:50%;background:var(--petrol);color:var(--white);font-family:var(--serif);font-weight:700;font-synthesis:weight;font-size:1.3rem;margin-bottom:1.3rem;box-shadow:0 0 0 8px var(--white)}
.bg-stone .steps li::before{box-shadow:0 0 0 8px var(--stone)}
.steps h3{font-size:1.3rem;margin-bottom:.5rem}
.steps p{margin:0;color:var(--muted);font-size:.96rem}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.35rem 0;font-family:var(--serif);font-weight:700;font-synthesis:weight;font-size:clamp(1.12rem,1.6vw,1.3rem);color:var(--ink);line-height:1.3;transition:color .2s}
.faq summary:hover{color:var(--petrol)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:1.7rem;height:1.7rem;border:1px solid var(--petrol-soft);border-radius:50%;background:linear-gradient(var(--petrol),var(--petrol)) center/9px 1.5px no-repeat,linear-gradient(var(--petrol),var(--petrol)) center/1.5px 9px no-repeat;transition:transform .3s var(--ease),background-color .3s}
.faq details[open] summary::after{transform:rotate(45deg);background-color:var(--mist)}
.faq .answer{padding:0 0 1.5rem;max-width:44rem}
.faq .answer p:last-child{margin-bottom:0}

/* Actualités */
.article-list{border-top:1px solid var(--line)}
.article-card{display:grid;grid-template-columns:9rem 1fr auto;gap:2rem;align-items:center;padding:1.8rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.article-card:hover{color:inherit}
.article-card:hover h3{color:var(--petrol)}
.article-date{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--petrol);font-weight:500}
.article-cat{display:block;color:var(--muted);margin-bottom:.25rem}
[data-filters][hidden],.article-list [hidden],[data-filters] [hidden]{display:none!important}
.article-card h3{margin:0 0 .3rem;transition:color .25s}
.article-card p{margin:0;color:var(--muted);font-size:.96rem}
.article-card .link-arrow{white-space:nowrap}
.news-mini .article-card{grid-template-columns:1fr;gap:.5rem;padding:1.4rem 0}

/* Coordonnées */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem)}
.coords{list-style:none;margin:0;padding:0;display:grid;gap:1.15rem}
.coords li{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding-bottom:1.05rem;border-bottom:1px solid var(--line)}
.coords .k{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:.3rem;font-weight:500}
.coords .v{color:var(--ink);font-weight:400}
.coords a{text-decoration:none;color:var(--ink)}
.coords a:hover{text-decoration:underline;color:var(--petrol)}
.bg-night .coords li,.bg-ink .coords li,.cta-card .coords li{border-color:rgba(255,255,255,.14)}
.bg-night .coords .k,.bg-ink .coords .k,.cta-card .coords .k{color:var(--on-night-muted)}
.bg-night .coords .v,.bg-ink .coords .v,.bg-night .coords a,.cta-card .coords .v,.cta-card .coords a{color:var(--white)}

/* Carte d'appel à l'action finale */
.cta-card{position:relative;overflow:hidden;isolation:isolate;background:var(--night);color:var(--on-night);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);padding:clamp(2rem,5vw,4rem);box-shadow:var(--shadow-lg)}
.cta-card::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--banner) 75% 0%/cover no-repeat;opacity:.55}
.cta-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,33,42,.97) 0%,rgba(20,33,42,.9) 50%,rgba(20,33,42,.82) 100%)}
.cta-card h2{color:var(--white)}
.cta-card .eyebrow{color:var(--sand)}

/* Pages de contenu */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:clamp(2rem,5vw,5rem);align-items:start}
.prose{max-width:44rem}
.prose h2{margin-top:2.6em;font-size:clamp(1.6rem,2.6vw,2.2rem)}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.8em}
.prose ul,.prose ol{padding-left:1.2rem;margin:0 0 1.3em}
.prose li{margin-bottom:.45em}
.prose ul li::marker{color:var(--petrol)}
.prose ol li::marker{color:var(--petrol);font-weight:500}
.aside{position:sticky;top:6.5rem;display:grid;gap:1.25rem}
.aside-card{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--petrol);padding:1.6rem;box-shadow:0 18px 40px -34px rgba(18,27,33,.5)}
.aside-card.dark{background:var(--night);border-color:var(--night);border-top-color:var(--sand);color:var(--on-night)}
.aside-card.dark h2,.aside-card.dark h3{color:var(--white)}
.aside-card.dark p{color:var(--on-night-muted)}
.aside-card h2,.aside-card h3{font-size:1.25rem;margin-bottom:.6rem}
.aside-card p{font-size:.94rem;color:var(--muted)}
.aside-card .btn{width:100%;margin-top:.4rem}
.toc{list-style:none;margin:0;padding:0;font-size:.92rem}
.toc li{border-top:1px solid var(--line)}
.toc a{position:relative;display:block;padding:.6rem 0;text-decoration:none;color:var(--ink-2);transition:color .2s var(--ease),padding .25s var(--ease)}
.toc a:hover{color:var(--petrol)}
.toc a::before{content:"";position:absolute;left:0;top:.6rem;bottom:.6rem;width:2px;background:var(--petrol);transform:scaleY(0);transition:transform .25s var(--ease)}
.toc a.is-active{color:var(--ink);font-weight:500;padding-left:.8rem}
.toc a.is-active::before{transform:scaleY(1)}
.scope{background:var(--mist);border-left:3px solid var(--petrol);padding:clamp(1.4rem,3vw,2rem) clamp(1.4rem,3vw,2.2rem);margin:0 0 2.8rem}
.scope .eyebrow{margin-bottom:.8rem}
.scope ul{margin:0;padding-left:1.1rem}
.scope li{margin-bottom:.6em}
.scope li:last-child{margin-bottom:0}
.note{font-size:.9rem;color:var(--muted);margin-top:2rem}
.faq + .note{margin-top:1.6rem}
.callout{background:var(--night);color:var(--on-night);padding:1.6rem 1.8rem;margin:2rem 0;border-left:3px solid var(--sand)}
.callout strong{color:var(--white)}
.callout a{color:var(--white)}
.callout a:hover{color:var(--sand)}
.callout p:last-child,.callout ul:last-child{margin:0}
.callout ul li::marker{color:var(--sand)}

/* Tableaux */
.table-wrap{overflow-x:auto;margin:1.5rem 0 1rem;border:1px solid var(--line);background:var(--white)}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{text-align:left;padding:1rem 1.1rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:500;color:var(--white);background:var(--night);font-size:.84rem;letter-spacing:.04em}
tr:last-child td{border-bottom:0}
tbody tr:nth-child(even) td{background:#f8fafb}
td strong{font-family:var(--serif);font-size:1.15rem;font-weight:700;font-synthesis:weight;white-space:nowrap;color:var(--petrol)}

/* Formulaire */
.form{display:grid;gap:1.1rem}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.field{display:grid;gap:.4rem}
.field label{font-size:.84rem;font-weight:500;color:var(--ink)}
.field .hint{font-size:.8rem;color:var(--muted)}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--white);border:1px solid #cfd6da;border-radius:var(--radius);padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}
.field textarea{min-height:9rem;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px rgba(44,89,102,.18)}
.field.is-invalid input{border-color:#b3261e}
.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.form-note{font-size:.82rem;color:var(--muted);margin:0}
.form-status{display:none;padding:1rem 1.2rem;font-size:.95rem;border-left:3px solid var(--petrol);background:var(--mist)}
.form-status.is-visible{display:block}
.form-status.is-error{border-left-color:#b3261e;background:#fbeeed}
.form-status.is-ok{border-left-color:#2e7d4f;background:#edf6f0}
.form button[disabled]{opacity:.6;cursor:wait}

/* Outil « Quel est mon délai ? » */
.finder{display:none;background:var(--mist);border:1px solid var(--line-2);border-top:3px solid var(--petrol);padding:clamp(1.5rem,3.5vw,2.4rem);margin:0 0 3rem}
.js .finder{display:block}
.finder h2{margin-top:0;font-size:clamp(1.45rem,2.4vw,1.9rem)}
.finder fieldset{border:0;margin:0;padding:0;display:grid;gap:.55rem}
.finder legend{font-weight:500;color:var(--ink);margin-bottom:.8rem;padding:0}
.opt{display:flex;align-items:flex-start;gap:.8rem;padding:.85rem 1rem;background:var(--white);border:1px solid var(--line-2);cursor:pointer;line-height:1.45;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.opt:hover{border-color:var(--petrol)}
.opt input{appearance:none;-webkit-appearance:none;flex:none;width:1.15rem;height:1.15rem;margin:.12rem 0 0;border:1px solid var(--petrol);border-radius:50%;background:var(--white);display:grid;place-content:center;cursor:pointer}
.opt input[type="checkbox"]{border-radius:3px}
.opt input::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--petrol);transform:scale(0);transition:transform .2s var(--ease)}
.opt input[type="checkbox"]::before{border-radius:1px;width:.65rem;height:.65rem;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}
.opt input:checked::before{transform:scale(1)}
.opt input:focus-visible{outline:2px solid var(--petrol);outline-offset:2px}
.opt:has(input:checked){border-color:var(--petrol);box-shadow:inset 3px 0 0 var(--petrol)}
.finder-out{margin-top:1.4rem}
.finder-result{background:var(--white);border-left:3px solid var(--petrol);padding:1.3rem 1.5rem;margin-bottom:1rem;animation:rise .45s var(--ease)}
.finder-result p:last-child{margin:0}
.finder-delay{font-family:var(--serif);font-weight:700;font-synthesis:weight;font-size:clamp(2rem,4vw,2.8rem);line-height:1;color:var(--petrol);margin:0 0 .5rem}
.finder-note{font-size:.88rem;color:var(--muted);margin:1.2rem 0 0}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Préparer mon rendez-vous */
.checklist-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.6rem}
.checklist-tabs button{font:inherit;font-size:.92rem;font-weight:500;padding:.65rem 1.1rem;border:1px solid var(--line-2);background:var(--white);color:var(--ink);cursor:pointer;border-radius:var(--radius);transition:background .2s,color .2s,border-color .2s}
.checklist-tabs button:hover{border-color:var(--petrol)}
.checklist-tabs button[aria-pressed="true"]{background:var(--petrol);border-color:var(--petrol);color:var(--white)}
.checklist{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.5rem}
.checklist-group{margin:0 0 .7rem;font-family:var(--sans);font-size:.76rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--petrol)}
.checklist-count{font-size:.9rem;color:var(--muted);margin:0}
.checklist-print-head{display:none}

/* Lexique et infobulles */
.glossary{display:grid;grid-template-columns:repeat(2,1fr);gap:0 3rem;margin:0}
.glossary div{padding:1.1rem 0;border-bottom:1px solid var(--line);scroll-margin-top:7rem}
.glossary dt{font-family:var(--serif);font-weight:700;font-synthesis:weight;font-size:1.2rem;color:var(--ink)}
.glossary dt small{font-family:var(--sans);font-weight:400;font-size:.8rem;color:var(--muted);margin-left:.4rem}
.glossary dd{margin:.3rem 0 0;font-size:.96rem}
.glossary div:target{background:var(--mist);box-shadow:-1rem 0 0 var(--mist),1rem 0 0 var(--mist)}
abbr.term{position:relative;text-decoration:underline dotted var(--petrol);text-underline-offset:.2em;cursor:help;border-radius:2px}
abbr.term:focus{outline:2px solid var(--petrol);outline-offset:1px}
abbr.term::after{content:attr(data-def);position:absolute;left:50%;bottom:calc(100% + .55rem);transform:translate(-50%,4px);width:max-content;max-width:min(18rem,80vw);background:var(--night);color:var(--on-night);font-size:.8rem;line-height:1.45;font-weight:300;letter-spacing:0;text-transform:none;padding:.6rem .8rem;border-radius:3px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;z-index:20;text-align:left;white-space:normal;pointer-events:none}
abbr.term:hover::after,abbr.term:focus::after,abbr.term.is-open::after{opacity:1;visibility:visible;transform:translate(-50%,0)}

/* Pied de page */
.site-footer{background:var(--night);color:var(--on-night-muted);padding-block:clamp(3.5rem,7vw,5rem) 2rem;font-size:.93rem}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem}
.footer-logo{display:block;width:70px;height:auto;color:var(--white);margin-bottom:1.2rem}
.footer-brand .name{font-family:var(--serif);font-weight:700;font-synthesis:weight;font-size:1.35rem;color:var(--white);display:block;margin-bottom:.3rem}
.footer-brand p{color:var(--on-night-muted)}
.site-footer h2{font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--sand);margin:0 0 1rem}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.site-footer a{text-decoration:none;color:var(--on-night)}
.site-footer a:hover{color:var(--white);text-decoration:underline}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);font-size:.82rem}
.footer-bottom ul{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
.site-footer .lang a{color:var(--on-night-muted)}
.site-footer .lang a:hover{background:var(--night-3);color:var(--white)}
.site-footer .lang a[aria-current="true"]{color:var(--white);box-shadow:inset 0 -2px 0 var(--sand)}

/* Barre d'appel mobile */
.callbar{display:none}

/* Apparitions */
.reveal{opacity:1}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .85s var(--ease-out),transform .85s var(--ease-out)}
.js .reveal.is-visible{opacity:1;transform:none}
.js .reveal[data-delay="1"]{transition-delay:.08s}
.js .reveal[data-delay="2"]{transition-delay:.16s}
.js .reveal[data-delay="3"]{transition-delay:.24s}
.js .img-reveal{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--ease-out)}
.js .img-reveal.is-visible{clip-path:inset(0 0 0 0)}
.js .img-reveal img{transform:scale(1.08);transition:transform 1.6s var(--ease-out)}
.js .img-reveal.is-visible img{transform:none}

/* Photo large (page cabinet) */
.photo-wide{position:relative;margin:0 0 clamp(2.8rem,6vw,4.5rem)}
.photo-wide::after{content:"";position:absolute;left:clamp(1rem,4vw,3rem);right:clamp(1rem,4vw,3rem);bottom:clamp(-1.6rem,-2vw,-.8rem);height:clamp(.8rem,2vw,1.6rem);background:var(--petrol);z-index:-1}
.photo-wide .frame{overflow:hidden;box-shadow:var(--shadow-lg)}
.photo-wide img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:68% 38%}

/* Pages en langue étrangère */
[dir="rtl"] body,[dir="rtl"]{font-family:"IBM Plex Sans Arabic",var(--sans)}
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] .faq summary,[dir="rtl"] .path-text,[dir="rtl"] .finder-delay,[dir="rtl"] td strong{font-family:"IBM Plex Sans Arabic",var(--sans);font-weight:600;letter-spacing:0;line-height:1.4}
[dir="rtl"] .lead,[dir="rtl"] p,[dir="rtl"] li{line-height:1.85}
[dir="rtl"] .brand-name,[dir="rtl"] .footer-brand .name{font-family:var(--serif)}
[dir="rtl"] .eyebrow{letter-spacing:0}
[dir="rtl"] .prose ul,[dir="rtl"] .prose ol{padding-left:0;padding-right:1.2rem}
[dir="rtl"] .scope{border-left:0;border-right:3px solid var(--petrol)}
[dir="rtl"] .callout{border-left:0;border-right:3px solid var(--sand)}
[dir="rtl"] .page-hero::after{background:linear-gradient(270deg,rgba(20,33,42,.97) 0%,rgba(20,33,42,.92) 40%,rgba(20,33,42,.5) 66%,rgba(20,33,42,.12) 100%)}
[dir="rtl"] .flip{display:inline-block;transform:scaleX(-1)}
[dir="rtl"] .path-arrow{right:auto;left:1.2rem;transform:scaleX(-1)}
[dir="rtl"] .paths a{padding:1.5rem 1.5rem 1.55rem 3.2rem}
[dir="rtl"] th,[dir="rtl"] td{text-align:right}
.ltr{direction:ltr;unicode-bidi:isolate}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.js .img-reveal{clip-path:none}.js .img-reveal img{transform:none}}

@media (max-width:1180px){
  .nav-list .nav-link{padding:.5rem .55rem;font-size:.88rem}
  .header-cta .btn-phone{display:none}
}
@media (max-width:1020px){
  .burger{display:inline-flex}
  .header-cta .lang{display:none}
  .nav{position:fixed;inset:0;top:var(--header-h,5.25rem);background:var(--white);padding:1.5rem var(--gutter) 7rem;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}
  .nav-open .nav{opacity:1;visibility:visible;transform:none}
  .nav-open .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--white)}
  .nav-open{overflow:hidden}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-list>li{border-bottom:1px solid var(--line)}
  .nav-list .nav-link{width:100%;justify-content:space-between;font-family:var(--serif);font-weight:700;font-synthesis:weight;font-size:1.45rem;padding:1rem 0}
  .nav-link::after{display:none}
  .nav-link .chev{display:none}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 1rem;min-width:0;background:transparent}
  .submenu a{padding:.45rem 0 .45rem 1rem;border-left:2px solid var(--petrol-soft);border-radius:0}
  .submenu a:hover{background:transparent;color:var(--petrol)}
  .nav-extra{display:flex;flex-direction:column;gap:1rem;margin-top:1.6rem}
  .nav-extra .lang{font-size:.95rem}
  .nav-extra .btn{width:100%}
  .split,.split-60,.contact-grid,.layout,.cta-card{grid-template-columns:1fr}
  .cards,.steps{grid-template-columns:1fr}
  .steps::before{left:1.6rem;right:auto;top:1.6rem;bottom:1.6rem;width:1px;height:auto}
  .steps li{padding-left:4.6rem;min-height:3.2rem}
  .steps li::before{position:absolute;left:0;top:0;margin:0}
  .aside{position:static}
  .urgent{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .article-card{grid-template-columns:1fr;gap:.6rem}
  .paths{grid-template-columns:1fr 1fr}
  .reviews{grid-template-columns:1fr}
  .score{padding-right:0;border-right:0;padding-bottom:1.6rem;border-bottom:1px solid var(--stone-2)}
  .glossary{grid-template-columns:1fr}
  .portrait{max-width:28rem}
}
@media (max-width:640px){
  body{font-size:1rem}
  .header-inner{min-height:4.4rem;gap:.8rem}
  .is-scrolled .header-inner{min-height:4rem}
  .brand-logo,.is-scrolled .brand-logo{width:36px;height:36px}
  .brand-name{font-size:1.05rem}
  .brand-sub{font-size:.6rem}
  .hero-bg img{object-position:76% 25%}
  .hero::before{background:linear-gradient(0deg,rgba(20,33,42,.97) 0%,rgba(20,33,42,.9) 45%,rgba(20,33,42,.35) 75%,rgba(20,33,42,.15) 100%)}
  .hero-inner{min-height:auto;justify-content:flex-end;padding-top:clamp(14rem,62vw,20rem);padding-bottom:7.5rem}
  .hero .actions .btn{width:100%}
  .paths{grid-template-columns:1fr;gap:.7rem}
  .paths a{padding:1.15rem 3rem 1.15rem 1.2rem}
  .pillars{grid-template-columns:1fr}
  .form .row{grid-template-columns:1fr}
  .coords li{grid-template-columns:1fr;gap:.2rem}
  .footer-grid{grid-template-columns:1fr}
  .portrait::before{inset:1.4rem -.8rem -.8rem 1.4rem}
  .portrait figcaption{margin:-1.6rem 0 0 -.4rem}
  .callbar{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--line);box-shadow:0 -10px 30px -20px rgba(0,0,0,.4);padding-bottom:env(safe-area-inset-bottom)}
  .callbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:.7rem .3rem;font-weight:500;font-size:.78rem;letter-spacing:.02em;text-decoration:none;background:var(--white);color:var(--ink)}
  .callbar a:first-child{background:var(--petrol);color:var(--white)}
  .callbar svg{width:1.1rem;height:1.1rem}
  .site-footer{padding-bottom:5.5rem}
  .table-wrap{border:0;background:transparent}
  .table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%}
  .table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .table-wrap tr{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--petrol);padding:.9rem 1.1rem;margin-bottom:.7rem}
  .table-wrap td,tbody tr:nth-child(even) td{border:0;padding:.3rem 0;background:transparent}
  .table-wrap td::before{content:attr(data-label);display:block;font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.1rem}
  .table-wrap td:first-child{font-weight:500;color:var(--ink)}
  .table-wrap td:first-child::before{display:none}
  .photo-wide img{aspect-ratio:4/3;object-position:72% 40%}
  .page-hero::after,[dir="rtl"] .page-hero::after{background:linear-gradient(90deg,rgba(20,33,42,.96),rgba(20,33,42,.86))}
}
@media print{
  .site-header,.draft,.callbar,.site-footer,.actions,.progress,.page-hero,.aside,.checklist-tabs,.no-print{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  .section{padding:0}
  .checklist-print-head{display:block;margin-bottom:1rem}
  .opt{border:0;padding:.2rem 0;box-shadow:none!important}
  .opt input{border:1px solid #000}
  .js .reveal{opacity:1;transform:none}
}

/* Compléments v2 */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.legal h2{font-size:1.45rem;margin-top:2.2em}
.legal h2:first-child{margin-top:0}
.faq-search{display:none;margin:0 0 3rem}
.js .faq-search{display:block}
.faq-search label{display:block;font-size:.84rem;font-weight:500;color:var(--ink);margin-bottom:.45rem}
.faq-search input{width:100%;font:inherit;font-size:1.05rem;color:var(--ink);background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5' fill='none' stroke='%232c5966' stroke-width='1.6'/%3E%3Cpath d='M15.5 15.5L21 21' stroke='%232c5966' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat 1rem 50%/1.15rem;border:1px solid var(--line-2);border-radius:var(--radius);padding:1rem 1rem 1rem 2.9rem;transition:border-color .2s,box-shadow .2s}
.faq-search input:focus{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px rgba(44,89,102,.18)}
.faq-count{font-size:.84rem;color:var(--muted);margin:.5rem 0 0;min-height:1.4em}
.faq-empty{background:var(--mist);border-left:3px solid var(--petrol);padding:1.5rem 1.6rem;margin-bottom:3rem}
.faq-empty .btn{margin:.3rem .4rem 0 0}
.faq-hidden{display:none!important}
.faq-group-title{font-size:clamp(1.4rem,2.2vw,1.8rem);margin:3rem 0 1rem}
.faq-group-title:first-of-type{margin-top:0}

.footer-grid-3{grid-template-columns:1.6fr 1fr 1fr}
.footer-rating{display:inline-flex;align-items:center;gap:.55rem;margin-top:.3rem;padding:.45rem .85rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:.86rem;color:var(--on-night)!important;text-decoration:none!important;transition:border-color .2s,background .2s}
.footer-rating:hover{border-color:var(--sand);background:var(--night-2)}
.footer-rating .stars{color:var(--sand)}
.footer-rating .stars svg{width:.95rem;height:.95rem}

.hero-cta-note{margin:1rem 0 0;font-size:.88rem;color:var(--on-night-muted)}
.tools{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.tools a{display:grid;grid-template-columns:2.6rem 1fr auto;align-items:center;gap:1rem;padding:1rem 1.15rem;background:var(--white);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.tools a:hover{border-color:var(--petrol);transform:translateX(3px);box-shadow:var(--shadow);color:var(--ink)}
.tools .ico{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--mist);color:var(--petrol);display:grid;place-items:center}
.tools .ico svg{width:1.25rem;height:1.25rem}
.tools strong{display:block;font-weight:500;line-height:1.35}
.tools small{display:block;color:var(--muted);font-size:.84rem;line-height:1.4}
.tools .go{color:var(--petrol)}
.side-title{font-family:var(--sans);font-size:.76rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--petrol);margin:2.6rem 0 1rem}

.alpha{list-style:none;margin:0 0 2.4rem;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.alpha a{display:grid;place-items:center;min-width:2.4rem;height:2.4rem;padding:0 .5rem;border:1px solid var(--line-2);background:var(--white);text-decoration:none;color:var(--ink);font-weight:500;font-size:.9rem;transition:background .2s,color .2s,border-color .2s}
.alpha a:hover{background:var(--petrol);border-color:var(--petrol);color:var(--white)}
.glossary-letter{font-size:clamp(1.8rem,3vw,2.4rem);color:var(--petrol);margin:2.4rem 0 .4rem;padding-bottom:.4rem;border-bottom:2px solid var(--petrol);scroll-margin-top:7rem}
.glossary-letter:first-of-type{margin-top:0}
.glossary dd a{white-space:nowrap}

.checklist-panel{margin:0 0 2.2rem}
.checklist-panel[hidden]{display:none!important}
.checklist .opt small{display:block;color:var(--muted);font-size:.84rem;margin-top:.15rem}
.checklist-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:var(--night);color:var(--on-night);margin:0 0 2rem;position:sticky;top:calc(var(--header-h,5.25rem) + .5rem);z-index:5;box-shadow:var(--shadow)}
.checklist-bar .checklist-count{color:var(--white);font-weight:500}
.checklist-bar .actions{margin:0;gap:.5rem}
.checklist-intro{margin-bottom:1.6rem}

@media (max-width:1180px){
  .intl .header-cta .btn-phone{display:inline-flex}
}
@media (max-width:1020px){
  .intl .header-cta .lang{display:flex}
  .footer-grid-3{grid-template-columns:1fr 1fr}
  .footer-grid-3 .footer-brand{grid-column:1/-1}
}
@media (max-width:640px){
  .hero-bg{bottom:auto;height:clamp(20rem,96vw,27rem)}
  .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--night) 0%,rgba(20,33,42,.62) 32%,rgba(20,33,42,0) 62%)}
  .hero::before{display:none}
  .hero-inner{padding-top:clamp(15rem,72vw,21rem)}
  .intl .header-cta .btn-phone{display:none}
  .intl .brand-sub{display:none}
  .intl .header-cta .lang{font-size:.78rem}
  .footer-grid-3{grid-template-columns:1fr}
  .tools a{grid-template-columns:2.4rem 1fr}
  .tools .go{display:none}
  .checklist-bar{position:static}
}
@media print{
  .checklist-bar,.checklist-intro{display:none!important}
  .checklist-panel[hidden]{display:none!important}
}

.toc .tip{display:block;padding:.6rem 0;color:var(--ink-2);font-size:.92rem;line-height:1.5}
html:not(.js) .checklist-tabs,html:not(.js) .checklist-bar{display:none}
.hero-facts{color:var(--on-night-muted)}
.page-hero .hero-facts{margin-top:1.6rem}
@media (max-width:1020px){
  [dir="rtl"] .steps::before{left:auto;right:1.6rem}
  [dir="rtl"] .steps li{padding-left:0;padding-right:4.6rem}
  [dir="rtl"] .steps li::before{left:auto;right:0}
}
.paths-band + .section{padding-top:clamp(3rem,6vw,5rem)}

@media (min-width:1021px){
  .steps::before{display:none}
  .steps li:not(:last-child)::after{content:"";position:absolute;top:1.6rem;left:4.4rem;right:calc(.6rem - clamp(1.5rem,3vw,2.5rem));height:1px;background:var(--petrol-soft)}
  [dir="rtl"] .steps li:not(:last-child)::after{left:calc(.6rem - clamp(1.5rem,3vw,2.5rem));right:4.4rem}
}

[dir="rtl"] *{letter-spacing:0!important}
[dir="rtl"] .eyebrow,[dir="rtl"] .paths-title,[dir="rtl"] .site-footer h2,[dir="rtl"] .coords .k,[dir="rtl"] .article-date{font-size:.92rem;text-transform:none}
[dir="rtl"] .brand-sub{font-size:.82rem;text-transform:none}
[dir="rtl"] .footer-brand .name{text-align:right}
[dir="rtl"] .table-wrap th{font-size:.92rem}

/* Coordonnées : précisions sous la valeur */
.coords .v small{display:block;font-size:.8rem;line-height:1.5;color:var(--muted);margin-top:.2rem}
.bg-night .coords .v small,.cta-card .coords .v small{color:var(--on-night-muted)}
.hero-cta-note{max-width:34rem;color:rgba(255,255,255,.8)}

/* Questions fréquentes : thèmes */
.chips{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:0 0 3rem;padding:0}
.chips a{display:inline-block;padding:.55rem 1.05rem;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:.88rem;font-weight:500;color:var(--ink);text-decoration:none;transition:border-color .2s,color .2s}
.chips a:hover,.chips a:focus-visible{border-color:var(--petrol);color:var(--petrol)}
.faq-cat{scroll-margin-top:calc(var(--header-h,5rem) + 1rem)}

/* Le cabinet : manifeste, valeurs, publics */
.manifesto{max-width:54rem;margin:0 0 clamp(2.5rem,5vw,3.8rem)}
.statement{font-family:var(--serif);font-weight:700;font-synthesis:weight;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.3;color:var(--ink);margin:0 0 1.2rem;text-wrap:balance}
.manifesto p:not(.statement){font-size:1.08rem;color:var(--muted);max-width:46rem}
.pillars.values{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.pillars.values{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.pillars.values{grid-template-columns:1fr}}
.split.align-start{align-items:start}
.ticks{list-style:none;padding:0;margin:1rem 0 0}
.ticks li{position:relative;padding:.55rem 0 .55rem 1.9rem;border-bottom:1px solid var(--line)}
.ticks li::before{content:"";position:absolute;left:.2rem;top:1.05rem;width:.75rem;height:.4rem;border-left:2px solid var(--petrol);border-bottom:2px solid var(--petrol);transform:rotate(-45deg)}
[dir="rtl"] .ticks li{padding:.55rem 1.9rem .55rem 0}
[dir="rtl"] .ticks li::before{left:auto;right:.2rem}

/* Menu des langues */
.langmenu{position:relative}
.langmenu>summary{list-style:none;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;padding:.5rem .65rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--ink);font-size:.8rem;font-weight:500;letter-spacing:.04em;line-height:1;transition:border-color .2s,color .2s}
.langmenu>summary::-webkit-details-marker{display:none}
.langmenu>summary:hover,.langmenu>summary:focus-visible,.langmenu[open]>summary{border-color:var(--petrol);color:var(--petrol)}
.langmenu>summary svg{width:1rem;height:1rem}
.langmenu>summary .chev{width:.6rem;height:.6rem;transition:transform .2s}
.langmenu[open]>summary .chev{transform:rotate(180deg)}
.langmenu-panel{position:absolute;top:calc(100% + .55rem);right:0;z-index:90;width:min(22rem,calc(100vw - 2rem));max-height:min(72vh,36rem);overflow:auto;overscroll-behavior:contain;background:var(--white);border:1px solid var(--line);border-top:2px solid var(--petrol);box-shadow:var(--shadow-lg);padding:1rem .8rem .9rem}
[dir="rtl"] .langmenu-panel{right:auto;left:0}
.langmenu-group{margin:.2rem .5rem .45rem;font-size:.66rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.langmenu-panel ul{list-style:none;margin:0 0 .9rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.1rem .3rem}
.langmenu-panel ul:first-of-type{grid-template-columns:repeat(3,1fr);padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.langmenu-panel a{display:flex;flex-direction:column;gap:.1rem;padding:.45rem .55rem;border-radius:3px;text-decoration:none;color:var(--ink);line-height:1.25}
.langmenu-panel a:hover,.langmenu-panel a:focus-visible{background:var(--mist);color:var(--petrol)}
.langmenu-panel a[aria-current="true"]{background:var(--mist);box-shadow:inset 0 -2px 0 var(--petrol)}
.langmenu-panel .endo{font-family:"Poppins",system-ui,-apple-system,"Segoe UI","Noto Sans",sans-serif;font-size:.95rem;font-weight:500}
.langmenu-panel .tr{font-size:.72rem;color:var(--muted)}
.langmenu-note{margin:0 .5rem;font-size:.74rem;line-height:1.5;color:var(--muted)}
[dir="rtl"] .langmenu-group,[dir="rtl"] .langmenu-panel .tr{font-size:.8rem;letter-spacing:0;text-transform:none}
@media (max-width:1020px){.langmenu>summary{padding:.55rem .6rem}}
@media print{.langmenu{display:none}}

.tools-row{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.tools-row{grid-template-columns:1fr}}

/* Bandeau cookies */
.consent{position:fixed;left:1rem;bottom:1rem;z-index:95;width:min(27rem,calc(100vw - 2rem));background:var(--night);color:var(--on-night);border-top:2px solid var(--sand);box-shadow:var(--shadow-lg);padding:1.2rem 1.3rem 1.25rem}
.consent[hidden]{display:none}
[dir="rtl"] .consent{left:auto;right:1rem}
.consent-title{margin:0 0 .4rem;font-family:var(--serif);font-weight:700;font-synthesis:weight;font-size:1.1rem;color:var(--white)}
.consent-text{margin:0 0 1rem;font-size:.86rem;line-height:1.6;color:var(--on-night-muted)}
.consent-text a{color:var(--white)}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.consent .btn-ghost{border-color:rgba(255,255,255,.45);color:var(--white);background:transparent;justify-content:center}
.consent .btn-ghost:hover,.consent .btn-ghost:focus-visible{background:var(--white);color:var(--ink);border-color:var(--white)}
.linklike{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:none}
.linklike:hover{text-decoration:underline}
@media (max-width:1020px){.consent{bottom:calc(4.6rem + env(safe-area-inset-bottom));left:.75rem;width:calc(100vw - 1.5rem)}[dir="rtl"] .consent{right:.75rem}}
@media print{.consent{display:none!important}}
.langmenu-panel a{align-items:flex-start}
@media (max-width:1020px){.langmenu-panel{position:fixed;left:1rem;right:1rem;width:auto;top:calc(var(--header-h,5rem) + .5rem);max-height:calc(100vh - var(--header-h,5rem) - 6.5rem)}}
/* Site en arabe (27 octobre 2026) : sens de lecture de droite à gauche pour les éléments du site complet */
[dir="rtl"] .crumbs li:not(:last-child)::after{margin-left:0;margin-right:.4rem}
[dir="rtl"] .toc a::before{left:auto;right:0}
[dir="rtl"] .toc a.is-active{padding-left:0;padding-right:.8rem}
[dir="rtl"] .scope ul{padding-left:0;padding-right:1.1rem}
[dir="rtl"] .form-status,[dir="rtl"] .finder-result,[dir="rtl"] .faq-empty{border-left:0;border-right:3px solid var(--petrol)}
[dir="rtl"] .form-status.is-error{border-right-color:#b3261e}
[dir="rtl"] .form-status.is-ok{border-right-color:#2e7d4f}
[dir="rtl"] .glossary dt small{margin-left:0;margin-right:.4rem}
[dir="rtl"] abbr.term::after{text-align:right}
[dir="rtl"] .card::before,[dir="rtl"] .nav-link::after{transform-origin:right}
[dir="rtl"] .tools a:hover{transform:translateX(-3px)}
[dir="rtl"] .paths a:hover .path-arrow{transform:scaleX(-1) translateX(4px)}
@media (max-width:1020px){
  [dir="rtl"] .submenu a{padding:.45rem 1rem .45rem 0;border-left:0;border-right:2px solid var(--petrol-soft)}
}
[dir="rtl"] .submenu{left:auto;right:0}
/* Bannières des pages intérieures : même hauteur sur toutes les pages d’une même langue, à largeur d’écran égale
   (27 octobre 2026). La hauteur couvre la bannière la plus haute (OQTF, Pacte) et le contenu est centré verticalement.
   Les pages arabes, au texte plus long, ont leur propre hauteur. */
.page-hero{display:flex;flex-direction:column;justify-content:center;min-height:clamp(520px,calc(230px + 28vw),630px)}
[dir="rtl"] .page-hero{min-height:clamp(558px,calc(150px + 40vw),700px)}
.page-hero h1{font-size:clamp(2rem,3.4vw,3.15rem);max-width:28ch}
.page-hero .lead{font-size:clamp(1.04rem,1.35vw,1.18rem);max-width:44rem}
.crumbs ol{flex-wrap:nowrap}
.crumbs li{flex:none}
.crumbs li[aria-current]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1020px){
  .page-hero{min-height:max(500px,calc(404px + 11.2vw))}
  [dir="rtl"] .page-hero{min-height:max(528px,calc(424px + 12vw))}
}
@media (max-width:640px){
  .page-hero{min-height:max(472px,calc(826px - 60vw))}
  [dir="rtl"] .page-hero{min-height:max(462px,calc(800px - 62.5vw))}
  .page-hero .actions{display:none}
}
@media (max-width:339px){.page-hero{min-height:680px}[dir="rtl"] .page-hero{min-height:610px}}
