/* Fahkwang (titres) + Epilogue (corps de texte) — licence SIL OFL, voir assets/fonts/OFL-*.txt */
@font-face{font-family:"Fahkwang";src:url("/assets/fonts/Fahkwang-Light.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Fahkwang";src:url("/assets/fonts/Fahkwang-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Fahkwang";src:url("/assets/fonts/Fahkwang-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Epilogue";src:url("/assets/fonts/Epilogue-Variable.ttf") format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Epilogue";src:url("/assets/fonts/Epilogue-Italic-Variable.ttf") format("truetype-variations");font-weight:100 900;font-style:italic;font-display:swap}
/* ---- design system : tokens/colors.css ---- */
:root{
/* — Base ramps ——————————————————————————— */
/* Bleu nuit — couleur principale (#0C435C) */
--blue-950:#04202D;--blue-900:#072B3C;--blue-800:#0C435C;--blue-700:#135A79;
--blue-600:#1D7398;--blue-500:#3D8FB2;--blue-400:#6AA3BC;--blue-300:#8FBDD0;
--blue-200:#B4D0DC;--blue-100:#DCEAF0;--blue-50:#F0F6F9;
/* Rose clair — couleur principale (#F5A6B5) */
--rose-800:#A9485B;--rose-700:#C96579;--rose-600:#E8839A;--rose-500:#F5A6B5;
--rose-400:#F8B9C4;--rose-300:#FAC9D3;--rose-200:#FCDCE3;--rose-100:#FDE9EE;--rose-50:#FEF5F7;
/* Orange — couleur secondaire, avec parcimonie (#FFA139) */
--orange-700:#B4620A;--orange-600:#D97A12;--orange-500:#FFA139;
--orange-300:#FFC280;--orange-200:#FFD9AE;--orange-100:#FFEBD2;--orange-50:#FFF6EB;
/* Neutres, très légèrement bleutés */
--neutral-900:#101C21;--neutral-800:#22343B;--neutral-700:#3D4E55;--neutral-600:#556A72;
--neutral-500:#6B7C84;--neutral-400:#93A2A8;--neutral-300:#C2CDD1;--neutral-200:#DFE6E9;
--neutral-100:#EFF3F4;--neutral-50:#F7F9FA;--white:#FFFFFF;
/* Sémantique brute */
--green-600:#2E7D5B;--green-100:#E3F1EB;
--red-600:#C2443E;--red-100:#F9E6E5;

/* — Aliases sémantiques ————————————————————— */
--brand-primary:var(--blue-800);
--brand-primary-hover:var(--blue-900);
--brand-primary-active:var(--blue-950);
--brand-secondary:var(--rose-500);
--brand-secondary-hover:var(--rose-600);
--brand-accent:var(--orange-500);
--brand-accent-hover:var(--orange-600);

--text-heading:var(--blue-800);
--text-body:var(--neutral-800);
--text-muted:var(--neutral-600);
--text-subtle:var(--neutral-500);
--text-on-primary:var(--white);
--text-on-secondary:var(--blue-800);
--text-on-accent:var(--blue-900);
--text-link:var(--blue-700);
--text-link-hover:var(--blue-900);

--surface-page:var(--white);
--surface-page-alt:var(--blue-50);
--surface-card:var(--white);
--surface-card-alt:var(--neutral-50);
--surface-inverse:var(--blue-800);
--surface-inverse-deep:var(--blue-950);
--surface-soft-rose:var(--rose-50);
--surface-soft-orange:var(--orange-50);
--surface-overlay:rgba(7,43,60,.62);

--border-subtle:var(--neutral-200);
--border-default:var(--neutral-300);
--border-strong:var(--blue-800);
--border-on-inverse:rgba(255,255,255,.22);

--focus-ring:var(--orange-500);

--feedback-success-fg:var(--green-600);--feedback-success-bg:var(--green-100);
--feedback-warning-fg:var(--orange-700);--feedback-warning-bg:var(--orange-100);
--feedback-error-fg:var(--red-600);--feedback-error-bg:var(--red-100);
--feedback-info-fg:var(--blue-700);--feedback-info-bg:var(--blue-100);
}

/* ---- design system : tokens/typography.css ---- */
:root{
--font-display:"Fahkwang",Georgia,serif;
--font-body:"Epilogue","Helvetica Neue",Arial,sans-serif;
--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;

--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;

/* Échelle — ratio ~1.25, base 17px */
--text-2xs:12px;--text-xs:13px;--text-sm:15px;--text-base:17px;--text-md:19px;
--text-lg:22px;--text-xl:27px;--text-2xl:34px;--text-3xl:42px;--text-4xl:54px;--text-5xl:68px;--text-6xl:86px;

--leading-tight:1.08;--leading-snug:1.2;--leading-normal:1.5;--leading-relaxed:1.62;

--tracking-display:-0.015em;--tracking-normal:0;--tracking-wide:0.06em;--tracking-wordmark:0.34em;

/* Rôles composés */
--type-display:var(--weight-light) var(--text-5xl)/var(--leading-tight) var(--font-display);
--type-h1:var(--weight-light) var(--text-4xl)/var(--leading-tight) var(--font-display);
--type-h2:var(--weight-regular) var(--text-2xl)/var(--leading-snug) var(--font-display);
--type-h3:var(--weight-medium) var(--text-xl)/var(--leading-snug) var(--font-display);
--type-h4:var(--weight-medium) var(--text-md)/var(--leading-snug) var(--font-display);
--type-lead:var(--weight-regular) var(--text-lg)/var(--leading-relaxed) var(--font-body);
--type-body:var(--weight-regular) var(--text-base)/var(--leading-relaxed) var(--font-body);
--type-body-sm:var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-body);
--type-label:var(--weight-semibold) var(--text-sm)/1.3 var(--font-body);
--type-eyebrow:var(--weight-semibold) var(--text-xs)/1.2 var(--font-body);
--type-caption:var(--weight-regular) var(--text-xs)/var(--leading-normal) var(--font-body);
}

/* ---- design system : tokens/spacing.css ---- */
:root{
--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;
--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;
--space-20:80px;--space-24:96px;--space-32:128px;--space-40:160px;
--gutter-inline:clamp(20px,5vw,56px); /* @kind spacing */
--section-y:clamp(56px,7vw,112px); /* @kind spacing */
--stack-tight:var(--space-2);--stack-default:var(--space-4);--stack-loose:var(--space-8);
}

/* ---- design system : tokens/radius.css ---- */
:root{
--radius-none:0;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;
--radius-xl:28px;--radius-pill:999px;
--radius-card:var(--radius-md);--radius-control:var(--radius-sm);--radius-media:var(--radius-md);
}

/* ---- design system : tokens/elevation.css ---- */
:root{
--shadow-none:none;
--shadow-xs:0 1px 2px rgba(7,43,60,.06);
--shadow-sm:0 1px 3px rgba(7,43,60,.08),0 1px 2px rgba(7,43,60,.04);
--shadow-md:0 4px 14px rgba(7,43,60,.09);
--shadow-lg:0 14px 36px rgba(7,43,60,.13);
--shadow-inset-hairline:inset 0 0 0 1px var(--border-subtle);
--ring-focus:0 0 0 3px rgba(255,161,57,.55);
--ring-primary-soft:0 0 0 4px rgba(12,67,92,.10);
--blur-veil:saturate(1.1) blur(14px); /* @kind other */
}

/* ---- design system : tokens/motion.css ---- */
:root{
--ease-standard:cubic-bezier(.2,.6,.2,1); /* @kind other */
--ease-out:cubic-bezier(.16,1,.3,1); /* @kind other */
--ease-in:cubic-bezier(.5,0,.9,.3); /* @kind other */
--duration-instant:80ms; /* @kind other */
--duration-fast:140ms; /* @kind other */
--duration-base:220ms; /* @kind other */
--duration-slow:380ms; /* @kind other */
--duration-reveal:640ms; /* @kind other */
--transition-control:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard); /* @kind other */
--transition-surface:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard); /* @kind other */
}
@media (prefers-reduced-motion:reduce){:root{--duration-fast:0ms; /* @kind other */ --duration-base:0ms; /* @kind other */ --duration-slow:0ms; /* @kind other */ --duration-reveal:0ms /* @kind other */}}

/* ---- design system : tokens/layout.css ---- */
:root{
--container-sm:640px; /* @kind spacing */
--container-md:840px; /* @kind spacing */
--container-lg:1080px; /* @kind spacing */
--container-xl:1280px; /* @kind spacing */
--container-full:1440px; /* @kind spacing */
--measure-prose:68ch; /* @kind other */
--header-height:84px; /* @kind spacing */
--grid-columns:12; /* @kind other */
--grid-gap:var(--space-6); /* @kind spacing */
--z-base:0; /* @kind other */
--z-sticky:100; /* @kind other */
--z-header:200; /* @kind other */
--z-overlay:300; /* @kind other */
--z-modal:400; /* @kind other */
--z-toast:500; /* @kind other */
--hairline:1px; /* @kind spacing */
}

/* ---- design system : tokens/base.css ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:var(--type-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{margin:0;color:var(--text-heading);font-family:var(--font-display);letter-spacing:var(--tracking-display);text-wrap:balance}
h1{font:var(--type-h1)}h2{font:var(--type-h2)}h3{font:var(--type-h3)}h4{font:var(--type-h4)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration-thickness:1px;text-underline-offset:.18em;transition:color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
img,svg{display:block;max-width:100%}
::selection{background:var(--rose-300);color:var(--blue-900)}

/* ---- design system : components/flaura-components.css ---- */
/* FLAURA — styles des primitives React. Classes préfixées .fl- */

/* Button */
.fl-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:var(--type-label);letter-spacing:.01em;border:var(--hairline) solid transparent;border-radius:var(--radius-control);cursor:pointer;text-decoration:none;transition:var(--transition-control);white-space:nowrap}
.fl-btn--sm{padding:7px 14px;font-size:var(--text-xs);min-height:34px}
.fl-btn--md{padding:11px 20px;min-height:44px}
.fl-btn--lg{padding:15px 28px;font-size:var(--text-base);min-height:52px}
.fl-btn--primary{background:var(--brand-primary);color:var(--text-on-primary)}
.fl-btn--primary:hover{background:var(--brand-primary-hover)}
.fl-btn--primary:active{background:var(--brand-primary-active)}
.fl-btn--secondary{background:var(--brand-secondary);color:var(--text-on-secondary)}
.fl-btn--secondary:hover{background:var(--brand-secondary-hover)}
.fl-btn--outline{background:transparent;color:var(--brand-primary);border-color:var(--brand-primary)}
.fl-btn--outline:hover{background:var(--blue-50)}
.fl-btn--ghost{background:transparent;color:var(--brand-primary)}
.fl-btn--ghost:hover{background:var(--blue-50)}
.fl-btn--accent{background:var(--brand-accent);color:var(--text-on-accent)}
.fl-btn--accent:hover{background:var(--brand-accent-hover)}
.fl-btn--inverse{background:var(--white);color:var(--brand-primary)}
.fl-btn--inverse:hover{background:var(--blue-100)}
.fl-btn[disabled],.fl-btn[aria-disabled="true"]{opacity:.42;cursor:not-allowed;pointer-events:none}
.fl-btn--block{width:100%}

/* IconButton */
.fl-iconbtn{display:inline-flex;align-items:center;justify-content:center;border:var(--hairline) solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--brand-primary);cursor:pointer;transition:var(--transition-control)}
.fl-iconbtn--sm{width:34px;height:34px}
.fl-iconbtn--md{width:44px;height:44px}
.fl-iconbtn--lg{width:52px;height:52px}
.fl-iconbtn--plain:hover{background:var(--blue-50)}
.fl-iconbtn--outline{border-color:var(--border-default)}
.fl-iconbtn--outline:hover{border-color:var(--brand-primary);background:var(--blue-50)}
.fl-iconbtn--solid{background:var(--brand-primary);color:var(--text-on-primary)}
.fl-iconbtn--solid:hover{background:var(--brand-primary-hover)}
.fl-iconbtn--round{border-radius:var(--radius-pill)}
.fl-iconbtn[disabled]{opacity:.42;cursor:not-allowed}

/* Icon */
.fl-icon{display:inline-block;flex:none;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}

/* Badge / Tag */
.fl-badge{display:inline-flex;align-items:center;gap:6px;font:var(--type-eyebrow);letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:5px 10px;border-radius:var(--radius-xs)}
.fl-badge--primary{background:var(--blue-100);color:var(--blue-800)}
.fl-badge--secondary{background:var(--rose-100);color:var(--rose-800)}
.fl-badge--accent{background:var(--orange-100);color:var(--orange-700)}
.fl-badge--neutral{background:var(--neutral-100);color:var(--neutral-700)}
.fl-badge--success{background:var(--feedback-success-bg);color:var(--feedback-success-fg)}
.fl-badge--error{background:var(--feedback-error-bg);color:var(--feedback-error-fg)}
.fl-badge--solid{background:var(--brand-primary);color:var(--text-on-primary)}
.fl-badge--outline{background:transparent;color:var(--brand-primary);box-shadow:inset 0 0 0 1px var(--border-default)}
.fl-tag{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--type-body-sm);color:var(--blue-800);background:var(--blue-50);border:var(--hairline) solid var(--blue-100);border-radius:var(--radius-pill);padding:5px 12px;transition:var(--transition-control)}
.fl-tag--interactive{cursor:pointer}
.fl-tag--interactive:hover{background:var(--blue-100);border-color:var(--blue-200)}
.fl-tag--selected{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--text-on-primary)}
.fl-tag__remove{display:inline-flex;border:0;background:transparent;color:inherit;cursor:pointer;padding:0;opacity:.7}
.fl-tag__remove:hover{opacity:1}

/* Card */
.fl-card{position:relative;display:flex;flex-direction:column;background:var(--surface-card);border-radius:var(--radius-card);overflow:hidden;transition:var(--transition-surface)}
.fl-card--hairline{box-shadow:var(--shadow-inset-hairline)}
.fl-card--raised{box-shadow:var(--shadow-sm)}
.fl-card--flat{background:var(--surface-page-alt)}
.fl-card--interactive{cursor:pointer}
.fl-card--interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.fl-card--interactive:active{transform:translateY(0)}
.fl-card__media{aspect-ratio:16/9;background:var(--blue-100);overflow:hidden}
.fl-card__media img{width:100%;height:100%;object-fit:cover}
.fl-card__body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5)}
.fl-card__footer{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:var(--hairline) solid var(--border-subtle)}
.fl-card--accentTop::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--brand-secondary)}

/* Accordion */
.fl-accordion{display:flex;flex-direction:column;border-top:var(--hairline) solid var(--border-subtle)}
.fl-accordion__item{border-bottom:var(--hairline) solid var(--border-subtle)}
.fl-accordion__trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-1);background:transparent;border:0;cursor:pointer;text-align:left;font:var(--type-h4);color:var(--text-heading);transition:var(--transition-control)}
.fl-accordion__trigger:hover{color:var(--blue-600)}
.fl-accordion__sign{flex:none;color:var(--brand-secondary);transition:transform var(--duration-base) var(--ease-standard)}
.fl-accordion__item--open .fl-accordion__sign{transform:rotate(45deg)}
.fl-accordion__panel{padding:0 var(--space-1) var(--space-5);font:var(--type-body);color:var(--text-muted);max-width:var(--measure-prose)}

/* Form fields */
.fl-field{display:flex;flex-direction:column;gap:var(--space-2)}
.fl-field__label{font:var(--type-label);color:var(--text-heading)}
.fl-field__req{color:var(--rose-700)}
.fl-field__hint{font:var(--type-caption);color:var(--text-subtle)}
.fl-field__error{font:var(--type-caption);color:var(--feedback-error-fg)}
.fl-input,.fl-textarea,.fl-select{width:100%;font:var(--type-body);color:var(--text-body);background:var(--white);border:var(--hairline) solid var(--border-default);border-radius:var(--radius-control);padding:11px 14px;transition:var(--transition-control)}
.fl-input::placeholder,.fl-textarea::placeholder{color:var(--neutral-400)}
.fl-input:hover,.fl-textarea:hover,.fl-select:hover{border-color:var(--blue-400)}
.fl-input:focus,.fl-textarea:focus,.fl-select:focus{border-color:var(--brand-primary);box-shadow:var(--ring-primary-soft);outline:none}
.fl-input--invalid,.fl-textarea--invalid,.fl-select--invalid{border-color:var(--feedback-error-fg)}
.fl-input[disabled],.fl-textarea[disabled],.fl-select[disabled]{background:var(--neutral-100);color:var(--text-subtle);cursor:not-allowed}
.fl-textarea{min-height:120px;resize:vertical}
.fl-select{appearance:none;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,var(--blue-800) 50%),linear-gradient(135deg,var(--blue-800) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.fl-input--withIcon{padding-left:42px}
.fl-inputwrap{position:relative;display:flex;align-items:center}
.fl-inputwrap__icon{position:absolute;left:14px;color:var(--text-subtle);pointer-events:none}

/* Checkbox / Radio / Switch */
.fl-choice{display:inline-flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;font:var(--type-body);color:var(--text-body)}
.fl-choice--disabled{opacity:.48;cursor:not-allowed}
.fl-choice__box{flex:none;width:20px;height:20px;margin-top:2px;display:grid;place-items:center;border:var(--hairline) solid var(--border-default);background:var(--white);transition:var(--transition-control)}
.fl-choice__box--check{border-radius:var(--radius-xs)}
.fl-choice__box--radio{border-radius:var(--radius-pill)}
.fl-choice:hover .fl-choice__box{border-color:var(--brand-primary)}
.fl-choice__box--on{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--white)}
.fl-choice__dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--white)}
.fl-choice__desc{display:block;font:var(--type-caption);color:var(--text-subtle);margin-top:2px}
.fl-switch{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;font:var(--type-body)}
.fl-switch__track{flex:none;width:44px;height:24px;border-radius:var(--radius-pill);background:var(--neutral-300);padding:3px;transition:var(--transition-control)}
.fl-switch__knob{width:18px;height:18px;border-radius:var(--radius-pill);background:var(--white);box-shadow:var(--shadow-xs);transition:transform var(--duration-base) var(--ease-standard)}
.fl-switch__track--on{background:var(--brand-primary)}
.fl-switch__track--on .fl-switch__knob{transform:translateX(20px)}
.fl-switch--disabled{opacity:.48;cursor:not-allowed}

/* Tabs */
.fl-tabs{display:flex;gap:var(--space-6);border-bottom:var(--hairline) solid var(--border-subtle)}
.fl-tabs__tab{position:relative;background:transparent;border:0;padding:var(--space-3) 2px var(--space-4);font:var(--type-label);color:var(--text-muted);cursor:pointer;transition:var(--transition-control)}
.fl-tabs__tab:hover{color:var(--text-heading)}
.fl-tabs__tab--active{color:var(--text-heading)}
.fl-tabs__tab--active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brand-secondary)}
.fl-tabs--pills{border-bottom:0;gap:var(--space-2)}
.fl-tabs--pills .fl-tabs__tab{padding:8px 16px;border-radius:var(--radius-pill);color:var(--text-muted)}
.fl-tabs--pills .fl-tabs__tab--active{background:var(--blue-800);color:var(--white)}
.fl-tabs--pills .fl-tabs__tab--active::after{display:none}

/* Breadcrumb */
.fl-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font:var(--type-caption);color:var(--text-subtle)}
.fl-crumbs a{color:var(--text-subtle);text-decoration:none}
.fl-crumbs a:hover{color:var(--text-link-hover);text-decoration:underline}
.fl-crumbs__sep{color:var(--rose-500)}
.fl-crumbs__current{color:var(--text-heading);font-weight:var(--weight-semibold)}

/* Pagination */
.fl-pager{display:flex;align-items:center;gap:var(--space-2)}
.fl-pager__btn{min-width:40px;height:40px;display:grid;place-items:center;border:var(--hairline) solid var(--border-subtle);background:var(--white);border-radius:var(--radius-control);font:var(--type-body-sm);color:var(--text-body);cursor:pointer;transition:var(--transition-control)}
.fl-pager__btn:hover{border-color:var(--brand-primary);color:var(--brand-primary)}
.fl-pager__btn--active{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--white)}
.fl-pager__btn[disabled]{opacity:.4;cursor:not-allowed}
.fl-pager__gap{color:var(--text-subtle);padding:0 4px}

/* Alert */
.fl-alert{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);font:var(--type-body-sm);border-left:3px solid currentColor}
.fl-alert__body{display:flex;flex-direction:column;gap:4px;color:var(--text-body)}
.fl-alert__title{font:var(--type-label)}
.fl-alert--info{background:var(--feedback-info-bg);color:var(--feedback-info-fg)}
.fl-alert--success{background:var(--feedback-success-bg);color:var(--feedback-success-fg)}
.fl-alert--warning{background:var(--feedback-warning-bg);color:var(--feedback-warning-fg)}
.fl-alert--error{background:var(--feedback-error-bg);color:var(--feedback-error-fg)}

/* Dialog */
.fl-dialog__scrim{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-6);background:var(--surface-overlay);backdrop-filter:var(--blur-veil)}
.fl-dialog{position:relative;width:100%;max-width:560px;background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4)}
.fl-dialog__close{position:absolute;top:var(--space-4);right:var(--space-4)}
.fl-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}

/* Toast */
.fl-toast{display:flex;align-items:flex-start;gap:var(--space-3);min-width:300px;max-width:420px;background:var(--surface-inverse);color:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-4) var(--space-5)}
.fl-toast__body{display:flex;flex-direction:column;gap:2px;font:var(--type-body-sm)}
.fl-toast__title{font:var(--type-label)}
.fl-toast__accent{width:3px;align-self:stretch;border-radius:var(--radius-pill);background:var(--brand-secondary)}
.fl-toast--accentSuccess .fl-toast__accent{background:#6FD3A6}
.fl-toast--accentError .fl-toast__accent{background:#F08E88}

/* Tooltip */
.fl-tip{position:relative;display:inline-flex}
.fl-tip__bubble{position:absolute;z-index:var(--z-overlay);background:var(--blue-900);color:var(--white);font:var(--type-caption);padding:6px 10px;border-radius:var(--radius-sm);white-space:nowrap;box-shadow:var(--shadow-md)}
.fl-tip__bubble--top{bottom:calc(100% + 8px);left:50%;transform:translateX(-50%)}
.fl-tip__bubble--bottom{top:calc(100% + 8px);left:50%;transform:translateX(-50%)}
.fl-tip__bubble--left{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}
.fl-tip__bubble--right{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}

/* Brand */
.fl-logo{display:inline-flex;align-items:center}
.fl-logo img{height:100%;width:auto}
.fl-motif{pointer-events:none;user-select:none}
.fl-eyebrow{display:inline-flex;align-items:center;gap:var(--space-3);font:var(--type-eyebrow);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--brand-primary)}
.fl-eyebrow::before{content:"";width:28px;height:2px;background:var(--brand-secondary)}
.fl-eyebrow--onInverse{color:var(--rose-300)}
.fl-stat{display:flex;flex-direction:column;gap:var(--space-1)}
.fl-stat__value{font:var(--weight-light) var(--text-4xl)/1 var(--font-display);letter-spacing:var(--tracking-display);color:var(--brand-primary)}
.fl-stat__value--onInverse{color:var(--white)}
.fl-stat__label{font:var(--type-body-sm);color:var(--text-muted);max-width:26ch}
.fl-stat__label--onInverse{color:var(--blue-200)}
/* =====================================================================================
   Site FLAURA — styles propres au site.
   Les jetons (couleurs, polices, espacements, rayons…) et les composants .fl-* viennent
   du design system : ils sont concaténés avant ce fichier (voir make-css.sh).
   ===================================================================================== */

body{min-height:100vh;display:flex;flex-direction:column}
main{flex:1 0 auto}
.container{max-width:var(--container-xl);margin:0 auto;padding-left:var(--gutter-inline);padding-right:var(--gutter-inline)}
.sr-only,.periods__radio,.periods legend{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ico{display:inline-block;flex:none;vertical-align:-3px}
.lead{font:var(--type-lead)}

/* Lien d'évitement (accessibilité clavier) */
.skip{position:absolute;left:-9999px;top:var(--space-2);z-index:calc(var(--z-toast) + 1);background:var(--white);color:var(--brand-primary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);box-shadow:var(--shadow-md);font:var(--type-label)}
.skip:focus{left:var(--space-2)}

/* Les liens-boutons gardent leur couleur au survol (a:hover du socle est plus spécifique que .fl-btn--*) */
a.fl-btn{text-decoration:none}
.prose .fl-btn{margin:0 var(--space-2) var(--space-2) 0}
a.fl-btn--primary,a.fl-btn--primary:hover{color:var(--text-on-primary)}
a.fl-btn--secondary,a.fl-btn--secondary:hover{color:var(--text-on-secondary)}
a.fl-btn--accent,a.fl-btn--accent:hover{color:var(--text-on-accent)}
a.fl-btn--inverse,a.fl-btn--inverse:hover,a.fl-btn--outline,a.fl-btn--outline:hover{color:var(--brand-primary)}

/* ---------- En-tête ---------- */
.site-header{background:var(--white)}
@media (min-width:900px){.site-header{position:sticky;top:0;z-index:var(--z-header)}}
.site-header__strip{background:var(--blue-800);color:var(--blue-100);font:var(--type-caption)}
.site-header__strip-in{display:flex;justify-content:space-between;gap:var(--space-4);padding-top:8px;padding-bottom:8px}
.site-header__strip a{color:var(--blue-100);text-decoration:none}
.site-header__strip a:hover{color:var(--white);text-decoration:underline}
.site-header__bar{border-bottom:var(--hairline) solid var(--border-subtle)}
.site-header__bar-in{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-8);min-height:var(--header-height);padding-top:var(--space-3);padding-bottom:var(--space-3)}
.site-header__logo{display:flex;flex:none}
.site-header__logo img{height:46px;width:auto}
.site-nav{margin-left:auto}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2) 26px}
.site-nav a{display:inline-block;font:var(--type-label);color:var(--text-muted);text-decoration:none;padding:4px 0 2px;border-bottom:2px solid transparent}
.site-nav a:hover{color:var(--text-heading)}
.site-nav a[aria-current="page"],.site-nav a.is-section{color:var(--text-heading);border-bottom-color:var(--brand-secondary)}
@media (max-width:899px){.site-nav{margin-left:0;width:100%}}
@media (max-width:640px){.site-header__strip{display:none}}

/* ---------- Bandeau bleu (modèles « libre » et « liste ») ---------- */
.hero{position:relative;overflow:hidden;background:var(--surface-inverse);color:var(--white)}
.hero__motif{position:absolute;right:-230px;top:-180px;width:860px;max-width:none;height:auto;opacity:.11;transform:rotate(-12deg);pointer-events:none;user-select:none}
.hero__in{position:relative;padding-top:var(--space-12);padding-bottom:var(--space-12)}
.hero--compact .hero__in{padding-top:var(--space-8);padding-bottom:var(--space-10)}
.hero--compact h1{font-size:clamp(30px,4.4vw,46px)}
.hero .fl-crumbs{margin-bottom:var(--space-8);color:var(--blue-200)}
.hero .fl-crumbs a{color:var(--blue-200)}
.hero .fl-crumbs a:hover{color:var(--white)}
.hero .fl-crumbs__current{color:var(--white)}
.hero .fl-eyebrow + h1,.hero .fl-crumbs + h1{margin-top:var(--space-5)}
.hero--home .hero__in{padding-top:var(--space-24);padding-bottom:var(--space-20)}
.hero h1{margin-top:var(--space-5);color:var(--white);font-weight:300;font-size:clamp(34px,5.4vw,54px);max-width:24ch}
.hero--home h1{font-size:clamp(32px,4.6vw,56px);line-height:var(--leading-tight);max-width:26ch}
.hero .lead a{color:var(--white);text-decoration:underline;text-underline-offset:3px}
.hero .lead{margin-top:var(--space-6);max-width:58ch;color:var(--blue-200)}
@media (max-width:640px){
  .hero__motif{width:560px;right:-200px;top:-120px}
  .hero--home .hero__in{padding-top:var(--space-16);padding-bottom:var(--space-12)}
}

/* ---------- En-tête de page (modèle « texte ») ---------- */
.page-body{padding-top:var(--space-12);padding-bottom:var(--section-y)}
.page-body--aside{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--space-16);align-items:start}
@media (max-width:899px){.page-body--aside{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}}

/* ---------- Texte courant ---------- */
.prose{max-width:none}
.prose > :where(p,ul,ol,h2,h3,blockquote){max-width:var(--measure-prose)}
.prose--wide{max-width:none}
.prose > * + *{margin-top:var(--space-5)}
.prose h2{font:var(--type-h3);margin-top:var(--space-12)}
.prose h3{font:var(--type-h4);margin-top:var(--space-8)}
.prose h2 + *,.prose h3 + *{margin-top:var(--space-4)}
.prose p,.prose li{font:var(--type-body)}
.prose ul,.prose ol{padding-left:1.3em}
.prose li + li{margin-top:var(--space-2)}
.prose blockquote{margin-left:0;margin-right:0;padding:var(--space-4) var(--space-6);background:var(--surface-page-alt);border-radius:var(--radius-card);font-style:italic;color:var(--text-muted)}
.prose blockquote p{font:inherit}

/* ---------- Carte photo + texte ---------- */
.carte-photo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);background:var(--surface-page-alt);border-radius:var(--radius-card);overflow:hidden}
.prose > .carte-photo{margin-top:var(--space-10);margin-bottom:var(--space-10)}
.prose > :first-child{margin-top:0}
.carte-photo__media{position:relative;margin:0;min-height:240px;background:var(--blue-100)}
.carte-photo--paysage .carte-photo__media{aspect-ratio:3 / 2}
.carte-photo--portrait .carte-photo__media{aspect-ratio:4 / 5}
.carte-photo__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.carte-photo__media figcaption{position:absolute;left:0;right:0;bottom:0;padding:6px 12px;background:var(--surface-inverse-deep);color:var(--white);font:var(--type-caption)}
.carte-photo__texte{align-self:center;padding:var(--space-8) var(--space-10)}
.carte-photo__texte > * + *{margin-top:var(--space-3)}
.carte-photo__texte > :first-child{margin-top:0}
.carte-photo--droite .carte-photo__media{order:2}
@media (max-width:760px){
  .carte-photo{grid-template-columns:minmax(0,1fr)}
  .carte-photo--droite .carte-photo__media{order:0}
  .carte-photo--paysage .carte-photo__media{aspect-ratio:3 / 2}
  .carte-photo--portrait .carte-photo__media{aspect-ratio:4 / 3}
  .carte-photo__texte{padding:var(--space-6)}
}

/* ---------- Carte « à la une » : chevauche le bandeau quand elle ouvre la page ---------- */
.carte-photo--une{background:var(--surface-card);box-shadow:var(--shadow-lg)}
.carte-photo--une .fl-eyebrow{margin-bottom:var(--space-3)}
.carte-photo--une h2,.carte-photo--une h3{font:var(--type-h3)}
.page-body:has(> .prose > .carte-photo--une:first-child){padding-top:0}
.prose > .carte-photo--une:first-child{position:relative;z-index:2;margin-top:calc(-1 * var(--space-10));margin-bottom:var(--space-16)}
@media (max-width:899px){.prose > .carte-photo--une:first-child{margin-top:calc(-1 * var(--space-8));margin-bottom:var(--space-10)}}
/* ---------- Blocs dynamiques (<actualites>, <evenements>) ---------- */
.bloc-dyn{margin:var(--space-6) 0 var(--space-12)}
.bloc-dyn .events--court .event:first-child{border-top:var(--hairline) solid var(--border-subtle)}
.bloc-dyn__suite{margin-top:var(--space-8)}
/* ---------- Actualités ---------- */
.actu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6);margin-top:var(--space-2)}
.actu-intro{margin-bottom:var(--space-8)}
a.actu-card{color:inherit;text-decoration:none}
.actu-card__img{position:relative;display:block;flex:none;aspect-ratio:16 / 9;background:var(--blue-100);overflow:hidden}
.actu-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.actu-card__corps{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);flex:1}
.actu-card__date{font:var(--type-eyebrow);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}
.actu-card h2,.actu-card h3{margin:0;font:var(--type-h4);color:var(--text-heading)}
.actu-card p{margin:0;font:var(--type-body-sm);color:var(--text-muted)}
.actu-card .rubrique__more{margin-top:auto;padding-top:var(--space-2)}
/* Article : l'image déborde sur le bandeau ; le texte reste en colonne de lecture, image et cartes pleine largeur */
.page-body--article{--debord:var(--space-24)}
.hero--avec-image .hero__in{padding-bottom:calc(var(--space-10) + var(--debord, var(--space-24)))}
.article-image{position:relative;z-index:2;width:100%;margin:0 0 var(--space-10);aspect-ratio:2 / 1;max-height:30rem;background:var(--blue-100);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);overflow:hidden}
.article-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero--avec-image + .page-body--article{padding-top:0}
.hero--avec-image + .page-body--article > .article-image{margin-top:calc(-1 * var(--space-24))}
.prose--article{max-width:none}
.a-lire-aussi{margin-top:var(--space-16);padding-top:var(--space-10);border-top:var(--hairline) solid var(--border-subtle)}
.a-lire-aussi > h2{margin:0 0 var(--space-6)}
.article-retour{margin-top:var(--space-10)}
@media (max-width:899px){
  .hero--avec-image .hero__in{padding-bottom:calc(var(--space-10) + var(--space-12))}
  .hero--avec-image + .page-body--article > .article-image{margin-top:calc(-1 * var(--space-12));aspect-ratio:16 / 9}
}

/* ---------- Navigation de rubrique (pages enfants) ---------- */
.sidenav{position:sticky;top:140px}
.sidenav > a.fl-eyebrow{text-decoration:none}
.sidenav > a.fl-eyebrow:hover{text-decoration:underline;text-decoration-color:var(--brand-secondary);text-decoration-thickness:2px;text-underline-offset:6px}
.sidenav > a.fl-eyebrow[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--brand-secondary);text-decoration-thickness:2px;text-underline-offset:6px}
.sidenav ul{list-style:none;margin:var(--space-4) 0 0;padding:0;border-top:var(--hairline) solid var(--border-subtle)}
.sidenav li{border-bottom:var(--hairline) solid var(--border-subtle)}
.sidenav li a{display:block;padding:var(--space-3) 0;font:var(--type-body-sm);color:var(--text-muted);text-decoration:none}
.sidenav li a:hover{color:var(--text-heading)}
.sidenav li a[aria-current="page"]{color:var(--text-heading);font-weight:var(--weight-semibold);text-decoration:underline;text-decoration-color:var(--brand-secondary);text-decoration-thickness:2px;text-underline-offset:6px}
@media (max-width:899px){.sidenav{position:static}}

/* ---------- Sous-pages d'une rubrique ---------- */
.rubrique__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-5)}
a.rubrique__card{color:inherit;text-decoration:none}
.rubrique__card h3{margin:0;font:var(--type-h4);color:var(--text-heading)}
.rubrique__card p{margin:0;font:var(--type-body-sm);color:var(--text-muted)}
.rubrique__more{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:auto;font:var(--type-label);color:var(--brand-primary)}

/* ---------- Agenda ---------- */
.periods{margin-top:var(--space-2)}
.periods__set{display:flex;gap:var(--space-6);margin:0;padding:0;border:0;min-width:0;border-bottom:var(--hairline) solid var(--border-subtle)}
.periods .fl-tabs__tab{display:inline-block}
.periods__radio:checked + .fl-tabs__tab{color:var(--text-heading)}
.periods__radio:checked + .fl-tabs__tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brand-secondary)}
.periods__radio:focus-visible + .fl-tabs__tab{outline:2px solid var(--focus-ring);outline-offset:2px}
.periods:has(#p-up:checked) :is(#list-past,#list-cal),.periods:has(#p-past:checked) :is(#list-up,#list-cal),.periods:has(#p-cal:checked) :is(#list-up,#list-past){display:none}
.periods__types{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0 0;padding:0;border:0;min-width:0}
.chip{display:inline-block;padding:5px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-page,#fff);color:var(--text-body);font:var(--type-body-sm);cursor:pointer}
.chip:hover{border-color:var(--brand-primary);color:var(--brand-primary)}
.periods__radio:checked + .chip{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}
.periods__radio:focus-visible + .chip{outline:2px solid var(--focus-ring);outline-offset:2px}
.events__none{display:none}
.periods:not(:has(#t-all:checked)) .event__next{display:none}
.periods:has(#t-1:checked) :is(.event,.cal__evt):not([data-t="1"]){display:none}
.periods:has(#t-1:checked):has(#p-up:checked) #list-up:not(:has(.event[data-t="1"])) + .events__none,.periods:has(#t-1:checked):has(#p-past:checked) #list-past:not(:has(.event[data-t="1"])) + .events__none,.periods:has(#t-1:checked) .cal__mois:not(:has(.event[data-t="1"])) .events__none{display:block}
.periods:has(#t-2:checked) :is(.event,.cal__evt):not([data-t="2"]){display:none}
.periods:has(#t-2:checked):has(#p-up:checked) #list-up:not(:has(.event[data-t="2"])) + .events__none,.periods:has(#t-2:checked):has(#p-past:checked) #list-past:not(:has(.event[data-t="2"])) + .events__none,.periods:has(#t-2:checked) .cal__mois:not(:has(.event[data-t="2"])) .events__none{display:block}
.periods:has(#t-3:checked) :is(.event,.cal__evt):not([data-t="3"]){display:none}
.periods:has(#t-3:checked):has(#p-up:checked) #list-up:not(:has(.event[data-t="3"])) + .events__none,.periods:has(#t-3:checked):has(#p-past:checked) #list-past:not(:has(.event[data-t="3"])) + .events__none,.periods:has(#t-3:checked) .cal__mois:not(:has(.event[data-t="3"])) .events__none{display:block}
.periods:has(#t-4:checked) :is(.event,.cal__evt):not([data-t="4"]){display:none}
.periods:has(#t-4:checked):has(#p-up:checked) #list-up:not(:has(.event[data-t="4"])) + .events__none,.periods:has(#t-4:checked):has(#p-past:checked) #list-past:not(:has(.event[data-t="4"])) + .events__none,.periods:has(#t-4:checked) .cal__mois:not(:has(.event[data-t="4"])) .events__none{display:block}
.periods:has(#t-5:checked) :is(.event,.cal__evt):not([data-t="5"]){display:none}
.periods:has(#t-5:checked):has(#p-up:checked) #list-up:not(:has(.event[data-t="5"])) + .events__none,.periods:has(#t-5:checked):has(#p-past:checked) #list-past:not(:has(.event[data-t="5"])) + .events__none,.periods:has(#t-5:checked) .cal__mois:not(:has(.event[data-t="5"])) .events__none{display:block}
.periods:has(#t-6:checked) :is(.event,.cal__evt):not([data-t="6"]){display:none}
.periods:has(#t-6:checked):has(#p-up:checked) #list-up:not(:has(.event[data-t="6"])) + .events__none,.periods:has(#t-6:checked):has(#p-past:checked) #list-past:not(:has(.event[data-t="6"])) + .events__none,.periods:has(#t-6:checked) .cal__mois:not(:has(.event[data-t="6"])) .events__none{display:block}
.periods:has(#t-7:checked) :is(.event,.cal__evt):not([data-t="7"]){display:none}
.periods:has(#t-7:checked):has(#p-up:checked) #list-up:not(:has(.event[data-t="7"])) + .events__none,.periods:has(#t-7:checked):has(#p-past:checked) #list-past:not(:has(.event[data-t="7"])) + .events__none,.periods:has(#t-7:checked) .cal__mois:not(:has(.event[data-t="7"])) .events__none{display:block}
.periods:has(#t-8:checked) :is(.event,.cal__evt):not([data-t="8"]){display:none}
.periods:has(#t-8:checked):has(#p-up:checked) #list-up:not(:has(.event[data-t="8"])) + .events__none,.periods:has(#t-8:checked):has(#p-past:checked) #list-past:not(:has(.event[data-t="8"])) + .events__none,.periods:has(#t-8:checked) .cal__mois:not(:has(.event[data-t="8"])) .events__none{display:block}
.periods__abo{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-6);margin:var(--space-5) 0 0;font:var(--type-body-sm)}
.periods__abo a{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--brand-primary);text-underline-offset:3px}
.periods__abo a:hover{color:var(--text-heading)}

/* ---------- Calendrier mensuel ---------- */
.cal__radio{position:absolute;width:1px;height:1px;margin:-1px;opacity:0;pointer-events:none}
.cal__mois{display:none;padding-top:var(--space-6)}
.cal__radio:checked + .cal__mois{display:block}
.cal__radio:focus-visible + .cal__mois .cal__titre{outline:2px solid var(--focus-ring);outline-offset:4px}
.cal__entete{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}
.cal__titre{margin:0;min-width:11ch;font:var(--type-h3);text-transform:capitalize;color:var(--text-heading)}
.cal__nav{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:var(--hairline) solid var(--border-strong,var(--border-subtle));border-radius:var(--radius-pill);color:var(--brand-primary);font-size:22px;line-height:1;cursor:pointer;user-select:none}
.cal__nav:hover{background:var(--blue-100);color:var(--text-heading)}
.cal__nav--off{visibility:hidden}
.cal__table{width:100%;table-layout:fixed;border-collapse:collapse;border:var(--hairline) solid var(--border-subtle)}
.cal__table th{padding:var(--space-2) var(--space-2);background:var(--surface-page-alt);font:var(--type-eyebrow);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);text-align:left}
.cal__table abbr{text-decoration:none}
.cal__table td{height:104px;padding:var(--space-2);vertical-align:top;border:var(--hairline) solid var(--border-subtle)}
.cal__hors{background:var(--surface-page-alt)}
.cal__hors .cal__j{color:var(--text-muted);opacity:.55}
.cal__j{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border-radius:var(--radius-pill);font:var(--type-label);color:var(--text-heading)}
.cal__auj .cal__j{background:var(--blue-800);color:var(--white)}
.cal__evts{list-style:none;margin:var(--space-1) 0 0;padding:0;display:flex;flex-direction:column;gap:3px}
.cal__evt a{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:2px 6px;border-left:3px solid var(--brand-secondary);border-radius:var(--radius-xs);background:var(--rose-100);color:var(--blue-800);font:var(--type-caption);text-decoration:none}
.cal__evt a:hover{background:var(--blue-100);text-decoration:underline}
.cal__evt--suite a{opacity:.8;border-left-style:dotted}
.cal__h{font-weight:var(--weight-semibold)}
.cal__liste{margin-top:var(--space-8)}
@media (max-width:759px){
  .cal__table{display:none}
  .cal__liste{margin-top:var(--space-2)}
  .cal__titre{flex:1;min-width:0;text-align:center}
}

.events{list-style:none;margin:0;padding:0}
.events__empty{padding:var(--space-12) 0;color:var(--text-muted)}
:root{--event-date-col:120px;--event-gap:var(--space-8)}
/* Le texte d'introduction d'une page de liste s'aligne sur la colonne des descriptions (même réglage que .event) */
.intro-liste{margin:0 0 var(--space-8) calc(var(--event-date-col) + var(--event-gap))}
.event{display:grid;grid-template-columns:var(--event-date-col) minmax(0,1fr);gap:var(--space-2) var(--event-gap);padding:var(--space-8) 0;border-bottom:var(--hairline) solid var(--border-subtle)}
.when{font-family:var(--font-display)}
.when__d{display:block;font-weight:300;font-size:54px;line-height:1;color:var(--blue-800);letter-spacing:var(--tracking-display)}
/* Alignement optique : la marge interne gauche du premier chiffre varie dans Fahkwang
   (0,15 em pour le « 1 », 0,02 à 0,05 em pour les autres, mesurée sur la police). */
.when__d[data-first="0"]{margin-left:-.02em}.when__d[data-first="1"]{margin-left:-.15em}
.when__d[data-first="2"]{margin-left:-.04em}.when__d[data-first="3"]{margin-left:-.04em}
.when__d[data-first="4"]{margin-left:-.04em}.when__d[data-first="5"]{margin-left:-.05em}
.when__d[data-first="6"]{margin-left:-.03em}.when__d[data-first="7"]{margin-left:-.04em}
.when__d[data-first="8"]{margin-left:-.02em}.when__d[data-first="9"]{margin-left:-.03em}
.when__m{display:block;margin-top:6px;font:var(--type-eyebrow);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-800)}
.when__y{display:block;margin-top:2px;font:var(--type-caption);color:var(--text-muted)}
.when__ics{display:inline-flex;align-items:flex-start;gap:6px;margin-top:var(--space-3);font:var(--type-caption);line-height:1.35;color:var(--brand-primary);text-decoration:none}
.when__ics .ico{flex:none;width:14px;height:14px;margin-top:1px}
.when__ics:hover span{text-decoration:underline;text-underline-offset:2px}
.event__body{min-width:0}
.event__next{display:inline-block;margin-bottom:10px;padding:2px 8px;border-radius:var(--radius-xs);background:var(--orange-500);color:var(--blue-900);font:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase}
.event h2{font:var(--type-h3)}
.event__meta{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:12px;font:var(--type-body-sm);color:var(--text-muted)}
.event__meta span{display:inline-flex;align-items:center;gap:8px}
.event__type{display:inline-block;margin-top:14px;padding:2px 10px;border-radius:var(--radius-pill);background:var(--rose-100);color:var(--blue-800);font:var(--type-eyebrow);letter-spacing:var(--tracking-wide);text-transform:uppercase}
.event__desc{margin-top:12px;max-width:68ch}
.event__desc--plain{white-space:pre-line}
.event__desc > * + *{margin-top:.6em}
.event__desc ul,.event__desc ol{padding-left:1.3em}
.event .fl-btn{display:flex;width:fit-content;margin-top:var(--space-5)}
@media (max-width:640px){
  .intro-liste{margin-left:0}
  .event{grid-template-columns:1fr;padding:var(--space-6) 0}
  .when{display:flex;align-items:baseline;gap:10px}
  .when__d{font-size:34px}
  .when__m,.when__y{margin:0}
  .event h2{font:var(--type-h4)}
}

/* ---------- Pied de page ---------- */
.site-footer{background:var(--surface-inverse-deep);color:var(--blue-200)}
.site-footer__grid{display:grid;grid-template-columns:minmax(220px,1.3fr) repeat(auto-fit,minmax(170px,1fr));gap:var(--space-10);padding-top:var(--space-16);padding-bottom:var(--space-8)}
.site-footer__brand img{height:64px;width:auto}
.site-footer__brand p{margin-top:var(--space-4);max-width:30ch;font:var(--type-body-sm)}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.site-footer a{color:var(--blue-200);text-decoration:none;font:var(--type-body-sm)}
.site-footer a:hover{color:var(--white);text-decoration:underline}
.site-footer__title{margin:0 0 var(--space-3);color:var(--rose-300);font:var(--type-eyebrow);letter-spacing:var(--tracking-wide);text-transform:uppercase}
.site-footer__title a{color:var(--rose-300);font:inherit;letter-spacing:inherit;text-transform:inherit}
.site-footer__legal{border-top:var(--hairline) solid var(--border-on-inverse);font:var(--type-caption)}
.site-footer__legal .container{padding-top:var(--space-5);padding-bottom:var(--space-5)}
.site-footer__legal-in{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.site-footer .site-footer__social{flex-direction:row;gap:var(--space-5)}
.site-footer__social a{display:inline-flex;color:var(--white);padding:var(--space-1)}
.site-footer__social a:hover{color:var(--rose-300);text-decoration:none}
.site-footer__social .ico{display:block}
@media (max-width:640px){.site-footer__grid{grid-template-columns:1fr;padding-top:var(--space-12)}}

/* Formulaire de contact (balise <formulaire>) */
.form-contact{display:flex;flex-direction:column;gap:var(--space-5);max-width:760px;margin-top:var(--space-6)}
.form-contact__note,.form-contact__rgpd{margin:0;font:var(--type-body-sm);color:var(--text-muted)}
.form-contact__grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}
.form-contact .champ{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.form-contact label{font:var(--type-body-sm);font-weight:600;color:var(--text-heading)}
.champ__req{color:var(--brand-primary)}
.form-contact :is(input,textarea,select){width:100%;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card,#fff);color:var(--text-body);font:var(--type-body)}
.form-contact textarea{resize:vertical;min-height:9em}
.form-contact :is(input,textarea,select):hover{border-color:var(--brand-primary)}
.form-contact :is(input,textarea,select):focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--brand-primary)}
.form-contact :is(input,textarea,select):user-invalid{border-color:#b3261e}
.form-contact button{align-self:flex-start}
.champ-piege{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media (max-width:640px){.form-contact__grille{grid-template-columns:1fr}}

/* Liens qui s'ouvrent dans un nouvel onglet : petite flèche ↗ (texte alternatif « nouvel onglet » pour les lecteurs d'écran) */
a[target="_blank"]:not(.fl-btn):not([aria-label])::after{content:"\2197";content:"\2197" / " (nouvel onglet)";display:inline-block;margin-left:.2em;font-size:.85em;text-decoration:none}
a.fl-btn[target="_blank"]::after{content:"";content:"" / "(nouvel onglet)";display:inline-block;width:0;overflow:hidden}

/* Encadré « Quand et où ? » d'une actualité qui annonce un évènement */
.evt-encart{margin:0 0 var(--space-8);padding:var(--space-5) var(--space-6);background:var(--rose-100);border-left:4px solid var(--accent,#0C435C);border-radius:var(--radius-sm)}
.evt-encart h2{margin:0 0 var(--space-3);font:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow,.08em);text-transform:uppercase;color:var(--text-muted)}
.evt-encart__infos{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);margin:0;padding:0;list-style:none;font-weight:600}
.evt-encart__infos li{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:0}
.evt-encart__infos li::before{content:none}
.evt-encart__infos .ico{flex:none}
.evt-encart__type span{display:inline-block;padding:2px 10px;border:1px solid var(--blue-800);border-radius:var(--radius-pill);color:var(--blue-800);font:var(--type-eyebrow);letter-spacing:var(--tracking-wide);text-transform:uppercase}
.evt-encart__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-4) 0 0}

/* Carte des membres (balise <carte-membres>) : écrans larges uniquement ; en dessous de 1000 px, seule la liste est affichée. */
.cm{margin-top:var(--space-6)}
.cm__cartes{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:var(--space-6);align-items:start}
.cm__carte,.cm__zoom{margin:0}
.cm__zoom figcaption{margin-top:var(--space-2);font:var(--type-caption);color:var(--text-muted)}
.cm__svg{display:block;width:100%;height:auto;font-family:inherit}
.cm__deps path{fill:var(--blue-100);stroke:#fff;stroke-width:1.5;stroke-linejoin:round}
.cm__zone circle{fill:none;stroke:var(--blue-600);stroke-width:1.2;stroke-dasharray:4 3}
.cm__zone text{fill:var(--blue-700);font-size:12.5px;font-weight:600}
.cm__fond{fill:var(--blue-50)}
.cm__communes path{fill:var(--blue-100);stroke:#fff;stroke-width:.8;stroke-linejoin:round}
.cm__cadre{fill:none;stroke:var(--border-default);stroke-width:1}
.pt--c0{--pt-fond:var(--blue-300);--pt-texte:var(--blue-950)}
.pt--c1{--pt-fond:var(--blue-800);--pt-texte:#fff}
.pt--c2{--pt-fond:var(--rose-500);--pt-texte:var(--blue-900)}
.pt--c3{--pt-fond:var(--orange-500);--pt-texte:var(--blue-900)}
.pt--c4{--pt-fond:var(--green-600);--pt-texte:#fff}
.pt--c5{--pt-fond:var(--blue-400);--pt-texte:var(--blue-950)}
.pt--c6{--pt-fond:var(--rose-800);--pt-texte:#fff}
.pt{cursor:pointer;outline:none}
.pt__disque{fill:var(--pt-fond);stroke:#fff;stroke-width:1.5}
.pt__vrai{fill:var(--pt-fond);stroke:#fff;stroke-width:1}
.pt__fil{stroke:var(--pt-fond);stroke-width:1.3}
.pt__num{fill:var(--pt-texte);font-size:12.5px;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.pt:hover .pt__disque,.pt:focus-visible .pt__disque{stroke:var(--blue-950);stroke-width:2.5}
.pt:focus-visible .pt__disque{stroke:var(--focus-ring);stroke-width:3}
.bulle{display:none;pointer-events:none}
.bulle rect{fill:var(--blue-950)}
.bulle text{fill:#fff;font-size:11px;font-weight:600;dominant-baseline:middle}
.cm .cm__legende{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:var(--space-2) var(--space-12,48px);margin:var(--space-5) 0 0;padding:0;list-style:none;font:var(--type-body-sm)}
.cm .cm__legende li{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:0;line-height:1.4}
.cm .cm__legende li::before{content:none}
.pt-pastille{display:inline-grid;place-items:center;flex:none;min-width:22px;height:22px;padding:0 4px;border-radius:11px;background:var(--pt-fond);color:var(--pt-texte);font-size:.72rem;font-weight:700;line-height:1}
.cm__legende .pt-pastille{min-width:14px;height:14px;padding:0}
.cm__liste{columns:3;column-gap:var(--space-8);margin-top:var(--space-8)}
.cm__dep{break-inside:avoid;margin:0 0 var(--space-5)}
.cm__dep h3{margin:0 0 var(--space-2);font:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow,.08em);text-transform:uppercase;color:var(--text-muted)}
.cm__dep ul{margin:0;padding:0;list-style:none}
.cm__item{display:flex;align-items:flex-start;gap:var(--space-3);padding:5px 6px;border-radius:var(--radius-sm);scroll-margin-top:110px}
.cm__item small{display:block;font:var(--type-caption);color:var(--text-muted)}
.cm__item:hover,.cm__item:target{background:var(--rose-100)}
.cm__item a{color:inherit;text-decoration:none}
.cm__item a:hover{text-decoration:underline;text-underline-offset:3px}
.cm__source{margin-top:var(--space-6);font:var(--type-caption);color:var(--text-muted)}
@media (max-width:999px){.cm__cartes{display:none}.cm__liste{columns:1}}
@media (min-width:1000px) and (max-width:1199px){.cm__liste{columns:2}}
.cm:has(:is(.pt,.cm__item)[data-n="1"]:is(:hover,:focus-visible)) .bulle[data-n="1"]{display:block}
.cm:has(.cm__item[data-n="1"]:hover) .pt[data-n="1"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="1"]:is(:hover,:focus-visible)) .cm__item[data-n="1"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="2"]:is(:hover,:focus-visible)) .bulle[data-n="2"]{display:block}
.cm:has(.cm__item[data-n="2"]:hover) .pt[data-n="2"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="2"]:is(:hover,:focus-visible)) .cm__item[data-n="2"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="3"]:is(:hover,:focus-visible)) .bulle[data-n="3"]{display:block}
.cm:has(.cm__item[data-n="3"]:hover) .pt[data-n="3"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="3"]:is(:hover,:focus-visible)) .cm__item[data-n="3"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="4"]:is(:hover,:focus-visible)) .bulle[data-n="4"]{display:block}
.cm:has(.cm__item[data-n="4"]:hover) .pt[data-n="4"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="4"]:is(:hover,:focus-visible)) .cm__item[data-n="4"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="5"]:is(:hover,:focus-visible)) .bulle[data-n="5"]{display:block}
.cm:has(.cm__item[data-n="5"]:hover) .pt[data-n="5"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="5"]:is(:hover,:focus-visible)) .cm__item[data-n="5"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="6"]:is(:hover,:focus-visible)) .bulle[data-n="6"]{display:block}
.cm:has(.cm__item[data-n="6"]:hover) .pt[data-n="6"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="6"]:is(:hover,:focus-visible)) .cm__item[data-n="6"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="7"]:is(:hover,:focus-visible)) .bulle[data-n="7"]{display:block}
.cm:has(.cm__item[data-n="7"]:hover) .pt[data-n="7"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="7"]:is(:hover,:focus-visible)) .cm__item[data-n="7"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="8"]:is(:hover,:focus-visible)) .bulle[data-n="8"]{display:block}
.cm:has(.cm__item[data-n="8"]:hover) .pt[data-n="8"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="8"]:is(:hover,:focus-visible)) .cm__item[data-n="8"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="9"]:is(:hover,:focus-visible)) .bulle[data-n="9"]{display:block}
.cm:has(.cm__item[data-n="9"]:hover) .pt[data-n="9"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="9"]:is(:hover,:focus-visible)) .cm__item[data-n="9"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="10"]:is(:hover,:focus-visible)) .bulle[data-n="10"]{display:block}
.cm:has(.cm__item[data-n="10"]:hover) .pt[data-n="10"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="10"]:is(:hover,:focus-visible)) .cm__item[data-n="10"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="11"]:is(:hover,:focus-visible)) .bulle[data-n="11"]{display:block}
.cm:has(.cm__item[data-n="11"]:hover) .pt[data-n="11"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="11"]:is(:hover,:focus-visible)) .cm__item[data-n="11"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="12"]:is(:hover,:focus-visible)) .bulle[data-n="12"]{display:block}
.cm:has(.cm__item[data-n="12"]:hover) .pt[data-n="12"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="12"]:is(:hover,:focus-visible)) .cm__item[data-n="12"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="13"]:is(:hover,:focus-visible)) .bulle[data-n="13"]{display:block}
.cm:has(.cm__item[data-n="13"]:hover) .pt[data-n="13"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="13"]:is(:hover,:focus-visible)) .cm__item[data-n="13"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="14"]:is(:hover,:focus-visible)) .bulle[data-n="14"]{display:block}
.cm:has(.cm__item[data-n="14"]:hover) .pt[data-n="14"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="14"]:is(:hover,:focus-visible)) .cm__item[data-n="14"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="15"]:is(:hover,:focus-visible)) .bulle[data-n="15"]{display:block}
.cm:has(.cm__item[data-n="15"]:hover) .pt[data-n="15"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="15"]:is(:hover,:focus-visible)) .cm__item[data-n="15"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="16"]:is(:hover,:focus-visible)) .bulle[data-n="16"]{display:block}
.cm:has(.cm__item[data-n="16"]:hover) .pt[data-n="16"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="16"]:is(:hover,:focus-visible)) .cm__item[data-n="16"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="17"]:is(:hover,:focus-visible)) .bulle[data-n="17"]{display:block}
.cm:has(.cm__item[data-n="17"]:hover) .pt[data-n="17"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="17"]:is(:hover,:focus-visible)) .cm__item[data-n="17"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="18"]:is(:hover,:focus-visible)) .bulle[data-n="18"]{display:block}
.cm:has(.cm__item[data-n="18"]:hover) .pt[data-n="18"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="18"]:is(:hover,:focus-visible)) .cm__item[data-n="18"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="19"]:is(:hover,:focus-visible)) .bulle[data-n="19"]{display:block}
.cm:has(.cm__item[data-n="19"]:hover) .pt[data-n="19"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="19"]:is(:hover,:focus-visible)) .cm__item[data-n="19"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="20"]:is(:hover,:focus-visible)) .bulle[data-n="20"]{display:block}
.cm:has(.cm__item[data-n="20"]:hover) .pt[data-n="20"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="20"]:is(:hover,:focus-visible)) .cm__item[data-n="20"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="21"]:is(:hover,:focus-visible)) .bulle[data-n="21"]{display:block}
.cm:has(.cm__item[data-n="21"]:hover) .pt[data-n="21"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="21"]:is(:hover,:focus-visible)) .cm__item[data-n="21"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="22"]:is(:hover,:focus-visible)) .bulle[data-n="22"]{display:block}
.cm:has(.cm__item[data-n="22"]:hover) .pt[data-n="22"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="22"]:is(:hover,:focus-visible)) .cm__item[data-n="22"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="23"]:is(:hover,:focus-visible)) .bulle[data-n="23"]{display:block}
.cm:has(.cm__item[data-n="23"]:hover) .pt[data-n="23"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="23"]:is(:hover,:focus-visible)) .cm__item[data-n="23"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="24"]:is(:hover,:focus-visible)) .bulle[data-n="24"]{display:block}
.cm:has(.cm__item[data-n="24"]:hover) .pt[data-n="24"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="24"]:is(:hover,:focus-visible)) .cm__item[data-n="24"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="25"]:is(:hover,:focus-visible)) .bulle[data-n="25"]{display:block}
.cm:has(.cm__item[data-n="25"]:hover) .pt[data-n="25"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="25"]:is(:hover,:focus-visible)) .cm__item[data-n="25"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="26"]:is(:hover,:focus-visible)) .bulle[data-n="26"]{display:block}
.cm:has(.cm__item[data-n="26"]:hover) .pt[data-n="26"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="26"]:is(:hover,:focus-visible)) .cm__item[data-n="26"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="27"]:is(:hover,:focus-visible)) .bulle[data-n="27"]{display:block}
.cm:has(.cm__item[data-n="27"]:hover) .pt[data-n="27"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="27"]:is(:hover,:focus-visible)) .cm__item[data-n="27"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="28"]:is(:hover,:focus-visible)) .bulle[data-n="28"]{display:block}
.cm:has(.cm__item[data-n="28"]:hover) .pt[data-n="28"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="28"]:is(:hover,:focus-visible)) .cm__item[data-n="28"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="29"]:is(:hover,:focus-visible)) .bulle[data-n="29"]{display:block}
.cm:has(.cm__item[data-n="29"]:hover) .pt[data-n="29"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="29"]:is(:hover,:focus-visible)) .cm__item[data-n="29"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="30"]:is(:hover,:focus-visible)) .bulle[data-n="30"]{display:block}
.cm:has(.cm__item[data-n="30"]:hover) .pt[data-n="30"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="30"]:is(:hover,:focus-visible)) .cm__item[data-n="30"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="31"]:is(:hover,:focus-visible)) .bulle[data-n="31"]{display:block}
.cm:has(.cm__item[data-n="31"]:hover) .pt[data-n="31"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="31"]:is(:hover,:focus-visible)) .cm__item[data-n="31"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="32"]:is(:hover,:focus-visible)) .bulle[data-n="32"]{display:block}
.cm:has(.cm__item[data-n="32"]:hover) .pt[data-n="32"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="32"]:is(:hover,:focus-visible)) .cm__item[data-n="32"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="33"]:is(:hover,:focus-visible)) .bulle[data-n="33"]{display:block}
.cm:has(.cm__item[data-n="33"]:hover) .pt[data-n="33"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="33"]:is(:hover,:focus-visible)) .cm__item[data-n="33"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="34"]:is(:hover,:focus-visible)) .bulle[data-n="34"]{display:block}
.cm:has(.cm__item[data-n="34"]:hover) .pt[data-n="34"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="34"]:is(:hover,:focus-visible)) .cm__item[data-n="34"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="35"]:is(:hover,:focus-visible)) .bulle[data-n="35"]{display:block}
.cm:has(.cm__item[data-n="35"]:hover) .pt[data-n="35"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="35"]:is(:hover,:focus-visible)) .cm__item[data-n="35"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="36"]:is(:hover,:focus-visible)) .bulle[data-n="36"]{display:block}
.cm:has(.cm__item[data-n="36"]:hover) .pt[data-n="36"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="36"]:is(:hover,:focus-visible)) .cm__item[data-n="36"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="37"]:is(:hover,:focus-visible)) .bulle[data-n="37"]{display:block}
.cm:has(.cm__item[data-n="37"]:hover) .pt[data-n="37"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="37"]:is(:hover,:focus-visible)) .cm__item[data-n="37"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="38"]:is(:hover,:focus-visible)) .bulle[data-n="38"]{display:block}
.cm:has(.cm__item[data-n="38"]:hover) .pt[data-n="38"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="38"]:is(:hover,:focus-visible)) .cm__item[data-n="38"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="39"]:is(:hover,:focus-visible)) .bulle[data-n="39"]{display:block}
.cm:has(.cm__item[data-n="39"]:hover) .pt[data-n="39"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="39"]:is(:hover,:focus-visible)) .cm__item[data-n="39"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="40"]:is(:hover,:focus-visible)) .bulle[data-n="40"]{display:block}
.cm:has(.cm__item[data-n="40"]:hover) .pt[data-n="40"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="40"]:is(:hover,:focus-visible)) .cm__item[data-n="40"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="41"]:is(:hover,:focus-visible)) .bulle[data-n="41"]{display:block}
.cm:has(.cm__item[data-n="41"]:hover) .pt[data-n="41"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="41"]:is(:hover,:focus-visible)) .cm__item[data-n="41"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="42"]:is(:hover,:focus-visible)) .bulle[data-n="42"]{display:block}
.cm:has(.cm__item[data-n="42"]:hover) .pt[data-n="42"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="42"]:is(:hover,:focus-visible)) .cm__item[data-n="42"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="43"]:is(:hover,:focus-visible)) .bulle[data-n="43"]{display:block}
.cm:has(.cm__item[data-n="43"]:hover) .pt[data-n="43"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="43"]:is(:hover,:focus-visible)) .cm__item[data-n="43"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="44"]:is(:hover,:focus-visible)) .bulle[data-n="44"]{display:block}
.cm:has(.cm__item[data-n="44"]:hover) .pt[data-n="44"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="44"]:is(:hover,:focus-visible)) .cm__item[data-n="44"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="45"]:is(:hover,:focus-visible)) .bulle[data-n="45"]{display:block}
.cm:has(.cm__item[data-n="45"]:hover) .pt[data-n="45"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="45"]:is(:hover,:focus-visible)) .cm__item[data-n="45"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="46"]:is(:hover,:focus-visible)) .bulle[data-n="46"]{display:block}
.cm:has(.cm__item[data-n="46"]:hover) .pt[data-n="46"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="46"]:is(:hover,:focus-visible)) .cm__item[data-n="46"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="47"]:is(:hover,:focus-visible)) .bulle[data-n="47"]{display:block}
.cm:has(.cm__item[data-n="47"]:hover) .pt[data-n="47"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="47"]:is(:hover,:focus-visible)) .cm__item[data-n="47"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="48"]:is(:hover,:focus-visible)) .bulle[data-n="48"]{display:block}
.cm:has(.cm__item[data-n="48"]:hover) .pt[data-n="48"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="48"]:is(:hover,:focus-visible)) .cm__item[data-n="48"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="49"]:is(:hover,:focus-visible)) .bulle[data-n="49"]{display:block}
.cm:has(.cm__item[data-n="49"]:hover) .pt[data-n="49"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="49"]:is(:hover,:focus-visible)) .cm__item[data-n="49"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="50"]:is(:hover,:focus-visible)) .bulle[data-n="50"]{display:block}
.cm:has(.cm__item[data-n="50"]:hover) .pt[data-n="50"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="50"]:is(:hover,:focus-visible)) .cm__item[data-n="50"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="51"]:is(:hover,:focus-visible)) .bulle[data-n="51"]{display:block}
.cm:has(.cm__item[data-n="51"]:hover) .pt[data-n="51"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="51"]:is(:hover,:focus-visible)) .cm__item[data-n="51"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="52"]:is(:hover,:focus-visible)) .bulle[data-n="52"]{display:block}
.cm:has(.cm__item[data-n="52"]:hover) .pt[data-n="52"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="52"]:is(:hover,:focus-visible)) .cm__item[data-n="52"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="53"]:is(:hover,:focus-visible)) .bulle[data-n="53"]{display:block}
.cm:has(.cm__item[data-n="53"]:hover) .pt[data-n="53"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="53"]:is(:hover,:focus-visible)) .cm__item[data-n="53"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="54"]:is(:hover,:focus-visible)) .bulle[data-n="54"]{display:block}
.cm:has(.cm__item[data-n="54"]:hover) .pt[data-n="54"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="54"]:is(:hover,:focus-visible)) .cm__item[data-n="54"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="55"]:is(:hover,:focus-visible)) .bulle[data-n="55"]{display:block}
.cm:has(.cm__item[data-n="55"]:hover) .pt[data-n="55"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="55"]:is(:hover,:focus-visible)) .cm__item[data-n="55"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="56"]:is(:hover,:focus-visible)) .bulle[data-n="56"]{display:block}
.cm:has(.cm__item[data-n="56"]:hover) .pt[data-n="56"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="56"]:is(:hover,:focus-visible)) .cm__item[data-n="56"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="57"]:is(:hover,:focus-visible)) .bulle[data-n="57"]{display:block}
.cm:has(.cm__item[data-n="57"]:hover) .pt[data-n="57"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="57"]:is(:hover,:focus-visible)) .cm__item[data-n="57"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="58"]:is(:hover,:focus-visible)) .bulle[data-n="58"]{display:block}
.cm:has(.cm__item[data-n="58"]:hover) .pt[data-n="58"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="58"]:is(:hover,:focus-visible)) .cm__item[data-n="58"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="59"]:is(:hover,:focus-visible)) .bulle[data-n="59"]{display:block}
.cm:has(.cm__item[data-n="59"]:hover) .pt[data-n="59"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="59"]:is(:hover,:focus-visible)) .cm__item[data-n="59"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="60"]:is(:hover,:focus-visible)) .bulle[data-n="60"]{display:block}
.cm:has(.cm__item[data-n="60"]:hover) .pt[data-n="60"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="60"]:is(:hover,:focus-visible)) .cm__item[data-n="60"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="61"]:is(:hover,:focus-visible)) .bulle[data-n="61"]{display:block}
.cm:has(.cm__item[data-n="61"]:hover) .pt[data-n="61"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="61"]:is(:hover,:focus-visible)) .cm__item[data-n="61"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="62"]:is(:hover,:focus-visible)) .bulle[data-n="62"]{display:block}
.cm:has(.cm__item[data-n="62"]:hover) .pt[data-n="62"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="62"]:is(:hover,:focus-visible)) .cm__item[data-n="62"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="63"]:is(:hover,:focus-visible)) .bulle[data-n="63"]{display:block}
.cm:has(.cm__item[data-n="63"]:hover) .pt[data-n="63"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="63"]:is(:hover,:focus-visible)) .cm__item[data-n="63"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="64"]:is(:hover,:focus-visible)) .bulle[data-n="64"]{display:block}
.cm:has(.cm__item[data-n="64"]:hover) .pt[data-n="64"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="64"]:is(:hover,:focus-visible)) .cm__item[data-n="64"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="65"]:is(:hover,:focus-visible)) .bulle[data-n="65"]{display:block}
.cm:has(.cm__item[data-n="65"]:hover) .pt[data-n="65"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="65"]:is(:hover,:focus-visible)) .cm__item[data-n="65"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="66"]:is(:hover,:focus-visible)) .bulle[data-n="66"]{display:block}
.cm:has(.cm__item[data-n="66"]:hover) .pt[data-n="66"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="66"]:is(:hover,:focus-visible)) .cm__item[data-n="66"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="67"]:is(:hover,:focus-visible)) .bulle[data-n="67"]{display:block}
.cm:has(.cm__item[data-n="67"]:hover) .pt[data-n="67"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="67"]:is(:hover,:focus-visible)) .cm__item[data-n="67"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="68"]:is(:hover,:focus-visible)) .bulle[data-n="68"]{display:block}
.cm:has(.cm__item[data-n="68"]:hover) .pt[data-n="68"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="68"]:is(:hover,:focus-visible)) .cm__item[data-n="68"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="69"]:is(:hover,:focus-visible)) .bulle[data-n="69"]{display:block}
.cm:has(.cm__item[data-n="69"]:hover) .pt[data-n="69"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="69"]:is(:hover,:focus-visible)) .cm__item[data-n="69"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="70"]:is(:hover,:focus-visible)) .bulle[data-n="70"]{display:block}
.cm:has(.cm__item[data-n="70"]:hover) .pt[data-n="70"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="70"]:is(:hover,:focus-visible)) .cm__item[data-n="70"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="71"]:is(:hover,:focus-visible)) .bulle[data-n="71"]{display:block}
.cm:has(.cm__item[data-n="71"]:hover) .pt[data-n="71"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="71"]:is(:hover,:focus-visible)) .cm__item[data-n="71"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="72"]:is(:hover,:focus-visible)) .bulle[data-n="72"]{display:block}
.cm:has(.cm__item[data-n="72"]:hover) .pt[data-n="72"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="72"]:is(:hover,:focus-visible)) .cm__item[data-n="72"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="73"]:is(:hover,:focus-visible)) .bulle[data-n="73"]{display:block}
.cm:has(.cm__item[data-n="73"]:hover) .pt[data-n="73"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="73"]:is(:hover,:focus-visible)) .cm__item[data-n="73"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="74"]:is(:hover,:focus-visible)) .bulle[data-n="74"]{display:block}
.cm:has(.cm__item[data-n="74"]:hover) .pt[data-n="74"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="74"]:is(:hover,:focus-visible)) .cm__item[data-n="74"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="75"]:is(:hover,:focus-visible)) .bulle[data-n="75"]{display:block}
.cm:has(.cm__item[data-n="75"]:hover) .pt[data-n="75"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="75"]:is(:hover,:focus-visible)) .cm__item[data-n="75"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="76"]:is(:hover,:focus-visible)) .bulle[data-n="76"]{display:block}
.cm:has(.cm__item[data-n="76"]:hover) .pt[data-n="76"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="76"]:is(:hover,:focus-visible)) .cm__item[data-n="76"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="77"]:is(:hover,:focus-visible)) .bulle[data-n="77"]{display:block}
.cm:has(.cm__item[data-n="77"]:hover) .pt[data-n="77"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="77"]:is(:hover,:focus-visible)) .cm__item[data-n="77"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="78"]:is(:hover,:focus-visible)) .bulle[data-n="78"]{display:block}
.cm:has(.cm__item[data-n="78"]:hover) .pt[data-n="78"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="78"]:is(:hover,:focus-visible)) .cm__item[data-n="78"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="79"]:is(:hover,:focus-visible)) .bulle[data-n="79"]{display:block}
.cm:has(.cm__item[data-n="79"]:hover) .pt[data-n="79"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="79"]:is(:hover,:focus-visible)) .cm__item[data-n="79"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="80"]:is(:hover,:focus-visible)) .bulle[data-n="80"]{display:block}
.cm:has(.cm__item[data-n="80"]:hover) .pt[data-n="80"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="80"]:is(:hover,:focus-visible)) .cm__item[data-n="80"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="81"]:is(:hover,:focus-visible)) .bulle[data-n="81"]{display:block}
.cm:has(.cm__item[data-n="81"]:hover) .pt[data-n="81"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="81"]:is(:hover,:focus-visible)) .cm__item[data-n="81"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="82"]:is(:hover,:focus-visible)) .bulle[data-n="82"]{display:block}
.cm:has(.cm__item[data-n="82"]:hover) .pt[data-n="82"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="82"]:is(:hover,:focus-visible)) .cm__item[data-n="82"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="83"]:is(:hover,:focus-visible)) .bulle[data-n="83"]{display:block}
.cm:has(.cm__item[data-n="83"]:hover) .pt[data-n="83"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="83"]:is(:hover,:focus-visible)) .cm__item[data-n="83"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="84"]:is(:hover,:focus-visible)) .bulle[data-n="84"]{display:block}
.cm:has(.cm__item[data-n="84"]:hover) .pt[data-n="84"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="84"]:is(:hover,:focus-visible)) .cm__item[data-n="84"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="85"]:is(:hover,:focus-visible)) .bulle[data-n="85"]{display:block}
.cm:has(.cm__item[data-n="85"]:hover) .pt[data-n="85"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="85"]:is(:hover,:focus-visible)) .cm__item[data-n="85"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="86"]:is(:hover,:focus-visible)) .bulle[data-n="86"]{display:block}
.cm:has(.cm__item[data-n="86"]:hover) .pt[data-n="86"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="86"]:is(:hover,:focus-visible)) .cm__item[data-n="86"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="87"]:is(:hover,:focus-visible)) .bulle[data-n="87"]{display:block}
.cm:has(.cm__item[data-n="87"]:hover) .pt[data-n="87"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="87"]:is(:hover,:focus-visible)) .cm__item[data-n="87"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="88"]:is(:hover,:focus-visible)) .bulle[data-n="88"]{display:block}
.cm:has(.cm__item[data-n="88"]:hover) .pt[data-n="88"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="88"]:is(:hover,:focus-visible)) .cm__item[data-n="88"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="89"]:is(:hover,:focus-visible)) .bulle[data-n="89"]{display:block}
.cm:has(.cm__item[data-n="89"]:hover) .pt[data-n="89"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="89"]:is(:hover,:focus-visible)) .cm__item[data-n="89"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="90"]:is(:hover,:focus-visible)) .bulle[data-n="90"]{display:block}
.cm:has(.cm__item[data-n="90"]:hover) .pt[data-n="90"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="90"]:is(:hover,:focus-visible)) .cm__item[data-n="90"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="91"]:is(:hover,:focus-visible)) .bulle[data-n="91"]{display:block}
.cm:has(.cm__item[data-n="91"]:hover) .pt[data-n="91"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="91"]:is(:hover,:focus-visible)) .cm__item[data-n="91"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="92"]:is(:hover,:focus-visible)) .bulle[data-n="92"]{display:block}
.cm:has(.cm__item[data-n="92"]:hover) .pt[data-n="92"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="92"]:is(:hover,:focus-visible)) .cm__item[data-n="92"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="93"]:is(:hover,:focus-visible)) .bulle[data-n="93"]{display:block}
.cm:has(.cm__item[data-n="93"]:hover) .pt[data-n="93"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="93"]:is(:hover,:focus-visible)) .cm__item[data-n="93"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="94"]:is(:hover,:focus-visible)) .bulle[data-n="94"]{display:block}
.cm:has(.cm__item[data-n="94"]:hover) .pt[data-n="94"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="94"]:is(:hover,:focus-visible)) .cm__item[data-n="94"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="95"]:is(:hover,:focus-visible)) .bulle[data-n="95"]{display:block}
.cm:has(.cm__item[data-n="95"]:hover) .pt[data-n="95"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="95"]:is(:hover,:focus-visible)) .cm__item[data-n="95"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="96"]:is(:hover,:focus-visible)) .bulle[data-n="96"]{display:block}
.cm:has(.cm__item[data-n="96"]:hover) .pt[data-n="96"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="96"]:is(:hover,:focus-visible)) .cm__item[data-n="96"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="97"]:is(:hover,:focus-visible)) .bulle[data-n="97"]{display:block}
.cm:has(.cm__item[data-n="97"]:hover) .pt[data-n="97"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="97"]:is(:hover,:focus-visible)) .cm__item[data-n="97"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="98"]:is(:hover,:focus-visible)) .bulle[data-n="98"]{display:block}
.cm:has(.cm__item[data-n="98"]:hover) .pt[data-n="98"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="98"]:is(:hover,:focus-visible)) .cm__item[data-n="98"]{background:var(--rose-100)}
.cm:has(:is(.pt,.cm__item)[data-n="99"]:is(:hover,:focus-visible)) .bulle[data-n="99"]{display:block}
.cm:has(.cm__item[data-n="99"]:hover) .pt[data-n="99"] .pt__disque{stroke:var(--blue-950);stroke-width:3}
.cm:has(.pt[data-n="99"]:is(:hover,:focus-visible)) .cm__item[data-n="99"]{background:var(--rose-100)}
