
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;color:#101827;background:#fff}
img{max-width:100%;display:block}
.site-header{height:120px;background:rgba(255,255,255,.96);display:grid;grid-template-columns:260px 1fr 380px;align-items:center;border-bottom:1px solid #ddd;position:sticky;top:0;z-index:9999}
.logo-wrap{padding-left:34px}
.site-logo{width:160px;height:auto}
.main-nav{display:flex;align-items:center;justify-content:center;gap:34px}
.main-nav a,.nav-dd button{font-size:15px;letter-spacing:4px;text-transform:uppercase;text-decoration:none;color:#111;background:none;border:0;cursor:pointer;font-weight:600}
.main-nav a.active,.nav-dd button.active,.main-nav a:hover,.nav-dd button:hover{color:#1f5594;font-weight:900}
.nav-dd{position:relative}
.dd-menu{display:none;position:absolute;top:100%;left:0;width:285px;background:#fff;border-radius:4px;box-shadow:0 8px 25px rgba(0,0,0,.25);padding:12px 0;z-index:99999}
.nav-dd:hover .dd-menu{display:block}
.dd-menu a{display:block;padding:13px 18px;letter-spacing:0;font-size:15px;color:#111!important}
.dd-menu a:hover{background:#f2f2f2;color:#1f5594!important}
.nav-phone{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding-right:32px;color:#1f5594}
.nav-phone a{color:#1f5594;text-decoration:none;font-size:36px;font-weight:900}
.nav-icon{font-size:20px}
.mobile-toggle{display:none;background:none;border:0;font-size:34px;color:#1f5594}
.home-top .top-large{height:500px;overflow:hidden}.top-large img{width:100%;height:100%;object-fit:cover}.top-row{display:grid;grid-template-columns:repeat(3,1fr)}.top-row img{height:290px;width:100%;object-fit:cover}
.content-section{max-width:1200px;margin:0 auto;padding:80px 24px}.center{text-align:center}.page-start{padding-top:70px}
h1{font-size:34px;text-align:center;text-transform:uppercase;letter-spacing:2px;text-shadow:3px 4px 0 rgba(0,0,0,.18);margin-bottom:34px}
h2{font-size:23px;text-transform:uppercase;letter-spacing:1.5px;margin:24px 0 18px;color:#071326}h3{font-size:19px;margin:20px 0 8px}
p,li{font-size:19px;line-height:1.7;color:#4d5563}ul{padding-left:26px}
.btn,.outline-btn,button[type="submit"]{display:inline-block;background:#2b5d99;color:white!important;text-decoration:none;border:0;border-radius:999px;padding:16px 42px;text-transform:uppercase;font-weight:900;letter-spacing:2px;cursor:pointer}
.outline-btn{background:#fff!important;color:#2b5d99!important;border:1px solid #2b5d99;margin-top:20px}
.list-columns,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;text-align:left;margin-top:45px}.list-columns h2{text-align:center}
.custom-services{padding:90px 24px;background:linear-gradient(rgba(0,27,55,.72),rgba(0,15,30,.82)),url('images/demo1.png') center/cover;color:white;text-align:center}.custom-services h1{color:white}
.testimonial-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;max-width:980px;margin:auto}.testimonial-cards article{background:white;color:#111;padding:38px 30px;min-height:360px}.testimonial-cards img{width:90px;height:90px;border-radius:50%;object-fit:cover;margin:0 auto 18px}.stars{color:#ffbd00;font-size:24px}
.tailored-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.tailored-grid img{height:330px;width:100%;object-fit:cover}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;text-align:center}.team-grid img{width:360px;height:360px;border-radius:50%;object-fit:cover;margin:0 auto 28px}
.guard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:70px 48px;text-align:center}.guard-grid img{height:190px;width:100%;object-fit:cover;margin:25px 0}.guard-grid h2{font-size:22px}.guard-grid p{text-align:center}
.image-scroll{display:flex;gap:26px;overflow-x:auto;margin-top:35px}.image-scroll img{min-width:360px;height:360px;object-fit:contain;background:#f7f7f7}
.training-top{max-width:1160px;margin:0 auto;padding:70px 20px 15px}.training-top img{width:100%}
.clean-form{display:grid;gap:18px}.clean-form input,.clean-form textarea{width:100%;border:0;background:#f2f2f2;padding:18px;font-size:16px}.clean-form textarea{min-height:175px}.upload{display:flex;justify-content:space-between;color:#2b5d99}
.contact-strip{display:grid;grid-template-columns:repeat(3,1fr);padding-top:0}.contact-strip img{height:285px;width:100%;object-fit:cover}.contact h2{font-weight:400;letter-spacing:5px}.hours{display:inline-block;text-align:left;margin:15px auto 30px}
.security-info{min-height:700px;background:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.40)),url('images/demo6.png') center/cover;padding:80px 24px;color:white;text-align:center}.security-info h1{color:white;text-shadow:none;font-size:48px}.post-tabs{display:flex;justify-content:center;gap:35px;font-size:20px;font-weight:800;margin-bottom:35px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:860px;margin:auto}.post-grid article{background:white;color:#111}.post-grid img{height:145px;width:100%;object-fit:cover}.post-grid p{font-size:16px;margin-top:20px}.post-grid h2{font-weight:400;letter-spacing:4px;padding:0 18px;min-height:95px}.post-grid a{display:block;color:#2b5d99;font-size:20px;text-decoration:none;margin:20px}
.footer{text-align:center;padding:28px;background:#f5f5f5;color:#666}
@media(max-width:1050px){.site-header{height:auto;grid-template-columns:1fr auto;padding:12px 18px}.logo-wrap{padding-left:0}.site-logo{width:120px}.mobile-toggle{display:block}.nav-phone{display:none}.main-nav{display:none;grid-column:1/-1;flex-direction:column;align-items:stretch;gap:0;background:white;margin-top:14px;padding:12px;box-shadow:0 14px 40px rgba(0,0,0,.15)}.main-nav.active{display:flex}.main-nav a,.nav-dd button{width:100%;text-align:left;padding:14px}.dd-menu{position:static;width:100%;box-shadow:none;background:#f5f5f5}.nav-dd:hover .dd-menu{display:none}.nav-dd.open .dd-menu{display:block}.list-columns,.two-col,.tailored-grid,.team-grid{grid-template-columns:1fr}.guard-grid,.testimonial-cards,.post-grid{grid-template-columns:1fr}.top-row,.contact-strip{grid-template-columns:1fr}.top-row img,.contact-strip img{height:220px}}


/* === Final polish update === */
.site-header{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  box-shadow:0 2px 18px rgba(0,0,0,.04);
}
.nav-dd{padding:38px 0;} /* keeps dropdown hover area alive */
.dd-menu{margin-top:0;}
.dd-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-18px;
  height:18px;
}
.main-nav a,.nav-dd button{transition:.2s ease;}
.home-top{
  background:#f6f8fb;
}
.home-top .top-large{
  height:520px;
  border-bottom:5px solid #1f5594;
}
.top-large img{
  filter:saturate(1.05) contrast(1.04);
}
.top-row img{
  transition:.35s ease;
}
.top-row img:hover{
  filter:brightness(.85);
  transform:scale(1.015);
}
.content-section{
  animation:fadeUp .6s ease both;
}
.custom-services{
  background:
    linear-gradient(120deg, rgba(9,29,58,.86), rgba(20,78,130,.60)),
    url('images/demo1.png') center/cover;
}
.testimonial-cards article{
  border-radius:10px;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  transition:.25s ease;
}
.testimonial-cards article:hover{
  transform:translateY(-8px);
}
.guard-grid article{
  background:#fff;
  border-radius:6px;
  padding:8px 8px 18px;
  transition:.25s ease;
}
.guard-grid article:hover{
  box-shadow:0 18px 45px rgba(0,0,0,.10);
  transform:translateY(-5px);
}
.clean-form{
  background:#fff;
  padding:28px;
  border-radius:10px;
  box-shadow:0 20px 55px rgba(0,0,0,.08);
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:1050px){
  .nav-dd{padding:0;}
}


/* ===== Security Website Upgrade ===== */
:root{
  --navy:#07111f;
  --navy2:#0b1f36;
  --blue:#1f6fff;
  --cyan:#25d7ff;
  --steel:#e8edf4;
  --text:#182334;
}

body{
  background:#f5f7fb;
}

.site-header{
  height:108px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(7,17,31,.10);
}

.site-logo{
  width:150px;
}

.main-nav a,.nav-dd button{
  color:#152238;
  font-size:14px;
  letter-spacing:3px;
  font-weight:800;
}

.nav-phone a:first-child{
  font-size:30px;
  color:#174b8f;
}

.quote-mini{
  background:linear-gradient(135deg,var(--blue),#174b8f);
  color:#fff!important;
  font-size:12px!important;
  padding:12px 16px;
  border-radius:999px;
  letter-spacing:1px!important;
  margin-left:8px;
  box-shadow:0 10px 25px rgba(31,111,255,.25);
}

.dd-menu{
  border-top:4px solid var(--blue);
}

.security-hero{
  position:relative;
  min-height:680px;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:var(--navy);
}

.security-hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(7,17,31,.95),rgba(7,17,31,.76),rgba(7,17,31,.92)),
    url("images/demo1.png") center/cover no-repeat;
  filter:saturate(1.05) contrast(1.05);
}

.hero-shade{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 78% 30%,rgba(37,215,255,.22),transparent 28%),
    linear-gradient(to bottom,transparent,rgba(7,17,31,.92));
}

.hero-inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1280px;
  margin:auto;
  padding:95px 34px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:42px;
  align-items:center;
}

.security-kicker{
  display:inline-flex;
  color:#c9f5ff;
  background:rgba(37,215,255,.10);
  border:1px solid rgba(37,215,255,.35);
  padding:11px 16px;
  border-radius:999px;
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:13px;
  font-weight:900;
  margin-bottom:24px;
}

.hero-copy h1{
  color:#fff;
  font-size:clamp(46px,6.8vw,86px);
  line-height:.96;
  text-transform:none;
  letter-spacing:-2px;
  text-shadow:none;
  text-align:left;
  margin-bottom:22px;
}

.hero-copy p{
  color:rgba(255,255,255,.78);
  max-width:760px;
  font-size:20px;
  line-height:1.7;
}

.hero-actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:34px;
}

.btn.primary-btn{
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  box-shadow:0 18px 45px rgba(31,111,255,.35);
}

.btn.ghost-btn{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.25);
}

.trust-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px;
}

.trust-row span{
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  padding:12px 14px;
  border-radius:12px;
  font-weight:800;
  font-size:14px;
}

.ops-panel{
  background:rgba(4,11,22,.72);
  border:1px solid rgba(255,255,255,.14);
  border-radius:26px;
  padding:25px;
  backdrop-filter:blur(18px);
  box-shadow:0 30px 100px rgba(0,0,0,.45);
}

.ops-top{
  color:#fff;
  font-weight:900;
  letter-spacing:1px;
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:17px;
}

.pulse{
  width:12px;
  height:12px;
  background:#1cff8a;
  border-radius:50%;
  box-shadow:0 0 20px #1cff8a;
  animation:pulseDot 1.4s infinite;
}

@keyframes pulseDot{
  0%{transform:scale(.9);opacity:.7}
  50%{transform:scale(1.25);opacity:1}
  100%{transform:scale(.9);opacity:.7}
}

.ops-row{
  display:flex;
  justify-content:space-between;
  color:rgba(255,255,255,.75);
  padding:17px;
  margin-top:11px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
}

.ops-row b{
  color:#1cff8a;
}

.security-image-band{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#07111f;
  gap:1px;
}

.security-image-band img{
  height:300px;
  width:100%;
  object-fit:cover;
  filter:brightness(.88) saturate(1.05);
}

.security-feature-strip{
  max-width:1220px;
  margin:-35px auto 40px;
  padding:0 24px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  position:relative;
  z-index:4;
}

.security-feature-strip article{
  background:#fff;
  padding:28px;
  border-radius:16px;
  border:1px solid rgba(7,17,31,.08);
  box-shadow:0 20px 60px rgba(7,17,31,.10);
  transition:.25s ease;
}

.security-feature-strip article:hover{
  transform:translateY(-8px);
  box-shadow:0 25px 75px rgba(7,17,31,.16);
}

.feature-icon{
  width:54px;
  height:54px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#eaf3ff,#d9f8ff);
  font-size:28px;
  margin-bottom:16px;
}

.security-feature-strip h3{
  color:#07111f;
  font-size:20px;
}

.security-feature-strip p{
  font-size:16px;
  color:#5a6677;
}

.content-section{
  background:#fff;
  margin-top:36px;
  border-radius:18px;
  box-shadow:0 12px 35px rgba(7,17,31,.05);
}

.custom-services{
  margin-top:60px;
}

.guard-grid article{
  border:1px solid rgba(7,17,31,.08);
  overflow:hidden;
}

.guard-grid img{
  border-radius:8px;
}

.security-info{
  background:
    linear-gradient(rgba(7,17,31,.72),rgba(7,17,31,.88)),
    url('images/demo6.png') center/cover;
}

@media(max-width:1050px){
  .hero-inner{
    grid-template-columns:1fr;
    padding:70px 22px;
  }
  .ops-panel{
    max-width:620px;
  }
  .security-feature-strip{
    grid-template-columns:repeat(2,1fr);
    margin-top:25px;
  }
  .security-image-band{
    grid-template-columns:1fr;
  }
}

@media(max-width:650px){
  .security-hero{
    min-height:auto;
  }
  .hero-copy h1{
    font-size:42px;
  }
  .security-feature-strip{
    grid-template-columns:1fr;
  }
}


/* ===== Extra Animation Upgrade ===== */
body{
  background:
    radial-gradient(circle at top left, rgba(31,111,255,.08), transparent 28%),
    radial-gradient(circle at top right, rgba(37,215,255,.08), transparent 30%),
    #f5f7fb;
}

.site-header{
  animation:navDrop .7s ease both;
}

@keyframes navDrop{
  from{opacity:0;transform:translateY(-18px)}
  to{opacity:1;transform:translateY(0)}
}

.security-hero::before{
  content:"";
  position:absolute;
  width:680px;
  height:680px;
  right:-220px;
  top:-150px;
  background:radial-gradient(circle, rgba(37,215,255,.24), transparent 62%);
  z-index:1;
  animation:slowFloat 8s ease-in-out infinite alternate;
}

.security-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(255,255,255,.035),
      rgba(255,255,255,.035) 1px,
      transparent 1px,
      transparent 9px
    );
  opacity:.28;
  pointer-events:none;
  z-index:1;
}

@keyframes slowFloat{
  from{transform:translate(0,0) scale(1)}
  to{transform:translate(-70px,60px) scale(1.12)}
}

.hero-copy{
  animation:heroSlide .95s ease both;
}

.ops-panel{
  animation:panelIn 1s .18s ease both, panelFloat 5s ease-in-out infinite alternate;
}

@keyframes heroSlide{
  from{opacity:0;transform:translateX(-38px)}
  to{opacity:1;transform:translateX(0)}
}

@keyframes panelIn{
  from{opacity:0;transform:translateX(45px) scale(.96)}
  to{opacity:1;transform:translateX(0) scale(1)}
}

@keyframes panelFloat{
  from{transform:translateY(0)}
  to{transform:translateY(-12px)}
}

.security-kicker{
  animation:kickerGlow 2.2s ease-in-out infinite alternate;
}

@keyframes kickerGlow{
  from{box-shadow:0 0 0 rgba(37,215,255,0)}
  to{box-shadow:0 0 28px rgba(37,215,255,.24)}
}

.btn{
  transition:.28s ease;
  position:relative;
  overflow:hidden;
}

.btn::after{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:70%;
  height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
  transform:skewX(-18deg);
  transition:.55s ease;
}

.btn:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 45px rgba(31,111,255,.25);
}

.btn:hover::after{
  left:140%;
}

.security-image-band img,
.top-row img,
.contact-strip img{
  transition:transform .7s ease, filter .45s ease;
}

.security-image-band img:hover,
.top-row img:hover,
.contact-strip img:hover{
  transform:scale(1.06);
  filter:brightness(.75) saturate(1.15);
}

.main-nav a,
.nav-dd button{
  position:relative;
}

.main-nav a::after,
.nav-dd button::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  height:2px;
  width:0;
  background:#1f6fff;
  transition:.28s ease;
}

.main-nav a:hover::after,
.nav-dd button:hover::after{
  width:100%;
}

.dd-menu{
  animation:dropdownPop .22s ease both;
}

@keyframes dropdownPop{
  from{opacity:0;transform:translateY(10px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.reveal{
  opacity:0;
  transform:translateY(38px);
  transition:opacity .85s ease, transform .85s ease;
}

.reveal.show{
  opacity:1;
  transform:translateY(0);
}

.reveal-card{
  opacity:0;
  transform:translateY(32px);
  transition:opacity .75s ease, transform .75s ease, box-shadow .25s ease;
}

.reveal-card.show{
  opacity:1;
  transform:translateY(0);
}

.reveal-card:nth-child(2){transition-delay:.08s}
.reveal-card:nth-child(3){transition-delay:.16s}
.reveal-card:nth-child(4){transition-delay:.24s}
.reveal-card:nth-child(5){transition-delay:.32s}
.reveal-card:nth-child(6){transition-delay:.40s}

.ops-row{
  position:relative;
  overflow:hidden;
}

.ops-row::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(37,215,255,.10), transparent);
  transform:translateX(-120%);
  animation:scanRow 3.2s infinite;
}

.ops-row:nth-child(3)::before{animation-delay:.4s}
.ops-row:nth-child(4)::before{animation-delay:.8s}
.ops-row:nth-child(5)::before{animation-delay:1.2s}

@keyframes scanRow{
  0%{transform:translateX(-120%)}
  45%{transform:translateX(120%)}
  100%{transform:translateX(120%)}
}

.security-feature-strip article,
.guard-grid article,
.testimonial-cards article,
.post-grid article{
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.security-feature-strip article:hover,
.guard-grid article:hover,
.testimonial-cards article:hover,
.post-grid article:hover{
  transform:translateY(-10px) scale(1.015);
  border-color:rgba(31,111,255,.35);
}

.feature-icon{
  animation:iconPulse 2.5s ease-in-out infinite alternate;
}

@keyframes iconPulse{
  from{transform:scale(1)}
  to{transform:scale(1.08)}
}

.image-scroll img{
  transition:transform .35s ease, box-shadow .35s ease;
}

.image-scroll img:hover{
  transform:translateY(-8px) scale(1.02);
  box-shadow:0 20px 45px rgba(7,17,31,.18);
}

.clean-form input,
.clean-form textarea{
  transition:.22s ease;
}

.clean-form input:focus,
.clean-form textarea:focus{
  outline:none;
  background:#fff;
  box-shadow:0 0 0 3px rgba(31,111,255,.18);
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation:none!important;
    transition:none!important;
  }
}


/* ===== Dark / Light Mode + Better Buttons + More Animations ===== */
:root{
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#101827;
  --muted:#4d5563;
  --border:rgba(7,17,31,.10);
  --nav:#ffffff;
  --shadow:rgba(7,17,31,.12);
  --blue:#1f6fff;
  --cyan:#25d7ff;
  --deep:#07111f;
}

/* removed dark mode */ body.dark-mode-disabled{
  --bg:#050914;
  --card:#0b1424;
  --text:#f7fbff;
  --muted:#b8c3d4;
  --border:rgba(255,255,255,.12);
  --nav:rgba(7,17,31,.94);
  --shadow:rgba(0,0,0,.45);
  background:
    radial-gradient(circle at 20% 5%, rgba(31,111,255,.18), transparent 30%),
    radial-gradient(circle at 90% 10%, rgba(37,215,255,.12), transparent 28%),
    #050914;
  color:var(--text);
}

body{
  background:
    radial-gradient(circle at 20% 5%, rgba(31,111,255,.08), transparent 30%),
    radial-gradient(circle at 90% 10%, rgba(37,215,255,.08), transparent 28%),
    var(--bg);
  color:var(--text);
  transition:background .35s ease,color .35s ease;
}

.site-header{
  background:var(--nav)!important;
  border-bottom:1px solid var(--border);
  transition:background .35s ease,border .35s ease;
}

/* removed dark mode */ body.dark-mode-disabled .main-nav a,
/* removed dark mode */ body.dark-mode-disabled .nav-dd button{
  color:#eef5ff;
}

/* removed dark mode */ body.dark-mode-disabled .dd-menu{
  background:#0f1b2d;
  border:1px solid rgba(255,255,255,.12);
}

/* removed dark mode */ body.dark-mode-disabled .dd-menu a{
  color:#eef5ff!important;
}

/* removed dark mode */ body.dark-mode-disabled .dd-menu a:hover{
  background:rgba(255,255,255,.08);
}

/* removed dark mode */ body.dark-mode-disabled .content-section,
/* removed dark mode */ body.dark-mode-disabled .security-feature-strip article,
/* removed dark mode */ body.dark-mode-disabled .guard-grid article,
/* removed dark mode */ body.dark-mode-disabled .clean-form,
/* removed dark mode */ body.dark-mode-disabled .testimonial-cards article,
/* removed dark mode */ body.dark-mode-disabled .post-grid article{
  background:var(--card)!important;
  color:var(--text);
  border-color:var(--border);
  box-shadow:0 20px 60px var(--shadow);
}

/* removed dark mode */ body.dark-mode-disabled h1,
/* removed dark mode */ body.dark-mode-disabled h2,
/* removed dark mode */ body.dark-mode-disabled h3{
  color:#f8fbff;
}

/* removed dark mode */ body.dark-mode-disabled p,
/* removed dark mode */ body.dark-mode-disabled li{
  color:var(--muted);
}

/* removed dark mode */ body.dark-mode-disabled .clean-form input,
/* removed dark mode */ body.dark-mode-disabled .clean-form textarea{
  background:#111d31;
  color:white;
  border:1px solid rgba(255,255,255,.10);
}

/* removed dark mode */ body.dark-mode-disabled .footer{
  background:#03060d;
  color:#9fb0c9;
}

.theme-toggle{
  width:48px;
  height:48px;
  border:1px solid var(--border);
  background:linear-gradient(135deg,rgba(31,111,255,.12),rgba(37,215,255,.10));
  border-radius:999px;
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:21px;
  box-shadow:0 12px 28px rgba(31,111,255,.12);
  transition:.28s ease;
  position:relative;
  overflow:hidden;
}

.theme-toggle:hover{
  transform:translateY(-3px) rotate(8deg);
  box-shadow:0 18px 40px rgba(31,111,255,.22);
}

.theme-toggle::after{
  content:"";
  position:absolute;
  inset:-35%;
  background:conic-gradient(transparent,rgba(37,215,255,.45),transparent 35%);
  animation:themeSpin 3s linear infinite;
  opacity:.55;
}

.theme-icon{
  position:relative;
  z-index:2;
}

@keyframes themeSpin{
  to{transform:rotate(360deg)}
}

/* Super button styles */
.btn,
.outline-btn,
button[type="submit"],
.quote-mini{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:999px;
  transform:translateZ(0);
  transition:transform .28s ease, box-shadow .28s ease, filter .28s ease;
}

.btn,
button[type="submit"]{
  background:linear-gradient(135deg,#174b8f,#1f6fff 52%,#25d7ff)!important;
  box-shadow:0 16px 38px rgba(31,111,255,.30);
}

.outline-btn{
  background:transparent!important;
  border:2px solid #1f6fff!important;
  color:#1f6fff!important;
}

/* removed dark mode */ body.dark-mode-disabled .outline-btn{
  color:#8edfff!important;
  border-color:#25d7ff!important;
}

.btn::before,
.outline-btn::before,
button[type="submit"]::before,
.quote-mini::before{
  content:"";
  position:absolute;
  inset:2px;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.22),transparent);
  z-index:-1;
}

.btn::after,
.outline-btn::after,
button[type="submit"]::after,
.quote-mini::after{
  content:"";
  position:absolute;
  top:-40%;
  bottom:-40%;
  width:38%;
  left:-60%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
  transform:skewX(-22deg);
  transition:.55s ease;
}

.btn:hover,
.outline-btn:hover,
button[type="submit"]:hover,
.quote-mini:hover{
  transform:translateY(-5px) scale(1.025);
  box-shadow:0 24px 55px rgba(31,111,255,.42);
  filter:saturate(1.15);
}

.btn:hover::after,
.outline-btn:hover::after,
button[type="submit"]:hover::after,
.quote-mini:hover::after{
  left:130%;
}

.btn:active,
.outline-btn:active,
button[type="submit"]:active{
  transform:translateY(-1px) scale(.98);
}

/* More motion / details */
.site-logo{
  transition:.35s ease;
  filter:drop-shadow(0 10px 18px rgba(31,111,255,.10));
}

.site-logo:hover{
  transform:scale(1.04) rotate(-1deg);
}

.security-hero-bg{
  animation:heroZoom 14s ease-in-out infinite alternate;
}

@keyframes heroZoom{
  from{transform:scale(1)}
  to{transform:scale(1.08)}
}

.security-hero::before{
  animation:slowFloat 7s ease-in-out infinite alternate, glowPulse 3s ease-in-out infinite alternate;
}

@keyframes glowPulse{
  from{opacity:.55;filter:blur(0)}
  to{opacity:1;filter:blur(8px)}
}

.hero-copy h1{
  background:linear-gradient(90deg,#fff,#dff8ff,#fff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  background-size:220% 100%;
  animation:titleShimmer 5s ease-in-out infinite;
}

@keyframes titleShimmer{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

.trust-row span{
  animation:badgeFloat 3.8s ease-in-out infinite alternate;
}

.trust-row span:nth-child(2){animation-delay:.25s}
.trust-row span:nth-child(3){animation-delay:.5s}

@keyframes badgeFloat{
  from{transform:translateY(0)}
  to{transform:translateY(-7px)}
}

.security-feature-strip article,
.guard-grid article,
.testimonial-cards article,
.post-grid article,
.team-grid article{
  position:relative;
  overflow:hidden;
}

.security-feature-strip article::before,
.guard-grid article::before,
.testimonial-cards article::before,
.post-grid article::before,
.team-grid article::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(31,111,255,.12),transparent 38%);
  opacity:0;
  transition:.3s ease;
  pointer-events:none;
}

.security-feature-strip article:hover::before,
.guard-grid article:hover::before,
.testimonial-cards article:hover::before,
.post-grid article:hover::before,
.team-grid article:hover::before{
  opacity:1;
}

.security-feature-strip article:hover,
.guard-grid article:hover,
.testimonial-cards article:hover,
.post-grid article:hover,
.team-grid article:hover{
  transform:translateY(-12px) scale(1.018) rotateX(1deg);
}

.image-scroll{
  scroll-behavior:smooth;
}

.image-scroll img{
  animation:softBob 4s ease-in-out infinite alternate;
}

.image-scroll img:nth-child(2){animation-delay:.35s}
.image-scroll img:nth-child(3){animation-delay:.7s}

@keyframes softBob{
  from{transform:translateY(0)}
  to{transform:translateY(-10px)}
}

.page-start,
.training-top{
  animation:pageEnter .75s ease both;
}

@keyframes pageEnter{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:1050px){
  .theme-toggle{
    grid-column:auto;
    width:44px;
    height:44px;
  }
}


/* ===== FIX BROKEN HEADER BUTTONS / RIGHT SIDE ACTIONS ===== */
.site-header{
  height:110px !important;
  display:grid !important;
  grid-template-columns:230px 1fr auto auto !important;
  align-items:center !important;
  column-gap:24px !important;
  padding:0 32px !important;
  overflow:visible !important;
}

.logo-wrap{
  padding-left:0 !important;
  display:flex !important;
  align-items:center !important;
  height:100% !important;
}

.site-logo{
  width:145px !important;
  max-height:92px !important;
  object-fit:contain !important;
}

.main-nav{
  grid-column:2 !important;
  justify-content:center !important;
  min-width:0 !important;
  gap:30px !important;
}

.theme-toggle{
  grid-column:3 !important;
  justify-self:end !important;
  position:relative !important;
  z-index:5 !important;
  flex:0 0 auto !important;
}

.nav-phone{
  grid-column:4 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
  padding-right:0 !important;
  white-space:nowrap !important;
  min-width:max-content !important;
}

.nav-phone a:first-child{
  font-size:32px !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
}

.quote-mini{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:125px !important;
  max-width:none !important;
  height:auto !important;
  padding:12px 18px !important;
  line-height:1.1 !important;
  text-align:center !important;
  white-space:nowrap !important;
  margin-left:6px !important;
}

.nav-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}

/* If screen is not wide enough, keep it clean instead of stacking under the logo */
@media(max-width:1250px){
  .site-header{
    grid-template-columns:190px 1fr auto !important;
  }

  .main-nav{
    gap:22px !important;
  }

  .nav-phone{
    display:none !important;
  }

  .theme-toggle{
    grid-column:3 !important;
  }
}

/* Mobile header */
@media(max-width:1050px){
  .site-header{
    height:auto !important;
    grid-template-columns:1fr auto auto !important;
    padding:12px 18px !important;
  }

  .logo-wrap{
    grid-column:1 !important;
  }

  .site-logo{
    width:118px !important;
  }

  .theme-toggle{
    grid-column:2 !important;
    width:44px !important;
    height:44px !important;
  }

  .mobile-toggle{
    grid-column:3 !important;
    display:block !important;
  }

  .main-nav{
    grid-column:1 / -1 !important;
    justify-content:flex-start !important;
  }

  .nav-phone{
    display:none !important;
  }
}


/* =========================================================
   FINAL FIXES: MOBILE NAV + DROPDOWNS + SUBMIT BUTTONS
   Added after all other CSS so it overrides broken rules.
========================================================= */

/* Desktop dropdown hover stability */
.nav-dd{
  position:relative !important;
}

@media(min-width:1051px){
  .nav-dd{
    padding:30px 0 !important;
  }

  .dd-menu{
    top:100% !important;
    margin-top:0 !important;
  }

  .dd-menu::before{
    content:"" !important;
    position:absolute !important;
    top:-18px !important;
    left:0 !important;
    right:0 !important;
    height:18px !important;
  }
}

/* Clean fixed mobile header/nav */
@media(max-width:1050px){

  .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:99999 !important;
    width:100% !important;
    height:auto !important;
    min-height:82px !important;
    display:grid !important;
    grid-template-columns:1fr auto auto !important;
    align-items:center !important;
    gap:12px !important;
    padding:12px 16px !important;
    overflow:visible !important;
    background:var(--nav, #fff) !important;
  }

  .logo-wrap{
    grid-column:1 !important;
    padding-left:0 !important;
    display:flex !important;
    align-items:center !important;
  }

  .site-logo{
    width:112px !important;
    max-height:68px !important;
    object-fit:contain !important;
  }

  .theme-toggle{
    grid-column:2 !important;
    width:42px !important;
    height:42px !important;
    display:grid !important;
    place-items:center !important;
    position:relative !important;
    z-index:100002 !important;
  }

  .mobile-toggle{
    grid-column:3 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    background:#1f6fff !important;
    color:#fff !important;
    border:none !important;
    border-radius:12px !important;
    font-size:24px !important;
    line-height:1 !important;
    cursor:pointer !important;
    position:relative !important;
    z-index:100002 !important;
  }

  .main-nav{
    display:none !important;
    grid-column:1 / -1 !important;
    position:absolute !important;
    top:100% !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    max-height:calc(100vh - 100px) !important;
    overflow:auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    background:#fff !important;
    padding:12px !important;
    border-radius:0 0 18px 18px !important;
    box-shadow:0 22px 55px rgba(0,0,0,.22) !important;
    z-index:100001 !important;
  }

  /* removed dark mode */ body.dark-mode-disabled .main-nav{
    background:#0b1424 !important;
  }

  .main-nav.active{
    display:flex !important;
  }

  .main-nav a,
  .nav-dd button{
    display:block !important;
    width:100% !important;
    padding:15px 16px !important;
    margin:0 !important;
    text-align:left !important;
    color:#152238 !important;
    background:transparent !important;
    border:none !important;
    border-radius:12px !important;
    font-size:14px !important;
    letter-spacing:2px !important;
    line-height:1.2 !important;
  }

  /* removed dark mode */ body.dark-mode-disabled .main-nav a,
  /* removed dark mode */ body.dark-mode-disabled .nav-dd button{
    color:#eef5ff !important;
  }

  .main-nav a:hover,
  .nav-dd button:hover{
    background:rgba(31,111,255,.10) !important;
  }

  .main-nav a::after,
  .nav-dd button::after{
    display:none !important;
  }

  .nav-dd{
    width:100% !important;
    padding:0 !important;
  }

  .dd-menu{
    display:none !important;
    position:static !important;
    width:100% !important;
    padding:6px !important;
    margin:0 0 6px !important;
    background:#f1f5fb !important;
    border:none !important;
    border-radius:14px !important;
    box-shadow:none !important;
    animation:none !important;
  }

  /* removed dark mode */ body.dark-mode-disabled .dd-menu{
    background:#111d31 !important;
  }

  .nav-dd.open .dd-menu{
    display:block !important;
  }

  .nav-dd:hover .dd-menu{
    display:none !important;
  }

  .nav-dd.open:hover .dd-menu{
    display:block !important;
  }

  .dd-menu::before{
    display:none !important;
  }

  .dd-menu a{
    padding:13px 16px !important;
    font-size:14px !important;
    letter-spacing:1px !important;
    color:#152238 !important;
  }

  /* removed dark mode */ body.dark-mode-disabled .dd-menu a{
    color:#eef5ff !important;
  }

  .nav-phone{
    display:none !important;
  }
}

/* Submit buttons */
button[type="submit"],
.clean-form button,
form button{
  width:100% !important;
  border:none !important;
  padding:16px 22px !important;
  font-size:16px !important;
  font-weight:900 !important;
  border-radius:999px !important;
  cursor:pointer !important;
  background:linear-gradient(135deg,#1f6fff,#25d7ff) !important;
  color:#fff !important;
  box-shadow:0 12px 30px rgba(31,111,255,.34) !important;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
  text-transform:uppercase !important;
  letter-spacing:1.5px !important;
}

button[type="submit"]:hover,
.clean-form button:hover,
form button:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 18px 44px rgba(31,111,255,.45) !important;
  filter:saturate(1.12) !important;
}

button[type="submit"]:active,
.clean-form button:active,
form button:active{
  transform:translateY(0) scale(.98) !important;
}

/* Phone button inside contact page */
.contact-phone-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  padding:15px 26px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#1f6fff,#25d7ff) !important;
  color:white !important;
  text-decoration:none !important;
  font-weight:900 !important;
  box-shadow:0 14px 35px rgba(31,111,255,.35) !important;
  transition:.25s ease !important;
}

.contact-phone-btn:hover{
  transform:translateY(-4px) scale(1.03) !important;
  box-shadow:0 20px 50px rgba(31,111,255,.50) !important;
}

/* Resource buttons */
.resource-buttons{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  margin-top:22px !important;
}

.resource-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:14px 20px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#0b1f36,#1f6fff) !important;
  color:white !important;
  text-decoration:none !important;
  font-weight:900 !important;
  box-shadow:0 12px 30px rgba(0,0,0,.22) !important;
  transition:.25s ease !important;
}

.resource-btn:hover{
  transform:translateY(-4px) !important;
  background:linear-gradient(135deg,#1f6fff,#25d7ff) !important;
}


/* ===== FINAL CLICK FIX ===== */
@media(max-width:1050px){
  .mobile-toggle{
    pointer-events:auto !important;
    z-index:2147483647 !important;
  }

  .theme-toggle{
    pointer-events:auto !important;
    z-index:2147483646 !important;
  }

  .main-nav{
    pointer-events:auto !important;
    z-index:2147483645 !important;
  }

  .main-nav.active{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .site-header::before,
  .site-header::after,
  .main-nav::before,
  .main-nav::after{
    pointer-events:none !important;
  }
}


/* ===== FINAL SAFE FIXES - DO NOT REMOVE ===== */

/* keep desktop dropdowns clickable */
@media (min-width:1051px){
  .nav-dd{
    position:relative !important;
    padding:28px 0 !important;
  }

  .dd-menu{
    top:100% !important;
    margin-top:0 !important;
    z-index:999999 !important;
  }

  .dd-menu::before{
    content:"" !important;
    position:absolute !important;
    top:-18px !important;
    left:0 !important;
    right:0 !important;
    height:18px !important;
  }
}

/* mobile nav fix */
@media (max-width:1050px){
  .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:999999 !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:12px !important;
    height:auto !important;
    min-height:82px !important;
    padding:12px 16px !important;
    overflow:visible !important;
  }

  .logo-wrap{
    grid-column:1 !important;
    padding-left:0 !important;
  }

  .site-logo{
    width:115px !important;
    max-height:70px !important;
    object-fit:contain !important;
  }

  .mobile-toggle{
    grid-column:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    background:#1f6fff !important;
    color:#fff !important;
    border:none !important;
    border-radius:12px !important;
    font-size:24px !important;
    line-height:1 !important;
    cursor:pointer !important;
    position:relative !important;
    z-index:1000001 !important;
  }

  .main-nav{
    display:none !important;
    grid-column:1 / -1 !important;
    position:absolute !important;
    top:100% !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    max-height:calc(100vh - 100px) !important;
    overflow:auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    background:#fff !important;
    padding:12px !important;
    border-radius:0 0 18px 18px !important;
    box-shadow:0 22px 55px rgba(0,0,0,.22) !important;
    z-index:1000000 !important;
  }

  .main-nav.active{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .main-nav a,
  .nav-dd button{
    display:block !important;
    width:100% !important;
    padding:15px 16px !important;
    text-align:left !important;
    color:#152238 !important;
    background:transparent !important;
    border:none !important;
    border-radius:12px !important;
    font-size:14px !important;
    letter-spacing:2px !important;
    line-height:1.2 !important;
  }

  .main-nav a:hover,
  .nav-dd button:hover{
    background:rgba(31,111,255,.10) !important;
  }

  .nav-dd{
    width:100% !important;
    padding:0 !important;
  }

  .dd-menu{
    display:none !important;
    position:static !important;
    width:100% !important;
    padding:6px !important;
    margin:0 0 6px !important;
    background:#f1f5fb !important;
    border:none !important;
    border-radius:14px !important;
    box-shadow:none !important;
    animation:none !important;
  }

  .nav-dd:hover .dd-menu{
    display:none !important;
  }

  .nav-dd.open .dd-menu,
  .nav-dd.open:hover .dd-menu{
    display:block !important;
  }

  .dd-menu::before{
    display:none !important;
  }

  .dd-menu a{
    padding:13px 16px !important;
    font-size:14px !important;
    letter-spacing:1px !important;
    color:#152238 !important;
  }

  .nav-phone{
    display:none !important;
  }
}

/* tighten spacing without redesigning */
.content-section{
  padding-top:55px !important;
  padding-bottom:55px !important;
}

.page-start{
  padding-top:55px !important;
}

/* submit buttons */
button[type="submit"],
.clean-form button,
form button{
  width:100% !important;
  border:none !important;
  padding:16px 22px !important;
  font-size:16px !important;
  font-weight:900 !important;
  border-radius:999px !important;
  cursor:pointer !important;
  background:linear-gradient(135deg,#1f6fff,#25d7ff) !important;
  color:#fff !important;
  box-shadow:0 12px 30px rgba(31,111,255,.34) !important;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
  text-transform:uppercase !important;
  letter-spacing:1.5px !important;
}

button[type="submit"]:hover,
.clean-form button:hover,
form button:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 18px 44px rgba(31,111,255,.45) !important;
}

/* clickable phone/resource buttons */
.contact-phone-btn,
.resource-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  padding:14px 22px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#1f6fff,#25d7ff) !important;
  color:white !important;
  text-decoration:none !important;
  font-weight:900 !important;
  box-shadow:0 14px 35px rgba(31,111,255,.35) !important;
  transition:.25s ease !important;
}

.contact-phone-btn:hover,
.resource-btn:hover{
  transform:translateY(-4px) scale(1.03) !important;
}
