:root {
  --radius: 8px;
  --transition: all 0.3s ease;
}

/* ==================================================
   ABOUT PAGE CONTAINER
   ================================================== */
#aboutus-page {
  width: 100%;
  overflow-x: hidden;
}

.wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
/* ==================================================
   HEADER SECTION
   ================================================== */
.about-header {
  background: linear-gradient(135deg, var(--pink) 0%, var(--black1) 100%);
  padding: 120px 20px;
  text-align: center;
  background-size: cover;
  background-position: center;
  background-blend-mode: overlay;
}

.about-header h1 {
  font-size: 88px;
  font-weight: 700;
  font-family: "Rubik Mono One", "Mariupol", Helvetica, serif !important;
  line-height: 1;
  color: var(--white);
  text-transform: uppercase;
}

.about-header p {
  font-size: 28px;
  font-family: "Mariupol", Helvetica, serif !important;
  color: var(--white);
  max-width: 640px;
  padding: 0 20px;
  margin: 0 auto;
  line-height: 1.4;
}

/* ==================================================
   MISSION SECTION (Philosophy & Mission)
   ================================================== */
.about-mission {
  background: #fff5fb;
  padding: 55px 20px;
}

.about-mission .col-sm-6 {
  min-width: 0;
  position: relative;
  padding-left: 19px;

  &:before {
    content: "";
    position: absolute;
    width: 4px;
    height: 115px;
    left: 0;
    top: 0;
    background: linear-gradient(
      180deg,
      #972363 21.15%,
      rgba(151, 35, 99, 0.75) 47.12%,
      rgba(203, 140, 175, 0.85) 67.31%,
      #fff5fb 99.42%
    );
  }

  &:first-child div {
    max-width: 305px;
  }
}

.about-mission h5 {
  font-size: 13px;
  font-weight: 300;
  font-family: Inter, Montserrat, serif;
  color: var(--black1);
  margin: 0 0 15px;
  padding: 5px 0;
}

.about-mission div {
  font-size: 22px;
  font-weight: 500;
  font-family: Mariupol, Helvetica, serif;
  color: var(--black1);
  line-height: 1.2;
}

/* ==================================================
   HOW TO SECTION
   ================================================== */
.about-howto {
  padding: 65px 0 75px;
}

.about-title {
  font-size: 32px;
  line-height: 1;
  font-weight: 700;
  color: var(--black1);
  text-align: center;
  margin: 0 0 50px 0;
  position: relative;

  &:before {
    content: "";
    position: absolute;
    width: 4px;
    height: 185px;
    left: calc(50% - 92px);
    top: 87%;
    background: linear-gradient(
      180deg,
      #972363 17.79%,
      rgba(151, 35, 99, 0.75) 42.79%,
      rgba(203, 140, 175, 0.85) 61.06%,
      rgba(203, 140, 175, 0.33) 84.13%,
      rgba(255, 255, 255, 0) 99.04%
    );
    transform: matrix(0, 1, 1, 0, 0, 0);
    transform-origin: left top;
  }
}

.about-blocks {
  align-items: flex-start;
}

.about-item {
  flex: 1;
  align-content: center;
  padding: 25px 42px;
  border-radius: var(--radius);
  border: 4px solid var(--green);
  transition: var(--transition);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0);

  &:first-child {
    margin-right: -15px;
    padding-left: 25px;
  }

  &:nth-child(2) {
    margin: 30px -15px 0;
  }

  &:last-child {
    margin-left: -15px;
    padding-right: 25px;
  }
}

.about-item:hover {
  border-color: var(--green);
  transform: translateY(-5px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.about-item p {
  font-size: 18px;
  line-height: 1.6;
  color: var(--black1);
  margin: 0;
}

/* ==================================================
   BENEFITS SECTION
   ================================================== */
.about-benefits {
  background: var(--white);
  padding: 0 0 75px;

  .about-title {
    text-align: left;
    max-width: 400px;
    line-height: 1;

    &:before {
      left: 0;
      top: 100%;
    }
  }
}

.benefit-blocks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.benefit-item {
  flex: 1 1 calc(50% - 15px);
  width: 50%;
  padding: 30px 35px;
  transform: scale(1);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0);
  transition: var(--transition);
  position: relative;
  align-content: center;
}

.benefit-item:nth-child(1) {
  background: var(--black1);
  color: var(--white);
}

.benefit-item:nth-child(2) {
  background: var(--green);
  color: var(--black1);
}

.benefit-item:nth-child(3) {
  background: var(--pink);
  color: var(--white);
}

.benefit-item:nth-child(4) {
  background: #fff3ea;
  color: var(--black1);
}

.benefit-item:hover {
  transform: scale(1.05);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
  z-index: 1;
}

.benefit-item h4 {
  font-size: 24px;
  font-family: Mariupol, Helvetica, serif;
  font-weight: 700;
  margin: 0 0 5px 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.benefit-item h4 i {
  width: 46px;
  height: 46px;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}

.benefit-item p {
  font-size: 22px;
  font-family: Mariupol, Helvetica, serif;
  line-height: 1.5;
  margin: 0;
}

.benefit-item:nth-child(3) h4,
.benefit-item:nth-child(3) p,
.benefit-item:nth-child(1) h4,
.benefit-item:nth-child(1) p {
  color: var(--white);
}

.benefit-item:nth-child(2) h4,
.benefit-item:nth-child(2) p,
.benefit-item:nth-child(4) h4,
.benefit-item:nth-child(4) p {
  color: var(--black1);

  & i {
    width: 40px;
    height: 40px;
  }
}

/* ==================================================
   CONTACT SECTION
   ================================================== */
.about-contact {
  padding: 100px 0;
  background:
    linear-gradient(
      71.51deg,
      rgba(151, 35, 99, 0.9) -1.33%,
      rgba(222, 182, 213, 0.93) 30.68%,
      rgba(234, 240, 255, 0.86) 45.64%,
      rgba(211, 233, 238, 0.9) 63.52%,
      rgba(134, 219, 188, 0.9) 91.71%
    ),
    #fef9f5;

  .col-md-4 {
    text-align: right;
    align-content: center;
  }
}

.about-contact h4 {
  margin: 0 0 10px;
  text-align: left;
  padding: 0;

  &:before {
    display: none;
  }
}

.about-contact p {
  font:
    500 24px Mariupol,
    Helvetica,
    serif;
  color: var(--black1);
  margin: 0;
}

.about-contact .btn {
  display: inline-block;
  text-transform: uppercase;
  padding: 16px 50px;
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 50px;
  transition: var(--transition);
  text-align: center;
  white-space: nowrap;
}

.about-contact .black-btn {
  background: var(--black1);
  color: var(--white);
  opacity: 1;
}

.about-contact .black-btn:hover {
  opacity: 0.9;
  transform: translateY(-2px);
}

@media screen and (min-width: 1440px) {

  .wrapper {
    padding: 0;
  }

  .about-header h1 {
    font-size: 120px;
    margin-bottom: 15px;
  }

  .about-header p {
    font-size: 32px;
  }

  .about-mission h5 {
    font-size: 14px;
    margin: 0 0 20px;
  }

  .about-mission div {
    font-size: 24px;
  }

  .about-title {
    font-size: 36px;
  }

  .about-item p {
    font-size: 20px;
  }

  .about-item {
    flex: 1;
    align-content: center;
    padding: 30px 60px;
    border-radius: var(--radius);
    border: 4px solid var(--green);
    transition: var(--transition);

    &:first-child {
      margin-right: -20px;
      padding-left: 30px;
    }

    &:nth-child(2) {
      margin-top: 30px;
      margin: 30px -20px 0;
    }

    &:last-child {
      margin-left: -20px;
      padding-right: 30px;
    }
  }
}

@media (max-width: 1200px) {
  .wrapper {
    max-width: 992px;
    padding: 0 20px;
  }
}

/* ==================================================
   RESPONSIVE DESIGN - TABLET
   ================================================== */
@media (max-width: 992px) {
  .about-header h1 {
    font-size: 70px;
  }

  .about-header p {
    font-size: 18px;
    max-width: 450px;
    line-height: 1.3;
  }

  .about-mission {
    padding: 40px 20px;

    div {
      font-size: 20px;
    }
  }

  .about-mission h5 {
    margin: 0 0 10px;
  }

  .about-howto {
    padding: 50px 0 65px;
  }

  .about-blocks {
    flex-wrap: wrap;
  }

  .about-item {
    padding: 15px 30px;

    &:first-child {
      margin-right: -10px;
      padding-left: 20px;
    }

    &:nth-child(2) {
      margin: 20px -10px 0;
    }

    &:last-child {
      margin-left: -10px;
      padding-right: 20px;
    }
  }

  .benefit-item {
    flex: 1 1 calc(50% - 15px);
    padding: 30px;

    h4 {
      font-size: 22px;
      line-height: 1.2;
      margin: 0;
    }

    p {
      font-size: 18px;
      line-height: 1.4;
    }
  }

  .about-contact {
    padding: 70px 0;

    h4 {
      font-size: 28px;
    }
    p {
      font-size: 18px;
    }

    .btn {
      padding: 13px 35px;
      font-size: 16px;
    }
  }
}

/* ==================================================
   RESPONSIVE DESIGN - MOBILE
   ================================================== */
@media (max-width: 768px) {
  .about-header {
    padding: 70px 20px 60px;
  }

  .about-header h1 {
    font-size: 56px;
    padding: 0 0 5px;
  }

  .about-mission {
    padding: 45px 15px 55px;

    div {
      font-size: 18px;
    }
  }

  .about-howto {
    padding: 50px 15px;
  }

  .about-title {
    font-size: 28px;
  }

  .about-blocks {
    flex-direction: column;
    gap: 20px;
  }

  .about-item {
    padding: 30px 24px;
    align-self: flex-start;

    &:first-child {
      margin-right: 0;
      padding-left: 24px;
      padding-bottom: 40px;
    }

    &:nth-child(2) {
      margin: -45px -10px;
      padding: 40px 24px;
      align-self: center;
    }

    &:last-child {
      margin-left: 0;
      padding-right: 24px;
      padding-top: 40px;
    }
  }

  .about-benefits {
    padding-top: 10px;

    .about-title {
      text-align: center;
      margin: 0 auto 40px;
      &:before {
        left: calc(50% - 135px);
        top: 100%;
        height: 270px;
      }
    }
  }

  .benefit-blocks {
    gap: 20px;
  }

  .benefit-item {
    flex: 1 1 100%;
    padding: 30px 24px;
  }

  .benefit-item h4 {
    font-size: 18px;
    padding-top: 0;
  }

  .about-contact {
    padding: 50px 20px;
    text-align: center;
  }

  .about-contact h4 {
    text-align: center;
    font-size: 26px;
  }

  .about-contact {
    .row {
      gap: 25px;
    }
    .col-md-4 {
      text-align: center;
    }
    .btn {
      min-width: 250px;
    }
  }
}

/* ==================================================
   RESPONSIVE DESIGN - SMALL MOBILE
   ================================================== */
@media (max-width: 575px) {
  .about-header {
    padding: 50px 20px;
  }

  .about-header h1 {
    font-size: 48px;
  }

  .about-header p {
    font-size: 16px;
  }

  .about-title {
    font-size: 24px;
    margin-bottom: 30px;

    &:before {
      height: 163px;
      left: calc(50% - 72px);
    }
  }

  .about-mission,
  .about-howto {
    padding: 30px 10px;
  }

  .about-mission .row {
    gap: 20px;
    position: relative;
  }

  .about-mission .col-sm-6 {
    position: static;

    &:before {
      height: 190px;
    }
  }

  .about-mission h5 {
    font-size: 12px;
    margin: 0 0 3px;

      &:before {
        height: 190px;
      }
  }

  .about-mission div {
    font-size: 16px;
  }

  .about-item p,
  .benefit-item p {
    font-size: 14px;
  }

  .about-item {
    padding: 20px;

    &:first-child {
      padding-left: 20px;
      padding-bottom: 30px;
    }

    &:nth-child(2) {
      margin: -40px 0;
      padding: 30px 20px;
    }

    &:last-child {
      padding-right: 20px;
      padding-top: 30px;
    }
  }

  .about-benefits {
    padding-bottom: 50px;

    .about-title {
      max-width: 350px;

      &:before {
        left: calc(50% - 120px);
        height: 265px;
      }
    }
  }

  .benefit-blocks {
    gap: 0;
  }

  .benefit-item {
    padding: 25px 20px;

    i {
      width: 36px;
      height: 36px;
    }
  }

  .benefit-item:nth-child(2) h4,
  .benefit-item:nth-child(4) h4 {
    & i {
      width: 32px;
      height: 32px;
    }
  }

  .benefit-item h4 {
    font-size: 16px;
  }

  .about-contact {
    padding: 35px 10px;
  }

  .about-contact .row {
    flex-direction: column;
    text-align: center;
    gap: 30px;
  }

  .about-contact .btn {
    width: 100%;
    max-width: 300px;
    font-size: 14px;
  }

  .about-contact h4 {
    font-size: 22px;
  }

  .about-contact p {
    font-size: 16px;
  }
}

/* ==================================================
   ANIMATIONS
   ================================================== */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.about-item,
.benefit-item {
  animation: fadeInUp 0.6s ease-out;
}

.about-item:nth-child(2) {
  animation-delay: 0.1s;
}

.about-item:nth-child(3) {
  animation-delay: 0.2s;
}

.benefit-item:nth-child(2) {
  animation-delay: 0.1s;
}

.benefit-item:nth-child(3) {
  animation-delay: 0.2s;
}

.benefit-item:nth-child(4) {
  animation-delay: 0.3s;
}

/* ==================================================
   PRINT STYLES
   ================================================== */
@media print {
  .about-header {
    background: var(--pink);
    padding: 40px 20px;
  }

  .about-contact .btn {
    display: none;
  }

  .benefit-item,
  .about-item {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}
