/* Start custom CSS *//* RB homepage effects: Elementor's free interactions can't do scroll-linked or hover animations, so these run in CSS. */

/* Let the growing roots leave the hero and reach into the stats below; no sideways scrollbar */
html, body { overflow-x: clip; }
.elementor-element-1073f6dc { overflow: visible !important; z-index: 2; }
.elementor-element-1025bd4b { position: relative; z-index: 3; }
[data-interaction-id="3ef94309"], [data-interaction-id="12a7cb41"] { transform-origin: 50% 43.5%; pointer-events: none; }

/* Brand carousel: no scrollbar, smooth sliding, round arrows on both sides */
.elementor-element-5976b28e { position: relative !important; display: block !important; width: 100%; padding: 0 !important; }
.elementor-element-7a1dba66 { scrollbar-width: none; scroll-behavior: smooth; }
.elementor-element-7a1dba66::-webkit-scrollbar { display: none; }
#brand-ella, #brand-yunioo { scroll-margin-block: 18vh; }
[data-interaction-id="79f237f5"], [data-interaction-id="df576ac"] {
  position: absolute !important; top: 50%; z-index: 6;
  width: 64px !important; height: 64px !important; min-width: 0 !important; padding: 0 !important;
  display: flex !important; align-items: center; justify-content: center;
  border-radius: 50% !important; border: none !important;
  background: #F6F8FB !important; color: #0F2238 !important;
  font-size: 30px !important; font-weight: 700 !important; line-height: 1 !important; text-decoration: none !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .4);
  transform: translateY(-50%); transition: transform .2s ease, background-color .2s ease;
}
[data-interaction-id="79f237f5"] { left: -32px; }
[data-interaction-id="df576ac"] { right: -32px; }
[data-interaction-id="79f237f5"]:hover, [data-interaction-id="df576ac"]:hover { transform: translateY(-50%) scale(1.1); background: #95B2EE !important; }

/* Speedboat lane: clip instead of hidden, so the lane is not a scroll container */
.elementor-element-363a2e5c { overflow: clip !important; container-type: inline-size; }

@supports (animation-timeline: view()) {
  /* Hero tree: sinks and turns while scrolling down */
  [data-interaction-id="3ef94309"] {
    animation: rb-tree-sink linear both;
    animation-timeline: scroll(root);
    animation-range: 0 100vh;
  }
  /* Bright roots: grow from small at the trunk to big, stretching down into the stats */
  [data-interaction-id="12a7cb41"] {
    animation: rb-roots-grow linear both;
    animation-timeline: scroll(root);
    animation-range: 0 110vh;
  }

  /* Speedboat: sails the length of its line while it crosses the screen, and back when scrolling up */
  [data-interaction-id="3dc65bea"] {
    animation: rb-sail linear both;
    animation-timeline: view();
    animation-range: cover 10% cover 90%;
  }
}

@keyframes rb-tree-sink { from { transform: translateY(0) rotate(0deg); } to { transform: translateY(140px) rotate(8deg); } }
@keyframes rb-roots-grow {
  0% { transform: translateY(0) rotate(0deg) scale(.3); opacity: .15; }
  35% { opacity: .9; }
  100% { transform: translateY(140px) rotate(8deg) scale(2.1); opacity: .75; }
}
@keyframes rb-sail {
  0% { transform: translate(calc((100cqw - 150px) * 0), 0px) rotate(-5deg); }
  12.5% { transform: translate(calc((100cqw - 150px) * 0.125), -16px) rotate(0deg); }
  25% { transform: translate(calc((100cqw - 150px) * 0.25), 0px) rotate(5deg); }
  37.5% { transform: translate(calc((100cqw - 150px) * 0.375), 16px) rotate(0deg); }
  50% { transform: translate(calc((100cqw - 150px) * 0.5), 0px) rotate(-5deg); }
  62.5% { transform: translate(calc((100cqw - 150px) * 0.625), -16px) rotate(0deg); }
  75% { transform: translate(calc((100cqw - 150px) * 0.75), 0px) rotate(5deg); }
  87.5% { transform: translate(calc((100cqw - 150px) * 0.875), 16px) rotate(0deg); }
  100% { transform: translate(calc((100cqw - 150px) * 1), 0px) rotate(-5deg); }
}
@keyframes rb-wake { from { width: 75px; } to { width: calc(100cqw - 75px); } }

/* Map: round dots (office 18px, warehouse 14px) and legend top right */
.elementor-element-4e91b83f, .elementor-element-1c57e818, .elementor-element-632367c6, .elementor-element-4449591b {
  width: 18px !important; height: 18px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; left: -9px !important; top: -9px !important;
}
.elementor-element-5a36439b, .elementor-element-c768aa0, .elementor-element-6b8b4bcf, .elementor-element-3591021d {
  width: 14px !important; height: 14px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; left: -7px !important; top: -7px !important;
}
.elementor-element-59c4837b { left: auto !important; right: 30px !important; width: auto !important; }

/* Map: photo card pops out of the dot on hover (or tap on phones), and closes again when the mouse leaves */
.elementor-element-196382de, .elementor-element-1c51f0ff, .elementor-element-5209f5b8, .elementor-element-29f33918,
.elementor-element-501b37ab, .elementor-element-3747866d, .elementor-element-61e654f9, .elementor-element-48dc51f3 {
  opacity: 0 !important;
  transform: scale(.12) !important;
  transform-origin: center bottom !important;
  transition: opacity .25s ease, transform .4s cubic-bezier(.34, 1.56, .64, 1);
}
.elementor-element-196382de p, .elementor-element-1c51f0ff p, .elementor-element-5209f5b8 p, .elementor-element-29f33918 p,
.elementor-element-501b37ab p, .elementor-element-3747866d p, .elementor-element-61e654f9 p, .elementor-element-48dc51f3 p {
  text-shadow: 0 1px 2px rgba(10, 20, 35, .7), 0 2px 12px rgba(10, 20, 35, .6);
}
.elementor-element-74d1d86d:hover, .elementor-element-550cfab3:hover, .elementor-element-31b71c05:hover, .elementor-element-5eb9bc9a:hover,
.elementor-element-793a3e77:hover, .elementor-element-7f6984e3:hover, .elementor-element-46b6c5a9:hover, .elementor-element-3c170fe7:hover { z-index: 40 !important; }
.elementor-element-74d1d86d:hover .elementor-element-196382de,
.elementor-element-550cfab3:hover .elementor-element-1c51f0ff,
.elementor-element-31b71c05:hover .elementor-element-5209f5b8,
.elementor-element-5eb9bc9a:hover .elementor-element-29f33918,
.elementor-element-793a3e77:hover .elementor-element-501b37ab,
.elementor-element-7f6984e3:hover .elementor-element-3747866d,
.elementor-element-46b6c5a9:hover .elementor-element-61e654f9,
.elementor-element-3c170fe7:hover .elementor-element-48dc51f3 {
  opacity: 1 !important;
  transform: scale(1) !important;
}

/* Speedboat on a wave: grey wave under the lane, blue wave filling in behind the boat */
.elementor-element-363a2e5c { position: relative !important; height: 110px !important; min-height: 110px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 40' preserveAspectRatio='none'%3E%3Cpath d='M0 24 C83 8 167 8 250 24 S417 40 500 24 S667 8 750 24 S917 40 1000 24' fill='none' stroke='%23C3CFDD' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") left bottom / 100% 40px no-repeat; }
.elementor-element-363a2e5c::after { content: ""; position: absolute; left: 0; bottom: 0; height: 40px; width: 75px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 40' preserveAspectRatio='none'%3E%3Cpath d='M0 24 C83 8 167 8 250 24 S417 40 500 24 S667 8 750 24 S917 40 1000 24' fill='none' stroke='%2327496F' stroke-width='2.6' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") left bottom / 100cqw 40px no-repeat; pointer-events: none; }
[data-interaction-id="3dc65bea"] { position: absolute !important; left: 0; bottom: 10px; margin: 0 !important; transform-origin: 50% 88%; z-index: 1; }
@supports (animation-timeline: view()) {
  .elementor-element-363a2e5c { view-timeline-name: --rb-lane; }
  .elementor-element-363a2e5c::after { animation: rb-wake linear both; animation-timeline: --rb-lane; animation-range: cover 10% cover 90%; }
  [data-interaction-id="3dc65bea"] { animation-timeline: --rb-lane !important; }
}
/* Titles fill in word by word while scrolling (each word starts faint and turns solid in order) */
@supports (animation-timeline: view()) {
  [data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"] { view-timeline-name: --rb-title; }
  [data-interaction-id="56bc12bf"] > span, [data-interaction-id="12c7d231"] > span, [data-interaction-id="2b27bfd5"] > span, [data-interaction-id="1991e283"] > span, [data-interaction-id="59ef8381"] > span, [data-interaction-id="24c8fbf2"] > span, [data-interaction-id="3f6a1019"] > span, [data-interaction-id="5cffe585"] > span, [data-interaction-id="571b14e8"] > span { opacity: .16; animation: rb-word linear both; animation-timeline: --rb-title; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(1) { animation-range: cover 18% cover 26%; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(2) { animation-range: cover 21.8% cover 29.8%; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(3) { animation-range: cover 25.6% cover 33.6%; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(4) { animation-range: cover 29.4% cover 37.4%; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(5) { animation-range: cover 33.2% cover 41.2%; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(6) { animation-range: cover 37% cover 45%; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(7) { animation-range: cover 40.8% cover 48.8%; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(8) { animation-range: cover 44.6% cover 52.6%; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(9) { animation-range: cover 48.4% cover 56.4%; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(10) { animation-range: cover 52.2% cover 60.2%; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(11) { animation-range: cover 56% cover 64%; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(12) { animation-range: cover 59.8% cover 67.8%; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(13) { animation-range: cover 63.6% cover 71.6%; }
  :is([data-interaction-id="56bc12bf"], [data-interaction-id="12c7d231"], [data-interaction-id="2b27bfd5"], [data-interaction-id="1991e283"], [data-interaction-id="59ef8381"], [data-interaction-id="24c8fbf2"], [data-interaction-id="3f6a1019"], [data-interaction-id="5cffe585"], [data-interaction-id="571b14e8"]) > span:nth-child(14) { animation-range: cover 67.4% cover 75.4%; }
}
@keyframes rb-word { to { opacity: 1; } }
/* ================= Phones (Elementor mobile breakpoint) ================= */
@media (max-width: 767px) {
  /* Menu: logo on top, the four links as a row of pills you can swipe sideways */
  .elementor-element-1879a9eb { flex-wrap: wrap !important; row-gap: 12px !important; padding-top: 12px !important; padding-bottom: 6px !important; }
  .elementor-element-3aff3d66 { order: 2; width: 100% !important; flex-wrap: nowrap !important; justify-content: flex-start !important; gap: 8px !important; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 2px; }
  .elementor-element-3aff3d66::-webkit-scrollbar { display: none; }
  [data-interaction-id="39e5de96"], [data-interaction-id="5dc92fae"], [data-interaction-id="142959be"], [data-interaction-id="6764345a"] {
    display: block !important; flex-shrink: 0; white-space: nowrap; margin: 0 !important; padding: 8px 15px !important; border-radius: 999px; border: 1px solid rgba(246, 248, 251, .28); font-size: 14px !important; line-height: 1.2 !important;
  }
  [data-interaction-id="2482a3fc"] { flex-shrink: 0; }

  /* Hero: tree first, headline underneath, so they don't fight */
  [data-interaction-id="3ef94309"], [data-interaction-id="12a7cb41"] { width: 128vw !important; max-width: none !important; top: 300px !important; left: 50% !important; }
  [data-interaction-id="3ef94309"] { opacity: 1 !important; }
  .elementor-element-141fae12 { padding-top: 350px !important; padding-bottom: 70px !important; }

  /* Stats: a tidy 2 x 2 grid instead of one long column */
  .elementor-element-1025bd4b { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 34px 18px !important; padding: 56px 22px !important; }
  [data-interaction-id="703e6750"], [data-interaction-id="3bbdb86c"], [data-interaction-id="3105b47b"], [data-interaction-id="5a6fc7e1"] { font-size: 54px !important; }
  [data-interaction-id="4b0880e7"], [data-interaction-id="7ebebf0"], [data-interaction-id="270f2e35"], [data-interaction-id="c9b24fa"] { font-size: 14px !important; }

  /* Brands: swipe with your thumb; next card peeks in; arrows hidden */
  [data-interaction-id="79f237f5"], [data-interaction-id="df576ac"] { display: none !important; }
  .elementor-element-7a1dba66 { gap: 14px !important; scroll-snap-type: x mandatory; scroll-padding-inline: 22px; }
  .elementor-element-1df5c952, .elementor-element-7ee8381e, .elementor-element-494f73bd, .elementor-element-17e7f44b, .elementor-element-2dc812d5 { width: 78vw !important; min-width: 0 !important; scroll-snap-align: start; }
  .elementor-element-5976b28e::after { content: "Swipe to see all five brands →"; display: block; margin-top: 18px; text-align: center; font: 600 13px/1.4 Montserrat, sans-serif; letter-spacing: .02em; color: #95B2EE; }

  /* What we are great at: code above the title, text gets the full width */
  .elementor-element-7e8b9e46 > .e-con { flex-direction: column !important; gap: 6px !important; padding: 26px 0 !important; }
  .elementor-element-7e8b9e46 > .e-con > * { width: 100% !important; min-width: 0 !important; }
  [data-interaction-id="2ca53aa7"], [data-interaction-id="4cd6a88a"], [data-interaction-id="c540c1e"], [data-interaction-id="6258bad7"] { font-size: 24px !important; color: #006991 !important; }

  /* Speedboat: no empty gap between the statement and its text */
  [data-interaction-id="1991e283"] { margin-bottom: 22px !important; }
  [data-interaction-id="6340291"] { margin-bottom: 28px !important; }

  /* Map: big enough to read; swipe it sideways and tap a dot */
  .elementor-element-60633156 { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin-top: 40px !important; }
  .elementor-element-60633156::-webkit-scrollbar { display: none; }
  .elementor-element-67c747e1 { min-width: 780px !important; }
  [data-interaction-id="2844aa76"] { position: sticky; left: 0; }
  [data-interaction-id="2844aa76"]::after { content: "Swipe the map sideways and tap a dot"; display: block; margin-top: 4px; font-size: 13px; font-weight: 500; color: #4B5D70; }

  /* Values: no grey scrollbar, a hint to swipe */
  .elementor-element-2aca6bb4 { scrollbar-width: none; scroll-padding-inline: 22px; }
  .elementor-element-2aca6bb4::-webkit-scrollbar { display: none; }
  .elementor-element-e54994d, .elementor-element-3612f75f, .elementor-element-33e9f8d0, .elementor-element-643184a6, .elementor-element-4590228e { width: 80vw !important; min-height: 0 !important; }
  .elementor-element-1405a84e::after { content: "Swipe through the five values →"; display: block; margin-top: 18px; font: 600 13px/1.4 Montserrat, sans-serif; color: #95B2EE; }
  [data-interaction-id="24c8fbf2"] { margin-bottom: 56px !important; }
}/* End custom CSS */