.kp-hp-hero {
  background: #F4364C;
  position: relative;
}

.kp-simple-gridlines {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.kp-simple-gridlines span {
  border-right: 1px solid #E782A9;
  position: relative;
  top: 0;
}

.kp-simple-gridlines span:first-child {
  border-left: 1px solid #E782A9;
}

.kp-simple-gridlines.dark span {
  border-color: #612141;
}

.kp-hero-headline {
  color: #fff;
  font-size: 14.72vw;
  font-weight: 300;
  line-height: 12.51vw;
  margin: 0;
  padding: 180px 20px 30px 0;
  width: 98%;
}

.kp-hp-hero-img-wrapper {
  display: grid;
}

.kp-hp-hero-starter-img {
  background-image: url('/images/homepage/hero/hp-hero-img.jpg');
  background-size: cover;
  grid-column: 1/1;
  grid-row: 1/1;
  width: 100%;
  height: 99.9%;
}

.kp-hp-hero-img {
  background-color: none;
  display: grid;
  grid-template-columns: 25px repeat(6, 1fr) 25px;
  grid-column: 1 / 1;
  grid-row: 1 / 1;
  width: 100%;
  height: 100%;
}

.kp-hp-hero-img .margin-left {
  background: no-repeat url('/images/homepage/hero/hero-layer-1_01@2x.jpg');
  background-position: top right;
  height: 100%;
  background-size: cover;
}

.kp-hp-hero-img .margin-right {
  background: no-repeat url('/images/homepage/hero/hero-layer-1_08@2x.jpg');
  background-size: cover;
  height: 100%;
}

.kp-hp-hero-img__layer-2 .margin-left {
  background: no-repeat url('/images/homepage/hero/hero-layer-2_01@2x.jpg');
}

.kp-hp-hero-img__layer-2 .margin-right {
  background: no-repeat url('/images/homepage/hero/hero-layer-2_08@2x.jpg');
}

.kp-hp-hero-img img {
  display: block;
  width: 100%;
  height: 100%;
}

.grid-overlay {
  grid-row: 1 / 1;
  grid-column: 1 / 1;
  position: relative;
  z-index: 2;
}

.grid-overlay .kp-container {
  height: 100%;
}

.grid-lines,
.svg-lines {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  height: 100%;
}

.hero-img-gridlines-overlay .kp-line {
  border-right: 1px solid #E782A9;
}

.hero-img-gridlines-overlay .kp-line:first-child {
  border-left: 1px solid #E782A9;
}

.svg-lines .kp-line {
  position: relative;
}

.svg-lines svg {
  height: 100%;
}

.svg-lines .line-1 svg {
  height: 100%;
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10;
}

.svg-lines .line-5 {
  grid-column: 5 / span 2;
}

.svg-lines .line-5 svg {
  left: -1px;
  position: relative;
  width: calc(100% + 1px);
}

.numbered-ctas {
  background: #612141;
  position: relative;
  z-index: 4;
}

.numbered-ctas .grid-overlay {
  display: none;
}

.cta-blocks {
  border-left: 1px solid rgb(255 255 255 / 0.6);
  color: #fff;
  display: grid;
  overflow: hidden;
  padding: 43px 0;
}

.cta-blocks h2 {
  font-size: 12.31vw;
  font-weight: 300;
  line-height: 14.36vw;
  margin: 0 0 43px;
  padding-right: 10%;
}

.cta-block {
  line-height: initial;
}

.cta-block .number {
  font-size: 60.8vw;
  font-weight: 300;
  left: -15%;
  margin: 0;
  position: relative;
}

.quick-search {
  background-color: #862041;
  padding: 25px 0;
}

.quick-search h2 {
  color: #fff;
  font-size: 30px;
  font-weight: 400;
  line-height: 34px;
  margin: 0 0 30px;
}

.quick-search .input-wrapper {
  border-bottom: 2px solid #fff;
  align-items: center;
  display: flex;
  padding: 0 0 14px;
}

.quick-search button {
  background: transparent;
  border: 0;
  padding: 0;
  position: relative;
}

.quick-search button::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.quick-search input {
  background: transparent;
  border: 0;
  color: white;
  font-size: 16px;
  line-height: 32px;
  width: 100%;
}

.quick-search input:focus-visible {
  outline: 0;
}

.ideas-section {
  background: #F7F7F7;
}

.ideas-section .kp-simple-gridlines {
  grid-template-columns: repeat(3, 1fr);
  border-color: #612141;
}

.ideas-section .kp-simple-gridlines span {
  border-right: 0;
}

.ideas-headline-wrapper {
  padding: 64px 0 40px;
  position: relative;
}

.ideas-headline-wrapper h2 {
  color: #101820;
  font-size: clamp(48px, 12.31vw, 56px);
  font-weight: 400;
  line-height: clamp(56px, 14.35vw, 60px);
  margin: 0 0 24px;
}

.ideas-cards {
  -ms-overflow-style: none;
  border-left: 1px solid ;
  list-style-type: none;
  margin: 0;
  padding: 0 0 40px;
  scrollbar-width: none;
  scroll-behavior: smooth;
  display: grid;
}

.ideas-cards::-webkit-scrollbar {
  width: 0 !important
}

.ideas-cards img {
  margin: 0 0 24px;
  width: 100%;
}

.ideas-cards li {
  grid-row: 1 / 1;
  grid-column: 1 / 1;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s ease-in-out;
  opacity: 0;
}

.ideas-cards li.active {
  opacity: 1;
}

.ideas-cards .eyebrow {
  color: #101820;
  font-size: 14px;
  font-weight: 600;
  line-height: 16px;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.ideas-cards h3 {
  color: #101820;
  font-size: clamp(16px, 4.1vw, 18px);
  font-weight: 400;
  line-height: 24px;
  margin: 0 0 48px;
  flex-grow: 1;
}

generic-carousel .pagination-wrapper {
  position: absolute;
  bottom: 48px;
  /* right: 0; */
  z-index: 10;
}

.pagination-wrapper {
  align-items: flex-end;
  display: flex;
  gap: 16px;
  height: 24px;
}

.pagination-wrapper span {
  background: linear-gradient(transparent 95%, var(--notch-color, #fff) 95%);
  cursor: pointer;
  display: block;
  height: 24px;
  width: 43px;
}

.pagination-wrapper span.active {
  background: linear-gradient(transparent 85%, var(--notch-color, #fff) 85%);
}

generic-carousel.insight-highlights .pagination-wrapper {
  right: -20px;
  gap: 16px;
}

generic-carousel.insight-highlights .pagination-wrapper span {
  width: 32px;
}

.ticker-tape {
  background: #BA0C2F;
  padding-top: 37px;
  overflow: hidden;
}

.ticker-tape p {
  color: #FFF;
  font-size: 100px;
  line-height: 104px;
  letter-spacing: -2px;
  white-space: nowrap;
  margin: 0 0 37px;
  transition: margin .1s linear;
}

.ticker-tape p:nth-child(even) {
  position: relative;
  left: -200%;
}

.endcap-image {
  position: relative;
  overflow: hidden;
}

.endcap-image .endcap-image-wrapper {
  background-color: #f7f7f7;
  display: grid;
}

.endcap-image .endcap-main-image {
  background-image: url('/images/homepage/endcap/endcap-image-overlay@2x.jpg');
  background-position: center;
  background-size: cover;
  height: 99.5%;
  width: 100%;
}

.endcap-image .endcap-image-item {
  grid-column: 1 / 1;
  grid-row: 1 / 1;
}

.endcap-image .main-image {
  display: grid;
  grid-template-columns: 25px repeat(6, 1fr) 25px;
}

.endcap-image .main-image img {
  width: 100%;
}

.endcap-image .margin-left {
  background: url('~/images/homepage/endcap/endcap-image-overlay-1_01@2x.jpg') center no-repeat;
  background-size: cover;
}

.endcap-image .margin-right {
  background: url('~/images/homepage/endcap/endcap-image-overlay-1_08@2x.jpg') center no-repeat;
  background-size: cover;
}

.endcap-image-item__two .margin-right {
  background: url('~/images/homepage/endcap/endcap-image-overlay-2_08@2x.jpg') center no-repeat;
}

.endcap-image .grid-lines span {
  border-right: 1px solid #862041;
}

.endcap-image .box-overlay {
  position: absolute;
  top: 0;
  left: 0;
  border-left: 1px solid #862041;
  border-bottom: 1px solid #862041;
  height: 100%;
  width: 100vw;
  border-bottom-left-radius: 30px;
  height: calc(100% - 24px);
}

@media (min-width: 768px) {
  .kp-hero-headline {
    padding: 350px 20px 60px 0;
  }

  .kp-hp-hero-img {
    grid-template-columns: 30px repeat(6, 1fr) 30px;
  }

  .numbered-ctas {
    display: grid;
    grid-template-columns: 1fr;
  }

  .numbered-ctas .kp-container {
    grid-column: 1 / 1;
    grid-row: 1 / 1;
  }

  .numbered-ctas .grid-overlay {
    display: block;
  }

  .numbered-ctas .grid-lines {
    grid-template-columns: repeat(3, 1fr);
  }

  .numbered-ctas .grid-lines .kp-line {
    border-right: 1px solid rgb(255 255 255 / 0.6);
  }

  .numbered-ctas .grid-lines .kp-line:first-child {
    border-left: 1px solid rgb(255 255 255 / 0.6);
  }

  .cta-blocks {
    border: none;
    grid-auto-flow: column;
    padding: 0;
  }

  .cta-block {
    overflow: hidden;
    padding: 44px 0;
    position: relative;
    display: flex;
  }

  .cta-block-inner {
    margin-bottom: 20vw;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
  }

  .cta-blocks h2 {
    font-size: clamp(30px, 3.9vw, 54px);
    line-height: clamp(34px, 4.43vw, 62px);
    padding-right: 12%;
    flex-grow: 1;
  }

  .cta-block .number {
    bottom: -5%;
    font-size: 26.76vw;
    left: -30%;
    line-height: 0.5;
    position: absolute;
  }

  .quick-search .kp-container {
    display: flex;
    gap: 30px;
    align-items: center;
  }

  .quick-search h2 {
    flex-basis: 28.13vw;
    font-size: clamp(30px, 3.61vw, 52px);
    line-height: clamp(34px, 4.16vw, 60px);
    margin: 0;
  }

  .quick-search .input-wrapper {
    padding: 0;
    width: auto;
    flex-grow: 1;
  }

  .quick-search input {
    font-size: clamp(16px, 1.25vw, 18px);
  }

  .quick-search input::selection {
    background-color: rgb(244 54 76 / 0.7);
    color: #FFF;
  }

  .ideas-section .kp-simple-gridlines span {
    border-right: 1px solid #612141;
  }

  .ideas-headline-wrapper {
    display: flex;
    gap: 9%;
  }

  .ideas-headline-wrapper h2 {
    font-size: clamp(56px, 7.29vw, 100px);
    line-height: clamp(60px, 7.81vw, 104px);
  }

  .ideas-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-left: 0;
    padding: 0;
  }

  .ideas-cards li {
    border-right: 1px solid #612141;
    display: flex;
    flex-direction: column;
    grid-row: unset;
    grid-column: unset;
    opacity: 1;
  }

  .ideas-cards li:first-child {
    border-left: 1px solid #612141;
  }

  .ideas-cards li img {
    margin: 0 0 44px;
    opacity: 0.7;
    transition: opacity 0.3s ease-in-out;
  }

  .ideas-cards li:hover img {
    opacity: 1;
  }

  .ideas-cards h3 {
    flex-grow: 1;
    font-size: clamp(18px, 2.34vw, 28px);
    line-height: clamp(24px, 3.13vw, 36px);
    margin: 0 35px 30px 0;
  }

  .ideas-cards a {
    margin: 0 0 38px;
    align-self: flex-start;
  }

  .ticker-tape p:nth-child(even) {
    left: -50%;
  }

  .endcap-image .box-overlay {
    border-bottom-left-radius: 100px;
    height: calc(100% - 64px);
  }

  .endcap-image .main-image {
    grid-template-columns: 30px repeat(6, 1fr) 30px;
  }
}

@media (min-width: 1200px) {
  .kp-hp-hero .kp-simple-gridlines {
    height: 200%;
  }
}

@media (min-width: 1440px) {
  .kp-hero-headline {
    padding: 467px 0 80px;
  }

  .kp-hp-hero-img {
    grid-template-columns: 80px repeat(6, 1fr) 80px;
  }

  .svg-lines .line-1 svg {
    left: -1px;
    position: relative;
    width: calc(100% + 2px);
  }

  .svg-lines .line-5 svg {
    left: -2px;
    width: calc(100% + 3px);
  }

  .cta-blocks h2 {
    font-size: 3.75vw;
    line-height: 4.31vw;
  }

  .cta-block {
    padding: max(5.56vw) 70px 0 0;
  }

  .cta-block-inner {
    margin-bottom: 350px;
  }

  .cta-block .number {
    bottom: -35px;
    font-size:410px;
    left: -18%
  }

  .ideas-headline-wrapper {
    padding: 80px 0 80px;
    gap: 18%;
  }

  .ideas-headline-wrapper h2 {
    font-size: 6.94vw;
    line-height: 7.22vw;
  }

  .ideas-cards .eyebrow {
    margin: 0 0 18px;
  }

  .ideas-cards h3 {
    font-size: max(28px, 1.94vw);
    line-height: max(36px, 2.5vw);
    margin: 0 20% 40px 0;
  }

  .quick-search {
    padding: 80px 0;
  }

  .quick-search .kp-container {
    align-items: flex-end;
  }

  .quick-search h2 {
    flex-basis: 27.77vw;
    font-size: max(52px, 3.61vw);
    line-height: max(60px, 4.16vw);
    margin: 0;
  }

  .quick-search input {
    font-size: max(18px, 1.25vw);
    padding-bottom: 20px;
  }

  .quick-search .input-wrapper svg {
    width: max(30px, 2.08vw);
  }

  .ticker-tape p {
    font-size: 216px;
    letter-spacing: -4.32px;
    line-height: 270px;
  }

  .endcap-image .main-image {
    grid-template-columns: 80px repeat(6, 1fr) 80px;
  }
}
