/* À propos — CMS 4 uniquement. Le header et le footer globaux restent intacts. */
body#cms.cms-id-4 #wrapper { padding: 0; background: #faf8f3; }
body#cms.cms-id-4 #wrapper > .container { width: 100%; max-width: none; padding: 0; }
body#cms.cms-id-4 #wrapper > .container > .row { margin: 0; }
body#cms.cms-id-4 #content-wrapper { width: 100%; max-width: 100%; padding: 0; }
body#cms.cms-id-4 #main { margin: 0; }
body#cms.cms-id-4 .fz-about-page { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.fz-about {
  --about-paper: #faf8f3;
  --about-beige: #eee7dc;
  --about-ink: #252923;
  --about-muted: #625f56;
  --about-teal: #287c79;
  --about-line: #dcd5c8;
  --about-serif: var(--fz-serif, "Cormorant Garamond", Georgia, serif);
  overflow: hidden;
  padding-bottom: 32px;
  color: var(--about-ink);
  background: var(--about-paper);
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.75;
  text-align: left;
}
.fz-about *, .fz-about *::before, .fz-about *::after { box-sizing: border-box; }
.fz-about ::selection { background: #cbe3de; color: #252923; }
.fz-about :is(h1, h2, h3, p, figure, ol) { margin: 0; }
.fz-about :is(h1, h2) { font-family: var(--about-serif); font-weight: 500; letter-spacing: -.025em; text-wrap: balance; }
.fz-about h1 { font-size: clamp(46px, 4.9vw, 76px); line-height: 1.02; color: #fff; }
.fz-about h2 { margin-bottom: 24px; color: var(--about-ink); font-size: clamp(36px, 3.4vw, 54px); line-height: 1.06; }
.fz-about p { max-width: 65ch; }
.fz-about img { display: block; width: 100%; height: auto; }
.fz-about svg { flex-shrink: 0; }
.fz-about__symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.fz-about__label { margin-bottom: 26px !important; color: var(--about-teal); font-size: 10px; font-weight: 500; line-height: 1.5; letter-spacing: .18em; text-transform: uppercase; }
.fz-about__label::after { content: ""; display: block; width: 34px; height: 1px; margin-top: 14px; background: currentColor; opacity: .7; }
.fz-about__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 50px;
  max-width: 100%;
  padding: 14px 26px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #fff;
  background: var(--about-teal);
  font: 500 13px/1.45 Poppins, sans-serif;
  text-align: center;
  text-decoration: none;
  transition: background-color 180ms ease-out, transform 180ms ease-out;
}
.fz-about__button svg, .fz-about__text-link svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.fz-about__button:hover { color: #fff; background: #216562; text-decoration: none; transform: translateY(-1px); }
.fz-about__button--outline { border-color: #216562; color: #216562; background: transparent; }
.fz-about__button--outline:hover { color: #216562; background: #e4ede8; }
.fz-about a:focus-visible { outline: 2px solid var(--about-teal); outline-offset: 5px; }
.fz-about__hero a:focus-visible { outline-color: #fff; }
.fz-about__hero { position: relative; display: grid; align-items: center; min-height: 580px; isolation: isolate; background: #302d25; }
.fz-about__hero-photo { position: absolute; z-index: -2; inset: 0 0 0 29%; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 28%); mask-image: linear-gradient(90deg, transparent 0%, #000 28%); }
.fz-about__hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 57%; }
.fz-about__hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #302d25 0%, rgba(48,45,37,.96) 25%, rgba(48,45,37,.8) 42%, rgba(48,45,37,.12) 68%, transparent 100%); }
.fz-about__hero-inner { width: min(100% - 112px, 1220px); margin: 0 auto; padding: 64px 0; }
.fz-about__hero .fz-about__label { color: #f6f1e7; }
.fz-about__hero h1 { max-width: 650px; }
.fz-about__hero-lead { max-width: 43ch !important; margin: 24px 0 28px !important; color: #f6f1e7; font-size: 15px; line-height: 1.8; }
.fz-about__wrap { width: min(100% - 112px, 1220px); margin: 0 auto; }
.fz-about__section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6.3vw, 100px); align-items: center; padding-top: 88px; }
.fz-about__section > * { min-width: 0; }
.fz-about__copy > p:not(.fz-about__label) { margin-bottom: 18px; color: var(--about-muted); }
.fz-about__copy > p:last-child { margin-bottom: 0; }
.fz-about__atelier-photo { position: relative; }
.fz-about__atelier-photo img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 50%; border-radius: 6px; }
.fz-about__atelier-photo figcaption { margin-top: 12px; color: var(--about-muted); font-size: 11px; letter-spacing: .015em; }
.fz-about__nature { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 400px; margin-top: 32px; }
.fz-about__sprig { display: block; width: 90px; height: 116px; color: #4e9390; fill: none; stroke: currentColor; stroke-width: .85; stroke-linecap: round; stroke-linejoin: round; }
.fz-about__nature p { padding-right: 30px; color: #5d6258; font-family: var(--about-serif); font-size: 27px; font-style: italic; line-height: 1.15; transform: rotate(-6deg); }
.fz-about__technique { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(36px, 5.1vw, 80px); }
.fz-about__texture-photo { height: 100%; min-height: 520px; }
.fz-about__texture-photo img { height: 100%; max-height: 650px; object-fit: cover; object-position: 51% 54%; border-radius: 6px; }
.fz-about__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; list-style: none; padding: 0; margin-top: 32px !important; }
.fz-about__steps > li { position: relative; min-width: 0; text-align: center; }
.fz-about__step-photo { position: relative; width: clamp(78px, 7.3vw, 112px); margin: 0 auto 16px; }
.fz-about__step-photo img { aspect-ratio: 1; border-radius: 50%; object-fit: cover; }
.fz-about__step-photo span { position: absolute; top: -3px; left: -3px; display: grid; place-items: center; width: 28px; height: 28px; border: 3px solid var(--about-paper); border-radius: 50%; color: #fff; background: #806c49; font-family: var(--about-serif); font-size: 17px; line-height: 1; }
.fz-about__steps h3 { margin-bottom: 8px; color: var(--about-ink); font-family: Poppins, sans-serif; font-size: 12px; line-height: 1.4; font-weight: 500; }
.fz-about__steps li > p { color: var(--about-muted); font-size: 11px; line-height: 1.7; }
.fz-about__step-arrow { position: absolute; top: 42px; right: -20px; width: 20px; height: 20px; fill: none; stroke: #79796e; stroke-width: 1.1; }
.fz-about__unique { padding-bottom: 88px; }
.fz-about__thought { position: relative; margin-top: 26px; padding: 24px 64px 24px 26px; background: #eee9df; }
.fz-about__thought p { color: #5a6056; font-family: var(--about-serif); font-size: 25px; font-style: italic; line-height: 1.35; }
.fz-about__thought .fz-about__sprig { position: absolute; right: -15px; bottom: -14px; width: 75px; height: 100px; }
.fz-about__text-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 22px; color: var(--about-teal); font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.fz-about__text-link:hover { color: #216562; }
.fz-about__collection-photo img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 20% 4% 24% 8% / 14% 12% 16% 25%; }
.fz-about__invitation { position: relative; display: grid; grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); min-height: 340px; background: #eee9df; isolation: isolate; }
.fz-about__invitation-photo { height: 100% !important; max-height: 400px; object-fit: cover; object-position: 50% 55%; }
.fz-about__invitation-copy { align-self: center; justify-self: center; min-width: 0; max-width: 780px; padding: 46px 76px; text-align: center; }
.fz-about__invitation h2 { margin-bottom: 18px; font-size: clamp(32px, 3vw, 46px); }
.fz-about__invitation-copy > p { max-width: 56ch; margin: 0 auto 24px; color: var(--about-muted); font-size: 13px; line-height: 1.8; }
.fz-about__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.fz-about__actions .fz-about__button { padding-inline: 24px; font-size: 12px; }
.fz-about__invitation-sprig { position: absolute; z-index: -1; bottom: 20px; right: 24px; width: 84px; height: 108px; opacity: .65; }
@media (min-width: 1600px) {
  .fz-about__hero { min-height: 620px; }
  .fz-about__hero-photo { left: 33%; }
}
@media (max-width: 1100px) {
  .fz-about__hero-inner, .fz-about__wrap { width: calc(100% - 72px); }
  .fz-about__section { gap: 40px; padding-top: 64px; }
  .fz-about__unique { padding-bottom: 64px; }
  .fz-about__hero { min-height: 520px; }
  .fz-about__hero::before { background: linear-gradient(90deg, #302d25, rgba(48,45,37,.94) 40%, rgba(48,45,37,.76) 62%, rgba(48,45,37,.2) 85%); }
  .fz-about__hero h1 { max-width: 540px; }
  .fz-about__texture-photo { min-height: 480px; }
  .fz-about__steps { gap: 14px; }
  .fz-about__step-arrow { right: -17px; }
  .fz-about__invitation-copy { padding: 36px; }
  .fz-about__invitation-sprig { right: 10px; opacity: .35; }
}
@media (max-width: 767px) {
  .fz-about { padding-bottom: 24px; font-size: 14px; }
  .fz-about__hero { display: block; min-height: 0; background: #302d25; }
  .fz-about__hero-photo { position: relative; display: block; inset: auto; height: 330px; -webkit-mask-image: none; mask-image: none; }
  .fz-about__hero-photo img { object-position: 50% 56%; }
  .fz-about__hero::before { top: 230px; bottom: auto; height: 100px; background: linear-gradient(180deg, transparent, #302d25); }
  .fz-about__hero-inner { width: calc(100% - 40px); padding: 20px 0 38px; }
  .fz-about__hero h1 { max-width: none; font-size: clamp(40px, 8.8vw, 58px); }
  .fz-about__hero-lead { margin: 20px 0 24px !important; font-size: 14px; }
  .fz-about__label { margin-bottom: 20px !important; font-size: 9px; letter-spacing: .15em; }
  .fz-about__label::after { margin-top: 12px; }
  .fz-about h2 { margin-bottom: 20px; font-size: clamp(34px, 7.3vw, 46px); }
  .fz-about__wrap { width: calc(100% - 40px); }
  .fz-about__section, .fz-about__technique { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-top: 48px; }
  .fz-about__section h2 br { display: none; }
  .fz-about__nature { margin-top: 22px; max-width: 330px; }
  .fz-about__nature .fz-about__sprig { width: 64px; height: 84px; }
  .fz-about__nature p { font-size: 25px; }
  .fz-about__atelier-photo img { aspect-ratio: 5 / 4; object-position: 50% 42%; }
  .fz-about__technique .fz-about__copy { order: 1; }
  .fz-about__texture-photo { order: 2; min-height: 0; height: 300px; }
  .fz-about__texture-photo img { max-height: none; object-position: 50% 56%; }
  .fz-about__steps { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 28px !important; }
  .fz-about__steps > li { display: grid; grid-template-columns: 80px minmax(0, 1fr); column-gap: 20px; align-items: center; text-align: left; }
  .fz-about__step-photo { grid-row: 1 / 3; width: 80px; margin: 0; }
  .fz-about__steps h3 { align-self: end; margin-bottom: 5px; font-size: 14px; }
  .fz-about__steps li > p { align-self: start; font-size: 12px; }
  .fz-about__step-arrow { top: auto; bottom: -25px; right: auto; left: 30px; width: 20px; height: 20px; transform: rotate(90deg); }
  .fz-about__unique { padding-bottom: 48px; }
  .fz-about__thought { padding: 22px 52px 22px 20px; }
  .fz-about__thought p { font-size: 24px; }
  .fz-about__thought .fz-about__sprig { right: -8px; }
  .fz-about__collection-photo img { aspect-ratio: 5 / 4; object-position: 50% 52%; }
  .fz-about__invitation { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .fz-about__invitation-photo { height: 180px !important; max-height: none; object-position: 50% 57%; }
  .fz-about__invitation-copy { width: 100%; max-width: 600px; padding: 30px 20px 38px; }
  .fz-about__invitation h2 { font-size: 34px; }
  .fz-about__invitation h2 br { display: none; }
  .fz-about__actions { gap: 10px; }
  .fz-about__actions .fz-about__button { flex: 1 1 220px; }
  .fz-about__invitation-sprig { display: none; }
}
@media (max-width: 374px) {
  .fz-about__hero-photo { height: 280px; }
  .fz-about__hero::before { top: 180px; }
  .fz-about__hero .fz-about__button { width: 100%; padding-inline: 18px; }
  .fz-about__thought p br { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .fz-about__button { transition: none; }
  .fz-about__button:hover { transform: none; }
}

/* CMS4 uniquement : supprimer l’enveloppe vide avant le footer. */
body#cms.cms-id-4 #footer { margin-top: 0; }
body#cms.cms-id-4 #footer .footer-top:has(.inner:empty) { display: none; }
