/* Scene-led hero system, based on the About page's visual language. */
.hero,.products-visual-hero,.service-hero,.resource-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-image:linear-gradient(90deg,rgba(4,34,64,.94) 0%,rgba(5,52,94,.86) 44%,rgba(7,67,113,.64) 70%,rgba(4,39,72,.48) 100%),url('assets/about-warehouse.png')!important;
  background-size:cover!important;
  border-bottom:1px solid #315b82!important;
}
.hero:after,.products-visual-hero:after,.service-hero:after,.resource-hero:after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(110deg,rgba(6,34,61,.08),transparent 52%,rgba(13,74,119,.12));
}
.hero{background-position:center 49%!important}
.products-visual-hero{background-position:center 42%!important}
.service-hero{background-position:center 57%!important}
.resource-hero{background-position:center 36%!important}

/* Shared copy treatment */
.hero h1,.products-visual-copy h1,.service-hero h1,.resource-hero h1{color:#fff!important;text-shadow:0 2px 18px rgba(0,24,49,.18)}
.hero .eyebrow-label,.products-visual-hero .eyebrow-label,.service-hero .eyebrow-label,.resource-hero .eyebrow-label{color:#ff9b62!important}
.products-visual-hero .crumb,.products-visual-hero .crumb a,.service-hero .crumb,.resource-hero .crumb{color:rgba(255,255,255,.74)!important}
.hero-grid>div>p,.products-visual-copy>p,.service-hero-grid>div:first-child>p,.resource-hero-grid>div:first-child>p{color:rgba(238,247,255,.88)!important}
.hero .btn.outline,.products-visual-hero .btn.outline,.service-hero .btn.outline{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.7)!important;color:#fff!important}
.hero .btn.outline:hover,.products-visual-hero .btn.outline:hover,.service-hero .btn.outline:hover{background:#fff!important;color:var(--blue)!important}

/* Homepage: message plus white RFQ process card over the scene. */
.hero-grid{min-height:455px;padding-top:48px;padding-bottom:34px}
.home-hero-copy .eyebrow-label{display:block;margin-bottom:15px}
.hero .steps{background:rgba(255,255,255,.97);border-color:rgba(255,255,255,.75);box-shadow:0 20px 48px rgba(0,24,50,.24)}
.hero .benefit-row{margin-top:0;margin-bottom:0;background:rgba(255,255,255,.96);border:0;border-radius:8px 8px 0 0;box-shadow:0 12px 30px rgba(0,28,58,.13)}

/* Product center: scene background with a clean catalogue window. */
.products-visual-hero{min-height:585px;display:flex;align-items:center;padding:38px 0 46px}
.products-visual-hero-grid{width:min(1180px,calc(100% - 56px));margin-inline:auto}
.products-large-visual{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.72);box-shadow:0 22px 54px rgba(0,24,49,.25)}
.products-hero-search{background:rgba(255,255,255,.97);border-color:rgba(255,255,255,.75);box-shadow:0 14px 30px rgba(0,26,52,.16)}
.products-hero-tags span{color:#fff!important;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.32)}

/* Services: same scene, with a structured requirement card. */
.service-hero-grid{min-height:540px;padding-top:42px;padding-bottom:42px}
.service-hero-points{border-top-color:rgba(255,255,255,.25)}
.service-hero-points span{color:rgba(238,247,255,.76)!important;font-size:13px!important}
.service-hero-points b{color:#fff!important;font-size:15px!important}
.service-hero-panel{background:rgba(255,255,255,.97);border-color:rgba(255,255,255,.72);box-shadow:0 22px 52px rgba(0,24,50,.25)}
.service-hero-panel li b{font-size:16px!important;line-height:1.45!important}.service-hero-panel li span{font-size:16px!important;line-height:1.65!important}
.service-hero-panel>a{font-size:14px!important}

/* Resources: visual guide collage stays legible over the scene. */
.resource-hero-grid{min-height:510px;padding-top:38px;padding-bottom:42px}
.resource-topic-nav{border:0;background:transparent}
.resource-topic-nav a{height:auto;color:#fff!important;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.34);font-size:13px!important;padding:8px 11px}
.resource-topic-nav a:hover{background:#fff;color:var(--blue)!important}
.resource-hero-collage{padding:10px;border:1px solid rgba(255,255,255,.62);border-radius:12px;background:rgba(255,255,255,.93);box-shadow:0 22px 52px rgba(0,24,50,.24)}
.resource-hero-collage>span{border-color:#cfdeec}
.resource-hero-collage>div{background:rgba(4,42,78,.9)}

@media(max-width:900px){
  .hero,.products-visual-hero,.service-hero,.resource-hero{background-position:center!important}
  .products-visual-hero-grid,.service-hero-grid,.resource-hero-grid{grid-template-columns:1fr}
  .products-visual-hero,.service-hero-grid,.resource-hero-grid{min-height:auto}
  .products-large-visual,.resource-hero-collage{max-width:680px;width:100%;margin:auto}
}
@media(max-width:620px){
  .hero-grid{min-height:auto;padding-top:38px;padding-bottom:28px}
  .products-visual-hero{padding:28px 0 36px}
  .products-visual-hero-grid{width:calc(100% - 28px)}
  .service-hero-grid,.resource-hero-grid{padding-top:30px;padding-bottom:34px}
  .hero .benefit-row{border-radius:0}
}

/* Deep blue-gray footer selected to echo the blue segment of the EDV logo. */
footer{
  background:linear-gradient(135deg,#123b5d 0%,#103653 52%,#0d2d49 100%)!important;
  border-top:1px solid #254f70!important;
  color:#dce9f4!important;
  box-shadow:inset 0 1px rgba(255,255,255,.04);
}
footer .footer-logo{filter:drop-shadow(0 3px 8px rgba(0,0,0,.16))}
footer .footer-grid h4{color:#fff!important}
footer .footer-grid p{color:#c3d6e6!important}
footer .footer-grid a{color:#d6e5f1!important}
footer .footer-grid a:hover{color:#fff!important;text-decoration:underline;text-decoration-color:#f47a35;text-underline-offset:4px}
footer .copyright{border-top-color:rgba(255,255,255,.18)!important;color:#b9cfe0!important}
footer .copyright span{color:#b9cfe0!important}

/* One concise quotation action in the header. */
.header-main .rfq{
  display:inline-flex!important;
  justify-self:end;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:11px 17px;
  border-radius:6px;
  background:var(--orange);
  color:#fff!important;
  box-shadow:0 7px 18px rgba(209,72,10,.16);
  white-space:nowrap;
}
.header-main .rfq>span{font-size:18px;line-height:1}
.header-main .rfq>b{font-size:14px!important;line-height:1.2;color:#fff!important}
.header-main .rfq:hover{background:#df500d;color:#fff!important}
@media(max-width:900px){.header-main .rfq{display:none!important}}
