/* Base variables, reset, typography, containers, and shared buttons */

:root {
  --navy: #0b2d4a;
  --navy2: #103f66;
  --blue: #f58220;
  --blue2: #d9680f;
  --gold: #fdb813;
  --white: #fff;
  --off: #f6f8fa;
  --line: #dfe6eb;
  --gray: #65727d;
  --dark: #26343f;
  --shadow: 0 18px 45px rgba(15,31,45,.12);
  --radius: 16px;
  --max: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--dark);
  background: #fff;
  font-family: Arial,Helvetica,sans-serif;
  font-size: 17px;
  line-height: 1.65;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
}

button,input,select,textarea {
  font: inherit;
}

.container {
  width: min(calc(100% - 40px),var(--max));
  margin-inline: auto;
}

.section {
  padding: 92px 0;
}

.section-muted {
  background: var(--off);
}

.section-dark {
  color: #fff;
  background: linear-gradient(135deg,var(--navy),var(--navy2));
}

.skip-link {
  position: absolute;
  top: -100px;
  left: 20px;
  z-index: 1000;
  padding: 10px 14px;
  color: #fff;
  background: var(--navy);
}

.skip-link:focus {
  top: 20px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border: 2px solid var(--blue);
  color: #fff;
  background: var(--blue);
  border-radius: 8px;
  font-weight: 900;
  text-decoration: none;
  transition: .16s;
}

.button:hover {
  border-color: var(--blue2);
  background: var(--blue2);
  transform: translateY(-2px);
}

.button-small {
  min-height: 42px;
  padding: 8px 15px;
  color: #fff!important;
  font-size: .84rem!important;
}

.button-secondary {
  border-color: rgba(255,255,255,.75);
  background: transparent;
}

.button-secondary:hover {
  border-color: #fff;
  background: rgba(255,255,255,.1);
}

.button-outline {
  color: var(--blue);
  background: transparent;
}

.button-outline:hover {
  color: #fff;
}

.eyebrow {
  margin: 0 0 10px;
  color: var(--blue);
  font-size: .77rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.text-link {
  color: var(--blue);
  font-weight: 900;
  text-decoration: none;
}

.section-dark p {
  color: rgba(255,255,255,.75);
}

.section-dark .lead {
  color: #fff;
}
