@charset "UTF-8";
/* Navigation contextuelle ajoutée après le contenu éditorial des actualités. */
.fhv-related-links {
  box-sizing: border-box;
  width: calc(100% - 3rem);
  max-width: var(--wp--style--global--wide-size);
  margin: var(--wp--preset--spacing--section-vertical-m) auto;
  padding: var(--wp--preset--spacing--item-xl);
  border-radius: var(--wp--custom--radius--px-16);
  background: var(--wp--preset--color--secondary-light);
}
.fhv-related-links__heading {
  margin: 0 0 var(--wp--preset--spacing--item-m);
  color: var(--wp--preset--color--primary-dark);
  font-size: clamp(1.75rem, 2.75vw, 2.5rem);
  line-height: 1.1;
}
.fhv-related-links__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--wp--preset--spacing--item-m);
}
.fhv-related-links__grid--1 {
  grid-template-columns: minmax(0, 1fr);
}

.fhv-related-card {
  display: flex;
  min-width: 0;
  box-sizing: border-box;
  flex-direction: column;
  padding: var(--wp--preset--spacing--item-l);
  border: 1px solid var(--wp--preset--color--secondary);
  border-radius: var(--wp--custom--radius--px-16);
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--neutral-dark);
  text-decoration: none;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.fhv-related-card__eyebrow {
  margin-bottom: var(--wp--preset--spacing--item-xs);
  color: var(--wp--preset--color--teal);
  font-size: var(--wp--preset--font-size--body-small);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.fhv-related-card__title {
  margin: 0 0 var(--wp--preset--spacing--item-s);
  color: var(--wp--preset--color--primary-dark);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.15;
}
.fhv-related-card__text {
  margin: 0 0 var(--wp--preset--spacing--item-m);
  color: var(--wp--preset--color--neutral-dark);
}
.fhv-related-card__link {
  display: inline-flex;
  margin-top: auto;
  align-items: center;
  gap: var(--wp--preset--spacing--item-xs);
  color: var(--wp--preset--color--primary);
  font-weight: 700;
}
.fhv-related-card__link::after {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  background: currentColor;
  content: "";
  -webkit-mask: url("assets/images/icons/fleche.svg") center/contain no-repeat;
  mask: url("assets/images/icons/fleche.svg") center/contain no-repeat;
  transition: transform 180ms ease;
}
.fhv-related-card:is(:hover, :focus-visible) {
  border-color: var(--wp--preset--color--primary);
  box-shadow: 0 12px 28px rgba(6, 34, 53, 0.12);
  transform: translateY(-2px);
}
.fhv-related-card:is(:hover, :focus-visible) .fhv-related-card__link::after {
  transform: translateX(4px);
}
.fhv-related-card:focus-visible {
  outline: 3px solid var(--wp--preset--color--accent);
  outline-offset: 3px;
}

@media (max-width: 781px) {
  .fhv-related-links {
    margin-block: var(--wp--preset--spacing--section-vertical-s);
    padding: var(--wp--preset--spacing--item-m);
  }
  .fhv-related-links__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .fhv-related-card {
    padding: var(--wp--preset--spacing--item-m);
  }
}
@media (prefers-reduced-motion: reduce) {
  .fhv-related-card,
  .fhv-related-card__link::after {
    transition: none;
  }
}
/*
Theme Name: FHV
Theme URI: https://francehygieneventilation.fr/
Description: Thème Full Site Editing conçu pour France Hygiène Ventilation. Design : Anaïs. Développement : Matthieu. Septembre 2026.
Author: Pixelea
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: fhv
*/
.single-post .wp-block-post-title {
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  line-height: 1.05;
}

.single-post .wp-block-post-content > :is(a, em, strong) {
  display: block;
}
.single-post .wp-block-post-content > p {
  margin-block: 0 var(--wp--preset--spacing--item-default);
}
.single-post .wp-block-post-content > h2 {
  margin-block: var(--wp--preset--spacing--item-xl) var(--wp--preset--spacing--item-default);
  font-size: clamp(1.75rem, 2.75vw, 2.5rem);
  line-height: 1.08;
}
.single-post .wp-block-post-content > h3 {
  margin-block: var(--wp--preset--spacing--item-l) var(--wp--preset--spacing--item-s);
  font-size: clamp(1.375rem, 2.2vw, 2rem);
  line-height: 1.15;
}
.single-post .wp-block-post-content > :is(table, .wp-block-table) {
  display: block;
  box-sizing: border-box;
  width: 100% !important;
  height: auto !important;
  margin-block: var(--wp--preset--spacing--item-l);
  overflow-x: auto;
  border: 1px solid var(--wp--preset--color--secondary);
  border-radius: var(--wp--custom--radius--px-16);
  background: var(--wp--preset--color--white);
}
.single-post .wp-block-post-content > table {
  border-collapse: separate !important;
  border-spacing: 0;
}
.single-post .wp-block-post-content > table > :is(thead, tbody, tfoot) {
  display: table;
  width: 100%;
  min-width: 40rem;
  table-layout: fixed;
  border-collapse: collapse;
}
.single-post .wp-block-post-content > .wp-block-table > table {
  width: 100% !important;
  min-width: 40rem;
  height: auto !important;
  margin: 0;
  table-layout: fixed;
  border: 0;
  border-collapse: collapse !important;
  border-spacing: 0;
}
.single-post .wp-block-post-content > table :is(th, td),
.single-post .wp-block-post-content > .wp-block-table > table :is(th, td) {
  height: auto !important;
  padding: var(--wp--preset--spacing--item-s) var(--wp--preset--spacing--item-m);
  border-right: 1px solid var(--wp--preset--color--secondary-light);
  border-bottom: 1px solid var(--wp--preset--color--secondary-light);
  color: var(--wp--preset--color--neutral-dark);
  text-align: left !important;
  vertical-align: top;
}
.single-post .wp-block-post-content > table > thead :is(th, td),
.single-post .wp-block-post-content > table:not(:has(> thead)) > tbody:first-child > tr:first-child :is(th, td),
.single-post .wp-block-post-content > .wp-block-table > table > thead :is(th, td),
.single-post .wp-block-post-content > .wp-block-table > table:not(:has(> thead)) > tbody:first-child > tr:first-child :is(th, td) {
  background: var(--wp--preset--color--secondary-light);
  color: var(--wp--preset--color--primary-dark);
  font-weight: 700;
}
.single-post .wp-block-post-content > table > :is(tbody, tfoot):last-child > tr:last-child :is(th, td),
.single-post .wp-block-post-content > .wp-block-table > table > :is(tbody, tfoot):last-child > tr:last-child :is(th, td) {
  border-bottom: 0;
}
.single-post .wp-block-post-content > table :is(th, td):last-child,
.single-post .wp-block-post-content > .wp-block-table > table :is(th, td):last-child {
  border-right: 0;
}
.single-post .wp-block-post-content > table p,
.single-post .wp-block-post-content > .wp-block-table > table p {
  margin: 0;
}
.single-post .wp-block-post-content ul.wp-block-list:not(.is-style-tirets):not(.is-style-coches):not(.is-style-chronologie) {
  margin-block: 0 var(--wp--preset--spacing--item-default);
  padding: 0;
  list-style: none;
}
.single-post .wp-block-post-content ul.wp-block-list:not(.is-style-tirets):not(.is-style-coches):not(.is-style-chronologie) > li {
  position: relative;
  margin: 0 0 var(--wp--preset--spacing--item-xs);
  padding-left: 24px;
  list-style: none;
}
.single-post .wp-block-post-content ul.wp-block-list:not(.is-style-tirets):not(.is-style-coches):not(.is-style-chronologie) > li::before {
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 16px;
  height: 16px;
  color: currentColor;
  content: "–";
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}
.single-post .wp-block-post-content ul.wp-block-list:not(.is-style-tirets):not(.is-style-coches):not(.is-style-chronologie) > li:last-child {
  margin-bottom: 0;
}
.single-post .wp-block-post-content > p:last-child:has(a) > a {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--item-xs);
  margin-top: var(--wp--preset--spacing--item-xs);
  padding: var(--wp--preset--spacing--item-s) var(--wp--preset--spacing--item-m);
  border-radius: var(--wp--custom--radius--full);
  background: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--primary-dark);
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease;
}
.single-post .wp-block-post-content > p:last-child:has(a) > a::after {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  background-color: currentColor;
  content: "";
  -webkit-mask: url("assets/images/icons/fleche.svg") center/contain no-repeat;
  mask: url("assets/images/icons/fleche.svg") center/contain no-repeat;
}
.single-post .wp-block-post-content > p:last-child:has(a) > a:is(:hover, :focus-visible) {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--secondary-light);
}
.single-post .wp-block-post-content > p:last-child:has(a) > a:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 4px;
}

@media (max-width: 781px) {
  .single-post .wp-block-post-content > table > :is(thead, tbody, tfoot),
  .single-post .wp-block-post-content > .wp-block-table > table {
    min-width: 36rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .single-post .wp-block-post-content > p:last-child:has(a) > a {
    transition: none;
  }
}

.page-id-97 main {
  background: var(--wp--preset--color--secondary-light);
}

.fhv-contact-page {
  box-sizing: border-box;
  width: min(calc(100% - 48px), 1200px);
  max-width: 1200px !important;
  margin-inline: auto !important;
}

.fhv-contact-page > h1,
.fhv-contact-page > .fhv-contact-intro {
  width: min(100%, 1200px);
  margin-inline: auto;
}

.fhv-contact-page > h1 {
  margin-block: 0 14px;
  font-size: clamp(2.5rem, 4vw, 4.5rem);
}

.fhv-contact-intro {
  max-width: 920px;
  margin-block: 0 40px !important;
  margin-left: max(0px, calc((100% - 1200px) / 2)) !important;
  color: var(--wp--preset--color--neutral-dark);
  font-size: 1.125rem;
  line-height: 1.45;
}

.fhv-contact-card {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(420px, 1.14fr);
  gap: 32px;
  box-sizing: border-box;
  overflow: hidden;
  min-height: 650px;
  padding: 40px;
  border-radius: 24px;
  background: var(--wp--preset--color--white);
}

.fhv-contact-form,
.fhv-contact-map {
  min-width: 0;
  margin: 0 !important;
}

.fhv-contact-map {
  align-self: stretch;
  overflow: hidden;
  border-radius: 2px;
}

.fhv-contact-map img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 570px;
  object-fit: cover;
}

.fhv-contact-card .gform_wrapper {
  --gf-color-primary: var(--wp--preset--color--primary);
  --gf-color-in-ctrl-primary: var(--wp--preset--color--primary);
  --gf-ctrl-border-color: var(--wp--preset--color--secondary);
  margin: 0;
  font-family: var(--wp--preset--font-family--bilo);
}

.fhv-contact-card .gform_fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 14px !important;
}

.fhv-contact-card .gfield,
.fhv-contact-card .gsection {
  grid-column: 1 / -1 !important;
}

.fhv-contact-card .gfield.fhv-half {
  grid-column: span 1 !important;
}

.fhv-contact-card .gsection {
  min-height: auto;
  margin: 4px 0 0;
  padding: 0;
  border: 0;
}

.fhv-contact-card .gsection_title,
.fhv-contact-card .fhv-situation > .gfield_label {
  margin: 0;
  color: var(--wp--preset--color--primary-dark);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.fhv-contact-card .fhv-situation .gfield_required,
.fhv-contact-card .ginput_counter,
.fhv-contact-card .gfield_required_text {
  display: none !important;
}

.fhv-contact-card .fhv-situation .gfield_radio {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 10px 26px;
  margin-top: 10px;
}

.fhv-contact-card .fhv-half > .gfield_label,
.fhv-contact-card .fhv-message > .gfield_label,
.fhv-contact-card .fhv-consent > .gfield_label {
  position: absolute !important;
  overflow: hidden !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.fhv-contact-card .fhv-situation .gchoice {
  display: flex !important;
  align-items: center;
  gap: 8px;
}

.fhv-contact-card .fhv-situation input[type="radio"] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--wp--preset--color--secondary);
}

.fhv-contact-card .gform-theme--foundation .gform_fields input[type="text"],
.fhv-contact-card .gform-theme--foundation .gform_fields input[type="email"],
.fhv-contact-card .gform-theme--foundation .gform_fields input[type="tel"],
.fhv-contact-card .gform-theme--foundation .gform_fields select,
.fhv-contact-card .gform-theme--foundation .gform_fields textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--wp--preset--color--secondary);
  border-radius: 2px;
  background: var(--wp--preset--color--white);
  box-shadow: none;
  color: var(--wp--preset--color--neutral-dark);
  font: inherit;
  font-size: 0.875rem;
}

.fhv-contact-card .gform-theme--foundation .gform_fields select {
  appearance: auto;
  cursor: pointer;
}

.fhv-contact-card .fhv-select > .gfield_label {
  position: absolute !important;
  overflow: hidden !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.fhv-contact-card .gform-theme--foundation .gform_fields textarea {
  min-height: 126px;
  resize: vertical;
}

.fhv-contact-card .gform-theme--foundation .gform_fields input:focus,
.fhv-contact-card .gform-theme--foundation .gform_fields select:focus,
.fhv-contact-card .gform-theme--foundation .gform_fields textarea:focus {
  border-color: var(--wp--preset--color--primary);
  outline: 2px solid rgb(145 184 210 / 35%);
  outline-offset: 1px;
}

.fhv-franchise-card {
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr);
}

.fhv-franchise-map img {
  object-position: center;
}

.fhv-contact-card .gform-theme--foundation .gform_fields input::placeholder,
.fhv-contact-card .gform-theme--foundation .gform_fields textarea::placeholder {
  color: #6c747a;
  opacity: 1;
}

.fhv-contact-card .fhv-consent .ginput_container_consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.fhv-contact-card .fhv-consent input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--wp--preset--color--primary);
}

.fhv-contact-card .fhv-consent label {
  color: var(--wp--preset--color--neutral-dark);
  font-size: 0.8125rem;
  line-height: 1.35;
}

.fhv-contact-card .gform-footer,
.fhv-contact-card .gform_footer {
  margin-top: 18px;
  padding: 0;
}

.fhv-contact-card .gform_button.button,
.fhv-contact-card .gform-theme.gform-theme--framework.gform_wrapper input.gform_button.button {
  min-height: 44px !important;
  margin: 0 !important;
  padding: 12px 26px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--wp--preset--color--secondary) !important;
  color: var(--wp--preset--color--primary-dark) !important;
  font-family: var(--wp--preset--font-family--bilo);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.fhv-contact-card .gform_button.button:hover,
.fhv-contact-card .gform_button.button:focus-visible,
.fhv-contact-card .gform-theme.gform-theme--framework.gform_wrapper input.gform_button.button:hover,
.fhv-contact-card .gform-theme.gform-theme--framework.gform_wrapper input.gform_button.button:focus-visible {
  background: var(--wp--preset--color--primary) !important;
  color: var(--wp--preset--color--white) !important;
  transform: translateY(-1px);
}

@media (max-width: 1024px) {
  .fhv-contact-card {
    grid-template-columns: 1fr;
  }

  .fhv-contact-map {
    order: -1;
    aspect-ratio: 16 / 10;
  }

  .fhv-contact-map img {
    min-height: 0;
  }
}

@media (max-width: 659px) {
  .fhv-contact-page {
    width: min(calc(100% - 32px), 1200px);
  }

  .fhv-contact-page > h1 {
    margin-bottom: 12px;
  }

  .fhv-contact-intro {
    margin-bottom: 28px !important;
    font-size: 1rem;
  }

  .fhv-contact-card {
    gap: 24px;
    padding: 20px;
    border-radius: 16px;
  }

  .fhv-contact-card .gform_fields {
    grid-template-columns: 1fr;
  }

  .fhv-contact-card .gfield.fhv-half {
    grid-column: 1 / -1 !important;
  }
}
.wp-block-group.is-style-sous-titre {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: var(--wp--preset--spacing--item-xs) var(--wp--preset--spacing--item-default);
  border-radius: var(--wp--custom--radius--full);
  background: linear-gradient(180deg, rgba(179, 216, 240, 0.48) 0%, rgba(99, 151, 184, 0.62) 100%), rgba(239, 244, 248, 0.2);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.44), inset 0 -1px 0 rgba(6, 34, 53, 0.18), 0 0 0 1px rgba(6, 34, 53, 0.18);
  backdrop-filter: blur(8px) saturate(125%);
  color: var(--wp--preset--color--white);
  text-align: center;
  font-family: var(--wp--preset--font-family--bilo);
  font-size: var(--wp--preset--font-size--body-default);
  font-weight: 500;
  line-height: 1;
}
.wp-block-group.is-style-sous-titre > * {
  color: inherit;
  font: inherit;
  line-height: inherit;
}

/* Variante Gutenberg « Largeur au contenu » du bloc Groupe. */
.wp-block-group.is-style-largeur-au-contenu {
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  box-sizing: border-box;
}

@media (min-width: 782px) {
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color) {
    --fhv-service-card-width: calc(33.333333% - 8px);
    --fhv-service-card-expanded-width: calc(66.666667% - 4px);
    --fhv-service-track-shift: 0px;
    overflow: hidden;
  }
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color) > .wp-block-column {
    position: relative;
    left: var(--fhv-service-track-shift);
    flex: 0 0 var(--fhv-service-card-width) !important;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
    isolation: isolate;
    transition: left 600ms cubic-bezier(0.22, 1, 0.36, 1), flex-basis 600ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: left, flex-basis;
  }
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color) > .wp-block-column > .wp-block-group:first-child {
    position: relative;
    z-index: 2;
    width: min(100%, 20rem);
    transition: width 600ms cubic-bezier(0.22, 1, 0.36, 1);
  }
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color) > .wp-block-column > .wp-block-image:last-child {
    position: absolute;
    z-index: 1;
    inset-block: var(--wp--preset--spacing--item-m);
    right: clamp(1rem, 2vw, 2rem);
    display: flex;
    width: min(40%, 28rem);
    margin: 0 !important;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transform: translateX(1.5rem) scale(0.96);
    transition: opacity 250ms ease, transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
  }
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color) > .wp-block-column > .wp-block-image:last-child img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color) > .wp-block-column:hover {
    flex-basis: var(--fhv-service-card-expanded-width) !important;
  }
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color) > .wp-block-column:hover > .wp-block-group:first-child {
    width: min(52%, 20rem);
  }
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color) > .wp-block-column:hover > .wp-block-image:last-child {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color):has(> .wp-block-column:nth-child(2):hover),
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color):has(> .wp-block-column:nth-child(3):hover) {
    --fhv-service-track-shift: calc(-33.333333% - 4px);
  }
}
@media (max-width: 781px) {
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color) > .wp-block-column > .wp-block-image:last-child {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color) > .wp-block-column {
    transition: none;
  }
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color) > .wp-block-column > .wp-block-group:first-child {
    transition: none;
  }
  body.home .wp-block-columns:has(> .wp-block-column.has-blue-var-1-background-color):has(> .wp-block-column.has-primary-background-color):has(> .wp-block-column.has-accent-background-color) > .wp-block-column > .wp-block-image:last-child {
    transition: none;
  }
}

/* Variante Gutenberg « Simple 1 » du bloc Groupe. */
.wp-block-group.is-style-simple-1 {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--item-default);
  padding: var(--wp--preset--spacing--item-m);
  border: 1px solid var(--wp--preset--color--secondary);
  border-radius: var(--wp--custom--radius--px-16);
}

.wp-block-group.is-style-simple-1 h3,
.wp-block-group.is-style-simple-1 p {
  margin: 0;
  font-family: var(--wp--preset--font-family--bilo);
  font-size: var(--wp--preset--font-size--body-large);
  font-style: normal;
  line-height: 1.5;
}

.wp-block-group.is-style-simple-1 h3 {
  color: var(--wp--preset--color--primary-dark);
  font-weight: 700;
}

.wp-block-group.is-style-simple-1 p {
  color: var(--wp--preset--color--neutral-dark);
  font-weight: 400;
}
.wp-block-group.is-style-simple-1 > .wp-block-group:not(:last-child) {
  padding-bottom: var(--wp--preset--spacing--item-xs);
  border-bottom: 1px solid var(--wp--preset--color--secondary-light);
}
.wp-block-group.is-style-simple-1 > .wp-block-group > p:last-child {
  white-space: nowrap;
}

@media (max-width: 1024px) {
  .wp-block-columns:has(> .wp-block-column > .wp-block-group.is-style-simple-1) {
    flex-wrap: wrap !important;
  }
  .wp-block-columns:has(> .wp-block-column > .wp-block-group.is-style-simple-1) > .wp-block-column {
    flex-basis: 100% !important;
  }
}
@media (min-width: 1025px) {
  .wp-block-columns:has(> .wp-block-column > .wp-block-group.is-style-simple-1) > .wp-block-column {
    display: flex;
  }
  .wp-block-columns:has(> .wp-block-column > .wp-block-group.is-style-simple-1) > .wp-block-column > .wp-block-group.is-style-simple-1 {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
  }
  .wp-block-columns:has(> .wp-block-column > .wp-block-group.is-style-simple-1) > .wp-block-column > .wp-block-group.is-style-simple-1 > .wp-block-buttons:last-child {
    margin-top: auto;
  }
}

.wp-block-columns:has(> .wp-block-column > .wp-block-group.has-accent-background-color.is-nowrap) > .wp-block-column > .wp-block-group.has-accent-background-color.is-nowrap {
  height: 100%;
  box-sizing: border-box;
}

/* FAQ Gutenberg : série de blocs Details conforme au composant Figma. */
details.wp-block-details {
  box-sizing: border-box;
  margin-block: 0;
  border-bottom: 1px solid var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--neutral-dark);
}
details.wp-block-details > summary {
  position: relative;
  box-sizing: border-box;
  padding: 22px 40px 22px 0;
  color: var(--wp--preset--color--primary-dark);
  cursor: pointer;
  font-family: var(--wp--preset--font-family--bilo);
  font-size: var(--wp--preset--font-size--body-default);
  font-weight: 700;
  line-height: 1.5;
  list-style: none;
}
details.wp-block-details > summary::-webkit-details-marker {
  display: none;
}
details.wp-block-details > summary::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 16px;
  height: 16px;
  background-color: var(--wp--preset--color--accent);
  content: "";
  transform: translateY(-50%);
  transition: transform 180ms ease;
  -webkit-mask: url("assets/images/icons/chevron-bas.svg") center/contain no-repeat;
  mask: url("assets/images/icons/chevron-bas.svg") center/contain no-repeat;
}
details.wp-block-details > summary:focus-visible {
  border-radius: var(--wp--custom--radius--px-8);
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 4px;
}
details.wp-block-details[open] > summary::after {
  transform: translateY(-50%) rotate(180deg);
}
details.wp-block-details > :not(summary) {
  margin-block: 0 var(--wp--preset--spacing--item-default);
  padding-right: 40px;
}
details.wp-block-details > :last-child {
  margin-bottom: var(--wp--preset--spacing--item-m);
}

@media (max-width: 781px) {
  details.wp-block-details > summary {
    padding-block: 18px;
    padding-right: 32px;
  }
  details.wp-block-details > :not(summary) {
    padding-right: 32px;
  }
}
@media (prefers-reduced-motion: reduce) {
  details.wp-block-details > summary::after {
    transition: none;
  }
}

/* Variante Gutenberg « Chiffre » du bloc Groupe. */
.wp-block-group.is-style-chiffre {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--item-default);
  padding: var(--wp--preset--spacing--item-m);
  border: 1px solid var(--wp--preset--color--secondary);
  border-radius: var(--wp--custom--radius--px-16);
}

.wp-block-group.is-style-chiffre h3,
.wp-block-group.is-style-chiffre p {
  margin: 0;
  font-family: var(--wp--preset--font-family--bilo);
  font-style: normal;
}

.wp-block-group.is-style-chiffre h3 {
  color: var(--wp--preset--color--primary-dark);
  font-size: var(--wp--preset--font-size--title-small);
  font-weight: 700;
  line-height: 1;
}

.wp-block-group.is-style-chiffre p {
  color: var(--wp--preset--color--neutral-dark);
  font-size: var(--wp--preset--font-size--body-large);
  font-weight: 400;
  line-height: 1.5;
}

/* Variante Gutenberg « Arrondi 16 px » du bloc Image. */
.wp-block-image.is-style-arrondie-16 img {
  border-radius: var(--wp--custom--radius--px-16);
}

/* Variante Gutenberg « Étapes numérotées » du bloc Liste. */
ol.wp-block-list.is-style-etapes-numerotees {
  --fhv-step-size: 40px;
  --fhv-step-gap: var(--wp--preset--spacing--item-default);
  --fhv-step-spacing: var(--wp--preset--spacing--item-l);
  margin: 0;
  padding: 0;
  counter-reset: fhv-step;
  list-style: none;
}
ol.wp-block-list.is-style-etapes-numerotees > li {
  position: relative;
  min-height: var(--fhv-step-size);
  margin: 0 0 var(--fhv-step-spacing);
  padding-left: calc(var(--fhv-step-size) + var(--fhv-step-gap));
  counter-increment: fhv-step;
  list-style: none;
}
ol.wp-block-list.is-style-etapes-numerotees > li::before {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: grid;
  width: var(--fhv-step-size);
  height: var(--fhv-step-size);
  place-items: center;
  border-radius: 50%;
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--white);
  content: counter(fhv-step, decimal-leading-zero);
  font-family: var(--wp--preset--font-family--bilo);
  font-size: var(--wp--preset--font-size--body-small);
  font-weight: 700;
  line-height: 1;
}
ol.wp-block-list.is-style-etapes-numerotees > li:not(:last-of-type)::after {
  position: absolute;
  top: var(--fhv-step-size);
  bottom: calc(var(--fhv-step-spacing) * -1);
  left: calc((var(--fhv-step-size) - 1px) / 2);
  width: 1px;
  background: var(--wp--preset--color--secondary);
  content: "";
}
ol.wp-block-list.is-style-etapes-numerotees > li:last-of-type {
  margin-bottom: 0;
}
ol.wp-block-list.is-style-etapes-numerotees > li > strong:first-child {
  display: block;
  margin-bottom: var(--wp--preset--spacing--item-xs);
  color: var(--wp--preset--color--primary-dark);
  font-weight: 700;
}

/* Variante Gutenberg « Frise chronologique » du bloc Liste. */
ol.wp-block-list.is-style-chronologie {
  --fhv-timeline-point-size: 22px;
  --fhv-timeline-gap: var(--wp--preset--spacing--item-default);
  --fhv-timeline-spacing: var(--wp--preset--spacing--item-m);
  margin: 0;
  padding: 0;
  list-style: none;
}
ol.wp-block-list.is-style-chronologie > li {
  position: relative;
  min-height: var(--fhv-timeline-point-size);
  margin: 0 0 var(--fhv-timeline-spacing);
  padding-left: calc(var(--fhv-timeline-point-size) + var(--fhv-timeline-gap));
  color: var(--wp--preset--color--neutral-dark);
  font-size: var(--wp--preset--font-size--body-default);
  line-height: 1.5;
  list-style: none;
}
ol.wp-block-list.is-style-chronologie > li::before {
  position: absolute;
  z-index: 1;
  top: 0.1em;
  left: 0;
  box-sizing: border-box;
  width: var(--fhv-timeline-point-size);
  height: var(--fhv-timeline-point-size);
  border: 2px solid var(--wp--preset--color--secondary);
  border-radius: 50%;
  background: var(--wp--preset--color--secondary);
  box-shadow: inset 0 0 0 4px var(--wp--preset--color--white);
  content: "";
  transition: background-color 240ms ease, border-color 240ms ease;
}
ol.wp-block-list.is-style-chronologie > li:not(:last-of-type)::after {
  position: absolute;
  top: calc(0.1em + var(--fhv-timeline-point-size));
  bottom: calc(var(--fhv-timeline-spacing) * -1);
  left: calc((var(--fhv-timeline-point-size) - 2px) / 2);
  width: 2px;
  background: var(--wp--preset--color--secondary);
  content: "";
  transition: background-color 240ms ease;
}
ol.wp-block-list.is-style-chronologie > li:last-of-type {
  margin-bottom: 0;
}
ol.wp-block-list.is-style-chronologie > li > strong:first-of-type {
  display: block;
  margin-bottom: var(--wp--preset--spacing--item-xxs);
  color: var(--wp--preset--color--secondary);
  font-size: var(--wp--preset--font-size--body-large);
  font-weight: 700;
  line-height: 1.5;
  transition: color 240ms ease;
}
ol.wp-block-list.is-style-chronologie > li > strong:nth-of-type(2) {
  display: block;
  margin-bottom: var(--wp--preset--spacing--item-xxs);
  color: var(--wp--preset--color--primary-dark);
  font-size: var(--wp--preset--font-size--body-large);
  font-weight: 700;
  line-height: 1.25;
}
ol.wp-block-list.is-style-chronologie > li > br {
  display: none;
}
ol.wp-block-list.is-style-chronologie > li.is-past::after {
  background: var(--wp--preset--color--accent);
}
ol.wp-block-list.is-style-chronologie > li.is-past::before,
ol.wp-block-list.is-style-chronologie > li.is-active::before {
  border-color: var(--wp--preset--color--accent);
  background: var(--wp--preset--color--accent);
}
ol.wp-block-list.is-style-chronologie > li.is-past > strong:first-of-type,
ol.wp-block-list.is-style-chronologie > li.is-active > strong:first-of-type {
  color: var(--wp--preset--color--accent);
}
ol.wp-block-list.is-style-chronologie:not([data-fhv-timeline-ready]) > li:first-child::before {
  border-color: var(--wp--preset--color--accent);
  background: var(--wp--preset--color--accent);
}
ol.wp-block-list.is-style-chronologie:not([data-fhv-timeline-ready]) > li:first-child > strong:first-of-type {
  color: var(--wp--preset--color--accent);
}

@media (prefers-reduced-motion: reduce) {
  ol.wp-block-list.is-style-chronologie > li::before,
  ol.wp-block-list.is-style-chronologie > li::after,
  ol.wp-block-list.is-style-chronologie > li > strong:first-of-type {
    transition: none;
  }
}

/* Variantes Gutenberg pour les listes non ordonnées de la maquette FHV. */
ul.wp-block-list:is(.is-style-tirets, .is-style-coches) {
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.wp-block-list:is(.is-style-tirets, .is-style-coches) > li {
  position: relative;
  margin: 0 0 var(--wp--preset--spacing--item-xs);
  padding-left: 24px;
  list-style: none;
}
ul.wp-block-list:is(.is-style-tirets, .is-style-coches) > li:last-child {
  margin-bottom: 0;
}
ul.wp-block-list:is(.is-style-tirets, .is-style-coches) > li::before {
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
}

ul.wp-block-list.is-style-tirets > li::before {
  color: currentColor;
  content: "–";
  font-weight: 700;
}

ul.wp-block-list.is-style-coches > li::before {
  background: url("assets/images/icons/coche.svg") center/16px 16px no-repeat;
  content: "";
}

/* Variante Gutenberg « Image arrondie avec décor » du bloc Image. */
.wp-block-image:is(.is-style-arrondie-avec-decor, .is-style-arrondie-avec-decor-blanc) {
  --fhv-image-decor-offset: 8%;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  isolation: isolate;
  overflow: visible;
}
.wp-block-image:is(.is-style-arrondie-avec-decor, .is-style-arrondie-avec-decor-blanc)::after {
  position: absolute;
  z-index: -1;
  bottom: calc(var(--fhv-image-decor-offset) * -1);
  left: -10%;
  width: 120%;
  aspect-ratio: 611/302;
  content: "";
  pointer-events: none;
}
.wp-block-image:is(.is-style-arrondie-avec-decor, .is-style-arrondie-avec-decor-blanc) img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.wp-block-image.is-style-arrondie-avec-decor::after {
  background: url("assets/images/decors/arrondi.svg") center bottom/contain no-repeat;
}
.wp-block-image.is-style-arrondie-avec-decor-blanc::after {
  background: url("assets/images/decors/arrondi-blanc.svg") center bottom/contain no-repeat;
}

/* Variante Gutenberg « Image détourée avec disque » du bloc Image. */
.wp-block-image.is-style-detouree-avec-disque {
  --fhv-disc-inset: 10%;
  --fhv-ring-inset: 0%;
  --fhv-ring-thickness: clamp(0.75rem, 3vw, 1.125rem);
  position: relative;
  display: grid;
  isolation: isolate;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  aspect-ratio: 1;
  margin-inline: auto;
  overflow: visible;
}
.wp-block-image.is-style-detouree-avec-disque::before,
.wp-block-image.is-style-detouree-avec-disque::after {
  position: absolute;
  content: "";
  pointer-events: none;
}
.wp-block-image.is-style-detouree-avec-disque::before {
  z-index: 0;
  inset: var(--fhv-disc-inset);
  border-radius: 50%;
  background: linear-gradient(180deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--primary) 100%);
}
.wp-block-image.is-style-detouree-avec-disque::after {
  z-index: 1;
  inset: var(--fhv-ring-inset);
  border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 0deg 62deg, var(--wp--preset--color--primary) 62deg 340deg, transparent 340deg 360deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - var(--fhv-ring-thickness)), #000 calc(100% - var(--fhv-ring-thickness) + 1px));
  mask: radial-gradient(farthest-side, transparent calc(100% - var(--fhv-ring-thickness)), #000 calc(100% - var(--fhv-ring-thickness) + 1px));
}
.wp-block-image.is-style-detouree-avec-disque > img,
.wp-block-image.is-style-detouree-avec-disque > a {
  grid-area: 1/1;
  z-index: 2;
  align-self: end;
}
.wp-block-image.is-style-detouree-avec-disque > img,
.wp-block-image.is-style-detouree-avec-disque > a > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.wp-block-image.is-style-detouree-avec-disque figcaption {
  position: relative;
  z-index: 3;
}

header.wp-block-template-part {
  position: fixed;
  z-index: 1000;
  top: var(--wp--preset--spacing--item-default);
  right: 0;
  left: 0;
  width: 100%;
}
.admin-bar header.wp-block-template-part {
  top: calc(32px + var(--wp--preset--spacing--item-default));
}

header.wp-block-template-part .wp-block-group.header-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  box-shadow: 0 4px 30px 0 rgba(6, 34, 53, 0.15);
}
header.wp-block-template-part .wp-block-group.header-inner > :first-child {
  justify-self: start;
}
header.wp-block-template-part .wp-block-group.header-inner > :nth-child(2) {
  justify-self: center;
}
header.wp-block-template-part .wp-block-group.header-inner > :last-child {
  justify-self: end;
}

@media (max-width: 659px) {
  header.wp-block-template-part .wp-block-group.header-inner {
    grid-template-columns: auto minmax(0, 1fr);
  }
  header.wp-block-template-part .wp-block-group.header-inner > :nth-child(2) {
    justify-self: end;
  }
  header.wp-block-template-part .wp-block-group.header-inner > :last-child {
    display: none !important;
  }
}

footer.wp-block-template-part :where(ul, ol) {
  padding-inline-start: 0;
  list-style: none;
}

@media screen and (max-width: 782px) {
  .admin-bar header.wp-block-template-part {
    top: calc(46px + var(--wp--preset--spacing--item-default));
  }
}

.home .upcb-carousel-block .swiper-wrapper {
  align-items: stretch;
}
.home .upcb-carousel-block .upcb-slide {
  height: auto;
}
.home .upcb-carousel-block .upcb-slide > .wp-block-group {
  height: 100%;
  box-sizing: border-box;
}

/* Pagination en trois zones fixes. */
.wp-block-query-pagination {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  grid-template-rows: auto;
  width: 100%;
  column-gap: var(--wp--preset--spacing--item-default);
  align-items: center;
}
.wp-block-query-pagination .wp-block-query-pagination-previous {
  grid-row: 1;
  grid-column: 1;
  min-width: 0;
  justify-self: start;
  text-align: left;
}
.wp-block-query-pagination .wp-block-query-pagination-numbers {
  grid-row: 1;
  grid-column: 2;
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--item-xs);
  justify-self: center;
  white-space: nowrap;
}
.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers.current {
  display: inline-grid;
  min-width: 40px;
  min-height: 40px;
  box-sizing: border-box;
  padding: 0 var(--wp--preset--spacing--item-xs);
  place-items: center;
  border-radius: var(--wp--custom--radius--full);
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--white);
  font-weight: 700;
  line-height: 1;
}
.wp-block-query-pagination .wp-block-query-pagination-next {
  grid-row: 1;
  grid-column: 3;
  min-width: 0;
  justify-self: end;
  text-align: right;
}
.nowrap {
  white-space: nowrap;
}

.dowrap {
  flex-wrap: wrap;
  justify-content: center;
}

@media (max-width: 1024px) {
  .hidden-under-1025 {
    display: none !important;
  }
}
@media (max-width: 659px) {
  .hidden-under-660 {
    display: none !important;
  }
}

.fhv-marquee {
  --fhv-marquee-distance: 0px;
  --fhv-marquee-duration: 15s;
  --fhv-marquee-gap: 12px;
  width: 100%;
  max-width: none !important;
  margin-inline: 0 !important;
  overflow: hidden;
}
.fhv-marquee__track,
.fhv-marquee__set {
  display: flex;
  flex: none;
  align-items: center;
  gap: var(--fhv-marquee-gap);
  width: -moz-max-content;
  width: max-content;
}
.fhv-marquee__track {
  animation: fhv-marquee-scroll var(--fhv-marquee-duration) linear infinite;
  will-change: transform;
}
.fhv-marquee__set > * {
  flex: none;
}

@keyframes fhv-marquee-scroll {
  to {
    transform: translate3d(calc(-1 * var(--fhv-marquee-distance)), 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .fhv-marquee {
    overflow-x: auto;
  }
  .fhv-marquee__track {
    animation: none;
  }
  .fhv-marquee__set[data-fhv-marquee-clone=true] {
    display: none;
  }
}

:where(.wp-site-blocks) > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

html {
  scroll-behavior: smooth;
}

@media (max-width: 1199px) {
  .padding-resp {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
}

@media (max-width: 781px) {
  .mob-nopad {
    padding: 0 !important;
  }

  .mob-center {
    justify-content: center !important;
    text-align: center !important;
  }

  :root {
    --wp--preset--spacing--section-vertical-s: 2rem;
    --wp--preset--spacing--section-vertical-m: 2.5rem;
    --wp--preset--spacing--section-vertical-l: 3.5rem;
    --wp--preset--spacing--section-vertical-xl: 4.5rem;
    --wp--preset--spacing--item-xxl: 3.5rem;
  }
}
.wp-block-separator {
  border: none;
  border-top: 1px solid;
}

.wp-block-cover {
  padding: 0;
}

.wp-block-cover.banner-bas {
  align-items: flex-end;
}

:is(.radius-haut, .radius-bas, .comble-radius-haut, .comble-radius-bas) {
  --fhv-section-radius: var(--wp--custom--radius--px-72);
}

:is(.radius-haut, .radius-bas) {
  position: relative;
  z-index: 2;
  overflow: hidden;
}

.radius-haut {
  border-top-left-radius: var(--fhv-section-radius);
  border-top-right-radius: var(--fhv-section-radius);
}

.radius-bas {
  border-bottom-right-radius: var(--fhv-section-radius);
  border-bottom-left-radius: var(--fhv-section-radius);
}

.wp-block-cover.radius-bas {
  padding-top: var(--wp--preset--spacing--section-vertical-l);
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  overflow: visible;
}

.wp-block-cover.radius-bas > .wp-block-cover__background {
  border-bottom-right-radius: var(--fhv-section-radius);
  border-bottom-left-radius: var(--fhv-section-radius);
}

:is(.comble-radius-haut, .comble-radius-bas) {
  position: relative;
  z-index: 1;
  isolation: isolate;
}

.comble-radius-haut::before,
.comble-radius-bas::after {
  position: absolute;
  z-index: -1;
  right: 0;
  left: 0;
  height: var(--fhv-section-radius);
  content: "";
  background: inherit;
}

.comble-radius-haut::before {
  top: calc(var(--fhv-section-radius) * -1);
}

.comble-radius-bas::after {
  bottom: calc(var(--fhv-section-radius) * -1);
}

.wp-block-heading:is(.is-style-h1, .is-h1),
.wp-block-post-title:is(.is-style-h1, .is-h1) {
  font-size: var(--wp--preset--font-size--title-large) !important;
}

.wp-block-heading:is(.is-style-h2, .is-h2),
.wp-block-post-title:is(.is-style-h2, .is-h2) {
  font-size: var(--wp--preset--font-size--title-medium) !important;
}

.wp-block-heading:is(.is-style-h3, .is-h3),
.wp-block-post-title:is(.is-style-h3, .is-h3) {
  font-size: var(--wp--preset--font-size--title-small) !important;
}

.wp-block-heading:is(.is-style-h4, .is-h4),
.wp-block-post-title:is(.is-style-h4, .is-h4) {
  font-size: 1.125rem !important;
}

.wp-block-heading:is(.is-style-h5, .is-h5),
.wp-block-post-title:is(.is-style-h5, .is-h5) {
  font-size: var(--wp--preset--font-size--body-default) !important;
}

/* Menu principal FHV. */
header.wp-block-template-part {
  --fhv-menu-width: 23.4375rem;
  --fhv-menu-padding: clamp(2rem, 14.933vw, 3.5rem);
  --fhv-menu-motion-duration: 360ms;
}
header.wp-block-template-part .wp-block-navigation__responsive-container-open,
header.wp-block-template-part .wp-block-navigation__responsive-container-close {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.5rem;
  padding: 0.5rem 1rem;
  border-radius: var(--wp--custom--radius--full);
  font-family: var(--wp--preset--font-family--bilo);
  font-size: var(--wp--preset--font-size--body-default);
  font-weight: 700;
  line-height: 1;
}
header.wp-block-template-part .wp-block-navigation__responsive-container-open::before,
header.wp-block-template-part .wp-block-navigation__responsive-container-close::before {
  content: "Menu";
}
header.wp-block-template-part .wp-block-navigation__responsive-container-open {
  border: 0;
  background: var(--wp--preset--color--primary-dark);
  color: var(--wp--preset--color--white);
}
header.wp-block-template-part .wp-block-navigation__responsive-container-open svg {
  fill: currentColor;
}
header.wp-block-template-part .wp-block-navigation__responsive-container-close {
  position: fixed;
  z-index: 5;
  top: 2rem;
  right: auto;
  left: var(--fhv-menu-padding);
  width: 7.25rem;
  height: 2.75rem;
  min-height: 2.75rem;
  padding: 0.75rem 1.5rem;
  flex-direction: row;
  justify-content: center;
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--secondary-light);
  font-weight: 500;
}
header.wp-block-template-part .wp-block-navigation__responsive-container-close::before {
  content: "Menu";
}
.admin-bar header.wp-block-template-part .wp-block-navigation__responsive-container-close {
  top: calc(32px + 2rem);
}
header.wp-block-template-part .wp-block-navigation__responsive-container-close svg {
  fill: currentColor;
}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
  padding: 0;
  background: rgba(6, 34, 53, 0.36);
  animation: fhv-menu-backdrop-in var(--fhv-menu-motion-duration) ease both;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}
header.wp-block-template-part .wp-block-navigation__responsive-close,
header.wp-block-template-part .wp-block-navigation__responsive-dialog,
header.wp-block-template-part .wp-block-navigation__responsive-container-content {
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
}
header.wp-block-template-part .wp-block-navigation__responsive-container-content {
  display: block;
  padding: 0 !important;
}
header.wp-block-template-part .wp-block-navigation__responsive-container-content > .wp-block-navigation__container,
header.wp-block-template-part .wp-block-navigation__responsive-container-content > .wp-block-buttons {
  display: none !important;
}
header.wp-block-template-part .wp-block-navigation__overlay-container {
  width: var(--fhv-menu-width);
  min-height: 100dvh;
}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close,
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__overlay-container {
  animation: fhv-menu-slide-in var(--fhv-menu-motion-duration) cubic-bezier(0.22, 1, 0.36, 1) both;
}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open.is-fhv-menu-closing {
  animation: fhv-menu-backdrop-out var(--fhv-menu-motion-duration) ease both;
  pointer-events: none;
}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open.is-fhv-menu-closing .wp-block-navigation__responsive-container-close,
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open.is-fhv-menu-closing .wp-block-navigation__overlay-container {
  animation: fhv-menu-slide-out var(--fhv-menu-motion-duration) cubic-bezier(0.64, 0, 0.78, 0) both;
}
header.wp-block-template-part .fhv-menu-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  width: var(--fhv-menu-width);
  min-height: max(100dvh, 60rem);
  padding-top: 7.125rem;
  gap: 0;
  overflow: visible;
  box-shadow: 0.75rem 0 2rem rgba(6, 34, 53, 0.18);
}

@keyframes fhv-menu-slide-in {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes fhv-menu-slide-out {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes fhv-menu-backdrop-in {
  from {
    background-color: transparent;
  }
  to {
    background-color: rgba(6, 34, 53, 0.36);
  }
}
@keyframes fhv-menu-backdrop-out {
  from {
    background-color: rgba(6, 34, 53, 0.36);
  }
  to {
    background-color: transparent;
  }
}
@media (prefers-reduced-motion: reduce) {
  header.wp-block-template-part {
    --fhv-menu-motion-duration: 0ms;
  }
}
.admin-bar header.wp-block-template-part .fhv-menu-panel {
  padding-top: calc(7.125rem + 32px);
}
header.wp-block-template-part .fhv-menu-panel > .wp-block-group:first-child {
  display: flex;
  flex: 0 0 29.75rem;
  flex-direction: column;
  width: 100%;
  padding: 0 var(--fhv-menu-padding) 2.5rem;
  box-sizing: border-box;
}
header.wp-block-template-part .fhv-menu-panel > .wp-block-group:last-child {
  flex: 0 0 23.125rem;
  width: 100%;
  min-height: 23.125rem;
  margin-block-start: 0 !important;
  padding: 2.5rem var(--fhv-menu-padding) !important;
  box-sizing: border-box;
}
header.wp-block-template-part .fhv-menu-panel .wp-block-image {
  width: min(12.5rem, 80%);
  margin: 0 0 2.5rem;
  margin-inline: 0 !important;
  align-self: flex-start;
}
header.wp-block-template-part .fhv-menu-panel .wp-block-navigation,
header.wp-block-template-part .fhv-menu-panel .wp-block-navigation__container,
header.wp-block-template-part .fhv-menu-panel .wp-block-navigation-item {
  width: 100%;
}
header.wp-block-template-part .fhv-menu-panel :where(ul) {
  margin: 0;
  padding: 0;
  list-style: none;
}
header.wp-block-template-part .fhv-menu-panel .wp-block-navigation__container {
  align-items: stretch !important;
  gap: 0 !important;
}
header.wp-block-template-part .fhv-menu-panel .wp-block-navigation-item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}
header.wp-block-template-part .fhv-menu-panel .wp-block-navigation-item__content {
  padding: 0.875rem 0;
  font-weight: 700;
  line-height: 1.5;
}
header.wp-block-template-part .fhv-menu-panel .wp-block-navigation__submenu-icon {
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  color: currentColor;
  transition: transform 200ms ease;
}
header.wp-block-template-part .fhv-menu-panel .wp-block-navigation__submenu-icon svg {
  width: 0.75rem;
  height: 0.75rem;
  stroke: currentColor;
}
header.wp-block-template-part .fhv-menu-panel .wp-block-buttons {
  margin-top: 1rem;
}
header.wp-block-template-part .fhv-menu-panel .wp-block-buttons .wp-block-button__link {
  height: 2.5rem;
  padding-block: 0;
  white-space: nowrap;
}
header.wp-block-template-part .fhv-menu-panel > .wp-block-group:first-child .wp-block-navigation {
  margin-block-start: 0;
}
header.wp-block-template-part .fhv-menu-panel > .wp-block-group:first-child .wp-block-navigation .wp-block-button__link {
  width: 13.5rem;
}
header.wp-block-template-part .fhv-menu-panel > .wp-block-group:last-child {
  color: var(--wp--preset--color--secondary-light);
}
header.wp-block-template-part .fhv-menu-panel > .wp-block-group:last-child .wp-block-navigation-item {
  display: block;
}
header.wp-block-template-part .fhv-menu-panel > .wp-block-group:last-child .wp-block-navigation-item__content {
  color: inherit;
}
header.wp-block-template-part .fhv-menu-panel > .wp-block-group:last-child .wp-block-navigation-submenu > .wp-block-navigation-item__content {
  padding: 0;
  font-size: var(--wp--preset--font-size--body-huge);
  font-style: italic;
  line-height: 1;
}
header.wp-block-template-part .fhv-menu-panel > .wp-block-group:last-child .wp-block-navigation__submenu-container {
  position: static;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: auto;
  gap: 1.5rem;
  padding: 2.5rem 0 0;
  border: 0;
  background: transparent;
  opacity: 1;
  visibility: visible;
}
header.wp-block-template-part .fhv-menu-panel > .wp-block-group:last-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: 0;
  line-height: 1.5;
}
header.wp-block-template-part .fhv-menu-panel > .wp-block-group:last-child .wp-block-button__link {
  width: 10.6875rem;
}

@media screen and (min-width: 783px) {
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] > .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
    position: fixed;
    z-index: 4;
    top: 0;
    bottom: 0;
    left: var(--fhv-menu-width);
    display: flex;
    width: var(--fhv-menu-width);
    height: 100dvh;
    max-height: none;
    box-sizing: border-box;
    padding: var(--fhv-submenu-offset, 0) 0 0;
    border: 0;
    background: var(--wp--preset--color--white);
    box-shadow: 0.75rem 0 2rem rgba(6, 34, 53, 0.14);
    opacity: 0;
    overflow-y: auto;
    transform: translateX(-0.75rem);
    visibility: hidden;
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  }
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] > .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item {
    display: block;
  }
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] > .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    display: block;
    padding: 1.25rem var(--fhv-menu-padding);
    border-bottom: 1px solid rgba(16, 61, 91, 0.12);
    color: var(--wp--preset--color--neutral-dark);
  }
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] > .wp-block-navigation__container > .has-child:hover > .wp-block-navigation-item__content,
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] > .wp-block-navigation__container > .has-child.is-fhv-submenu-open > .wp-block-navigation-item__content,
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] > .wp-block-navigation__container > .has-child:has(> .wp-block-navigation-submenu__toggle[aria-expanded=true]) > .wp-block-navigation-item__content {
    color: var(--wp--preset--color--secondary);
  }
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] > .wp-block-navigation__container > .has-child:hover > .wp-block-navigation__submenu-container,
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] > .wp-block-navigation__container > .has-child.is-fhv-submenu-open > .wp-block-navigation__submenu-container,
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] > .wp-block-navigation__container > .has-child:has(> .wp-block-navigation-submenu__toggle[aria-expanded=true]) > .wp-block-navigation__submenu-container {
    opacity: 1;
    transform: translateX(0);
    visibility: visible;
  }
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] > .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon {
    transform: rotate(-90deg);
    opacity: 0;
  }
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] > .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon:focus-visible {
    opacity: 1;
  }
}

@media screen and (max-width: 782px) {
  header.wp-block-template-part {
    --fhv-menu-width: 100vw;
  }
  .admin-bar header.wp-block-template-part .wp-block-navigation__responsive-container-close {
    top: calc(46px + 2rem);
  }
  header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
    inset: 0;
    width: 100vw;
    max-width: none;
    height: 100dvh;
    min-height: 100dvh;
    background: var(--wp--preset--color--secondary-light);
    overflow-y: auto;
  }
  header.wp-block-template-part .wp-block-navigation__responsive-close,
  header.wp-block-template-part .wp-block-navigation__responsive-dialog,
  header.wp-block-template-part .wp-block-navigation__responsive-container-content,
  header.wp-block-template-part .wp-block-navigation__overlay-container,
  header.wp-block-template-part .fhv-menu-panel {
    width: 100vw;
    max-width: none;
    min-height: 100dvh;
  }
  header.wp-block-template-part .fhv-menu-panel {
    box-shadow: none;
  }
  .admin-bar header.wp-block-template-part .fhv-menu-panel {
    padding-top: calc(7.125rem + 46px);
  }
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] .has-child > .wp-block-navigation__submenu-container {
    position: static;
    display: flex;
    grid-column: 1/-1;
    width: 100%;
    max-height: 0;
    padding: 0 0 0 1rem;
    border: 0;
    background: transparent;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    transition: max-height 300ms ease, opacity 200ms ease, visibility 300ms ease;
  }
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] .has-child.is-fhv-submenu-open > .wp-block-navigation__submenu-icon {
    transform: rotate(180deg);
  }
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] .has-child.is-fhv-submenu-open > .wp-block-navigation__submenu-container {
    max-height: 60rem;
    opacity: 1;
    visibility: visible;
  }
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] .has-child .wp-block-navigation-item {
    display: block;
  }
  header.wp-block-template-part .fhv-menu-panel [aria-label=Navigation] .has-child .wp-block-navigation-item__content {
    padding: 0.6rem 0;
  }
}

@media screen and (max-height: 900px) {
  header.wp-block-template-part .fhv-menu-panel {
    min-height: 100dvh;
    padding-top: 5.5rem;
  }
  .admin-bar header.wp-block-template-part .fhv-menu-panel {
    padding-top: calc(5.5rem + 32px);
  }
  header.wp-block-template-part .fhv-menu-panel > .wp-block-group:first-child {
    flex-basis: 27.5rem;
    padding-bottom: 2rem;
  }
  header.wp-block-template-part .fhv-menu-panel > .wp-block-group:last-child {
    flex-basis: 20.5rem;
    min-height: 20.5rem;
    padding-block: 2rem !important;
  }
  header.wp-block-template-part .fhv-menu-panel .wp-block-image {
    margin-bottom: 1.5rem;
  }
  header.wp-block-template-part .fhv-menu-panel .wp-block-navigation-item__content {
    padding-block: 0.625rem;
  }
  header.wp-block-template-part .fhv-menu-panel .wp-block-buttons {
    margin-top: 0.75rem;
  }
  header.wp-block-template-part .fhv-menu-panel > .wp-block-group:last-child .wp-block-navigation__submenu-container {
    gap: 1rem;
    padding-top: 1.5rem;
  }
}
@media screen and (max-width: 782px) and (max-height: 900px) {
  .admin-bar header.wp-block-template-part .fhv-menu-panel {
    padding-top: calc(5.5rem + 46px);
  }
}
