@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Sankofa+Display&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Syncopate:wght@700&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}

html {
  scroll-behavior: smooth;
  font-size: 62.5%;
}

body {
  font-family: "Poppins", sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #333;
  letter-spacing: 1px;
}

h2 {
  font-size: 5rem;
  font-weight: 700;
}
@media (max-width: 1920px) {
  h2 {
    font-size: clamp(2.5rem, 2.604166vw, 5rem);
  }
}

h3 {
  font-size: 2.5rem;
  font-weight: 400;
}

a {
  text-decoration: none;
}

ul {
  list-style: none;
}

.fix-my-gutter {
  font-family: "Sankofa Display", sans-serif;
  text-transform: capitalize;
  font-size: 3rem;
  color: #fff;
  padding-top: 2rem;
  padding-left: 2rem;
  display: inline-block;
  position: absolute;
}
@media (max-width: 770px) {
  .fix-my-gutter {
    padding-top: 1rem;
    padding-left: 1rem;
  }
}

.fix-my-gutter img {
  height: 12rem;
  filter: drop-shadow(3px 3px 1rem rgba(255, 255, 255, 0.5));
}
@media (max-width: 770px) {
  .fix-my-gutter img {
    height: 10rem;
  }
}

.fix-my-gutter.black {
  color: #333;
}

#header {
  position: fixed;
  width: 100%;
  z-index: 2;
  display: flex;
}
#header label {
  position: absolute;
  top: 3rem;
  right: 3rem;
  z-index: 2;
  cursor: pointer;
  height: 7rem;
  width: 7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  box-shadow: 0 3px 2rem rgba(0, 0, 0, 0.45);
  background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.9));
}
#header label span {
  position: relative;
  height: 1px;
  width: 3rem;
  background-color: #fff;
  display: block;
  transition: 0.2s;
}
#header label span::before, #header label span::after {
  content: "";
  position: absolute;
  height: 1px;
  width: 3rem;
  left: 0;
  background-color: #fff;
  transition: 0.4s;
}
#header label span::before {
  top: -9px;
}
#header label span::after {
  bottom: -9px;
}
#header label:has(input:checked) {
  background: #333;
}
#header label:has(input:checked) span {
  background-color: transparent;
}
#header label:has(input:checked) span::before {
  rotate: 135deg;
  top: 0;
  left: 0;
}
#header label:has(input:checked) span::after {
  rotate: -135deg;
  bottom: 0;
  left: 0;
}
#header label input {
  display: none;
}
#header nav {
  background: linear-gradient(rgba(51, 51, 51, 0.9), rgba(70, 70, 70, 0.95));
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  box-shadow: -3px 0 2rem rgba(0, 0, 0, 0.5);
  overflow: hidden;
  width: 50vw;
  height: 100vh;
  transition: 0.3s;
  scale: 0 1;
  opacity: 0;
  translate: 100%;
}
#header:has(input:checked) nav {
  scale: 1;
  translate: 0;
  opacity: 1;
}
#header nav a {
  background: linear-gradient(120deg, transparent 0%, transparent 50%, #fff 50%);
  padding: 1rem 4rem;
  color: #fff;
  background-size: 250%;
  transition: 0.4s;
  font-size: 4rem;
  font-weight: 300;
}
#header nav a:hover {
  background-position: 100%;
  color: #333;
  scale: 1.1;
}
@media (max-width: 700px) {
  #header label {
    top: 1rem;
    right: 1rem;
    height: 5rem;
    width: 5rem;
  }
  #header label span {
    width: 2rem;
  }
  #header label span::before, #header label span::after {
    width: 2rem;
  }
  #header nav {
    gap: 1rem;
  }
  #header nav a {
    font-size: 2rem;
  }
}
@media (max-width: 450px) {
  #header nav {
    width: 80vw;
  }
}

#home {
  background: url(images/hero.jpg);
  background-size: cover;
  background-attachment: fixed;
  height: 100vh;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr min-content min-content 1fr;
  column-gap: 5rem;
}
#home h1,
#home p {
  padding: 5%;
  color: rgba(255, 255, 255, 0.7);
  border-radius: 2.5rem;
  box-shadow: 0 3px 2rem rgba(51, 51, 51, 0.5);
  border: 1px solid rgba(51, 51, 51, 0.5);
  backdrop-filter: blur(10px);
}
#home h1 {
  grid-row: 2/3;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.75));
  font-size: 6rem;
  text-align: right;
  display: flex;
  flex-direction: column;
  font-weight: 500;
  justify-content: center;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: none;
}
#home a {
  grid-row: 3/4;
  justify-self: end;
  background: linear-gradient(90deg, #E0115F, #DA2C43);
  padding: 1% 3%;
  border-radius: 50px;
  font-size: 2.2rem;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 5rem;
  text-transform: uppercase;
  font-weight: 600;
  transition: 0.2s;
}
#home a:hover {
  translate: 0 -5px;
  box-shadow: 0 3px 2rem rgba(0, 0, 0, 0.7);
}
#home aside {
  grid-row: 2/3;
  grid-column: 2/3;
  display: grid;
  grid-template-columns: 1fr max-content;
  grid-template-rows: repeat(2, min-content);
  align-content: end;
  row-gap: 1rem;
}
#home p {
  grid-column: 2/3;
  grid-row: 2/3;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.25));
  align-self: end;
  justify-self: end;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  width: 35rem;
  font-size: 1.8rem;
  line-height: 1.7;
  font-weight: 200;
}
#home .contact {
  grid-column: 2/3;
  display: flex;
  align-items: center;
  font-size: 2.2rem;
  color: #fff;
  gap: 1rem;
  padding-right: 3%;
}
#home .contact a {
  background: none;
  color: #fff;
  margin: 0;
}
#home .contact a:hover {
  box-shadow: none;
  translate: 0 0;
}
#home svg {
  height: 3.5rem;
  width: 3.5rem;
  fill: none;
}
#home svg path {
  stroke-width: 1;
  stroke: black;
}
@media (min-width: 1920px) {
  #home h1 {
    font-size: clamp(6.5rem, 2.0833vw, 8rem);
  }
}
@media (max-width: 1920px) {
  #home h1 {
    font-size: clamp(3.5rem, 3.125vw, 6rem);
  }
}
@media (max-width: 768px) {
  #home {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr min-content min-content 1fr;
    align-items: center;
  }
  #home h1 {
    grid-row: 2/3;
    padding: 3rem 0;
    text-align: center;
    border-radius: 0;
  }
  #home a {
    grid-row: 3/4;
    justify-self: center;
  }
  #home aside {
    grid-column: auto;
    grid-row: 4/5;
    align-self: end;
    margin-bottom: 1.5rem;
    margin-left: 1.5rem;
    display: flex;
  }
  #home .contact {
    width: 100%;
  }
  #home .contact a {
    background-color: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(5px);
  }
  #home aside p {
    display: none;
  }
}

#services {
  background: url(images/pro-servicce.png);
  background-size: auto 90%;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-color: rgba(51, 51, 51, 0.1);
  box-shadow: 0 5px 3rem rgba(0, 0, 0, 0.5);
  display: grid;
  grid-template-columns: repeat(2, 25vw);
  grid-auto-rows: min-content;
  padding: 5vw;
  column-gap: 25vw;
  row-gap: 5vw;
  position: relative;
  justify-content: center;
}
#services h2 {
  color: #333;
  grid-column: 1/-1;
  justify-self: center;
  mix-blend-mode: lighten;
}
#services div.card {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
#services div.card p {
  font-weight: 300;
  color: #333;
}
@media (max-width: 1420px) {
  #services {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.65)), url(images/pro-servicce1.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% 100%, auto 90%;
  }
  #services h2,
  #services h3,
  #services p {
    color: #fff !important;
  }
}
@media (max-width: 1200px) {
  #services {
    background-position: left bottom;
    gap: 5vw;
    justify-content: end;
  }
}
@media (max-width: 1050px) {
  #services {
    grid-template-columns: repeat(auto-fit, 40rem);
    padding-left: 20vw;
  }
}
@media (max-width: 800px) {
  #services {
    justify-content: center;
    padding: 10vw 1vw;
  }
  #services div.card {
    background-color: #333333;
    padding: 3vw;
    border-radius: 1rem;
  }
}
@media (max-width: 425px) {
  #services {
    grid-template-columns: repeat(auto-fit, 30rem);
  }
}

#about {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.5)), url(images/about-us-main.png);
  background-size: 100% 100%, 50vw;
  background-repeat: no-repeat;
  background-position: right bottom;
  display: grid;
  grid-template-columns: 35vw 1fr;
  grid-auto-rows: min-content;
  padding: 7vw;
  row-gap: 7vw;
}
#about h2 {
  grid-column: 1/-1;
  justify-self: center;
  mix-blend-mode: lighten;
}
#about aside {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}
#about aside p {
  font-size: 1.7rem;
  font-weight: 300;
}
#about div.tags {
  grid-column: 1/2;
  grid-row: 3/4;
  display: flex;
  flex-wrap: wrap;
  margin-top: 2rem;
  gap: 2rem;
}
#about div.tags span {
  background: linear-gradient(90deg, #DA2C43, #E0115F);
  padding: 0.7rem 2rem;
  display: block;
  border-radius: 50px;
  color: rgba(255, 255, 255, 0.9);
}
@media (min-width: 2000px) {
  #about {
    background-size: 100% 100%, 40vw;
  }
  #about h3 {
    font-size: clamp(3rem, 1.302vw, 5rem);
  }
  #about aside p {
    font-size: clamp(2rem, 0.651vw, 2.5rem);
  }
}
@media (max-width: 1700px) {
  #about {
    grid-template-columns: 45vw 1fr;
  }
}
@media (max-width: 1000px) {
  #about {
    grid-template-columns: 1fr;
    padding-bottom: clamp(10rem, 35vw, 40rem);
  }
}
@media (max-width: 500px) {
  #about h3 {
    font-size: clamp(1.8rem, 5vw, 2.5rem);
  }
}

#testimonials {
  position: relative;
  box-shadow: 0 3px 3rem rgba(0, 0, 0, 0.35);
  padding: 7vw;
  padding-top: 3vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3vw;
}
#testimonials::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.75);
  z-index: 0;
}
#testimonials video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: left top;
  z-index: -1;
}
#testimonials h2 {
  position: relative;
  z-index: 1;
  text-align: center;
}
#testimonials div.figures {
  position: relative;
  z-index: 1;
  color: #333;
  max-width: 115rem;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(35rem, 1fr));
  grid-auto-rows: min-content;
  gap: 5rem;
}
#testimonials figure {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 10px;
  padding: 10%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  border: 2px solid rgba(0, 0, 0, 0.5);
}
#testimonials figure blockquote {
  position: relative;
  font-style: italic;
  font-weight: 300;
}
#testimonials figure blockquote::before {
  position: absolute;
  font-size: 10rem;
  font-family: "Times New Roman", Times, serif;
  color: rgba(51, 51, 51, 0.55);
  line-height: 0;
}
#testimonials figure blockquote::before {
  content: "“";
  top: 3%;
  left: -18%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#testimonials figure figcaption {
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  padding-top: 1rem;
}
#testimonials figure figcaption span {
  font-weight: 300;
}
@media (max-width: 425px) {
  #testimonials {
    padding: 1vw;
  }
  #testimonials div.figures {
    grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
  }
}

#ready {
  background: url(images/woman-ladder2.png);
  background-size: auto 100%;
  background-repeat: no-repeat;
  height: 50rem;
  display: flex;
  padding: 10vw;
  padding-right: 7vw;
  justify-content: end;
  align-items: center;
}
#ready div.content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
}
#ready h2 {
  font-size: 4rem;
}
#ready div.content p {
  font-size: 1.8rem;
}
#ready div.content a {
  background: linear-gradient(90deg, #DA2C43, #E0115F);
  padding: 1.5rem 3rem;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 500;
  margin-top: 3rem;
  border-radius: 50px;
  transition: 0.2s;
}
#ready div.content a:hover {
  box-shadow: 0 3px 2rem rgba(0, 0, 0, 0.25);
  scale: 1.03;
  translate: 0 -4px;
}
@media (max-width: 900px) {
  #ready div.content {
    background-color: rgba(255, 255, 255, 0.7);
    padding: 2rem;
    border-radius: 5px;
  }
}
@media (max-width: 550px) {
  #ready div.content a {
    font-size: 1.2rem;
    text-align: center;
  }
}

#form {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.1)), url(images/man.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 7vw;
  display: flex;
  flex-direction: column;
  gap: 5rem;
  color: #fff;
}
#form div.heading p {
  width: 30%;
}
#form div.heading h2 {
  font-size: 4.5rem;
}
#form form {
  display: flex;
  flex-direction: column;
  width: 40%;
  gap: 3rem;
}
#form form div.form-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
#form form div.form-group input,
#form form div.form-group textarea {
  border-radius: 5px;
  padding: 1rem;
  background-color: rgba(0, 0, 0, 0.5);
  border: 1px solid transparent;
  outline: none;
  transition: 0.5s;
}
#form form div.form-group input:focus,
#form form div.form-group textarea:focus {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
#form form div.form-group textarea {
  height: 200px;
}
#form button {
  border: none;
  outline: none;
  align-self: center;
  padding: 1rem 3rem;
  border-radius: 50px;
  cursor: pointer;
  background: linear-gradient(#E0115F, #DA2C43);
}
@media (min-width: 2000px) {
  #form form {
    width: 60rem;
  }
}
@media (max-width: 1300px) {
  #form {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  #form div.heading {
    grid-column: 2/3;
  }
  #form div.heading p {
    width: 100%;
  }
  #form form {
    width: 100%;
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
@media (max-width: 1000px) {
  #form {
    grid-template-columns: 70vw;
    justify-content: center;
  }
  #form div.heading {
    grid-column: auto;
  }
  #form div.heading h2 {
    font-size: clamp(2.5rem, 4.5vw, 4.5rem);
  }
  #form form {
    grid-column: auto;
    grid-row: auto;
  }
}

footer {
  height: 100vh;
  display: grid;
  grid-template-rows: 1fr min-content;
}

#contact {
  background: linear-gradient(90deg, #1f2428, #5a6874);
  color: #fff;
  padding: 13vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
  box-shadow: 0 0 3rem rgba(0, 0, 0, 0.3);
}
#contact div.content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
#contact div.content > span {
  background: linear-gradient(90deg, rgba(133, 232, 133, 0.4), #6e8a96);
  padding: 1rem 2.5rem;
  border-radius: 7px;
  margin-top: 4rem;
  align-self: flex-start;
}
#contact h2 {
  font-weight: 300;
  margin-bottom: 4rem;
}
#contact a:hover {
  transition: 0.4s;
  color: #02f802;
}

#copy {
  background: #333;
  padding: 7rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  color: #fff;
  font-weight: 300;
  font-size: 1.8rem;
}
#copy strong {
  color: #85e885;
  font-weight: 700;
}
#copy p.craft a {
  color: #02f802;
}
#copy div.policy {
  display: flex;
  gap: 1.5rem;
}
#copy div.policy span {
  width: 1px;
  background-color: #fff;
  display: inline-block;
}
#copy div.policy a {
  transition: 0.5s;
}
#copy div.policy a:hover {
  color: #02f802;
}
@media (max-width: 425px) {
  #copy {
    padding: 1vw;
  }
}