/* Rivage — systeme de design « Pop Azur ».
   Aucune ressource distante : polices auto-hebergees, aucune image tierce, aucun traceur.
   Mouvement : transform/opacity uniquement, coupe par prefers-reduced-motion. */

/* ---------- polices ---------- */
@font-face{font-family:"Archivo";font-style:normal;font-weight:500 900;font-display:swap;src:url("/assets/fonts/archivo-normal-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-weight:500 900;font-display:swap;src:url("/assets/fonts/archivo-normal-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/instrument-sans-normal-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/instrument-sans-normal-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Sans";font-style:italic;font-weight:400 700;font-display:swap;src:url("/assets/fonts/instrument-sans-italic-latin.woff2") format("woff2")}

/* ---------- jetons ---------- */
:root{
  --encre:#0E0E12; --encre-2:#101318; --papier:#FFFFFF; --brume:#EEF1F7; --brume-2:#F7F8FB;
  --azur:#1B3DF0; --azur-sombre:#1230BF; --azur-doux:#E6EBFF;
  --corail:#FF5136; --soleil:#FFC93C; --menthe:#2BB673;
  --gris:#5B6070; --gris-clair:#8A90A0; --trait:#E2E5EB;
  --display:"Archivo","Arial Black",Impact,sans-serif;
  --texte:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:14px; --r-grand:24px; --large:1180px; --etroit:760px;
  --ombre:0 1px 2px rgba(14,14,18,.06),0 10px 30px -12px rgba(14,14,18,.18);
  --ombre-forte:0 30px 80px -30px rgba(14,14,18,.45);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--papier);color:var(--encre);font:16px/1.6 var(--texte);overflow-x:clip;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--display);margin:0;line-height:1.02;letter-spacing:-.035em;text-wrap:balance;font-weight:900}
h1{font-size:clamp(40px,7.6vw,96px);text-transform:uppercase}
h2{font-size:clamp(30px,5vw,60px);text-transform:uppercase}
h3{font-size:clamp(20px,2.4vw,26px);letter-spacing:-.02em;font-weight:800;text-transform:none}
p{margin:0 0 1em}
.enveloppe{max-width:var(--large);margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.etroit{max-width:var(--etroit)}
.bloc{padding:clamp(64px,10vw,140px) 0}
.bloc--serre{padding:clamp(40px,6vw,80px) 0}
.bloc--brume{background:var(--brume)}
.bloc--encre{background:var(--encre);color:var(--papier)}
.bloc--azur{background:var(--azur);color:var(--papier)}
.chapeau{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--azur);margin-bottom:14px;display:inline-flex;align-items:center;gap:10px}
.chapeau::before{content:"";width:22px;height:3px;background:currentColor;border-radius:2px}
.chapeau--clair{color:var(--soleil)}
.lead{font-size:clamp(18px,1.6vw,21px);color:var(--gris);max-width:58ch}
.bloc--encre .lead,.bloc--azur .lead{color:rgba(255,255,255,.78)}
.evitement{position:absolute;left:-999px;top:8px;background:var(--soleil);color:var(--encre);padding:10px 14px;border-radius:8px;z-index:200;font-weight:700}
.evitement:focus{left:8px}

/* ---------- boutons ---------- */
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:999px;font-weight:700;font-size:15.5px;
  text-decoration:none;border:2px solid transparent;line-height:1;white-space:nowrap;position:relative;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s,color .2s}
.bouton--plein{background:var(--azur);color:#fff;box-shadow:0 8px 22px -10px var(--azur)}
.bouton--plein:hover{background:var(--azur-sombre);transform:translateY(-2px);box-shadow:0 14px 30px -12px var(--azur)}
.bouton--soleil{background:var(--soleil);color:var(--encre)}
.bouton--soleil:hover{transform:translateY(-2px) rotate(-1deg);box-shadow:0 14px 30px -12px rgba(255,201,60,.9)}
.bouton--corail{background:var(--corail);color:#fff}
.bouton--corail:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px var(--corail)}
.bouton--contour{border-color:var(--encre);color:var(--encre);background:transparent}
.bouton--contour:hover{background:var(--encre);color:#fff}
.bouton--contour-clair{border-color:rgba(255,255,255,.6);color:#fff;background:transparent}
.bouton--contour-clair:hover{background:#fff;color:var(--encre)}
.bouton--grand{padding:18px 30px;font-size:17px}
.bouton--petit{padding:10px 16px;font-size:14px}
.bouton:active{transform:scale(.98)}
.bouton .fleche{display:inline-block;transition:transform .25s var(--ease)}
.bouton:hover .fleche{transform:translateX(4px)}

/* ---------- en-tete ---------- */
.entete{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.entete.colle{border-color:var(--trait);box-shadow:0 6px 24px -18px rgba(14,14,18,.3)}
.entete__int{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:-.04em}
.logo__vague{width:28px;height:28px;border-radius:8px;background:var(--azur);position:relative;overflow:hidden;flex-shrink:0}
.logo__vague::after{content:"";position:absolute;left:-10%;right:-10%;bottom:22%;height:40%;background:var(--soleil);border-radius:50% 50% 0 0 / 100% 100% 0 0;transform:skewX(-8deg)}
.logo__point{color:var(--corail)}
.logo--clair{color:#fff}
.nav{display:none;gap:30px}
@media(min-width:960px){.nav{display:flex}}
.nav a{text-decoration:none;font-weight:600;color:var(--gris);font-size:15px;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--azur);transition:right .3s var(--ease)}
.nav a:hover::after,.nav a[aria-current]::after{right:0}
.nav a:hover,.nav a[aria-current]{color:var(--encre)}
.entete__actions{display:flex;align-items:center;gap:14px}
.lien-tel{display:none;text-decoration:none;font-weight:700;font-size:15px;color:var(--encre)}
@media(min-width:1100px){.lien-tel{display:inline-flex;gap:6px}}
.entete .bouton--plein{display:none}
@media(min-width:600px){.entete .bouton--plein{display:inline-flex;padding:11px 18px;font-size:14.5px}}
.burger{display:inline-flex;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;background:transparent;border:0;border-radius:10px}
.burger span{width:22px;height:2px;background:var(--encre);transition:transform .3s var(--ease),opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(min-width:960px){.burger{display:none}}
.menu-mobile{display:grid;gap:4px;padding:10px clamp(18px,4vw,40px) 22px;border-top:1px solid var(--trait);background:#fff}
.menu-mobile[hidden]{display:none}
@media(min-width:960px){.menu-mobile{display:none}}
.menu-mobile a{text-decoration:none;font-family:var(--display);font-weight:800;font-size:22px;padding:10px 0;border-bottom:1px solid var(--trait)}
.menu-mobile a:last-child{border:0;color:var(--azur)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:clip;padding:clamp(56px,9vw,120px) 0 clamp(48px,7vw,90px);background:
  radial-gradient(60% 70% at 85% 10%,rgba(27,61,240,.10),transparent 60%),
  radial-gradient(40% 50% at 10% 90%,rgba(255,201,60,.18),transparent 60%),var(--papier)}
.hero__int{display:grid;gap:44px;align-items:center}
@media(min-width:980px){.hero__int{grid-template-columns:1.1fr .9fr}}
.hero h1{margin:14px 0 22px}
.hero h1 .souligne{position:relative;display:inline-block;white-space:nowrap}
.hero h1 .souligne::after{content:"";position:absolute;left:-2%;right:-2%;bottom:6%;height:22%;background:var(--soleil);z-index:-1;transform:skewX(-6deg) scaleX(0);transform-origin:left;animation:trait .8s .5s var(--ease) forwards}
@keyframes trait{to{transform:skewX(-6deg) scaleX(1)}}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 18px}
.hero__preuves{display:flex;flex-wrap:wrap;gap:18px 28px;color:var(--gris);font-size:14.5px;margin-top:22px}
.hero__preuves b{color:var(--encre);font-family:var(--display);font-weight:800;font-size:18px;margin-right:6px}
.hero__visuel{position:relative;min-height:380px}
.telephone{position:relative;width:min(300px,78vw);margin:0 auto;aspect-ratio:9/19;border-radius:38px;background:var(--encre);padding:12px;box-shadow:var(--ombre-forte);transform:rotate(-4deg);transition:transform .8s var(--ease)}
.hero__visuel:hover .telephone{transform:rotate(-1deg) translateY(-6px)}
.telephone__ecran{width:100%;height:100%;border-radius:28px;overflow:hidden;background:#fff;position:relative}
.telephone__ecran img{width:100%;height:100%;object-fit:cover;object-position:top;animation:defile 18s linear infinite alternate}
@keyframes defile{from{object-position:0 0}to{object-position:0 100%}}
.telephone__encoche{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:90px;height:22px;background:var(--encre);border-radius:999px;z-index:2}
.autocollant{position:absolute;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.06em;padding:10px 14px;border-radius:12px;box-shadow:var(--ombre);white-space:nowrap;animation:flotte 6s ease-in-out infinite}
.autocollant--1{top:6%;left:0;background:var(--soleil);transform:rotate(-8deg)}
.autocollant--2{bottom:14%;right:0;background:var(--corail);color:#fff;transform:rotate(6deg);animation-delay:1.2s}
.autocollant--3{top:52%;left:-4%;background:var(--menthe);color:#fff;transform:rotate(-3deg);animation-delay:2.4s}
@keyframes flotte{0%,100%{translate:0 0}50%{translate:0 -8px}}

/* ---------- defilement de metiers ---------- */
.defile{overflow:hidden;border-block:1px solid var(--trait);background:var(--brume-2);padding:14px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.defile__piste{display:flex;gap:14px;width:max-content;animation:glisse 40s linear infinite}
.defile:hover .defile__piste{animation-play-state:paused}
@keyframes glisse{to{transform:translateX(-50%)}}
.defile a{text-decoration:none;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:14px;padding:10px 16px;border-radius:999px;border:1.5px solid var(--trait);background:#fff;color:var(--encre);transition:background .2s,color .2s,border-color .2s}
.defile a:hover{background:var(--azur);color:#fff;border-color:var(--azur)}

/* ---------- grilles et cartes ---------- */
.grille{display:grid;gap:20px}
.grille--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grille--3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.grille--4{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.carte{background:#fff;border:1.5px solid var(--trait);border-radius:var(--r-grand);padding:28px;position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s}
.carte:hover{transform:translateY(-6px);box-shadow:var(--ombre-forte);border-color:transparent}
.carte h3{margin:14px 0 8px}
.carte p{color:var(--gris);margin:0;font-size:15.5px}
.carte__ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:24px;background:var(--azur-doux)}
.carte--lien{text-decoration:none;color:inherit;display:block}
.carte--lien .fleche{position:absolute;right:22px;top:22px;width:36px;height:36px;border-radius:50%;background:var(--brume);display:grid;place-items:center;transition:background .25s,transform .25s var(--ease)}
.carte--lien:hover .fleche{background:var(--azur);color:#fff;transform:rotate(-45deg)}
.carte--encre{background:var(--encre);color:#fff;border-color:var(--encre)}
.carte--encre p{color:rgba(255,255,255,.75)}
.carte--soleil{background:var(--soleil);border-color:var(--soleil)}
.carte--soleil p{color:rgba(14,14,18,.7)}
.numero{font-family:var(--display);font-weight:900;font-size:56px;line-height:1;color:var(--azur);letter-spacing:-.05em}

/* ---------- etapes ---------- */
.etapes{counter-reset:etape;display:grid;gap:0}
.etape{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:26px 0;border-top:1.5px solid var(--trait);position:relative}
.etape:last-child{border-bottom:1.5px solid var(--trait)}
.etape::before{counter-increment:etape;content:"0" counter(etape);font-family:var(--display);font-weight:900;font-size:34px;color:var(--azur);line-height:1;letter-spacing:-.04em}
.etape h3{margin:0 0 6px}
.etape p{color:var(--gris);margin:0}
.etape__duree{position:absolute;right:0;top:28px;font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;background:var(--brume);padding:6px 10px;border-radius:999px}

/* ---------- realisations ---------- */
.vitrines{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.vitrine{position:relative;border-radius:var(--r-grand);overflow:hidden;background:var(--encre);aspect-ratio:4/5;text-decoration:none;color:#fff;display:flex;align-items:flex-end;isolation:isolate}
.vitrine img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s}
.vitrine::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,18,0) 35%,rgba(14,14,18,.88));transition:opacity .4s}
.vitrine:hover img{transform:scale(1.06)}
.vitrine__texte{position:relative;z-index:1;padding:24px}
.vitrine__metier{font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--soleil)}
.vitrine__nom{font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:-.03em;margin:6px 0 4px;line-height:1.05}
.vitrine__ville{font-size:14px;opacity:.8}
.vitrine__badge{position:absolute;top:16px;left:16px;z-index:1;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.9);color:var(--encre);padding:6px 10px;border-radius:999px}

/* ---------- temoignage / chiffres ---------- */
.chiffres{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.chiffre{padding:28px;border-radius:var(--r-grand);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.chiffre b{display:block;font-family:var(--display);font-weight:900;font-size:clamp(40px,5vw,64px);letter-spacing:-.05em;line-height:1;color:var(--soleil)}
.chiffre span{color:rgba(255,255,255,.75);font-size:15px}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:10px;max-width:var(--etroit)}
.faq details{border:1.5px solid var(--trait);border-radius:var(--r);background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .3s}
.faq details[open]{border-color:var(--azur);box-shadow:var(--ombre)}
.faq summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:700;font-size:17px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--display);font-size:24px;color:var(--azur);transition:transform .3s var(--ease);flex-shrink:0}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .faq__r{padding:0 22px 20px;color:var(--gris)}
.faq .faq__r p:last-child{margin:0}

/* ---------- bande CTA et pied ---------- */
.bande-cta{background:var(--azur);color:#fff;padding:clamp(52px,7vw,90px) 0;position:relative;overflow:hidden}
.bande-cta::before{content:"";position:absolute;right:-10%;top:-40%;width:50%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,201,60,.35),transparent 70%)}
.bande-cta__int{display:grid;gap:30px;align-items:center;position:relative}
@media(min-width:900px){.bande-cta__int{grid-template-columns:1.2fr .8fr}}
.bande-cta__titre{font-size:clamp(28px,4vw,48px);text-transform:none;letter-spacing:-.03em}
.bande-cta__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}
@media(min-width:900px){.bande-cta__actions{justify-content:flex-end}}
.pied{background:var(--encre);color:rgba(255,255,255,.72);padding:64px 0 28px;font-size:14.5px}
.pied__grille{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.pied__col--marque{grid-column:span 2;max-width:420px}
@media(max-width:600px){.pied__col--marque{grid-column:span 1}}
.pied h3{color:#fff;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;margin-bottom:14px}
.pied__col a{display:block;color:rgba(255,255,255,.72);text-decoration:none;padding:5px 0;transition:color .2s}
.pied__col a:hover{color:var(--soleil)}
.pied__nap{display:grid;gap:4px;margin-top:14px}
.pied__nap a{padding:0;color:#fff}
.pied__bas{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:rgba(255,255,255,.55)}
.pied__bas a{color:rgba(255,255,255,.7);text-decoration:none}
.pied__bas a:hover{color:#fff}
.pied__cookie{margin-left:auto}

/* ---------- pages editoriales ---------- */
.article{max-width:var(--etroit);margin:0 auto}
.article__tete{padding:clamp(48px,7vw,90px) 0 30px;border-bottom:1.5px solid var(--trait);margin-bottom:34px}
.article__tete h1{font-size:clamp(32px,5vw,58px);text-transform:none;letter-spacing:-.03em;line-height:1.08}
.article__meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--gris);font-size:14px;margin-top:18px}
.article__corps{font-size:17.5px;line-height:1.75}
.article__corps h2{font-size:clamp(24px,3vw,34px);text-transform:none;letter-spacing:-.025em;margin:1.8em 0 .6em;line-height:1.15}
.article__corps h3{margin:1.5em 0 .5em}
.article__corps p,.article__corps li{color:#2A2E3A}
.article__corps ul,.article__corps ol{padding-left:1.3em}
.article__corps li{margin:.35em 0}
.article__corps a{color:var(--azur);text-decoration-thickness:1.5px;text-underline-offset:3px}
.article__corps blockquote{margin:1.5em 0;padding:18px 24px;border-left:4px solid var(--soleil);background:var(--brume-2);border-radius:0 var(--r) var(--r) 0;font-size:18px}
.article__corps hr{border:0;border-top:1.5px solid var(--trait);margin:2.5em 0}
.article__corps code{background:var(--brume);padding:2px 6px;border-radius:6px;font-size:.92em}
.tableau{overflow-x:auto;margin:1.5em 0;border:1.5px solid var(--trait);border-radius:var(--r)}
.tableau table{border-collapse:collapse;width:100%;font-size:15.5px}
.tableau th,.tableau td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--trait)}
.tableau th{background:var(--brume-2);font-weight:700}
.tableau tr:last-child td{border:0}
.sommaire{background:var(--brume-2);border-radius:var(--r);padding:18px 22px;margin:0 0 30px;font-size:15px}
.sommaire b{display:block;font-family:var(--display);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.sommaire a{display:block;color:var(--gris);text-decoration:none;padding:4px 0}
.sommaire a:hover{color:var(--azur)}
.encart{margin:2em 0;padding:26px;border-radius:var(--r-grand);background:var(--encre);color:#fff;display:grid;gap:14px}
.encart p{color:rgba(255,255,255,.8);margin:0}
.encart h3{color:#fff}
.liste-articles{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.apercu-article{text-decoration:none;color:inherit;display:grid;gap:10px;padding:26px;border:1.5px solid var(--trait);border-radius:var(--r-grand);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.apercu-article:hover{transform:translateY(-5px);box-shadow:var(--ombre-forte)}
.apercu-article h3{font-size:21px;line-height:1.15}
.apercu-article p{color:var(--gris);margin:0;font-size:15px}
.apercu-article time{font-size:13px;color:var(--gris)}
.fil{font-size:13.5px;color:var(--gris);display:flex;gap:8px;flex-wrap:wrap;padding-top:18px}
.fil a{color:var(--gris);text-decoration:none}
.fil a:hover{color:var(--azur)}

/* ---------- apparitions ---------- */
.fx .rev{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.fx .rev.vu{opacity:1;transform:none}
.fx .rev--gauche{transform:translateX(-26px)}
.fx .rev--zoom{transform:scale(.94)}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .fx .rev{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
.souligne-anim{background:linear-gradient(var(--soleil),var(--soleil)) no-repeat 0 88%/0 .35em;transition:background-size .6s var(--ease)}
.vu .souligne-anim,.souligne-anim.vu{background-size:100% .35em}
