/* Page-builder section options that behave the same in every client theme (1.6.0):
   FAQ columns and filter, testimonial layouts, logo marquee, horizontal timeline,
   update layouts, CTA fine print, newsletter split, header subtitle, video caption,
   reading width and gallery thumbnail shapes. Colours come from the theme. */

/* FAQs */
.sec.faqs .faqs-wide { max-width: 1180px; }
.sec.faqs.faqs--cols-2 .card-faqs-group { column-count: 2; column-gap: 24px; }
.sec.faqs.faqs--cols-2 .card-faqs-group > .card { break-inside: avoid; page-break-inside: avoid; margin-bottom: 12px; }
.sec.faqs .faqs-search { position: relative; margin: 0 0 22px; }
.sec.faqs .faqs-search > i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); opacity: .55; pointer-events: none; }
.sec.faqs .faqs-search .form-control { padding-left: 42px; height: 48px; border-radius: 999px; }
.sec.faqs .faqs-search__empty { display: block; margin-top: 10px; font-size: 13.5px; opacity: .7; }
.sec.faqs .faqs-search__empty[hidden] { display: none; }
.sec.faqs .card-faqs-group > .card.is-filtered-out { display: none; }
@media (max-width: 767.98px) { .sec.faqs.faqs--cols-2 .card-faqs-group { column-count: 1; } }

/* Testimonials */
.sec.testimonials .testimonials-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sec.testimonials.testimonials--cols-2 .testimonials-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sec.testimonials.testimonials--cols-4 .testimonials-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sec.testimonials.testimonials--wall .testimonials-grid { display: block; column-count: 3; column-gap: 20px; }
.sec.testimonials.testimonials--wall.testimonials--cols-2 .testimonials-grid { column-count: 2; }
.sec.testimonials.testimonials--wall.testimonials--cols-4 .testimonials-grid { column-count: 4; }
.sec.testimonials.testimonials--wall .testimonials-grid > .slide-item { break-inside: avoid; margin-bottom: 20px; }
.sec.testimonials .testimonials-grid .slide-item { min-width: 0; }
.sec.testimonials .testimonials-grid .testimonial-item { height: 100%; }
.sec.testimonials.testimonials--spotlight .testimonials-carousel { max-width: 760px; margin: 0 auto; }
.sec.testimonials.testimonials--quote-plain .testimonial-massage .quote { display: none; }
.sec.testimonials.testimonials--quote-large .testimonial-massage .quote { font-size: 44px; line-height: 1; opacity: .25; margin-bottom: 4px; }
@media (max-width: 991.98px) { .sec.testimonials .testimonials-grid, .sec.testimonials.testimonials--cols-4 .testimonials-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sec.testimonials.testimonials--wall .testimonials-grid, .sec.testimonials.testimonials--wall.testimonials--cols-4 .testimonials-grid { column-count: 2; } }
@media (max-width: 575.98px) { .sec.testimonials .testimonials-grid, .sec.testimonials.testimonials--cols-2 .testimonials-grid, .sec.testimonials.testimonials--cols-4 .testimonials-grid { grid-template-columns: minmax(0, 1fr); } .sec.testimonials.testimonials--wall .testimonials-grid, .sec.testimonials.testimonials--wall.testimonials--cols-2 .testimonials-grid, .sec.testimonials.testimonials--wall.testimonials--cols-4 .testimonials-grid { column-count: 1; } }

/* Logo wall */
.sec.logo-wall .logo-wall__marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.sec.logo-wall .logo-wall__track { display: flex; align-items: center; gap: 64px; width: max-content; margin: 0; padding: 6px 0; list-style: none; animation: logo-wall-marquee 42s linear infinite; }
.sec.logo-wall .logo-wall__track > .logo-wall__item { flex: 0 0 auto; }
.sec.logo-wall.logo-wall--marquee-slow .logo-wall__track { animation-duration: 84s; }
.sec.logo-wall .logo-wall__marquee:hover .logo-wall__track { animation-play-state: paused; }
@keyframes logo-wall-marquee { to { transform: translateX(calc(-50% - 32px)); } }
@media (prefers-reduced-motion: reduce) { .sec.logo-wall .logo-wall__track { animation: none; } }
.sec.logo-wall.logo-wall--small .logo-wall__item img { max-height: 30px; }
.sec.logo-wall.logo-wall--large .logo-wall__item img { max-height: 64px; }

/* Timeline */
.sec.timeline.timeline--horizontal .timeline__list { display: flex; gap: 20px; max-width: none; padding: 34px 4px 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.sec.timeline.timeline--horizontal .timeline__list::before { top: 40px; left: 0; right: 0; bottom: auto; width: auto; height: 2px; }
.sec.timeline.timeline--horizontal .timeline__item, .sec.timeline.timeline--horizontal .timeline__item.timeline__item--alt { flex: 0 0 min(320px, 82vw); flex-direction: column; gap: 14px; padding: 0; scroll-snap-align: start; }
/* on wide screens the steps share the row instead of scrolling; the strip only scrolls when there are more steps than fit */
@media (min-width: 768px) { .sec.timeline.timeline--horizontal .timeline__list { scroll-snap-type: none; } .sec.timeline.timeline--horizontal .timeline__item, .sec.timeline.timeline--horizontal .timeline__item.timeline__item--alt { flex: 1 1 0; min-width: 200px; } }
.sec.timeline.timeline--horizontal .timeline__marker { width: auto; justify-content: flex-start; padding: 0 0 0 8px; }
.sec.timeline.timeline--horizontal .timeline__card { width: 100%; }
.sec.timeline.timeline--marker-numbers .timeline__marker span, .sec.timeline.timeline--marker-check .timeline__marker span { display: grid; place-items: center; width: 30px; height: 30px; color: #fff; font-size: 12px; font-weight: 800; }
.sec.timeline.timeline--marker-numbers:not(.timeline--horizontal) .timeline__marker, .sec.timeline.timeline--marker-check:not(.timeline--horizontal) .timeline__marker { padding-top: 16px; }

/* alternating timeline on wide screens: a card on the left of the line reads toward the line, so its text lines up on the right */
@media (min-width: 768px) { .sec.timeline:not(.timeline--single):not(.timeline--horizontal) .timeline__item:not(.timeline__item--alt) .timeline__card { text-align: right; } }

/* Latest updates */
.sec.social.social--list .news-cards > .col { flex: 0 0 100%; max-width: 100%; }
.sec.social.social--list .news-card { flex-direction: row; align-items: stretch; }
.sec.social.social--list .news-card .news-card__media { position: relative; overflow: hidden; flex: 0 0 260px; max-width: 260px; aspect-ratio: auto; min-height: 150px; }
.sec.social.social--list .news-card .news-card__media img { position: absolute; inset: 0; height: 100%; }
.sec.social.social--list .news-card .card-body { flex: 1 1 auto; }
.sec.social.social--list .news-card .card-footer { align-self: center; white-space: nowrap; }
.sec.social.social--lead .news-lead { flex: 0 0 100%; max-width: 100%; }
.sec.social.social--lead .news-lead .news-card { display: grid !important; grid-template-columns: minmax(0, 55%) minmax(0, 1fr); grid-template-rows: 1fr auto; align-items: stretch; }
.sec.social.social--lead .news-lead .news-card .news-card__media { position: relative; overflow: hidden; grid-row: 1 / 3; aspect-ratio: auto; min-height: 320px; max-width: none; }
.sec.social.social--lead .news-lead .news-card .news-card__media img { position: absolute; inset: 0; height: 100%; }
.sec.social.social--lead .news-lead .news-card .card-body { grid-column: 2; display: flex; flex-direction: column; justify-content: center; padding: 30px 32px; }
.sec.social.social--lead .news-lead .news-card .card-footer { grid-column: 2; }
.sec.social.social--lead .news-lead .news-card .news-card__title { font-size: 1.55em; line-height: 1.25; }
.sec.social.social--lead .news-lead .news-card .news-card__summary { font-size: 1.05em; }
.sec.social .news-blocks__more { padding-top: 8px; }
@media (max-width: 767.98px) {
  .sec.social.social--list .news-card { flex-direction: column; }
  .sec.social.social--list .news-card .news-card__media { flex-basis: auto; max-width: none; aspect-ratio: 16 / 9; }
  .sec.social.social--list .news-card .news-card__media img { position: static; }
  .sec.social.social--list .news-card .card-footer { align-self: auto; }
  .sec.social.social--lead .news-lead .news-card { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; }
  .sec.social.social--lead .news-lead .news-card .news-card__media { grid-row: 1; grid-column: 1; aspect-ratio: 16 / 9; min-height: 0; }
  .sec.social.social--lead .news-lead .news-card .news-card__media img { position: static; }
  .sec.social.social--lead .news-lead .news-card .card-body, .sec.social.social--lead .news-lead .news-card .card-footer { grid-column: 1; }
  .sec.social.social--lead .news-lead .news-card .card-body { padding: 20px 22px 18px; }
}

/* Call to action */
.sec.cta-band .cta-band__fineprint { margin-top: 14px; font-size: 13px; opacity: .78; }
.sec.cta-band.cta-band--split .cta-band__fineprint { flex: 0 0 100%; }

/* Newsletter */
.sec.newsletter.newsletter--split .newsletter__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 36px; text-align: left; }
.sec.newsletter.newsletter--split .newsletter__copy .sec-caption { justify-content: flex-start; }
.sec.newsletter .newsletter__privacy { margin-top: 10px; font-size: 12.5px; opacity: .75; }
.sec.newsletter .newsletter__privacy i { margin-right: 4px; font-size: 11px; }
@media (max-width: 767.98px) { .sec.newsletter.newsletter--split .newsletter__inner { grid-template-columns: minmax(0, 1fr); text-align: center; } .sec.newsletter.newsletter--split .newsletter__copy .sec-caption { justify-content: center; } }

/* Block header */
.page-title__subtitle { max-width: 760px; margin: 10px 0 0; font-size: 16.5px; line-height: 1.55; opacity: .82; }
.page-title--center .page-title__subtitle { margin-inline: auto; }

/* Video */
.sec.video-embed .video-embed__caption { margin: 12px auto 0; text-align: center; font-size: 13.5px; opacity: .75; }

/* Text / HTML */
.sec.editor blockquote { margin: 1.4em 0; padding: 14px 22px; border-left: 4px solid currentColor; border-radius: 0 12px 12px 0; background: rgba(127, 127, 127, .08); font-size: 1.08em; line-height: 1.6; }
.sec.editor blockquote p:last-child { margin-bottom: 0; }
.sec.editor .editor__reading--narrow { max-width: 760px; margin-inline: auto; }
.sec.editor .editor__reading--medium { max-width: 960px; margin-inline: auto; }

/* Image gallery thumbnails */
.sec.gallery[class*="gallery--thumb-"] .thumbnail img.img-fluid { width: 100%; object-fit: cover; }
.sec.gallery.gallery--thumb-square .thumbnail img.img-fluid { aspect-ratio: 1 / 1; }
.sec.gallery.gallery--thumb-landscape .thumbnail img.img-fluid { aspect-ratio: 4 / 3; }
.sec.gallery.gallery--thumb-wide .thumbnail img.img-fluid { aspect-ratio: 16 / 9; }
.sec.gallery.gallery--thumb-portrait .thumbnail img.img-fluid { aspect-ratio: 3 / 4; }

.sec.editor :is(h1,h2,h3,h4,h5,h6):not(:first-child) { margin-top: 1.2em; }

/* --------------------------------------------------------------------------
   Card hover states are never chopped. Every section that can run as a slider
   renders Swiper or Owl markup even when it is a static grid, and both clip
   their viewport with overflow: hidden - so a card's lift and shadow on hover
   were cut off at the container edge. A container that is not running as a
   slider clips nothing; a running slider clips at its left and right edges
   only (clip, not hidden, so the off-screen slides never widen the page) and
   leaves room above and below for the shadow.
   -------------------------------------------------------------------------- */
.sec .swiper-container:not(.swiper-container-initialized):not(.swiper-initialized) { overflow: visible; }
.sec .swiper-container.swiper-container-initialized,
.sec .swiper-container.swiper-initialized,
.sec .owl-carousel .owl-stage-outer { overflow-x: clip; overflow-y: visible; }

/* --------------------------------------------------------------------------
   Section design (the panel every page-builder section carries), shared by every client theme:
   width, heading alignment, text tone, background image with overlay, shaped
   edges, anchors and per-device visibility. Classes come from the page loader;
   themes only supply the --dr-*/--mtd-* tokens.
   -------------------------------------------------------------------------- */
.sec { position: relative; }
.sec-anchor { position: absolute; top: calc(-1 * var(--dr-header-h, var(--mtd-header-h, 80px)) - 12px); left: 0; width: 1px; height: 1px; pointer-events: none; }
/* width */
.sec.sec--wide > .container { max-width: min(1600px, calc(100% - 48px)); }
.sec.sec--full > .container { max-width: none; padding-inline: 24px; }
/* heading alignment */
.sec.sec--align-center .sec-caption, .sec.sec--align-center .sec-title, .sec.sec--align-center .sec-subtitle, .sec.sec--align-center .sec-description { text-align: center; }
.sec.sec--align-center .sec-caption { display: flex; justify-content: center; }
.sec.sec--align-center .sec-subtitle, .sec.sec--align-center .sec-description { margin-inline: auto; }
.sec.sec--align-left .sec-caption, .sec.sec--align-left .sec-title, .sec.sec--align-left .sec-subtitle, .sec.sec--align-left .sec-description { text-align: left; }
.sec.sec--align-left .sec-caption { display: flex; justify-content: flex-start; }
.sec.sec--align-left .sec-subtitle, .sec.sec--align-left .sec-description { margin-inline: 0; }
/* background image + overlay */
.sec.sec--bg-image { background-image: var(--sec-bg-image) !important; background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; }
.sec.sec--bg-image.sec--bg-top { background-position: center top !important; }
.sec.sec--bg-image.sec--bg-bottom { background-position: center bottom !important; }
.sec.sec--bg-image.sec--bg-fixed { background-attachment: fixed; }
@media (max-width: 767.98px) { .sec.sec--bg-image.sec--bg-fixed { background-attachment: scroll; } }
.sec.sec--bg-image > .sec-overlay { position: absolute; inset: 0; z-index: 0; background: rgba(12, 11, 20, var(--sec-overlay, .45)); pointer-events: none; }
.sec.sec--bg-image > *:not(.sec-overlay):not(.sec-bg-layer) { position: relative; z-index: 1; }
/* a faded picture is drawn on its own layer, so the opacity reaches the picture and not the section's content (1.7.4) */
.sec.sec--bg-image.sec--bg-fade { background-image: none !important; }
.sec.sec--bg-image.sec--bg-fade > .sec-bg-layer { position: absolute; inset: 0; z-index: 0; background-image: var(--sec-bg-image); background-size: cover; background-position: center; background-repeat: no-repeat; opacity: var(--sec-bg-opacity, 1); pointer-events: none; }
.sec.sec--bg-image.sec--bg-fade.sec--bg-top > .sec-bg-layer { background-position: center top; }
.sec.sec--bg-image.sec--bg-fade.sec--bg-bottom > .sec-bg-layer { background-position: center bottom; }
.sec.sec--bg-image.sec--bg-fade.sec--bg-fixed > .sec-bg-layer { background-attachment: fixed; }
@media (max-width: 767.98px) { .sec.sec--bg-image.sec--bg-fade.sec--bg-fixed > .sec-bg-layer { background-attachment: scroll; } }
/* text tone */
.sec.sec--tone-light { color: #fff; }
.sec.sec--tone-light :is(h1, h2, h3, h4, h5, h6, .sec-title, strong, .feature-title, .stat-title, .stat-number, .title, .counter) { color: #fff !important; }
.sec.sec--tone-light :is(p, li, .sec-subtitle, .sec-description, .description, .feature-desc, small, span:not(.btn):not(.rounded)) { color: rgba(255, 255, 255, .86) !important; }
.sec.sec--tone-light a:not(.btn) { color: #fff !important; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .5); }
.sec.sec--tone-light .sec-caption span { background: rgba(255, 255, 255, .16); color: #fff; }
/* A secondary button on light-on-dark text is a white outline. The themes draw it as a surface
   pill, which in dark mode is a dark button on a dark photo with nothing to show its edge. */
.sec.sec--tone-light .btn.btn-outline, .sec.sec--tone-light .btn.btn-default { border: 1px solid rgba(255, 255, 255, .6) !important; background: rgba(255, 255, 255, .08) !important; color: #fff !important; box-shadow: none !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.sec.sec--tone-light .btn.btn-outline:hover, .sec.sec--tone-light .btn.btn-outline:focus-visible, .sec.sec--tone-light .btn.btn-default:hover { border-color: #fff !important; background: rgba(255, 255, 255, .18) !important; color: #fff !important; }
.sec.sec--tone-dark, .sec.sec--tone-dark .sec-title, .sec.sec--tone-dark h2, .sec.sec--tone-dark h3 { color: var(--dr-ink, var(--mtd-ink, #141922)); }
.sec.sec--tone-dark .sec-subtitle, .sec.sec--tone-dark .sec-description, .sec.sec--tone-dark p { color: var(--dr-ink-2, var(--mtd-muted, #59637a)); }
/* shaped edges: the shape is cut out of the section itself, so whatever sits above or below shows through (no painted canvas colour) */
.sec.sec--edge { --sec-edge-h: clamp(28px, 6vw, 72px); --sec-mask-top: linear-gradient(#000, #000); --sec-mask-bottom: linear-gradient(#000, #000); -webkit-mask-image: var(--sec-mask-top), linear-gradient(#000, #000), var(--sec-mask-bottom); mask-image: var(--sec-mask-top), linear-gradient(#000, #000), var(--sec-mask-bottom); -webkit-mask-size: 100% var(--sec-edge-h), 100% calc(100% - var(--sec-edge-h) * 2 + 2px), 100% var(--sec-edge-h); mask-size: 100% var(--sec-edge-h), 100% calc(100% - var(--sec-edge-h) * 2 + 2px), 100% var(--sec-edge-h); -webkit-mask-position: top center, center center, bottom center; mask-position: top center, center center, bottom center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.sec.sec--edge-top-wave { --sec-mask-top: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 40 C 240 0 480 100 720 60 C 960 20 1200 80 1440 40 L1440 100 L0 100 Z' fill='black'/></svg>"); }
.sec.sec--edge-top-slant { --sec-mask-top: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 0 L1440 100 L0 100 Z' fill='black'/></svg>"); }
.sec.sec--edge-top-curve { --sec-mask-top: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 0 C 360 100 1080 100 1440 0 L1440 100 L0 100 Z' fill='black'/></svg>"); }
.sec.sec--edge-bottom-wave { --sec-mask-bottom: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 0 L1440 0 L1440 60 C 1200 20 960 80 720 40 C 480 0 240 100 0 60 Z' fill='black'/></svg>"); }
.sec.sec--edge-bottom-slant { --sec-mask-bottom: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 0 L1440 0 L0 100 Z' fill='black'/></svg>"); }
.sec.sec--edge-bottom-curve { --sec-mask-bottom: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 0 L1440 0 L1440 100 C 1080 0 360 0 0 100 Z' fill='black'/></svg>"); }
.sec.sec--edge-top-wave::before, .sec.sec--edge-top-slant::before, .sec.sec--edge-top-curve::before, .sec.sec--edge-bottom-wave::after, .sec.sec--edge-bottom-slant::after, .sec.sec--edge-bottom-curve::after { content: none; display: none; }
.sec.sec--edge-top-wave, .sec.sec--edge-top-slant, .sec.sec--edge-top-curve { padding-top: calc(72px + var(--sec-edge-h)); }
.sec.sec--edge-bottom-wave, .sec.sec--edge-bottom-slant, .sec.sec--edge-bottom-curve { padding-bottom: calc(72px + var(--sec-edge-h)); }
/* visibility */
@media (max-width: 767.98px) { .sec.sec--hide-phone { display: none !important; } }
@media (min-width: 992px) { .sec.sec--hide-desktop { display: none !important; } }

/* ---- motion (1.7.0) --------------------------------------------------------------------
   Shared by both client themes. Everything here is off when the operator switches the site's
   front-end effects off, and for visitors whose device asks for less motion. */
/* a moving background picture: its own layer under the overlay */
.sec.sec--bg-motion, .sec.sec--bg-image { position: relative; isolation: isolate; }
.sec.sec--bg-motion { overflow: hidden; }
.sec.sec--bg-image.sec--bg-motion { background-image: none !important; }
.sec.sec--bg-motion > .sec-bg-layer,
.sec.sec--bg-motion .banner_body > .sec-bg-layer { position: absolute; inset: 0; z-index: 0; opacity: var(--sec-bg-opacity, 1); background-image: var(--sec-bg-image); background-size: cover; background-position: center; background-repeat: no-repeat; transform-origin: 60% 50%; pointer-events: none; will-change: transform; }
.sec.sec--bg-motion.sec--bg-top > .sec-bg-layer { background-position: center top; }
.sec.sec--bg-motion.sec--bg-bottom > .sec-bg-layer { background-position: center bottom; }
.sec.sec--bg-motion .banner_body.has-bg-layer { background-image: none !important; position: relative; overflow: hidden; }
.sec.sec--bg-motion .banner_body.has-bg-layer::before { z-index: 1; }
.sec.sec--bg-motion .banner_body.has-bg-layer > *:not(.sec-bg-layer) { position: relative; z-index: 2; }
html.wbams_cms-frontend-effects .sec.sec--bg-motion-zoom .sec-bg-layer { animation: sec-bg-zoom 32s ease-in-out infinite alternate; }
html.wbams_cms-frontend-effects .sec.sec--bg-motion-drift .sec-bg-layer { inset: 0 -8%; animation: sec-bg-drift 46s ease-in-out infinite alternate; }
@keyframes sec-bg-zoom { from { transform: scale(1.02); } to { transform: scale(1.16); } }
@keyframes sec-bg-drift { from { transform: translate3d(-4%, 0, 0) scale(1.04); } to { transform: translate3d(4%, 0, 0) scale(1.04); } }
/* pictures that float */
html.wbams_cms-frontend-effects .sec.sec--float [data-sec-float] { animation: sec-float 7s ease-in-out infinite; animation-delay: calc(var(--sec-float-i, 0) * -1.3s); }
@keyframes sec-float { 0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); } 50% { transform: translate3d(0, -14px, 0) rotate(.6deg); } }
/* items one after another: the script marks the pieces and gives each its turn */
html.wbams_cms-frontend-effects .sec.sec--stagger [data-sec-stagger] { opacity: 0; transform: translate3d(0, 26px, 0); transition: opacity .7s ease, transform .9s cubic-bezier(.16, 1, .3, 1); transition-delay: calc(var(--sec-stagger-i, 0) * 90ms + 120ms); }
html.wbams_cms-frontend-effects .sec.sec--stagger.is-staggered [data-sec-stagger] { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    .sec .sec-bg-layer, .sec.sec--float *, .sec.sec--float [data-sec-float] { animation: none !important; }
    .sec.sec--stagger [data-sec-stagger] { opacity: 1 !important; transform: none !important; transition: none !important; }
}
/* logo wall: an entry without an image is a word (1.7.0) */
.sec.logo-wall .logo-wall__word { display: inline-block; font-size: clamp(18px, 2.2vw, 26px); font-weight: 800; letter-spacing: .02em; line-height: 1.2; white-space: nowrap; color: inherit; opacity: .78; transition: opacity .18s ease, color .18s ease; }
.sec.logo-wall .logo-wall__item:hover .logo-wall__word { opacity: 1; }
.sec.logo-wall.logo-wall--small .logo-wall__word { font-size: 16px; }
.sec.logo-wall.logo-wall--large .logo-wall__word { font-size: clamp(22px, 3vw, 36px); }
.sec.logo-wall .logo-wall__track > .logo-wall__item:has(.logo-wall__word) { display: inline-flex; align-items: center; gap: 64px; min-height: 0; padding: 0; border: 0 !important; background: none !important; box-shadow: none !important; transform: none !important; }
.sec.logo-wall .logo-wall__track > .logo-wall__item:has(.logo-wall__word)::after { content: ""; flex: 0 0 auto; width: 8px; height: 8px; transform: rotate(45deg); background: var(--dr-accent, var(--mtd-primary, currentColor)); opacity: .55; }
/* banner height (1.7.0) */
.sec.site-banner.site-banner--tall .banner_body,
.sec.site-banner.site-banner--screen .banner_body { display: flex; flex-direction: column; justify-content: center; }
.sec.site-banner.site-banner--tall .banner_body { min-height: max(520px, 74vh); }
.sec.site-banner.site-banner--screen .banner_body { min-height: max(560px, calc(100vh - var(--dr-header-h, 76px))); min-height: max(560px, calc(100svh - var(--dr-header-h, 76px))); }
.sec.site-banner.site-banner--tall .banner_body > .banner-content-container,
.sec.site-banner.site-banner--screen .banner_body > .banner-content-container { width: 100%; }
@media (max-width: 767.98px) { .sec.site-banner.site-banner--tall .banner_body { min-height: 460px; } .sec.site-banner.site-banner--screen .banner_body { min-height: 520px; } }
/* boxed items on a light-on-dark section become glass, so the forced white text stays readable (1.7.0) */
.sec.sec--tone-light :is(.feature-item.white, .feature-item.box, .feature-item.border) { border-color: rgba(255, 255, 255, .18) !important; background: rgba(255, 255, 255, .08) !important; box-shadow: 0 18px 40px rgba(0, 0, 0, .18) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.sec.sec--tone-light :is(.feature-item.white, .feature-item.box, .feature-item.border) :is(.feature-icon, .feature-graphic) { background: rgba(255, 255, 255, .14) !important; color: #fff !important; }
.sec.sec--tone-light :is(.feature-item.white, .feature-item.box, .feature-item.border) :is(.feature-icon, .feature-icon span) { color: #fff !important; }
/* the timeline on a light-on-dark section: its cards become glass and its line lightens, so the forced white text stays readable (1.7.4) */
.sec.sec--tone-light .timeline__card { border-color: rgba(255, 255, 255, .2) !important; background: rgba(255, 255, 255, .1) !important; box-shadow: 0 18px 40px rgba(0, 0, 0, .22) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.sec.sec--tone-light .timeline__list::before { background: rgba(255, 255, 255, .24) !important; }
.sec.sec--tone-light .timeline__text { color: rgba(255, 255, 255, .86) !important; }
.sec.sec--tone-light .timeline__label { color: color-mix(in srgb, var(--dr-accent, var(--primary, #bf0000)) 32%, #fff) !important; }
/* in dark mode a card is a faint wash of white, which disappears over a background picture:
   on a section that has one, the cards take a surface of their own (1.7.5) */
body.dark-mode .sec.sec--bg-image :is(.timeline__card, .feature-item.white, .feature-item.box, .feature-item.border) { border-color: rgba(255, 255, 255, .16) !important; background: rgba(18, 18, 26, .72) !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.sec.sec--tone-light .feature-value .counter { font-size: clamp(34px, 4vw, 48px); font-weight: 800; line-height: 1.1; }
/* image gallery grid: space between rows so a caption never touches the picture below (1.7.0) */
.sec.gallery > .container > .row { row-gap: 28px; }
.sec.gallery > .container > .row > [class*="col-"] > .contents { margin-bottom: 0; }
