/* KFFART V5.0 — immersive AI Journey / inward-flight landing.
   The arriving scene and journey-scene share the EXACT source image and crop. */
:root{--journey-cyan:#8ce9ff;--journey-violet:#ab94ff;--journey-ink:#051023;}
.detail-view.journey-view{
 padding:0!important;min-height:100svh;background:#061325!important;
 color:#ecf7ff;overflow:clip;
}
body:has(.journey-view:not([hidden])) .footer{display:none!important;}
body:has(.journey-view:not([hidden])) .topbar{
 background:linear-gradient(180deg,rgba(3,10,24,.91),rgba(3,10,24,.43));
 border-bottom:1px solid rgba(184,220,255,.13);
 backdrop-filter:blur(15px);
}
.journey-scene,.journey-flight-interior{
 background-image:linear-gradient(90deg,rgba(2,7,23,.88) 0%,rgba(3,10,27,.72) 27%,rgba(2,9,25,.08) 57%,rgba(3,11,26,.72) 100%),
                   linear-gradient(0deg,rgba(3,12,28,.95) 0%,transparent 24%,rgba(2,10,27,.13) 70%,rgba(3,10,24,.25) 100%),
                   url("journey-inside-2400.webp");
 background-size:cover; background-position:center center;
}
.journey-scene{
 position:relative;height:100svh;min-height:630px;isolation:isolate;overflow:hidden;
 display:flex;align-items:center;
}
.journey-scene::before{
 content:"";pointer-events:none;position:absolute;inset:0;z-index:0;
 background:radial-gradient(ellipse at 55% 53%,rgba(86,113,249,.04),transparent 45%),
 repeating-linear-gradient(90deg,transparent 0 82px,rgba(106,177,245,.025) 83px,transparent 84px);
 opacity:.8;
}
.journey-scene::after{
 content:"";position:absolute;inset:auto -10% -25% -10%;height:48%;pointer-events:none;z-index:0;
 background:radial-gradient(ellipse at 54% 0%,rgba(45,199,255,.16),transparent 55%);
 transform:perspective(460px) rotateX(60deg);
 border-top:1px solid rgba(114,200,253,.11);
}
.journey-scene-inner{
 z-index:4;position:relative;margin:0 auto;max-width:1500px;width:100%;padding:108px clamp(28px,5.8vw,100px) 60px;
 display:grid;grid-template-columns:minmax(320px,.85fr) minmax(350px,.98fr) minmax(232px,.57fr);
 align-items:center;column-gap:clamp(8px,2vw,38px);
 box-sizing:border-box;
}
.journey-copy{position:relative;z-index:4;max-width:500px;}
.journey-kicker{display:inline-flex;gap:12px;align-items:center;font-size:11px;letter-spacing:.21em;font-weight:700;color:#91cbff;}
.journey-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:#7df0ff;box-shadow:0 0 15px #36d8ff;}
.journey-copy h1{
 margin:28px 0 13px;font-size:clamp(52px,5.7vw,94px);font-weight:800;line-height:1.02;
 letter-spacing:-.06em;color:#f2f7ff;text-shadow:0 7px 45px rgba(2,4,19,.5);
}
.journey-copy h1 span{display:block;margin-top:6px;background:linear-gradient(115deg,#c3dcff,#7cadff 65%,#b29bff);color:transparent;background-clip:text;}
.journey-intro{color:#d4e6f7;font-size:clamp(14px,1.15vw,17px);line-height:1.85;max-width:390px;text-shadow:0 2px 15px #030d26;}
.journey-chapter-data{border-left:2px solid #8ccfff82;padding-left:18px;margin:35px 0 26px;min-height:100px;transition:opacity .22s;}
.journey-chapter-data .journey-active-label{display:block;color:#9aeaff;font-size:11px;letter-spacing:.20em;margin-bottom:9px;}
.journey-chapter-data h2{font-size:clamp(23px,2.2vw,33px);margin:0 0 8px;line-height:1.2;letter-spacing:-.025em;}
.journey-chapter-data p{font-size:13px;line-height:1.75;color:#bad2e7;max-width:365px;margin:0;}
.journey-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:32px;}
.journey-explore{
 border:0;cursor:pointer;
 background:linear-gradient(116deg,#477bff,#7469f8);color:white;text-decoration:none;font-weight:700;font-size:13px;
 padding:14px 24px;border-radius:99px;box-shadow:0 7px 35px rgba(48,97,245,.35);
}
.journey-explore:hover{filter:brightness(1.16)}
.journey-return{font-size:12px;color:#cee3fb;text-decoration:none;padding:10px 0;border-bottom:1px solid #7a9cce70;}
.journey-core-space{
 position:relative;align-self:center;justify-self:center;display:grid;place-items:center;
 width:clamp(310px,34vw,560px);height:clamp(310px,34vw,560px);
 transform-style:preserve-3d;perspective:700px;pointer-events:none;
}
.journey-core-space::before{content:"";position:absolute;inset:5%;border-radius:50%;background:radial-gradient(circle,rgba(45,184,253,.3),rgba(58,74,208,.12) 36%,transparent 62%);filter:blur(35px);}
.journey-core-space::after{
 content:"";position:absolute;width:65%;height:18%;bottom:13%;border-radius:50%;
 border:1px solid rgba(122,216,255,.3);
 box-shadow:0 0 21px rgba(49,137,255,.46),inset 0 0 35px #3bbcff44;
 transform:rotateX(67deg);opacity:.8;
}
.journey-neural{
 position:relative;width:49%;aspect-ratio:1;border-radius:50%;
 background:
 radial-gradient(circle at 40% 38%,#ffffffee 0%,#c6f5ff 3%,#6becff 5%,transparent 10%),
 radial-gradient(circle at 50% 48%,rgba(116,242,255,.9),rgba(58,98,244,.54) 27%,rgba(77,34,188,.50) 46%,rgba(23,81,191,.08) 63%,transparent 72%),
 repeating-radial-gradient(circle at 50% 50%,transparent 0 9px,rgba(154,238,255,.23) 10px,transparent 12px),
 radial-gradient(circle at center,#49d7ff10,transparent 68%);
 border:1px solid #aaeaffbb;
 box-shadow:0 0 35px #7cefffaa,0 0 100px #426dff80,inset 0 0 45px #9ebfff9c,inset 0 0 11px white;
 animation:journey-core-breathe 5.4s ease-in-out infinite;
}
.journey-neural::before,.journey-neural::after{
 content:"";position:absolute;inset:-22%;border-radius:50%;border:2px solid #8ce9ff72;
 transform:rotateX(62deg) rotateZ(-14deg);box-shadow:0 0 20px #5fd7ff75;
}
.journey-neural::after{inset:-36%;border-color:#b59aff6b;transform:rotateY(68deg) rotateZ(13deg);animation:journey-core-orbit 20s linear infinite;}
.journey-core-text{position:absolute;bottom:5%;font-size:10px;font-weight:700;letter-spacing:.2em;color:#ace8ff;text-shadow:0 0 18px #77e2ff;}
.journey-data-orbit{position:absolute;inset:10%;border-radius:50%;border:1px dashed #c5c1ff40;transform:rotateX(65deg) rotate(8deg);}
.journey-data-orbit.two{inset:1%;transform:rotateY(61deg) rotate(38deg);border-color:#6fd7ff36;}
@keyframes journey-core-breathe{50%{filter:brightness(1.27);box-shadow:0 0 46px #7cefffbb,0 0 125px #566dff9e,inset 0 0 55px #a5c7ffbb;}}
@keyframes journey-core-orbit{to{transform:rotateY(68deg) rotateZ(373deg)}}
.journey-chapters{position:relative;z-index:4;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:3px;}
.journey-chapters-header{font-size:10px;color:#9bc7f5;letter-spacing:.22em;font-weight:700;margin:0 0 15px 16px;}
.journey-chapter-button{
 appearance:none;color:#bbd2e8;background:none;border:0;text-align:left;cursor:pointer;
 display:grid;grid-template-columns:33px 1fr 15px;align-items:center;gap:7px;padding:15px 10px 15px 16px;
 border-left:1px solid rgba(159,204,251,.25);
 transition:background .2s,color .2s,border .2s;
}
.journey-chapter-button:hover,.journey-chapter-button:focus-visible{background:#83c8ff14;color:#fff;outline:none;}
.journey-chapter-button[aria-selected=true]{
 border-left:3px solid #83eeff;color:white;padding-left:14px;
 background:linear-gradient(90deg,#64cfff25,transparent);
}
.journey-chapter-button .num{font-size:11px;color:#7ea1ca;letter-spacing:.09em;font-variant-numeric:tabular-nums;}
.journey-chapter-button[aria-selected=true] .num{color:#98e9ff;}
.journey-chapter-button .name{font-size:clamp(12px,1vw,15px);font-weight:600;white-space:nowrap;}
.journey-chapter-button .arrow{opacity:.65;}
.journey-scene-status{position:absolute;z-index:3;left:clamp(25px,5.8vw,100px);bottom:23px;right:clamp(25px,5.8vw,100px);
 display:flex;justify-content:space-between;align-items:center;color:#94b5d3;font-size:10px;letter-spacing:.16em;gap:18px;}
.journey-scene-status span:last-child{color:#9edbfc}
.journey-arriving .journey-ui{opacity:0!important;pointer-events:none;}
.journey-view .journey-ui{opacity:1;transition:opacity .48s ease;}

/* Not cards — full-width editorial chronology with continuous route/path. */
.journey-chronicle{
 position:relative;padding:100px max(6vw,26px) 132px;
 background:linear-gradient(155deg,#0b2540,#07172d 52%,#04101e 100%);
 isolation:isolate;
}
.journey-chronicle::before{
 content:"";position:absolute;left:49%;top:0;bottom:0;width:1px;
 background:linear-gradient(#61edff80,#7795fb30,transparent);pointer-events:none;
}
.journey-chronicle-content{max-width:1220px;margin:auto;position:relative;}
.journey-chronicle-kicker{font-size:11px;letter-spacing:.2em;color:#8edbf5;font-weight:700;}
.journey-chronicle h2{font-size:clamp(36px,5vw,70px);letter-spacing:-.05em;line-height:1.18;margin:15px 0 20px;}
.journey-chronicle-intro{font-size:15px;color:#a4bdd6;line-height:1.85;max-width:690px;margin:0 0 64px;}
.journey-trail-item{position:relative;display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1fr);gap:9%;padding:34px 0;border-top:1px solid #8baef32b;align-items:baseline;}
.journey-trail-item::before{content:"";position:absolute;left:48.85%;top:43px;width:9px;height:9px;background:#7bddff;border:3px solid #103151;border-radius:50%;box-shadow:0 0 19px #55ceff;}
.journey-trail-item .trail-index{display:block;font-size:11px;letter-spacing:.13em;color:#91c9ed;margin-bottom:14px;}
.journey-trail-item h3{font-size:clamp(24px,2.7vw,39px);letter-spacing:-.04em;margin:0;}
.journey-trail-item p{font-size:15px;line-height:1.85;color:#adcae3;margin:0 0 10px;}
.journey-trail-item .trail-note{font-size:11px;color:#7795b4;letter-spacing:.05em;}
.journey-chronicle-outro{margin-top:62px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #8baef339;padding-top:26px;font-size:12px;color:#91a9c7;}
.journey-chronicle-outro a{color:#b6e8ff;text-decoration:none}

/* Entry sequence: first-person flight toward an actual mini-world, then into an interior scene.
   At route commit the DESTINATION is already painted below identical flight interior background. */
.journey-flight[hidden]{display:none!important;}
.journey-flight{
 position:fixed;inset:0;z-index:110;overflow:hidden;isolation:isolate;
 background:transparent;pointer-events:all;opacity:1;transform:translateZ(0);
}
.journey-flight-void{position:absolute;inset:0;background:radial-gradient(circle at var(--jx,50%) var(--jy,50%),#31428a,#070f28 61%,#030915);opacity:0;}
.journey-flight.is-flying .journey-flight-void{animation:journey-void-fill 770ms ease-in both;}
@keyframes journey-void-fill{0%,13%{opacity:0}55%{opacity:.54}100%{opacity:1}}
.journey-flight-sphere{
 position:absolute;left:var(--jx,50%);top:var(--jy,50%);
 width:var(--jdiam,150px);height:var(--jdiam,150px);
 object-fit:contain;transform:translate(-50%,-50%) scale(1);filter:drop-shadow(0 0 18px #b8c2ffb5);
 will-change:transform,opacity;
}
.journey-flight-velocity{
 position:absolute;inset:-60%;z-index:3;opacity:0;pointer-events:none;
 background:
 repeating-conic-gradient(from 0deg at 50% 50%,transparent 0deg,transparent 5deg,rgba(138,220,255,.28) 5.07deg,transparent 5.3deg,transparent 10deg);
 mix-blend-mode:screen;mask-image:radial-gradient(circle,transparent 0%,#000 17%,#000 58%,transparent 76%);
}
.journey-flight-interior{
 position:absolute;inset:0;z-index:4;opacity:0;transform:scale(1.12);
 will-change:opacity,transform;
}
.journey-flight-interior::after{
 content:"";position:absolute;inset:0;
 background:radial-gradient(circle at 54% 48%,transparent 0%,rgba(5,16,37,.16) 42%,#051127ab 100%);
}
.journey-flight-hud{
 position:absolute;z-index:5;left:50%;bottom:11%;transform:translateX(-50%);
 color:#aceaff;text-transform:uppercase;font-size:11px;letter-spacing:.3em;text-shadow:0 0 18px #7cfaff;
 opacity:0;white-space:nowrap;
}
.journey-flight.is-flying .journey-flight-sphere{animation:journey-fly-orb 1350ms cubic-bezier(.18,.72,.18,1) both;}
.journey-flight.is-flying .journey-flight-velocity{animation:journey-fly-lines 1380ms ease-out both;}
.journey-flight.is-flying .journey-flight-interior{animation:journey-enter-lab 1570ms cubic-bezier(.2,.72,.28,1) both;}
.journey-flight.is-flying .journey-flight-hud{animation:journey-hud 1540ms ease both;}
.journey-flight.is-revealing{transition:opacity 260ms linear;opacity:0;}
@keyframes journey-fly-orb{
  0%{transform:translate(-50%,-50%) scale(1);opacity:1}
  24%{transform:translate(-50%,-50%) scale(1.6);opacity:1}
  61%{transform:translate(-50%,-50%) scale(calc(var(--jscale,15) * .75));opacity:1}
  85%{transform:translate(-50%,-50%) scale(var(--jscale,15));opacity:.85}
  100%{transform:translate(-50%,-50%) scale(calc(var(--jscale,15) * 1.4));opacity:0}
}
@keyframes journey-fly-lines{0%,16%{opacity:0;transform:scale(.33)}45%{opacity:.58}83%{opacity:.25;transform:scale(1.4)}100%{opacity:0;transform:scale(2)}}
@keyframes journey-enter-lab{0%,47%{opacity:0;transform:scale(1.19);filter:blur(14px)}70%{opacity:.86;transform:scale(1.07);filter:blur(3px)}91%,100%{opacity:1;transform:scale(1);filter:blur(0)}}
@keyframes journey-hud{0%,35%{opacity:0}48%,69%{opacity:.8}89%,100%{opacity:0}}

@media(max-width:1250px){
 .journey-scene-inner{grid-template-columns:minmax(260px,1fr) minmax(250px,.9fr) minmax(180px,.54fr);gap:5px;padding-left:4vw;padding-right:4vw;}
 .journey-core-space{width:clamp(245px,32vw,400px);height:clamp(245px,32vw,400px)}
}
@media(max-width:930px){
 .journey-scene{min-height:680px}
 .journey-scene-inner{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;align-content:center;padding-top:110px;gap:0 14px;}
 .journey-copy{grid-column:1;grid-row:1/3;}
 .journey-core-space{grid-column:2;grid-row:1;width:min(36vw,310px);height:min(36vw,310px)}
 .journey-chapters{grid-column:2;grid-row:2;}
 .journey-chapter-button{padding:7px 9px}.journey-chapter-button[aria-selected=true]{padding-left:7px}
}
@media(max-width:650px){
 .journey-scene{min-height:750px;height:100svh;display:block;}
 .journey-scene,.journey-flight-interior{background-position:53% center;}
 .journey-scene-inner{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;padding:92px 22px 92px;height:100%;gap:8px;}
 .journey-copy{max-width:100%;flex:0 0 auto;}
 .journey-copy h1{font-size:clamp(44px,12.5vw,62px);line-height:.99;margin:16px 0 10px;}
 .journey-intro{font-size:12px;line-height:1.7;max-width:290px;}
 .journey-kicker{font-size:9px}
 .journey-chapter-data{padding-left:11px;margin:16px 0 8px;min-height:68px;}
 .journey-chapter-data h2{font-size:22px}
 .journey-chapter-data p{font-size:11px;max-width:300px;line-height:1.6}
 .journey-chapter-data .journey-active-label{font-size:9px;margin-bottom:5px}
 .journey-actions{margin-top:13px;gap:10px}
 .journey-explore{font-size:11px;padding:11px 14px}.journey-return{font-size:11px}
 .journey-core-space{position:absolute;right:-19%;top:30%;width:300px;height:300px;opacity:.75;z-index:1;}
 .journey-neural{width:46%}
 .journey-chapters{position:relative;width:calc(100vw - 44px);align-self:flex-end;display:flex;flex-direction:row;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;gap:6px;
    scrollbar-width:none;scroll-snap-type:x mandatory;background:rgba(4,15,33,.54);backdrop-filter:blur(6px);border:1px solid #a1cfff27;padding:5px 0;border-radius:10px;}
 .journey-chapters::-webkit-scrollbar{display:none}
 .journey-chapters-header{display:none}
 .journey-chapter-button{flex:0 0 136px;grid-template-columns:18px 1fr;gap:5px;scroll-snap-align:start;border-left:0;border-bottom:2px solid transparent;padding:10px 6px;}
 .journey-chapter-button[aria-selected=true]{border-left:0;border-bottom:2px solid #8aeaff;padding:10px 6px;}
 .journey-chapter-button .num{font-size:9px}.journey-chapter-button .name{font-size:11px}.journey-chapter-button .arrow{display:none}
 .journey-scene-status{bottom:64px;left:23px;right:23px;font-size:8px;letter-spacing:.09em;}
 .journey-chronicle{padding:60px 23px 100px}
 .journey-chronicle::before{left:32px}
 .journey-chronicle h2{font-size:37px}
 .journey-chronicle-intro{font-size:13px}
 .journey-trail-item{display:block;padding:25px 0 28px 28px}
 .journey-trail-item::before{left:3px;top:34px;width:6px;height:6px}
 .journey-trail-item h3{font-size:27px;margin-bottom:11px}
 .journey-trail-item p{font-size:13px;line-height:1.75}
 .journey-chronicle-outro{align-items:flex-start;flex-direction:column}
 .journey-flight-hud{font-size:8px;letter-spacing:.15em;}
}
@media(prefers-reduced-motion:reduce){
 .journey-neural,.journey-neural::after{animation:none!important}
 .journey-flight.is-flying .journey-flight-sphere,.journey-flight.is-flying .journey-flight-velocity,
 .journey-flight.is-flying .journey-flight-interior,.journey-flight.is-flying .journey-flight-hud{animation:none!important}
 .journey-view .journey-ui{transition:none!important}
}

/* Respect the site's existing Pause Dynamics control on the Journey core too. */
body.journey-motion-paused .journey-neural,
body.journey-motion-paused .journey-neural::after{animation:none!important}
