@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,200;0,300;0,400;0,500;1,100;1,300;1,400;1,500&display=swap');

*{
    font-family: 'Poppins', sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
}

/* Smooth micro-interactions (avoid `transition: all` everywhere) */
a, button, .btn, .btn-ya, .howwework-step, .item, .team .card{
    transition: color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease, border-color .2s ease, opacity .2s ease;
}
/* IMPORTANT: paragraphs should not be forced to Title Case */
p, li, .about p, .testimonials p, .clients p, .section-muted, .pill,
input, textarea, .contact-form-txt, .contact-form-email, .contact-form-phone, .contact-form-txtarea{
    text-transform: none;
}

html{
    font-size: 62.5%;
}

body{
    overflow-x: hidden;
}

/* Reusable helpers used in index.php */
.home-sub{max-width: 720px; margin: 1rem auto 0; font-size: 1.6rem; line-height: 1.6; color: #eef7ff; text-align:center;}
.home-cta{display:flex; gap:1rem; justify-content:center; align-items:center; flex-wrap:wrap; margin-top:1.5rem;}
.btn-outline{background: transparent !important; border:2px solid #fff !important; color:#fff !important;}
.btn-outline:hover{background:#fff !important; color:#000 !important;}
.pill-grid{display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center;}
.pill{padding:.6rem 1.1rem; border-radius:999px; background:#f2f2f2; font-size:1.4rem; border:1px solid rgba(0,0,0,.08);}
.section-muted{max-width:860px; margin:0 auto; font-size:1.6rem; line-height:1.7; color:#333;}

/* Buttons (apply to anchors + buttons everywhere) */
.btn{
    outline: none;
    border: 1px solid rgba(0, 46, 95, .28);
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff 0%, #f4fbff 100%);
    color: #002e5f;
    font-size: 1.55rem;
    font-weight: 600;
    cursor: pointer;
    height: 4.4rem;
    padding: 0 2.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 26px rgba(0,0,0,.14);
}
.btn:hover{
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(0,0,0,.18);
    background: #002e5f;
    color: #fff;
}

/* About section "View Services" button */
.btn-learn-more{
    display:inline-block;
    margin-top:1.5rem;
    padding:.9rem 2.2rem;
    border-radius:999px;
    border:2px solid #002e5f;
    background:#fff;
    color:#002e5f;
    font-size:1.5rem;
    box-shadow: 0 .2rem .5rem rgba(0,0,0,.2);
}
.btn-learn-more:hover{
    background:#002e5f;
    color:#fff;
    letter-spacing:.05rem;
}

/* Headings */
.heading, .clients .section-header h2, .section-head h1, .testimonials .section-header h2, .section-head-1 h4{
    margin: 2rem;
    padding-top: 6rem;
    display: inline-block;
    font-size: 3.5rem;
    color: #002e5f;
    position: relative;
    letter-spacing: .2rem;
}

.heading::before, .heading::after, .clients .section-header h2::before, .clients .section-header h2::after, .section-head h1::before, .section-head h1::after, .testimonials .section-header h2::before, .testimonials .section-header h2::after, .section-head-1 h4::before, .section-head-1 h4::after{
    content: '';
    position: absolute;
    height: 2.5rem;
    width: 2.5rem;
    border-top: .4rem solid #002e5f;
    border-left: .4rem solid #002e5f;
}

.faq .heading::before, .faq .heading::after{
    border-top: .4rem solid #00bfff;
    border-left: .4rem solid #00bfff;
}

.heading::before, .clients .section-header h2::before, .section-head h1::before, .testimonials .section-header h2::before, .section-head-1 h4::before{
    top: 5.8rem;
    left: -2rem;
}

.heading::after, .clients .section-header h2::after, .section-head h1::after, .testimonials .section-header h2::after, .section-head-1 h4::after{
    bottom: -.5rem;
    right: -2rem;
    transform: rotate(180deg);
}

/* Header */
.header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1rem 2rem;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
}

.header .logo img{
  height: 42px;
  width: auto;
  display: block;
}
@media (max-width: 1000px){
  .header .logo img{
    height: 34px;
    width: auto;
  }
}
.header .logo{
  background: rgba(255,255,255,.92);
  padding: 6px 10px;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,.12);
}

.header .navbar ul{
    list-style-type: none;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.header .navbar ul li{
    margin: 0 1.5rem;
}

.header .navbar ul li a{
    font-size: 2rem;
    color: #fff;
}

.header .navbar ul li a:hover{
    color: #00bfff;
    text-decoration: underline;
}

.header .logo i{
    padding: 0.5rem;
}

.header .fa-bars{
    color: #fff;
    cursor: pointer;
    font-size: 3rem;
    display: none;
}

/* Home */
.home{
  min-height: 100vh;
  width: 100vw;
  background:
    linear-gradient(120deg, rgba(0,46,95,.78), rgba(0,191,255,.25)),
    url(../images/img1.jpg);
  background-size: cover;
  background-position: center;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-flow:column;
  text-align:center;
  padding:0 1rem;
  position:relative;
  overflow:hidden!important;
}

#homeParticles{
  position:absolute;
  inset:0;
  z-index:0;
}
.home > *{
  position:relative;
  z-index:1;
}


.home h1{
    color: #fff;
    font-size: 5.5rem;
}

.home h2{
    color: #fff;
    font-size: 3rem;
}

.home .wave{
    position: absolute;
    bottom: -.5rem;
    left: 0;
    height: 11rem;
    width: 100%;
    background: url(../images/wave.png);
    background-size: 100rem 11rem;
    animation: waves 8s linear infinite;
    background-repeat: repeat-x;
}

.home .wave2{
    animation-direction: reverse;
    animation-duration: 6s;
    opacity: .3;
}

.home .wave3{
    animation-duration: 4s;
    opacity: .5;
}

@keyframes waves{
    0%{
        background-position-x: 0;
    }
    100%{
        background-position-x: 100rem;
    }
}

/* About */
/* ===== About Section (Professional) ===== */
.about{
  position: relative;
  width: 100%;
  text-align: center;
  overflow: hidden;
  /* soft modern background */
  background:
    radial-gradient(circle at 20% 0%, rgba(0,191,255,.10), transparent 55%),
    radial-gradient(circle at 90% 30%, rgba(0,46,95,.10), transparent 55%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 65%);
}

/* subtle grid pattern */
.about::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(90deg, rgba(0,46,95,.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0,46,95,.06) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: .35;
  pointer-events:none;
}

/* card container */
.about-card{
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 24px;
  padding: 34px 26px;
  box-shadow: 0 18px 60px rgba(0,0,0,.08);
}

/* fix the huge line-height coming from older CSS */
.about .row{ line-height: normal !important; }

/* headings */
.about .content h3{
  font-size: 3.2rem;
  color: #0b1b2b;
  margin: 8px 0 10px;
  font-weight: 800;
}

/* paragraphs */
.about .content p{
  font-size: 1.7rem;
  color: #334155;
  line-height: 1.85;
  margin: 0 auto 14px;
  max-width: 820px;
  text-transform: none; /* IMPORTANT: override your global capitalize */
}

/* highlight line */
.about-strong{
  font-size: 1.75rem;
  color: #0b1b2b;
  margin-top: 10px;
  text-transform: none;
}

/* stats grid */
.about-stats{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 6px;
}

.stat-card{
  background:#fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 18px 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  text-align: left;
}

.stat-number{
  font-size: 30px;
  font-weight: 900;
  line-height: 1.1;
  color:#002e5f;
}

.stat-label{
  margin-top: 6px;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .75;
}

/* button inside about */
.about .btn{
  margin-top: 10px;
  display: inline-block;
}

/* mobile */
@media (max-width: 991.98px){
  .about-card{ padding: 26px 18px; }
  .stat-card{ text-align: center; }
}


/* Services section text */
.pt-5 .container .row .section-head p{
    font-size: 2rem;
    color: #333;
    padding: 1rem 0;
}

.section-head{
    margin-bottom: 60px;
    text-align: center;
    margin-top: -8rem;
}

.section-head p{
    font-size: 20px;
    line-height: 28px;
    text-align: center;
}

/* Service/Portfolio cards */
.item{
    background:#fff;
    text-align: center;
    padding:30px 25px;
    box-shadow: 0 0 25px rgba(0,0,0,0.07);
    border-radius: 20px;
    margin-bottom: 30px;
    margin-top: -2rem;
    border:5px solid rgba(0,0,0,0.07);
    -webkit-transition:all 0.5s ease 0s;
    transition:all 0.5s ease 0s;
}
.item:hover{
    background:#c8d8e4;
    box-shadow: 0 8px 20px 0 rgba(0,0,0,0.2);
    -webkit-transition:all 0.5s ease 0s;
    transition:all 0.5s ease 0s;
}
.item:hover .item,
.item:hover span.icon{
    background:#fff;
    border-radius: 10px;
    -webkit-transition:all 0.5s ease 0s;
    transition:all 0.5s ease 0s;
}
.item h6{
    font-size: 2rem;
}
.item:hover h6,
.item:hover p{
    color:#2b6777;
    -webkit-transition:all 0.5s ease 0s;
    transition:all 0.5s ease 0s;
}
.item .icon{
    font-size:40px;
    margin-bottom: 25px;
    color:yellow;
    width:90px;
    height:90px;
    line-height: 96px;
    border-radius: 50px;
}
.item .feature_box_col_one{
    background:rgba(247,198,5,0.2);
    color:#52ab98;
}
.item .feature_box_col_two{
    background: rgba(255, 77, 28, 0.15);
    color:#52ab98;
}
.item .feature_box_col_three{
    background:rgba(0,147,38,0.15);
    color:#52ab98;
}
.item .feature_box_col_four{
    background:rgba(0,108,255,0.15);
    color:#52ab98;
}
.item .feature_box_col_five{
    background:rgba(146,39,255,0.15);
    color:#52ab98;
}
.item .feature_box_col_six{
    background:rgba(23,39,246,0.15);
    color:#52ab98;
}
.item p{
    font-size: 15px;
    line-height: 26px;
}
.item h6{
    margin-bottom: 20px;
    color:#2f2f2f;
}

/* Counters */
.counters {
    background-image: url(../images/img2.jpg);
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    color: #fff;
    padding: 40px 20px;
}

.counters .container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 30px;
    text-align: center;
}

.counters i {
    color: #fff;
    margin-bottom: 5px;
}

.counters .counter {
    font-size: 45px;
    margin: 10px 0;
}

@media (max-width: 700px) {
    .counters .container {
        grid-template-columns: repeat(2, 1fr);
    }

    .counters .container > div:nth-of-type(1),
    .counters .container > div:nth-of-type(2) {
        border-bottom: 1px lightskyblue solid;
        padding-bottom: 20px;
    }
}

/* How We Work (Professional Stepper) */
.howwework{
  position:relative;
  color:#fff;
  overflow:hidden;
  background:
    linear-gradient(120deg, rgba(2,6,23,.92), rgba(2,6,23,.72)),
    url('../images/img2.jpg') center/cover no-repeat;
}
.howwework .heading{letter-spacing:.5px;}
.howwework-nav{display:flex;flex-direction:column;gap:12px;}
.howwework-step{
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  border-radius:14px;
  padding:14px 14px;
  text-align:left;
  color:#fff;
  display:flex;
  gap:12px;
  align-items:flex-start;
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.howwework-step:hover{transform:translateY(-2px);background:rgba(255,255,255,.12);}
.howwework-step:focus{outline:none;box-shadow:0 0 0 3px rgba(0,191,255,.25);}
.howwework-step.active{
  background:rgba(0,191,255,.18);
  border-color:rgba(0,191,255,.55);
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.step-num{
  width:34px;height:34px;border-radius:10px;
  background:rgba(0,191,255,.22);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;flex:0 0 34px;
}
.step-text h5{margin:0;font-size:1.8rem;font-weight:700;}
.step-text p{margin:4px 0 0;opacity:.86;font-size:1.4rem;line-height:1.35;color:rgba(255,255,255,.85);}
.howwework-panel{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  padding:22px 22px;
  min-height:330px;
  box-shadow:0 16px 36px rgba(0,0,0,.25);
}
.howwework-card{display:none;animation:howweworkFadeUp .35s ease;}
.howwework-card.active{display:block;}
.howwework-card h3{font-weight:800;font-size:2.4rem;}
.howwework-card p{font-size:1.6rem;color:rgba(255,255,255,.88);}
.howwework-card ul{margin:14px 0 0;padding-left:18px;}
.howwework-card li{margin:8px 0;opacity:.95;font-size:1.6rem;color:rgba(255,255,255,.9);}
.howwework-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.howwework-chip{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  padding:6px 10px;border-radius:999px;
  font-size:1.3rem;opacity:.95;color:#fff;
}
.howwework-progress{
  height:4px;background:rgba(255,255,255,.12);
  border-radius:999px;overflow:hidden;margin-top:18px;
}
.howwework-progress > span{
  display:block;height:100%;width:20%;
  background:#00bfff;transition:width .35s ease;
}
@keyframes howweworkFadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@media (max-width:991.98px){
  .howwework{padding:70px 0;}
  .howwework-panel{min-height:unset;}
}

/* Communicate */
.communicate{
    text-align: center;
    align-items: center;
    background-image: url(../images/img3.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    color: #fff;
    min-height: 35vh;
    padding: 40px 20px;
}

.communicate h3{
    margin-top: 3rem;
    font-size: 3rem;
}

.communicate p{
    font-size: 2rem;
}

/* Testimonials */
.testimonials {
    position: relative;
    padding: 90px 0 60px 0;
    background: #f2f2f2;
}

.testimonials .testimonial-item {
    position: relative;
    margin: 0 15px 30px 15px;
    background: #ffffff;
}

.testimonials .testimonial-img {
    position: relative;
    background: #000000;
    overflow: hidden;
}

.testimonials .testimonial-text {
    position: relative;
    width: 100%;
    padding: 30px 15px;
    text-align: center;
    background: #ffffff;
}

.testimonials .testimonial-text h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}

.testimonials .testimonial-text h4 {
    font-size: 12px;
    font-weight: 300;
    text-transform: uppercase;
}

.testimonials .testimonial-text p {
    margin: 0;
    font-size: 16px;
    font-weight: 300;
}

.testimonials .owl-nav,
.testimonials .owl-dots {
    margin-top: 5px;
    text-align: center;
}

.testimonials .owl-dot {
    display: inline-block;
    margin: 0 5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #dddddd;
}

.testimonials .owl-dot.active {
    background-color: #4F84C4;
}

@media (max-width: 575px) {
    .testimonials .testimonial-text {
        padding: 25px;
    }
}

/* Clients (Professional "logo wall") */
.clients{
  position: relative;
  padding: 90px 0 80px 0;
  text-align: center;
  background:
    radial-gradient(900px 420px at 15% 10%, rgba(11,94,215,.08), transparent 60%),
    radial-gradient(900px 420px at 85% 15%, rgba(255,138,0,.06), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fc 85%);
  margin: 0; /* remove old negative margins */
}

.clients .section-header p{
  padding-bottom: 10px;
  margin-top: 1.2rem;
  text-align: center;
  font-size: 1.7rem;
  color: rgba(15,23,42,.72);
  padding: 1rem 0;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.clients-carousel-wrap{ margin-top: 26px; }

.clients-carousel .client-logo{
  height: 86px;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 16px 42px rgba(2,6,23,.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 12px 14px;
  user-select: none;
}

.clients-carousel .client-logo:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 60px rgba(2,6,23,.12);
  border-color: rgba(11,94,215,.22);
}

.client-mark{
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: #0f172a;
}

.client-sub{
  font-size: 1.15rem;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(15,23,42,.60);
}

.clients-carousel .client-logo img{
  max-height: 34px;
  width: auto;
  max-width: 100%;
  opacity: .92;
  filter: grayscale(100%);
}
.clients-carousel .client-logo:hover img{
  opacity: 1;
  filter: grayscale(0%);
}

.clients-note{
  margin-top: 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(2,6,23,.04);
  border: 1px solid rgba(15,23,42,.08);
  color: rgba(15,23,42,.72);
  font-size: 1.35rem;
}

.clients-note i{
  color: #0b5ed7;
}

/* Owl dots - cleaner */
.clients .owl-dots{
  margin-top: 16px;
  text-align: center;
}

.clients .owl-dot{
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(15,23,42,.18);
  margin: 0 5px;
}

.clients .owl-dot.active{
  background: linear-gradient(90deg, #0b5ed7, #00bfff);
}

/* Make cards equal height inside Owl */
.clients-carousel .owl-stage{ display:flex; }
.clients-carousel .owl-item{ display:flex; }
.clients-carousel .client-logo{ width:100%; }

@media (max-width: 575px){
  .clients{ padding: 70px 0 60px 0; }
  .clients-carousel .client-logo{ height: 78px; }
  .client-mark{ font-size: 1.65rem; }
}

/* Team */
.team{
    min-width: 100vw;
    min-height: 95vh;
    text-align: center;
    background-color: #222;
}

.team .heading{
    color: #00bfff;
}

.team .heading::before, .team .heading::after{
    border-color: #00bfff;
}

.team .row{
    display: inline-block;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.team .row .card{
    height: 35rem;
    width: 25rem;
    background-color: #fff;
    text-align: center;
    margin: 5rem 5rem;
    position: relative;
    overflow: hidden;
    -webkit-box-reflect: below 5px linear-gradient(transparent 70%, #0004);
    transition: 0.5s;
}

.team .row .card:hover{
    transform: translateY(-10px);
    cursor: pointer;
}

.team .row .card .image{
    margin: 1rem 0;
    padding-top: 4rem;
}

.team .row .card .image img{
    height: 13rem;
    width: 13rem;
    border-radius: 50%;
    border: .5rem solid #fff;
    box-shadow: 0 0 .5rem rgba(0,0,0,.3);
    object-fit: cover;
}

.team .row .card .info h3{
    font-size: 2rem;
    color: #333;
}

.team .row .card .info span{
    font-size: 1.8rem;
    color: #00bfff;
}

.team .row .card .info .icons a{
    margin-top: 4rem;
    padding-top: 0 1rem;
    font-size: 2rem;
    color: #333;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.team .row .card .info .icons .fa-facebook-f:hover, .footer .icons .fa-facebook-f:hover{
    color: #4267B2;
    text-decoration: none;
}

.team .row .card .info .icons .fa-twitter:hover, .footer .icons .fa-twitter:hover{
    color: #1DA1F2;
    text-decoration: none;
}

.team .row .card .info .icons .fa-instagram:hover, .footer .icons .fa-instagram:hover{
    color: #C13584;
    text-decoration: none;
}

.team .row .card .info .icons .fa-linkedin:hover, .footer .icons .fa-linkedin:hover{
    color: #2867B2;
    text-decoration: none;
}

.team .row .card::before, .team .row .card::after{
    content: '';
    position: absolute;
    border-radius: 50%;
    height: 13.5rem;
    width: 13.5rem;
    z-index: -1;
}

.team .row .card::before{
    background: #00bfff;
    top: -3rem;
    right: -4rem;
}

.team .row .card::after{
    background: #ccc;
    bottom: -3rem;
    left: -4rem;
}

:root{
  --brand:#0B5ED7;
  --accent:#FF8A00;     /* warm pop */
  --accent2:#22C55E;    /* subtle secondary */
  --bg:#F6F8FC;
  --text:#0f172a;
}

body{ background: var(--bg); color: var(--text); }

.hero {
  position: relative;
  overflow: hidden;
}

.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(800px 400px at 20% 30%, rgba(255,138,0,.25), transparent 60%),
    radial-gradient(700px 350px at 80% 30%, rgba(34,197,94,.18), transparent 55%),
    linear-gradient(120deg, rgba(3,37,72,.78), rgba(11,94,215,.55));
  z-index:0;
}

.hero > *{ position:relative; z-index:1; }

.hero h1{
  text-shadow: 0 10px 30px rgba(0,0,0,.35);
  letter-spacing: -0.02em;
}

.hero-accent{
  background: linear-gradient(90deg, var(--accent), #ffd36e);
  -webkit-background-clip:text;
  background-clip:text;
  color: transparent;
}


/* Team grid (cleaner than multiple .row wrappers) */
.team-grid{
    width: min(1200px, 92vw);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 3.2rem;
    justify-content: center;
    align-items: stretch;
    padding-bottom: 6rem;
}
.team .row{ display: none !important; } /* legacy */
.team .card{
    margin: 0;
    box-shadow: 0 16px 40px rgba(0,0,0,.18);
    border-radius: 22px;
}
@media (max-width: 575px){
    .team-grid{gap: 2rem;}
    .team .card{width: 28rem;}
}
/* Contact */
.contact{
    text-align: center;
    align-items: center;
}

.contact .heading{
    margin-bottom: 3rem;
}

.contact-in{
    width: 80%;
    height: auto;
    margin: auto auto 5rem auto;
    display: flex;
    flex-wrap: wrap;
    padding: 10px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0px 0px 10px 0px #666;
}

.contact-map{
    width: 100%;
    height: auto;
    flex: 50%;
}
.contact-map iframe{
    width: 100%;
    height: 100%;
}

.contact-form{
    width: 100%;
    height: auto;
    flex: 50%;
    text-align: left;
}

.contact-form-txt,
.contact-form-email,
.contact-form-phone{
    margin-left: 2rem;
    width: 95%;
    height: 40px;
    color: #000;
    border: 1px solid #bcbcbc;
    border-radius: 50px;
    outline: none;
    margin-bottom: 20px;
    padding: 15px;
}

.contact-form-txt::placeholder,
.contact-form-email::placeholder,
.contact-form-phone::placeholder{
    color: #aaa;
    font-size: 1.5rem;
}

.contact-form-txtarea{
    margin-left: 2rem;
    width: 95%;
    height: 130px;
    color: #000;
    border: 1px solid #bcbcbc;
    border-radius: 10px;
    outline: none;
    margin-bottom: 20px;
    padding: 15px;
    font-family: 'Poppins', sans-serif;
}

.contact-form-txtarea::placeholder{
    color: #aaa;
    font-size: 1.5rem;
}

.contact-form-btn{
    margin-left: 2rem;
    outline: none;
    border: none;
    border-radius: 5rem;
    background: white;
    border-style: groove;
    border-color: #002e5f;
    font-size: 1.5rem;
    cursor: pointer;
    height: 3.5rem;
    width: 15rem;
    box-shadow: 0 .2rem .5rem rgba(0,0,0,.3);
}

.contact-form-btn:hover{
    letter-spacing: .1rem;
    opacity: .9;
    color: white;
    background: #002e5f;
}

/* Footer */
.footer {
    position: relative;
    padding: 0 0 30px 0;
    background: #333;
}

.footer .footer-top {
    background: #002e5f;
    padding: 60px 0 30px 0;
}

.footer .footer-top .footer-info,
.footer .footer-top .footer-links,
.footer .footer-top .footer-contact,
.footer .footer-top .footer-newsletter {
    margin-bottom: 30px;
}

.footer .footer-top .social-links a {
    font-size: 18px;
    display: inline-block;
    background: #ffffff;
    color: #00bfff;
    line-height: 1;
    padding: 9px 0;
    margin-right: 4px;
    text-align: center;
    width: 36px;
    height: 36px;
    transition: 0.3s;
}

.footer .footer-top .social-links a:hover {
    background: #00bfff;
    color: #ffffff;
}

.footer .footer-top h4 {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    position: relative;
    padding-bottom: 12px;
    margin-bottom: 20px;
    letter-spacing: 1px;
}

.footer .footer-top h4::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    height: 0;
    width: 50px;
    border-bottom: 2px solid #ffffff;
}

.footer .footer-top .footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer .footer-top .footer-links ul i {
    padding-right: 8px;
    color: #ffffff;
    font-size: 16px;
}

.footer .footer-top .footer-links ul li {
    border-bottom: 1px solid #ffffff;
    padding: 7px 0;
}

.footer .footer-top .footer-links ul li:first-child {
    padding-top: 0;
}

.footer .footer-top .footer-links ul a {
    font-size: 14px;
    color: #ffffff;
}

.footer .footer-top .footer-links ul a:hover {
    color: #00bfff;
}

.footer .footer-top .footer-contact p {
    color: #ffffff;
    line-height: 26px;
    font-size: 14px;
}

.footer .footer-top .footer-newsletter input[type="email"] {
    padding: 6px 8px;
    width: 60%;
    border: 1px solid #ffffff;
    background: transparent;
    color: #ffffff;
}

.footer .footer-top .footer-newsletter input[type="submit"] {
    border: 0;
    width: 40%;
    padding: 6px 0;
    text-align: center;
    color: black;
    border: 1px solid #ffffff;
    background: #ffffff;
    transition: 0.3s;
    cursor: pointer;
}

.footer .footer-top .footer-newsletter input[type="submit"]:hover {
    color: #ffffff;
    background: #00bfff;
    border: 1px solid #00bfff;
    letter-spacing: .2rem;
}

.footer .footer-top .footer-newsletter p {
    color: #ffffff;
    font-size: 14px;
}

.footer .credit,
.footer .copyright {
    text-align: center;
    padding-top: 30px;
}

/* Back to top */
.back-to-top {
    position: fixed;
    display: none;
    background-color: #00bfff;
    color: #ffffff;
    width: 45px;
    height: 45px;
    text-align: center;
    line-height: 1;
    font-size: 44px;
    right: 15px;
    bottom: 15px;
    transition: background 0.3s;
    z-index: 9;
}

.back-to-top i {
    color: #ffffff;
}

.back-to-top i:hover {
    color: black;
}

/* FAQ */
.faq{
    min-height: 70vh;
    width: 100vw;
    text-align: center;
    padding: 0 2rem;
    background: url(../images/faq.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.faq .row{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 2rem;
}

.faq .row .accordion-container{
    width: 50%;
    text-align: left;
}

.faq .row .accordion{
    margin-left: 1rem;
    margin-right: 2rem;
}

.faq .row .accordion-container .accordion .accordion-header{
    background-color: #00bfff;
    margin: 1rem 0;
    box-shadow: .1rem .1rem .3rem rgba(0,0,0,.3);
    cursor: pointer;
    margin-left: 1rem;
    margin-right: 2rem;
}

.faq .row .accordion-container .accordion .accordion-header span{
    display: inline-block;
    text-align: center;
    height: 4rem;
    width: 5rem;
    line-height: 4rem;
    font-size: 2rem;
    background: #333;
    color: #fff;
    clip-path: polygon(0% 0%,75% 0%,100% 50%,75% 100%,0% 100%);
}

.faq .row .accordion-container .accordion .accordion-header h3{
    display: inline;
    color: #333;
    font-weight: 400;
    padding-left: .5rem;
    font-size: 1.5rem;
}

.faq .row .accordion-container .accordion .accordion-body{
    padding: 1rem;
    color: #444;
    box-shadow: .1rem .1rem .3rem rgba(0,0,0,.3);
    background-color: #fff;
    font-size: 1.3rem;
    display: none;
    margin-left: 1rem;
    margin-right: 2rem;
}

/* Responsive */
@media (max-width: 1200px){
    .faq{
        min-height: 70vh;
    }
}

@media (max-width: 1000px){
    html{
        font-size: 50%;
    }

    .header .logo img{
        height: 34px;
        width: auto;
    }

    .header .fa-bars{
        display: block;
        color: white;
        margin-right: 1rem;
    }

    .header .fa-bars:hover{
        color: #00bfff;
    }

    .header .navbar{
        position: fixed;
        top: -120%;
        left: 0;
        height: auto;
        width: 100%;
        background-color: white;
        z-index: 1000;
        border-top: .1rem solid rgba(0,0,0,.3);
    }

    .header .navbar ul{
        height: 100%;
        width: 100%;
        flex-flow: column;
    }

    .header .navbar ul li{
        margin: 1rem 0;
    }

    .header .navbar ul li a{
        color: grey;
        font-size: 2.4rem;
    }

    .header .fa-times{
        transform: rotate(90deg);
    }

    .header .nav-toggle{
        top: 5.8rem;
    }

    .home h1{
        color: #fff;
        font-size: 4rem;
    }

    .home h2{
        color: #fff;
        font-size: 2rem;
    }

    .about{
        min-height: 38vh;
        width: 100vw;
        margin-top: -3rem;
        margin-bottom: -2rem;
        top: -2rem;
        text-align: center;
        position: relative;
        overflow: hidden;
        padding: 70px 0 40px;
    }

    .about .row{
        display: flex;
        align-items: center;
        justify-content: space-around;
        padding: 0 2rem;
    }

    .about .row .content{
        text-align: center;
    }

    .about .row .content h3{
        font-size: 2rem;
    }

    .about .row .content p{
        font-size: 1.3rem;
        color: #333;
        padding: 1rem 0;
        line-height: 1.7;
    }

    .clients {
        position: relative;
        padding: 90px 0;
        text-align: center;
        margin-top: -15rem;
        margin-bottom: -8rem;
    }

    .clients .section-header p {
        padding-bottom: 10px;
        margin-top: 2.5rem;
        text-align: center;
        font-size: 2rem;
    }

    .team{
        min-height: auto;
    }

    .team .row{
        flex-direction: column;
    }

    .contact .heading{
        margin-bottom: 3rem;
        margin-top: -2rem;
    }

    .contact-form-txt,
    .contact-form-email,
    .contact-form-phone,
    .contact-form-txtarea{
        width: 90%;
    }

    .contact-form-btn{
        width: 12rem;
    }

    .back-to-top {
        width: 30px;
        height: 30px;
        font-size: 30px;
    }

    .faq{
        padding: 0;
        min-height: 60vh;
    }

    .faq .row{
        padding: 0 1.5rem;
        flex-flow: column;
    }

    .faq .row .accordion-container{
        width: 100%;
    }
}

/* Custom button (avoid Bootstrap .btn conflict) */
.btn-ya{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  border-radius: 999px;
  border: 2px solid #002e5f;
  background: #fff;
  color: #002e5f;
  font-size: 1.6rem;
  font-weight: 600;
  box-shadow: 0 10px 25px rgba(0,0,0,.10);
  text-decoration: none;
  transition: .2s ease;
}
.btn-ya:hover{
  background: #002e5f;
  color: #fff;
  transform: translateY(-1px);
  text-decoration: none;
}

/* Important: stop huge line-height from old about css */
.about{ line-height: normal !important; }
.about .row{ line-height: normal !important; }

/* ===== Modern Sticky Navbar ===== */
.header{
  background: rgba(10, 25, 47, 0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.10);
  transition: background .25s ease, box-shadow .25s ease, padding .25s ease;
  padding: 1.2rem 2.2rem;
}
.header.is-scrolled{
  background: rgba(10, 25, 47, 0.92);
  box-shadow: 0 12px 30px rgba(0,0,0,.25);
  padding: .8rem 2.2rem;
}
.header .navbar ul li a{
  font-weight: 600;
  letter-spacing: .3px;
  text-transform: none; /* stop "Title Case" */
}


/* =========================
   Selected Work (interactive case studies)
   ========================= */

.work-tabs-section{
  position: relative;
  background: linear-gradient(180deg, #f6f8fc, #ffffff);
}

.work-tabs{
  position: relative;
  padding: 18px 18px;
  border-radius: 28px;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 18px 50px rgba(2, 6, 23, 0.08);
  backdrop-filter: blur(10px);
  overflow: hidden;
}

.work-tabs::before{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(700px 300px at 12% 10%, rgba(11,94,215,.12), transparent 55%),
    radial-gradient(700px 300px at 88% 14%, rgba(255,138,0,.10), transparent 55%),
    radial-gradient(800px 420px at 50% 110%, rgba(34,197,94,.10), transparent 60%);
  z-index:0;
  pointer-events:none;
}

.work-tabs > *{ position:relative; z-index:1; }

.work-steps{
  display:flex;
  flex-direction:column;
  gap: 12px;
}

.work-step{
  width:100%;
  display:flex;
  gap: 14px;
  align-items:flex-start;
  text-align:left;
  padding: 14px 14px;
  border-radius: 18px;
  background: rgba(2, 6, 23, 0.03);
  border: 1px solid rgba(15, 23, 42, 0.08);
  cursor:pointer;
}

.work-step:hover{
  transform: translateY(-1px);
  background: rgba(11,94,215,0.06);
  border-color: rgba(11,94,215,0.18);
  box-shadow: 0 10px 22px rgba(2, 6, 23, 0.06);
}

.work-step.active{
  background: linear-gradient(135deg, rgba(11,94,215,0.16), rgba(255,255,255,0.80));
  border-color: rgba(11,94,215,0.28);
  box-shadow: 0 14px 28px rgba(11,94,215,0.10);
}

.work-num{
  flex:0 0 auto;
  width: 38px;
  height: 38px;
  display:grid;
  place-items:center;
  border-radius: 12px;
  font-weight: 800;
  font-size: 14px;
  color: #fff;
  background: linear-gradient(135deg, #0b5ed7, #00bfff);
  box-shadow: 0 10px 18px rgba(11,94,215,0.22);
}

.work-step-text strong{
  display:block;
  font-size: 16px;
  color: #0f172a;
  line-height: 1.1;
}

.work-step-text small{
  display:block;
  margin-top: 6px;
  font-size: 13px;
  color: rgba(15,23,42,0.70);
}

.work-panels .work-panel{
  display:none;
}

.work-panels .work-panel.active{
  display:block;
}

.work-panel-card{
  border-radius: 22px;
  padding: 18px;
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(15, 23, 42, 0.10);
  box-shadow: 0 16px 40px rgba(2, 6, 23, 0.08);
}

.work-panel-top{
  display:flex;
  gap: 14px;
  align-items:flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.work-panel-top h3{
  margin: 0;
  font-size: 26px;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
}

.work-panel-top p{
  margin: 6px 0 0 0;
  font-size: 15px;
  color: rgba(15,23,42,0.76);
  max-width: 680px;
}

.work-grid{
  display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 14px;
}

.work-block{
  background: rgba(2,6,23,0.03);
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 18px;
  padding: 14px;
}

.work-block h4{
  margin: 0 0 10px 0;
  font-size: 16px;
  font-weight: 800;
  color: #0f172a;
}

.work-block ul{
  margin: 0;
  padding-left: 18px;
  color: rgba(15,23,42,0.78);
  font-size: 14px;
}

.work-badges{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
}

.work-stats{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.work-stat{
  background: rgba(255,255,255,0.7);
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 14px;
  padding: 10px 10px;
  text-align:center;
}

.work-stat strong{
  display:block;
  font-size: 16px;
  color: #0f172a;
}

.work-stat span{
  display:block;
  margin-top: 2px;
  font-size: 12px;
  color: rgba(15,23,42,0.70);
}

.work-footer{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  margin-top: 14px;
}

.work-chip{
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(11,94,215,0.08);
  border: 1px solid rgba(11,94,215,0.16);
  color: rgba(15,23,42,0.82);
  font-size: 12.5px;
}

.work-progress{
  position:absolute;
  left: 18px;
  top: 18px;
  bottom: 18px;
  width: 4px;
  border-radius: 999px;
  background: rgba(15,23,42,0.10);
  z-index:1;
}

.work-progress > span{
  display:block;
  width: 100%;
  height: 20%;
  border-radius: 999px;
  background: linear-gradient(180deg, #0b5ed7, #00bfff);
  transition: height .25s ease, width .25s ease;
}

/* align progress to the left of the steps column */
.work-tabs .row{ position:relative; }
.work-tabs .col-lg-4{ padding-left: 18px; }

/* Responsive */
@media (max-width: 991px){
  .work-progress{ display:none; }
  .work-grid{ grid-template-columns: 1fr; }
  .work-panel-top h3{ font-size: 22px; }
}



/* =========================================
   Testimonials v2 (Text-only, client-style)
   ========================================= */
.testimonials{
  position: relative;
  padding: 90px 0 70px 0;
  background:
    radial-gradient(900px 420px at 15% 10%, rgba(11,94,215,.08), transparent 60%),
    radial-gradient(900px 420px at 85% 15%, rgba(255,138,0,.06), transparent 60%),
    linear-gradient(180deg, #f6f8fc 0%, #ffffff 70%);
}

.testimonials .section-header{
  text-align: center;
}

.testimonials .section-header p{
  max-width: 820px;
  margin: 12px auto 0;
  font-size: 1.6rem;
  line-height: 1.7;
  color: rgba(15,23,42,.72);
}

.testimonials-carousel .testimonial-card{
  position: relative;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 22px;
  padding: 22px 20px;
  box-shadow: 0 16px 42px rgba(2,6,23,.08);
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: hidden;
}

.testimonials-carousel .testimonial-card::before{
  content:"";
  position:absolute;
  inset: -2px;
  background:
    radial-gradient(420px 180px at 15% 0%, rgba(0,191,255,.12), transparent 60%),
    radial-gradient(420px 180px at 85% 0%, rgba(255,138,0,.10), transparent 60%);
  opacity: .6;
  pointer-events:none;
}

.testimonials-carousel .testimonial-card > *{
  position: relative;
  z-index: 1;
}

.testimonials-carousel .testimonial-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 22px 60px rgba(2,6,23,.12);
}

.t-stars{
  font-size: 1.3rem;
  letter-spacing: 1px;
  color: #ffb703;
}

.t-quote{
  margin: 0;
  font-size: 1.55rem;
  line-height: 1.85;
  color: rgba(15,23,42,.80);
}

.t-person{
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(15,23,42,.08);
}

.t-avatar{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, #0b5ed7, #00bfff);
  box-shadow: 0 12px 22px rgba(11,94,215,.22);
  flex: 0 0 44px;
}

.t-person-meta h3{
  margin: 0;
  font-size: 1.6rem;
  font-weight: 800;
  color: #0f172a;
}

.t-person-meta h4{
  margin: 4px 0 0;
  font-size: 1.2rem;
  font-weight: 500;
  color: rgba(15,23,42,.68);
  text-transform: none;
}

.t-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.t-tag{
  font-size: 1.2rem;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(11,94,215,.08);
  border: 1px solid rgba(11,94,215,.14);
  color: rgba(15,23,42,.78);
}

/* Owl dots - cleaner */
.testimonials .owl-dots{
  margin-top: 16px;
}

.testimonials .owl-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(15,23,42,.18);
  margin: 0 5px;
}

.testimonials .owl-dot.active{
  background: linear-gradient(90deg, #0b5ed7, #00bfff);
}

/* Mobile spacing */
@media (max-width: 575px){
  .testimonials{ padding: 70px 0 55px; }
}

/* Make cards equal height inside Owl */
.testimonials-carousel .owl-stage{ display:flex; }
.testimonials-carousel .owl-item{ display:flex; }
.testimonials-carousel .testimonial-card{ width:100%; }


/* =========================
   Vision & Leadership (v2)
   ========================= */
.vision{
  position: relative;
  padding: 90px 0 75px;
  background: linear-gradient(180deg, #f6f8fc 0%, #ffffff 70%);
  overflow: hidden;
}
.vision .section-header{ text-align:center; margin-bottom: 26px; }
.vision .section-header p{
  max-width: 880px;
  margin: 12px auto 0;
  font-size: 1.6rem;
  line-height: 1.75;
  color: rgba(15,23,42,.72);
  text-transform: none;
}
.vision-bg{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 480px at 15% 10%, rgba(11,94,215,.10), transparent 60%),
    radial-gradient(900px 480px at 85% 20%, rgba(0,191,255,.10), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.88));
  z-index:0;
}
.vision-bg::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(2,6,23,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(2,6,23,.06) 1px, transparent 1px);
  background-size: 46px 46px;
  opacity: .35;
  mask-image: radial-gradient(circle at 50% 30%, black 0%, transparent 70%);
}
.vision .container{ position:relative; z-index:1; }

.vision-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px;
  align-items: stretch;
}

.vision-card{
  border-radius: 22px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 50px rgba(2,6,23,.08);
  padding: 22px 22px;
  overflow:hidden;
  position:relative;
}
.vision-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 26px 70px rgba(2,6,23,.12);
}
.vision-card h3{
  margin: 0 0 10px 0;
  font-weight: 900;
  letter-spacing: -0.02em;
  color:#0f172a;
  text-transform: none;
}
.vision-card p{
  margin: 0 0 14px 0;
  font-size: 1.55rem;
  line-height: 1.85;
  color: rgba(15,23,42,.78);
  text-transform: none;
}

.vision-list{
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 10px;
}
.vision-list li{
  font-size: 1.45rem;
  line-height: 1.75;
  color: rgba(15,23,42,.76);
  text-transform: none;
}
.vision-list strong{ color:#0f172a; }

.vision-highlights{
  margin-top: 16px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.vh{
  border-radius: 16px;
  border: 1px solid rgba(11,94,215,.14);
  background: rgba(11,94,215,.06);
  padding: 10px 12px;
}
.vh-k{
  display:block;
  font-size: 1.15rem;
  color: rgba(15,23,42,.65);
  text-transform: none;
}
.vh-v{
  display:block;
  font-weight: 800;
  font-size: 1.35rem;
  color: rgba(15,23,42,.86);
  text-transform: none;
}

.vision-card-accent{
  background:
    radial-gradient(520px 220px at 15% 0%, rgba(0,191,255,.16), transparent 60%),
    radial-gradient(520px 220px at 85% 0%, rgba(255,138,0,.12), transparent 60%),
    rgba(255,255,255,.92);
}
.vision-badge{
  position:absolute;
  top: 16px; right: 16px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 1.1rem;
  font-weight: 800;
  background: rgba(2,6,23,.06);
  border: 1px solid rgba(2,6,23,.10);
  color: rgba(15,23,42,.72);
  text-transform: none;
}
.vision-quote{
  margin: 10px 0 16px;
  padding: 14px 14px;
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.65);
  font-size: 1.55rem;
  line-height: 1.85;
  color: rgba(15,23,42,.80);
  text-transform:none;
}
.vision-sign{
  display:flex;
  gap: 12px;
  align-items:center;
  margin-bottom: 14px;
}
.sig-avatar{
  width: 44px; height: 44px;
  border-radius: 50%;
  display:grid; place-items:center;
  font-weight: 900;
  color:#fff;
  background: linear-gradient(135deg, #0b5ed7, #00bfff);
  box-shadow: 0 14px 26px rgba(11,94,215,.20);
}
.sig-name{
  font-weight: 900;
  color:#0f172a;
  text-transform:none;
}
.sig-sub{
  font-size: 1.2rem;
  color: rgba(15,23,42,.66);
  margin-top: 2px;
  text-transform:none;
}

.vision-goals{
  margin-top: 10px;
  border-top: 1px solid rgba(15,23,42,.08);
  padding-top: 14px;
}
.vision-goals h4{
  margin: 0 0 10px 0;
  font-size: 1.35rem;
  font-weight: 900;
  color:#0f172a;
  text-transform:none;
}
.goals-grid{ display:grid; gap: 12px; }
.goal{ display:flex; gap: 10px; align-items:flex-start; }
.goal-dot{
  width: 10px; height: 10px;
  border-radius: 50%;
  background: linear-gradient(90deg, #0b5ed7, #00bfff);
  margin-top: 7px;
  flex: 0 0 10px;
}
.goal-title{
  font-weight: 900;
  color: rgba(15,23,42,.88);
  text-transform:none;
}
.goal-sub{
  font-size: 1.25rem;
  color: rgba(15,23,42,.66);
  margin-top: 2px;
  text-transform:none;
}

.vision-cta{
  margin-top: 14px;
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}
.vision-cta .btn{
  border-radius: 999px;
  padding: 10px 16px;
}

.principles{
  margin-top: 22px;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.principle{
  border-radius: 20px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.88);
  box-shadow: 0 14px 36px rgba(2,6,23,.06);
  padding: 16px 16px;
}
.p-ico{
  width: 42px; height: 42px;
  border-radius: 14px;
  display:grid; place-items:center;
  background: rgba(11,94,215,.08);
  border: 1px solid rgba(11,94,215,.14);
  color: rgba(11,94,215,.95);
  margin-bottom: 10px;
}
.principle h4{
  margin: 0 0 6px 0;
  font-size: 1.35rem;
  font-weight: 900;
  color:#0f172a;
  text-transform:none;
}
.principle p{
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.75;
  color: rgba(15,23,42,.72);
  text-transform:none;
}

.vision-note{
  margin-top: 18px;
  display:flex;
  justify-content:center;
  gap: 10px;
  align-items:center;
  padding: 12px 14px;
  border-radius: 999px;
  background: rgba(2,6,23,.04);
  border: 1px solid rgba(2,6,23,.08);
  color: rgba(15,23,42,.70);
  text-transform:none;
}
.vision-note i{ color: rgba(11,94,215,.95); }

@media (max-width: 991px){
  .vision-grid{ grid-template-columns: 1fr; }
  .principles{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px){
  .vision{ padding: 70px 0 55px; }
  .vision-highlights{ grid-template-columns: 1fr; }
  .principles{ grid-template-columns: 1fr; }
}


/* =========================================================
   Hero-only 3D background (Vanta.js)
   - 3D only in the hero section (not the entire site)
   - Keeps text readable with an overlay
   ========================================================= */

.hero--vanta{
  position: relative;
  background: #0a192f; /* fallback if WebGL fails */
  isolation: isolate;
}

.hero--vanta #vanta-hero{
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero--vanta::before{
  content:"";
  position:absolute;
  inset:0;
  z-index: 1;
  background: linear-gradient(120deg, rgba(2,6,23,.62), rgba(11,94,215,.22));
}

/* Text + UI above the overlay */
.hero--vanta > *{
  position: relative;
  z-index: 2;
}

/* If particles div exists, keep it off (cleaner + more readable) */
#homeParticles{ display:none !important; }

/* Waves should stay visible */
.home .wave{ z-index: 2; }

/* =========================================================
   Make the overall site feel "tech" without being plain white
   ========================================================= */

body{
  background:
    radial-gradient(900px 420px at 12% 8%, rgba(11,94,215,.10), transparent 60%),
    radial-gradient(900px 420px at 88% 14%, rgba(0,191,255,.10), transparent 60%),
    radial-gradient(900px 420px at 50% 110%, rgba(255,138,0,.08), transparent 65%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 55%, #f6f8fc 100%);
}

body::before{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(2,6,23,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(2,6,23,.045) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity: .18;
  z-index: -1;
}

/* =========================================================
   Contrast fixes (mainly to avoid "text not visible")
   ========================================================= */

/* Default text colors for light sections */
.section-muted,
.clients .section-header p,
.testimonials .section-header p{
  color: rgba(15,23,42,.72);
}

/* Keep headings dark on light sections */
.heading,
.section-head h1,
.clients .section-header h2,
.testimonials .section-header h2,
.section-head-1 h4{
  color: #0b1b2b;
}
.heading::before, .heading::after,
.clients .section-header h2::before, .clients .section-header h2::after,
.section-head h1::before, .section-head h1::after,
.testimonials .section-header h2::before, .testimonials .section-header h2::after,
.section-head-1 h4::before, .section-head-1 h4::after{
  border-top-color: #0b5ed7;
  border-left-color: #0b5ed7;
}

/* Dark sections keep white text */
.howwework .heading,
.howwework .section-muted,
.communicate h3,
.communicate p{
  color: rgba(255,255,255,.92) !important;
}

/* Hero copy readability on top of Vanta */
.home.hero--vanta h1,
.home.hero--vanta h2,
.home.hero--vanta .home-sub{
  text-shadow: 0 10px 30px rgba(0,0,0,.35);
}

/* Trust strip sits on a semi-glass surface */
.trust-pill{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.trust-pill span{ color: rgba(255,255,255,.92); }


/* =========================================================
   Section background upgrades (Services + Contact + CTA)
   ========================================================= */

/* Services section: remove plain white, add modern tech surface */
.services-section{
  position: relative;
  padding: 90px 0 70px;
  background:
    radial-gradient(900px 420px at 15% 10%, rgba(11,94,215,.08), transparent 60%),
    radial-gradient(900px 420px at 85% 20%, rgba(0,191,255,.08), transparent 55%),
    radial-gradient(900px 420px at 50% 110%, rgba(255,138,0,.06), transparent 65%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fc 100%);
  overflow: hidden;
}
.services-section::before{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(2,6,23,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(2,6,23,.05) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity: .14;
  mask-image: radial-gradient(circle at 50% 0%, black 0%, transparent 70%);
}
.services-section .container{ position:relative; z-index:1; }

/* Kill the old negative spacing only for services */
.services-section .section-head{ margin-top: 0 !important; margin-bottom: 42px; }
.services-section .section-head h1{
  padding-top: 0 !important;
  margin: 0 0 10px 0 !important;
  letter-spacing: .02em;
}

/* Service cards: cleaner, more “product” */
.services-section .item{
  border: 1px solid rgba(15,23,42,.10) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 16px 42px rgba(2,6,23,.08) !important;
  margin-top: 0 !important;
}
.services-section .item:hover{
  transform: translateY(-3px);
  background:
    radial-gradient(520px 220px at 15% 0%, rgba(0,191,255,.10), transparent 60%),
    radial-gradient(520px 220px at 85% 0%, rgba(255,138,0,.08), transparent 60%),
    rgba(255,255,255,.94) !important;
  border-color: rgba(11,94,215,.26) !important;
  box-shadow: 0 24px 70px rgba(2,6,23,.12) !important;
}
.services-section .item h6{
  color: #0f172a !important;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.services-section .item p{
  color: rgba(15,23,42,.72) !important;
  font-size: 1.45rem !important;
  line-height: 1.8 !important;
}
.services-section .item .icon{
  color: rgba(11,94,215,.95) !important;
  box-shadow: 0 16px 30px rgba(11,94,215,.12);
}

/* Communicate CTA: add overlay so background feels premium + readable */
.communicate{
  position: relative;
  isolation: isolate;
}
.communicate::before{
  content:"";
  position:absolute; inset:0;
  z-index:0;
  background: linear-gradient(120deg, rgba(2,6,23,.82), rgba(11,94,215,.30));
}
.communicate > *{ position: relative; z-index:1; }
@media (max-width: 991px){
  .communicate{ background-attachment: scroll; }
}

/* Contact section: subtle “tech” background + modern form container */
.contact-section{
  position: relative;
  padding: 90px 0 20px;
  background:
    radial-gradient(900px 420px at 20% 10%, rgba(11,94,215,.10), transparent 60%),
    radial-gradient(900px 420px at 85% 20%, rgba(0,191,255,.08), transparent 55%),
    radial-gradient(900px 420px at 55% 110%, rgba(255,138,0,.06), transparent 65%),
    linear-gradient(180deg, #f6f8fc 0%, #ffffff 70%);
  overflow: hidden;
}
.contact-section::before{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(2,6,23,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(2,6,23,.05) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: .12;
  mask-image: radial-gradient(circle at 50% 20%, black 0%, transparent 75%);
}
.contact-section .heading{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Contact card */
.contact-in{
  width: min(1100px, 92vw) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  box-shadow: 0 18px 60px rgba(2,6,23,.10) !important;
  overflow: hidden;
}
.contact-map iframe{
  min-height: 420px;
}

/* Better spacing inside form */
.contact-form{
  padding: 22px 22px;
}
.contact-form-txt,
.contact-form-email,
.contact-form-phone,
.contact-form-txtarea{
  margin-left: 0 !important;
  width: 100% !important;
  border: 1px solid rgba(15,23,42,.12) !important;
  background: rgba(255,255,255,.92);
}
.contact-form-btn{
  margin-left: 0 !important;
  height: 4.4rem !important;
  width: auto !important;
  padding: 0 2.2rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0, 46, 95, .28) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f4fbff 100%) !important;
  color: #002e5f !important;
  font-weight: 700 !important;
}
.contact-form-btn:hover{
  transform: translateY(-1px);
  background: #002e5f !important;
  color: #fff !important;
}

/* Small screens: stack map + form nicely */
@media (max-width: 991px){
  .contact-form{ padding: 18px 14px; }
  .contact-map iframe{ min-height: 320px; }
}


/* =========================================================
   Layout cleanup: remove leftover negative margins on mobile
   ========================================================= */
@media (max-width: 1000px){
  .clients{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* Trust strip: small credibility badges under the hero CTAs */
.trust-strip{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:.75rem;
  margin-top: 1.25rem;
  padding: .25rem;
  max-width: 920px;
  margin-left:auto;
  margin-right:auto;
}

/* Individual badge (pill) */
.trust-pill{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding: .55rem .9rem;
  border-radius: 999px;
  font-size: .95rem;
  font-weight: 500;
  line-height: 1;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 10px 30px rgba(0,0,0,.22);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.trust-pill i{
  font-size: .95rem;
  opacity: .95;
}

.trust-pill span{
  color: rgba(255,255,255,.92);
  white-space: nowrap;
}

@media (max-width: 480px){
  .trust-strip{ gap:.5rem; }
  .trust-pill{
    font-size: .9rem;
    padding: .5rem .75rem;
  }
}

/* Clients section (Dark tech background + premium look) */
.clients{
  position: relative;
  overflow: hidden;
  margin: 0 !important;
  padding: 95px 0 85px 0;
  text-align: center;
  background:
    radial-gradient(900px 420px at 18% 10%, rgba(0,191,255,.22), transparent 60%),
    radial-gradient(900px 420px at 85% 16%, rgba(11,94,215,.22), transparent 58%),
    radial-gradient(900px 480px at 50% 120%, rgba(255,138,0,.12), transparent 65%),
    linear-gradient(180deg, #071426 0%, #0a192f 55%, #06101f 100%);
}
.clients::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: .22;
  mask-image: radial-gradient(circle at 50% 18%, black 0%, transparent 72%);
}

.clients .section-header h2{ color: rgba(255,255,255,.95) !important; }
.clients .section-header p{ color: rgba(255,255,255,.74) !important; }
.clients .section-header h2::before,
.clients .section-header h2::after{
  border-top-color: #00bfff !important;
  border-left-color: #00bfff !important;
}

.clients-carousel .client-logo{
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.42) !important;
}
.clients-carousel .client-logo:hover{
  border-color: rgba(0,191,255,.40) !important;
  box-shadow: 0 26px 80px rgba(0,0,0,.48) !important;
}

.clients-note{
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.82) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.25);
  backdrop-filter: blur(10px);
}
.clients-note i{ color: #00bfff !important; }

.clients .owl-dot{ background: rgba(255,255,255,.24) !important; }
.clients .owl-dot.active{
  background: linear-gradient(90deg, #00bfff, #0b5ed7) !important;
}



/* =========================================================
   Services section (Dark tech background — matches hero/clients)
   - Keeps cards premium & readable
   - Removes leftover negative spacing from legacy CSS
   ========================================================= */

.services-section{
  position: relative;
  overflow: hidden;
  padding: 95px 0 85px !important;
  background:
    radial-gradient(900px 420px at 18% 10%, rgba(0,191,255,.18), transparent 60%),
    radial-gradient(900px 420px at 85% 16%, rgba(11,94,215,.18), transparent 58%),
    radial-gradient(900px 480px at 50% 120%, rgba(255,138,0,.10), transparent 65%),
    linear-gradient(180deg, #071426 0%, #0a192f 55%, #06101f 100%) !important;
}

.services-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: .22;
  mask-image: radial-gradient(circle at 50% 14%, black 0%, transparent 72%);
}

.services-section .container{ position:relative; z-index:1; }

/* Header text becomes white on dark */
.services-section .section-head{
  margin-top: 0 !important;
  margin-bottom: 44px !important;
}
.services-section .section-head h1{
  color: rgba(255,255,255,.96) !important;
  padding-top: 0 !important;
  margin: 0 0 10px 0 !important;
}
.services-section .section-head p,
.services-section .section-muted{
  color: rgba(255,255,255,.74) !important;
}

/* Blue corner brackets (Services title) */
.services-section .section-head h1{
  position: relative;
  display: inline-block;
  padding-left: 2.6rem;
  padding-right: 2.6rem;
}

/* Override legacy bracket positioning for this section */
.services-section .section-head h1::before,
.services-section .section-head h1::after{
  content: "";
  position: absolute;
  width: 1.9rem;
  height: 1.9rem;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  border: .4rem solid #00bfff;
}

.services-section .section-head h1::before{
  left: -0.2rem;
  border-right: 0;
  border-bottom: 0;
}

.services-section .section-head h1::after{
  right: -0.2rem;
  border-left: 0;
  border-top: 0;
}


/* Service cards: premium white surface floating on dark background */
.services-section .item{
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.42) !important;
  border-radius: 24px !important;
  padding: 32px 26px !important;
  margin-top: 0 !important;
}

.services-section .item:hover{
  transform: translateY(-4px);
  box-shadow: 0 28px 90px rgba(0,0,0,.52) !important;
  border-color: rgba(0,191,255,.38) !important;
  background:
    radial-gradient(520px 220px at 15% 0%, rgba(0,191,255,.12), transparent 60%),
    radial-gradient(520px 220px at 85% 0%, rgba(255,138,0,.10), transparent 60%),
    rgba(255,255,255,.96) !important;
}

/* Typography inside cards */
.services-section .item h6{
  margin-top: 2px;
  font-size: 2.05rem !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em;
  color: #0f172a !important;
}
.services-section .item p{
  font-size: 1.5rem !important;
  line-height: 1.85 !important;
  color: rgba(15,23,42,.74) !important;
  margin: 0;
}

/* Icon badge: replace yellow + big circle with modern rounded badge */
.services-section .item .icon{
  width: 74px !important;
  height: 74px !important;
  line-height: 74px !important;
  border-radius: 18px !important;
  margin-bottom: 18px !important;
  font-size: 34px !important;
  color: rgba(11,94,215,.98) !important;
  box-shadow: 0 18px 34px rgba(11,94,215,.14);
}

/* Keep your per-card background tints but make them more subtle + consistent */
.services-section .item .feature_box_col_one,
.services-section .item .feature_box_col_two,
.services-section .item .feature_box_col_three,
.services-section .item .feature_box_col_four,
.services-section .item .feature_box_col_five,
.services-section .item .feature_box_col_six{
  background: rgba(11,94,215,.10) !important;
  color: rgba(11,94,215,.98) !important;
}

@media (max-width: 991.98px){
  .services-section{ padding: 75px 0 65px !important; }
  .services-section .item{ padding: 28px 20px !important; }
}

/* =========================================================
   Contact section (Dark tech background + fixed corner brackets)
   - Also fixes the issue where the contact card was outside the section
   ========================================================= */

.contact-section{
  position: relative;
  overflow: hidden;
  padding: 95px 0 85px !important;
  text-align: center;
  background:
    radial-gradient(900px 420px at 18% 10%, rgba(0,191,255,.18), transparent 60%),
    radial-gradient(900px 420px at 85% 16%, rgba(11,94,215,.18), transparent 58%),
    radial-gradient(900px 480px at 50% 120%, rgba(255,138,0,.10), transparent 65%),
    linear-gradient(180deg, #071426 0%, #0a192f 55%, #06101f 100%) !important;
}

.contact-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: .22;
  mask-image: radial-gradient(circle at 50% 14%, black 0%, transparent 72%);
}

.contact-section .container{ position: relative; z-index: 1; }

/* Heading on dark background */
.contact-section .heading{
  color: rgba(255,255,255,.96) !important;
  padding-top: 0 !important;
  margin: 0 auto 10px auto !important;
  letter-spacing: .02em;
  display: inline-block;
  position: relative;
  padding-left: 2.6rem;
  padding-right: 2.6rem;
  text-transform: none;
}

/* Reposition the corner brackets (fixes the misaligned bracket) */
.contact-section .heading::before,
.contact-section .heading::after{
  content:"";
  position:absolute;
  width: 1.9rem;
  height: 1.9rem;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  border: .4rem solid #00bfff !important;
}

.contact-section .heading::before{
  left: -0.2rem;
  border-right: 0 !important;
  border-bottom: 0 !important;
}

.contact-section .heading::after{
  right: -0.2rem;
  border-left: 0 !important;
  border-top: 0 !important;
}

/* Subtitle */
.contact-section .contact-sub{
  max-width: 860px;
  margin: 10px auto 0;
  font-size: 1.6rem;
  line-height: 1.75;
  color: rgba(255,255,255,.74);
}

/* Make the contact card sit nicely in the section */
.contact-section .contact-in{
  margin: 34px auto 0 !important;
}

/* Map tweak (prevents tiny gaps on some browsers) */
.contact-map iframe{
  display:block;
}

/* Mobile spacing */
@media (max-width: 991.98px){
  .contact-section{ padding: 75px 0 65px !important; }
}



/* =========================================================
   Brand / Logo polish (navbar)
   - replaces the "sticker" logo look with a clean lockup
   ========================================================= */
.header .logo{
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: .35rem .8rem;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.header .logo:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.09);
}
.header .logo .brand-icon{
  width: 38px;
  height: 38px;
  display: block;
  flex: 0 0 auto;
}
.header .logo .brand-text{
  display: flex;
  flex-direction: column;
  line-height: 1.05;
}
.header .logo .brand-title{
  font-size: 2.05rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: .5px;
  text-transform: none;
}
.header .logo .brand-sub{
  font-size: 1.15rem;
  font-weight: 500;
  color: rgba(255,255,255,.72);
  text-transform: none;
}

@media (max-width: 1000px){
  .header .logo{ padding: .25rem .6rem; }
  .header .logo .brand-icon{ width: 34px; height: 34px; }
  .header .logo .brand-sub{ display: none; }
}



/* =========================================================
   Logo / Navbar brand (v3) — cleaner, more "product" feel
   - fixes the "sticker" look
   - keeps it readable on dark glass header
   ========================================================= */

.header .logo{
  display: inline-flex;
  align-items: center;
  gap: .9rem;
  padding: .55rem 1.05rem;
  border-radius: 18px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.header .logo::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(420px 220px at 0% 0%, rgba(0,191,255,.18), transparent 55%),
    radial-gradient(420px 220px at 100% 0%, rgba(11,94,215,.16), transparent 55%);
  opacity: .65;
  pointer-events:none;
}

.header .logo > *{ position: relative; z-index: 1; }

.header .logo:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.10);
  border-color: rgba(0,191,255,.28);
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
}

/* Icon */
.header .logo .brand-icon{
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 12px 22px rgba(0,0,0,.18);
}

/* Text */
.header .logo .brand-text{
  display:flex;
  flex-direction: column;
  line-height: 1.05;
}

.header .logo .brand-title{
  font-size: 2.05rem;
  font-weight: 900;
  letter-spacing: .6px;
  color: rgba(255,255,255,.96);
  text-transform: none;
}

.header .logo .brand-sub{
  margin-top: .2rem;
  font-size: 1.18rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: rgba(255,255,255,.70);
  text-transform: none;
}

/* Optional: if you ever switch to the wordmark image */
.header .logo .brand-lockup{
  height: 40px;
  width: auto;
  display:block;
}

/* Tighten on scroll */
.header.is-scrolled .logo{
  padding: .45rem .95rem;
  border-radius: 16px;
}

/* Mobile */
@media (max-width: 1000px){
  .header .logo{ padding: .42rem .8rem; border-radius: 16px; }
  .header .logo .brand-icon{ width: 36px; height: 36px; flex-basis: 36px; }
  .header .logo .brand-title{ font-size: 1.9rem; }
  .header .logo .brand-sub{ display:none; }
}




/* =========================================================
   Mobile polish (v2) — fixes nav + spacing on phones
   ========================================================= */

/* Reduce accidental horizontal scroll on mobile */
html, body{ max-width:100%; overflow-x:hidden; }
img, video, iframe{ max-width:100%; height:auto; }

/* Better anchor alignment with fixed header */
section[id]{ scroll-margin-top: 92px; }

@media (max-width: 1000px){

  /* ---------- Header / Mobile nav (full-screen overlay) ---------- */
  .header{
    padding: .9rem 1.2rem;
  }

  /* Make the hamburger a real tap-target */
  .header .fa-bars{
    display: grid !important;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
  }

  /* Keep logo size sane on phones */
  .header .logo img{ width: auto !important; height: 36px !important; }

  /* Full-screen menu panel (matches the dark tech theme) */
  .header .navbar{
    top: 0 !important;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(10,25,47,.98) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: none !important;

    transform: translateY(-110%);
    transition: transform .25s ease;

    visibility: hidden;
    pointer-events: none;

    padding-top: calc(76px + env(safe-area-inset-top));
    padding-bottom: calc(22px + env(safe-area-inset-bottom));

    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  /* Your JS toggles this class on the navbar */
  .header .navbar.nav-toggle,
  .header .nav-toggle{
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
  }

  .header .navbar ul{
    flex-flow: column;
    justify-content: flex-start;
    gap: .7rem;
    padding: 0 1.2rem;
    margin: 0;
  }

  .header .navbar ul li{
    margin: 0;
    width: 100%;
  }

  .header .navbar ul li a{
    color: rgba(255,255,255,.92) !important;
    font-size: 2.05rem;
    display: block;
    width: 100%;
    text-align: center;
    padding: 1.15rem 1rem;
    border-radius: 14px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
    text-decoration: none !important;
  }

  .header .navbar ul li a:hover{
    background: rgba(0,191,255,.12);
    border-color: rgba(0,191,255,.30);
    color: #fff !important;
    text-decoration: none !important;
  }

  /* ---------- General mobile spacing ---------- */
  .heading{
    font-size: 3.0rem;
    margin: 1.6rem;
    padding-top: 5.4rem;
  }

  /* Kill legacy negative offsets that make sections look “broken” on phones */
  .about{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    top: 0 !important;
  }

  /* Better contact/map stack */
  .contact-in{
    width: min(1100px, 94vw) !important;
  }

  /* Back-to-top button not too large */
  .back-to-top{
    right: 12px;
    bottom: 12px;
  }
}

@media (max-width: 575px){

  /* Hero typography + CTAs */
  .home{
    padding: 0 1.2rem;
  }

  .home h1{
    font-size: 3.35rem;
    line-height: 1.12;
  }

  .home h2{
    font-size: 1.85rem;
    margin-top: .4rem;
  }

  .home-cta{
    flex-direction: column;
    width: 100%;
    gap: .9rem;
  }

  .home-cta .btn{
    width: min(360px, 92vw);
  }

  /* Trust pills wrap nicely */
  .trust-strip{
    gap: .55rem;
  }
}
