* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* =================================
PAGE
================================= */

html,
body {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

body {
  position: relative;

  width: 100%;
  height: 100vh;

  color: #000;

  font-family: Arial, Helvetica, sans-serif;

  background-image: url("IMG_3888.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* =================================
BACKGROUND
================================= */

body::before {
  content: "";

  position: fixed;
  inset: 0;

  z-index: 0;

  background: rgba(255, 255, 255, 0.95);

  pointer-events: none;
}

body::after {
  content: "";

  position: fixed;
  inset: 0;

  z-index: 0;

  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);

  pointer-events: none;
}

/* =================================
MAIN PAGE
================================= */

.page {
  position: relative;
  z-index: 1;

  width: 100vw;
  height: 100vh;

  margin: 0;

  overflow: hidden;

  text-align: center;
}

/* =================================
BRAND
================================= */

.hero {
  width: 100%;

  padding-top: 3.5vh;

  text-align: center;
}

.hero h1 {
  font-family: "Times New Roman", Times, serif;

  font-size: clamp(48px, 4.8vw, 68px);

  font-weight: 400;

  letter-spacing: 3px;

  line-height: 1;
}

.short-line {
  width: 430px;
  max-width: 55vw;

  height: 1px;

  margin: 7px auto 11px;

  background: #000;
}

.slogan {
  font-family: "Times New Roman", Times, serif;

  font-size: clamp(22px, 2.2vw, 31px);

  font-weight: 400;

  line-height: 1;

  white-space: nowrap;
}

/* =================================
SERVICES
================================= */

.services {
  width: 80%;
  max-width: 1000px;

  margin: 10vh auto 0;

  display: grid;

  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

  column-gap: 85px;

  text-align: left;

  align-items: start;

  transform: translateY(20px);
}

.service-card {
  min-width: 0;

  width: 100%;
}

.service-card h2 {
  font-family: "Times New Roman", Times, serif;

  font-size: 25px;

  font-weight: 400;

  line-height: 1.1;

  margin-bottom: 11px;

  white-space: normal;
}

.service-card.citizenship {
  position: static;
}

.price-line {
  font-family: Arial, Helvetica, sans-serif;

  font-size: 16px;

  line-height: 1.35;

  white-space: normal;

  margin-bottom: 4px;
}

.price-line strong {
  font-family: "Times New Roman", Times, serif;

  font-size: 23px;

  font-weight: 600;
}

.price-description {
  font-family: Arial, Helvetica, sans-serif;

  font-size: 15px;

  line-height: 1.35;

  margin-bottom: 12px;

  white-space: normal;
}

/* =================================
STATEMENTS
================================= */

.statement {
  width: 65%;

  max-width: 900px;

  margin: 9vh auto 0;

  text-align: center;
}

@media (min-width: 901px) {
  .statement {
    position: relative;

    top: 20px;
  }
}

.statement p {
  font-family: "Times New Roman", Times, serif;

  font-size: 18px;

  font-weight: 400;

  line-height: 1.25;

  margin-bottom: 5px;

  white-space: normal;
}

.statement .final-line {
  color: #000;

  font-weight: 700;
}

/* =================================
GET IN TOUCH
================================= */

.coming-soon {
  position: absolute;

  left: 0;
  right: 0;

  bottom: 3vh;

  width: 100%;

  font-family: "Times New Roman", Times, serif;

  font-size: 17px;

  font-weight: 400;

  text-align: center;
}

/* =================================
TABLET
================================= */

@media (max-width: 1100px) {

  .hero {
    padding-top: 3vh;
  }

  .services {
    width: 80%;
    max-width: 1000px;

    column-gap: 55px;

    margin-top: 8vh;
  }

  .service-card h2 {
    font-size: 22px;
  }

  .price-line {
    font-size: 15px;
  }

  .price-line strong {
    font-size: 22px;
  }

  .price-description {
    font-size: 14px;
  }

  .statement {
    margin-top: 7vh;
  }

  .statement p {
    font-size: 17px;
  }
}

/* =================================
MOBILE
================================= */

@media (max-width: 900px) {

  html,
  body {
    height: auto;
    min-height: 100%;
    overflow-y: auto;
  }

  body {
    background-attachment: scroll;
  }

  .page {
    width: 100%;

    height: auto;
    min-height: 100vh;

    overflow: visible;

    padding: 30px 6vw 65px;
  }

  .hero {
    width: 100%;

    padding-top: 0;
  }

  .hero h1 {
    font-size: 56px;
  }

  .short-line {
    width: 80%;

    max-width: 430px;

    margin: 7px auto 11px;
  }

  .slogan {
    font-size: 23px;

    line-height: 1.2;

    white-space: normal;
  }

  .services {
    width: 100%;
    max-width: 100%;

    margin-top: 45px;

    grid-template-columns: 1fr 1fr;

    column-gap: 24px;

    transform: none;
  }

  .service-card.citizenship {
    position: static;
  }

  .service-card h2 {
    font-size: 19px;

    white-space: normal;
  }

  .price-line {
    font-size: 14px;

    white-space: normal;

    line-height: 1.35;
  }

  .price-line strong {
    font-size: 20px;
  }

  .price-description {
    font-size: 14px;

    line-height: 1.35;

    margin-bottom: 12px;
  }

  .statement {
    width: 100%;

    margin: 45px auto 0;

    position: static;
  }

  .statement p {
    font-size: 16px;

    white-space: normal;

    line-height: 1.3;
  }

  .coming-soon {
    position: static;

    width: 100%;

    margin-top: 55px;

    font-size: 16px;
  }
}

/* =================================
SMALL PHONES
================================= */

@media (max-width: 650px) {

  .services {
    grid-template-columns: 1fr;

    row-gap: 28px;
  }
}
