/* Reading rules shared by both languages; the desktop composition stays intact. */
.home .story-panel { overflow-y: auto; overscroll-behavior-y: contain; }
.home .panel-inner :is(h1,h2,h3,p,li,dd,figcaption) { overflow-wrap: break-word; word-break: normal; }
.home .panel-inner :is(h1,h2,h3) { text-wrap: balance; }
.home .panel-inner p { text-wrap: pretty; }
.home .panel-inner :is(.experience-split,.learning-columns,.about-story,.practice-grid,.function-heading,.robot-cover-grid,.robot-role-heading,.robot-gallery-heading,.document-cover-grid,.recipient-grid,.detail-case-grid,.reading-grid,.integration-composition) > * { min-width: 0; }
html[lang="en"] .home .panel-inner :is(h1,h2) { letter-spacing: -.025em; }
.home .panel-inner .panel-kicker { line-height: 1.6; }
@media (min-width:651px) and (max-width:1100px) {
 .home.visual-story .sharing-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; }
 .home.visual-story .sharing-steps::before,.home.visual-story .sharing-steps::after { display: none; }
}
@media (min-width:651px) and (max-width:900px) {
 .home .site-header .wrap { grid-template-columns: minmax(0,1fr) auto; gap: 12px 24px; padding-block: 12px; }
 .home .site-header .language-picker { grid-column: 2; grid-row: 1; }
 .home .site-header .nav { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; gap: 16px; }
 .home .site-header .nav a { font-size: .9375rem; line-height: 1.4; }
 .home .experience-split,.home .document-cover-grid,.home .recipient-grid,.home .detail-case-grid,.home .reading-grid,.home .integration-composition,.home .robot-cover-grid { grid-template-columns: minmax(0,1fr); gap: 32px; }
 .home .function-heading,.home .robot-role-heading,.home .robot-gallery-heading { grid-template-columns: minmax(0,1fr); gap: 8px; }
 .home .function-heading .profile-intro { max-width: 60ch; }
 .home .recipient-screen { position: static; width: min(100%,360px); }
 .home .experience-split .conference-photo { width: min(100%,560px); }
 .home .experience-page { justify-content: safe center; }
 .home .perspectives { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .home .perspective p:not(.field-label) { max-width: 60ch; }
 .home .approach-cycle .perspective::after { display: none !important; }
 .home .personal-practice .practice-grid { grid-template-columns: minmax(0,1fr); gap: 36px; }
 .home .about-story { grid-template-columns: minmax(180px,.7fr) minmax(0,1fr); }
 .home .design-stages { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .home .design-stages::before { display: none; }
 .home .design-stages p { max-width: 60ch; }
 .home .robot-portrait img { height: min(50dvh,420px); }
}
@media (max-width:650px) {
 .home { --page-gutter: clamp(20px,5.5vw,28px); }
 .home .panel-inner { padding-block: 32px 44px; }
 .home.detail-site .panel-inner :is(h1,h2),.home:not(.detail-site) .personal-about .about-biography .profile-heading,.home:not(.detail-site) .personal-practice .profile-heading {
  font-size: clamp(1.75rem,7.2vw,2.25rem); line-height: 1.3; letter-spacing: -.025em;
 }
 .home .panel-inner h3 { line-height: 1.45; }
 .home .panel-inner p:not(.panel-kicker):not(.learning-label):not(.field-label):not(.selected-tags):not(.selected-index) { line-height: 1.75; }
 .home .panel-inner .panel-kicker { letter-spacing: .06em; }
 .home .experience-event-tabs { gap: 12px 24px; margin-bottom: 22px; }
 .home .experience-event-tabs button { font-size: .9375rem; }
 .home .experience-event .experience-split { margin-top: 0; }
 .home .learning-columns { gap: 32px; }
 .home .learning-columns h3 { font-size: 1.25rem; }
 .home .teaching-visual { margin-bottom: 16px; }
 .home .detail-origin .return-to-work { white-space: normal; line-height: 1.35; }
 .home .nav a { min-width: 0; white-space: normal; text-wrap: balance; }
 .home:not(.detail-site) .site-header .nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 8px; }
 html .home:not(.detail-site) .site-header .nav a { font-size: .8125rem; line-height: 1.5; }
 .home .paper-list h3 { font-size: 1.0625rem; text-wrap: pretty; }
}
@media (max-height:500px) and (min-width:651px) {
 .home .panel-inner { padding-block: 28px 40px; }
 .home:not(.detail-site) .intro-only { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
 .home:not(.detail-site) .intro-art .discipline-visual { position: static; transform: none; width: min(100%,280px); margin-inline: auto; }
}
