
/* ── NAV ── */
.navbar{background:rgba(13,27,62,.97);backdrop-filter:blur(10px);padding:10px 0;position:sticky;top:0;z-index:1000;border-bottom:2px solid var(--red);}
.navbar-brand span{font-size:1.5rem;font-weight:900;color:#fff;letter-spacing:1px;}
.navbar-brand span em{color:var(--red);font-style:normal;}
.navbar-brand {
    position: relative;
    width: 160px;
}
.navbar-brand img.logo {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.nav-link{color:#dde4f0!important;font-weight:500;transition:color .2s;font-size:1.6rem;font-family: var(--fontTitle);}
.nav-link:hover{color:var(--red)!important;}
.btn-nav-cta{
  background:linear-gradient(135deg,var(--red),#ff2d47);
  color:#fff!important;border-radius:8px;padding:5px 24px;
  font-weight:800;font-size:1.6rem;letter-spacing:.5px;
  box-shadow:0 4px 18px rgba(192,21,42,.55);
  border:none;transition:all .25s;text-transform:uppercase;
  animation:glow 2.5s ease-in-out infinite;
}
.btn-nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(192,21,42,.75);color:#fff!important;}
@keyframes glow{0%,100%{box-shadow:0 4px 18px rgba(192,21,42,.55);}50%{box-shadow:0 4px 28px rgba(192,21,42,.9);}}
@media(max-width:767px){
    a.navbar-brand {width: 90px;}
    .navbar-brand img.logo {top: 0px;width: 80px;}
    a.btn-nav-cta {font-size: 1rem;margin-left: 100px;}
}
/* ── HERO ── */
#hero{
  background: transparent;
  min-height:100vh;display:flex;align-items:center;padding:120px 0 100px;position:relative;overflow:hidden;
}
#hero::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 18% 14%, rgba(185,216,255,.2), transparent 30%),
    radial-gradient(circle at 82% 8%, rgba(210,229,255,.14), transparent 28%),
    linear-gradient(to bottom, rgba(9,18,41,.35), rgba(9,18,41,.58));
}
#hero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:80px;
  background:var(--gray);clip-path:ellipse(55% 100% at 50% 100%);}
#hero .hero-lightning-layer{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:1;
  opacity:.95;
}
#hero .container{position:relative;z-index:2;}
#hero h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:900;color:#fff;line-height:1.12;}
#hero p.lead{color:rgba(255,255,255,.8);font-size:1.1rem;}
.badge-pill{background:var(--red);color:#fff;border-radius:30px;padding:6px 18px;font-size:.78rem;font-weight:700;letter-spacing:1.5px;display:inline-block;margin-bottom:16px;text-transform:uppercase;}
@media(max-width:767px){#hero{padding:50px 0 100px;}}
/* hero form */
.hero-form{background:#fff;border-radius:18px;padding:34px;box-shadow:0 24px 70px rgba(0,0,0,.4);}
.hero-form h4{color: #fff;font-weight:800;font-size:1.3rem; margin-bottom: 0;}
.hero-form .form-control,.hero-form .form-select{border-radius:8px;border:1.5px solid #c9d3e8;font-size:.93rem;padding:10px 14px;}
.hero-form .form-control:focus,.hero-form .form-select:focus{border-color:var(--lblue);box-shadow:0 0 0 3px rgba(37,99,200,.12);}
.btn-hero-submit{
  background:linear-gradient(135deg,var(--red),#ff2d47);
  color:#fff;border:none;border-radius:10px;font-weight:800;width:100%;
  padding:14px;font-size:1.05rem;letter-spacing:.5px;
  box-shadow:0 6px 24px rgba(192,21,42,.45);transition:all .25s;text-transform:uppercase;
}
.btn-hero-submit:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(192,21,42,.65);}

/* ── SECTION HELPERS ── */
.sec-label{color:var(--red);font-weight:700;font-size:.78rem;letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:8px;}
.sec-accent{width:52px;height:4px;background:var(--red);border-radius:4px;margin:12px 0 20px;}
.sec-accent-center{margin:12px auto 20px;}
section h2.sec-h2{font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:800;color:var(--blue);}

/* ── ABOUT ── */
#about{padding:100px 0 80px;background:var(--gray);position:relative;}
#about::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:70px;
  background:#fff;clip-path:polygon(0 100%,100% 100%,100% 0);}
.about-img-wrap{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(13,27,62,.2);}
.about-img-wrap img{width:100%;height:420px;object-fit:cover;display:block;}
.about-badge{position:absolute;bottom:24px;left:24px;background:var(--red);color:#fff;border-radius:14px;padding:16px 22px;text-align:center;}
.about-badge .num{font-size:2rem;font-weight:900;line-height:1;}
.about-badge p{font-size:.78rem;font-weight:600;margin:0;opacity:.9;}
@media(max-width:767px){#about{padding:0px 0 80px;}}

/* ── SERVICES ── */
#services{padding:90px 0 80px;background:#fff;position:relative;}
#services::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:70px;
  background:var(--dark);clip-path:polygon(0 100%,100% 100%,100% 0,0 60%);}
.srv-card{border-radius:16px;overflow:hidden;box-shadow:0 6px 30px rgba(26,58,124,.1);transition:transform .3s,box-shadow .3s;background:#fff;height:100%;}
.srv-card:hover{transform:translateY(-8px);box-shadow:0 18px 50px rgba(26,58,124,.18);}
.srv-img{position:relative;overflow:hidden;height:200px;}
.srv-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.srv-card:hover .srv-img img{transform:scale(1.08);}
.srv-img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,27,62,.7),transparent);}
.srv-tag{position:absolute;bottom:12px;left:16px;color:#fff;font-weight:700;font-size:1rem;}
.srv-body{padding:20px 22px;}
.srv-body p{color:#555;font-size:.92rem;margin:0 0 12px;}
.srv-link{color:var(--red);font-weight:700;font-size:.88rem;text-decoration:none;}
.srv-link:hover{color:#a01020;}

/* ── STORM BAND ── */
#storm{background:var(--dark);padding:80px 0;position:relative;}
#storm::before{content:'';position:absolute;top:-1px;left:0;right:0;height:70px;
  background:var(--dark);clip-path:polygon(0 0,100% 0,100% 40%,0 100%);}
#storm::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:70px;
  background:var(--gray);clip-path:polygon(0 100%,100% 100%,100% 0);}
#storm h2{color:#fff;font-weight:900;font-size:clamp(1.8rem,4vw,2.6rem);}
#storm p{color:rgba(255,255,255,.75);}
.check-list li{color:#fff;margin-bottom:10px;font-size:.98rem;list-style:none;}
.check-list i{color:#ffd700;margin-right:10px;}

/* ── PROCESS ── */
#process{padding:100px 0 90px;background:var(--gray);position:relative;}
#process::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:70px;
  background:#fff;clip-path:ellipse(55% 100% at 50% 100%);}
.process-step{text-align:center;padding:20px;position:relative;}
.step-num{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,var(--red),#ff2d47);color:#fff;font-size:1.5rem;font-weight:900;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 8px 24px rgba(192,21,42,.4);}
.process-step h5{color:var(--blue);font-weight:700;}
.process-step p{color:#666;font-size:.92rem;}
.step-arrow{position:absolute;top:35px;right:-24px;color:var(--red);font-size:1.4rem;z-index:2;}
@media(max-width:767px){.step-arrow{display:none;}}

/* ── WHY ── */
#why{padding:90px 0 80px;background:#fff;}
.why-item{display:flex;gap:18px;align-items:flex-start;margin-bottom:28px;}
.why-icon{min-width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--lblue));color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(26,58,124,.25);}
.why-item h6{color:var(--blue);font-weight:700;margin-bottom:4px;}
.why-item p{color:#555;font-size:.91rem;margin:0;}

/* ── REVIEWS ── */
#reviews{padding:90px 0;background:var(--gray);position:relative;}
#reviews::before{content:'';position:absolute;top:-1px;left:0;right:0;height:70px;
  background:var(--gray);clip-path:ellipse(55% 100% at 50% 0%);}
.review-card{background:#fff;border-radius:18px;padding:32px 28px;box-shadow:0 6px 28px rgba(26,58,124,.08);height:100%;border-top:4px solid var(--red);}
.stars{color:#f5a623;font-size:1rem;letter-spacing:2px;}
.review-card blockquote{color:#444;font-style:italic;font-size:.95rem;margin:14px 0;}
.reviewer{display:flex;align-items:center;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid #eee;}
.avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--lblue));color:#fff;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;}
.reviewer strong{color:var(--blue);font-size:.92rem;display:block;}
.reviewer small{color:#888;}

/* ── GALLERY ── */
#gallery{padding:90px 0;background:#fff;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto;gap:12px;}
.g-item{border-radius:12px;overflow:hidden;position:relative;cursor:pointer;}
.g-item:nth-child(1){grid-column:span 2;grid-row:span 2;}
.g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
.g-item:hover img{transform:scale(1.06);}
.g-overlay{position:absolute;inset:0;background:rgba(13,27,62,.5);opacity:0;transition:opacity .3s;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;}
.g-item:hover .g-overlay{opacity:1;}
.g-item:nth-child(1){height:440px;}
.g-item:not(:nth-child(1)){height:214px;}

/* Gallery Modal */
#galleryModal .modal-dialog{max-width:900px;}
#galleryModal .modal-content{background:#0d1b3e;border:none;border-radius:18px;}
#galleryModal .modal-body{padding:0;position:relative;}
#galleryModal img{width:100%;max-height:70vh;object-fit:contain;border-radius:14px 14px 0 0;}
#galleryModal .modal-footer{background:rgba(0,0,0,.3);border:none;justify-content:space-between;padding:14px 20px;}
.modal-caption{color:#fff;font-weight:600;font-size:.95rem;}
.btn-modal-nav{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.3);color:#fff;border-radius:8px;padding:7px 20px;transition:background .2s;}
.btn-modal-nav:hover{background:var(--red);border-color:var(--red);color:#fff;}
.btn-modal-close{position:absolute;top:12px;right:14px;background:var(--red);border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:1rem;z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;}
@media(max-width:767px){.modal-caption{display:none;}}
/* ── CONTACT / MAP ── */
#contact{padding:90px 0;background:var(--dark);}
#contact .sec-h2{color:#fff;}
#contact .sec-label{color:#f0a0a8;}
.contact-box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px;}
.cinfo-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px;}
.cinfo-icon{min-width:44px;height:44px;border-radius:10px;background:var(--red);color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;}
.cinfo-item strong{color:#fff;display:block;font-size:.88rem;margin-bottom:2px;}
.cinfo-item p{color:rgba(255,255,255,.65);font-size:.92rem;margin:0;}
.cinfo-item a{color:rgba(255,255,255,.65);text-decoration:none;}
.map-wrap{border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.3);}

/* ── FOOTER ── */
footer{background:#060e20;padding:48px 0 0;}
.footer-inner{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.07);}
.footer-brand p{color:#7a8db0;font-size:.87rem;max-width:260px;line-height:1.7;margin-top:10px;}
.footer-brand .brand-name{font-size:1.4rem;font-weight:900;color:#fff;}
.footer-brand .brand-name em{color:var(--red);font-style:normal;}
.footer-col h6{color:#fff;font-weight:700;font-size:.85rem;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px;}
.footer-col a{color:#7a8db0;text-decoration:none;display:block;margin-bottom:9px;font-size:.88rem;transition:color .2s;}
.footer-col a:hover{color:var(--red);}
.social-row{display:flex;gap:8px;margin-top:14px;}
.social-btn{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.07);color:#aab;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .2s;text-decoration:none;}
.social-btn:hover{background:var(--red);color:#fff;}
.footer-bottom{text-align:center;padding:16px;color:#3a4a6a;font-size:.8rem;}

/* ── FLOAT PHONE ── */
.float-phone{position:fixed;bottom:26px;right:26px;z-index:9999;background:var(--red);color:#fff;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:0 6px 24px rgba(192,21,42,.55);text-decoration:none;}
.float-phone::before{content:'';position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid var(--red);animation:ring 2s infinite;}
@keyframes ring{0%{transform:scale(1);opacity:.8;}100%{transform:scale(1.7);opacity:0;}}

/* responsive gallery */
@media(max-width:767px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .g-item:nth-child(1){grid-column:span 2;height:260px;}
  .g-item:not(:nth-child(1)){height:160px;}
}