/* ================================================
  Line Animation - Base Styles
================================================ */
.mv-line {
  pointer-events: none;
}

.mv-line .__lines {
  position: absolute;
  left: 50%;
  z-index: 5;
}

.mv-line .__line {
  width: 237px;
  height: 14px;
  position: absolute;
}

.mv-line .__line div {
  width: 0;
  height: 100%;
}

/* Line Colors */
.mv-line .__line.--orange div {
  background-color: var(--color-accent);
}

.mv-line .__line.--yellow div {
  background-color: #fdbe4c;
}

.mv-line .__line.--grey div {
  background-color: #acacac;
}

.mv-line .__line.--white div {
  background-color: #fff;
}

.mv-line .__line.--dark div {
  background-color: #333;
}

.mv-line .__line.--white-64 div {
  background-color: rgba(255, 255, 255, 0.64);
}

/* Line Directions */
.mv-line .--right .__line {
  transform: rotate(-6deg);
}

.mv-line .--right .__line div {
  margin: 0 0 0 auto;
}

.mv-line .--left .__line {
  transform: rotate(6deg);
}

/* Line Animation Keyframes */
@keyframes lineToLeft {
  from {
    width: 0;
    transform: translateX(200px);
  }
  to {
    width: 100%;
    transform: translateX(0);
  }
}

@keyframes lineToRight {
  from {
    width: 0;
    transform: translateX(-200px);
  }
  to {
    width: 100%;
    transform: translateX(0);
  }
}

.mv-line .--right .__line.is-animated div {
  animation: lineToLeft 0.8s ease forwards;
}

.mv-line .--left .__line.is-animated div {
  animation: lineToRight 0.8s ease forwards;
}

/* ================================================
  Subpage Header Lines
================================================ */
.line_subpHeader {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.line_subpHeader .__lines {
  top: 0;
  width: 100%;
  height: 100%;
}

/* Right side lines - Mobile */
.line_subpHeader .__lines:nth-child(1) .__line {
  transform: rotate(-12deg);
  width: 120px;
  height: 6px;
}

.line_subpHeader .__lines:nth-child(1) .__line:nth-child(1) {
  top: 70%;
  margin-left: 35vw;
  height: 10px;
}

.line_subpHeader .__lines:nth-child(1) .__line:nth-child(2) {
  top: 80%;
  margin-left: 28vw;
  width: 85px;
  height: 10px;
}

.line_subpHeader .__lines:nth-child(1) .__line:nth-child(3) {
  display: none;
}

/* Left side lines - Mobile */
.line_subpHeader .__lines:nth-child(2) .__line {
  transform: rotate(-12deg);
  width: 140px;
  height: 6px;
}

.line_subpHeader .__lines:nth-child(2) .__line:nth-child(1) {
  top: 95%;
  margin-left: -85vw;
}

.line_subpHeader .__lines:nth-child(2) .__line:nth-child(2) {
  top: 25%;
  margin-left: 0;
}

.line_subpHeader .__lines:nth-child(2) .__line:nth-child(3) {
  top: 33%;
  margin-left: -15vw;
  width: 120px;
}

@media screen and (min-width: 768px) {
  .line_subpHeader .__lines:nth-child(1) .__line {
    width: 180px;
    height: 8px;
  }

  .line_subpHeader .__lines:nth-child(1) .__line:nth-child(1) {
    top: 57%;
    margin-left: 20vw;
  }

  .line_subpHeader .__lines:nth-child(1) .__line:nth-child(2) {
    top: 55%;
    margin-left: 27vw;
    width: 350px;
  }

  .line_subpHeader .__lines:nth-child(1) .__line:nth-child(3) {
    display: block;
    top: 3%;
    margin-left: 42vw;
    width: 100px;
  }

  .line_subpHeader .__lines:nth-child(2) .__line {
    width: 200px;
    height: 5px;
  }

  .line_subpHeader .__lines:nth-child(2) .__line:nth-child(1) {
    top: unset;
    bottom: 5%;
    margin-left: -55vw;
    height: 8px;
  }

  .line_subpHeader .__lines:nth-child(2) .__line:nth-child(2) {
    top: 11%;
    margin-left: -9vw;
    width: 160px;
  }

  .line_subpHeader .__lines:nth-child(2) .__line:nth-child(3) {
    top: 15%;
    margin-left: -13vw;
    width: 120px;
  }
}

/* ================================================
  Interview Section Lines
================================================ */
.line_interview {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.line_interview .__lines {
  top: 0;
  width: 100%;
  height: 100%;
}

.line_interview .__line {
  height: 8px;
}

/* Mobile - hide bottom lines */
.line_interview .__lines:nth-child(3),
.line_interview .__lines:nth-child(4) {
  display: none;
}

/* Top left lines - Mobile */
.line_interview .__lines:nth-child(1) .__line {
  transform: rotate(12deg);
  width: 80px;
  height: 6px;
}

.line_interview .__lines:nth-child(1) .__line:nth-child(1) {
  top: 3%;
  margin-left: -40vw;
}

.line_interview .__lines:nth-child(1) .__line:nth-child(2) {
  top: 5%;
  margin-left: -30vw;
}

.line_interview .__lines:nth-child(1) .__line:nth-child(3) {
  top: 3%;
  margin-left: 30vw;
  width: 170px;
}

/* Top right lines - Mobile */
.line_interview .__lines:nth-child(2) .__line {
  transform: rotate(12deg);
  width: 100px;
  height: 6px;
}

.line_interview .__lines:nth-child(2) .__line:nth-child(1) {
  top: 10%;
  margin-left: 32vw;
}

.line_interview .__lines:nth-child(2) .__line:nth-child(2) {
  top: 7.5%;
  margin-left: 14vw;
}

@media screen and (min-width: 768px) {
  .line_interview .__lines:nth-child(3),
  .line_interview .__lines:nth-child(4) {
    display: block;
  }

  /* Top left lines */
  .line_interview .__lines:nth-child(1) .__line {
    transform: rotate(8deg);
    width: 160px;
    height: 8px;
  }

  .line_interview .__lines:nth-child(1) .__line:nth-child(1) {
    top: 7%;
    margin-left: -45vw;
  }

  .line_interview .__lines:nth-child(1) .__line:nth-child(2) {
    top: 9%;
    margin-left: -39vw;
  }

  .line_interview .__lines:nth-child(1) .__line:nth-child(3) {
    top: 8%;
    margin-left: -3vw;
    width: 260px;
    height: 10px;
  }

  /* Top right lines */
  .line_interview .__lines:nth-child(2) .__line {
    transform: rotate(8deg);
    width: 180px;
    height: 8px;
  }

  .line_interview .__lines:nth-child(2) .__line:nth-child(1) {
    top: 15%;
    margin-left: 30vw;
  }

  .line_interview .__lines:nth-child(2) .__line:nth-child(2) {
    top: 13%;
    margin-left: 24vw;
  }

  .line_interview .__lines:nth-child(2) .__line:nth-child(3) {
    top: 8%;
    margin-left: -7vw;
  }

  /* Bottom left lines */
  .line_interview .__lines:nth-child(3) .__line {
    transform: rotate(-5deg);
    width: 200px;
    height: 10px;
  }

  .line_interview .__lines:nth-child(3) .__line:nth-child(1) {
    top: unset;
    bottom: 2%;
    margin-left: -22vw;
  }

  .line_interview .__lines:nth-child(3) .__line:nth-child(2) {
    top: unset;
    bottom: 5%;
    margin-left: -48vw;
    width: 150px;
  }

  /* Bottom right line */
  .line_interview .__lines:nth-child(4) .__line {
    transform: rotate(-6deg);
    width: 180px;
    height: 10px;
  }

  .line_interview .__lines:nth-child(4) .__line:nth-child(1) {
    top: unset;
    bottom: 4%;
    margin-left: 20vw;
    width: 260px;
  }
}

/* ================================================
  Recruit Section Lines (extends Interview)
================================================ */
.line_recruit.line_interview .__lines:nth-child(1) .__line,
.line_recruit.line_interview .__lines:nth-child(2) .__line {
  transform: rotate(22deg);
}

.line_recruit.line_interview .__lines:nth-child(1) .__line:nth-child(3) {
  top: 4%;
  margin-left: 29vw;
  width: 170px;
}

.line_recruit.line_interview .__lines:nth-child(2) .__line:nth-child(3) {
  top: 3%;
  margin-left: 14vw;
}

@media screen and (min-width: 768px) {
  .line_recruit.line_interview .__lines:nth-child(1) .__line,
  .line_recruit.line_interview .__lines:nth-child(2) .__line {
    transform: rotate(8deg);
  }

  .line_recruit.line_interview .__lines:nth-child(1) .__line:nth-child(1) {
    top: 1%;
    margin-left: -49vw;
  }

  .line_recruit.line_interview .__lines:nth-child(1) .__line:nth-child(2) {
    top: 3%;
    margin-left: -40vw;
  }

  .line_recruit.line_interview .__lines:nth-child(1) .__line:nth-child(3) {
    top: 3%;
    margin-left: 0;
    width: 260px;
  }

  .line_recruit.line_interview .__lines:nth-child(2) .__line:nth-child(1) {
    top: 8%;
    margin-left: 26vw;
  }

  .line_recruit.line_interview .__lines:nth-child(2) .__line:nth-child(3) {
    top: 3%;
    margin-left: -8vw;
  }

  .line_recruit.line_interview .__lines:nth-child(3) .__line:nth-child(1) {
    bottom: 5%;
    margin-left: -41vw;
    height: 8px;
  }

  .line_recruit.line_interview .__lines:nth-child(4) .__line:nth-child(1) {
    bottom: 7%;
    margin-left: 2vw;
  }
}

/* ================================================
  Group Section Lines (extends Interview)
================================================ */
.line_group .__lines .__line {
  transform: rotate(0deg) !important;
}

.line_group .__lines:nth-child(1) .__line:nth-child(1) {
  top: 90%;
}

.line_group .__lines:nth-child(1) .__line:nth-child(2) {
  margin-left: -3vw;
}

.line_group .__lines:nth-child(2) .__line:nth-child(1) {
  top: 7%;
  margin-left: 5vw;
  width: 260px;
}

.line_group .__lines:nth-child(2) .__line:nth-child(2) {
  top: 97%;
  margin-left: -7vw;
  width: 260px;
  height: 10px;
}

/* ================================================
  Subpage Body Lines
================================================ */
.ly_subpBodyLines {
  position: relative;
}

.line_subpBody {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.line_subpBody .__lines {
  top: 0;
  width: 100%;
  height: 100%;
}

.line_subpBody .__line {
  height: 8px;
}

/* Top right lines - Mobile */
.line_subpBody .__lines:nth-child(1) .__line {
  transform: rotate(-12deg);
  width: 100px;
  height: 6px;
}

.line_subpBody .__lines:nth-child(1) .__line:nth-child(1) {
  top: 40px;
  margin-left: 32vw;
  height: 10px;
}

.line_subpBody .__lines:nth-child(1) .__line:nth-child(2) {
  top: 20px;
  margin-left: 14vw;
  width: 215px;
}

/* Bottom left lines - Mobile */
.line_subpBody .__lines:nth-child(2) .__line {
  transform: rotate(-12deg);
  width: 120px;
  height: 10px;
}

.line_subpBody .__lines:nth-child(2) .__line:nth-child(1) {
  top: unset;
  bottom: 30px;
  margin-left: -77vw;
  width: 200px;
}

/* Dark line override for specific sections */
.ly_jobApply .line_subpBody .__lines:nth-child(1) .__line:nth-child(2) div,
.ly_interviewOther
  .line_subpBody
  .__lines:nth-child(1)
  .__line:nth-child(2)
  div,
.ly_techniqueHammer
  .line_subpBody
  .__lines:nth-child(1)
  .__line:nth-child(2)
  div,
.ly_techniqueEffects
  .line_subpBody
  .__lines:nth-child(1)
  .__line:nth-child(2)
  div,
.ly_visionPhilosophy
  .line_subpBody
  .__lines:nth-child(1)
  .__line:nth-child(2)
  div {
  background-color: var(--color-text);
}

@media screen and (min-width: 768px) {
  .line_subpBody .__lines:nth-child(1) .__line {
    transform: rotate(-6deg);
    width: 180px;
    height: 8px;
  }

  .line_subpBody .__lines:nth-child(1) .__line:nth-child(1) {
    top: 90px;
    margin-left: 36vw;
    width: 350px;
  }

  .line_subpBody .__lines:nth-child(1) .__line:nth-child(2) {
    top: 80px;
    margin-left: 25vw;
    width: 215px;
  }

  .line_subpBody .__lines:nth-child(2) .__line:nth-child(1) {
    transform: rotate(-6deg);
    bottom: 50px;
    margin-left: -65vw;
    width: 350px;
    height: 14px;
  }

  .ly_techniqueHammer
    .line_subpBody
    .__lines:nth-child(2)
    .__line:nth-child(1) {
    bottom: 10px;
  }

  /* Modifier: top half positioning */
  .ly_subpBodyLines.md_topHalf
    .line_subpBody
    .__lines:nth-child(1)
    .__line:nth-child(1) {
    top: calc(50% + 90px);
  }

  .ly_subpBodyLines.md_topHalf
    .line_subpBody
    .__lines:nth-child(1)
    .__line:nth-child(2) {
    top: calc(50% + 80px);
  }

  /* Modifier: reversed/mirrored */
  .ly_subpBodyLines.md_reversed .line_subpBody {
    transform: scaleX(-1);
  }

  .ly_subpBodyLines.md_reversed .line_subpBody .__line {
    transform: rotate(6deg) !important;
  }

  .ly_subpBodyLines.md_reversed .__lines:nth-child(2) .__line:nth-child(1) {
    bottom: 120px;
  }
}

/* ================================================
  Message Section Lines
================================================ */
.line_message {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.line_message .__lines {
  top: 0;
  width: 100%;
  height: 100%;
}

.line_message.mv-line .__line {
  transform: rotate(-2deg);
  height: 10px;
}

/* Top right line (orange) - Mobile */
.line_message .__lines:nth-child(1) .__line:nth-child(1) {
  top: 17%;
  margin-left: 26vw;
  width: 120px;
  height: 8px;
}

/* Bottom left lines (white + yellow) - Mobile */
.line_message .__lines:nth-child(2) .__line:nth-child(1) {
  top: 8%;
  margin-left: -58vw;
  width: 180px;
  height: 10px;
}

.line_message .__lines:nth-child(2) .__line:nth-child(2) {
  top: 5%;
  margin-left: -53vw;
  width: 100px;
  height: 8px;
}

@media screen and (min-width: 768px) {
  /* Top right line (orange) */
  .line_message .__lines:nth-child(1) .__line:nth-child(1) {
    top: 60%;
    margin-left: 40vw;
    width: 280px;
    height: 8px;
  }

  /* Bottom left lines (white + yellow) */
  .line_message .__lines:nth-child(2) .__line:nth-child(1) {
    top: unset;
    bottom: 12%;
    margin-left: -42vw;
    width: 280px;
    height: 10px;
  }

  .line_message .__lines:nth-child(2) .__line:nth-child(2) {
    top: unset;
    bottom: 15%;
    margin-left: -50vw;
    width: 180px;
  }
}

/* ================================================
  Company Section Lines
================================================ */
.line_company {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.line_company .__lines {
  top: 0;
  width: 100%;
  height: 100%;
}

.line_company.mv-line .__line {
  transform: rotate(-8deg);
}

/* Top right lines (yellow + white) - Mobile */
.line_company .__lines:nth-child(1) .__line:nth-child(1) {
  top: 1%;
  margin-left: 2vw;
  width: 144px;
  height: 8px;
}

.line_company .__lines:nth-child(1) .__line:nth-child(2) {
  top: 2%;
  margin-left: 25vw;
  width: 100px;
  height: 8px;
}

/* Bottom left lines (yellow + white) - Mobile */
.line_company .__lines:nth-child(2) .__line:nth-child(1) {
  top: unset;
  bottom: 2%;
  margin-left: -55vw;
  width: 180px;
  height: 10px;
}

.line_company .__lines:nth-child(2) .__line:nth-child(2) {
  top: unset;
  bottom: 3%;
  margin-left: -61vw;
  width: 120px;
  height: 8px;
}

@media screen and (min-width: 768px) {
  .line_company.mv-line .__line {
    transform: rotate(-6deg);
  }

  /* Top right lines (yellow + white) */
  .line_company .__lines:nth-child(1) .__line:nth-child(1) {
    top: 7%;
    margin-left: 20vw;
    width: 215px;
    height: 10px;
  }

  .line_company .__lines:nth-child(1) .__line:nth-child(2) {
    top: 7%;
    margin-left: 29vw;
    width: 350px;
    height: 14px;
  }
}

/* ================================================
  Message Text Section Lines
================================================ */
.line_messageText {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.line_messageText .__lines {
  top: 0;
  width: 100%;
  height: 100%;
}

.mv-line.line_messageText .__line {
  transform: rotate(-6deg);
}

/* Top right line (yellow) - Mobile */
.line_messageText .__lines:nth-child(1) .__line:nth-child(1) {
  top: 3%;
  margin-left: 25vw;
  width: 140px;
  height: 10px;
}

/* Middle left lines (white + yellow) at ~50% - Mobile */
.line_messageText .__lines:nth-child(2) .__line:nth-child(1) {
  top: 46%;
  margin-left: -55vw;
  width: 120px;
  height: 8px;
}

.line_messageText .__lines:nth-child(2) .__line:nth-child(2) {
  top: 51%;
  margin-left: -48vw;
  width: 100px;
  height: 8px;
}

/* Bottom right lines (yellow + white) - Mobile */
.line_messageText .__lines:nth-child(3) .__line:nth-child(1) {
  top: unset;
  bottom: 5%;
  margin-left: 28vw;
  width: 140px;
  height: 10px;
}

.line_messageText .__lines:nth-child(3) .__line:nth-child(2) {
  top: unset;
  bottom: 3%;
  margin-left: 22vw;
  width: 100px;
  height: 8px;
}

@media screen and (min-width: 768px) {
  /* Top right line (yellow) */
  .line_messageText .__lines:nth-child(1) .__line:nth-child(1) {
    top: 5%;
    margin-left: 35vw;
    width: 280px;
    height: 12px;
  }

  /* Middle left lines (white + yellow) at ~50% */
  .line_messageText .__lines:nth-child(2) .__line:nth-child(1) {
    top: 48%;
    margin-left: -45vw;
    width: 350px;
    height: 10px;
  }

  .line_messageText .__lines:nth-child(2) .__line:nth-child(2) {
    top: 52%;
    margin-left: -38vw;
    width: 215px;
    height: 10px;
  }

  /* Bottom right lines (yellow + white) */
  .line_messageText .__lines:nth-child(3) .__line:nth-child(1) {
    bottom: 8%;
    margin-left: 35vw;
    width: 280px;
    height: 12px;
  }

  .line_messageText .__lines:nth-child(3) .__line:nth-child(2) {
    bottom: 5%;
    margin-left: 40vw;
    width: 180px;
    height: 10px;
  }
}

/* ================================================
  Reason CTA Section Lines
================================================ */
.line_reasonCta {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.line_reasonCta.mv-line .__line {
  transform: rotate(-9deg);
}

.line_reasonCta .__lines {
  top: 0;
  width: 100%;
  height: 100%;
}

/* Mobile: Top right lines (yellow + white 64%) */
.line_reasonCta .__lines:nth-child(1) .__line:nth-child(1) {
  top: 6%;
  margin-left: 2vw;
  width: 140px;
  height: 8px;
}

.line_reasonCta .__lines:nth-child(1) .__line:nth-child(2) {
  top: 7%;
  margin-left: 18vw;
  width: 120px;
  height: 10px;
}

/* Mobile: Bottom left lines (yellow + white 64%) */
.line_reasonCta .__lines:nth-child(2) .__line:nth-child(1) {
  top: unset;
  bottom: 7%;
  margin-left: -64vw;
  width: 140px;
  height: 8px;
}

.line_reasonCta .__lines:nth-child(2) .__line:nth-child(2) {
  top: unset;
  bottom: 5%;
  margin-left: -52vw;
  width: 140px;
  height: 10px;
}

@media screen and (min-width: 768px) {
  /* Desktop: All lines move to top right, override --left to behave as --right */
  .line_reasonCta .__lines:nth-child(2) .__line div {
    margin: 0 0 0 auto;
  }

  .line_reasonCta .__lines:nth-child(2) .__line.is-animated div {
    animation: lineToLeft 0.8s ease forwards;
  }

  /* First group: -6deg rotation */
  .line_reasonCta .__lines:nth-child(1) .__line:nth-child(1) {
    transform: rotate(-6deg);
    top: 10%;
    margin-left: 19vw;
    width: 215px;
    height: 8px;
  }

  .line_reasonCta .__lines:nth-child(1) .__line:nth-child(2) {
    transform: rotate(-6deg);
    top: 10%;
    margin-left: 29vw;
    width: 350px;
    height: 14px;
  }

  /* Second group: -21deg rotation, moves to top right */
  .line_reasonCta .__lines:nth-child(2) .__line:nth-child(1) {
    transform: rotate(-21deg);
    top: 24%;
    bottom: unset;
    margin-left: 41vw;
    width: 140px;
    height: 12px;
  }

  .line_reasonCta .__lines:nth-child(2) .__line:nth-child(2) {
    transform: rotate(-21deg);
    top: 29%;
    bottom: unset;
    margin-left: 35vw;
    width: 360px;
    height: 15px;
  }
}

/* ================================================
  Left Orange Line (dark + orange)
================================================ */
.line_leftOrange {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.line_leftOrange .__lines {
  top: 0;
  width: 100%;
  height: 100%;
}

.line_leftOrange.mv-line .--left .__line {
  transform: rotate(-8deg);
}

/* Dark line - upper */
.line_leftOrange .__line:nth-child(1) {
  top: 69%;
  margin-left: 8vw;
  width: 140px;
  height: 7px;
}

/* Orange line - lower */
.line_leftOrange .__line:nth-child(2) {
  top: 70%;
  margin-left: -50vw;
  width: 120px;
  height: 10px;
}

@media screen and (min-width: 768px) {
  /* Dark line - upper */
  .line_leftOrange .__line:nth-child(1) {
    top: 75%;
    margin-left: -52vw;
    width: 280px;
    height: 12px;
    rotate: -0deg !important;
  }

  /* Orange line - lower */
  .line_leftOrange .__line:nth-child(2) {
    top: 95%;
    margin-left: -25vw;
    width: 200px;
    height: 10px;
  }
}

@media screen and (min-width: 1320px) {
  /* Dark line - upper */
  .line_leftOrange .__line:nth-child(1) {
    width: 350px;
    height: 16px;
  }

  /* Orange line - lower */
  .line_leftOrange .__line:nth-child(2) {
    top: 95%;
    margin-left: -25vw;
    width: 200px;
    height: 10px;
  }
}

/* ================================================
  Right Orange Line (single orange)
================================================ */
.line_rightOrange {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.line_rightOrange .__lines {
  top: 0;
  width: 100%;
  height: 100%;
}

.line_rightOrange .__line {
  top: 45%;
  margin-left: 25vw;
  width: 140px;
  height: 10px;
}

@media screen and (min-width: 768px) {
  .line_rightOrange .__line {
    top: 40%;
    margin-left: 30vw;
    width: 280px;
    height: 14px;
  }
}
