/* ============================================
   LITE PROJECTS PVT LTD - Premium Stylesheet
   ============================================ */

:root{
  --navy:#041E42;
  --electric:#0A6CFF;
  --royal:#0047AB;
  --nav-height:78px;
  /* Switch global background to white */
  --black:#FFFFFF;
  --charcoal:#FFFFFF;
  --charcoal-2:#FFFFFF;
  --white:#0D0D0D;
  --silver:#333842;
  --glow:0 0 24px rgba(10,108,255,.55);
  --glow-strong:0 0 60px rgba(10,108,255,.65);
  --grad:linear-gradient(135deg,#0047AB 0%,#0A6CFF 100%);
  --grad-dark:linear-gradient(135deg,#041E42 0%,#0A6CFF 100%);
}

*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  max-width:100%;
  overflow-x:hidden;
}

/* remove underline from buttons/links */
button, a.button, .btn-glow, .btn-ghost, .filter-btn{ text-decoration:none !important; }

body{
  font-family:'Poppins',sans-serif;
  background:#fff;
  color:#0D0D0D;

  margin:0;
  overflow-x:hidden;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}


h1,h2,h3,h4,h5,h6,.display-heading{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.1;
}
.eyebrow{
  font-family:'Montserrat',sans-serif;
  text-transform:uppercase;
  letter-spacing:.35em;
  font-size:.78rem;
  font-weight:600;
  color:var(--electric);
  display:inline-block;
  margin-bottom:1rem;
}
.section{padding:60px 0;position:relative}
.section-dark{background:#fff}
.section-charcoal{background:#fff}


.section-light{background:#fff;color:#0D0D0D}


.section-light h1,.section-light h2,.section-light h3{color:var(--navy)}
.text-electric{color:var(--electric)!important}
.text-silver{color:var(--silver)!important}
.bg-navy{background:var(--navy)!important}
.bg-black{background:var(--black)!important}

.story-values{
  margin-top:52px;
}
.story-value{
  height:100%;
  text-align:center;
  padding:10px 18px 0;
}
.story-value-icon{
  color:var(--navy);
  font-size:3.4rem;
  line-height:1;
  margin-bottom:26px;
}
.story-value h4{
  color:#0D0D0D;
  font-size:1.35rem;
  text-transform:uppercase;
  letter-spacing:0;
  margin-bottom:22px;
}
.story-value p{
  color:#0D0D0D;
  font-size:1rem;
  line-height:1.45;
  margin:0 auto;
  max-width:270px;
}

@media (max-width:767.98px){
  .story-values{
    margin-top:34px;
  }
  .story-value{
    padding-top:0;
  }
}

/* ===== Buttons ===== */
.btn-glow{
  background:var(--grad);
  color:#fff;
  border:none;
  padding:14px 34px;
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.82rem;
  border-radius:2px;
  position:relative;
  transition:all .4s ease;
  box-shadow:0 6px 30px rgba(10,108,255,.35);
}
.btn-glow:hover{transform:translateY(-3px);box-shadow:var(--glow-strong);color:#fff}
.btn-ghost{
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.35);
  padding:14px 34px;
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.82rem;
  border-radius:2px;
  transition:all .4s ease;
}
.btn-ghost:hover{border-color:var(--electric);color:var(--electric);box-shadow:var(--glow)}
.btn-ghost-visible{
  border-color:var(--electric);
  color:var(--electric);
  box-shadow:var(--glow);
}
.btn-ghost-visible:hover{
  color:#fff;
  background:var(--grad);
  border-color:transparent;
  box-shadow:var(--glow-strong);
}
.btn-ghost-light{
  color:var(--navy);
  border-color:rgba(4,30,66,.18);
  background:#fff;
  text-decoration: none;
}
.btn-ghost-light:hover{
  border-color:var(--electric);
  color:var(--electric);
  background:rgba(10,108,255,.03);
}

/* ===== Navbar ===== */
.navbar-lite{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  width:100%;
  max-width:100%;
  overflow-x:clip;
  padding:4px 0;
  transition:all .4s ease;
  background:#fff;
}
.navbar-lite.scrolled{
  background:rgba(255,255,255,.85);

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(10,108,255,.15);
  padding:4px 0;
}
.navbar-lite .navbar-brand{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  letter-spacing:.18em;
  color:#0D0D0D;
  font-size:1.05rem;
  display:flex;
  align-items:center;
}

/* Navbar logo (small, consistent) */
.navbar-lite .navbar-brand img{
  height:70px;
  width:auto;
  display:block;
}

.navbar-lite .navbar-brand span{color:var(--electric)}
.navbar-lite .nav-link{
  color:rgba(13,13,13,.78)!important;

  font-family:'Montserrat',sans-serif;
  font-weight:500;
  font-size:.82rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:8px 18px!important;
  position:relative;
  transition:all .3s ease;
}
.navbar-lite .nav-link:hover,
.navbar-lite .nav-link.active{
  color:var(--electric)!important;
  text-shadow:0 0 12px rgba(10,108,255,.6);
}
.navbar-lite .nav-link::after{
  content:'';position:absolute;left:18px;right:18px;bottom:0;height:1px;
  background:var(--electric);transform:scaleX(0);transform-origin:left;
  transition:transform .3s ease;
}
.navbar-lite .nav-link:hover::after,.navbar-lite .nav-link.active::after{transform:scaleX(1)}
.navbar-toggler{border:1px solid rgba(4,30,66,.18)}
.navbar-toggler-icon{filter:none}

@media (max-width:991.98px){
  :root{--nav-height:68px;}
  .navbar-lite{
    min-height:var(--nav-height);
    padding:6px 0;
    box-shadow:0 5px 20px rgba(4,30,66,.08);
    overflow:visible;
  }
  .navbar-lite .container{
    position:relative;
    width:100%;
    max-width:100%;
    padding-left:12px;
    padding-right:12px;
  }
  .navbar-lite .navbar-brand{
    margin-right:12px;
    padding:0;
  }
  .navbar-lite .navbar-brand img{
    width:190px;
    max-width:calc(100vw - 100px);
    height:auto;
  }
  .navbar-lite .navbar-toggler{
    width:44px;
    height:44px;
    padding:8px;
    border-radius:8px;
    color:var(--navy);
    box-shadow:none;
  }
  .navbar-lite .navbar-toggler:focus{
    box-shadow:0 0 0 3px rgba(10,108,255,.14);
  }
  .navbar-lite .navbar-collapse{
    position:absolute;
    top:calc(100% + 6px);
    left:12px;
    right:12px;
    z-index:1001;
    max-width:calc(100% - 24px);
    max-height:calc(100vh - var(--nav-height) - 18px);
    max-height:calc(100dvh - var(--nav-height) - 18px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:10px 12px 14px;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(4,30,66,.1);
    border-radius:0 0 14px 14px;
    box-shadow:0 16px 30px rgba(4,30,66,.14);
  }
  .navbar-lite .navbar-nav{
    gap:2px;
  }
  .navbar-lite .nav-link{
    padding:12px 10px!important;
    border-radius:7px;
  }
  .navbar-lite .nav-link::after{
    left:10px;
    right:auto;
    width:28px;
    bottom:7px;
  }
}

@media (max-width:575.98px){
  .navbar-lite .navbar-brand img{
    width:165px;
  }
}

/* ===== Hero ===== */
.hero{
  position:relative;
  min-height:calc(100vh - var(--nav-height));
  margin-top:var(--nav-height);
  display:flex;align-items:center;
  overflow:hidden;
  background:#fff;
}

.hero-bg{
  position:absolute;inset:0;
}
.hero-bg .carousel-inner,
.hero-bg .carousel-item{
  height:100%;
}
.hero-bg img{
  height:100%;
  object-fit:cover;
  object-position:center;
}
.hero-carousel-control{
  z-index:4;
  top:50%;
  bottom:auto;
  width:48px;
  height:48px;
  padding:0;
  opacity:1;
  border-radius:999px;
  background:#fff;
  box-shadow:0 18px 40px rgba(4,30,66,.24);
  transform:translateY(-50%);
}
.hero-carousel-control.carousel-control-prev{
  left:72px;
}
.hero-carousel-control.carousel-control-next{
  right:72px;
}
.hero-carousel-control .carousel-control-prev-icon,
.hero-carousel-control .carousel-control-next-icon{
  width:20px;
  height:20px;
  background-size:100%;
  filter:none;
}
.hero-carousel-control .carousel-control-prev-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3e%3cpath d='M12.5 4L6.5 10L12.5 16' stroke='%23041E42' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
}
.hero-carousel-control .carousel-control-next-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3e%3cpath d='M7.5 4L13.5 10L7.5 16' stroke='%23041E42' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
}
.hero-carousel-control:hover,
.hero-carousel-control:focus{
  background:#fff;
  opacity:1;
}
@media(max-width:575px){
  .hero-carousel-control{
    width:42px;
    height:42px;
  }
  .hero-carousel-control.carousel-control-prev{
    left:24px;
  }
  .hero-carousel-control.carousel-control-next{
    right:24px;
  }
}
@keyframes slowzoom{from{transform:scale(1.05)}to{transform:scale(1.15)}}
.hero-overlay{
  position:absolute;inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(4,30,66,.16),rgba(4,30,66,.04) 50%,rgba(4,30,66,.18)),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.18));
}

.hero-grid{
  position:absolute;inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(10,108,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,108,255,.08) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse at center,#fff 30%,transparent 80%);
}

.hero-content{position:relative;z-index:3;padding:80px 0}
.hero h1{

  font-size:clamp(2.5rem,6vw,5.5rem);
  font-weight:900;
  margin-bottom:1.8rem;
  background:linear-gradient(120deg,#fff 30%,#0A6CFF 90%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hero p.lead{
  font-size:clamp(1rem,1.4vw,1.25rem);
  color:rgba(13,13,13,.78);

  max-width:680px;
  margin-bottom:2.5rem;
  font-weight:300;
}
.hero-cta{display:flex;gap:18px;flex-wrap:wrap}
.scroll-indicator{
  position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
  z-index:3;color:rgba(13,13,13,.55);text-align:center;

  font-family:'Montserrat',sans-serif;font-size:.7rem;letter-spacing:.3em;
  text-transform:uppercase;
}
.scroll-indicator .line{
  width:1px;height:60px;background:linear-gradient(180deg,var(--electric),transparent);
  margin:14px auto 0;animation:scrolldown 2s ease-in-out infinite;
}
@keyframes scrolldown{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* Floating particles */
.particles{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}

/* ===== Team cards (About) ===== */
.team-card{
  height:100%;
  display:flex;
  flex-direction:column;
  border-radius:10px;
  border:1px solid rgba(10,108,255,.35);
  background:linear-gradient(180deg, rgba(10,108,255,.04) 0%, rgba(255,255,255,.90) 140%);
  overflow:hidden;
  transition:all .45s ease;
  box-shadow:0 22px 70px rgba(4,30,66,.08);
}
.team-card:hover{
  transform:translateY(-8px);
  border-color:rgba(10,108,255,.65);
  box-shadow:0 34px 95px rgba(4,30,66,.22), 0 0 32px rgba(10,108,255,.18);
}
.team-photo{
  padding:30px 26px 0;
  display:flex;
  justify-content:center;
}
.team-photo img{
  width:140px;
  height:140px;
  border-radius:999px;
  object-fit:cover;
  border:2px solid rgba(10,108,255,.35);
  box-shadow:0 0 0 6px rgba(10,108,255,.08), 0 22px 60px rgba(10,108,255,.18);
  background:#fff;
}
.team-body{
  padding:20px 26px 26px;
  text-align:center;
}
.team-name{
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  font-size:1.25rem;
  color:#0D0D0D;
  margin-bottom:8px;
  letter-spacing:-.02em;
}
.team-role{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--electric);
  margin-bottom:14px;
}
.team-desc{
  margin:0;
  color:var(--silver);
  font-size:.95rem;
}

/* show only first ~5 lines in the card, keep button at bottom */
.team-desc-preview{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
  overflow:hidden;
}


/* full text is for modal only */
.team-desc-full{display:none}

.team-desc-full.is-hidden{display:none}
.team-desc-full.is-visible{display:none}


.team-toggle-btn{
  margin-top:18px;
  align-self:flex-start;
  display:inline-block;
  background:transparent;
  border:1px solid rgba(10,108,255,.35);
  color:var(--electric);
  padding:10px 16px;
  border-radius:6px;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.68rem;
  cursor:pointer;
  transition:all .3s ease;
}
.team-toggle-btn:hover{
  background:rgba(10,108,255,.06);
  border-color:rgba(10,108,255,.65);
  box-shadow:var(--glow);
  transform:translateY(-2px);
}

/* ===== Team modal ===== */
 .team-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:2000;
  align-items:center;
  justify-content:center;
  padding:24px;
}
 .team-modal.is-open{display:flex;}
 .team-modal-backdrop{
  position:absolute;inset:0;background:rgba(4,30,66,.6);backdrop-filter:blur(10px);
 }
 .team-modal-dialog{
  position:relative;
  max-width:980px;
  width:min(980px, 100%);
  max-height:calc(100vh - 48px);
  background:rgba(255,255,255,.92);
  border:1px solid rgba(10,108,255,.3);
  border-radius:12px;
  box-shadow:0 40px 120px rgba(4,30,66,.35);
  overflow:hidden;
  overflow-y:auto;
 }
.team-modal-close{
  position:absolute;top:12px;right:12px;
  width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(10,108,255,.35);
  background:rgba(255,255,255,.8);
  color:#041E42;
  cursor:pointer;
  font-size:22px;line-height:40px;
}
.team-modal-content{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:0;
}
.team-modal-photo-wrap{
  padding:26px;
  background:linear-gradient(180deg, rgba(10,108,255,.07) 0%, rgba(255,255,255,.92) 100%);
  display:flex;align-items:center;justify-content:center;
}
.team-modal-photo{
  width:240px;height:240px;border-radius:999px;
  object-fit:cover;
  border:2px solid rgba(10,108,255,.35);
  box-shadow:0 22px 70px rgba(10,108,255,.18);
}
.team-modal-meta{
  padding:38px 36px;
}
.team-modal-name{
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  font-size:2rem;
  margin-bottom:8px;
}
.team-modal-role{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--electric);
  font-size:.82rem;
  margin-bottom:16px;
}
.team-modal-desc{
  color:var(--silver);
  font-size:1rem;
  line-height:1.8;
  white-space:pre-line;
}

@media(max-width:767px){
  .team-modal{padding:12px;}
  .team-modal-dialog{max-height:calc(100vh - 24px);}
  .team-modal-content{grid-template-columns:1fr;}
  .team-modal-photo-wrap{padding:22px 18px;}
  .team-modal-photo{width:180px;height:180px;}
  .team-modal-meta{padding:26px 18px 28px;}
}

@media(max-width:575px){
  .team-photo{padding:26px 18px 0}
  .team-photo img{width:120px;height:120px}
  .team-body{padding:18px 18px 22px}
  .team-toggle-btn{margin-top:10px}
  .team-modal-dialog{margin:7vh 12px;}
}




.particle{position:absolute;width:3px;height:3px;background:var(--electric);border-radius:50%;
  box-shadow:0 0 14px var(--electric);opacity:.7;animation:floatup linear infinite}
@keyframes floatup{
  0%{transform:translateY(110vh) translateX(0);opacity:0}
  10%{opacity:.8}
  90%{opacity:.8}
  100%{transform:translateY(-10vh) translateX(40px);opacity:0}
}

/* ===== Section headings ===== */
.section-title{
  font-size:clamp(2rem,3.6vw,3.4rem);
  margin-bottom:1.2rem;
}
.section-subtitle{
  color:var(--silver);
  font-size:1.05rem;
  max-width:780px;
  margin:0 auto 60px;
  font-weight:300;
}
.section-light .section-subtitle{color:#555}
.center-head{text-align:center;margin-bottom:60px}

/* ===== Specialization cards ===== */
.spec-card{
  position:relative;
  background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(245,248,255,.98));

  border:1px solid rgba(255,255,255,.06);
  border-radius:6px;
  padding:46px 34px;
  height:100%;
  overflow:hidden;
  transition:all .5s ease;
}

/* Premium Navy variant for carousel boxes (make it look clean + premium) */
.spec-card-navy{
  position:relative;
  background:linear-gradient(160deg, rgba(4,30,66,.98) 0%, rgba(4,30,66,.88) 55%, rgba(10,108,255,.10) 100%) !important;
  border:1px solid rgba(10,108,255,.30) !important;
  border-radius:6px;

  /* remove the light-card brightness feeling */
  box-shadow:0 22px 70px rgba(4,30,66,.30);
  overflow:hidden;
}

/* neutralize light-card overlays completely */
.spec-card-navy::before{
  opacity:0 !important;
  background:none !important;
}
.spec-card-navy::after{
  opacity:0 !important;
}

/* add our own subtle glow layer */
.spec-card-navy .spec-navy-glow{
  display:block;
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(700px 220px at 20% 0%, rgba(10,108,255,.20), transparent 55%),
    radial-gradient(520px 260px at 90% 20%, rgba(10,108,255,.14), transparent 60%);
  pointer-events:none;
  z-index:0;
}

.spec-card-navy .icon,
.spec-card-navy .spec-tag,
.spec-card-navy h4,
.spec-card-navy p{
  position:relative;
  z-index:1;
}

.spec-card-navy .icon{
  width:62px;height:62px;border-radius:50%;
  background:rgba(10,108,255,.12) !important;
  border:1px solid rgba(10,108,255,.35) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06), 0 0 26px rgba(10,108,255,.20);
  color:#fff !important;
}

.spec-card-navy .spec-tag{
  color:rgba(255,255,255,.80) !important;
}

.spec-card-navy h4{
  color:#FFFFFF !important;
}

.spec-card-navy p{
  color:rgba(255,255,255,.78) !important;
}

/* Premium hover */
.spec-card-navy:hover{
  transform:translateY(-8px);
  border-color:rgba(10,108,255,.55) !important;
  box-shadow:0 34px 95px rgba(4,30,66,.40), 0 0 32px rgba(10,108,255,.18);
}

/* Carousel tweaks */
#core-specializations .specialization-carousel{
  margin-top:20px;
}

#core-specializations .carousel-control-prev,
#core-specializations .carousel-control-next{
  width:48px;
  height:48px;
  top:auto;
  bottom:12px;
  margin-top:0;
  opacity:1;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(10,108,255,.28);
}

#core-specializations .carousel-control-prev-icon,
#core-specializations .carousel-control-next-icon{
  filter:invert(1);
}
.spec-card::before{
  content:'';position:absolute;inset:0;
  background:var(--grad);opacity:0;transition:opacity .5s ease;z-index:0;
}
.spec-card::after{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(10,108,255,.12),transparent);
  transition:left .8s ease;
}

.spec-card:hover{transform:translateY(-10px);border-color:rgba(10,108,255,.4);box-shadow:0 30px 60px rgba(10,108,255,.25),var(--glow)}
.spec-card:hover::after{left:100%}
.spec-card.featured{
  background:rgba(10,108,255,.04);
  border-color:rgba(10,108,255,.35);
}
.spec-card .icon{
  width:62px;height:62px;border-radius:50%;
  background:rgba(10,108,255,.12);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:24px;
  color:var(--electric);font-size:1.5rem;
  border:1px solid rgba(10,108,255,.3);
  box-shadow:inset 0 0 20px rgba(10,108,255,.15);
}
.spec-card h4{font-size:1.3rem;margin-bottom:14px;position:relative;z-index:1}
.spec-card p{color:var(--silver);font-size:.95rem;position:relative;z-index:1;margin:0}

.spec-tag{
  display:inline-block;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;
  color:var(--electric);margin-bottom:14px;font-weight:600;
}

/* ===== Dynamic facades signature light (thin lines from below) =====
   Apply to all "boxes/cards" so each has:
   1) a tinted background color
   2) a thin light strip near the bottom + faint upward glow
*/
.project-card,
.brand-card,
.spec-card,
.spec-card-navy,
.contact-info-card,
.news-card,
.feature-block,
.lighting-panel{
  position:relative;
  overflow:hidden;
}

/* Default signature (works for all cards) */
.project-card::before,
.brand-card::before,
.spec-card::before,
.spec-card-navy::before,
.contact-info-card::before,
.news-card::before,
.feature-block::before,
.lighting-panel::before{
  content:'';
  position:absolute;
  left:12px;
  right:12px;
  bottom:10px;
  height:2px; /* thin line */
  z-index:0;
  border-radius:999px;

  background:linear-gradient(90deg, transparent 0%, rgba(10,108,255,.0) 10%, rgba(10,108,255,.85) 40%, rgba(10,108,255,.55) 60%, rgba(10,108,255,.0) 90%, transparent 100%);
  box-shadow:0 -6px 22px rgba(10,108,255,.20), 0 -2px 10px rgba(10,108,255,.30);
  pointer-events:none;

  /* subtle scan animation */
  animation:signatureLightPulse 3.6s ease-in-out infinite;
}

/* Very faint upward glow starting from that thin strip */
.project-card::after,
.brand-card::after,
.spec-card::after,
.spec-card-navy::after,
.contact-info-card::after,
.news-card::after,
.feature-block::after,
.lighting-panel::after{
  content:'';
  position:absolute;
  left:0; right:0;
  bottom:0;
  height:46%;
  z-index:0;
  pointer-events:none;

  background:
    linear-gradient(180deg, rgba(10,108,255,.00) 0%,
                              rgba(10,108,255,.10) 22%,
                              rgba(10,108,255,.18) 55%,
                              rgba(10,108,255,.00) 100%);
  opacity:.55;
}

/* keep existing content above signature layers (avoid styling every child) */
.project-card .img,
.project-card .overlay,
.project-card .border-glow,
.project-card .meta{
  position:relative;
  z-index:1;
}

/* For other boxes, ensure the card content is above the pseudo-elements */
.brand-card,
.spec-card,
.spec-card-navy,
.contact-info-card,
.news-card,
.feature-block,
.lighting-panel{
  z-index:1;
}

/* Keep a few important spec-card elements above the signature */
.spec-card .icon,
.spec-card h4,
.spec-card p{
  position:relative;
  z-index:1;
}

/* Card background tint (so "all boxes bg color" is consistent) */
.project-card{
  background:linear-gradient(180deg, rgba(4,30,66,.06) 0%, rgba(10,108,255,.04) 100%), #fff;
  border-color:rgba(10,108,255,.16);
}
.brand-card{
  background:linear-gradient(180deg, rgba(10,108,255,.05) 0%, rgba(255,255,255,.02) 100%);
  border-color:rgba(10,108,255,.24);
}
.spec-card{
 border-color: rgba(10, 108, 255, .4);
 background:rgba(10,108,255,.04);
}
.spec-card-navy{
  background:linear-gradient(160deg, rgba(4,30,66,.98) 0%, rgba(4,30,66,.88) 55%, rgba(10,108,255,.10) 100%) !important;
}
.contact-info-card{
  background:linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(10,108,255,.06) 100%);
}
.news-card{
  background:linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(10,108,255,.04) 100%);
}
.feature-block{
  background:linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(10,108,255,.06) 100%);
  border-color:rgba(10,108,255,.35);
}
.lighting-panel{
  background:linear-gradient(180deg, rgba(217,226,236,1) 0%, rgba(10,108,255,.05) 100%);
}

/* Animation keyframes */
@keyframes signatureLightPulse{
  0%,100%{filter:brightness(1);transform:translateY(0)}
  45%{filter:brightness(1.25);transform:translateY(-1px)}
  70%{filter:brightness(1.05);transform:translateY(0)}
}


/* ===== Showcase / Cinematic Sections ===== */
.cinematic{
  position:relative;min-height:600px;
  background-size:cover;background-position:center;background-attachment:fixed;
  display:flex;align-items:center;
}
.cinematic-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(240,246,255,.75) 60%,rgba(10,108,255,.12) 100%);
}

.cinematic .container{position:relative;z-index:2}
.cinematic h2{font-size:clamp(2.2rem,4vw,3.8rem)}
.cinematic .caption{
  font-family:'Montserrat',sans-serif;
  font-size:.78rem;letter-spacing:.35em;text-transform:uppercase;
  color:var(--electric);margin-bottom:1rem;
}

/* ===== Feature grid (about / why) ===== */
.feature-block{
  padding:36px 28px;border:1px solid rgba(255,255,255,.06);
  border-radius:4px;height:100%;
  background:rgba(255,255,255,.02);
  transition:all .4s ease;
}
.feature-block{border-color:rgba(10,108,255,.4);background:rgba(10,108,255,.04);transform:translateY(-4px)}

/* Premium-but-clean variants for modern consistency */
.premium-copy{
  /* max-width:54ch; */
  line-height:1.7;
  font-size:1.02rem;
}

.premium-feature{
  background:linear-gradient(180deg, rgba(10,108,255,.035) 0%, rgba(255,255,255,.02) 100%);
}

.control-section{
  --control-line:rgba(4,30,66,.12);
}



.control-stat-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:30px 0 28px;
  border-top:1px solid var(--control-line);
  border-bottom:1px solid var(--control-line);
}

.control-stat{
  padding:18px 18px 16px 0;
}

.control-stat + .control-stat{
  padding-left:22px;
  border-left:1px solid var(--control-line);
}

.control-stat strong{
  display:block;
  margin-bottom:6px;
  color:var(--navy);
  font-family:'Montserrat',sans-serif;
  font-size:1.55rem;
  line-height:1;
}

.control-stat span{
  color:rgba(4,30,66,.7);
  font-size:.86rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.control-list{
  display:grid;
  gap:0;
  max-width:580px;
}

.control-item{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:18px 0;
  border-top:1px solid rgba(4,30,66,.1);
}

.control-item:last-child{
  border-bottom:1px solid rgba(4,30,66,.1);
}

.control-item-index{
  color:rgba(10,108,255,.85);
  font-family:'Montserrat',sans-serif;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.control-item h5{
  margin:0 0 6px;
  color:var(--navy);
  font-size:1.05rem;
}

.control-item p{
  margin:0;
  color:var(--silver);
  font-size:.95rem;
  line-height:1.7;
}

.control-visual-card{
  position:relative;
  min-height:560px;
  overflow:hidden;
  border-radius:18px;
  background:#041E42;
  box-shadow:0 28px 70px rgba(4,30,66,.14);
}

.control-visual-card::after{
  content:'';
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  pointer-events:none;
}

.control-visual-image,
.control-visual-overlay{
  position:absolute;
  inset:0;
}

.control-visual-image{
  background-size:cover;
  background-position:center;
  transform:scale(1.04);
}

.control-visual-overlay{
  background:
    linear-gradient(180deg, rgba(4,30,66,.16) 0%, rgba(4,30,66,.82) 78%),
    linear-gradient(135deg, rgba(10,108,255,.08) 0%, rgba(10,108,255,.32) 100%);
}

.control-visual-panel{
  position:absolute;
  left:28px;
  right:28px;
  bottom:28px;
  z-index:1;
  padding:24px 24px 22px;
  background:rgba(4,30,66,.5);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.control-panel-label{
  display:inline-block;
  margin-bottom:12px;
  color:rgba(255,255,255,.72);
  font-family:'Montserrat',sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.control-visual-panel h4{
  margin:0;
  max-width:13ch;
  color:#fff;
  font-size:1.85rem;
  line-height:1.15;
}

.control-panel-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.control-panel-meta span{
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.86);
  font-family:'Montserrat',sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

@media(max-width:991px){
  .control-section .section-title{
    max-width:none;
  }

  .control-visual-card{
    min-height:500px;
  }
}

@media(max-width:767px){
  .control-stat-strip{
    grid-template-columns:1fr;
  }

  .control-stat{
    padding:16px 0;
  }

  .control-stat + .control-stat{
    padding-left:0;
    border-left:0;
    border-top:1px solid var(--control-line);
  }

  .control-item{
    grid-template-columns:44px minmax(0,1fr);
    gap:14px;
  }

  .control-visual-card{
    min-height:420px;
  }

  .control-visual-panel{
    left:18px;
    right:18px;
    bottom:18px;
    padding:18px;
  }

  .control-visual-panel h4{
    max-width:none;
    font-size:1.45rem;
  }
}

.section-kicker-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  margin-bottom:6px;
}

.section-headline-divider{
  width:92px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(10,108,255,.95), transparent);
  box-shadow:0 0 20px rgba(10,108,255,.25);
}

.feature-block .num{
  font-family:'Montserrat',sans-serif;font-weight:800;
  font-size:2.4rem;color:var(--electric);
  -webkit-text-stroke:1px var(--electric);color:transparent;
  margin-bottom:18px;display:block;
}
.feature-block h5{font-size:1.1rem;margin-bottom:10px}
.feature-block p{color:var(--silver);font-size:.92rem;margin:0}

/* ===== Dynamic technology section ===== */
.dynamic-tech-section{
  overflow:hidden;
}

.dynamic-tech-section .section-title{
  max-width:780px;
}

.dynamic-tech-head{
  margin-bottom:56px;
}

.dynamic-tech-head .section-title{
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}

.dynamic-lead{
  margin-left:auto;
  margin-right:auto;
  font-size:1.05rem;
  line-height:1.8;
}

.dynamic-visual{
  position:relative;
  min-height:100%;
  height:100%;
  border-radius:8px;
  overflow:hidden;
  border:1px solid rgba(10,108,255,.22);
  box-shadow:0 28px 80px rgba(4,30,66,.14);
  background:#041E42;
}

.dynamic-visual .img{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.03);
}

.dynamic-visual-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(520px 280px at 20% 10%, rgba(10,108,255,.38), transparent 60%),
    linear-gradient(180deg, rgba(4,30,66,.08) 0%, rgba(4,30,66,.78) 100%);
}

.dynamic-visual-meta{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:34px;
  color:#fff;
}

.dynamic-visual-meta .cat{
  font-family:'Montserrat',sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#8fc0ff;
  margin-bottom:12px;
}

.dynamic-visual-meta h4{
  color:#fff;
  font-size:1.55rem;
  margin-bottom:10px;
}

.dynamic-visual-meta p{
  color:rgba(255,255,255,.82);
  margin:0;
  max-width:420px;
}

.dynamic-copy-panel{
  height:100%;
  padding:36px;
  border:1px solid rgba(10,108,255,.16);
  border-radius:8px;
  background:linear-gradient(160deg, rgba(10,108,255,.035), rgba(255,255,255,.94));
  box-shadow:0 20px 60px rgba(4,30,66,.06);
}

.dynamic-copy-panel p{
  color:var(--silver);
  margin:0 0 18px;
  line-height:1.78;
}

.dynamic-copy-panel p:last-child{
  margin-bottom:0;
}

.dynamic-capability{
  height:100%;
  min-height:148px;
  padding:24px 22px;
  border:1px solid rgba(10,108,255,.18);
  border-radius:8px;
  background:#fff;
  box-shadow:0 16px 42px rgba(4,30,66,.06);
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.dynamic-capability:hover{
  transform:translateY(-5px);
  border-color:rgba(10,108,255,.42);
  box-shadow:0 22px 55px rgba(10,108,255,.12);
}

.dynamic-capability span{
  display:block;
  font-family:'Montserrat',sans-serif;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.18em;
  color:var(--electric);
  margin-bottom:16px;
}

.dynamic-capability h5{
  margin:0;
  font-size:1rem;
  line-height:1.35;
  color:#0D0D0D;
}

@media(max-width:991px){
  .dynamic-visual{
    min-height:420px;
  }
}

@media(max-width:575px){
  .dynamic-copy-panel,
  .dynamic-visual-meta{
    padding:24px;
  }

  .dynamic-visual{
    min-height:360px;
  }

  .dynamic-capability{
    min-height:126px;
  }
}

/* ===== Why Lite Projects section ===== */
.why-lite-head{
  margin-bottom:56px;
}

.why-lite-head .section-subtitle{
  max-width:860px;
  line-height:1.8;
}

.why-lite-card{
  height:100%;
  min-height:310px;
  padding:30px 26px;
  border:1px solid rgba(10,108,255,.16);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(10,108,255,.035), rgba(255,255,255,.96));
  box-shadow:0 18px 52px rgba(4,30,66,.06);
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.why-lite-card:hover{
  transform:translateY(-6px);
  border-color:rgba(10,108,255,.38);
  box-shadow:0 24px 68px rgba(10,108,255,.12);
}

.why-lite-card .num{
  display:block;
  font-family:'Montserrat',sans-serif;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.18em;
  color:var(--electric);
  margin-bottom:18px;
}

.why-lite-card h5{
  font-size:1.05rem;
  line-height:1.35;
  margin-bottom:14px;
  color:#0D0D0D;
}

.why-lite-card p{
  margin:0;
  color:var(--silver);
  font-size:.9rem;
  line-height:1.7;
}

.why-difference{
  margin-top:48px;
  padding:38px;
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:34px;
  align-items:start;
  border:1px solid rgba(10,108,255,.2);
  border-radius:8px;
  background:#fff;
  box-shadow:0 24px 70px rgba(4,30,66,.07);
}

.why-difference .eyebrow{
  margin-bottom:12px;
}

.why-difference h3{
  margin:0;
  font-size:clamp(1.45rem,2.1vw,2rem);
  line-height:1.25;
  color:#0D0D0D;
}

.why-difference ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 20px;
  list-style:none;
  padding:0;
  margin:0;
}

.why-difference li{
  position:relative;
  padding-left:26px;
  color:#22324b;
  font-weight:600;
  line-height:1.45;
}

.why-difference li::before{
  content:'';
  position:absolute;
  left:0;
  top:.42em;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--electric);
  box-shadow:0 0 16px rgba(10,108,255,.45);
}

@media(max-width:991px){
  .why-lite-card{
    min-height:260px;
  }

  .why-difference{
    grid-template-columns:1fr;
  }
}

@media(max-width:575px){
  .why-lite-card{
    min-height:auto;
    padding:26px 22px;
  }

  .why-difference{
    padding:28px 22px;
  }

  .why-difference ul{
    grid-template-columns:1fr;
  }
}

/* ===== About lighting mosaic ===== */
.lighting-story{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(180deg, #cfd7e0 0%, #e2e8ef 100%);
}
.lighting-beam{
  position:absolute;
  pointer-events:none;
  z-index:1;
}
.lighting-beam-left{
  top:-120px;
  right:-180px;
  left:auto;
  width:1600px;
  height:980px;
  background:
   linear-gradient(224deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0) 22%,
      rgba(4,30,66,.14) 28%,
      rgba(4,30,66,.68) 33%,
      rgba(10,108,255,.42) 37%,
      rgba(4,71,171,.18) 43%,
      rgba(255,255,255,0) 52%);
  clip-path:polygon(0 0, 100% 50%, 0 100%);
  filter:blur(18px);
  opacity:.95;
  transform-origin:right top;
  transform:rotate(-10deg);
}
.lighting-story::before,
.lighting-story::after{
  content:'';
  position:absolute;
  pointer-events:none;
  z-index:0;
}
.lighting-story::before{
  display:none;
}
.lighting-story::after{
  display:none;
  inset:auto auto 36px 8%;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,224,140,.14) 0%, rgba(184,118,0,.1) 36%, rgba(255,255,255,0) 72%);
  filter:blur(40px);
  opacity:.22;
}
.lighting-story-head{
  position:relative;
  z-index:3;
  max-width:780px;
  margin:0 auto 54px;
  text-align:center;
}
.lighting-story-head .section-subtitle{
  margin-bottom:32px;
}
.lighting-mosaic{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.lighting-panel{
  position:relative;
  min-height:420px;
  border-radius:26px;
  overflow:hidden;
  background:#d9e2ec;
  box-shadow:0 24px 70px rgba(4,30,66,.12);
  isolation:isolate;
}
.lighting-panel::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 36%);
  z-index:1;
  pointer-events:none;
}
.lighting-panel-image{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
  transition:transform .8s ease;
}
.lighting-panel-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(4,30,66,.02) 0%,rgba(4,30,66,.52) 76%,rgba(4,30,66,.84) 100%),
    linear-gradient(135deg,rgba(10,108,255,.08) 0%,rgba(10,108,255,.18) 100%);
  z-index:1;
}
.lighting-panel::after{
  content:'';
  position:absolute;
  inset:18px;
  /* border:1px solid rgba(255,255,255,.22); */
  border-radius:18px;
  z-index:1;
  pointer-events:none;
}
.lighting-panel-copy{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:30px 30px 32px;
  color:#fff;
}
.lighting-panel-kicker{
  display:inline-block;
  margin-bottom:12px;
  font-family:'Montserrat',sans-serif;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(255,255,255,.74);
}
.lighting-panel h3{
  font-size:1.55rem;
  margin-bottom:12px;
  color:#fff;
  max-width:14ch;
}
.lighting-panel p{
  margin:0;
  max-width:34ch;
  color:rgba(255,255,255,.84);
  font-size:.96rem;
}
.lighting-panel:hover .lighting-panel-image{
  transform:scale(1.1);
}

@media(max-width:991px){
  .lighting-beam-left{
    width:1200px;
    height:760px;
    right:-240px;
    left:auto;
    top:-70px;
  }
  .lighting-story::before{
    display:none;
  }
  .lighting-story::after{
    inset:110px 6% auto auto;
    width:160px;
    height:160px;
  }
  .lighting-mosaic{
    grid-template-columns:1fr;
  }
  .lighting-panel{
    min-height:360px;
  }
}

@media(max-width:575px){
  .lighting-beam{
    opacity:.9;
    filter:blur(8px);
  }
  .lighting-story::before,
  .lighting-story::after{
    opacity:.35;
    filter:blur(12px);
  }
  .lighting-story-head{
    margin-bottom:36px;
  }
  .lighting-panel{
    min-height:320px;
    border-radius:20px;
  }
  .lighting-panel::after{
    inset:14px;
    border-radius:14px;
  }
  .lighting-panel-copy{
    padding:24px 22px 24px;
  }
  .lighting-panel h3{
    font-size:1.28rem;
  }
}

/* ===== Featured Work Carousel ===== */
.featured-carousel-wrap{
  margin:0 auto;
  padding:6px 72px 26px;
  position:relative;
  z-index:2;
}

.featured-carousel{
  padding:4px 0 0;
  position:relative;
}

.featured-carousel .carousel-inner{
  overflow:hidden;
}


.featured-carousel .carousel-item{
  padding:0 2px;
  opacity:0;
  visibility:hidden;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change:transform, opacity;
  transition:transform .6s ease-in-out, opacity .6s ease-in-out, visibility 0s linear .6s;
}

.featured-carousel .carousel-item.active,
.featured-carousel .carousel-item.carousel-item-start,
.featured-carousel .carousel-item.carousel-item-end,
.featured-carousel .carousel-item.carousel-item-next,
.featured-carousel .carousel-item.carousel-item-prev{
  opacity:1;
  visibility:visible;
  transition-delay:0s;
}

.featured-carousel .project-card{
  width:100%;
  height:100%;
}

.featured-carousel .project-card.large,
.featured-carousel .project-card.medium,
.featured-carousel .project-card.small{
  min-height:420px;
  grid-column:auto;
}

.featured-carousel-control{
  width:48px;
  height:48px;
  padding:0;
  top:50%;
  transform:translateY(-50%);
  opacity:1;
  z-index:10;
  overflow:hidden;
  border:0;
  border-radius:50%;
  background:rgba(4,30,66,.82);
  box-shadow:0 16px 34px rgba(0,0,0,.22);
  color:transparent;
  font-size:0;
  outline:none;
  -webkit-tap-highlight-color:transparent;
}

.featured-carousel-control.carousel-control-prev{
  left:-72px;
}

.featured-carousel-control.carousel-control-next{
  right:-72px;
}

.featured-carousel-control:hover,
.featured-carousel-control:focus,
.featured-carousel-control:active{
  opacity:1;
  color:transparent;
  outline:none;
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}

.featured-carousel-control:focus-visible{
  outline:none;
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}

.project-gallery-wrap{
  position:relative;
}

.project-media-carousel .project-media-item{
  height:100%;
}

.project-media-panel{
  min-height:420px;
  height:100%;
}

.project-gallery-control{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:20;
}

.project-gallery-control.carousel-control-prev{
  left:-24px;
}

.project-gallery-control.carousel-control-next{
  right:-24px;
}

.featured-carousel .carousel-control-prev-icon,
.featured-carousel .carousel-control-next-icon{
  width:18px;
  height:18px;
}

.featured-carousel .carousel-control-prev-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

.featured-carousel .carousel-control-next-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

@media(max-width:991px){
  .featured-carousel-wrap{
    padding-left:56px;
    padding-right:56px;
  }

  .featured-carousel-control.carousel-control-prev{
    left:-56px;
  }

  .featured-carousel-control.carousel-control-next{
    right:-56px;
  }
}

@media(max-width:767px){
  .featured-carousel-wrap{
    padding-left:0;
    padding-right:0;
    padding-bottom:70px;
  }

  .featured-carousel-control{
    top:auto;
    bottom:8px;
    transform:none;
  }

  .featured-carousel-control.carousel-control-prev{
    left:calc(50% - 60px);
  }

  .featured-carousel-control.carousel-control-next{
    right:calc(50% - 60px);
  }

  .featured-carousel .project-card.large,
  .featured-carousel .project-card.medium,
  .featured-carousel .project-card.small{
    min-height:320px;
  }
}

/* ===== Project cards ===== */
.project-filter-wrap{
  position:relative;
  margin-bottom:50px;
}
.filter-bar{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;
}
.filter-scroll-btn{
  display:none;
}
.filter-btn{
  background:transparent;border:1px solid rgba(255,255,255,.18);color:rgba(0, 0, 0, 0.92);
  padding:10px 22px;font-family:'Montserrat',sans-serif;font-weight:500;font-size:.75rem;
  letter-spacing:.18em;text-transform:uppercase;border-radius:2px;transition:all .3s ease;
  cursor:pointer;
  border: 1px solid rgba(0, 0, 0, 0.12);
}
.filter-btn:hover,.filter-btn.active{
  background:var(--grad);border-color:transparent;box-shadow:var(--glow);color:rgba(255, 254, 254, 0.92);
}

.project-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:24px;
}

.project-grid-uniform{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.project-card{
  position:relative;
  overflow:hidden;
  border-radius:12px;
  border:1px solid rgba(10,108,255,.16);
  background:linear-gradient(180deg, rgba(4,30,66,.95) 0%, rgba(255,255,255,1) 150%);
  cursor:pointer;
  transition:all .5s ease;
  min-height:380px;

  /* premium facade depth */
  box-shadow:0 22px 70px rgba(4,30,66,.10);
  transform:translateZ(0);
}

/* keep different sizes */
.project-card.large{grid-column:span 8;min-height:520px}
.project-card.medium{grid-column:span 4;min-height:520px}
.project-card.small{grid-column:span 4;min-height:380px}

.project-grid-uniform .project-card,
.project-grid-uniform .project-card.large,
.project-grid-uniform .project-card.medium,
.project-grid-uniform .project-card.small{
  grid-column:auto;
  min-height:380px;
}

/* clearer spacing and responsive stacking */
@media(max-width:991px){
  .project-card,.project-card.large,.project-card.medium,.project-card.small{
    grid-column:span 12;
    min-height:320px;
  }
  .project-grid-uniform{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .project-grid-uniform .project-card,
  .project-grid-uniform .project-card.large,
  .project-grid-uniform .project-card.medium,
  .project-grid-uniform .project-card.small{
    grid-column:auto;
  }
}

@media(max-width:767.98px){
  .project-filter-wrap{
    display:flex;
    align-items:center;
    gap:8px;
    width:calc(100vw - 1px);
    max-width:100vw;
    margin:0 0 32px calc(50% - 50vw);
    padding:0 12px;
    box-sizing:border-box;
  }
  .filter-scroll-btn{
    flex:0 0 34px;
    width:34px;
    height:34px;
    border:1px solid rgba(10,108,255,.18);
    border-radius:50%;
    background:rgba(255,255,255,.92);
    color:#041e42;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:relative;
    z-index:3;
    cursor:pointer;
    touch-action:manipulation;
    box-shadow:0 10px 22px rgba(4,30,66,.10);
  }
  .filter-bar{
    flex:1 1 auto;
    min-width:0;
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:8px;
    margin:0;
    padding:2px 0 8px;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .filter-bar::-webkit-scrollbar{
    display:none;
  }
  .filter-btn{
    flex:0 0 auto;
    max-width:78vw;
    padding:9px 14px;
    font-size:.68rem;
    line-height:1.2;
    letter-spacing:.08em;
    white-space:nowrap;
  }
  .project-grid-uniform{
    grid-template-columns:1fr;
  }
}

/* ensure grid cards show as block with consistent width */
.project-card{width:100%;}
.project-card .img{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform 1s ease;
}
.project-card video.img,
.project-card .project-card-video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.project-card:hover .img{transform:scale(1.12)}
.project-card .overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(1000px 380px at 50% -10%, rgba(10,108,255,.22) 0%, transparent 55%),
    linear-gradient(180deg,rgba(0,0,0,.00) 30%, rgba(10,108,255,.20) 74%, rgba(0,0,0,.10) 100%);
  transition:background .55s ease;
}

.project-card:hover .overlay{
  background:
    radial-gradient(900px 360px at 50% -10%, rgba(10,108,255,.30) 0%, transparent 60%),
    linear-gradient(180deg,rgba(4,30,66,.62) 0%,rgba(10,108,255,.52) 60%, rgba(4,30,66,.75) 100%);
}
.project-card .meta{
  position:absolute;bottom:0;left:0;right:0;padding:30px 28px;z-index:2;
}
.project-card .cat{
  font-family:'Montserrat',sans-serif;font-size:.7rem;letter-spacing:.25em;
  text-transform:uppercase;color:var(--electric);margin-bottom:10px;
  text-shadow:0 0 10px rgba(10,108,255,.6);
}
.project-card h4{font-size:1.4rem;margin-bottom:8px;color:#0D0D0D}
.project-card p{color:rgba(13,13,13,.72);font-size:.88rem;margin:0;
  max-height:0;overflow:hidden;transition:max-height .5s ease,margin .5s ease;}

.project-card:hover p{max-height:80px;margin-top:6px}

/* Featured projects headline / premium accent in dark sections */
.section-dark .center-head .section-title{
  position:relative;
}
.section-dark .center-head .section-title::after{
  content:'';
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:-14px;
  width:170px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(10,108,255,.95), transparent);
  box-shadow:0 0 22px rgba(10,108,255,.35);
  opacity:.9;
}
.project-card .border-glow{
  position:absolute;inset:0;
  border:1px solid transparent;
  border-radius:12px;
  transition:all .55s ease;
  pointer-events:none;
}
.project-card:hover .border-glow{
  border-color:rgba(10,108,255,.95);
  box-shadow:inset 0 0 44px rgba(10,108,255,.25), 0 0 46px rgba(10,108,255,.18);
}

/* ===== Brand grid ===== */
.brand-head-simple{
  margin-bottom:44px;
}
.brand-head-simple .section-title{
  margin-left:auto;
  margin-right:auto;
}
.brand-grid-simple{
  max-width:1040px;
  margin:0 auto;
}
.brand-card{
  background:rgba(10,108,255,.04);
  border:1px solid rgba(10,108,255,.4);
  padding:46px 24px;
  text-align:center;
  text-decoration:none;
  border-radius:4px;
  transition:all .4s ease;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  min-height:180px;
}


.brand-card .name{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:1.3rem;
  color:var(--silver);
  letter-spacing:.05em;
  filter:grayscale(1) brightness(.9);
  transition:all .4s ease;
}
.brand-logo{
  display:block;
  max-width:150px;
  width:100%;
  max-height:58px;
  margin:0 auto 16px;
  object-fit:contain;
  transition:transform .35s ease;
}
.brand-logo.logo-dark-bg{
  box-sizing:border-box;
  width:auto;
  max-width:170px;
  max-height:72px;
  padding:10px 14px;
  border-radius:6px;
  background:linear-gradient(160deg, rgba(4,30,66,.96) 0%, rgba(7,45,92,.94) 100%);
  box-shadow:0 10px 24px rgba(4,30,66,.16);
}

/* Make FILIX / DISGUISE / NICOLAUDIE dark background apply to the logo only (no full card scan/tint). */
a.brand-card.simple > img.brand-logo.logo-dark-bg,
a.brand-card > img.brand-logo.logo-dark-bg{
  position:relative;
  z-index:2;
}

.brand-card:hover{
  border-color:var(--electric);
  background:rgba(10,108,255,.06);
  box-shadow:var(--glow);
}

.brand-card:hover .name{
  color:#22324b;
  filter:none;
  text-shadow:0 0 14px rgba(10,108,255,.6);
}
.brand-card:hover .brand-logo{
  transform:scale(1.04);
}

.brand-card.simple{
  position:relative;
  background:rgba(10,108,255,.04);
  border:1px solid rgba(10,108,255,.16);
  border-radius:16px;
  padding:26px 16px 22px;
  min-height:138px;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  transition:border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.brand-card.simple::after{
  content:'';
  display:block;
  width:56px;
  height:1px;
  margin:14px auto 0;
  background:linear-gradient(90deg, transparent, rgba(10,108,255,.55), transparent);
  transition:width .35s ease, opacity .35s ease;
}
.brand-card .name{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:1.15rem;
  color:#22324b;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:all .35s ease;
}
.brand-card.simple:hover .name{
  color:var(--electric);
  letter-spacing:.2em;
}
.brand-card.simple:hover::after{
  width:88px;
}
.brand-card.simple:hover{
  transform:translateY(-4px);
  border-color:rgba(10,108,255,.34);
  box-shadow:0 16px 30px rgba(10,108,255,.10);
}

@media(max-width:991px){
  .brand-grid-simple{
    max-width:760px;
  }
}

@media(max-width:575px){
  .brand-card.simple{
    padding:22px 10px 18px;
    min-height:124px;
    overflow:visible;
  }
  .brand-logo{
    max-width:118px;
    max-height:46px;
  }
  .brand-logo.logo-dark-bg{
    width:100%;
    max-width:min(128px, 100%);
    max-height:none;
    height:auto;
    padding:8px 10px;
    margin-bottom:12px;
  }
  .brand-card .name{
    font-size:.92rem;
    letter-spacing:.12em;
  }
}

/* ===== News / Blog ===== */
.news-card{
  background:#fff;border:1px solid rgba(0,0,0,.06);

  border-radius:6px;overflow:hidden;height:100%;
  transition:all .4s ease;
}
.news-card:hover{transform:translateY(-6px);border-color:rgba(10,108,255,.4);box-shadow:0 30px 50px rgba(0,0,0,.5)}
.news-card .img{
  height:240px;background-size:cover;background-position:center;
  position:relative;overflow:hidden;
}
.news-card .img::after{
  content:'';position:absolute;inset:0;
  /* background:linear-gradient(180deg,transparent 60%,rgba(255,255,255,.85)); */
}

.news-card .body{padding:28px}
.news-card .date{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--electric);margin-bottom:10px;font-family:'Montserrat',sans-serif}
.news-card h4{font-size:1.2rem;margin-bottom:12px;line-height:1.35}
.news-card p{color:#333842;font-size:.92rem;margin-bottom:18px}

.news-card a.read{
  color:var(--electric);font-family:'Montserrat',sans-serif;
  font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  text-decoration:none;border-bottom:1px solid transparent;transition:all .3s ease;
}
.news-card a.read:hover{border-color:var(--electric);text-shadow:var(--glow)}

@media(max-width:575.98px){
  .news-detail-image-panel{
    min-height:auto !important;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
  }
  .news-detail-image-panel::before,
  .news-detail-image-panel::after{
    display:none;
  }
  .news-detail-image-panel img{
    display:block;
    height:auto !important;
    object-fit:contain !important;
    border-radius:0;
    background:transparent !important;
  }
}

/* ===== Contact ===== */
.contact-form{
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.08);
  padding:50px 50px 0 50px;
  border-radius:8px;
}
.contact-form .form-control,
.contact-form .form-select{
  background:rgba(255,255,255,.85);

  border:1px solid rgba(0,0,0,.12);
  color:#0D0D0D;border-radius:2px;

  padding:14px 18px;font-size:.95rem;
  transition:all .3s ease;
}
.contact-form .form-control:focus,
.contact-form .form-select:focus{
  background:rgba(255,255,255,.98);border-color:var(--electric);

  box-shadow:0 0 0 3px rgba(10,108,255,.18),0 0 20px rgba(10,108,255,.25);
  color:#0D0D0D;

}
.contact-form label{
  font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--silver);margin-bottom:8px;font-weight:600;
}
.contact-info-card{
  padding:30px;border:1px solid rgba(0,0,0,.07);
  background:rgba(255,255,255,.75);border-radius:6px;height:100%;

  transition:all .3s ease;
}
.contact-info-card:hover{border-color:var(--electric);box-shadow:var(--glow)}
.contact-info-card .icon{
  width:54px;height:54px;border-radius:50%;background:rgba(10,108,255,.12);
  display:flex;align-items:center;justify-content:center;color:var(--electric);
  font-size:1.2rem;margin-bottom:18px;border:1px solid rgba(10,108,255,.3);
}
.contact-info-card h5{font-size:1.05rem;margin-bottom:8px}
.contact-info-card p{color:var(--silver);font-size:.92rem;margin:0}

/* ===== CTA Banner ===== */
.cta-banner{
  position:relative;padding:120px 0;text-align:center;overflow:hidden;
  background:var(--grad-dark);
}
.cta-banner::before{
  content:'';position:absolute;inset:0;
  background-image:url('../images/projects/Image 1.JPG');
  background-size:cover;background-position:center;opacity:.2;mix-blend-mode:overlay;
}
.cta-banner h2{font-size:clamp(2rem,4vw,3.4rem);position:relative;z-index:1}
.cta-banner p{color:rgba(255,255,255,.85);position:relative;z-index:1;max-width:680px;margin:0 auto 30px}
.cta-banner .btn-glow{background:#fff;color:var(--navy)}
.cta-banner .btn-glow:hover{background:#fff;color:var(--electric)}

/* ===== Testimonials ===== */
.testimonial{
  background:linear-gradient(160deg,rgba(255,255,255,.98),rgba(245,248,255,1));

  border:1px solid rgba(255,255,255,.06);
  border-left:3px solid var(--electric);
  padding:36px;border-radius:4px;height:100%;
  display:flex;
  flex-direction:column;
}
.testimonial p{font-size:1.02rem;color:#333842;font-style:italic;margin-bottom:24px;line-height:1.7}

.testimonial .who{font-family:'Montserrat',sans-serif;font-weight:700;color:#0D0D0D;font-size:.95rem;margin-top:auto}

.testimonial .role{font-size:.78rem;color:var(--electric);letter-spacing:.18em;text-transform:uppercase}

/* ===== Footer ===== */
.footer{
  background:#fff;padding:80px 0 30px;border-top:1px solid rgba(10,108,255,.15);

  position:relative;
}
.footer::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--grad);
}
.footer h6{
  font-size:.78rem;letter-spacing:.25em;text-transform:uppercase;
  color:#0D0D0D;margin-bottom:22px;font-weight:700;
}

.footer p,.footer a{color:var(--silver);font-size:.92rem;text-decoration:none;transition:color .3s ease}
.footer a:hover{color:var(--electric);text-shadow:0 0 10px rgba(10,108,255,.5)}
.footer ul{list-style:none;padding:0;margin:0}
.footer ul li{margin-bottom:10px}
.footer .brand{
  font-family:'Montserrat',sans-serif;font-weight:800;
  letter-spacing:.16em;font-size:1.1rem;color:#0D0D0D;margin-bottom:16px;display:block;
}

.footer .brand span{color:var(--electric)}
.footer-logo{
  display:inline-block;
  margin-bottom:16px;
}
.footer-logo img{
  height:76px;
  width:auto;
  display:block;
}
.social-icons{display:flex;gap:12px;margin-top:18px}
.social-icons a{
  width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(0,0,0,.18);
  display:flex;align-items:center;justify-content:center;color:#0D0D0D;

  transition:all .3s ease;
}
.social-icons a:hover{
  background:var(--electric);border-color:var(--electric);

  transform:translateY(-3px);box-shadow:var(--glow);color:#fff;
}

.footer-bottom{
  border-top:1px solid rgba(0,0,0,.06);margin-top:60px;padding-top:24px;

  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-size:.85rem;color:rgba(13,13,13,.5);
}


/* ===== Page Header (inner pages) ===== */
.page-header{
  position:relative;padding:200px 0 100px;text-align:center;
  background:#fff;overflow:hidden;
}

.page-header .bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:.4;
}
.page-header::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at center,rgba(10,108,255,.18),transparent 60%),
             linear-gradient(180deg,rgba(255,255,255,.92),rgba(240,246,255,.78));
}

.page-header .container{position:relative;z-index:2}
.page-header h1{font-size:clamp(2.5rem,5vw,3.5rem);margin-bottom:14px}
.page-header .breadcrumb-bar{
  color:#333842;font-family:'Montserrat',sans-serif;
  letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;
}

.page-header .breadcrumb-bar a{color:var(--electric);text-decoration:none}

/* ===== Timeline ===== */
.timeline{position:relative;padding:30px 0}
 .timeline::before{
  content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;
  background:linear-gradient(180deg,transparent,var(--electric),transparent);
}

.timeline-item{position:relative;width:50%;padding:24px 40px;}
.timeline-item:nth-child(odd){left:0;text-align:right}
.timeline-item:nth-child(even){left:50%}
.timeline-item .dot{
  position:absolute;top:34px;width:14px;height:14px;border-radius:50%;
  background:var(--electric);box-shadow:0 0 14px var(--electric);
}
.timeline-item:nth-child(odd) .dot{right:-7px}
.timeline-item:nth-child(even) .dot{left:-7px}
.timeline-item .year{
  font-family:'Montserrat',sans-serif;font-weight:800;color:var(--electric);
  font-size:1.4rem;margin-bottom:6px;
}
.timeline-item h5{font-size:1.1rem;margin-bottom:6px}
.timeline-item p{color:var(--silver);font-size:.92rem;margin:0}
@media(max-width:768px){
  .timeline::before{left:18px}
  .timeline-item{width:100%;left:0!important;padding:18px 18px 18px 50px;text-align:left!important}
  .timeline-item .dot{left:12px!important;right:auto!important}
}

/* ===== Reveal animation ===== */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}

/* ===== Utility ===== */
.divider-line{height:1px;background:linear-gradient(90deg,transparent,rgba(10,108,255,.5),transparent);margin:60px 0}
.glow-line{
  position:absolute;width:1px;background:linear-gradient(180deg,transparent,var(--electric),transparent);
  opacity:.5;animation:lineflicker 3s ease-in-out infinite;
}
@keyframes lineflicker{0%,100%{opacity:.2}50%{opacity:.7}}

.map-placeholder{
  height:400px;border-radius:6px;overflow:hidden;
  background:linear-gradient(135deg,#0a0f1f,#041E42);
  border:1px solid rgba(10,108,255,.2);
  position:relative;display:flex;align-items:center;justify-content:center;
}
.map-placeholder::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(10,108,255,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,108,255,.12) 1px,transparent 1px);
  background-size:40px 40px;
}
.map-placeholder .pin{
  position:relative;z-index:2;color:var(--electric);font-size:3rem;
  text-shadow:0 0 30px var(--electric);animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}

/* ===== Floating WhatsApp ===== */
.whatsapp-float{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1050;
  width:58px;
  height:58px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#25d366;
  color:#fff;
  font-size:2rem;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.24);
  transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease;
}
.whatsapp-float:hover,
.whatsapp-float:focus-visible{
  background:#1ebe5d;
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(0,0,0,.3);
}
.whatsapp-float:focus-visible{
  outline:3px solid rgba(37,211,102,.35);
  outline-offset:4px;
}
@media(max-width:576px){
  .whatsapp-float{
    right:16px;
    bottom:16px;
    width:54px;
    height:54px;
    font-size:1.85rem;
  }
  /* .contact-form{
    padding:10px;
  } */
}
