.elementor-8706 .elementor-element.elementor-element-38f4ad9{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:0px;--padding-left:30px;--padding-right:30px;}.elementor-8706 .elementor-element.elementor-element-cb55298 > .elementor-widget-container{padding:20px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-cb55298{font-family:"Rajdhani", Sans-serif;font-size:20px;font-weight:400;line-height:24px;color:#3E3E3E;}.elementor-8706 .elementor-element.elementor-element-8023383{--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:10px;--padding-bottom:250px;--padding-left:30px;--padding-right:30px;}.elementor-8706 .elementor-element.elementor-element-b29d620{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8706 .elementor-element.elementor-element-0e9c7fb{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8706 .elementor-element.elementor-element-625f2bb{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8706 .elementor-element.elementor-element-9b16601 > .elementor-widget-container{padding:10px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-9b16601 .ld-fancy-heading{text-align:left;}.elementor-8706 .elementor-element.elementor-element-9b16601 .ld-fh-element{font-family:"Rajdhani", Sans-serif;font-size:22px;font-weight:700;text-transform:uppercase;line-height:24px;letter-spacing:0.1px;margin:0px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-9b16601 .lqd-highlight-inner, .elementor-8706 .elementor-element.elementor-element-9b16601 .lqd-highlight-inner .lqd-highlight-brush-svg{height:0.275em;}.elementor-8706 .elementor-element.elementor-element-9b16601 .lqd-highlight-inner{bottom:0em;left:0em;}.elementor-8706 .elementor-element.elementor-element-1f9d95c > .elementor-widget-container{padding:10px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-1f9d95c{font-family:"Rajdhani", Sans-serif;font-size:16px;font-weight:400;line-height:18px;color:#000000;}.elementor-8706 .elementor-element.elementor-element-3ded048{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8706 .elementor-element.elementor-element-6e3d989{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8706 .elementor-element.elementor-element-9a96ea2 > .elementor-widget-container{padding:10px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-9a96ea2 .ld-fancy-heading{text-align:left;}.elementor-8706 .elementor-element.elementor-element-9a96ea2 .ld-fh-element{font-family:"Rajdhani", Sans-serif;font-size:22px;font-weight:700;text-transform:uppercase;line-height:24px;letter-spacing:0.1px;margin:0px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-9a96ea2 .lqd-highlight-inner, .elementor-8706 .elementor-element.elementor-element-9a96ea2 .lqd-highlight-inner .lqd-highlight-brush-svg{height:0.275em;}.elementor-8706 .elementor-element.elementor-element-9a96ea2 .lqd-highlight-inner{bottom:0em;left:0em;}.elementor-8706 .elementor-element.elementor-element-179ca01 > .elementor-widget-container{padding:10px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-179ca01{font-family:"Rajdhani", Sans-serif;font-size:16px;font-weight:400;line-height:18px;color:#000000;}.elementor-8706 .elementor-element.elementor-element-dfc4ca9{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8706 .elementor-element.elementor-element-0c59558{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8706 .elementor-element.elementor-element-aa05c67 > .elementor-widget-container{padding:10px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-aa05c67 .ld-fancy-heading{text-align:left;}.elementor-8706 .elementor-element.elementor-element-aa05c67 .ld-fh-element{font-family:"Rajdhani", Sans-serif;font-size:22px;font-weight:700;text-transform:uppercase;line-height:24px;letter-spacing:0.1px;margin:0px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-aa05c67 .lqd-highlight-inner, .elementor-8706 .elementor-element.elementor-element-aa05c67 .lqd-highlight-inner .lqd-highlight-brush-svg{height:0.275em;}.elementor-8706 .elementor-element.elementor-element-aa05c67 .lqd-highlight-inner{bottom:0em;left:0em;}.elementor-8706 .elementor-element.elementor-element-9c7eb73 > .elementor-widget-container{padding:10px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-9c7eb73{font-family:"Rajdhani", Sans-serif;font-size:16px;font-weight:400;line-height:18px;color:#000000;}.elementor-8706 .elementor-element.elementor-element-c8ed93f{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8706 .elementor-element.elementor-element-a6e25de{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8706 .elementor-element.elementor-element-7135fba > .elementor-widget-container{padding:10px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-7135fba .ld-fancy-heading{text-align:left;}.elementor-8706 .elementor-element.elementor-element-7135fba .ld-fh-element{font-family:"Rajdhani", Sans-serif;font-size:22px;font-weight:700;text-transform:uppercase;line-height:24px;letter-spacing:0.1px;margin:0px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-7135fba .lqd-highlight-inner, .elementor-8706 .elementor-element.elementor-element-7135fba .lqd-highlight-inner .lqd-highlight-brush-svg{height:0.275em;}.elementor-8706 .elementor-element.elementor-element-7135fba .lqd-highlight-inner{bottom:0em;left:0em;}.elementor-8706 .elementor-element.elementor-element-b60d8df > .elementor-widget-container{padding:10px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-b60d8df{font-family:"Rajdhani", Sans-serif;font-size:16px;font-weight:400;line-height:18px;color:#000000;}.elementor-8706 .elementor-element.elementor-element-79d14fa > .elementor-widget-container{padding:230px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-79d14fa{font-family:"Rajdhani", Sans-serif;font-size:20px;font-weight:400;line-height:24px;color:#3E3E3E;}.elementor-8706 .elementor-element.elementor-element-8d742bf{width:var( --container-widget-width, 90% );max-width:90%;--container-widget-width:90%;--container-widget-flex-grow:0;}.elementor-8706 .elementor-element.elementor-element-8d742bf.elementor-element{--align-self:center;}.elementor-8706 .elementor-element.elementor-element-c8b7828 > .elementor-widget-container{padding:30px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-c8b7828{font-family:"Rajdhani", Sans-serif;font-size:20px;font-weight:400;line-height:24px;color:#3E3E3E;}.elementor-8706 .elementor-element.elementor-element-ad1628e{--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;}@media(max-width:1024px){.elementor-8706 .elementor-element.elementor-element-b29d620{--e-con-grid-template-columns:repeat(3, 1fr);--grid-auto-flow:row;}.elementor-8706 .elementor-element.elementor-element-9b16601 .ld-fh-element{line-height:24px;margin:0em 0em 0em 0em;}.elementor-8706 .elementor-element.elementor-element-9a96ea2 .ld-fh-element{line-height:24px;margin:0em 0em 0em 0em;}.elementor-8706 .elementor-element.elementor-element-aa05c67 .ld-fh-element{line-height:24px;margin:0em 0em 0em 0em;}.elementor-8706 .elementor-element.elementor-element-7135fba .ld-fh-element{line-height:24px;margin:0em 0em 0em 0em;}}@media(max-width:767px){.elementor-8706 .elementor-element.elementor-element-38f4ad9{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-8706 .elementor-element.elementor-element-cb55298{font-size:18px;line-height:23px;}.elementor-8706 .elementor-element.elementor-element-8023383{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-8706 .elementor-element.elementor-element-b29d620{--e-con-grid-template-columns:repeat(1, 1fr);--gap:30px 0px;--row-gap:30px;--column-gap:0px;--grid-auto-flow:row;}.elementor-8706 .elementor-element.elementor-element-9b16601.elementor-element{--align-self:flex-start;}.elementor-8706 .elementor-element.elementor-element-9b16601 .ld-fancy-heading{text-align:left;}.elementor-8706 .elementor-element.elementor-element-9b16601 .ld-fh-element{margin:0px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-1f9d95c{font-size:16px;line-height:18px;}.elementor-8706 .elementor-element.elementor-element-9a96ea2.elementor-element{--align-self:flex-start;}.elementor-8706 .elementor-element.elementor-element-9a96ea2 .ld-fancy-heading{text-align:left;}.elementor-8706 .elementor-element.elementor-element-9a96ea2 .ld-fh-element{margin:0px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-179ca01{font-size:16px;line-height:18px;}.elementor-8706 .elementor-element.elementor-element-aa05c67.elementor-element{--align-self:flex-start;}.elementor-8706 .elementor-element.elementor-element-aa05c67 .ld-fancy-heading{text-align:left;}.elementor-8706 .elementor-element.elementor-element-aa05c67 .ld-fh-element{margin:0px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-9c7eb73{font-size:16px;line-height:18px;}.elementor-8706 .elementor-element.elementor-element-7135fba.elementor-element{--align-self:flex-start;}.elementor-8706 .elementor-element.elementor-element-7135fba .ld-fancy-heading{text-align:left;}.elementor-8706 .elementor-element.elementor-element-7135fba .ld-fh-element{margin:0px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-b60d8df{font-size:16px;line-height:18px;}.elementor-8706 .elementor-element.elementor-element-79d14fa > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-8706 .elementor-element.elementor-element-79d14fa{font-size:18px;line-height:23px;}.elementor-8706 .elementor-element.elementor-element-8d742bf{--container-widget-width:1000px;--container-widget-flex-grow:0;width:var( --container-widget-width, 1000px );max-width:1000px;}.elementor-8706 .elementor-element.elementor-element-c8b7828{font-size:18px;line-height:23px;}}/* Start custom CSS for container, class: .elementor-element-0e9c7fb */@media (min-width: 1025px) {
  .hover-reveal-container {
    position: relative;
    display: inline-block; /* or block, depending on layout */
    overflow: visible;
    padding-bottom: 5px; /* Reserve space below image for text */
  }



.hover-reveal-container {
  position: relative;
  display: inline-block; /* or block, depending on layout */
  overflow: visible;
  padding-bottom: 5px; /* Reserve space below image for text */
}


.hover-reveal-container .text {
  position: absolute;
  left: 30;
  top: 100%; /* Places it directly below the image */
  width: 100%;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  padding: 00px;
  pointer-events: none;
}

.hover-reveal-container:hover .heading,
.hover-reveal-container:hover .text {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-eeaaf80 */:root {
  --x: 0;
  --y: 0;
  --op: 0.3;       /* opacity of the dot‑grid */
  --grid-size: 40px;
}

body {
  margin: 0;
}

/* ---------------------------------
   1. Dot‑grid (math‑paper overlay)
-----------------------------------*/
:root {
  --grid-size: 40px;  /* adjust to 30px if you want smaller squares */
}

.dot-grid {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;

  /* make the whole thing lightly transparent */
  opacity: 0.25;

  /* blend so it stays visible over any background */
  mix-blend-mode: difference;

  /* crisp 1px borders on a var(--grid-size) grid */
  background-image:
    /* vertical borders */
    repeating-linear-gradient(
      to right,
      rgba(0,0,0,0.05) 0px,
      rgba(0,0,0,0.05) 1px,
      transparent 1px,
      transparent calc(var(--grid-size) - 1px),
      rgba(0,0,0,0.05) calc(var(--grid-size) - 1px),
      rgba(0,0,0,0.05) var(--grid-size)
    ),
    /* horizontal borders */
    repeating-linear-gradient(
      to bottom,
      rgba(0,0,0,0.05) 0px,
      rgba(0,0,0,0.05) 1px,
      transparent 1px,
      transparent calc(var(--grid-size) - 1px),
      rgba(0,0,0,0.05) calc(var(--grid-size) - 1px),
      rgba(0,0,0,0.05) var(--grid-size)
    );

  background-size: var(--grid-size) var(--grid-size);

  /* keep the grid sliding under the cursor */
  background-position:
    calc(var(--x)*1px)
    calc(var(--y)*1px);
}

/* ---------------------------------
   2. Infinite crosshair lines
-----------------------------------*/
.grid-lines {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  pointer-events: none;
  z-index: 100;
}
.grid-lines::before,
.grid-lines::after {
  content: "";
  position: fixed;
  top: 0; left: 0;
  background: #b4aea7;
}
.grid-lines::before { /* vertical */
  width: 0.5px; height: 100vh;
  transform: translate3d(calc(var(--x)*1px + 50vw), 0, 0);
}
.grid-lines::after { /* horizontal */
  width: 100vw; height: 0.5px;
  transform: translate3d(0, calc(var(--y)*1px + 50vh), 0);
}

/* ---------------------------------
   3. Cursor dot + four‑arm crosshair
-----------------------------------*/


/* Crosshair container */
.crosshair {
  position: fixed;
  top:    calc(var(--y)*1px + 50vh);
  left:   calc(var(--x)*1px + 50vw);
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 200;
  transition: transform 0.2s ease;
}

/* Arms initial state */
.crosshair .arm {
  position: absolute;
  background: #c1c1c1;
  transform: translate(0, 0);
  transform-origin: center center;
  transition: transform 0.2s ease, background 0.2s ease;
}

/* Arm positions */
.arm--left  { top: -1px; left: -10px; width: 10px; height: 2px; }
.arm--right { top: -1px; left:   0px; width: 10px; height: 2px; }
.arm--top   { top: -10px; left:  -1px; width: 2px;  height: 10px; }
.arm--bot   { top:   0px; left:  -1px; width: 2px;  height: 10px; }

/* Hover animation */
.crosshair.link-hover {
  transform: translate(-50%, -50%) scale(1.5) rotate(20deg);
}
/* Spread arms by 5px on hover */
.crosshair.link-hover .arm--left  { transform: translateX(-5px); }
.crosshair.link-hover .arm--right { transform: translateX( 5px); }
.crosshair.link-hover .arm--top   { transform: translateY(-5px); }
.crosshair.link-hover .arm--bot   { transform: translateY( 5px); }

/* Turn dot and arms white on hover */

.crosshair.link-hover .arm {
  background: #fff;
}


/* 2) White arms with faint drop‑shadow */
.crosshair.link-hover .arm {
  background: #fff;
  /* subtle halo to separate from light BGs */
  filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.1));
}

/* ---------------------------------
   4. Edge readouts (left/bottom)
-----------------------------------*/
.axis-y, .axis-x {
  position: fixed;
  display: flex;
  align-items: center;
  font: 12px monospace;
  background: rgba(255,255,255,0.4);
  padding: 2px 4px;
  pointer-events: none;
  z-index: 150;
}
.axis-y {
  top: 50%; left: 0;
  transform: translateY(-50%);
}
.axis-x {
  left: 50%; bottom: 0;
  transform: translateX(-50%);
}

/* ---------------------------------
   5. Live coords at top/right
-----------------------------------*/
.coord-top, .coord-right {
  position: fixed;
  font: 12px monospace;
  background: rgba(255,255,255,0.2);
  padding: 2px 4px;
  pointer-events: none;
  z-index: 150;
}
.coord-top {
  top: 0;
  left: calc(var(--x)*1px + 50vw);
  transform: translateX(-50%);
}
.coord-right {
  right: 0;
  top: calc(var(--y)*1px + 50vh);
  transform: translateY(-50%);
}

/* ---------------------------------
   6. Half‑width & half‑height markers
-----------------------------------*/
.half-width, .half-height {
  position: fixed;
  pointer-events: none;
  z-index: 150;
  color: #C1C1C1;
}
.half-width {
  left: 50%; bottom: 0;
}
.half-width::after {
  content: "";
  position: absolute;
  top: -5px; left: 0;
  width: 0; height: 5px;
  border-left: 1px solid currentColor;
}
.half-height {
  left: 0; top: 50%;
}
.half-height::after {
  content: "";
  position: absolute;
  left: -5px; top: 0;
  width: 5px; height: 0;
  border-top: 2px solid currentColor;
}

@media (hover: none) and (pointer: coarse) {
  .dot-grid,
  .grid-lines,
  .cursor-dot,
  .crosshair,
  .axis-y,
  .axis-x,
  .coord-top,
  .coord-right,
  .half-width,
  .half-height {
    display: none !important;
  }
}

.elementor-8706 .elementor-element.elementor-element-eeaaf80  { overflow: visible;
  height: auto !important;
}/* End custom CSS */