:root {
  --pastel-orange: #fff4ea;
  --vivid-orange: #ff9b21;
  --dark-blue: #191847;
  --dark-purple: #4d315a;
  --black: #24132c;
}

* {
  box-sizing: border-box;
  /* outline: 1px solid red; */
}

body {
  font-family: 'Roboto', sans-serif;
  margin: 0 auto;
  width: 100vw;
}

/* header */

header {
  font-family: inherit;
  width: 100vw;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1em 3.5em;
  position: fixed;
  top: 0;
  left: 0;
  background-color: var(--pastel-orange);
  z-index: 1;
}

header figure {
  margin: 0;
}

header img {
  width: 100px;
}

header > a {
  font-size: 3em;
  font-weight: 900;
  text-decoration: none;
  color: var(--dark-blue);
}

nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 2em;
  width: 3.3em;
}

.fab {
  color: var(--dark-blue);
  transition: transform 200ms;
}

.fab:hover {
  transform: scale(1.1);
}

/* main */

main {
  font-family: inherit;
  width: 100vw;
  margin: 70px auto 0 auto;
  text-align: center;
}

section {
  font-family: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
}

h1 {
  font-weight: bold;
  font-size: 2.5em;
  line-height: 59px;
  max-width: 788px;
  margin: 60px 0;
  color: var(--dark-blue);
}

h2 {
  font-weight: bold;
  font-size: 32px;
  line-height: 38px;
  color: var(--black);
  margin: 0 0 20px 0;
}

main p {
  max-width: 700px;
  font-size: 21px;
  line-height: 31px;
}

/* section: intro */

.intro,
.communication {
  background-color: var(--pastel-orange);
}

.intro {
  height: 500px;
  position: relative;
}

.intro img {
  position: absolute;
  width: 690px;
  left: 50%;
  /* top: 250px; */
  top: 55%;
  margin-left: -345px;
}

/* section: context */

.context {
  padding: 140px 0 50px 0;
}

.context img {
  width: 550px;
}

/* section: communication */

.communication {
  padding: 50px 0;
}

/* section: commitment */

.commitment {
  padding: 50px 0 20px 0;
}

.commitment h2:nth-of-type(2) {
  margin-top: 40px;
}

.services {
  font-family: inherit;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content: center;
  width: 460px;
  padding: 0;
}

.services li {
  padding: 0.5em;
  font-size: 19px;
  line-height: 23px;
  text-transform: uppercase;
  margin: 10px;
}

.commitment img {
  margin-top: 20px;
}

/* section: container */

.container {
  position: relative;
}

.container img {
  position: absolute;
  top: 0;
  margin-top: -100px;
}

.buttons {
  width: 880px;
  max-width: 90vw;
  height: 270px;
  background-color: var(--pastel-orange);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 50px;
}

.buttons button {
  width: 224px;
  height: 67px;
  border-radius: 100px;
  border: none;
  font-family: inherit;
  font-weight: bold;
  font-size: 15px;
  line-height: 17px;
  color: white;
  text-align: center;
  cursor: pointer;
}

.buttons a:first-child {
  margin-right: 28px;
}

.orange {
  background-color: var(--vivid-orange);
}

.purple {
  background-color: var(--dark-purple);
}

/* footer */

footer {
  font-family: inherit;
  padding: 1em 2.5em;
  width: 100vw;
  display: flex;
  justify-content: flex-end;
}

footer p {
  font-size: 0.7em;
  color: grey;
}

footer a {
  color: grey;
}

@media (max-width: 800px) {
  h1 {
    font-size: 2em;
    max-width: 86vw;
    margin-bottom: 0;
  }
  main p {
    width: 86vw;
    font-size: 18px;
  }
  .intro img {
    width: 500px;
    margin-left: -250px;
    top: 65%;
  }
  .context {
    padding-top: 110px;
  }
  .context img {
    width: 60%;
  }
  .communication img {
    width: 85%;
  }
  .commitment img {
    width: 80%;
  }
  .container img {
    width: 320px;
    margin-top: -100px;
  }
}

@media (max-width: 600px) {
  h1 {
    line-height: 50px;
  }
  .intro img {
    width: 450px;
    margin-left: -225px;
  }
}

@media (max-width: 560px) {
  .buttons button {
    width: 200px;
    height: 55px;
  }
}

@media (max-width: 480px) {
  header {
    height: 70px;
    padding: 1em 2.5em;
  }
  header img {
    width: 90px;
  }
  h1 {
    font-size: 1.7em;
    line-height: 48px;
  }
  .intro {
    height: 400px;
  }
  .intro img {
    width: 360px;
    margin-left: -180px;
    top: 70%;
  }
  .context img {
    width: 70%;
  }
  .services {
    width: 350px;
    max-width: 90vw;
  }
  .services li {
    margin: 10px;
  }
  .container img {
    width: 280px;
    margin-top: -70px;
  }
  .buttons {
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    padding-bottom: 30px;
    margin-top: 60px;
  }
  .buttons a:first-child {
    margin: 0 0 20px 0;
  }
}

@media (max-width: 380px) {
  .intro img {
    width: 320px;
    margin-left: -160px;
  }
  .context {
    padding-top: 70px;
  }
  .context img {
    width: 80%;
  }
}

@media (max-width: 340px) {
  h1 {
    font-size: 1.7em;
    line-height: 40px;
  }
  h2 {
    font-size: 28px;
  }
  .services li {
    margin: 6px;
  }
}
