.elementor-7 .elementor-element.elementor-element-5550946d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-593f5cb{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-e7934d3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-4641025d{font-family:"Public Sans", Sans-serif;}.elementor-7 .elementor-element.elementor-element-131b74d0 .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-9c5fa95 .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-cad5d87{font-family:"Public Sans", Sans-serif;}.elementor-7 .elementor-element.elementor-element-43d45b2f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-6fa62198{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-2a550336{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-40dde176{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-1d371aaa .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-10f89144 .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-ed037a0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-6a8216e .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-2d3c07ca{font-family:"Public Sans", Sans-serif;}.elementor-7 .elementor-element.elementor-element-44b4245c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-8b373d4 .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-2894d463{font-family:"Public Sans", Sans-serif;}.elementor-7 .elementor-element.elementor-element-47a90c2d .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-2224582 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-7 .elementor-element.elementor-element-2224582 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-7 .elementor-element.elementor-element-2224582{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-7 .elementor-element.elementor-element-2224582 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-7 .elementor-element.elementor-element-2224582 .elementor-icon-list-item > a{font-family:"Public Sans", Sans-serif;}.elementor-7 .elementor-element.elementor-element-2224582 .elementor-icon-list-text{transition:color 0.3s;}.elementor-7 .elementor-element.elementor-element-35328d15{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-6589da66{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-4a7e82e7 .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-56a962f6 .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-60c7ba7c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-70a23dc4 .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-23842bf0{font-family:"Public Sans", Sans-serif;}.elementor-7 .elementor-element.elementor-element-31abb0d3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-78a0d2ac .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-5c400f9e{font-family:"Public Sans", Sans-serif;}.elementor-7 .elementor-element.elementor-element-714b8520 .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-46c92fce .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-7 .elementor-element.elementor-element-46c92fce .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-7 .elementor-element.elementor-element-46c92fce{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-7 .elementor-element.elementor-element-46c92fce .elementor-icon-list-item > .elementor-icon-list-text, .elementor-7 .elementor-element.elementor-element-46c92fce .elementor-icon-list-item > a{font-family:"Public Sans", Sans-serif;}.elementor-7 .elementor-element.elementor-element-46c92fce .elementor-icon-list-text{transition:color 0.3s;}.elementor-7 .elementor-element.elementor-element-53740182{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-9350bd3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-49fca40c .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-49f0723a .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-6a602626{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-48ff1cee .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-7a43e861{font-family:"Public Sans", Sans-serif;}.elementor-7 .elementor-element.elementor-element-5ba4147{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-3ced51ba .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-3c027747{font-family:"Public Sans", Sans-serif;}.elementor-7 .elementor-element.elementor-element-7680a546 .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-3572f02f .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-7 .elementor-element.elementor-element-3572f02f .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-7 .elementor-element.elementor-element-3572f02f{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-7 .elementor-element.elementor-element-3572f02f .elementor-icon-list-item > .elementor-icon-list-text, .elementor-7 .elementor-element.elementor-element-3572f02f .elementor-icon-list-item > a{font-family:"Public Sans", Sans-serif;}.elementor-7 .elementor-element.elementor-element-3572f02f .elementor-icon-list-text{transition:color 0.3s;}.elementor-7 .elementor-element.elementor-element-e304abc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-5c609ef3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-47a14266 .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-17a13b7d{font-family:"Public Sans", Sans-serif;}.elementor-7 .elementor-element.elementor-element-10463a8d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-549b76d6{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-533f312f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-4792f70b .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;}.elementor-7 .elementor-element.elementor-element-535c5d27{font-family:"Public Sans", Sans-serif;}.elementor-7 .elementor-element.elementor-element-addc243{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-5eba085c .elementor-button{font-family:"Public Sans", Sans-serif;}:root{--page-title-display:none;}/* Start custom CSS *//* =========================================================
   CSR INFOTECH · SERVICES
   COMPLETE COPY-PASTE CSS
   Elementor → Site Settings → Custom CSS
   ========================================================= */

@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,700;12..96,800&family=Public+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap");


/* =========================================================
   01. GLOBAL VARIABLES
   ========================================================= */

:root {
  --csr-paper: #F3F6F4;
  --csr-paper2: #E8EDEA;
  --csr-white: #FFFFFF;

  --csr-ink: #16222A;
  --csr-slate: #4B5A63;

  --csr-pine: #123C38;
  --csr-pine2: #1B5049;

  --csr-rule: #D5DDD9;
  --csr-signal: #EE5B07;

  --csr-display:
    "Bricolage Grotesque",
    "Public Sans",
    system-ui,
    sans-serif;

  --csr-body:
    "Public Sans",
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    sans-serif;
}


/* =========================================================
   02. BASE
   ========================================================= */

html {
  scroll-behavior: smooth;
}

body {
  background: var(--csr-paper);
  color: var(--csr-ink);
  font-family: var(--csr-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.csr-s {
  box-sizing: border-box;
}

.csr-s *,
.csr-s *::before,
.csr-s *::after {
  box-sizing: border-box;
}


/* =========================================================
   03. PAGE LOAD FADE
   Single page-load animation only.
   No scroll-triggered animations.
   ========================================================= */

@media (prefers-reduced-motion: no-preference) {

  body {
    animation:
      csrPageLoad
      .7s
      cubic-bezier(.22, .61, .36, 1)
      both;
  }

  @keyframes csrPageLoad {
    from {
      opacity: 0;
      transform: translateY(8px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}


/* =========================================================
   04. ELEMENTOR RESET / NORMALIZATION
   ========================================================= */

.e-con.csr-s {
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --padding-right: 0;

  padding: 104px 0 !important;

  font-family: var(--csr-body);
  font-size: 17px;
  line-height: 1.6;

  color: var(--csr-ink);

  background: var(--csr-paper);

  -webkit-font-smoothing: antialiased;
}

.csr-s .e-con {
  padding: 0 !important;

  gap: 0 !important;

  --gap: 0px;
  --row-gap: 0px;
  --column-gap: 0px;

  min-height: 0 !important;
}

.csr-s .elementor-widget {
  margin: 0 !important;
}

.csr-s .elementor-widget-text-editor p {
  margin: 0;
}

.csr-s .elementor-heading-title {
  margin: 0 !important;
  color: var(--csr-ink);
}

.csr-s a {
  color: inherit;
}

.csr-s img {
  max-width: 100%;
  height: auto;
}

.csr-s :focus-visible {
  outline: 3px solid var(--csr-signal);
  outline-offset: 3px;
  border-radius: 4px;
}


/* =========================================================
   05. CONTENT WRAPPER
   ========================================================= */

.csr-s .e-con.csr-wrap {
  width: 100%;
  max-width: 1180px;

  margin: 0 auto;

  padding: 0 32px !important;
}


/* =========================================================
   06. TYPOGRAPHY
   ========================================================= */

.csr-s .csr-h2 .elementor-heading-title {
  font-family: var(--csr-display) !important;

  font-size: clamp(2rem, 3.6vw, 3rem) !important;

  line-height: 1.05 !important;

  letter-spacing: -0.03em;

  font-weight: 800 !important;
}

.csr-s .csr-h3 .elementor-heading-title {
  font-family: var(--csr-display) !important;

  font-size: 1.2rem !important;

  line-height: 1.25 !important;

  letter-spacing: -0.01em;

  font-weight: 700 !important;
}

.csr-s .csr-intro {
  max-width: 36rem;

  color: var(--csr-slate);

  font-size: 1.1rem;
}

.csr-s .csr-muted {
  color: var(--csr-slate);
}


/* =========================================================
   07. HEADER
   ========================================================= */

.e-con.csr-s.csr-top {
  padding: 22px 0 !important;

  background: var(--csr-paper);
}

.csr-s .csr-top-wrap {
  flex-direction: row !important;

  align-items: center;

  justify-content: space-between;

  gap: 2rem !important;
}

.csr-s .csr-brand .elementor-heading-title {
  font-family: var(--csr-display) !important;

  font-weight: 800 !important;

  font-size: 1.2rem !important;

  letter-spacing: -0.02em;
}

.csr-s .csr-brand .elementor-heading-title span {
  font-weight: 500;

  color: var(--csr-slate);
}

.csr-s .csr-navw {
  width: auto !important;
}

.csr-s .csr-nav {
  display: flex;

  gap: 2rem;

  font-size: 0.95rem;

  font-weight: 500;
}

.csr-s .csr-nav a {
  color: var(--csr-slate);

  text-decoration: none;

  transition:
    color 0.2s ease;
}

.csr-s .csr-nav a:hover {
  color: var(--csr-ink);
}


/* =========================================================
   08. SERVICES HERO
   ========================================================= */

.e-con.csr-s.csr-service-hero {
  padding: 56px 0 96px !important;

  background: var(--csr-paper);
}

.csr-s .csr-service-hero-wrap {
  display: grid !important;

  grid-template-columns: 1.05fr 0.95fr;

  gap: 5rem !important;

  align-items: center;
}

.csr-s .csr-service-hero-copy {
  max-width: 680px;
}


/* Eyebrow */

.csr-s .csr-eyebroww {
  margin-bottom: 1.2rem !important;
}

.csr-s .csr-eyebrow {
  font-size: 0.85rem;

  font-weight: 700;

  letter-spacing: 0.08em;

  text-transform: uppercase;

  color: var(--csr-signal);
}


/* Main heading */

.csr-s .csr-service-h1 .elementor-heading-title {
  font-family: var(--csr-display) !important;

  font-size: clamp(2.8rem, 5.8vw, 5rem) !important;

  line-height: 0.98 !important;

  letter-spacing: -0.045em;

  font-weight: 800 !important;
}


/* Secondary heading */

.csr-s .csr-service-soft {
  margin-top: 0.55rem !important;
}

.csr-s .csr-service-soft .elementor-heading-title {
  font-family: var(--csr-display) !important;

  color: var(--csr-slate) !important;

  font-size: clamp(1.55rem, 3vw, 2.6rem) !important;

  line-height: 1.08 !important;

  letter-spacing: -0.03em;

  font-weight: 500 !important;
}


/* Hero description */

.csr-s .csr-service-lede {
  max-width: 36rem;

  margin-top: 1.8rem !important;

  color: var(--csr-slate);

  font-size: 1.18rem;
}


/* Hero visual */

.csr-s .csr-service-hero-visual {
  min-height: 520px;

  display: flex;

  align-items: center;

  justify-content: center;
}

.csr-s .csr-service-hero-placeholder {
  width: 100%;
}


/* =========================================================
   09. HERO IMAGE PLACEHOLDER
   ========================================================= */

.csr-s .csr-image-placeholder {
  position: relative;

  width: 100%;

  max-width: 520px;

  aspect-ratio: 1 / 1;

  display: flex;

  align-items: center;

  justify-content: center;

  margin-left: auto;

  background: var(--csr-paper2);

  border: 1px solid var(--csr-rule);

  border-radius: 6px;

  color: var(--csr-slate);

  text-align: center;
}

.csr-s .csr-image-placeholder::before {
  content: "";

  position: absolute;

  inset: 18px;

  border: 1px dashed #B9C5C0;

  border-radius: 4px;
}

.csr-s .csr-image-placeholder span {
  position: relative;

  z-index: 1;

  padding: 0.7rem 1rem;

  background: var(--csr-paper2);

  font-size: 0.9rem;

  font-weight: 500;
}


/* =========================================================
   10. SERVICES LIST
   ========================================================= */

.e-con.csr-s.csr-services-list {
  padding-top: 0 !important;

  background: var(--csr-white);
}

.csr-s .csr-services-wrap {
  padding-top: 0 !important;
}


/* Individual service */

.csr-s .csr-service {
  display: grid !important;

  grid-template-columns: 0.34fr 1.66fr;

  gap: 5rem !important;

  padding: 7rem 0 !important;

  border-top: 1px solid var(--csr-rule);
}

.csr-s .csr-service:first-child {
  border-top: 0;
}


/* =========================================================
   11. SERVICE LABEL
   ========================================================= */

.csr-s .csr-service-label {
  align-self: start;

  position: sticky;

  top: 2rem;
}

.csr-s .csr-service-number .elementor-heading-title {
  margin-bottom: 0.75rem !important;

  font:
    700 0.85rem / 1
    var(--csr-body) !important;

  letter-spacing: 0.08em;

  color: var(--csr-signal) !important;
}

.csr-s .csr-service-name .elementor-heading-title {
  font-family: var(--csr-display) !important;

  font-size: 1.35rem !important;

  line-height: 1.15 !important;

  letter-spacing: -0.02em;

  font-weight: 700 !important;
}


/* =========================================================
   12. SERVICE CONTENT
   ========================================================= */

.csr-s .csr-service-say .elementor-heading-title {
  max-width: 50rem;

  font-family: var(--csr-display) !important;

  font-size: clamp(1.65rem, 2.7vw, 2.35rem) !important;

  line-height: 1.12 !important;

  letter-spacing: -0.03em;

  font-weight: 700 !important;
}


/* =========================================================
   13. SERVICE PILLS
   ========================================================= */

.csr-s .csr-pillsw {
  margin-top: 1.5rem !important;
}

.csr-s .csr-pills {
  display: flex;

  flex-wrap: wrap;

  gap: 0.5rem;
}

.csr-s .csr-pill {
  padding: 0.45rem 0.85rem;

  border: 1px solid var(--csr-rule);

  border-radius: 999px;

  background: var(--csr-paper);

  color: var(--csr-pine);

  font-size: 0.88rem;

  font-weight: 600;

  line-height: 1.2;
}


/* =========================================================
   14. GOOD FIT BOX
   ========================================================= */

.csr-s .csr-fit {
  margin-top: 2rem !important;

  padding: 1.25rem 1.4rem !important;

  background: var(--csr-paper) !important;

  border-radius: 6px;

  color: var(--csr-slate);
}

.csr-s .csr-fit-t .elementor-heading-title {
  font:
    700 17px / 1.6
    var(--csr-body) !important;
}

.csr-s .csr-fit-p {
  margin-top: 0.2rem !important;
}


/* =========================================================
   15. WHAT YOU GET
   ========================================================= */

.csr-s .csr-get-h {
  margin: 2.4rem 0 1.1rem !important;
}

.csr-s .csr-gets .elementor-icon-list-items {
  margin: 0 !important;

  padding: 0 !important;
}

.csr-s .csr-gets .elementor-icon-list-item {
  position: relative !important;

  display: flex;

  align-items: flex-start !important;

  padding: 1rem 0 1rem 2rem !important;

  margin: 0 !important;

  border-top: 1px solid var(--csr-rule) !important;
}

.csr-s .csr-gets .elementor-icon-list-item:last-child {
  border-bottom: 1px solid var(--csr-rule) !important;
}

.csr-s .csr-gets .elementor-icon-list-item::after {
  display: none !important;
}

.csr-s .csr-gets .elementor-icon-list-icon {
  display: none !important;
}


/* Small pine indicator */

.csr-s .csr-gets .elementor-icon-list-item::before {
  content: "";

  position: absolute;

  left: 0;

  top: 1.55rem;

  width: 14px;

  height: 2px;

  background: var(--csr-pine);
}

.csr-s .csr-gets .elementor-icon-list-text {
  padding-left: 0 !important;

  color: var(--csr-ink) !important;

  font:
    400 17px / 1.6
    var(--csr-body) !important;
}


/* =========================================================
   16. STATEMENT SECTION
   ========================================================= */

.e-con.csr-s.csr-service-statement {
  padding: 96px 0 !important;

  background: var(--csr-pine);

  color: #DDE8E4;
}

.csr-service-statement .elementor-heading-title {
  color: #FFFFFF !important;
}

.csr-s .csr-service-statement-wrap {
  display: grid !important;

  grid-template-columns: 1fr 1fr;

  gap: 5rem !important;

  align-items: end;
}

.csr-s .csr-service-statement-h .elementor-heading-title {
  font-family: var(--csr-display) !important;

  font-size: clamp(2.2rem, 4vw, 3.6rem) !important;

  line-height: 1.02 !important;

  letter-spacing: -0.035em;

  font-weight: 800 !important;
}

.csr-s .csr-service-statement-copy {
  max-width: 34rem;

  color: #B9CCC6;

  font-size: 1.15rem;
}


/* =========================================================
   17. CTA
   ========================================================= */

.e-con.csr-s.csr-service-cta {
  padding: 80px 0 !important;

  background: var(--csr-paper2);
}

.csr-s .csr-service-cta-wrap {
  display: flex !important;

  align-items: center;

  justify-content: space-between;

  gap: 3rem !important;
}

.csr-s .csr-service-cta-copy {
  max-width: 720px;
}

.csr-s .csr-service-cta-h .elementor-heading-title {
  font-family: var(--csr-display) !important;

  font-size: clamp(2rem, 3.6vw, 3rem) !important;

  line-height: 1.04 !important;

  letter-spacing: -0.03em;

  font-weight: 800 !important;
}

.csr-s .csr-service-cta-copytext {
  margin-top: 1rem !important;

  color: var(--csr-slate);

  font-size: 1.05rem;
}


/* =========================================================
   18. CTA BUTTON
   ========================================================= */

.csr-s .csr-btn .elementor-button {
  display: inline-flex;

  align-items: center;

  padding: 1rem 1.5rem !important;

  background: var(--csr-pine) !important;

  color: #FFFFFF !important;

  border: 0 !important;

  border-radius: 6px !important;

  font:
    600 1rem / 1
    var(--csr-body) !important;

  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.csr-s .csr-btn .elementor-button:hover {
  background: var(--csr-pine2) !important;

  transform: translateY(-1px);
}

.csr-s .csr-btn .elementor-button-text::before {
  content: "";

  display: inline-block;

  width: 8px;

  height: 8px;

  margin-right: 0.6rem;

  background: var(--csr-signal);

  border-radius: 50%;

  vertical-align: middle;

  position: relative;

  top: -1px;
}


/* =========================================================
   19. FOOTER
   ========================================================= */

.e-con.csr-s.csr-footer {
  padding: 24px 0 !important;

  background: var(--csr-paper);

  border-top: 1px solid var(--csr-rule);
}

.csr-s .csr-footer-wrap {
  flex-direction: row !important;

  align-items: center;

  justify-content: space-between;

  gap: 2rem !important;
}

.csr-s .csr-copy {
  color: var(--csr-slate);

  font-size: 0.85rem;
}

.csr-s .csr-creditw {
  color: var(--csr-slate);

  font-size: 0.8rem;
}

.csr-s .csr-credit {
  text-align: right;
}

.csr-s .csr-credit a {
  text-decoration: none;
}

.csr-s .csr-credit a:hover {
  text-decoration: underline;

  text-underline-offset: 3px;
}


/* =========================================================
   20. TABLET
   ========================================================= */

@media (max-width: 980px) {

  .csr-s .e-con.csr-wrap {
    padding: 0 24px !important;
  }

  .csr-s .csr-service-hero-wrap {
    grid-template-columns: 1fr;

    gap: 3rem !important;
  }

  .csr-s .csr-service-hero-visual {
    min-height: 0;
  }

  .csr-s .csr-image-placeholder {
    max-width: 460px;

    margin: 0 auto;
  }

  .csr-s .csr-service {
    grid-template-columns: 1fr;

    gap: 2.5rem !important;
  }

  .csr-s .csr-service-label {
    position: static;
  }

  .csr-s .csr-service-statement-wrap {
    grid-template-columns: 1fr;

    gap: 2rem !important;
  }

  .csr-s .csr-service-cta-wrap {
    flex-direction: column !important;

    align-items: flex-start;
  }
}


/* =========================================================
   21. MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .e-con.csr-s {
    padding: 76px 0 !important;
  }

  .e-con.csr-s.csr-top {
    padding: 18px 0 !important;
  }

  .csr-s .csr-nav {
    display: none;
  }

  .e-con.csr-s.csr-service-hero {
    padding: 42px 0 72px !important;
  }

  .csr-s .csr-service-hero-wrap {
    gap: 2.5rem !important;
  }

  .csr-s .csr-service-lede {
    margin-top: 1.4rem !important;

    font-size: 1.08rem;
  }

  .csr-s .csr-service-hero-visual {
    width: 100%;
  }

  .csr-s .csr-image-placeholder {
    max-width: none;

    aspect-ratio: 4 / 3;
  }

  .csr-s .csr-service {
    padding: 5rem 0 !important;
  }

  .csr-s .csr-service-say .elementor-heading-title {
    font-size: 1.65rem !important;
  }

  .e-con.csr-s.csr-service-statement {
    padding: 72px 0 !important;
  }

  .e-con.csr-s.csr-service-cta {
    padding: 64px 0 !important;
  }
}


/* =========================================================
   22. SMALL MOBILE
   ========================================================= */

@media (max-width: 640px) {

  .csr-s .e-con.csr-wrap {
    padding: 0 20px !important;
  }

  .csr-s .csr-service-name .elementor-heading-title {
    font-size: 1.2rem !important;
  }

  .csr-s .csr-pills {
    gap: 0.4rem;
  }

  .csr-s .csr-pill {
    padding: 0.4rem 0.7rem;

    font-size: 0.82rem;
  }

  .csr-s .csr-service-statement-copy {
    font-size: 1.05rem;
  }

  .csr-s .csr-service-cta-wrap {
    gap: 2rem !important;
  }

  .csr-s .csr-btn .elementor-button {
    width: 100%;

    justify-content: center;
  }

  .csr-s .csr-footer-wrap {
    flex-direction: column !important;

    align-items: flex-start;
  }

  .csr-s .csr-credit {
    text-align: left;
  }
}/* End custom CSS */