@import url('https://fonts.googleapis.com/css2?family=Gelasio:wght@400&display=swap');
/* Sitewide design pass — test environment only. */
:root { --rv-accent: #a5fc0d; --rv-pink: #ff0aef; --rv-ink: #0f0f0f; --rv-card-radius: 18px; }
::selection { background: var(--rv-pink); color: var(--rv-ink); }
::-moz-selection { background: var(--rv-pink); color: var(--rv-ink); }

/* Regular Times everywhere it is used for headings, regardless of tag. */
:is(.home-body,.services-body,.prices-body,.about-body,.contact-body)
 :is(h1,h2,h3,h4,h5,h6,.home-heading,.services-intro-hd,.services-intro-hd *,
 .about-intro-title-block,.heading-28,.header-txt,.paragraph-26) {
  font-weight: 400 !important;
}
.services-body .heading-28 { font-weight: 300 !important; }
.services-body .services-intro-hd { max-width: 850px !important; margin-inline: auto !important; }
.services-body .services-intro-subhead { max-width: 570px !important; width: 100% !important; margin-inline: auto !important; }
@media (max-width:767px) {
 .services-body .services-intro-hd { max-width: 100% !important; }
 .services-body .services-intro-subhead { max-width: 95% !important; }
}
/* Homepage hero card geometry: match 18px corners throughout Services.
   Exclude round buttons and circular icons. */
.services-body :is(.services-intro-left-side,.app-icon-block,.apps-inside,.platforms-services,
 .platform-services-inner,.platforms-services-wrap,.grid-services,.grid-services-inside,
 .div-block-36,.video-ad-block,.servces-items,.services-steps,.spcl-blk-card,
 .div-block-27,.div-block-28,.div-block-29,.div-block-30,.div-block-31) {
  border-radius: var(--rv-card-radius) !important;
}
/* The introduction was intentionally unboxed. */
.services-body .services-intro-left-side { border:0 !important; border-radius:0 !important; }
.services-body .apps-block { border-radius: 18px 18px 0 0 !important; }

/* Navigation: like a text-selection highlight, no surrounding button box. */
@media (min-width:768px) {
 .rv-nav { grid-template-columns: repeat(4,auto) !important; gap: 20px !important; align-items:center; }
 .rv-nav__link,.rv-nav__link:hover,.rv-nav__link.is-active {
   width:auto !important; height:auto !important; min-height:0 !important;
   padding:0 1px !important; margin:0 !important; border:0 !important;
   border-radius:0 !important; box-shadow:none !important;
   background:transparent !important; line-height:1.12 !important;
   transition: background-color .2s ease,color .2s ease !important;
 }
 .rv-nav__link:hover,.rv-nav__link.is-active {
   background:var(--rv-accent) !important; color:var(--rv-ink) !important;
 }
}

/* Universal glass button. Preserve the label and circular arrow's slide. */
.rv-glass-action,.campaign-cta {
 --rv-glass-w: 270px; --rv-glass-h: 68px; --rv-glass-orb: 60px; --rv-glass-gap: 3px;
}
.rv-glass-action {
 box-sizing:border-box !important; position:relative !important; isolation:isolate;
 display:block !important; flex:none !important;
 width:min(var(--rv-glass-w),100%) !important; min-width:0 !important;
 height:var(--rv-glass-h) !important; min-height:0 !important;
 margin:0 !important; padding:0 !important;
 border:1px solid rgba(255,255,255,.75) !important;
 border-radius:999px !important; overflow:hidden !important;
 background:rgba(255,255,255,.08) !important;
 -webkit-backdrop-filter:blur(1.5px) saturate(125%) brightness(1.08);
 backdrop-filter:blur(1.5px) saturate(125%) brightness(1.08);
 box-shadow:inset 0 1px 1px rgba(255,255,255,.8),inset 0 -1px 1px rgba(255,255,255,.22),0 5px 18px rgba(0,0,0,.13) !important;
 cursor:pointer; transform:none !important;
}
.rv-glass-action::before {
 content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
 background:linear-gradient(133deg,rgba(255,255,255,.33),rgba(255,255,255,.035) 30%,transparent 55%);
}
.rv-glass-action__label {
 position:absolute;z-index:2;top:50%;left:calc(var(--rv-glass-orb) + var(--rv-glass-gap) + (var(--rv-glass-w) - var(--rv-glass-orb) - var(--rv-glass-gap))/2);
 transform:translate(-50%,-50%);font:300 18px/1 Manrope,sans-serif !important;
 white-space:nowrap;color:var(--rv-ink) !important;
 transition:left .96s cubic-bezier(.65,0,.35,1) !important;
}
.rv-glass-action__orb {
 position:absolute;z-index:3;top:50%;left:var(--rv-glass-gap);
 width:var(--rv-glass-orb);height:var(--rv-glass-orb);border-radius:50%;
 display:flex;align-items:center;justify-content:center;
 transform:translateY(-50%);background:var(--rv-accent);color:var(--rv-ink);
 transition:left 1.08s cubic-bezier(.65,0,.35,1) !important;
}
.rv-glass-action__arrow {position:relative;width:27px;height:16px;display:block;}
.rv-glass-action__arrow::before {content:"";position:absolute;left:1px;top:50%;width:24px;height:1.5px;background:currentColor;transform:translateY(-50%);}
.rv-glass-action__arrow::after {content:"";position:absolute;right:1px;top:50%;width:10px;height:10px;border-top:1.5px solid;border-right:1.5px solid;transform:translateY(-50%) rotate(45deg);}
.rv-glass-action.is-hovered .rv-glass-action__orb {left:calc(100% - var(--rv-glass-gap) - var(--rv-glass-orb));}
.rv-glass-action.is-hovered .rv-glass-action__label {left:calc((var(--rv-glass-w) - var(--rv-glass-orb) - var(--rv-glass-gap))/2);}
@media(max-width:767px){.rv-glass-action{--rv-glass-w: min(270px,84vw);--rv-glass-h:64px;--rv-glass-orb:56px;}}
/* Original homepage CTA: same lime highlight and glass on desktop. */
.home-body .campaign-cta__circle,.home-body .campaign-cta.is-hovered .campaign-cta__circle {
 background:var(--rv-accent) !important;color:var(--rv-ink) !important;
}
@media(min-width:768px) {
 .home-body .campaign-cta,.home-body .campaign-cta.is-hovered {
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.75) !important;
  -webkit-backdrop-filter:blur(1.5px) saturate(125%) brightness(1.08);
  backdrop-filter:blur(1.5px) saturate(125%) brightness(1.08);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.8),inset 0 -1px 1px rgba(255,255,255,.22),0 5px 18px rgba(0,0,0,.13);
 }
 .home-body .campaign-cta__label,.home-body .campaign-cta.is-hovered .campaign-cta__label {color:var(--rv-ink) !important;}
}
/* Remaining accent-bearing interactive components. */
:is(.home-body,.services-body,.prices-body,.about-body,.contact-body)
 :is(.campaign-cta__circle,.rv-glass-action__orb) {background-color:var(--rv-accent) !important;}
/* Sitewide smooth custom cursor; intentionally no glass or magnification. */
@media(hover:hover) and (pointer:fine) {
 body.rv-custom-cursor-active,body.rv-custom-cursor-active * {cursor:none !important;}
 body .rv-cursor {
  position:fixed;left:0;top:0;width:22px;height:22px;box-sizing:border-box;
  border:0;border-radius:50%;background:var(--rv-accent);pointer-events:none;
  z-index:10030;opacity:0;transform:translate3d(-50%,-50%,0);
  transition:width .28s cubic-bezier(.2,.8,.2,1),height .28s cubic-bezier(.2,.8,.2,1),
   background-color .28s ease,opacity .15s ease;
 }
 body .rv-cursor.is-interactive {width:32px;height:32px;background:#0f0f0f;}
 body .rv-cursor.is-visible {opacity:1;}
 body .rv-cursor canvas {display:none !important;}
}

/* Contrast on dark sections; preserve the same translucent lens geometry. */
:is(.home-body,.services-body,.prices-body,.about-body,.contact-body)
 :is(.footer,.footer-services,.apps-block,.platforms-services,.services-steps,.about-block)
 .rv-glass-action__label {color:#fafafa !important;}
/* Avoid inherited bold styles on serif display text, including nested spans. */
:is(.home-body,.services-body,.prices-body,.about-body,.contact-body)
 :is(.home-heading,.services-intro-hd,.heading-28,.heading-31,.heading-32,.heading-34,.heading-40,.heading-45,.heading-27,.header-txt) * {
 font-weight:400 !important;
}
.services-body .heading-28,.services-body .heading-28 * {font-weight:300 !important;}

/* Specialty cards: exactly one compact More CTA, without overflow. */
.home-body .spcl-blk-card .sml-btn {width:100% !important;max-width:100% !important;min-width:0 !important;overflow:visible !important;}
.home-body .spcl-blk-card .sml-btn > :is(.button-wrap-2,.button-wrap-3) {display:none !important;}
.home-body .spcl-blk-card .sml-btn > a {display:block !important;width:fit-content !important;max-width:100% !important;}
.home-body .spcl-blk-card .sml-button-wrap.rv-glass-action {
 --rv-glass-w: 158px;--rv-glass-h: 48px;--rv-glass-orb: 40px;--rv-glass-gap:3px;
 width:158px !important;height:48px !important;max-width:100% !important;
}
.home-body .spcl-blk-card .sml-button-wrap .rv-glass-action__label {font-size:16px !important;}
.home-body .spcl-blk-card .sml-button-wrap .rv-glass-action__arrow {transform:scale(.78);}

/* 2026-10-21: square-edged page composition.
   Keep functional circles, pill CTAs, mobile menu and illustrated homepage hero. */
:is(.home-body,.services-body,.prices-body,.about-body,.contact-body)
 :is(section,article,main,div):not(.campaign-cta):not(.campaign-cta__circle)
 :not(.rv-glass-action):not(.rv-glass-action__orb):not(.rv-cursor)
 :not(.rv-nav__link):not(.mobile-menu-block)
 :not(#mobile-menu-block):not(.rv-glass-refracted-image) {
 border-radius:0 !important;
}
/* Make all ordinary dark content sections white, without erasing hero imagery
   or the intentional mobile menu overlay. */
:is(.services-body,.prices-body,.about-body,.contact-body) {
 background-color:#fafafa !important;color:#0f0f0f !important;
}
:is(.services-body,.prices-body,.about-body,.contact-body)
 :is(.services-main-wrapper,.prices-main-wrapper,.contact-main-wrapper,
 .apps-block,.platforms-services,.platform-services-inner,.footer-services,
 .prices-tabs-wrap,.div-block-45,.prices-2nd-heading,.video-policy-fb,
 .video-policy-youtube,.heading-38,.fb-head,.about-footer,.contact-footer,
 .apps-block-prices,.platforms-prices-block,.about-block,.mission-block) {
 background-color:#fafafa !important;color:#0f0f0f !important;
}
/* Formerly light text on dark backgrounds: invert to the site's ink.
   Avoid overriding branded platform graphics, icons, glass buttons, and nav. */
:is(.services-body,.prices-body,.about-body,.contact-body)
 :is(.services-main-wrapper,.prices-main-wrapper,.contact-main-wrapper,
 .apps-block,.platforms-services,.platform-services-inner,.footer-services,
 .prices-tabs-wrap,.div-block-45,.prices-2nd-heading,.video-policy-fb,
 .video-policy-youtube,.about-footer,.contact-footer,.about-block,.mission-block)
 :is(h1,h2,h3,h4,h5,h6,p,li,.heading-38,.fb-head,.header-txt) {
 color:#0f0f0f !important;
}
/* Glass actions should not inherit old Webflow's black hover background.
   Text stays legible in both positions and while the card itself is hovered. */
.home-body .spcl-blk-card .sml-button-wrap.rv-glass-action,
.home-body .spcl-blk-card:hover .sml-button-wrap.rv-glass-action,
.home-body .spcl-blk-card .sml-button-wrap.rv-glass-action:hover {
 background:rgba(255,255,255,.13) !important;
 border-color:rgba(255,255,255,.8) !important;
 -webkit-backdrop-filter:blur(1.5px) saturate(125%) brightness(1.08) !important;
 backdrop-filter:blur(1.5px) saturate(125%) brightness(1.08) !important;
}
.home-body .spcl-blk-card .sml-button-wrap.rv-glass-action .rv-glass-action__label,
.home-body .spcl-blk-card:hover .sml-button-wrap.rv-glass-action .rv-glass-action__label {
 color:#0f0f0f !important;
}
.home-body .spcl-blk-card .sml-button-wrap.rv-glass-action .rv-glass-action__orb {
 background:#a5fc0d !important;color:#0f0f0f !important;
}
/* Disable obsolete Webflow black hover panels once transformed to glass. */
.home-body .spcl-blk-card .sml-btn-hoverbox {display:none !important;}
/* Desktop nav currently 18px Manrope 300. Await requested new size. */

/* Homepage hero container is a page section, so its corners are square too. */
.home-body .div-block-5 {border-radius:0 !important;}

/* Desktop primary navigation: 22px Times, light visual weight.
   Gelasio has no true Light face; 400 is its lightest normal roman. */
@media (min-width:768px) {
  .rv-nav__link, .rv-nav__link:hover, .rv-nav__link.is-active {
    font-family:"Gelasio",Times,serif !important;
    font-size:22px !important;
    font-weight:400 !important;
    font-style:normal !important;
  }
}

/* Repair internal-page navigation and light-section typography. */
@media(min-width:768px) {
 :is(.home-body,.services-body,.prices-body,.about-body,.contact-body)
 .rv-desktop-header .rv-nav__link {
 font-family:"Gelasio",Times,serif !important;
 font-size:22px !important;font-weight:400 !important;
 }
}
.services-body .services-intro-hd,
.services-body .services-intro-hd .text-span-5 {
 line-height:.95 !important;
}
.services-body .services-intro-left-side .services-button-block {
 display:flex !important;visibility:visible !important;opacity:1 !important;
 position:relative !important;z-index:5 !important;
 margin-top:24px !important;
}
.services-body .services-intro-left-side .services-button-block > a {
 display:block !important;visibility:visible !important;opacity:1 !important;
}
.services-body .services-intro-left-side .services-button-wrap.rv-glass-action {
 display:block !important;visibility:visible !important;opacity:1 !important;
}
/* About introductory display text is serif even though Webflow uses div/p. */
.about-body .about-intro-wrap :is(.text-block,.text-block-2,.text-span-7,.paragraph) {
 font-family:"Gelasio",Times,serif !important;
 font-weight:400 !important;
}
.about-body .about-intro-wrap,
.about-body .about-intro-left-side,
.about-body .about-intro-right-side {
 background:#fafafa !important;
 background-image:none !important;
 color:#0f0f0f !important;
}
.about-body .about-intro-wrap :is(.text-block,.text-block-2,.text-span-7,.paragraph,.about-intro-subhead) {
 color:#0f0f0f !important;
}
/* Light-background content: restore ink on legacy white-text classes.
   Excludes buttons, menu overlays, and platform brand graphics. */
:is(.services-body,.prices-body,.about-body,.contact-body)
 :is(.services-main-wrapper,.prices-main-wrapper,.contact-main-wrapper,.about-content-wrap,
 .apps-block,.platforms-services,.prices-tabs-wrap,.about-block,.about-footer,.contact-footer)
 :is(.subhead-textblock,.paragraph,.paragraph-8,.paragraph-11,.paragraph-13,
 .paragraph-14,.paragraph-15,.paragraph-17,.paragraph-20,.paragraph-21,
 .paragraph-23,.heading-21,.heading-24,.heading-25,.heading-26,
 .heading-27,.heading-28,.heading-29,.heading-30,.heading-31,
 .heading-32,.heading-33,.heading-34,.heading-35,.heading-36,
 .text-block,.text-block-2,.text-span-7,.text-span-5) {
 color:#0f0f0f !important;
}

/* Diagnostic visibility pass: all readable content on internal pages uses ink.
   The only exception is the intentional UI of buttons/icons. */
:is(.services-body,.prices-body,.about-body,.contact-body)
 :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,span,
 .subhead-textblock,.text-block,.text-block-2,.text-block-3,
 .heading-21,.heading-28,.header-txt,.paragraph,
 .about-intro-title-block,.about-intro-subhead) {
 color:#0f0f0f !important;
}
:is(.services-body,.prices-body,.about-body,.contact-body)
 :is(.rv-glass-action__label,.rv-glass-action__arrow) {color:#0f0f0f !important;}
/* Explicit, dimensioned glass buttons for the Services intro and all footers.
   This supersedes Webflow's 40px/60px widths and animation transforms. */
:is(.services-body,.prices-body,.about-body,.contact-body)
 :is(.services-button-block,.services-button-block-black) {
 display:flex !important;visibility:visible !important;opacity:1 !important;
 min-height:68px !important;overflow:visible !important;
}
:is(.services-body,.prices-body,.about-body,.contact-body)
 :is(.services-button-block,.services-button-block-black) > a {
 display:block !important;position:relative !important;
 width:270px !important;height:68px !important;
 flex:0 0 270px !important;overflow:visible !important;
 opacity:1 !important;visibility:visible !important;
}
:is(.services-body,.prices-body,.about-body,.contact-body)
 :is(.services-button-wrap,.services-button-wrap-black).rv-glass-action {
 display:block !important;position:relative !important;
 width:270px !important;min-width:270px !important;
 height:68px !important;min-height:68px !important;
 opacity:1 !important;visibility:visible !important;
 transform:none !important;
}
:is(.services-body,.prices-body,.about-body,.contact-body)
 :is(.services-button-wrap,.services-button-wrap-black).rv-glass-action
 .rv-glass-action__label {
 left:calc(60px + 3px + (270px - 60px - 3px)/2);
 color:#0f0f0f !important;
}
:is(.services-body,.prices-body,.about-body,.contact-body)
 :is(.services-button-wrap,.services-button-wrap-black).rv-glass-action.is-hovered
 .rv-glass-action__label {left:calc((270px - 60px - 3px)/2);}
@media(max-width:767px) {
 :is(.services-body,.prices-body,.about-body,.contact-body)
 :is(.services-button-block,.services-button-block-black) > a {
 width:min(270px,84vw) !important;flex-basis:min(270px,84vw) !important;
 }
 :is(.services-body,.prices-body,.about-body,.contact-body)
 :is(.services-button-wrap,.services-button-wrap-black).rv-glass-action {
 width:min(270px,84vw) !important;min-width:0 !important;
 }
}
/* About: remove second-section background art and use the white/ink palette. */
.about-body :is(.about-main-wrapper,.about-block,.about-block-copy,
 .about-block-mission,.process-blocks) {
 background-image:none !important;background-color:#fafafa !important;
}

.services-body .campaign-title-block .heading-28 {text-transform:none !important;line-height:1.08 !important;font-weight:400 !important;color:#0f0f0f !important;font-family:'Gelasio',Georgia,serif !important;font-optical-sizing:auto !important;font-weight:300 !important;letter-spacing:normal !important;font-size:3.85vw !important;}

.home-body .campaign-cta.is-hovered .campaign-cta__label,.home-body .campaign-cta:hover .campaign-cta__label {color:#a5fc0d !important;}



/* Services-only font and unhighlighted editorial statement. */
.services-body :is(h1,h2,h3,h4,h5,h6,.rv-nav__link,.header-txt,.heading-28) {font-family:'Gelasio',Georgia,serif !important;}
.services-body .campaign-title-block :is(.rv-highlight-line,.rv-period-highlight) {background:none !important;box-shadow:none !important;}

/* Complete Services display-serif replacement; preserve Manrope body/UI. */
.services-body {--rv-font-display:'Gelasio',Georgia,serif !important;}
.services-body :is(.services-intro-hd,.services-intro-hd .text-span-5,.paragraph-26,.rv-nav__link,.rv-nav__link:hover,.rv-nav__link.is-active,.rv-nav__link:focus-visible) {font-family:'Gelasio',Georgia,serif !important;}


/* Services: platform icon panels and non-displacing deliver-card hover. */
.services-body .app-icon-block,
.services-body .apps-inside {background-color:#fafafa !important;}
.services-body .grid-services {
  background-color:rgb(255 10 239 / 75%) !important;
  border:0 !important;outline:none !important;border-radius:0 !important;
  transform:scale(1) !important;transform-origin:center center;
  transition:background-color .25s ease,transform .25s ease !important;
  overflow:visible !important;
  isolation:isolate;
}
.services-body .grid-services:hover {
  background-color:#a5fc0d !important;
  transform:scale(1.035) !important;
  z-index:10 !important;
  border:0 !important;outline:none !important;border-radius:0 !important;
}
.services-body .grid-services .image-11 {
  background-color:transparent !important;
  border:0 !important;outline:none !important;
}
.services-body .grid-services .grid-services-inside {
  border:0 !important;outline:none !important;border-radius:0 !important;
}
@media (prefers-reduced-motion:reduce) {
  .services-body .grid-services,
  .services-body .grid-services:hover {transition:none !important;transform:none !important;}
}

/* Homepage: keep resting outlines; remove hover-only outlines and corner effects. */
.home-body .spcl-blk-card::before,
.home-body .spcl-blk-card::after,
.home-body .spcl-blk-card .btn-pr-wrap::before,
.home-body .spcl-blk-card .btn-pr-wrap::after {
  content:none !important;display:none !important;
}
.home-body .spcl-blk-card:hover,
.home-body .services-steps:hover {
  border-color:transparent !important;
  outline:none !important;
  box-shadow:none !important;
  background-color:#fafafa !important;
}
.home-body :is(.hero-illustration,.process-image-viewport,.process-image-wrap):hover,
.home-body :is(.hero-illustration,.process-image-viewport,.process-image-wrap) img:hover {
  border-color:transparent !important;outline:none !important;box-shadow:none !important;
}

/* Services: remove the outer What We Deliver section outline without affecting its cards. */
.services-body .platforms-services-wrap {
  border:0 !important;outline:none !important;box-shadow:none !important;
  column-gap:16px !important;row-gap:16px !important;
}
.services-body .platforms-services-wrap > .grid-services-title,
.services-body .platforms-services-wrap > .grid-services-title:hover {
  border:0 !important;outline:none !important;box-shadow:none !important;
  border-radius:0 !important;
}
.services-body .platforms-services-wrap > .grid-services {
  min-width:0;
}

/* October layout pass: room around What We Deliver and flat homepage hero. */
.services-body .platforms-services-wrap {
  padding-inline:10px !important;
  margin-top:48px !important;
}
.home-body .div-block-5 {border-radius:0 !important;}

/* Platform/app tiles: pink resting stroke, lime sliding information panel. */
.services-body .app-icon-block {
  border:0 !important;
  outline:none !important;
  box-sizing:border-box;
}
.services-body .apps-inside {
  background-color:var(--rv-accent) !important;
  border:0 !important;
}

/* Homepage hero: square, borderless, original photo on hover. */
.home-body .div-block-5,
.home-body .div-block-5:hover {
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

/* Final navigation and Services typography refinements. */
@media (max-width:767px) {
  :is(.home-body,.services-body,.prices-body,.about-body,.contact-body) #menu-button-text,
  :is(.home-body,.services-body,.prices-body,.about-body,.contact-body) #mobile-menu-block a,
  :is(.home-body,.services-body,.prices-body,.about-body,.contact-body) #mobile-menu-block .heading-47 {
    color:#0f0f0f !important;
  }
  :is(.home-body,.services-body,.prices-body,.about-body,.contact-body) #menu-button-text {
    font-family:"Gelasio",Georgia,serif !important;
    font-size:clamp(26px,7vw,34px) !important;
    font-weight:400 !important;
    line-height:1 !important;
  }
  :is(.home-body,.services-body,.prices-body,.about-body,.contact-body) #mobile-menu-block {
    background:#a5fc0d !important;
  }
}
.services-body .services-intro-hd,
.services-body .services-intro-hd .text-span-5 {
  line-height:.9 !important;
}
.services-body .grid-services-inside,
.services-body .grid-services-inside:hover {
  background:#fff !important;
  color:#0f0f0f !important;
  border:0 !important;
  border-radius:0 !important;
  box-sizing:border-box !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:auto !important;
  padding:clamp(12px,1.5vw,22px) !important;
  overflow-y:auto !important;
  justify-content:flex-start !important;
}
.services-body .grid-services-inside .paragraph-13-inside,
.services-body .grid-services-inside .paragraph-13-inside * {
  font-family:"Manrope",sans-serif !important;
  font-size:clamp(11px,.95vw,14px) !important;
  line-height:1.3 !important;
  letter-spacing:0 !important;
}
.services-body .grid-services-inside .paragraph-13-inside {
  margin:0 !important;
  font-weight:400 !important;
}

/* Services: clearer separation between platform paragraph and deliver grid. */
.services-body .platforms-services-wrap {margin-top:clamp(90px,9vw,150px) !important;}
/* Lime service-detail panels, slightly larger type with compact readable leading. */
.services-body .grid-services-inside,
.services-body .grid-services-inside:hover {background:var(--rv-accent) !important;}
.services-body .grid-services-inside .paragraph-13-inside,
.services-body .grid-services-inside .paragraph-13-inside * {
  font-size:clamp(12px,1.05vw,15px) !important;
  line-height:1.35 !important;
}
/* Remove platform overlay shadows in resting, animated and hover states. */
.services-body .apps-inside,
.services-body .apps-inside:hover,
.services-body .app-icon-block:hover .apps-inside {
  box-shadow:none !important;
  filter:none !important;
}
/* Mobile Services editorial headline: override global heading and span line-heights. */
@media(max-width:767px) {
  .services-body .services-intro-hd,
  .services-body .services-intro-hd *,
  .services-body .services-intro-hd .text-span-5 {
    line-height:.82 !important;
  }
  :is(.home-body,.services-body,.prices-body,.about-body,.contact-body) #mobile-menu-block .rv-mobile-menu-brand {
    position:absolute;
    top:32px;
    left:22px;
    width:50px;
    height:56px;
    display:block;
    z-index:2;
  }
  #mobile-menu-block .rv-mobile-menu-brand img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
  }
}

/* Cursor contrast on lime backgrounds; larger on interactive surfaces. */
@media(hover:hover) and (pointer:fine) {
  body .rv-cursor.is-on-lime {background:#0f0f0f !important;}
  body .rv-cursor.is-interactive {width:42px;height:42px;}
}

/* Mobile hierarchy: platform description is the larger editorial statement. */
@media(max-width:767px) {
 .services-body .campaign-title-block .heading-28 {
   font-size:clamp(29px,7.4vw,42px) !important;
   line-height:1.06 !important;
 }
 .services-body .campaign-title-block .header-txt {
   font-size:clamp(20px,5vw,27px) !important;
   line-height:1.1 !important;
 }
 /* Keep the original navbar logo above the open dropdown. */
 :is(.home-body,.services-body,.prices-body,.about-body,.contact-body)
 :is(.div-block-2,.services-nav-bar,.prices-nav-bar,.about-nav-bar) {
   z-index:10025 !important;
 }
 /* Illustration cards retain scroll accent/parallax, not hover/tap effects. */
 .home-body .services-steps:hover,
 .home-body .services-steps:active,
 .home-body .services-steps:focus-within {
   transform:none !important;
   box-shadow:none !important;
   border-color:inherit !important;
 }
 .home-body .services-steps:not(.rv-scroll-accent):hover,
 .home-body .services-steps:not(.rv-scroll-accent):active {
   background-color:#fafafa !important;
 }
 .home-body .services-steps.rv-scroll-accent,
 .home-body .services-steps.rv-scroll-accent:hover,
 .home-body .services-steps.rv-scroll-accent:active {
   background-color:var(--rv-accent) !important;
 }
 /* Specialty cards should visibly turn lime on touch instead of white. */
 .home-body .spcl-blk-card:is(:hover,:active,:focus-within,.rv-touch-selected) {
   background-color:var(--rv-accent) !important;
   transform:none !important;
 }
}

/* Refined cursor scale: a subtle enlargement, including black-on-lime. */
@media(hover:hover) and (pointer:fine) {
 body .rv-cursor.is-interactive {width:28px !important;height:28px !important;}
}
/* More readable What We Deliver detail overlays, constrained to their cards. */
@media(min-width:768px) {
 .services-body .grid-services-inside .paragraph-13-inside,
 .services-body .grid-services-inside .paragraph-13-inside * {
   font-size:clamp(15px,1.18vw,18px) !important;
   line-height:1.3 !important;
 }
 .services-body .grid-services-inside {padding:clamp(12px,1.3vw,20px) !important;}
}
@media(max-width:767px) {
 .services-body .grid-services-inside .paragraph-13-inside,
 .services-body .grid-services-inside .paragraph-13-inside * {
   font-size:clamp(13px,3.35vw,15px) !important;
   line-height:1.32 !important;
 }
}

/* Desktop deliver overlays: reserve the top-right control zone and
   limit copy to roughly 75% of the card width (per layout review). */
@media(min-width:768px) {
 .services-body .grid-services .grid-services-inside {
   padding-top:clamp(64px,6vw,100px) !important;
   padding-right:clamp(12px,1.3vw,20px) !important;
   overflow-y:auto !important;
 }
 .services-body .grid-services .grid-services-inside .paragraph-13-inside {
   width:75% !important;
   max-width:75% !important;
   box-sizing:border-box !important;
 }
}

/* Rebuild the desktop detail overlay's sizing without changing Webflow open/close.
   The overlay occupies exactly the card; text is inset independently. */
@media(min-width:768px) {
 .services-body .grid-services {position:relative !important;}
 .services-body .grid-services > .grid-services-inside {
   position:absolute !important;
   inset:0 !important;
   top:0 !important;
   left:0 !important;
   right:0 !important;
   bottom:0 !important;
   width:100% !important;
   max-width:100% !important;
   height:100% !important;
   max-height:100% !important;
   min-height:0 !important;
   aspect-ratio:auto !important;
   box-sizing:border-box !important;
   padding:58px 18px 18px !important;
   overflow-x:hidden !important;
   overflow-y:auto !important;
   overscroll-behavior:contain;
   align-items:stretch !important;
   justify-content:flex-start !important;
 }
 .services-body .grid-services > .grid-services-inside > .paragraph-13-inside {
   display:block !important;
   width:75% !important;
   max-width:75% !important;
   padding:0 !important;
   margin:0 !important;
   box-sizing:border-box !important;
   font-size:clamp(13px,1.05vw,16px) !important;
   line-height:1.28 !important;
   overflow-wrap:break-word;
 }
 .services-body .grid-services > .grid-services-inside > .paragraph-13-inside strong {
   font-size:inherit !important;
   line-height:inherit !important;
 }
}

/* Prices editorial colour and interaction pass. */
.prices-body .prices-intro-stack .div-block-44,
.prices-body .prices-intro-stack .div-block-45 {
 background:var(--rv-pink) !important;
 border:0 !important;
}
.prices-body .costs-info-block :is(.cpm-block,.cpc-block,.cpa-block) {
 background:var(--rv-accent) !important;
 border:0 !important;
 border-radius:0 !important;
 outline:none !important;
 box-shadow:none !important;
 position:relative;
 transition:transform .25s ease,background-color .25s ease !important;
}
@media(hover:hover) and (pointer:fine) {
 .prices-body .costs-info-block :is(.cpm-block,.cpc-block,.cpa-block):hover {
   background:var(--rv-pink) !important;
   transform:scale(1.035);
   z-index:2;
 }
}
.prices-body .costs-info-block .heading-35,
.prices-body .costs-info-block .heading-35 strong {
 font-family:"Manrope",sans-serif !important;
 font-weight:600 !important;
 border:0 !important;
 outline:none !important;
 box-shadow:none !important;
 background:transparent !important;
}
.prices-body .video-ad-block {
 background-image:none !important;
 background-color:#0f0f0f !important;
}
.prices-body .video-ad-block .heading-37 {color:#fff !important;}
.prices-body .video-policy-fb,
.prices-body .video-policy-youtube {
 background:transparent !important;
 background-image:none !important;
 box-shadow:none !important;
}
/* Cost estimator: flat cards with a lime foreground and pink rear typography. */
.prices-body .prices-tabs-wrap :is(.info-block,.google-tab,.facebook-tab) {
 background:var(--rv-accent) !important;
 border:0 !important;
 outline:none !important;
 box-shadow:none !important;
 border-radius:0 !important;
}
.prices-body .prices-tabs-wrap :is(.prices-tabs-tab,.tab-button-google,.tab-button-facebook) {
 border:0 !important;
 outline:none !important;
 box-shadow:none !important;
}
.prices-body .prices-tabs-wrap :is(.tab-button-google,.tab-button-facebook) :is(h1,h2,h3),
.prices-body .prices-tabs-wrap :is(.tab-button-google,.tab-button-facebook) {
 color:var(--rv-pink) !important;
}

/* Prices refinements: intro, unboxed metric subheads, light policy. */
.prices-body .prices-intro-stack .div-block-44 {
 background:#fafafa !important;
}
.prices-body .prices-intro-stack .prices-2nd-heading,
.prices-body .prices-intro-stack .div-block-45 {
 background:var(--rv-accent) !important;
}
.prices-body .costs-info-block .heading-35,
.prices-body .costs-info-block .heading-35 strong {
 display:block !important;
 width:100% !important;
 text-align:left !important;
 padding:0 !important;
 margin-left:0 !important;
 text-indent:0 !important;
}
.prices-body .video-ad-block {
 background:#fafafa !important;
 background-image:none !important;
 color:#0f0f0f !important;
}
.prices-body .video-ad-block :is(h1,h2,h3,h4,p,li,.heading-37,.fb-head,.heading-38) {
 color:#0f0f0f !important;
}
.prices-body .video-policy-fb,
.prices-body .video-policy-youtube {
 background:transparent !important;
}
/* Layered estimator: the active card is lime; all rear cards are pink.
   This covers wrappers, headers and content; JS controls active state. */
.prices-body .prices-tabs-wrap :is(.prices-tabs-tab,.prices-tabs-tab-2,.prices-tabs-tab-3,.prices-tabs-tab-4) {
 background:var(--rv-pink) !important;
 border:0 !important;outline:0 !important;box-shadow:none !important;
}
.prices-body .prices-tabs-wrap :is(.prices-tabs-tab,.prices-tabs-tab-2,.prices-tabs-tab-3,.prices-tabs-tab-4).is-active-tab {
 background:var(--rv-accent) !important;
}
.prices-body .prices-tabs-wrap :is(.prices-tabs-tab,.prices-tabs-tab-2,.prices-tabs-tab-3,.prices-tabs-tab-4)
 :is(.info-block,.tab-button-google,.tab-button-facebook,.tab-button-linkedin,.tab-button-youtube) {
 background:var(--rv-pink) !important;
 border:0 !important;outline:0 !important;box-shadow:none !important;
}
.prices-body .prices-tabs-wrap :is(.prices-tabs-tab,.prices-tabs-tab-2,.prices-tabs-tab-3,.prices-tabs-tab-4).is-active-tab
 :is(.info-block,.tab-button-google,.tab-button-facebook,.tab-button-linkedin,.tab-button-youtube) {
 background:var(--rv-accent) !important;
}
.prices-body .prices-tabs-wrap :is(.prices-tabs-tab,.prices-tabs-tab-2,.prices-tabs-tab-3,.prices-tabs-tab-4)
 :is(h1,h2,h3,h4,h5,h6,p,li,label,span,.heading-33,.info-header) {
 color:#fff !important;
}

/* Prices: pink campaign-inclusions list, with separate green heading panel. */
.prices-body .prices-intro-stack .div-block-45 {background:var(--rv-pink) !important;}
.prices-body .prices-intro-stack .prices-2nd-heading {background:var(--rv-accent) !important;}

/* Restore distinct, narrower tab headers above each estimator card. */
.prices-body .prices-tabs-wrap :is(.tab-button-google,.tab-button-facebook,.tab-button-linkedin,.tab-button-youtube) {
 width:80% !important;
 max-width:80% !important;
 align-self:flex-start !important;
 border-radius:14px 14px 0 0 !important;
 padding:8px 12px !important;
 position:relative !important;
 z-index:1;
 box-shadow:0 -3px 13px rgba(0,0,0,.13) !important;
}
.prices-body .prices-tabs-wrap :is(.prices-tabs-tab,.prices-tabs-tab-2,.prices-tabs-tab-3,.prices-tabs-tab-4) {
 box-shadow:none !important;
}
.prices-body .prices-tabs-wrap :is(.prices-tabs-tab,.prices-tabs-tab-2,.prices-tabs-tab-3,.prices-tabs-tab-4) .info-block {
 border-radius:0 12px 12px 12px !important;
 box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
}
.prices-body .prices-tabs-wrap :is(.prices-tabs-tab,.prices-tabs-tab-2,.prices-tabs-tab-3,.prices-tabs-tab-4) :is(h1,h2,h3,h4,h5,h6,p,li,label,span,.heading-33,.info-header) {
 color:#0f0f0f !important;
}
/* Reduce oversized fixed section heights and vertical gaps without removing content. */
.prices-body .costs-terms-block {
 height:auto !important;
 min-height:0 !important;
 padding-top:32px !important;
 padding-bottom:32px !important;
}
.prices-body .costs-info-block {margin-top:22px !important;}
.prices-body .video-ad-block {
 height:auto !important;
 min-height:0 !important;
 margin-block:24px !important;
 padding-block:36px !important;
}
.prices-body .cost-heading-block {margin-block:24px !important;}
.prices-body .cost-header {margin-bottom:20px !important;}

/* Estimator: exposed space beside the narrower title tab must show through.
   Only the title tab and content panel carry active/inactive colours. */
.prices-body .prices-tabs-wrap :is(.prices-tabs-tab,.prices-tabs-tab-2,.prices-tabs-tab-3,.prices-tabs-tab-4),
.prices-body .prices-tabs-wrap :is(.prices-tabs-tab,.prices-tabs-tab-2,.prices-tabs-tab-3,.prices-tabs-tab-4).is-active-tab {
 background:transparent !important;
 background-image:none !important;
}
/* Keep temporary layout inspection guides on About and Contact only. */
:is(.about-body,.contact-body) div {
 outline:0.5pt solid rgba(220,45,75,.65) !important;
 outline-offset:0;
}
