@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide--draggable>.splide__slider>.splide__track,.splide--draggable>.splide__track{-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide--fade>.splide__slider>.splide__track>.splide__list,.splide--fade>.splide__track>.splide__list{display:block}.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide,.splide--fade>.splide__track>.splide__list>.splide__slide{left:0;opacity:0;position:absolute;top:0;z-index:0}.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active,.splide--fade>.splide__track>.splide__list>.splide__slide.is-active{opacity:1;position:relative;z-index:1}.splide--rtl{direction:rtl}.splide--ttb.is-active>.splide__slider>.splide__track>.splide__list,.splide--ttb.is-active>.splide__track>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important;transform-style:preserve-3d}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide__progress__bar{width:0}.splide{outline:none;position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;outline:none;position:relative}.splide__slide img{vertical-align:bottom}.splide__slider{position:relative}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__track{overflow:hidden;position:relative;z-index:0}
/* Preserve the published styles; only supply states formerly owned by scripts. */
[hidden] { display: none !important; }
/* Correct the source's global img max-width:70% exposing an unrelated fixed
   background beside article heroes. One image now occupies one stable frame. */
.blogpost-header_image { max-width: 100%; }
.blogpost-header_image-wrapper { background-image: none; background-attachment: scroll; }
/* Frozen pages inherit white text from surrounding dark sections. These
   components have their own light surface, including the pastel theme variants. */
.background-color-secondary .cta-demo_text,
.background-color-secondary-transparent .cta-demo_text,
.section_feature :is(.background-color-primary, .background-color-secondary-transparent) .horizontal-flexbox-xs > .text-size-medium.text-weight-semibold,
.card_base .heading-style-h4.text-color-brand,
.section_faq-2 .heading-style-h4.text-color-brand,
.blog-card_content .heading-style-h4.text-color-brand {
  color: var(--token--text--brand, #00323e);
}
/* The moving track is deliberately wider than its window, but the window
   itself must not make the document 120% as wide as a phone or desktop. */
.logo-carousel_component { width: 100%; }
.decarbonation_title-wrapper { width: 100%; }
/* The home cards have a dark inner surface. Imported mobile decoration rules
   must not move their entire text panel outside the card. */
.visibilite_card-box .heading-style-h4.text-color-brand { color: white; }
.visibilite_card-box .padding-rg { width: auto; height: 100%; position: static; }
@media (max-width: 479px) {
  .visibilite_card-box { flex-basis: 100%; min-width: 0; }
}
/* Imported article URLs and figures must shrink inside the content grid. */
.w-richtext { min-width: 0; overflow-wrap: anywhere; }
.w-richtext figure { max-width: 100%; }
:focus-visible { outline: 3px solid var(--token--surface--brand-tertiary, #00898f); outline-offset: 4px; }
html:not(.faithful-native-motion) .w-dropdown-list.w--open { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }
html:not(.faithful-native-motion) .w-dropdown-list.w--open .pointer-events-on { pointer-events: auto; }
html:not(.faithful-native-motion) .w-dropdown-toggle[role="button"], .w-nav-button[role="button"] { cursor: pointer; }
html:not(.faithful-native-motion) .w-dropdown-toggle.w--open .navbar_dropdown-icon { transform: rotate(180deg); }
html:not(.faithful-native-motion) .faq_answer:not([hidden]) { height: auto !important; opacity: 1 !important; }
.faithful-faq-toggle { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: inherit; cursor: pointer; }
.faithful-faq-indicator { position: relative; color: var(--token--text--brand, #00323e); }
.faithful-faq-indicator::before, .faithful-faq-indicator::after { content: ''; position: absolute; top: 50%; left: 15%; width: 70%; height: 2px; background: currentColor; }
.faithful-faq-indicator::after { transform: rotate(90deg); }
.faq_item-card.faithful-open .faithful-faq-indicator::after { transform: rotate(0); }
.faithful-slider { visibility: visible !important; }
.faithful-slider .splide__track { overflow-x: auto !important; scroll-snap-type: x mandatory; scrollbar-width: none; }
.faithful-slider .splide__track::-webkit-scrollbar { display: none; }
.faithful-slider .splide__list { display: flex !important; gap: var(--token--spacing--hg, 24px); transform: none !important; }
.faithful-slider .splide__slide { flex-shrink: 0; height: auto; margin-right: 0 !important; scroll-snap-align: start; }
.faithful-slider.slider2 .splide__slide { width: calc((100% - 2 * var(--token--spacing--hg, 24px)) / 3); }
.faithful-slider .splide__slide .text-opacity { opacity: 1; }
.faithful-highlight { display: block; pointer-events: none; }
.faithful-highlight .highlight-filler { height: 100% !important; }
html:not(.faithful-native-motion) .faithful-highlight .highlight-filler { display: block; width: 100%; height: 100%; }
.honey { display: none !important; }
.faithful-video { display: block; position: absolute; inset: 0; color: white; }
.faithful-video > img { width: 100%; max-width: 100%; height: 100%; object-fit: cover; }
.faithful-video:hover > svg path:first-child, .faithful-video:focus-visible > svg path:first-child { fill: #f00; fill-opacity: 1; }
.faithful-video > svg { position: absolute; top: 50%; left: 50%; width: 68px; height: 48px; transform: translate(-50%, -50%); }
.faithful-form-result { margin-top: 1rem; color: inherit; }
@media (max-width: 991px) {
  /* The language toggle keeps an inline white color from the desktop navbar. */
  .w-nav-menu[data-nav-menu-open] .ouiflow-4-toggle,
  .w-nav-menu[data-nav-menu-open] .ouiflow-4-toggle > div { color: var(--token--text--brand, #00323e) !important; }
  html.faithful-menu-open { overflow: hidden; }
  html:not(.faithful-native-motion) .w-nav-menu[data-nav-menu-open] { top: 100%; left: calc((100% - 100vw) / 2); right: auto; width: 100vw; max-width: none; padding-inline: 5vw; max-height: calc(100dvh - 5rem); text-align: left; overflow-y: auto; overscroll-behavior: contain; }
  .faithful-slider.slider2 .splide__slide { width: calc((100% - var(--token--spacing--hg, 24px)) / 2); }
  html:not(.faithful-native-motion) .w-nav-button.w--open .navbar_menu-icon_line-top { transform: translateY(8px) rotate(45deg); }
  html:not(.faithful-native-motion) .w-nav-button.w--open .navbar_menu-icon_line-middle { opacity: 0; }
  html:not(.faithful-native-motion) .w-nav-button.w--open .navbar_menu-icon_line-bottom { transform: translateY(-8px) rotate(-45deg); }
}
@media (max-width: 767px) {
  .faithful-slider.slider2 .splide__slide { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Same Inter outlines and weight axis, compressed from the captured TTF. */
@font-face {
  font-family: 'Inter Variable';
  src: url('/ovrsea-ui/inter-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

/* Western Latin uses the same outlines/metrics with a smaller character set.
   The complete face above remains available for every other character. */
@font-face {
  font-family: 'Inter Variable';
  src: url('/ovrsea-ui/inter-variable-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+0178,U+0300-036F,U+2000-206F,U+20AC,U+2122,U+2190-2199,U+2212,U+FEFF,U+FFFD;
}

/* Font metrics from the shipped fonts; match Arial's average Latin advance.
   Preloads cover normal loads, these fallbacks reduce reflow on slow networks. */
@font-face {
  font-family: 'Familjen Fallback';
  src: local('Arial Bold');
  font-weight: 700;
  size-adjust: 91.43%;
  ascent-override: 112.11%;
  descent-override: 24.61%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Inter Fallback';
  src: local('Arial');
  size-adjust: 103.35%;
  ascent-override: 93.73%;
  descent-override: 23.36%;
  line-gap-override: 0%;
}
:root {
  --font-family--text: 'Inter Variable', 'Inter Fallback', sans-serif;
  --font-family--headings: 'Familjen Grotesk', 'Familjen Fallback', sans-serif;
  --font-family--display: 'Familjen Grotesk', 'Familjen Fallback', sans-serif;
}

/* Dimension hints reserve the natural ratio; a CSS width must not leave the
   HTML height fixed. Class/inline height rules still win for cover crops. */
img:where([data-responsive-image]) { height: auto; }
