/* Homepage: process footage → equipment → engineering → line integration. */
.home-refined { --home-ink: #202427; --home-secondary: #53616b; --home-surface: #f3f5f5; --home-accent: #b8222b; }
/* Full-frame machinery with a restrained, centered brand statement. */
.process-hero { position:relative; isolation:isolate; height:min(900px,calc(100svh - 84px)); min-height:680px; overflow:hidden; background:#18211e; color:#fff; }
.process-hero__media { position:absolute; inset:0; z-index:0; overflow:hidden; }
.process-hero__photo,.process-hero__video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 45%; }
.process-hero__video[hidden] { display:none; }
.process-hero__media::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 50% 50%,rgba(8,15,18,.36),rgba(8,15,18,.22) 38%,transparent 70%),linear-gradient(0deg,rgba(8,15,18,.9) 0%,rgba(8,15,18,.42) 28%,rgba(8,15,18,.36) 70%,rgba(8,15,18,.34)); }
.home-refined .process-hero__copy { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; height:100%; width:min(1520px,calc(100% - 112px)); margin:0 auto; padding:112px 0 128px; }
.process-hero h1 { white-space:normal; max-width:100%; font-size:clamp(32px,2.5vw,44px); font-weight:500; line-height:1.65; letter-spacing:.32em; margin:0; text-wrap:balance; text-shadow:0 2px 18px #08101255; }
.process-hero::after { content:""; position:absolute; z-index:1; left:max(56px,calc((100vw - 1520px)/2)); right:max(56px,calc((100vw - 1520px)/2)); bottom:112px; height:1px; background:#ffffff20; pointer-events:none; }
.process-hero__action { position:absolute; z-index:2; right:max(56px,calc((100vw - 1520px)/2)); bottom:28px; display:inline-flex; align-items:center; gap:28px; min-height:64px; padding:0; color:#fff; font-size:16px; line-height:1.6; font-weight:500; }
.process-hero__action > span:first-child { border-bottom:1px solid #ffffff66; padding-block:8px; }
.process-hero__action > span:last-child { display:grid; place-items:center; width:52px; height:52px; flex:none; background:transparent; border:1px solid #ffffff55; color:#fff; font-size:24px; }
.process-hero__action:hover > span:first-child { border-color:#fff; }
.process-hero__action:hover > span:last-child { background:var(--home-accent); border-color:var(--home-accent); }
.process-hero__scroll { position:absolute; z-index:2; left:max(56px,calc((100vw - 1520px)/2)); bottom:28px; display:flex; align-items:center; gap:24px; color:#dce4e6; font-size:13px; min-height:64px; padding-block:8px; }

/* Let the equipment carry the visual weight. Controls sit beside the section heading. */
.home-refined .machine-stage { display: block; padding-block: 64px 48px; background: var(--home-surface); scroll-margin-top: 84px; }
.process-equipment-head h2 { margin: 0; font-size: clamp(34px,3.3vw,52px); font-weight: 600; line-height: 1.35; letter-spacing: -.035em; }
.process-equipment-head .show-section-label { margin-bottom: 14px; }
.home-refined .machine-stage__controls { width: min(1320px,calc(100% - 112px)); margin: 28px auto 0; padding: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 48px; align-items: center; background: transparent; color: var(--home-ink); }
.home-refined .machine-stage__rotation { display: none; }
.home-refined .machine-stage__choices { gap: 24px; }
.home-refined .machine-stage__choice { padding: 16px 0; border: 0; border-bottom: 2px solid #cbd2d6; color: var(--home-secondary); min-height: 94px; background: transparent; }
.home-refined .machine-stage__choice > span:first-child { font-size: 24px; font-weight: 500; }
.home-refined .machine-stage__choice > span:nth-child(2) { font-size: 14px; line-height: 1.65; margin-top: 6px; }
.home-refined .machine-stage__choice[aria-pressed="true"] { background: transparent; border-color: var(--home-accent); color: var(--home-ink); }
.home-refined .machine-stage__choice[aria-pressed="true"] > span:first-child { font-weight: 700; }
.home-refined .machine-stage__choice:hover { color: var(--home-ink); border-color: #53616b; }
.home-refined .machine-stage__choice-arrow { display: none; }
.home-refined .machine-stage__all { color: var(--home-accent); font-size: 16px; min-height: 44px; align-items: center; }
.home-refined .machine-stage__exhibit { width: min(1100px,calc(100% - 112px)); margin: 32px auto 0; }
.home-refined .machine-stage__panel { min-height: 0; }
.home-refined .machine-stage__model { top: 0; left: 50%; right: auto; transform: translateX(-50%); font-size: 48px; font-weight: 500; letter-spacing: -.025em; color: #53616b; }
.home-refined .machine-stage__machine { height: 400px; width: min(100%,960px); margin-top: 64px; }
.home-refined .machine-stage__caption { padding: 24px 0 0; margin-top: 12px; min-height: 90px; border-top: 1px solid #c8d1d6; background: transparent; gap: 20px 32px; }
.home-refined .machine-stage__caption p { font-size: 22px; font-weight: 600; }
.home-refined .machine-stage__caption div > span { font-size: 16px; color: var(--home-secondary); }
.home-refined .machine-stage__caption a { font-size: 16px; min-height: 44px; }

/* Distinct images for process expertise and complete equipment. */
.home-refined .show-statement { padding-block: 72px; gap: 64px; grid-template-columns: 1.05fr 1fr; }
.home-refined .home-process-photo { height: 380px; }
.home-refined .home-process-photo img { object-position: center; }
.home-refined .show-statement h2 { font-size: clamp(32px,3vw,46px); line-height: 1.4; letter-spacing: -.035em; max-width: 12em; text-wrap: balance; }
.home-refined .show-statement > div > p:not(.show-section-label) { max-width: 33em; }
.home-refined .show-integration { grid-template-columns: 1.15fr 1fr; }
.home-refined .show-integration__photo img { min-height: 500px; object-position: center; }
.home-refined .show-integration__content { padding-block: 56px; }
.home-refined .show-integration h2 { font-size: clamp(32px,3vw,46px); font-weight: 600; line-height: 1.4; }
.home-refined .show-contact { padding-block: 64px; }
.home-refined .show-contact h2 { font-size: clamp(30px,3vw,44px); line-height: 1.4; }

@media(max-width:980px) {
 .process-hero { height:calc(100svh - 72px); min-height:620px; }
 .home-refined .process-hero__copy { width:calc(100% - 64px); padding:100px 0 116px; }
 .process-hero h1,html[lang="en"] .process-hero h1,html[lang="ja"] .process-hero h1 { font-size:clamp(28px,3.6vw,36px); line-height:1.65; }
 .process-hero::after { left:32px; right:32px; }
 .process-hero__action { right:32px; }
 .process-hero__scroll { left:32px; }
 .home-refined .machine-stage__controls, .home-refined .machine-stage__exhibit { width: calc(100% - 64px); }
 .home-refined .machine-stage__controls { gap: 24px; }
 .home-refined .machine-stage__choice { min-height: 54px; }
 .home-refined .machine-stage__choice > span:nth-child(2) { display: none; }
 .home-refined .machine-stage__machine { height: 340px; }
 .home-refined .show-statement { gap: 32px; }
 .home-refined .home-process-photo { height: 340px; }
 .home-refined .show-integration__photo img { min-height: 440px; }
}
@media(max-width:700px) {
 .home-refined .machine-stage__controls { grid-template-columns: 1fr; gap: 12px; }
 .home-refined .machine-stage__all { justify-content: flex-end; }
}
@media(max-width:600px) {
 .process-hero { height:calc(100svh - 68px); min-height:620px; }
 .home-refined .process-hero__copy { width:calc(100% - 40px); padding:100px 0 116px; }
 .process-hero__photo,.process-hero__video { object-position:52% 45%; }
 .process-hero h1,html[lang="en"] .process-hero h1,html[lang="ja"] .process-hero h1 { white-space:pre-line; font-size:clamp(22px,6vw,28px); line-height:1.75; letter-spacing:.22em; }
 html[lang="en"] .process-hero h1 { font-size:clamp(20px,5.5vw,26px); letter-spacing:.1em; }
 html[lang="ja"] .process-hero h1 { font-size:clamp(20px,5.8vw,26px); letter-spacing:.14em; }
 .process-hero::after { left:20px; right:20px; bottom:102px; }
 .process-hero__action { right:20px; bottom:26px; min-height:52px; gap:22px; font-size:15px; }
 .process-hero__action > span:last-child { width:52px; height:52px; font-size:24px; }
 .process-hero__scroll { left:20px; bottom:26px; min-height:52px; min-width:44px; }
 .process-hero__scroll > span:first-child { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .home-refined .machine-stage { padding-block: 36px; }
 .process-equipment-head h2 { font-size: 32px; }
 .home-refined .machine-stage__controls, .home-refined .machine-stage__exhibit { width: calc(100% - 40px); }
 .home-refined .machine-stage__controls { margin-top: 20px; }
 .home-refined .machine-stage__choices { gap: 16px; }
 .home-refined .machine-stage__choice > span:first-child { font-size: 18px; }
 .home-refined .machine-stage__exhibit { margin-top: 20px; }
 .home-refined .machine-stage__model { font-size: 34px; }
 .home-refined .machine-stage__machine { height: 250px; width: 100%; margin-top: 52px; }
 .home-refined .machine-stage__caption { padding-top: 20px; margin-top: 0; gap: 10px; }
 .home-refined .machine-stage__caption p { font-size: 20px; }
 .home-refined .machine-stage__caption a { flex-shrink: 1; }
 .home-refined .show-statement { padding-block: 40px; grid-template-columns: 1fr; gap: 28px; }
 .home-refined .home-process-photo { height: 240px; }
 .home-refined .show-statement h2 { font-size: 32px; }
 .home-refined .show-integration { grid-template-columns: 1fr; }
 .home-refined .show-integration__photo img { min-height: 0; height: 260px; }
 .home-refined .show-integration__content { padding: 36px 20px 40px; }
 .home-refined .show-integration h2 { font-size: 32px; }
 .home-refined .show-contact { padding-block: 40px; }
 .home-refined .show-contact h2 { font-size: 30px; }
}

/* Self-contained battery animation, shared by all localized homepages. */
.home-battery-animation { position:relative; margin:0; width:100%; aspect-ratio:1.3; overflow:hidden; background:#f5f6f4; }
.home-battery-animation iframe { display:block; width:100%; height:100%; border:0; }
@media(max-width:600px) { .home-battery-animation { aspect-ratio:1.15; } }
