/* ---------------------------------------------------------------------------
   Wiak Studio - core
   Hand-port of the box model the live WordPress/Elementor site renders with.
   Every number here was read off the live site's own CSS or measured in the
   browser, not guessed. Breakpoints match Elementor's: 1024px (tablet) and
   767px (mobile).
   --------------------------------------------------------------------------- */

/* Inter, self-hosted exactly as the live site serves it (uploads/2023/09).
   The family is deliberately still called "Inter local" so computed styles
   match the original one-for-one. */
@font-face {
  font-family: 'Inter local';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/Inter-SemiBold.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter local';
  font-style: normal;
  font-weight: bold;
  font-display: swap;
  src: url('../fonts/Inter-Bold.woff2') format('woff2');
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: #fff;
  color: #000;
  font-family: 'Inter local', Sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2em;
  overflow-x: clip;
  /* The theme antialiases every glyph on the page. Without this, text renders
     about a quarter heavier than the live site — invisible to a coordinate
     harness, obvious in a pixel diff. */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Elementor's kit typography, ported. Sizes are em against the 15px root. */
/* Theme headings: unitless 1.2 line-height and rem margins (rem stays 16px —
   the 15px body size does not move it). The kit then sets family and weight. */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter local', Sans-serif;
  font-weight: 600;
  line-height: 1.2;
  margin-block-start: .5rem;
  margin-block-end: 1rem;
}
h1 { font-size: 4.5em; text-transform: uppercase; }
h2 { font-size: 3.5em; }
h3 { font-size: 2.5em; line-height: 1.1em; }

h4 { font-size: 1.5em; }
h5 { font-size: 1.2em; }
h6 { font-size: 1em; line-height: 1.1em; }
p { margin: 0 0 20px; }
a { color: #000; text-decoration: none; }
img { border: 0; height: auto; max-width: 100%; }
ul { margin: 0; padding: 0; list-style: none; }

/* Live site's own selection colour + focus reset (wp-custom-css). */
/* The kit drops the root size at tablet, which rescales every `em` on the
   site — the single most load-bearing responsive rule on the whole build. */
@media (max-width: 1024px) {
  body { font-size: 13px; }
  h2 { font-size: 1.6em; }
}
@media (max-width: 767px) {
  h1 { font-size: 3.6em; }
  /* Elementor's phone rule: every container goes full width and wraps, which
     is what stacks the two-column bands on a phone. Per-band widths declared
     for this breakpoint still win — they are written later in the sheet. */
  .c { width: 100%; flex-wrap: wrap; }
}

::selection { background: #000; color: #fff; }
::-moz-selection { background: #000; color: #fff; }
* { -webkit-tap-highlight-color: rgba(255, 255, 255, 0); outline: none; }

/* --- container primitive -------------------------------------------------
   `.c` is the port of Elementor's `.e-con.e-con-full.e-flex`: a flex column,
   full width, 10px padding and 20px gap by default. Every band below only
   overrides what the original overrode. */
.c {
  /* Elementor hands its children a default width through this variable; a
     widget that overrides it (a `__width-initial` widget) declares its own. */
  --container-widget-width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  min-width: 0;
  gap: 20px 20px;
  padding: 10px;
  flex: 0 1 auto;
}
/* `.row` is defined after `.c` on purpose: same specificity, later wins, so a
   media query can flip a row back to a column without a specificity fight. */
.row { flex-direction: row; }

/* `.w` is the port of `.elementor-widget`: a flex item that never overflows.
   Elementor's own `max-width: 100%` on container children outranks any
   per-widget max-width, so the same is true here. */
.w { position: relative; }
.c > .w { max-width: 100%; }

/* Mix-blend difference — the site's `.my-diff` helper. It is what makes the
   header and the project captions read black over white and white over a
   photograph. */
.diff { mix-blend-mode: difference; }

.screen-reader-text {
  position: absolute;
  top: -10000em;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* ---------------------------------------------------------------------------
   Header + footer (Orbit `globals`), ported 1:1 from the live theme header
   (Elementor template 73) and footer (template 113).
   --------------------------------------------------------------------------- */

/* --- header ---------------------------------------------------------------
   Live: `position: fixed; top: 0` via Elementor sticky with offset 0, plus a
   spacer that keeps 61px of flow. `position: sticky` gives both in one box. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 99;
  justify-content: space-between;
  overflow: hidden;
  padding: 0 12% 0 2%;
  gap: 20px;
}
.hdr-brand { gap: 0; padding: 0; z-index: 99; }
.hdr-title { z-index: 98; }
.hdr-title > .wc { padding: 20px 0 0 0; }
.hdr-title .hl {
  font-size: 1em;
  font-weight: 600;
  line-height: 1.4em;
  text-transform: uppercase;
  color: #fff;
}
.hdr-nav {
  justify-content: flex-end;
  align-items: center;
  gap: 15px;
  padding: 20px 0 17px 0;
  z-index: 99;
}

/* Buttons. The kit's defaults first (1em, 700, uppercase, transparent, 25px
   padding, shrinking at tablet and phone), then each placement's overrides —
   which is the same cascade order the live site resolves in. */
.btn {
  display: inline-block;
  position: relative;
  z-index: 1;
  background-color: transparent;
  font-family: 'Inter local', Sans-serif;
  font-size: 1em;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  color: #000;
  border: 0;
  padding: 25px;
  cursor: pointer;
}
@media (max-width: 1024px) { .btn { font-size: .8em; padding: 20px; } }
@media (max-width: 767px)  { .btn { font-size: .8em; padding: 15px; } }
.btn-content { display: flex; justify-content: center; gap: 5px; }
.btn-text { display: block; }

.hdr-nav .btn { font-weight: 500; color: #fff; padding: 0 0 8px 0; }
/* Hover underline: 1px bar wiping in from the left over 0.7s. */
.hdr-nav .btn::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #fff;
  bottom: 4px;
  left: 0;
  z-index: -3;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.7s cubic-bezier(1, 0, 0, 1);
}
.hdr-nav .btn:hover::before { transform: scaleX(1); }

@media (max-width: 1024px) {
  .hdr-title .hl { font-size: .8em; }
}
@media (max-width: 767px) {
  .site-header { flex-wrap: nowrap; padding: 0 10px; }
  .hdr-brand { width: 50%; }
  .hdr-nav { width: 50%; align-items: flex-end; }
}

/* --- footer --------------------------------------------------------------- */
.site-footer {
  min-height: 25vh;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  padding: 0 3%;
  background-color: #EBEBEB;
  gap: 20px;
}
.foot-links, .foot-copy, .foot-top { width: 33%; max-width: 33%; }
.foot-copy { text-align: center; }
.foot-copy > .wc { margin: 0; }

/* Elementor's inline icon list: 6px between items, split 3px each side, and
   the list pulled back 3px so the first item still starts on the grid. */
.ilist {
  display: flex;
  margin-inline: -3px;
  flex-wrap: wrap;
}
.ilist.end { justify-content: flex-end; }
.ilist li { display: flex; margin-inline: 3px; }
.ilist.end li { text-align: end; }
.ilist a { display: flex; font-family: 'Inter local', Sans-serif; font-weight: 600; }
.ilist-text { display: block; color: #000; transition: color .3s; }
.ilist li:hover .ilist-text { color: #4D4C4C; }
.foot-top .ilist a { line-height: 1.2em; }

@media (max-width: 1024px) {
  .foot-links .ilist a, .foot-copy, .foot-top .ilist a { font-size: .8em; }
}
@media (max-width: 767px) {
  .site-footer { flex-direction: column; justify-content: space-around; padding: 10px; }
  /* Only the first two widgets go full width on the live site; the
     back-to-top column keeps its 33% and sits left. */
  .foot-links, .foot-copy { width: 100%; max-width: 100%; }
  .foot-copy { text-align: start; }
  /* Both lists carry `elementor-mobile-align-start` on the live site. */
  .foot-top { align-self: flex-start; }
  .ilist.end { justify-content: flex-start; }
  .ilist.end li { text-align: start; }
}

/* ---------------------------------------------------------------------------
   /info/ — two columns: a collapsible text column and a full-height looping
   background video. Values read off the live page (Elementor post 5518).
   --------------------------------------------------------------------------- */
.info-band {
  overflow: hidden;
  padding: 5% 2% 8%;
  z-index: 1;
  gap: 20px;
}
.info-col { width: 50%; gap: 0; padding: 0 0 0 6%; }
.info-video { width: 50%; min-height: 1200px; gap: 0; padding: 0; }

/* The text column collapses to 117px until "Read More" is pressed. The live
   site sets this height from JS on load; doing it in CSS avoids the flash of
   fully-expanded copy the original shows on a slow connection. */
/* Collapsed = the first paragraph only (Ludovic, 2026-09-08; the live site's
   117px clamp cut the copy mid-flow). Everything after .info-intro stays hidden
   until the toggle adds .open. */
.expandable { gap: 0; padding: 0; }
.expandable:not(.open) > :not(.info-intro) { display: none; }
/* The chevron points down to open, up to close. */
.expand-toggle .btn-icon svg { transition: transform 0.2s ease; }
.expand-toggle.open .btn-icon svg { transform: rotate(180deg); }

/* The extra block only ever declares a tablet font-size — its line-height
   stays inherited, which is why it sets 2 lines where the others set 3. */
.info-intro, .info-body { font-size: 1em; line-height: 1.2em; }

/* Traditional (stacked-icon) icon list, 50px icon, -5px vertical offset. */
.info-badge > .wc { margin: 0 0 20px 0; }
/* Elementor's traditional icon list: 50px icon, -5px vertical offset, and the
   icon's own quarter-size right margin plus 5px of text padding. */
.ilist-trad li { display: flex; }
.ilist-trad .ilist-icon {
  display: flex;
  position: relative;
  inset-block-start: -5px;
}
.ilist-trad .ilist-icon svg {
  width: 50px;
  height: 50px;
  margin: 0 calc(50px * .25) 0 0;
}
.ilist-trad .ilist-text { align-self: center; padding-inline-start: 5px; }

.expand-toggle > .wc { padding: 30px 0 0 0; }
.expand-toggle .btn {
  font-weight: 400;
  text-decoration: underline;
  color: #000;
  padding: 0;
}
.expand-toggle .btn-content { flex-direction: row-reverse; gap: 5px; }
.expand-toggle .btn-icon { display: inline-flex; align-items: center; }
.expand-toggle .btn-icon svg { width: 1em; height: 1em; fill: currentColor; }

.info-contact > .wc { margin: 40px 0 -15px 0; }
.info-contact {
  text-align: start;
  font-size: 1.2em;
  font-weight: 600;
  line-height: 1.6em;
  color: #000;
}

/* Underline that wipes in on hover — the site's `.fancy-link-2` helper. */
.fancy-link-2 a { position: relative; }
.fancy-link-2 a::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  border-radius: 1px;
  background-color: #000;
  bottom: 0;
  left: 0;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform .3s ease-in-out;
}
.fancy-link-2 a:hover::before { transform-origin: left; transform: scaleX(1); }

/* Elementor's hosted background video: absolutely filled, object-fit cover. */
.bgvideo { position: absolute; inset: 0; overflow: hidden; z-index: 0; direction: ltr; }
.bgvideo-el { width: 100%; height: 100%; object-fit: cover; display: block; }
.info-video .spacer { z-index: 1; }
.info-video .spacer-inner { height: 5vh; }

@media (max-width: 1024px) {
  .info-intro, .info-body, .info-extra { font-size: .8em; }
  .info-extra { line-height: inherit; }
  .info-contact { font-size: 1em; }
  .info-video { min-height: 600px; }
}
@media (max-width: 767px) {
  .info-band { padding: 0; flex-wrap: wrap; }
  .info-col { width: 100%; padding: 0 10px 80px; }
  .info-video { width: 100%; padding: 40px 10px 10px; order: -99999; }
  .expandable { flex-direction: column; justify-content: flex-start; align-items: flex-start; flex-wrap: nowrap; }
  .info-body { width: 100%; max-width: 100%; }
}

/* ---------------------------------------------------------------------------
   /index/ and the five category views. One `work` collection, two card
   designs: the hover-reveal card the category pages use (Elementor loop
   template 3619) and the flip card /index/ uses (loop template 5105).
   --------------------------------------------------------------------------- */

/* --- shared grid ---------------------------------------------------------- */
/* Elementor stretches loop items to the row unless the grid is in masonry
   mode — and only /index/all/ is. */
.loop-grid { display: grid; align-items: stretch; }
.loop-grid.masonry { align-items: flex-start; }
.loop-grid.grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) { .loop-grid.grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px)  { .loop-grid.grid-4 { grid-template-columns: 1fr; } }

/* Entrance: 0.9s zoom-fade, staggered 0.04s per card for the first 21 —
   the element.how snippet the live site ships, delays set in site.js. */
@keyframes fadeZoomIn {
  0%   { transform: scale(0); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
.loop-grid.animate .loop-item { animation: .9s fadeZoomIn forwards; transform: scale(0); opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  .loop-grid.animate .loop-item { animation: none; transform: none; opacity: 1; }
}

/* --- category views (/index/all/ and the four terms) ---------------------- */
.cat-nav-band { gap: 0; padding: 5% 8% 5% 2%; }
.cat-grid-band { gap: 0; padding: 0% 8% 15% 2%; }
.cat-grid > .wc { margin: 3% 0 0 0; }
/* The five views were authored with different row gaps, so each keeps its
   own. `1.5rem` on /index/all/ is load-bearing: the masonry pass parseFloat()s
   it to 1.5 (see site.js), which is what makes that page's rows tighter than
   the cards. */
.loop-grid { --grid-row-gap: 0px; --grid-column-gap: 100px; gap: var(--grid-row-gap) var(--grid-column-gap); }
.loop-grid.gap-all { --grid-row-gap: 1.5rem; }
.loop-grid.gap-index { --grid-row-gap: 20px; }

.cat-nav > .wc { padding: 10px 0 15px 0; }
.catmenu ul { display: flex; }
.catmenu-item {
  display: flex;
  position: relative;
  padding: 8px 0;
  /* Elementor's nav-menu item: fixed 20px line box, 4px of margin on each
     inner side (its horizontal item margin is calc(8px / 2)). */
  line-height: 20px;
  margin-inline-end: 4px;
  font-size: 2.2vw;
  font-weight: 600;
  text-transform: lowercase;
  color: #969696;
}
.catmenu li + li .catmenu-item { margin-inline-start: 4px; }
.catmenu-item::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 100%; height: 3px;
  background: #000;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .3s;
}
.catmenu-item:hover, .catmenu-item.active { color: #000; }
.catmenu-item.active::after, .catmenu-item:hover::after { transform: scaleX(1); }

/* Card. The live page stacks three rules on this box, and all three matter:
   Elementor's own min-height (560 desktop / 200 tablet and below) and
   padding-bottom (80 / 0), plus the theme's `.text-reveal-all` height of
   250px above 961px — which never wins the used height on desktop but is what
   the caption reveal is built around. The caption is parked 100px up, behind
   the image, and slides down into view on hover. */
.card {
  min-height: 560px;
  flex-direction: column-reverse;
  justify-content: flex-end;
  gap: 10px;
  padding: 0 0 80px 0;
}
/* Authored second, ordered first, in a reversed column — so it still lands
   under the image. */
.card-cap { order: -99999; gap: 20px; padding: 0; }
.card-media {
  min-height: 470px;
  justify-content: flex-end;
  gap: 20px;
  padding: 0;
}
.card-img { z-index: 1; }
.card-img img { width: 100%; display: block; transition-duration: .5s; }
.card-img-mobile { display: none; }
.card-cap-text {
  text-align: end;
  color: #000;
  font-size: 0.8em;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.2em;
}
.card-cap-text p { margin: 0 0 20px; }

@media (min-width: 961px) {
  .card { height: 250px; transition: all 0.4s ease-in-out; }
  .card:hover { height: 430px; }
  .card-cap-text { margin-top: -100px; transition: .23s ease-in-out; transition-delay: .2s; }
  .card:hover .card-cap-text { margin-top: 0; }
}
@media (max-width: 1024px) {
  .card { min-height: 200px; padding: 0; }
  .card-media { min-height: 200px; }
}

@media (max-width: 767px) {
  .cat-nav-band { padding: 50px 10px 10px; }
  .cat-grid-band { padding: 0 10px 10px; }
  .loop-grid, .loop-grid.gap-all, .loop-grid.gap-index { --grid-row-gap: 0px; --grid-column-gap: 0px; }
  /* The menu's horizontal item margin drops to calc(7px / 2) on a phone. */
  .catmenu-item { font-size: 1.3em; padding: 5px 0; margin-inline-end: 3.5px; }
  .catmenu li + li .catmenu-item { margin-inline-start: 3.5px; }
  .catmenu-item::after { height: 2px; }
  .card-img { display: none; }
  .card-img-mobile { display: block; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .cat-nav-band { padding: 5% 0% 0% 0%; }
  .cat-grid-band { padding: 0% 2% 10% 2%; }
  .loop-grid, .loop-grid.gap-all, .loop-grid.gap-index { --grid-row-gap: 0px; --grid-column-gap: 60px; }
}

/* --- /index/ : filter + flip cards ---------------------------------------- */
.filter-band { gap: 0; padding: 5% 8% 5% 2%; }
.index-grid-band { gap: 0; padding: 0% 8% 15% 2%; }
.index-grid > .wc { margin: 3% 0 0 0; }


.e-filter { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-start; }
.e-filter-item {
  display: inline-block;
  position: relative;
  z-index: 1;
  overflow: visible;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  font-family: 'Inter local', Sans-serif;
  font-size: 2.2vw;
  font-weight: 600;
  line-height: normal;
  text-transform: lowercase;
  white-space: nowrap;
  color: #969696;
}
/* "All" is authored last but shown first, and each button prints its own
   comma — which is why the row reads "all, exterior, interior, …". */
.e-filter-item[data-filter="__all"] { order: -1; }
.e-filter-item::after { content: ','; }
.e-filter-item[data-filter="__all"]::after { margin-left: -7px; }
.e-filter-item:nth-last-child(2)::after { content: ''; }
.e-filter-item::before {
  content: '';
  position: absolute;
  width: 100%; height: 3px;
  background-color: #000;
  bottom: -3px; left: 0;
  z-index: -1;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.7s cubic-bezier(1, 0, 0, 1);
}
.e-filter-item:hover::before,
.e-filter-item[aria-pressed="true"]::before { transform: scaleX(1); }
.e-filter-item:hover, .e-filter-item[aria-pressed="true"] { color: #000; }

.card2 { min-height: 100%; justify-content: flex-end; gap: 10px; padding: 0; z-index: 1; }
.card2-img { z-index: 1; }
.card2-img img { width: 100%; display: block; transition-duration: .5s; }
.card2-info { justify-content: flex-start; align-items: flex-end; gap: 0; padding: 0; z-index: 2; }
.card2-cap {
  text-align: end;
  color: #000;
  font-size: 0.8em;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.2em;
  opacity: 0;
  transform: translateY(-20px);
  transition: all 0.2s ease-out;
}
.card2-cap p { margin: 0 0 20px; }
.card2:hover .card2-cap { opacity: 1; transform: translateY(0); }

@media (max-width: 1024px) {
  .filter-band { padding: 5% 0% 0% 0%; }
  .index-grid-band { padding: 0% 2% 10% 2%; }
  /* Below desktop the flip card stops flipping: the caption is padded in and
     always visible. It keeps its 20px lift — the live site only drops the
     fade, not the offset. */
  .card2-info { padding: 15px; }
  .card2-cap { opacity: 1; }

  .e-filter-item::before { bottom: -5px; }
  .e-filter-item[data-filter="__all"]::after { margin-left: -3px; }
}
@media (max-width: 767px) {
  .filter-band { padding: 20px 10px 10px 5px; }
  .index-grid-band { padding: 0 10px 10px; }

  .e-filter { gap: 5px; }
  .e-filter-item { font-size: 3.2vw; }
  .e-filter-item::before { bottom: -4px; }
  .e-filter-item[data-filter="__all"]::after { margin-left: -2px; }
}

/* ---------------------------------------------------------------------------
   The theme-default pages: /privacy-policy/, /work/<slug>/ and 404.
   --------------------------------------------------------------------------- */
.privacy-band {
  align-items: stretch;
  gap: 10px;
  padding: 3% 2% 8%;
}
.privacy-col { width: 75%; padding: 0; }
.privacy-side { width: 25%; }
.privacy-body { font-size: 1em; line-height: 1.2em; }
.privacy-body ul { list-style: disc; padding-inline-start: 40px; }
.privacy-body li { margin: 10px 0; }
.privacy-body ul, .privacy-body ol { margin-bottom: 10px; }
@media (max-width: 1024px) { .privacy-body { font-size: .8em; } }
@media (max-width: 767px) {
  .privacy-band { flex-wrap: wrap; }
  .privacy-col, .privacy-side { width: 100%; }
}

/* Hello Elementor's default content area — what the work item pages and the
   404 page render into on the live site. Its max-width steps up with the
   viewport; below 576px it is full width with 10px of side padding. */
.site-main {
  width: 100%;
  margin-inline: auto;
  padding: 0 10px;
}
@media (min-width: 576px)  { .site-main { max-width: 500px; padding: 0; } }
@media (min-width: 768px)  { .site-main { max-width: 600px; } }
@media (min-width: 992px)  { .site-main { max-width: 800px; } }
@media (min-width: 1200px) { .site-main { max-width: 1140px; } }
.site-main .page-content p { margin: 0 0 20px; }

/* ---------------------------------------------------------------------------
   Widget primitives + the site's effects. All ported from the live Elementor
   CSS; the numbers are the original's, not new choices.
   --------------------------------------------------------------------------- */

/* Elementor's widget container fills its widget's height. */
.c > .w > .wc { height: 100%; }

/* Heading widgets. `.elementor-heading-title` resets margins; the kit then
   puts 20px back under a <p>, which is why captions sit where they do. */
.hl { line-height: 1; margin: 0; padding: 0; }
p.hl { margin: 0 0 20px; }
.hl a { color: inherit; font-size: inherit; line-height: inherit; }

/* Image widgets are centre-aligned by default in Elementor. */
.img-widget { text-align: center; }
.img-widget img, .card-img img, .card2-img img { display: inline-block; vertical-align: middle; }
.img-widget a { display: inline-block; }

/* Elementor's responsive visibility helpers, same breakpoints. */
@media (max-width: 767px) { .hide-mobile { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .hide-tablet { display: none !important; } }
@media (min-width: 1025px) { .hide-desktop { display: none !important; } }

.spacer-inner { height: var(--spacer-size, 50px); }

/* --- carousels ------------------------------------------------------------
   Twelve of these on the home page, all with identical settings: one slide at
   a time at every breakpoint, loop on, 500ms, arrows inside. The live page
   builds them with Swiper and then re-inits them as a crossfade, so what a
   visitor sees is a fade between stacked slides. Stacking them in one grid
   cell reproduces both the fade and Swiper's height behaviour: the box is as
   tall as the tallest slide. */
.carousel > .wc { position: relative; }
.carousel-track { display: grid; }
.carousel-track > .slide {
  grid-area: 1 / 1;
  min-width: 0;
  display: flex;
  opacity: 0;
  transition: opacity var(--fade-ms, 500ms) ease;
  pointer-events: none;
}
.carousel-track > .slide.is-active { opacity: 1; pointer-events: auto; }
.carousel-track > .slide > .c { width: 100%; }
/* Elementor gives every slide's container 1px of padding, at zero specificity
   (`:where(... .swiper-slide) > .e-con`), so a slide that sets its own padding
   still wins. Same trick here. */
:where(.carousel-track > .slide) > .c { padding: 1px; }
/* Swiper puts a transform on every slide, which isolates it as its own
   blending group — so a slide's blend-difference counter blends against the
   slide's own image, not against the white band behind it. `isolation` gets
   the same result without the transform. */
.carousel-track > .slide { isolation: isolate; }

/* The two arrows are invisible hit areas: the left half goes back, the right
   half goes forward. That is exactly how the live site does it (opacity 0,
   full-height, `cursor: none` so the custom cursor shows instead). */
.swiper-prev, .swiper-next {
  position: absolute;
  top: 0; bottom: 0;
  border: 0; padding: 0; margin: 0;
  background: none;
  opacity: 0;
  z-index: 2;
  cursor: none;
}
.swiper-prev { left: 0; right: 0; }
.swiper-next { left: 50%; right: 0; }
@media (max-width: 767px) { .swiper-prev, .swiper-next { display: none; } }

/* --- custom cursor --------------------------------------------------------
   Verbatim from the live inline style block. */
.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 48px;
  height: 48px;
  pointer-events: none;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(-50%, -50%);
  z-index: 2147483647;
  opacity: 0;
  transition: opacity 0.15s ease;
}
body.custom-cursor-active { cursor: none !important; }
@media (hover: none) { .custom-cursor { display: none !important; } }
.thevideo { cursor: none !important; }

/* --- image popups ---------------------------------------------------------
   The live `.thevideo` thumbnails open an Elementor popup that is just the
   image, 30% of the viewport wide, centred, over a transparent backdrop —
   the page stays visible behind it. Clicking anywhere closes it. */
.popup {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9998;
}
.popup[hidden] { display: none; }
.popup-inner { width: 30%; }
.popup-inner img { display: block; width: 100%; height: auto; }
@media (max-width: 767px) { .popup-inner { width: 80%; } }

/* --- lightbox (index cards) ----------------------------------------------- */
.lb {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, .8);
  z-index: 9999;
  cursor: zoom-out;
}
.lb img { max-width: 100vw; max-height: 100vh; display: block; }

/* --- hosted background video ---------------------------------------------- */
.herosection .bgvideo { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.herosection .bgvideo-el { width: 100%; height: 100%; object-fit: cover; display: block; }
/* The hero video's three controls are plain kit buttons in white — padding,
   weight and size all come from the kit's own button rule, which is why they
   shrink to 20px at tablet and 15px on a phone. */
.toggle_sound { cursor: pointer; }
.herosection .btn { color: #fff; }

/* --- fancy link (underline always on) ------------------------------------- */
.fancy-link a { display: inline-block; position: relative; }
.fancy-link a::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 4px;
  bottom: 0;
  left: 0;
  background-color: #000;
  transform: scaleX(1);
  transform-origin: bottom left;
  transition: transform .3s ease-in-out;
}

/* Entrance animations the theme declares. Elements the live site marks with
   `reveal` / `animated-fast` never actually animate — the plugin that drove
   them was removed in January 2026 — so nothing is hooked up here either. */

/* Sticky project captions. Elementor sticks them 40px from the top inside
   their own band (35px below desktop), and the theme's `.elementor-sticky`
   rule forces them full width — which is why a caption's right edge lines up
   with the band rather than with its own 70% width setting. */
.c > .w.stick {
  position: sticky;
  top: 40px;
  width: 100%;
  max-width: 100%;
}
@media (max-width: 1024px) { .c > .w.stick { top: 35px; } }

/* Elementor's button alignment helpers, as the live site declares them. */
.align-justify .btn { width: 100%; }
@media (max-width: 767px) {
  .m-align-right { text-align: right; }
  .m-align-right .btn { width: auto; }
}

/* Elementor's absolute-position helper (`elementor-absolute`). */
.c > .w.abs, .c > .c.abs { position: absolute; }

/* Lottie widget: the logo animation is a 50px square pinned bottom-right of
   the video thumbnail (25px on a phone), looping at half speed. */
.lottie { text-align: right; }
.lottie .lottie-animation { width: var(--lottie-container-width, 50px); display: inline-block; }
.lottie .lottie-animation svg { width: 100%; height: auto; display: block; }

/* ---------------------------------------------------------------------------
   Home page. Generated from the live Elementor layout: every rule below is the
   original element's own declaration, translated out of Elementor's CSS custom
   properties. The `.e-xxxxxxx` class is the live element id, so any rule here
   can be traced straight back to the live page.
   --------------------------------------------------------------------------- */
.e-cac70b6 { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; margin-top: -20px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0%; padding-bottom: 0%; padding-left: 2%; padding-right: 2%; }
.e-09d1001 .hl { font-family: "Inter local",Sans-serif; font-size: 1em; font-weight: 600; text-transform: uppercase; line-height: 1.4em; color: var(--e-global-color-primary); }
.e-b7fc316 { display: flex; flex-direction: row; --container-widget-width: initial; }
.e-fb0c830 { display: flex; padding-top: 3%; padding-bottom: 0%; padding-left: 8%; padding-right: 1%; gap: 3% 3%; }
.e-8eaf3ed { text-align: end; }
.e-8eaf3ed img { width: 80%; }
.e-36dd47a > .wc { margin: 0% 28% 8% 0%; }
.e-ef370d8 { display: flex; padding-top: 0%; padding-bottom: 0%; padding-left: 0%; padding-right: 10%; gap: 0px 0px; }
.e-23eac70 { display: flex; flex-direction: row; --container-widget-width: initial; margin-top: -15%; margin-bottom: 0%; margin-left: 50%; margin-right: 0%; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 0px 0px; }
.e-23eac70 { flex-grow: 0; flex-shrink: 0; }
.e-2d8eeb0 img { max-width: 100%; }
.e-4544c1c { right: 5%; left: 5%; bottom: 2%; --lottie-container-width: 50px; --lottie-container-opacity-hover: 100; --lottie-container-transition-duration-hover: 50s; }
.e-0c78b3e > .wc { margin: 3% 0% 0% 0%; }
.e-0c78b3e .hl { font-size: 3.8vw; line-height: 1.2em; }
.e-2185e2b { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 2%; padding-bottom: 2%; padding-left: 0%; padding-right: 0%; gap: 0px 0px; }
.e-2185e2b { background-color: #FFF; }
.e-5cf23fb { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-5cf23fb > .wc { margin: 0% 2% 0% 0%; }
.e-5cf23fb { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-5cf23fb .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-256e29a { display: flex; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: flex-start; padding-top: 0%; padding-bottom: 0%; padding-left: 18%; padding-right: 16%; }
.e-04b2c80 { display: flex; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: flex-start; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 0% 2%; }
.e-08adad4 img { width: 100%; }
.e-1f7227e { display: flex; flex-direction: column; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); align-items: flex-start; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 0px; }
.e-1f7227e { background-color: #FFF; }
.e-4423234 > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-2a9ae32 { display: flex; justify-content: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-d01b6f7 img { width: 100%; }
.e-cebb466 { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-cebb466 > .wc { margin: 0% 0% 0% 0%; }
.e-cebb466 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-16447c1 { display: flex; justify-content: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-fe60f44 img { width: 100%; }
.e-a2bf869 { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-a2bf869 > .wc { margin: 0% 0% 0% 0%; }
.e-a2bf869 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-ce44132 { display: flex; justify-content: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-c6966b5 img { width: 100%; }
.e-0fa67c0 { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-0fa67c0 > .wc { margin: 0% 0% 0% 0%; }
.e-0fa67c0 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-49e8201 { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 2%; padding-bottom: 2%; padding-left: 0%; padding-right: 0%; z-index: 1; gap: 0px 0px; }
.e-49e8201 { background-color: #FFF; }
.e-b44abbc { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-b44abbc > .wc { margin: 0% 2% 0% 0%; }
.e-b44abbc { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-b44abbc .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-8b2926e { display: flex; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0%; padding-bottom: 0%; padding-left: 8%; padding-right: 8%; gap: 0px 74px; }
.e-cb92f9e { display: flex; flex-direction: column; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: flex-start; align-items: flex-end; overflow: clip; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-58ca823 img { width: 100%; }
.e-63fc0db { display: flex; flex-direction: column; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: flex-start; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 45px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; z-index: 2; gap: 10px 0px; }
.e-d8b24cb > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-9fc9e24 { display: flex; justify-content: center; margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-09fc6a9 img { width: 100%; }
.e-d182ff0 { z-index: 99; text-align: end; }
.e-d182ff0 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-ae76d83 { display: flex; justify-content: center; margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-f79c531 img { width: 100%; }
.e-a71f4bf { z-index: 99; text-align: end; }
.e-a71f4bf .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-f415df4 { display: flex; flex-direction: column; --container-widget-width: 100%; justify-content: center; margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-5f82061 img { width: 100%; }
.e-63a4bb9 { z-index: 99; text-align: end; }
.e-63a4bb9 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: var(--e-global-color-primary); }
.e-b132637 { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 2%; padding-bottom: 2%; padding-left: 0%; padding-right: 0%; z-index: 1; gap: 0px 0px; }
.e-b132637 { background-color: #FFF; }
.e-1be7169 { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-1be7169 > .wc { margin: 0% 2% 0% 0%; }
.e-1be7169 { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-1be7169 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-603173e { display: flex; flex-direction: row; --container-widget-width: initial; justify-content: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0%; padding-bottom: 0%; padding-left: 4%; padding-right: 4%; gap: 0px 24px; }
.e-9201d00 { display: flex; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-d3314b3 { display: flex; flex-direction: column; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: flex-start; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; z-index: 2; gap: 10px 0px; }
.e-ef99b48 > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-6feed51 { display: flex; justify-content: center; margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-4a74f26 img { width: 100%; }
.e-5a1fff0 { z-index: 99; text-align: end; }
.e-5a1fff0 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-1a57861 { display: flex; justify-content: center; margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 44%; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-a3e0ca5 img { width: 100%; }
.e-a417d1e { z-index: 99; text-align: end; }
.e-a417d1e .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-31e7481 { display: flex; flex-direction: column; --container-widget-width: 100%; justify-content: center; margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 44%; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-6fa792b img { width: 100%; }
.e-5001500 { z-index: 99; text-align: end; }
.e-5001500 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: var(--e-global-color-primary); }
.e-a050937 { display: flex; justify-content: center; margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 44%; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-dda5a0e img { width: 100%; }
.e-99c1e54 { z-index: 99; text-align: end; }
.e-99c1e54 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-21f48ea { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 0%; padding-bottom: 0%; padding-left: 0%; padding-right: 0%; z-index: 1; gap: 0px 0px; }
.e-21f48ea { background-color: #FFF; }
.e-7128695 { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-7128695 > .wc { margin: 0% 2% 0% 0%; }
.e-7128695 { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-7128695 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-8ce8f1b { display: flex; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: center; padding-top: 0%; padding-bottom: 0%; padding-left: 4%; padding-right: 4%; }
.e-8ce8f1b { align-self: center; }
.e-e36dda3 > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-0b6ffac { display: flex; flex-direction: column; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-862eccd { text-align: center; }
.e-862eccd img { width: 100%; }
.e-d3f132b { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-d3f132b > .wc { margin: 0% 0% 0% 0%; }
.e-d3f132b .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-6796c66 { display: flex; justify-content: center; align-items: center; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-e9b2b68 { display: flex; flex-direction: column; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: flex-end; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-a8729a3 img { width: 100%; }
.e-33b4eff { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-33b4eff .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-c7558eb { display: flex; justify-content: center; align-items: center; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-70bd1eb { display: flex; flex-direction: column; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: flex-end; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-f1fa080 img { width: 100%; }
.e-80220f6 { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-80220f6 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-6d5d80d { display: flex; flex-direction: column; --container-widget-width: 100%; justify-content: center; overflow: clip; padding-top: 2%; padding-bottom: 0%; padding-left: 0%; padding-right: 0%; z-index: 1; gap: 0px 0px; }
.e-6d5d80d { background-color: #FFF; }
.e-d85f0f9 { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-d85f0f9 > .wc { margin: 0% 2% 0% 0%; }
.e-d85f0f9 { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-d85f0f9 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-3c5c049 { width: var(--container-widget-width,45%); max-width: 45%; --container-widget-width: 45%; }
.e-3c5c049 > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-3c5c049 { align-self: center; }
.e-366e228 { display: flex; flex-direction: column; --container-widget-width: 100%; justify-content: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-78c3b69 { align-self: center; }
.e-78c3b69 img { width: 80%; }
.e-826fa7c { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-826fa7c > .wc { margin: 0% 10% 0% 0%; }
.e-826fa7c .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-68ee107 { display: flex; justify-content: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-ed166dc { align-self: center; }
.e-ed166dc img { width: 80%; }
.e-d72b260 { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-d72b260 > .wc { margin: 0% 10% 0% 0%; }
.e-d72b260 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-734a93e { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 0%; padding-bottom: 2%; padding-left: 0%; padding-right: 0%; z-index: 1; gap: 0px 0px; }
.e-734a93e { background-color: #FFF; }
.e-76a9435 { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-76a9435 > .wc { margin: 0% 2% 0% 0%; }
.e-76a9435 { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-76a9435 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-d49be51 { display: flex; flex-direction: row; --container-widget-width: initial; }
.e-78c7cc3 { display: flex; margin-top: 0%; margin-bottom: 0%; margin-left: 1%; margin-right: 0%; z-index: 2; gap: 0px 0px; }
.e-3633509 { display: flex; flex-direction: row; --container-widget-width: initial; margin-top: -28%; margin-bottom: -8%; margin-left: 80%; margin-right: 0%; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; z-index: 3; gap: 0px 0px; }
.e-3633509 { flex-grow: 0; flex-shrink: 0; }
.e-bcc5c65 img { max-width: 100%; }
.e-dfcacef { display: flex; justify-content: center; align-items: center; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); padding-top: 0%; padding-bottom: 0%; padding-left: 10%; padding-right: 10%; gap: 8% 8%; }
.e-9724883 { width: var(--container-widget-width,78%); max-width: 78%; --container-widget-width: 78%; }
.e-9724883 > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-4c57b09 { display: flex; justify-content: center; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-803196b img { width: 100%; }
.e-2196bd0 { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-2196bd0 > .wc { margin: 0% 0% 0% 0%; }
.e-2196bd0 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-4c3ddf0 { display: flex; justify-content: center; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-cddde00 img { width: 100%; }
.e-02839cd { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-02839cd > .wc { margin: 0% 0% 0% 0%; }
.e-02839cd .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-af9a294 { display: flex; min-height: 99vh; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: flex-start; align-items: flex-end; overflow: clip; margin-top: 3%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; z-index: 1; gap: 0px 0px; }
.e-af9a294 { background: url(https://www.wiak.studio/wp-content/uploads/2023/10/Cameron_Road_animation_hr_website_short_mobile.gif) 50% 50%; background-size: cover; }
.e-548e3b3 .btn { fill: #FFF; color: #FFF; }
.e-53bef6b .btn { fill: #FFF; color: #FFF; }
.e-be21e7e { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 2%; padding-bottom: 2%; padding-left: 0%; padding-right: 0%; z-index: 1; gap: 0px 0px; }
.e-be21e7e { background-color: #FFF; }
.e-5154e98 { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-5154e98 > .wc { margin: 0% 2% 0% 0%; }
.e-5154e98 { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-5154e98 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-4d3f79c { display: flex; flex-direction: row; --container-widget-width: initial; justify-content: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0%; padding-bottom: 0%; padding-left: 0%; padding-right: 0%; }
.e-294176e { display: flex; flex-direction: row; --container-widget-width: initial; justify-content: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0%; padding-bottom: 0%; padding-left: 2%; padding-right: 2%; gap: 0px 15px; }
.e-bb6d3db { display: flex; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: flex-start; overflow: clip; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 0% 2%; }
.e-5c73739 img { width: 100%; }
.e-fcd7cc3 { display: flex; flex-direction: column; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: flex-start; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; z-index: 2; gap: 10px 0px; }
.e-0fdea49 > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-1f4fd5a { display: flex; justify-content: center; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-41f71ca img { width: 100%; }
.e-66903c5 { z-index: 99; text-align: end; }
.e-66903c5 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-4fc5662 { display: flex; justify-content: center; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-2ae4164 img { width: 100%; }
.e-ae3958a { z-index: 99; text-align: end; }
.e-ae3958a .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-808dd7c { display: flex; flex-direction: column; --container-widget-width: 100%; justify-content: center; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-22eb351 img { width: 100%; }
.e-90cc3fb { z-index: 99; text-align: end; }
.e-90cc3fb .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: var(--e-global-color-primary); }
.e-d7aea36 { display: flex; justify-content: center; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-5bf6efa img { width: 100%; }
.e-82b5d39 { z-index: 99; text-align: end; }
.e-82b5d39 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-e8a0f3e { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 2%; padding-bottom: 2%; padding-left: 0%; padding-right: 0%; z-index: 1; gap: 5px 0px; }
.e-e8a0f3e { background-color: #FFF; }
.e-c8a02eb { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-c8a02eb > .wc { margin: 0% 2% 0% 0%; }
.e-c8a02eb { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-c8a02eb .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-58bcd1e { display: flex; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); align-items: center; padding-top: 0%; padding-bottom: 0%; padding-left: 2%; padding-right: 2%; gap: 60px 60px; }
.e-3a4d298 { display: flex; margin-top: 0%; margin-bottom: 0%; margin-left: 5%; margin-right: 0%; }
.e-7a50cff > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-8f33e8a { display: flex; justify-content: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-814570e img { width: 100%; }
.e-153812d { z-index: 99; text-align: end; }
.e-153812d .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-e221fdd { display: flex; justify-content: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-71e2222 img { width: 100%; }
.e-8b68d0f { z-index: 99; text-align: end; }
.e-8b68d0f .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-95176c4 { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 0%; padding-bottom: 2%; padding-left: 0%; padding-right: 0%; z-index: 1; gap: 5px 0px; }
.e-95176c4 { background-color: #FFF; }
.e-083c8b1 > .wc { margin: 0% 2% 0% 2%; }
.e-083c8b1 .hl { font-size: 3.8vw; line-height: 1.2em; }
.e-a31f80f > .wc { margin: 0% 2% 0% 2%; }
.e-a31f80f { font-family: "Inter local",Sans-serif; font-size: 3.8vw; font-weight: 600; line-height: 1.2em; color: var(--e-global-color-primary); }
.e-4f4183c > .wc { margin: 0% 2% 0% 2%; }
.e-4f4183c { font-family: "Inter local",Sans-serif; font-size: 3.8vw; font-weight: 600; text-decoration: underline; line-height: 1.2em; color: var(--e-global-color-primary); }
.e-672d81f { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 2%; padding-bottom: 0%; padding-left: 0%; padding-right: 0%; z-index: 1; gap: 0px 0px; }
.e-672d81f { background-color: #FFF; }
.e-c8de3ec { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-c8de3ec > .wc { margin: 0% 2% 0% 0%; }
.e-c8de3ec { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-c8de3ec .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-ce00dbf { display: flex; flex-direction: row; --container-widget-width: initial; margin-top: -7%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; padding-top: 0%; padding-bottom: 0%; padding-left: 2%; padding-right: 0%; }
.e-5319e79 { display: flex; padding-top: 0%; padding-bottom: 0%; padding-left: 0%; padding-right: 0%; z-index: 2; gap: 0px 0px; }
.e-08a2f68 { display: flex; flex-direction: row; --container-widget-width: initial; margin-top: -70%; margin-bottom: 50%; margin-left: 80%; margin-right: 0%; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; z-index: 3; gap: 0px 0px; }
.e-7129b48 img { max-width: 100%; }
.e-2386c7e { display: flex; justify-content: flex-start; align-items: center; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); z-index: 1; gap: 8% 8%; }
.e-997d8f4 { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 2%; padding-bottom: 2%; padding-left: 0%; padding-right: 0%; gap: 0px 0px; }
.e-997d8f4 { background-color: #FFF; }
.e-6ff7f05 { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-6ff7f05 > .wc { margin: 0% 2% 0% 0%; }
.e-6ff7f05 { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-6ff7f05 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-4807917 { display: flex; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: flex-start; padding-top: 0%; padding-bottom: 0%; padding-left: 2%; padding-right: 18%; }
.e-2931841 { display: flex; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: flex-start; overflow: clip; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 0% 2%; }
.e-395ae00 { display: flex; flex-direction: column; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); align-items: flex-start; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 0px; }
.e-395ae00 { background-color: #FFF; }
.e-9fd5e56 > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-e3af008 { display: flex; justify-content: center; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-0b0a4ee img { width: 100%; }
.e-594433c { z-index: 99; text-align: end; }
.e-594433c .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-4653fd5 { display: flex; justify-content: center; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-e7317b5 img { width: 100%; }
.e-4c9b127 { z-index: 99; text-align: end; }
.e-4c9b127 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-bd933a1 { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 2%; padding-bottom: 2%; padding-left: 0%; padding-right: 0%; gap: 0px 0px; }
.e-bd933a1 { background-color: #FFF; }
.e-8554996 { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-8554996 > .wc { margin: 0% 2% 0% 0%; }
.e-8554996 { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-8554996 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-229d0c3 { display: flex; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: flex-start; padding-top: 0%; padding-bottom: 0%; padding-left: 2%; padding-right: 2%; }
.e-f7a332a { display: flex; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: flex-start; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 0% 2%; }
.e-13258ab { display: flex; flex-direction: column; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); align-items: flex-start; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 16%; padding-bottom: 0%; padding-left: 4%; padding-right: 1%; gap: 10px 0px; }
.e-13258ab { background-color: #FFF; }
.e-5727a1f > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-d540492 { display: flex; justify-content: center; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-43d4d18 img { width: 100%; }
.e-d76ebb5 { z-index: 99; text-align: end; }
.e-d76ebb5 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-0cd50f3 { display: flex; justify-content: center; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-ef8cf14 img { width: 100%; }
.e-6ba1dac { z-index: 99; text-align: end; }
.e-6ba1dac .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-3443e75 { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 2%; padding-bottom: 2%; padding-left: 0%; padding-right: 0%; z-index: 1; gap: 0px 0px; }
.e-3443e75 { background-color: #FFF; }
.e-f5194ee { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-f5194ee > .wc { margin: 0% 2% 0% 0%; }
.e-f5194ee { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-f5194ee .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-1de151b { display: flex; flex-direction: row; --container-widget-width: initial; justify-content: center; }
.e-1de151b { align-self: center; }
.e-b674b10 { display: flex; flex-direction: row; --container-widget-width: initial; margin-top: 0%; margin-bottom: 5%; margin-left: 0%; margin-right: -15%; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; z-index: 3; gap: 0px 0px; }
.e-b674b10 { flex-grow: 0; flex-shrink: 0; }
.e-0757fa0 { align-self: flex-end; }
.e-0757fa0 img { max-width: 100%; }
.e-f83f07a > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-963d234 { display: flex; justify-content: center; align-items: center; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); gap: 10px 10px; }
.e-fbc35b2 img { width: 100%; }
.e-2f0b050 { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-2f0b050 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-104c72f { display: flex; justify-content: center; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-fab0222 img { width: 100%; }
.e-61c01b6 { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-61c01b6 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-06d345d { display: flex; justify-content: center; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-3f841d8 img { width: 70%; }
.e-54fce9c { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-54fce9c > .wc { margin: 0% 15% 0% 0%; }
.e-54fce9c .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-aeae3ea { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 0%; padding-bottom: 2%; padding-left: 0%; padding-right: 0%; z-index: 1; gap: 0px 0px; }
.e-aeae3ea { background-color: #FFF; }
.e-28d5bb2 { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-28d5bb2 > .wc { margin: 0% 2% 0% 0%; }
.e-28d5bb2 { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-28d5bb2 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-22d9a44 { display: flex; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: center; }
.e-22d9a44 { align-self: center; }
.e-150ec5c > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-14e5fc4 { display: flex; flex-direction: column; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-b831237 { text-align: center; }
.e-b831237 img { width: 60%; }
.e-0579ed5 { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-0579ed5 > .wc { margin: 0% 20% 0% 0%; }
.e-0579ed5 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-824c327 { display: flex; justify-content: center; align-items: center; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-661279c img { width: 100%; }
.e-319753a { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-319753a .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-e3a58d6 { display: flex; justify-content: center; align-items: center; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-ceb7583 img { width: 100%; }
.e-a194711 { width: 100%; max-width: 100%; z-index: 99; text-align: end; }
.e-a194711 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #000; }
.e-0e9fc02 { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 2%; padding-bottom: 2%; padding-left: 0%; padding-right: 0%; gap: 0px 0px; }
.e-0e9fc02 { background-color: #FFF; }
.e-4b8d687 { width: var(--container-widget-width,70%); max-width: 70%; --container-widget-width: 70%; z-index: 99; text-align: end; }
.e-4b8d687 > .wc { margin: 0% 2% 0% 0%; }
.e-4b8d687 { align-self: flex-end; order: -99999; flex-grow: 0; flex-shrink: 0; }
.e-4b8d687 .hl { font-family: "Inter local",Sans-serif; font-weight: 600; text-transform: uppercase; line-height: 1.2em; color: #FFF; }
.e-e801cf5 { display: flex; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: center; padding-top: 0%; padding-bottom: 0%; padding-left: 2%; padding-right: 2%; }
.e-58a941f { display: flex; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: center; align-items: flex-start; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0%; padding-bottom: 0%; padding-left: 10%; padding-right: 5%; gap: 0% 2%; }
.e-2a744e6 { display: flex; flex-direction: column; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); align-items: flex-start; overflow: clip; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0%; padding-bottom: 0%; padding-left: 0%; padding-right: 8%; gap: 10px 0px; }
.e-2a744e6 { background-color: #FFF; }
.e-613506e { display: flex; flex-direction: column; --container-widget-width: 100%; overflow: clip; padding-top: 0%; padding-bottom: 8%; padding-left: 0%; padding-right: 0%; z-index: 1; gap: 0px 0px; }
.e-ceadec5 > .wc { margin: 7% 2% 4% 2%; }
.e-ceadec5 .hl { font-size: 3.8vw; line-height: 1.2em; }
.e-1714f96 > .wc { margin: 0% 2% 0% 2%; }
.e-1714f96 { font-family: "Inter local",Sans-serif; font-size: 3.8vw; font-weight: 600; line-height: 1.2em; color: var(--e-global-color-primary); }
.e-be9ac2d > .wc { margin: 7% 2% 4% 2%; }
.e-be9ac2d .hl { font-size: 3.8vw; line-height: 1.2em; }
.e-9f99e5f > .wc { margin: 0% 2% 0% 2%; }
.e-9f99e5f { font-family: "Inter local",Sans-serif; font-size: 3.8vw; font-weight: 600; text-decoration: underline; line-height: 1.2em; color: var(--e-global-color-primary); }
.e-6928409 { display: flex; flex-direction: column; --container-widget-width: 100%; }
@media (min-width: 768px) {
.e-fb0c830 { width: 50%; }
.e-ef370d8 { width: 50%; }
.e-23eac70 { width: 50%; }
.e-256e29a { width: 100%; }
.e-04b2c80 { width: 50%; }
.e-1f7227e { width: 50%; }
.e-8b2926e { width: 100%; }
.e-cb92f9e { width: 38%; }
.e-63fc0db { width: 62%; }
.e-603173e { width: 100%; }
.e-9201d00 { width: 36%; }
.e-d3314b3 { width: 64%; }
.e-8ce8f1b { width: 100%; }
.e-0b6ffac { width: 100%; }
.e-e9b2b68 { width: 35%; }
.e-70bd1eb { width: 38%; }
.e-366e228 { width: 100%; }
.e-78c7cc3 { width: 44%; }
.e-3633509 { width: 50%; }
.e-dfcacef { width: 56%; }
.e-294176e { width: 70%; }
.e-bb6d3db { width: 50%; }
.e-fcd7cc3 { width: 50%; }
.e-5319e79 { width: 46%; }
.e-08a2f68 { width: 45%; }
.e-2386c7e { width: 54%; }
.e-4807917 { width: 100%; }
.e-2931841 { width: 50%; }
.e-395ae00 { width: 50%; }
.e-229d0c3 { width: 100%; }
.e-f7a332a { width: 50%; }
.e-13258ab { width: 50%; }
.e-1de151b { width: 70%; }
.e-b674b10 { width: 12%; }
.e-104c72f { width: 100%; }
.e-22d9a44 { width: 60%; }
.e-14e5fc4 { width: 100%; }
.e-e801cf5 { width: 100%; }
.e-58a941f { width: 45%; }
.e-2a744e6 { width: 55%; }
}
@media (min-width: 768px) and (max-width: 1024px) {
.e-294176e { width: 80%; }
}
@media (max-width: 1024px) {
.e-cac70b6 { margin-top: -26px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; }
.e-09d1001 .hl { font-size: .8em; }
.e-fb0c830 { padding-top: 2%; padding-bottom: 0%; padding-left: 4%; padding-right: 0%; }
.e-ef370d8 { padding-top: 0%; padding-bottom: 0%; padding-left: 0%; padding-right: 5%; }
.e-5cf23fb .hl { font-size: .8em; }
.e-cebb466 > .wc { margin: 0% 0% 0% 0%; }
.e-cebb466 .hl { font-size: .8em; }
.e-a2bf869 > .wc { margin: 0% 0% 0% 0%; }
.e-a2bf869 .hl { font-size: .8em; }
.e-0fa67c0 > .wc { margin: 0% 0% 0% 0%; }
.e-0fa67c0 .hl { font-size: .8em; }
.e-b44abbc .hl { font-size: .8em; }
.e-d182ff0 .hl { font-size: .8em; }
.e-a71f4bf .hl { font-size: .8em; }
.e-63a4bb9 .hl { font-size: .8em; }
.e-1be7169 .hl { font-size: .8em; }
.e-5a1fff0 .hl { font-size: .8em; }
.e-a417d1e .hl { font-size: .8em; }
.e-5001500 .hl { font-size: .8em; }
.e-99c1e54 .hl { font-size: .8em; }
.e-7128695 .hl { font-size: .8em; }
.e-d3f132b .hl { font-size: .8em; }
.e-33b4eff .hl { font-size: .8em; }
.e-80220f6 .hl { font-size: .8em; }
.e-d85f0f9 .hl { font-size: .8em; }
.e-3c5c049 { --container-widget-width: 400px; width: var(--container-widget-width,400px); max-width: 400px; }
.e-78c3b69 img { width: 100%; }
.e-826fa7c > .wc { margin: 0% 0% 0% 0%; }
.e-826fa7c .hl { font-size: .8em; }
.e-d72b260 .hl { font-size: .8em; }
.e-76a9435 .hl { font-size: .8em; }
.e-d49be51 { justify-content: center; }
.e-dfcacef { margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; padding-top: 0%; padding-bottom: 0%; padding-left: 8%; padding-right: 8%; }
.e-2196bd0 .hl { font-size: .8em; }
.e-02839cd .hl { font-size: .8em; }
.e-af9a294 { min-height: 60vh; }
.e-5154e98 .hl { font-size: .8em; }
.e-66903c5 .hl { font-size: .8em; }
.e-ae3958a .hl { font-size: .8em; }
.e-90cc3fb .hl { font-size: .8em; }
.e-82b5d39 .hl { font-size: .8em; }
.e-c8a02eb .hl { font-size: .8em; }
.e-269ac66 > .wc { margin: 0% 0% 0% 0%; }
.e-269ac66 img { width: 100%; }
.e-3a4d298 { margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; }
.e-153812d .hl { font-size: .8em; }
.e-8b68d0f .hl { font-size: .8em; }
.e-c8de3ec .hl { font-size: .8em; }
.e-6ff7f05 .hl { font-size: .8em; }
.e-4807917 { padding-top: 0%; padding-bottom: 0%; padding-left: 2%; padding-right: 8%; }
.e-594433c .hl { font-size: .8em; }
.e-4c9b127 .hl { font-size: .8em; }
.e-8554996 .hl { font-size: .8em; }
.e-d76ebb5 .hl { font-size: .8em; }
.e-6ba1dac .hl { font-size: .8em; }
.e-f5194ee .hl { font-size: .8em; }
.e-2f0b050 .hl { font-size: .8em; }
.e-61c01b6 .hl { font-size: .8em; }
.e-54fce9c .hl { font-size: .8em; }
.e-28d5bb2 .hl { font-size: .8em; }
.e-0579ed5 .hl { font-size: .8em; }
.e-319753a .hl { font-size: .8em; }
.e-a194711 .hl { font-size: .8em; }
.e-4b8d687 .hl { font-size: .8em; }
}
@media (max-width: 767px) {
.e-cac70b6 { margin-top: -23px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-09d1001 > .wc { padding: 0 0 0 10px; }
.e-b7fc316 { width: 100%; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; gap: 10px 10px; }
.e-fb0c830 { flex-direction: column; --container-widget-width: 100%; justify-content: flex-start; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 0px 0px; }
.e-36dd47a > .wc { margin: 0% 0% 0% 0%; }
.e-ef370d8 { padding-top: 0%; padding-bottom: 0%; padding-left: 0%; padding-right: 0%; }
.e-23eac70 { width: 150px; flex-direction: row; --container-widget-width: initial; margin-top: -40px; margin-bottom: 0px; margin-left: 150px; margin-right: 0px; }
.e-4544c1c { right: 15px; left: 15px; bottom: 15px; --lottie-container-width: 25px; }
.e-0c78b3e > .wc { margin: 0 0 20px 10px; }
.e-0c78b3e .hl { font-size: 6.5vw; }
.e-2185e2b { margin-top: 20px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-5cf23fb > .wc { margin: 0 10px 0 0; }
.e-256e29a { width: 100%; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; gap: 10px 10px; }
.e-cebb466 > .wc { margin: 0 0 0 0; }
.e-a2bf869 > .wc { margin: 0 0 0 0; }
.e-0fa67c0 > .wc { margin: 0 0 0 0; }
.e-49e8201 { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-b44abbc > .wc { margin: 0 10px 0 0; }
.e-8b2926e { padding-top: 0px; padding-bottom: 0px; padding-left: 10px; padding-right: 10px; gap: 10px 10px; }
.e-9fc9e24 { margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; gap: 10px 10px; }
.e-d182ff0 > .wc { margin: 0 0 0 0; }
.e-ae76d83 { margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; gap: 10px 10px; }
.e-a71f4bf > .wc { margin: 0 0 0 0; }
.e-f415df4 { margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; gap: 10px 10px; }
.e-b132637 { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-1be7169 > .wc { margin: 0 10px 0 0; }
.e-603173e { padding-top: 0px; padding-bottom: 0px; padding-left: 10px; padding-right: 10px; gap: 10px 10px; }
.e-6feed51 { margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; gap: 10px 10px; }
.e-5a1fff0 > .wc { margin: 0 0 0 0; }
.e-1a57861 { margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; gap: 10px 10px; }
.e-a417d1e > .wc { margin: 0 0 0 0; }
.e-31e7481 { margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; gap: 10px 10px; }
.e-a050937 { margin-top: 0%; margin-bottom: 0%; margin-left: 0%; margin-right: 0%; gap: 10px 10px; }
.e-21f48ea { justify-content: center; margin-top: 20px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-7128695 > .wc { margin: 0 10px 0 0; }
.e-8ce8f1b { justify-content: center; padding-top: 0px; padding-bottom: 0px; padding-left: 10px; padding-right: 10px; }
.e-e36dda3 > .wc { padding: 0 0 0 0; }
.e-0b6ffac { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-862eccd > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-862eccd img { width: 100%; }
.e-d3f132b { width: 100%; max-width: 100%; }
.e-d3f132b > .wc { margin: 0 0 0 0; }
.e-6796c66 { justify-content: center; gap: 10px 10px; }
.e-e9b2b68 { width: 38%; }
.e-a8729a3 img { width: 100%; }
.e-33b4eff { width: 100%; max-width: 100%; }
.e-c7558eb { justify-content: center; gap: 10px 10px; }
.e-70bd1eb { width: 40%; }
.e-80220f6 { width: 100%; max-width: 100%; }
.e-80220f6 > .wc { margin: 0 0 0 0; }
.e-6d5d80d { margin-top: 20px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-d85f0f9 > .wc { margin: 0 10px 0 0; }
.e-3c5c049 { --container-widget-width: 100%; width: var(--container-widget-width,100%); max-width: 100%; }
.e-3c5c049 > .wc { padding: 10px 10px 10px 10px; }
.e-366e228 { gap: 10px 10px; }
.e-826fa7c > .wc { margin: 0 0 0 0; }
.e-68ee107 { gap: 10px 10px; }
.e-d72b260 { width: var(--container-widget-width,90%); max-width: 90%; --container-widget-width: 90%; }
.e-d72b260 > .wc { margin: 0 0 0 0; }
.e-734a93e { padding-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 0px 0px; }
.e-76a9435 > .wc { margin: 0 10px 0 0; }
.e-d49be51 { padding-top: 0px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; gap: 10px 10px; }
.e-78c7cc3 { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-3633509 { width: 300px; margin-top: -75px; margin-bottom: 0px; margin-left: 55px; margin-right: 0px; }
.e-dfcacef { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-9724883 { --container-widget-width: 100%; width: var(--container-widget-width,100%); max-width: 100%; }
.e-2196bd0 { width: var(--container-widget-width,90%); max-width: 90%; --container-widget-width: 90%; }
.e-2196bd0 > .wc { margin: 0 0 0 0; }
.e-02839cd { width: var(--container-widget-width,90%); max-width: 90%; --container-widget-width: 90%; }
.e-02839cd > .wc { margin: 0 0 0 0; }
.e-af9a294 { min-height: 35vh; flex-direction: row; --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% ); justify-content: flex-end; align-items: flex-start; margin-top: 40px; margin-bottom: 40px; margin-left: 0px; margin-right: 0px; }
.e-53bef6b { width: 100%; max-width: 100%; }
.e-53bef6b { align-self: flex-start; order: 99999; }
.e-53bef6b .btn { padding: 20px 10px 20px 0; }
.e-be21e7e { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-5154e98 > .wc { margin: 0 10px 0 0; }
.e-4d3f79c { padding-top: 0px; padding-bottom: 40px; padding-left: 0px; padding-right: 0px; }
.e-294176e { padding-top: 0px; padding-bottom: 0px; padding-left: 10px; padding-right: 10px; gap: 10px 10px; }
.e-1f4fd5a { gap: 10px 10px; }
.e-66903c5 > .wc { margin: 0 0 0 0; }
.e-4fc5662 { gap: 10px 10px; }
.e-ae3958a > .wc { margin: 0 0 0 0; }
.e-808dd7c { gap: 10px 10px; }
.e-d7aea36 { gap: 10px 10px; }
.e-e8a0f3e { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 40px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-c8a02eb > .wc { margin: 0 10px 0 0; }
.e-58bcd1e { padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-269ac66 > .wc { padding: 0 10px 0 10px; }
.e-3a4d298 { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; }
.e-7a50cff > .wc { margin: 0 0 0 0; }
.e-814570e > .wc { margin: 0% 0% 0% 0%; padding: 0 0 0 0; }
.e-814570e img { width: 100%; }
.e-153812d > .wc { margin: 0 0 0 0; }
.e-71e2222 > .wc { margin: 0 0 0 0; }
.e-8b68d0f > .wc { margin: 0 0 0 0; }
.e-95176c4 { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 40px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-083c8b1 > .wc { margin: 0 10px 0 10px; }
.e-083c8b1 .hl { font-size: 6.5vw; }
.e-a31f80f > .wc { margin: 0 10px 0 10px; }
.e-a31f80f { font-size: 6.5vw; }
.e-4f4183c > .wc { margin: 0 10px 0 10px; }
.e-4f4183c { font-size: 6.5vw; }
.e-672d81f { padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-c8de3ec > .wc { margin: 0 10px 0 0; }
.e-ce00dbf { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 10px; padding-right: 10px; gap: 10px 10px; }
.e-5319e79 { width: 75%; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-08a2f68 { margin-top: -85%; margin-bottom: 50%; margin-left: 50%; margin-right: 0%; }
.e-2386c7e { width: 30%; }
.e-997d8f4 { margin-top: 20px; margin-bottom: 40px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-6ff7f05 > .wc { margin: 0 10px 0 0; }
.e-4807917 { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 10px; padding-right: 10px; gap: 10px 10px; }
.e-594433c > .wc { margin: 0 0 0 0; }
.e-4c9b127 > .wc { margin: 0 0 0 0; }
.e-bd933a1 { margin-top: 20px; margin-bottom: 40px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-8554996 > .wc { margin: 0 10px 0 0; }
.e-229d0c3 { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 10px; padding-right: 10px; gap: 10px 10px; }
.e-13258ab { padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-d76ebb5 > .wc { margin: 0 0 0 0; }
.e-6ba1dac > .wc { margin: 0 0 0 0; }
.e-3443e75 { padding-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 0px 0px; }
.e-f5194ee > .wc { margin: 0 10px 0 0; }
.e-1de151b { flex-direction: row; --container-widget-width: initial; justify-content: flex-start; padding-top: 0px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; gap: 0px 0px; }
.e-b674b10 { width: 20%; flex-direction: row; --container-widget-width: initial; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: -34px; z-index: 4; }
.e-f83f07a { width: var(--container-widget-width,80%); max-width: 80%; --container-widget-width: 80%; z-index: 3; }
.e-f83f07a > .wc { margin: 0 -35px 0 -35px; }
.e-963d234 { padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; z-index: 3; gap: 10px 10px; }
.e-fbc35b2 { z-index: 3; }
.e-fbc35b2 img { width: 100%; }
.e-2f0b050 { width: 100%; max-width: 100%; z-index: 0; }
.e-2f0b050 > .wc { margin: 0 0 0 0; }
.e-104c72f { gap: 10px 10px; }
.e-fab0222 img { width: 80%; }
.e-61c01b6 > .wc { margin: 0% 10% 0% 0%; }
.e-06d345d { gap: 10px 10px; }
.e-3f841d8 img { width: 75%; }
.e-54fce9c { width: 100%; max-width: 100%; }
.e-54fce9c > .wc { margin: 0% 12% 0% 0%; }
.e-aeae3ea { justify-content: center; margin-top: 20px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-28d5bb2 > .wc { margin: 0 10px 0 0; }
.e-22d9a44 { padding-top: 0px; padding-bottom: 0px; padding-left: 10px; padding-right: 10px; }
.e-150ec5c > .wc { padding: 0 0 0 0; }
.e-14e5fc4 { justify-content: center; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; gap: 10px 10px; }
.e-b831237 > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.e-b831237 img { width: 100%; }
.e-0579ed5 { width: 100%; max-width: 100%; }
.e-0579ed5 > .wc { margin: 0 0 0 0; }
.e-824c327 { justify-content: center; gap: 10px 10px; }
.e-661279c img { width: 100%; }
.e-319753a { width: 100%; max-width: 100%; }
.e-e3a58d6 { justify-content: center; gap: 10px 10px; }
.e-a194711 { width: 100%; max-width: 100%; }
.e-a194711 > .wc { margin: 0 0 0 0; }
.e-0e9fc02 { margin-top: 20px; margin-bottom: 40px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; }
.e-4b8d687 > .wc { margin: 0 10px 0 0; }
.e-e801cf5 { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 10px; padding-right: 10px; gap: 10px 10px; }
.e-58a941f { padding-top: 0%; padding-bottom: 0%; padding-left: 0%; padding-right: 0%; }
.e-2a744e6 { padding-top: 0%; padding-bottom: 0%; padding-left: 0%; padding-right: 0%; }
.e-ceadec5 > .wc { margin: 40px 10px 0 10px; }
.e-ceadec5 .hl { font-size: 6.5vw; }
.e-1714f96 > .wc { margin: 20px 10px 80px 10px; }
.e-1714f96 { font-size: 6.5vw; }
.e-be9ac2d > .wc { margin: 40px 10px 0 10px; }
.e-be9ac2d .hl { font-size: 6.5vw; }
.e-9f99e5f > .wc { margin: 20px 10px 80px 10px; }
.e-9f99e5f { font-size: 6.5vw; }
}

/* ---------------------------------------------------------------------------
   Home page — the handful of values that cannot be derived from the live CSS
   and had to be pinned from a live measurement instead. Loaded after the
   generated 50-home.css so these win.
   --------------------------------------------------------------------------- */

/* Paralympic Center band, tablet only (768–1024px).
   Neither the photograph nor the carousel beside it declares a width there, so
   the live split comes from two intrinsic content widths: a 1443px-wide
   photograph, and a Swiper whose internal sizing a stacked crossfade does not
   reproduce. Above 1024px and on a phone the browser already lands on the live
   numbers; in between the split is pinned from the live measurement.

   Measured on https://www.wiak.studio/ at 768px:
     row content width 737.28px, column gap 60px
     photograph 339.86px, carousel 337.42px  ->  50.18% / 49.82% of the
     row minus its gutter. (Checked at 900px and 1024px too: the live ratio
     drifts to 50.42/49.58, i.e. about 2px, which is under a pixel of height.) */
@media (min-width: 768px) and (max-width: 1024px) {
  .e-58bcd1e {
    --band-gutter: 60px;
    --photo-share: 0.5018;
    --carousel-share: 0.4982;
  }
  .e-269ac66 { flex: 0 0 calc((100% - var(--band-gutter)) * var(--photo-share)); }
  .e-3a4d298 { flex: 0 0 calc((100% - var(--band-gutter)) * var(--carousel-share)); }
}

/* ---------------------------------------------------------------------------
   NITO HOUSE — the first project band on the home page.

   Every rule below is the value one of its neighbours already uses; the band is
   assembled from the existing project-band language rather than styled afresh.
   Where a number is new (the two outer insets) it is derived from the client's
   1920px mockup, and the derivation is written next to it.

   Geometry, derived from Nito_Carousel_mockup.jpg (1920 wide):
     left image   x 342..960   -> left inset  342 / 1920 = 17.81%  -> 18%
     right image  x 979..1593  -> right inset 327 / 1920 = 17.03%  -> 17% (superseded: 16% to align with Volcano House, see .nito-row)
     both images  y 247..1015, 618x768 and 614x768, i.e. two equal 4:5 boxes
     gutter 19px at 1920
   Whole percentages are what Elementor writes and what every other row here
   uses; 18% also happens to be exactly the left inset of Volcano House, the
   band immediately below. The gutter is the site's own 20px widget spacing
   (10px on a phone) rather than the mockup's 19px scaled to 14.25px, so the
   band gutters like every other band on the page.

   At 1440 that gives: row content 1440 - 18% - 17% = 936px, minus the 20px
   gutter = two 458px columns, and 458 / 0.8 = 572.5px tall images.
   --------------------------------------------------------------------------- */

/* Band — same shell as the Volcano House band below it. */
.band-nito {
  display: flex;
  flex-direction: column;
  --container-widget-width: 100%;
  overflow: clip;
  padding: 2% 0;
  gap: 0 0;
  background-color: #FFF;
}

/* Caption — the sibling captions' rules, unchanged. Sticky and blended by the
   shared `.stick` / `.diff` helpers. */
.nito-cap {
  width: var(--container-widget-width, 70%);
  max-width: 70%;
  --container-widget-width: 70%;
  z-index: 99;
  text-align: end;
  align-self: flex-end;
  order: -99999;
  flex-grow: 0;
  flex-shrink: 0;
}
.nito-cap > .wc { margin: 0% 2% 0% 0%; }
.nito-cap .hl {
  font-family: 'Inter local', Sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.2em;
  color: #FFF;
}

/* The two carousels. */
.nito-row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  /* Insets now copied from the Volcano House row directly below (.e-256e29a:
     18% left, 16% right) so the two bands' picture edges line up exactly; the
     mockup's 17% right inset was 1% short of that. Two equal 50% columns. */
  padding: 0% 16% 0% 18%;
}
.nito-col {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  gap: 10px 0;
}
.nito-carousel > .wc { margin: 0 0 0 0; padding: 0 0 0 0; }
.nito-slide {
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
  gap: 10px 10px;
}
.nito-img img { width: 100%; }

/* Counter — the sibling counters' rules, unchanged. Black text blended against
   its own slide, which is why it reads black under the image and inverts over
   one. */
.nito-counter {
  width: 100%;
  max-width: 100%;
  z-index: 99;
  text-align: end;
}
.nito-counter > .wc { margin: 0% 0% 0% 0%; }
.nito-counter .hl {
  font-family: 'Inter local', Sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.2em;
  color: #000;
}

@media (min-width: 768px) {
  .nito-row { width: 100%; }
  .nito-col { width: 50%; }
}
@media (max-width: 1024px) {
  .nito-cap .hl, .nito-counter .hl { font-size: .8em; }
}
/* On a phone the site stacks every two-column band and drops to a 10px gutter
   and 10px side padding — same as Volcano House and The Palm House. */
@media (max-width: 767px) {
  .band-nito { margin: 20px 0 0; padding: 0; }
  .nito-cap > .wc { margin: 0 10px 0 0; }
  .nito-row { width: 100%; padding: 10px; gap: 10px 10px; }
  .nito-counter > .wc { margin: 0 0 0 0; }
}
