.filab-hero-media {display:block;width:100%;max-width:440px;margin:0 auto 56px;}
.filab-hero-video {display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:20px;background:#111e34;box-shadow:0 24px 64px #0005;}
.filab-takeaway {margin-top:12px;padding:56px 24px 64px;background:#1b2b45;border-block:1px solid #ffffff10;}
.filab-takeaway-card {max-width:1104px;margin:auto;padding:0;border:0;background:transparent;}
.filab-takeaway-card>p:nth-child(2) {max-width:860px;font-size:clamp(20px,2vw,25px);line-height:1.4;}
.filab-takeaway-card ol {gap:32px;margin-top:32px;}
.filab-takeaway-card ol>li {background:#ffffff06;border-color:#ffffff20;padding:24px;}
.filab-section {padding-block:88px;}
.filab-section-shell {max-width:1200px;margin-inline:auto;padding-inline:32px;}
.filab-section h2 {text-align:left;line-height:1.15;scroll-margin-top:170px;}
.filab-section .filab-copy {min-width:0;}
.filab-section-heading {max-width:1000px;}
.filab-section-heading>p,.filab-copy>p {line-height:1.7;}
.filab-split {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:center;}
.filab-photo {margin:0;overflow:hidden;border-radius:20px;background:#dce5ef;isolation:isolate;}
.filab-photo img {display:block;width:100%;height:100%;object-fit:cover;}
.filab-split>.filab-photo {height:100%;min-height:400px;max-height:600px;}
.filab-layout-reverse .filab-split {grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);}
.filab-layout-reverse .filab-split>.filab-photo {grid-column:1;grid-row:1;}
.filab-layout-reverse .filab-split>.filab-copy {grid-column:2;}
.filab-intro {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:52px;align-items:center;}
.filab-intro>.filab-photo {height:280px;}
.filab-layout-intro-reverse .filab-intro {grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);}
.filab-layout-intro-reverse .filab-intro>.filab-photo {grid-column:1;grid-row:1;}
.filab-layout-intro-reverse .filab-intro>.filab-copy {grid-column:2;}
.filab-section-details {margin-top:36px;}
.filab-section--methode .filab-section-details>ol {grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.filab-section--decision>.filab-section-shell>.filab-photo {height:310px;margin-bottom:40px;}
.filab-section--decision .filab-photo img {object-position:center 48%;}
.filab-section--decision .filab-section-heading {max-width:960px;margin-inline:auto;}
.filab-section--decision h2 {text-align:center;}
.filab-preparation-grid {display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.6fr);gap:42px;align-items:stretch;margin-top:36px;}
.filab-preparation-grid>.filab-photo {min-height:460px;}
.filab-preparation-grid .filab-copy>div {margin-top:0;}
.filab-preparation-grid table {min-width:560px;}
.filab-section--livrables .filab-split {grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);}
.filab-section--livrables .filab-photo {max-height:560px;}
.filab-section--preuves>.filab-section-shell>.filab-photo {height:420px;margin-bottom:40px;}
.filab-section--preuves .filab-photo img {object-position:center 54%;}
.filab-section--preuves .filab-section-heading {max-width:100%;}
.filab-section--preuves h2 {max-width:860px;}
.filab-section--preuves .filab-section-details>div {grid-template-columns:repeat(3,minmax(0,1fr));}
.filab-header-mount,.filab-footer-mount {font-weight:400;}
@media (max-width:1023px) {
  .filab-hero-media {max-width:400px;margin-bottom:40px;}
  .filab-section {padding-block:64px;}
  .filab-section-shell {padding-inline:28px;}
  .filab-split,.filab-layout-reverse .filab-split,.filab-intro,.filab-layout-intro-reverse .filab-intro,.filab-section--livrables .filab-split {grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:32px;}
  .filab-split>.filab-photo {min-height:360px;}
  .filab-section--methode .filab-section-details>ol {grid-template-columns:repeat(2,minmax(0,1fr));}
  .filab-preparation-grid {grid-template-columns:1fr;gap:28px;}
  .filab-preparation-grid>.filab-photo {min-height:0;height:260px;}
}
@media (max-width:767px) {
  .filab-hero-media {max-width:360px;margin-bottom:36px;}
  .filab-takeaway {padding:40px 24px 44px;}
  .filab-takeaway-card ol {gap:16px;margin-top:28px;}
  .filab-section {padding-block:52px;}
  .filab-section-shell {padding-inline:24px;}
  .filab-section h2 {font-size:29px;scroll-margin-top:110px;}
  .filab-split,.filab-layout-reverse .filab-split,.filab-intro,.filab-layout-intro-reverse .filab-intro,.filab-section--livrables .filab-split {display:flex;flex-direction:column;gap:28px;}
  .filab-split>.filab-photo,.filab-intro>.filab-photo {width:100%;height:240px;min-height:0;max-height:none;}
  .filab-photo {border-radius:14px;}
  .filab-section-details {margin-top:28px;}
  .filab-section--methode .filab-section-details>ol {grid-template-columns:1fr;gap:18px;}
  .filab-section--decision>.filab-section-shell>.filab-photo {height:210px;margin-bottom:28px;}
  .filab-section--decision h2 {text-align:left;}
  .filab-preparation-grid {margin-top:28px;}
  .filab-preparation-grid>.filab-photo {height:220px;}
  .filab-preparation-grid table {min-width:540px;}
  .filab-section--preuves>.filab-section-shell>.filab-photo {height:240px;margin-bottom:28px;}
  .filab-section--preuves .filab-section-details>div {grid-template-columns:1fr 1fr;}
}

/* Reading navigation, hero proportions, and compact material families. */
.filab-hero-grid {padding-bottom:80px;}
.filab-hero-title {font-size:clamp(36px,4.1vw,54px);line-height:1.08;text-wrap:balance;}
.filab-author-avatar {display:block;width:44px;height:44px;flex:0 0 44px;object-fit:cover;border-radius:50%;box-shadow:0 0 0 2px #ffffff26;}
.filab-author-line {margin-top:28px;}
.filab-hero-media {margin-bottom:0;}
.filab-takeaway {position:relative;isolation:isolate;overflow:hidden;margin-top:0;}
.filab-takeaway::before {content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url('/assets/editorial/filigrane-materiaux.webp') right center/cover no-repeat;opacity:.24;}
.filab-takeaway-card {position:relative;z-index:1;}
.filab-takeaway-card ol>li {border:1px solid #ffffff2e;border-radius:20px;background:#ffffff0d;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 24px #00000010;}
.filab-chapter-nav {display:none;position:fixed;left:20px;top:calc(50% + 48px);transform:translateY(-50%);z-index:30;width:204px;max-height:calc(100dvh - 190px);overflow:auto;padding:18px 14px;border:1px solid #ffffff25;border-radius:16px;background:#101d33ed;font-size:13px;line-height:1.5;box-shadow:0 12px 36px #0002;backdrop-filter:blur(12px);scrollbar-width:thin;transition:opacity .2s,visibility .2s;}
.filab-chapter-nav.is-hidden {opacity:0;visibility:hidden;pointer-events:none;}
.filab-chapter-nav.is-visible {opacity:1;visibility:visible;}
@media (min-width:1024px) {
  .filab-hero-grid {max-width:1200px;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:56px;align-items:stretch;}
  .filab-hero-grid>div {min-width:0;}
  .filab-hero-media {position:relative;align-self:stretch;width:100%;max-width:none;min-height:0;margin:0;}
  .filab-hero-video {position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;}
}
@media (min-width:1200px) {
  .filab-chapter-nav {display:block;}
  .alt-sections>section {padding-left:244px;padding-right:20px;}
}
@media (min-width:1200px) and (max-width:1399px) {
  .filab-split,.filab-intro {gap:32px;}
  .filab-section--methode .filab-section-details>ol {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:1023px) {
  .filab-hero-grid {padding-bottom:64px;}
  .filab-hero-media {max-width:420px;margin:0 auto;}
}
@media (max-width:767px) {
  .filab-hero-title {font-size:34px;line-height:1.12;text-wrap:initial;}
  .filab-hero-grid {padding-bottom:52px;}
  .filab-hero-media {max-width:360px;}
}

/* Original FILAB typography throughout the guide and its controls. */
:root {--default-font-family:"Sofia Pro",Arial,sans-serif;}
html,body,.font-sans {font-family:"Sofia Pro",Arial,sans-serif;}
button,input,select,textarea {font-family:inherit;}

/* Centered reading container, independent floating chapter controls. */
html {scroll-behavior:smooth;}
.filab-hero-gradient {background:linear-gradient(90deg,#ffba66 0%,#ff821e 45%,#f45325 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.filab-chapter-toggle {display:none;}
.filab-section--decision>.filab-section-shell>.filab-photo {height:auto;aspect-ratio:1916/547;}
.filab-technique-list {display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:20px;padding-bottom:4px;}
.filab-technique-list::-webkit-scrollbar {display:none;}
.filab-technique-card {display:grid;grid-template-columns:136px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:22px;flex:0 0 calc(50% - 8px);scroll-snap-align:start;overflow:hidden;min-height:208px;padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--card);}
.filab-technique-card dt {display:contents;}
.filab-technique-card dt img {grid-column:1;grid-row:1/3;display:block;width:100%;height:100%;min-height:168px;object-fit:cover;border-radius:10px;}
.filab-technique-card dt span {grid-column:2;grid-row:1;font-size:18px;line-height:1.3;font-weight:700;color:var(--primary);}
.filab-technique-card dd {grid-column:2;grid-row:2;margin-top:10px;font-size:14px;line-height:1.65;color:var(--muted-foreground);}
.filab-guarantee-icon {display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:18px;border-radius:16px;background:#ff7b1714;}
.filab-guarantee-icon img {width:44px;height:44px;object-fit:contain;filter:brightness(0) saturate(100%) invert(56%) sepia(82%) saturate(2486%) hue-rotate(346deg) brightness(103%) contrast(103%);}
@media (min-width:1024px) {
  .filab-chapter-nav {display:block;top:auto;bottom:24px;transform:none;width:172px;max-height:calc(100dvh - 190px);}
  .filab-chapter-nav.is-open {width:252px;}
  .filab-chapter-nav>p {display:none;}
  .filab-chapter-toggle {display:flex;width:100%;align-items:center;justify-content:space-between;gap:24px;font-size:14px;font-weight:700;cursor:pointer;color:#fff;}
  .filab-chapter-toggle span {color:#ff8a2e;font-size:22px;line-height:1;}
  .filab-chapter-nav>ul {display:none;}
  .filab-chapter-nav.is-open>ul {display:block;margin-top:16px;}
}
@media (min-width:1200px) {.alt-sections>section {padding-left:0;padding-right:0;}}
@media (min-width:1584px) {
  .filab-chapter-nav,.filab-chapter-nav.is-open {top:calc(50% + 48px);bottom:auto;transform:translateY(-50%);width:clamp(172px,calc((100vw - 1200px)/2 - 20px),204px);}
  .filab-chapter-nav>p {display:block;}
  .filab-chapter-toggle {display:none;}
  .filab-chapter-nav>ul,.filab-chapter-nav.is-open>ul {display:block;margin-top:0;}
}
@media (max-width:767px) {
  .filab-hero-media {order:-1;}
  .filab-technique-card {flex-basis:94%;grid-template-columns:96px minmax(0,1fr);column-gap:16px;padding:16px;min-height:220px;}
  .filab-technique-card dt img {min-height:188px;}
  .filab-technique-card dd {font-size:13px;line-height:1.55;}
}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto;}}

/* Repeat the same horizontal gradient for each wrapped line. */
.filab-hero-gradient {box-decoration-break:clone;-webkit-box-decoration-break:clone;}

/* Center each guarantee illustration and its accompanying copy. */
.filab-guarantee-card {text-align:center;}
.filab-guarantee-card .filab-guarantee-icon {margin-inline:auto;}

/* Compact material expertise panels, with one native disclosure open at a time. */
.filab-section--expertises {padding-block:64px;}
.filab-expertise-list {display:grid;gap:12px;margin-top:32px;}
.filab-expertise-item {overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--card);}
.filab-expertise-item>summary {display:block;list-style:none;padding:20px 24px;cursor:pointer;}
.filab-expertise-item>summary::-webkit-details-marker {display:none;}
.filab-expertise-item>summary:focus-visible {outline:2px solid var(--primary);outline-offset:-4px;border-radius:14px;}
.filab-expertise-item h3 {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;font-size:20px;font-weight:600;line-height:1.35;}
.filab-expertise-toggle {display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#ff7b1714;color:var(--primary);font-size:24px;font-weight:400;line-height:1;transition:transform .2s;}
.filab-expertise-item[open] .filab-expertise-toggle {transform:rotate(45deg);}
.filab-expertise-body {padding:20px 24px 24px;border-top:1px solid var(--border);}
.filab-expertise-body>p:first-child {margin-top:0;}
.filab-expertise-body p {line-height:1.7;}
@media (max-width:767px) {
  .filab-section--expertises {padding-block:48px;}
  .filab-expertise-list {margin-top:24px;}
  .filab-expertise-item>summary {padding:18px;}
  .filab-expertise-item h3 {font-size:18px;gap:14px;}
  .filab-expertise-body {padding:18px;font-size:15px;}
}
@media (prefers-reduced-motion:reduce) {.filab-expertise-toggle {transition:none;}}

/* Image labels and a geometrically centered disclosure icon. */
.filab-expertise-label {display:flex;align-items:center;gap:16px;min-width:0;flex:1;}
.filab-expertise-label>span {min-width:0;}
.filab-expertise-label img {display:block;flex:0 0 56px;width:56px;height:56px;object-fit:cover;border-radius:10px;}
.filab-expertise-toggle {display:grid;place-items:center;font-size:0;line-height:0;transform-origin:center;}
.filab-expertise-toggle svg {display:block;width:16px;height:16px;}
.filab-expertise-panel {overflow:hidden;}
@media (max-width:767px) {
  .filab-expertise-label {gap:12px;}
  .filab-expertise-label img {flex-basis:44px;width:44px;height:44px;border-radius:8px;}
}

/* One practical material section, plus an always-visible transverse surface note. */
.filab-section--materiaux {scroll-margin-top:140px;}
.filab-material-intro {max-width:75ch;margin-top:24px;font-size:18px;line-height:1.7;}
.filab-section--materiaux .filab-expertise-body>p {max-width:75ch;}
.filab-material-contact strong,.filab-material-more>strong {font-weight:600;color:var(--foreground);}
.filab-material-more {margin-top:16px;line-height:1.7;}
.filab-material-note {margin-top:32px;padding-top:28px;border-top:1px solid var(--border);}
.filab-material-note h3 {margin:0 0 14px;font-size:20px;font-weight:600;line-height:1.4;}
.filab-material-note>p {max-width:75ch;line-height:1.7;}
@media (max-width:767px) {
  .filab-material-intro {font-size:16px;}
  .filab-material-note {margin-top:28px;padding-top:24px;}
  .filab-material-note h3 {font-size:18px;}
}
