/* 0.26.6: 静止ロケット、横方向の研究連携、縦方向のStage進行、固定カード上の線描を分ける。 */
:root{
 --narrative-ease:cubic-bezier(.16,1,.3,1);
 --narrative-line:#32a978;
 --narrative-line-soft:rgba(8,114,75,.22);
}
.narrative-motion-ready :is(.intro,.mission,.ecosystem,.roadmap,.token,.participate,.paper-cta){overflow-x:clip}

/* Hero: 軌道信号がコピーを走査し、3行を順に固定する。 */
.narrative-motion-ready .hero-content{position:relative}
.narrative-motion-ready .hero-content{
 transform:translate3d(0,var(--hero-copy-y,0),0);
 opacity:var(--hero-copy-opacity,1);
 will-change:transform,opacity;
}
.hero-copy-reveal{position:relative;z-index:2}
.hero h1.hero-copy-reveal .hero-copy-line{
 display:block;margin:0;font:inherit;font-size:1em;line-height:inherit;letter-spacing:inherit;
 clip-path:inset(0 100% 0 0);opacity:.12;filter:blur(5px);transform:translate3d(0,8px,0);
 transition:clip-path .76s var(--narrative-ease),opacity .52s ease,filter .72s ease,transform .72s var(--narrative-ease);
 will-change:clip-path,opacity,filter,transform;
}
.hero h1 .hero-copy-line:nth-child(1){transition-delay:.12s}
.hero h1 .hero-copy-line:nth-child(2){transition-delay:.38s}
.hero h1 .hero-copy-line:nth-child(3){transition-delay:.68s}
.hero h1.hero-copy-reveal .hero-copy-subline{font-size:clamp(18px,.42em,26px);font-weight:500;line-height:1.45;letter-spacing:0;margin-top:24px;color:rgba(246,249,245,.88)}
.hero.is-copy-revealed h1.hero-copy-reveal .hero-copy-line{clip-path:inset(0);opacity:1;filter:blur(0);transform:none}
.hero-copy-orbit{position:absolute;z-index:1;left:-72px;top:86px;width:min(700px,72vw);height:235px;pointer-events:none;color:#84efae;opacity:.78;transition:opacity .32s ease}
.hero-copy-orbit svg{display:block;width:100%;height:100%;overflow:visible}
.hero-copy-orbit path{fill:none;stroke:currentColor;stroke-width:1.2;stroke-opacity:.5;stroke-dasharray:800;stroke-dashoffset:calc((1 - var(--hero-intro-draw,0))*800px)}
.hero-copy-orbit circle{fill:#d9ffea;opacity:var(--hero-intro-node,0);filter:drop-shadow(0 0 7px #69eaa5)}
.hero.hero-intro-complete .hero-copy-orbit{opacity:0}
.narrative-hero-signal{position:absolute;inset:0;z-index:-1;pointer-events:none;color:#83efb7;opacity:.74}
.narrative-hero-signal svg{width:100%;height:100%;display:block}
.narrative-hero-signal .signal-track{fill:none;stroke:currentColor;stroke-width:1.25;stroke-opacity:.34;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--hero-signal,0))}
.narrative-hero-signal .signal-node{fill:#c8ffe0;filter:drop-shadow(0 0 7px #72e7aa);opacity:var(--hero-signal,0)}

/* Vision: 3図を、データが通過する順序でマスク表示する。 */
.narrative-motion-ready .pillars article{opacity:var(--narrative-tone,1)}
.narrative-motion-ready .pillars article h3,
.narrative-motion-ready .pillars article .pillar-index,
.narrative-motion-ready .pillars article .micro{transform:translate3d(var(--narrative-shift,0),0,0);will-change:transform}
.narrative-motion-ready .pillar-visual{position:relative}
.narrative-motion-ready .pillar-visual img{
 clip-path:inset(0 var(--narrative-clip,0) 0 0);
 transform:scale(1.045) translate3d(var(--narrative-image-shift,0),0,0);
 will-change:clip-path,transform;
}
.narrative-motion-ready .pillar-visual::after{
 content:"";position:absolute;top:0;bottom:0;left:var(--narrative-scan,100%);width:1px;
 background:linear-gradient(180deg,transparent,#c9ffe0 18%,#2ecb86 72%,transparent);
 box-shadow:0 0 16px #44d99a;opacity:var(--narrative-scan-opacity,0);pointer-events:none;
}

/* Mission: 分解図は資料性を優先し、常に完成状態で静止表示する。 */
.narrative-motion-ready .rocket-figure{position:relative;overflow:hidden}
.narrative-motion-ready .rocket-figure img{clip-path:none!important;transform:none!important;opacity:1!important;will-change:auto}
.narrative-motion-ready .rocket-figure::after{content:none!important}
.narrative-motion-ready .mission-index article{
 background-image:linear-gradient(90deg,rgba(8,114,75,.11),rgba(8,114,75,0));
 background-repeat:no-repeat;background-size:var(--mission-item-fill,0) 100%;
}
.narrative-motion-ready .mission-index h3{transform:translate3d(var(--mission-item-shift,0),0,0);opacity:var(--mission-item-tone,1);will-change:transform,opacity}

/* Ecosystem: 各行を左から右へ受け渡し、右端の図解へ到達させる。 */
.narrative-motion-ready .ecosystem-rows article{position:relative;overflow:hidden}
.narrative-motion-ready .ecosystem-rows article::after{
 content:"";position:absolute;z-index:2;left:0;right:0;bottom:0;height:2px;pointer-events:none;
 background:linear-gradient(90deg,#08724b 0,#32a978 72%,#9de3bf 100%);
 transform:scaleX(var(--ecosystem-line,0));transform-origin:left;box-shadow:0 0 8px rgba(8,114,75,.2);
}
.narrative-motion-ready .ecosystem-symbol{
 clip-path:inset(0 var(--ecosystem-clip,0) 0 0);opacity:var(--ecosystem-symbol-tone,1);
 will-change:clip-path,opacity;
}

/* Roadmap: Earth orbit から Moon までを一本の縦軸で読む。 */
.narrative-motion-ready .timeline{position:relative}
.narrative-motion-ready .timeline::before,
.narrative-motion-ready .timeline::after{content:"";position:absolute;left:43px;top:28px;bottom:28px;width:1px;pointer-events:none}
.narrative-motion-ready .timeline::before{background:rgba(169,231,197,.16)}
.narrative-motion-ready .timeline::after{background:#a9e7c5;transform:scaleY(var(--roadmap-flow,0));transform-origin:top;box-shadow:0 0 9px rgba(132,239,174,.4)}
.narrative-motion-ready .timeline-year{position:relative}
.narrative-motion-ready .timeline-year::after{
 content:"";position:absolute;left:39px;top:9px;width:9px;height:9px;border:1px solid #a9e7c5;border-radius:50%;
 background:#071014;transform:scale(var(--roadmap-node,0));box-shadow:0 0 0 4px rgba(132,239,174,.08);z-index:2;
}
.narrative-motion-ready .timeline>li{isolation:isolate}
.narrative-motion-ready .timeline>li::before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:linear-gradient(90deg,rgba(132,239,174,.1),rgba(132,239,174,.025) 58%,transparent 84%);
 opacity:var(--roadmap-active,0);
}
.narrative-motion-ready .timeline>li>*{position:relative;z-index:1}

/* DMT: 常時浮遊をやめ、スクロールで影から光へ一度だけ回転する。 */
.narrative-motion-ready .coin-figure .coin{
 animation:none!important;
 transform:translate3d(0,var(--coin-rise,0),0) rotateZ(var(--coin-rotate,0deg)) scale(var(--coin-scale,1));
 opacity:var(--coin-opacity,1);filter:drop-shadow(0 30px 35px #0007) brightness(var(--coin-light,1));
 will-change:transform,opacity,filter;
}
.narrative-motion-ready .coin-stage::before{transform:scale(var(--coin-glow,1));opacity:var(--coin-glow,1)}
.narrative-motion-ready .utility-list li>*,
.narrative-motion-ready .utility-list li::before{transform:translate3d(var(--token-shift,0),0,0);opacity:var(--token-tone,1);will-change:transform,opacity}
.narrative-motion-ready .utility-list li{position:relative;overflow:hidden}
.narrative-motion-ready .utility-list li::after{
 content:"";position:absolute;left:0;top:-1px;width:100%;height:2px;background:#84efae;
 transform:scaleX(var(--token-line,0));transform-origin:left;box-shadow:0 0 9px rgba(132,239,174,.3);
}

/* Participate: カードは静止。中央の接続線、軌道、信号だけを組み上げる。 */
.narrative-motion-ready .participation-network{opacity:.46}
.narrative-motion-ready .participation-connections>*{
 stroke-dasharray:1200;stroke-dashoffset:calc((1 - var(--network-draw,0))*1200px);
}
.narrative-motion-ready .participation-orbit{
 transform-box:fill-box;transform-origin:center;
 transform:rotate(var(--network-orbit-angle,-48deg)) scale(calc(.72 + var(--network-orbit,0)*.28));
 opacity:var(--network-orbit,0);will-change:transform,opacity;
}
.narrative-motion-ready .participation-orbit>*:not(.participation-signal){stroke-dasharray:1200;stroke-dashoffset:calc((1 - var(--network-orbit,0))*1200px)}
.narrative-motion-ready .participation-signal{
 stroke:#08724b;stroke-width:7;stroke-linecap:round;stroke-dasharray:18 620;
 stroke-dashoffset:calc(var(--network-signal,0)*-620px);opacity:var(--network-orbit,0);
}
.narrative-motion-ready .participation-points{opacity:var(--network-nodes,0)}
.narrative-motion-ready .participation-core{
 opacity:var(--network-orbit,0);transform-box:fill-box;transform-origin:center;
 transform:scale(calc(.65 + var(--network-orbit,0)*.35));will-change:transform,opacity;
}
.narrative-motion-ready .participation-core-ring{opacity:calc(var(--network-orbit,0)*.55)}
.narrative-motion-ready .participation-node{opacity:1;border-color:#08724b;transform:none;will-change:auto}
.narrative-motion-ready .participation-node .node-illustration :is(path,rect,circle){stroke-dasharray:none;stroke-dashoffset:0}
.narrative-motion-ready .participation-node .node-illustration circle[fill="currentColor"]{opacity:1}

/* Final: ページを通った信号がWP導線で一本に収束する。 */
.narrative-motion-ready .paper-cta{position:relative;overflow:hidden}
.narrative-motion-ready .paper-cta::after{
 content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#84efae 38%,#f4f5f3 50%,#84efae 62%,transparent);
 transform:scaleX(var(--paper-line,0));transform-origin:center;box-shadow:0 0 18px rgba(132,239,174,.4);
}
.narrative-motion-ready .paper-cta .eyebrow,
.narrative-motion-ready .paper-cta h2{clip-path:inset(0 var(--paper-clip,0) 0 0);transform:translate3d(var(--paper-shift,0),0,0);opacity:var(--paper-tone,1);will-change:clip-path,transform,opacity}
.narrative-motion-ready .paper-cta .button{clip-path:none!important;transform:none!important;opacity:1!important}

/* FAQは操作への応答だけ。 */
.faq-items details p{transform-origin:top}
.faq-items details[open] p{animation:faq-answer-in .22s var(--narrative-ease) both}
@keyframes faq-answer-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:800px){
 .narrative-hero-signal{opacity:.5}
 .hero-copy-orbit{left:-88px;top:92px;width:520px;height:210px;opacity:.58}
 .narrative-motion-ready .timeline::before,.narrative-motion-ready .timeline::after{left:-10px;top:12px;bottom:12px}
 .narrative-motion-ready .timeline-year::after{display:none}
 /* 小画面では文章を動かさず、画像マスク・進行線・図解の線描だけを残す。 */
 .narrative-motion-ready :is(
  .hero-content,
  .pillars article,
  .pillars article h3,
  .pillars article .pillar-index,
  .pillars article .micro,
  .mission-index h3,
  .ecosystem-rows article .funding-top,
  .ecosystem-rows article h3,
  .timeline>li h3,
  .timeline>li p,
  .timeline>li .phase-label,
  .utility-list li>*,
  .participation-node,
  .paper-cta .eyebrow,
  .paper-cta h2
 ){
  transform:none!important;opacity:1!important;clip-path:none!important;will-change:auto!important;
 }
 .narrative-motion-ready .coin-figure .coin{filter:drop-shadow(0 24px 28px #0006);will-change:transform,opacity}
 .narrative-motion-ready .participation-network{opacity:.2}
}

html[data-motion="reduced"] .narrative-hero-signal{display:none}
html[data-motion="reduced"] .hero-copy-orbit{display:none}
html[data-motion="reduced"] .hero h1 .hero-copy-line{clip-path:none!important;opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
html[data-motion="reduced"] .narrative-motion-ready :is(.hero-content,.pillars article,.pillars article h3,.pillars article .pillar-index,.pillars article .micro,.pillar-visual img,.rocket-figure img,.mission-index h3,.ecosystem-rows article>*,.timeline>li h3,.timeline>li p,.timeline>li .phase-label,.coin-figure .coin,.utility-list li>*,.participation-node,.paper-cta .eyebrow,.paper-cta h2,.paper-cta .button){transform:none!important;opacity:1!important;clip-path:none!important;filter:none!important}
html[data-motion="reduced"] .narrative-motion-ready :is(.pillar-visual::after,.rocket-figure::after,.ecosystem-rows::before,.ecosystem-rows::after,.timeline::before,.timeline::after,.timeline-year::after,.utility-list li::after,.paper-cta::after){display:none!important}
html[data-motion="reduced"] .participation-network :is(.participation-connections>*,.participation-orbit>*){stroke-dashoffset:0!important}
html[data-motion="reduced"] .participation-network :is(.participation-orbit,.participation-points,.participation-core){opacity:1!important;transform:none!important}
html[data-motion="reduced"] .participation-signal{display:none!important}
@media(prefers-reduced-motion:reduce){.narrative-hero-signal,.hero-copy-orbit{display:none}.hero h1 .hero-copy-line{clip-path:none!important;opacity:1!important;filter:none!important;transform:none!important;transition:none!important}.narrative-motion-ready *{animation:none!important}.narrative-motion-ready :is(.hero-content,.pillars article,.pillar-visual img,.rocket-figure img,.ecosystem-rows article>*,.timeline>li h3,.timeline>li p,.coin-figure .coin,.utility-list li>*,.participation-node,.paper-cta .eyebrow,.paper-cta h2,.paper-cta .button){transform:none!important;opacity:1!important;clip-path:none!important;filter:none!important}}
@media print{.narrative-hero-signal,.narrative-motion-ready .rocket-figure::after,.narrative-motion-ready .ecosystem-rows::before,.narrative-motion-ready .ecosystem-rows::after,.narrative-motion-ready .timeline::before,.narrative-motion-ready .timeline::after,.narrative-motion-ready .paper-cta::after{display:none!important}}
