/* ═══════════════════════════════════════════════════════
   imageMILL — JAPANESE TYPOGRAPHY
   Scope: language-specific type sizing only.
   The approved layout, spacing and animation remain unchanged.
═══════════════════════════════════════════════════════ */

html[lang^="ja"] h1,
html[lang^="ja"] h2,
html[lang^="ja"] h3 {
	line-break: strict;
	word-break: normal;
}

/* Shared page and CTA headings */
html[lang^="ja"] .ph-title {
	font-size: clamp(43px, 5.8vw, 79px);
	line-height: 1.14;
	letter-spacing: 0.01em;
}

html[lang^="ja"] .sh-title {
	font-size: clamp(29px, 3.6vw, 50px);
	line-height: 1.22;
}

html[lang^="ja"] .cta-title {
	font-size: clamp(32px, 4.5vw, 64px);
	line-height: 1.22;
}

/* Home */
html[lang^="ja"] body.home .hero-title {
	font-size: clamp(32px, 5.6vw, 74px);
}

html[lang^="ja"] body.home .stmt-title {
	font-size: clamp(27px, 3.35vw, 47px);
}

html[lang^="ja"] body.home .sevens-title,
html[lang^="ja"] body.home .work-ht {
	font-size: clamp(27px, 3vw, 40px);
}

html[lang^="ja"] body.home .disc-title {
	font-size: clamp(23px, 2.45vw, 35px);
}

html[lang^="ja"] body.home .wa-title {
	font-size: clamp(39px, 5vw, 68px);
	line-height: 1.08;
}

html[lang^="ja"] body.home .mill-ht {
	font-size: clamp(27px, 3.4vw, 45px);
}

html[lang^="ja"] body.home .wa-story-title {
	font-size: clamp(20px, 2.6vw, 35px);
	line-height: 1.25;
}

/* About */
html[lang^="ja"] .about-page .ph-title {
	font-size: clamp(36px, 5.4vw, 72px);
}

html[lang^="ja"] .about-page .conviction-title {
	font-size: clamp(25px, 3.4vw, 48px);
	line-height: 1.24;
}

html[lang^="ja"] .about-page .founder-name,
html[lang^="ja"] .about-page .studio-title {
	font-size: clamp(29px, 3.6vw, 48px);
	line-height: 1.2;
}

html[lang^="ja"] .about-page .credentials-title {
	font-size: clamp(25px, 2.9vw, 40px);
	line-height: 1.22;
}

html[lang^="ja"] .about-page .cta-title {
	font-size: clamp(31px, 4.5vw, 60px);
}

/* Approach */
html[lang^="ja"] .approach-page .ph-title {
	font-size: clamp(38px, 5.2vw, 70px);
}

html[lang^="ja"] .approach-page .sh-title,
html[lang^="ja"] .approach-page .bj-title,
html[lang^="ja"] .approach-page .proof-title {
	font-size: clamp(28px, 3.6vw, 47px);
	line-height: 1.24;
}

html[lang^="ja"] .approach-page .sev-name,
html[lang^="ja"] .approach-page .how-step-title {
	line-height: 1.3;
}

/* The MILL */
html[lang^="ja"] .the-mill-page .hero-title {
	font-size: clamp(34px, 5.6vw, 76px);
}

html[lang^="ja"] .the-mill-page .intro-title {
	font-size: clamp(28px, 3.7vw, 49px);
}

html[lang^="ja"] .the-mill-page .pillars-title,
html[lang^="ja"] .the-mill-page .place-title,
html[lang^="ja"] .the-mill-page .now-title {
	font-size: clamp(25px, 3vw, 40px);
}

html[lang^="ja"] .the-mill-page .pillar-title {
	font-size: clamp(24px, 2.7vw, 35px);
}

html[lang^="ja"] .the-mill-page .now-card-title {
	font-size: clamp(17px, 1.45vw, 20px);
	line-height: 1.3;
}

html[lang^="ja"] .the-mill-page .vision-quote {
	font-size: clamp(27px, 3.8vw, 52px);
}

html[lang^="ja"] .the-mill-page .cta-card-title {
	font-size: clamp(26px, 3.05vw, 40px);
}

/* 7Cs */
html[lang^="ja"] .seven-cs-page .ph-title {
	font-size: clamp(43px, 5.4vw, 76px);
}

html[lang^="ja"] .seven-cs-page .seven-cs-section-title {
	font-size: clamp(34px, 4.5vw, 63px);
	line-height: 1.2;
}

html[lang^="ja"] .seven-cs-page .seven-cs-card-name {
	line-height: 1.25;
}

html[lang^="ja"] .seven-cs-page .seven-cs-closing-title {
	font-size: clamp(50px, 7.2vw, 100px);
	line-height: 1.08;
}

/* Work archive and case studies */
html[lang^="ja"] .work-single-hero__title {
	font-size: clamp(52px, 8.1vw, 124px);
	line-height: 1.08;
}

html[lang^="ja"] .work-single-intro__statement {
	font-size: clamp(34px, 4.5vw, 64px);
	line-height: 1.25;
}

html[lang^="ja"] .work-next__title {
	line-height: 1.2;
}

/* Stories */
html[lang^="ja"] .stories-page .story-hero-title {
	font-size: clamp(29px, 4vw, 56px);
	line-height: 1.2;
}

html[lang^="ja"] .stories-page .grid-hd-title {
	font-size: clamp(20px, 2.25vw, 29px);
	line-height: 1.25;
}

html[lang^="ja"] .story-single .art-cinematic-title {
	font-size: clamp(31px, 5vw, 65px);
	line-height: 1.18;
}

html[lang^="ja"] .story-tag-title {
	font-size: clamp(38px, 5.4vw, 74px);
	line-height: 1.15;
}

/* Collaborate */
html[lang^="ja"] .collaborate-page .ph-title {
	font-size: clamp(39px, 5.2vw, 71px);
}

html[lang^="ja"] .collaborate-page .collaborate-way__title {
	font-size: clamp(32px, 3.6vw, 52px);
	line-height: 1.2;
}

html[lang^="ja"] .collaborate-page .collaborate-contact__title {
	font-size: clamp(39px, 5vw, 68px);
	line-height: 1.2;
}

/* Legal */
html[lang^="ja"] .legal-hero__title {
	font-size: clamp(47px, 6.3vw, 85px);
	line-height: 1.14;
}

@media (max-width: 680px) {
	html[lang^="ja"] .ph-title,
	html[lang^="ja"] .about-page .ph-title,
	html[lang^="ja"] .approach-page .ph-title,
	html[lang^="ja"] .seven-cs-page .ph-title,
	html[lang^="ja"] .collaborate-page .ph-title {
		font-size: clamp(32px, 9.5vw, 43px);
	}

	html[lang^="ja"] body.home .hero-title,
	html[lang^="ja"] .the-mill-page .hero-title {
		max-width: 19em;
		font-size: clamp(29px, 8.5vw, 37px);
	}

	html[lang^="ja"] .sh-title,
	html[lang^="ja"] .cta-title,
	html[lang^="ja"] .about-page .conviction-title,
	html[lang^="ja"] .about-page .founder-name,
	html[lang^="ja"] .about-page .studio-title,
	html[lang^="ja"] .about-page .credentials-title,
	html[lang^="ja"] .approach-page .sh-title,
	html[lang^="ja"] .approach-page .bj-title,
	html[lang^="ja"] .approach-page .proof-title,
	html[lang^="ja"] .the-mill-page .intro-title,
	html[lang^="ja"] .the-mill-page .pillars-title,
	html[lang^="ja"] .the-mill-page .place-title,
	html[lang^="ja"] .the-mill-page .now-title,
	html[lang^="ja"] .the-mill-page .cta-card-title,
	html[lang^="ja"] .collaborate-page .collaborate-way__title,
	html[lang^="ja"] .collaborate-page .collaborate-contact__title {
		font-size: clamp(25px, 7.4vw, 33px);
	}

	html[lang^="ja"] .work-single-hero__title,
	html[lang^="ja"] .story-single .art-cinematic-title {
		font-size: clamp(31px, 9.5vw, 43px);
	}

	html[lang^="ja"] .seven-cs-page .seven-cs-closing-title {
		font-size: clamp(40px, 13vw, 60px);
	}
}
