.phase-index{min-height:100vh;padding-top:var(--topbar-h)}
.phase-hero{position:relative;min-height:52vh;display:flex;align-items:flex-end;overflow:hidden;padding:clamp(62px,10vh,118px) var(--safe-x) 42px;border-bottom:1px solid var(--line)}
.phase-hero__art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;filter:saturate(.72) contrast(1.08)}
.phase-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,8,10,.96) 0,rgba(4,8,10,.76) 45%,rgba(4,8,10,.18) 100%),linear-gradient(0deg,#070c0e 0,transparent 45%)}
.phase-hero::after{content:attr(data-number);position:absolute;right:3vw;bottom:-.16em;z-index:-1;color:transparent;font:700 clamp(150px,28vw,430px)/.8 var(--font-display);-webkit-text-stroke:1px color-mix(in srgb,var(--phase) 28%,transparent);letter-spacing:-.09em}
.phase-hero__copy{width:min(980px,100%)}
.phase-hero__copy .display-title{font-size:clamp(66px,11vw,170px)}
.phase-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.phase-stat{min-width:140px;padding:12px 15px;border-left:2px solid var(--phase);background:rgba(8,13,15,.56);backdrop-filter:blur(8px)}
.phase-stat small{display:block;color:var(--muted);font:7px/1 var(--font-mono);letter-spacing:.14em}
.phase-stat b{display:block;margin-top:7px;font:500 15px/1.2 var(--font-display)}
.faction-section{padding:45px var(--safe-x) 82px}
.section-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;margin-bottom:25px}
.section-head h2{margin:0;font:700 clamp(35px,5vw,68px)/1 var(--font-display);letter-spacing:-.045em}
.section-head p{max-width:520px;margin:0;color:var(--muted);font-size:10px;line-height:1.7;text-align:right}
.faction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.faction-link{position:relative;min-height:340px;overflow:hidden;padding:20px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(21,33,36,.92),rgba(7,14,16,.97));box-shadow:var(--shadow-hard);transition:.3s var(--ease)}
.faction-link::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--faction,var(--phase)) 22%,transparent),transparent 42%);pointer-events:none}
.faction-link::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--faction,var(--phase)),transparent);opacity:.8}
.faction-link:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--faction,var(--phase)) 55%,white 8%);box-shadow:0 24px 70px rgba(0,0,0,.5)}
.faction-link__head{display:flex;align-items:center;gap:13px}
.faction-seal{position:relative;width:62px;height:62px;display:grid;place-items:center;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--faction,var(--phase)) 65%,white 10%);border-radius:50%;color:color-mix(in srgb,var(--faction,var(--phase)) 70%,white);font:700 20px/1 var(--font-display);box-shadow:inset 0 0 0 7px rgba(255,255,255,.025)}
.faction-seal::after{content:"";position:absolute;inset:8px;border:1px dashed currentColor;border-radius:50%;opacity:.28}
.faction-link__head small{display:block;color:var(--muted);font:7px/1 var(--font-mono);letter-spacing:.14em}
.faction-link h3{margin:6px 0 0;font:700 24px/1.1 var(--font-display)}
.faction-link__ideology{margin-top:19px;color:color-mix(in srgb,var(--faction,var(--phase)) 66%,white);font-size:10px;letter-spacing:.06em}
.faction-link p{margin:12px 0 0;color:#abb4af;font-size:10px;line-height:1.75}
.faction-link__foot{position:absolute;left:20px;right:20px;bottom:19px;display:flex;justify-content:space-between;align-items:center;padding-top:13px;border-top:1px solid var(--line);color:#cad0ca;font:8px/1 var(--font-mono);letter-spacing:.11em}
.faction-link__foot b{font-size:16px;font-weight:400;color:var(--faction,var(--phase))}
