/* V25: quieter navigation, inline answers and purposeful motion. */
/* V50: descending parachute / ascending climbing team, driven only by page scroll. */
html { scrollbar-width:thin; scrollbar-color:#527d9e #050d1d; }
::-webkit-scrollbar { width:5px; height:5px; }
::-webkit-scrollbar-track { background:#050d1d; }
::-webkit-scrollbar-thumb { background:#527d9e; border-radius:8px; }
.ai-descent { position:fixed; z-index:39; right:5px; top:calc(var(--header) + 32px); bottom:168px; width:46px; pointer-events:none; color:#a2d4f4; }
.ai-descent-track { position:absolute; top:20px; bottom:10px; left:50%; width:1px; background:linear-gradient(180deg,#7db5d755,#7db5d71a); }
.ai-descent-cargo { position:absolute; top:0; left:0; width:46px; display:flex; flex-direction:column; align-items:center; gap:4px; }
.ai-descent-cargo>span { color:#d0e8fa; font-size:10px; line-height:1.5; letter-spacing:.04em; padding:3px 2px; background:#071324; border-radius:4px; white-space:nowrap; }
.ai-scroll-scene { position:relative; width:46px; height:64px; }
.ai-scroll-scene>svg { position:absolute; inset:0; width:46px; height:64px; transition:opacity .14s ease; }
.ai-scroll-scene>.ai-parachute { width:36px; height:47px; left:5px; top:2px; }
.ai-climbers { opacity:0; }
.is-climbing .ai-parachute { opacity:0; }
.is-climbing .ai-climbers { opacity:1; }
.ai-climber { transition:transform .14s ease; }
.ai-climber-pose-b { opacity:0; }
.climb-step .ai-climber-one { transform:translateY(-2px); }
.climb-step .ai-climber-two { transform:translateY(2px); }
.climb-step .ai-climber-pose-a { opacity:0; }
.climb-step .ai-climber-pose-b { opacity:1; }
.menu-open .ai-descent { visibility:hidden; }
.office-addresses { font-style:normal; margin:0 0 14px; display:grid; gap:12px; }
.office-addresses>div { display:grid; gap:3px; }
.office-addresses dt { color:#c4def3; font-size:11px; font-weight:550; }
.office-addresses dd { margin:0; color:#91aac5; font-size:11px; line-height:1.8; overflow-wrap:anywhere; }
.location-copy .office-addresses { margin:24px 0; gap:16px; }
.location-copy .office-addresses dt,.location-copy .office-addresses dd { font-size:14px; }
.footer-sales-contact>span { flex-basis:auto; }
@media(max-width:1100px) { .ai-descent { display:none; } }
.dark-theme .page-index a { position:relative; padding:3px 0; transition:color .2s ease; }
.dark-theme .page-index a::after { content:""; position:absolute; bottom:-9px; left:0; right:0; height:2px; background:linear-gradient(90deg,#4d8dff,#9addf7); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.dark-theme .page-index a[aria-current="location"] { color:#d5ebff; }
.dark-theme .page-index a[aria-current="location"]::after { transform:scaleX(1); }
.is-home .page-index .wrap { justify-content:center; gap:48px; }
.is-home main>section[id] { scroll-margin-top:65px; }
.dark-theme :is(a,button):focus-visible { outline:2px solid #8acbff; outline-offset:5px; }
.anchor-focus-target:focus { outline:0; }
.inquiry-context { background:#102744; border-left:2px solid #72b8ff; padding:10px 14px; margin:12px 0 18px; color:#9fb8d3; font-size:12px; }
.inquiry-context strong { color:#d7eaff; font-weight:500; }
.dark-theme .engineering-summary { min-width:0; padding:24px; display:grid; grid-template-columns:32px 1fr; gap:12px 14px; align-content:start; border:1px solid #28446d; border-radius:10px; background:linear-gradient(130deg,#0c1d37,#071429); color:#c1d8fb; }
.engineering-summary>span { width:29px; height:29px; grid-row:1/3; }
.engineering-summary small { grid-column:2; }
.engineering-jump { display:flex; align-items:center; justify-content:space-between; grid-column:2; color:#b5d9ff; font-size:11px; padding-top:4px; }
.engineering-jump:hover { color:#fff; }
.workbench-app-summary { border:1px solid #2c4567; background:linear-gradient(130deg,#10223d,#0a1830); border-radius:8px; padding:24px 19px; }
.dark-theme .workbench-app-summary h4 { font-size:19px; color:#d9eaff; }
.dark-theme .workbench-app-summary p { font-size:12px; line-height:1.9; color:#96b0d0; margin-top:13px; }
.workbench-apps { align-items:stretch; }
.cycle-center .cycle-step-info { max-width:220px; margin:17px auto 0; font-size:12px; line-height:1.8; color:#a3c7eb; min-height:44px; letter-spacing:0; }
.cycle-step[aria-pressed="true"] { box-shadow:0 0 0 4px #87caff32,0 0 24px #388aff3b; }
@property --fill { syntax:'<percentage>'; inherits:true; initial-value:100%; }
@property --fill-start { syntax:'<angle>'; inherits:true; initial-value:0deg; }
.cycle-step { transition:--fill .45s ease,--fill-start .45s ease,box-shadow .25s ease; }
.fde-module-content { min-height:315px; }
.partnership-card h3 { scroll-margin-top:65px; }
.dark-home-case { position:relative; }
.dark-home-case>a::after { content:""; position:absolute; inset:0; }
.dark-home-case:focus-within { outline:2px solid #8acbff; outline-offset:5px; }

/* Motion only runs briefly, once a scene comes into view. No looping distraction. */
.product-system { position:relative; overflow:hidden; }
.product-system::after { content:""; position:absolute; top:0; left:0; width:60%; height:2px; background:linear-gradient(90deg,transparent,#76ccff,transparent); opacity:0; pointer-events:none; }
.experience-scene.has-entered.product-system::after { animation:blueprint-arrival 1.7s ease-out both; }
.experience-scene.has-entered .transclaw-float { animation:product-hover-arrival 4.4s ease-in-out both; }
.experience-scene.has-entered .transclaw-float-knowledge { animation-delay:.18s; }
.experience-scene.has-entered .domain-float { animation:product-hover-arrival 3.6s ease-in-out both; }
.experience-scene.has-entered .domain-float.float-1 { animation-delay:.18s; }
.experience-scene.has-entered .transclaw-agent-flow>i { animation:signal-passage 2s ease-out both; }
.experience-scene.has-entered.cycle-visual>svg circle:nth-child(2) { animation:cycle-signal 3.8s ease-out both; }
.experience-scene.has-entered .fde-capability-path>i { animation:signal-passage 1.6s ease-out both; }
.experience-scene.has-entered .fde-capability-path>i:nth-of-type(2) { animation-delay:.25s; }
.experience-scene.has-entered .fde-capability-path>i:nth-of-type(3) { animation-delay:.5s; }
.experience-scene:not(.is-in-view),.experience-scene:not(.is-in-view)::after,.experience-scene:not(.is-in-view) *,
.experience-suspended .experience-scene,.experience-suspended .experience-scene::after,.experience-suspended .experience-scene * { animation-play-state:paused!important; }
@keyframes product-hover-arrival { 0%,100% {translate:0 0;} 40% {translate:0 -7px;} 70% {translate:0 -3px;} }
@keyframes blueprint-arrival { 0% {transform:translateX(-100%);opacity:0;} 20% {opacity:.8;} 100% {transform:translateX(180%);opacity:0;} }
@keyframes signal-passage { 0%,100% {color:#79b9eb;text-shadow:none;} 45% {color:#d0f5ff;text-shadow:0 0 9px #79b9ebaa;} }
@keyframes cycle-signal { from {stroke-dashoffset:0;} to {stroke-dashoffset:-72;} }
@keyframes dialog-arrival { from {opacity:0;translate:0 8px;} to {opacity:1;translate:0 0;} }
.detail-dialog[open] { animation:dialog-arrival .22s ease-out; }
@media(hover:hover) and (pointer:fine) {
  .dark-home-case { transition:border-color .25s ease,background .25s ease; }
  .dark-home-case:hover { border-color:#729bcc; background-color:#0e2140; }
  .domain-system-nodes a { transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
  .domain-system-nodes a:hover { transform:translateY(-3px); border-color:#71b5ee; box-shadow:0 8px 28px #1266be20,inset 0 1px #a6dcff45; }
  .portfolio-card:hover,.domain-system-nodes a:hover { transition-delay:0s; }
}
@media(max-width:760px) {
  body.menu-open { overflow:hidden; }
  .menu-open .nav-main { box-shadow:0 45vh 0 40vh #020817bd; }
  .is-home .page-index .wrap { justify-content:flex-start; gap:27px; }
  .is-home .page-index a { font-size:11px; }
  .is-home main>section[id] { scroll-margin-top:50px; }
  .cycle-center .cycle-step-info { max-width:155px; font-size:10px; margin-top:10px; min-height:36px; }
  .dark-theme .engineering-summary { padding:21px; }
  .workbench-apps { grid-template-columns:1fr; }
  .workbench-app-summary { display:grid; grid-template-columns:90px 1fr; gap:15px; padding:18px; }
  .dark-theme .workbench-app-summary h4 { font-size:16px; }
  .dark-theme .workbench-app-summary p { font-size:11px; margin:0; }
  .fde-module-content { min-height:355px; }
}
@media(prefers-reduced-motion:reduce) {
  .ai-scroll-scene>svg,.ai-climber { transition:none; }
  .ai-climber { transform:none!important; }
  .experience-scene,.experience-scene *,.experience-scene::after,.detail-dialog[open] { animation:none!important; }
  .cycle-step,.page-index a,.page-index a::after { transition:none!important; }
}
