:root {
  --radius: 8px;
  --transition: all 0.3s ease;
}

/* ==================================================
   ABOUT PAGE CONTAINER
   ================================================== */
#custom-page {
  width: 100%;
  overflow-x: hidden;
}

.wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
/* ==================================================
   HEADER SECTION
   ================================================== */
.custom-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;
}

.custom-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;
}

.custom-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 .intro-box {
    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;
}

.intro-box {
  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;
}

.custom-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;

  .custom-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
   ================================================== */
.custom-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;
  }
}

.custom-contact h4 {
  margin: 0 0 10px;
  text-align: left;
  padding: 0;

  &:before {
    display: none;
  }
}

.custom-contact p {
  font:
    500 24px Mariupol,
    Helvetica,
    serif;
  color: var(--black1);
  margin: 0;
}

.custom-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;
}

.custom-contact .black-btn {
  background: var(--black1);
  color: var(--white);
  opacity: 1;
}

.custom-contact .black-btn:hover {
  opacity: 0.9;
  transform: translateY(-2px);
}



/* ==================================================
   PARTNERS PAGE
   ================================================== */
.partners-header {
  padding: 70px 20px;;

  h1 {
    font-size: 70px;
    margin: 0;
    padding: 5px 0;
  }

  p {
    font-weight: 500;
    font-size: 32px;
  }
}

.partners-intro {
  padding: 55px 0 0;

  .custom-title:before {
    height: 236px;
    left: calc(50% - 118px);
  }

  .intro-block {
    display: flex;
    flex-direction: column;
  }

  .intro-box {
    width: calc(100% - 92px);
    padding: 25px 30px;
    border-radius: var(--radius);
    border: 4px solid var(--green);
    transition: var(--transition);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0);
    font-weight: 400;
    background: rgba(134, 219, 188, 5%);

    &:hover {
      border-color: var(--green);
      transform: translateY(-5px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    }

    &.intro-box-primary {
      padding-bottom: 40px;

    }

    &.intro-box-secondary {
      align-self: flex-end;
      padding-top: 40px;
      margin-top: -24px;
    }
  }
}

/* partners-benefits list*/
.partners-benefits {
  padding: 65px 0 75px;

  .custom-title {
    width: 620px;
    margin: 0 auto 50px;
    max-width: 100%;

    &:before {
      top: 100%;
      height: 500px;
      left: calc(50% - 250px);
    }
  }

  .partners-benefit-blocks {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
  }

  .partners-benefit-item {
    border-radius: var(--radius);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0);
    transition: var(--transition);
    position: relative;
    color: var(--black1);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 60px;
    gap: 5px;
    max-width: calc(50% - 5px);

    h4 {
      font-size: 24px;
      font-weight: 700;
    }

    p {
      font-size: 20px;
      line-height: 1.5;
      margin: 0;
    }

    h4, p {
      color: var(--black1);
      font-family: Mariupol, Helvetica, serif;
    }

    &:hover {
      transform: translateY(-5px);
      box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
    }
  }

  .benefit-pink {
    background: linear-gradient(90deg, #A42F70 0%, #D8ABB5 44%, #FFFAE0 100%);
    border-radius: var(--radius) var(--radius) var(--radius) 0;
  }

  .benefit-green {
    background: linear-gradient(90deg, #FFFAE0 0%, #EDFFF1 44%, #86DBBC 100%);
    border-radius: var(--radius) var(--radius) 0 var(--radius);
  }

  .benefit-blue {
    background: linear-gradient(90deg, #647B8C 0%, #BBE0DD 42%, #FFFAE0 100%);
    border-radius: 0 var(--radius) var(--radius) var(--radius);
  }

  .benefit-cream {
    background: linear-gradient(90deg, #FFFAE0 0%, #f1e8dc 44%, #FEE7D7 100%);
    border-radius: var(--radius) 0 var(--radius) var(--radius);
  }

  .benefit-center {
    border-radius: var(--radius);
    margin: 0 auto;
    background: linear-gradient(180deg, #FFFAE0 0.01%, #E2F5E7 49.04%, #86DBBC 100%);
  }
}

.partners-contact {
  background: #F5E9F0;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 60px 0;

  h4 {
    padding-bottom: 10px;
    margin-bottom: 14px;

    &:before {
      display: block;
      top: 100%;
      left: 0;
    }
  }

  p {
    font-weight: 400;
    font-size: 22px;
    line-height: 1.2;
  }
}

@media screen and (min-width: 1440px) {

  .wrapper {
    padding: 0;
  }

  .custom-header h1 {
    font-size: 120px;
    margin-bottom: 15px;
  }

  .partners-header {
    h1 {
      font-size: 70px;
      margin-bottom: 0;
    }
  }

  .custom-header p {
    font-size: 32px;
  }

  .about-mission h5 {
    font-size: 14px;
    margin: 0 0 20px;
  }

  .about-mission div {
    font-size: 24px;
  }

  .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;
  }

  .partners-benefits {
    .partners-benefit-item {
      padding: 30px 50px;
      gap: 0;
    }
  }
}

/* ==================================================
   RESPONSIVE DESIGN - TABLET
   ================================================== */
@media (max-width: 992px) {
  .custom-header h1 {
    font-size: 70px;
  }

  .partners-header h1 {
    font-size: 60px;
  }

  .custom-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;
    }
  }

  .custom-contact {
    padding: 70px 0;

    h4 {
      font-size: 28px;
    }
    p {
      font-size: 18px;
    }

    .btn {
      padding: 13px 35px;
      font-size: 16px;
    }
  }

  /* Partners responsive - tablet */
  .partners-intro {
    .intro-box {
      width: calc(100% - 60px);
      padding: 22px 28px;
      font-size: 20px;

      &.intro-box-primary {
        padding-bottom: 35px;
      }

      &.intro-box-secondary {
        padding-top: 35px;
      }
    }
  }

  .partners-benefits {
    .partners-benefit-item {
      padding: 30px 35px;

      h4 {
        font-size: 20px;
      }

      p {
        font-size: 18px;
      }
    }

    .benefit-center {
      max-width: calc(50% - 7.5px);
    }
  }
}

/* ==================================================
   RESPONSIVE DESIGN - MOBILE
   ================================================== */
@media (max-width: 767px) {
  .custom-header {
    padding: 70px 20px 60px;
  }

  .custom-header h1 {
    font-size: 56px;
    padding: 0 0 5px;
  }

  .partners-header h1 {
    font-size: 50px;
  }

  .about-mission {
    padding: 45px 15px 55px;

    div {
      font-size: 18px;
    }
  }

  .about-howto {
    padding: 50px 15px;
  }

  .custom-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 0;
      padding: 40px 24px;
      align-self: end;
    }

    &:last-child {
      margin-left: 0;
      padding-right: 24px;
      padding-top: 40px;
    }
  }

  .about-benefits {
    padding-top: 10px;

    .custom-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;
  }

  .custom-contact {
    padding: 50px 20px;
    text-align: center;
  }

  .custom-contact h4 {
    text-align: center;
    font-size: 26px;
  }

  .custom-contact {
    .row {
      gap: 30px;
    }
    .col-md-4 {
      text-align: center;
    }
    .btn {
      min-width: 250px;
    }
  }

  .partners-intro {
    padding: 50px 0 0;
  }

  .partners-benefits {
    padding: 60px 0;

    .partners-benefit-blocks {
      gap: 0;
    }

    .partners-benefit-item {
      max-width: 100%;
      padding-top: 20px;
    }

    .benefit-pink {
      background: linear-gradient(90deg, #A42F70 0%, #c56897 20%, #e9c8cf 65%, #FFF 100%);
      border-radius: var(--radius) 0 0 var(--radius) ;
    }

    .benefit-green {
      background: linear-gradient(90deg, #FFF 0%, #f3fdf5 30%, #dcf1e1 65%, #86DBBC 100%);
      border-radius: 0 var(--radius) var(--radius) 0;
    }

    .benefit-blue {
      background: linear-gradient(90deg, #647B8C 0%, #c4edea 40%, #FFF 100%);
      border-radius: var(--radius) 0 0 var(--radius) ;
    }

    .benefit-cream {
      background: linear-gradient(90deg, #FFF 0%, #f1e8dc 55%, #FEE7D7 100%);
      border-radius: 0 var(--radius) var(--radius) 0;
    }

    .benefit-center {
      background: linear-gradient(90deg, #86DBBC 0%, #dcf1e1 36%, #f3fdf5 55%, #FFF 100%);
      border-radius: var(--radius) 0 0 var(--radius) ;
    }
  }

  .partners-contact {
    h4 {
      &:before {
        display: block;
        top: 100%;
        left: calc(50% - 130px);
        height: 260px;
      }
    }
  }

}

/* ==================================================
   RESPONSIVE DESIGN - SMALL MOBILE
   ================================================== */
@media (max-width: 575px) {
  .custom-header {
    padding: 50px 20px;
  }

  .custom-header h1 {
    font-size: 48px;
  }

  .partners-header h1 {
    font-size: 40px;
  }

  .custom-header p {
    font-size: 16px;
  }

  .custom-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;

    .custom-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;
  }

  /* Partners page responsive */
  .partners-intro {
    padding: 20px 0 0;


    .custom-title:before {
      height: 160px;
      left: calc(50% - 80px);
    }

    .intro-box {
      width: calc(100% - 20px);
      padding: 20px;
      font-size: 16px;

      &.intro-box-primary {
        padding-bottom: 30px;
      }

      &.intro-box-secondary {
        padding-top: 30px;
        margin-top: -20px;
      }
    }
  }

  .partners-benefits {
    padding: 30px 0 50px;

    .custom-title {
      width: auto;
      max-width: 350px;
      font-size: 20px;
      margin: 0 auto 35px;

      &:before {
        height: 300px;
        left: calc(50% - 150px);
      }
    }

    .partners-benefit-blocks {

      .partners-benefit-item {
        padding: 20px 20px 25px;

        h4 {
          font-size: 18px;
        }

        p {
          font-size: 15px;
        }
      }

      .benefit-pink {
        background: linear-gradient(90deg, #A42F70 0%, #c56897 15%, #e9c8cf 50%, #FFF 100%);
      }

      .benefit-center {
        max-width: 100%;
      }
    }

    .partners-contact {
      & h4 {
        font-size: 20px;

        &:before {
          display: block;
          top: 100%;
          left: calc(50% - 100px);
          height: 200px;
        }
      }
    }
  }

  .custom-contact {
    padding: 35px 10px;
  }

  .custom-contact .row {
    flex-direction: column;
    text-align: center;
    gap: 30px;
  }

  .custom-contact .btn {
    width: 100%;
    max-width: 300px;
    font-size: 14px;
  }

  .custom-contact h4 {
    font-size: 22px;
  }

  .custom-contact p {
    font-size: 15px;
  }
}

/* ==================================================
   ANIMATIONS
   ================================================== */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.about-item,
.benefit-item,
.partners-benefit-item,
.intro-box {
  animation: fadeInUp 0.6s ease-out;
}

.about-item:nth-child(2),
.benefit-item:nth-child(2),
.partners-benefit-item:nth-child(2),
.intro-box-secondary {
  animation-delay: 0.1s;
}

.about-item:nth-child(3),
.benefit-item:nth-child(3),
.partners-benefit-item:nth-child(3) {
  animation-delay: 0.2s;
}

.benefit-item:nth-child(4),
.partners-benefit-item:nth-child(4) {
  animation-delay: 0.3s;
}

.partners-benefit-item:nth-child(5) {
  animation-delay: 0.4s;
}

/* ==================================================
   PRINT STYLES
   ================================================== */
@media print {
  .custom-header {
    background: var(--pink);
    padding: 40px 20px;
  }

  .custom-contact .btn {
    display: none;
  }

  .benefit-item,
  .about-item {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}
