/* RewardingViews 2026 - layout and components matching the original design. */
:root {
	--rv-green: #61bc47; --rv-purple: #5a4099; --rv-orange: #fcb034; --rv-pink: #e64097;
	--rv-teal: #4aaba2; --rv-mint: #1bbc9b; --rv-grey: #a1b1bc; --rv-footer: #5a4099;
	--rv-container: 1170px; --rv-header-h: 90px;
}
html { scroll-behavior: smooth; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.rv-main { margin: 0; }
.rv-main > .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
p { margin: 0 0 15px; }
img { max-width: 100%; height: auto; }

/* ---------- Header ---------- */
.rv-site-header { position: sticky; top: 0; z-index: 1000; background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.06); }
body.admin-bar .rv-site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .rv-site-header { top: 0; } }
.rv-header { background: #fff; }
.rv-header__inner { max-width: var(--rv-container); margin: 0 auto; height: var(--rv-header-h); align-items: center; }
.rv-logo, .rv-logo a { display: block; line-height: 0; }
.rv-logo img { width: 250px; height: auto; }
.rv-nav { font-family: Lato, Arial, sans-serif; font-size: 15px; }
.rv-nav .wp-block-navigation__container { gap: 0; align-items: center; }
.rv-nav .wp-block-navigation-item__content { color: var(--rv-green); font-size: 15px; line-height: 25px; font-weight: 400; text-transform: uppercase; padding: 32px 23px 33px; display: block; transition: color .2s; }
.rv-nav .wp-block-navigation-item__content:hover, .rv-nav .current-menu-item > .wp-block-navigation-item__content, .rv-nav [aria-current="page"] { color: var(--rv-purple); }
.rv-nav .wp-block-navigation-item.has-child > .wp-block-navigation-item__content { padding-right: 6px; }
.rv-nav .wp-block-navigation__submenu-icon { color: var(--rv-green); margin-right: 23px; width: 10px; height: 10px; }
.rv-nav .wp-block-navigation__submenu-container { background: #fff !important; border: 0 !important; border-top: 2px solid var(--rv-green) !important; box-shadow: 0 4px 12px rgba(0,0,0,.08); min-width: 200px !important; padding: 8px 0; }
.rv-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 20px; font-size: 14px; text-transform: none; color: var(--rv-grey); }
.rv-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--rv-green); }
.rv-nav .rv-nav-btn > .wp-block-navigation-item__content { background: var(--rv-teal); color: #fff !important; font-weight: 700; border-radius: 5px; padding: 8px 14px; margin: 0 4px; line-height: 25px; }
.rv-nav .rv-nav-btn > .wp-block-navigation-item__content:hover { background: var(--rv-green); }
.rv-nav .wp-block-navigation__responsive-container-open, .rv-nav .wp-block-navigation__responsive-container-close { color: var(--rv-green); }
@media (max-width: 1199px) {
	.rv-nav .wp-block-navigation-item__content { padding: 32px 12px 33px; font-size: 14px; }
}
@media (max-width: 599px) {
	:root { --rv-header-h: 70px; }
	.rv-logo img { width: 180px; }
	.rv-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: 10px 0; font-size: 18px; }
	.rv-nav .wp-block-navigation__responsive-container.is-menu-open .rv-nav-btn > .wp-block-navigation-item__content { padding: 8px 18px; margin: 6px 0; }
}

/* ---------- Typography helpers ---------- */
.rv-title { color: var(--rv-green); font-size: 42px; line-height: 44px; font-weight: 300; text-align: center; text-transform: uppercase; margin: 0; }
.rv-title strong { font-weight: 700; }
.rv-line, hr.rv-line { width: 60px !important; max-width: 60px; height: 1px; border: 0 !important; margin: 30px auto !important; background: linear-gradient(to right, var(--rv-green) 0 50%, var(--rv-orange) 50% 100%); opacity: 1; }
.rv-line.is-style-purple, .rv-line--purple { background: linear-gradient(to right, var(--rv-purple) 0 50%, var(--rv-orange) 50% 100%); }

/* ---------- Buttons ---------- */
.wp-block-button__link { min-width: 120px; text-align: center; text-transform: uppercase; transition: background-color .2s; }
.wp-block-button__link:hover { background-color: var(--rv-green) !important; color: #fff !important; }
.rv-btn-hero .wp-block-button__link { background: rgba(97,188,71,.7); font-family: Roboto, Arial, sans-serif; font-size: 20px; font-weight: 500; line-height: 25px; padding: 19px 40px; min-width: 182px; }
.rv-btn-hero .wp-block-button__link:hover { background: var(--rv-purple) !important; }

/* ---------- Sections ---------- */
.rv-section { padding: 100px 15px 0; }
.rv-section--intro { padding-top: 140px; padding-bottom: 130px; }
.rv-hero { min-height: calc(100vh - var(--rv-header-h)) !important; }
body.admin-bar .rv-hero { min-height: calc(100vh - var(--rv-header-h) - 32px) !important; }
.rv-hero .wp-block-cover__inner-container { text-align: center; }
.rv-hero__logo img { width: 145px; height: auto; }
.rv-hero__title { font-family: Roboto, Arial, sans-serif; font-size: 64px; line-height: 65px; font-weight: 500; text-transform: uppercase; margin: 40px 0 50px; }
.rv-hero__title .rv-c-green { color: var(--rv-green); }
.rv-hero__title .rv-c-purple { color: var(--rv-purple); }

.rv-iconboxes { gap: 30px; margin-top: 50px !important; margin-bottom: 20px !important; }
.rv-iconbox { text-align: center; }
.rv-circle { width: 150px; height: 150px; border: 3px solid currentColor; border-radius: 50%; margin: 0 auto 30px; display: flex; align-items: center; justify-content: center; font-size: 40px; line-height: 1; }
.rv-iconbox h3 { font-size: 18px; line-height: 19px; font-weight: 700; margin: 0 0 15px; text-transform: uppercase; }
.rv-iconbox p { color: #000; font-size: 14px; line-height: 24px; max-width: 271px; margin: 0 auto; }

.rv-band { background: var(--rv-green); padding: 70px 15px 60px; box-shadow: inset 0 10px 12px -8px rgba(0,0,0,.35); }
.rv-band h1, .rv-band .rv-band__title { color: #fff; font-size: 40px; line-height: 40px; font-weight: 300; text-align: center; margin: 0 0 40px; }
.rv-band h1 strong { font-weight: 700; }
.rv-band p { color: #fff; font-size: 20px; line-height: 33px; text-align: center; max-width: 1053px; margin-left: auto; margin-right: auto; }
.rv-band .wp-block-buttons { margin-top: 30px; }

.rv-steps { gap: 30px; margin-top: 25px !important; margin-bottom: 20px !important; }
.rv-step { text-align: center; }
.rv-hex { width: 84px; height: 96px; margin: 0 auto 25px; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 30px; }
.rv-step h3 { font-size: 15px; line-height: 19px; font-weight: 700; margin: 0; text-transform: uppercase; }

/* Rewards carousel: add or remove images in the editor; the script handles sliding. */
.rv-carousel-wrap { position: relative; max-width: var(--rv-container); margin: 30px auto 0; }
.rv-carousel { display: flex !important; flex-wrap: nowrap !important; gap: 0 !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.rv-carousel::-webkit-scrollbar { display: none; }
.rv-carousel > .wp-block-image, .rv-carousel > figure { flex: 0 0 33.3333%; margin: 0 !important; padding: 0 22px; box-sizing: border-box; scroll-snap-align: start; }
.rv-carousel img { width: 100%; height: auto; display: block; }
.rv-carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border: 0; background: rgba(0,0,0,.35); color: #fff; font-size: 22px; cursor: pointer; border-radius: 50%; z-index: 2; }
.rv-carousel-btn:hover { background: var(--rv-green); }
.rv-carousel-btn--prev { left: -40px; } .rv-carousel-btn--next { right: -40px; }
.rv-carousel-dots { display: none; text-align: center; margin-top: 15px; }
.rv-carousel-dots button { width: 10px; height: 10px; border-radius: 50%; border: 0; margin: 0 4px; background: #ccc; padding: 0; cursor: pointer; }
.rv-carousel-dots button.is-active { background: var(--rv-green); }
@media (max-width: 1279px) { .rv-carousel-btn--prev { left: 0; } .rv-carousel-btn--next { right: 0; } }
@media (max-width: 1023px) { .rv-carousel-dots { display: block; } }
@media (max-width: 599px) { .rv-carousel > .wp-block-image, .rv-carousel > figure { flex-basis: 100%; } }

.rv-video { max-width: var(--rv-container); margin: 30px auto 0 !important; }

.rv-contact { padding: 50px 15px 40px; }
.rv-contact__intro { color: var(--rv-grey); font-size: 20px; line-height: 35px; text-align: center; margin: 40px 0 50px; }
.rv-contact .wpcf7 { max-width: var(--rv-container); margin: 0 auto; }
.rv-contact .wpcf7 p { margin: 0 0 20px; }
.rv-contact .wpcf7 input[type="text"], .rv-contact .wpcf7 input[type="email"], .rv-contact .wpcf7 input[type="tel"], .rv-contact .wpcf7 textarea { width: 100%; box-sizing: border-box; height: 43px; border: 1px solid #ecf0f1; background: #fff; color: var(--rv-grey); font: 14px/20px Lato, Arial, sans-serif; padding: 10px 20px 11px; border-radius: 0; outline: none; }
.rv-contact .wpcf7 textarea { height: 179px; resize: vertical; }
.rv-contact .wpcf7 input[type="text"]:focus, .rv-contact .wpcf7 input[type="email"]:focus, .rv-contact .wpcf7 textarea:focus { border-color: var(--rv-green); }
.rv-contact .wpcf7 input[type="submit"] { background: var(--rv-mint); color: #fff; border: 0; width: 120px; height: 40px; font: 900 15px/20px Lato, Arial, sans-serif; text-transform: uppercase; border-radius: 2px; cursor: pointer; }
.rv-contact .wpcf7 input[type="submit"]:hover { background: var(--rv-purple); }
.rv-social { max-width: var(--rv-container); margin: 0 auto !important; }
.rv-social .wp-block-column { text-align: center; }
.rv-social a { display: inline-flex; width: 100px; height: 100px; border-radius: 50%; background: #5b3c95; color: #fff; align-items: center; justify-content: center; font-size: 24px; transition: background .2s; }
.rv-social a:hover { background: var(--rv-green); }

/* ---------- Footer ---------- */
.rv-footer { background: var(--rv-footer); min-height: 93px; display: flex; align-items: center; }
.rv-footer__text { max-width: var(--rv-container); width: 100%; margin: 0 auto !important; color: #fff; font-size: 14px; line-height: 20px; }
.rv-footer__text a { color: #fff; }
.rv-footer__text a:hover { color: var(--rv-orange); }
.rv-totop { position: fixed; right: 20px; bottom: 20px; width: 30px; height: 30px; background: #1a1c27; color: #fff !important; display: flex; align-items: center; justify-content: center; font-size: 16px; opacity: 0; visibility: hidden; transition: opacity .3s; z-index: 999; }
.rv-totop.is-visible { opacity: .8; visibility: visible; }

/* ---------- Generic page content (landing pages) ---------- */
.rv-main .wp-block-post-content > .wp-block-group:not(.alignfull) { padding-left: 15px; padding-right: 15px; }

/* ---------- Responsive ---------- */
@media (max-width: 781px) {
	.rv-section { padding-top: 60px; }
	.rv-section--intro { padding-top: 70px; padding-bottom: 70px; }
	.rv-title { font-size: 32px; line-height: 36px; }
	.rv-hero__title { font-size: 40px; line-height: 44px; }
	.rv-band h1 { font-size: 32px; line-height: 36px; }
	.rv-band p { font-size: 17px; line-height: 28px; }
	.rv-iconboxes, .rv-steps { gap: 40px; }
	.rv-social a { width: 70px; height: 70px; }
	.rv-footer__text { text-align: center !important; padding: 20px 15px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .rv-carousel { scroll-behavior: auto; } }

/* ---------- Fixes after first comparison (2 Oct 2026) ---------- */
.rv-nav.wp-block-navigation { color: var(--rv-green); }
.rv-nav .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--rv-green); }
.rv-nav .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
.rv-nav .current-menu-item > .wp-block-navigation-item__content.wp-block-navigation-item__content,
.rv-nav .wp-block-navigation-item__content.wp-block-navigation-item__content[aria-current="page"] { color: var(--rv-purple); }
.rv-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--rv-grey); }
.rv-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content:hover { color: var(--rv-green); }
.rv-nav .rv-nav-btn > .wp-block-navigation-item__content.wp-block-navigation-item__content { color: #fff; }
.rv-band p { margin: 0 auto 20px; max-width: 1090px; }
.rv-hero { background: #fff url('/wp-content/uploads/2017/01/rewardingviews-video-still3.jpg') center / cover no-repeat; }
.rv-section--how .wp-block-buttons { margin-top: 30px; }
.rv-section--how { padding-bottom: 20px; }

/* ---------- Fix round 2: hover + hexagons matched to live (2 Oct 2026) ---------- */
.rv-circle { box-sizing: border-box; position: relative; margin: 0 auto; transition: all .2s linear; }
.rv-circle i { position: relative; z-index: 1; transition: color .2s linear; }
.rv-circle::after { content: ""; position: absolute; top: 50%; left: 50%; width: 110px; height: 110px; margin: -58px 0 0 -58px; border: 3px solid transparent; border-radius: 50%; transition: border-color .2s linear; }
.rv-iconbox:hover .rv-circle { background: currentColor; border: 5px solid rgba(255,255,255,.3); }
.rv-iconbox:hover .rv-circle i { color: #fff; }
.rv-iconbox:hover .rv-circle::after { border-color: rgba(0,0,0,.3); }
.rv-iconbox h3 { margin: 27px 0 9px; }

.rv-hex { position: relative; width: 130px; height: 70px; margin: 35px auto 38px; border-radius: 10px; color: #fff; clip-path: none; display: block; text-align: center; background: linear-gradient(135deg, var(--c1, #61bc47) 0%, var(--c2, #5a4099) 100%); }
.rv-hex::before, .rv-hex::after { content: ""; position: absolute; z-index: 0; top: -25px; left: 31px; width: 68px; height: 68px; transform: scaleX(1.7) rotate(45deg); border-radius: 10px 24px; background: linear-gradient(45deg, var(--c1, #61bc47) 0%, var(--c2, #5a4099) 100%); }
.rv-hex::before { top: 29px; }
.rv-hex__inner { position: relative; z-index: 3; display: block; width: 120px; height: 65px; line-height: 70px; margin: 0 auto; font-size: 40px; }
.rv-hex__inner i { position: relative; z-index: 3; display: inline-block; font-size: 40px; color: #fff; }
.rv-step h3 { font-size: 18px; line-height: 22px; font-weight: 900; letter-spacing: 1.5px; padding-top: 27px; margin: 0 0 29px; }
.rv-steps { margin-top: 60px !important; }

/* ---------- Inner pages: banner + step rows (How It Works etc.) ---------- */
.rv-page-banner.wp-block-cover { padding: 175px 15px 117px; min-height: 436px; }
.rv-boxed-title { display: block; max-width: 770px; margin: 0 auto !important; border: 2px solid var(--rv-purple); padding: 20px; color: var(--rv-purple); font-size: 62px; line-height: 64px; font-weight: 400; text-transform: uppercase; }
.rv-step-row { background: #fff; padding: 0; }
.rv-step-row > .wp-block-columns { gap: 0 !important; margin: 0 !important; }
.rv-step-row--purple { background: #5b3c95; }
.rv-step-box { margin: 5%; padding: 5%; border: 6px double rgba(0,0,0,.1); background: #fff; }
.rv-step-row--purple .rv-step-box { border-color: rgba(255,255,255,.1); background: #5b3c95; }
.rv-step-box p { color: var(--rv-grey); font-size: 22px; line-height: 22px; margin: 0 0 22px; }
.rv-step-box p:last-child { margin-bottom: 0; }
.rv-step-box .rv-step-title { font-size: 33px; line-height: 33px; margin: 0 0 35px; }
.rv-step-media .wp-block-image { margin: 0 auto; }
.rv-step-media img { width: 500px; max-width: 100%; height: auto; display: block; margin: 0 auto; }
@media (max-width: 781px) {
	.rv-page-banner.wp-block-cover { padding: 90px 15px 70px; min-height: 0; }
	.rv-boxed-title { font-size: 36px; line-height: 40px; }
	.rv-step-box .rv-step-title { font-size: 26px; line-height: 30px; margin-bottom: 20px; }
	.rv-step-box p { font-size: 18px; line-height: 26px; }
	.rv-step-row--purple > .wp-block-columns { flex-direction: column-reverse; }
}

/* ---------- Inner pages round 2: rewards, prize draws, client services ---------- */
.rv-page-banner--auto.wp-block-cover { min-height: 0; }
.rv-boxed-title--md { font-size: 52px; line-height: 54px; }
.rv-boxed-title--sm { font-size: 36px; line-height: 38px; }
.rv-page-banner .wp-block-buttons { margin-top: 30px; }
.rv-btn-purple .wp-block-button__link { background: var(--rv-purple); border-radius: 5px; font-size: 14px; font-weight: 700; padding: 12px 26px; }
.rv-btn-purple .wp-block-button__link:hover { background: rgba(90,64,153,.8) !important; }
.rv-lead { max-width: var(--rv-container); margin: 0 auto !important; padding: 25px 58.5px; box-sizing: border-box; }
.rv-lead p { font-size: 33px; line-height: 33px; color: var(--rv-grey); text-align: center; margin: 0 0 24px; }
.rv-lead p:last-child { margin-bottom: 0; }
.rv-tiles-row { padding: 50px 0 0; }
.rv-tiles-row > .wp-block-columns { gap: 0 !important; margin: 0 !important; }
.rv-tile { text-align: center; padding: 0 20px 50px; min-height: 350px; box-sizing: border-box; position: relative; transition: transform .2s linear, background-color .2s linear; }
.rv-tile:hover { transform: scale(1.07); z-index: 2; background-color: #a1b1bc !important; }
.rv-tile__icon { margin-top: 70px; font-size: 45px; height: 45px; line-height: 45px; color: #fff; }
.rv-tile h3 { font-size: 35px; line-height: 52.5px; font-weight: 900; margin: 26px 0 23px; color: #fff; text-transform: uppercase; letter-spacing: 0; }
.rv-tile p { color: #fff; font-size: 14px; line-height: 19px; margin: 0; }
.rv-carousel-full .rv-carousel-wrap { margin-top: 0; }
.rv-h-dark { color: #2c3e50 !important; }
.rv-h30 { font-size: 30px !important; line-height: 36px !important; font-weight: 400 !important; text-transform: none !important; margin: 0 0 35px !important; }
.rv-closing { max-width: var(--rv-container); margin: 0 auto !important; padding: 40px 58.5px 60px; box-sizing: border-box; text-align: center; }
.rv-step p { font-size: 14px; line-height: 24px; color: var(--rv-grey); margin: 0; }
.rv-hex, .rv-hex::before, .rv-hex::after { transition: background .2s linear; }
.rv-step:hover .rv-hex, .rv-step:hover .rv-hex::before, .rv-step:hover .rv-hex::after { background: var(--hc, var(--rv-purple)); }
.rv-winners { padding: 70px 15px 50px; position: relative; }
.rv-top-icon { width: 100px; height: 100px; border-radius: 50%; background: #fff; margin: 0 auto 10px; display: flex; align-items: center; justify-content: center; }
.rv-top-icon span { width: 60px; height: 60px; border-radius: 50%; background: #5b3c95; color: #fff; font-size: 32px; display: flex; align-items: center; justify-content: center; transition: background .2s linear; }
.rv-top-icon:hover span { background: var(--rv-green); }
.rv-winners h3 { font-size: 20px; line-height: 24px; font-weight: 700; color: #2c3e50; text-align: center; margin: 0 0 24px; text-transform: none; }
.rv-winners p { font-size: 14px; line-height: 24px; color: var(--rv-grey); text-align: center; margin: 0 0 24px; }
.rv-why.wp-block-cover { padding: 100px 15px 80px; }
.rv-why .rv-iconbox p { color: #000; }
.rv-sub-h { font-size: 24px !important; line-height: 44px !important; font-weight: 300; text-transform: none !important; }
.rv-form-alt { max-width: 780px; margin: 0 auto !important; padding: 0 0 60px; }
.rv-form-alt .wpcf7 p { margin: 0 0 20px; }
.rv-form-alt .wpcf7 input[type="text"], .rv-form-alt .wpcf7 input[type="email"], .rv-form-alt .wpcf7 input[type="tel"], .rv-form-alt .wpcf7 textarea { width: 100%; box-sizing: border-box; height: 43px; border: 1px solid var(--rv-purple); background: #fff; color: #000; font: 14px/20px Lato, Arial, sans-serif; padding: 10px 20px 11px; border-radius: 0; }
.rv-form-alt .wpcf7 textarea { height: 179px; }
.rv-form-alt .wpcf7 ::placeholder { color: var(--rv-purple); opacity: 1; }
.rv-form-alt .wpcf7 input[type="submit"] { background: var(--rv-green); color: #fff; border: 0; min-width: 120px; height: 40px; font: 900 15px/20px Lato, Arial, sans-serif; text-transform: uppercase; border-radius: 2px; cursor: pointer; transition: background .2s; }
.rv-form-alt .wpcf7 input[type="submit"]:hover { background: var(--rv-orange); }
@media (max-width: 781px) {
	.rv-boxed-title--md { font-size: 34px; line-height: 38px; }
	.rv-boxed-title--sm { font-size: 26px; line-height: 30px; }
	.rv-lead { padding: 25px 15px; }
	.rv-lead p { font-size: 22px; line-height: 30px; }
	.rv-tile { min-height: 0; padding-bottom: 40px; }
	.rv-tile:hover { transform: none; }
	.rv-closing { padding: 30px 15px 40px; }
}

/* ---------- Inner pages round 3: colour variants ---------- */
.rv-tile--purple { background-color: #5a4099; }
.rv-tile--orange { background-color: #fcb034; }
.rv-tile--green { background-color: #61bc47; }
.rv-tile--pink { background-color: #e64097; }
.rv-title--purple { color: #5b3c95; }
.rv-title--purple2 { color: #5a4099; }
.rv-line--grey { background: linear-gradient(to right, #5b5b5b 0 50%, var(--rv-orange) 50% 100%); }
.rv-cs-contact { padding-bottom: 0; }
.rv-cs-contact .rv-sub-h { margin: 0 !important; }
.rv-cs-contact .rv-line { margin-bottom: 50px !important; }
.rv-section--how .rv-carousel-wrap { margin-top: 40px; }

/* ---------- Readability round (3 Oct 2026): one size for all detail copy ---------- */
:root { --rv-detail-size: 16px; --rv-detail-lh: 26px; }
.rv-iconbox p, .rv-step p, .rv-tile p, .rv-winners p { font-size: var(--rv-detail-size) !important; line-height: var(--rv-detail-lh) !important; }
.rv-iconbox p { max-width: 290px; }
.rv-tile p { max-width: 520px; margin-left: auto; margin-right: auto; }
.rv-tile { min-height: 380px; }

/* ===== Landing pages: survey links, survey complete, screen-out, T&Cs ===== */
.rv-lp { padding-top: 130px; padding-bottom: 80px; }
.rv-lp h2, .rv-lp h3, .rv-lp h4 { color: #2c3e50; font-family: 'Lato', sans-serif; font-weight: 700; letter-spacing: normal; text-transform: none; }
.rv-lp h2 { font-size: 24px; line-height: 36px; margin: 0 0 24px; }
.rv-lp h3 { font-size: 20px; line-height: 30px; margin: 0 0 20px; }
.rv-lp h4 { font-size: 18px; line-height: 26px; margin: 0 0 20px; }
.rv-lp .rv-lp-hero { font-size: 80px; line-height: 1; font-weight: 900; color: #ffb146; text-transform: uppercase; margin: 0 0 40px; }
.rv-lp p, .rv-lp li { font-size: 14px; line-height: 24px; color: #a1b1bc; }
.rv-lp p { margin: 0 0 20px; }
.rv-lp .rv-lp-small { color: #808080; margin-bottom: 14px; }
.rv-lp a:not(.wp-block-button__link) { color: #1abc9c; }
.rv-lp a:not(.wp-block-button__link):hover { color: #61bc47; }
.rv-lp .wp-block-image { margin: 0 0 30px; }
.rv-lp .wp-block-image img { max-width: 100%; height: auto; }
.rv-lp .wp-block-buttons { margin: 40px 0 44px; }
.rv-lp-btn .wp-block-button__link { background: #64c149; color: #fff; font-family: 'Lato', sans-serif; font-size: 30px; line-height: 40px; font-weight: 900; padding: 30px 45px; border-radius: 0; transition: background-color .2s ease, color .2s ease; }
.rv-lp-btn--orange .wp-block-button__link { background: #dd9933; }
.rv-lp-btn .wp-block-button__link:hover, .rv-lp-btn .wp-block-button__link:focus { background: #dd9933; color: #000; }
@media (max-width: 781px) {
  .rv-lp { padding-top: 50px; padding-bottom: 50px; }
  .rv-lp .rv-lp-hero { font-size: 44px; }
  .rv-lp h2 { font-size: 20px; line-height: 30px; }
  .rv-lp-btn .wp-block-button__link { font-size: 22px; line-height: 30px; padding: 22px 30px; }
}

/* ===== Round 5: calmer Rewards page + audience cards on Get a Quote ===== */
/* Smaller lead text */
.rv-lead--sm, .rv-lead--sm p { font-size: 20px !important; line-height: 32px !important; }
.rv-lead--sm p { max-width: 900px; margin-left: auto !important; margin-right: auto !important; }

/* Rewards: icon boxes reuse the homepage .rv-iconbox look */
.rv-rewards-icons { margin-top: 50px !important; margin-bottom: 40px !important; }

/* Get a Quote: who we work with */
.rv-audience-wrap { padding-top: 70px; padding-bottom: 20px; }
.rv-audience-sub { font-size: 20px !important; line-height: 32px !important; max-width: 820px; margin: 18px auto 0 !important; }
.rv-audience { gap: 30px !important; margin-top: 40px !important; }
.rv-audience__card { border: 2px solid #5a4099; padding: 40px 36px !important; text-align: center; background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.rv-audience__card--green { border-color: #61bc47; }
.rv-audience__card:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(26, 28, 39, .12); border-color: #fcb034; }
.rv-audience__card h3 { font-size: 22px; line-height: 28px; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; color: #5a4099; margin: 0 0 16px; }
.rv-audience__card--green h3 { color: #61bc47; }
.rv-audience__card p { font-size: var(--rv-detail-size, 16px); line-height: var(--rv-detail-lh, 26px); color: #a1b1bc; margin: 0 0 18px; }
.rv-audience__card ul { list-style: none; padding: 0; margin: 0 0 26px; }
.rv-audience__card li { font-size: 16px; line-height: 30px; color: #1a1c27; }
.rv-audience__card .wp-block-button__link { background: #5a4099; color: #fff; border-radius: 0; font-size: 15px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 14px 28px; transition: background-color .2s ease; }
.rv-audience__card--green .wp-block-button__link { background: #61bc47; }
.rv-audience__card .wp-block-button__link:hover, .rv-audience__card .wp-block-button__link:focus { background: #fcb034; color: #fff; }

/* Contact section: centre the intro lines (previous rule pinned them left) */
.rv-cs-contact .rv-sub-h { margin: 0 auto !important; }

@media (max-width: 781px) {
  .rv-audience__card { padding: 30px 22px !important; }
  .rv-lead--sm, .rv-lead--sm p, .rv-audience-sub { font-size: 18px !important; line-height: 28px !important; }
}

/* Contact forms: dropdowns match the text fields */
.rv-form-alt select, .rv-contact .wpcf7 select { width: 100%; height: 43px; padding: 0 44px 0 20px; font: 14px/1 'Lato', Arial, sans-serif; color: #1a1c27; background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%235a4099' stroke-width='2'/></svg>") no-repeat right 18px center; border: 1px solid #5a4099; border-radius: 0; box-sizing: border-box; -webkit-appearance: none; appearance: none; cursor: pointer; }
.rv-form-alt select:focus { outline: 2px solid #61bc47; outline-offset: 1px; }

/* YouTube click-to-play */
.rv-yt { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 0; background: #000; cursor: pointer; overflow: hidden; text-align: left; }
.wp-has-aspect-ratio .rv-yt { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
.rv-yt img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rv-yt__bar { position: absolute; left: 0; right: 0; top: 0; padding: 18px 24px 48px; background: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, 0)); color: #fff; font-family: Roboto, Arial, sans-serif; pointer-events: none; }
.rv-yt__title { display: block; font-size: 18px; line-height: 24px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rv-yt__chan { display: block; font-size: 12px; line-height: 16px; opacity: .85; }
.rv-yt__play { position: absolute; left: 50%; top: 50%; width: 68px; height: 48px; transform: translate(-50%, -50%); background: #f00; border-radius: 12px; transition: transform .2s ease, background-color .2s ease; }
.rv-yt__play::before { content: ''; position: absolute; left: 27px; top: 14px; border-style: solid; border-width: 10px 0 10px 18px; border-color: transparent transparent transparent #fff; }
.rv-yt:hover .rv-yt__play, .rv-yt:focus-visible .rv-yt__play { background: #cc0000; transform: translate(-50%, -50%) scale(1.08); }
.rv-yt:focus-visible { outline: 3px solid #61bc47; outline-offset: 2px; }
@media (max-width: 781px) { .rv-yt__bar { padding: 10px 14px 32px; } .rv-yt__title { font-size: 14px; line-height: 19px; } .rv-yt__chan { font-size: 11px; } }


/* ===== Mobile header and menu: match the original site (6 Oct 2026) ===== */
@media (max-width: 599px) {
	.rv-header .custom-logo { height: 35px !important; width: auto !important; }
	.rv-header__inner { min-height: 50px; height: 50px !important; padding-left: 10px !important; padding-right: 10px !important; }
	.rv-site-header { box-shadow: 0 1px 4px rgba(0, 0, 0, .08); }
	.rv-nav .wp-block-navigation__responsive-container-open { color: #61bc47; padding: 8px 0 8px 8px; }
	.rv-nav .wp-block-navigation__responsive-container-open svg { display: none; }
	.rv-nav .wp-block-navigation__responsive-container-open::before {
		content: ""; display: block; width: 15px; height: 13px;
		background:
			linear-gradient(currentColor, currentColor) 0 0 / 100% 3px no-repeat,
			linear-gradient(currentColor, currentColor) 0 5px / 100% 3px no-repeat,
			linear-gradient(currentColor, currentColor) 0 10px / 100% 3px no-repeat;
	}
	/* The page slides left as the menu opens, as on the original site */
	.wp-site-blocks > :not(header),
	.rv-header__inner > :first-child,
	.rv-nav .wp-block-navigation__responsive-container-open { transition: transform .5s ease; }
	html.has-modal-open .wp-site-blocks > :not(header),
	html.has-modal-open .rv-header__inner > :first-child,
	html.has-modal-open .rv-nav .wp-block-navigation__responsive-container-open { transform: translateX(-270px); }
}

/* Menu panel: dark 270px panel on the right */
.rv-nav .wp-block-navigation__responsive-container.is-menu-open {
	top: 0 !important; bottom: 0 !important; right: 0 !important; left: auto !important;
	width: 270px !important; max-width: 100%; height: 100%;
	padding: 0 !important; margin: 0 !important;
	background: #222533 !important; color: #fff !important;
	overflow-x: hidden; overflow-y: auto;
	animation: rv-mm-in .5s ease both !important;
}
@keyframes rv-mm-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
.rv-nav .is-menu-open .wp-block-navigation__responsive-close,
.rv-nav .is-menu-open .wp-block-navigation__responsive-dialog { width: 100%; max-width: none; margin: 0 !important; padding: 0 !important; }
.rv-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
.rv-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding: 0 !important; margin: 0 !important; gap: 0 !important; align-items: stretch !important; justify-content: flex-start !important; width: 100%;
}
.rv-nav .is-menu-open .wp-block-navigation__container {
	gap: 0 !important; align-items: stretch !important; justify-content: flex-start !important; width: 100%; padding: 0 !important; margin: 0 !important;
}
.rv-nav .is-menu-open .wp-block-navigation-item {
	position: relative; display: block !important; width: 100%; margin: 0 !important; padding: 0 !important;
	background: transparent; text-align: left !important;
	border-top: 1px solid rgba(255, 255, 255, .05); border-bottom: 1px solid rgba(0, 0, 0, .35);
}
.rv-nav .is-menu-open .wp-block-navigation-item__content {
	display: block !important; width: auto !important; margin: 0 !important; padding: 10px 20px 13px 20px !important;
	font: 400 14px/25px Lato, Arial, sans-serif !important; letter-spacing: normal !important; text-transform: uppercase !important;
	color: #fff !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; text-align: left !important;
}
.rv-nav .is-menu-open .wp-block-navigation-item.current-menu-item { background: #191b26 !important; }
.rv-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content { border-left: 2px solid #1abc9c !important; }
.rv-nav .is-menu-open .wp-block-navigation-item.rv-nav-btn { background: #4aaba2 !important; }
.rv-nav .is-menu-open .rv-nav-btn > .wp-block-navigation-item__content { background: transparent !important; }
/* Rewards sub-menu: closed until the arrow is tapped */
.rv-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
.rv-nav .is-menu-open .wp-block-navigation__submenu-container {
	display: none !important; position: static !important; width: 100% !important; min-width: 0 !important; height: auto !important;
	margin: 0 !important; padding: 0 !important; opacity: 1 !important; visibility: visible !important;
	background: #2e3244 !important; border: 0 !important; border-top: 1px solid rgba(0, 0, 0, .35) !important; box-shadow: none !important; transform: none !important;
}
.rv-nav .is-menu-open .rv-mm-open > .wp-block-navigation__submenu-container { display: block !important; }
.rv-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border-top: 1px solid rgba(255, 255, 255, 0); border-bottom: 1px solid rgba(0, 0, 0, .22); }
.rv-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:last-child { border-bottom: 0; }
.rv-nav .is-menu-open .rv-mm-open > .wp-block-navigation-item__content { color: #1abc9c !important; }
.rv-mm-toggle { display: none; }
.rv-nav .is-menu-open .rv-mm-toggle {
	display: block; position: absolute; top: 0; right: 0; z-index: 2; width: 47px; height: 47px; margin: 0; padding: 0;
	background: transparent; border: 0; color: #5a5d6b; cursor: pointer;
}
.rv-nav .is-menu-open .rv-mm-toggle::before {
	content: ""; position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; margin: -6px 0 0 -4px;
	border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .2s ease;
}
.rv-nav .is-menu-open .rv-mm-open > .rv-mm-toggle { color: #1abc9c; }
.rv-nav .is-menu-open .rv-mm-open > .rv-mm-toggle::before { transform: rotate(225deg); margin-top: -2px; }
/* rv-mm-sub-bg */
.rv-nav .is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container, .rv-nav .is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item { background: #2e3244 !important; }
html.has-modal-open .rv-site-header { box-shadow: none !important; }


/* ===== Hexagon hover: one smooth fade to purple (6 Oct 2026) =====
   The hexagon is built from three overlapping shapes. Fading a gradient to a
   flat colour made the overlaps show through mid-fade, so the colours
   themselves now fade instead. */
@property --c1 { syntax: '<color>'; inherits: true; initial-value: #61bc47; }
@property --c2 { syntax: '<color>'; inherits: true; initial-value: #5a4099; }
.rv-hex, .rv-hex::before, .rv-hex::after { transition: none; }
.rv-hex { transition: --c1 .3s ease, --c2 .3s ease; }
.rv-step:hover .rv-hex {
	--c1: var(--hc, var(--rv-purple, #5a4099)) !important;
	--c2: var(--hc, var(--rv-purple, #5a4099)) !important;
	background: linear-gradient(135deg, var(--c1) 0%, var(--c2) 100%);
}
.rv-step:hover .rv-hex::before, .rv-step:hover .rv-hex::after {
	background: linear-gradient(45deg, var(--c1) 0%, var(--c2) 100%);
}


/* ===== How It Works redesign options (6 Oct 2026) ===== */
.rv-hiw-h { font-size: 20px !important; line-height: 26px !important; font-weight: 900 !important; letter-spacing: 1.5px; text-transform: uppercase; color: #5a4099 !important; margin: 0 0 14px !important; }
.rv-hiw p:not(.rv-hiw-num), .rv-hiw2 p:not(.rv-hiw2-num) { font-size: 16px; line-height: 27px; color: #7d8b95; margin: 0 0 12px; }
.rv-hiw-phone { margin: 0 !important; }
.rv-hiw-phone img { display: block; height: auto; margin: 0 auto; }
.rv-hiw-ctas { margin-top: 40px !important; }
.rv-hiw-cta .wp-block-button__link { background: #61bc47; color: #fff; border-radius: 0; padding: 15px 40px; font-size: 15px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; transition: background-color .2s ease; }
.rv-hiw-cta .wp-block-button__link:hover, .rv-hiw-cta .wp-block-button__link:focus { background: #5a4099; color: #fff; }

/* Option A: three steps side by side */
.rv-hiw { padding: 70px 20px 80px !important; }
.rv-hiw-cards { max-width: 1170px; margin: 0 auto !important; gap: 50px !important; }
.rv-hiw-card { text-align: center; }
.rv-hiw-card .rv-hiw-phone img { width: 230px !important; max-width: 100%; }
.rv-hiw-num { width: 46px; height: 46px; line-height: 46px !important; margin: 18px auto 16px !important; border-radius: 50%; background: #61bc47; color: #fff !important; font-size: 20px !important; font-weight: 900; }
.rv-hiw-card:nth-child(2) .rv-hiw-num { background: #5a4099; }
.rv-hiw-card:nth-child(3) .rv-hiw-num { background: #fcb034; }

/* Option B: clean alternating rows */
.rv-hiw2 { padding: 30px 20px 80px !important; }
.rv-hiw2-row { max-width: 1000px; margin: 0 auto !important; padding: 50px 0; gap: 60px !important; border-top: 1px solid #e6eaee; }
.rv-hiw2 > .rv-hiw2-row:first-child { border-top: 0; }
.rv-hiw2 .rv-hiw-phone img { width: 280px !important; max-width: 100%; }
.rv-hiw2-num { font-size: 60px !important; line-height: 1 !important; font-weight: 300; color: #61bc47; margin: 0 0 10px !important; }
.rv-hiw2-row:nth-child(2) .rv-hiw2-num { color: #5a4099; }
.rv-hiw2-row:nth-child(3) .rv-hiw2-num { color: #fcb034; }
@media (min-width: 782px) { .rv-hiw2-row:nth-child(2) { flex-direction: row-reverse; } }
@media (max-width: 781px) {
	.rv-hiw2-row { padding: 40px 0; gap: 20px !important; text-align: center; }
	.rv-hiw2 .rv-hiw-phone img { width: 230px !important; }
}

/* How It Works options: crop the phone animations to just the phone, so the
   different coloured backgrounds baked into the GIFs don't show */
.rv-hiw .rv-hiw-phone, .rv-hiw2 .rv-hiw-phone { position: relative; overflow: hidden; margin: 0 auto !important; width: 111px; height: 220px; border-radius: 18px; }
.rv-hiw .rv-hiw-phone img, .rv-hiw2 .rv-hiw-phone img { position: absolute; max-width: none !important; height: auto; margin: 0; width: 320px !important; left: -104px; top: -49px; }
@media (min-width: 782px) {
	.rv-hiw2 .rv-hiw-phone { width: 139px; height: 275px; border-radius: 23px; }
	.rv-hiw2 .rv-hiw-phone img { width: 400px !important; left: -130px; top: -62px; }
}

/* Green buttons hover to purple (the site-wide hover colour is green, so they showed no change) */
.rv-audience__card--green .wp-block-button__link:hover, .rv-audience__card--green .wp-block-button__link:focus,
.rv-hiw-cta .wp-block-button__link:hover, .rv-hiw-cta .wp-block-button__link:focus { background-color: var(--rv-purple, #5a4099) !important; color: #fff !important; }

/* How It Works phone videos (replaced 3.3 MB of GIFs with 460 KB of video) */
.rv-hiw-video { width: 112px; margin: 0 auto !important; border-radius: 18px; overflow: hidden; line-height: 0; }
.rv-hiw-video video { display: block; width: 100%; height: auto; border-radius: 18px; }


/* ===== Landing pages v2 (6 Oct 2026): campaign pages aligned with main pages ===== */
.rv-page-banner--lp.wp-block-cover { padding: 150px 15px 70px !important; min-height: 0 !important; }
.rv-page-banner--lp .rv-boxed-title { font-size: 44px; line-height: 50px; max-width: 680px; }
.rv-lp2 { padding: 56px 20px 80px !important; }
.rv-lp2 > * { max-width: 760px; margin-left: auto !important; margin-right: auto !important; }
.rv-lp2 p, .rv-lp2 li { color: #4a5260; font-size: 17px; line-height: 28px; }
.rv-lp2 a:not(.wp-block-button__link) { color: #2f8a81; text-decoration: underline; }
.rv-lp2 a:not(.wp-block-button__link):hover { color: #5a4099; }
.rv-lp2-lead { font-size: 21px !important; line-height: 32px !important; color: #2c3e50 !important; text-align: center; margin: 0 auto 18px !important; }
.rv-lp2-sub { text-align: center; margin-bottom: 32px !important; }
.rv-lp2-h { font-size: 20px !important; line-height: 26px !important; font-weight: 900 !important; letter-spacing: 1.5px; text-transform: uppercase; color: #5a4099 !important; margin: 40px auto 16px !important; }
.rv-lp2-logo { margin: 0 auto 32px !important; text-align: center; }
.rv-lp2-logo img { width: 260px !important; max-width: 100%; height: auto; }
.rv-lp2-rewards.wp-block-columns { gap: 18px !important; margin: 8px auto 36px !important; max-width: 600px !important; align-items: stretch !important; }
.rv-lp2-reward { background: #fff; border: 1px solid #e6eaee; border-radius: 6px; padding: 22px 16px; text-align: center; box-shadow: 0 2px 10px rgba(0, 0, 0, .05); }
.rv-lp2 .rv-lp2-amt { font-size: 44px; line-height: 1; font-weight: 900; color: #61bc47; margin: 0 0 10px !important; }
.rv-lp2-reward:nth-child(2) .rv-lp2-amt { color: #5a4099; }
.rv-lp2 .rv-lp2-reward p:not(.rv-lp2-amt) { font-size: 15px; line-height: 22px; margin: 0; }
.rv-lp2 .rv-hiw-ctas { margin: 0 auto 36px !important; }
.rv-lp2 .rv-lp2-share { text-align: center; font-weight: 700; color: #5a4099; margin-bottom: 36px !important; }
.rv-lp2-note { background: #f3f0fa; border-left: 4px solid #5a4099; border-radius: 4px; padding: 16px 20px !important; margin-bottom: 8px !important; }
.rv-lp2-fine { background: #f5f6f8; border-radius: 6px; padding: 24px 28px !important; margin-top: 8px !important; }
.rv-lp2-fine .rv-lp2-h { font-size: 14px !important; line-height: 20px !important; color: #4a5260 !important; letter-spacing: 1px; margin: 0 0 12px !important; }
.rv-lp2-fine p, .rv-lp2-fine li { font-size: 14px; line-height: 22px; color: #555c66; }
.rv-lp2-fine ul { padding-left: 18px; margin: 0; }
.rv-lp2-fine li + li { margin-top: 8px; }
.rv-lp2-terms ul { padding-left: 20px; }
.rv-lp2-terms li + li { margin-top: 10px; }
.rv-lp2 .wp-block-details { background: #fff; border: 1px solid #e6eaee; border-radius: 6px; margin: 0 auto 10px !important; padding: 0; }
.rv-lp2 .wp-block-details summary { cursor: pointer; list-style: none; position: relative; padding: 16px 52px 16px 20px; font-weight: 700; font-size: 17px; line-height: 24px; color: #2c3e50; }
.rv-lp2 .wp-block-details summary::-webkit-details-marker { display: none; }
.rv-lp2 .wp-block-details summary::after { content: '+'; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 26px; font-weight: 400; color: #5a4099; }
.rv-lp2 .wp-block-details[open] summary { color: #5a4099; }
.rv-lp2 .wp-block-details[open] summary::after { content: '\2212'; }
.rv-lp2 .wp-block-details > :not(summary) { padding: 0 20px; }
.rv-lp2 .wp-block-details[open] > :last-child { padding-bottom: 14px; }
/* Keep the footer at the bottom of the screen on short pages */
body:has(.rv-lp2) .wp-site-blocks { display: flex; flex-direction: column; min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px)); }
body:has(.rv-lp2) .wp-site-blocks > :has(.rv-lp2) { flex: 1 0 auto; }
@media (max-width: 781px) {
	.rv-page-banner--lp.wp-block-cover { padding: 90px 15px 44px !important; }
	.rv-page-banner--lp .rv-boxed-title { font-size: 28px; line-height: 34px; padding: 14px; }
	.rv-lp2 { padding: 36px 16px 56px !important; }
	.rv-lp2-lead { font-size: 18px !important; line-height: 28px !important; }
	.rv-lp2-rewards.wp-block-columns { flex-wrap: nowrap !important; gap: 12px !important; }
	.rv-lp2-rewards > .wp-block-column { flex-basis: 0 !important; flex-grow: 1; padding: 18px 10px; }
	.rv-lp2 .rv-lp2-amt { font-size: 34px; }
	.rv-lp2-fine { padding: 20px !important; }
}
