/* ═══════════════════════════════════════════════════════════════════════
   FLORI GREEN 4.2 — d'après Vexoo (et Coska), adapté au handpoke
   ═══════════════════════════════════════════════════════════════════════

   Ce que l'on reprend des références :
   · Vexoo — fond presque noir, cartes de verre aux angles très arrondis,
     une grotesque serrée (Open Sauce), le nom en géant flouté derrière les
     cartes, une barre fine avec la ville et l'heure, les paragraphes qui
     se révèlent mot à mot à la lecture, les avis en grille sobre.
   · Coska — les photos en cartes arrondies avec une pastille de verre, le
     nom en pleine largeur dans le pied de page.

   Ce qui reste Flori : la brique en accent (claire en sombre), un seul mot
   en Bodoni italique dans les titres, et les dessins à l'encre.

   Le sombre est le mode par défaut (réglable). Le clair existe à l'égal.
   Les polices et leurs réglages : inc/typographie.php (variables --f-*).
   ═══════════════════════════════════════════════════════════════════════ */

/* ── JETONS ─────────────────────────────────────────────────────────── */
:root{
  /* Clair */
  --fond:#f2f0eb; --carte:#ffffff; --carte-2:#e8e5de; --verre:rgba(255,255,255,.55);
  --bord:rgba(14,13,11,.08); --bord-fort:rgba(14,13,11,.16);
  --texte:#0e0d0b; --doux:#6d685f; --faible:#c8c3b8;
  --accent:#8c3315; --sur-accent:#fbf6ea; --olive:#6f701c;
  --ombre:0 24px 60px -32px rgba(20,14,6,.35);
  --flou-fond:rgba(242,240,235,.72);
  --tuile:#f6f3ec; /* le papier sous les dessins à l'encre */

  --gout:clamp(16px,3vw,40px);
  --pas:clamp(10px,1vw,14px);   /* l'écart entre les cartes, serré comme chez Vexoo */
  --sec:clamp(96px,11vw,176px);
  --large:1440px;
  --r:clamp(16px,1.6vw,24px); --r-p:12px;
  --tete:64px;
  --ease:cubic-bezier(.16,1,.3,1);
  --rapide:180ms; --base:360ms; --lent:900ms;

  --sans:var(--f-texte,"Open Sauce Sans",system-ui,sans-serif);
}
:root[data-mode=sombre]{
  --fond:#0c0b09; --carte:#161512; --carte-2:#1e1d19; --verre:rgba(30,29,25,.55);
  --bord:rgba(255,255,255,.07); --bord-fort:rgba(255,255,255,.16);
  --texte:#f2efe8; --doux:#8f8a80; --faible:#3c3a35;
  --accent:#e8916a; --sur-accent:#1a0f07; --olive:#c9cb6a;
  --ombre:0 30px 70px -30px rgba(0,0,0,.8);
  --flou-fond:rgba(12,11,9,.7);
  color-scheme:dark;
}

/* ── BASE ───────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--tete) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--fond);color:var(--texte);
  font-family:var(--sans);font-weight:var(--w-texte,400);font-size:var(--t-texte,16px);line-height:var(--lh-texte,1.6);letter-spacing:var(--ls-texte,-.01em);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;
  transition:background-color var(--base) var(--ease),color var(--base) var(--ease)}
img,svg,video,canvas,iframe{display:block;max-width:100%}
img,video{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul[role=list],ol[role=list]{list-style:none;padding:0}
::selection{background:var(--accent);color:var(--sur-accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.fl-sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.fl-evitement{position:fixed;left:12px;top:-80px;z-index:100;background:var(--texte);color:var(--fond);padding:12px 18px;border-radius:999px;transition:top var(--base) var(--ease)}
.fl-evitement:focus{top:12px}
.fl-doux{color:var(--doux)}
[hidden]{display:none!important}

/* Rôles typographiques (réglables un par un dans le personnalisateur). */
.fl-h1{font-family:var(--f-titre);font-weight:var(--w-titre,500);font-size:var(--t-titre,clamp(52px,8.5vw,120px));line-height:var(--lh-titre,.92);letter-spacing:var(--ls-titre,-.05em);text-transform:var(--tt-titre,none);font-style:var(--fs-titre,normal);text-wrap:balance}
.fl-h2{font-family:var(--f-section);font-weight:var(--w-section,500);font-size:var(--t-section,clamp(34px,5vw,64px));line-height:var(--lh-section,1);letter-spacing:var(--ls-section,-.04em);text-transform:var(--tt-section,none);font-style:var(--fs-section,normal);text-wrap:balance}
.fl-h3,.fl-flash-nom,.fl-etapes h3,.fl-faq summary,.fl-visio-legende,.fl-carte-titre{font-family:var(--f-nom);font-weight:var(--w-nom,500);font-size:var(--t-nom,20px);line-height:var(--lh-nom,1.25);letter-spacing:var(--ls-nom,-.02em);text-transform:var(--tt-nom,none);font-style:var(--fs-nom,normal)}
.fg-surligne{font-family:var(--f-accent);font-weight:var(--w-accent,400);font-style:var(--fs-accent,italic);letter-spacing:var(--ls-accent,-.02em);text-transform:var(--tt-accent,none);color:var(--accent)}
.fl-chapo,.fl-lecture,.fl-avis blockquote p,.fl-pied-phrase{font-family:var(--f-chapo);font-weight:var(--w-chapo,500);line-height:var(--lh-chapo,1.22);letter-spacing:var(--ls-chapo,-.03em);text-transform:var(--tt-chapo,none);font-style:var(--fs-chapo,normal)}
.fl-etiq,.fl-statut,.fl-filtre label,.fl-flash-infos,.fl-avis figcaption,.fl-fil,.fl-onglets button,.fl-segment button,.fl-pied-contacts dt,.fl-faits dt,.fl-releve dt,.fl-horloge,.fl-tete-role,.fl-apropos-portrait figcaption,.fl-galerie figcaption{
  font-family:var(--f-etiquette,var(--sans));font-weight:var(--w-etiquette,500);font-size:var(--t-etiquette,13px);letter-spacing:var(--ls-etiquette,-.01em);text-transform:var(--tt-etiquette,none);font-style:var(--fs-etiquette,normal);line-height:var(--lh-etiquette,1.3)}
.fl-num,.fl-fiche-prix,.fl-pilule b{font-family:var(--f-chiffre);font-weight:var(--w-chiffre,500);font-style:var(--fs-chiffre,normal);letter-spacing:var(--ls-chiffre,-.02em)}

/* ── MISE EN PAGE ───────────────────────────────────────────────────── */
.fl-wrap{width:100%;max-width:calc(var(--large) + 2 * var(--gout));margin-inline:auto;padding-inline:var(--gout)}
.fl-main{display:block;padding-bottom:var(--sec)}
.fl-sec{padding-top:var(--sec)}
.fl-sec--serre{padding-top:calc(var(--sec) * .45)}
.fl-sec-tete{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px 32px;margin-bottom:clamp(28px,4vw,52px)}
.fl-sec-tete > div{max-width:56rem;min-width:0}
.fl-sec-intro{margin-top:16px;color:var(--doux);max-width:48ch;font-size:1.05rem}
.fl-etiq{display:flex;align-items:center;gap:10px;color:var(--doux);margin-bottom:16px}
.fl-etiq::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
.fl-index{display:none}

/* ── EN-TÊTE : une barre fine, comme chez Vexoo ─────────────────────── */
.fl-tete{position:sticky;top:0;z-index:40;background:var(--flou-fond);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);
  transition:transform var(--base) var(--ease),background-color var(--base)}
html[data-cache] .fl-tete{transform:translateY(-100%)}
.fl-tete-ligne{display:flex;align-items:center;gap:clamp(16px,2.4vw,40px);height:var(--tete)}
.fl-marque{font-family:var(--f-titre);font-weight:600;font-size:15px;letter-spacing:-.03em;white-space:nowrap}
.fl-tete-role{display:none;color:var(--doux)}
.fl-nav{display:none}
.fl-nav ul{display:flex;gap:2px}
.fl-nav a{position:relative;display:block;padding:8px 12px;border-radius:999px;color:var(--doux);
  font-family:var(--f-menu);font-weight:var(--w-menu,500);font-size:var(--t-menu,14px);letter-spacing:var(--ls-menu,-.01em);text-transform:var(--tt-menu,none);
  transition:color var(--rapide),background-color var(--rapide)}
.fl-nav a:hover{color:var(--texte);background:var(--bord)}
.fl-nav a[aria-current]{color:var(--texte)}
.fl-nav a[aria-current]::after{content:"";position:absolute;left:50%;bottom:2px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--accent)}
.fl-tete-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.fl-horloge{display:none;color:var(--doux);white-space:nowrap;font-variant-numeric:tabular-nums}
.fl-horloge i{font-style:normal;color:var(--accent);margin:0 2px}
.fl-mode{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent}
.fl-mode span{width:12px;height:12px;border-radius:50%;background:var(--texte);transition:transform var(--base) var(--ease),box-shadow var(--base)}
.fl-mode:hover span{transform:scale(1.35);box-shadow:0 0 0 6px var(--bord)}
.fl-burger{display:grid;place-items:center;width:44px;height:44px;margin-right:-10px;border:0;background:none;border-radius:50%}
.fl-burger-traits{display:grid;gap:6px;width:20px}
.fl-burger-traits i{display:block;height:1.5px;background:var(--texte);transition:transform var(--base) var(--ease)}
.fl-burger[aria-expanded=true] .fl-burger-traits i:first-child{transform:translateY(3.75px) rotate(45deg)}
.fl-burger[aria-expanded=true] .fl-burger-traits i:last-child{transform:translateY(-3.75px) rotate(-45deg)}
@media (min-width:700px){.fl-horloge{display:block}}
@media (min-width:1100px){.fl-tete-role{display:block}.fl-nav{display:block;margin-left:auto}.fl-tete-actions{margin-left:0}.fl-burger{display:none}}
.fl-tiroir{position:fixed;inset:var(--tete) 0 0;z-index:39;background:var(--fond);overflow-y:auto;
  padding:8px var(--gout) calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:32px}
.fl-tiroir li{border-bottom:1px solid var(--bord)}
.fl-tiroir nav a{display:block;padding:12px 0;font-family:var(--f-section);font-weight:500;font-size:clamp(2rem,9vw,2.8rem);letter-spacing:-.04em;line-height:1.05}
.fl-tiroir nav a[aria-current]{color:var(--accent)}
.fl-tiroir:not([hidden]) li{animation:fl-monte .55s var(--ease) both}
.fl-tiroir:not([hidden]) li:nth-child(2){animation-delay:40ms}.fl-tiroir:not([hidden]) li:nth-child(3){animation-delay:80ms}
.fl-tiroir:not([hidden]) li:nth-child(4){animation-delay:120ms}.fl-tiroir:not([hidden]) li:nth-child(5){animation-delay:160ms}.fl-tiroir:not([hidden]) li:nth-child(6){animation-delay:200ms}
.fl-tiroir-pied{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.fl-tiroir-pied .fl-btn{width:100%}
html[data-tiroir]{overflow:hidden}
@media (min-width:1100px){.fl-tiroir{display:none!important}}
@keyframes fl-monte{from{opacity:0;transform:translateY(20px)}}

/* ── BOUTONS, LIENS ─────────────────────────────────────────────────── */
.fl-btn,.fg-envoyer{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;
  border:1px solid transparent;border-radius:999px;background:var(--texte);color:var(--fond);
  font-family:var(--f-bouton);font-weight:var(--w-bouton,500);font-size:var(--t-bouton,15px);letter-spacing:var(--ls-bouton,-.01em);text-transform:var(--tt-bouton,none);
  white-space:nowrap;cursor:pointer;transition:background-color var(--base) var(--ease),color var(--base),transform var(--base) var(--ease),border-color var(--base)}
.fl-btn:hover,.fg-envoyer:hover{background:var(--accent);color:var(--sur-accent)}
.fl-btn:active{transform:scale(.97)}
.fl-btn svg{transition:transform var(--base) var(--ease)}
.fl-btn:hover svg{transform:rotate(45deg)}
.fl-btn--ligne{background:transparent;color:var(--texte);border-color:var(--bord-fort)}
.fl-btn--ligne:hover{background:var(--texte);color:var(--fond);border-color:var(--texte)}
.fl-btn--petit{min-height:40px;padding:0 18px;font-size:14px}
.fl-tete-resa{min-height:36px;padding:0 16px}
.fl-actions{display:flex;flex-wrap:wrap;gap:8px}
.fl-voir{display:inline-flex;align-items:center;gap:8px;color:var(--texte);font-weight:500;white-space:nowrap;padding:10px 16px;border-radius:999px;border:1px solid var(--bord-fort);transition:background-color var(--base),color var(--base),border-color var(--base)}
.fl-voir svg{transition:transform var(--base) var(--ease)}
.fl-voir:hover{background:var(--texte);color:var(--fond);border-color:var(--texte)}
.fl-voir:hover svg{transform:rotate(45deg)}
.fl-pastille,.fl-carnet{display:inline-flex;align-items:center;gap:8px;color:var(--doux);font-size:13px;font-weight:500}
.fl-pastille{margin-top:20px;padding:8px 14px;border:1px solid var(--bord-fort);border-radius:999px}
.fl-carnet::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:#7bd389;box-shadow:0 0 0 0 rgba(123,211,137,.5);animation:fl-pouls 2.4s var(--ease) infinite}
.fl-carnet--soon::before{background:#f0b35b;box-shadow:none}
.fl-carnet--closed::before{background:var(--doux);animation:none}
@keyframes fl-pouls{0%{box-shadow:0 0 0 0 rgba(123,211,137,.55)}80%,100%{box-shadow:0 0 0 9px rgba(123,211,137,0)}}
.fl-chapo{margin-top:22px;color:var(--doux);font-size:clamp(1.15rem,1rem + .8vw,1.6rem);max-width:30ch}

/* ── CARTES DE VERRE ────────────────────────────────────────────────── */
.fl-carte{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:220px;padding:clamp(18px,1.8vw,26px);
  border-radius:var(--r);background:var(--verre);border:1px solid var(--bord);overflow:hidden;isolation:isolate;
  -webkit-backdrop-filter:blur(26px) saturate(1.3);backdrop-filter:blur(26px) saturate(1.3);
  transition:transform var(--base) var(--ease),border-color var(--base)}
.fl-carte:hover{border-color:var(--bord-fort)}
.fl-carte-fond{position:absolute;inset:0;z-index:-1}
.fl-carte-fond img,.fl-carte-fond video{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter var(--lent) var(--ease)}
.fl-carte:hover .fl-carte-fond img{transform:scale(1.04)}
.fl-carte-fond--nb img{filter:grayscale(1) contrast(1.05)}
.fl-carte:hover .fl-carte-fond--nb img{filter:grayscale(0)}
.fl-carte-fond::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.6))}
.fl-carte:has(.fl-carte-fond) {color:#fff;background:#111}
.fl-carte:has(.fl-carte-fond) .fl-etiq{color:rgba(255,255,255,.8)}
.fl-carte-haut,.fl-carte-bas{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.fl-carte-haut{align-items:flex-start}
.fl-carte-bas > svg{flex:none;transition:transform var(--base) var(--ease)}
.fl-carte:hover .fl-carte-bas > svg{transform:rotate(45deg)}
.fl-carte .fl-etiq{margin:0}

/* ── 1. L'OUVERTURE (le « hub ») ─────────────────────────────────────── */
.fl-hub{position:relative;padding-top:clamp(12px,2vw,24px)}
.fl-hub-mot{position:relative;z-index:0;margin:0 0 calc(var(--hub-chevauche,.1) * -1em);text-align:center;white-space:nowrap;
  font-family:var(--f-titre);font-weight:500;letter-spacing:-.06em;line-height:.9;font-size:clamp(4rem,15.5vw,15rem);
  color:var(--texte);transition:opacity var(--base) var(--ease)}
.fl-hub-mot.change{opacity:.15}
.fl-hub-grille{position:relative;z-index:1;display:grid;gap:var(--pas);grid-template-columns:1fr}
.fl-carte--une{min-height:min(78svh,620px)}
.fl-carte--une .fl-h1{font-size:clamp(2.4rem,1.3rem + 4vw,5rem);max-width:12ch;color:#fff}
.fl-carte--une .fg-surligne{color:#ffc7a8}
.fl-h1-lieu{display:block;font-family:var(--f-accent);font-style:italic;font-weight:400;font-size:.55em;letter-spacing:-.01em;color:rgba(255,255,255,.75);margin-top:.15em}
.fl-carte--une .fl-carte-bas{flex-wrap:wrap}
.fl-carte-lien{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.22);font-weight:500;white-space:nowrap}
.fl-carte--qui{min-height:360px}
.fl-carte--flashs{min-height:260px}
.fl-carte--essai{min-height:220px}
.fl-carte--resa{min-height:180px;background:var(--accent);color:var(--sur-accent);border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.fl-carte--resa .fl-carnet{color:inherit}
.fl-carte--resa .fl-carte-titre{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.4rem);letter-spacing:-.04em}
.fl-carte-icones{display:flex;gap:8px}
.fl-carte-icones .fl-tuile{width:clamp(48px,4.4vw,64px);border-radius:14px;padding:10px;transition:transform var(--base) var(--ease)}
.fl-carte--essai:hover .fl-carte-icones .fl-tuile:nth-child(odd){transform:translateY(-4px) rotate(-6deg)}
.fl-carte--essai:hover .fl-carte-icones .fl-tuile:nth-child(even){transform:translateY(-2px) rotate(5deg)}
@media (min-width:700px){
  .fl-hub-grille{grid-template-columns:repeat(2,1fr)}
  .fl-carte--une{grid-column:1/-1}
}
@media (min-width:1000px){
  .fl-hub{--hub-chevauche:.14}
  .fl-hub-grille{grid-template-columns:repeat(12,1fr);grid-template-rows:auto auto}
  .fl-carte--une{grid-column:1/8;grid-row:1/3;min-height:0;height:calc(100svh - var(--tete) - clamp(8rem,13vw,12rem))}
  .fl-carte--qui{grid-column:8/13;min-height:0}
  .fl-carte--flashs{grid-column:8/11;min-height:0}
  .fl-carte--essai{grid-column:11/13;min-height:0}
  .fl-carte--resa{grid-column:8/13;display:none}
}
@media (min-width:1000px) and (min-height:760px){
  .fl-hub-grille{grid-template-rows:1.15fr 1fr .55fr}
  .fl-carte--une{grid-row:1/4}
  .fl-carte--resa{display:flex}
}
/* Le mot géant : flou derrière les cartes de verre. */
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .fl-hub-grille .fl-carte:not(:has(.fl-carte-fond)):not(.fl-carte--resa){background:var(--verre)}
}

/* ── 2. LE RÉCIT : le paragraphe qui se révèle à la lecture ──────────── */
.fl-recit{display:grid;gap:28px}
.fl-recit-cote{display:flex;align-items:center;gap:16px}
.fl-recit-cote .fl-etiq{margin:0}
.fl-recit-portrait{width:64px;height:64px;border-radius:50%;overflow:hidden;flex:none;order:-1}
.fl-recit-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.fl-lecture{font-size:clamp(1.6rem,1rem + 2.4vw,var(--t-chapo,38px));max-width:28ch;color:var(--texte)}
.fl-recit .fl-btn{margin-top:36px}
.fl-lecture .fl-mot-l{transition:color .35s linear}
html.js .fl-lecture .fl-mot-l{color:var(--faible)}
html.js .fl-lecture .fl-mot-l.lu{color:var(--texte)}
@media (min-width:900px){
  .fl-recit{grid-template-columns:4fr 8fr;gap:clamp(32px,5vw,80px)}
  .fl-recit-cote{flex-direction:column;align-items:flex-start;position:sticky;top:calc(var(--tete) + 24px);align-self:start}
  .fl-recit-portrait{order:0;width:min(100%,260px);height:auto;aspect-ratio:4/5;border-radius:var(--r)}
}

/* ── GRILLES ────────────────────────────────────────────────────────── */
.fl-barre{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin:clamp(28px,4vw,48px) 0 20px;padding:10px;border-radius:999px;background:var(--carte);border:1px solid var(--bord);position:sticky;top:calc(var(--tete) + 8px);z-index:5}
.fl-filtre{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fl-filtre label{color:var(--doux);padding-left:10px}
.fl-select{position:relative;display:inline-block}
.fl-select::after{content:"";position:absolute;right:18px;top:50%;width:7px;height:7px;border:solid var(--texte);border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.fl-select select{appearance:none;-webkit-appearance:none;min-height:42px;min-width:min(240px,62vw);padding:0 44px 0 18px;border:1px solid var(--bord-fort);border-radius:999px;background:var(--fond);color:var(--texte);cursor:pointer;transition:border-color var(--rapide)}
.fl-select select:hover{border-color:var(--texte)}
.fl-filtre-compte{color:var(--accent);font-size:13px}
.fl-barre .fl-voir{border-color:transparent}

/* Tatouages : survoler une photo met les autres en noir et blanc. */
.fl-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
@media (min-width:700px){.fl-grille{grid-template-columns:repeat(4,1fr);gap:var(--pas)}}
@media (min-width:1100px){.fl-grille{grid-template-columns:repeat(6,1fr)}}
.fl-grille--apercu{grid-template-columns:repeat(2,1fr);gap:var(--pas)}
.fl-grille--apercu > li:nth-child(n+5){display:none}
@media (min-width:700px){.fl-grille--apercu{grid-template-columns:repeat(4,1fr)}.fl-grille--apercu > li:nth-child(n+5){display:block}}
.fl-vignette a{position:relative;display:block;aspect-ratio:1;border-radius:calc(var(--r) * .7);overflow:hidden;background:var(--carte)}
.fl-grille--apercu .fl-vignette a{aspect-ratio:4/5;border-radius:var(--r)}
.fl-vignette img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .5s var(--ease),opacity .5s var(--ease)}
.fl-grille.survolee .fl-vignette:not(.actif) img{filter:grayscale(1) brightness(.85);opacity:.7}
.fl-vignette.actif img{transform:scale(1.05)}
.fl-vignette-zone{position:absolute;left:10px;bottom:10px;padding:6px 11px;border-radius:999px;background:rgba(20,18,14,.45);color:#fff;font-size:12px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translateY(6px);transition:opacity var(--base),transform var(--base) var(--ease)}
.fl-vignette-zone:empty{display:none}
.fl-vignette.actif .fl-vignette-zone,.fl-vignette a:focus-visible .fl-vignette-zone{opacity:1;transform:none}
@media (hover:none){.fl-vignette-zone{opacity:1;transform:none}}
.fl-vignette[data-sensible]:not(.est-montre) img{filter:blur(18px)}
[data-masque]{display:none!important}
.fl-vide{padding:48px 24px;border:1px dashed var(--bord-fort);border-radius:var(--r);text-align:center;color:var(--doux)}
.fl-vide--admin{text-align:left;display:grid;gap:10px;justify-items:start;padding:28px}

/* Flashs : cartes photo arrondies, pastille de verre (Coska). */
.fl-flashs{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--pas)}
@media (min-width:700px){.fl-flashs{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1100px){.fl-flashs{grid-template-columns:repeat(4,1fr)}}
.fl-flash a{display:flex;flex-direction:column;gap:10px}
.fl-flash-image{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--carte)}
.fl-flash-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.fl-flash a:hover .fl-flash-image img{transform:scale(1.05)}
.fl-pilule{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:999px;
  background:rgba(20,18,14,.4);color:#fff;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}
.fl-pilule .fl-flash-nom{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-pilule b{font-weight:500;font-size:14px;white-space:nowrap}
.fl-fleche{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;color:#111;transform:scale(.6);opacity:0;transition:transform var(--base) var(--ease),opacity var(--base)}
.fl-flash a:hover .fl-fleche{transform:none;opacity:1}
.fl-statut{position:absolute;top:10px;left:10px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.88);color:#2e5b2f;font-size:12px}
.fl-statut--pris{color:#6d685f}
.fl-flash--pris .fl-flash-image img{filter:grayscale(1);opacity:.55}
.fl-flash-infos{color:var(--doux);padding-left:4px}
@media (max-width:560px){.fl-pilule{flex-direction:column;align-items:flex-start;gap:2px;border-radius:14px;padding:8px 12px}}

.fl-rail{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 var(--gout) 8px;scroll-padding-inline:var(--gout);cursor:grab}
.fl-rail::-webkit-scrollbar{display:none}
.fl-rail.glisse{cursor:grabbing;scroll-snap-type:none}
.fl-rail.glisse a{pointer-events:none}
@media (min-width:1520px){.fl-rail{padding-inline:calc((100vw - var(--large)) / 2);scroll-padding-inline:calc((100vw - var(--large)) / 2)}}
.fl-flashs--rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(230px,70vw,360px);grid-template-columns:none;width:max-content}
.fl-flashs--rail > li{scroll-snap-align:start}

/* Les dessins à l'encre (PNG) : toujours posés sur un papier, pour qu'on
   les voie en clair comme en sombre. Si l'encre est claire, fl.js passe
   la tuile en fond sombre. */
.fl-tuile{display:grid;place-items:center;aspect-ratio:1;border-radius:var(--r-p);background:var(--tuile);padding:16%;border:1px solid rgba(0,0,0,.05)}
.fl-tuile img{width:100%;height:100%;object-fit:contain}
.fl-tuile.encre-claire{background:#1d1b17}
.fl-tuile--photo{padding:0;overflow:hidden}
.fl-tuile--photo img{object-fit:cover}

.fl-minis-bloc{display:grid;gap:32px;padding:clamp(24px,4vw,56px);border-radius:var(--r);background:var(--carte);border:1px solid var(--bord)}
@media (min-width:1000px){.fl-minis-bloc{grid-template-columns:.8fr 1.2fr;align-items:center;gap:64px}}
.fl-minis-bloc .fl-actions{margin-top:24px}
.fl-minis{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--pas)}
@media (min-width:600px){.fl-minis{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1200px){.fl-minis{grid-template-columns:repeat(5,1fr)}}
.fl-minis a{display:flex;flex-direction:column;gap:8px;text-align:center;font-size:13px;color:var(--doux)}
.fl-minis .fl-tuile{transition:transform var(--base) var(--ease),box-shadow var(--base)}
.fl-minis a:hover .fl-tuile{transform:translateY(-4px) rotate(-2deg);box-shadow:var(--ombre)}

/* ── AVIS : une grille sobre, comme chez Vexoo ──────────────────────── */
.fl-avis{display:grid;gap:var(--pas)}
@media (min-width:700px){.fl-avis{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.fl-avis{grid-template-columns:repeat(3,1fr)}}
.fl-avis figure{height:100%;display:flex;flex-direction:column;gap:18px;padding:clamp(22px,2.4vw,32px);border-radius:var(--r);background:var(--carte);border:1px solid var(--bord);transition:border-color var(--base),transform var(--base) var(--ease)}
.fl-avis figure:hover{border-color:var(--bord-fort);transform:translateY(-3px)}
.fl-guillemet{font-family:var(--f-accent);font-size:3.4rem;line-height:.6;color:var(--accent);height:24px}
.fl-avis blockquote p{font-size:clamp(1.1rem,1rem + .4vw,1.35rem)}
.fl-avis figcaption{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--doux)}
.fl-avis figcaption b{color:var(--texte);font-weight:500}
.fl-etoiles{color:var(--accent);letter-spacing:.12em}

/* ── LE DÉFILANT ────────────────────────────────────────────────────── */
.fl-defilant{overflow:hidden;margin-top:var(--sec);user-select:none}
.fl-defilant-piste{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);width:max-content;animation:fl-defile 40s linear infinite}
.fl-defilant span{font-family:var(--f-titre);font-weight:500;font-size:clamp(3rem,8vw,8rem);letter-spacing:-.05em;line-height:1;white-space:nowrap}
.fl-defilant span:nth-of-type(3n){font-family:var(--f-accent);font-style:italic;font-weight:400;color:var(--accent)}
.fl-defilant i{font-style:normal;color:var(--doux);font-size:clamp(2rem,5vw,5rem)}
@keyframes fl-defile{to{transform:translateX(-50%)}}

/* ── RÉSERVER : des rangées, comme le parcours de Vexoo ─────────────── */
.fl-resa{display:grid;gap:clamp(28px,4vw,56px)}
@media (min-width:1000px){.fl-resa{grid-template-columns:1.4fr 1fr;align-items:start}.fl-resa > .fl-encre{position:sticky;top:calc(var(--tete) + 24px)}}
.fl-etapes{list-style:none;padding:0;border-top:1px solid var(--bord)}
.fl-etapes li{display:grid;grid-template-columns:56px 1fr;gap:4px 16px;padding:26px 0;border-bottom:1px solid var(--bord);transition:padding-left var(--base) var(--ease)}
.fl-etapes li:hover{padding-left:8px}
.fl-num{grid-row:span 2;color:var(--doux);font-size:15px;padding-top:3px}
.fl-etapes p{color:var(--doux);max-width:52ch}
@media (min-width:700px){.fl-etapes li{grid-template-columns:80px minmax(0,1fr) minmax(0,1.4fr);align-items:baseline}.fl-num{grid-row:auto}}

.fl-encre{position:relative;display:flex;flex-direction:column;gap:16px;min-height:340px;padding:clamp(24px,3vw,40px);border-radius:var(--r);background:var(--accent);color:var(--sur-accent);overflow:hidden;transition:transform var(--base) var(--ease)}
.fl-encre:hover{transform:translateY(-4px)}
.fl-encre .fl-etiq{color:inherit;opacity:.75;margin:0}
.fl-encre .fl-etiq::before{background:currentColor}
.fl-encre-titre{font-family:var(--f-section);font-weight:500;font-size:clamp(2.2rem,1.6rem + 2vw,3.6rem);line-height:.98;letter-spacing:-.045em}
.fl-encre-texte{opacity:.8;max-width:38ch}
.fl-encre-pied{margin-top:auto;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid currentColor;border-color:color-mix(in srgb,currentColor 25%,transparent)}
.fl-encre .fl-carnet{color:inherit}
.fl-encre-fleche{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.fl-encre-fleche svg{transition:transform var(--base) var(--ease)}
.fl-encre:hover .fl-encre-fleche svg{transform:rotate(45deg)}

.fl-faq{border-top:1px solid var(--bord)}
.fl-faq details{border-bottom:1px solid var(--bord)}
.fl-faq summary{position:relative;display:block;padding:22px 52px 22px 0;cursor:pointer;list-style:none;transition:color var(--rapide)}
.fl-faq summary:hover{color:var(--accent)}
.fl-faq summary::-webkit-details-marker{display:none}
.fl-faq summary span{position:absolute;right:0;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:50%;background:var(--carte);border:1px solid var(--bord);transition:transform var(--base) var(--ease)}
.fl-faq summary span::before,.fl-faq summary span::after{content:"";position:absolute;left:10px;right:10px;top:50%;height:1.5px;margin-top:-.75px;background:currentColor;transition:transform var(--base) var(--ease)}
.fl-faq summary span::after{transform:rotate(90deg)}
.fl-faq details[open] summary span{transform:rotate(180deg)}
.fl-faq details[open] summary span::after{transform:rotate(0)}
.fl-faq details > div{padding:0 0 24px;color:var(--doux);max-width:62ch}
.fl-faq details[open] > div{animation:fl-monte .45s var(--ease)}
.fl-deux{display:grid;gap:clamp(28px,4vw,72px)}
@media (min-width:1000px){.fl-deux{grid-template-columns:.8fr 1.2fr}.fl-deux > :first-child{position:sticky;top:calc(var(--tete) + 24px);align-self:start}}

/* ── ESSAYAGE 3D ────────────────────────────────────────────────────── */
.fl-essai{display:grid;gap:var(--pas)}
@media (min-width:1000px){.fl-essai{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);align-items:stretch}}
.fl-essai-scene{position:relative;border-radius:var(--r);overflow:hidden;background:radial-gradient(120% 90% at 50% 30%,#f7f3ea,#e3ddd0);border:1px solid var(--bord);min-height:min(78svh,720px)}
:root[data-mode=sombre] .fl-essai-scene{background:radial-gradient(120% 90% at 50% 30%,#2a2721,#121110)}
.fl-essai--apercu .fl-essai-scene{min-height:min(70svh,620px)}
.fl-essai-3d{position:absolute;inset:0;touch-action:none;cursor:grab}
.fl-essai-3d canvas{width:100%!important;height:100%!important;touch-action:none}
.est-arme .fl-essai-3d{cursor:crosshair}
.fl-essai-charge{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--doux);font-size:14px}
.fl-essai-haut{position:absolute;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;pointer-events:none}
.fl-essai-haut > *{pointer-events:auto}
.fl-segment{display:inline-flex;padding:3px;border-radius:999px;background:var(--verre);border:1px solid var(--bord);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.fl-segment button{min-height:36px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--doux);transition:background-color var(--rapide),color var(--rapide)}
.fl-segment button[aria-pressed=true]{background:var(--texte);color:var(--fond)}
.fl-teintes{display:flex;gap:6px;padding:6px;border-radius:999px;background:var(--verre);border:1px solid var(--bord);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.fl-teintes button{width:26px;height:26px;border-radius:50%;border:2px solid transparent;background:var(--t);padding:0;transition:transform var(--base) var(--ease)}
.fl-teintes button:hover{transform:scale(1.12)}
.fl-teintes button[aria-pressed=true]{border-color:var(--texte)}
.fl-essai-aide{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);max-width:calc(100% - 90px);padding:10px 16px;border-radius:999px;background:var(--verre);border:1px solid var(--bord);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:13px;text-align:center;pointer-events:none}
.est-arme .fl-essai-aide{background:var(--accent);color:var(--sur-accent);border-color:transparent}
.fl-essai-recentrer{position:absolute;right:12px;bottom:12px;width:42px;height:42px;border-radius:50%;border:1px solid var(--bord);background:var(--verre);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:18px}
.fl-essai-panneau{display:flex;flex-direction:column;gap:18px;padding:clamp(16px,2vw,24px);border-radius:var(--r);background:var(--carte);border:1px solid var(--bord);min-width:0}
.fl-onglets{display:flex;gap:6px}
.fl-onglets button{min-height:36px;padding:0 14px;border:1px solid var(--bord-fort);border-radius:999px;background:transparent}
.fl-onglets button span{opacity:.55}
.fl-onglets button[aria-selected=true]{background:var(--texte);color:var(--fond);border-color:var(--texte)}
.fl-essai-dessins{display:grid;grid-auto-flow:column;grid-auto-columns:72px;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
@media (min-width:1000px){.fl-essai-dessins{grid-auto-flow:row;grid-template-columns:repeat(4,1fr);grid-auto-columns:auto;max-height:300px;overflow-y:auto}}
.fl-essai-dessins .fl-tuile{width:100%;transition:transform var(--base) var(--ease),box-shadow var(--rapide)}
.fl-essai-dessins .fl-tuile:hover{transform:translateY(-3px)}
.fl-essai-dessins .fl-tuile.est-arme{box-shadow:0 0 0 3px var(--accent)}
.fl-calques ul{display:grid;gap:6px;max-height:220px;overflow-y:auto}
.fl-calques li{display:flex;gap:6px}
.fl-calque{flex:1;display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;border-radius:12px;border:1px solid var(--bord);background:transparent;text-align:left;font-size:14px;transition:border-color var(--rapide),background-color var(--rapide)}
.fl-calque[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.fl-tuile--mini{width:34px;padding:5px;border-radius:8px}
.fl-calque-x{width:40px;border-radius:12px;border:1px solid var(--bord);background:transparent;color:var(--doux)}
.fl-calque-x:hover{color:#e5533d;border-color:#e5533d}
.fl-reglages{display:grid;gap:12px;padding:16px;border-radius:16px;background:var(--fond);border:1px solid var(--bord)}
.fl-reglages .fl-etiq{margin:0;color:var(--texte)}
.fl-reglages label{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:12px;font-size:14px;color:var(--doux)}
.fl-reglages input[type=range]{width:100%;accent-color:var(--accent);height:28px}
.fl-reglages-boutons{display:flex;flex-wrap:wrap;gap:6px}
.fl-reglages-boutons button{flex:1;min-height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--bord-fort);background:transparent;font-size:14px;transition:background-color var(--rapide)}
.fl-reglages-boutons button:hover{background:var(--carte-2)}
.fl-reglages-boutons .fl-danger:hover{background:#e5533d;color:#fff;border-color:#e5533d}
.fl-reglages-aide{font-size:13px}
.fl-essai-fin{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto}
.fl-essai-fin .fl-voir{margin-left:auto;border-color:transparent}

/* ── PAGES INTÉRIEURES ──────────────────────────────────────────────── */
.fl-page-tete{display:grid;gap:32px;padding-top:clamp(36px,6vw,96px)}
.fl-page-tete .fl-actions{margin-top:28px}
.fl-page-tete-image{border-radius:var(--r);overflow:hidden;background:var(--carte);aspect-ratio:4/5;max-height:72vh}
.fl-page-tete-image img{width:100%;height:100%;object-fit:cover}
@media (min-width:860px){.fl-page-tete--image{grid-template-columns:1.1fr .9fr;align-items:end;gap:clamp(32px,6vw,96px)}}
.fl-geant{font-family:var(--f-titre);font-weight:500;font-size:clamp(4rem,1rem + 12vw,13rem);line-height:.88;letter-spacing:-.06em;padding-top:clamp(28px,5vw,72px)}
.fl-decale{margin-top:clamp(36px,5vw,72px)}
@media (min-width:900px){.fl-decale{margin-left:33.333%}}
.fl-apropos-portrait{margin-top:clamp(48px,7vw,112px);border-radius:var(--r);overflow:hidden;position:relative}
.fl-apropos-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(.15)}
.fl-apropos-portrait figcaption{position:absolute;left:14px;bottom:14px;padding:7px 12px;border-radius:999px;background:rgba(20,18,14,.45);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
@media (min-width:900px){.fl-apropos-portrait{width:41.6667%;margin-left:auto}}
.fl-chapitres{margin-top:clamp(56px,8vw,128px);border-top:1px solid var(--bord)}
.fl-chapitre{display:grid;gap:16px;padding:clamp(32px,4vw,56px) 0;border-bottom:1px solid var(--bord)}
.fl-chapitre h2{font-family:var(--f-section);font-weight:500;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.4rem);letter-spacing:-.035em;line-height:1.05}
.fl-chapitre h2 span{display:block;font-family:var(--sans);font-size:13px;letter-spacing:0;color:var(--accent);margin-bottom:10px}
@media (min-width:900px){.fl-chapitre{grid-template-columns:4fr 8fr;gap:clamp(32px,5vw,80px)}.fl-chapitre h2{position:sticky;top:calc(var(--tete) + 24px);align-self:start}}

.fl-fil{display:flex;flex-wrap:wrap;gap:10px;padding-top:24px;color:var(--doux)}
.fl-fil a:hover{color:var(--texte)}
.fl-fiche{display:grid;gap:28px;padding-top:24px}
@media (min-width:900px){.fl-fiche{grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:start}}
.fl-fiche-image{border-radius:var(--r);overflow:hidden;background:var(--carte);aspect-ratio:4/5}
.fl-fiche-image img{width:100%;height:100%;object-fit:cover}
@media (min-width:900px){.fl-fiche-image{position:sticky;top:calc(var(--tete) + 20px)}}
.fl-fiche-prix{margin-top:18px;font-size:2rem;color:var(--accent)}
.fl-releve{margin-top:28px;border-top:1px solid var(--bord)}
.fl-releve div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--bord)}
.fl-releve dt{color:var(--doux)}
.fl-releve dd{text-align:right;font-weight:500}
.fl-fiche .fl-prose{margin-top:20px}
.fl-fiche .fl-actions{margin-top:28px}
.fl-fiche-pris{margin-top:28px;padding:18px 22px;border-radius:var(--r-p);background:var(--carte);color:var(--doux)}

.fl-prose{max-width:64ch}
.fl-prose > * + *{margin-top:1.1em}
.fl-prose--grande{font-size:clamp(1.05rem,.98rem + .3vw,1.2rem);line-height:1.65}
.fl-prose h2{font-family:var(--f-section);font-weight:500;font-size:clamp(1.5rem,1.2rem + 1vw,2.2rem);line-height:1.1;letter-spacing:-.035em;margin-top:1.8em}
.fl-prose h3{font-weight:600;font-size:1.05rem;margin-top:1.6em}
.fl-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}
.fl-prose ul,.fl-prose ol{padding-left:1.2em}
.fl-prose blockquote{font-family:var(--f-chapo);font-weight:500;font-size:clamp(1.4rem,1.1rem + 1.2vw,2.1rem);line-height:1.2;letter-spacing:-.03em;color:var(--texte);padding:8px 0 8px 22px;border-left:2px solid var(--accent)}
.fl-prose img,.fl-prose figure{border-radius:var(--r)}
.fl-prose .wp-block-image{margin-block:2em}
.fl-prose figcaption{font-size:13px;color:var(--doux);margin-top:8px}
.fl-lede{font-size:clamp(1.3rem,1.1rem + .8vw,1.8rem);line-height:1.3;letter-spacing:-.02em}
.fl-colonnes{columns:1;column-gap:56px}
@media (min-width:900px){.fl-colonnes{columns:2}}
.fl-colonnes p{break-inside:avoid;margin-bottom:1em}
.fl-faits{display:grid;grid-template-columns:minmax(90px,auto) 1fr;gap:0 24px;border-top:1px solid var(--bord)}
.fl-faits dt,.fl-faits dd{padding:14px 0;border-bottom:1px solid var(--bord)}
.fl-faits dt{color:var(--doux)}
.fl-faits dd{font-weight:500}
.fl-panneau{padding:clamp(22px,3vw,40px);border-radius:var(--r);background:var(--carte);border:1px solid var(--bord)}
.fl-panneau--olive{background:var(--carte)}
.fl-cols{display:grid;gap:clamp(24px,4vw,56px)}
@media (min-width:900px){.fl-cols{grid-template-columns:repeat(2,1fr)}.fl-cols--7-5{grid-template-columns:7fr 5fr}}
.fl-liste-num{list-style:none;padding:0;counter-reset:n;border-top:1px solid var(--bord)}
.fl-liste-num li{counter-increment:n;display:grid;grid-template-columns:3.4ch 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--bord);transition:padding-left var(--base) var(--ease)}
.fl-liste-num li:hover{padding-left:8px}
.fl-liste-num li::before{content:counter(n,decimal-leading-zero);color:var(--accent)}
@media (min-width:900px){.fl-liste-num--deux{columns:2;column-gap:56px}.fl-liste-num--deux li{break-inside:avoid}}

/* Les photos du studio : grandes, alignées sur la grille du texte. */
.fl-galerie{display:grid;gap:var(--pas)}
@media (min-width:700px){.fl-galerie--2,.fl-galerie--3{grid-template-columns:repeat(2,1fr)}.fl-galerie--3 figure:first-child{grid-column:1/-1}}
.fl-galerie figure{position:relative;border-radius:var(--r);overflow:hidden;background:var(--carte)}
.fl-galerie img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.2s var(--ease)}
.fl-galerie--1 img,.fl-galerie--3 figure:first-child img{aspect-ratio:16/9}
.fl-galerie figure:hover img{transform:scale(1.03)}
.fl-galerie figcaption{position:absolute;left:14px;bottom:14px;padding:7px 12px;border-radius:999px;background:rgba(20,18,14,.45);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}

/* Le studio : les infos et la vraie carte. */
.fl-studio{display:grid;gap:var(--pas)}
@media (min-width:900px){.fl-studio{grid-template-columns:5fr 7fr}}
.fl-studio-infos{padding:clamp(22px,3vw,40px);border-radius:var(--r);background:var(--carte);border:1px solid var(--bord)}
.fl-carte-plan{position:relative;min-height:380px;border-radius:var(--r);overflow:hidden;background:var(--carte);border:1px solid var(--bord)}
.fl-carte-plan iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
:root[data-mode=sombre] .fl-carte-plan iframe{filter:invert(.9) hue-rotate(180deg) saturate(.6) brightness(.95)}

/* ── FORMULAIRES ────────────────────────────────────────────────────── */
.fl-formulaire{max-width:760px}
.fl-formulaire form{display:grid;gap:22px}
.fl-formulaire .fg-champ-bloc{display:flex;flex-direction:column;margin:0}
.fl-formulaire label,.fl-formulaire legend{display:block;font-weight:500;font-size:14px;margin-bottom:8px}
.fl-formulaire .fg-aide{order:3;display:block;margin-top:8px;font-size:13px;color:var(--doux)}
.fl-formulaire input[type=text],.fl-formulaire input[type=email],.fl-formulaire input[type=tel],.fl-formulaire input[type=date],.fl-formulaire select,.fl-formulaire textarea{
  width:100%;min-height:52px;padding:14px 16px;border:1px solid var(--bord-fort);border-radius:14px;background:var(--fond);color:var(--texte);transition:border-color var(--rapide),box-shadow var(--base)}
.fl-formulaire input:hover,.fl-formulaire textarea:hover,.fl-formulaire select:hover{border-color:var(--doux)}
.fl-formulaire textarea{min-height:160px;resize:vertical}
.fl-formulaire input:focus,.fl-formulaire select:focus,.fl-formulaire textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}
.fl-formulaire .fg-rangee{display:grid;gap:22px;align-items:start}
@media (min-width:640px){.fl-formulaire .fg-rangee{grid-template-columns:1fr 1fr}}
.fl-formulaire .fg-accord{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;color:var(--doux)}
.fl-formulaire .fg-accord input{margin-top:3px;accent-color:var(--accent);width:18px;height:18px;flex:none}
.fl-formulaire .fg-form-trap{position:absolute;left:-9999px}
.fl-formulaire .fg-envoyer{justify-self:start}
.fl-formulaire .fg-legende-champs,.fl-formulaire .fg-eyebrow{font-size:13px;color:var(--doux)}
.fg-form-notice{padding:14px 18px;border-radius:14px;background:var(--carte-2)}

/* ── VISIONNEUSE ────────────────────────────────────────────────────── */
.fl-visio{position:fixed;inset:0;z-index:95;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0b0a08;color:#f2efe8;overflow:hidden}
.fl-visio::backdrop{background:transparent}
.fl-visio[open]{display:grid;grid-template-rows:auto 1fr auto;animation:fl-fondu var(--base) var(--ease)}
@keyframes fl-fondu{from{opacity:0}}
.fl-visio-haut{display:flex;justify-content:flex-end;padding:12px}
.fl-visio-scene{position:relative;min-height:0;touch-action:pan-y}
.fl-visio-scene img{position:absolute;inset:0;margin:auto;max-width:calc(100% - 24px);max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--r);animation:fl-zoom .5s var(--ease)}
@keyframes fl-zoom{from{opacity:0;transform:scale(.97)}}
.fl-visio-bas{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px calc(16px + env(safe-area-inset-bottom))}
.fl-visio-legende small{display:block;font-size:13px;opacity:.6;margin-top:4px;font-family:var(--sans)}
.fl-visio button{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:transparent;color:inherit;font-size:1.2rem;transition:background-color var(--rapide)}
.fl-visio button:hover{background:rgba(255,255,255,.1)}
.fl-visio-nav{display:flex;gap:8px}

.fl-404{display:grid;gap:24px;padding-top:clamp(48px,8vw,120px);justify-items:start}
.fl-404 .fl-h1{font-size:clamp(6rem,2rem + 15vw,16rem);letter-spacing:-.07em}
.fl-recherche{display:flex;gap:8px;max-width:520px;width:100%}
.fl-recherche input{flex:1;min-height:50px;padding:0 20px;border:1px solid var(--bord-fort);border-radius:999px;background:var(--carte);color:var(--texte)}
.fl-resultats{list-style:none;padding:0;border-top:1px solid var(--bord)}
.fl-resultats li{border-bottom:1px solid var(--bord)}
.fl-resultats a{display:block;padding:22px 0;transition:padding-left var(--base) var(--ease)}
.fl-resultats a:hover{padding-left:10px}
.fl-resultats a b{display:block;font-family:var(--f-section);font-weight:500;font-size:1.6rem;letter-spacing:-.03em}
.fl-resultats a span{color:var(--doux)}
.fl-pagination{display:flex;gap:8px;margin-top:32px}
.fl-pagination .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border:1px solid var(--bord-fort);border-radius:999px}
.fl-pagination .current{background:var(--texte);color:var(--fond)}
.fl-replie{border-block:1px solid var(--bord)}
.fl-replie > summary{padding:22px 0;cursor:pointer;font-weight:500}

/* ── APPARITIONS ────────────────────────────────────────────────────── */
.fl-mot{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.fl-mot > span{display:inline-block}
@media (prefers-reduced-motion:no-preference){
  html.js [data-decoupe] .fl-mot > span{transform:translateY(105%);transition:transform 1s var(--ease);transition-delay:calc(var(--i,0) * 50ms)}
  html.js [data-decoupe].est-vu .fl-mot > span{transform:none}
  html.js [data-apparait]{opacity:0;transform:translateY(24px);transition:opacity var(--lent) var(--ease),transform var(--lent) var(--ease)}
  html.js [data-apparait].est-vu{opacity:1;transform:none}
  html.js [data-apparait=image]{opacity:1;transform:none;clip-path:inset(14% 0 0 0 round var(--r));transition:clip-path 1.3s var(--ease)}
  html.js [data-apparait=image].est-vu{clip-path:inset(0 0 0 0 round var(--r))}
  html.js .fl-hub .fl-carte{animation:fl-monte .9s var(--ease) both}
  html.js .fl-hub .fl-carte:nth-child(2){animation-delay:80ms}html.js .fl-hub .fl-carte:nth-child(3){animation-delay:140ms}
  html.js .fl-hub .fl-carte:nth-child(4){animation-delay:200ms}html.js .fl-hub .fl-carte:nth-child(5){animation-delay:260ms}
  html.js .fl-hub-mot{animation:fl-monte 1.1s var(--ease) both}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ── PIED DE PAGE ───────────────────────────────────────────────────── */
.fl-pied{padding-top:clamp(64px,8vw,120px);border-top:1px solid var(--bord);overflow:hidden}
.fl-pied-appel{display:block;padding-bottom:clamp(40px,6vw,88px);border-bottom:1px solid var(--bord)}
.fl-pied-phrase{display:block;font-size:clamp(2rem,1rem + 4.4vw,5.4rem);line-height:1;letter-spacing:-.05em;max-width:18ch;transition:color var(--base)}
.fl-pied-phrase em{font-style:normal;color:var(--doux);transition:color var(--base)}
.fl-pied-phrase svg{display:inline-block;vertical-align:middle;width:.7em;height:.7em;transition:transform var(--base) var(--ease)}
.fl-pied-appel:hover em{color:var(--accent)}
.fl-pied-appel:hover svg{transform:rotate(45deg)}
.fl-pied-contacts{display:grid;gap:28px 24px;padding:clamp(36px,5vw,64px) 0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.fl-pied-contacts dt{color:var(--doux);margin-bottom:6px}
.fl-pied-contacts dd{font-family:var(--f-section);font-weight:500;font-size:clamp(1.25rem,1rem + .8vw,1.75rem);letter-spacing:-.03em}
.fl-pied-contacts a{background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;transition:background-size var(--base) var(--ease)}
.fl-pied-contacts a:hover{background-size:100% 1px}
.fl-pied-nav ul{display:flex;flex-wrap:wrap;gap:4px 20px;padding-bottom:28px}
.fl-pied-nav a{color:var(--doux);transition:color var(--rapide)}
.fl-pied-nav a:hover{color:var(--texte)}
.fl-pied-nom{padding-inline:clamp(8px,1.4vw,20px);margin-top:12px}
.fl-pied-nom svg{width:100%;height:auto;aspect-ratio:1000/150;overflow:visible}
.fl-pied-nom text{font-family:var(--f-titre);font-weight:500;font-size:150px;letter-spacing:-.05em;fill:var(--texte)}
.fl-pied-bas{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;align-items:center;padding-block:18px 24px;font-size:13px;color:var(--doux)}
.fl-pied-legal{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0}
.fl-pied-legal a:hover,.fl-haut:hover{color:var(--texte)}

.alignwide{max-width:var(--large)}
.wp-block-image img{height:auto}
@media print{.fl-tete,.fl-tiroir,.fl-pied,.fl-essai{display:none!important}}

/* 4.3 Organic studio: compact editorial rhythm and accessible controls. */
:root{--fond:#f1eadf;--carte:#faf6ef;--carte-2:#e6ddce;--texte:#24352b;--doux:#62675b;--accent:#284e39;--sur-accent:#faf6ef;--olive:#657554;--bord:rgba(40,78,57,.14);--sec:clamp(56px,7vw,104px);--r:18px;--flou-fond:rgba(241,234,223,.9)}
:root[data-mode=sombre]{--fond:#182c23;--carte:#21382c;--carte-2:#2b4435;--texte:#f1eadf;--doux:#c3c7b4;--accent:#c5cfab;--sur-accent:#182c23;--olive:#b4bd94;--flou-fond:rgba(24,44,35,.9)}
.fl-wrap{min-width:0}h1,h2,h3{overflow-wrap:break-word;line-height:1.12;padding-bottom:.08em}
.fl-essai{align-items:start}.fl-essai-scene{position:sticky;top:calc(var(--tete) + 16px);background:var(--carte-2)}
.fl-essai-haut{flex-wrap:wrap;gap:12px}.fl-segment{flex-wrap:wrap;max-width:100%}.fl-segment button{min-height:44px;white-space:normal}
button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.fl-essai-panneau{min-width:0;display:flex;flex-direction:column;gap:20px}.fl-essai-dessins{max-height:340px;overflow-y:auto;overscroll-behavior:contain}
.fl-tuile img{object-fit:contain}.fl-calque{min-width:0}.fl-calque>span:last-child{overflow-wrap:anywhere}.fl-essai-fin{flex-wrap:wrap;gap:10px}
.fl-essai-aide{line-height:1.5;max-width:calc(100% - 72px)}.fl-btn{min-height:44px;line-height:1.4;white-space:normal;text-align:center}
@media(max-width:900px){.fl-essai-scene{position:relative;top:auto}.fl-essai{grid-template-columns:1fr}.fl-essai-3d{height:clamp(360px,65vh,580px)}.fl-essai-panneau{padding:20px}.fl-tete-role,.fl-horloge{display:none}}
@media(max-width:480px){.fl-segment button{padding:8px 10px;font-size:12px}.fl-essai-haut{position:relative;inset:auto;padding:12px}.fl-essai-scene{display:flex;flex-direction:column}.fl-essai-3d{order:1}.fl-essai-aide{position:relative;inset:auto;padding:12px;order:2}.fl-essai-fin .fl-btn{flex:1 1 140px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
:root[data-mode=sombre] .fl-essai-scene{background:radial-gradient(ellipse at 50% 30%,#334d3b,#1b3025)} @media(max-width:480px){.fl-essai-scene,.fl-essai--apercu .fl-essai-scene{min-height:0}.fl-essai-3d{position:relative;inset:auto;width:100%}.fl-essai-aide{transform:none;max-width:100%;margin:12px;border-radius:12px}.fl-essai-recentrer{bottom:90px}}

.fl-morphologies{display:grid;gap:14px;padding:20px;border:1px solid var(--bord);border-radius:var(--r-p);background:var(--carte-2)}.fl-morphologies[hidden]{display:none}.fl-morphologies label{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:14px;font-size:14px}.fl-morphologies input{min-width:0;width:100%;accent-color:var(--accent)}.fl-morphologies .fl-doux{font-size:12px;line-height:1.5}.fl-essai-haut{pointer-events:none}.fl-essai-haut button,.fl-essai-haut .fl-teintes,.fl-essai-haut .fl-segment{pointer-events:auto}
.fl-essai-dessins>.fl-doux{grid-column:1/-1;padding:16px;line-height:1.6}.fl-essai-panneau [hidden]{display:none!important}

.fl-h1,.fl-h2,.fl-h3{line-height:1.08;padding-bottom:.08em}.fl-morphologies [data-action="morph-reset"]{border:1px solid var(--bord-fort);background:transparent;border-radius:999px;padding:10px 14px;text-align:left;min-height:44px}

/* ═══════════════════════════════════════════════════════════════════════
   4.5 — LES MAQUETTES DE FLORI
   Olive, brun et kaki ; Modern Romance (titres) et Quicksand (le reste).
   Les couleurs de ses maquettes sont gardées, mais rééquilibrées pour la
   lecture : le brun sur olive (2,1:1) ne se lit pas, donc sur fond olive
   les titres passent en crème dorée (5,7:1) et le brun devient la couleur
   des grands blocs, où le texte clair ressort (12:1). En mode clair, c'est
   l'inverse : fond lin, titres bruns (12:1). Tous les textes ≥ 4,5:1.
   ═══════════════════════════════════════════════════════════════════════ */
:root{
  --fond:#f3eedd; --carte:#fbf8ee; --carte-2:#e8e1c6; --verre:rgba(73,28,7,.62);
  --bord:rgba(59,55,5,.14); --bord-fort:rgba(59,55,5,.32);
  --texte:#3b3705; --doux:#6a6430; --faible:#cfc79d; --titre:#491c07;
  --accent:#491c07; --sur-accent:#f4eedb; --olive:#5e5808; --kaki:#c9c27a; --sur-kaki:#491c07;
  --brun:#491c07; --sur-brun:#f4eedb; --creme:#f4eedb;
  --flou-fond:rgba(243,238,221,.88); --tuile:#f8f4e6;
  --sec:clamp(72px,9vw,140px); --r:clamp(18px,1.8vw,26px);
}
:root[data-mode=sombre]{
  --fond:#5e5808; --carte:#4d4805; --carte-2:#6c661a; --verre:rgba(60,22,6,.66);
  --bord:rgba(244,238,219,.16); --bord-fort:rgba(244,238,219,.38);
  --texte:#f4eedb; --doux:#ddd5ad; --faible:#7d7630; --titre:#efe4a8;
  --accent:#efe4a8; --sur-accent:#491c07; --olive:#5e5808; --kaki:#aca658; --sur-kaki:#491c07;
  --brun:#491c07; --sur-brun:#f4eedb;
  --flou-fond:rgba(94,88,8,.9); --tuile:#f4eedb;
  color-scheme:dark;
}
.fl-h1,.fl-h2,.fl-geant,.fl-pied-nom text{color:var(--titre);fill:var(--titre)}
.fl-h1{text-wrap:balance}
.fg-surligne{color:inherit}
.fl-chapo{color:var(--doux);font-size:var(--t-chapo,clamp(18px,1.2rem + .6vw,26px));max-width:40ch}
.fl-etiq{color:var(--doux)}
.fl-etiq::before{background:currentColor}
.fl-sec-intro{font-size:var(--t-texte,17px)}

/* Boutons : la pastille crème de sa maquette (« Réserver »). */
.fl-btn,.fg-envoyer{background:var(--creme);color:var(--brun);border:1px solid var(--creme);font-family:var(--f-bouton);font-weight:var(--w-bouton,600);letter-spacing:var(--ls-bouton,.02em)}
.fl-btn:hover,.fg-envoyer:hover{background:var(--brun);color:var(--sur-brun);border-color:var(--brun)}
:root:not([data-mode=sombre]) .fl-btn,:root:not([data-mode=sombre]) .fg-envoyer{background:var(--brun);color:var(--sur-brun);border-color:var(--brun)}
:root:not([data-mode=sombre]) .fl-btn:hover,:root:not([data-mode=sombre]) .fg-envoyer:hover{background:var(--olive);border-color:var(--olive);color:var(--creme)}
.fl-btn--ligne,:root:not([data-mode=sombre]) .fl-btn--ligne{background:transparent;color:var(--texte);border-color:var(--bord-fort)}
.fl-btn--ligne:hover,:root:not([data-mode=sombre]) .fl-btn--ligne:hover{background:var(--texte);color:var(--fond);border-color:var(--texte)}
.fl-tete-resa{background:var(--creme)!important;color:var(--brun)!important}
:root:not([data-mode=sombre]) .fl-tete-resa{background:var(--brun)!important;color:var(--sur-brun)!important}
.fl-voir{border-color:var(--bord-fort)}

/* ── L'en-tête d'une galerie : titre, puis « Trier par zone du corps ⌄ » ── */
.fl-page-tete--galerie{padding-bottom:clamp(24px,3vw,40px)}
.fl-page-tete--galerie .fl-chapo{margin-top:clamp(10px,1.4vw,18px);max-width:52ch}
.fl-filtre{margin-top:clamp(12px,1.6vw,22px);gap:0}
.fl-filtre .fl-select{display:inline-flex;align-items:center;gap:12px}
.fl-filtre .fl-select::after{display:none}
.fl-filtre .fl-select select{min-height:0;min-width:0;padding:4px 0;border:0;border-radius:0;background:transparent;color:var(--doux);
  font-family:var(--f-chapo);font-weight:var(--w-chapo,400);font-size:var(--t-chapo,clamp(18px,1.2rem + .6vw,26px));letter-spacing:var(--ls-chapo,.06em);
  border-bottom:1px solid transparent;transition:color var(--rapide),border-color var(--rapide)}
.fl-filtre .fl-select select:hover,.fl-filtre .fl-select select:focus-visible{color:var(--texte);border-bottom-color:currentColor;outline:0}
.fl-filtre .fl-select select option{color:#2b2804;background:#fbf8ee;font-size:16px;letter-spacing:0}
.fl-select-fleche{display:grid;place-items:center;width:1.25em;height:1.25em;font-size:var(--t-chapo,24px);border:1.5px solid currentColor;border-radius:6px;color:var(--doux);pointer-events:none}
.fl-select-fleche svg{width:62%;height:62%}
.fl-barre{display:none}

/* ── La galerie : photos aux angles doux, sans pastille de zone ──────── */
.fl-grille{grid-template-columns:repeat(2,1fr);gap:clamp(8px,1vw,14px)}
@media(min-width:700px){.fl-grille{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.fl-grille{grid-template-columns:repeat(4,1fr)}}
.fl-vignette a{border-radius:var(--r);background:var(--carte)}
.fl-vignette-zone{display:none}
.fl-grille.survolee .fl-vignette:not(.actif) img{filter:grayscale(1);opacity:.75}

/* ── Les flashs : grandes cartes, nom en pastille, seconde galerie ───── */
.fl-flashs{grid-template-columns:1fr;gap:clamp(12px,1.4vw,18px)}
@media(min-width:600px){.fl-flashs{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.fl-flashs{grid-template-columns:repeat(3,1fr)}}
.fl-flash{position:relative}
.fl-flash-image{aspect-ratio:4/5;border-radius:var(--r);background:var(--carte)}
.fl-flash-lien{position:absolute;inset:0;display:block}
.fl-flash-image img{width:100%;height:100%;object-fit:cover}
.fl-flash:hover .fl-flash-image img{transform:scale(1.04)}
.fl-flash .fl-pilule{left:14px;right:14px;bottom:14px;padding:12px 18px;justify-content:flex-start;background:var(--verre);color:#f4eedb;border:1px solid rgba(244,238,219,.18);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;transition:opacity var(--base) var(--ease),transform var(--base) var(--ease)}
.fl-flash .fl-flash-nom{font-size:var(--t-nom,18px)}
.fl-flash-voir{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:0;border-radius:999px;
  background:var(--kaki);color:var(--sur-kaki);font-family:var(--f-chapo);font-style:italic;font-weight:600;font-size:15px;letter-spacing:.06em;text-align:center;
  opacity:0;transform:translateY(8px);transition:opacity var(--base) var(--ease),transform var(--base) var(--ease),background-color var(--rapide)}
.fl-flash-voir:hover{background:var(--creme)}
.fl-flash:hover .fl-flash-voir,.fl-flash:focus-within .fl-flash-voir{opacity:1;transform:none}
.fl-flash:hover .fl-pilule,.fl-flash:focus-within .fl-pilule{opacity:0;transform:translateY(8px)}
@media(hover:none),(pointer:coarse){
  .fl-flash .fl-pilule{bottom:70px}
  .fl-flash-voir{opacity:1;transform:none;min-height:44px;font-size:14px}
  .fl-flash:focus-within .fl-pilule{opacity:1;transform:none}
}
.fl-statut{background:var(--verre);color:#f4eedb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}
.fl-flash-infos,.fl-fleche{display:none}

dialog.fl-emp{width:min(1100px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:clamp(18px,2.4vw,32px);border:0;border-radius:var(--r);background:var(--fond);color:var(--texte);box-shadow:0 40px 120px -30px rgba(0,0,0,.6)}
dialog.fl-emp::backdrop{background:rgba(30,26,2,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.fl-emp-haut{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}
.fl-emp-haut .fl-h2{font-size:clamp(30px,4vw,52px)}
.fl-emp-infos{color:var(--doux);margin-top:6px}
.fl-emp-fermer{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--bord-fort);background:transparent;font-size:16px}
.fl-emp-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;border-radius:calc(var(--r) * .8);background:var(--carte);scrollbar-width:none}
.fl-emp-rail::-webkit-scrollbar{display:none}
.fl-emp-rail li{flex:0 0 100%;scroll-snap-align:start;display:grid;place-items:center;height:min(68dvh,720px)}
.fl-emp-rail img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.fl-emp-bas{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px}
.fl-emp-compte{color:var(--doux);font-variant-numeric:tabular-nums}
.fl-emp-nav{display:flex;gap:8px}
.fl-emp-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--bord-fort);background:transparent}
.fl-emp-nav button:hover,.fl-emp-fermer:hover{background:var(--texte);color:var(--fond)}

/* ── « Une idée, un projet ? » : la carte brune de sa maquette ──────── */
.fl-projet{display:grid;gap:clamp(16px,2vw,28px);padding:clamp(26px,4vw,56px);border-radius:calc(var(--r) * 1.2);background:var(--brun);color:var(--sur-brun)}
.fl-projet-titre{color:#e3d9a6;text-align:center}
.fl-projet-carte{padding:clamp(20px,3vw,36px);border-radius:var(--r);background:var(--kaki);color:var(--sur-kaki)}
.fl-projet-sous{text-align:center;font-family:var(--f-chapo);font-weight:500;font-size:clamp(20px,1rem + 1.2vw,32px);letter-spacing:var(--ls-chapo,.06em);line-height:1.25}
.fl-projet-sous a:hover{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.fl-projet-texte{max-width:56ch;margin:14px auto 0;text-align:center;font-size:clamp(15px,.9rem + .3vw,18px);letter-spacing:.04em;line-height:1.6}
.fl-projet-pied{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-top:clamp(20px,2.4vw,28px);padding-top:16px;border-top:1px solid rgba(73,28,7,.45)}
.fl-projet-carnet{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-chapo);font-size:clamp(16px,.9rem + .5vw,22px);letter-spacing:.06em}
.fl-projet-carnet::before{content:"";width:22px;height:14px;border-radius:50%;background:currentColor;flex:none}
.fl-projet-carnet--soon::before,.fl-projet-carnet--closed::before{background:transparent;border:2px solid currentColor}
.fl-projet-lien{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;background:var(--brun);color:var(--sur-brun);font-weight:600;letter-spacing:.04em;transition:background-color var(--rapide)}
.fl-projet-lien:hover{background:#2c1003}
.fl-projet-lien svg{transition:transform var(--base) var(--ease)}.fl-projet-lien:hover svg{transform:rotate(45deg)}
.fl-carrousel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(6px,1vw,14px);margin-top:clamp(16px,2vw,24px)}
.fl-carrousel-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4 * var(--pas)) / 5);gap:var(--pas);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px}
.fl-carrousel-rail::-webkit-scrollbar{display:none}
.fl-carrousel-rail li{scroll-snap-align:start}
.fl-carrousel-rail a{display:block;aspect-ratio:1;border:1.5px solid var(--brun);border-radius:6px;overflow:hidden;background:var(--tuile)}
.fl-carrousel-rail img{width:100%;height:100%;object-fit:cover;transition:transform var(--lent) var(--ease)}
.fl-carrousel-rail a:hover img{transform:scale(1.06)}
.fl-carrousel-fleche{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--brun);transition:background-color var(--rapide),opacity var(--rapide)}
.fl-carrousel-fleche:hover{background:rgba(73,28,7,.12)}
.fl-carrousel-fleche:disabled{opacity:.3;cursor:default;background:transparent}
.fl-carrousel--fixe .fl-carrousel-fleche{visibility:hidden}
@media(max-width:700px){.fl-carrousel-rail{grid-auto-columns:calc((100% - 2 * var(--pas)) / 2.6)}.fl-carrousel{grid-template-columns:minmax(0,1fr)}.fl-carrousel-fleche{display:none}}

/* ── Accueil 4.5 ─────────────────────────────────────────────────────── */
.fl-ouverture{display:grid;gap:clamp(28px,4vw,64px);align-items:center;padding-top:clamp(28px,5vw,72px)}
.fl-ouverture-image{position:relative;margin:0;border-radius:calc(var(--r) * 1.2);overflow:hidden;aspect-ratio:4/5;background:var(--carte);order:-1}
.fl-ouverture-image img,.fl-ouverture-image video{width:100%;height:100%;object-fit:cover}
.fl-ouverture-image figcaption{position:absolute;left:16px;bottom:16px;padding:10px 16px;border-radius:999px;background:var(--verre);color:#f4eedb;font-size:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.fl-ouverture-image figcaption::before{width:14px;height:9px}
.fl-ouverture .fl-h1{max-width:12ch}
.fl-ouverture-lieu{margin-top:clamp(8px,1vw,14px)}
.fl-ouverture-intro{margin-top:clamp(18px,2vw,26px);max-width:46ch;color:var(--texte)}
.fl-ouverture .fl-actions{margin-top:clamp(24px,3vw,36px);display:flex;flex-wrap:wrap;gap:10px}
@media(min-width:860px){
  .fl-ouverture{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
  .fl-ouverture-image{order:0;max-height:calc(100dvh - var(--tete) - 40px);aspect-ratio:auto;height:min(78vw,calc(100dvh - var(--tete) - 40px))}
}
.fl-qui{display:grid;gap:clamp(24px,4vw,72px);align-items:center}
.fl-qui-portrait{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;max-width:440px;background:var(--carte)}
.fl-qui-portrait img{width:100%;height:100%;object-fit:cover}
.fl-qui-texte .fl-lecture{margin-top:clamp(16px,2vw,28px);font-size:clamp(19px,1rem + .9vw,30px);line-height:1.4;max-width:34ch}
.fl-qui-texte .fl-voir{margin-top:28px}
@media(min-width:860px){.fl-qui{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.fl-lecture .fl-mot-l{color:var(--faible)}
.fl-lecture .fl-mot-l.lu{color:var(--texte)}
.fl-accueil .fl-grille--apercu{grid-template-columns:repeat(2,1fr)}
.fl-accueil .fl-grille--apercu > li:nth-child(n+5){display:block}
@media(min-width:1000px){.fl-accueil .fl-grille--apercu{grid-template-columns:repeat(4,1fr)}}
.fl-accueil .fl-grille--apercu .fl-vignette a{aspect-ratio:1}

/* ── Avis, FAQ, cartes : plus clairs, moins de traits ────────────────── */
.fl-avis figure{background:var(--carte);border-color:transparent}
.fl-guillemet{color:var(--titre)}
.fl-etoiles{color:var(--titre)}

/* ── Pied de page : plus de grande phrase (remplacée par le bloc projet) ─ */
.fl-pied{border-top:0;padding-top:clamp(40px,5vw,72px)}
.fl-pied-contacts{padding-top:0}
.fl-pied-contacts dd{font-family:var(--f-chapo);font-weight:500;letter-spacing:.03em}
.fl-pied-nom text{font-weight:400;letter-spacing:-.02em}

/* Le mode clair a besoin de photos encadrées pour ne pas « flotter ». */
:root:not([data-mode=sombre]) .fl-flash-image,:root:not([data-mode=sombre]) .fl-vignette a{box-shadow:0 1px 0 rgba(59,55,5,.06)}
.fl-marque{font-family:var(--f-menu);font-weight:700;font-size:17px;letter-spacing:.01em;color:var(--texte)}
.fl-essai-scene,:root[data-mode=sombre] .fl-essai-scene{background:radial-gradient(120% 90% at 50% 30%,var(--carte-2),var(--carte))}
:root:not([data-mode=sombre]) .fl-essai-scene{background:radial-gradient(120% 90% at 50% 30%,#fbf8ee,#e8e1c6)}

/* ═══════════════════════════════════════════════════════════════════════
   4.5.1 — Modern Romance, essayage, avis, agenda, menu, Qui suis-je
   ═══════════════════════════════════════════════════════════════════════ */

/* Modern Romance a de longues hampes : on laisse respirer les lignes et on
   ne rogne plus les jambages (le « j » de « Qui suis-je » était coupé). */
.fl-h1,.fl-h2,.fl-geant{font-kerning:normal;font-feature-settings:"kern","liga"}
.fl-h1{line-height:var(--lh-titre,1.06)}
.fl-h2{line-height:var(--lh-section,1.12)}
.fl-mot{padding:.04em 0 .26em;margin-bottom:-.26em}
h1,h2,h3{padding-bottom:0}
.fl-geant{font-weight:400;letter-spacing:0;line-height:1.02}

/* La marque : logo SVG + nom en Modern Romance. */
.fl-marque{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-titre);font-weight:400;font-size:24px;letter-spacing:.01em;line-height:1;color:var(--titre)}
.fl-marque-nom{padding-top:.08em}
.fl-logo{display:inline-grid;place-items:center;height:30px;width:auto;flex:none}
.fl-logo svg{height:100%;width:auto;max-width:56px;display:block}
.fl-logo--teinte svg,.fl-logo--teinte svg *:not([fill=none]){fill:currentColor}
.fl-logo--teinte svg [stroke]:not([stroke=none]){stroke:currentColor}
.fl-pied-nom text{font-family:"Modern Romance",var(--f-titre);font-weight:400;letter-spacing:0}

/* ── L'agenda : une pastille ronde, verte, ambre ou rouge ────────────── */
.fl-agenda{display:inline-flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.04em;line-height:1.2}
.fl-agenda-point{flex:none;width:12px;height:12px;border-radius:50%;background:#3d9a4a;box-shadow:0 0 0 4px rgba(61,154,74,.22)}
.fl-agenda--soon .fl-agenda-point{background:#d69a1a;box-shadow:0 0 0 4px rgba(214,154,26,.25)}
.fl-agenda--closed .fl-agenda-point{background:#d13b2f;box-shadow:0 0 0 4px rgba(209,59,47,.22)}
@media (prefers-reduced-motion:no-preference){.fl-agenda--open .fl-agenda-point{animation:fl-pouls 2.4s ease-in-out infinite}}
@keyframes fl-pouls{50%{box-shadow:0 0 0 7px rgba(61,154,74,0)}}
.fl-projet-pied .fl-agenda{font-family:var(--f-chapo);font-size:clamp(16px,.9rem + .4vw,20px)}
.fl-ouverture-image figcaption{display:inline-flex}
.fl-ouverture-image figcaption::before{display:none}

/* ── Les cartes de flash : un clic = en grand, puis « Essayer » ─────── */
.fl-flash-image{display:block;position:relative;cursor:zoom-in}
.fl-flash-voir{pointer-events:none;font-family:var(--f-bouton);font-style:normal;letter-spacing:.06em}
@media(hover:none),(pointer:coarse){
  .fl-flash .fl-pilule{bottom:14px}
  .fl-flash-voir{display:none}
}

/* ── La visionneuse d'un flash ─────────────────────────────────────── */
dialog.fl-emp{width:min(980px,calc(100vw - 24px))}
.fl-emp-cadre{position:relative}
.fl-emp-rail li{height:min(62dvh,680px);background:var(--tuile)}
.fl-emp-fleche{position:absolute;top:50%;translate:0 -50%;width:48px;height:48px;border-radius:50%;border:0;background:var(--verre);color:#f4eedb;font-size:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity var(--rapide)}
.fl-emp-fleche--g{left:12px}.fl-emp-fleche--d{right:12px}
.fl-emp-fleche:disabled{opacity:0;pointer-events:none}
.fl-emp--seule .fl-emp-fleche{display:none}
.fl-emp-legende{color:var(--doux);font-size:14px;letter-spacing:.04em}
.fl-emp-actions{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}
.fl-emp-actions .fl-btn:not(.fl-btn--ligne){min-height:52px;padding:0 28px;font-size:16px}
.fl-emp-haut .fl-h2{font-size:clamp(32px,4vw,54px)}

/* ── Les avis : étoiles dessinées, prénom avec son initiale ──────────── */
.fl-avis{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.fl-avis figure{gap:16px}
.fl-avis .fl-etoiles{display:flex;gap:3px;color:inherit}
.fl-etoiles svg{fill:#e2b23c}
.fl-etoiles svg.vide{fill:none;stroke:var(--doux);stroke-width:1.3;opacity:.7}
:root:not([data-mode=sombre]) .fl-etoiles svg:not(.vide){fill:#b9831a}
.fl-guillemet{display:none}
.fl-avis blockquote p{font-family:var(--f-texte);font-size:clamp(16px,.95rem + .25vw,18px);line-height:1.6;letter-spacing:.02em}
.fl-avis figcaption{display:flex;align-items:center;justify-content:flex-start;gap:12px}
.fl-avis-initiale{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--brun);color:var(--sur-brun);font-family:var(--f-titre);font-size:20px;line-height:1}
.fl-avis figcaption > span:last-child{display:flex;flex-direction:column}
.fl-avis figcaption small{color:var(--doux);font-size:12px;letter-spacing:.04em}

/* ── Le menu « Trier par zone du corps » ───────────────────────────── */
.fl-select--menu{position:relative}
.fl-menu-bouton{display:inline-flex;align-items:center;gap:14px;padding:6px 0;border:0;background:none;color:var(--doux);cursor:pointer;
  font-family:var(--f-chapo);font-weight:var(--w-chapo,400);font-size:var(--t-chapo,clamp(18px,1.2rem + .6vw,26px));letter-spacing:var(--ls-chapo,.06em);transition:color var(--rapide)}
.fl-menu-bouton:hover,.fl-menu-bouton[aria-expanded=true]{color:var(--texte)}
.fl-menu-bouton .fl-select-fleche{transition:transform var(--base) var(--ease)}
.fl-menu-bouton[aria-expanded=true] .fl-select-fleche{transform:rotate(180deg)}
.fl-menu-liste{position:absolute;z-index:30;top:calc(100% + 8px);left:0;min-width:min(320px,86vw);max-height:min(60vh,420px);overflow:auto;margin:0;padding:8px;list-style:none;
  border-radius:calc(var(--r) * .8);background:var(--brun);color:var(--sur-brun);box-shadow:0 24px 60px -24px rgba(20,10,0,.6);
  transform-origin:top left;animation:fl-menu .22s var(--ease)}
@keyframes fl-menu{from{opacity:0;transform:translateY(-6px) scale(.98)}}
.fl-menu-liste li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;cursor:pointer;font-family:var(--f-texte);font-weight:600;font-size:16px;letter-spacing:.03em;outline:0}
.fl-menu-liste li:hover,.fl-menu-liste li:focus{background:rgba(244,238,219,.12)}
.fl-menu-liste li[aria-selected=true]{background:var(--kaki);color:var(--sur-kaki)}
.fl-menu-liste li[aria-selected=true]::after{content:"✓";font-weight:700}

/* ── L'essayage : contraste parfait dans les deux modes ──────────────── */
.fl-segment,.fl-teintes{background:rgba(60,22,6,.78);border-color:rgba(244,238,219,.14)}
.fl-segment button{color:#f4eedb;font-weight:600;letter-spacing:.03em}
.fl-segment button:hover{background:rgba(244,238,219,.12)}
.fl-segment button[aria-pressed=true]{background:#f4eedb;color:#491c07}
.fl-teintes{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:7px;line-height:0}
.fl-teintes button{flex:none;display:block;box-sizing:border-box;width:28px;height:28px;min-height:0;margin:0;padding:0;border:2px solid rgba(244,238,219,.25);background:var(--t);border-radius:50%}
.fl-teintes button[aria-pressed=true]{border-color:#f4eedb;box-shadow:0 0 0 2px rgba(60,22,6,.78),0 0 0 4px #f4eedb}
.fl-essai-haut{align-items:center}
.fl-essai-aide{background:rgba(60,22,6,.82);color:#f4eedb}
.fl-essai-recentrer{background:rgba(60,22,6,.82);color:#f4eedb;border:0}
.fl-onglets button{color:var(--texte)}
.fl-morphologies label{grid-template-columns:96px 1fr;grid-template-areas:"nom curseur" ". bornes";row-gap:2px}
.fl-morphologies label > span{grid-area:nom}
.fl-morphologies label > input{grid-area:curseur}
.fl-morphologies label > small{grid-area:bornes;display:flex;justify-content:space-between;color:var(--doux);font-size:11px;letter-spacing:.04em}
.fl-morphologies label > small i{font-style:normal}
.fl-essai-dessins .fl-tuile{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab}
.fl-essai-dessins .fl-tuile img{-webkit-user-drag:none;pointer-events:none}
.fl-essai.est-glisse .fl-essai-3d{outline:2px dashed var(--titre);outline-offset:-10px;border-radius:var(--r)}
.fl-essai-fantome{position:fixed;left:0;top:0;z-index:200;width:64px;height:64px;padding:6px;border-radius:14px;background:var(--tuile);box-shadow:0 18px 40px -12px rgba(0,0,0,.5);pointer-events:none;opacity:.85;transition:opacity .15s,scale .15s}
.fl-essai-fantome img{width:100%;height:100%;object-fit:contain}
.fl-essai-fantome.sur-peau{opacity:1;scale:1.12}

/* ── Qui suis-je : une ouverture sans vide, puis le récit en chapitres ── */
.fl-qui-ouverture{display:grid;gap:clamp(28px,4vw,64px);align-items:center;padding-top:clamp(20px,3.5vw,48px)}
.fl-qui-ouverture-image{margin:0;border-radius:calc(var(--r) * 1.2);overflow:hidden;aspect-ratio:4/5;background:var(--carte);order:-1}
.fl-qui-ouverture-image img{width:100%;height:100%;object-fit:cover}
.fl-qui-lede{margin-top:clamp(18px,2vw,28px);font-family:var(--f-chapo);font-size:clamp(19px,1rem + .9vw,28px);line-height:1.42;letter-spacing:.03em;max-width:32ch}
.fl-qui-reperes{display:flex;flex-wrap:wrap;gap:8px;margin:clamp(22px,2.6vw,32px) 0 0}
.fl-qui-reperes li{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--bord-fort);font-weight:600;font-size:14px;letter-spacing:.04em}
.fl-qui-ouverture .fl-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(22px,2.6vw,32px)}
@media(min-width:900px){
  .fl-qui-ouverture{grid-template-columns:minmax(0,7fr) minmax(0,5fr);min-height:calc(100dvh - var(--tete) - 40px)}
  .fl-qui-ouverture-image{order:0;aspect-ratio:auto;height:min(80vh,760px)}
}
.fl-qui-intro{max-width:60ch;margin:clamp(56px,7vw,110px) auto 0;font-size:clamp(18px,1rem + .4vw,22px)}
.fl-recit-chapitres{display:grid;gap:clamp(56px,8vw,120px);margin-top:clamp(56px,8vw,120px)}
.fl-recit-chapitre{display:grid;gap:clamp(20px,3vw,48px);align-items:center}
.fl-recit-chapitre-texte{max-width:56ch}
.fl-recit-num{font-family:var(--f-titre);font-size:clamp(48px,6vw,88px);line-height:1;color:var(--kaki);margin-bottom:6px}
.fl-recit-chapitre .fl-h2{margin-bottom:clamp(14px,1.6vw,22px)}
.fl-recit-chapitre .fl-prose{font-size:clamp(17px,.95rem + .3vw,20px);line-height:1.7}
.fl-recit-chapitre-image{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:var(--carte)}
.fl-recit-chapitre-image img{width:100%;height:100%;object-fit:cover}
@media(min-width:900px){
  .fl-recit-chapitre{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fl-recit-chapitre:not(.fl-recit-chapitre--image) .fl-recit-chapitre-texte{grid-column:1 / -1;margin-inline:auto;max-width:62ch;text-align:left}
  .fl-recit-chapitre--image:nth-child(even) .fl-recit-chapitre-image{order:-1}
}
.fl-interview{display:grid;gap:clamp(20px,3vw,48px);align-items:center}
@media(min-width:900px){.fl-interview{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}
.fl-video{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#1d1a05}
.fl-video iframe,.fl-video-lancer,.fl-video-lancer img{position:absolute;inset:0;width:100%;height:100%;border:0}
.fl-video-lancer{padding:0;background:none;cursor:pointer}
.fl-video-lancer img{object-fit:cover;transition:transform var(--lent) var(--ease),filter var(--base)}
.fl-video-lancer:hover img{transform:scale(1.03);filter:brightness(.9)}
.fl-video-play{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:var(--creme);color:var(--brun);box-shadow:0 16px 40px -12px rgba(0,0,0,.5);transition:scale var(--base) var(--ease)}
.fl-video-lancer:hover .fl-video-play{scale:1.08}
@media(max-width:700px){
  .fl-essai-haut{justify-content:center}
  .fl-segment{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}
  .fl-segment::-webkit-scrollbar{display:none}
  .fl-segment button{flex:none;padding:8px 12px;font-size:12.5px;white-space:nowrap}
}

/* ═══════════════════════════════════════════════════════════════════════
   4.5.2 — une identité à elle : arches de flash, étoile de Flori,
   pointillés de handpoke, notes de papier. Titres plus serrés.
   ═══════════════════════════════════════════════════════════════════════ */
:root{--arche:clamp(120px,22vw,320px)}
.fl-h1{line-height:var(--lh-titre,.98)}
.fl-h2{line-height:var(--lh-section,1.02)}
.fl-qui-ouverture .fl-h1,.fl-ouverture .fl-h1{font-size:clamp(52px,3rem + 4.6vw,124px)}

/* L'étoile de Flori remplace la puce des petites étiquettes. */
.fl-etiq::before{width:14px;height:14px;border-radius:0;background:currentColor;
  -webkit-mask:url(../images/logo-flori.svg) center/contain no-repeat;mask:url(../images/logo-flori.svg) center/contain no-repeat}
.fl-logo--masque{display:inline-block;width:30px;height:30px;background:currentColor;-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat}
.fl-marque{color:var(--titre)}
.fl-marque .fl-logo{height:32px}
.fl-marque:hover .fl-logo svg{transform:rotate(45deg)}
.fl-logo svg{transition:transform .8s var(--ease)}

/* Une ligne de points, comme une ligne piquée, sous chaque titre de section. */
.fl-sec-tete{position:relative;padding-bottom:clamp(18px,2vw,26px)}
.fl-sec-tete::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;
  background:radial-gradient(circle,var(--bord-fort) 1.4px,transparent 1.8px) 0 50%/11px 6px repeat-x}

/* Les arches : la forme des planches de flash, pour les grandes images. */
.fl-ouverture-image,.fl-qui-ouverture-image,.fl-qui-portrait{border-radius:var(--arche) var(--arche) var(--r) var(--r)}
.fl-flash-image{border-radius:999px 999px var(--r) var(--r)}
@media(max-width:599px){.fl-flash-image{border-radius:46% 46% var(--r) var(--r) / 32% 32% var(--r) var(--r)}}
.fl-flash .fl-pilule{justify-content:center;text-align:center}
.fl-flash-voir{gap:8px}

/* Le sceau qui tourne, posé sur l'arche de l'accueil. */
.fl-ouverture{position:relative}
.fl-sceau-tournant{position:absolute;z-index:3;width:clamp(110px,11vw,150px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;
  background:var(--brun);color:#efe4a8;box-shadow:0 20px 50px -20px rgba(20,10,0,.6);pointer-events:none;
  right:clamp(8px,2vw,24px);top:clamp(20px,4vw,64px)}
@media(min-width:860px){.fl-sceau-tournant{right:auto;left:calc(52% - clamp(55px,5.5vw,75px));top:auto;bottom:clamp(60px,9vw,140px)}}
.fl-sceau-texte{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fl-sceau-texte text{font-family:var(--f-etiquette);font-weight:700;font-size:15px;letter-spacing:.12em;fill:currentColor}
@media (prefers-reduced-motion:no-preference){.fl-sceau-texte{animation:fl-tourne 26s linear infinite}}
@keyframes fl-tourne{to{transform:rotate(360deg)}}
.fl-sceau-centre{width:38%;height:38%;display:block}
.fl-sceau-centre svg{width:100%;height:100%}

/* La galerie en mosaïque : chaque photo garde son format. */
.fl-grille:not(.fl-grille--apercu){display:block;columns:2;column-gap:clamp(8px,1vw,14px)}
@media(min-width:700px){.fl-grille:not(.fl-grille--apercu){columns:3}}
@media(min-width:1100px){.fl-grille:not(.fl-grille--apercu){columns:4}}
.fl-grille:not(.fl-grille--apercu) > li{break-inside:avoid;margin-bottom:clamp(8px,1vw,14px)}
.fl-grille:not(.fl-grille--apercu) .fl-vignette a{aspect-ratio:auto}
.fl-grille:not(.fl-grille--apercu) .fl-vignette img{height:auto}
.fl-grille:not(.fl-grille--apercu) > li:nth-child(5n+1) .fl-vignette a,.fl-grille:not(.fl-grille--apercu) > .fl-vignette:nth-child(5n+1) a{border-radius:999px 999px var(--r) var(--r)}
.fl-vignette[data-masque]{display:none}
.fl-grille--apercu .fl-vignette img{height:100%;object-fit:cover}

/* Les avis : des notes de papier, légèrement de travers. */
.fl-avis figure{background:#f4eedb;color:#3a2a0e;border:0;border-radius:6px;box-shadow:0 1px 0 rgba(0,0,0,.05),0 18px 40px -26px rgba(20,10,0,.55);transform:rotate(var(--penche,-.8deg))}
.fl-avis li:nth-child(2n) figure{--penche:.9deg}.fl-avis li:nth-child(3n) figure{--penche:-.3deg}
.fl-avis figure:hover{transform:rotate(0) translateY(-4px)}
.fl-avis blockquote p{font-family:var(--f-titre);font-size:clamp(20px,1rem + .7vw,26px);line-height:1.22;letter-spacing:.005em;color:#491c07}
.fl-avis figcaption,.fl-avis figcaption small{color:#6a5a33}
.fl-avis figcaption b{color:#3a2a0e}
.fl-etoiles svg:not(.vide),:root:not([data-mode=sombre]) .fl-etoiles svg:not(.vide){fill:#b9831a}
.fl-etoiles svg.vide{stroke:#a39566}
:root:not([data-mode=sombre]) .fl-avis figure{background:#fffaf0}

/* ═══════════════════════════════════════════════════════════════════════
   4.5.3 — plus sobre : carrés à coins doux, pas d'arches ni de gadgets,
   des titres sans surtitres, et des textes faits pour être lus.
   ═══════════════════════════════════════════════════════════════════════ */
/* Formes : retour aux carrés / rectangles arrondis partout. */
.fl-ouverture-image,.fl-qui-ouverture-image,.fl-qui-portrait,.fl-flash-image,.fl-vignette a,
.fl-grille:not(.fl-grille--apercu) > li:nth-child(5n+1) .fl-vignette a{border-radius:var(--r)!important}
.fl-sceau-tournant{display:none}
/* Pas de surtitres au-dessus des titres, pas de pointillés décoratifs. */
.fl-sec-tete .fl-etiq,.fl-page-tete .fl-etiq,.fl-ouverture .fl-etiq,.fl-minis-bloc .fl-etiq,.fl-interview .fl-etiq{display:none}
.fl-sec-tete::after{display:none}
.fl-sec-tete{padding-bottom:0}
.fl-etiq::before{width:6px;height:6px;border-radius:50%;-webkit-mask:none;mask:none}
/* La galerie : des carrés, et la couleur sur l'image survolée. */
.fl-grille:not(.fl-grille--apercu){display:grid;columns:auto;grid-template-columns:repeat(2,1fr);gap:clamp(8px,1vw,14px)}
@media(min-width:700px){.fl-grille:not(.fl-grille--apercu){grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.fl-grille:not(.fl-grille--apercu){grid-template-columns:repeat(4,1fr)}}
.fl-grille:not(.fl-grille--apercu) > li{margin:0}
.fl-grille .fl-vignette a{aspect-ratio:1!important}
.fl-grille .fl-vignette img{height:100%!important;object-fit:cover}
.fl-grille.survolee .fl-vignette:not(.actif) img,.fl-flashs.survolee .fl-flash:not(.actif) img{filter:grayscale(1);opacity:.72}
.fl-flash img{transition:filter .5s var(--ease),opacity .5s var(--ease),transform 1.1s var(--ease)}
/* Avis : notes droites, sans gadget. */
.fl-avis figure{transform:none!important}
.fl-avis figure:hover{transform:translateY(-3px)!important}

/* ── Lire : une colonne, une vraie mise en page de texte ───────────── */
.fl-lecture-col{max-width:40rem;margin-inline:auto}
.fl-prose p,.fl-histoire-texte p,.fl-histoire-intro p{font-size:clamp(17px,.98rem + .3vw,19.5px);line-height:1.78;letter-spacing:.012em;font-weight:500;margin:0 0 1.15em}
.fl-prose p:last-child,.fl-histoire-texte p:last-child{margin-bottom:0}

/* Qui suis-je */
.fl-qui-ouverture{display:grid;gap:clamp(28px,4vw,72px);align-items:end;padding-top:clamp(16px,3vw,40px);min-height:0}
.fl-qui-ouverture-image{margin:0;aspect-ratio:4/5;order:0;overflow:hidden;background:var(--carte)}
.fl-qui-ouverture-image img{width:100%;height:100%;object-fit:cover}
@media(min-width:900px){.fl-qui-ouverture{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.fl-qui-ouverture-image{height:auto;max-height:78vh}}
.fl-qui-ouverture .fl-h1{font-size:clamp(56px,3rem + 5vw,132px)}
.fl-qui-lede{margin-top:clamp(18px,2vw,30px);font-family:var(--f-texte);font-weight:400;font-size:clamp(20px,1rem + 1vw,30px);line-height:1.45;letter-spacing:.015em;max-width:30ch;color:var(--texte)}
.fl-qui-signature{margin-top:clamp(22px,2.4vw,32px);font-family:var(--f-titre);font-size:clamp(26px,1.2rem + 1vw,36px);line-height:1.05;color:var(--titre)}
.fl-qui-signature span{display:block;font-family:var(--f-texte);font-size:14px;letter-spacing:.06em;color:var(--doux);margin-top:6px}
.fl-qui-lire{display:inline-flex;gap:8px;margin-top:clamp(22px,2.6vw,36px);font-weight:600;letter-spacing:.04em;border-bottom:1px solid currentColor;padding-bottom:3px}
.fl-qui-reperes{display:none}
.fl-histoire{padding-top:clamp(64px,9vw,140px)}
.fl-histoire-intro > p:first-child::first-letter{float:left;font-family:var(--f-titre);font-size:4.6em;line-height:.8;padding:.06em .1em 0 0;color:var(--titre)}
.fl-histoire-citation{max-width:52rem;margin:clamp(56px,8vw,120px) auto;padding:0 var(--gout);text-align:center}
.fl-histoire-citation p{font-family:var(--f-titre);font-size:clamp(30px,1.4rem + 2.4vw,60px);line-height:1.08;color:var(--titre)}
.fl-histoire-citation p::before{content:"“";display:block;font-size:1.6em;line-height:.6;margin-bottom:.15em;color:var(--kaki)}
.fl-histoire-chapitre{margin-top:clamp(56px,7vw,104px)}
.fl-histoire-titre{display:flex;align-items:baseline;gap:16px;font-family:var(--f-titre);font-weight:400;font-size:clamp(32px,1.4rem + 1.6vw,48px);line-height:1.05;color:var(--titre);margin-bottom:clamp(16px,2vw,24px)}
.fl-histoire-titre span{font-family:var(--f-texte);font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--doux);transform:translateY(-.4em)}
@media(min-width:1100px){.fl-histoire-titre{margin-left:-4.5rem}.fl-histoire-titre span{width:3rem;flex:none;text-align:right}}
.fl-histoire-image{margin:0 0 clamp(18px,2vw,28px);border-radius:var(--r);overflow:hidden}
.fl-histoire-image img{width:100%;height:auto;display:block}
.fl-histoire-texte p:first-of-type{font-size:clamp(18px,1rem + .45vw,21px)}

/* ── Pied de page ──────────────────────────────────────────────────── */
.fl-pied{padding-top:clamp(56px,7vw,96px);border-top:1px solid var(--bord)}
.fl-pied-haut{display:grid;gap:40px 32px;padding-bottom:clamp(40px,5vw,64px)}
@media(min-width:800px){.fl-pied-haut{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}}
.fl-pied-marque{display:inline-flex;align-items:center;gap:14px;font-family:var(--f-titre);font-size:clamp(34px,1.5rem + 1.4vw,48px);line-height:1;color:var(--titre)}
.fl-pied-marque .fl-logo{height:44px}
.fl-pied-marque .fl-logo svg{max-width:none}
.fl-pied-signe p{margin-top:18px;max-width:34ch;color:var(--doux);line-height:1.6}
.fl-pied-titre{font-family:var(--f-titre);font-size:22px;color:var(--titre);margin-bottom:14px}
.fl-pied-col ul{display:grid;gap:10px;font-weight:600;letter-spacing:.02em}
.fl-pied-col a{color:var(--texte);transition:color var(--rapide)}
.fl-pied-col a:hover{color:var(--titre)}
.fl-pied-bas{border-top:1px solid var(--bord);padding-block:18px 26px}
.fl-etiq:has(+ .fl-h2),.fl-etiq:has(+ .fl-h1),.fl-etiq:has(+ h2){display:none}

/* ── La page d'attente (site fermé) ─────────────────────────────────── */
.fl-attente-page{display:grid;min-height:100svh;padding:clamp(16px,2.4vw,32px);gap:clamp(16px,2.4vw,32px)}
@media(min-width:900px){.fl-attente-page{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
.fl-attente-texte{display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:clamp(8px,2vw,32px)}
.fl-attente-marque{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-titre);font-size:26px;line-height:1;color:var(--titre)}
.fl-attente-marque .fl-logo{height:34px;width:34px}
.fl-attente-marque .fl-logo svg,.fl-attente-marque .fl-logo img{width:100%;height:100%;max-width:none}
.fl-attente-corps{max-width:34rem}
.fl-attente-corps .fl-h1{font-size:clamp(48px,2.6rem + 3.6vw,104px)}
.fl-attente-phrase{margin-top:clamp(18px,2vw,28px);font-size:clamp(18px,1rem + .45vw,22px);line-height:1.6;letter-spacing:.012em;color:var(--texte);max-width:32ch}
.fl-attente-date{margin-top:18px;color:var(--doux);font-weight:600;letter-spacing:.04em}
.fl-attente-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(26px,3vw,40px)}
.fl-attente-actions .fl-btn:first-child{min-height:56px;padding:0 30px;font-size:16px}
.fl-attente-agenda{margin-top:22px;font-size:15px}
.fl-attente-pied{color:var(--doux);font-size:14px;letter-spacing:.06em}
.fl-attente-image{margin:0;border-radius:var(--r);overflow:hidden;background:var(--carte);min-height:42vh;order:-1}
@media(min-width:900px){.fl-attente-image{order:0;min-height:0}}
.fl-attente-image img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:899px){.fl-attente-image{min-height:0;height:36vh}}

/* 4.5.5 — le fond et le texte du thème passent avant les styles globaux
   de WordPress (ils s'imprimaient après et remettaient un fond beige). */
html body{background:var(--fond);color:var(--texte)}
html body :where(h1,h2,h3,h4,h5,h6){font-family:inherit;line-height:inherit}
html body a:where(:not(.wp-element-button)){color:inherit}
:root,:root[data-mode=sombre]{--verre:rgba(60,22,6,.84)}

/* 4.6 — titres d'accueil et du séminaire plus petits ; une seule ligne de tatouages. */
.fl-ouverture .fl-h1{font-size:clamp(40px,1.6rem + 3.2vw,84px)}
.fl-seminaire .fl-page-tete .fl-h1{font-size:clamp(38px,1.5rem + 3vw,80px)}
.fl-accueil .fl-grille--apercu{grid-template-columns:repeat(2,1fr)}
@media(min-width:700px){.fl-accueil .fl-grille--apercu{grid-template-columns:repeat(4,1fr)}}
@media(max-width:699px){.fl-accueil .fl-grille--apercu > li:nth-child(n+3){display:none!important}}
