/* Chapter 05 — Continuity / Control. A dark, controlled system where context persists. */
.continuity-chapter {
  position:relative;
  min-height:1120px;
  overflow:clip;
  isolation:isolate;
  color:#f7f9ff;
  background:
    radial-gradient(circle at 50% 48%,rgba(79,105,190,.24),transparent 27%),
    radial-gradient(circle at 72% 42%,rgba(103,201,189,.08),transparent 25%),
    linear-gradient(180deg,#f5f8fd 0%,#dce4f2 8%,#647493 19%,#1b2a50 32%,#111a36 49%,#10172f 100%);
}
.continuity-chapter::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-5;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:96px 96px;
  mask-image:linear-gradient(180deg,transparent 9%,#000 35%,#000 91%,transparent);
  opacity:.32;
}
.continuity-scene { position:absolute; inset:0; pointer-events:none; }
.continuity-vignette {
  position:absolute;
  left:50%; top:54%;
  width:min(92vw,1480px); height:690px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(75,101,184,.16),rgba(24,35,69,.06) 46%,transparent 70%);
  filter:blur(7px);
}
.continuity-orbit { position:absolute; left:50%; top:56%; border:1px solid rgba(137,160,227,.10); border-radius:50%; transform:translate(-50%,-50%) rotate(-14deg); }
.continuity-orbit-a { width:min(68vw,1040px); height:490px; }
.continuity-orbit-b { width:min(49vw,760px); height:360px; opacity:.7; }
.continuity-route { position:absolute; left:50%; top:55%; width:min(92vw,1480px); height:760px; transform:translate(-50%,-50%); overflow:visible; }
.continuity-route-ghost,.continuity-route-live { fill:none; stroke-linecap:round; }
.continuity-route-ghost { stroke:rgba(160,180,235,.18); stroke-width:1.1; }
.continuity-route-live { stroke:url(#continuitySignal); stroke-width:2.15; filter:drop-shadow(0 0 8px rgba(81,111,255,.28)); }
.continuity-route circle { fill:#17213f; stroke:#8da9ff; stroke-width:1.7; filter:drop-shadow(0 0 6px rgba(89,121,255,.30)); }
.continuity-route circle:nth-of-type(3) { fill:#315bff; stroke:#dce5ff; stroke-width:2.2; }
.continuity-copy { position:relative; z-index:3; padding-top:180px; }
.continuity-meta { display:flex; gap:24px; margin:0 0 34px; color:#9eadd1; font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.continuity-meta span { color:#8ca6ff; }
.continuity-copy h2 { max-width:980px; font-size:clamp(48px,5vw,80px); font-weight:560; line-height:.99; letter-spacing:-.058em; }
.continuity-copy h2 span { color:#9eb3ff; }
.continuity-premise { max-width:620px; margin:34px 0 0 auto; color:#c0cae0; font-size:clamp(17px,1.35vw,21px); line-height:1.62; }
.continuity-system { position:relative; z-index:3; min-height:620px; margin-top:20px; }
.continuity-center { position:absolute; left:50%; top:50%; display:grid; place-items:center; width:240px; height:240px; transform:translate(-50%,-50%); border:1px solid rgba(150,171,235,.18); border-radius:50%; background:rgba(16,24,52,.76); box-shadow:0 30px 100px rgba(3,8,24,.42),inset 0 1px 0 rgba(255,255,255,.10); backdrop-filter:blur(16px); text-align:center; }
.continuity-center strong { position:relative; z-index:2; display:block; font-size:24px; font-weight:600; letter-spacing:-.04em; }
.continuity-center small { position:absolute; z-index:2; bottom:62px; color:#8ca6ff; font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.continuity-center-glow { position:absolute; inset:-120px; border-radius:50%; background:radial-gradient(circle,rgba(82,111,255,.26),rgba(74,98,180,.10) 42%,transparent 69%); filter:blur(13px); }
.continuity-center-ring { position:absolute; left:50%; top:50%; border:1px solid rgba(137,159,229,.12); border-radius:50%; transform:translate(-50%,-50%); }
.continuity-center-ring-a { width:360px; height:360px; }
.continuity-center-ring-b { width:500px; height:500px; opacity:.62; }
.continuity-step { position:absolute; width:300px; }
.continuity-step > span { display:block; margin-bottom:12px; color:#8ca6ff; font-size:10px; font-weight:700; letter-spacing:.18em; }
.continuity-step h3 { margin:0 0 9px; color:#fff; font-size:29px; font-weight:540; letter-spacing:-.04em; }
.continuity-step p { color:#aebbd6; font-size:15px; line-height:1.58; }
.continuity-step-a { left:5%; top:14%; }
.continuity-step-b { right:5%; top:18%; }
.continuity-step-c { right:5%; bottom:14%; }
.continuity-step-d { left:5%; bottom:18%; }
.continuity-close { position:relative; z-index:3; padding-bottom:120px; }
.continuity-close p { max-width:930px; font-size:clamp(34px,3.4vw,55px); font-weight:430; line-height:1.12; letter-spacing:-.047em; }
.continuity-close p span { color:#9aaad0; }

/* The redesigned chapter supersedes the legacy control band. */
.home-main > #control { display:none; }

@media (prefers-reduced-motion:no-preference) {
  .continuity-center-glow { animation:continuity-breathe 9s ease-in-out infinite alternate; }
  .continuity-chapter[data-entered] .continuity-route-live { animation:continuity-route-in 1300ms cubic-bezier(.2,.72,.2,1) both; }
}
@keyframes continuity-breathe { from { transform:scale(.985); opacity:.72; } to { transform:scale(1.018); opacity:1; } }
@keyframes continuity-route-in { from { opacity:.14; stroke-dasharray:1; stroke-dashoffset:1; } to { opacity:1; stroke-dasharray:1; stroke-dashoffset:0; } }

@media (max-width:900px) {
  .continuity-chapter { min-height:auto; background:linear-gradient(180deg,#edf2f9 0%,#556785 13%,#182747 28%,#111a36 100%); }
  .continuity-route,.continuity-orbit { display:none; }
  .continuity-copy { padding-top:130px; }
  .continuity-premise { margin-left:0; }
  .continuity-system { min-height:auto; display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:70px; padding-bottom:84px; }
  .continuity-center { position:relative; left:auto; top:auto; grid-column:1/-1; grid-row:2; width:190px; height:190px; margin:20px auto; transform:none; }
  .continuity-center small { bottom:47px; }
  .continuity-center-ring-a { width:270px; height:270px; }
  .continuity-center-ring-b { width:350px; height:350px; }
  .continuity-step { position:relative; width:auto; left:auto; right:auto; top:auto; bottom:auto; padding:24px 0; border-top:1px solid rgba(143,163,218,.17); }
  .continuity-step-a { grid-column:1; grid-row:1; }
  .continuity-step-b { grid-column:2; grid-row:1; }
  .continuity-step-c { grid-column:1; grid-row:3; }
  .continuity-step-d { grid-column:2; grid-row:3; }
  .continuity-close { padding-bottom:90px; }
}
@media (max-width:620px) {
  .continuity-copy { padding-top:110px; }
  .continuity-copy h2 { font-size:clamp(40px,11vw,54px); }
  .continuity-system { grid-template-columns:1fr; gap:4px; padding-top:48px; }
  .continuity-center { grid-column:1; grid-row:3; margin:36px auto; }
  .continuity-step-a { grid-column:1; grid-row:1; }
  .continuity-step-b { grid-column:1; grid-row:2; }
  .continuity-step-c { grid-column:1; grid-row:4; }
  .continuity-step-d { grid-column:1; grid-row:5; }
  .continuity-center-ring-b { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .continuity-center-glow,.continuity-route-live { animation:none !important; }
}
