@font-face {
  font-family: "CoFo Sans Pro";
  src: url("/static/brand/cofo-sans-book.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "CoFo Sans Pro";
  src: url("/static/brand/cofo-sans-medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "CoFo Sans Pro";
  src: url("/static/brand/cofo-sans-bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "CoFo Sans Pro";
  src: url("/static/brand/cofo-sans-black.woff2") format("woff2");
  font-style: normal;
  font-weight: 800 900;
  font-display: swap;
}

@font-face {
  font-family: "Flowfont";
  src: url("/static/brand/flowfont-regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --identity-header: #310820;
  --identity-ink: #370b27;
  --identity-muted: #705d69;
  --identity-accent: #ff7663;
  --identity-focus: #8f315b;
  --identity-accent-soft: #fee2df;
  --identity-lilac: #f3eaf0;
  --identity-surface: #f7f7f8;
  --identity-panel: #ffffff;
  --identity-border: #ded4da;
  --ff-color-coral: var(--identity-accent);
  --ff-color-coral-shade-1: var(--identity-accent-soft);
  --ff-color-deep-purpur: var(--identity-ink);
  --ff-color-soft-pink: #fff2f1;
  --ff-color-soft-purple: var(--identity-lilac);
  --ff-color-bg: var(--identity-panel);
  --ff-color-surface: var(--identity-surface);
  --ff-color-text: var(--identity-ink);
  --ff-color-text-muted: var(--identity-muted);
  --ff-color-border: var(--identity-border);
}

html {
  background: var(--identity-surface);
}

body,
button,
input,
select,
textarea {
  font-family: "CoFo Sans Pro", system-ui, sans-serif;
  letter-spacing: 0;
}

body {
  color: var(--identity-ink);
  background: var(--identity-surface);
  font-size: 16px;
  line-height: 1.45;
}

h1,
.hero h1,
.detail-main h1,
.faq-page > h1,
.legal-document h1,
.response-success-card h1,
.auth-form h1 {
  font-family: "Flowfont", "CoFo Sans Pro", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
}

h2,
h3,
h4,
strong,
button,
.button-link,
.secondary-link {
  letter-spacing: 0;
}

a,
button,
input,
select,
textarea,
summary {
  transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

:focus-visible {
  outline: 3px solid var(--identity-focus);
  outline-offset: 2px;
}

.topbar {
  min-height: 72px;
  padding: 0 30px;
  border: 0;
  color: #fff;
  background: var(--identity-header);
}

.brand {
  display: flex;
  width: 330px;
  min-width: 330px;
  align-items: center;
  overflow: hidden;
}

.brand-logo {
  display: block;
  width: 330px;
  max-width: none;
  height: auto;
}

.topnav {
  gap: 24px;
}

.topnav a {
  color: #efdce7;
  font-size: 14px;
  font-weight: 500;
}

.topnav a:hover {
  color: #fff;
}

input,
select,
textarea {
  border-color: #d8ccd3;
  border-radius: 7px;
  background-color: #fff;
  font-size: 15px;
  font-weight: 400;
}

input:hover,
select:hover,
textarea:hover {
  border-color: #aa98a3;
}

label span {
  color: #65485a;
  font-weight: 500;
}

button,
.button-link {
  border: 1px solid var(--identity-ink);
  border-radius: 7px;
  background: var(--identity-ink);
  font-weight: 700;
}

button:hover,
.button-link:hover {
  border-color: #5a153c;
  background: #5a153c;
}

.secondary-link,
.table-detail-link {
  border-color: #bcaeb7;
  border-radius: 7px;
  color: #4f263e;
  background: #fff;
  font-weight: 700;
}

.secondary-link:hover,
.table-detail-link:hover {
  border-color: #6f4a60;
  background: #f8f3f6;
}
