/* ==========================================================================
   RP IT Solutions — Typography
   Paste into: Divi → Theme Options → General → Custom CSS

   9 classes. Font properties only — colours and layout stay in the Divi UI.

   rp-label        small uppercase label      13px
   rp-h1           page headline              40 → 76px
   rp-h2           section heading            28 → 44px
   rp-card-title   big card heading           30px
   rp-h3           card heading               24px
   rp-h4           small heading              20px
   rp-lead         intro paragraph            20px
   rp-text         normal paragraph           16px
   rp-note         caption / meta             14px
   ========================================================================== */

:root {
  --rp-font: 'Instrument Sans', system-ui, -apple-system, sans-serif;
}

/* ==========================================================================
   LABEL — the small uppercase line above a heading
   add rp-square  for the orange square
   add rp-center  to centre it
   ========================================================================== */


h3, p, h2 {
padding-bottom:0px !important;
}
.rp-label, .rp-label p, .rp-label span, .rp-label li {
  font-family: var(--rp-font) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

.rp-square {
  display: flex !important;
  align-items: center;
  gap: 10px;
}

.rp-square::before {
  content: "";
  display: block;
  flex: none;
  width: 8px;
  height: 8px;
  background: #C2410C;
}

.rp-center {
  justify-content: center;
  text-align: center !important;
}

/* ==========================================================================
   HEADINGS
   ========================================================================== */

.rp-h1, .rp-h1 h1, .rp-h1 h2, .rp-h1 h3, .rp-h1 h4, .rp-h1 h5, .rp-h1 h6,
.rp-h2, .rp-h2 h1, .rp-h2 h2, .rp-h2 h3, .rp-h2 h4, .rp-h2 h5, .rp-h2 h6,
.rp-card-title, .rp-card-title h1, .rp-card-title h2, .rp-card-title h3,
.rp-card-title h4, .rp-card-title h5, .rp-card-title h6, .rp-card-title span,
.rp-h3, .rp-h3 h1, .rp-h3 h2, .rp-h3 h3, .rp-h3 h4, .rp-h3 h5, .rp-h3 h6,
.rp-h4, .rp-h4 h1, .rp-h4 h2, .rp-h4 h3, .rp-h4 h4, .rp-h4 h5, .rp-h4 h6 {
  font-family: var(--rp-font) !important;
  font-weight: 600 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rp-h1, .rp-h1 h1, .rp-h1 h2, .rp-h1 h3, .rp-h1 h4, .rp-h1 h5, .rp-h1 h6 {
  font-size: clamp(40px, 5.2vw, 76px) !important;
  line-height: 1.03 !important;
  letter-spacing: -0.03em !important;
}

.rp-h2, .rp-h2 h1, .rp-h2 h2, .rp-h2 h3, .rp-h2 h4, .rp-h2 h5, .rp-h2 h6 {
  font-size: clamp(28px, 3.2vw, 44px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
}

.rp-card-title, .rp-card-title h1, .rp-card-title h2, .rp-card-title h3,
.rp-card-title h4, .rp-card-title h5, .rp-card-title h6, .rp-card-title span {
  font-size: 30px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em !important;
}

.rp-h3, .rp-h3 h1, .rp-h3 h2, .rp-h3 h3, .rp-h3 h4, .rp-h3 h5, .rp-h3 h6 {
  font-size: 24px !important;
  line-height: 1.2 !important;
}

.rp-h4, .rp-h4 h1, .rp-h4 h2, .rp-h4 h3, .rp-h4 h4, .rp-h4 h5, .rp-h4 h6 {
  font-size: 20px !important;
  line-height: 1.3 !important;
}

/* ==========================================================================
   PARAGRAPHS
   ========================================================================== */

.rp-lead, .rp-lead p, .rp-lead span, .rp-lead li,
.rp-text, .rp-text p, .rp-text span, .rp-text li,
.rp-note, .rp-note p, .rp-note span, .rp-note li {
  font-family: var(--rp-font) !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

.rp-text-17 p, .rp-text-17 a, .rp-text-17 li, .rp-text-17 span, .rp-text-17 div, .rp-text-17{
  font-family: var(--rp-font) !important;
  font-size:17px !important;
  font-weight: 400 !important;
  margin: 0 !important;
  line-height:1.6 !important;
}

.rp-lead, .rp-lead p, .rp-lead span, .rp-lead li {
  font-size: 20px !important;
  line-height: 1.5 !important;
}

.rp-text, .rp-text p, .rp-text span, .rp-text li {
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.rp-note, .rp-note p, .rp-note span, .rp-note li {
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.rp-stat, .rp-stat p, .rp-stat span,
.rp-stat h1, .rp-stat h2, .rp-stat h3, .rp-stat h4 {
  font-family: var(--rp-font) !important;
  font-size: 36px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
}

.rp-small, .rp-small p, .rp-small span {
  font-family: var(--rp-font) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.rp-badge, .rp-badge p, .rp-badge span {
  font-family: var(--rp-font) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.04em !important;
  margin: 0 !important;
/* 	color:#1c1917 !important; */
}

.rp-h5{
line-height: 1.6em !important;
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767px) {
  .rp-lead, .rp-lead p, .rp-lead span { font-size: 17px !important; }

  .rp-card-title, .rp-card-title h1, .rp-card-title h2, .rp-card-title h3,
  .rp-card-title h4, .rp-card-title h5, .rp-card-title h6, .rp-card-title span {
    font-size: 24px !important;
  }
}










/* ==========================================================================
   Service page — additions to typography.css
   Append these to the bottom of assets/css/typography.css
   ========================================================================== */

/* H1 — smaller than the homepage hero (38→64 vs 40→76) */
.rp-h1-sm, .rp-h1-sm h1, .rp-h1-sm h2, .rp-h1-sm h3,
.rp-h1-sm h4, .rp-h1-sm h5, .rp-h1-sm h6 {
  font-family: var(--rp-font) !important;
  font-size: clamp(38px, 4.6vw, 64px) !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rp-h1-72, .rp-h1-72 h1, .rp-h1-72 h2 {
  font-size: clamp(40px, 5vw, 72px) !important;
  line-height: 1.03 !important;
  letter-spacing: -0.03em !important;
  font-weight:600 !important;
}

/* Sub-headline — 19px, one notch below the homepage lead */
.rp-lead-sm, .rp-lead-sm p, .rp-lead-sm span, .rp-lead-sm li {
  font-family: var(--rp-font) !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* 22px heading — form titles, and the "Working with us" card headings */
.rp-h5, .rp-h5 h1, .rp-h5 h2, .rp-h5 h3, .rp-h5 h4, .rp-h5 h5, .rp-h5 h6 {
  font-family: var(--rp-font) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Form field labels */
.rp-form-label, .rp-form-label p, .rp-form-label span, .rp-form-label label {
  font-family: var(--rp-font) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

/* Breadcrumb */
.rp-crumb, .rp-crumb p, .rp-crumb span, .rp-crumb a, .rp-crumb li {
  font-family: var(--rp-font) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Trust bar — "5/5 on Google · 57 reviews" strip */
.rp-trust, .rp-trust p, .rp-trust span, .rp-trust a, .rp-trust li {
  font-family: var(--rp-font) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em !important;
  margin: 0 !important;
}

/* Card description — services grid */
.rp-card-text, .rp-card-text p, .rp-card-text span, .rp-card-text li {
  font-family: var(--rp-font) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  padding: 0 !important;
  margin-top: 12px !important;
  
}

/* Process step number — "01" to "05" */
.rp-step-num, .rp-step-num p, .rp-step-num span {
  font-family: var(--rp-font) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.02em !important;
  color: #C2410C !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Card description — services grid and process steps */
.rp-card-desc, .rp-card-desc p, .rp-card-desc span, .rp-card-desc li {
  font-family: var(--rp-font) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* Link — "All case studies →" */
.rp-text-link, .rp-text-link a, .rp-text-link p, .rp-text-link span {
  font-family: var(--rp-font) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #1C1917 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  margin: 0 !important;
  padding: 0 !important;
}

/* Card meta line — category · industry */
.rp-meta, .rp-meta p, .rp-meta span {
  font-family: var(--rp-font) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #57534E !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Card result line — "40% reduction in…" */
.rp-result, .rp-result p, .rp-result span {
  font-family: var(--rp-font) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #1C1917 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 21px — "What we build" card titles */
.rp-h5-2,
.rp-h5-2 h1, .rp-h5-2 h2, .rp-h5-2 h3,
.rp-h5-2 h4, .rp-h5-2 h5, .rp-h5-2 h6 {
  font-family: var(--rp-font) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  padding: 0 !important;
}


@media (max-width: 767px) {
  .rp-lead-sm, .rp-lead-sm p, .rp-lead-sm span { font-size: 17px !important; }
}



/* 18px body copy — Our story, founder note */
.rp-body-18, .rp-body-18 p, .rp-body-18 span, .rp-body-18 li {
  font-family: var(--rp-font) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.rp-body-19, .rp-body-19 p, .rp-body-19 span, .rp-body-19 li {
  font-family: var(--rp-font) !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
.rp-quote-lg, .rp-quote-lg p {
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  margin: 0 !important;
}

.rp-h2-md,
.rp-h2-md h1, .rp-h2-md h2, .rp-h2-md h3,
.rp-h2-md h4, .rp-h2-md h5, .rp-h2-md h6 {
  font-size: clamp(26px, 2.8vw, 38px) !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
}

.rp-h6, .rp-h6 h1, .rp-h6 h2, .rp-h6 h3, .rp-h6 h4 {
  font-size: 18px !important; line-height: 1.3 !important;
  font-weight: 600 !important; margin: 0 !important;
}






/* ==========================================================================
   SEO tab panel — type and colour
   ========================================================================== */

/* 13px — "04 / 10" counter */
.rp-count {
  font-family: var(--rp-font) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.04em !important;
  color: #57534E !important;
  margin: 0 !important;
}

/* 24px — panel heading */
.rp-tab-title, h3.rp-tab-title {
  font-family: var(--rp-font) !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  color: #1C1917 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 16px — panel body copy */
.rp-tab-text, p.rp-tab-text {
  font-family: var(--rp-font) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: #44403C !important;
  margin: 0 !important;
}

/* 15px — "Next: … →" link */
.rp-next, a.rp-next {
  display: inline-block !important;
  font-family: var(--rp-font) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #1C1917 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  margin: 0 !important;
}

.rp-next:hover, a.rp-next:hover {
  color: #C2410C !important;
}

.rp-faq-accordion .et_pb_toggle_title {
  font-size: 18px !important;        /* was 18px */
}

.rp-faq-accordion .et_pb_toggle_content {
  font-size: 16px !important;        /* was 16px */
  color: #57534E !important;
}


.rp-count { font-size: 13px !important; font-weight: 500 !important;
            letter-spacing: 0.04em !important; color: #57534E !important;
            margin: 0 0 0px !important; }

.rp-next  { display: inline-block !important; font-size: 15px !important;
            font-weight: 600 !important; color: #1C1917 !important;
            text-decoration: underline !important; text-underline-offset: 3px; }