:root{
  --navy: #032254;
  --navy-deep: #021a40;
  --blue: #3050FF;
  --blue-dark: #1f3ad6;
  --bg-lavender: #F5F6FF;
  --bg-grey: #F0F0F0;
  --ink: #0a0a0a;
  --grey-text: #5b5f6b;
  --grey-soft: #8a8d97;
  --white: #ffffff;
  --border-soft: #e6e7f2;
  --footer-bg: #1c1c1c;
  --footer-bottom: #141414;
  --radius-lg: 16px;
  --radius-md: 12px;
  --radius-sm: 8px;
  --shadow-card: 0 10px 30px rgba(3,34,84,0.08);
  --font-body: "Oswald", sans-serif;
}

*{ margin:0; padding:0; box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  font-family: var(--font-body);
  color: var(--ink);
  line-height:1.6;
  background:var(--white);
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }

a{ text-decoration:none; color:inherit; }

ul{ list-style:none; }

button{ font-family:inherit; cursor:pointer; border:none; background:none; }

p{font-family: "Open Sans", sans-serif;}

.container{
  max-width:1320px;
  margin:0 auto;
  padding:0 24px;
}

h1,h2,h3,h4{
  font-family: var(--font-display);
  font-weight:400;
  letter-spacing:0.3px;
  line-height:1.15;
  text-transform:none;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 34px;
  border-radius:999px;
  font-weight:700;
  font-size:15px;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }

.btn-white{
  background:var(--white);
  color:var(--navy);
  box-shadow:0 8px 20px rgba(0,0,0,0.12);
}
.btn-white:hover{ background:var(--blue); color:var(--white); }

.btn-navy{
  background:var(--navy);
  color:var(--white);
}
.btn-navy:hover{ background:var(--blue); }

.btn-blue-full{
  width:100%;
  background:var(--blue);
  color:var(--white);
  border-radius:10px;
  padding:16px;
}
.btn-blue-full:hover{ background:var(--blue-dark); }

/* ===========================================================
   HEADER
   =========================================================== */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:var(--white);
  box-shadow:0 2px 16px rgba(0,0,0,0.06);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  height:88px;
}

.logo{
 /* display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
*/
width: 215px;
}
.logo-mark{ width:40px; height:40px; }
.logo-text{
  font-family:var(--font-display);
  font-size:18px;
  line-height:1.15;
  color:var(--navy);
  letter-spacing:0.5px;
}
.logo-text span{ color:var(--blue); }

.main-nav{
  display:flex;
  align-items:center;
  gap:36px;
  font-weight:400;
  font-size:19px;
	transform: translateX(80px);
}
.main-nav a{
  position:relative;
  color:var(--ink);
  padding:6px 0;
  transition:color .2s ease;
}
.main-nav a::after{
  content:'';
  position:absolute;
  left:0; bottom:0;
  width:0%; height:2px;
  background:var(--blue);
  transition:width .25s ease;
}
.main-nav a:hover{ color:var(--blue); }
.main-nav a:hover::after{ width:100%; }

.call-badge{
  display:flex;
  align-items:center;
  gap:15px;
  background:var(--navy);
  color:var(--white);
  border-radius:999px;
  padding:10px 28px 10px 25px;
  flex-shrink:0;
  transition:background .25s ease;
}
.call-badge:hover{ background:var(--blue); }
.call-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px; height:34px;
  border-radius:50%;
  background:rgba(255,255,255,0.15);
}
.call-text{
  display:flex;
  flex-direction:column;
  font-size:11px;
  line-height:1.3;
  color:rgba(255,255,255,0.75);
}
.call-text strong{
  font-size:15px;
  color:var(--white);
  font-weight:700;
  letter-spacing: 1px;
}

.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:34px; height:34px;
  flex-shrink:0;
}
.nav-toggle span{
  display:block;
  width:100%;
  height:2.5px;
  background:var(--navy);
  border-radius:2px;
  transition:transform .25s ease, opacity .25s ease;
}
.nav-toggle.is-open span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2){ opacity:0; }
.nav-toggle.is-open span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

/* ===========================================================
   HERO
   =========================================================== */
.hero{
  position:relative;
  background:var(--navy);
  overflow:hidden;
}
/*.hero-pattern{
  position:absolute;
  inset:0;
  width:55%;
  background-image:
    repeating-linear-gradient(60deg, rgba(255,255,255,0.05) 0px, rgba(255,255,255,0.05) 1px, transparent 1px, transparent 70px),
    repeating-linear-gradient(-60deg, rgba(255,255,255,0.05) 0px, rgba(255,255,255,0.05) 1px, transparent 1px, transparent 70px);
  pointer-events:none;
}*/
.hero .sepimg {position: absolute;left: 0;}
.hero-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  gap:0;
  padding:0;
  max-width:1592px;
  min-height:560px;
}
.hero-copy{
  position:relative;
/*   z-index:2; */
  padding:40px 24px 65px 64px;
  display:flex;
  flex-direction:column;
  gap:26px;
  justify-content:center;
}
.hero-copy h1{
  color:var(--white);
  font-size:clamp(34px, 4.4vw, 60px);
  line-height:1.18;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
}
.hero-copy p{
  color:rgba(255,255,255,0.78);
  font-size:16px;
  /*max-width:480px;*/
}
.hero-copy .btn{ width:max-content; }

.hero-media{
  position:relative;
  height:720px;
  overflow:hidden;
}
.hero-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}


/* ===========================================================
   SECTION HEAD (shared)
   =========================================================== */
.section-head{
  text-align:center;
  max-width:680px;
  margin:0 auto 56px;
}
.section-head h2{
  font-size:clamp(28px,3.4vw,40px);
  color:var(--ink);
  margin-bottom:18px;
  font-weight: 700;
}
.section-head p{
  color:var(--grey-text);
  font-size:15px;
}

.services{ padding:110px 0 100px; }
.services-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
}

/* .service-card{
  background:var(--bg-grey);
  border-radius:var(--radius-lg);
  padding:32px 28px 28px; */
/*   transition:transform .3s ease, box-shadow .3s ease; */
/*   transition: all 0.4s ease 0s;
} */
/* .service-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-card);
  background:linear-gradient(135deg, var(--navy) 0%, var(--blue) 130%);
} */
.service-card{
    position: relative;
    overflow: hidden;
    background: var(--bg-grey);
    border-radius: var(--radius-lg);
    padding: 32px 28px 28px;
/*     transition: transform .4s ease, box-shadow .4s ease; */
	transition: all 0.4s ease-in-out 0s;
/*     z-index: 1; */
}

.service-card::before{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 130%);
    opacity: 0;
/*     transition: opacity .4s ease; */
	transition: all 0.4s ease-in-out 0s;
    z-index: -1;
}

.service-card:hover{
    transform: translateY(-6px);
    box-shadow: var(--shadow-card);
}

.service-card:hover::before{
    opacity: 1;
}
.service-card h3{
  font-size:21px;
  margin-bottom:10px;
  color:var(--ink);
  font-weight: 700;
	transition: all 0.4s ease-in-out 0s;
}
.service-card p{
  font-size:14px;
  color:var(--grey-text);
  margin-bottom:22px;
  min-height:42px;
	transition: all 0.4s ease-in-out 0s;
}

.service-card:hover h3{ color:var(--white); }
.service-card:hover p{ color:rgba(255,255,255,0.8); }

.service-media{
  position:relative;
  border-radius:var(--radius-md);
  overflow:hidden;
  aspect-ratio: 4/3;
}
.service-media img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}

.service-link {
  position: absolute;
  right: -8px;
  bottom: -8px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--blue);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(48,80,255,0.45);
/*   transition: background .25s ease, transform .25s ease; */
	transition: all 0.4s ease 0s;
  border: 10px solid #F0F0F0;
}
.service-link:hover{ background:var(--navy); }
.service-card:hover .service-link{border: 10px solid #2244FFEF;}


.call-card {
    border-radius: 16px;
    background: linear-gradient(180deg, #032254 0%, rgba(34, 68, 255, 0.937255) 100%);
    text-align: center;
	padding: 25px;
	height: 421px;
	position: relative;
}
.call-card .mask-sep {
    position: absolute;
    top: 0;
    left: 4px;
}
.call-card .callsvg svg{color: #fff;margin-bottom: 18px;}
.call-card h3 {
    color: #fff;
    font-size: 33px;
	font-family: "Open Sans", sans-serif;
    font-weight: 700;
	margin-bottom: 25px;
}
.call-card .service-media .call-badge {
    width: 66%;
    margin: 0 auto;
}
.callBox{position: relative;top: 50%;transform: translateY(-30%);z-index: 99;}


/* ===========================================================
   PROCESS
   =========================================================== */
.process{
  background:var(--bg-lavender);
  padding:100px 0 90px;
}

.process-row{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  align-items:center;
  gap:18px;
  margin-bottom:48px;
}

.process-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:60px 28px 32px;
  text-align:center;
  position:relative;
  min-height:230px;
/*   transition:transform .4s ease-in-out; */
	transition: all 0.4s ease-in-out 0s;
/* 	transition: background-color .4s ease, transform .4s ease; */
}

.process-card:hover{background:var(--navy);}
.process-card:hover h3, .process-card:hover p{ color:var(--white); }
/*.process-card--active p{ color:rgba(255,255,255,0.78); }*/

.process-icon{
  position:absolute;
  top:-38px; left:50%;
  transform:translateX(-50%);
  width:76px; height:76px;
  border-radius:50%;
  background:var(--blue);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(48,80,255,0.35);
}
.process-icon--dark{ background:var(--blue); }

.process-card h3{
  font-size:24px;
  margin-bottom:12px;
  color:var(--ink);
  font-weight: 700;
	transition: all 0.4s ease-in-out 0s;
}
.process-card p{
  font-size:14px;
  color:var(--grey-text);
	transition: all 0.4s ease-in-out 0s;
}

.process-arrow{
  display:flex;
  align-items:center;
  gap:4px;
  color:var(--ink);
  font-weight:700;
  justify-content:center;
}

.process-cta{ text-align:center; }


/* ===========================================================
   ABOUT
   =========================================================== */
.about{ padding:110px 0; }

.about-grid{
  display:grid;
  grid-template-columns: 0.78fr 1.15fr 1fr;
  gap:0;
  align-items:stretch;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-card);
}

.about-photos{
  display:grid;
  grid-template-rows:1fr 1fr;
}
.about-photos .abo1{
  width:100%; 
  height:85%;
  object-fit:cover;
  position: relative;
  bottom: -48px;
  border-radius: 10px 0 0 10px;
}
.about-photos .abo2{
  width:100%; 
  height:85%;
  object-fit:cover;
  position: relative;
  bottom: 0px;
  border-radius: 10px 0 0 10px;
}
.about-photos{
	position: relative;
    bottom: -14px;
	height: 295px;
}
.about-photos img {
    width: 100%;
    height: 780px;
    object-fit: cover;
	border-radius: 10px 0 0 10px;
}

.about-content{
  background:var(--navy);
  color:var(--white);
  padding:48px 44px;
  display:flex;
  flex-direction:column;
  gap:18px;
  border-radius: 10px;
}
.about-content h2{
  font-size:38px;
  margin-bottom:6px;
  font-weight: 500;
}
.about-content p{
  font-size:14.5px;
  color:rgba(255,255,255,0.82);
}
.about-content .btn{
  width:max-content;
  margin-top:8px;
}

.why-choose{
  background:var(--white);
  padding:48px 44px;
}
.why-choose h2{
  font-size:38px;
  margin-bottom:16px;
  font-weight: 600;
}
.why-choose > p{
  font-size:14.5px;
  color:var(--grey-text);
  margin-bottom:28px;
}

.why-list{
  display:flex;
  flex-direction:column;
  gap:13px;
}
.why-list li{
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.why-icon{
  flex-shrink:0;
  width:40px; height:40px;
  border-radius:10px;
  background:var(--navy);
  display:flex;
  align-items:center;
  justify-content:center;
}
.why-list h4{
  font-size:17px;
  font-family:var(--font-body);
  font-weight:600;
  margin-bottom:4px;
}
.why-list p{
  font-size:13.5px;
  color:var(--grey-text);
}

/* ===========================================================
   QUOTE / CONTACT FORM
   =========================================================== */
.quote{ background:var(--white); }

.quote-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:560px;
}

.quote-media{ height:100%; }
.quote-media img{
  width:100%; height:990px;
  object-fit:cover;
}

.quote-form-wrap{
  background:var(--bg-lavender);
  padding:70px 64px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.quote-form-wrap h2{
  font-size:36px;
  margin-bottom:30px;
	font-weight: 700;
}

.quote-form{
  display:flex;
  flex-direction:column;
  gap:18px;
  max-width:535px;
}
.quote-form input,
.quote-form textarea{
  width:100%;
  border:1.5px solid var(--blue);
  border-radius:8px;
  padding:15px 18px;
  font-family:inherit;
  font-size:14.5px;
  background:var(--white);
  color:var(--ink);
  transition:border-color .2s ease, box-shadow .2s ease;
  resize:none;
	margin-bottom: 20px
}
.quote-form input::placeholder,
.quote-form textarea::placeholder{ color:#9298ab; }
.quote-form input:focus,
.quote-form textarea:focus{
  outline:none;
  border-color:var(--navy);
  box-shadow:0 0 0 3px rgba(48,80,255,0.15);
}

.form-status{
  font-size:13.5px;
  color:var(--navy);
  font-weight:600;
  min-height:18px;
}
.quote-form textarea {height: 150px;}
.quote-form input[type="submit"] {
    background: #032254;
    color: #fff;
    font-weight: 600;
	border-radius: 50px;
	border: none;
	margin-top: 20px;
}

/* ===========================================================
   FEATURE STRIP
   =========================================================== */
.feature-strip{ padding:60px 0; }

.feature-strip-inner{
  background:var(--blue);
  border-radius:var(--radius-lg);
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  padding:50px 40px;
  gap:24px;
}

.feature-item{
  text-align:center;
  color:var(--white);
  padding:14px 10px;
  border-radius:var(--radius-md);
  transition:transform .3s ease;
}
.feature-item svg{ margin-bottom:18px; }
.feature-item h3{
  font-size:25px;
  margin-bottom:10px;
  font-weight: 700;
}
.feature-item p{
  font-size:13.5px;
  color:rgba(255,255,255,0.82);
  max-width:220px;
  margin:0 auto;
}
.feature-item:hover{
  background:var(--navy);
  transform:translateY(-12px);
  box-shadow:0 18px 30px rgba(2,18,46,0.35);
}


/* ===========================================================
   BRANDS
   =========================================================== */
.brands{ padding:100px 0 90px; background:#F4F6FFEF; }

/*.brands-row{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:22px;
}*/
.brand-logo{
  background:var(--white);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  width: 97% !important;
  /*height:88px;*/
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 22px;
  /*margin-right: 15px;*/
  transition:box-shadow .25s ease, transform .25s ease;
}
/*.brand-logo:hover{
  box-shadow:var(--shadow-card);
  transform:translateY(-4px);
}*/
.brand-logo img{ max-height:68px; width:auto; object-fit:contain; }

/* ===========================================================
   TESTIMONIALS
   =========================================================== */
.testimonials{ padding:80px 0; background:var(--white); }

/*.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:26px;
}

.testimonial-card{
  position:relative;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:34px 30px;
  transition:box-shadow .3s ease, transform .3s ease;
}
.testimonial-card:hover{
  box-shadow:var(--shadow-card);
  transform:translateY(-4px);
}
.quote-mark{
  position:absolute;
  top:20px; right:30px;
  font-family:Georgia, serif;
  font-size:64px;
  color:rgba(48,80,255,0.1);
  line-height:1;
}
.testimonial-card h3{
  font-size:19px;
  margin-bottom:14px;
  font-family:var(--font-body);
  font-weight:700;
}
.testimonial-card > p{
  font-size:14px;
  color:var(--grey-text);
  margin-bottom:18px;
  min-height:76px;
}
.stars{
  color:#f5a623;
  letter-spacing:2px;
  font-size:15px;
  padding-bottom:18px;
  border-bottom:1px solid var(--border-soft);
  margin-bottom:18px;
}
.star-off{ color:#dadce6; }

.testimonial-person{
  display:flex;
  align-items:center;
  gap:14px;
}
.testimonial-person img{
  width:46px; height:46px;
  border-radius:50%;
  object-fit:cover;
}
.testimonial-person strong{
  display:block;
  font-size:14.5px;
}
.testimonial-person span{
  font-size:12.5px;
  color:var(--grey-soft);
}*/

/* ===========================================================
   GALLERY
   =========================================================== */
.gallery{
  background:var(--bg-lavender);
  padding:100px 0 90px;
}

/*.gallery-track{
  overflow:hidden;
  border-radius:var(--radius-md);
}*/
/*.gallery-slide{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
}*/
.gallery-slide img{
  width:97% !important;
  height:230px;
  object-fit:cover;
  border-radius:var(--radius-md);
  transition:transform .35s ease;
}


.slick-dots{
  display:flex;
  justify-content:center;
  gap:10px;
  bottom: -55px;
}
.slick-dots li button:before {
    font-size: 45px;
    color: #c9cbe0;
}
.slick-dots li.slick-active button:before {
    opacity: .75;
    color: #021a40;
}
/*.slick-dots li button:before{
  width:10px; height:10px;
  border-radius:50%;
  background:#c9cbe0;
  transition:background .2s ease, transform .2s ease;
}
.slick-active{
  background:var(--navy);
  transform:scale(1.2);
  border-radius:50%;
}*/


/* ===========================================================
   FOOTER
   =========================================================== */
.site-footer{
  background:#2F2F2F;
  color:rgba(255,255,255,0.85);
  padding-top:80px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 2.1fr 1fr 1.5fr;
  gap:40px;
  padding-bottom:56px;
	position:relative;
}

.footer-col h4{
  color:var(--white);
  font-size:22px;
  letter-spacing:0.5px;
  margin-bottom:24px;
  font-family:var(--font-body);
  font-weight:800;
  text-transform: uppercase;
}

.footer-col ul{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.footer-col ul a{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13.5px;
  color:#FFFFFF;
	text-transform: uppercase;
  transition:color .2s ease, gap .2s ease;
  font-family: "Open Sans", sans-serif;
}
.footer-col ul a:hover{ color:var(--white); gap:14px; }
.arrow{ color:var(--white); font-weight:700; }

.footer-col p{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14.5px;
  margin-bottom:14px;
  color:#FFFFFF;
}
.footer-col.cond p a{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14.5px;
/*   margin-bottom:14px; */
  color:#FFFFFF;
}

.footer-map{
  overflow:hidden;
  margin-bottom:14px;
}
.footer-map iframe{
  width:100%; 
  height:225px;
  border:0;
}

.footer-location{ margin-bottom:0; }

.footer-social{
  display:flex;
  gap:10px;
  margin-top:20px;
}
.footer-social a{
  width:38px; height:38px;
  border-radius:50%;
  background:var(--white);
  color:var(--footer-bg);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.footer-social a:hover{
  background:var(--blue);
  color:var(--white);
  transform:translateY(-3px);
}

.hours-row{
  display:flex;
  justify-content:space-between;
  font-size:14.5px;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,0.08);
  font-family: "Open Sans", sans-serif;
}
.hours-row:first-child{ padding-top:0; }
.hours-row span:first-child{ color:var(--white); font-weight:400; }

.footer-bottom{
  background:#3C3C3C;
  padding:20px 0;
}
.footer-bottom-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  font-size:13.5px;
  color:#FFFFFF;
  text-transform: uppercase;
}
.footer-bottom-inner a{ color:#FFFFFF; }
.footer-legal a:first-child::after{ content:''; }

.footer-area {
    position: absolute;
    right: 105px;
    bottom: 30px;
    text-align: center;
}
.footer-area ul{column-count:2;display: block;}
.footer-area ul li{margin-bottom: 12px;}


/* ===========================================================
   BACK TO TOP
   =========================================================== */
.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:46px; height:46px;
  border-radius:50%;
  background:var(--navy);
  color:var(--white);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(3,34,84,0.4);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .3s ease, transform .3s ease, background .25s ease, visibility .3s;
  z-index:999;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover{ background:var(--blue); }

.error-404{padding: 70px 0;background: var(--bg-lavender);}
.error404 .footer-col ul {padding-left: 0;}

/* ===========================================================
   inner banner
   =========================================================== */
.inner-banner{
    display: flex;
    align-items: center;
    position: relative;
}
.inner-banner-con h1 {
    font-size: 47px;
    font-weight: 600;
    color: #fff;
	font-family: var(--font-body);
	text-align: center;
	text-transform: uppercase;
}
.breadcrumb-item.active {
    color: #000 !important;
	font-weight: 600;
}
/* .inner-banner-con {margin-top: 60px;} */
nav .breadcrumb .breadcrumb-item {font-family: "Open Sans", sans-serif;}
nav .breadcrumb .breadcrumb-item a{color: #000;font-weight: 600;font-family: "Open Sans", sans-serif;}
.breadcrumb-item+.breadcrumb-item::before {
    color: #000 !important;
	font-weight: 600;
}
.inner-banner-con nav{
	display: flex;
	align-items: center;
	justify-content: center;
}

.inner-banner-con .breadcrumb {
    background: #fff;
    width: 15%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3px;
    border-radius: 50px;
}
.page-template-area-we-service .inner-banner-con .breadcrumb {width: 20%;}

/* ===========================================================
   contact
   =========================================================== */
.contact-section{padding: 70px 0;}
.infoc{margin-bottom: 10px;}
.infoc svg {
    width: 42px;
    height: 42px;
    background: var(--navy);
    padding: 10px;
    border-radius: 50px;
}
.contact-details a {color: #000;font-size: 17px;font-family: "Open Sans", sans-serif;font-weight: 600;}
.infoc h4 {
    color: var(--ink);
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 0;
    margin-left: 10px;
}
.contact-details {
    border: 1px solid var(--border-soft);
    padding: 20px;
    border-radius: 12px;
}
.google-map iframe {width: 100%;height: 340px;}
.contact-form{
    background: var(--bg-lavender);
    padding: 30px;
    border: 1.5px solid var(--blue);
    border-radius: 15px;
}
.contact-form h4 {color: var(--ink);font-size: 32px;font-weight: 600;}
.page-template-contact .contact-section .quote-form input, .quote-form textarea {margin-bottom: 0px;}
.page-template-contact .footer-col ul {padding-left: 0;}
.page-template-contact .quote-form {max-width: unset;}
.home .footer-col ul {padding-left: 0;}
.home .why-list{padding-left: 0;}

/* ===========================================================
   blog
   =========================================================== */
.blog-section {padding: 70px 0;}
.blog-box {
    position: relative;
    background: #fff;
    box-shadow: var(--shadow-card);
	margin-bottom: 20px;
	border-radius: var(--radius-lg);
}
.blog-content{padding: 20px;}
.blog-img img{
	width: 100%;
	height: 250px;
    object-fit: cover;
	border-radius: 15px 15px 0 0;
}
.publish-dat {
    position: absolute;
    top: 25px;
}
.publish-dat h6 {
    background: var(--navy);
    color: #fff;
    font-size: 15px;
    margin-bottom: 0;
    padding: 10px;
}
.blog-content h3 {
    font-size: 30px;
    color: var(--blue);
    margin-bottom: 12px;
    text-decoration: none;
	line-height: 35px;
}
/* .blog-content p {color: #000;} */
.link-btn a {color: #fff !important;padding: 8px 35px;}

.single-post .defultpage{padding: 80px 0 70px 0;}
.single-post .postdat{padding-top: 14px;}
.single-post .postdat h6{font-size: 19px;}
.single-post .defultpage .imgwrp img{width: 100%;}
.page-template-blog .footer-col ul {padding-left: 0;}
.hidden{display: none;}

/* ===========================================================
  about us
   =========================================================== */
.aboutus-secti{padding: 80px 0;background: var(--bg-lavender);}
.abt-content h3 {
    color: #000;
    font-size: 39px;
    font-weight: 700;
    margin-bottom: 15px;
}
.abt-content p{font-size: 15px;}
.btn-wrapper {display: flex;gap: 20px;margin-top: 30px;}
.btn-wrapper .process-cta a {color: #fff !important;}
.abut-img img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    border-radius: 16px;
}
.revirw-wrp {
    display: flex;
    gap: 10px;
    border: 1px solid #E9E9E9;
    background: #fff;
    padding: 0 10px 0 5px;
    width: 45%;
    border-radius: 16px;
	margin-bottom: 20px;
	justify-content: center;
}
.review-txt h6{margin-bottom:0;margin-top: 4px;}
.page-template-about .footer-col ul {padding-left: 0;}


.whycu-sec{padding: 70px 0;}
.section-title h2{
    font-size:40px;
    font-weight:700;
    color:#000;
    margin-bottom:15px;
    line-height:1.1;
}
.section-title p{
    font-size:14px;
    line-height:1.7;
    color:#555;
    margin-bottom:35px;
}
.feature-card{
    position:relative;
    display:flex;
    align-items:center;
    gap:20px;
    padding:22px 25px;
    background:linear-gradient(90deg,#3850ff,#3f5cff);
    border-radius:12px;
    overflow:hidden;
    margin-bottom:16px;
	z-index:1;
	transition:all 0.4s ease-in-out 0s;
}
.feature-card .icon{flex-shrink:0;}
.feature-card .icon img{
    width:48px;
    height:48px;
    filter:brightness(0) invert(1);
}
.feature-card .content h3{
    color:#fff;
    font-size:23px;
    font-weight:600;
    margin-bottom:8px;
    line-height:1;
}
.feature-card .content p{
    color:#dfe6ff;
    font-size:13px;
    line-height:1.5;
}
.corner{
    position:absolute;
    top:0;
    right:0;
    width:60px;
    height:60px;
    background:#071b63;
    border-bottom-left-radius:60px;
	transform:scale(1);
    transition:all 0.4s ease-in-out 0s;
	z-index:-1;
}
.feature-card:hover .corner{
    width:300%;
    height:300%;
    border-radius:0;
    transform:translate(20%,-20%);
}
.why-img img {
    width: 100%;
    height: 795px;
    object-fit: cover;
	border-radius: 16px;
}


.page-template-service .footer-col ul {padding-left: 0;}
.allService-secti{padding: 85px 0;}
.servi-sontent h3 {
    color: #000;
    font-size: 30px;
    font-weight: 600;
	margin-bottom: 10px;
}
.servi-sontent p{font-size: 15px;}
.servi-img img{
	width: 100%;
    height: 440px;
    object-fit: cover;
    border-radius: 16px;
}
.servi-sontent .btn-wrapper {margin-top: 24px;}
.bgColor{background: var(--bg-lavender);}


.popup-box input,
.popup-box textarea{
  width:100%;
  border:1.5px solid var(--blue);
  border-radius:8px;
  padding:12px 18px;
  font-family:inherit;
  font-size:14.5px;
  background:var(--white);
  color:var(--ink);
  transition:border-color .2s ease, box-shadow .2s ease;
  resize:none;
	margin-bottom: 20px
}
.popup-box textarea{height: 100px;}
.popup-box input::placeholder,
.popup-box textarea::placeholder{ color:#9298ab; }
.popup-box input:focus,
.popup-box textarea:focus{
  outline:none;
  border-color:var(--navy);
  box-shadow:0 0 0 3px rgba(48,80,255,0.15);
}
.popup-box input[type="submit"] {
    background: #032254;
    color: #fff;
    font-weight: 600;
    border-radius: 50px;
    border: none;
}
.popup-box h3 {
    color: #000;
    font-size: 29px;
    font-weight: 600;
    margin-bottom: 20px;
}
.page-template-about .popup-box p{padding: 0;margin: 0;}
.page-template-service .popup-box p{padding: 0;margin: 0;}
.page-template-contact .contact-details.gpco {margin-bottom: 26px;}



/* ===========================================================
   are we service
   =========================================================== */
.page-template-area-we-service .footer-col ul {padding-left: 0;}
.page-template-area-we-service .popup-box p{padding: 0;margin: 0;}
.inquery-sec{background: #032254;position: relative;}
.white-btn-wrp{display: flex;gap: 18px;margin-top: 30px;}
.inquery-txt h3 {
    color: #fff;
    font-size: 45px;
    font-weight: 600;
}
.inquery-sec .mapImg{
	position: absolute;
	top: 0;
	right: -24px;
    width: 448px;
}

.service-area{padding: 75px 0;}
.area-box{position: relative;margin-right:10px;cursor:pointer;}
.area-box img{
	width: 100%;
	height: 270px;
    object-fit: cover;
	border-radius: 16px;
}
.area-box .area-name {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    width: 57%;
    text-align: center;
    padding: 6px;
    border-radius: 50px;
}
.area-box .area-name h4 {
    color: #000;
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 0;
    padding: 3px;
}


/* .feature-card {
    position: relative;
    overflow: hidden;
    background: #4052ff;
    border-radius: 18px;
    transition: background 0.4s ease;
}

.corner-shape {
    position: absolute;
    top: 0;
    right: 0;
    width: 90px;
    height: 90px;
    background: #112b83;
    border-bottom-left-radius: 100%;
    z-index: 1;
    transition: all 0.4s ease;
}

.feature-card:hover {
    background: #112b83; 
}

.feature-card:hover .corner-shape {
    transform: scale(0);
}
 */

.main-areas{padding: 50px 0;background: var(--bg-lavender);}
/* .main-areas .areas-wrapper .areas ul{column-count:5;} */
.main-areas .areas-wrapper .areas span {
	width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--navy);
    padding: 14px;
    border-radius: 50px;
    font-size: 18px;
	margin-bottom:12px;
	letter-spacing: 1px;
	cursor:pointer;
}


/* fixed side social buttons */
#mySidenav{display:none;}
#mySidenav a {
	position: fixed;
/*     right: -120px; */
	right: -52px;
    transition: 0.3s;
/*     padding: 10px; */
	padding: 15px 10px 10px 10px;
    width: 125px;
    text-decoration: none;
    font-size: 10px;
    color: white;
/*     border-radius: 5px 0 0 5px; */
    margin-top: 20%;
    z-index: 1;
}

#mySidenav a:hover {
  right: -47px; 
}
#mySidenav .fa-order,
.fa-book {
  margin-left: 15px;
  font-size: 17px;
}
#order {
  top: 0px;
  background-color: var(--ink);
	transform: rotate(90deg);
}
#book {
  top: 170px;
  background-color: var(--ink);
	transform: rotate(90deg);
}

.accreditations h6 {color: #fff;font-size: 28px;}
.accreditations .imgs_wrper{
    display: flex;
/*     background: #fff; */
    width: 40%;
    margin-top: 15px;
/*     border-radius: 10px;
    padding: 15px; */
}
.imgs_wrper .mwrp {
    background: #fff;
    padding: 10px;
    border-radius: 12px;
    margin-right: 10px;
}
/* .accreditations .imgs_wrper .mwrp{width: 20%;} */
.choose-box .choose-txt{margin-top: 20px;}
.choose-box .choose-txt h4 {color: #000;font-weight: 600;  font-size: 25px;}
.feature-strip .choose-box{margin-bottom:35px;}
.choose-box .choose-icon {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: var(--navy);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 24px rgba(48, 80, 255, 0.35);
    position: relative;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
}
.mobarea{display:none;}



/* ===========================================================
   RESPONSIVE — TABLET (≤1024px)
   =========================================================== */
@media (max-width: 1024px){
  .main-nav{ gap:22px; font-size:14px; }
  .hero-copy{ padding:70px 40px; }
  .services-grid{ grid-template-columns:repeat(2, 1fr); }
  .about-grid{ grid-template-columns:1fr 1fr; }
  .about-photos{ display:none; }
  .feature-strip-inner{ grid-template-columns:repeat(2, 1fr); gap:30px; }
  .feature-item--active{ transform:none; }
  .brands-row{ grid-template-columns:repeat(3, 1fr); }
  .testimonial-grid{ grid-template-columns:1fr; gap:22px; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:48px 32px; }
}

/* ===========================================================
   RESPONSIVE — MOBILE (≤860px)
   =========================================================== */
@media (max-width: 860px){
  .nav-toggle{ display:flex; }

  .main-nav{
    position:fixed;
    top:88px; left:0; right:0;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    background:var(--white);
    box-shadow:0 12px 24px rgba(0,0,0,0.1);
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease;
    padding:0 28px;
	  transform: translateX(0px);
  }
  .main-nav.is-open{
    max-height:400px;
    padding:18px 28px 26px;
  }
  .main-nav a{
    width:100%;
    padding:12px 0;
    border-bottom:1px solid var(--border-soft);
  }
  .main-nav a::after{ display:none; }
.page-template-contact .contact-form {margin-top: 25px;}
  header .call-badge{ display:none; }
   .sepimg{display: none;}
	.about-photos .abo1 {border-radius: 10px;}
	.about-photos .abo2 {border-radius: 10px;}
  .hero-inner{ grid-template-columns:1fr; }
  .hero-pattern{ width:100%; }
  .hero-copy{ padding:56px 24px 40px; text-align:left; }
  .hero-copy h1{ font-size:clamp(36px, 7vw, 40px); line-height: 44px;}
  .hero-media{ height:280px; order:-1; }

  .services{ padding:70px 0; }
  .services-grid{ grid-template-columns:1fr; gap:22px; }
  .section-head{ margin-bottom:40px; }

  .process{ padding:64px 0; }
  .process-row{
    grid-template-columns:1fr;
    gap:50px;
  }
  .process-arrow{ display:none; }
  .process-card{ padding:52px 26px 30px; margin-bottom: 22px;min-height: 200px;}
	.process .section-head {margin-bottom: 75px;}
  .about{ padding:64px 0; }
  .about-grid{ grid-template-columns:1fr; box-shadow:none; }
  .about-photos{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }
  .about-photos img{ height:200px; }
  .about-content, .why-choose{ padding:40px 26px; }

  .quote-grid{ grid-template-columns:1fr; }
  .quote-media{ height:435px; }
  .quote-form-wrap{ padding:48px 26px; }

  .feature-strip{ padding:50px 0; }
  .feature-strip-inner{
    grid-template-columns:1fr;
    padding:36px 24px;
    gap:30px;
  }

  .brands{ padding:64px 0; }
  .brands-row{ grid-template-columns:repeat(2, 1fr); }

/*   .testimonials{ padding:10px 0 70px; } */

  .gallery{ padding:64px 0; }
  .gallery-slide{ grid-template-columns:repeat(2, 1fr); }
  .gallery-slide img{ height:245px; }

  .footer-grid{ grid-template-columns:1fr; gap:40px; padding-bottom:40px; }
  .footer-bottom-inner{ flex-direction:column; text-align:center; }
	
	.section-head h2 {font-size: clamp(32px,3.4vw,40px);}
	.feature-strip .container {padding: 25px 18px;}
	.site-footer {padding-top: 33px;}
	.inner-banner{height: 310px !important;}
	.inner-banner-con h1 {font-size: 38px;}
	.call-card .service-media .call-badge {width: 75%;}
	.servi-img img {height: 340px;}
	.servi-sontent h3 {font-size: 28px;}
	.servi-sontent.mgp{margin-top: 20px;}
	.servi-img.imgp{margin-top: 30px;}
	#mySidenav{display:block;}
	#mySidenav a {margin-top: 70%;}
	.area-box {margin-right: 0px;}
	.accreditations .imgs_wrper {width: 75%;}
/* 	.choose-box .choose-txt h4 {font-size: 28px;} */
}

@media (max-width: 480px){
  .header-inner{ height:76px; }
  .logo-text{ font-size:15px; }
  .logo-mark{ width:32px; height:32px; }
  .hero-copy{ padding:44px 20px 36px; }
  .container{ padding:0 18px; }
  .about-photos{ grid-template-columns:1fr; }
  .about-photos img{ height:270px; border-radius: 10px;}
  .gallery-slide{ grid-template-columns:1fr 1fr; }
	
  .feature-card{align-items:flex-start;}
    .feature-card .content h3{font-size:20px;}
    .section-title h2{font-size:28px;}
}

@media (max-width: 768px){
	.inner-banner-con .breadcrumb {width: 55%;}
	.page-template-area-we-service .inner-banner-con .breadcrumb {width: 65%;}
    .section-title h2{font-size:35px;}
    .feature-card{padding:18px;gap:15px;}
    .feature-card .icon img{width:40px;height:40px;}
    .feature-card .content h3{font-size:23px;}
    .feature-card .content p{font-size:12px;}
    .corner{
        width:50px;
        height:50px;
        border-bottom-left-radius:50px;
    }
	.why-img img {height: 365px;}
	.why-choose-us{margin-top: 25px;}
	
	.revirw-wrp {width: 76%;}
	.abt-content h3 {font-size: 34px;}
	.abut-img img {height: 350px;}
	.abut-img{margin-bottom: 25px;}
	.area-box{margin-bottom: 25px;}
	.mapImg{display: none;}
	.inquery-txt h3 {font-size: 35px;}
	.inquery-sec{padding: 60px 0;}
	.call-card .mask-sep {left: 0;}
	.logo {width: 188px;}
	.footer-area{display: none;}
	.mobarea{display:block;}
}





/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}

/* Visible focus state for accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:3px solid var(--blue);
  outline-offset:2px;
}