/* ============================================================
   FOOTER — the session manifest · enterprise scale, terminal soul
   ============================================================ */
.s-foot{position:relative;background:radial-gradient(ellipse 90% 60% at 50% 100%,#0b1a3e 0%,#070d22 50%,#040818 100%)}
.foot{position:relative;max-width:1240px;margin:0 auto;padding:88px 24px 26px;overflow:hidden}
.ft-scan{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(0deg,rgba(148,184,255,.022) 0 1px,transparent 1px 3px)}
.foot > *{position:relative;z-index:1}

.ft-shell{display:flex;align-items:center;gap:2px;margin:-46px 0 56px;padding:0 2px 14px;
  font-family:ui-monospace,Menlo,monospace;font-size:12.5px;font-weight:700;letter-spacing:.02em;
  border-bottom:1px solid rgba(96,165,250,.22);
  mask-image:linear-gradient(90deg,#000 82%,transparent);
  -webkit-mask-image:linear-gradient(90deg,#000 82%,transparent)}
.ft-shell .hu{color:#5eead4}
.ft-shell .hs{color:#5f7cae}
.ft-shell .hp{color:#9fc4f8}
.ft-caret{display:inline-block;width:8px;height:15px;margin-left:9px;background:#38bdf8;
  box-shadow:0 0 10px rgba(56,189,248,.7);animation:caretBlink 1.1s steps(1) infinite}
.ft-shell .hr{margin-left:auto;font-size:10.5px;color:rgba(125,211,252,.35);letter-spacing:.14em}

/* CTA strip */
.ft-cta{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;
  padding-bottom:56px;margin-bottom:52px;border-bottom:1px solid rgba(96,165,250,.14)}
.ft-brand{display:flex;align-items:center;gap:11px;margin-bottom:20px}
.ft-brand img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(37,99,235,.55))}
.ft-brand span{font-family:var(--font-d);font-size:17px;font-weight:800;color:#fff}
.ft-h2{font-family:var(--font-d);font-size:clamp(30px,3.6vw,46px);font-weight:800;letter-spacing:-.024em;color:#fff}
.ft-h2 .rot{font-size:clamp(25px,3vw,40px)}
.ft-sub{margin-top:12px;max-width:440px;font-size:15.5px;line-height:1.6;color:#94a3b8}
.ft-book{font-size:15px;padding:17px 30px}

/* file-tree grid */
.ft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-bottom:24px}
@media (max-width:900px){.ft-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.ft-grid{grid-template-columns:1fr}}
.ft-h{display:block;font-family:ui-monospace,Menlo,monospace;font-size:12px;font-weight:800;color:#7dd3fc;margin-bottom:15px}
.ft-ai{display:inline-block;margin-left:6px;font-size:8.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#5eead4;border:1px solid rgba(52,211,153,.45);border-radius:5px;padding:1.5px 6px;vertical-align:1px;
  background:rgba(16,64,50,.4)}
.ft-tree{list-style:none;display:flex;flex-direction:column;gap:9px}
.ft-tree li{display:flex;align-items:baseline;gap:8px;font-family:ui-monospace,Menlo,monospace;font-size:12.5px}
.ft-tree i{font-style:normal;color:rgba(96,165,250,.4);flex:none}
.ft-tree a{color:#a9bcd8;font-weight:600;position:relative;transition:color .2s ease}
.ft-tree a::before{content:">";position:absolute;left:-14px;opacity:0;color:#38bdf8;font-weight:800;
  transition:opacity .2s ease,left .25s var(--ease-pop)}
.ft-tree a:hover{color:#fff}
.ft-tree a:hover::before{opacity:1;left:-11px}
.ft-status{display:flex;align-items:center;gap:8px;margin-top:18px;
  font-family:ui-monospace,Menlo,monospace;font-size:10.5px;font-weight:800;color:#5eead4}
.ft-status i{width:7px;height:7px;border-radius:50%;background:#34d399;
  box-shadow:0 0 10px rgba(52,211,153,.9);animation:nvLed2 2.2s ease-in-out infinite}
@keyframes nvLed2{50%{opacity:.35}}

/* the giant ghost wordmark */
.ft-word{font-family:var(--font-d);font-weight:900;font-size:clamp(90px,15.5vw,218px);line-height:.86;
  text-align:center;letter-spacing:.01em;color:transparent;user-select:none;pointer-events:none;
  -webkit-text-stroke:1.5px rgba(96,165,250,.16);
  background:linear-gradient(180deg,rgba(96,165,250,.1),rgba(96,165,250,0) 78%);
  -webkit-background-clip:text;background-clip:text;
  margin:8px 0 -8px;
  mask-image:linear-gradient(180deg,#000 30%,transparent 96%);
  -webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 96%)}

/* legal bar */
.ft-legal{display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  padding-top:20px;border-top:1px solid rgba(96,165,250,.14)}
.ft-c{font-size:12px;color:#64748b}
.ft-law{display:flex;align-items:center;gap:12px;font-size:12px}
.ft-law a,.ft-law button{color:#8aa5cc;background:none;border:0;cursor:pointer;font-size:12px;font-family:var(--font-b);
  padding:0;transition:color .2s ease}
.ft-law a:hover,.ft-law button:hover{color:#fff}
.ft-law s{color:rgba(96,165,250,.35);text-decoration:none}
.ft-sess{margin-left:auto;font-family:ui-monospace,Menlo,monospace;font-size:11px;font-weight:700;color:#5f7ba8}
.ft-sess b{color:#34d399;margin-left:2px}
.ft-caret2{display:inline-block;width:7px;height:12px;margin-left:7px;vertical-align:-2px;background:#38bdf8;
  box-shadow:0 0 8px rgba(56,189,248,.6);animation:caretBlink 1.1s steps(1) infinite}
@media (max-width:760px){.ft-sess{margin-left:0}}

/* cookie modal */
.ck-modal[hidden]{display:none}
.ck-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;
  background:rgba(4,8,24,.7);backdrop-filter:blur(4px)}
.ck-box{width:min(440px,100%);border-radius:16px;padding:0 22px 20px;
  background:linear-gradient(180deg,#0f1a35,#0a132a);
  border:1px solid rgba(96,165,250,.35);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.95)}
.ck-bar{display:flex;align-items:center;justify-content:space-between;margin:0 -22px 18px;padding:12px 16px;
  border-bottom:1px solid rgba(96,165,250,.18);
  font-family:ui-monospace,Menlo,monospace;font-size:11px;font-weight:700;color:#9fc4f8}
.ck-x{background:none;border:0;color:#8aa5cc;font-size:14px;cursor:pointer}
.ck-x:hover{color:#fff}
.ck-box h3{font-family:var(--font-d);font-size:19px;font-weight:800;color:#fff;margin-bottom:9px}
.ck-box > p{font-size:13px;line-height:1.6;color:#94a3b8;margin-bottom:16px}
.ck-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;
  border-top:1px solid rgba(96,165,250,.1)}
.ck-row span{display:flex;flex-direction:column;gap:2px}
.ck-row b{font-size:13px;color:#e2e8f0}
.ck-row i{font-style:normal;font-size:11px;color:#64748b}
.ck-on{font-family:ui-monospace,Menlo,monospace;font-size:10px;font-weight:800;color:#5eead4;text-decoration:none}
.ck-row input{width:36px;height:20px;appearance:none;border-radius:99px;background:rgba(96,165,250,.2);cursor:pointer;
  position:relative;transition:background .2s ease;flex:none}
.ck-row input::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;
  background:#8aa5cc;transition:left .2s var(--ease-pop),background .2s ease}
.ck-row input:checked{background:rgba(52,211,153,.4)}
.ck-row input:checked::after{left:19px;background:#34d399}
.ck-save{margin-top:16px;width:100%;justify-content:center}

@media (prefers-reduced-motion:reduce){
  .ft-caret,.ft-caret2,.ft-status i{animation:none}
}
