/* DesignNOW comparison: preserve AERIS photography, copy and blue/white tone. */
:root { --aeris-rule: rgba(9,104,204,.24); }

/* 01 — Give the Japanese message the first voice, keep the image open. */
.hero__title { font-weight: 600; letter-spacing: .025em; line-height: 1.27; }
.hero__line--offset { margin-left: .5em; }
.hero__message { margin-left: clamp(26px,2.7vw,47px); }
.eyebrow { letter-spacing: .2em; }
.hero__signature { font-size: clamp(70px,9vw,169px); right: 4.8%; }
.nav__link { font-size: 13px; }
.header__entry { font-size: 12px; }

/* 02 — A fine rule repeats the precision of the architecture. */
.section-label { padding-top: 20px; border-top: 1px solid var(--aeris-rule); margin-bottom: 48px; }
.section-label > span:first-child::before { width: 18px; height: 2px; border-radius: 0; }
.section-title { font-weight: 600; letter-spacing: .015em; line-height: 1.35; }
.section-description { letter-spacing: .025em; }
.about__intro { grid-template-columns: 1.05fr 1fr; gap: 8%; }
.about__text { padding-top: 4px; letter-spacing: .025em; }
.about__scene { margin-top: 88px; padding-top: 42px; }
.about__photo, .about__caption { width: 79%; }
.about__english { font-size: clamp(45px,5.2vw,84px); top: 0; }
.about__photo { height: clamp(350px,39vw,590px); }

/* 03 — Let the person, the quote and the action form one story. */
.people__grid { gap: 3.5%; margin-top: 54px; }
.person--offset { margin-top: 42px; }
.person__photo { aspect-ratio: 3 / 3.85; }
.person__index { margin-top: 24px; letter-spacing: .09em; }
.person__quote { margin-top: 14px; font-weight: 600; line-height: 1.5; letter-spacing: .015em; }
.person__name { margin-top: 22px; }
.person__arrow { width: 46px; height: 46px; border-color: #fff; background: #fff; color: #07375c; }
.person:hover .person__arrow { background: #0968cc; border-color: #0968cc; color: #fff; }
.person__read { display: inline-flex; align-items: center; min-height: 36px; margin-top: 14px; border-bottom-color: #8caec6; }

/* 04 — Numbers organize the stories; avoid adding decorative boxes. */
.business__item { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 26px; padding-block: 34px; }
.business__number { font-size: 32px; line-height: 1; letter-spacing: -.045em; padding-top: 1px; color: #497da5; }
.business__item .micro-label { letter-spacing: .15em; margin-bottom: 12px; }
.business__item h3 { font-weight: 600; }
.business__phrase { display: inline-block; }
.culture .section-label { border-color: var(--aeris-rule); }
.culture__item { gap: 20px; }
.culture__item > span { flex: 0 0 28px; font-size: 23px; line-height: 1; color: #497da5; }
.culture__item h3 { font-weight: 600; }
.careers .section-label { border-color: rgba(255,255,255,.35); }
.careers__intro { gap: 7%; }
.careers__intro .careers__english { font-size: clamp(50px,5.1vw,84px); }
.closing h2 { font-weight: 600; letter-spacing: .035em; }

@media (min-width: 1001px) and (max-height: 780px) {
  .hero__title { font-size: clamp(52px,5.05vw,82px); }
  .hero__signature { font-size: 8.5vw; }
}
@media (min-width: 601px) and (max-width: 1000px) {
  .hero__signature { font-size: 12vw; }
  .hero__message { margin-left: 28px; }
}
@media (max-width: 900px) {
  .section-label { margin-bottom: 36px; }
  .person--offset { margin-top: 32px; }
  .business__item { grid-template-columns: 32px minmax(0,1fr); gap: 18px; }
  .business__number { font-size: 28px; }
}
@media (max-width: 600px) {
  .hero__title { font-size: clamp(34px,8.9vw,52px); line-height: 1.28; letter-spacing: -.025em; }
  .hero__line--offset { margin-left: .24em; }
  .hero__message { margin-left: 0; }
  .hero__signature { font-size: clamp(47px,15.7vw,63px); right: 28px; bottom: 82px; }
  .header__entry { font-size: 10px; }
  .section-label { padding-top: 16px; margin-bottom: 28px; }
  .section-label > span:first-child::before { width: 13px; }
  .section-title { line-height: 1.38; }
  .about__intro { grid-template-columns: 1fr; gap: 28px; }
  .about__scene { margin-top: 50px; padding-top: 64px; }
  .about__photo,.about__caption { width: calc(100% - var(--gutter)); }
  .about__photo { height: 330px; }
  .about__english { font-size: clamp(31px,8.2vw,47px); line-height: 1.08; }
  .people__grid { gap: 48px; margin-top: 34px; }
  .person--offset { margin-top: 0; }
  .person__photo { aspect-ratio: 4 / 4.8; }
  .person__quote { font-size: 22px; }
  .person__name { margin-top: 18px; }
  .person__arrow { width: 42px; height: 42px; }
  .business__item { grid-template-columns: 29px minmax(0,1fr); gap: 16px; padding-block: 30px; }
  .business__number { font-size: 27px; }
  .business__item h3 { font-size: 18px; }
  .culture__item > span { font-size: 23px; }
  .culture__item { gap: 16px; }
  .careers__intro .careers__english { font-size: clamp(42px,11.4vw,63px); }
}
@media (min-width: 601px) and (max-width: 767px) {
  .about__intro { grid-template-columns: 1fr; gap: 28px; }
  .person--offset { margin-top: 0; }
}
