/* Tejori — home page */

/* ---------- hero ---------- */

.hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8f8f8;
}

.hero img {
  width: 100%;
  height: auto;
}

.hero__txt {
  position: absolute;
  top: 47.6%;
  left: 6.992vw;
  transform: translateY(-50%);
  max-width: 31.25vw;
  text-align: center;
  color: #fff;
}

.hero__h {
  max-width: 23.281vw;
  margin: 0;
  font-size: 2.5vw;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 1px 1.5px .75px rgba(0, 0, 0, .7);
}

.hero__btns {
  display: flex;
  justify-content: center;
  gap: 1.302vw;
  margin-top: 1.198vw;
}

.hero__sell {
  background: var(--c-green);
  color: #fff;
  --btn-hover: #fff;
}

.hero__sell:hover {
  color: var(--c-green);
}

.hero__buy {
  background: #fff;
  color: var(--c-green);
}

.hero__buy:hover {
  color: #fff;
}

@media (max-width: 767px) {
  .hero__txt {
    top: 55%;
    left: 50%;
    width: 100%;
    max-width: 76.136vw;
    transform: translate(-50%, -50%);
  }

  .hero__h {
    max-width: 100%;
    font-size: 8.182vw;
    line-height: 10.227vw;
  }

  .hero__btns {
    flex-wrap: wrap;
    gap: 4.545vw;
    margin-top: 4.545vw;
  }

  .hero__btns .btn {
    max-width: 45.455vw;
  }
}

/* ---------- feature strip ---------- */

.feat {
  display: flex;
  justify-content: center;
  gap: 4.167vw;
  padding: .521vw 0;
  background: #fff;
}

.feat__i {
  display: flex;
  align-items: center;
}

.feat__i img {
  width: 2.604vw;
  height: 2.604vw;
  margin-right: .729vw;
}

.feat__t h3 {
  margin: 0;
  font-size: 1.042vw;
  font-weight: 700;
  line-height: 1.563vw;
}

.feat__t p {
  margin: 0;
  font-size: .833vw;
  font-weight: 600;
  line-height: 1.042vw;
  color: #555;
}

@media (max-width: 767px) {
  .feat {
    gap: 54px;
    padding: 10px 15px;
    justify-content: flex-start;
    overflow-x: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .feat::-webkit-scrollbar {
    display: none;
  }

  .feat__i {
    min-width: fit-content;
    gap: 10px;
  }

  .feat__i img {
    width: 9.091vw;
    height: 9.091vw;
    margin-right: 0;
  }

  .feat__t h3 {
    font-size: 15px;
    line-height: 22.5px;
  }

  .feat__t p {
    font-size: 10.6px;
    line-height: 13.25px;
  }
}

/* ---------- pre-loved ---------- */

.pl {
  padding: 4.167vw 0;
  text-align: center;
  background: #f5f5f5;
}

.pl__box {
  max-width: 84.74vw;
  margin-inline: auto;
}

.pl__sub {
  margin: 0;
  font-size: 2.292vw;
  font-weight: 700;
  line-height: 2.521vw;
  color: var(--c-txt);
}

.pl__h {
  margin: 0;
  font-family: var(--ff-script);
  font-size: 6.43vw;
  font-weight: 400;
  line-height: 5.208vw;
}

.pl__d {
  margin: .26vw 0 2.083vw;
  font-size: 1.667vw;
  font-weight: 700;
  line-height: 2.083vw;
  color: var(--c-mute);
}

.pl__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2.5vw;
}

.pl__c {
  position: relative;
  display: block;
  overflow: hidden;
}

.pl__c img {
  width: 100%;
  transition: transform .4s ease;
}

.pl__c:hover img {
  transform: scale(1.2);
}

.pl__lb {
  position: absolute;
  bottom: .521vw;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  font-size: 1.965vw;
  line-height: 2.135vw;
  color: #fff;
  text-shadow: .082vw .041vw .123vw #000;
}

@media (max-width: 767px) {
  .pl {
    padding: 9.091vw 4.545vw;
  }

  .pl__box {
    max-width: 100%;
  }

  .pl__sub {
    font-size: 7.5vw;
    line-height: 8.182vw;
  }

  .pl__h {
    font-size: 13.636vw;
    line-height: 13.636vw;
  }

  .pl__d {
    margin: 1.136vw 0 9.091vw;
    font-size: 3.409vw;
    line-height: 4.261vw;
  }

  .pl__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 4.545vw;
  }

  .pl__lb {
    bottom: 2.5vw;
    font-size: 5.665vw;
    line-height: 6.136vw;
  }
}

/* ---------- alankar ---------- */

.alk {
  background: #fff;
  overflow: hidden;
}

.alk__in {
  position: relative;
  display: flex;
  align-items: flex-end;
}

.alk__txt {
  flex: 1;
  padding-left: 5.108vw;
}

.alk__d {
  max-width: 28.646vw;
  margin: 0 0 2.865vw;
  font-size: 1.146vw;
  line-height: 1.563vw;
  letter-spacing: 0;
  color: var(--c-mute);
}

.alk__btn {
  background: var(--c-green);
  color: #fff;
  margin-bottom: 4.167vw;
  text-transform: uppercase;
}

.alk__btn .btn__in {
  gap: 1.779vw;
}

.alk__btn svg {
  height: 1.458vw;
}

.alk__img {
  width: 62.083vw;
  box-shadow: 0 .781vw 2.083vw rgba(0, 0, 0, .12);
}

/* the picture's own file is narrower than the box on some widths — stretch it */
.alk__img img {
  width: 100%;
  height: auto;
}

.tags {
  position: absolute;
  top: 4.067vw;
  left: 4.067vw;
  display: flex;
  flex-direction: column;
  row-gap: .521vw;
}

.tag {
  display: block;
  max-width: max-content;
  padding: .469vw 1.094vw;
  font-size: 2.763vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .414vw;
  text-transform: uppercase;
  color: var(--c-txt);
  background: #fff;
}

.tag--b {
  font-weight: 700;
}

.tag--pink {
  color: #e9599f;
}

@media (max-width: 768px) {
  .alk__in {
    flex-wrap: wrap;
  }

  .alk__txt {
    order: 1;
    padding: 6.818vw 4.545vw 9.091vw;
  }

  .alk__d {
    max-width: 100%;
    margin-bottom: 6.818vw;
    font-size: 3.409vw;
    line-height: 5.114vw;
  }

  /* this button carries its own small-screen sizes, and it switches one pixel
     later than the shared .btn rule does */
  .alk__btn {
    max-width: 100%;
    margin-bottom: 0;
    padding: 1.591vw 3.409vw;
    font-size: 4.545vw;
    letter-spacing: .227vw;
  }

  .alk__btn .btn__in {
    gap: 4.545vw;
    justify-content: center;
  }

  .alk__btn .btn__in svg {
    width: 8.759vw;
    height: 6.58vw;
  }

  .alk__img {
    position: relative;
    width: 100%;
  }

  .tags {
    top: auto;
    bottom: 9.091vw;
    left: 4.545vw;
    row-gap: 1.136vw;
  }

  .tag {
    padding: .909vw 2.273vw;
    font-size: 5.029vw;
    letter-spacing: .754vw;
  }
}

/* ---------- how it works ---------- */

.stp {
  position: relative;
  overflow: hidden;
  background: #fff;
}

.stp__box {
  position: relative;
  max-width: 75vw;
  margin-inline: auto;
  padding-block: 5.208vw;
}

.stp__box::after {
  content: "";
  position: absolute;
  right: -6.458vw;
  bottom: 3.177vw;
  width: 22.604vw;
  height: 16.979vw;
  background: url('../img/hookdesk.webp') no-repeat;
}

.stp__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.125vw 6.198vw;
}

.stp__i {
  display: flex;
  align-items: flex-start;
  column-gap: 1.563vw;
}

.stp__n {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.906vw;
  min-width: 3.906vw;
  height: 3.906vw;
  font-family: var(--ff-alt);
  font-size: 2.083vw;
  font-weight: 800;
  color: #fff;
  background: var(--c-green);
  border-radius: 50%;
}

.stp__c h3 {
  margin: 0;
  font-size: 2.083vw;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--c-txt);
}

.stp__c p {
  margin: 0;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.875vw;
  letter-spacing: 0;
  color: var(--c-txt);
}

@media (max-width: 767px) {
  .stp__box {
    max-width: 100%;
    padding-block: 9.091vw;
    padding-inline: 4.545vw;
  }

  .stp__box::after {
    right: -7.273vw;
    bottom: 10.455vw;
    width: 46.591vw;
    height: 35vw;
    background-image: url('../img/hook.webp');
  }

  .stp__grid {
    grid-template-columns: 1fr;
    gap: 8.636vw;
  }

  .stp__i {
    column-gap: 4.545vw;
  }

  .stp__n {
    width: 12.614vw;
    min-width: 12.614vw;
    height: 12.614vw;
    margin-top: 1.136vw;
    align-items: normal;
    font-size: 6.818vw;
    line-height: 13.409vw;
    text-align: center;
  }

  .stp__c h3 {
    margin-bottom: 2.727vw;
    font-size: 5.455vw;
    line-height: 1;
  }

  .stp__c p {
    font-size: 3.409vw;
    line-height: 5.114vw;
  }
}
