/* Complete shared tokens, typography and utility variants from the approved source. */
:root {
  color-scheme:light;
  --brand-navy:#1c1c4d;
  --brand-turquoise:#00c292;
  --brand-mint:#cdf9ec;
  --accent-orange:#ff6b00;
  --surface-canvas:#fff8f2;
  --surface-card:#fff;
  --ink-900:#222e48;
  --ink-600:#626779;
  --line:#e5e8eb;
  --radius:12px;
  --shadow:0 10px 28px rgb(28 28 77 / 7%);
  --ease:180ms ease;
  font-family:'Alexandria',Tahoma,Arial,sans-serif;
  color:var(--ink-900);
  background:#fafbfc;
  font-synthesis:none;
}

* {
  box-sizing:border-box;
}

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

body {
  margin:0;
  font-size:14px;
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
}

body.nav-open {
  overflow:hidden;
}

h1,
h2,
h3,
p,
ul,
ol,
figure {
  margin:0;
}

h1,
h2,
h3 {
  color:var(--brand-navy);
  font-weight:650;
  line-height:1.55;
}

h1 {
  font-size:36px;
  letter-spacing:-.9px;
}

h2 {
  font-size:27px;
  letter-spacing:-.6px;
}

h3 {
  font-size:16px;
}

p {
  color:var(--ink-600);
}

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

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

button,
a,
input,
select,
summary {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
}

button,
input,
select {
  border:1px solid var(--line);
}

input {
  min-width:0;
  color:var(--ink-900);
  background:white;
}

input::placeholder {
  color:#8a8e9b;
  opacity:1;
}

button:disabled {
  cursor:not-allowed;
}

svg {
  display:block;
  flex-shrink:0;
}

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

[hidden] {
  display:none!important;
}

:focus-visible {
  outline:3px solid #008966;
  outline-offset:4px;
}

::selection {
  background:var(--brand-mint);
  color:var(--brand-navy);
}

.container {
  width:min(1200px,calc(100% - 64px));
  margin-inline:auto;
}

.icon {
  width:21px;
  height:21px;
}

.sr-only,
.skip-link:not(:focus) {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}

.skip-link:focus {
  position:fixed;
  top:8px;
  inset-inline-start:8px;
  padding:12px 20px;
  background:white;
  z-index:500;
}

.section {
  padding-block:56px;
}

.section--white {
  background:white;
}

.section--peach {
  background:var(--surface-canvas);
}

.section--mint {
  background:#edf9f4;
}

.section--tight {
  padding-block:32px;
}

.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:26px;
}

.section-heading p {
  margin-top:7px;
  font-size:13px;
}

.section-heading h2 small {
  font-size:13px;
  font-weight:400;
  color:var(--ink-600);
}

.eyebrow {
  display:block;
  margin-bottom:6px;
  color:#087858;
  font-size:11px;
  font-weight:550;
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:12px;
  font-weight:550;
  color:var(--brand-navy);
  white-space:nowrap;
}

.text-link svg {
  width:18px;
  height:18px;
  transition:transform var(--ease);
}

.text-link:hover {
  color:#00845f;
}

.text-link:hover svg {
  transform:translateX(-4px);
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:46px;
  padding:10px 20px;
  border:1px solid transparent;
  border-radius:7px;
  font-size:12px;
  font-weight:550;
  line-height:1.8;
  white-space:nowrap;
  transition:background var(--ease),box-shadow var(--ease),transform var(--ease);
}

.btn--primary {
  color:white;
  background:var(--brand-navy);
}

.btn--primary:hover {
  background:#34346c;
  box-shadow:0 5px 12px #1c1c4d20;
}

.btn--gold {
  color:var(--brand-navy);
  background:var(--brand-turquoise);
}

.btn--gold:hover {
  background:#00ae83;
  box-shadow:0 5px 12px #009e751e;
}

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

.btn--light:hover {
  border-color:#a5c5b9;
  background:#f0faf6;
}

.btn:active {
  transform:translateY(1px);
}

.icon-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--brand-navy);
  background:white;
  transition:background var(--ease);
}

.icon-button:hover {
  background:#edf9f4;
}

.brand {
  display:inline-flex;
  flex-direction:column;
  align-items:start;
  gap:4px;
  width:fit-content;
  flex-shrink:0;
}

.brand-logo {
  width:150px;
  height:49px;
  object-fit:contain;
  object-position:right center;
}

.brand-tagline {
  font-size:9px;
  color:var(--ink-600);
}

.toast {
  position:fixed;
  bottom:24px;
  left:50%;
  z-index:300;
  width:max-content;
  max-width:calc(100% - 32px);
  padding:13px 22px;
  border:1px solid #ffffff25;
  border-radius:9px;
  background:var(--brand-navy);
  color:white;
  box-shadow:0 8px 28px #1c1c4d26;
  font-size:12px;
  text-align:center;
  transform:translate(-50%,15px);
  opacity:0;
  visibility:hidden;
  transition:opacity var(--ease),transform var(--ease),visibility var(--ease);
}

.toast.is-visible {
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}

@media(max-width:900px) {
.container {
  width:calc(100% - 40px);
}

.brand-logo {
  width:136px;
  height:44px;
}

.brand-tagline {
  font-size:8px;
}

}

@media(max-width:640px) {
body {
  font-size:13px;
}

.container {
  width:calc(100% - 32px);
}

h1 {
  font-size:28px;
}

h2 {
  font-size:22px;
}

.section {
  padding-block:36px;
}

.section--tight {
  padding-block:24px;
}

.section-heading {
  align-items:start;
  gap:12px;
  margin-bottom:20px;
  flex-wrap:wrap;
}

.section-heading p {
  font-size:11px;
  max-width:330px;
}

.section-heading h2 {
  font-size:21px;
}

.section-heading .eyebrow {
  font-size:9px;
  margin-bottom:5px;
}

.text-link {
  font-size:10px;
  gap:5px;
}

.section-heading>.text-link {
  margin-top:3px;
}

.brand-logo {
  width:128px;
  height:42px;
}

}

@media(prefers-reduced-motion:reduce) {
html {
  scroll-behavior:auto;
}

*,
*::before,
*::after {
  transition-duration:.01ms!important;
  animation-duration:.01ms!important;
  animation-iteration-count:1!important;
}

}
