/* ============================================
   Japanese-site design overrides
   Load AFTER style.css on ja/ pages only.
   Direction: washi paper + sumi ink + a single
   deep indigo-green accent — no gold, more air,
   flatter surfaces. English site is untouched.
   ============================================ */

.ja-body {
  /* Redefine the shared custom properties: everything in style.css
     that reads var(--gold), var(--paper), var(--shadow) etc. inherits
     these automatically, so most of the reskin needs no selector work. */
  --paper: #f7f5f0;
  --paper-warm: #f1eee6;
  --ink: #1c1c1a;
  --ink-soft: #57554c;
  --matcha: #3a4f3c;
  --matcha-deep: #26362a;
  --matcha-pale: #e8e6dc;
  --gold: #26362a;
  --line: #ddd9cd;
  --shadow: none;
}

/* ---------- More air between sections ---------- */

.ja-body section { padding: 128px 0; }
.ja-body .section-head { margin-bottom: 4rem; }
.ja-body .hero { padding: 150px 0 120px; }
.ja-body .page-hero { padding: 130px 0 100px; }

@media (max-width: 860px) {
  .ja-body section { padding: 88px 0; }
  .ja-body .hero { padding: 100px 0 70px; }
}

/* ---------- Enso: a faint ink trace, not a bold accent ---------- */

.ja-body .enso {
  opacity: 0.12;
  width: 340px;
}
.ja-body .enso path { stroke: var(--ink) !important; }

/* ---------- Flat surfaces: hairline over shadow ---------- */

.ja-body .path-card,
.ja-body .step-card,
.ja-body .principle-card,
.ja-body .form-card {
  box-shadow: none;
  border-color: var(--line);
}

.ja-body .path-card:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--ink-soft);
}

.ja-body .ph { border-radius: 2px; }

/* ---------- Eyebrow: hierarchy by weight, not color ---------- */

.ja-body .eyebrow { color: var(--ink-soft); }

/* ---------- Dark sections (page-hero, section.dark): paper-on-ink,
   not gold-on-ink ---------- */

.ja-body section.dark .eyebrow,
.ja-body .page-hero .eyebrow {
  color: rgba(247, 245, 240, 0.65);
}

.ja-body section.dark .number-item .big {
  color: var(--paper);
}

.ja-body .page-hero .btn-primary,
.ja-body section.dark .btn-primary {
  background: var(--paper);
  color: var(--ink);
}
.ja-body .page-hero .btn-primary:hover,
.ja-body section.dark .btn-primary:hover {
  background: #ffffff;
}

.ja-body .page-hero .btn-secondary,
.ja-body section.dark .btn-secondary {
  color: var(--paper);
  border-color: rgba(247, 245, 240, 0.5);
}

.ja-body .site-footer h4 { color: rgba(247, 245, 240, 0.55); }

/* ---------- TOP hero: text left, photo composition right ---------- */

.ja-body .hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

.ja-body .hero-photos {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  grid-template-rows: 1fr 1fr;
  gap: 0.8rem;
  height: 480px;
}

.ja-body .hero-photos .ph { min-height: 0; }
.ja-body .hero-photos .ph:first-child { grid-row: 1 / span 2; }

@media (max-width: 860px) {
  .ja-body .hero-grid { grid-template-columns: 1fr; gap: 2.4rem; }
  .ja-body .hero-photos { height: 340px; }
}

/* ---------- Eyebrow / tag labels ----------
   The shared style.css tunes these for small-caps Latin text; Japanese
   kanji/kana need a larger size and tighter tracking to stay legible. */

.ja-body .eyebrow,
.ja-body .path-card .tag {
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  text-transform: none;
}

/* Production navigation, forms and legal text in the Japanese palette. */
.ja-body .form-note a { color: var(--matcha-deep); text-decoration: underline; }
.ja-body .modal-title { font-family: var(--font-jp); line-height: 1.6; }
.ja-body .modal-card { max-height: calc(100dvh - 48px); overflow-y: auto; }
.ja-body .path-card[id] { scroll-margin-top: 100px; }
.ja-body .form-card input,
.ja-body .form-card select,
.ja-body .form-card textarea { min-width: 0; }

@media (max-width: 999px) {
  .ja-body .main-nav { overflow-y: auto; }
  .ja-body .main-nav .lang-switch a { display: inline-block; }
}

@media (max-width: 480px) {
  .ja-body .hero-photos { height: 290px; }
  .ja-body .form-card { padding: 1.5rem; }
  .ja-body .turnstile-row { min-width: 0; }
}
