.elementor-34201 .elementor-element.elementor-element-3b7395de{--display:flex;}.elementor-34201 .elementor-element.elementor-element-7ab9a807{--display:flex;}.elementor-34201 .elementor-element.elementor-element-2c06b935{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-34201 .elementor-element.elementor-element-3405faf3{--display:flex;}.elementor-34201 .elementor-element.elementor-element-2f9d3a6d{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-34201 .elementor-element.elementor-element-4ed7b1f3{--display:flex;}.elementor-34201 .elementor-element.elementor-element-371fbd6a{--display:flex;}.elementor-34201 .elementor-element.elementor-element-20ee01d8{--display:flex;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-34201 .elementor-element.elementor-element-27dafa38 .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-34201 .elementor-element.elementor-element-65de21d5 .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-34201 .elementor-element.elementor-element-67256bde .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-34201 .elementor-element.elementor-element-7eea9169 .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-34201 .elementor-element.elementor-element-6efcbcf5{--display:flex;}.elementor-34201 .elementor-element.elementor-element-35d80297{--display:flex;}.elementor-34201 .elementor-element.elementor-element-725e3061{--display:flex;}.elementor-34201 .elementor-element.elementor-element-23e347e{--display:flex;}.elementor-34201 .elementor-element.elementor-element-843935b .rc-grid__items{--rc-cols:3;--rc-gap:20px;}.elementor-34201 .elementor-element.elementor-element-433d5a45{--display:flex;}.elementor-34201 .elementor-element.elementor-element-769e6c36{--display:flex;}.elementor-34201 .elementor-element.elementor-element-36e7a18{--display:flex;}.elementor-34201 .elementor-element.elementor-element-7d89a05c{--display:flex;}.elementor-34201 .elementor-element.elementor-element-b71cb36 .rc-grid__items{--rc-cols:3;--rc-gap:20px;}.elementor-34201 .elementor-element.elementor-element-6e0128d5{--display:flex;}.elementor-34201 .elementor-element.elementor-element-68d2ad39{--display:flex;}.elementor-34201 .elementor-element.elementor-element-3b0ecd41{--display:flex;}.elementor-34201 .elementor-element.elementor-element-62616196{--display:flex;}.elementor-34201 .elementor-element.elementor-element-5da1d815 .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-34201 .elementor-element.elementor-element-154c79e4 .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-34201 .elementor-element.elementor-element-3d871ff8 .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-34201 .elementor-element.elementor-element-43c6e05f .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-34201 .elementor-element.elementor-element-4dd1cdc .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-34201 .elementor-element.elementor-element-b854025 .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-34201 .elementor-element.elementor-element-1f426869 .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-34201 .elementor-element.elementor-element-6282d56a .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-34201 .elementor-element.elementor-element-4ec28735{--display:flex;}.elementor-34201 .elementor-element.elementor-element-4ec28735:not(.elementor-motion-effects-element-type-background), .elementor-34201 .elementor-element.elementor-element-4ec28735 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://recab.com/wp-content/uploads/2026/10/telecommunication-tower-antennas-1.png");}.elementor-34201 .elementor-element.elementor-element-9fc4815{--display:flex;}.elementor-34201 .elementor-element.elementor-element-5ab8ec6e{--display:flex;}.elementor-34201 .elementor-element.elementor-element-1b1a598e{--display:flex;}.elementor-34201 .elementor-element.elementor-element-6566b702{--display:flex;}.elementor-34201 .elementor-element.elementor-element-405ec117{--display:flex;}.elementor-34201 .elementor-element.elementor-element-393df6b2{--display:flex;}.elementor-34201 .elementor-element.elementor-element-e27841e{--display:flex;}.elementor-34201 .elementor-element.elementor-element-a729b08{--display:flex;}.elementor-34201 .elementor-element.elementor-element-490b686{--display:flex;}.elementor-34201 .elementor-element.elementor-element-efad512{--display:flex;}.elementor-34201 .elementor-element.elementor-element-3a3525a{--display:flex;}.elementor-34201 .elementor-element.elementor-element-1da64f6c{--display:flex;}.elementor-34201 .elementor-element.elementor-element-18dba98a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-34201 .elementor-element.elementor-element-7380cb64{--display:flex;}.elementor-34201 .elementor-element.elementor-element-8c0b6a6{--display:flex;}.elementor-34201 .elementor-element.elementor-element-5316ca42{--display:flex;}.elementor-34201 .elementor-element.elementor-element-6472be66{--display:flex;}.elementor-34201 .elementor-element.elementor-element-20d3dbc5{--display:flex;}.elementor-34201 .elementor-element.elementor-element-78e73bbe{--display:flex;}.elementor-34201 .elementor-element.elementor-element-2b234773{--n-accordion-title-font-size:1,75rem;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;}.elementor-34201 .elementor-element.elementor-element-2225ad74{--display:flex;}.elementor-34201 .elementor-element.elementor-element-2225ad74:not(.elementor-motion-effects-element-type-background), .elementor-34201 .elementor-element.elementor-element-2225ad74 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://recab.com/wp-content/uploads/2026/10/telecommunication-tower-antennas-1.png");}.elementor-34201 .elementor-element.elementor-element-6d7d0a21{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;}.elementor-34201 .elementor-element.elementor-element-29fbb008{--display:flex;}.elementor-34201 .elementor-element.elementor-element-3445bb69{--display:flex;}@media(min-width:1600px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-icon-box .elementor-icon-box-description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-icon-box .elementor-icon-box-description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-34201 .elementor-element.elementor-element-843935b .rc-grid__items{--rc-cols:2;}.elementor-34201 .elementor-element.elementor-element-b71cb36 .rc-grid__items{--rc-cols:2;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-icon-box .elementor-icon-box-description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-34201 .elementor-element.elementor-element-843935b .rc-grid__items{--rc-cols:1;}.elementor-34201 .elementor-element.elementor-element-b71cb36 .rc-grid__items{--rc-cols:1;}}/* Start custom CSS *//* ============================================================
RECAB AI SOLUTIONS - PAGE CSS
Page:       /ai-solutions/
Paste into: Elementor > Page Settings (cog) > Advanced > Custom CSS
Prefix:     rc-ai-
Requires:   Recab Foundation CSS (Site Settings). No :root block here.
            Colours, fonts, radii and shadows are the --rc- tokens.
            Buttons: Elementor Button widget with the Foundation classes
            rc-btn-primary / rc-btn-secondary.
            Categories, tabs and products: Recab Listing Grid and Recab
            Filter widgets (Recab Elementor), which bring their own CSS.

BUILD RULES
- Every container: Content Width "Full Width", Direction "Column",
  padding and gap left at default, no Background Overlay.
  Rows, grids, widths and spacing come from this file.
- Dark sections carry the class rc-dark. The Foundation then turns
  the primary button white and the secondary outline white.
- Headings: set the HTML tag in the widget. Leave typography and
  colours at default; this file overrides them.

CONTENTS
 1  Container reset, anchors
 2  Sections, wrapper
 3  Section heads (kicker, H2, lead, text link, button row)
 4  Shared grid
 5  Hero
 6  Trust strip
 7  Recab widgets (spacing only; styled by Recab Elementor)
 9  Why Recab for AI
10  Photo sections (resource banner, final CTA)
11  Where AI is deployed
12  FAQ
13  Widescreen (>=1440px)
14  Tablet (<=1024px)
15  Mobile (<=767px)
16  Reduced motion
============================================================ */


/* -- 1. CONTAINER RESET, ANCHORS ----------------------------- */
.e-con[class*="rc-ai-"] {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --gap: 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  --widgets-spacing: 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
}

html { scroll-behavior: smooth; }

#categories,
#products,
#why-recab,
#use-cases,
#faq {
  scroll-margin-top: 88px;
}


/* -- 2. SECTIONS, WRAPPER ------------------------------------ */
.rc-ai-section {
  position: relative !important;
  padding-top: 88px !important;
  padding-bottom: 88px !important;
}
.rc-ai-section--navy   { background: var(--rc-primary) !important; }
.rc-ai-section--deep   {
  background: radial-gradient(ellipse 80% 70% at 85% 0%, var(--rc-primary-2) 0%, var(--rc-primary) 100%) !important;
}
.rc-ai-section--subtle { background: var(--rc-subtle) !important; }
.rc-ai-section--white  { background: var(--rc-white) !important; }

/* Hairline between two dark sections that touch */
.rc-dark + .rc-dark { border-top: 1px solid var(--rc-line-dark) !important; }

.rc-ai-wrap {
  width: 100% !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}


/* -- 3. SECTION HEADS ---------------------------------------- */
.rc-ai-head { margin-bottom: 40px !important; }

/* Split head: [kicker + H2] [lead] [text link] in one row */
.rc-ai-head--split {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 16px 48px !important;
}
.rc-ai-head-text {
  flex: 1 1 360px !important;
  width: auto !important;
  max-width: 520px !important;
  min-width: 0 !important;
}
.rc-ai-head--split > .rc-ai-lead {
  flex: 1 1 320px !important;
  width: auto !important;
  max-width: 460px !important;
  min-width: 0 !important;
  padding-top: 4px !important;
}

/* Kicker: label with orange line */
.rc-ai-kicker { margin-bottom: 14px !important; }
.rc-ai-kicker .elementor-heading-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: var(--rc-font-ui) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--rc-primary) !important;
  margin: 0 !important;
}
.rc-ai-kicker .elementor-heading-title::before {
  content: "" !important;
  width: 28px !important;
  height: 2px !important;
  background: var(--rc-accent) !important;
  flex-shrink: 0 !important;
}
.rc-dark .rc-ai-kicker .elementor-heading-title { color: var(--rc-on-dark) !important; }

/* H2 (editorial scale + orange rule) */
.rc-ai-h2 .elementor-heading-title {
  font-family: var(--rc-font-head) !important;
  font-size: clamp(24px, 2.4vw, 32px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  color: var(--rc-primary) !important;
  margin: 0 !important;
}
.rc-ai-h2 .elementor-heading-title::after {
  content: "" !important;
  display: block !important;
  width: 40px !important;
  height: 3px !important;
  margin-top: 16px !important;
  background: var(--rc-accent) !important;
  border-radius: 2px !important;
}
.rc-ai-h2--plain .elementor-heading-title::after { display: none !important; }
.rc-dark .rc-ai-h2 .elementor-heading-title { color: var(--rc-white) !important; }

/* Lead */
.rc-ai-lead,
.rc-ai-lead p {
  font-family: var(--rc-font-head) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: var(--rc-text) !important;
}
.rc-ai-lead p { margin: 0 !important; }
.rc-ai-lead p + p { margin-top: 12px !important; }
.rc-dark .rc-ai-lead,
.rc-dark .rc-ai-lead p { color: var(--rc-on-dark) !important; }

/* Text link ("View all AI products"), Elementor Button widget */
.rc-ai-link { width: auto !important; flex-shrink: 0 !important; }
.rc-ai-link .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 4px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: var(--rc-font-ui) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--rc-primary) !important;
  fill: var(--rc-primary) !important;
  transition: color 0.2s !important;
}
.rc-ai-link .elementor-button:hover {
  color: var(--rc-accent) !important;
  fill: var(--rc-accent) !important;
}
.rc-ai-link .elementor-button-content-wrapper { gap: 8px !important; align-items: center !important; }
.rc-ai-link .elementor-button-icon { transition: transform 0.2s !important; }
.rc-ai-link .elementor-button:hover .elementor-button-icon { transform: translateX(3px) !important; }
.rc-dark .rc-ai-link .elementor-button {
  color: var(--rc-accent) !important;
  fill: var(--rc-accent) !important;
}
.rc-dark .rc-ai-link .elementor-button:hover {
  color: var(--rc-white) !important;
  fill: var(--rc-white) !important;
}

/* Button row (Foundation buttons inside) */
.rc-ai-btn-row {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  width: auto !important;
}
.rc-ai-btn-row > .elementor-widget { width: auto !important; }


/* -- 4. SHARED GRID ------------------------------------------ */
.rc-ai-grid {
  display: grid !important;
  gap: 20px !important;
  width: 100% !important;
}
.rc-ai-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.rc-ai-grid > * {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}


/* -- 5. HERO ------------------------------------------------- */
/* Full-bleed product image on the right that melts into the navy, a soft
   orange glow behind the products, a faint tech grid, and a bigger
   headline. No diagonal cut, no dark triangle, almost no overlay: the
   image is already dark with soft edges. */

.rc-ai-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(ellipse 60% 80% at 10% 10%, var(--rc-primary-2) 0%, transparent 70%),
    var(--rc-primary) !important;
}

/* Faint tech grid, fading out towards the edges */
.rc-ai-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px) !important;
  background-size: 56px 56px !important;
  -webkit-mask-image: radial-gradient(ellipse 70% 80% at 30% 40%, #000 0%, transparent 75%) !important;
  mask-image: radial-gradient(ellipse 70% 80% at 30% 40%, #000 0%, transparent 75%) !important;
}

/* Soft orange glow behind the products */
.rc-ai-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: radial-gradient(ellipse 34% 30% at 68% 78%, rgba(232, 115, 55, 0.22) 0%, transparent 70%) !important;
}

.rc-ai-hero-inner {
  position: relative !important;
  z-index: 3 !important;
  min-height: 680px !important;
  padding-top: 28px !important;
  padding-bottom: 96px !important;
}

/* Left column; stays clear of the products */
.rc-ai-hero-content {
  width: 100% !important;
  max-width: min(540px, calc(42vw - 24px)) !important;
  margin-top: auto !important;
  margin-bottom: auto !important;
  padding-top: 48px !important;
  animation: rc-ai-rise 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) both !important;
}

/* Breadcrumbs: Shortcode widget with [rank_math_breadcrumb] */
.rc-ai-breadcrumb { width: auto !important; }
.rc-ai-breadcrumb .rank-math-breadcrumb,
.rc-ai-breadcrumb .rank-math-breadcrumb p {
  font-family: var(--rc-font-ui) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--rc-on-dark-muted) !important;
  margin: 0 !important;
}
.rc-ai-breadcrumb .rank-math-breadcrumb a {
  color: var(--rc-on-dark) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
.rc-ai-breadcrumb .rank-math-breadcrumb a:hover { color: var(--rc-accent) !important; }
.rc-ai-breadcrumb .rank-math-breadcrumb .separator {
  margin: 0 6px !important;
  color: var(--rc-on-dark-muted) !important;
}
.rc-ai-breadcrumb .rank-math-breadcrumb .last {
  color: var(--rc-white) !important;
  font-weight: 600 !important;
}

.rc-ai-hero .rc-ai-kicker { margin-bottom: 18px !important; }

/* H1: same brand typography as before. Optional: wrap words in <span> in
   the heading text (e.g. <span>smarter, safer world</span>) to show them
   in the brand orange. */
.rc-ai-h1 { margin-bottom: 20px !important; }
.rc-ai-h1 .elementor-heading-title {
  font-family: var(--rc-font-head) !important;
  font-size: clamp(30px, 3.2vw, 44px) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: var(--rc-white) !important;
  margin: 0 !important;
}
.rc-ai-h1 .elementor-heading-title span { color: var(--rc-accent) !important; }

.rc-ai-hero .rc-ai-lead {
  max-width: 500px !important;
  margin-bottom: 32px !important;
}

/* Image: large, right side, vertically centred, at the image's own
   proportions (1373 x 793) so nothing is cropped or zoomed. Its edges
   melt into the navy: left, top and bottom. */
.rc-ai-hero-media {
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  width: 66% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 1373 / 793 !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, #000 26%),
    linear-gradient(0deg, transparent 0%, #000 14%, #000 88%, transparent 100%) !important;
  -webkit-mask-composite: source-in !important;
  mask-image:
    linear-gradient(90deg, transparent 0%, #000 26%),
    linear-gradient(0deg, transparent 0%, #000 14%, #000 88%, transparent 100%) !important;
  mask-composite: intersect !important;
}
/* The old orange stripe and diagonal cut are gone */
.rc-ai-hero-media::before { display: none !important; }

.rc-ai-hero-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  clip-path: none !important;
  z-index: 1 !important;
}
.rc-ai-hero-img .elementor-widget-container,
.rc-ai-hero-img img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.rc-ai-hero-img img {
  display: block !important;
  /* The box has the image's proportions, so this shows the whole image
     without zooming in. */
  object-fit: cover !important;
  object-position: var(--rc-hero-focus, center) !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  filter: none !important;
}

@keyframes rc-ai-rise {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .rc-ai-hero-content { animation: none !important; }
}

/* Optional subtitle under the H1 (Heading, class rc-ai-hero-sub) */
.rc-ai-hero-sub { margin-bottom: 16px !important; }
.rc-ai-hero-sub .elementor-heading-title {
  font-family: var(--rc-font-head) !important;
  font-size: clamp(18px, 1.6vw, 22px) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
  color: var(--rc-white) !important;
  max-width: 560px !important;
  margin: 0 !important;
}

/* Optional: trust strip inside the hero, under the buttons */
.rc-ai-hero .rc-ai-trust-grid {
  margin-top: 56px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--rc-line-dark) !important;
}
/* Focal point per page: rc-ai-hero-media > Advanced > Custom CSS:
   body.elementor-page-34201 { --rc-hero-focus: 65% center; } */


/* -- 6. TRUST STRIP ------------------------------------------ */
.rc-ai-trust {
  background: var(--rc-primary) !important;
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}
.rc-ai-trust-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important;
}
.rc-ai-trust-item {
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 4px 24px !important;
  border-left: 1px solid var(--rc-line-dark) !important;
}
/* Short and long texts sit in the middle of the row, not at the top */
.rc-ai-trust-item > .elementor-widget-container { width: 100% !important; }
.rc-ai-trust-item:first-child {
  padding-left: 0 !important;
  border-left: 0 !important;
}
.rc-ai-trust-item .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  text-align: left !important;
}
.rc-ai-trust-item .elementor-icon-box-icon {
  display: flex !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
.rc-ai-trust-item .elementor-icon {
  font-size: 24px !important;
  color: var(--rc-icon, #71B3E6) !important;
  fill: var(--rc-icon, #71B3E6) !important;
}
.rc-ai-trust-item .elementor-icon svg {
  width: 24px !important;
  height: 24px !important;
  fill: var(--rc-icon, #71B3E6) !important;
}
.rc-ai-trust-item .elementor-icon-box-content { min-width: 0 !important; }
.rc-ai-trust-item .elementor-icon-box-title,
.rc-ai-trust-item .elementor-icon-box-title span,
.rc-ai-trust-item .elementor-icon-box-title a {
  font-family: var(--rc-font-ui) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: var(--rc-on-dark) !important;
  margin: 0 !important;
}


/* -- 7. RECAB WIDGETS (categories, tabs, product grid) ----- */
/* Cards, tabs and pagination are styled by the Recab Elementor plugin
   from the Foundation tokens. Only spacing on this page is set here. */
.rc-ai-section .rc-filter { margin-bottom: 28px; }
.rc-ai-section--subtle .rc-card--post { background: var(--rc-white); }
/* A section that only holds a grid with no results disappears
   (sub-category cards on a sub-category archive). */
.rc-ai-hide-empty:has(.rc-grid--empty) { display: none !important; }


/* -- 9. WHY RECAB FOR AI ------------------------------------- */
.rc-ai-why-inner {
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 56px !important;
}
.rc-ai-why-intro {
  flex: 0 0 340px !important;
  width: 340px !important;
}
.rc-ai-why-intro .rc-ai-h2 { margin-bottom: 20px !important; }
.rc-ai-why-intro .rc-ai-lead { margin-bottom: 32px !important; }

/* 8 items, divider lines between them; outer edges clipped */
.rc-ai-why-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.rc-ai-why-grid > .rc-ai-why-item {
  width: auto !important;
  min-width: 0 !important;
  margin: -1px 0 0 -1px !important;
  padding: 22px !important;
  border-left: 1px solid var(--rc-line-dark) !important;
  border-top: 1px solid var(--rc-line-dark) !important;
}
.rc-ai-why-item .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 14px !important;
  text-align: left !important;
}
.rc-ai-why-item .elementor-icon-box-icon {
  display: flex !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
.rc-ai-why-item .elementor-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  font-size: 18px !important;
  color: var(--rc-icon, #71B3E6) !important;
  fill: var(--rc-icon, #71B3E6) !important;
  border: 1px solid var(--rc-line-dark) !important;
  border-radius: 50% !important;
}
.rc-ai-why-item .elementor-icon svg {
  width: 18px !important;
  height: 18px !important;
  fill: var(--rc-icon, #71B3E6) !important;
}
.rc-ai-why-item .elementor-icon-box-content { min-width: 0 !important; }
.rc-ai-why-item .elementor-icon-box-title,
.rc-ai-why-item .elementor-icon-box-title span,
.rc-ai-why-item .elementor-icon-box-title a {
  font-family: var(--rc-font-head) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--rc-white) !important;
}
.rc-ai-why-item .elementor-icon-box-title { margin: 0 0 4px !important; }
.rc-ai-why-item .elementor-icon-box-description {
  font-family: var(--rc-font-ui) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--rc-on-dark-muted) !important;
  margin: 0 !important;
}


/* -- 10. PHOTO SECTIONS (resource banner, final CTA) --------- */
/* Background image set on the container (Style > Background > Classic).
   rgba(8, 21, 40, x) = --rc-primary with transparency. */
.rc-ai-photo {
  position: relative !important;
  overflow: hidden !important;
  background-color: var(--rc-primary) !important;
  background-size: cover !important;
  background-position: center right !important;
  background-repeat: no-repeat !important;
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}
.rc-ai-photo::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  background: linear-gradient(90deg, rgba(8, 21, 40, 0.96) 0%, rgba(8, 21, 40, 0.82) 50%, rgba(8, 21, 40, 0.55) 100%) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
/* Angled navy panel on the left (resource banner) */
.rc-ai-photo--angled::before {
  background: linear-gradient(105deg, var(--rc-primary) 0%, var(--rc-primary) 48%, rgba(8, 21, 40, 0.55) 48.2%, rgba(8, 21, 40, 0.2) 100%) !important;
}
.rc-ai-photo > * {
  position: relative !important;
  z-index: 1 !important;
}

/* Resource banner */
.rc-ai-resource-inner {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 48px !important;
}
.rc-ai-resource-content {
  flex: 0 1 560px !important;
  width: auto !important;
  min-width: 0 !important;
}
.rc-ai-resource-content .rc-ai-h2 { margin-bottom: 18px !important; }
.rc-ai-resource-content .rc-ai-lead { margin-bottom: 28px !important; }
.rc-ai-resource-cover {
  flex: 0 0 280px !important;
  width: 280px !important;
  margin-right: 6% !important;
}
.rc-ai-resource-cover img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  transform: rotate(-8deg) !important;
  filter: drop-shadow(0 24px 32px rgba(0, 0, 0, 0.45)) !important;
}

/* Final CTA */
.rc-ai-cta-inner {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px 48px !important;
}
.rc-ai-cta-content {
  flex: 1 1 480px !important;
  width: auto !important;
  max-width: 600px !important;
  min-width: 0 !important;
}
.rc-ai-cta-content .rc-ai-h2 { margin-bottom: 12px !important; }
.rc-ai-cta .rc-ai-btn-row { flex-shrink: 0 !important; }


/* -- 11. WHERE AI IS DEPLOYED -------------------------------- */
/* Each card is a container with Link set (renders as <a>) */
.rc-ai-ind {
  display: flex !important;
  overflow: hidden !important;
  background: var(--rc-white) !important;
  border-radius: var(--rc-radius) !important;
  text-decoration: none !important;
  transition: box-shadow 0.2s !important;
}
.rc-ai-ind:hover { box-shadow: var(--rc-shadow) !important; }
.rc-ai-ind:focus-visible {
  outline: 2px solid var(--rc-accent) !important;
  outline-offset: 2px !important;
}
.rc-ai-ind-img {
  width: 100% !important;
  overflow: hidden !important;
}
.rc-ai-ind-img img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  transition: transform 0.4s ease !important;
}
.rc-ai-ind:hover .rc-ai-ind-img img { transform: scale(1.04) !important; }
.rc-ai-ind-title { padding: 14px 18px !important; }
.rc-ai-ind-title .elementor-heading-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  font-family: var(--rc-font-head) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--rc-primary) !important;
  margin: 0 !important;
}
.rc-ai-ind-title .elementor-heading-title::after {
  content: "" !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  background-color: var(--rc-primary) !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform 0.2s, background-color 0.2s !important;
}
.rc-ai-ind:hover .rc-ai-ind-title .elementor-heading-title::after {
  background-color: var(--rc-accent) !important;
  transform: translateX(3px) !important;
}


/* -- 12. FAQ (Elementor nested Accordion) -------------------- */
.rc-ai-faq-inner {
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 56px !important;
}
.rc-ai-faq-intro {
  flex: 0 0 340px !important;
  width: 340px !important;
}
.rc-ai-faq-intro .rc-ai-h2 { margin-bottom: 20px !important; }
.rc-ai-faq {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}
.rc-ai-faq .e-n-accordion {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.rc-ai-faq .e-n-accordion-item {
  margin: 0 !important;
  border-bottom: 1px solid var(--rc-border) !important;
}
.rc-ai-faq .e-n-accordion-item:first-child { border-top: 1px solid var(--rc-border) !important; }
.rc-ai-faq .e-n-accordion-item-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 20px 0 !important;
  background: transparent !important;
  border: 0 !important;
  list-style: none !important;
  cursor: pointer !important;
}
.rc-ai-faq .e-n-accordion-item-title::-webkit-details-marker { display: none !important; }
.rc-ai-faq .e-n-accordion-item-title-text {
  font-family: var(--rc-font-head) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: var(--rc-primary) !important;
  transition: color 0.2s !important;
}
.rc-ai-faq .e-n-accordion-item-title:hover .e-n-accordion-item-title-text { color: var(--rc-accent) !important; }
.rc-ai-faq .e-n-accordion-item-title-icon i {
  font-size: 14px !important;
  color: var(--rc-accent) !important;
}
.rc-ai-faq .e-n-accordion-item-title-icon svg {
  width: 14px !important;
  height: 14px !important;
  fill: var(--rc-accent) !important;
}
.rc-ai-faq .e-n-accordion-item > .e-con {
  padding: 0 0 22px !important;
  background: transparent !important;
  border: 0 !important;
}
.rc-ai-faq .e-n-accordion-item > .e-con,
.rc-ai-faq .e-n-accordion-item > .e-con p {
  font-family: var(--rc-font-head) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: var(--rc-text) !important;
}
.rc-ai-faq .e-n-accordion-item > .e-con p { margin: 0 0 10px !important; }
.rc-ai-faq .e-n-accordion-item > .e-con p:last-child { margin-bottom: 0 !important; }
.rc-ai-faq .e-n-accordion-item > .e-con a {
  color: var(--rc-primary) !important;
  text-decoration: underline !important;
}
.rc-ai-faq .e-n-accordion-item > .e-con a:hover { color: var(--rc-accent) !important; }


/* -- 13. WIDESCREEN (>=1440px) ------------------------------- */
@media (min-width: 1440px) {
  .rc-ai-wrap { max-width: 1280px !important; }
  .rc-ai-hero-inner { min-height: 720px !important; }
}


/* -- 14. TABLET (<=1024px) ----------------------------------- */
@media (max-width: 1024px) {
  .rc-ai-section {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
  .rc-ai-head { margin-bottom: 32px !important; }
  .rc-ai-head--split {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
  .rc-ai-head-text,
  .rc-ai-head--split > .rc-ai-lead {
    flex: none !important;
    width: 100% !important;
    max-width: 640px !important;
    padding-top: 0 !important;
  }

  /* Hero: text first, image below, fading in from the top */
  .rc-ai-hero-inner {
    min-height: 0 !important;
    padding-bottom: 0 !important;
  }
  .rc-ai-hero-content {
    max-width: 640px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 40px !important;
  }
  .rc-ai-hero-media {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: calc(100% + 48px) !important;
    margin: 8px -24px 0 !important;
    height: auto !important;
    aspect-ratio: 1373 / 793 !important;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 22%, #000 88%, transparent 100%) !important;
    mask-image: linear-gradient(180deg, transparent 0%, #000 22%, #000 88%, transparent 100%) !important;
  }
  .rc-ai-hero::after {
    background: radial-gradient(ellipse 60% 22% at 50% 82%, rgba(232, 115, 55, 0.22) 0%, transparent 70%) !important;
  }

  /* Trust strip: 2 x 2 */
  .rc-ai-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 24px !important;
  }
  .rc-ai-trust-item,
  .rc-ai-trust-item:first-child {
    padding: 0 !important;
    border-left: 0 !important;
  }

  /* Grids */
  .rc-ai-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* Why: stack */
  .rc-ai-why-inner {
    flex-direction: column !important;
    gap: 40px !important;
  }
  .rc-ai-why-intro {
    flex: none !important;
    width: 100% !important;
    max-width: 640px !important;
  }
  .rc-ai-why-grid {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* Resource */
  .rc-ai-photo--angled::before {
    background: linear-gradient(105deg, var(--rc-primary) 0%, var(--rc-primary) 58%, rgba(8, 21, 40, 0.7) 58.2%, rgba(8, 21, 40, 0.45) 100%) !important;
  }
  .rc-ai-resource-cover {
    flex: 0 0 200px !important;
    width: 200px !important;
    margin-right: 0 !important;
  }

  /* FAQ: stack */
  .rc-ai-faq-inner {
    flex-direction: column !important;
    gap: 32px !important;
  }
  .rc-ai-faq-intro {
    flex: none !important;
    width: 100% !important;
    max-width: 640px !important;
  }
  .rc-ai-faq { width: 100% !important; }

  /* Final CTA: stack */
  .rc-ai-cta-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .rc-ai-cta-content { flex: none !important; width: 100% !important; }
}


/* -- 15. MOBILE (<=767px) ------------------------------------ */
@media (max-width: 767px) {
  .rc-ai-wrap {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .rc-ai-section {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
  .rc-ai-head { margin-bottom: 28px !important; }
  .rc-ai-lead,
  .rc-ai-lead p { font-size: 15px !important; }

  /* Hero */
  .rc-ai-hero-inner { padding-top: 20px !important; }
  .rc-ai-hero-content { padding-top: 32px !important; max-width: 100% !important; }
  .rc-ai-hero .rc-ai-lead { margin-bottom: 28px !important; }
  .rc-ai-hero-media {
    width: calc(100% + 40px) !important;
    margin: 8px -20px 0 !important;
  }
  .rc-ai-hero::before { background-size: 40px 40px !important; }
  .rc-ai-hero-sub .elementor-heading-title { max-width: 100% !important; }
  .rc-ai-hero .rc-ai-trust-grid { margin-top: 40px !important; }
  /* Recab Buttons full width, stacked */
  .rc-ai-btn-row .rc-button-wrap,
  .rc-ai-btn-row .rc-button { width: 100% !important; }

  /* Full-width buttons */
  .rc-ai-btn-row {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }
  .rc-ai-btn-row > .elementor-widget { width: 100% !important; }
  .rc-ai-btn-row .elementor-button {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Trust strip */
  .rc-ai-trust { padding-top: 24px !important; padding-bottom: 24px !important; }
  .rc-ai-trust-grid { gap: 16px !important; }
  .rc-ai-trust-item .elementor-icon-box-wrapper { gap: 10px !important; }
  .rc-ai-trust-item .elementor-icon { font-size: 20px !important; }
  .rc-ai-trust-item .elementor-icon svg { width: 20px !important; height: 20px !important; }
  .rc-ai-trust-item .elementor-icon-box-title,
  .rc-ai-trust-item .elementor-icon-box-title span { font-size: 12px !important; }

  /* Industries grid: 1 column by default (2 for the industry cards below) */
  .rc-ai-grid--3 { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }

  /* Why: 1 column */
  .rc-ai-why-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .rc-ai-why-grid > .rc-ai-why-item { padding: 18px 0 !important; border-left: 0 !important; }

  /* Resource: no cover, flat overlay */
  .rc-ai-photo { padding-top: 56px !important; padding-bottom: 56px !important; }
  .rc-ai-photo--angled::before { background: rgba(8, 21, 40, 0.88) !important; }
  .rc-ai-resource-cover { display: none !important; }

  /* Industries: 2 columns, compact */
  .rc-ai-grid--3.rc-ai-ind-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .rc-ai-ind-img img { aspect-ratio: 4 / 3 !important; }
  .rc-ai-ind-title { padding: 12px 14px !important; }
  .rc-ai-ind-title .elementor-heading-title { font-size: 14px !important; gap: 8px !important; }
  .rc-ai-ind-title .elementor-heading-title::after { flex-basis: 16px !important; width: 16px !important; height: 16px !important; }

  /* FAQ */
  .rc-ai-faq .e-n-accordion-item-title { padding: 18px 0 !important; }
  .rc-ai-faq .e-n-accordion-item-title-text { font-size: 15px !important; }
}


/* -- 16. REDUCED MOTION -------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rc-ai-ind:hover .rc-ai-ind-img img,
    .rc-ai-ind:hover .rc-ai-ind-title .elementor-heading-title::after,
  .rc-ai-link .elementor-button:hover .elementor-button-icon {
    transform: none !important;
  }
}





/* ============================================================
   INDUSTRY CARDS (rc-pp-ind-) - image + title + arrow
   Tokens (--rc-*) come from recab-foundation.css in Site Settings.
   Light: default.
   Dark: put the grid inside a container with the class
   rc-pp-section--dark, or add rc-pp-ind-grid--dark to the grid itself.
   ============================================================ */

/* Container reset (neutralises Elementor's padding/gap on these containers) */
.e-con.rc-pp-grid,
.e-con.rc-pp-ind-card,
.e-con.rc-pp-ind-label {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --gap: 0px;
  --row-gap: 0px;
  --column-gap: 0px;
}

/* Grid */
.rc-pp-grid {
  display: grid !important;
  gap: 16px !important;
  width: 100% !important;
}
.rc-pp-grid > * {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.rc-pp-ind-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

/* Card (light) */
.rc-pp-ind-card {
  background: var(--rc-white) !important;
  border: 1px solid var(--rc-border) !important;
  border-radius: var(--rc-radius) !important;
  overflow: hidden !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.rc-pp-ind-card:hover {
  border-color: var(--rc-border-hover) !important;
  box-shadow: var(--rc-shadow) !important;
}

/* Photo: cover, 16:9 */
.rc-pp-ind-img img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  display: block !important;
}

/* Title + arrow */
.rc-pp-ind-label { padding: 14px 16px !important; }
.rc-pp-ind-label .elementor-heading-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  font-family: var(--rc-font-head) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--rc-primary) !important;
  margin: 0 !important;
}
.rc-pp-ind-label .elementor-heading-title::after {
  content: "" !important;
  flex-shrink: 0 !important;
  width: 18px !important;
  height: 18px !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat !important;
  transition: transform 0.3s ease !important;
}
.rc-pp-ind-card:hover .rc-pp-ind-label .elementor-heading-title::after {
  transform: rotate(45deg) !important;
}

/* Card (dark) */
.rc-pp-section--dark .rc-pp-ind-card,
.rc-pp-ind-grid--dark .rc-pp-ind-card {
  background: var(--rc-primary-2) !important;
  border-color: var(--rc-line-dark) !important;
}
.rc-pp-section--dark .rc-pp-ind-card:hover,
.rc-pp-ind-grid--dark .rc-pp-ind-card:hover {
  border-color: var(--rc-line-dark-hover) !important;
  box-shadow: none !important;
}
.rc-pp-section--dark .rc-pp-ind-label .elementor-heading-title,
.rc-pp-ind-grid--dark .rc-pp-ind-label .elementor-heading-title {
  color: var(--rc-white) !important;
}

/* Tablet: 2 columns */
@media (max-width: 1024px) {
  .rc-pp-ind-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Mobile: 2 columns, tighter */
@media (max-width: 767px) {
  .rc-pp-ind-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .rc-pp-ind-label { padding: 12px !important; }
  .rc-pp-ind-label .elementor-heading-title { font-size: 13px !important; }
}/* End custom CSS */