:root{
  --navy-950:#1e62bd;
  --navy-900:#0A2540;
  --navy-800:#123659;
  --navy-700:#194B78;
  --blue-500:#2E6DA6;
  --blue-100:#E7EFF6;
  --amber-500:#F5A623;
  --amber-600:#D98C0F;
  --charcoal:#2B2F36;
  --slate-600:#5B6672;
  --slate-100:#F5F8FB;
  --slate-50:#FAFBFC;
  --white:#FFFFFF;
  --radius:10px;
  --shadow-soft:0 10px 30px -12px rgba(10,37,64,.18);
  --shadow-card:0 4px 18px rgba(10,37,64,.08);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  color:var(--charcoal);
  background:var(--white);
  line-height:1.65;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.font-display{
  font-family:'Sora',sans-serif;
  font-weight: 500;
  color:var(--navy-950);
  letter-spacing:-0.01em;
}
.mono{font-family:'Space Mono',monospace;}
a{text-decoration:none;}
img{max-width:100%;display:block;}
.container-xl{max-width:1280px;}

/* ---------- Signature: Glass-grid texture ---------- */
.glass-grid{
  position:relative;
}
.glass-grid::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 68px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 68px);
  pointer-events:none;
}
.glass-grid-dark::before{
  background-image:
    repeating-linear-gradient(0deg, rgba(10,37,64,.06) 0 1px, transparent 1px 56px),
    repeating-linear-gradient(90deg, rgba(10,37,64,.06) 0 1px, transparent 1px 56px);
}

/* ---------- Eyebrow / labels ---------- */
.eyebrow{
  font-family:'Space Mono',monospace;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.74rem;
  font-weight:700;
  color:var(--amber-600);
  display:inline-flex;
  align-items:center;
  gap:.55rem;
}
.eyebrow::before{
  content:"";
  width:26px; height:2px;
  background:var(--amber-500);
  display:inline-block;
}
.eyebrow.on-dark{color:var(--amber-500);}

.section-pad{padding: 3.5rem 0;}
@media(max-width:767px){.section-pad{padding:3.5rem 0;}}

/* ---------- TOP BAR ---------- */
.topbar{
  background:var(--navy-950);
  color:#fff;
  font-size:.82rem;
  padding:.5rem 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.topbar a{color:#fff; transition:.2s;}
.topbar a:hover{color:var(--amber-500);}
.topbar .divider{width:1px;height:14px;background:rgba(255,255,255,.18);display:inline-block;}
.iso-chip{
  background:rgba(245,166,35,.12);
  border:1px solid rgba(245,166,35,.35);
  color:var(--amber-500);
  padding:.15rem .65rem;
  border-radius:20px;
  font-weight:700;
  letter-spacing:.03em;
  font-size:.72rem;
}

/* ---------- MAIN NAV ---------- */
.navbar-main{
  background:var(--white);
  padding:.35rem 0;
  transition:.3s ease;
  border-bottom:1px solid #EEF1F4;
}
.navbar-main.scrolled{
  box-shadow:0 8px 24px rgba(10,37,64,.08);
  padding:.55rem 0;
}
.brand-logo{display:flex; align-items:center; gap:.65rem;}
.brand-logo img{height:65px;transition:.3s;}
.navbar-main.scrolled .brand-logo img{height:55px;}

.nav-link-custom{
  font-family:'Sora',sans-serif;
  font-weight:600;
  font-size:.93rem;
  color:var(--navy-900)!important;
  padding:.6rem 1rem!important;
  position:relative;
}
.nav-link-custom::after{
  content:"";
  position:absolute; left:1rem; right:1rem; bottom:.2rem;
  height:2px; background:var(--amber-500);
  transform:scaleX(0); transform-origin:left;
  transition:.25s ease;
}
.nav-link-custom:hover::after,.nav-link-custom.active::after{transform:scaleX(1);}
.nav-link-custom:hover{color:var(--blue-500)!important;}

@media(min-width:992px){
  .nav-item.dropdown:hover .dropdown-menu{
    display:block; margin-top:0; animation:fadeDown .22s ease;
  }
  @keyframes fadeDown{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
}
.dropdown-menu{
  border:none; border-radius:12px;
  box-shadow:var(--shadow-soft);
  padding:.6rem;
  min-width:280px;
}
.dropdown-item{
  border-radius:8px; padding:.6rem .75rem;
  font-size:.88rem; font-weight:500;
  color:var(--navy-800);
  display:flex; align-items:center; gap:.6rem;
}
.dropdown-item i{color:var(--amber-500); font-size:1.05rem;}
.dropdown-item:hover{background:var(--slate-100); color:var(--blue-500);}

.btn-amber{
  background:var(--amber-500); color:var(--navy-950)!important;
  font-family:'Sora',sans-serif; font-weight:700; font-size:.88rem;
  padding:.65rem 1.4rem; border-radius:8px; border:none;
  transition:.25s;
}
.btn-amber:hover{background:var(--amber-600); color:var(--navy-950)!important; transform:translateY(-1px);}
.btn-outline-navy{
  border:1.5px solid var(--navy-900); color:var(--navy-900);
  font-family:'Sora',sans-serif; font-weight:700; font-size:.88rem;
  padding:.6rem 1.3rem; border-radius:8px; transition:.25s;
}
.btn-outline-navy:hover{background:var(--navy-900); color:#fff;}
.phone-pill{
  display:flex; align-items:center; gap:.6rem;
}
.phone-pill .ic{
  width:40px;height:40px;border-radius:50%;
  background:var(--blue-100); color:var(--navy-800);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
}
.phone-pill .lbl{font-size:.72rem; color:var(--slate-600); text-transform:uppercase; letter-spacing:.05em;}
.phone-pill .num{font-family:'Sora',sans-serif; font-weight:700; color:var(--navy-950); font-size:.95rem;}

/* ---------- HERO ---------- */
.hero-wrap{position:relative; background:var(--navy-950); overflow:hidden;}
.hero-slide{
  min-height:640px;
  display:flex; align-items:center;
  position:relative;
}
.hero-slide .bg-graphic{position:absolute; inset:0; z-index:0;}
.hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(8,29,51,.97) 30%, rgba(10,37,64,.75) 62%, rgba(10,37,64,.35) 100%);
  z-index:1;
}
.hero-content{position:relative; z-index:2; padding:7rem 0 9rem;}
.hero-content h1{
  color:#fff; font-size:clamp(2.1rem,4vw,3.4rem); font-weight:800; line-height:1.12;
}
.hero-content h1 span{color:var(--amber-500);}
.hero-content p.lead-txt{
  color:#B9C7D6; font-size:1.08rem; max-width:560px; margin:1.2rem 0 2rem;
}
.hero-badge{
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  color:#fff; padding:.4rem .9rem; border-radius:30px;
  font-size:.78rem; font-weight:600; letter-spacing:.03em;
  margin-bottom:1.3rem;
}
.hero-badge i{color:var(--amber-500);}

/* Skyline SVG illustration in hero */
.skyline-illustration{
  position:absolute; right:0; bottom:0; top:0; width:58%;
  z-index:1; opacity:.9;
}
@media(max-width:991px){.skyline-illustration{display:none;}}

/* Carousel controls custom */
.hero-wrap .carousel-indicators{bottom:0; margin-bottom:1.2rem;}
.hero-wrap .carousel-indicators [data-bs-target]{
  width:34px; height:3px; background:rgba(255,255,255,.35); border:none; border-radius:2px;
}
.hero-wrap .carousel-indicators .active{background:var(--amber-500);}
.hero-wrap .carousel-control-prev,.hero-wrap .carousel-control-next{width:5%; opacity:.6;}

/* Stat bar overlapping hero */
.stat-bar{
  position:relative; z-index:3;
  margin-top:-64px;
}
.stat-card{
  background:#fff; border-radius:16px; box-shadow:var(--shadow-soft);
  padding:1.6rem 1rem; text-align:center;
  border-bottom:3px solid var(--amber-500);
}
.stat-card .num{
  font-family:'Sora',sans-serif; font-weight:800; font-size:2.1rem; color:var(--navy-950);
  display:flex; align-items:baseline; justify-content:center; gap:.15rem;
}
.stat-card .num small{font-size:1.1rem; color:var(--amber-600);}
.stat-card .lbl{font-size:.82rem; color:var(--slate-600); font-weight:600; margin-top:.2rem;}

/* ---------- Trust strip ---------- */
.trust-strip{
  background:var(--slate-100); padding:1.6rem 0; border-bottom:1px solid #EDF1F5;
}
.trust-strip .heading-sm{
  font-family:'Space Mono',monospace; font-size:.72rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--slate-600); font-weight:700;
}
.client-chip{
  font-family:'Sora',sans-serif; font-weight:600; font-size:.88rem;
  color:var(--navy-800); background:#fff; border:1px solid #E4E9EF;
  padding:.5rem 1rem; border-radius:8px; white-space:nowrap;
}

/* ---------- About ---------- */
.about-visual{position:relative;}
.about-visual .frame-main{
  border-radius:18px; overflow:hidden; box-shadow:var(--shadow-soft);
}
.about-visual .frame-tag{
  position:absolute; bottom:-24px; left:-24px;
  background:var(--navy-950); color:#fff; border-radius:14px;
  padding:1.1rem 1.4rem; box-shadow:var(--shadow-soft);
  display:flex; align-items:center; gap:.8rem;
}
@media(max-width:575px){.about-visual .frame-tag{left:8px; bottom:-18px; padding:.8rem 1rem;}}
.frame-tag .yr{font-family:'Sora',sans-serif; font-weight:800; font-size:1.5rem; color:var(--amber-500);}
.frame-tag .txt{font-size:.72rem; color:#B9C7D6; line-height:1.3;}

.check-list{list-style:none; padding:0; margin:1.4rem 0;}
.check-list li{
  display:flex; align-items:flex-start; gap:.7rem; margin-bottom:.7rem;
  font-weight:500; color:var(--navy-800); font-size:.95rem;
}
.check-list li i{color:var(--amber-500); font-size:1.05rem; margin-top:.15rem;}

/* ---------- Services ---------- */
.bg-slate{background:var(--slate-100);}
.service-card{
  background:#fff; border-radius:16px; 
  height:100%; border:1px solid #EEF1F4; transition:.3s;
  position:relative; overflow:hidden;
}
.service-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--blue-500),var(--amber-500));
  transform:scaleX(0); transform-origin:left; transition:.3s;
}
.service-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-soft); border-color:transparent;}
.service-card:hover::before{transform:scaleX(1);}
.service-icon{
  width:58px; height:58px; border-radius:14px;
  background:var(--blue-100); color:var(--navy-800);
  display:flex; align-items:center; justify-content:center;
  font-size:1.6rem; margin-bottom:1.2rem; transition:.3s;
}
.service-card:hover .service-icon{background:var(--navy-950); color:var(--amber-500);}
.service-card h5{font-size:1.08rem; margin-bottom:.6rem;}
.service-card p{font-size:.88rem; color:var(--slate-600); margin-bottom:0;}
.service-card .num-tag{
  position:absolute; top:1.4rem; right:1.6rem;
  font-family:'Space Mono',monospace; font-size:.75rem; color:#D7DEE5; font-weight:700;
}

/* ---------- Facade technique tags ---------- */
.tech-tag{
  display:inline-flex; align-items:center; gap:.5rem;
  background:#fff; border:1px solid #E4E9EF; border-radius:30px;
  padding:.5rem 1rem; font-size:.85rem; font-weight:600; color:var(--navy-800);
  margin:.25rem;
}
.tech-tag i{color:var(--amber-600);}

/* ---------- BMU section (dark) ---------- */
.bmu-section{
  background:var(--navy-950); color:#fff; position:relative;
}
.bmu-section .eyebrow{color:var(--amber-500);}
.bmu-section h2{color:#fff;}
.bmu-section p.lead-p{color:#fff;}
.bmu-feature{
  display:flex; gap:1rem; padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.08);
}
.bmu-feature:last-child{border-bottom:none;}
.bmu-feature .ic{
  width:44px;height:44px; min-width:44px; border-radius:10px;
  background:rgba(245,166,35,.12); color:var(--amber-500);
  display:flex; align-items:center; justify-content:center; font-size:1.15rem;
}
.bmu-feature h6{color:#fff; font-family:'Sora',sans-serif; font-weight:600; margin-bottom:.2rem; font-size:.95rem;}
.bmu-feature p{color:#fff; font-size:.84rem; margin-bottom:0;}
.bmu-visual{
  border-radius:18px; overflow:hidden; position:relative; box-shadow:var(--shadow-soft);
}

/* ---------- Why choose us ---------- */
.why-item{
  display:flex; gap:1.1rem; position:relative; padding-bottom:2.1rem;
}
.why-item .idx{
  width:46px; height:46px; min-width:46px; border-radius:50%;
  background:var(--navy-950); color:var(--amber-500);
  display:flex; align-items:center; justify-content:center;
  font-family:'Space Mono',monospace; font-weight:700; font-size:.85rem;
  position:relative; z-index:2;
}
.why-item .rope-line{
  position:absolute; left:23px; top:46px; bottom:0; width:2px;
  background-image:linear-gradient(var(--amber-500) 60%, transparent 0%);
  background-size:2px 8px; background-repeat:repeat-y;
}
.why-item:last-child .rope-line{display:none;}
.why-item h5{font-size:1.02rem; margin-bottom:.35rem;}
.why-item p{font-size:.87rem; color:var(--slate-600); margin-bottom:0;}
.why-visual{
  border-radius:20px; overflow:hidden; box-shadow:var(--shadow-soft); position:relative;
}
.why-visual .badge-float{
  position:absolute; top:20px; right:20px;
  background:rgba(255,255,255,.95); backdrop-filter:blur(4px);
  border-radius:12px; padding:.8rem 1.1rem; box-shadow:var(--shadow-card);
  display:flex; align-items:center; gap:.7rem;
}
.badge-float .ic{
  width:38px; height:38px; border-radius:9px; background:var(--navy-950); color:var(--amber-500);
  display:flex; align-items:center; justify-content:center; font-size:1rem;
}
.badge-float .t1{font-family:'Sora',sans-serif; font-weight:800; font-size:1rem; color:var(--navy-950); line-height:1;}
.badge-float .t2{font-size:.7rem; color:var(--slate-600);}

/* ---------- Projects ---------- */
.project-card{
  border-radius:16px; overflow:hidden; position:relative;
  height:290px; display:flex; align-items:flex-end;
  box-shadow:var(--shadow-card);
}
.project-card .pc-bg{position:absolute; inset:0;}
.project-card .pc-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,29,51,0) 30%, rgba(8,29,51,.92) 100%);
}
.project-card .pc-body{position:relative; z-index:2; padding:1.3rem; color:#fff; width:100%;}
.project-card .pc-tag{
  font-family:'Space Mono',monospace; font-size:.68rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--amber-500); font-weight:700;
}
.project-card h6{color:#fff; font-family:'Sora',sans-serif; font-weight:700; margin:.3rem 0 0; font-size:1rem;}
.project-card:hover .pc-bg{transform:scale(1.06);}
.project-card .pc-bg{transition:.5s ease;}

/* ---------- Registrations ---------- */
.reg-badge{
  background:#fff; border:1px solid #E4E9EF; border-radius:14px;
  padding:1.3rem 1rem; text-align:center; height:100%;
  transition:.25s;
}
.reg-badge:hover{border-color:var(--amber-500); transform:translateY(-4px); box-shadow:var(--shadow-card);}
.reg-badge .ic{
  width:52px; height:52px; margin:0 auto .8rem; border-radius:50%;
  background:var(--blue-100); color:var(--navy-800);
  display:flex; align-items:center; justify-content:center; font-size:1.35rem;
}
.reg-badge .name{font-family:'Sora',sans-serif; font-weight:700; font-size:.82rem; color:var(--navy-900);}
.reg-badge .full{font-size:.72rem; color:var(--slate-600); margin-top:.15rem;}

/* ---------- CTA banner ---------- */
.cta-banner{
  background:linear-gradient(120deg, var(--navy-950) 0%, var(--navy-800) 100%);
  border-radius:24px; padding:3.2rem 2.5rem; color:#fff; position:relative; overflow:hidden;
}
.cta-banner h3{color:#fff; font-size:1.7rem; margin-bottom:.4rem;}
.cta-banner p{color:#AFC0D2; margin-bottom:0;}
@media(max-width:767px){.cta-banner{padding:2.2rem 1.4rem; text-align:center;}}

/* ---------- Contact ---------- */
.contact-card{
  background:#fff; border-radius:18px; box-shadow:var(--shadow-soft); padding:2.4rem;
}
.form-control{
  border-radius:9px; border:1.4px solid #E4E9EF; padding:.72rem 1rem; font-size:.92rem;
}
.form-control:focus{border-color:var(--blue-500); box-shadow:0 0 0 3px rgba(46,109,166,.12);}
.contact-info-item{display:flex; gap:1rem; margin-bottom:1.6rem;}
.contact-info-item .ic{
  width:46px; height:46px; min-width:46px; border-radius:12px;
  background:var(--navy-950); color:var(--amber-500);
  display:flex; align-items:center; justify-content:center; font-size:1.15rem;
}
.contact-info-item h6{font-size:.9rem; margin-bottom:.15rem; color:var(--navy-900);}
.contact-info-item p{font-size:.85rem; color:var(--slate-600); margin-bottom:0;}

/* ---------- Footer ---------- */
footer{background:var(--navy-950); color:#fff; padding-top:4rem;}
footer h6{color:#fff; font-family:'Sora',sans-serif; font-weight:700; font-size:.95rem; margin-bottom:1.1rem;}
footer a{color:#fff; font-size:.87rem; transition:.2s;}
footer a:hover{color:var(--amber-500);}
footer ul{list-style:none; padding:0;}
footer ul li{margin-bottom:.65rem;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08); margin-top:2.5rem; padding:1.3rem 0; font-size:.8rem;
}
.social-ic{
  width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.06);
  display:flex; align-items:center; justify-content:center; color:#fff; transition:.25s;
}
.social-ic:hover{background:var(--amber-500); color:var(--navy-950);}

/* ---------- Back to top ---------- */
#backToTop{
  position:fixed; right:24px; bottom:24px; z-index:999;
  width:46px; height:46px; border-radius:50%;
  background:var(--amber-500); color:var(--navy-950);
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-soft); opacity:0; visibility:hidden; transition:.3s; border:none; font-size:1.1rem;
}
#backToTop.show{opacity:1; visibility:visible;}

/* Reveal animation */
.reveal{opacity:0; transform:translateY(24px); transition:.7s cubic-bezier(.2,.8,.2,1);}
.reveal.in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1; transform:none; transition:none;}} 


/* =========================================================
			   RONAK ENTERPRISES - PREMIUM SLIDER
			   DESKTOP VERSION
			========================================================= */
			
			.ronak-fm-slider {
				--navy: #062a4b;
				--blue: #0b477f;
				--white: #fff;
			
				position: relative;
				width: 100%;
				height: 75vh;
				min-height: 520px;
				overflow: hidden;
				background: var(--navy);
			
				font-family: "Inter", Arial, sans-serif;
			}
			
			.ronak-fm-track {
				width: 100%;
				height: 100%;
			
				display: flex;
				overflow: hidden;
			}
			
			.ronak-fm-slide {
				position: relative;
			
				height: 100%;
			
				flex: 0 0 72px;
			
				overflow: hidden;
				cursor: pointer;
			
				background: var(--navy);
			
				transition:
					flex-basis .95s cubic-bezier(.77,0,.18,1);
			}
			
			.ronak-fm-slide.active {
				flex: 1 1 auto;
				cursor: default;
			}
			
			
			/* IMAGE */
			
			.ronak-fm-img {
				position: absolute;
				inset: 0;
			
				width: 100%;
				height: 100%;
			
				object-fit: cover;
			
				opacity: 0;
				transform: scale(1.08);
			
				transition:
					opacity .8s ease,
					transform 1.5s cubic-bezier(.77,0,.18,1);
			}
			
			.ronak-fm-slide.active .ronak-fm-img {
				opacity: 1;
				transform: scale(1);
			}
			
			.ronak-fm-slide:not(.active) .ronak-fm-img {
				opacity: .12;
				filter: grayscale(.25);
			}
			
			
			/* OVERLAY */
			
			.ronak-fm-overlay {
				position: absolute;
				inset: 0;
			
				z-index: 2;
			
				background:
					linear-gradient(
						90deg,
						rgba(0, 0, 0, 0.85),
						rgba(0, 0, 0, 0.55),
						rgba(0, 0, 0, 0.2)
					);
			}
			
			.ronak-fm-slide.active .ronak-fm-overlay {
				background:
					linear-gradient(
						90deg,
						rgba(3,25,45,.86) 0%,
						rgba(3,25,45,.50) 40%,
						rgba(3,25,45,.12) 75%,
						rgba(3,25,45,.35) 100%
					);
			}
			
			
			/* COLLAPSED */
			
			.ronak-fm-collapsed {
				position: absolute;
				inset: 0;
			
				z-index: 10;
			
				display: flex;
				align-items: center;
				justify-content: center;
			
				flex-direction: column;
				gap: 15px;
			
				color: #fff;
			
				transition:
					opacity .35s ease,
					transform .5s ease;
			
				pointer-events: none;
			}
			
			.ronak-fm-slide.active .ronak-fm-collapsed {
				opacity: 0;
				transform: scale(.85);
			}
			
			.ronak-fm-number {
				font-size: 15px;
				font-weight: 700;
				letter-spacing: 2px;
				opacity: .55;
			}
			
			.ronak-fm-collapsed-title {
				writing-mode: vertical-rl;
				transform: rotate(180deg);
			
				white-space: nowrap;
			
				font-size: 18px;
				line-height: 1.2;
			
				font-weight: 600;
				text-align: center;
			}
			
			
			/* ACTIVE CONTENT */
			
			.ronak-fm-content {
				position: absolute;
			
				z-index: 20;
			
				left: 7.5%;
				bottom: 14%;
			
				width: min(680px, 65%);
			
				color: #fff;
			
				opacity: 0;
			
				transform: translateY(35px);
			
				transition:
					opacity .5s ease .25s,
					transform .8s cubic-bezier(.77,0,.18,1) .2s;
			
				pointer-events: none;
			}
			
			.ronak-fm-slide.active .ronak-fm-content {
				opacity: 1;
				transform: translateY(0);
			
				pointer-events: auto;
			}
			
			
			/* EYEBROW */
			
			.ronak-fm-eyebrow {
				display: flex;
				align-items: center;
				gap: 13px;
			
				margin-bottom: 26px;
			
				font-size: 12px;
				font-weight: 700;
			
				letter-spacing: 2px;
			}
			
			.ronak-fm-eyebrow span {
				width: 38px;
				height: 2px;
			
				display: block;
			
				background: #fff;
			}
			
			
			/* HEADING */
			
			.ronak-fm-content h2 {
				margin: 0;
			
				max-width: 720px;
			
				font-size: clamp(50px, 5vw, 76px);
			
				line-height: .98;
			
				font-weight: 400;
			
				letter-spacing: -3px;
			
				color: #fff;
			}
			
			.ronak-fm-content h2 strong {
				font-weight: 800;
			}
			
			
			/* DESCRIPTION */
			
			.ronak-fm-content p {
				max-width: 650px;
			
				margin: 28px 0 0;
			
				color: rgba(255,255,255,.85);
			
				font-size: 15px;
			
				line-height: 1.7;
			}
			
			
			/* COUNTER */
			
			.ronak-fm-counter {
				display: flex;
				align-items: center;
			
				gap: 12px;
			
				margin-top: 33px;
			
				font-size: 11px;
			
				letter-spacing: 2px;
			}
			
			.ronak-fm-counter b {
				font-weight: 700;
			}
			
			.ronak-fm-counter span {
				opacity: .55;
			}
			
			.ronak-fm-counter i {
				display: block;
			
				width: 64px;
				height: 1px;
			
				background: rgba(255,255,255,.65);
			}
			
			
			/* BUTTON */
			
			.ronak-fm-btn {
				display: inline-flex;
				align-items: center;
				justify-content: space-between;
			
				width: 195px;
				height: 52px;
			
				margin-top: 27px;
				padding: 0 18px 0 21px;
			
				border: 1px solid rgba(255,255,255,.55);
			
				color: #fff;
			
				text-decoration: none;
			
				font-size: 13px;
				font-weight: 700;
			
				transition: .3s ease;
			}
			
			.ronak-fm-btn span {
				font-size: 20px;
			
				transition: transform .3s ease;
			}
			
			.ronak-fm-btn:hover {
				background: #fff;
				color: var(--navy);
				border-color: #fff;
			}
			
			.ronak-fm-btn:hover span {
				transform: translate(4px,-4px);
			}
			
			
			/* CONTROLS */
			
			.ronak-fm-controls {
				position: absolute;
			
				right: 0;
				bottom: 0;
			
				z-index: 50;
			
				display: flex;
			}
			
			.ronak-fm-controls button {
				width: 58px;
				height: 58px;
			
				border: 1px solid rgba(255,255,255,.25);
				border-right: 0;
			
				background: rgba(3,25,45,.45);
			
				color: #fff;
			
				font-size: 20px;
			
				cursor: pointer;
			
				transition: .3s ease;
			}
			
			.ronak-fm-controls button:hover {
				background: #fff;
				color: var(--navy);
			}
			
			
			/* PROGRESS */
			
			.ronak-fm-progress {
				position: absolute;
			
				left: 7.5%;
				bottom: 6%;
			
				width: 230px;
				height: 2px;
			
				z-index: 40;
			
				background: rgba(255,255,255,.25);
			}
			
			.ronak-fm-progress span {
				display: block;
			
				width: 25%;
				height: 100%;
			
				background: #fff;
			
				transition: width .5s ease;
			}
			
			
			/* =========================================================
			   TABLET
			========================================================= */
			
			@media (max-width: 991px) {
			
				.ronak-fm-content {
					left: 8%;
					width: 68%;
				}
			
				.ronak-fm-content h2 {
					font-size: 52px;
				}
			
			}
			
			
			/* =========================================================
			   MOBILE
			   REWORKED FOR READABILITY
			========================================================= */
			
			@media (max-width: 767px) {
			
				.ronak-fm-slider {
			
					/*
					 * Enough vertical space for:
					 * collapsed tabs
					 * image
					 * readable content
					 */
			
					height: 680px;
					min-height: 680px;
			
					background: #062a4b;
				}
			
			
				.ronak-fm-track {
					height: 100%;
			
					display: flex;
				}
			
			
				/* -----------------------------------------------
				   COLLAPSED SLIDE WIDTH
				----------------------------------------------- */
			
				.ronak-fm-slide {
					flex: 0 0 34px;
			
					height: 100%;
			
					transition:
						flex-basis .75s cubic-bezier(.77,0,.18,1);
				}
			
				.ronak-fm-slide.active {
					flex: 1 1 auto;
				}
			
			
				/* -----------------------------------------------
				   INACTIVE MOBILE SERVICE NAME
				   HORIZONTAL — NOT VERTICAL
				----------------------------------------------- */
			
				.ronak-fm-collapsed {
			
					gap: 6px;
			
					padding: 8px 2px;
			
					justify-content: center;
				}
			
				.ronak-fm-number {
					font-size: 7px;
			
					letter-spacing: 1px;
				}
			
				.ronak-fm-collapsed-title {
			
					writing-mode: horizontal-tb;
					transform: none;
			
					width: 125px;
			
					white-space: normal;
			
					text-align: center;
			
					font-size: 8.5px;
			
					line-height: 1.2;
			
					font-weight: 600;
				}
			
			
				/* -----------------------------------------------
				   ACTIVE IMAGE
				----------------------------------------------- */
			
				.ronak-fm-slide.active .ronak-fm-img {
			
					opacity: 1;
			
					transform: scale(1);
			
					/*
					 * Image remains visible behind content.
					 */
					object-position: center center;
				}
			
			
				/* -----------------------------------------------
				   MOBILE OVERLAY
				   Darker at bottom for readable text
				----------------------------------------------- */
			
				.ronak-fm-slide.active .ronak-fm-overlay {
			
					background:
						linear-gradient(
							to bottom,
							rgba(3,25,45,.03) 0%,
							rgba(3,25,45,.08) 27%,
							rgba(3,25,45,.30) 48%,
							rgba(3,25,45,.76) 69%,
							rgba(3,25,45,.97) 100%
						);
				}
			
			
				/* -----------------------------------------------
				   ACTIVE CONTENT
				----------------------------------------------- */
			
				.ronak-fm-content {
			
					left: 24px;
					right: 24px;
			
					bottom: 104px;
			
					width: auto;
			
					max-width: none;
			
					transform: translateY(25px);
				}
			
				.ronak-fm-slide.active .ronak-fm-content {
			
					transform: translateY(0);
				}
			
			
				/* -----------------------------------------------
				   EYEBROW
				----------------------------------------------- */
			
				.ronak-fm-eyebrow {
			
					margin-bottom: 16px;
			
					gap: 9px;
			
					font-size: 9px;
			
					line-height: 1;
			
					letter-spacing: 1.4px;
				}
			
				.ronak-fm-eyebrow span {
			
					width: 25px;
					height: 1px;
				}
			
			
				/* -----------------------------------------------
				   MOBILE HEADING
				   MUCH MORE READABLE
				----------------------------------------------- */
			
				.ronak-fm-content h2 {
			
					margin: 0;
			
					max-width: 100%;
			
					font-size: 37px;
			
					line-height: 1.02;
			
					letter-spacing: -1.4px;
			
					font-weight: 400;
				}
			
				.ronak-fm-content h2 strong {
					font-weight: 800;
				}
			
			
				/* -----------------------------------------------
				   MOBILE DESCRIPTION
				----------------------------------------------- */
			
				.ronak-fm-content p {
			
					max-width: 100%;
			
					margin-top: 17px;
					margin-bottom: 0;
			
					font-size: 13px;
			
					line-height: 1.55;
			
					color: rgba(255,255,255,.90);
				}
			
			
				/* -----------------------------------------------
				   COUNTER
				----------------------------------------------- */
			
				.ronak-fm-counter {
			
					margin-top: 20px;
			
					gap: 10px;
			
					font-size: 9px;
			
					letter-spacing: 1.5px;
				}
			
				.ronak-fm-counter i {
			
					width: 45px;
					height: 1px;
				}
			
			
				/* -----------------------------------------------
				   BUTTON
				----------------------------------------------- */
			
				.ronak-fm-btn {
			
					width: 170px;
			
					height: 48px;
			
					margin-top: 18px;
			
					padding: 0 16px 0 18px;
			
					font-size: 12px;
				}
			
				.ronak-fm-btn span {
					font-size: 18px;
				}
			
			
				/* -----------------------------------------------
				   PROGRESS
				----------------------------------------------- */
			
				.ronak-fm-progress {
			
					left: 24px;
					right: 24px;
			
					bottom: 62px;
			
					width: auto;
			
					height: 2px;
				}
			
			
				/* -----------------------------------------------
				   CONTROLS
				----------------------------------------------- */
			
				.ronak-fm-controls {
			
					right: 0;
					bottom: 0;
				}
			
				.ronak-fm-controls button {
			
					width: 46px;
					height: 46px;
			
					font-size: 16px;
				}
			
			}
			
			@media (max-width: 767px) {

/* MAIN SLIDER */
.ronak-fm-slider {
	width: 100%;
	height: 620px;
	min-height: 620px;
	overflow: hidden;
	background: #ffffff;
}


/* TRACK BECOMES VERTICAL */
.ronak-fm-track {
	width: 100%;
	height: 100%;

	display: flex;
	flex-direction: column;

	overflow: hidden;
}


/* =====================================================
   EACH SLIDE
===================================================== */

.ronak-fm-slide {
	position: relative;

	width: 100%;
	height: 45px;
	min-height: 45px;

	flex: 0 0 45px;

	overflow: hidden;

	background: #041f38;

	cursor: pointer;

	transition:
		height .65s cubic-bezier(.77,0,.18,1),
		flex-basis .65s cubic-bezier(.77,0,.18,1);
}


/* =====================================================
   ACTIVE SLIDE
   REMAINING HEIGHT GOES TO IMAGE + CONTENT
===================================================== */

.ronak-fm-slide.active {

	height: calc(100% - 135px);
	min-height: 0;

	flex: 1 1 auto;

	cursor: default;

	background: #fff;
}


/* =====================================================
   COLLAPSED / SERVICE TAB
===================================================== */

.ronak-fm-collapsed {

	position: absolute;

	top: 0;
	left: 0;
	right: 0;

	width: 100%;
	height: 45px;

	min-height: 45px;

	padding: 0 10px;

	display: flex;

	flex-direction: row;

	align-items: center;
	justify-content: center;

	gap: 0;

	z-index: 30;

	opacity: 1;

	transform: none;

	pointer-events: auto;

	background: #1e62bd;

	color: #fff;

	border-bottom: 1px solid rgba(255,255,255,.35);

	transition: none;
}


/* ACTIVE TAB */
.ronak-fm-slide.active .ronak-fm-collapsed {

	opacity: 1;

	transform: none;

	background: #fff8ff;

	color: #111;

	border-bottom: 1px solid #e8dce7;

	pointer-events: none;
}


/* REMOVE NUMBER ON MOBILE */
.ronak-fm-number {

	display: none;
}


/* SERVICE NAME */
.ronak-fm-collapsed-title {

	display: block;

	width: auto;

	white-space: nowrap;

	writing-mode: horizontal-tb;

	transform: none;

	text-align: center;

	font-size: 11px;

	line-height: 1;

	font-weight: 500;

	letter-spacing: 0;

}


.ronak-fm-slide.active .ronak-fm-collapsed-title {

	font-weight: 500;

	color: #111;

}


/* =====================================================
   IMAGE
   IMAGE STARTS BELOW ACTIVE TAB
===================================================== */

.ronak-fm-img {

	position: absolute;

	top: 45px;
	left: 0;
	right: 0;
	bottom: 0;

	width: 100%;
	height: calc(100% - 45px);

	object-fit: cover;

	object-position: center center;

	opacity: 0;

	transform: scale(1);

	transition:
		opacity .55s ease;
}


/* ACTIVE IMAGE */
.ronak-fm-slide.active .ronak-fm-img {

	opacity: 1;

	transform: scale(1);

	object-fit: cover;
}


/* INACTIVE IMAGES MUST NOT SHOW */
.ronak-fm-slide:not(.active) .ronak-fm-img {

	opacity: 0;

	visibility: hidden;
}


/* =====================================================
   IMAGE OVERLAY
===================================================== */

.ronak-fm-overlay {

	position: absolute;

	top: 45px;
	left: 0;
	right: 0;
	bottom: 0;

	z-index: 5;

	background: transparent;

	pointer-events: none;
}


.ronak-fm-slide.active .ronak-fm-overlay {

	background:
		linear-gradient(
			to bottom,
			rgba(3,25,45,.04) 0%,
			rgba(3,25,45,.05) 25%,
			rgba(3,25,45,.22) 45%,
			rgba(3,25,45,.68) 68%,
			rgba(3,25,45,.96) 100%
		);
}


/* =====================================================
   CONTENT
===================================================== */

.ronak-fm-content {

	position: absolute;

	left: 28px;
	right: 28px;

	top: auto;
	bottom: 30px;

	width: auto;
	max-width: none;

	z-index: 20;

	color: #fff;

	opacity: 0;

	transform: translateY(20px);

	pointer-events: none;

	transition:
		opacity .45s ease .15s,
		transform .55s ease .15s;
}


.ronak-fm-slide.active .ronak-fm-content {

	opacity: 1;

	transform: translateY(0);

	pointer-events: auto;
}


/* =====================================================
   EYEBROW
===================================================== */

.ronak-fm-eyebrow {

	display: flex;

	align-items: center;

	gap: 9px;

	margin-bottom: 13px;

	font-size: 8px;

	line-height: 1;

	letter-spacing: 1.5px;

	font-weight: 700;

	color: #fff;
}


.ronak-fm-eyebrow span {

	display: block;

	width: 24px;

	height: 1px;

	flex-shrink: 0;

	background: #fff;
}


/* =====================================================
   HEADING
===================================================== */

.ronak-fm-content h2 {

	margin: 0;

	width: 100%;

	max-width: 330px;

	font-size: 34px;

	line-height: 1.02;

	letter-spacing: -1.2px;

	font-weight: 400;

	color: #fff;
}


.ronak-fm-content h2 strong {

	font-weight: 800;

	color: #fff;
}


/* =====================================================
   DESCRIPTION
===================================================== */

.ronak-fm-content p {

	margin: 15px 0 0;

	max-width: 335px;

	font-size: 12px;

	line-height: 1.55;

	font-weight: 400;

	color: rgba(255,255,255,.94);
}


/* =====================================================
   COUNTER
===================================================== */

.ronak-fm-counter {

	display: flex;

	align-items: center;

	gap: 9px;

	margin-top: 18px;

	font-size: 8px;

	line-height: 1;

	letter-spacing: 1.5px;

	color: #fff;
}


.ronak-fm-counter b {

	font-weight: 700;

	color: #fff;
}


.ronak-fm-counter span {

	color: rgba(255,255,255,.65);
}


.ronak-fm-counter i {

	display: block;

	width: 42px;

	height: 1px;

	background: rgba(255,255,255,.7);
}


/* =====================================================
   BUTTON
===================================================== */

.ronak-fm-btn {

	display: inline-flex;

	align-items: center;

	justify-content: space-between;

	width: 145px;

	height: 42px;

	margin-top: 17px;

	padding: 0 13px 0 15px;

	border: 1px solid rgba(255,255,255,.65);

	background: transparent;

	color: #fff;

	text-decoration: none;

	font-size: 11px;

	font-weight: 700;

	transition: .3s ease;
}


.ronak-fm-btn span {

	font-size: 17px;

	line-height: 1;

	transition: transform .3s ease;
}


.ronak-fm-btn:hover {

	background: #fff;

	color: #062a4b;

	border-color: #fff;
}


/* =====================================================
   PROGRESS BAR
===================================================== */

.ronak-fm-progress {

	position: absolute;

	left: 28px;
	right: 28px;

	bottom: 11px;

	width: auto;

	height: 2px;

	z-index: 45;

	background: rgba(255,255,255,.28);
}


.ronak-fm-progress span {

	display: block;

	width: 25%;

	height: 100%;

	background: #fff;

	transition: width .5s ease;
}


/* =====================================================
   ARROWS
===================================================== */

.ronak-fm-controls {

	position: absolute;

	right: 0;

	bottom: 0;

	z-index: 50;

	display: flex;
}


.ronak-fm-controls button {

	width: 42px;

	height: 42px;

	border: 1px solid rgba(255,255,255,.25);

	border-bottom: 0;

	border-right: 0;

	background: rgba(3,25,45,.65);

	color: #fff;

	font-size: 15px;

	cursor: pointer;
}


/* =====================================================
   390px
===================================================== */

@media (max-width: 390px) {

	.ronak-fm-slider {

		height: 600px;

		min-height: 600px;
	}


	.ronak-fm-slide {

		height: 43px;

		min-height: 43px;

		flex-basis: 43px;
	}


	.ronak-fm-slide.active {

		height: calc(100% - 129px);
	}


	.ronak-fm-collapsed {

		height: 43px;

		min-height: 43px;
	}


	.ronak-fm-img {

		top: 43px;

		height: calc(100% - 43px);
	}


	.ronak-fm-overlay {

		top: 43px;
	}


	.ronak-fm-collapsed-title {

		font-size: 13px;
	}


	.ronak-fm-content {

		left: 22px;
		right: 22px;

		bottom: 27px;
	}


	.ronak-fm-content h2 {

		font-size: 32px;

		letter-spacing: -1px;
	}


	.ronak-fm-content p {

		max-width: 320px;

		font-size: 11.5px;

		line-height: 1.5;
	}


	.ronak-fm-progress {

		left: 22px;
		right: 22px;

		bottom: 9px;
	}

}


/* =====================================================
   350px
===================================================== */

@media (max-width: 350px) {

	.ronak-fm-slider {

		height: 580px;

		min-height: 580px;
	}


	.ronak-fm-slide {

		height: 40px;

		min-height: 40px;

		flex-basis: 40px;
	}


	.ronak-fm-slide.active {

		height: calc(100% - 120px);
	}


	.ronak-fm-collapsed {

		height: 40px;

		min-height: 40px;
	}


	.ronak-fm-img {

		top: 40px;

		height: calc(100% - 40px);
	}


	.ronak-fm-overlay {

		top: 40px;
	}


	.ronak-fm-collapsed-title {

		font-size: 14px;
	}


	.ronak-fm-content {

		left: 18px;
		right: 18px;

		bottom: 25px;
	}


	.ronak-fm-content h2 {

		font-size: 29px;
	}


	.ronak-fm-content p {

		font-size: 11px;

		line-height: 1.45;

		margin-top: 12px;
	}


	.ronak-fm-counter {

		margin-top: 14px;
	}


	.ronak-fm-btn {

		width: 138px;

		height: 40px;

		margin-top: 14px;

		font-size: 10px;
	}

}

}

.gew-happy-customers {
    position: relative;
    padding: 50px 0 60px;
    overflow: hidden;
    font-family: 'Manrope', sans-serif;
    background:
      radial-gradient(circle at 10% 10%, rgba(247,148,29,0.13), transparent 26%),
      linear-gradient(180deg, #ffffff 0%, #f6f9fb 100%);
  }
  
  .gew-happy-customers::before {
    content: "";
    position: absolute;
    right: -120px;
    top: -120px;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: rgba(0,41,73,0.07);
  }
  
  .gew-customer-head {
    max-width: 780px;
    margin: 0 auto 20px;
    text-align: center;
    position: relative;
    z-index: 2;
  }
  
  .gew-customer-head span {
    display: inline-block;
    padding: 9px 20px;
    border-radius: 50px;
    background: rgba(247,148,29,0.13);
    color: #081d33;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: 16px;
  }
  
  .gew-customer-head h2 {
    margin: 0;
    color: #081d33;
    font-size: 30px;
    line-height: 1.08;
    font-weight: 900; 
  }
  
  .gew-customer-head h2 b {
    color: #1e62bd;
  }
  
  .gew-customer-head p { 
    margin: 10px auto 0;
    color: #64737e;
    font-size: 16.5px;
    line-height: 1.8;
    font-weight: 500;
  }
  
  .gew-logo-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 18px 0;
  }
  
  .gew-logo-slider::before,
  .gew-logo-slider::after {
    content: "";
    position: absolute;
    top: 0;
    width: 170px;
    height: 100%;
    z-index: 3;
    pointer-events: none;
  }
  
  .gew-logo-slider::before {
    left: 0;
    background: linear-gradient(90deg, #f6f9fb, transparent);
  }
  
  .gew-logo-slider::after {
    right: 0;
    background: linear-gradient(270deg, #f6f9fb, transparent);
  }
  
  .gew-logo-track {
    display: flex;
    align-items: center;
    gap: 28px;
    width: max-content;
    animation: gewLogoSlide 28s linear infinite;
  }
  
  .gew-logo-slider:hover .gew-logo-track {
    animation-play-state: paused;
  }
  
  .gew-logo-card {
    width: 230px; 
    border-radius: 28px;
    background: rgba(255,255,255,0.86);
    border: 1px solid rgba(0,41,73,0.08);
    box-shadow: 0 20px 50px rgba(0,41,73,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 26px;
    transition: 0.35s ease;
  }
  
  .gew-logo-card img { 
    object-fit: contain; 
    transition: 0.35s ease;
  }
  
  .gew-logo-card:hover {
    transform: translateY(-8px);
    border-color: rgba(247,148,29,0.45);
    box-shadow: 0 30px 70px rgba(0,41,73,0.15);
  }
  
  .gew-logo-card:hover img {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(1.08);
  }
  
  @keyframes gewLogoSlide {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-50%);
    }
  }
  
  @media (max-width: 767px) {
    .gew-happy-customers {
      padding: 70px 0;
    }
  
    .gew-customer-head {
      text-align: left;
      margin-bottom: 34px;
    }
  
    .gew-logo-card { 
      border-radius: 22px;
    } 
  
    .gew-logo-slider::before,
    .gew-logo-slider::after {
      width: 70px;
    }
  }

  /* ===== Service Cards ===== */
.service-card{
	background:#fff; border-radius:16px; overflow:hidden;
	box-shadow:0 10px 30px rgba(8,27,46,.07);
	transition:.35s; height:100%;
	border:1px solid var(--gray-100);
  }
  .service-card:hover{transform:translateY(-8px); box-shadow:0 26px 50px rgba(8,27,46,.16);}
  .service-card .img-wrap{ overflow:hidden; position:relative;}
  .service-card .img-wrap img{width:100%; height:100%; object-fit:cover; transition:.5s;}
  .service-card:hover .img-wrap img{transform:scale(1.08);}
  .service-card .icon-badge{
	position:absolute; bottom: -15px; left:22px;
	width:52px; height:52px; border-radius:12px;
	background:var(--amber-500); color:var(--navy-950);
	display:flex; align-items:center; justify-content:center;
	font-size:1.35rem; box-shadow:0 10px 20px rgba(242,169,59,.35);
  }
  .service-card .body{padding:2.1rem 1.6rem 1.6rem;}
  .service-card h5{font-size:1.1rem; font-weight:700; margin-bottom:.7rem;}
  .service-card p{font-size:.9rem; margin-bottom:0;}
  .service-card .arrow-link{
	display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem;
	font-weight:700; font-size:.85rem; color:var(--navy-800); transition:.2s;
  }
  .service-card:hover .arrow-link{color:var(--sky-500); gap:.65rem;}

  .float{
	position: fixed;
	width: 50px;
	height: 50px;
	bottom: 80px;
	right: 15px;
	/* color: #FFF; */
	background-color: none !important;
	text-align: center;
	font-size: 30px;
	z-index: 999;
  }
  
   .float1{
  bottom: 150px;
  }

  .oe-page-breadcrumb {
	background: #222;
	border-bottom: 6px solid #f5a623;
	height: 100px;
	display: flex;
	align-items: center;
	position: relative;
	z-index: 2;
  }
  
  .oe-breadcrumb-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
  }
  
  .oe-breadcrumb-left {
	display: flex;
	align-items: center;
	gap: 10px;
  }
  
  .oe-breadcrumb-icon {
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	background: var(--oe-navy);
	color: #fff;
	font-size: 30px;
  }
  
  .oe-breadcrumb-title { 
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	letter-spacing: .1px;
  }
  
  .oe-breadcrumb-nav {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: "Inter", sans-serif;
	font-size: 12px;
  }
  
  .oe-breadcrumb-nav a {
	color: #fff;
	text-decoration: none;
	transition: .25s ease;
  }
  
  .oe-breadcrumb-nav a:hover {
	color: var(--oe-red);
  }
  
  .oe-breadcrumb-arrow {
	color: #fff;
	font-size: 9px;
  }
  
  .oe-breadcrumb-current {
	color: #f5a623;
	font-weight: 600;
  }

  .re-quote-section {
    position: relative;
    padding: 50px 0;
    background:
        radial-gradient(circle at 10% 20%, rgba(31, 103, 180, 0.10), transparent 32%),
        linear-gradient(135deg, #f5f9fd 0%, #ffffff 55%, #edf5fc 100%);
    overflow: hidden;
}

.re-quote-section::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(24, 94, 165, 0.055);
    top: -200px;
    right: -120px;
}

.re-quote-section .container {
    position: relative;
    z-index: 2;
}


/* MAIN WRAPPER */

.re-quote-wrapper {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 70px;
    align-items: center;
}


/* LEFT CONTENT */

.re-quote-content {
    padding-right: 20px;
}

.re-quote-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.2px;
    color: #1769b0;
}

.re-quote-eyebrow::before {
    content: "";
    width: 34px;
    height: 2px;
    background: #1769b0;
}

.re-quote-content h2 {
    margin: 0;
    max-width: 580px;
    font-size: 30px;
    line-height: 1.08; 
    font-weight: 700;
    color: #10283f;
}

.re-quote-content h2 span { 
    color: #1769b0;
}

.re-quote-intro {
    max-width: 570px;
    margin: 25px 0 35px;
    font-size: 16px;
    line-height: 1.8;
    color: #657586;
}


/* POINTS */

.re-quote-points {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.re-quote-point {
    display: flex;
    align-items: center;
    gap: 16px;
}

.re-quote-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #ffffff;
    color: #1769b0;
    font-size: 20px;
    box-shadow: 0 8px 25px rgba(21, 70, 110, 0.08);
    border: 1px solid rgba(23, 105, 176, 0.08);
}

.re-quote-point h4 {
    margin: 0 0 3px;
    font-size: 15px;
    font-weight: 700;
    color: #18364f;
}

.re-quote-point p {
    margin: 0;
    font-size: 13px;
    color: #7a8793;
}


/* CONTACT */

.re-quote-contact {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 38px;
    padding-top: 25px;
    border-top: 1px solid #dce7ef;
}

.re-quote-contact span {
    font-size: 13px;
    color: #788796;
}

.re-quote-contact a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #1769b0;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

.re-quote-contact a i {
    font-size: 13px;
}


/* FORM CARD */

.re-quote-form-card {
    position: relative;
    padding: 42px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(20, 76, 120, 0.09);
    border-radius: 24px;
    box-shadow:
        0 25px 70px rgba(21, 66, 105, 0.12),
        0 5px 20px rgba(21, 66, 105, 0.04);
}

.re-quote-form-card::after {
    content: "";
    position: absolute;
    width: 80px;
    height: 80px;
    right: 0;
    top: 0;
    border-top: 3px solid #1769b0;
    border-right: 3px solid #1769b0;
    border-radius: 0 24px 0 0;
}

.re-form-heading {
    margin-bottom: 28px;
}

.re-form-heading > span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;
    color: #1769b0;
}

.re-form-heading h3 {
    margin: 8px 0 7px;
    font-size: 28px;
    font-weight: 700;
    color: #142f46;
}

.re-form-heading p {
    margin: 0;
    color: #7a8996;
    font-size: 14px;
}


/* FORM GRID */

.re-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.re-form-group {
    display: flex;
    flex-direction: column;
}

.re-full-width {
    grid-column: 1 / -1;
}

.re-form-group label {
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    color: #344b60;
}

.re-form-group input,
.re-form-group select,
.re-form-group textarea {
    width: 100%;
    border: 1px solid #dce5ec;
    border-radius: 10px;
    background: #fbfdff;
    padding: 13px 15px;
    font-family: inherit;
    font-size: 13px;
    color: #263e52;
    outline: none;
    transition: 0.25s ease;
    box-sizing: border-box;
}

.re-form-group input,
.re-form-group select {
    height: 48px;
}

.re-form-group textarea {
    resize: vertical;
    min-height: 105px;
}

.re-form-group input::placeholder,
.re-form-group textarea::placeholder {
    color: #a6b1ba;
}

.re-form-group input:focus,
.re-form-group select:focus,
.re-form-group textarea:focus {
    border-color: #1769b0;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(23, 105, 176, 0.08);
}


/* SUBMIT BUTTON */

.re-quote-submit {
    width: 100%;
    min-height: 54px;
    margin-top: 22px;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(135deg, #1769b0, #0d4f8b);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 19px 0 22px;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    transition: 0.3s ease;
    box-shadow: 0 10px 25px rgba(23, 105, 176, 0.20);
}

.re-quote-submit i {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255,255,255,0.14);
    transition: 0.3s ease;
}

.re-quote-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 32px rgba(23, 105, 176, 0.28);
}

.re-quote-submit:hover i {
    transform: translate(2px, -2px);
}


/* NOTE */

.re-form-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 15px;
    color: #8795a1;
    font-size: 11px;
}

.re-form-note i {
    color: #1769b0;
}


/* =================================
   TABLET
================================= */

@media (max-width: 991px) {

    .re-quote-section {
        padding: 75px 0;
    }

    .re-quote-wrapper {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .re-quote-content {
        padding-right: 0;
    }

    .re-quote-content h2 {
        max-width: 700px;
    }

    .re-quote-intro {
        max-width: 700px;
    }

}


/* =================================
   MOBILE
================================= */

@media (max-width: 575px) {

    .re-quote-section {
        padding: 55px 0;
    }

    .re-quote-wrapper {
        gap: 35px;
    }

    .re-quote-content h2 {
        font-size: 30px;
        letter-spacing: -1px;
    }

    .re-quote-intro {
        margin: 18px 0 28px;
        font-size: 14px;
        line-height: 1.7;
    }

    .re-quote-point {
        align-items: flex-start;
    }

    .re-quote-icon {
        flex-basis: 43px;
        width: 43px;
        height: 43px;
        font-size: 17px;
    }

    .re-quote-point h4 {
        font-size: 14px;
    }

    .re-quote-point p {
        font-size: 12px;
        line-height: 1.5;
    }

    .re-quote-contact {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        margin-top: 28px;
    }

    .re-quote-form-card {
        padding: 27px 20px;
        border-radius: 18px;
    }

    .re-quote-form-card::after {
        width: 55px;
        height: 55px;
        border-radius: 0 18px 0 0;
    }

    .re-form-heading h3 {
        font-size: 24px;
    }

    .re-form-heading p {
        font-size: 13px;
        line-height: 1.6;
    }

    .re-form-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .re-full-width {
        grid-column: auto;
    }

    .re-form-group input,
    .re-form-group select {
        height: 46px;
    }

}

/* =========================================
   SECTION
========================================= */

.re-ifm-section {
    position: relative;
    padding: 105px 0 95px;
    background: #f6f9fc;
    overflow: hidden;
}

.re-ifm-section::before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: rgba(23, 105, 176, 0.045);
    top: -260px;
    right: -170px;
}

.re-ifm-section::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(23, 105, 176, 0.035);
    bottom: -180px;
    left: -130px;
}

.re-ifm-section .container {
    position: relative;
    z-index: 2;
}


/* =========================================
   TOP
========================================= */

.re-ifm-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 42px;
}

.re-ifm-label {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #1769b0;
}

.re-ifm-label span {
    display: inline-block;
    width: 35px;
    height: 2px;
    background: #1769b0;
}

.re-ifm-top-text {
    font-size: 13px;
    color: #7d8b97;
    letter-spacing: .3px;
}


/* =========================================
   MAIN GRID
========================================= */

.re-ifm-main {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 75px;
    align-items: center;
}


/* =========================================
   IMAGE
========================================= */

.re-ifm-visual {
    position: relative;
}

.re-ifm-image-wrap {
    position: relative;
    height: 570px;
    overflow: hidden;
    border-radius: 22px;
    background: #dfe8ef;
    box-shadow: 0 25px 65px rgba(17, 55, 86, .13);
}

.re-ifm-image-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .6s ease;
}

.re-ifm-image-wrap:hover img {
    transform: scale(1.025);
}

.re-ifm-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(6, 30, 52, 0.02) 45%,
        rgba(6, 30, 52, 0.42) 100%
    );
}


/* EXPERIENCE */

.re-ifm-experience {
    position: absolute;
    left: 25px;
    bottom: 25px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 16px 20px;
    border-radius: 13px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 15px 35px rgba(0,0,0,.14);
}

.re-ifm-experience strong {
    font-size: 34px;
    line-height: 1;
    color: #1769b0;
}

.re-ifm-experience span {
    font-size: 11px;
    line-height: 1.45;
    font-weight: 600;
    color: #405568;
}


/* LOCATION */

.re-ifm-location {
    position: absolute;
    right: 22px;
    top: 22px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px 14px;
    border-radius: 30px;
    background: rgba(10, 35, 57, .78);
    backdrop-filter: blur(8px);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
}

.re-ifm-location i {
    color: #7fc2f5;
}


/* =========================================
   CONTENT
========================================= */

.re-ifm-content {
    padding-right: 10px;
}

.re-ifm-small-title {
    display: block;
    margin-bottom: 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.7px;
    color: #1769b0;
}

.re-ifm-content h2 {
    max-width: 650px;
    margin: 0 0 23px;
    font-size: 30px;
    line-height: 1.08;
    letter-spacing: -1.6px;
    font-weight: 700;
    color: #132f47;
}

.re-ifm-content h2 span {
    color: #1769b0;
}

.re-ifm-description {
    max-width: 650px;
    margin: 0 0 13px;
    font-size: 14px;
    line-height: 1.85;
    color: #687989;
}

.re-ifm-description.second {
    margin-bottom: 29px;
}


/* =========================================
   FEATURES
========================================= */

.re-ifm-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 25px;
}

.re-ifm-feature {
    display: flex;
    gap: 13px;
    align-items: flex-start;
}

.re-ifm-feature-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #ffffff;
    color: #1769b0;
    font-size: 18px;
    border: 1px solid #e1eaf1;
    box-shadow: 0 7px 20px rgba(23, 70, 105, .055);
}

.re-ifm-feature h4 {
    margin: 1px 0 5px;
    font-size: 13px;
    font-weight: 700;
    color: #203c53;
}

.re-ifm-feature p {
    margin: 0;
    font-size: 11.5px;
    line-height: 1.6;
    color: #7d8c98;
}


/* =========================================
   CTA
========================================= */

.re-ifm-cta {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 34px;
}

.re-ifm-button {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-height: 50px;
    padding: 0 8px 0 20px;
    border-radius: 9px;
    background: #1769b0;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 12px 25px rgba(23, 105, 176, .19);
    transition: .3s ease;
}

.re-ifm-button i {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: rgba(255,255,255,.13);
}

.re-ifm-button:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(23, 105, 176, .25);
}

.re-ifm-button:hover i {
    transform: translate(2px,-2px);
}

.re-ifm-note {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    color: #7b8b98;
}

.re-ifm-note i {
    color: #1769b0;
}


/* =========================================
   BOTTOM SERVICES
========================================= */

.re-ifm-services {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 70px;
    border-top: 1px solid #dce6ee;
    border-bottom: 1px solid #dce6ee;
}

.re-ifm-service-item {
    min-height: 90px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 24px;
    border-right: 1px solid #dce6ee;
}

.re-ifm-service-item:first-child {
    padding-left: 0;
}

.re-ifm-service-item:last-child {
    border-right: 0;
}

.re-ifm-service-item > span {
    font-size: 10px;
    font-weight: 700;
    color: #a3b1bc;
}

.re-ifm-service-item > div {
    display: flex;
    align-items: center;
    gap: 9px;
}

.re-ifm-service-item i {
    color: #1769b0;
    font-size: 17px;
}

.re-ifm-service-item strong {
    font-size: 12px;
    color: #314b60;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .re-ifm-section {
        padding: 80px 0;
    }

    .re-ifm-main {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .re-ifm-image-wrap {
        height: 500px;
    }

    .re-ifm-content {
        padding-right: 0;
    }

    .re-ifm-content h2 {
        max-width: 700px;
    }

    .re-ifm-description {
        max-width: 750px;
    }

    .re-ifm-services {
        grid-template-columns: 1fr 1fr;
    }

    .re-ifm-service-item {
        border-bottom: 1px solid #dce6ee;
    }

    .re-ifm-service-item:nth-child(2) {
        border-right: 0;
    }

    .re-ifm-service-item:nth-child(3),
    .re-ifm-service-item:nth-child(4) {
        border-bottom: 0;
    }

    .re-ifm-service-item:first-child {
        padding-left: 24px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .re-ifm-section {
        padding: 60px 0;
    }

    .re-ifm-top {
        display: block;
        margin-bottom: 30px;
    }

    .re-ifm-top-text {
        margin-top: 9px;
        padding-left: 46px;
        font-size: 11px;
    }

    .re-ifm-main {
        gap: 35px;
    }

    .re-ifm-image-wrap {
        height: 390px;
        border-radius: 17px;
    }

    .re-ifm-experience {
        left: 14px;
        bottom: 14px;
        padding: 12px 15px;
    }

    .re-ifm-experience strong {
        font-size: 28px;
    }

    .re-ifm-location {
        top: 14px;
        right: 14px;
    }

    .re-ifm-content h2 {
        font-size: 34px;
        line-height: 1.1;
        letter-spacing: -1px;
    }

    .re-ifm-description {
        font-size: 13px;
        line-height: 1.75;
    }

    .re-ifm-features {
        grid-template-columns: 1fr;
        gap: 17px;
    }

    .re-ifm-cta {
        align-items: flex-start;
        flex-direction: column;
        gap: 13px;
        margin-top: 28px;
    }

    .re-ifm-services {
        grid-template-columns: 1fr;
        margin-top: 45px;
    }

    .re-ifm-service-item,
    .re-ifm-service-item:first-child {
        min-height: 68px;
        padding: 0;
        border-right: 0;
        border-bottom: 1px solid #dce6ee;
    }

    .re-ifm-service-item:last-child {
        border-bottom: 0;
    }

}