@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;
500;
600;
700&family=Manrope:wght@500;
600;
700;
800&display=swap');
:root {
  --navy:#0b2742;
  --navy-2:#173b59;
  --blue:#397bb8;
  --sky:#e9f6ff;
  --aqua:#74cfc5;
  --aqua-pale:#e7f8f5;
  --cream:#fffaf2;
  --white:#fff;
  --text:#243b50;
  --muted:#667b8d;
  --line:#dbe8f0;
  --coral:#f4a984;
  --shadow:0 18px 55px rgba(16,56,83,.11);
  --shadow-sm:0 8px 26px rgba(16,56,83,.08);
  --radius:26px;
  --max:1180px;
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:92px
}

body {
  margin:0;
  color:var(--text);
  background:#fbfdff;
  font-family:'DM Sans',sans-serif;
  line-height:1.65;
  overflow-x:hidden
}

body.menu-open {
  overflow:hidden
}

a {
  color:inherit;
  text-decoration:none
}

button {
  font:inherit
}

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

h1,h2,h3,p {
  margin-top:0
}

h1,h2,h3 {
  font-family:'Manrope',sans-serif;
  color:var(--navy);
  line-height:1.12;
  letter-spacing:-.035em
}

h1 {
  font-size:clamp(3rem,6vw,5.55rem);
  margin-bottom:24px
}

h2 {
  font-size:clamp(2.15rem,4vw,3.65rem);
  margin-bottom:20px
}

h3 {
  font-size:1.15rem;
  letter-spacing:-.02em
}

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

.section {
  padding:112px 0
}

.section-sm {
  padding:76px 0
}

.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:18px;
  color:#2a6c8f;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase
}

.eyebrow::before {
  content:'';
  width:22px;
  height:2px;
  border-radius:3px;
  background:var(--aqua)
}

.section-head {
  max-width:670px;
  margin-bottom:50px
}

.section-head.center {
  text-align:center;
  margin-inline:auto
}

.section-head.center .eyebrow {
  justify-content:center
}

.section-head p {
  font-size:1.1rem;
  color:var(--muted);
  margin-bottom:0
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:52px;
  padding:0 22px;
  border:1px solid transparent;
  border-radius:14px;
  font-weight:700;
  cursor:pointer;
  transition:.25s ease;
  white-space:nowrap
}

.btn-primary {
  color:white;
  background:var(--navy);
  box-shadow:0 10px 26px rgba(11,39,66,.2)
}

.btn-primary:hover {
  background:#123b60;
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(11,39,66,.25)
}

.btn-light {
  color:var(--navy);
  background:white;
  border-color:var(--line)
}

.btn-light:hover {
  border-color:#9dc5dc;
  transform:translateY(-2px)
}

.btn-aqua {
  color:var(--navy);
  background:var(--aqua)
}

.btn-aqua:hover {
  background:#90ddd4;
  transform:translateY(-2px)
}

.arrow {
  font-size:1.15rem;
  transition:transform .2s
}

.btn:hover .arrow {
  transform:translateX(3px)
}

.noscript-message,
.component-error {
  max-width:680px;
  margin:120px auto;
  padding:32px;
  text-align:center
}
