/* =========================================================
   RCMA — Main Stylesheet
   Non-responsive styles only. All @media queries live in
   rcmastyle-responsive.css.
   ========================================================= */






#slideleft .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
  display: flex;
  animation: 60s linear 0s infinite normal none running carousel-slideleft;
  opacity: .99;
}

#slideright .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
  display: flex;
  animation: 60s linear -30s infinite normal none running carousel-slideright;
  opacity: .99;
}

@keyframes carousel-left {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-299%); }
}


@keyframes carousel-right {
  0%   { transform: translateX(-299%); }
  100% { transform: translateX(0); }
}

figure.swiper-slide-inner {
    width: 250px;
}
#slideleft img.swiper-slide-image, #slideright img.swiper-slide-image{
    padding: 0 20px;
	  filter: grayscale(100%);

}
.swiper-slide {
    width: 250px !important;
    padding: 0;
}
img.swiper-slide-image.swiper-lazy.swiper-lazy-loaded {
    filter: grayscale(100%);
    max-width: 260px;
    padding: 0 12px;
}



/* =========================================================
   GLOBAL / BASE
   ========================================================= */


.brands_list-row .ticker-component {
    display: none !important;
}


.announce {
	background: #000;
	color: #fff;
	font-family: 'Oswald';
	font-size: 14px;
}
.announce a {
	color: #F1FF39;
}

.container,
.padding {
    max-width: 1450px !important;
    padding: 0 clamp(1.25rem, 3.5vw, 3.125rem) !important;
}
.padding {
    margin: auto !important;
}

p {
    margin-bottom: 20px;
}

span.smalltitle {
    text-transform: uppercase;
}

.backshift {
    transition: background-image 0.6s ease-in-out;
}

.cursor--normal {
    width: 20px;
    height: 20px;
    background-color: #f1ff39 !important;
    border: 1px solid #212122;
}

/* Utility color classes */
.white,
.white h1,
.white h2,
.white h3 {
    color: #fff !important;
}

.accent {
    color: #f1ff38;
    display: block;
}

.white-text {
    color: #fff;
}


/* =========================================================
   TYPOGRAPHY
   ========================================================= */
p { 
font-size:18px !important;
font-family:'Work Sans' !important;
}
h1, .pagehead h2, .casestudy-template .elementor-sticky h2, .caseheadcontain .elementor-widget-image:after {
	font-size: 60px !important;
	font-weight: 900 !important;
	text-transform:uppercase !important;
	font-family:'Oswald' !important;
	margin-bottom:20px !important;
    line-height: 1em;
	
}
h1,
h4, .caseheadcontain .elementor-widget-image:after {
    font-family: 'Oswald';
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.2em;
}

h2,
h2.footer_about-slogan_title {
    font-family: 'Oswald' !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    line-height: 1em !important;
	margin-bottom: 20px !important;
}

h2,
.h2,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading .h2.elementor-heading-title {
    font-size: clamp(1.4rem, 2.2vw, 2.3rem);
}

h2 span {
    font-weight: 400;
}


h2.cta_main-title.h1 {
    line-height: 1;
}

h2.elementor-heading-title.elementor-size-default {
    line-height: 1em !important;
}

h2.elementor-heading-title.elementor-size-default br {
    display: none;
}

h2.banner_content {
    padding: 0;
    margin: 0;
    max-width: 100% !important;
    font-size: clamp(1.6rem, 3.2vw, 2.9rem);
}

h3 {
    font-family: 'Oswald' !important;
	font-weight:900;
	text-transform:uppercase;
}

h3.elementor-post__title a {
font-size: 1.3em !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    line-height: 1.1em;
    display: block;
    max-width: 50vw;
    font-family: 'Oswald' !important;
    margin-bottom: 10px;
}
h3 span {
    font-weight: 400;
}
h3.elementor-post__title a {
    max-width: 100%;
}

.single-post .e-grid h3 {
    margin-top: 0;
}

.elementor-page-10397 h2.post_content-article_title {
    display: none;
}
h4 {
    font-family: 'Oswald' !important;
	font-size:19px !important;
	font-weight:900 !important;
	line-height:1em !important;
}

h5 {
    font-family: 'Oswald' !important;
    line-height: 1 !important;
    margin-bottom: 10px;
}

h6.title.title-socials {
    display: none;
}

h6.main_title {
    font-family: 'Oswald' !important;
    font-size: 2.5em;
}

.section_title h3 {
    font-size: clamp(2rem, 4.2vw, 3.75rem) !important;
    font-family: 'Oswald' !important;
    -webkit-text-stroke: 2px #000 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    color: #fff !important;
}

.pagehead h2 {
    font-family: "Oswald", Sans-serif;
    font-weight: 900 !important;
}

.pagehead h2.elementor-heading-title.elementor-size-default {
    max-width: 78%;
}

.pagehead h2.elementor-heading-title.elementor-size-default br {
    display: inline-block;
}

.pagehead .elementor-widget-container {
    text-wrap-mode: nowrap;
}

.pagehead p {
    text-wrap-mode: wrap;
    font-size: 20px !important;
    font-family: "Work Sans" !important;
    font-weight: 300 !important;
}

/* Newblog / post titles */
.newblog h3.elementor-post__title a {
font-size: 1.3em !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    line-height: 1.1em;
    display: block;
    max-width: 50vw;
    font-family: 'Oswald' !important;
    margin-bottom: 10px;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

/* --- z-index / base --- */
.header {
    z-index: 9998 !important;
    background: #ED1C25 !important;
    border: 0 !important;
    position: relative;
}

.home header {
    background: transparent !important;
}

.header.sticky {
    background: #fff !important;
    top: 0 !important;
}

/* --- Nav link base --- */
a.nav-item.nav-link {
    font-family: 'Work Sans';
    font-weight: 400;
    font-size: clamp(0.9rem, 1.4vw, 1.25rem);
    color: #fff;
}

.header_nav-list .nav-link:after {
    background: #ffffff !important;
}

.header_nav-list_item .nav-link:focus {
    font-weight: 500;
    color: #fff;
}

/* --- Sticky overrides --- */
.sticky .header_nav-list .nav-link:after {
    background: #000 !important;
}

.sticky a.nav-item.nav-link {
    color: #000 !important;
}

.sticky a.header_user-btn.btn.btn--outline:hover {
    color: #ffffff;
}

/* --- Outline button in header --- */
header .btn--outline {
    border: 2px solid #fff;
    color: #fff;
}

.header.sticky .btn--outline {
    border: 2px solid #000 !important;
}

.header_user-btn:focus,
.header_user-btn:hover {
    background-color: #000;
    border-color: #000;
}

.header_user {
    width: 300px;
    max-width: 300px;
    margin-right: 0 !important;
    font-family: 'Work Sans' !important;
    flex-grow: 0;
}

a.header_logo.logo.logomobilewhite {
    width: 175px;
    flex-grow: 0;
}

nav#headerMenu {
    flex-grow: 1;
}

/* --- Hamburger --- */
button#headerTrigger {
    background: #fff;
}

/* --- Dropdown cascade animation --- */
@keyframes rcmaDropItem {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* --- Dropdown base --- */
.dropdown-list .header_nav-list .nav-link:after {
    height: 3px;
    width: 0;
    background: #212122 !important;
}

.header_nav-list_item .nav-link.current,
.header_nav-list_item .nav-link:focus,
.header_nav-list_item .nav-link:hover {
    color: #fff !important;
}

.dropdown-menu {
    border: none !important;
}

.dropdown-list li {
    width: 100%;
}

ul.dropdown-list {
    border: none !important;
    background: #fff;
    -webkit-box-shadow: 0px 0px 9px 3px rgba(0, 0, 0, 0.33);
    box-shadow: 0px 0px 9px 3px rgba(0, 0, 0, 0.23);
    padding: 0 !important;
    transition: opacity 0.01s ease-in-out !important;
}

.header_nav-list_item .dropdown-menu {
    padding: 0 !important;
}

.header_nav-list_item .dropdown-list .list-item,
a.nav-item.dropdown-item {
    border: none !important;
}

a.nav-item.dropdown-item {
    font-size: 16px;
    letter-spacing: 0;
    font-weight: 500 !important;
    font-family: 'Work Sans';
    transition: background-color 120ms ease, color 120ms ease;
}

/* Each list item starts invisible; animation fires when parent gets .is-open */
.header_nav li.dropdown.is-open > .dropdown-menu .list-item,
.header_nav li.dropdown.is-open > .dropdown-menu li {
    animation: rcmaDropItem 320ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Staggered delays */
.header_nav li.dropdown.is-open > .dropdown-menu li:nth-child(1)  { animation-delay: 60ms; }
.header_nav li.dropdown.is-open > .dropdown-menu li:nth-child(2)  { animation-delay: 115ms; }
.header_nav li.dropdown.is-open > .dropdown-menu li:nth-child(3)  { animation-delay: 170ms; }
.header_nav li.dropdown.is-open > .dropdown-menu li:nth-child(4)  { animation-delay: 225ms; }
.header_nav li.dropdown.is-open > .dropdown-menu li:nth-child(5)  { animation-delay: 280ms; }
.header_nav li.dropdown.is-open > .dropdown-menu li:nth-child(6)  { animation-delay: 335ms; }
.header_nav li.dropdown.is-open > .dropdown-menu li:nth-child(7)  { animation-delay: 390ms; }
.header_nav li.dropdown.is-open > .dropdown-menu li:nth-child(8)  { animation-delay: 445ms; }
.header_nav li.dropdown.is-open > .dropdown-menu li:nth-child(9)  { animation-delay: 500ms; }
.header_nav li.dropdown.is-open > .dropdown-menu li:nth-child(10) { animation-delay: 555ms; }

.header_nav-list_item .dropdown-list,
ul.dropdown-list {
    align-items: flex-start !important;
}

.header_nav-list_item .dropdown-list .nav-item {
    margin: 0 !important;
    width: 100% !important;
    font-weight: 500;
}

.dropdown-list a.nav-item.nav-link {
    font-weight: 500;
}

.header_nav-list_item .dropdown-list .nav-item:hover {
    color: #000 !important;
    background-color: #F1FF39 !important;
}

span.icon.icon-caret-down-solid {
    margin-left: 6px;
    font-size: 16px;
}

/* Keep dropdown menus in flow so JS can read scrollHeight.
   Visibility is controlled entirely by the responsive sheet. */
.header .dropdown-menu,
.header_nav li.dropdown > .dropdown-menu {
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.header_nav .dropdown { position: relative; }

/* --- Dropdown hitbox bridge --- */
.header_nav-list_item.dropdown {
    position: relative;
}

.header_nav-list_item.dropdown::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -12px;
    height: 12px;
}

/* --- Sub-sub menu: popout to the right --- */
.dropdown-menu .dropdown.list-item {
    position: relative;
}

.dropdown-menu .dropdown.list-item > .dropdown-menu {
    position: absolute;
    top: 0;
    left: 100%;
    margin-left: 2px;
    min-width: 220px;
    background: #fff;
    text-align: left;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 150ms ease, visibility 0ms linear 150ms;
}

/* Transparent bridge fills the 2px gap */
.dropdown-menu .dropdown.list-item::after {
    content: "";
    position: absolute;
    top: 0;
    right: -2px;
    width: 2px;
    height: 100%;
}

/* Open state driven by nav.js */
.dropdown-menu .dropdown.list-item.is-open > .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 150ms ease;
}

/* Sub-sub menu item text styles */
.dropdown-menu .dropdown-menu a {
    color: #000;
    font-size: 16px;
    text-align: left;
    font-weight: 500;
}

/* Caret on the trigger link */
.dropdown-menu .dropdown.list-item > a.dropdown-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.menu-item-10322 a.nav-item.dropdown-item.dropdown-toggle {
    padding-bottom: 15px;
}

.dropdown-menu .dropdown.list-item > a.dropdown-item::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 6px solid currentColor;
    flex-shrink: 0;
    transition: transform 150ms ease;
}

.dropdown-menu .dropdown.list-item.is-open > a.dropdown-item::after {
    transform: rotate(90deg);
}

/* --- Active / hover states in dropdown list --- */

.sticky .dropdown-list li.active a, .dropdown-list li.hover a {

    background-color: #F1FF39;
    color: #000;
    display: inline-block;
    line-height: 20px !important;
}



/* Suppress WP/Bootstrap current-page auto-highlight */
.dropdown-menu .menu-item.current-menu-item > a.dropdown-item,
.dropdown-menu .menu-item.active > a.dropdown-item {
    background: transparent;
    color: inherit;
}

/* JS-controlled anchor active state */
.dropdown-menu a.dropdown-item.is-anchor-active {
    background: #000;
    color: #fff;
}

/* --- Quick links / misc nav --- */
.menu-quick-links-container {
    margin-top: 20px;
}

.mobilefooter {
    display: none;
}

nav,
.header.sticky .btn--outline {
    font-family: 'Work Sans' !important;
}

/* --- Header user action button --- */
.header_user i.icon.icon-arrow-right {
    display: none;
}

.header_user a {
    font-size: 20px !important;
    margin-top: 0 !important;
}

header a.btn.btn--accent:hover {
    background: #189BDB !important;
    font-size: 20px !important;
}

/* --- Progress bar --- */
.sticky #progress-container {
    display: block !important;
}

#progress-container {
    display: none !important;
    height: 4px;
    background: #eee;
    margin-top: -15px;
    margin-bottom: 11px;
}

#progress-bar {
    height: 100%;
    width: 0%;
    background: #533AB7;
    transition: width 0.05s linear;
}

/* --- Headroom --- */
.header--unpinned {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: none;
}

header.header.headroom.headroom--not-bottom.sticky.headroom--not-top.header--pinned {
    top: 0 !important;
}

header.header.headroom.headroom--not-bottom.sticky.headroom--not-top.header--unpinned {
    top: 61px !important;
}

.single-casestudy header.header.headroom.headroom--top.headroom--not-bottom {
    top: 0 !important;
}


/* =========================================================
   FOOTER
   ========================================================= */


.footaboutcontainer {
    display: flex;
    flex-direction: row;
    width: 656px;
}

.footabout {
    max-width: 390px;
}

.puppo img {
    margin-top: -97px;
    margin-bottom: -100px;
    margin-left: 8px;
    margin-right: -125px;
    width: 426px;
}

footer.footer,
.elementor-post__excerpt p {
    font-size: 20px;
    font-weight: 300;
}

footer.footer {
    background: #fff;
    color: #000;
    border-top: 1px solid #cdcdcd;
}

footer h2 {
    font-size: clamp(2.5rem, 6vw, 5.5rem);
    line-height: clamp(2rem, 5vw, 4.375rem);
    margin-bottom: 20px;
}

footer h2 span {
    background: #F1FF39;
    display: block;
    width: fit-content;
    font-size: clamp(1.6rem, 3.5vw, 3.125rem);
    line-height: clamp(1.8rem, 3.8vw, 3.4rem);
}

footer ul.sub-menu {
    display: none;
}

footer ul.socials a {
    color: #ED1C25;
    font-size: 39px;
}

footer #nav_menu-2 a {
    font-family: Archivo, sans-serif;
    color: #fff;
    font-size: 16px;
    font-weight: 300 !important;
    text-transform: capitalize;
}

div#nav_menu-2 {
    font-weight: 900;
    text-transform: uppercase;
    font-size: 22px;
    line-height: 1.3;
    font-family: 'Oswald';
    color: #fff;
}

.footer_about-slogan_title,
.footer_about-slogan_icon,
.footer_main-block_title,
div#nav_menu-2,
footer #nav_menu-2 a {
    color: #000 !important;
}

.footer_about-slogan .btn {
    margin-top: 30px;
}

.footer_about {
    width: 50% !important;
}

.footer_main.d-flex {
    margin-bottom: 36px;
    display: flex !important;
    width: 50%;
    flex-direction: row;
    flex-wrap: nowrap;
    padding-left: 100px;
}

.footer_main-block {
    width: 50% !important;
    font-weight: 100 !important;
}

.footer_main-block > div {
    min-height: 150px;
}

.footer_main-block_content.d-flex.flex-column {
    font-weight: 400;
    letter-spacing: 0.5px;
    gap: 10px;
    line-height: 30px;
}

.footer_main-block_content,
.footer p,
.footer a,
.footer #nav_menu-2 a,
.redbtn {
    font-size: 20px;
    font-family: 'Work Sans' !important;
    font-weight: 400 !important;
}

.footer .container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 5%;
}

.footer .outlined--white {
    -webkit-text-stroke: 2px #000000;
}

.footer_copy {
    margin: auto !important;
    max-width: 1450px !important;
    padding: 0 50px !important;
}

.footer_bg {
    display: none !important;
}

.menu-rcma-2025-container {
    margin-top: 10px;
}

span.quote {
    margin: 24px;
    display: block;
    font-size: 1.2em;
    text-align: center;
}

span.discoverycall {
    display: block;
}


/* =========================================================
   HERO
   ========================================================= */

section.hero {
    background: transparent;
}

.hero .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.hero_main {
    padding-left: 40px;
}

h1.hero_main-title span.smalltitle {
    max-width: 800px !important;
}

.hero_media {
    display: none !important;
}

ul.socials a,
i.icon-play,
span.circular_text.rotate.slower {
    color: #fff;
}

span.herosub {
    font-size: clamp(1.5rem, 2.8vw, 3.5rem);
    font-weight: 200;
    line-height: clamp(1.7rem, 3vw, 3.7rem);
    display: block;
}

.elementor-widget-pages-hero {
    padding-left: 40px;
    padding-right: 40px;
}

.whiteicon {
    filter: invert(1) brightness(2);
    width: 200px !important;
}

.stop span {
    display: block;
    font-size: 174%;
}

.brandlogos img {
    max-height: 100px;
    max-width: fit-content !important;
}

.brands_list-row img {
    width: 200px !important;
    object-fit: contain;
}

section.brands.gradient.section {
    padding-bottom: 0;
}

.features_main {
    margin-top: -230px;
}

.elementor embed,
.elementor iframe,
.elementor object,
.elementor video {
    width: 105% !important;
}

.cta_media-item.cta_media-item--secondary.laxY.aos-init.aos-animate {
    display: none;
}

.elementor-element.elementor-element-86eb280.e-con-full.e-flex.e-con.e-child {
    max-width: 433px;
}

.elementor-112 .elementor-element.elementor-element-e82c275 > .elementor-widget-container {
    margin: 12px 0px -107px 12px !important;
}


.herospace {
    height: 82vh;
}


.elementor-element.elementor-element-85fb7fe.e-con-full.hero3.e-flex.e-con.e-child {
    max-height: 130px;
}

.hero1 span {
    font-size: 19px !important;
    line-height: 24px !important;
    display: inline-block;
    float: right;
    width: 486px;
    text-transform: capitalize;
    font-weight: 400;
    padding-left: 20px;
    margin-top: 5px;
}

header.header.headroom.sticky.headroom--not-bottom.headroom--not-top.header--unpinned {
    margin-top: 13px !important;
}

.mobilemenuhide ul.header_nav-list {
    float: inline-end;
    padding-right: 30px;
}

.mobilefooter {
    visibility: hidden;
}

ul.header_nav-list {
    overflow-y: hidden;
}

.services_list-item .cover {
    border: none !important;
}

ul.services_list > :nth-child(5) .cover {
    border-left: none !important;
}


/* =========================================================
   PAGEHEAD (Single / Interior pages)
   ========================================================= */

.pagehead {
    min-height: 350px !important;
    max-height: 425px;
}

.pagehead span.outline {
    font-size: clamp(2rem, 5vw, 4.375rem);
    line-height: clamp(2.2rem, 5.2vw, 4.625rem);
}

.pagehead .subhead {
    color: #fff !important;
    letter-spacing: 1px !important;
    line-height: clamp(1.2rem, 2.4vw, 2.125rem) !important;
    font-family: 'Oswald' !important;
	font-size:20px;
}


/* =========================================================
   OUTLINED / HEADINGDOUBLE
   ========================================================= */

.outlined {
    color: #000 !important;
}

.outlined--black {
    -webkit-text-stroke: none !important;
    text-stroke: none !important;
}

.headingdouble h2 {
    font-family: 'Oswald';
    font-weight: 100;
    text-transform: uppercase;
    line-height: 1.2em;
    font-size: clamp(1.4rem, 2.6vw, 2.375rem);
}

.headingdouble span.outline {
    -webkit-text-stroke: 2px #000;
    font-size: clamp(2.5rem, 6vw, 5.375rem);
    line-height: 1.25;
    color: transparent;
    font-weight: 900;
    text-transform: uppercase;
    display: block;
}

.headingdouble.white span.outline {
    -webkit-text-stroke: 2px #fff;
}


/* =========================================================
   SERVICES
   ========================================================= */

.services.service-fix.section {
    padding-top: 20px;
    padding-bottom: 80px;
}

ul.services_list {
    grid-gap: 0;
}

ul.services_list > :nth-child(5),
ul.services_list > :nth-child(6),
ul.services_list > :nth-child(7),
ul.services_list > :nth-child(8) {
    margin-top: -3px !important;
}

ul.services_list > :nth-child(6) {
    margin-left: -3px;
    margin-right: -3px;
}

ul.services_list > :nth-child(7) {
    margin-left: 0 !important;
}


/* =========================================================
   GLITCH EFFECT (Home hero element)
   ========================================================= */

.elementor-element-fbd7427 {
    position: relative;
    overflow: hidden;
}

.elementor-element-fbd7427::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    z-index: 5;
    background:
        repeating-linear-gradient(
            to bottom,
            rgba(255, 255, 255, .06) 0px,
            rgba(255, 255, 255, .06) 1px,
            rgba(0, 0, 0, 0) 3px,
            rgba(0, 0, 0, 0) 6px
        ),
        radial-gradient(circle at 20% 30%, rgba(255, 255, 255, .12), rgba(0, 0, 0, 0) 35%),
        linear-gradient(to right, rgba(255, 0, 0, .10), rgba(0, 255, 255, .10));
    mix-blend-mode: overlay;
    filter: contrast(140%) saturate(120%);
}

.elementor-element-fbd7427.glitching::after {
    opacity: 1;
    animation: tvGlitch 280ms steps(2, end) 1;
}

@keyframes tvGlitch {
    0%   { transform: translate(0, 0); filter: hue-rotate(0deg) contrast(140%); }
    20%  { transform: translate(-6px, 2px) skewX(6deg); }
    40%  { transform: translate(8px, -3px) skewX(-8deg); }
    60%  { transform: translate(-4px, 3px) skewY(4deg); }
    80%  { transform: translate(6px, -2px) skewY(-6deg); filter: hue-rotate(25deg) contrast(170%); }
    100% { transform: translate(0, 0); filter: hue-rotate(0deg) contrast(140%); }
}


/* =========================================================
   BUTTONS
   ========================================================= */

.btn--accent,
.elementor .redbtn,
input[type=submit] {
    font-family: "Oswald", Sans-serif !important;
    font-size: clamp(0.9rem, 1.4vw, 1.25rem) !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2px !important;
    padding: 20px 20px !important;
    background: #ED1C25 !important;
    margin-top: 15px !important;
    border: none !important;
    color: #fff !important;
    border-color: #ED1C25 !important;
    border-radius: 0 !important;
    line-height: 10px !important;
}

.btn--accent:hover,
.elementor .redbtn:hover,
input[type=submit]:hover {
    font-family: "Oswald", Sans-serif;
    font-size: clamp(0.9rem, 1.4vw, 1.25rem) !important;
    font-weight: 400 !important;
    text-transform: uppercase;
    letter-spacing: 0.2px !important;
    background: #000 !important;
    border: none !important;
}

a.btn.btn--accent.btn--arrow {
    font-family: 'Oswald' !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
}

.btn--arrow:focus .icon,
.btn--arrow:hover .icon {
    opacity: 0;
}

.featuredbtn a {
    background: #F1FF39 !important;
    color: #000 !important;
    font-size: 18px !important;
    text-transform: uppercase;
    font-weight: 500 !important;
    letter-spacing: 0.5px;
}

.gform-theme--framework .gfield_validation_message:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
    --gf-local-color: #ED1C25;
}

.portfoliogallery .btn--accent {
    margin-top: 0 !important;
}


/* =========================================================
   LISTS / COPY UTILITIES
   ========================================================= */

.unordered li {
    margin-bottom: 10px;
    line-height: 22px;
}

.unordered ul {
    list-style: circle;
    padding-left: 30px;
    padding-top: 10px;
}

.backbullet li {
    list-style: initial;
    font-size: 16px;
    line-height: 16px;
    margin: 10px 0;
}

.backbullet ul {
    padding-left: 20px;
}

.backbullet strong {
    font-weight: 900;
}

.spacinglist li {
    padding: 5px 0;
}

.bullets ul {
    font-size: 18px;
    margin: 20px 0;
    color: #ED1C25;
    font-weight: 700 !important;
    font-family: 'Work Sans';
}

.examples em {
    font-size: 14px !important;
    display: block;
    margin-top: 10px;
}

.highlight h5 {
    background: #F1FF39;
    line-height: 1.6em;
    font-weight: 400;
    font-size: 1.6em;
    font-family: 'Oswald';
    padding: 0;
    display: block;
    width: max-content;
}

span.highlight {
    display: block;
    width: fit-content;
    line-height: 1em !important;
}
.highlight {
    font-weight: 400 !important;
}

/* =========================================================
   CTA
   ========================================================= */

.cta {
    background: transparent !important;
}

.cta_bg {
    display: none !important;
}

.cta .container {
    max-width: none !important;
}


/* =========================================================
   PORTFOLIO / WORK PAGE
   ========================================================= */

a.cfg-link.cfg-link--title {
    font-size: 30px;
    line-height: 30px;
    font-weight: 600;
}

.cfg-cats {
    margin-top: 20px;
}

.cfg-sorticons {
    display: none !important;
}

.cfg-grid {
    gap: 30px !important;
}

.cfg-cta a.btn.btn--accent.btn--arrow,
.cfg-lightbox__btn {
    font-family: 'Oswald' !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    padding: 10px 20px !important;
    line-height: 18px !important;
    max-height: 50px !important;
    background: #ed1c25 !important;
    text-align: center;
    border: none !important;
}

.cfg-lightbox__close {
    font-family: 'Oswald' !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    padding: 10px 20px !important;
    line-height: 18px !important;
    max-height: 50px !important;
    background: #000 !important;
    text-align: center;
    border: none !important;
}

a.cfg-link.cfg-link--media.videoplay:after {
    content: ' ';
    width: 100%;
    height: 275px;
    display: block;
    z-index: 3;
    background: url(https://rcma.rcma.dev/wp-content/uploads/2026/02/videoplayoverlay.png) no-repeat right;
    margin-top: -275px;
    position: relative;
}

.cfg-title-row {
    min-height: 67px;
}

span.cfg-cta {
    min-width: 163px;
}


/* =========================================================
   CASE STUDY PAGES
   ========================================================= */

.caseheadcontain {
    max-width: 1400px !important;
    margin: auto !important;
	max-height: 740px;
}

.caseheadcontain img {
    border-radius: 20px !important;
    margin-bottom: -30px;
}

.caseheadcontain .elementor-widget-image:after {
    content: 'Featured Work';
    font-size: clamp(2rem, 4.8vw, 4.375rem) !important;
    color: #fff;
    margin-top: 0;
    z-index: 2;
    display: block;
    justify-self: right;
    z-index: 4;
    position: relative;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
    width: 100%;
    text-align: right;
    padding-bottom: 45px;
    border-radius: 20px !important;
    padding-right: 50px;
    top: -99px;
}

.caselogo {
    max-width: 300px !important;
}

.capa img {
    height: 200px !important;
    object-fit: fill !important;
}

.capa .elementor-widget-container strong {
    font-size: 22px;
    text-transform: uppercase;
    font-family: 'Oswald';
    background-color: #f1ff38;
    color: #000;
    line-height: 22px;
    display: inline-block;
}

.webslide a.swiper-slide-inner {
    background: linear-gradient(4deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.41) 29%, rgba(0, 0, 0, 0) 47%);
    padding: 25px !important;
}

.casehead {
    justify-content: end;
    display: flex;
    align-items: end;
    height: calc(100vh - 300px);
}

.casehead .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
    padding: 0;
}

.casehead img.attachment-large.size-large {
    background: #fff;
    padding: 30px;
    max-width: 300px;
}

.casehead .elementor-container.elementor-column-gap-default {
    width: 1140px !important;
}

.casehead-logo {
    justify-content: flex-end !important;
    display: flex !important;
}

.casesection {
    padding-bottom: 100px !important;
}

.casesection-title {
    padding: 50px !important;
}

.section_right {
    padding: 140px 0 0 0 !important;
    margin-bottom: 40px;
}

.section_left {
    padding: 40px 20px 0 20px !important;
    margin-bottom: 40px;
}

.section_left .elementor-widget-wrap {
    display: block !important;
}

.section_left_inner {
    position: sticky !important;
    position: -webkit-sticky !important;
    top: 3rem !important;
}

.section_img {
    max-width: 1140px !important;
    padding: 20px 0 !important;
}

.intro {
    padding: 100px 0;
}

.year,
.services,
.visit {
    padding: 50px 0;
}

.overviewcopy {
    background: #121212;
    color: #fff;
    font-size: 0.9rem;
}

.overviewcopy .elementor-widget-wrap {
    max-width: 575px;
    padding-left: 100px !important;
}

.overviewcopy .elementor-widget-text-editor {
    max-width: fit-content;
}

.overviewcopy ul {
    margin: 0;
}

.overviewcopy li {
    list-style: none;
    margin-left: 0;
    margin-top: 0;
}

.overviewcopy strong,
.overview strong {
    color: #f1ff38;
    font-weight: 100;
    text-transform: uppercase;
    font-family: 'Oswald';
    font-size: 30px;
    display: block;
}

.overviewcopy p {
    color: #fff;
    font-size: 1rem;
    line-height: 1.4rem;
}

#hero-and-body #page-body:first-child {
    padding-top: 0;
}

.volvobg {
    aspect-ratio: 1.6;
}

.volvobg iframe.elementor-background-video-embed {
    width: 99% !important;
}

/* Freshing section */
.freshing {
    background: #1A5633;
    padding: 100px 0 !important;
    color: #fff;
    background-position: bottom;
    background-size: contain;
    background-repeat: no-repeat;
}

.freshing .sr-em-bg-image {
    background-attachment: fixed !important;
    background-size: contain !important;
}

.freshing h3,
.freshing p {
    color: #fff;
}

.freshing h3 {
    padding-bottom: 30px !important;
}

.freshing ul {
    margin: 0;
    display: flex;
}

.freshing li {
    list-style: none;
}

.freshingcopy .elementor-widget-wrap {
    width: 75%;
    margin: auto;
}

.freshingcopy .elementor-widget-wrap p {
    line-height: 1.5rem;
    font-size: 1.1rem;
}

/* Swatches / fonts (Case study brand section) */
.row1 {
    display: block;
    margin-bottom: 30px;
}

.row1:after {
    clear: both;
}

.row1,
.row2 {
    margin-bottom: 40px !important;
}

.swatches li {
    height: 80px;
    width: 80px;
    float: left;
    vertical-align: bottom;
    display: flex;
    font-weight: 600;
    padding: 11px;
    font-size: 0.8rem;
}

ul.row1 li {
    border: solid 1px #000;
}

.fonts {
    margin-bottom: 30px;
}

.fonts ol {
    font-family: 'Josefin Sans', sans-serif;
    display: flex;
}

.fonts li {
    list-style: unset;
    font-family: 'Josefin Sans', sans-serif;
    margin-left: -30px;
    width: 50%;
    padding-right: 40px;
}

span.josefinbold {
    font-size: 3rem;
    font-weight: 700;
    word-spacing: -7px;
    display: block;
    line-height: 2rem;
}

span.small {
    display: block;
    font-size: 2rem;
    letter-spacing: 7px;
}

span.smalltext {
    line-height: 1rem;
}

/* Fresh&co fruit images */
#orange {
    margin-top: -158px;
    margin-right: 169px;
}

#lime {
    margin-top: -203px;
}

#cucumber {
    margin-top: -151px;
    margin-left: -130px;
}

img#orange { width: 176px; height: auto; }
img#cucumber { width: 270px; height: auto; }
img#lime { width: 270px; height: auto; }

#fruit1,
#fruit2 {
    display: flex;
    justify-content: flex-end;
}

#fruit3 {
    display: flex;
}

/* Case footer */
.footercase {
    background: #000;
}

.footercase a {
    color: #fff !important;
    border-bottom: none !important;
}

.footercase_left {
    padding: 100px 30px !important;
}

.footercase_left p {
    color: #ccc;
    font-size: 1.8rem;
}

.footercase_right {
    padding: 130px 0 !important;
}

.footercase_right h4 {
    color: #ccc;
    font-size: 2.3rem;
}

.footercase_right h5 {
    color: #fff;
}

/* Sticky layout util */
@supports (position: sticky) {
    .is-sticky {
        position: sticky;
        top: 0;
    }
}

.sticky-wrapper {
    position: relative;
    width: 100%;
    height: 400vh;
}

.sticky-container {
    position: absolute;
    height: 100vh;
    width: 100%;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.demo-content {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: 80vh;
    background: #e3e3e3;
}


/* =========================================================
   AGENCY PAGE
   ========================================================= */

.purpleblock h5 {
    color: #F1FF39;
}

.cantstop {
    margin-top: -15px;
    color: #fff !important;
    font-size: 19px;
}

.cantstop strong {
    font-family: "Oswald", Sans-serif;
    font-size: 50px;
    font-weight: 300;
    text-transform: uppercase;
    color: #fff;
}

.teambio strong {
    font-size: 20px;
    display: block;
    line-height: 1;
}

.teambio em {
    font-size: 15px;
    font-style: normal;
    color: #b4b4b4;
}

.teambio .elementor-widget.elementor-widget-text-editor .elementor-widget-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.teambio ul:first-child li {
    float: none;
    padding: 0;
}

.teambio ul li {
    float: left;
    padding: 0 5px;
}

.teambio .elementor-widget-text-editor {
    margin-top: 20px;
}

.elementor-flip-box,
.elementor-widget.elementor-widget-flip-box {
    height: 400px !important;
}


/* =========================================================
   MARKETING / BRANDING PAGE
   ========================================================= */

.gator {
    height: 60px;
    width: 166px;
    border: solid 13px #fff;
    margin-top: -1px;
}

.referralhead .elementor-heading-title::before {
    content: '';
    width: 24px;
    height: 2px;
    background: #ed1c25 !important;
    display: inline-block;
    flex-shrink: 0;
    font-family: 'Work Sans', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: var(--rc-red);
    letter-spacing: 0;
    text-transform: uppercase;
    vertical-align: middle;
    margin-right: 12px;
}

.homeblock {
    font-size: 18px !important;
}

.numbered h4 {
    color: #EBEBEA;
    font-size: clamp(3rem, 8vw, 7.1875rem);
    display: block;
    width: 100%;
    margin-bottom: 18px;
    font-weight: 700;
    font-family: 'Work Sans';
}

.numbered h5 {
    font-weight: 900;
    font-size: 28px;
    display: block;
    margin-bottom: 10px !important;
    line-height: 30px;
}

.elementor-accordion .elementor-tab-title {
    padding: 20px !important;
    font-size: 22px !important;
    font-weight: 400 !important;
}

.elementor-accordion-item p {
    font-size: 18px !important;
    margin-bottom: 16px !important;
}

img.svgicon {
    max-width: 75px !important;
    margin: 0 20px 30px 0 !important;
}

.mockupdescr p {
    font-size: 14px;
}

.mockuptitle h2 {
    line-height: 30px !important;
    margin-bottom: 10px !important;
}

.parent-pageid-6139 {
    background: #1f1f1f;
}

.mockupheader {
    width: calc(100% - 200px) !important;
    margin: auto !important;
    padding: 20px 0;
    margin-top: 0 !important;
    background: #fff;
}

.mockups .eael-advance-tabs .eael-tabs-content > div.active {
    padding: 20px 0 0 0 !important;
}

.eael-tabs-nav {
    margin-bottom: 30px;
}

.mockups a,
.mockups p {
    color: #fff !important;
}

.mockups .eael-tabs-content {
    margin: 40px 0 200px;
}

.mockups {
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.featuredbtn p {
    background: #F1FF39;
    color: #000 !important;
    font-size: 18px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    letter-spacing: 0.5px;
    font-family: 'Oswald';
    text-align: center;
    display: inline-block;
    width: fit-content;
    text-wrap-mode: nowrap;
    padding: 3px;
	font-family: 'Oswald' !important;
}

.featuredbtn .elementor-widget-container {
    width: fit-content;
}


/* =========================================================
   SINGLE POST
   ========================================================= */

.single-post h3 {
    font-weight: 400;
    margin-top: 20px;
}

.single-post hr {
    margin: 30px 0;
}

.single-post h1.title {
    font-size: clamp(2rem, 4.5vw, 4.0625rem) !important;
    line-height: 1 !important;
    margin-bottom: 20px;
}

h2.post_content-article_title {
    margin: 20px 0 0;
}

span.elementor-post-avatar {
    display: none;
}

.elementor-post-navigation-borders-yes {
    margin-bottom: 20px;
    font-size: 26px;
}

.elementor-widget-text-editor a {
    text-decoration: underline;
}

.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}

.post_tax {
    display: none;
}

section.post_content-reply {
    display: none;
}

.recent .banner.section {
    display: none;
}

ul.breadcrumbs {
    max-width: 1450px;
    padding: 0 50px;
}

.meta_item:last-child {
    display: none;
}

.plan li {
    margin-bottom: 4px;
}

.plan strong {
    font-weight: 700;
}

.postid-10447 ul.main_meta.meta,
.postid-10447 h2.post_content-article_title {
    display: none;
}

.sidebar .elementor-post__text {
    background: #fff;
    padding: 15px;
    height: max-content;
    margin: auto 0 auto -60px;
    z-index: 2;
}


/* =========================================================
   SUPPORT TICKET
   ========================================================= */

button#jsticket_message-html,
button#jsticket_message-tmce {
    line-height: 14px;
    font-size: 14px;
    font-weight: 500;
    margin: 0 15px 15px 0;
}

div.jsst-main-up-wrapper {
    width: 98% !important;
    max-width: 1300px !important;
    margin: 150px auto !important;
}

a.js-cp-menu-link {
    background: #BD1E23 !important;
}

div.js-ticket-form-btn-wrp input.js-ticket-save-button,
div.js-ticket-form-btn-wrp a.js-ticket-cancel-button {
    border: none;
    padding: 20px !important;
    line-height: 2rem;
    font-size: 1.3rem;
    font-weight: 500;
    display: inline-block;
    height: auto;
    color: #ffffff !important;
}

div.js-ticket-form-btn-wrp input.js-ticket-save-button {
    background-color: #ec1f23 !important;
}

div.js-ticket-form-btn-wrp a.js-ticket-cancel-button {
    background-color: #2b2b2b;
}

div.js-ticket-form-btn-wrp input.js-ticket-save-button:hover {
    background: #BD1E23;
    border: none;
    border-color: transparent !important;
}

div.js-ticket-form-btn-wrp a.js-ticket-cancel-button:hover {
    background: #000;
    border: none;
    border-color: transparent !important;
}

div#jsst-header {
    background-color: #efefef !important;
}


/* =========================================================
   LOGIN FORM
   ========================================================= */

form#loginform-custom p.login-submit input#wp-submit {
    background: #000 !important;
    padding: 20px 40px !important;
    text-transform: uppercase;
    line-height: 0;
}

form#loginform-custom p.login-remember label {
    font-weight: unset;
    margin-bottom: 7px;
    text-transform: capitalize;
}


/* =========================================================
   WEB MOCKUP SECTION
   ========================================================= */

.webmockupcopy p,
.webmockupcopy h1 {
    color: #fff;
}

.webmockupimg .elementor-widget-wrap.elementor-element-populated {
    padding: 0;
}

.webmockupcopy {
    padding: 60px;
}

.webmockup img {
    height: auto;
    max-width: 550px;
    display: block !important;
}

.webmockupimg .elementor-element-populated {
    padding: 0 !important;
}

.webmockupcopy .elementor-element {
    justify-content: flex-end;
    display: flex;
}

.webmockupcopy .elementor-widget-container {
    padding-bottom: 100px;
    max-width: 311px;
}


/* =========================================================
   PROCESS STEPS
   ========================================================= */

.steps p strong {
    font-size: 12px !important;
    line-height: 16px;
    display: block;
    font-weight: 400;
    color: #828282;
    margin-top: 15px;
}

.steps img {
    margin-bottom: 10px;
    height: 85px !important;
    width: auto !important;
    opacity: 0.3;
}


/* =========================================================
   MISC / ELEMENTOR OVERRIDES
   ========================================================= */

button.cfg-tab.is-active {
    background: #000;
    color: #fff;
    font-family: 'Work Sans';
}

img.elementor-lightbox-image.elementor-lightbox-prevent-close.swiper-lazy.swiper-lazy-loaded {
    width: fit-content;
}

.icon-linkedin img {
    height: 23px;
    width: auto;
    margin-top: 22px;
}

.elementor-element.elementor-element-48d2cb9 .elementor-background-video-container {
    overflow: hidden;
}

.elementor-element.elementor-element-48d2cb9 .elementor-background-video-container video {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 115% !important;
    height: 115% !important;
    transform: translate(-50%, -50%) !important;
    object-fit: cover;
}

#elementor-tab-content-1321 a {
    background: #F0222A !important;
    padding: 10px 50px;
    color: #fff;
    margin-top: 30px !important;
    display: inline-block;
    font-weight: 600;
}

h3.gsection_title {
    margin-top: 30px !important;
    font-size: 24px !important;
}

.page-id-6338 .gform_heading {
    display: none;
}

.page-id-6338 h3 {
    font-size: 24px !important;
    font-weight: 500 !important;
}

.page-id-6338 .gform_wrapper.gravity-theme .gfield textarea,
.page-id-6338 .gform_wrapper.gravity-theme .gfield input,
.page-id-6338 .gform_wrapper.gravity-theme .gfield input.medium,
.page-id-6338 .gform_wrapper.gravity-theme .gfield select.medium {
    background: #f5f5f5;
    width: 100%;
}

.page-id-6338 input[type="checkbox"],
.page-id-6338 input[type="radio"] {
    width: inherit !important;
}

.whyus {
    overflow: hidden !important;
}

.elementor-element.elementor-element-1fa3b32.e-con-full.whyleftcontain.e-flex.e-con.e-child {
    padding: 0;
}

.elementor-element.elementor-element-30a8ab1.e-con-full.whyleft.e-flex.e-con.e-child {
    padding: 120px 20px 120px !important
}

[class^="icon-"],
[class*=" icon-"] {
    font-size: 25px;
}

.elementor-112 .elementor-element.elementor-element-f053c7e {
    aspect-ratio: 1 / 1;
}

.gform-theme--framework input[type=radio]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
    --gf-local-radius: 0 !important;
}

.edit-attachment-frame .attachment-media-view .details-image {
    max-width: fit-content !important;
}


/* =========================================================
   RCMA CALCULATOR
   ========================================================= */

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

#rcma-calc {
    --rc-red: #E8192C;
    --rc-red-dark: #B50F1E;
    --rc-bg: #F5F5F5;
    --rc-bg-white: #FFFFFF;
    --rc-mid: #EBEBEB;
    --rc-border: #D8D8D8;
    --rc-muted: #888;
    --rc-text: #111111;
    font-family: 'Work Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: var(--rc-text);
    width: 100%;
}

#rcma-calc .rc-card {
    width: 100%;
    background: var(--rc-bg);
    border: 1px solid var(--rc-border);
    padding: 2.5rem 2.5rem 2rem;
    animation: rc-rise 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes rc-rise {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

#rcma-calc .rc-eyebrow {
    font-family: 'Work Sans', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: var(--rc-red);
    letter-spacing: 0;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

#rcma-calc .rc-eyebrow::before {
    content: '';
    width: 24px;
    height: 2px;
    background: var(--rc-red);
    display: inline-block;
    flex-shrink: 0;
}

#rcma-calc .rc-h1 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(2.4rem, 7vw, 3.6rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
    color: var(--rc-text);
}

#rcma-calc .rc-earn-highlight {
    background-color: #F1FF39;
    color: var(--rc-text);
    font-weight: 400;
    display: inline-block;
}

#rcma-calc .rc-subtitle {
    font-size: 16px;
    color: var(--rc-muted);
    margin-bottom: 2rem;
    font-weight: 400;
    line-height: 1.5;
}

#rcma-calc .rc-divider {
    height: 1px;
    background: var(--rc-border);
    margin-bottom: 2rem;
}

#rcma-calc .rc-slider-section {
    margin-bottom: 1.75rem;
}

#rcma-calc .rc-slider-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.9rem;
}

#rcma-calc .rc-slider-label {
    font-family: 'Work Sans', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: var(--rc-muted);
    letter-spacing: 0;
    text-transform: uppercase;
}

#rcma-calc .rc-slider-value {
    font-family: 'Oswald', sans-serif;
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--rc-text);
    letter-spacing: 0;
}

#rcma-calc input[type=range] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 3px;
    background: var(--rc-border);
    border-radius: 0;
    outline: none;
    cursor: pointer;
}

#rcma-calc input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    background: var(--rc-red);
    border-radius: 0;
    cursor: pointer;
    transition: transform 0.15s, background 0.15s;
}

#rcma-calc input[type=range]::-webkit-slider-thumb:hover {
    transform: scale(1.3);
    background: var(--rc-red-dark);
}

#rcma-calc input[type=range]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    background: var(--rc-red);
    border: none;
    border-radius: 0;
    cursor: pointer;
}

#rcma-calc .rc-range-limits {
    display: flex;
    justify-content: space-between;
    margin-top: 0.5rem;
}

#rcma-calc .rc-range-limit {
    font-family: 'Work Sans', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0;
}

#rcma-calc .rc-refs-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 0 0 2rem;
    border: 1px solid var(--rc-border);
    padding: 1rem 1.25rem;
    background: var(--rc-bg-white);
}

#rcma-calc .rc-refs-label {
    font-family: 'Work Sans', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: var(--rc-muted);
    letter-spacing: 0;
    text-transform: uppercase;
    flex: 1;
}

#rcma-calc .rc-refs-controls {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

#rcma-calc .rc-btn {
    width: 32px;
    height: 32px;
    border: none;
    color: #FFFFFF;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    font-family: 'Work Sans', sans-serif;
    transition: opacity 0.15s;
    line-height: 1;
}

#rcma-calc .rc-btn:hover { opacity: 0.85; }
#rcma-calc .rc-btn--minus { background: #cc02a0; }
#rcma-calc .rc-btn--plus  { background: #4e197c; }

#rcma-calc .rc-refs-count {
    font-family: 'Oswald', sans-serif;
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--rc-text);
    min-width: 2ch;
    text-align: center;
    letter-spacing: 0;
}

#rcma-calc .rc-results {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: var(--rc-border);
    border: 1px solid var(--rc-border);
    margin-bottom: 1.5rem;
}

#rcma-calc .rc-cell {
    background: var(--rc-bg-white);
    padding: 1.25rem 1.5rem;
    transition: background 0.2s;
}

#rcma-calc .rc-cell:hover { background: var(--rc-mid); }

#rcma-calc .rc-cell--accent {
    background: var(--rc-red);
    grid-column: 1 / -1;
}

#rcma-calc .rc-cell--accent:hover { background: var(--rc-red-dark); }

#rcma-calc .rc-cell-label {
    font-family: 'Work Sans', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: var(--rc-muted);
    letter-spacing: 0;
    text-transform: uppercase;
    margin-bottom: 0.35rem;
    display: block;
}

#rcma-calc .rc-cell--accent .rc-cell-label { color: #FFFFFF; }

#rcma-calc .rc-cell-value {
    font-family: 'Oswald', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0;
    color: var(--rc-text);
    display: block;
    line-height: 1;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

#rcma-calc .rc-cell--accent .rc-cell-value {
    font-size: 2.6rem;
    color: #FFFFFF;
}

#rcma-calc .rc-cell-sub {
    font-size: 1rem;
    font-family: 'Work Sans', sans-serif;
    color: var(--rc-muted);
    margin-top: 0.3rem;
    display: block;
    font-weight: 400;
}

#rcma-calc .rc-cell--accent .rc-cell-sub { color: #FFFFFF; }

@keyframes rc-bump {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.06); }
    100% { transform: scale(1); }
}

#rcma-calc .rc-bumping { animation: rc-bump 0.28s ease; }

#rcma-calc .rc-progress-wrap { margin-bottom: 2rem; }

#rcma-calc .rc-progress-label-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

#rcma-calc .rc-progress-label {
    font-family: 'Work Sans', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: var(--rc-muted);
    letter-spacing: 0;
    text-transform: uppercase;
}

#rcma-calc .rc-progress-bg {
    height: 4px;
    background: var(--rc-border);
    width: 100%;
    position: relative;
}

#rcma-calc .rc-progress-fill {
    height: 100%;
    background: var(--rc-red);
    transition: width 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: absolute;
    top: 0;
    left: 0;
}

#rcma-calc .rc-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 1.25rem;
    border-top: 1px solid var(--rc-border);
}

#rcma-calc .rc-footer-note {
    font-family: 'Work Sans', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: #BBBBBB;
    letter-spacing: 0;
    text-align: right;
    text-transform: uppercase;
}


/* =========================================================
   AI ANNOUNCEMENT BANNER
   ========================================================= */

div#ai-banner {
    background: #000 !important;
}

#ai-banner {
    background: #000;
    width: 100%;
    max-height: 50px;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
    opacity: 1;
    position: relative;
    z-index: 9999;
    box-sizing: border-box;
}

#ai-banner.hidden {
    max-height: 0;
    opacity: 0;
}

#ai-banner .banner-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-sizing: border-box;
}

#ai-banner .banner-text {
    font-family: 'Work Sans', sans-serif;
    font-size: 14px;
    color: #fff;
    text-align: center;
    line-height: 1;
    margin: 0;
    padding: 0;
}

#ai-banner .banner-text strong {
    font-weight: 700;
    color: #fff;
}

#ai-banner .banner-text a {
    color: #F1FF39;
    text-decoration: auto;
    text-underline-offset: 2px;
    font-weight: 500;
    transition: opacity 0.2s;
}

#ai-banner .banner-text a:hover {
    text-decoration: underline;
}

#ai-banner .banner-close {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    padding: 4px;
    margin: 0;
    opacity: 0.7;
    transition: opacity 0.2s, transform 0.2s;
    font-family: 'Work Sans', sans-serif;
    box-shadow: none;
    outline: none;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

#ai-banner .banner-close:hover {
    opacity: 1;
    transform: translateY(-50%) scale(1.2);
    background: none;
    color: #fff;
}


.cta-footer {
	
}



  .rh-hero {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-image: url('https://rcma.rcma.dev/wp-content/uploads/2026/03/hero234.jpg');
    background-size: contain;
    background-position: center bottom;
    background-repeat: no-repeat;
    overflow: visible;
  }

  .rh-box {
    position: absolute;
    top: 0;
    left: max(0px, calc((100% - 1348px) / 2));
    width: min(1348px, 100%);
    background: rgba(0, 0, 0, 0.58);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: flex;
    flex-direction: row;
    align-items: stretch;
    animation: rhSlide 11s ease-in-out infinite;
    will-change: transform;
  }

  .rh-headline {
    flex: 0 0 50%;
    padding: 30px 20px;
    display: flex;
    align-items: center;
    border-right: 1px solid rgba(255,255,255,0.12);
  }

  .rh-headline h2 {
    font-family: 'Oswald', sans-serif;
    font-weight: 900;
    font-size: clamp(36px, calc((min(50vw, 674px) - 128px) / 6), 107px);
    line-height: 1;
    color: #fff;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    white-space: nowrap;
    margin: 0;
    margin-bottom: 0 !important;
  }

  .rh-copy {
    flex: 0 0 50%;
    padding: 20px 30px;
    display: flex;
    align-items: center;
  }

  .rh-copy p {
    font-family: 'Work Sans', sans-serif;
    font-weight: 300;
    font-size: 20px;
    line-height: 1.65;
    color: #fff;
    margin: 0;
  }






/* Colors are reversed in the gradient so the wipe travels left → right */
.discovery-btn {
  background: linear-gradient(to right,
    #BF2E91 0% 20%,
    #4E2A7A 20% 40%,
    #1E99D6 40% 60%,
    #F1633D 60% 80%,
    #EA2129 80% 100%
  );
  background-size: 500% 100%;
  animation: btnWipe linear both;
  animation-timeline: scroll(root);
    font-family: "Oswald", Sans-serif !important;
    font-size: clamp(0.9rem, 1.4vw, 1.25rem) !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2px !important;
    padding: 20px 20px !important;
    margin-top: 15px !important;
    border: none !important;
    color: #fff !important;
    border-radius: 0 !important;
    line-height: 10px !important;
}

@keyframes btnWipe {
  from { background-position: 100% 0; }
  to   { background-position: 0% 0; }
}

/* Fallback: auto-cycles for older browsers */
@supports not (animation-timeline: scroll()) {
  .discovery-btn {
    animation: btnWipeFallback 10s linear infinite;
  }
}

@keyframes btnWipeFallback {
  0%     { background-position: 100% 0; }
  85%    { background-position: 0% 0; }
  85.1%  { background-position: 100% 0; }
  100%   { background-position: 100% 0; }
}


.whyus .ticker-group .ticker-text:last-child:after {
    content: "";
    margin-left: 0;
    content: "\e903";
    font-family: icomoon;
    font-size: 24px;
    position: relative;
    right: -10px;
    margin-left: 32px;
    margin-right: 64px;
}
.ticker-text {
    font-size: clamp(1.4rem, 2.2vw, 2.3rem) !important;
    font-family: 'Oswald';
    text-transform: uppercase;
    font-weight: 400 !important;
}

.ticker-band {
    padding: 0 !important;
}














