/* ============================================================
   English Version Font & Typography Overrides
   Fonts: Inter (body) + Playfair Display (headings)
   ============================================================ */

:root {
  --font-sans: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
}

body {
  font-family: var(--font-sans);
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  letter-spacing: 0.01em;
}

/* ── Nav: Inter feels sharper ── */
.nav-link {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.dropdown-menu a {
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: 0.04em;
}

/* ── Hero ── */
.hero-catch {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(28px, 4.5vw, 58px);
  letter-spacing: 0.01em;
  line-height: 1.2;
}
.hero-sub {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: clamp(13px, 1.4vw, 15px);
  letter-spacing: 0.06em;
}
.hero-cta {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* ── Section labels ── */
.section-label {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

/* ── Section headings ── */
.section-header h2 {
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: clamp(26px, 3.2vw, 40px);
  letter-spacing: 0.01em;
}
.section-header p {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.85;
}

/* ── Cards ── */
.biz-card-label {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 9px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.biz-card-body h3 {
  font-family: var(--font-serif);
  font-size: 17px;
  font-weight: 700;
}
.biz-card-body p {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.75;
}

/* ── Feature banners ── */
.feature-banner-content h3 {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 700;
  font-size: clamp(20px, 2.8vw, 32px);
}
.feature-banner-content .label {
  font-family: var(--font-sans);
  font-weight: 600;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-size: 9px;
}
.btn-outline-white {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* ── Page hero ── */
.page-hero .page-title {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(30px, 4.5vw, 52px);
  letter-spacing: 0.02em;
}
.page-hero .page-title-en {
  font-family: var(--font-sans);
  font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  font-size: 10px;
}

/* ── Tables ── */
.info-table th {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.06em;
}
.info-table td {
  font-family: var(--font-sans);
  font-size: 14px;
}

/* ── Tabs ── */
.tab-btn {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.06em;
}

/* ── Timeline ── */
.timeline-year {
  font-family: var(--font-sans);
  font-weight: 700;
  letter-spacing: 0.08em;
}
.timeline-content {
  font-family: var(--font-sans);
  font-size: 14px;
}

/* ── Message / President ── */
.message-body h2 {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(24px, 2.8vw, 34px);
}
.message-body p {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.9;
}
.message-text p {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 2;
  text-indent: 0;
}
.message-text .signature {
  font-family: var(--font-serif);
  font-style: italic;
}

/* ── Business panel ── */
.biz-panel-body h2 {
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: clamp(22px, 2.8vw, 34px);
}
.biz-panel-tag {
  font-family: var(--font-sans);
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  font-size: 10px;
}
.biz-panel-body p {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.85;
}
.biz-panel-list li {
  font-family: var(--font-sans);
  font-size: 13px;
}

/* ── Footer ── */
.footer-logo-main {
  font-family: var(--font-serif);
  font-size: 17px;
  letter-spacing: 0.02em;
}
.footer-logo-sub {
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.1em;
}
.footer-nav h3, .footer-contact h3 {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.footer-nav ul li a {
  font-family: var(--font-sans);
  font-size: 13px;
}
.footer-contact .contact-label {
  font-family: var(--font-sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 10px;
}
.footer-contact .contact-value {
  font-family: var(--font-sans);
  font-weight: 600;
}
.footer-bottom {
  font-family: var(--font-sans);
  letter-spacing: 0.08em;
}

/* ── Recruit ── */
.recruit-vision h2 {
  font-family: var(--font-serif);
  font-style: italic;
}
.job-card h3 {
  font-family: var(--font-serif);
  font-size: 20px;
}
.job-tag {
  font-family: var(--font-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 10px;
}
.job-table th, .job-table td {
  font-family: var(--font-sans);
}

/* ── Pellet pages ── */
.pellet-header h1 {
  font-family: var(--font-sans);
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.pellet-header p {
  font-family: var(--font-sans);
}
.pellet-section-title h2 {
  font-family: var(--font-serif);
  font-style: italic;
}
.stove-card-body h3 {
  font-family: var(--font-serif);
  font-size: 16px;
}
.maker-tag {
  font-family: var(--font-sans);
  letter-spacing: 0.15em;
}
.stove-card-body table th,
.stove-card-body table td {
  font-family: var(--font-sans);
}

/* ── Kameoka Dome ── */
.kameoka-hero-content h1 {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 700;
}
.info-card h3 {
  font-family: var(--font-serif);
}
.info-card p {
  font-family: var(--font-sans);
}

/* ── Overview stats ── */
.overview-stat .stat-num {
  font-family: var(--font-sans);
  font-weight: 200;
  letter-spacing: -0.03em;
}
.overview-stat .stat-label {
  font-family: var(--font-sans);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

/* ── Breadcrumb ── */
.breadcrumb ol {
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: 0.04em;
}

/* ── Text link ── */
.text-link {
  font-family: var(--font-sans);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 12px;
}
