/* Règles de classe minimales pour les états que l'inline ne peut pas exprimer (pseudo-éléments, media queries). */
.fl-link{display:inline-block;position:relative;font-family:var(--font-text);font-weight:400;font-size:var(--small);line-height:1.4;text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text);padding:0 0 3px;background:none;border:0;cursor:pointer;text-decoration:none;white-space:nowrap}
.fl-link::before,.fl-link::after{content:"";position:absolute;left:0;bottom:0;height:1px}
.fl-link::before{width:100%;background:currentColor;opacity:0}
.fl-link--action::before,.fl-link--retour::before,.fl-link.is-active::before{opacity:1}
.fl-link::after{width:0;background:var(--laiton);transition:width var(--dur-underline) var(--ease)}
.fl-link:hover::after,.fl-link:focus-visible::after,.fl-link.is-hover::after{width:100%}
.fl-link.is-disabled{color:var(--text-muted);pointer-events:none}
.fl-link:hover,.fl-link:focus-visible{color:var(--text)}
.fl-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;height:var(--header-h);padding:0 var(--margin-page);background:var(--header-scrolled);color:var(--text)}
.fl-header--transparent{position:absolute;left:0;right:0;background:transparent}
.fl-header__logo{display:flex;align-items:center;flex:0 0 auto}
.fl-header__logo img{height:var(--logo-h);width:auto;flex-shrink:0}
.fl-header__nav{display:flex;gap:var(--s-4);margin-left:auto}
.fl-header__contact{margin-left:var(--s-7)}
.fl-header__burger{display:none;margin-left:auto;flex-direction:column;justify-content:center;gap:8px;width:28px;height:44px;padding:0;cursor:pointer}
.fl-header__burger span{display:block;height:1px;background:currentColor}
.fl-header__menu{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;justify-content:center;gap:var(--s-3);padding:var(--margin-page);background:var(--surface);color:var(--text)}
.fl-header__menu .fl-link{font-family:var(--font-display);font-size:var(--display-l);font-weight:300;text-transform:none;letter-spacing:0}
.fl-header__close{position:absolute;top:0;right:var(--margin-page);height:var(--header-h);display:flex;align-items:center}
@media (max-width:1200px){.fl-header__nav{gap:var(--s-3)}.fl-header__contact{margin-left:var(--s-5)}}
@media (max-width:1100px){.fl-header__nav,.fl-header__contact{display:none}.fl-header__burger{display:flex}}
@media (max-width:768px){.fl-header__nav,.fl-header__contact{display:none}.fl-header__burger{display:flex}}
.fl-hero{position:relative;overflow:hidden;background:var(--noir);color:var(--texte-clair)}
.fl-hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fl-hero__text{position:absolute;left:0;right:0;bottom:var(--s-7);padding:0 var(--margin-page);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}
.fl-hero__inner{grid-column:1/7;display:grid;gap:var(--s-4);justify-items:start}
@media (max-width:768px){.fl-hero__inner{grid-column:1/-1}.fl-hero__text{bottom:var(--s-6)}}
.fl-field{display:grid;gap:var(--s-1);text-align:left}
.fl-field__control{width:100%;padding:10px 0;border-bottom:1px solid var(--rule);font-family:var(--font-text);font-weight:300;font-size:var(--body);line-height:1.4;color:var(--text);background:none;appearance:none;-webkit-appearance:none;border-radius:0}
.fl-field__control:focus{outline:none;border-bottom-color:var(--text)}
.fl-field__control::placeholder{color:var(--text-muted)}
.fl-field__control:disabled{color:var(--text-muted);border-bottom-style:dashed}
.fl-field.is-error .fl-field__control{border-bottom-color:var(--text)}
.fl-field select.fl-field__control{cursor:pointer}
.fl-field__select{position:relative}
.fl-field__select::after{content:"↓";position:absolute;right:0;top:10px;font-size:13px;color:var(--text-muted);pointer-events:none}
.fl-cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;height:var(--cta-bar-h);display:none;align-items:center;justify-content:center;gap:var(--s-3);border-top:1px solid var(--rule);background:var(--surface);color:var(--text)}
.fl-cta-bar.is-visible,.fl-cta-bar--static{display:flex}
.fl-cta-bar--static{position:static}
@media (max-width:768px){.fl-cta-bar{display:flex}}
.fl-avis__track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gutter);transition:opacity var(--dur-filter) var(--ease)}
.fl-avis__item:nth-child(n+2){display:block}
@media (max-width:768px){.fl-avis__track{grid-template-columns:1fr}.fl-avis__item:nth-child(n+2){display:none}}
.fl-footer__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gutter);row-gap:var(--s-5)}
@media (max-width:768px){.fl-footer__cols{grid-template-columns:1fr}}
.fl-matieres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--gutter);row-gap:var(--s-4)}
@media (max-width:768px){.fl-matieres{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fl-metier{position:relative;display:block;color:inherit;align-self:start}
.fl-metier__title{position:absolute;left:var(--s-3);bottom:var(--s-3);margin:0}
.fl-fiche{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;column-gap:var(--gutter)}
.fl-fiche > *{padding:12px 0;border-top:1px solid var(--rule)}
.fl-fiche > *:last-child,.fl-fiche > *:nth-last-child(2){border-bottom:1px solid var(--rule)}
