/* Proteon Security: front-page hero ONLY. Current header, footer and inner pages are intentionally untouched. */
body.proteon-wordpress .hero.proteon-fullscreen-video-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#071e3a;
  min-height:620px;
  min-height:max(620px, calc(100svh - 118px));
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-grid {
  position:relative;
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:100%!important;
  max-width:none!important;
  min-height:inherit!important;
  margin:0!important;
  padding:70px 30px 85px!important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media {
  position:absolute!important;
  inset:0!important;
  z-index:0;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  overflow:hidden!important;
  transform:none!important;
  background:#081d38;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media img,
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media .proteon-fullscreen-background {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center 48%!important;
  margin:0!important;
  border:0!important;
  pointer-events:none;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media img {
  z-index:0;
  filter:saturate(.65) brightness(.72);
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media .proteon-fullscreen-background {
  z-index:1;
  display:block;
  filter:blur(1.15px) saturate(.82) contrast(1.04);
  transform:scale(1.012);
}
/* Blue translucent tint applied over video, never over hero copy. */
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media::before {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(4,20,44,.77) 0%,rgba(8,40,84,.60) 50%,rgba(3,22,50,.74) 100%),
    linear-gradient(180deg,rgba(3,14,31,.36) 0%,rgba(3,18,43,.30) 45%,rgba(1,12,28,.66) 100%)!important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-copy {
  position:relative!important;
  z-index:3!important;
  box-sizing:border-box;
  width:min(100%,970px)!important;
  max-width:970px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:center!important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .eyebrow {
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:4px;
  max-width:100%;
  padding:10px 16px;
  border:1px solid rgba(204,228,255,.28);
  border-radius:40px;
  background:rgba(18,61,112,.33);
  -webkit-backdrop-filter:blur(9px);
  backdrop-filter:blur(9px);
  color:#e5f2ff!important;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.6;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .eyebrow .dot {
  flex:none;
  width:7px;
  height:7px;
  background:#8ee1bd!important;
  margin-right:5px;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero h1 {
  margin:27px auto 22px!important;
  max-width:930px!important;
  font-size:clamp(42px,5.3vw,76px)!important;
  font-weight:850;
  line-height:1.11!important;
  letter-spacing:-.056em!important;
  text-wrap:balance;
  color:#fff!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  -webkit-hyphens:none!important;
  hyphens:none!important;
  text-shadow:0 3px 24px rgba(0,14,34,.32);
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero h1 em {
  display:inline!important;
  color:#9dceff!important;
  font-style:normal;
  white-space:normal!important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-copy > p {
  max-width:690px!important;
  margin:0 auto!important;
  color:#e3effc!important;
  font-size:clamp(14px,1.3vw,17px)!important;
  font-weight:430;
  line-height:1.75!important;
  text-wrap:pretty;
  text-shadow:0 2px 12px rgba(0,0,0,.25);
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row {
  display:flex!important;
  flex-direction:row!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px;
  width:auto!important;
  margin:28px auto 0!important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row a.button {
  min-height:52px!important;
  width:auto!important;
  padding:14px 23px!important;
  border-radius:8px;
  font-size:13px!important;
  font-weight:820;
  line-height:1.35;
  white-space:normal;
  text-align:center;
  transform:none;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row .button.primary {
  background:#1666c8!important;
  border-color:#1666c8!important;
  color:#fff!important;
  box-shadow:0 10px 25px rgba(0,22,54,.28)!important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row .button.primary:hover,
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row .button.primary:focus-visible {
  background:#257bdf!important;
  border-color:#257bdf!important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row .button.outline {
  color:#fff!important;
  border:1px solid rgba(222,238,255,.73)!important;
  background:rgba(255,255,255,.07)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row .button.outline:hover,
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row .button.outline:focus-visible {
  background:rgba(255,255,255,.17)!important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-proof {
  display:flex!important;
  justify-content:center;
  align-items:center;
  gap:13px 22px;
  margin:29px auto 0!important;
  max-width:950px;
  color:#d4e7fc!important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-proof span {
  display:inline-block;
  min-width:0;
  color:#d7e9fb!important;
  font-size:11px;
  font-weight:690;
  line-height:1.5;
  text-shadow:0 2px 14px rgba(0,0,0,.24);
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .proteon-fullscreen-video-toggle {
  position:absolute;
  right:22px;
  bottom:20px;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  width:39px;
  height:39px;
  padding:0;
  border:1px solid rgba(233,245,255,.4);
  border-radius:50%;
  background:rgba(5,29,59,.43);
  color:white;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .proteon-fullscreen-video-toggle svg {
  display:block;
  width:14px;
  height:14px;
  fill:currentColor;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .proteon-fullscreen-video-toggle .proteon-fv-play {display:none;}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .proteon-fullscreen-video-toggle[data-paused="true"] .proteon-fv-play {display:block;}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .proteon-fullscreen-video-toggle[data-paused="true"] .proteon-fv-pause {display:none;}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-caption {display:none!important;}
@media (max-width:767px) {
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero {
    min-height:690px!important;
    min-height:max(690px, calc(100svh - 66px))!important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-grid {
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    grid-template-columns:none!important;
    gap:0!important;
    min-height:inherit!important;
    padding:72px 21px 73px!important;
    width:100%!important;
    max-width:none!important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media::before {
    background:
      linear-gradient(180deg,rgba(4,18,43,.62),rgba(10,37,83,.65) 42%,rgba(1,17,42,.83)),
      linear-gradient(90deg,rgba(4,24,54,.32),rgba(5,25,56,.26))!important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media img,
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media .proteon-fullscreen-background {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-copy {
    padding:0!important;
    text-align:center!important;
    width:min(100%,500px)!important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .eyebrow {
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    max-width:100%;
    padding:8px 11px!important;
    font-size:9px!important;
    line-height:1.5;
    letter-spacing:.07em;
    white-space:normal;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero h1 {
    display:block;
    font-size:clamp(33px,8.9vw,48px)!important;
    letter-spacing:-.056em!important;
    line-height:1.14!important;
    margin:20px auto 16px!important;
    text-wrap:balance;
    white-space:normal!important;
    max-width:540px!important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero h1 br {display:none!important;}
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero h1 em {
    display:inline!important;
    white-space:normal!important;
    color:#acd8ff!important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-copy > p {
    color:#e2effd!important;
    margin:0 auto!important;
    max-width:470px!important;
    font-size:14px!important;
    line-height:1.67!important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row {
    width:100%!important;
    max-width:340px;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px;
    margin:22px auto 0!important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row a.button {
    width:100%!important;
    min-height:50px!important;
    padding:13px 12px!important;
    font-size:13px!important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-proof {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 12px!important;
    max-width:350px!important;
    margin:22px auto 0!important;
    width:100%!important;
    text-align:left;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-proof span {
    display:block;
    font-size:10px!important;
    font-weight:700;
    line-height:1.5;
    color:#e2eefb!important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .proteon-fullscreen-video-toggle {
    right:15px;
    bottom:15px;
    width:36px;
    height:36px;
  }
}
@media (max-width:360px) {
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-grid {padding:64px 17px 65px!important;}
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero h1 {font-size:31px!important;}
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-copy > p {font-size:13px!important;}
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-proof span {font-size:9.4px!important;}
}
@media(prefers-reduced-motion:reduce) {
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media .proteon-fullscreen-background {filter:none;}
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row a.button {transition:none;}
}


/* ================================================================
   Proteon 2.1 – smaller hero, HD video and reliably visible BLUE
   tint on MOBILE. Only affects the existing homepage hero section.
   The tint is a REAL element because the 6.9 mobile theme hides
   .hero-media::before with display:none!important.
   ================================================================ */
body.proteon-wordpress .hero.proteon-fullscreen-video-hero {
  min-height: clamp(505px, 59svh, 585px) !important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-grid {
  min-height: inherit !important;
  padding: 43px 28px 48px !important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media::before {
  display: none !important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media .proteon-fullscreen-background {
  filter: none !important; /* No artificial blur: retain the source's sharpness. */
  transform: none !important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media .proteon-fullscreen-tint {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg,rgba(4,20,44,.77) 0%,rgba(8,40,84,.60) 50%,rgba(3,22,50,.74) 100%),
    linear-gradient(180deg,rgba(3,14,31,.36) 0%,rgba(3,18,43,.30) 45%,rgba(1,12,28,.66) 100%) !important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .eyebrow {
  padding: 8px 14px !important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero h1 {
  font-size: clamp(38px, 4.5vw, 62px) !important;
  line-height: 1.10 !important;
  margin: 19px auto 16px !important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-copy > p {
  line-height: 1.65 !important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row {
  margin: 22px auto 0 !important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row a.button {
  min-height: 47px !important;
  padding: 12px 20px !important;
}
body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-proof {
  margin: 20px auto 0 !important;
}
@media (max-width: 767px) {
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero {
    min-height: clamp(525px, 68svh, 585px) !important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-grid {
    min-height: inherit !important;
    padding: 34px 19px 44px !important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-media .proteon-fullscreen-tint {
    /* This element cannot be hidden by the theme's mobile ::before rule. */
    display: block !important;
    background:
      linear-gradient(180deg, rgba(4,18,44,.72) 0%,rgba(8,42,92,.68) 48%,rgba(1,15,38,.84) 100%),
      linear-gradient(90deg,rgba(4,27,64,.27),rgba(6,35,80,.27)) !important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .eyebrow {
    font-size: 8.7px !important;
    padding: 7px 10px !important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero h1 {
    font-size: clamp(30px, 8.3vw, 38px) !important;
    margin: 14px auto 12px !important;
    line-height: 1.12 !important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-copy > p {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row {
    margin: 18px auto 0 !important;
    gap: 8px !important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .action-row a.button {
    min-height: 46px !important;
    padding: 11px 12px !important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-proof {
    margin: 16px auto 0 !important;
    gap: 7px 10px !important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-proof span {
    font-size: 9.6px !important;
  }
}
@media (max-width: 360px) {
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero .hero-grid {
    padding: 31px 15px 69px !important;
  }
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero h1 {
    font-size: 29px !important;
  }
}

@media (max-width:767px) {
  body.proteon-wordpress .hero.proteon-fullscreen-video-hero h1 br {display:block!important;}
}
