/* Top page specific */
#home {
  min-height: 110vh;
  min-height: 110dvh;
}

#home .hero-title {
  font-size: 2.25rem;
  line-height: 150%;
  padding-left: 0.5em;
  box-sizing: border-box;
}

@media (min-width: 640px) {
  #home .hero-title {
    font-size: 3rem;
    line-height: 150%;
    padding-left: 0.4em;
  }
}

@media (min-width: 768px) {
  #home .hero-title {
    font-size: 3.75rem;
  }
}

@media (min-width: 1024px) {
  #home .hero-title {
    font-size: 4rem;
  }
}

#home .hero-subtitle {
  line-height: 180%;
}

/* Message section typography */
.message-heading {
  font-size: 1.75rem;
}

@media (min-width: 640px) {
  .message-heading {
    font-size: 2.125rem;
  }
}

@media (min-width: 768px) {
  .message-heading {
    font-size: 2.75rem;
  }
}

@media (min-width: 1024px) {
  .message-heading {
    font-size: 2.625rem;
  }
}

@media (min-width: 1280px) {
  .message-heading {
    font-size: 3.125rem;
  }
}

.message-highlight {
  font-size: 1.125rem;
  line-height: 1.9;
}

#message .message-highlight-line.gradient-underline {
  display: inline-block;
  padding-bottom: 0.6rem;
  margin-bottom: 0.15rem;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

@media (min-width: 640px) {
  .message-highlight {
    font-size: 1.25rem;
    line-height: 1.625;
  }
}

@media (min-width: 768px) {
  .message-highlight {
    font-size: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .message-highlight {
    font-size: 1.5625rem;
  }
}

@media (max-width: 639px) {
  #message #message-heading {
    font-size: 1.625rem;
    line-height: 1.45;
    padding-left: 0.35em;
    box-sizing: border-box;
  }

  #message .message-highlight {
    line-height: 2.15;
    padding-left: 0.4em;
    box-sizing: border-box;
  }

  #message .message-highlight-line.gradient-underline {
    padding-bottom: 0.35rem;
    margin-bottom: 0.5rem;
    background-size: 100% 2px;
  }
}

#home .hero-content { transform: translateY(-3rem); }

#home .hero-bg-scale {
  object-position: center calc(100% + 18%);
}

@media (min-width: 640px) { #home .hero-content { transform: translateY(-4rem); } }
@media (min-width: 1024px) { #home .hero-content { transform: translateY(-5rem); } }

/* Laptop / short viewport (e.g. 1280×800) */
@media (min-width: 1024px) and (max-height: 860px) {
  #home {
    padding-top: 1.5rem;
  }

  #home .hero-content {
    transform: translateY(-2rem);
  }

  #home .hero-marquee {
    top: calc(50% + clamp(13rem, 24vh, 16rem));
  }
}

/* ~1280px laptop width */
@media (min-width: 1200px) and (max-width: 1439px) {
  #home .hero-marquee {
    top: calc(50% + clamp(14.5rem, 27vh, 18rem));
  }
}

#home .hero-marquee {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 10;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  line-height: 1;
  top: calc(50% + clamp(12rem, 23vh, 15.5rem));
  min-height: clamp(4.5rem, 14vw, 13.5rem);
}

.hero-marquee-text {
  font-size: clamp(4.5rem, 14vw, 13.5rem);
}

@media (max-width: 1023px) {
  #home .hero-marquee {
    top: calc(50% + clamp(13rem, 28vh, 17rem));
  }

  .hero-marquee-text {
    font-size: clamp(3.25rem, 11vw, 13.5rem);
  }
}

@media (max-width: 639px) {
  #home .hero-content {
    padding-bottom: 0.5rem;
  }

  #home .hero-marquee {
    top: calc(50% + clamp(11rem, 24vh, 15rem));
    min-height: clamp(4rem, 13vw, 13.5rem);
  }

  .hero-marquee-text {
    font-size: clamp(4rem, 13vw, 13.5rem);
  }
}

/* Watermark on white backgrounds */
.hero-marquee-text--base {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 1;
  color: rgba(30, 41, 59, 0.035);
}

/* Soft-light layer: blend on wrapper so it composites with hero imagery */
.hero-marquee-blend {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 2;
  mix-blend-mode: soft-light;
}

.hero-marquee-text--blend {
  color: rgba(255, 255, 255, 0.55);
  filter: contrast(1.25) brightness(1.05);
}

.hero-marquee-track {
  gap: clamp(2rem, 4vw, 6rem);
  padding-right: clamp(2rem, 4vw, 6rem);
  flex-wrap: nowrap;
}

.hero-marquee-track span {
  white-space: nowrap;
  display: inline-block;
}

.marquee-container {
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
}
.marquee-track { display: flex; flex-shrink: 0; flex-wrap: nowrap; }

.job-tab-mid.active,
.job-tab-new.active {
  background: white;
  color: #131522;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
}
.job-tab-mid:not(.active),
.job-tab-new:not(.active) {
  color: #94a3b8;
}
.job-tab-mid:not(.active):hover,
.job-tab-new:not(.active):hover {
  color: white;
}

.work-card-radius-0 { border-radius: 3rem 5rem 2rem 4rem; }
.work-card-radius-1 { border-radius: 4rem 2rem 5rem 3rem; }
.work-card-radius-2 { border-radius: 2rem 4rem 5rem 3rem; }

.int-card-img.int-card-radius-even { border-radius: 48px 80px 32px 64px; }
.int-card-img.int-card-radius-odd { border-radius: 80px 32px 64px 48px; }

#interview .irodori-interview-carousel-track {
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  #interview .irodori-interview-carousel-track {
    gap: 3rem;
  }
}
