/* KOMORI / manufacturing + technology. Public presentation only, 2026-10-22.
   Legacy tokens stay in komori-site.css. No applications, billing or print sheets. */
.page-cinematic-shell { --kc-ink:#092a40; --kc-night:#071c2b; --kc-mist:#f1f4f5; --kc-cyan:#64d4f4; color:var(--kc-ink); }
.page-cinematic-shell #pageTint,.page-cinematic-shell #cornerLoader { display:none!important; }
.page-cinematic-shell .reveal { opacity:1!important; transform:none!important; filter:none!important; }
.page-cinematic-shell .main-header { box-shadow:none; border-bottom:1px solid #0c365319; }
.page-cinematic-shell .main-footer { background:#071c2b; }
.page-cinematic-shell .main-footer { padding-top:64px; }
.page-cinematic-shell .footer-trust-panel,.page-cinematic-shell .footer-hours-card { border-radius:0; }
.page-cinematic-shell .footer-grid { gap:35px; }
.page-cinematic-shell .footer-col:first-child { text-align:left; }
.page-cinematic-shell .main-footer .site-brand-image { filter:brightness(0) invert(1); }
.page-cinematic-shell .cookie-consent-content { border-radius:6px; box-shadow:0 8px 28px #02152126; padding:15px 18px; }
.page-cinematic-shell .cookie-consent-content strong { font-size:13px; }
.page-cinematic-shell .cookie-consent-content p { font-size:12px; line-height:1.7; }
.page-cinematic-shell .cookie-consent-btn { min-height:44px; font-size:12px; }
.page-cinematic-shell :where(a,button,input,select):focus-visible { outline:3px solid #038cba; outline-offset:5px; }
.kc { --ks-ink:var(--kc-ink); overflow:clip; }
.kc [hidden] { display:none!important; }
.kc:not(.kc-enhanced) :where(.kc-product-filter,.kc-view-buttons) { display:none; }
.kc-wrap { width:min(1440px,calc(100% - 2 * clamp(24px,5.2vw,104px))); margin-inline:auto; }
.kc :where(figure,dl,ol,ul) { margin:0; }
.kc :where(h1,h2,h3,p) { margin:0; }
.kc h2 { font-size:clamp(2rem,4.1vw,4.25rem); line-height:1.28; letter-spacing:-.045em; font-weight:700; text-wrap:balance; }
.kc-section { padding-block:clamp(72px,9vw,156px); scroll-margin-top:150px; }
.kc-kicker { display:flex; align-items:center; gap:12px; font-size:11px; letter-spacing:.14em; font-weight:650; color:#17627e; margin-bottom:28px!important; text-transform:uppercase; }
.kc-kicker::before { content:""; width:27px; height:1px; background:currentColor; flex:none; }
.kc a { text-decoration:none; }
.kc-underlink { display:inline-flex; align-items:center; justify-content:space-between; min-height:48px; gap:40px; padding:12px 0; font-size:14px; font-weight:650; border-bottom:1px solid #0b37574d; }
.kc .kc-underlink { color:var(--kc-ink); }
.kc-underlink:hover { border-color:#0078a0; color:#0078a0; }
.kc-media :where(video,.kc-media__poster) { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.kc-department__copy>p:not(.kc-kicker) { font-size:14px; line-height:1.95; color:#475e6b; }
.kc-feature-lead { margin-top:28px!important; color:#486270; font-size:14px; line-height:2; max-width:490px; }
.kc-digital__body>p:not(.kc-kicker) { max-width:510px; margin-block:28px 34px; color:#d1e4ec; font-size:14px; line-height:2; }
.kc-product-filter { display:flex; flex-wrap:wrap; gap:10px; margin-block:55px 35px; }
.kc-product-filter button { display:inline-flex; gap:15px; align-items:center; justify-content:center; padding:12px 22px; min-height:46px; background:transparent; border:1px solid #c9d8e0; color:#2b5267; font:inherit; font-size:12px; cursor:pointer; }
.kc-product-filter button[aria-pressed=true] { color:#fff; background:#082f45; border-color:#082f45; }
.kc-product-filter small { opacity:.8; font-size:10px; }
.kc-result-count { margin-top:22px!important; color:#5a707d; font-size:11px; }
.kc-demo .ks-demo a :where(small,span) { color:#c3dce7; }
.kc #contact { padding-block:120px; }
.kc #contact .ks-wrap { width:min(1440px,calc(100% - 2 * clamp(24px,5.2vw,104px))); }
.kc #contact .ks-cta { border-radius:0; padding:60px; background:#ecf2f5; color:#082f45; border:0; }
.kc #contact .ks-cta :where(h2,p,a,small) { color:#082f45; }
.kc #contact .ks-cta a { border-color:#c2d4df; }
/* Interior continuity: same typography/spacing, original links, forms and contents. */
.page-cinematic-shell.ki-page :where(.page-hero,.product-hero) { border-radius:0; }
.page-cinematic-shell.ki-page .ki-chapter { border-radius:0; }
.page-cinematic-shell .ks-dept-page .ks-hero { position:relative; isolation:isolate; min-height:650px; display:flex; align-items:center; padding-block:100px; background:#071c2b; overflow:clip; }
.page-cinematic-shell .ks-dept-page .ks-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#052238f5,#052238b3 58%,#05223822); pointer-events:none; }
.page-cinematic-shell .ks-dept-page .ks-hero__grid { display:block; }
.page-cinematic-shell .ks-dept-page .ks-hero__grid>div { position:relative; z-index:2; max-width:680px; }
.page-cinematic-shell .ks-dept-page .ks-hero h1 { font-size:clamp(44px,5.2vw,84px); letter-spacing:-.045em; color:#fff; }
.page-cinematic-shell .ks-dept-page .ks-hero :where(.ks-hero__lead,.ks-dept__tag,.ks-crumb,.ks-eyebrow) { color:#d2e7f0!important; }
.page-cinematic-shell .ks-dept-page .ks-hero .ks-hero__media { position:absolute; inset:0; z-index:-3; }
.page-cinematic-shell .ks-dept-page .ks-hero .ks-hero__media img { width:100%; height:100%; object-fit:cover; border-radius:0; opacity:.7; }
.kc-hero__film :where(video,.kc-media__poster),.kc-digital__film :where(video,.kc-media__poster),.kc-department-film :where(video,.kc-media__poster) { z-index:-3; }
.page-cinematic-shell .ks-dept-page .ks-section { padding-block:clamp(65px,7vw,120px); }
.page-cinematic-shell .ks-dept-page .ks-feature { border-radius:0; background:#fff; }
.page-cinematic-shell .ks-dept-page .ks-card { border-radius:0; }
.page-cinematic-shell .ks-dept-page .ks-dept-nav>a { border-radius:0; }
.kc-directory-hero { padding-block:100px 65px; background:#edf3f5; }
.kc-directory-hero h1 { font-size:clamp(36px,5.5vw,78px); line-height:1.3; letter-spacing:-.05em; }
.kc-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:50px; }
.kc-directory-card { min-width:0; }
.kc-directory-card>a { display:block; color:#0b3148; }
.kc-directory-card img { aspect-ratio:1.6; width:100%; object-fit:cover; }
.kc-directory-card h2 { margin-top:25px; font-size:clamp(24px,2.6vw,38px); }
.kc-directory-card p { color:#526979; margin-top:20px; font-size:14px; }
.kc-directory-card .kc-underlink { margin-top:20px; }
.kc-motion .kc-reveal:not(.is-visible) { opacity:0; transform:translateY(28px); }
@media(min-width:1000px) and (prefers-reduced-motion:no-preference) { .kc-hero__film :where(video,.kc-media__poster) { transform:translateY(var(--kc-drift,0px)) scale(1.04); } }
@media(max-width:800px) {
    .kc-wrap { width:calc(100% - 48px); }
    .kc-kicker { font-size:9px; letter-spacing:.1em; margin-bottom:24px!important; }
    .kc-hero__film :where(video,.kc-media__poster) { object-position:62% center; }
    .kc-product-filter { gap:7px; margin-top:35px; }
    .kc-product-filter button { padding:10px 15px; font-size:11px; }
    .kc #contact { padding-block:70px; }
    .kc #contact .ks-cta { padding:35px 25px; }
    .kc-directory-grid { gap:45px 25px; }
}
@media(max-width:480px) {
    .kc h2 { font-size:clamp(26px,7.3vw,35px); }
    .kc-directory-grid { grid-template-columns:1fr; }
    .kc-directory-hero { padding-block:70px 50px; }
    .page-cinematic-shell .ks-dept-page .ks-hero { min-height:620px; }
    .page-cinematic-shell .ks-dept-page .ks-hero h1 { font-size:40px; }
}
@media(prefers-reduced-motion:reduce) {
    .kc *,.kc *::before,.kc *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
    .kc-motion .kc-reveal:not(.is-visible) { opacity:1; transform:none; }
}

/* Bounded department backdrops: light text remains readable on every photo/frame. */
.page-cinematic-shell.ke-site .ks-dept-page .ks-hero { background:#071c2b; }
.page-cinematic-shell .ks-dept-page .ks-hero .ks-hero__media img { opacity:1; filter:brightness(.30); }
.page-cinematic-shell .ks-dept-page .kc-department-film :is(video,.kc-media__poster) { filter:brightness(.30); }
