.site-header { overflow: visible; }

#main-nav { align-self: stretch; }

.nav-group { position: relative; display: flex; align-items: center; }
.nav-parent { display: flex; align-items: center; gap: .32rem; }
.nav-parent span { color: var(--coral); font-size: .75rem; }
.submenu { position: absolute; top: calc(100% - 1px); left: -.8rem; display: none; min-width: 250px; padding: .7rem; background: #fff; border: 1px solid var(--line); box-shadow: 0 20px 45px rgba(7,25,39,.16); }
.submenu a { display: block; padding: .68rem .75rem; color: #29495b; white-space: nowrap; }
.submenu a:hover { background: #eaf1f2; color: var(--coral); }
.nav-group:hover .submenu, .nav-group:focus-within .submenu { display: block; }

.business-hero { min-height: 680px; display: grid; grid-template-columns: 1fr 330px; gap: 5rem; align-items: center; padding: clamp(5rem,9vw,9rem) clamp(1.3rem,8vw,9rem); background: linear-gradient(120deg,#071927,#103f54); color: #fff; }
.business-hero>div>p:not(.eyebrow) { max-width: 760px; color: #c4d6de; font-size: 1.14rem; }
.business-hero h1 em { color: var(--coral); font-weight: 500; }
.business-hero aside { display: grid; border-top: 4px solid var(--coral); background: rgba(255,255,255,.06); }
.business-hero aside strong { padding: 1.3rem; color: var(--teal); text-transform: uppercase; letter-spacing: .13em; font-size: .74rem; }
.business-hero aside span { padding: 1rem 1.3rem; border-top: 1px solid rgba(255,255,255,.15); font: 500 1.25rem Georgia,serif; }
.business-index { background: var(--paper); }
.business-block { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 610px; border-bottom: 1px solid var(--line); }
.business-block.reverse figure { order: 2; }
.business-block figure { position: relative; margin: 0; min-height: 500px; overflow: hidden; }
.business-block figure img { height: 100%; object-fit: cover; }
.business-block figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: .55rem .8rem; background: rgba(7,25,39,.86); color: #fff; font-size: .72rem; }
.business-block>div { align-self: center; padding: clamp(3.5rem,7vw,7rem); }
.business-block h2 { margin-bottom: 1.4rem; }
.business-block>div>p:not(.eyebrow) { color: var(--muted); font-size: 1.06rem; }
.business-block ul { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 1.2rem; padding: 1.2rem 0 1.6rem; list-style: none; border-top: 1px solid var(--line); }
.business-block li { font-size: .82rem; font-weight: 800; color: #29495b; }
.business-block li:before { content: "•"; color: var(--coral); margin-right: .5rem; }
.text-arrow { color: var(--blue); font-weight: 900; text-decoration: none; }

@media(max-width:1280px){
  .brand-logo { height: 42px; max-width: 230px; }
  #main-nav { gap: .75rem; }
  #main-nav>a, .nav-parent { font-size: .72rem; }
}
@media(max-width:1120px){
  .menu-button { display: block; }
  #main-nav { display: none; position: absolute; top: 86px; left: 0; right: 0; max-height: calc(100vh - 86px); overflow-y: auto; padding: 1rem 1.2rem 1.5rem; background: var(--paper); border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; }
  #main-nav.open { display: flex; }
  #main-nav { align-self: auto; }
  .nav-group { display: block; width: 100%; }
  .nav-parent { justify-content: space-between; }
  .submenu { position: static; display: block; min-width: 0; padding: .25rem 0 .35rem .85rem; border: 0; box-shadow: none; background: transparent; }
  .submenu a { padding: .38rem .6rem; white-space: normal; font-size: .78rem; }
  .business-hero { grid-template-columns: 1fr; }
  .business-hero aside { grid-template-columns: repeat(4,1fr); }
  .business-hero aside strong { grid-column: 1/-1; }
  .business-block { grid-template-columns: 1fr; }
  .business-block.reverse figure { order: 0; }
  .business-block figure { min-height: 440px; }
}
@media(max-width:580px){
  .business-hero { min-height: auto; gap: 2.5rem; }
  .business-hero aside { grid-template-columns: 1fr 1fr; }
  .business-block figure { min-height: 300px; }
  .business-block ul { grid-template-columns: 1fr; }
}
