/* ============================================================
   TRAIL-style bridge — restyle our internal classes to match
   the TRAIL aesthetic (Zen Old Mincho, "#" eyebrow, pill buttons)
   Loaded AFTER style.css + TRAIL theme CSS to take precedence.
   ============================================================ */

:root {
  --ys-navy: #1E1F3B;
  --ys-navy-deep: #0E0F1E;
  --ys-silver: #99ADBA;
  --ys-bg: #F5F4EF;
}

html,
body {
  font-family: "Zen Old Mincho", "Noto Sans JP", "YuMincho", serif !important;
  color: var(--ys-navy);
  background: #fff;
}

/* ============================================================
   Page hero (was used on all sub-pages)
   ============================================================ */
.page-hero {
  padding: clamp(120px, 14vw, 200px) 0 clamp(56px, 7vw, 96px) !important;
  background: #fff !important;
  border-bottom: 0 !important;
  position: relative;
}
.page-hero__crumb {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic;
  font-size: 13px !important;
  letter-spacing: .08em !important;
  color: var(--ys-silver) !important;
  text-transform: none !important;
  margin-bottom: 32px !important;
}
.page-hero__crumb span { color: var(--ys-silver) !important; }
.page-hero__crumb a { color: var(--ys-navy) !important; }

.page-hero__en {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic;
  font-size: 15px !important;
  letter-spacing: .04em !important;
  color: var(--ys-navy) !important;
  text-transform: none !important;
  margin-bottom: 12px !important;
  display: inline-flex !important;
  align-items: baseline;
}
.page-hero__en::before {
  content: "#";
  font-style: italic;
  margin-right: 4px;
  color: var(--ys-navy);
}

.page-hero__title {
  font-family: "Zen Old Mincho", serif !important;
  font-weight: 500 !important;
  font-size: clamp(36px, 5.4vw, 72px) !important;
  letter-spacing: .04em !important;
  line-height: 1.4 !important;
  color: var(--ys-navy) !important;
  margin: 0 0 24px !important;
}

.page-hero__lead {
  font-family: "Zen Old Mincho", serif !important;
  font-size: clamp(14px, 1.1vw, 17px) !important;
  line-height: 2 !important;
  color: var(--ys-navy) !important;
  letter-spacing: .04em !important;
  max-width: 60ch;
}

/* ============================================================
   Section header (.sec-head)
   ============================================================ */
.sec-head {
  margin-bottom: clamp(40px, 5vw, 72px) !important;
}
.sec-head__eyebrow {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: 16px !important;
  letter-spacing: .04em !important;
  color: var(--ys-navy) !important;
  text-transform: none !important;
  font-weight: 400 !important;
  display: inline-block !important;
  margin-bottom: 12px !important;
}
.sec-head__eyebrow::before {
  content: "#" !important;
  background: transparent !important;
  width: auto !important;
  height: auto !important;
  display: inline !important;
  margin-right: 4px !important;
  color: var(--ys-navy) !important;
  font-style: italic !important;
}

.sec-head__title {
  font-family: "Zen Old Mincho", serif !important;
  font-weight: 500 !important;
  font-size: clamp(32px, 4.6vw, 56px) !important;
  letter-spacing: .04em !important;
  line-height: 1.4 !important;
  color: var(--ys-navy) !important;
}

.sec-head__lead {
  font-family: "Zen Old Mincho", serif !important;
  color: var(--ys-navy) !important;
  font-size: clamp(14px, 1vw, 16px) !important;
  line-height: 2 !important;
  letter-spacing: .04em !important;
}

/* ============================================================
   Buttons — mimic TRAIL .c-btn__01 (white pill with navy text/arrow)
   ============================================================ */
.btn {
  background: #fff !important;
  color: var(--ys-navy) !important;
  border: 1px solid var(--ys-navy) !important;
  border-radius: 100px !important;
  padding: 18px 36px !important;
  font-family: "Zen Old Mincho", serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
  text-transform: none !important;
  min-width: 240px;
  position: relative;
}
.btn::after {
  content: "→" !important;
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 400;
  display: inline-block;
  position: absolute;
  right: 24px;
  transition: transform .35s ease;
}
.btn:hover {
  background: var(--ys-navy) !important;
  color: #fff !important;
}
.btn:hover::after { transform: translateX(4px); }
.btn--ghost {
  background: transparent !important;
  color: var(--ys-navy) !important;
}
.btn--ghost:hover {
  background: var(--ys-navy) !important;
  color: #fff !important;
}
.btn--white {
  background: #fff !important;
  color: var(--ys-navy) !important;
  border-color: #fff !important;
}
.btn--white:hover {
  background: transparent !important;
  color: #fff !important;
  border-color: #fff !important;
}
.btn--ghost-white {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.6) !important;
}
.btn--ghost-white:hover {
  background: #fff !important;
  color: var(--ys-navy) !important;
  border-color: #fff !important;
}

/* ============================================================
   CTA banner section
   ============================================================ */
.cta-banner {
  background: var(--ys-navy) !important;
}
.cta-banner__title {
  font-family: "Zen Old Mincho", serif !important;
  font-weight: 500 !important;
  font-size: clamp(28px, 3.6vw, 44px) !important;
  letter-spacing: .04em !important;
}
.cta-banner__text {
  font-family: "Zen Old Mincho", serif !important;
  line-height: 2 !important;
  letter-spacing: .04em !important;
}

/* ============================================================
   Tables - keep functional, refresh typography
   ============================================================ */
.spec-table th,
.mtable thead th {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic;
  letter-spacing: .04em !important;
  color: var(--ys-navy) !important;
  background: #FAFAF8 !important;
  text-transform: none !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.spec-table td,
.mtable tbody td {
  font-family: "Zen Old Mincho", serif;
  color: var(--ys-navy);
}
.spec-table td .num,
.mtable td.num,
.spec-table td.num,
.work__specs .num {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500 !important;
}

/* ============================================================
   Headings within page body
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: "Zen Old Mincho", serif !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
  color: var(--ys-navy);
}

/* Section padding match TRAIL */
.sec { padding: clamp(80px, 10vw, 140px) 0 !important; }
.sec--narrow { padding: clamp(56px, 7vw, 96px) 0 !important; }
.sec--bg { background: #FAFAF8 !important; }

/* Form fields - TRAIL feel */
.form-row input,
.form-row select,
.form-row textarea {
  font-family: "Zen Old Mincho", serif !important;
  border: 1px solid rgba(30,31,59,.18) !important;
  color: var(--ys-navy) !important;
  background: #fff;
}
.form-row label {
  font-family: "Zen Old Mincho", serif !important;
  color: var(--ys-navy) !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
}

/* Tag pills */
.tag {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  font-size: 12px !important;
  letter-spacing: .04em !important;
  color: var(--ys-navy) !important;
  border-color: rgba(30,31,59,.25) !important;
  text-transform: none !important;
}

/* Work cards & detail */
.work__title,
.work__cat,
.work__specs strong {
  font-family: "Zen Old Mincho", serif !important;
  color: var(--ys-navy);
}
.work__cat {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic;
  text-transform: none !important;
}

/* Facility cards */
.fac-card__count {
  font-family: "Cormorant Garamond", serif !important;
  color: var(--ys-navy) !important;
  font-weight: 400 !important;
}
.fac-card__label {
  font-family: "Zen Old Mincho", serif !important;
  color: var(--ys-navy) !important;
}
.fac-card__text {
  font-family: "Zen Old Mincho", serif !important;
}

/* Strengths section */
.strength__num {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic;
  color: var(--ys-navy) !important;
  text-transform: none !important;
}
.strength__title {
  font-family: "Zen Old Mincho", serif !important;
  color: var(--ys-navy) !important;
}
.strength__text {
  font-family: "Zen Old Mincho", serif !important;
  color: var(--ys-navy) !important;
  line-height: 2;
}

/* Quality cards */
.q-card {
  border-top-color: var(--ys-navy) !important;
}
.q-card__num {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic;
  color: var(--ys-navy) !important;
  text-transform: none !important;
}
.q-card__title { font-family: "Zen Old Mincho", serif !important; color: var(--ys-navy) !important; }
.q-card__text { font-family: "Zen Old Mincho", serif !important; }

/* Message / About */
.message__copy h3 {
  font-family: "Zen Old Mincho", serif !important;
  color: var(--ys-navy) !important;
}
.message__copy p {
  font-family: "Zen Old Mincho", serif !important;
  color: var(--ys-navy) !important;
  line-height: 2.2 !important;
}
.message__sig { font-family: "Cormorant Garamond", serif !important; font-style: italic; }
.message__sig strong { font-family: "Zen Old Mincho", serif !important; }

/* Recruit jobs */
.job__title { font-family: "Zen Old Mincho", serif !important; color: var(--ys-navy) !important; }
.job__desc { font-family: "Zen Old Mincho", serif !important; line-height: 2 !important; }
.job__num,
.job__salary small {
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic !important;
  text-transform: none !important;
  color: var(--ys-navy) !important;
}
.job__salary { font-family: "Cormorant Garamond", serif !important; font-weight: 500 !important; }

/* Voice cards */
.voice__role,
.voice__name { font-family: "Zen Old Mincho", serif !important; color: var(--ys-navy) !important; }
.voice__role { font-family: "Cormorant Garamond", serif !important; font-style: italic !important; text-transform: none !important; }
.voice__text { font-family: "Zen Old Mincho", serif !important; line-height: 2 !important; }

/* Filter bar */
.filter-bar__btn {
  font-family: "Zen Old Mincho", serif !important;
  color: var(--ys-navy) !important;
  border-color: rgba(30,31,59,.2) !important;
  border-radius: 100px !important;
  padding: 12px 24px !important;
}
.filter-bar__btn.is-active {
  background: var(--ys-navy) !important;
  border-color: var(--ys-navy) !important;
  color: #fff !important;
}

/* Footer override (page sub-pages) — match TRAIL's footer typography */
.p-footer__c-name,
.p-footer__menu-link {
  font-family: "Zen Old Mincho", serif !important;
}
