@font-face{font-family:'Mikkomi Tagline';src:url('../assets/fonts/ShipporiMincho-Tagline-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
/* Compact horizontal identity in the header, stacked vector identity in the hero. */
.cinema-home .header{position:absolute;inset:0 0 auto;height:82px;padding-inline:clamp(24px,4vw,64px);background:transparent;border:0;box-shadow:none;backdrop-filter:none;color:#1d3159;z-index:20}
.cinema-home .header .brand{display:flex;align-items:center;flex:none}
.cinema-home .header .brand-note{display:none}
.cinema-home .header .official-header-logo{display:block;width:116px;height:auto;max-width:none}
.cinema-home .header nav{gap:38px;font-size:13px;font-weight:500;margin-left:auto;margin-right:36px}
.cinema-home .header-contact{background:#1d3159;border-color:#1d3159;color:white;font-size:12px;height:46px;min-height:0;padding:0 24px;line-height:1;gap:12px}
.cinema-home .header-contact span{font-size:14px;line-height:1}
.cinema-home .header-contact:hover{background:#304e75}
.cinema-home .header a:focus-visible,.cinema-hero :focus-visible{outline:3px solid #008fc6;outline-offset:5px}
.cinema-hero{position:relative;isolation:isolate;height:clamp(610px,65svh,720px);overflow:hidden;background:#fbfeff;color:#1d3159}
.cinema-water-scene{position:absolute;inset:8.5% 0 -8.5%;pointer-events:none;transform-origin:50% 75%}
.cinema-water-scene picture{display:block;width:100%;height:100%}
.cinema-water-scene img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%}
.cinema-water-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;pointer-events:none}
.cinema-water-scene.has-water-canvas .cinema-water-canvas{opacity:1}
.cinema-water-scene.has-water-canvas picture{visibility:hidden}
.cinema-water-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fbfeff 0%,transparent 14%,transparent 75%,#edf6fa 100%)}
.cinema-identity{position:absolute;z-index:2;top:clamp(124px,14.6svh,168px);left:50%;transform:translateX(-50%);width:min(420px,calc(100% - 40px));text-align:center}
.cinema-brand{display:block;margin:0 auto 23px}
.cinema-official-logo{display:block;width:260px;height:auto;margin:auto}
.cinema-message{font-family:'Mikkomi Tagline','Yu Mincho',serif;font-weight:500;font-synthesis:none;font-size:26px;letter-spacing:.21em;line-height:1.8;white-space:nowrap;margin:0;padding-left:.21em;color:#1d3159}
.cinema-explore{position:absolute;z-index:3;left:50%;bottom:18px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 22px;color:#1d3159;font:10px/1.4 Arial,sans-serif;letter-spacing:.22em}
.cinema-explore i{display:block;width:1px;height:25px;background:#617894;transition:height .25s}
.cinema-explore:hover i{height:31px}
.cinema-controls{position:absolute;bottom:19px;right:32px;display:flex;gap:17px;z-index:3}
.cinema-controls button{font-size:10px;color:#557387;background:transparent;border:0;padding:8px 0;opacity:.6;cursor:pointer}
.cinema-controls button:hover{opacity:1}
.cinema-controls button[hidden]{display:none}
.cinema-home .chapter-bridge{margin-top:0}
.cinema-hero.is-playing .cinema-brand{animation:brand-arrive 1.2s cubic-bezier(.16,1,.3,1) both}
.cinema-hero.is-playing .cinema-message{animation:copy-arrive 1s .3s cubic-bezier(.16,1,.3,1) both}
.cinema-hero.is-playing .cinema-water-scene{animation:water-arrive 2.6s ease-out both}
.cinema-hero.is-paused *{animation-play-state:paused!important}
@keyframes brand-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes copy-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes water-arrive{from{opacity:.2;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}
@media(max-width:1100px){.cinema-home .header nav{gap:24px}.cinema-home .header{padding-inline:24px}.cinema-home .header .official-header-logo{width:108px}}
@media(max-width:800px){.cinema-home .header{height:72px;padding-inline:20px}.cinema-home .header .official-header-logo{width:90px}.cinema-home .header nav{background:#f8fcff;color:#203453;border-color:#d1e6ee}.cinema-home .header nav a{border-color:#d1e6ee}.cinema-home .header .menu{background:#ffffffb0;border-color:#cce0e9}.cinema-home .header .menu span{background:#243a5c}.cinema-home .header-contact{font-size:10px;padding:11px 15px;min-height:40px}.cinema-hero{height:clamp(610px,82svh,740px)}.cinema-identity{top:clamp(124px,16svh,156px)}.cinema-official-logo{width:220px}.cinema-brand{margin-bottom:24px}.cinema-message{font-size:22px;letter-spacing:.17em}.cinema-water-scene{inset:0}.cinema-water-scene img{object-position:50% 65%}.cinema-water-scene:after{background:linear-gradient(180deg,#fbfeff 0%,transparent 10%,transparent 88%,#edf6fa 100%)}.cinema-explore{bottom:25px;font-size:9px;gap:10px}.cinema-explore i{height:22px}.cinema-controls{right:18px;bottom:3px;gap:14px}.cinema-controls button{font-size:9px}}
@media(max-width:360px){.cinema-home .header{padding-inline:14px}.cinema-home .header .official-header-logo{width:84px}.cinema-home .header-contact{padding:10px 12px}.cinema-official-logo{width:200px}.cinema-message{font-size:20px}}
@media(prefers-reduced-motion:reduce){.cinema-hero *{animation:none!important;transition:none!important}.cinema-controls [data-cinema-skip],.cinema-controls [data-cinema-replay]{display:none}}
@media(min-width:801px){.cinema-home .header-contact{margin-left:0}.cinema-home .header nav{margin-right:10px}}
@media(max-width:800px){.cinema-home .header nav{margin:0}}

/* A real mirrored brand layer, refracted with the water whenever WebGL is available. */
.cinema-reflection{position:absolute;pointer-events:none;opacity:.2;overflow:hidden;mask-image:linear-gradient(#000,transparent 95%);-webkit-mask-image:linear-gradient(#000,transparent 95%)}
.cinema-water-scene .cinema-reflection img{width:100%;height:100%;object-fit:fill;transform:scaleY(-1);opacity:1}
.cinema-water-scene.has-water-canvas .cinema-reflection{visibility:hidden}
.cinema-identity{transform:translate(-50%,calc(var(--water-scroll,0)*-16px))}
.cinema-hero.is-playing .cinema-brand{animation:brand-emerge 1.5s .25s cubic-bezier(.16,1,.3,1) both}
.cinema-hero.is-playing .cinema-message{animation:copy-arrive 1.1s .9s cubic-bezier(.16,1,.3,1) both}
.cinema-hero.is-playing .cinema-water-scene{animation:water-arrive 2.4s ease-out both}
@keyframes brand-emerge{from{opacity:0;transform:translateY(17px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.business-overview{position:relative;isolation:isolate}
.business-overview:before{content:'';position:absolute;z-index:-1;inset:-110px 0 auto;height:270px;pointer-events:none;background:radial-gradient(ellipse at 50% 25%,#a8eafa90,transparent 67%);opacity:calc(.18 + var(--water-handoff,1)*.42);transform:translateY(calc(var(--water-handoff,1)*30px)) scaleX(calc(.85 + var(--water-handoff,1)*.15))}
@media(prefers-reduced-motion:no-preference){.business-overview .division-wrap{transform:translateY(calc((1 - var(--water-handoff,1))*12px))}}
@media(prefers-reduced-motion:reduce){.cinema-identity{transform:translateX(-50%)}.business-overview:before{transform:none;opacity:.25}}
