@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#06101a;--ink:#edf7fa;--muted:#91a7b5;--cyan:#50e5ec;--line:rgba(143,200,216,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,'Noto Sans JP',sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button{font:inherit}.header{position:absolute;z-index:5;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:27px 5.5%;border-bottom:1px solid #ffffff20}.brand{display:flex;align-items:center;gap:12px}.mark{font-size:31px;line-height:1;font-weight:700;letter-spacing:-3px}.mark span{color:var(--cyan)}.brand b{font-size:19px;letter-spacing:.12em}.brand small{display:block;font-size:8px;letter-spacing:.18em;color:#a7c4cd;margin-top:3px}.header nav{display:flex;align-items:center;gap:38px;font-size:12px;font-weight:600}.header nav a:hover,.text-link:hover{color:var(--cyan)}.nav-contact{border:1px solid #ffffff70;padding:14px 22px}.nav-contact span{color:var(--cyan);margin-left:20px}.menu{display:none}.hero{height:min(900px,100svh);min-height:680px;position:relative;overflow:hidden;background:#02070c}.hero video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.7}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,11,18,.94) 0%,rgba(3,12,20,.75) 35%,rgba(3,12,20,.16) 80%),linear-gradient(0deg,#06101a 0%,transparent 33%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#81d6ea0d 1px,transparent 1px),linear-gradient(90deg,#81d6ea0d 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 80%)}.hero-copy{position:absolute;top:31%;left:10%;z-index:1}.eyebrow,.kicker,.section-id,.hero-bottom,.hero-side{font-size:10px;letter-spacing:.2em;font-weight:700}.eyebrow{color:#a5eaf1}.eyebrow i,.notice i{display:inline-block;width:7px;height:7px;background:var(--cyan);border-radius:50%;margin-right:10px;box-shadow:0 0 14px var(--cyan)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,5vw,75px);line-height:1.42;letter-spacing:.1em;margin:30px 0;font-weight:600}h1 em{font-style:normal;color:#c4f9fa}.hero-sub{line-height:2.1;color:#c7d6dc}.outline-link{display:inline-flex;border:1px solid #94cad0;padding:17px 20px;margin-top:26px;gap:65px;font-size:12px}.outline-link span,.text-link span{color:var(--cyan)}.hero-side{position:absolute;right:3%;top:48%;writing-mode:vertical-rl;color:#9ebdc7}.hero-side span{color:var(--cyan)}.hero-bottom{position:absolute;bottom:40px;left:5.5%;right:5.5%;display:flex;align-items:center;gap:20px;color:#a2c6d1}.hero-bottom .line{height:1px;background:#8bc9d244;flex:1}.notice{padding:22px 5.5%;display:flex;justify-content:space-between;align-items:center;background:#0b1c28;border-top:1px solid #2c626f;border-bottom:1px solid var(--line)}.notice div{display:flex;align-items:center;gap:42px}.notice p{margin:0;color:#d3e3e8}.notice-label{font-size:10px;letter-spacing:.16em;color:var(--cyan)}.section{padding:95px 8% 120px;position:relative;overflow:hidden}.section-id{display:flex;justify-content:space-between;color:#7595a2;border-top:1px solid var(--line);padding-top:18px}.intro{min-height:650px;background:radial-gradient(ellipse at 72% 53%,#0c3545 0%,transparent 38%),#07121c}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:110px;position:relative;z-index:2}.kicker{color:var(--cyan);letter-spacing:.2em;font-size:10px;font-weight:700;margin-bottom:28px}h2{font-size:clamp(30px,3.2vw,46px);line-height:1.55;letter-spacing:.08em;font-weight:500}.intro-body{padding-top:30px;color:#c0d0d5;line-height:2.3}.intro-body p{margin-bottom:25px}.text-link{display:inline-block;margin-top:17px;padding-bottom:12px;border-bottom:1px solid #6ec3ce;font-size:12px;min-width:165px}.text-link span{float:right}.orb{position:absolute;right:5%;bottom:-200px;width:450px;aspect-ratio:1;border:1px solid #64d5dd3b;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 80px #00c9e01a,inset 0 0 80px #00c9e01a}.orb:before,.orb:after{content:'';position:absolute;border:1px solid #65d3e829;border-radius:50%;inset:35px}.orb:after{inset:75px}.orb-inner{display:grid;text-align:center;color:#65e4e82e;font-size:120px}.orb-inner small{font-size:9px;letter-spacing:.3em}.services{background:#091823}.section-title,.news-head{display:flex;justify-content:space-between;align-items:end;margin:100px 0 45px}.section-title>p{line-height:2.2;color:var(--muted)}.service-list{border-top:1px solid var(--line)}.service-list a{display:grid;grid-template-columns:12% 1fr 50px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);transition:background .2s,padding .2s}.service-list a:hover{background:#10303e;padding-left:20px;padding-right:20px}.num{font-size:11px;color:var(--cyan);align-self:start;padding-top:6px}.service-list small{color:#7fa1ac;letter-spacing:.18em;font-size:9px}.service-list h3{font-size:22px;letter-spacing:.08em;margin:12px 0}.service-list p{color:#a0b6bf;margin:0}.arrow{border:1px solid #527783;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;color:var(--cyan)}.news{background:#07121c}.news-head{margin-bottom:35px}.news-item{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:140px 140px 1fr 20px;gap:20px;padding:28px 0;align-items:center}.news-item time,.news-item span{color:#9eb5bd;font-size:12px}.news-item b{color:var(--cyan)}.access{background:radial-gradient(circle at 18% 70%,#0e3d4d,#07151f 50%)}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:100px}.access-copy{line-height:2;color:#bbd0d6}.station{display:flex;gap:10px;margin-top:35px}.station span{border:1px solid #41616c;padding:12px 16px;font-size:12px}.station b{margin-left:10px;color:#b7f6f4}.address{padding:45px;border:1px solid #47717d;background:#07121c9c}.address h3{font-size:22px}.address p{line-height:2;color:#b8cbd1}footer{padding:65px 8% 35px;border-top:1px solid var(--line);display:flex;gap:30px;align-items:center;flex-wrap:wrap}footer p{margin:0;color:#91a7b5}footer div{margin-left:auto;display:flex;gap:25px;font-size:11px;color:#a6bbc3}footer>small{width:100%;color:#6d8790;font-size:9px;letter-spacing:.12em;margin-top:20px}@media(max-width:700px){.header{padding:18px 6%}.menu{display:block;background:transparent;color:white;border:0;font-size:11px;letter-spacing:.15em}.menu span{font-size:22px;margin-left:12px}.header nav{display:none;position:absolute;top:72px;left:0;right:0;padding:25px;background:#081b26;flex-direction:column;align-items:stretch;gap:22px}.header nav.open{display:flex}.hero{min-height:650px;height:92svh}.hero-copy{left:7%;top:29%}.hero-shade{background:linear-gradient(90deg,#06101ae8,#06101a70),linear-gradient(0deg,#06101a,transparent 35%)}.hero-side{display:none}.notice div{display:block}.notice p{margin-top:10px;font-size:12px;line-height:1.7}.section{padding:70px 7% 85px}.section-id span:last-child{display:none}.intro-grid,.access-grid{grid-template-columns:1fr;gap:20px;padding-top:75px}.intro-body{padding-top:0}.orb{width:300px;right:-130px;bottom:-150px}.section-title,.news-head{margin:75px 0 30px;display:block}.section-title>p{margin-top:20px}.service-list a{grid-template-columns:36px 1fr 36px}.service-list h3{font-size:18px}.service-list p{font-size:12px;line-height:1.8}.arrow{width:32px;height:32px}.news-item{grid-template-columns:90px 1fr 20px;gap:10px}.news-item strong{grid-column:1/3;grid-row:2}.news-item b{grid-column:3;grid-row:1/3}.address{padding:28px}footer div{margin-left:0;width:100%}}
/* Projected light and digital scan details */
.hero-copy h1,.section h2{text-shadow:0 0 20px #42dce82e,0 0 45px #2399ca20}.hero-copy h1{animation:projector 1.7s both}.eyebrow,.kicker{animation:signal 7s infinite}.hero-grid{animation:gridshift 18s linear infinite}.orb{animation:orbit 24s linear infinite}.orb-inner{animation:orbit 24s linear infinite reverse}.section:before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#59ebf0,transparent);opacity:.3;animation:scan 9s linear infinite;pointer-events:none}.photo-strip{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:2px;margin:0 0 55px}.photo-strip figure{margin:0;height:220px;position:relative;overflow:hidden;background:#103146}.photo-strip img{width:100%;height:100%;object-fit:cover;filter:grayscale(.65) contrast(1.1) sepia(.2) hue-rotate(150deg);opacity:.65;transition:transform .7s,filter .7s}.photo-strip figure:hover img{transform:scale(1.07);filter:grayscale(.2) contrast(1.1) hue-rotate(145deg)}.photo-strip figure:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#03142025 4px 5px),linear-gradient(0deg,#04101dbb,transparent 65%);pointer-events:none;animation:glitch 9s steps(1) infinite}.photo-strip figcaption{position:absolute;bottom:18px;left:18px;font-size:9px;letter-spacing:.2em;color:#bbfaff;z-index:1}.reveal{opacity:0;transform:translateY(25px);filter:blur(4px);transition:opacity .8s,transform .8s,filter .8s}.reveal.visible{opacity:1;transform:none;filter:none}.service-list a:hover h3{text-shadow:2px 0 #1ed5f9,-2px 0 #135bff}.service-list a:hover .arrow{background:#61e5e8;color:#07121c;box-shadow:0 0 25px #40dce1a0}@keyframes projector{0%{opacity:0;filter:blur(10px);transform:translateY(12px)}35%{opacity:.65;filter:blur(2px)}40%{opacity:.2}45%{opacity:1}100%{opacity:1;filter:blur(0);transform:none}}@keyframes signal{0%,92%,94%,96%,100%{opacity:1}93%,95%{opacity:.45}}@keyframes gridshift{to{background-position:80px 80px}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes scan{0%{top:0;opacity:0}10%,85%{opacity:.3}100%{top:100%;opacity:0}}@keyframes glitch{0%,92%,95%,100%{transform:none;opacity:1}93%{transform:translateX(5px);opacity:.65}94%{transform:translateX(-3px)} }@media(max-width:700px){.photo-strip{grid-template-columns:1fr 1fr}.photo-strip figure{height:150px}.photo-strip figure:last-child{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none;filter:none}}
/* Immersive digital projection */
body:after{content:'';position:fixed;inset:0;z-index:8;pointer-events:none;opacity:.16;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(73,202,255,.18) 3px,transparent 4px);mix-blend-mode:screen;animation:interference 5s steps(1) infinite}.header{background:linear-gradient(180deg,#06111ed9,transparent)}.hero:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 62px,#25a9df10 63px,transparent 64px 131px,#29cbf510 132px,transparent 133px),repeating-linear-gradient(0deg,transparent 0 36px,#51ceee0b 37px,transparent 38px);animation:datastream 2.5s steps(4) infinite}.hero-grid{z-index:1;background-size:55px 55px;animation:gridshift 4s linear infinite;opacity:.7}.hero-copy{z-index:3}.hero-copy h1{animation:projector 1.7s both,hero-flicker 8s steps(1) 2s infinite}.hero-copy h1 em{color:#a8fcff;text-shadow:2px 0 #21bdff,-2px 0 #236dff,0 0 14px #19ddff,0 0 40px #087fd8}.hero-copy .eyebrow{animation:signal 2.7s infinite}.hero video{opacity:.88;filter:contrast(1.15) saturate(1.3)}.hero-shade{z-index:1;background:linear-gradient(90deg,rgba(2,9,17,.9),rgba(2,11,24,.6) 38%,rgba(3,12,20,.12) 80%),linear-gradient(0deg,#06101a,transparent 30%)}.hero-bottom,.hero-side{z-index:3}.section{isolation:isolate}.section:before{height:5px;opacity:.55;box-shadow:0 0 22px #00d9ff;animation:scan 4s linear infinite}.section:after{content:'01001001  10110100  00110010  01011010  11001010  00110101  01101001  10101100  00110010  10100110';position:absolute;right:-20px;top:12%;width:30px;height:75%;overflow:hidden;word-break:break-all;line-height:1.8;font-size:10px;letter-spacing:.15em;color:#65eaff;opacity:.13;pointer-events:none;animation:codefall 7s linear infinite}.kicker,.section-id{color:#57eaf7;text-shadow:0 0 8px #1ad0ff80}.section h2{animation:heading-flicker 9s steps(1) infinite;text-shadow:1px 0 #1eb9f8,-1px 0 #184bd5,0 0 18px #26bafc4d}.intro{background:radial-gradient(ellipse at 72% 53%,#0a485e 0%,transparent 46%),repeating-linear-gradient(90deg,#00b9ff09 0 1px,transparent 1px 75px),#07121c}.orb{box-shadow:0 0 60px #00dbef55,inset 0 0 60px #00c9e044;border-style:dashed;animation:orbit 10s linear infinite}.orb:before{border-style:dashed;border-color:#5de9ff7a}.orb:after{border-color:#86f4ff7a;box-shadow:0 0 22px #12dcff}.orb-inner{color:#7af9ff88;text-shadow:2px 0 #217dff,-2px 0 #1ce8ff;animation:orbit 10s linear infinite reverse,signal 2s infinite}.services{background:repeating-linear-gradient(0deg,#4ac6ef08 0 1px,transparent 1px 44px),radial-gradient(ellipse at 85% 12%,#123b52,#07131e 65%)}.service-list a{position:relative}.service-list a:before{content:'';position:absolute;left:0;top:0;width:45px;height:1px;background:#75faff;box-shadow:0 0 12px #37daff;animation:line-sweep 4s linear infinite}.service-list a:nth-child(2):before{animation-delay:-1s}.service-list a:nth-child(3):before{animation-delay:-2s}.service-list a:nth-child(4):before{animation-delay:-3s}.service-list a:hover{background:linear-gradient(90deg,#12719065,#10303e90,transparent);box-shadow:inset 3px 0 #56edff}.photo-strip figure:after{animation:glitch-strong 3.5s steps(1) infinite;background:repeating-linear-gradient(0deg,transparent 0 2px,#04192b77 3px 4px),linear-gradient(100deg,#02cdff27,transparent 35%,#043cc83d 75%)}.photo-strip figure:nth-child(2):after{animation-delay:-1.3s}.photo-strip figure:nth-child(3):after{animation-delay:-2.4s}.photo-strip img{filter:grayscale(.55) contrast(1.3) sepia(.3) hue-rotate(145deg) saturate(1.8)}.photo-strip figure{box-shadow:inset 0 0 30px #16ccff;border:1px solid #39cce338}.photo-strip figcaption{color:#baffff;text-shadow:2px 0 #087aff,-2px 0 #03dafa;animation:signal 3s infinite}.notice{background:linear-gradient(90deg,#083243,#0a1a29);box-shadow:0 0 35px #039fc41c}.notice-label{animation:signal 2s infinite}.access{background:repeating-linear-gradient(90deg,#44c7ff0a 0 1px,transparent 1px 60px),radial-gradient(circle at 18% 70%,#0e4d60,#07151f 55%)}.address{border-color:#39d9eb88;box-shadow:inset 0 0 40px #00c9ff0b,0 0 35px #00aada10}.outline-link:hover,.nav-contact:hover{color:#04121b;background:#8af9ff;box-shadow:0 0 30px #23dfff99}.reveal.visible{animation:reveal-glitch .8s steps(1) both}@keyframes interference{0%,87%,91%,100%{opacity:.13;transform:none}88%{opacity:.4;transform:translateX(2px)}89%{opacity:.24;transform:translateX(-3px)}90%{opacity:.38}}@keyframes datastream{0%{background-position:0 0,0 0}100%{background-position:0 200px,0 70px}}@keyframes codefall{from{transform:translateY(-50px)}to{transform:translateY(50px)}}@keyframes line-sweep{0%{left:0;opacity:0}10%,90%{opacity:.8}100%{left:95%;opacity:0}}@keyframes hero-flicker{0%,90%,92%,94%,100%{opacity:1;transform:none}91%{opacity:.55;transform:translateX(3px)}93%{opacity:.8;transform:translateX(-2px)}}@keyframes heading-flicker{0%,96%,98%,100%{opacity:1;transform:none}97%{opacity:.6;transform:translateX(2px)}99%{transform:translateX(-1px)}}@keyframes glitch-strong{0%,83%,89%,100%{transform:none;opacity:.9}84%{transform:translateX(7px);opacity:.55}85%{transform:translateX(-5px);opacity:1}86%{transform:translateY(4px);opacity:.7}87%{transform:none}88%{transform:translateX(4px)}}@keyframes reveal-glitch{0%{opacity:0;filter:blur(8px);transform:translateY(20px)}25%{opacity:.6;transform:translateX(-4px)}32%{opacity:.2;transform:translateX(4px)}45%{opacity:.8;filter:blur(1px);transform:translateX(-2px)}100%{opacity:1;filter:none;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none;filter:none}body:after{opacity:.06}}
/* Cinematic, typographic opening */
.header{border:0;padding:26px 3%;background:linear-gradient(#0009,transparent)}.hero{height:100svh;min-height:690px;background:#02070d}.hero video{opacity:.5;filter:contrast(1.25) saturate(1.25)}.hero-shade{background:linear-gradient(0deg,#030b13c9,transparent 42%,#02081185),linear-gradient(90deg,#030a168c,transparent 70%)}.hero-grid{opacity:.3;background-size:3px 3px;background-image:radial-gradient(#a1f8ff55 .45px,transparent .7px);animation:none;mask-image:none}.particle-title{position:absolute;z-index:2;left:4%;top:27%;width:92%;height:36%;pointer-events:none}.hero-copy{top:auto;bottom:90px;left:4%;right:4%;display:grid;grid-template-columns:1fr 1fr;gap:20px}.hero-copy .eyebrow{grid-column:1/-1;margin:0}.hero-copy h1{font-size:clamp(25px,3.2vw,47px);margin:0;line-height:1.35}.hero-copy .hero-sub{align-self:end;margin:0;font-size:12px}.hero-copy .outline-link{display:none}.hero-side{right:2%}.hero-bottom{left:4%;right:4%;bottom:28px}.photo-strip{grid-template-columns:repeat(4,1fr);gap:3px}.photo-strip figure{height:350px}.photo-strip img{animation:media-drift 11s ease-in-out infinite alternate}.photo-strip figure:nth-child(2) img{animation-delay:-3s}.photo-strip figure:nth-child(3) img{animation-delay:-5s}.photo-strip figure:nth-child(4) img{animation-delay:-7s}.photo-strip figure:before{content:'▶  MOTION STUDY';position:absolute;z-index:2;top:18px;left:18px;font-size:9px;letter-spacing:.18em;color:#c9faff;text-shadow:0 0 9px #31d9ff}.photo-strip figcaption{font-size:10px}.section-title h2{font-size:clamp(37px,5vw,70px)}@keyframes media-drift{0%{transform:scale(1.05) translateX(-1%)}100%{transform:scale(1.18) translateX(2%)}}@media(max-width:700px){.particle-title{top:28%;height:26%;left:5%;width:90%}.hero-copy{left:7%;right:7%;bottom:80px;display:block}.hero-copy h1{font-size:32px;margin:20px 0}.hero-copy .hero-sub{font-size:11px}.photo-strip{grid-template-columns:1fr 1fr}.photo-strip figure{height:210px}.photo-strip figure:last-child{display:block}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none;filter:none}}
/* The animated phrase belongs to the section after the hero. */
.hero-copy{top:31%;bottom:auto;left:8%;right:auto;display:block}.hero-copy h1{font-size:clamp(40px,5vw,72px);margin:28px 0}.hero-copy .hero-sub{font-size:14px}.projected-heading{position:relative;min-height:260px}.projected-heading h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.projected-heading .particle-title{left:0;top:35px;width:100%;height:205px}.intro-grid{grid-template-columns:1.2fr 1fr;gap:8%}@media(max-width:700px){.hero-copy{top:29%;bottom:auto;left:7%;right:7%}.hero-copy h1{font-size:36px}.projected-heading{min-height:185px}.projected-heading .particle-title{top:30px;height:140px}.intro-grid{grid-template-columns:1fr}}
.services .growth-chart{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.63}.services>.section-id,.services>.section-title,.services>.photo-strip,.services>.service-list{position:relative;z-index:1}.services .service-list{background:linear-gradient(90deg,#091823cc,#0918238a)}@media(prefers-reduced-motion:reduce){.services .growth-chart{opacity:.35}}
.services .growth-chart{top:110px;bottom:auto;height:650px;opacity:1;z-index:0}.services>.section-title{background:linear-gradient(90deg,#091823c9 0%,#09182366 52%,transparent);padding:22px 0}.services>.photo-strip{position:relative}.services>.service-list{background:linear-gradient(90deg,#091823cc,#0918238a)}@media(max-width:700px){.services .growth-chart{top:120px;height:500px}}
.services .growth-chart{top:160px;height:570px;opacity:1;overflow:visible;z-index:0}.chart-base,.chart-draw{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.chart-base{stroke:#35b8d9;stroke-width:2;opacity:.45}.chart-draw{stroke:#89f8ff;stroke-width:3;filter:drop-shadow(0 0 8px #00dcff);stroke-dasharray:1800;stroke-dashoffset:1800;animation:chart-trace 9s steps(24,end) infinite}@keyframes chart-trace{0%{stroke-dashoffset:1800}80%,100%{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.chart-draw{stroke-dashoffset:0;animation:none!important}}
.photo-strip video{width:100%;height:100%;object-fit:cover;filter:contrast(1.12) saturate(.75) hue-rotate(4deg);opacity:.85}.photo-strip figure:before{content:'▶  REIGETSUKAI';z-index:3}.cloud-scene{perspective:700px;background:radial-gradient(ellipse at 50% 50%,#105b76,#06121e 72%)!important}.cloud-grid{position:absolute;inset:-50%;background:repeating-linear-gradient(90deg,#4be4ff32 0 1px,transparent 1px 42px),repeating-linear-gradient(0deg,#4be4ff32 0 1px,transparent 1px 42px);transform:rotateX(65deg) translateY(35%);animation:cloud-grid-flow 5s linear infinite}.cloud-object{position:absolute;left:18%;right:18%;top:30%;display:grid;place-items:center;filter:drop-shadow(0 0 15px #13cfff);animation:cloud-breathe 6s cubic-bezier(.65,0,.35,1) infinite}.cloud-object svg{width:100%;fill:#0b6983a0;stroke:#b6fbff;stroke-width:2}.cloud-object span{position:absolute;font:700 10px Manrope,sans-serif;letter-spacing:.26em;color:white;text-shadow:0 0 10px #b8ffff}.cloud-orbit{position:absolute;border:1px solid #67edff99;border-radius:50%;left:8%;right:8%;top:30%;height:40%;transform:rotateX(68deg);box-shadow:0 0 15px #16d7ff70;animation:cloud-pulse 5s ease-in-out infinite}.orbit-b{inset:18% 22% auto;height:62%;transform:rotateY(65deg);animation-delay:-2s}.cloud-node{position:absolute;z-index:2;border:1px solid #54ddf8a8;background:#083041db;color:#befaff;padding:7px 11px;font-size:10px;letter-spacing:.12em;box-shadow:0 0 18px #17d1ff50;animation:cloud-node-move 5s ease-in-out infinite}.node-a{top:23%;left:8%}.node-b{top:57%;right:5%;animation-delay:-1.6s}.node-c{bottom:19%;left:12%;animation-delay:-3.3s}@keyframes cloud-grid-flow{to{background-position:0 84px,0 84px}}@keyframes cloud-breathe{0%,100%{transform:translateY(4px) scale(.96)}45%{transform:translateY(-6px) scale(1.06)}60%{transform:translateY(-6px) scale(1.06)}}@keyframes cloud-pulse{0%,100%{opacity:.35}50%{opacity:1}}@keyframes cloud-node-move{0%,100%{transform:translateY(5px);opacity:.6}45%,60%{transform:translateY(-5px);opacity:1}}@media(prefers-reduced-motion:reduce){.cloud-scene *{animation:none!important}}
/* Full-width cinematic service films */
.photo-strip{display:grid;grid-template-columns:1fr;gap:70px;margin:0 0 85px}.photo-strip figure{height:auto;aspect-ratio:16/7;min-height:300px;border:0;box-shadow:none;overflow:hidden;background:#05141d;clip-path:polygon(0 2%,12% 2%,12.5% 0,34% 0,34.5% 1%,67% 1%,67.5% 0,100% 0,100% 97%,92% 97%,91% 100%,61% 100%,60.5% 99%,24% 99%,23% 100%,0 100%)}.photo-strip video{opacity:.9;filter:contrast(1.08) saturate(.92);transform:none}.photo-strip figure:before{top:25px;left:30px;content:'▶  REIGETSUKAI / SERVICE FILM';font-size:10px;letter-spacing:.2em}.photo-strip figcaption{left:30px;bottom:30px;font-size:clamp(15px,2vw,26px);letter-spacing:.16em;font-weight:700;text-shadow:0 0 15px #18d9ff}.photo-strip figure:after{inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#06111b2e 4px 5px),linear-gradient(0deg,#03121dc7,transparent 38%);animation:wide-glitch 6s steps(1) infinite;pointer-events:none}.photo-strip figure:nth-child(2):after{animation-delay:-2s}.photo-strip figure:nth-child(3):after{animation-delay:-4s}.photo-strip figure:nth-child(4):after{animation-delay:-3s}.photo-strip .cloud-scene{min-height:360px}.cloud-scene .cloud-object{left:35%;right:35%;top:18%}.cloud-scene .cloud-orbit{left:25%;right:25%;top:25%;height:50%}.cloud-scene .orbit-b{left:38%;right:38%;top:8%;height:70%}.cloud-scene .node-a{top:24%;left:22%}.cloud-scene .node-b{top:55%;right:22%}.cloud-scene .node-c{bottom:24%;left:30%}@keyframes wide-glitch{0%,87%,92%,100%{transform:none;clip-path:none;opacity:1}88%{transform:translateX(12px);clip-path:polygon(0 12%,100% 12%,100% 19%,0 19%);opacity:.8}89%{transform:translateX(-15px);clip-path:polygon(0 55%,100% 55%,100% 63%,0 63%)}90%{transform:translateX(6px);clip-path:polygon(0 82%,100% 82%,100% 87%,0 87%)}91%{transform:none;clip-path:none}}@media(max-width:700px){.photo-strip{grid-template-columns:1fr;gap:35px}.photo-strip figure,.photo-strip figure:last-child{display:block;height:auto;min-height:220px;aspect-ratio:16/10}.photo-strip .cloud-scene{min-height:220px}.cloud-scene .cloud-object{left:22%;right:22%;top:24%}.cloud-scene .cloud-orbit{left:12%;right:12%}.cloud-scene .orbit-b{left:30%;right:30%}.cloud-scene .node-a{left:8%}.cloud-scene .node-b{right:6%}.cloud-scene .node-c{left:15%}}
/* Each film carries its own service information. */
.services .photo-strip{margin-bottom:0;gap:34px}.photo-strip figure{aspect-ratio:16/8;min-height:440px}.photo-strip figure:after{z-index:1;background:repeating-linear-gradient(0deg,transparent 0 3px,#06111b20 4px 5px),linear-gradient(0deg,#020a13f0 0%,#03121da8 28%,transparent 70%)}.photo-strip .film-caption{position:absolute;inset:auto 30px 30px;z-index:3;display:grid;grid-template-columns:90px 1fr auto;gap:25px;align-items:end;text-shadow:0 2px 20px #000;margin:0}.film-caption .film-index{align-self:start;color:#92f7ff;font-size:11px;letter-spacing:.14em}.film-caption small{font-size:10px;color:#a4eaf3;letter-spacing:.2em}.film-caption h3{font-size:clamp(26px,3.5vw,50px);letter-spacing:.06em;margin:10px 0 12px}.film-caption p{font-size:13px;line-height:1.8;font-weight:400;letter-spacing:.04em;margin:0;color:#e0ecf0}.film-caption a{font-size:12px;white-space:nowrap;padding:14px 20px;border:1px solid #b6f1f5;transition:background .2s,color .2s}.film-caption a:hover{background:#a4fbff;color:#07121c}@media(max-width:700px){.photo-strip figure,.photo-strip figure:last-child{min-height:360px;aspect-ratio:4/5}.photo-strip .film-caption{inset:auto 20px 25px;grid-template-columns:1fr;gap:12px}.film-caption .film-index{font-size:10px}.film-caption h3{font-size:25px}.film-caption p{font-size:12px}.film-caption a{justify-self:start;padding:10px 14px}.photo-strip video{object-position:center}.photo-strip .cloud-scene{min-height:360px}}
/* Full-bleed service films with scroll-driven depth */
.services .photo-strip{width:100vw;margin-left:calc(50% - 50vw);gap:0}.photo-strip figure{min-height:0;height:85vh;aspect-ratio:auto;clip-path:none;overflow:hidden}.photo-strip video{position:absolute;inset:-12% 0;width:100%;height:124%;object-fit:cover;will-change:transform;transform:translate3d(0,var(--parallax,0px),0)}.photo-strip .cloud-scene{height:85vh;min-height:0}.photo-strip .film-caption{left:6%;right:6%;bottom:9%;grid-template-columns:100px 1fr auto}.photo-strip figure:before{left:6%;top:8%}.photo-strip figure:after{background:repeating-linear-gradient(0deg,transparent 0 3px,#06111b20 4px 5px),linear-gradient(0deg,#020a13ef 0%,#03121d94 28%,transparent 70%)}@media(max-width:700px){.photo-strip figure,.photo-strip figure:last-child,.photo-strip .cloud-scene{height:75svh;min-height:520px;aspect-ratio:auto}.photo-strip .film-caption{left:7%;right:7%;bottom:8%;grid-template-columns:1fr;gap:12px}.photo-strip video{inset:-8% 0;height:116%}}@media(prefers-reduced-motion:reduce){.photo-strip video{transform:none!important}}
/* Stack full-screen panels: each next film covers the previous one. */
.services .photo-strip{display:block;position:relative;overflow:visible;transform:none;filter:none}.photo-strip figure,.photo-strip figure:last-child,.photo-strip .cloud-scene{position:sticky;top:0;height:100svh;min-height:0;aspect-ratio:auto;margin:0;overflow:hidden}.photo-strip figure:nth-child(1){z-index:1}.photo-strip figure:nth-child(2){z-index:2}.photo-strip figure:nth-child(3){z-index:3}.photo-strip figure:nth-child(4){z-index:4}.photo-strip video{inset:0;width:100%;height:100%;transform:none!important}.photo-strip .film-caption{bottom:10%}@media(max-width:700px){.photo-strip figure,.photo-strip figure:last-child,.photo-strip .cloud-scene{height:100svh;min-height:0}.photo-strip video{inset:0;height:100%}}@media(prefers-reduced-motion:reduce){.photo-strip figure,.photo-strip figure:last-child,.photo-strip .cloud-scene{position:relative}}
.services{overflow:clip}
.hero video{opacity:1;filter:contrast(1.05) saturate(1.1)}.hero-shade{background:linear-gradient(90deg,rgba(2,9,17,.82) 0%,rgba(2,11,24,.45) 38%,rgba(3,12,20,.05) 80%),linear-gradient(0deg,#06101ab8,transparent 25%)}
