/* Graphite continuity: media carries depth; reading and controls stay on the page plane. */
.jri-site{--accent:#5a91ff;--accent-light:#a3c2ff}
.jri-site.brand-jap{--accent:#74b899;--accent-light:#a8d7be;--blue:var(--accent);--signal:var(--accent-light)}
.brand-jap .button,.brand-jap .nav-links .inquiry,.brand-jap .capability-band{background:var(--accent);border-color:var(--accent);color:#111619}
.brand-jap .button:hover,.brand-jap .nav-links .inquiry:hover{background:var(--accent-light)}
.brand-jap .plain-link,.brand-jap .eyebrow,.brand-jap .service-kicker,.brand-jap .project-card-category,.brand-jap .section-label,.brand-jap .text-link,.brand-jap .underlined,.brand-jap .access-notice a{color:var(--accent-light)}
.brand-jap :focus-visible{outline-color:var(--accent-light)}
.brand-jap .scroll-progress{background:var(--accent)}
.jri-site .brand-switch{display:inline-flex;gap:10px;align-items:center;min-height:44px;border-left:1px solid #536168;padding:8px 14px;color:var(--paper);white-space:nowrap}
.jri-site .jap-logo{width:126px;height:auto;display:block;background:#fff;padding:3px}
.jri-site .jap-logo img{position:static;display:block;width:100%;max-width:100%;height:auto;transform:none}
.jri-site .nav-links{gap:clamp(14px,1.5vw,28px)}
.graphite-reference .hero{perspective:1200px;isolation:isolate}
.graphite-reference .hero-film{transform-origin:50% 100%;transform:rotateX(calc((1 - var(--hero-settle,0))*1.5deg)) scale(calc(.985 + var(--hero-settle,0)*.015));backface-visibility:hidden}
.graphite-reference .hero-footer>[data-global-pause]{margin-left:auto;color:var(--paper);border:1px solid #79858c;min-height:44px;padding:8px 14px;background:#111619b8}
.graphite-reference .hero-footer{gap:18px}
.graphite-reference .service-editorial{position:relative}
.graphite-reference .service-image{background:transparent;border:0}
.graphite-reference .service-image:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -24px 30px -24px #111619}
.graphite-reference .service-image figcaption{background:#111619;color:var(--muted);padding-inline:0}
.graphite-reference .featured-work{border-top:1px solid #536168;background:transparent}
.graphite-reference .featured-preview{background:transparent;border:0}
.graphite-reference .depth-story{padding-block:80px 56px;overflow:visible}
.depth-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.8fr);gap:clamp(32px,5vw,80px);align-items:start}
.depth-sticky{position:sticky;top:104px;min-width:0}
.depth-controls{display:flex;border-top:1px solid #536168;border-bottom:1px solid #536168;gap:4px;margin-bottom:16px}
.depth-controls[hidden]{display:none}
.depth-controls button{flex:1;min-width:0;min-height:48px;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:15px;text-align:left;padding:10px 8px}
.depth-controls button span{font-size:11px;margin-right:8px;color:var(--accent-light)}
.depth-controls button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--paper)}
.depth-figure{margin:0;background:#151c20;overflow:hidden;--scene-progress:0;--scene-turn:0deg;--plane-offset:0px}
.scene-legend{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;color:var(--muted);font-size:11px;letter-spacing:.06em;gap:8px}
.scene-legend button{font-size:12px;min-height:44px;padding:8px;color:var(--paper);border:1px solid #6d7c82;background:transparent;letter-spacing:0}
.scene-actions{display:flex;gap:8px}.scene-legend{flex-wrap:wrap}
.scene-planes{perspective:1200px;aspect-ratio:700/430;position:relative;overflow:hidden;color:var(--accent-light)}
.scene-world{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(var(--scene-turn));transform-origin:50% 50%}
.depth-plane{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;transform-style:preserve-3d}
.equipment-plane{transform:translateZ(calc(-1*var(--plane-offset)));overflow:hidden;opacity:.8}
.equipment-plane img{width:100%;height:100%;object-fit:cover;mask-image:linear-gradient(180deg,#000 65%,transparent)}
.signal-plane{transform:translateZ(calc(var(--plane-offset)*.4));color:var(--accent-light)}
.process-path{stroke-dasharray:1;stroke-dashoffset:calc(.9 - var(--scene-progress)*.9);transition:stroke-dashoffset 160ms linear}
.information-plane{inset:auto 6% 6% auto;width:33%;height:auto;transform:translateZ(var(--plane-offset));background:#111619eb;border-left:2px solid var(--accent);padding:14px;color:var(--accent-light);opacity:calc(.6 + var(--scene-progress)*.4)}
.information-plane>span{font-size:10px;letter-spacing:.03em}.information-plane>strong{display:block;font-size:32px;line-height:1.2;font-weight:500}.information-plane small{font-size:16px}.information-plane svg{display:block;width:100%;height:auto;margin:4px 0}.information-plane p{font-size:12px;display:flex;justify-content:space-between;gap:8px}.information-plane p span{color:var(--muted);font-size:9px}
.material-plane{transform:translateZ(calc(-1*var(--plane-offset)))}
.scene-grid{fill:none;stroke:#475b50;stroke-width:1}
.machining-plane{transform:translateZ(calc(var(--plane-offset)*.4))}
.tool-head{transform:translateY(calc((1 - var(--scene-progress))*-20px));transition:transform 320ms ease}
.assembly-plane{transform:translateZ(var(--plane-offset)) translateY(calc((1 - var(--scene-progress))*-24px));opacity:calc(.15 + var(--scene-progress)*.85);transition:opacity 320ms ease}
.depth-figure figcaption{display:flex;justify-content:space-between;gap:24px;padding:12px 16px;font-size:12px;line-height:1.5;color:var(--muted);border-top:1px solid #38474f}
.depth-figure figcaption span:last-child{max-width:55%;text-align:right}
.scene-evidence{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid #536168;align-items:center;color:var(--paper)}
.scene-evidence>img{width:auto;height:auto;max-width:110px!important;max-height:90px;object-fit:contain}.scene-evidence>span{display:grid;gap:3px}.scene-evidence small{font-size:10px;letter-spacing:.08em;color:var(--accent-light)}.scene-evidence strong{font-size:18px;font-weight:500;line-height:1.3}.scene-evidence>span>span{font-size:13px;color:var(--muted)}
.depth-step{min-height:340px;display:flex;flex-direction:column;justify-content:center;border-top:1px solid #536168;padding:40px 0;color:var(--paper)}
.depth-step[hidden]{display:none}.depth-step .step-index{font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.07em}.depth-step h3{font-size:clamp(28px,3vw,42px);line-height:1.12;margin:18px 0;max-width:420px;font-weight:500}.depth-step>p:not(.step-index):not(.step-detail){font-size:17px;line-height:1.65;max-width:420px;color:var(--muted)}.depth-step .step-detail{font-size:11px;color:var(--accent-light);margin-top:20px;letter-spacing:.05em}.depth-step.is-active{border-top-color:var(--accent)}
.brand-jap.graphite-reference .hero{min-height:720px;padding-top:100px;padding-bottom:130px;background:#111619;overflow:hidden}
.brand-jap.graphite-reference .hero .copy{max-width:650px;position:relative;z-index:2}
.brand-jap.graphite-reference .hero h1{font-size:clamp(46px,5.4vw,78px);max-width:720px}
.brand-jap.graphite-reference .hero h1 span{color:var(--accent-light)}
.jap-hero-photo{position:absolute;right:5%;top:85px;bottom:70px;width:42%;margin:0;display:flex;align-items:center;justify-content:flex-end;transform:perspective(1200px) rotateY(calc((1 - var(--hero-settle,0))*-2deg));transform-origin:100% 50%}
.jap-hero-photo img{display:block;width:auto;height:auto;max-height:100%;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 25%,#000 95%,transparent)}
.jap-hero-photo figcaption{position:absolute;bottom:0;right:0;font-size:11px;color:var(--muted);background:#111619d9;padding:8px}
.jap-hero-photo .hero-companion{position:absolute;left:0;bottom:4%;width:44%;padding-top:16px;border-top:1px solid var(--accent);z-index:2}.jap-hero-photo .hero-companion img{width:auto;max-width:100%!important;max-height:180px;mask-image:none}.hero-companion span{font-size:11px;color:var(--muted);display:block;margin-top:8px}
.brand-jap.graphite-reference .hero .scrim{background:linear-gradient(90deg,#111619 0%,#111619f0 24%,#11161944 54%,transparent);z-index:0}
.jap-contact-photo{position:absolute;inset:auto 0 20px auto;width:58%;opacity:.38;pointer-events:none}.jap-contact-photo img{width:auto;height:auto;max-height:420px;object-fit:contain;mask-image:linear-gradient(180deg,transparent,#000 25%)}
.brand-jap .contact-scene{overflow:hidden;position:relative}.brand-jap .contact-scene>.section-label,.brand-jap .contact-scene>h2,.brand-jap .contact-scene>p,.brand-jap .contact-scene>a,.brand-jap .contact-scene>address{position:relative;z-index:1}
.motion-paused .process-path,.motion-paused .depth-plane,.motion-paused .tool-head{transition:none!important}
.scene-static .scene-world,.scene-static .depth-plane,.scene-static .tool-head{transform:none!important;transition:none!important}.scene-static .process-path{stroke-dashoffset:0;transition:none}.scene-static .assembly-plane,.scene-static .information-plane{opacity:1}
.depth-reduced .scene-world,.depth-reduced .depth-plane,.depth-reduced .hero-film,.depth-reduced .jap-hero-photo{transform:none!important}.depth-reduced .process-path{stroke-dashoffset:0;transition:none}.depth-reduced .assembly-plane,.depth-reduced .information-plane{opacity:1}.depth-reduced .depth-step{min-height:0;padding:24px 0}.depth-reduced .depth-sticky{position:relative;top:0}
@media(max-width:1100px),(max-height:899px){.depth-layout{grid-template-columns:1fr}.depth-sticky{position:relative;top:0}.scene-planes{max-height:420px}.depth-step{min-height:0;padding:24px 0}.depth-layout{gap:20px}.depth-steps{max-width:720px}.depth-step h3{font-size:30px;margin:10px 0}.scene-world,.depth-plane{transform:none!important}.depth-controls{max-width:720px}.depth-figure{max-width:800px}.scene-evidence{max-width:800px}}
@media(min-width:761px) and (max-width:1279px){.jri-site .nav .brand-label{display:none}.jri-site .nav-links{gap:12px}.jri-site .nav-links .inquiry{padding-inline:14px}.jri-site .nav{padding-inline:24px}}
@media(max-width:760px){.graphite-reference .hero-film{transform:none}.jri-site .nav-links .brand-switch{border-left:0;border-top:1px solid #536168}.graphite-reference .hero-footer>[data-global-pause]{margin:0;font-size:12px;padding:8px 10px}.graphite-reference .hero-footer{flex-wrap:wrap;gap:10px}.graphite-reference .service-editorial:before{display:none}.graphite-reference .depth-story{padding-block:48px}.depth-controls button{font-size:13px;padding-inline:4px}.depth-controls button span{margin-right:3px}.scene-legend{font-size:9px;padding:4px 10px;letter-spacing:0}.scene-legend button{font-size:11px}.information-plane{padding:8px;width:35%;right:3%;bottom:4%}.information-plane>span{font-size:7px}.information-plane>strong{font-size:23px}.information-plane small{font-size:12px}.information-plane p{font-size:9px}.information-plane p span{display:none}.depth-figure figcaption{padding:10px;font-size:10px;gap:10px}.depth-step>p:not(.step-index):not(.step-detail){font-size:16px}.scene-evidence{grid-template-columns:82px 1fr;gap:14px;padding:14px 0}.scene-evidence>img{max-width:82px!important;max-height:72px}.scene-evidence strong{font-size:16px}.scene-evidence>span>span{font-size:12px}.depth-layout{gap:8px}.depth-step h3{font-size:28px}.depth-step .step-detail{margin-top:12px}.brand-jap.graphite-reference .hero{display:flex;flex-direction:column;min-height:0;padding:116px var(--space) 24px}.brand-jap.graphite-reference .hero .hero-body{padding:0;min-height:0;width:100%}.brand-jap.graphite-reference .hero .hero-body .copy{padding:0}.brand-jap.graphite-reference .hero h1{font-size:clamp(38px,9.6vw,52px)}.brand-jap.graphite-reference .hero .intro{font-size:16px;max-width:500px}.brand-jap.graphite-reference .hero .scrim{display:none}.brand-jap.graphite-reference .hero .jap-hero-photo{position:relative;inset:auto;order:2;width:100%;height:320px;margin:28px 0 12px;justify-content:center;transform:none}.brand-jap.graphite-reference .hero .jap-hero-photo img{max-height:300px;max-width:100%!important;mask-image:none}.brand-jap.graphite-reference .hero .hero-footer{position:relative;inset:auto;order:3;padding:0;width:100%}.brand-jap .hero-caption{font-size:11px}.brand-jap .jap-services .service-feature{min-height:0}.jri-site .jap-logo{width:110px}.depth-reduced .depth-steps{display:block}}
@media(prefers-reduced-motion:reduce){.scene-world,.depth-plane,.hero-film,.jap-hero-photo,.tool-head{transform:none!important;transition:none!important}.process-path{stroke-dashoffset:0;transition:none}.assembly-plane,.information-plane{opacity:1}}
@media(max-width:760px){.jap-hero-photo .hero-companion{display:none}}

@media(min-width:1101px) and (min-height:900px){.depth-step:last-child{min-height:var(--scene-height,340px);justify-content:flex-start}}
/* A selected compact stage stays with its controls and illustration; other reduced-motion stages remain readable below. */
.depth-selection[hidden]{display:none}
.depth-sticky.is-compact{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px 24px}
.is-compact .depth-controls{grid-column:1/-1;margin-bottom:0;max-width:none}
.is-compact .depth-selection{grid-column:1;grid-row:2;min-width:0}
.is-compact .depth-figure{grid-column:2;grid-row:2;min-width:0}
.is-compact .scene-evidence{grid-column:1/-1;max-width:none}
.is-compact .scene-planes{max-height:min(360px,calc(100svh - 250px))}
.is-compact .depth-step{min-height:0;padding:8px 0 12px;border:0;justify-content:flex-start}
.is-compact .depth-step .step-index{display:none}
.is-compact .depth-step h3{font-size:clamp(24px,3vw,30px);margin:0 0 10px}
.is-compact .depth-step>p:not(.step-detail){font-size:16px;line-height:1.5}
.is-compact .depth-step .step-detail{font-size:10px;margin-top:12px}
@media(min-width:1101px) and (min-height:900px){.depth-reduced .depth-sticky{position:sticky;top:104px}.depth-reduced .depth-step{min-height:340px;padding:40px 0}.depth-reduced .depth-step:last-child{min-height:var(--scene-height,340px);justify-content:flex-start}}
@media(max-width:600px){.depth-sticky.is-compact{display:block}.is-compact .depth-controls,.is-compact .depth-selection{margin-bottom:12px}}


@media(max-height:500px){.is-compact .information-plane{width:40%;padding:4px;right:3%;bottom:4%}.is-compact .information-plane>span{font-size:6px}.is-compact .information-plane>strong{font-size:14px;line-height:1.1}.is-compact .information-plane small{font-size:9px}.is-compact .information-plane svg{margin:2px 0}.is-compact .information-plane p{font-size:7px;margin:3px 0}.is-compact .information-plane p span{display:none}}

@media(max-height:500px){.is-compact .depth-figure figcaption{font-size:10px;padding:6px 8px;gap:12px}}

/* Customer presentation: actual identity, quiet customers, manual work rail. */
.jri-site.brand-jri{--nav-height:104px}
.jri-site.brand-jri .nav{height:var(--nav-height)}
.jri-site .official-logo{display:block;width:144px;height:auto;background:#f0f2ef;padding:5px;overflow:visible;flex-shrink:0}
.jri-site .official-logo img{position:static;display:block;width:100%;height:auto;max-width:100%;object-fit:contain;transform:none}
.jri-site .footer .official-logo{width:132px;margin-bottom:12px}
.jri-site .footer-brand{display:inline-block}
.jri-site .customer-marquee{overflow:visible}
.jri-site .customer-track{animation:none;transform:none;width:100%}
.jri-site .customer-group{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(24px,4vw,64px);width:100%;padding-right:0}
.jri-site .customer-item{width:100%;min-width:0}
.jri-site .hero-footer .film-caption{padding:0;background:none}
.jri-site .scene-legend{min-height:0}
@media(max-width:1000px){.jri-site .customer-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px}}
@media(max-width:760px){.jri-site.brand-jri{--nav-height:88px}.jri-site .official-logo{width:120px;padding:4px}.jri-site .footer .official-logo{width:120px}.jri-site .customer-group{gap:16px 28px}.jri-site .customer-item img{height:58px}}
