@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#05090d;color:#f5f7f8;font-family:"Manrope",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.nav{height:76px;padding:0 6vw;display:flex;align-items:center;gap:32px;border-bottom:1px solid #182630;background:#05090df2;position:sticky;top:0;z-index:50;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:800;letter-spacing:.08em}.brand img{width:39px;height:45px}.nav nav{display:flex;gap:25px;margin-left:auto}.nav nav a:hover,.active{color:#ff2638}.button{display:inline-block;padding:12px 19px;background:#ff2638;font-weight:750;border-radius:3px}.outline{background:transparent;border:1px solid #7693a4}.hero{min-height:540px;padding:90px 7vw;position:relative;overflow:hidden;display:flex;align-items:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05090d 0%,#05090ded 38%,#05090d55 70%,#05090d 100%);z-index:0}.hero.home{background:url('assets/duesec-concept.png') center 16%/cover no-repeat;min-height:650px}.hero-content{position:relative;z-index:1;max-width:720px}.kicker{font-size:11px;letter-spacing:.28em;color:#8dc9ec;margin-bottom:13px}.red{color:#ff2638}.blue{color:#38bdf8}.hero h1{font-size:clamp(52px,6vw,88px);line-height:.96;letter-spacing:-.05em;margin:0 0 22px}.hero h1 span{color:#ff2638}.hero p{font-size:19px;color:#c0c9cf;max-width:680px}.actions{display:flex;gap:15px;margin-top:28px}.pillars,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:65px 7vw}.pillar,.card{border:1px solid #1b2c37;background:linear-gradient(145deg,#091219,#060b0f);padding:32px;min-height:280px}.pillar:nth-child(1){border-top:2px solid #ff2638}.pillar:nth-child(2){border-top:2px solid #38bdf8}.pillar:nth-child(3){border-top:2px solid #aab5bd}.pillar h2,.section h2{font-size:32px;margin:0 0 12px}.pillar p,.card p,.section p{color:#aeb8bf}.pillar ul,.card ul{padding-left:19px;color:#d3d9dd}.link-red{color:#ff2638;font-weight:700}.link-blue{color:#38bdf8;font-weight:700}.section{padding:75px 7vw;border-top:1px solid #182630}.section.narrow{max-width:1100px;margin:auto}.section.dark2{background:#071018}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:35px}.service{border:1px solid #1d303c;padding:25px;background:#081017}.service h3{font-size:21px;margin:0 0 7px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#172630;margin-top:35px}.step{background:#071017;padding:28px}.step b{font-size:11px;letter-spacing:.2em;color:#7f929e}.step h3{font-size:22px}.cta{padding:55px 7vw;display:grid;grid-template-columns:1.4fr 1fr auto;align-items:center;gap:40px;border-top:1px solid #182630}.cta h2{font-size:34px;margin:0}.cta p{color:#aeb8bf}footer{padding:42px 7vw;border-top:1px solid #182630;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px;color:#a9b3ba;font-size:13px}footer strong{color:white}footer .brand{color:white}.form{display:grid;gap:14px;max-width:720px}.form input,.form textarea{background:#081119;border:1px solid #263946;color:white;padding:15px;font:inherit}.form textarea{min-height:160px}.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:60px}.menu{display:none}@media(max-width:850px){.nav{padding:0 5vw}.nav>.button{display:none}.menu{display:block;margin-left:auto;background:none;border:0;color:white;font-size:25px}.nav nav{display:none;position:absolute;top:76px;left:0;right:0;padding:25px 7vw;background:#05090d;flex-direction:column}.nav nav.open{display:flex}.hero.home{background-position:68% top}.hero.home:after{background:#05090dc7}.pillars,.cards{grid-template-columns:1fr}.service-grid,.steps,.contact-layout{grid-template-columns:1fr}.cta{grid-template-columns:1fr}.hero{padding:70px 7vw;min-height:500px}footer{grid-template-columns:1fr}}

/* v8 — corrected section-page hero layout */
.hero.offensive,
.hero.defensive,






.hero.offensive:after,
.hero.defensive:after,
.hero.engineering:after{
  /* The asset already contains the left-side fade. */
  background: none !important;
}

.hero.offensive .hero-content,
.hero.defensive .hero-content,
.hero.engineering .hero-content{
  width: min(43vw, 720px);
  max-width: 720px;
  position: relative;
  z-index: 2;
}

.hero.offensive .hero-content p,
.hero.defensive .hero-content p,
.hero.engineering .hero-content p{
  max-width: 680px;
}

/* Desktop: maintain the intended 2048:720 visual ratio instead of stretching
   the hero vertically to fill arbitrary viewport dimensions. */
@media (min-width: 1100px){
  .hero.offensive,
  .hero.defensive,
  
}

/* Tablet/mobile: image remains proportional; text gets its own dark field. */
@media (max-width: 1099px){
  .hero.offensive,
  .hero.defensive,
  
  .hero.offensive .hero-content,
  .hero.defensive .hero-content,
  .hero.engineering .hero-content{
    width: min(650px, 92%);
  }
  .hero.offensive:after,
  .hero.defensive:after,
  .hero.engineering:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(4,8,12,.92) 0%,rgba(4,8,12,.72) 55%,rgba(4,8,12,.20) 100%) !important;
    z-index:1;
  }
}

@media (max-width: 650px){
  .hero.offensive,
  .hero.defensive,
  
  .hero.offensive:after,
  .hero.defensive:after,
  .hero.engineering:after{
    background:rgba(4,8,12,.72) !important;
  }
}

/* v10 — distinct high-resolution section artwork */
.hero.offensive,
.hero.defensive,
.hero.engineering{
  position:relative;
  min-height:520px;
  overflow:hidden;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
}

.hero.offensive{background-image:url("assets/offensive-hero-v10.jpg") !important;}
.hero.defensive{background-image:url("assets/defensive-hero-v10.jpg") !important;}
.hero.engineering{background-image:url("assets/engineering-hero-v10.jpg") !important;}

.hero.offensive:after,
.hero.defensive:after,
.hero.engineering:after{
  background:none !important;
}

.hero.offensive .hero-content,
.hero.defensive .hero-content,
.hero.engineering .hero-content{
  width:min(42vw,680px);
  max-width:680px;
  position:relative;
  z-index:2;
}

@media (min-width:1100px){
  .hero.offensive,
  .hero.defensive,
  .hero.engineering{
    min-height:520px !important;
    padding-top:52px !important;
    padding-bottom:52px !important;
  }
}

@media (max-width:1099px){
  .hero.offensive,
  .hero.defensive,
  .hero.engineering{
    min-height:500px !important;
    background-position:60% center !important;
  }
  .hero.offensive .hero-content,
  .hero.defensive .hero-content,
  .hero.engineering .hero-content{
    width:min(650px,92%);
  }
  .hero.offensive:after,
  .hero.defensive:after,
  .hero.engineering:after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(90deg,rgba(4,8,12,.88),rgba(4,8,12,.58) 55%,rgba(4,8,12,.10)) !important;
  }
}

@media (max-width:650px){
  .hero.offensive,
  .hero.defensive,
  .hero.engineering{
    min-height:460px !important;
    background-position:66% center !important;
  }
  .hero.offensive:after,
  .hero.defensive:after,
  .hero.engineering:after{
    background:rgba(4,8,12,.70) !important;
  }
}


/* v11 — separate, correctly proportioned hero assets */
.hero.offensive,
.hero.defensive,
.hero.engineering{
  position: relative;
  min-height: 500px !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  overflow: hidden;
}

.hero.offensive{
  background-image:
    linear-gradient(90deg,rgba(4,8,12,.88) 0%,rgba(4,8,12,.68) 28%,rgba(4,8,12,.14) 54%,rgba(4,8,12,0) 72%),
    url("assets/offensive-hero-v11.jpg") !important;
}

.hero.defensive{
  background-image:
    linear-gradient(90deg,rgba(4,8,12,.90) 0%,rgba(4,8,12,.70) 28%,rgba(4,8,12,.14) 54%,rgba(4,8,12,0) 72%),
    url("assets/defensive-hero-v11.jpg") !important;
}

.hero.engineering{
  background-image:
    linear-gradient(90deg,rgba(4,8,12,.90) 0%,rgba(4,8,12,.72) 28%,rgba(4,8,12,.16) 54%,rgba(4,8,12,0) 72%),
    url("assets/engineering-hero-v11.jpg") !important;
}

/* Disable older pseudo-element overlays. */
.hero.offensive:after,
.hero.defensive:after,
.hero.engineering:after{
  background:none !important;
}

.hero.offensive .hero-content,
.hero.defensive .hero-content,
.hero.engineering .hero-content{
  width:min(42vw,660px) !important;
  max-width:660px !important;
  position:relative;
  z-index:2;
}

@media (min-width:1100px){
  .hero.offensive,
  .hero.defensive,
  .hero.engineering{
    min-height:500px !important;
    padding-top:44px !important;
    padding-bottom:44px !important;
  }
}

@media (max-width:1099px){
  .hero.offensive,
  .hero.defensive,
  .hero.engineering{
    min-height:480px !important;
    background-position:58% center !important;
  }
  .hero.offensive .hero-content,
  .hero.defensive .hero-content,
  .hero.engineering .hero-content{
    width:min(640px,92%) !important;
  }
}

@media (max-width:650px){
  .hero.offensive,
  .hero.defensive,
  .hero.engineering{
    min-height:450px !important;
    background-position:65% center !important;
  }
}


/* v12 — independent clean Defensive hero */
.hero.defensive{
  background-image:
    linear-gradient(90deg,rgba(4,8,12,.28) 0%,rgba(4,8,12,.12) 34%,rgba(4,8,12,0) 60%),
    url("assets/defensive-hero-v12.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* v13 — independent clean Security Engineering hero */
.hero.engineering{
  background-image:
    linear-gradient(90deg,rgba(4,8,12,.25) 0%,rgba(4,8,12,.10) 34%,rgba(4,8,12,0) 60%),
    url("assets/engineering-hero-v13.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* v14 — user-supplied clean Engineering background */
.hero.engineering{
  background-image:
    linear-gradient(90deg,rgba(4,8,12,.78) 0%,rgba(4,8,12,.52) 27%,rgba(4,8,12,.10) 49%,rgba(4,8,12,0) 67%),
    url("assets/engineering-hero-v14.webp") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* v15 — clean, text-free standalone Defensive background */
.hero.defensive{
  background-image:
    linear-gradient(90deg,rgba(4,8,12,.80) 0%,rgba(4,8,12,.55) 27%,rgba(4,8,12,.12) 49%,rgba(4,8,12,0) 67%),
    url("assets/defensive-hero-v15.webp") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* v16 — approved DUE SEC abstract spider identity */
.brand-v16{
  display:flex !important;
  align-items:center !important;
  text-decoration:none !important;
  flex:0 0 auto;
}
.brand-v16 img{
  display:block;
  width:auto;
  height:68px;
  max-width:230px;
  object-fit:contain;
  object-position:left center;
}
@media (max-width: 760px){
  .brand-v16 img{
    height:54px;
    max-width:185px;
  }
}


/* v17 — approved DUE SEC identity in footer */
.footer-brand-v17{
  display:inline-flex !important;
  align-items:center !important;
  text-decoration:none !important;
}
.footer-brand-v17 img{
  display:block;
  width:auto;
  height:76px;
  max-width:245px;
  object-fit:contain;
  object-position:left center;
}
@media (max-width:760px){
  .footer-brand-v17 img{
    height:60px;
    max-width:195px;
  }
}


/* v18 — landing page rebuilt from separate clean visual assets.
   All service/social text is HTML; no text is baked into these images. */
.landing-hero-v18{
  min-height:362px;
  display:grid;
  grid-template-columns:38% 62%;
  border-bottom:1px solid #182630;
  overflow:hidden;
  background:#05090d;
}
.landing-hero-copy{
  padding:40px 0 30px 7vw;
  align-self:center;
  position:relative;
  z-index:2;
}
.landing-hero-copy h1{
  font-size:clamp(48px,4.25vw,70px);
  line-height:.96;
  letter-spacing:-.045em;
  margin:0 0 16px;
}
.landing-hero-copy h1 span{color:#ff2638}
.landing-hero-copy p{
  color:#c0c9cf;
  font-size:17px;
  line-height:1.35;
  max-width:520px;
}
.landing-hero-art{
  min-height:362px;
  background:
    linear-gradient(90deg,#05090d 0%,rgba(5,9,13,.55) 14%,rgba(5,9,13,0) 34%),
    url("assets/landing-hero-v18.webp") center center/cover no-repeat;
}

.landing-capabilities-v18{
  padding:20px 4.5vw;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.landing-capability{
  position:relative;
  overflow:hidden;
  min-height:325px;
  border:1px solid #1b3444;
  background:#061018;
  transform:skewX(-4deg);
}
.landing-capability > *{transform:skewX(4deg)}
.landing-capability .capability-image{
  height:112px;
  margin:-1px -10px 0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.landing-capability.offensive .capability-image{background-image:url("assets/landing-offensive-v18.webp")}
.landing-capability.defensive .capability-image{background-image:url("assets/landing-defensive-v18.webp")}
.landing-capability.engineering .capability-image{background-image:url("assets/landing-engineering-v18.webp")}
.landing-capability .capability-copy{padding:8px 28px 24px}
.landing-capability h2{font-size:24px;margin:0 0 5px}
.landing-capability p{font-size:14px;line-height:1.25;color:#c7d0d6;margin:0 0 10px}
.landing-capability ul{font-size:14px;line-height:1.35;margin:0 0 12px;padding-left:18px}
.landing-capability a{font-size:14px;font-weight:750}

.landing-social-v18{
  min-height:160px;
  display:grid;
  grid-template-columns:31% 34% 35%;
  border-top:1px solid #182630;
  border-bottom:1px solid #182630;
  background:#061018;
}
.social-art{
  background:url("assets/landing-social-v18.webp") center/cover no-repeat;
}
.social-copy{padding:16px 28px}
.social-copy .kicker{margin-bottom:6px}
.social-copy h2{font-size:27px;line-height:.95;margin:0 0 8px}
.social-copy p{font-size:13px;line-height:1.3;color:#c0c9cf;margin:0 0 7px}
.social-points{
  border-left:1px solid #29404d;
  padding:14px 5vw 10px 34px;
  display:grid;
  gap:9px;
}
.social-points div{display:grid}
.social-points strong{font-size:13px;color:#fff}
.social-points span{font-size:12px;color:#aeb8bf}

@media(max-width:850px){
  .landing-hero-v18{grid-template-columns:1fr;min-height:auto}
  .landing-hero-copy{padding:52px 7vw 28px}
  .landing-hero-art{min-height:280px;background-position:center}
  .landing-capabilities-v18{grid-template-columns:1fr;padding:28px 6vw}
  .landing-capability{transform:none}
  .landing-capability > *{transform:none}
  .landing-social-v18{grid-template-columns:1fr}
  .social-art{min-height:210px}
  .social-points{border-left:0;border-top:1px solid #29404d;padding:24px 7vw}
}


/* v19 — DUE SEC typography refinement: Manrope */
body{
  font-family:"Manrope",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-weight:400;
  letter-spacing:-0.008em;
}
.nav nav a,
.button{
  font-weight:600;
}
.kicker{
  font-weight:700;
  letter-spacing:.24em;
}
.hero h1,
.landing-hero-copy h1{
  font-family:"Manrope",system-ui,sans-serif;
  font-weight:800;
  letter-spacing:-.055em;
}
.pillar h2,
.section h2,
.service h3,
.card h3,
.landing-capability h2,
.social-copy h2,
.cta h2{
  font-family:"Manrope",system-ui,sans-serif;
  font-weight:750;
  letter-spacing:-.035em;
}
p,
li{
  font-weight:400;
}
strong,
.link-red,
.link-blue{
  font-weight:700;
}
/* The DUE SEC logo remains an image asset and is therefore unchanged. */


/* v20 — approved transparent DUE SEC abstract spider logo */
.brand-v16 img{
  height:72px;
  width:auto;
  max-width:180px;
  object-fit:contain;
  object-position:left center;
}
.footer-brand-v17 img{
  height:92px;
  width:auto;
  max-width:190px;
  object-fit:contain;
  object-position:left center;
}
@media (max-width:760px){
  .brand-v16 img{
    height:58px;
    max-width:145px;
  }
  .footer-brand-v17 img{
    height:76px;
    max-width:160px;
  }
}


/* v47 — clean two-column footer */
footer{
  grid-template-columns:1.5fr 1fr;
  align-items:end;
}
footer > div:first-child{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
footer > div:first-child p{
  margin:10px 0 0;
}
.footer-contact{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  gap:26px;
  padding-bottom:1px;
}
.footer-contact-details{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.6;
}
.footer-contact-details a{
  display:block;
}
.footer-copyright{
  white-space:nowrap;
  line-height:1.55;
}
@media(max-width:850px){
  footer{
    grid-template-columns:1fr;
    align-items:start;
  }
  .footer-contact{
    gap:18px;
    padding-top:8px;
  }
  .footer-copyright{
    white-space:normal;
  }
}


/* v48 — anchor footer content to opposite ends */
@media (min-width:851px){
  footer{
    grid-template-columns:1fr 1fr;
  }
  .footer-contact{
    justify-self:end;
    align-items:flex-end;
    text-align:right;
  }
  .footer-contact-details{
    align-items:flex-end;
  }
}


/* v50 — approved footer network background */
footer{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(3,8,13,.68), rgba(3,8,13,.42)),
    url("assets/footer-network-background.png") center center / cover no-repeat;
  overflow:hidden;
}
footer::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(2,7,11,.34), rgba(2,7,11,.12) 50%, rgba(2,7,11,.34));
}
footer > *{
  position:relative;
  z-index:1;
}
