/* Editorial refinement: restrained contrast, clearer hierarchy, quieter details. */
:root {
  --navy: #081721;
  --navy2: #0d2230;
  --cyan: #9bd8d9;
  --teal: #287c87;
  --ink: #172c38;
  --muted: #596d78;
  --line: #d6e1e4;
}

body { color: var(--ink); }
h1, h2, h3 { letter-spacing: -.042em; font-weight: 700; }
h2 { letter-spacing: -.048em; }

.site-header { background: #081721; border-bottom-color: #18323e; }
.nav-shell { min-height: 84px; }
.brand strong {
  display: block;
  font-size: 1.8rem;
  letter-spacing: -.075em;
  font-weight: 750;
  line-height: 1;
  color: #f2f7f8;
}
.main-nav { gap: 27px; }
.main-nav > a:not(.button) { color: #c8d4d8; font-size: .82rem; font-weight: 600; }
.main-nav > a:not(.button):hover { color: #fff; }
.main-nav .button { margin-left: 8px; }

.button { border-radius: 4px; box-shadow: none; }
.button:hover { box-shadow: 0 8px 22px #0a283426; transform: translateY(-1px); }
.button-outline { border-color: #70909b; color: #eff6f7; }
.button-ghost { border-color: #7e9aa3; }

.hero {
  background: linear-gradient(115deg, #081721 0%, #0b2330 68%, #123542 100%);
}
.hero:before { opacity: .35; }
.hero-grid { padding-top: 110px; padding-bottom: 93px; }
.hero h1 { letter-spacing: -.057em; }
.hero h1 em { color: #a3e0df; }
.hero-lead { color: #bdcfd4; line-height: 1.78; }
.hero-note { color: #99b0ba; }
.asset-map {
  border-color: #31515e;
  border-radius: 9px;
  background: radial-gradient(circle at 52% 49%, #154152, #0d2a3a 42%, #0a1f2c 85%);
  box-shadow: 0 25px 70px #0003;
}
.map-grid { opacity: .6; }
.map-label { border-color: #517d88; background: #123747ed; border-radius: 4px; }
.map-alert { background: #453439; }
.hero-points { border-top-color: #34505c; }
.hero-points span { border-right-color: #34505c; }
.hero-points b { color: #9bd8d9; }

.section-blue { background: #f3f7f7; }
.section-head p { line-height: 1.8; }
.feature-grid:not(.compact) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.feature-card {
  min-height: 230px;
  padding: 28px;
  border-color: #d8e2e5;
  border-radius: 5px;
  box-shadow: none;
}
.feature-card:hover { border-color: #89b5bb; box-shadow: 0 12px 28px #1739480d; }
.feature-icon { display: none; }
.feature-n { left: 28px; right: auto; top: 29px; color: #3b8790; font-size: .69rem; }
.feature-card h3 { margin: 55px 0 12px; font-size: 1.13rem; }
.feature-card p { font-size: .88rem; line-height: 1.65; }
.scope-note { border-top: 1px solid #cfdee0; padding-top: 22px; }

.signal-list { border-radius: 6px; box-shadow: 0 20px 48px #1739480b; }
.use-grid article { background: #f4f8f8; border-top-color: #83c4c9; }
.outcomes { background: #edf3f3; }
.cta-band {
  background: linear-gradient(120deg, #0b2735, #143d49);
  border-radius: 8px;
}
.cta-orbit { opacity: .28; }
.site-footer { background: #081721; }
.dash-logo { font-size: .95rem; letter-spacing: -.07em; text-transform: lowercase; }

.lead-form { background: #fff; border-radius: 6px; box-shadow: 0 20px 54px #1539490c; }
.lead-form input:not([type=checkbox]), .lead-form select, .lead-form textarea {
  border-color: #c3d4d9;
  border-radius: 4px;
  font-size: .9rem;
}
.lead-form input:focus-visible, .lead-form select:focus-visible, .lead-form textarea:focus-visible {
  border-color: #398f9c;
}
.contact-info > div { border-top-color: #d7e2e5; }
.contact-process { margin-top: 38px; padding: 24px 26px; background: #f1f6f6; border-left: 2px solid #7ebfc3; }
.contact-process strong { display: block; font-size: .92rem; }
.contact-process ol { padding-left: 19px; margin: 18px 0; color: #415b66; }
.contact-process li { padding: 5px 0; line-height: 1.45; font-size: .85rem; }
.contact-process p { color: #687e88; font-size: .78rem; margin: 0; }
.case-card, .resource-card { border-radius: 5px; }

@media (max-width: 1100px) {
  .main-nav { gap: 16px; }
}
@media (max-width: 800px) {
  .main-nav { top: 84px; }
  .hero-grid { padding-top: 75px; padding-bottom: 48px; }
  .feature-grid:not(.compact) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  .brand strong { font-size: 1.65rem; }
  .hero h1 { font-size: 2.75rem; }
  .feature-grid:not(.compact) { grid-template-columns: 1fr; }
  .feature-card { min-height: 205px; }
}
