:root {
  --resolved__brand__grey__dark: rgb(88, 89, 91);
  --resolved__brand__grey: rgb(165, 174, 178);
  --resolved__brand__grey__light: rgb(230, 231, 232);
  --resolved__brand__grey__lightest: rgb(245, 246, 247);

  --resolved__brand__green__dark: rgb(0, 103, 121);
  --resolved__brand__green: rgb(0, 129, 152);
  --resolved__brand__green__light: rgb(86, 197, 208);

  --resolved__accent: orange;

  --resolved__font_family: "proxima-nova", sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background-color: var(--resolved__brand__green__dark);
  background: linear-gradient(
    -10deg,
    var(--resolved__brand__green__dark) 0%,
    var(--resolved__brand__green) 20%
  );
  height: 100vh;
  width: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;

  font-family: var(--resolved__font_family);
  font-weight: 300;
  font-style: normal;
}

.logo {
  display: block;
  position: absolute;
  top: 2rem;
  left: 2rem;
  width: 50%;
  max-width: 30rem;
  min-width: 10rem;
}

h1 {
  font-family: var(--resolved__font_family);
  font-weight: 300;
  font-style: normal;
}

h2 {
  font-family: var(--resolved__font_family);
  font-weight: 600;
  font-style: normal;
}

a {
  color: var(--resolved__brand__green__dark);
  text-decoration: none;
}

dialog {
  background-color: transparent;
  border: none;
  padding: 0;
}

dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.25);
}

.dialog__content {
  background-color: var(--resolved__brand__grey__light);
  padding: 2rem;
  max-width: 30rem;
}

dialog form {
  display: grid;
  justify-content: end;
}

dialog button {
  background-color: var(--resolved__brand__green__dark);
  color: var(--resolved__brand__grey__light);
  padding: 0.5rem 1rem;
  border-radius: 0;
  border: none;
  font-size: 1.25rem;
  font-family: sans-serif;
  text-transform: uppercase;
  font-family: var(--resolved__font_family);
}

dialog button:focus-visible {
  outline: 4px solid var(--resolved__accent);
}

.card {
  width: 100%;
  max-width: 20rem;
  margin: 0 auto;
  padding: 2rem;

  display: grid;
  gap: 1.5rem;

  position: absolute;
  bottom: 0;
  right: 0;

  color: var(--resolved__brand__grey__light);
}

.card h1 {
  font-size: 2rem;
  margin: 0;
}

.card h2 {
  font-size: 1rem;
  margin: -1.5rem 0 0;
  opacity: 0.75;
}

.card p {
  margin: 0;
}

.card .card__head {
  display: grid;
  gap: 1rem;
}

.card .card__head button {
  background-color: transparent;
  border: none;
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
  font-size: 1rem;
  border-left: 0.125rem solid var(--resolved__accent);
  padding: 0.25rem 0.75rem;
  color: var(--resolved__brand__grey__lightest);
  font-family: var(--resolved__font_family);
  font-weight: 300;
  font-style: normal;
}

.card .card__head button:hover {
  color: var(--resolved__accent);
}

.card .card__contacts {
  display: grid;
  gap: 1.5rem;
}

.card .card__contacts p a {
  font-size: 1rem;
  width: fit-content;
  border-left: 0.125rem solid var(--resolved__accent);
  padding: 0.25rem 0.75rem;
  color: var(--resolved__brand__grey__lightest);
}

.card .card__contacts p a:hover {
  color: var(--resolved__accent);
}
