/**
 * Bilingual headings — English primary (larger), Japanese caption (smaller).
 * Loaded site-wide via site-nav.css. Project / index / legacy pages share these ratios.
 */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

:root {
  --bi-ja-size: clamp(9px, 0.95vw, 11px);
  --bi-ja-size-tight: clamp(9px, 0.9vw, 10px);
  --bi-en-hero: clamp(22px, 3.4vw, 40px);
  --bi-en-label: clamp(11px, 1.05vw, 13px);
  --bi-en-section: clamp(1.35rem, 4.2vw, 2rem);
}
.heading-bi {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45em;
  margin: 0;
  padding: 0;
  text-align: center;
}
.heading-bi__en {
  display: block;
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(19px, 2.3vw, 28px);
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 1.15;
  color: var(--gray-500, #7a756d);
  text-transform: none;
}
.heading-bi__ja {
  display: block;
  font-family: var(--font-jp, "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif);
  font-size: var(--bi-ja-size);
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1.5;
  color: var(--black, #0a0a0a);
  text-transform: none;
}

/* Mosaic / list section titles — About Us 章ラベルと同型 */
.index-section-heading.heading-bi .heading-bi__en {
  font-family: var(--font-body, "Jost", sans-serif) !important;
  font-size: 0.625rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.38em !important;
  text-transform: uppercase !important;
  color: var(--gray-500, #7a756d) !important;
  line-height: 1.3 !important;
}
.index-section-heading.heading-bi .heading-bi__ja {
  font-family: var(--font-jp, "Shippori Mincho", serif) !important;
  font-size: var(--bi-ja-size-tight) !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  color: var(--black, #0a0a0a) !important;
  margin-top: 0.35em;
}

/* Page hero (jumbotron) */
.heading-bi--hero {
  gap: 0.55em;
}
.heading-bi--hero .heading-bi__en {
  font-size: clamp(24px, 3vw, 44px);
  letter-spacing: 0.18em;
  color: var(--black, #0a0a0a);
}
.heading-bi--hero .heading-bi__ja {
  font-size: var(--bi-ja-size-tight);
  letter-spacing: 0.36em;
  color: var(--gray-500, #7a756d);
}
.jumbotron .heading-bi-dek {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35em;
  margin: 0.75em 0 0;
}
.jumbotron .heading-bi-dek__en {
  font-family: var(--font-body, "Jost", sans-serif);
  font-size: clamp(10px, 1.1vw, 12px);
  font-weight: 300;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gray-500, #7a756d) !important;
}
.jumbotron .heading-bi-dek__ja {
  font-family: var(--font-jp, "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif);
  font-size: var(--bi-ja-size);
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.65;
  color: var(--gray-600, #5a5752);
  text-transform: none;
}

/* Category jump nav (project list) */
.project-cat-nav a {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25em;
  line-height: 1.2;
  text-transform: none;
}
.project-cat-nav__en {
  text-transform: uppercase;
  letter-spacing: 0.18em;
}
.project-cat-nav__ja {
  font-family: var(--font-jp, "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif);
  font-size: 8px;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: none;
  color: rgba(122, 117, 109, 0.65);
  transition: color 0.18s;
}
.project-cat-nav a:hover .project-cat-nav__ja {
  color: var(--black, #0a0a0a);
}

/* ===== Project gallery — EN title larger, JA caption smaller (beats per-page inline CSS) ===== */
.project-gallery .gallery-head h1 .project-name {
  display: block !important;
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: var(--bi-en-hero) !important;
  font-weight: 300 !important;
  letter-spacing: 0.14em !important;
  line-height: 1.15 !important;
}
.project-gallery .gallery-head .project-name-ja,
.project-gallery .gallery-head h1 .project-name-ja {
  display: block !important;
  font-family: var(--font-jp, "Shippori Mincho", serif) !important;
  font-size: var(--bi-ja-size) !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  line-height: 1.5 !important;
  opacity: 0.82 !important;
  margin-top: 8px !important;
  text-transform: none !important;
}
.project-gallery .gallery-head p {
  font-size: clamp(9px, 1vw, 10px) !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  font-weight: 300 !important;
}
.project-gallery .gallery-head p .ja {
  display: block !important;
  font-family: var(--font-jp, "Shippori Mincho", serif) !important;
  font-size: var(--bi-ja-size-tight) !important;
  letter-spacing: 0.12em !important;
  text-transform: none !important;
  margin-top: 4px !important;
  opacity: 0.85 !important;
  font-weight: 400 !important;
}

/* Related projects — EN line slightly larger than JA */
.project-related__line--en {
  font-size: 13px !important;
  font-weight: 500 !important;
}
.project-related__line--ja {
  font-size: var(--bi-ja-size-tight) !important;
  font-weight: 400 !important;
}

/* Editorial project pages — meta label larger than short JA title (all viewports) */
.pps-chapter__en {
  font-size: var(--bi-en-label) !important;
  font-weight: 600 !important;
  letter-spacing: 0.32em !important;
  -webkit-text-size-adjust: 100%;
}
.pps-chapter h2.pps-chapter__ja {
  font-size: var(--bi-ja-size-tight) !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  line-height: 1.45 !important;
  -webkit-text-size-adjust: 100%;
}

/* Cinema hero — EN title dominant, JA subcopy smaller */
.pps-hero__eyebrow {
  font-size: var(--bi-en-label) !important;
  -webkit-text-size-adjust: 100%;
}
.pps-hero__title {
  font-size: var(--bi-en-hero) !important;
  -webkit-text-size-adjust: 100%;
}
.pps-hero__sub,
.pps-hero__sub[lang="ja"] {
  font-size: clamp(10px, 1.05vw, 12px) !important;
  -webkit-text-size-adjust: 100%;
}

/* Feature cards — JA titles smaller than EN-style numbers */
.pps-feature__title {
  font-size: clamp(11px, 0.95vw, 13px) !important;
  letter-spacing: 0.14em !important;
  -webkit-text-size-adjust: 100%;
}

/* Atlas index — chapter titles */
.at-chapter__titles h2 {
  font-size: clamp(1.4rem, 2.9vw, 2rem) !important;
  -webkit-text-size-adjust: 100%;
}
.at-chapter__titles p,
.at-chapter__titles p[lang="ja"] {
  font-size: var(--bi-ja-size) !important;
  letter-spacing: 0.14em !important;
  -webkit-text-size-adjust: 100%;
}
@media (min-width: 960px) {
  .at-rail__link {
    font-size: 10px !important;
    letter-spacing: 0.16em !important;
  }
  .at-rail__ja {
    font-size: 9px !important;
    letter-spacing: 0.12em !important;
  }
}

/* Product-page hero — JA subcopy smaller than EN title */
.product-page-style .pps-hero--cinema .pps-hero__sub,
.pps-hero__sub {
  font-size: clamp(10px, 1.05vw, 12px) !important;
  line-height: 1.75 !important;
}

/* Index office block — eyebrow EN larger than tagline JA */
.at-office__eyebrow,
p.at-office__eyebrow {
  font-size: var(--bi-en-label) !important;
  letter-spacing: 0.2em !important;
  -webkit-text-size-adjust: 100%;
}
.at-office__tagline,
p.at-office__tagline,
p.at-office__tagline[lang="ja"] {
  font-size: var(--bi-ja-size) !important;
  letter-spacing: 0.12em !important;
  line-height: 1.55 !important;
  -webkit-text-size-adjust: 100%;
}

/* Shared __en / __ja chapter labels (About, Office, Workflow, Adv, etc.) */
.about-us-chapter__en,
.office-chapter__en,
.wf-chapter__en,
.adv-arch-pillar__en {
  font-size: var(--bi-en-label) !important;
  font-weight: 500 !important;
  letter-spacing: 0.32em !important;
}
.about-us-chapter__ja,
.office-chapter__ja,
.wf-chapter__ja,
.adv-arch-pillar__ja {
  font-size: var(--bi-ja-size-tight) !important;
  font-weight: 400 !important;
  letter-spacing: 0.16em !important;
}

/* Hub atlas mosaic headings */
body.hub-atlas .index-section-heading .heading-bi__en {
  font-size: var(--bi-en-label) !important;
}
body.hub-atlas .index-section-heading .heading-bi__ja {
  font-size: var(--bi-ja-size-tight) !important;
}
body.hub-atlas .heading-bi-dek__en {
  font-size: var(--bi-en-label) !important;
}
body.hub-atlas .heading-bi-dek__ja {
  font-size: var(--bi-ja-size-tight) !important;
}

/* iPhone / mobile — lock EN > JA; stop iOS text auto-boost on JA */
@media (max-width: 1024px) {
  :root {
    --bi-ja-size: 9px;
    --bi-ja-size-tight: 9px;
    --bi-en-hero: clamp(22px, 5.6vw, 34px);
    --bi-en-label: 11px;
    --bi-en-section: clamp(1.3rem, 5.2vw, 1.65rem);
  }

  .heading-bi__en,
  .heading-bi--hero .heading-bi__en {
    font-size: var(--bi-en-section) !important;
    -webkit-text-size-adjust: 100%;
  }
  .heading-bi__ja,
  .heading-bi--hero .heading-bi__ja,
  .jumbotron .heading-bi-dek__ja {
    font-size: var(--bi-ja-size-tight) !important;
    -webkit-text-size-adjust: 100%;
  }
  .index-section-heading.heading-bi .heading-bi__en {
    font-size: var(--bi-en-label) !important;
  }
  .index-section-heading.heading-bi .heading-bi__ja {
    font-size: var(--bi-ja-size-tight) !important;
  }

  .at-chapter__titles h2 {
    font-size: var(--bi-en-section) !important;
    -webkit-text-size-adjust: 100%;
  }
  .at-chapter__titles p,
  .at-chapter__titles p[lang="ja"],
  .au-page .at-chapter__titles p[lang="ja"] {
    font-size: var(--bi-ja-size-tight) !important;
    -webkit-text-size-adjust: 100%;
  }
  .at-chapter__sub {
    font-size: var(--bi-ja-size-tight) !important;
  }

  .at-rail__link {
    font-size: 10px !important;
  }
  .at-rail__ja {
    font-size: 9px !important;
  }

  .project-gallery .gallery-head h1 .project-name {
    font-size: var(--bi-en-hero) !important;
  }
  .project-gallery .gallery-head .project-name-ja,
  .project-gallery .gallery-head h1 .project-name-ja {
    font-size: var(--bi-ja-size-tight) !important;
  }

  .pps-hero__title {
    font-size: clamp(26px, 8.2vw, 52px) !important;
  }
  .pps-hero__eyebrow {
    font-size: var(--bi-en-label) !important;
  }
  .pps-hero__sub,
  .product-page-style .pps-hero--cinema .pps-hero__sub {
    font-size: clamp(10px, 2.6vw, 12px) !important;
  }

  .about-us-chapter__en,
  .office-chapter__en,
  .wf-chapter__en,
  .adv-arch-pillar__en {
    font-size: var(--bi-en-label) !important;
  }
  .about-us-chapter__ja,
  .office-chapter__ja,
  .wf-chapter__ja,
  .adv-arch-pillar__ja {
    font-size: var(--bi-ja-size-tight) !important;
  }

  .at-office__eyebrow {
    font-size: var(--bi-en-label) !important;
  }
  .at-office__tagline {
    font-size: var(--bi-ja-size-tight) !important;
  }

  /* Editorial chapter labels — EN meta larger than JA title on phone */
  .pps-chapter__en {
    font-size: var(--bi-en-label) !important;
  }
  .pps-chapter h2.pps-chapter__ja {
    font-size: var(--bi-ja-size-tight) !important;
    letter-spacing: 0.14em !important;
    line-height: 1.45 !important;
  }

  .pps-feature__title {
    font-size: var(--bi-ja-size-tight) !important;
  }
}
