/*
 Theme Name: Divi Child
 Template: Divi
 Version: 1.0.0
*/

/* -----------------------------
   Global (optional)
------------------------------ */
:root{
  --dark: #292a33;
  --main: #42AD99;
}

/* ---------- Homepage Title Shortcode ---------- */
.rf-home-title{
  width: 100%;
}

.rf-home-title__wrap{
  display: flex;
  align-items: stretch; /* equal column height */
}

.rf-home-title__left{
  flex: 0 0 70%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.rf-home-title__right{
  flex: 0 0 30%;
  display: flex;
  flex-direction: column;
  justify-content: center;  /* vertical center */
  align-items: flex-end;    /* keep CTA aligned right */
}

.rf-home-title__brand{
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  margin: 0;
  line-height: 1.05;
  color: var(--dark);
  font-size: 35px;   /* was 50px */
}

.rf-home-title__service{
  font-family: "Manrope", sans-serif;
  font-weight: 600;
  line-height: 1.05;
  color: var(--main);
  font-size: 55px;   /* was 40px */
}

.rf-home-title__desc{
  font-family: "Manrope", sans-serif;
  font-weight: 400;
  margin: 4px 0 18px 0;
  line-height: 1.35;
  color: var(--dark);
  font-size: 18px;   /* was 24px */
  text-align: right;
}

.rf-home-title__cta{
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  text-decoration: none;
  cursor: pointer;
}

.rf-home-title__cta-text{
  font-family: "Manrope", sans-serif;
  font-weight: 600;
  font-size: 20px;   /* was 28px */
  color: var(--dark);
  line-height: 1;
  white-space: nowrap;
}

.rf-home-title__cta-icon{
  width: 54px;
  height: 54px;
  border-radius: 999px;
  background: var(--dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 54px;
  transition: background 0.25s ease;
}

.rf-home-title__cta-icon svg{
  width: 22px;
  height: 22px;
  display: block;
}

/* CTA hover effect */
.rf-home-title__cta:hover .rf-home-title__cta-icon{
  background: var(--main);
}

/* Mobile: stack so right column goes below */
@media (max-width: 767px){
  .rf-home-title__wrap{
    flex-direction: column;
    gap: 22px;
  }
  .rf-home-title__left,
  .rf-home-title__right{
    flex: 1 1 auto;
    width: 100%;
  }
  .rf-home-title__right{
    align-items: flex-start; /* put text/button below, left-aligned on mobile */
  }
  .rf-home-title__desc{
    text-align: left;
  }
  .rf-home-title__cta{
    justify-content: flex-start;
  }

  .rf-home-title__brand{
    font-size: 42px;
  }

  .rf-home-title__service{
    font-size: 38px;
  }

}


/* ---------- Slider Section ---------- */
/* Section wrapper */
.rf-slider{
  position: relative;
  padding-top:15px;
}

/* Background (16:9) */
.rf-slider__bg{
  width: 100%;
  aspect-ratio: 16 / 9;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: visible; /* allows Γ to stick out */
}

/* Γ shape (top-left corner) — TRUE gamma, not a cross */
.rf-slider__gamma{
  --gamma-len: 170px;   /* arm length (make wider/longer) */
  --gamma-stroke: 12px; /* thickness (wider) */

  position: absolute;
  top: 0;
  left: 0;

  /* shift the whole shape so half the stroke is outside the slider */
  transform: translate(
    calc(var(--gamma-stroke) / -2),
    calc(var(--gamma-stroke) / -2)
  );

  width: var(--gamma-len);
  height: var(--gamma-len);

  z-index: 6;
  pointer-events: none;
}

/* vertical arm (DOWN only) */
.rf-slider__gamma::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: var(--gamma-stroke);
  height: var(--gamma-len);
  background: var(--main);
}

/* horizontal arm (RIGHT only) */
.rf-slider__gamma::after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: var(--gamma-len);
  height: var(--gamma-stroke);
  background: var(--main);
}


/* Panel holding arrows + window
   - width: 40% (as requested)
   - vertically centered
   - aligned to the right
*/
/* Panel defaults (desktop overlay positioning) */
.rf-slider__panel{
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 40%;
  max-width: 520px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  z-index: 10;
}

/* Keep arrows right on desktop */
.rf-slider__nav{
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

/* Circle buttons: white circle, dark arrow */
.rf-slider__nav-btn{
  width: 54px;
  height: 54px;
  border-radius: 999px;
  background: #ffffff;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 25px rgba(0,0,0,0.10);
}

.rf-slider__nav-btn svg{
  width: 22px;
  height: 22px;
  display: block;
}

/* Window-like box */
.rf-slider__window{
  background: #ffffff;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 14px 35px rgba(0,0,0,0.14);
}

/* Header row in the window */
.rf-slider__window-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.rf-slider__window-title{
  font-family: "Manrope", sans-serif;
  font-weight: 600;
  font-size: 22px;
  color: var(--dark);
  margin: 0;
  line-height: 1.15;
}

.rf-slider__learnmore{
  font-family: "Manrope", sans-serif;
  font-weight: 500;
  font-size: 17px;
  color: var(--dark);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;

  position: relative;
  z-index: 6;           /* ensure above any overlaps */
  pointer-events: auto; /* clickable */
}

.rf-slider__learnmore svg{
  width: 18px;
  height: 18px;
  display: block;
}

.rf-slider__window-img{
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}

@media (max-width: 767px){

  /* keep background image on top */
  .rf-slider__bg{
    aspect-ratio: 16 / 9;
  }

/* Make section flow naturally */
  .rf-slider{
    position: relative;
  }

  /* Panel becomes normal-flow block below image */
  .rf-slider__panel{
    position: relative;
    right: auto;
    top: auto;
    transform: none;

    width: auto;
    max-width: none;

    /* smaller than bg */
    padding-left: 15px;
    padding-right: 15px;

    /* sits below, with only small overlap upwards */
    margin-top: -18px;   /* <- adjust overlap amount (e.g. -10px, -20px) */

    gap: 12px;
  }

  /* Window first, arrows below */
  .rf-slider__window{ order: 1; }
  .rf-slider__nav{ order: 2; }

  /* arrows aligned right (or change to center if you want) */
  .rf-slider__nav{
    justify-content: flex-end;
    gap: 10px;
  }

  /* Smaller arrows */
  .rf-slider__nav-btn{
    width: 42px;
    height: 42px;
  }

  .rf-slider__nav-btn svg{
    width: 18px;
    height: 18px;
  }
	
  .rf-slider__learnmore{
  font-size: 15px;
}
	
	
}




/* ---------- Homepage Tagline ---------- */

.rf-tagline{
  padding: 30px 0;
}

.rf-tagline__inner{
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  background: #292a33;
  padding: 14px 20px;
  border-radius: 6px;
}

/* text area keeps stable dimensions */
.rf-tagline__text{
  display: inline-block;
  min-width: 420px;   /* keeps width steady */
  min-height: 1.2em;  /* keeps height steady */
  font-family: "Manrope", sans-serif;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.2;
  color: #42AD99;
}

/* cursor */
.rf-tagline__cursor{
  display: inline-block;
  width: 3px;
  height: 36px;
  background: #42AD99;
  margin-left: 6px;
  flex: 0 0 auto;
  animation: rfTaglineBlink 0.9s steps(1) infinite;
}

@keyframes rfTaglineBlink{
  0%, 50% { opacity: 1; }
  50.01%, 100% { opacity: 0; }
}

@media (max-width: 767px){

  .rf-tagline{
    padding: 20px 0;
  }

  .rf-tagline__text{
    min-width: 260px;
    font-size: 24px;
  }

  .rf-tagline__cursor{
    height: 26px;
  }
}




/* ---------- Gamma Title ---------- */
.rf-gamma-title{
  position: relative;
  display: inline-block;
  padding: 35px 0 0 35px; /* text sits diagonally away from the shape */
}

.rf-gamma-title__shape{
  --gamma-len: 44px;
  --gamma-stroke: 6px;

  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: var(--gamma-len);
  height: var(--gamma-len);
  pointer-events: none;
}

.rf-gamma-title__shape::before,
.rf-gamma-title__shape::after{
  content: "";
  position: absolute;
  background: #42AD99;
}

/* vertical line */
.rf-gamma-title__shape::before{
  top: 0;
  left: 0;
  width: var(--gamma-stroke);
  height: var(--gamma-len);
}

/* horizontal line */
.rf-gamma-title__shape::after{
  top: 0;
  left: 0;
  width: var(--gamma-len);
  height: var(--gamma-stroke);
}

.rf-gamma-title__text{
  margin: 0;
  font-family: "Manrope", sans-serif;
  font-size: 35px;
  font-weight: 700;
  line-height: 1.2;
  color: #292a33;
}

@media (max-width: 767px){
  .rf-gamma-title{
    padding: 16px 0 0 16px;
  }

  .rf-gamma-title__shape{
    --gamma-len: 34px;
    --gamma-stroke: 5px;
  }

  .rf-gamma-title__text{
    font-size: 28px;
  }
}





/* ---------- About Text ---------- */
.rf-about-text{
  width: 100%;
}

.rf-about-text__inner{
  max-width: 980px;
}

.rf-about-text__p{
  margin: 0 0 28px 0;
  font-family: "Manrope", sans-serif;
  font-size: 22px;
  line-height: 1.75;
  font-weight: 400;
  color: #292a33;
}

.rf-about-text__p:last-child{
  margin-bottom: 0;
}

@media (max-width: 767px){
  .rf-about-text__p{
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 22px;
  }
}