.journey{position:relative;isolation:isolate;overflow:clip;background:#11162f}.journey-sky{position:sticky;top:0;height:100svh;margin-bottom:-100svh;z-index:0;overflow:hidden;pointer-events:none}.journey-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.journey-sky::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 44%,transparent 0 46%,rgba(4,7,20,.07) 100%),linear-gradient(180deg,rgba(5,8,25,.06),transparent 26%,transparent 78%,rgba(5,8,22,.09));pointer-events:none}.hero,.system-section{position:relative;z-index:2;background:transparent!important}.journey .hero-atmosphere,.journey .hero-wash{display:none!important}.hero{isolation:auto}.hero-intro-copy,.chat-row-user,.chat-row-ai .ai-avatar,.chat-row-ai .ai-meta,.chat-row-ai .ai-bubble,.project-composer,.composer-hint{will-change:transform,opacity,filter}.hero-intro-copy{opacity:var(--hero-copy-opacity,1);transform:translate3d(0,var(--hero-copy-y,0),0) scale(var(--hero-copy-scale,1));filter:blur(var(--hero-copy-blur,0));transition:none!important}.chat-row-user{opacity:var(--user-opacity,1);transform:translate3d(var(--user-x,0),var(--user-y,0),0) scale(var(--user-scale,1));filter:blur(var(--user-blur,0));transition:none!important}.chat-row-ai .ai-avatar,.chat-row-ai .ai-meta{opacity:var(--ai-meta-opacity,1);transform:translate3d(0,var(--ai-meta-y,0),0);filter:blur(var(--ai-meta-blur,0));transition:none!important}.chat-row-ai .ai-bubble{opacity:var(--source-opacity,1);filter:blur(var(--source-blur,0));transition:none!important}.project-composer{opacity:var(--composer-opacity,1);transform:translate3d(0,var(--composer-y,0),0) scale(var(--composer-scale,1));filter:blur(var(--composer-blur,0));transition:none!important}.composer-hint{opacity:var(--hint-opacity,1);transform:translate3d(0,var(--hint-y,0),0);filter:blur(var(--hint-blur,0));transition:none!important}
.morph-bubble{position:fixed;z-index:44;left:0;top:0;width:320px;height:76px;display:none;pointer-events:none;border:1px solid rgba(255,255,255,.17);border-radius:20px 20px 20px 7px;background:linear-gradient(145deg,rgba(55,36,91,.60),rgba(13,18,46,.38));box-shadow:0 26px 90px rgba(2,6,24,.30),inset 0 1px 0 rgba(255,255,255,.09);backdrop-filter:blur(26px) saturate(1.18);-webkit-backdrop-filter:blur(26px) saturate(1.18);overflow:visible;transform-origin:center;transform-style:preserve-3d;perspective:1000px;will-change:left,top,width,height,border-radius,opacity,transform,filter}.morph-bubble.is-active{display:block}.morph-bubble::before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(110deg,rgba(255,255,255,.24),transparent 24%,rgba(255,142,86,.22) 59%,rgba(142,170,255,.20));padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:var(--edge-opacity,.45);pointer-events:none}.morph-bubble::after{content:"";position:absolute;inset:-24px;border-radius:inherit;background:radial-gradient(ellipse at center,rgba(255,132,78,.20),rgba(124,115,255,.12) 38%,transparent 72%);filter:blur(22px);opacity:var(--halo-opacity,.55);z-index:-2;transform:scale(var(--halo-scale,1));pointer-events:none}.morph-bubble-glow{position:absolute;inset:-34px;z-index:-1;border-radius:inherit;border:1px solid rgba(255,255,255,.07);opacity:var(--ring-opacity,0);transform:scale(var(--ring-scale,.9));box-shadow:0 0 58px rgba(138,155,255,.12),0 0 70px rgba(255,120,74,.10)}.morph-bubble-content{position:absolute;inset:0;display:grid;place-items:center;padding:14px 18px;text-align:center}.morph-bubble-content>span{position:absolute;inset:0;padding:14px 18px;display:flex;align-items:center;color:rgba(255,255,255,.95);font-size:15px;line-height:1.55;text-align:left;opacity:var(--morph-text-opacity,1);filter:blur(var(--morph-text-blur,0));transform:translateY(var(--morph-text-y,0))}.morph-bubble-content img{width:32px;height:32px;object-fit:contain;opacity:var(--morph-logo-opacity,0);transform:translateY(-9px) scale(var(--morph-logo-scale,.7));filter:drop-shadow(0 8px 22px rgba(0,0,0,.18))}.morph-bubble-content small{position:absolute;left:50%;top:58%;transform:translate(-50%,0);white-space:nowrap;color:rgba(255,255,255,.88);font-size:11px;font-weight:600;opacity:var(--morph-label-opacity,0)}
.system-section{min-height:260svh;margin-top:-1px;padding:0;overflow:visible}.system-shell{position:sticky;top:0;min-height:100svh;padding:8svh 0 6svh;display:grid;grid-template-rows:auto 1fr;align-items:start;z-index:3;perspective:1500px;transform-style:preserve-3d}.system-copy{max-width:820px;margin:0 auto 1.5svh;text-align:center;pointer-events:none;position:relative;z-index:7}.system-kicker{display:block;margin-bottom:14px;color:rgba(255,255,255,.60);font-size:10px;font-weight:700;letter-spacing:.18em}.system-copy h2{margin:0;color:#fff;font-size:clamp(3rem,5.6vw,5.9rem);font-weight:500;line-height:.96;letter-spacing:-.065em;text-shadow:0 10px 44px rgba(4,8,28,.18)}.system-copy p{max-width:680px;margin:20px auto 0;color:rgba(245,247,255,.75);font-size:17px;line-height:1.68}.formation-char{display:inline-block;transform-origin:50% 100%;will-change:transform,filter,opacity,clip-path}.formation-space{display:inline-block;width:.28em}.formation-line{display:inline}
.architecture-stage{position:relative;width:min(100%,1110px);height:min(67svh,680px);min-height:540px;margin:0 auto;--cursor-x:50%;--cursor-y:50%;background:radial-gradient(circle at var(--cursor-x) var(--cursor-y),rgba(255,255,255,.034),transparent 23%),radial-gradient(ellipse at center,rgba(255,255,255,.020),transparent 64%);border-radius:48px;overflow:visible;perspective:1300px;perspective-origin:50% 57%;transform-style:preserve-3d}.architecture-stage::before{content:"";position:absolute;left:50%;top:57%;width:420px;height:230px;transform:translate(-50%,-50%) scale(var(--field-scale,.82));border-radius:50%;background:radial-gradient(ellipse at center,rgba(127,144,255,.11),rgba(255,119,76,.055) 42%,transparent 72%);filter:blur(20px);opacity:var(--field-opacity,0);pointer-events:none}.tech-network{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;transform:translateZ(-6px)}.tech-line{fill:none;stroke:rgba(226,233,255,.31);stroke-width:1.05;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(163,180,255,.20));stroke-dasharray:1;stroke-dashoffset:1;opacity:0;will-change:stroke-dashoffset,opacity}.tech-spark{fill:#eaf0ff;filter:drop-shadow(0 0 8px rgba(207,220,255,.90));opacity:var(--spark-opacity,0)}.tech-spark.warm{fill:#ffbd93;filter:drop-shadow(0 0 9px rgba(255,142,86,.92))}
.business-core{position:absolute;z-index:5;left:50%;top:57%;width:220px;height:96px;transform:translate(-50%,-50%) scale(.82);opacity:0;border:1px solid rgba(255,255,255,.17);border-radius:30px 30px 30px 12px;background:linear-gradient(145deg,rgba(52,34,86,.56),rgba(14,18,44,.36));box-shadow:0 30px 100px rgba(4,8,27,.25),0 0 82px rgba(130,115,255,.10),inset 0 1px 0 rgba(255,255,255,.13);backdrop-filter:blur(26px) saturate(1.16);-webkit-backdrop-filter:blur(26px) saturate(1.16);will-change:opacity,transform,filter;transform-style:preserve-3d}.business-core::before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(110deg,rgba(255,255,255,.18),transparent 30%,rgba(255,141,87,.16) 62%,rgba(143,169,255,.17));padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.core-content{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px}.core-content img{width:31px;height:31px;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0,0,0,.16))}.core-content span{color:rgba(255,255,255,.90);font-size:11px;font-weight:600}.core-orbit{position:absolute;inset:-15px;border-radius:39px 39px 39px 17px;border:1px solid rgba(255,255,255,.065);opacity:0}.business-core.is-docked .core-orbit-a{animation:corePulseA 3.6s ease-out infinite}.business-core.is-docked .core-orbit-b{inset:-28px;animation:corePulseB 3.6s .9s ease-out infinite}@keyframes corePulseA{0%{opacity:0;transform:scale(.94)}18%{opacity:.46}72%,100%{opacity:0;transform:scale(1.12)}}@keyframes corePulseB{0%{opacity:0;transform:scale(.9)}24%{opacity:.26}82%,100%{opacity:0;transform:scale(1.09)}}
.tech-node-shell{position:absolute;z-index:4;left:var(--x);top:var(--y);transform:translate(-50%,-50%) scale(.56);opacity:0;filter:blur(12px);will-change:transform,opacity,filter;transform-style:preserve-3d}.tech-node{display:grid;justify-items:center;gap:8px;animation:techFloat var(--dur) ease-in-out var(--delay) infinite alternate;transform-style:preserve-3d}.tech-node img{width:31px;height:31px;box-sizing:content-box;padding:13px;border-radius:18px;background:rgba(8,13,34,.27);border:1px solid rgba(255,255,255,.11);box-shadow:0 14px 38px rgba(3,7,26,.18),inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1);transition:transform .24s ease,border-color .24s ease,background .24s ease}.tech-node span{color:rgba(244,247,255,.74);font-size:10px;font-weight:600;letter-spacing:.015em;text-shadow:0 5px 18px rgba(4,8,24,.18)}.tech-node-shell:hover .tech-node img{transform:scale(1.08);border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.10)}@keyframes techFloat{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(var(--dx),var(--dy),10px)}}.system-caption{position:absolute;left:50%;bottom:3.5svh;transform:translateX(-50%);width:min(680px,90%);margin:0;text-align:center;color:rgba(239,243,255,.58);font-size:13px;line-height:1.65;opacity:0;filter:blur(8px);will-change:opacity,transform,filter}.system-caption strong{color:rgba(255,255,255,.88);font-weight:600}
@media(max-width:900px){.system-section{min-height:auto;padding:120px 0 110px}.system-shell{position:relative;min-height:auto;padding:0;display:block}.system-copy{margin-bottom:20px}.architecture-stage{height:610px;min-height:0}.tech-node img{width:27px;height:27px;padding:11px}.business-core{width:190px;height:88px}.morph-bubble{display:none!important}.hero-intro-copy,.chat-row-user,.chat-row-ai .ai-avatar,.chat-row-ai .ai-meta,.chat-row-ai .ai-bubble,.project-composer,.composer-hint{opacity:1!important;transform:none!important;filter:none!important}.formation-char{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}.business-core{opacity:1!important;transform:translate(-50%,-50%) scale(1)!important}.tech-node-shell{opacity:1!important;filter:none!important;transform:translate(-50%,-50%) scale(1)!important}.tech-line{stroke-dashoffset:0!important;opacity:.55!important}.tech-spark{--spark-opacity:.72}.system-caption{position:relative;left:auto;bottom:auto;transform:none!important;margin:18px auto 0;opacity:1!important;filter:none!important}}
@media(max-width:640px){.system-section{padding:96px 0 90px}.system-copy h2{font-size:clamp(2.8rem,13vw,4rem)}.system-copy p{font-size:14px;margin-top:16px}.architecture-stage{height:560px;width:calc(100% + 16px);margin-left:-8px}.business-core{top:55%;width:158px;height:82px;border-radius:24px 24px 24px 10px}.architecture-stage::before{top:55%}.tech-node img{width:22px;height:22px;padding:9px;border-radius:14px}.tech-node span{font-size:8px}.system-caption{font-size:11px;max-width:92%;margin-top:16px}}
@media(prefers-reduced-motion:reduce){.tech-node,.business-core.is-docked .core-orbit-a,.business-core.is-docked .core-orbit-b{animation:none}.morph-bubble{display:none!important}.formation-char,.system-caption,.business-core,.tech-node-shell,.tech-line{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;stroke-dashoffset:0!important}}

/* v4 — organic day/night theme cycle */
.journey-sky::before{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:6;
  pointer-events:none;
  opacity:0;
  transform:translate3d(0,8%,0) scale(1.08);
  transform-origin:50% 72%;
  filter:saturate(1) blur(0);
  mix-blend-mode:screen;
  will-change:opacity,transform,filter;
}
.journey-sky::after{z-index:7}

html[data-theme-transitioning='true'][data-theme-direction='to-dark'] .journey-sky::before{
  background:
    radial-gradient(ellipse at 50% 118%,rgba(255,177,114,.48) 0%,rgba(255,118,137,.34) 21%,transparent 51%),
    radial-gradient(ellipse at 28% 84%,rgba(240,92,173,.26),transparent 43%),
    radial-gradient(ellipse at 76% 66%,rgba(115,88,224,.27),transparent 46%),
    linear-gradient(180deg,rgba(39,105,184,.06) 0%,rgba(72,52,157,.18) 48%,rgba(122,31,94,.18) 76%,rgba(255,117,95,.08) 100%);
  animation:foxieDusk var(--theme-cycle-duration,2100ms) cubic-bezier(.22,.72,.18,1) both;
}

html[data-theme-transitioning='true'][data-theme-direction='to-light'] .journey-sky::before{
  background:
    radial-gradient(ellipse at 50% 116%,rgba(255,194,126,.46) 0%,rgba(255,137,157,.31) 22%,transparent 53%),
    radial-gradient(ellipse at 72% 78%,rgba(235,105,195,.22),transparent 42%),
    radial-gradient(ellipse at 26% 58%,rgba(98,122,231,.24),transparent 48%),
    linear-gradient(180deg,rgba(4,12,39,.16) 0%,rgba(47,54,145,.22) 42%,rgba(142,65,153,.17) 69%,rgba(107,178,224,.10) 100%);
  animation:foxieDawn var(--theme-cycle-duration,2100ms) cubic-bezier(.22,.72,.18,1) both;
}

@keyframes foxieDusk{
  0%{
    opacity:0;
    transform:translate3d(0,10%,0) scale(1.10);
    filter:saturate(.92) brightness(1.04);
  }
  20%{
    opacity:.46;
    transform:translate3d(0,6%,0) scale(1.075);
    filter:saturate(1.05) brightness(1.02);
  }
  44%{
    opacity:.88;
    transform:translate3d(0,1%,0) scale(1.045);
    filter:saturate(1.18) brightness(.98);
  }
  68%{
    opacity:.62;
    transform:translate3d(0,-3%,0) scale(1.025);
    filter:saturate(1.10) brightness(.91);
  }
  86%{
    opacity:.26;
    transform:translate3d(0,-5%,0) scale(1.012);
    filter:saturate(.96) brightness(.86);
  }
  100%{
    opacity:0;
    transform:translate3d(0,-6%,0) scale(1);
    filter:saturate(.92) brightness(.82);
  }
}

@keyframes foxieDawn{
  0%{
    opacity:0;
    transform:translate3d(0,-7%,0) scale(1.01);
    filter:saturate(.88) brightness(.82);
  }
  18%{
    opacity:.28;
    transform:translate3d(0,-4%,0) scale(1.025);
    filter:saturate(.96) brightness(.88);
  }
  43%{
    opacity:.72;
    transform:translate3d(0,0,0) scale(1.045);
    filter:saturate(1.12) brightness(.96);
  }
  66%{
    opacity:.90;
    transform:translate3d(0,4%,0) scale(1.065);
    filter:saturate(1.15) brightness(1.03);
  }
  84%{
    opacity:.42;
    transform:translate3d(0,7%,0) scale(1.085);
    filter:saturate(1.04) brightness(1.06);
  }
  100%{
    opacity:0;
    transform:translate3d(0,9%,0) scale(1.10);
    filter:saturate(.96) brightness(1.08);
  }
}

@media(prefers-reduced-motion:reduce){
  .journey-sky::before{display:none!important}
}
