/* AERIS review revisions, 2026-10-25. Original styles and assets are retained. */

/* 01: Reading sizes. Keep display typography and the existing photo layouts. */
.hero__description { font-size: 14px; letter-spacing: .035em; }
.hero__phrase { display: inline-block; }
.story-link { font-size: 14px; }
.section-description,
.about__text,
.business__item p:not(.micro-label),
.culture .section-description,
.culture__item p,
.careers__intro p,
.position__body,
.process p,
.faq summary,
.faq details > p,
.panel__lead,
.panel__section p { font-size: 16px; line-height: 1.7; }
.business__item h3 { font-size: 22px; }
.culture__item h3 { font-size: 18px; }
.process h4 { font-size: 17px; }
.guide__subheading { font-size: 17px; flex-wrap: wrap; }
.person__name { font-size: 15px; }
.person__name > span,
.person__read,
.person__index,
.person__photo-label,
.business__tags span,
.business__item .micro-label,
.section-label > span:first-child,
.section-label > span:last-child,
.position__title small,
.position__category,
.position__note,
.careers__note,
.careers__count,
.job-filter span,
.panel__availability,
.panel__person span { font-size: 12px; }
.job-filter { min-height: 44px; font-size: 14px; }
.panel__cta { font-size: 15px; }
.guide__subheading > span { font-size: 11px; }
.section-heading-row .section-description { font-size: 16px; }
.business__item > div,
.culture__item > div,
.process li > div { min-width: 0; }

@media (min-width: 601px) and (max-width: 1000px) {
  .hero__description { font-size: 14px; }
  .culture__principles { grid-template-columns: 1fr; gap: 0; }
  .culture__item { display: flex; }
  .culture__item > span { margin-bottom: 0; }
  .guide__layout { grid-template-columns: 1fr; gap: 48px; }
  .guide__english { display: none; }
}

@media (max-width: 600px) {
  .hero__description { font-size: 14px; letter-spacing: 0; }
  .story-link { font-size: 14px; }
  .hero__content { bottom: 173px; }
  .section-description,
  .section-heading-row .section-description,
  .about__text,
  .business__item p:not(.micro-label),
  .culture .section-description,
  .culture__item p,
  .careers__intro p,
  .position__body,
  .process p,
  .faq summary,
  .faq details > p,
  .panel__lead,
  .panel__section p { font-size: 15px; line-height: 1.7; }
  .business__item h3 { font-size: 19px; }
  .culture__item h3,
  .process h4 { font-size: 16px; }
  .guide__subheading { font-size: 16px; }
  .person__name { font-size: 15px; flex-wrap: wrap; }
  .person__name > span { font-size: 12px; }
  .section-label { flex-wrap: wrap; gap: 10px 18px; }
  .section-label > span:first-child { font-size: 11px; letter-spacing: .06em; }
  .section-label > span:last-child { font-size: 12px; }
  .job-filter { font-size: 13px; padding-inline: 14px; gap: 12px; }
  .job-filter span { font-size: 11px; }
  .position__title small,
  .position__category,
  .position__note,
  .careers__note,
  .careers__count { font-size: 12px; }
  .guide__subheading > span { font-size: 10px; }
}

/* 02: Name the destination in Japanese, retain the serif brand voice. */
.careers__intro { align-items: center; }
.careers__intro > .careers__heading { margin-top: 0; padding-bottom: 0; }
.careers__heading .section-title { font-family: inherit; }
.careers__intro .careers__english {
  margin-top: 24px;
  color: #fff;
  font: 400 clamp(54px, 5.6vw, 92px)/1.04 Georgia, serif;
  letter-spacing: -.045em;
}
.careers__message { max-width: 420px; }
@media (max-width: 900px) {
  .careers__intro > .careers__message { margin-top: 32px; }
}
@media (max-width: 600px) {
  .careers__intro .careers__english { margin-top: 20px; font-size: clamp(43px, 11.8vw, 66px); }
  .careers__intro > .careers__message { margin-top: 28px; }
}

/* 03: A clear, consistent destination at the end of the page. */
.closing__link {
  justify-content: space-between;
  min-width: 270px;
  min-height: 56px;
  margin-top: 30px;
  padding: 12px 22px;
  gap: 32px;
  background: #fff;
  color: #07375c;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .04em;
  transition: background .3s, color .3s;
}
.closing__link > span:last-child { width: 24px; height: 24px; border: 0; border-radius: 0; }
.closing__link .icon { transition: transform .3s var(--ease-out); }
.closing__link:hover { background: #e8f3fb; color: #07375c; }
.closing__link:hover > span:last-child { background: transparent; color: inherit; }
.closing__link:hover .icon { transform: translate(3px, -3px); }
.closing__link:active { background: #d7eafb; }
.closing__english { margin-top: 26px; }
@media (max-width: 600px) {
  .closing__link { width: 100%; min-width: 0; min-height: 52px; margin-top: 26px; padding-inline: 20px; }
  .closing__english { margin-top: 30px; }
}

/* 04: Shade only the copy side; preserve daylight and the person's face. */
.hero__shade {
  background: linear-gradient(90deg, rgba(3,43,83,.57) 0%, rgba(4,52,99,.45) 28%, rgba(6,78,133,.15) 48%, transparent 66%), linear-gradient(0deg, rgba(4,52,99,.44), transparent 29%, transparent 82%, rgba(4,60,110,.20));
}
@media (min-width: 601px) and (max-width: 1000px) {
  .hero__shade { background: linear-gradient(90deg, rgba(3,43,83,.57), rgba(6,78,133,.2) 63%, transparent), linear-gradient(0deg, rgba(4,52,99,.46), transparent 80%); }
}
@media (max-width: 600px) {
  .hero__shade { background: linear-gradient(180deg, rgba(5,60,115,.20) 0%, rgba(4,52,101,.02) 30%, rgba(4,52,101,.63) 60%, rgba(3,48,95,.80) 100%), linear-gradient(90deg, rgba(5,61,117,.16), transparent 80%); }
}
