/* FCAJ V9: a six-stop journey, with official, locally hosted AWS SVG icons. */
.technology-list>span>img{width:32px;height:32px;flex:none}
.stack-tag>img{width:36px;height:36px;margin-bottom:6px}
#learning{background:radial-gradient(ellipse at 85% 70%,#26343736,transparent 55%),#0b0e15}
#learning .section-head{margin-bottom:40px}
#learning .curriculum-meta{margin:35px 0 28px}
#learning .curriculum-meta>span:first-child{color:#a5aebd}
#learning .curriculum-meta i{background:var(--orange);box-shadow:0 0 14px #f6a76b55}
#learning .curriculum-meta b{display:none}
#learning .curriculum{display:block;margin:0;--path-accent:#ffae76}
#learning .module-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:0;margin-bottom:26px;border:0;background:none;border-radius:0;isolation:isolate}
#learning .module-tab{position:relative;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px;min-height:150px;padding:18px 18px 16px;border:0;border-radius:12px;background:none;transition:background .25s,color .25s;overflow:visible}
#learning .module-tab::before{content:'';position:absolute;z-index:-1;left:0;right:0;top:45px;height:1px;background:#ffffff1c}
#learning .module-tab:first-child::before{left:50%}
#learning .module-tab:last-child::before{right:50%}
#learning .module-tab.active{background:#ffffff06;color:#fff;box-shadow:inset 0 -2px var(--path-accent)}
#learning .module-tab:hover{background:#ffffff08}
#learning .module-stop{position:relative;display:flex;align-items:center;justify-content:center;width:55px;height:55px;background:#151a23;border:1px solid #303644;border-radius:50%;box-shadow:0 0 0 8px #0b0e15;transition:border-color .3s,box-shadow .3s}
#learning .module-stop img{width:29px;height:29px;opacity:.7;transition:opacity .3s}
#learning .module-tab.active .module-stop{border-color:var(--path-accent);box-shadow:0 0 0 8px #0b0e15,0 0 28px color-mix(in srgb,var(--path-accent) 18%,transparent)}
#learning .module-tab.active .module-stop img,#learning .module-tab:hover .module-stop img{opacity:1}
#learning .module-index{position:absolute;top:-6px;right:-8px;width:20px;height:20px;display:grid;place-items:center;font:8px monospace;letter-spacing:0;color:#9ea8ba;background:#111620;border:1px solid #353c49;border-radius:50%}
#learning .module-tab.active .module-index{background:var(--path-accent);border-color:var(--path-accent);color:#13151b}
#learning .module-label{flex:initial}
#learning .track-num{display:block;font:7px monospace;letter-spacing:1px;color:#6f7c91;margin-bottom:7px}
#learning .module-tab.active .track-num{color:var(--path-accent)}
#learning .module-title{font-size:12px;line-height:1.65;font-weight:500;color:#aeb5c2}
#learning .module-tab.active .module-title{color:#f1f2f5}
#learning .module-arrow{display:none}
#learning .module-panel{display:grid;grid-template-columns:.92fr 1.08fr;grid-template-rows:auto 1fr;gap:0 24px;padding:28px 38px 34px;min-height:445px;border:1px solid #ffffff1c;border-radius:20px;background:radial-gradient(ellipse at 85% 55%,color-mix(in srgb,var(--module-accent) 6%,transparent),transparent 65%),linear-gradient(115deg,#161b24,#0e141d);overflow:clip;transition:background .4s}
#learning .module-panel-top{grid-column:1/-1;grid-row:1;align-items:center;border-bottom:1px solid #ffffff0d;padding-bottom:19px}
#learning .module-phase{font:8px monospace;letter-spacing:1.6px;color:#8592a7}
.module-position{display:flex;align-items:center;gap:9px;font:10px monospace;color:#59667c}
.module-position b{color:var(--module-accent);font-weight:400}
#learning .module-content{grid-column:1;grid-row:2;align-self:center;border:0;padding:25px 0 12px;margin:0;min-width:0}
#learning .module-content .eyebrow{font-size:8px;letter-spacing:1.6px;color:var(--module-accent)}
#learning .module-content h3{font-size:clamp(28px,3.2vw,43px);line-height:1.24;letter-spacing:-1.6px;max-width:430px;margin:17px 0 18px;text-wrap:balance}
#learning .panel-description{font-size:13px;line-height:1.95;color:#a4aebf;min-height:50px;max-width:400px}
#learning .service-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:23px}
#learning .service-tags>.service-item{display:flex;align-items:center;gap:8px;font-size:9px;color:#d0d5de;padding:5px 10px 5px 5px;border:1px solid #ffffff13;border-radius:7px;background:#090d1555;max-width:100%;transition:border-color .2s,translate .2s}
#learning .service-item img{width:27px;height:27px;flex:none}
#learning .service-item:hover{border-color:#ffffff38;translate:0 -2px}
#learning .panel-link{font-size:11px;color:#e5e9ed;gap:22px;margin-top:30px}
#learning .panel-link>span:last-child{color:var(--module-accent);font-size:20px}
#learning .panel-link:hover{color:var(--module-accent)}
#learning .module-art{grid-column:2;grid-row:2;align-self:center;justify-self:stretch;position:relative;width:100%;height:auto;aspect-ratio:600/420;min-width:0;max-width:none;margin:10px 0 0;perspective:none}
#learning .module-art::before{inset:5%;background:radial-gradient(ellipse,color-mix(in srgb,var(--module-accent) 8%,transparent),transparent 65%)}
.journey-grid{position:absolute;inset:0;background-image:radial-gradient(#99acc23a .8px,transparent .8px);background-size:21px 21px;mask-image:radial-gradient(ellipse,#000,transparent 74%)}
.journey-connectors{position:absolute;inset:0;width:100%;height:100%;stroke:#76899e42;stroke-width:1.2}
#learning .journey-connectors .diagram-flow{stroke:var(--module-accent);stroke-width:1.8;stroke-dasharray:6 150;animation:signal 12s linear infinite}
.journey-core,.journey-node{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:translate(-50%,-50%);z-index:2}
.journey-core{left:50%;top:50%;gap:12px;padding:19px 16px 15px;width:144px;min-height:152px;border:1px solid color-mix(in srgb,var(--module-accent) 35%,transparent);background:linear-gradient(135deg,#26303c,#151c27);border-radius:20px;box-shadow:0 18px 50px #0005,inset 0 1px #ffffff15;animation:journey-float 7s ease-in-out infinite}
.journey-core>img{width:80px;height:80px;box-shadow:0 8px 23px #0002}
.journey-core>span{color:#e5e8ed;text-align:center;font-size:9px;line-height:1.4}
.journey-node{gap:7px;width:98px;min-height:85px;padding:9px 7px 8px;border:1px solid #a9bbd32a;border-radius:12px;background:linear-gradient(145deg,#202b38,#131c28);box-shadow:0 10px 24px #0004;animation:journey-float 7s ease-in-out infinite}
.journey-node>img{width:39px;height:39px}
.journey-node>span{font-size:8px;letter-spacing:0;color:#c7d0de;line-height:1.4;text-align:center;overflow-wrap:anywhere}
.node-one{left:20%;top:23%;animation-delay:-2s}
.node-two{left:79%;top:25%;animation-delay:-4s}
.node-three{left:75%;top:78%;animation-delay:-1s}
.journey-orbit{position:absolute;left:50%;top:50%;width:54%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--module-accent) 12%,transparent);border-radius:50%;transform:translate(-50%,-50%);animation:orbit-turn 40s linear infinite;transform-origin:0 0}
.journey-orbit::after{content:'';position:absolute;left:50%;top:-2px;width:4px;height:4px;border-radius:50%;background:var(--module-accent);box-shadow:0 0 12px var(--module-accent)}
.orbit-two{width:68%;border-style:dashed;opacity:.4;animation-direction:reverse;animation-duration:65s}
.journey-art-label{position:absolute;bottom:5%;left:8%;font:6px monospace;letter-spacing:1.8px;color:#8b98aa}
.journey-coordinate{position:absolute;right:4%;top:3%;font:6px monospace;letter-spacing:1.3px;color:#556378}
.journey-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff05}
.journey-progress>span{display:block;height:100%;width:var(--journey-progress,16.666%);background:var(--module-accent);box-shadow:0 0 14px var(--module-accent);transition:width .55s var(--ease),background .4s}
#learning .module-art.is-changing{animation:journey-arrive .6s var(--ease) both}
.motion-paused #learning .module-art.is-changing{animation:none}
#learning .learning-outro{border:0;margin-top:22px;padding-top:0}
#learning .details-prompt{margin-top:28px}
@keyframes journey-float{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes journey-arrive{from{opacity:.2;translate:0 9px}to{opacity:1;translate:0 0}}
@media(min-width:981px) and (max-width:1150px){
  #learning .module-tab{padding-inline:13px}#learning .module-title{font-size:11px}
  #learning .module-panel{padding-inline:27px;gap:0 16px}
  .journey-core{width:128px;min-height:138px}.journey-core>img{width:68px;height:68px}.journey-node{width:88px;min-height:79px}.journey-node>img{width:34px;height:34px}
}
@media(max-width:980px){
  #learning .module-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}
  #learning .module-tab{flex-direction:row;align-items:center;gap:13px;min-height:91px;padding:14px;border:1px solid #ffffff10;background:#ffffff02;border-radius:10px}
  #learning .module-tab::before{display:none}
  #learning .module-tab.active{border-color:color-mix(in srgb,var(--path-accent) 40%,transparent);box-shadow:none;background:#ffffff06}
  #learning .module-stop,#learning .module-tab.active .module-stop{width:42px;height:42px;box-shadow:none;flex:none}
  #learning .module-stop img{width:25px;height:25px}
  #learning .module-index{width:16px;height:16px;right:-5px;top:-6px;font-size:7px}
  #learning .module-title{font-size:11px;line-height:1.6}
  #learning .track-num{font-size:6px;letter-spacing:.6px;margin-bottom:5px}
  #learning .module-panel{grid-template-columns:1fr 1fr;padding:22px 27px 25px;gap:0 15px;min-height:420px}
  #learning .module-content h3{font-size:30px;letter-spacing:-1px}
  #learning .panel-description{font-size:12px}
  #learning .module-art{aspect-ratio:auto;height:300px}
  .journey-core{width:110px;min-height:124px;padding:13px 10px;gap:9px;border-radius:15px}
  .journey-core>img{width:62px;height:62px}.journey-core>span{font-size:8px}
  .journey-node{width:80px;min-height:78px;padding:8px 5px;border-radius:10px}.journey-node>img{width:32px;height:32px}.journey-node>span{font-size:7px}
  .node-one{left:15%;top:17%}.node-two{left:85%;top:21%}.node-three{left:81%;top:83%}
  .journey-connectors{opacity:.7}.journey-art-label{font-size:5px;letter-spacing:1px;left:0;bottom:0}.journey-coordinate{display:none}
}
@media(max-width:700px){
  #learning .section-head{margin-bottom:30px}
  #learning .curriculum-meta{margin:28px 0 20px;gap:15px;align-items:center;font-size:8px;line-height:1.7}
  #learning .curriculum-meta>span:first-child{font-size:6px;letter-spacing:.8px;gap:6px;max-width:130px}
  #learning .curriculum-meta>span:last-child{max-width:140px;text-align:right}
  #learning .module-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}
  #learning .module-tab{min-height:88px;gap:10px;padding:12px 10px}
  #learning .module-stop,#learning .module-tab.active .module-stop{width:35px;height:35px}
  #learning .module-stop img{width:22px;height:22px}
  #learning .module-label{flex:1}
  #learning .module-title{font-size:10px;line-height:1.6}
  #learning .track-num{font-size:5px;letter-spacing:.35px}
  #learning .module-panel{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:0;padding:20px 22px 26px;border-radius:15px;min-height:0}
  #learning .module-panel-top{grid-column:1;grid-row:1;padding-bottom:17px}
  #learning .module-phase{font-size:6px;letter-spacing:1px}.module-position{font-size:8px}
  #learning .module-content{grid-column:1;grid-row:2;padding:27px 0 0}
  #learning .module-content .eyebrow{font-size:7px;letter-spacing:1.1px}
  #learning .module-content h3{font-size:31px;letter-spacing:-1.25px;line-height:1.22;margin:15px 0}
  #learning .panel-description{font-size:12px;min-height:0}
  #learning .service-tags{gap:7px;margin-top:20px}
  #learning .service-tags>.service-item{font-size:8px;gap:6px;padding:4px 8px 4px 4px}
  #learning .service-item img{width:24px;height:24px}
  #learning .panel-link{font-size:10px;margin-top:23px}
  #learning .module-art{grid-column:1;grid-row:3;height:auto;aspect-ratio:1.22;margin-top:25px;max-width:420px;justify-self:center}
  .journey-core{width:110px;min-height:122px}.journey-core>img{width:60px;height:60px}
  .journey-node{width:81px;min-height:78px}.journey-node>img{width:32px;height:32px}
  .node-one{left:15%;top:15%}.node-two{left:84%;top:20%}.node-three{left:80%;top:83%}
  .journey-orbit{width:66%}.orbit-two{width:86%}
  .journey-art-label{left:0;bottom:2%;font-size:5px;letter-spacing:.8px}
  #learning .learning-outro{gap:15px;align-items:flex-start;font-size:9px}
  #learning .learning-outro>span{font-size:7px;letter-spacing:.8px;white-space:nowrap}
  #learning .learning-outro i{margin:0 4px}
  #learning .learning-outro p{font-size:9px;text-align:right;max-width:135px;line-height:1.6}
  .technology-list>span>img{width:27px;height:27px}
}
@media(max-width:370px){
  #learning .module-tab{min-height:93px;padding:11px 8px;gap:8px}
  #learning .module-stop,#learning .module-tab.active .module-stop{width:29px;height:29px}
  #learning .module-stop img{width:19px;height:19px}
  #learning .module-title{font-size:9px}
  #learning .module-panel{padding-inline:18px}
  #learning .module-content h3{font-size:28px}
  .journey-core{width:95px;min-height:107px;padding:11px 8px}.journey-core>img{width:51px;height:51px}.journey-core>span{font-size:7px}
  .journey-node{width:70px;min-height:68px;gap:5px}.journey-node>img{width:27px;height:27px}.journey-node>span{font-size:6px}
}
@media(prefers-reduced-motion:reduce){#learning .module-art.is-changing{animation:none}}
