:root {
  --shell-navy: #102a43;
  --shell-navy-light: #17496b;
  --shell-green: #64dbb3;
}

.site-header,
body > .hero {
  background: linear-gradient(135deg, var(--shell-navy), var(--shell-navy-light)) !important;
}

.site-header .nav-wrap,
.site-header .header-inner {
  width: min(1260px, calc(100% - 36px)) !important;
  min-height: 86px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.site-header .brand,
.site-header .logo {
  color: #fff !important;
  font-size: 1.4rem !important;
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
}

.site-header .brand-mark { display: none !important; }
.site-header .brand-stock { color: #fff !important; }
.site-header .brand-dca,
.site-header .logo-dca,
.site-header .brand > span { color: var(--shell-green) !important; }

.site-header .nav-links,
.site-header .site-nav {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 30px !important;
}

.site-header .nav-links a,
.site-header .site-nav a {
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #e8f0f7 !important;
  font-size: .94rem !important;
  font-weight: 700 !important;
  opacity: 1 !important;
  text-decoration: none !important;
}

.site-header .nav-links a:hover,
.site-header .site-nav a:hover { color: var(--shell-green) !important; }

.site-header .nav-cta {
  position: relative;
  color: #fff !important;
}

.site-header .nav-cta::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -16px;
  height: 2px;
  background: var(--shell-green);
}

.site-header .hero,
body > .hero {
  padding: 58px 20px 70px !important;
}

body > main:not(.shell) { margin-top: 0 !important; }

.source-note {
  margin: 24px 0;
  padding: 16px 18px;
  border: 1px solid #cfe3dc;
  border-left: 4px solid #0a9b72;
  border-radius: 10px;
  background: #f1faf6;
  color: #40566b;
  font-size: .94rem;
  line-height: 1.7;
}

.editor-note { color: #52687a; font-size: .87rem; line-height: 1.7; padding-bottom: 18px; border-bottom: 1px solid #dce6e9; margin: 0 0 25px; }
.content-upgrade { width: min(1040px, calc(100% - 32px)) !important; margin: 0 auto !important; padding: 32px 0 60px !important; }
.content-upgrade .article-card { padding: clamp(22px, 4vw, 52px); overflow-wrap: anywhere; }
.content-upgrade h2 { margin-top: 34px; }
.content-upgrade h3 { margin: 26px 0 12px; }
.content-upgrade p, .content-upgrade li { line-height: 1.85; }
.content-upgrade nav { font-size: .9rem; line-height: 2; padding: 17px 0; border-bottom: 1px solid #dce6e9; }
.content-upgrade .table-wrap, .step-card .table-wrap { width: 100%; overflow-x: auto; margin: 24px 0; }
.content-upgrade table { width: 100%; min-width: 610px; border-collapse: collapse; font-size: .92rem; }
.content-upgrade th, .content-upgrade td { padding: 13px 15px; text-align: left; border: 1px solid #dce6e9; vertical-align: top; }
.content-upgrade thead th { background: #102a43; color: white; }
.content-upgrade caption, .step-card caption { text-align: left; font-size: .83rem; color: #52687a; padding: 0 0 11px; line-height: 1.7; }
.content-upgrade a { color: #087f5b; }
.content-upgrade .example-link { display: inline-block; color: #fff; background: #087f5b; padding: 12px 17px; border-radius: 8px; text-decoration: none; font-weight: 700; }
.content-upgrade details { border-bottom: 1px solid #dce6e9; padding: 16px 0; }
.content-upgrade summary { cursor: pointer; font-weight: 700; }
.content-upgrade details p { margin-top: 13px; }
.source-note strong { color: #102a43; }
.source-note a { color: #087f5b; font-weight: 700; }

body > footer {
  border-top: 1px solid #dce5e9 !important;
  background: #f7fafc !important;
  color: #607486 !important;
}

body > footer a { color: #102a43 !important; }

@media (max-width: 1360px) {
  .site-header .nav-wrap,
  .site-header .header-inner { width: min(1180px, calc(100% - 36px)) !important; }
}

@media (max-width: 680px) {
  .site-header .nav-wrap,
  .site-header .header-inner {
    width: min(100% - 24px, 1180px) !important;
    min-height: 66px !important;
    padding: 9px 0 !important;
    align-items: center !important;
  }

  .site-header .brand,
  .site-header .logo { font-size: 1.08rem !important; }

  .site-header .nav-links,
  .site-header .site-nav { gap: 11px !important; }

  .site-header .nav-links a,
  .site-header .site-nav a {
    display: inline-block !important;
    font-size: .76rem !important;
  }

  .site-header .nav-cta::after { bottom: -12px; }

  .site-header .hero,
  body > .hero {
    padding: 40px 12px 48px !important;
    text-align: left !important;
  }

  .site-header .hero-inner,
  body > .hero .hero-inner { margin-left: 0 !important; }
}
