/* Motion has meaning: data > context > decision > action. */
.hero-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#42caff0b 1px,transparent 1px),linear-gradient(90deg,#42caff0b 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,transparent 25%,#000);animation:grid-drift 28s linear infinite}.hero-orbit{position:absolute;right:11%;top:18%;width:240px;height:240px;pointer-events:none;opacity:.55}.hero-orbit i{position:absolute;inset:0;border:1px solid #42caff88;border-right-color:transparent;border-bottom-color:transparent;border-radius:50%;animation:orbit 25s linear infinite}.hero-orbit i:nth-child(2){inset:20px;animation-direction:reverse;border-style:dashed;animation-duration:35s}.hero-orbit span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#a8e6ff;font:10px Arial;letter-spacing:2px;white-space:nowrap}.hero-signals{position:absolute;right:4%;bottom:76px;display:flex;gap:18px}.hero-signals>span{font:10px Arial;letter-spacing:1px;color:#d4e8fa;background:#061b34d9;padding:12px;border:1px solid #42caff44}.hero-signals i,.network-boundaries i{display:inline-block;width:5px;height:5px;margin-right:8px;background:#42caff;border-radius:50%;box-shadow:0 0 10px #42caff;animation:beacon 3s ease-in-out infinite}.hero-signals>span:nth-child(2) i{animation-delay:1s}.hero-signals>span:nth-child(3) i{animation-delay:2s}.signal-strip{display:flex;align-items:center;justify-content:center;gap:28px;padding:24px;background:#0b2945;border-top:1px solid #28516f;border-bottom:1px solid #28516f;color:#c6dae9;font:11px Arial;letter-spacing:2px}.signal-strip>i{width:70px;height:1px;background:linear-gradient(90deg,transparent,#ff7414,transparent);background-size:200% 100%;animation:flow-line 3s linear infinite}.problem-icon{display:flex;justify-content:space-between;align-items:center}.problem-icon svg{width:74px;height:68px;fill:none;stroke:#234762;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.problem-icon .icon-accent{stroke:#f87519}.problem-icon .outline-number{font-size:28px;color:#bdc9d3}.problems article{transition:transform .35s}.problems article:hover{transform:translateY(-6px)}.context-visual{display:grid;grid-template-columns:1fr 180px 1fr;gap:26px;align-items:center;padding:30px;margin:28px 0 45px;border:1px solid #315876;background:radial-gradient(ellipse at center,#103c5c,#071c32);color:white;position:relative;overflow:hidden}.context-input{padding:22px;border:1px solid #40627d;background:#0d2943;position:relative;z-index:1}.context-input>span{font:10px Arial;letter-spacing:2px;color:#8aaec8;display:block;margin-bottom:12px}.context-input strong{font-size:18px}.context-input svg{height:60px;width:100%;margin-top:12px;display:block}.signal-trace{stroke:#ff8b35;stroke-width:2;fill:none;stroke-dasharray:500;stroke-dashoffset:500;animation:trace 5s ease-in-out infinite}.context-core{position:relative;width:160px;height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:auto}.context-core>span{font:10px Arial;letter-spacing:4px;color:#7dd9ff}.context-core>strong{font:700 53px Arial;line-height:1.2}.context-core small{font-size:11px;color:#b0cada}.core-rings{position:absolute;inset:0;border-radius:50%;border:1px solid #42caff88;box-shadow:0 0 50px #42caff14}.core-rings:before,.core-rings:after{content:'';position:absolute;inset:10px;border:2px dashed #42caff55;border-radius:50%;animation:orbit 24s linear infinite}.core-rings:after{inset:-10px;border:1px solid #ff741455;border-left-color:transparent;animation-direction:reverse}.record-lines{display:grid;gap:10px;padding-top:25px;padding-bottom:6px}.record-lines i{height:4px;background:linear-gradient(90deg,#42caff 40%,#294d68 40%);background-size:200% 100%;animation:flow-line 5s linear infinite}.record-lines i:nth-child(2){width:80%;animation-delay:1s}.record-lines i:nth-child(3){width:60%;animation-delay:2s}.context-result{grid-column:1/-1;display:flex;justify-content:center;gap:12px}.context-result span{padding:6px 22px;border:1px solid #395973;color:#b9d4e8;font-size:12px}.network-board{grid-column:1/-1;width:100%;margin-top:36px;border:1px solid #3c5e79;background:#081e34;color:#e4eef7;padding:28px 32px}.network-heading{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #284b66;padding-bottom:20px}.network-heading>span{font:11px Arial;letter-spacing:2px;color:#73ceef}.network-heading small{font-size:11px;color:#a4bfce}.network-flow{display:grid;grid-template-columns:1fr 70px 1fr 70px 1fr;align-items:center;padding:25px 0}.flow-station{text-align:center}.flow-station svg{height:110px;width:160px;max-width:100%;fill:none;stroke:#b1c9da;stroke-width:1.6;stroke-linejoin:round}.flow-station .accent{stroke:#42caff;stroke-width:2}.spark-station .accent{stroke:#ff8532}.flow-station strong{display:block;font-size:17px;margin:8px 0 3px}.flow-station>span{font-size:12px;color:#8fadc4}.flow-wire{height:1px;background:#33516b;position:relative}.flow-wire i{display:block;position:absolute;top:-2px;width:22px;height:4px;background:#ff8b35;box-shadow:0 0 12px #ff8b35;animation:packet 3.8s linear infinite}.flow-wire b{position:absolute;font:8px Arial;letter-spacing:1px;top:15px;left:0;color:#84a5ba}.network-boundaries{display:flex;justify-content:space-between;border-top:1px solid #29485e;padding-top:18px;font-size:11px;color:#9bb9cd}.journey-visual{display:grid;grid-template-columns:1.1fr 1fr;background:#e8eef3;margin:35px 0;min-height:340px}.journey-image{position:relative;overflow:hidden;min-height:300px}.journey-image img{width:100%;height:100%;object-fit:cover;position:absolute}.journey-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#061b34df,#061b3430);padding:30px;color:white;display:flex;flex-direction:column;justify-content:space-between}.journey-overlay>span{font:700 12px/1.6 Arial;letter-spacing:3px}.journey-overlay p{font-family:'DelaSuko Gothic One',sans-serif;font-size:23px;line-height:1.7;margin:0}.scan-line{height:1px;width:100%;position:absolute;left:0;top:0;background:#42caff;box-shadow:0 0 25px 3px #42caff33;animation:scan 10s ease-in-out infinite;opacity:.45}.journey-stages{padding:16px 34px;display:flex;flex-direction:column;justify-content:center}.journey-stages>div{position:relative;padding:24px 0 24px 45px;border-bottom:1px solid #c5d1dd}.journey-stages>div:last-child{border-bottom:0}.journey-stages>div>span{position:absolute;left:0;top:27px;font:700 15px Arial;color:#c5570b}.journey-stages h3{margin:0 0 5px;font-size:24px}.journey-stages p{font-size:13px;color:#4b657c;margin:0}.guide-art{margin:-26px -26px 24px;background:radial-gradient(ellipse at 80% 0,#14446b,#061b34);overflow:hidden}.guide-art svg{width:100%;height:150px;stroke:#42caff;stroke-width:1.5;fill:none;transition:transform .5s}.guide-art text{fill:#fff;stroke:none;font:700 19px Arial;text-anchor:middle}.guide-art.context path{stroke:#ff8933;stroke-dasharray:400;animation:trace 6s ease-in-out infinite}.guide-art.offline circle{stroke:#ff893366;stroke-dasharray:5 8}.guide-card:hover .guide-art svg{transform:scale(1.06)}.offline-visual{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#081e34;color:white;margin:35px 0;padding:32px}.offline-visual>div{text-align:center}.offline-visual strong,.offline-visual small{display:block}.offline-visual small{font-size:11px;color:#9cbdd3;margin-top:7px}.broken-link{color:#ff9d55;white-space:nowrap}.signal-beacon{display:block;width:8px;height:8px;border-radius:50%;background:#ff9d55;margin:0 auto 12px;animation:beacon 3s ease-in-out infinite}.motion-toggle{position:fixed;bottom:18px;right:18px;z-index:25;border:1px solid #698298;border-radius:30px;padding:10px 15px;background:#061b34ee;color:#e5edf5;font:11px/1.5 sans-serif;box-shadow:0 4px 15px #0002}.motion-toggle span{margin-left:10px;color:#ffad73}.motion-toggle:hover{background:#143957}.reveal-ready{transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}.reveal-ready:not(.revealed){opacity:0;transform:translateY(26px)}.revealed{opacity:1;transform:translateY(0)}.demo-output.changing{animation:decision-change .45s ease}.chart svg path:last-child{stroke-dasharray:500;animation:trace 7s ease-in-out infinite}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition:none!important}.motion-paused .reveal-ready{opacity:1!important;transform:none!important}
@keyframes grid-drift{to{background-position:70px 70px}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes beacon{0%,100%{opacity:.4}50%{opacity:1}}@keyframes flow-line{to{background-position:-200% 0}}@keyframes packet{0%{left:0;opacity:0}15%,85%{opacity:1}100%{left:calc(100% - 22px);opacity:0}}@keyframes trace{0%{stroke-dashoffset:500}55%,100%{stroke-dashoffset:0}}@keyframes scan{0%,100%{top:8%}50%{top:92%}}@keyframes decision-change{0%{transform:translateY(7px);opacity:.45}100%{transform:translateY(0);opacity:1}}
@media(max-width:767px){.hero-orbit{width:140px;height:140px;top:41%;right:6%}.hero-orbit span{font-size:8px}.hero-signals{display:none}.signal-strip{gap:8px;padding:19px 12px;flex-wrap:wrap;font-size:8px;letter-spacing:.5px}.signal-strip>i{width:17px}.context-visual{grid-template-columns:1fr 1fr;padding:20px;gap:18px}.context-core{grid-column:1/-1;grid-row:2;width:120px;height:120px}.context-input{padding:14px;min-width:0}.context-input strong{font-size:13px}.context-input>span{font-size:8px;letter-spacing:1px}.context-result{gap:7px}.context-result span{padding:5px 10px;font-size:10px}.context-visual .context-input:nth-child(3){grid-column:2;grid-row:1}.network-board{padding:22px 18px}.network-heading{display:block}.network-heading small{display:block;margin-top:8px}.network-flow{grid-template-columns:1fr;gap:18px}.flow-station{display:grid;grid-template-columns:100px 1fr;align-items:center;text-align:left;column-gap:20px}.flow-station svg{grid-row:1/3;width:100px;height:80px}.flow-station strong{font-size:16px}.flow-station>span{font-size:11px;align-self:start}.flow-wire{height:30px;width:1px;margin-left:50px}.flow-wire i{width:3px;height:12px;animation:packet-down 3.8s linear infinite}.flow-wire b{left:15px;top:7px}.network-boundaries{font-size:10px;gap:15px}.journey-visual{grid-template-columns:1fr}.journey-image{min-height:260px}.journey-stages{padding:8px 24px}.journey-overlay p{font-size:22px}.offline-visual{flex-direction:column;align-items:stretch;padding:25px}.offline-visual>span{text-align:center;transform:rotate(90deg)}.motion-toggle{right:12px;bottom:12px;font-size:10px;padding:9px 12px}.article-page .context-visual{margin-left:0;margin-right:0}.article-page .context-input strong{font-size:13px}}
@keyframes packet-down{0%{top:0;opacity:0}20%,80%{opacity:1}100%{top:18px;opacity:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.reveal-ready{opacity:1!important;transform:none!important}.signal-trace,.guide-art.context path,.chart svg path:last-child{stroke-dashoffset:0}.hero-orbit{opacity:.3}}
/* Editorial guide photography and purpose-built diagrams */
.knowledge-topics{display:flex;align-items:center;gap:20px;padding:23px 0 32px;border-top:1px solid #cbd7e1;color:#3c526a;font-size:13px;font-weight:700}.knowledge-topics i{color:#ff7414;font-style:normal}.editorial-grid{display:grid;gap:28px;margin:12px 0 24px}.editorial-card{display:grid;grid-template-columns:44% 1fr;background:white;border:1px solid #d5dce5;overflow:hidden;transition:box-shadow .3s,transform .3s}.editorial-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #06213b15}.editorial-image{position:relative;overflow:hidden;min-height:300px;background:#061b34}.editorial-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.editorial-card:hover img{transform:scale(1.055)}.editorial-image>span{position:absolute;bottom:18px;left:18px;background:#061b34df;color:#fff;font:700 11px Arial;letter-spacing:2px;padding:10px 13px;border-left:3px solid #ff7414}.editorial-copy{padding:32px;display:flex;flex-direction:column;justify-content:center}.editorial-copy .eyebrow{font-size:10px;margin:0;color:#55718b}.article-page .editorial-copy h2{font-size:25px;margin:15px 0;line-height:1.55;border:0;padding:0}.editorial-copy p{font-size:14px;color:#52647a;margin:0 0 20px}.editorial-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dce4eb;padding-top:15px;font-size:13px;font-weight:bold}.editorial-link b{font-size:25px;color:#e55e00}.image-note{font-size:11px!important;color:#6a7b8c}.article-photo{margin:28px 0 35px;position:relative;background:#061b34;overflow:hidden}.article-photo>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.article-photo figcaption{background:#061b34;color:#c0cfdd;padding:12px 20px;font-size:11px;line-height:1.8}.photo-label{position:absolute;top:22px;left:24px;color:white;font:700 10px/1.4 Arial;letter-spacing:2px;text-shadow:0 2px 10px #000}.photo-label b{display:block;font-size:clamp(22px,4vw,42px);line-height:1.05;letter-spacing:-1px;margin-top:12px}.knowledge-diagram{margin:42px 0;padding:30px;background:radial-gradient(ellipse at 100% 0,#163c55,transparent 65%),#061b34;color:white;border-top:3px solid #ff7414;overflow:hidden}.knowledge-diagram figcaption>span{display:block;font:700 10px Arial;letter-spacing:2px;color:#56d4ff;margin-bottom:10px}.knowledge-diagram figcaption>strong{font-size:21px;line-height:1.6;display:block}.diagram-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px;position:relative}.diagram-steps:before{content:"";position:absolute;left:0;right:0;top:19px;height:1px;background:linear-gradient(90deg,#375971 25%,#42caff 50%,#375971 75%);background-size:200% 100%;animation:flow-line 4s linear infinite}.diagram-step{position:relative;min-width:0}.step-index{display:flex;width:40px;height:40px;background:#12314a;border:1px solid #4a7a94;color:#42caff;align-items:center;justify-content:center;font:700 12px Arial;margin-bottom:18px}.diagram-step h3{font-size:16px;margin:0 0 10px;color:white}.diagram-step p{font-size:13px;margin:0;color:#b8cbdc;line-height:1.8}.recovery-diagram .step-index{border-color:#ff7414;color:#ff9b55}.article-page .architecture{margin:30px 0}.article-page .network-node{transition:transform .3s,box-shadow .3s}.article-page .network-node:hover{transform:translateY(-3px);box-shadow:0 10px 20px #061b3415}
@media(max-width:767px){.editorial-card{grid-template-columns:1fr}.editorial-image{min-height:0;aspect-ratio:16/10}.editorial-copy{padding:24px}.article-page .editorial-copy h2{font-size:22px}.knowledge-topics{gap:11px;font-size:11px;flex-wrap:wrap}.article-photo{margin:24px 0}.article-photo>img{aspect-ratio:4/3}.photo-label{top:15px;left:15px}.article-photo figcaption{padding:12px 15px}.knowledge-diagram{padding:24px 20px}.knowledge-diagram figcaption>strong{font-size:19px}.diagram-steps{grid-template-columns:1fr;gap:23px}.diagram-steps:before{top:0;bottom:0;left:19px;width:1px;height:auto;right:auto}.diagram-step{padding-left:58px;min-height:70px}.step-index{position:absolute;left:0;top:0}.diagram-step h3{padding-top:5px}.knowledge-diagram{margin:30px 0}}
/* Kikainomikata: supplied brand artwork on a light surface. */
.header .brand,.footer-main .brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;background:#fff;padding:10px 15px;min-width:0;border-radius:3px;line-height:1;flex-shrink:0}.brand img{width:245px;height:auto;display:block}.brand .brand-provider{font:700 8px/1.2 Arial,sans-serif;color:#38506b;letter-spacing:2px;font-style:normal}.hero h1.hero-brand{background:#fffffff5;width:min(590px,100%);padding:27px 30px 20px;transform:none;margin:0;box-shadow:0 15px 55px #00132933;border-bottom:4px solid #ff7414;line-height:1;letter-spacing:0}.hero-brand img{width:100%;height:auto}.hero h1.hero-brand .brand-meaning{display:block;color:#18334e;text-align:center;font-family:'Noto Sans JP','Yu Gothic',sans-serif;font-size:17px;letter-spacing:3px;font-weight:700;margin-top:19px}.brand-meaning b{color:#ef7600;margin:0 10px}.hero .hero-tagline{font-size:clamp(30px,3.5vw,49px);line-height:1.45;letter-spacing:1px;margin:24px 0 12px}.hero-positioning{font-size:14px;color:#b9d7eb;letter-spacing:1.5px;margin:0 0 18px}.brand-story{display:flex;gap:25px;align-items:center;margin:30px 0;padding:24px 28px;background:white;border-left:4px solid #ff7414;color:#16324d}.brand-story img{width:90px;height:auto;flex-shrink:0}.brand-story p{margin:0;line-height:1.9;font-size:14px}.brand-story strong{font-size:23px}.header{gap:20px}.header nav{gap:20px}
@media(max-width:1100px){.header .brand img{width:200px}.header nav{gap:13px}.header .brand{padding:9px 12px}}
@media(max-width:767px){.header .brand img{width:185px}.brand .brand-provider{font-size:7px;letter-spacing:1.5px}.hero h1.hero-brand{padding:22px 20px 17px}.hero h1.hero-brand .brand-meaning{font-size:13px;letter-spacing:1px;margin-top:17px}.hero .hero-tagline{font-size:30px;margin-top:25px}.hero-positioning{font-size:11px;letter-spacing:.6px}.hero .hero-copy{margin-top:160px}.brand-story{padding:20px 18px;gap:17px;align-items:flex-start}.brand-story img{width:62px}.brand-story strong{font-size:18px}.brand-story p{font-size:12px}.footer-main .brand{align-self:flex-start}.footer-main .brand img{width:220px}}
/* Site-wide entrance choreography: typography, prose and staggered blocks. */
.reveal-ready{transition:opacity .85s ease var(--reveal-delay,0ms),transform 1s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)}
.reveal-ready:not(.revealed){opacity:0;transform:translateY(30px)}
.letter-heading .motion-letter{display:inline-block;opacity:1;transform:none;vertical-align:baseline;white-space:pre}
.letter-heading.reveal-ready:not(.revealed) .motion-letter,.reveal-ready:not(.revealed) .letter-heading .motion-letter{opacity:0;transform:translateY(.65em) rotate(3deg)}
.letter-heading.revealed .motion-letter,.revealed .letter-heading .motion-letter{animation:letter-arrive .75s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--reveal-delay,0ms) + var(--letter-delay,0ms))}
.hero h1.hero-brand.reveal-ready{transition:opacity 1.1s ease,transform 1.2s cubic-bezier(.16,1,.3,1)}
.hero h1.hero-brand.reveal-ready:not(.revealed){transform:translateY(22px) scale(.97);opacity:0}
.problems article,.scope .info-cards>article,.faq details,.journey-stages>div{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.problems article:hover,.scope .info-cards>article:hover{transform:translateY(-5px);box-shadow:0 15px 35px #06213b12}
.journey-stages>div:hover{transform:translateX(6px)}
.header nav>a:not(.button){position:relative}.header nav>a:not(.button):after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:#ff7414;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.header nav>a:not(.button):hover:after,.header nav>a:not(.button):focus-visible:after{transform:scaleX(1)}
.faq details[open]>p{animation:paragraph-arrive .45s ease both}.button b{transition:transform .3s ease}.button:hover b{transform:translateX(5px)}
@keyframes letter-arrive{from{opacity:0;transform:translateY(.65em) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes paragraph-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.motion-paused .motion-letter{opacity:1!important;transform:none!important;animation:none!important}.motion-paused .hero h1.hero-brand{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.motion-letter,.hero h1.hero-brand.reveal-ready{opacity:1!important;transform:none!important;animation:none!important}.reveal-ready{transition:none!important}}
@media print{.reveal-ready,.motion-letter,.hero h1.hero-brand{opacity:1!important;transform:none!important;animation:none!important}.motion-toggle{display:none}}

/* Approved silent hero loop; still image remains as loading/error fallback. */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;pointer-events:none;opacity:0;transition:opacity .65s ease}
.hero-video.video-ready{opacity:1}
@media(max-width:767px){.hero-video{object-position:77% center}}
@media(prefers-reduced-motion:reduce){.hero-video{transition:none}}
