:root{--red:#e10600;--red-d:#9b0400;--black:#050505;--ink:#111;--white:#f6f4f0;--grey:#8a8a8a}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--white);font-family:Georgia,'Times New Roman',serif;line-height:1.7;font-size:18px}
h1,h2,h3,.mono,nav,.btn,.tag{font-family:'Arial Narrow','Helvetica Neue',Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em}
a{color:var(--red)}
img{max-width:100%;display:block}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px}
nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(5,5,5,.92);border-bottom:1px solid #2a2a2a;backdrop-filter:blur(6px)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
nav .logo{font-weight:900;font-size:15px;color:var(--white);text-decoration:none;letter-spacing:.2em}
nav .logo b{color:var(--red)}
nav ul{display:flex;gap:22px;list-style:none;font-size:12px}
nav ul a{color:var(--white);text-decoration:none}
nav ul a:hover{color:var(--red)}
.hero{min-height:100vh;display:flex;align-items:flex-end;position:relative;background:linear-gradient(180deg,rgba(5,5,5,.2),var(--black)),url(images/hero.png) center/cover,#150000;padding-top:60px}
.hero .wrap{width:100%;box-sizing:border-box;padding-bottom:80px}
.tag{display:inline-block;color:var(--red);font-size:13px;font-weight:700;border:1px solid var(--red);padding:4px 12px;margin-bottom:18px}
.tag{line-height:1.5;vertical-align:top}
.hero .tag,.film .tag{max-width:100%;box-sizing:border-box;line-height:1.5;white-space:normal;display:inline-block;padding:6px 14px 5px}
h1{font-size:clamp(42px,9vw,110px);line-height:.95;font-weight:900}
h1 span{color:var(--red)}
.hero p{max-width:640px;margin:24px 0 32px;font-size:21px}
.btn{display:inline-block;background:var(--red);color:#fff;padding:14px 30px;text-decoration:none;font-weight:700;font-size:14px;border:2px solid var(--red)}
.btn:hover{background:transparent}
.btn.alt{background:transparent;margin-left:10px;color:var(--white);border-color:var(--white)}
section{padding:100px 0;border-top:1px solid #1d1d1d}
section.light{background:var(--white);color:var(--ink)}
section.light h2{color:var(--black)}
h2{font-size:clamp(32px,5vw,58px);line-height:1;margin-bottom:12px;font-weight:900}
h2 em{color:var(--red);font-style:normal}
.kicker{font-family:Arial,sans-serif;color:var(--red);font-size:13px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:14px;font-weight:700}
.lead{max-width:760px;font-size:21px;margin:18px 0 40px;color:#ddd}
.light .lead{color:#333}
p+p{margin-top:1em}
.ticker{background:var(--red);color:#fff;overflow:hidden;white-space:nowrap;padding:12px 0}
.ticker div{display:inline-block;padding-left:100%;animation:tick 40s linear infinite;font-family:Arial,sans-serif;font-weight:900;letter-spacing:.15em;text-transform:uppercase;font-size:14px}
@keyframes tick{to{transform:translateX(-100%)}}
.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}
.card{border:1px solid #333;background:#0d0d0d;padding:28px;position:relative}
.card:hover{border-color:var(--red)}
.light .card{background:#fff;border-color:#ccc;color:var(--ink)}
.card .num{font-family:Arial,sans-serif;font-weight:900;font-size:56px;color:var(--red);line-height:1}
.card h3{font-size:22px;margin:10px 0 8px}
.card p{font-size:16px;color:#bbb}
.light .card p{color:#444}
.pillar svg{width:54px;height:54px;stroke:var(--red);fill:none;stroke-width:2;margin-bottom:10px}
.system{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:70px;border:1px solid #2a2a2a}
.system:nth-child(even) .sys-img{order:2}
.sys-img{min-height:340px;background:#150000 center/cover}
.sys-body{padding:44px;background:#0b0b0b}
.sys-body h3{font-size:34px;margin-bottom:10px}
.stat{font-family:Arial,sans-serif;font-weight:900;font-size:46px;color:var(--red);line-height:1;margin:18px 0 4px}
.statlabel{font-size:14px;color:var(--grey);font-family:Arial,sans-serif}
.src{display:inline-block;margin-top:18px;font-size:13px;font-family:Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.threat{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:30px 0;border-bottom:1px solid #2a2a2a}
.threat .n{font-family:Arial,sans-serif;font-weight:900;font-size:64px;color:var(--red);line-height:1}
.threat h3{font-size:26px;margin-bottom:4px}
.threat h3 small{color:var(--grey);font-size:15px;letter-spacing:.1em}
.banner{height:420px;background:center/cover;display:flex;align-items:center;justify-content:center;text-align:center;position:relative}
.banner::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}
.banner blockquote{position:relative;font-size:clamp(26px,4vw,48px);font-weight:900;max-width:900px;padding:0 24px;font-family:'Arial Narrow',Arial,sans-serif;text-transform:uppercase;line-height:1.1}
.banner blockquote em{color:var(--red);font-style:normal}
table{width:100%;border-collapse:collapse;font-size:16px;font-family:Arial,sans-serif}
th,td{padding:14px;border-bottom:1px solid #ccc;text-align:left;vertical-align:top}
th{background:var(--black);color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:13px}
td:first-child{font-weight:700}
td.r{color:var(--red-d);font-weight:700}
.machine{display:flex;gap:6px;align-items:flex-end;height:140px;margin-top:30px}
.machine i{flex:1;background:var(--red);animation:bar 2.4s ease-in-out infinite alternate}
.machine i:nth-child(3n){background:#fff}
.machine i:nth-child(4n){background:#333}
@keyframes bar{from{height:15%}to{height:100%}}
.note{font-family:Arial,sans-serif;font-size:13px;color:var(--grey);margin-top:30px}
footer{background:#000;border-top:3px solid var(--red);padding:50px 0;text-align:center;font-family:Arial,sans-serif;font-size:14px;color:var(--grey)}
footer strong{color:var(--white)}
@media(max-width:860px){nav ul{display:none}.system{grid-template-columns:1fr}.system:nth-child(even) .sys-img{order:0}.g2{grid-template-columns:1fr}.threat{grid-template-columns:60px 1fr}.threat .n{font-size:44px}.sys-body{padding:28px}.btn.alt{margin:12px 0 0}}

.film{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;background:#000;padding-top:60px}
.film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film .film-yt{position:absolute;top:50%;left:50%;width:max(100%,177.78vh);height:max(100%,56.25vw);transform:translate(-50%,-50%);border:0;pointer-events:none}
.film-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.35),rgba(5,5,5,.1) 40%,var(--black))}
.film-copy{min-width:0;width:100%;box-sizing:border-box;position:relative;padding-bottom:80px}
.film-copy h2{font-size:clamp(26px,6vw,76px);overflow-wrap:anywhere;line-height:1.02;margin:12px 0}
.film-copy h2 span{color:var(--red)}
.film-copy p{max-width:620px;margin:0 0 28px;font-size:20px}
#resist{--red:#1a7a3e;--red-d:#0f5a2b}
#resist .kicker,#resist h2 em,#resist .card .num,#resist a:not(.btn){color:#7fe3a0}
#resist .btn{color:#fff}
#resist .card:hover{border-color:#7fe3a0}
#resist .card .num{font-size:clamp(28px,3.4vw,42px);overflow-wrap:anywhere}
#resist .card{min-width:0}

.hero.sub{min-height:70vh}
.hero.sub h1{font-size:clamp(38px,7vw,88px)}
nav ul{flex-wrap:wrap}

/* Architects */
.profiles{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:30px}
.profile{border:1px solid #333;background:#0d0d0d;display:flex;flex-direction:column}
.profile:hover{border-color:var(--red)}
.profile img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;filter:grayscale(1) contrast(1.1);border-bottom:3px solid var(--red)}
.profile:hover img{filter:grayscale(.2)}
.pbody{padding:10px}
.profile .num{font-family:Arial,sans-serif;font-weight:900;font-size:18px;color:var(--red);line-height:1}
.profile h3{font-size:15px;margin:6px 0 4px}
.profile .role{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#999;margin-bottom:8px}
.profile p{font-size:12px;line-height:1.4;color:#bbb}
.profile .key{font-size:11px;color:#888;border-top:1px solid #333;padding-top:8px;margin-top:8px}
@media(max-width:1000px){.profiles{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.profiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.profiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:380px){.profiles{grid-template-columns:1fr}}

/* Animated living-world image (#resist) - immersive */
.living-anim{position:relative;overflow:hidden;margin:0 0 40px;border:1px solid #e10600;aspect-ratio:16/9;background:#000;box-shadow:0 0 60px rgba(80,220,120,.3)}
.living-anim img{width:100%;height:100%;object-fit:cover;display:block;animation:livingZoom 24s ease-in-out infinite alternate}
.living-anim .glow{position:absolute;inset:0;background:radial-gradient(circle at 32% 52%,rgba(190,255,120,.45),transparent 38%);animation:livingPulse 4s ease-in-out infinite}
.living-anim .rays{position:absolute;inset:-20%;background:repeating-linear-gradient(105deg,transparent 0 9%,rgba(255,250,200,.12) 11%,transparent 14%);mix-blend-mode:screen;animation:livingRays 16s ease-in-out infinite alternate}
.living-anim .motes{position:absolute;inset:0;background-image:radial-gradient(2px 2px at 10% 80%,#fffbd0,transparent),radial-gradient(3px 3px at 30% 60%,#b8ff9a,transparent),radial-gradient(2px 2px at 55% 85%,#fff,transparent),radial-gradient(3px 3px at 70% 70%,#b8ff9a,transparent),radial-gradient(2px 2px at 85% 90%,#fff,transparent),radial-gradient(2px 2px at 45% 95%,#fffbd0,transparent);background-size:100% 100%;animation:livingMotes 12s linear infinite;opacity:.9}
.living-anim .vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.65));pointer-events:none}
@keyframes livingZoom{from{transform:scale(1.02)}to{transform:scale(1.14) translate(-2%,-1%)}}
@keyframes livingPulse{0%,100%{opacity:.15}50%{opacity:1}}
@keyframes livingRays{from{transform:translateX(-4%);opacity:.5}to{transform:translateX(4%);opacity:1}}
@keyframes livingMotes{from{transform:translateY(8%);opacity:0}20%{opacity:.9}to{transform:translateY(-35%);opacity:0}}
@media(prefers-reduced-motion:reduce){.living-anim img,.living-anim .glow,.living-anim .rays,.living-anim .motes{animation:none}}

/* ---- Chapter Four world map ---- */
.wm{margin-top:60px;background:radial-gradient(ellipse at 50% 0,#1a0000,#050505 70%);color:var(--white);border:1px solid #2a0000;box-shadow:0 0 60px rgba(225,6,0,.15);padding:34px;position:relative}
.wm-head h3{font-size:clamp(24px,4vw,40px);line-height:1;margin-bottom:10px}
.wm-head h3 em{color:var(--red);font-style:normal}
.wm-head p{max-width:700px;color:#ccc;font-size:17px}
.wm-main{display:grid;grid-template-columns:1fr 260px;gap:18px;margin-top:24px}
.wm-stage{position:relative;aspect-ratio:1000/420;background:#070707;border:1px solid #2a2a2a;overflow:hidden;cursor:grab;touch-action:pan-y}
.wm-stage.drag{cursor:grabbing}
.wm-svg{width:100%;height:100%;display:block}
.wm-grid{stroke:#1c1c1c;stroke-width:.5}
.wm-coast{fill:none;stroke:#5a1a18;stroke-width:.6;vector-effect:non-scaling-stroke}
.wm.hot .wm-coast{stroke:#a01410}
.wm-scan{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(225,6,0,.1),transparent) 0 0/100% 90px no-repeat;animation:wmscan 6s linear infinite}
@keyframes wmscan{from{background-position:0 -90px}to{background-position:0 120%}}
.wm-arc{fill:none;stroke:var(--red);stroke-dasharray:4 5;vector-effect:non-scaling-stroke;animation:wmdash 1.4s linear infinite;transition:opacity .8s}
@keyframes wmdash{to{stroke-dashoffset:-18}}
.wm-m{cursor:pointer;outline:none}
.wm-lead{stroke:#888;stroke-width:.6}
.wm-dot{fill:var(--red);stroke:#fff;stroke-width:1.2}
.wm-ring{fill:none;stroke:var(--red);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:wmping 2.2s ease-out infinite}
@keyframes wmping{from{transform:scale(1);opacity:1}to{transform:scale(3);opacity:0}}
.wm-halo{transform-box:fill-box;transform-origin:center;transform:scale(calc(.6 + var(--s,.5)*1.4));transition:transform .8s}
.wm-n{fill:#fff;font:900 8px Arial,sans-serif;text-anchor:middle}
.wm-lab{fill:#fff;font:700 8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;paint-order:stroke;stroke:#000;stroke-width:2.5px}
.wm-lab.h{fill:#bbb;font-weight:400;font-size:6.5px}
.wm-hdot{fill:#f6f4f0}
.wm-m.core .wm-hdot{fill:none;stroke:#fff;stroke-width:1.4}
.wm-m.hub.far .wm-lab,.wm-m.hub.far .wm-hdot{opacity:.0}
.wm-m.hub:hover .wm-lab,.wm-m.hub.on .wm-lab,.wm-m.hub:focus .wm-lab{opacity:1}
.wm-m.hub.far:hover .wm-hdot,.wm-m.hub.far.on .wm-hdot{opacity:1}
.wm-m.hub .wm-lab{transition:opacity .3s}
.wm-m:hover .wm-dot,.wm-m.on .wm-dot,.wm-m:focus .wm-dot{fill:#fff;stroke:var(--red)}
.wm-m:hover .wm-hdot,.wm-m.on .wm-hdot{fill:var(--red)}
.wm-tools{position:absolute;right:10px;top:10px;z-index:3;display:flex;flex-direction:column;gap:4px}
.wm-tools button{width:34px;height:34px;background:#000;color:#fff;border:1px solid #444;font:700 18px Arial;cursor:pointer}
.wm-tools button:hover{background:var(--red);border-color:var(--red)}
.wm-hint{position:absolute;left:10px;bottom:8px;z-index:3;font:11px Arial;letter-spacing:.1em;text-transform:uppercase;color:#777;pointer-events:none}
.wm-side{display:flex;flex-direction:column;gap:14px}
.wm-info{flex:1;border:1px solid #2a2a2a;background:#0b0b0b;padding:18px;font-size:15px;line-height:1.55;min-height:200px}
.wm-info h4,.wm-ev h4{font:900 24px 'Arial Narrow',Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;margin:4px 0 8px}
.wm-k{font:700 11px Arial,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:var(--red)}
.wm-bar{height:8px;background:#222;margin-top:14px}
.wm-bar i{display:block;height:100%;background:var(--red);transition:width .8s}
.wm-bl{font:12px Arial;color:#aaa;margin:6px 0 12px}.wm-bl b{color:#fff}.wm-bl span{color:#777}
.wm-info .src{font:700 12px Arial;text-transform:uppercase;letter-spacing:.08em}
.wm-meter{border:1px solid var(--red);padding:12px 18px;display:flex;justify-content:space-between;align-items:center;font:700 12px Arial;letter-spacing:.15em;text-transform:uppercase}
.wm-meter b{font-size:34px;color:var(--red)}
.wm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.wm-chip{background:#0b0b0b;border:1px solid #333;color:#fff;padding:8px 14px;font:700 12px Arial;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;display:flex;align-items:center;gap:8px}
.wm-chip i{font-style:normal;background:var(--red);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px}
.wm-chip:hover{border-color:var(--red)}
.wm-time{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.wm-tl{position:relative;height:70px;--p:80%}
.wm-range{position:absolute;left:0;right:0;top:10px;width:100%;margin:0;-webkit-appearance:none;appearance:none;height:6px;background:linear-gradient(90deg,var(--red) var(--p),#333 var(--p));outline:none;cursor:pointer}
.wm-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:4px solid var(--red);box-shadow:0 0 14px var(--red)}
.wm-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:4px solid var(--red)}
.wm-tl button{position:absolute;top:34px;transform:translateX(-50%);background:none;border:0;color:#777;font:700 13px Arial;cursor:pointer;padding:4px}
.wm-tl button:first-of-type{transform:none}.wm-tl button:last-of-type{transform:translateX(-100%)}
.wm-tl button.past{color:#ccc}.wm-tl button.act{color:#fff}
.wm-tl button.now{color:var(--red)}
.wm-ev{min-height:150px;border-left:3px solid var(--red);padding-left:18px;font-size:16px;line-height:1.55}
.wm-foot{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:10px}
.wm-foot span{font:12px Arial;color:#777}
.wm-play{cursor:pointer}
@media(max-width:800px){.wm{padding:18px}.wm-main,.wm-time{grid-template-columns:1fr}.wm-stage{aspect-ratio:1000/520}.wm-hint{display:none}}
/* landing pages: on the map */
.mp{margin:28px 0 40px;max-width:760px}
.mp-row{display:grid;grid-template-columns:110px 1fr 48px;gap:14px;align-items:center;padding:7px 0;font:700 13px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.mp-bar{height:10px;background:#1d1d1d;display:block}
.mp-bar i{display:block;height:100%;background:var(--red)}
.mp-row.now .mp-y,.mp-row.now .mp-v{color:var(--red)}
.mp-v{text-align:right}
.mp-h{font-size:22px;margin-bottom:18px}
@media(max-width:800px){.mp-row{grid-template-columns:90px 1fr 42px}}

.wm-tabs{display:flex;gap:0;margin-top:18px;border-bottom:1px solid #333}
.wm-tab{background:none;border:0;border-bottom:3px solid transparent;color:#aaa;padding:12px 22px;font:700 13px Arial;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;margin-bottom:-1px}
.wm-tab:hover{color:#fff}
.wm-tab.act{color:#fff;border-bottom-color:var(--red)}
.wm[data-tab=pillars] .wm-m.cty,.wm[data-tab=pillars] .wm-chips.c{display:none}
.wm[data-tab=countries] .wm-m.pil,.wm[data-tab=countries] .wm-m.hub,.wm[data-tab=countries] .wm-arc,.wm[data-tab=countries] .wm-chips.p{display:none}
.wm-m.cty .wm-n{font-size:6px}

/* Watchers: dragon & Lucifer creep out of the background */
.watcher{position:fixed;z-index:9999;pointer-events:none;opacity:0;filter:blur(1.5px) saturate(.7);transition:opacity 2.2s ease-in-out,transform 4.5s cubic-bezier(.2,.7,.2,1)}
.watcher.dragon{width:min(26vw,260px);height:min(26vw,260px);bottom:-4%;left:0;transform:translate(-75%,25%) rotate(-6deg)}
.watcher.dragon.right{left:auto;right:0;transform:translate(75%,25%) rotate(6deg) scaleX(-1)}
.watcher.lucifer{height:min(42.5vh,350px);width:calc(min(42.5vh,350px)*.562);top:8%;right:0;transform:translateX(80%)}
.watcher.lucifer.left{right:auto;left:0;transform:translateX(-80%) scaleX(-1)}
.watcher.show{opacity:.3;animation:lurk 3.5s ease-in-out infinite}
.watcher.dragon.show{transform:translate(-22%,-6%) rotate(0)}
.watcher.dragon.right.show{transform:translate(22%,-6%) rotate(0) scaleX(-1)}
.watcher.lucifer.show{transform:translateX(14%);opacity:.3}
.watcher.lucifer.left.show{transform:translateX(-14%) scaleX(-1)}
@keyframes lurk{0%,100%{margin-top:0}50%{margin-top:-14px}}
.dread{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:0;transition:opacity 2s ease;background:radial-gradient(ellipse at center,transparent 50%,rgba(120,0,0,.25) 100%)}
.dread.on{opacity:1}
@media(max-width:700px){.watcher.dragon{width:35vw;height:35vw}.watcher.lucifer{height:27.5vh;width:calc(27.5vh*.562)}}
@media(prefers-reduced-motion:reduce){.watcher,.dread{display:none}}

.cd{border:2px solid var(--red);background:#050505;color:#f6f4f0;padding:26px 22px;margin:34px 0;text-align:center}
.cd-t{font:700 13px Arial;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:16px}
.cd-g{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.cd-g b{display:block;font:700 clamp(28px,5vw,56px) Arial;line-height:1;color:#fff}
.cd-g span{font:700 11px Arial;letter-spacing:.15em;text-transform:uppercase;color:#aaa}
.cd-bar{height:8px;background:#2a2a2a;margin-top:22px}
.cd-bar i{display:block;height:100%;background:var(--red)}
.cd-l{display:flex;justify-content:space-between;font:700 11px Arial;letter-spacing:.12em;text-transform:uppercase;color:#aaa;margin-top:8px}
@media(max-width:600px){.cd-g{grid-template-columns:repeat(3,1fr);row-gap:16px}}

.cta-block{margin-top:50px;padding:40px;border:2px solid var(--red);background:#0d0d0d;text-align:center}
.cta-block h3{font-size:clamp(24px,3.4vw,38px);margin:10px 0 14px;line-height:1.1}
.cta-block h3 em{color:var(--red);font-style:normal}
.cta-block p{max-width:720px;margin:0 auto 18px;color:#bbb}
.cta-form{display:grid;gap:12px;margin-top:20px}
.cta-form input,.cta-form textarea,.cta-form select{width:100%;padding:13px 14px;background:#0a0a0a;border:1px solid #444;color:var(--white);font:inherit;font-size:16px}
.cta-form input:focus,.cta-form textarea:focus,.cta-form select:focus{outline:none;border-color:var(--red)}
.cta-form .btn{cursor:pointer;font-family:inherit}

/* Lamb of God page */
.lamb-hero{min-height:100vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;padding-top:60px;background:#050505}
.lamb-hero .bg{position:absolute;inset:0;background:url(images/lamb-lion.png) center/cover;animation:lambzoom 24s ease-in-out infinite alternate}
.lamb-hero::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(5,5,5,.15),rgba(5,5,5,.92))}
.lamb-hero .wrap{position:relative;z-index:3;padding-bottom:80px;width:100%}
.lamb-hero h1{font-size:clamp(40px,7.5vw,96px);line-height:1;text-shadow:0 0 40px rgba(240,190,80,.35)}
.lamb-hero h1 span{color:#f0be50}
.lamb-hero p{max-width:640px;margin:24px 0 32px;font-size:21px}
.lamb-hero .rays{position:absolute;inset:-30%;z-index:1;background:repeating-conic-gradient(from 0deg at 50% 30%,rgba(240,190,80,.14) 0 4deg,transparent 4deg 14deg);animation:lambspin 90s linear infinite;mix-blend-mode:screen}
.lamb-hero .embers{position:absolute;inset:0;z-index:2;pointer-events:none}
.lamb-hero .embers i{position:absolute;bottom:-10px;width:5px;height:5px;border-radius:50%;background:#f0be50;box-shadow:0 0 10px 2px rgba(240,190,80,.8);opacity:0;animation:lambrise linear infinite}
@keyframes lambzoom{to{transform:scale(1.12)}}
@keyframes lambspin{to{transform:rotate(360deg)}}
@keyframes lambrise{0%{transform:translateY(0) translateX(0);opacity:0}15%{opacity:.9}100%{transform:translateY(-95vh) translateX(40px);opacity:0}}
.gold{color:#f0be50}
.btn.gold-btn{background:#f0be50;border-color:#f0be50;color:#050505}
.btn.gold-btn:hover{background:transparent;color:#f0be50}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
.verse{position:relative;margin:30px 0 0;padding:28px 32px;border-left:5px solid #f0be50;background:rgba(240,190,80,.07);font-size:1.15em;line-height:1.7}
.verse footer{all:unset;display:block;margin-top:12px;font-family:Arial,sans-serif;font-weight:700;color:#f0be50;letter-spacing:.08em;font-size:14px}
.john316{text-align:center;position:relative;overflow:hidden}
.john316 blockquote{max-width:880px;margin:0 auto;font-size:clamp(22px,3.2vw,36px);line-height:1.5;font-style:italic;text-shadow:0 0 30px rgba(240,190,80,.3)}
.john316 .ref{margin-top:20px;font-family:Arial,sans-serif;font-weight:900;letter-spacing:.3em;color:#f0be50;font-size:18px}
.john316::before{content:"";position:absolute;left:50%;top:50%;width:700px;height:700px;margin:-350px 0 0 -350px;border-radius:50%;background:radial-gradient(circle,rgba(240,190,80,.25),transparent 65%);animation:lambpulse 5s ease-in-out infinite}
.john316 .wrap{position:relative}
@keyframes lambpulse{50%{transform:scale(1.25);opacity:.6}}
.laugh{background:linear-gradient(180deg,#0b0000,#050505)}
.video-box{position:relative;max-width:900px;margin:30px auto 0;aspect-ratio:16/9;border:2px solid #f0be50;box-shadow:0 0 60px rgba(240,190,80,.25)}
.video-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.memorial{text-align:center}
.memorial p.lead{margin-left:auto;margin-right:auto}
.journey-steps{counter-reset:s;display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:30px}
.journey-steps .card .num{color:#f0be50}
.lamb-banner{height:480px;background:url(images/lamb-cross.png) center/cover fixed;display:flex;align-items:center;justify-content:center;text-align:center;position:relative}
.lamb-banner::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5)}
.lamb-banner p{position:relative;font-family:'Arial Narrow',Arial,sans-serif;text-transform:uppercase;font-weight:900;font-size:clamp(26px,4.2vw,52px);max-width:900px;padding:0 24px;line-height:1.1}
@media(prefers-reduced-motion:reduce){.lamb-hero .bg,.lamb-hero .rays,.john316::before,.lamb-hero .embers i{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Interactive salvation story */
.story{max-width:760px;margin:34px auto 0;text-align:left;background:rgba(0,0,0,.45);border:1px solid #f0be5055;padding:34px;box-shadow:0 0 60px rgba(240,190,80,.12)}
.story-bar{display:flex;gap:6px;margin-bottom:24px}
.story-bar i{flex:1;height:4px;background:#333;transition:background .6s}
.story-bar i.on{background:#f0be50}
.story-stage{transition:opacity .35s ease,transform .35s ease}
.story-stage.out{opacity:0;transform:translateY(10px)}
.story .scene{animation:storyIn .8s ease}
@keyframes storyIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.story .scn{font-family:'Arial Narrow',Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:#f0be50}
.story h3{font-size:28px;margin:8px 0 16px;color:#fff}
.story p{margin:0 0 14px;line-height:1.7;color:#ddd}
.story q{display:block;quotes:none;border-left:3px solid #f0be50;padding:4px 0 4px 16px;margin:16px 0 4px;font-style:italic;color:#f6e7bd;line-height:1.6}
.story q.big{font-size:30px;font-style:normal;color:#f0be50;font-family:'Arial Narrow',Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em}
.story cite{display:block;font-style:normal;font-size:13px;color:#f0be50;margin:0 0 16px 19px}
.story .choices{display:grid;gap:10px;margin-top:24px}
.story .choice{font:inherit;font-size:16px;text-align:left;cursor:pointer;background:transparent;color:#f6f4f0;border:2px solid #f0be50;padding:14px 18px;transition:background .25s,color .25s}
.story .choice:hover,.story .choice:focus-visible{background:#f0be50;color:#050505;outline:none}
@media(max-width:600px){.story{padding:22px 18px}.story h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.story .scene{animation:none}.story-stage{transition:none}}

/* Interactive film (journey) */
.jfilm{padding:0;max-width:980px;overflow:hidden}
.jfilm-stage{position:relative;height:640px;background:#000;overflow:hidden;--tint:rgba(225,6,0,.28)}
.jfilm-stage[data-world=living]{--tint:rgba(240,190,80,.18)}
.jfilm-bg{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
.jfilm-bg.on{opacity:1}
.jfilm-bg video,.jfilm-bg .kb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:filter 1.6s}
.jfilm-bg .kb{background-size:cover;background-position:center;animation:kb 26s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
.jfilm-stage[data-world=dead] .jfilm-bg video,.jfilm-stage[data-world=dead] .jfilm-bg .kb{filter:grayscale(.85) contrast(1.1) brightness(.75)}
.jfilm-fx{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.94) 0,rgba(0,0,0,.72) 45%,rgba(0,0,0,.1) 100%),radial-gradient(ellipse at 50% 30%,transparent 40%,var(--tint) 100%)}
.jfilm-stage[data-world=dead] .jfilm-fx{box-shadow:inset 0 0 120px rgba(225,6,0,.35)}
.jfilm-stage[data-world=living] .jfilm-fx{box-shadow:inset 0 0 120px rgba(240,190,80,.3)}
.jfilm-world{position:absolute;top:16px;left:18px;font:12px 'Arial Narrow',Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;padding:6px 12px;border:1px solid currentColor;background:rgba(0,0,0,.55);color:#e10600;transition:color 1.2s}
.jfilm-stage[data-world=living] .jfilm-world{color:#8be08b}
.jfilm-tools{position:absolute;top:14px;right:14px;display:flex;gap:8px;z-index:3}
.jfilm-tools button{font:12px Arial,sans-serif;color:#eee;background:rgba(0,0,0,.6);border:1px solid #f0be5088;padding:7px 11px;cursor:pointer}
.jfilm-tools button:hover{background:#f0be50;color:#000}
.jfilm-cap{position:absolute;left:0;right:0;bottom:0;max-height:78%;overflow-y:auto;padding:24px 34px 28px;text-align:left;transition:opacity .4s}
.jfilm-cap.out{opacity:0}
.jfilm .ln{opacity:0;animation:storyIn .9s ease forwards}
.jfilm .choices{opacity:0;animation:storyIn .9s ease forwards}
.jfilm .story-bar,.jfilm>.story-bar{margin:0;padding:0;gap:3px}
.jfilm>.story-bar i{height:5px}
.jfilm-start{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;background:rgba(0,0,0,.62);transition:opacity .8s}
.jfilm-stage.go .jfilm-start{opacity:0;pointer-events:none}
.jfilm-start h3{font-size:34px;margin:8px 0 10px}
.jfilm-start p{max-width:460px;margin:0 auto 22px}
.jfilm-start .play{width:84px;height:84px;border-radius:50%;border:3px solid #f0be50;background:rgba(0,0,0,.4);color:#f0be50;font-size:32px;cursor:pointer;padding-left:6px;box-shadow:0 0 40px rgba(240,190,80,.5);animation:pulsePlay 2s infinite}
.jfilm-start .play:hover{background:#f0be50;color:#000}
@keyframes pulsePlay{50%{box-shadow:0 0 70px rgba(240,190,80,.9)}}
@media(max-width:600px){.jfilm-stage{height:760px}.jfilm-cap{padding:18px}.jfilm-start h3{font-size:25px}.jfilm-tools{top:54px;left:18px;right:auto}}
@media(prefers-reduced-motion:reduce){.jfilm-bg .kb,.jfilm-start .play{animation:none}.jfilm .ln,.jfilm .choices{animation:none;opacity:1}}

/* Keynesian Economics page */
.footer-links{margin-top:14px;display:flex;gap:10px 22px;justify-content:center;flex-wrap:wrap}
.footer-links a{color:var(--white);text-decoration:none;border-bottom:1px solid var(--red)}
.footer-links a:hover{color:var(--red)}
.kz-hero{min-height:92vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;padding-top:60px;background:#050505}
.kz-hero .bg{position:absolute;inset:0;background:url(images/cbdc.png) center/cover;opacity:.45;animation:lambzoom 26s ease-in-out infinite alternate}
.kz-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#050505 5%,transparent 70%)}
.kz-hero .wrap{position:relative;z-index:2;padding-bottom:80px}
.kz-hero h1{font-size:clamp(40px,8vw,104px);line-height:.95;font-weight:900;margin:12px 0 18px}
.kz-hero h1 span{color:var(--red)}
.kz-hero p{max-width:720px;font-size:21px;color:#ddd;margin-bottom:26px}
.kz-hero .tag{font-family:Arial,sans-serif;letter-spacing:.3em;text-transform:uppercase;font-size:13px;color:var(--red);font-weight:700}
.kz-money{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none}
.kz-money i{position:absolute;top:-40px;font-style:normal;font-size:30px;color:#e10600;opacity:.5;animation:kzfall linear infinite}
@keyframes kzfall{to{transform:translateY(110vh) rotate(40deg)}}
.kz-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:30px}
.kz-card{border:1px solid #2a2a2a;background:#0d0d0d;padding:26px}
.kz-card b{display:block;color:var(--red);font-family:Arial,sans-serif;font-size:13px;letter-spacing:.2em;margin-bottom:8px}
.kz-card h3{font-size:24px;margin-bottom:8px}
.kz-card p{color:#bbb}
.kz-two{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.kz-two img{width:100%;display:block;border:1px solid #2a2a2a}
.kz-chart{background:#0d0d0d;border:1px solid #2a2a2a;padding:20px;margin-top:30px}
.kz-chart svg{width:100%;height:auto;display:block}
.kz-line{stroke-dasharray:1200;stroke-dashoffset:1200}
.in .kz-line{animation:kzdraw 3.5s ease forwards}
@keyframes kzdraw{to{stroke-dashoffset:0}}
.kz-chain{display:flex;flex-direction:column;gap:0;margin-top:34px;max-width:760px}
.kz-step{position:relative;padding:20px 24px 20px 70px;border-left:3px solid var(--red);background:#0d0d0d;margin-left:20px}
.kz-step+.kz-step{margin-top:14px}
.kz-step::before{content:attr(data-n);position:absolute;left:-22px;top:18px;width:41px;height:41px;border-radius:50%;background:var(--red);color:#fff;font:700 18px Arial;display:flex;align-items:center;justify-content:center}
.kz-step h3{font-size:22px;margin-bottom:4px}.kz-step p{color:#bbb}
.kz-ctr{font-family:Arial,sans-serif;font-weight:900;font-size:clamp(40px,7vw,84px);color:var(--red);line-height:1}
.kz-vs{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:34px}
.kz-vs>div{padding:30px}
.kz-vs .dead{background:#111;border:1px solid #333}
.kz-vs .live{background:#0c1a10;border:1px solid #2d6a3e}
.kz-vs h3{margin-bottom:10px}.kz-vs .live h3{color:#7ed492}
.kz-vs li{margin:8px 0 8px 18px;color:#ccc}
.kz-live{position:relative;padding:110px 0;text-align:center;overflow:hidden;background:#04110a}
.kz-live .bg{position:absolute;inset:0;background:url(images/living-world-hd.png) center/cover;opacity:.5;animation:lambzoom 24s ease-in-out infinite alternate}
.kz-live::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(4,17,10,.2),#04110a 85%)}
.kz-live .wrap{position:relative;z-index:2}
.kz-live h2 em{color:#7ed492}
.kz-live .kicker{color:#7ed492}
.kz-live p{max-width:720px;margin:14px auto 28px;font-size:21px;color:#e6f3ea}
.btn.green-btn{background:#2f9e55;border-color:#2f9e55;color:#fff;font-size:17px;padding:18px 40px}
.btn.green-btn:hover{background:transparent;color:#7ed492}
.kz-live .glow{animation:kzglow 2.6s ease-in-out infinite}
@keyframes kzglow{50%{box-shadow:0 0 40px 6px rgba(126,212,146,.6)}}
@media(max-width:760px){.kz-two,.kz-vs{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.kz-hero .bg,.kz-live .bg,.kz-money i,.kz-live .glow{animation:none}.kz-line{stroke-dashoffset:0;animation:none!important}}

/* Site footer */
.site-footer{text-align:left;padding:60px 0 30px}
.sf-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.sf-grid h4{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.sf-grid ul{list-style:none;margin:0;padding:0}
.sf-grid li{margin:8px 0}
.sf-grid a{color:var(--white);text-decoration:none}
.sf-grid a:hover{color:var(--red)}
.sf-brand p{color:var(--grey);line-height:1.6;margin-top:10px}
.sf-prod li a{display:block;padding:10px 12px;border:1px solid #2a2a2a;background:#0b0b0b}
.sf-prod li a small{display:block;color:var(--grey);font-size:12px;margin-top:2px}
.sf-prod li a:hover{border-color:var(--red)}
.sf-bottom{margin-top:40px;padding-top:20px;border-top:1px solid #222;text-align:center;font-size:13px}
.sf-bottom p+p{margin-top:8px}
@media(max-width:860px){.sf-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.sf-grid{grid-template-columns:1fr}}

/* footer: three clean columns under a brand strip, like thelivingeconomy.com */
.sf-grid{grid-template-columns:repeat(3,1fr);gap:40px 48px}
.sf-brand{grid-column:1/-1;padding-bottom:28px;border-bottom:1px solid #222}
.sf-brand strong{font-size:20px;letter-spacing:.2em}
.sf-brand p{max-width:620px}
.sf-grid h4{padding-bottom:10px;border-bottom:1px solid #222;color:var(--white);font-size:13px}
.sf-grid li{margin:10px 0}
.sf-prod li a{padding:0;border:0;background:none}
.sf-prod li a:hover{border:0}
.sf-prod li a small{display:inline;margin:0 0 0 8px;font-size:12px}
.sf-bottom{text-align:left;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.sf-bottom p+p{margin-top:0}
@media(max-width:860px){.sf-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.sf-grid{grid-template-columns:1fr}.sf-bottom{display:block}.sf-bottom p+p{margin-top:8px}}

/* Links to The Living Economy are green */
a[href*="thelivingeconomy.com"]{color:#2fbf5b}
a[href*="thelivingeconomy.com"]:hover{color:#5ef08a}
a.btn[href*="thelivingeconomy.com"]{background:#1f9d47;border-color:#1f9d47;color:#fff}
a.btn[href*="thelivingeconomy.com"]:hover{background:#2fbf5b;border-color:#2fbf5b;color:#fff}
a.gold-btn[href*="thelivingeconomy.com"]{background:#1f9d47;color:#fff}

/* Bioweaponry page */
.bio-hero{background:linear-gradient(180deg,rgba(5,5,5,.35),var(--black)),url(images/bioweaponry-hero.png) center/cover,#150000}
.bio-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.bio-particles i{position:absolute;bottom:-40px;width:14px;height:14px;border:2px solid rgba(225,6,0,.7);border-radius:50%;box-shadow:0 0 14px rgba(225,6,0,.6);animation:bioUp linear infinite}
.bio-particles i::after{content:"";position:absolute;inset:3px;background:rgba(225,6,0,.5);border-radius:50%}
@keyframes bioUp{to{transform:translateY(-110vh) rotate(360deg);opacity:0}}
.bio-hazard{width:120px;height:120px;margin-bottom:18px;animation:bioSpin 24s linear infinite,bioPulse 2.4s ease-in-out infinite}
@keyframes bioSpin{to{transform:rotate(360deg)}}
@keyframes bioPulse{50%{filter:drop-shadow(0 0 22px #e10600)}}
.bio-main{border-top:4px solid var(--red);border-bottom:4px solid var(--red);background:#0a0000}
.bio-flow{display:flex;gap:0;flex-wrap:wrap;align-items:stretch;margin:34px 0}
.bio-step{flex:1 1 180px;border:1px solid #442;background:#0d0d0d;padding:22px;text-align:center;position:relative}
.bio-step svg{width:64px;height:64px;margin-bottom:10px}
.bio-step b{display:block;color:var(--red);letter-spacing:.1em;text-transform:uppercase;font-size:13px;margin-bottom:6px}
.bio-step+.bio-step::before{content:"\25B6";position:absolute;left:-12px;top:50%;margin-top:-10px;color:var(--red);font-size:18px;animation:bioNudge 1.2s ease-in-out infinite;z-index:2}
@keyframes bioNudge{50%{transform:translateX(6px)}}
.bio-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin:30px 0}
.bio-stat{border:1px solid #333;padding:26px;text-align:center;background:#0d0d0d}
.bio-stat .n{font-size:clamp(40px,6vw,64px);font-weight:900;color:var(--red);line-height:1}
.bio-stat p{margin-top:8px;font-size:14px}
.bio-tl{position:relative;margin:40px 0;padding-left:34px;border-left:2px solid #333}
.bio-tl .ev{position:relative;margin-bottom:34px}
.bio-tl .ev::before{content:"";position:absolute;left:-43px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(225,6,0,.7);animation:bioRing 2s infinite}
@keyframes bioRing{to{box-shadow:0 0 0 14px rgba(225,6,0,0)}}
.bio-tl .yr{color:var(--red);font-weight:900;font-size:22px;letter-spacing:.05em}
.bio-tl h3{margin:2px 0 6px}
.bio-img{width:100%;border:1px solid #333;margin:26px 0}
.bio-q{border-left:4px solid var(--red);padding:6px 0 6px 20px;margin:24px 0;font-size:20px;font-style:italic}
.bio-cta{text-align:center;padding:70px 20px;background:radial-gradient(circle,#2a0000,#050505)}
@media(max-width:700px){.bio-step+.bio-step::before{display:none}}
@media(prefers-reduced-motion:reduce){.bio-particles i,.bio-hazard,.bio-step::before,.bio-tl .ev::before{animation:none}}

.site-footer .soon-red,.site-footer li .soon-red{color:#ff1a1a !important;font-weight:700}
.btn.lamb-meet:hover{color:var(--red)}

/* Header menu — mirrors the footer (7 Systems, Products, Explore) */
nav .mainnav{gap:6px;align-items:center}
nav .mainnav>li{position:relative}
nav .mainnav>li>a{display:block;padding:20px 14px;font-size:12px;font-weight:700}
nav .mainnav>li>a::after{content:" \25BE";font-size:10px;color:var(--red)}
nav .mainnav ul{display:none;position:absolute;top:100%;left:0;min-width:240px;flex-direction:column;gap:0;background:#0b0b0b;border:1px solid #2a2a2a;border-top:2px solid var(--red);padding:6px 0;z-index:60}
nav .mainnav li:hover>ul,nav .mainnav li:focus-within>ul{display:flex}
nav .mainnav ul li a,nav .mainnav ul li .soon-red{display:block;padding:9px 18px;font-size:12px;white-space:nowrap}
nav .mainnav ul li a:hover{background:#1a1a1a;color:var(--red)}
nav .mainnav ul li a.cur{color:var(--red)}
nav .nav-toggle{display:none;background:none;border:1px solid #444;color:#fff;font-size:20px;padding:4px 10px;cursor:pointer}
@media(max-width:860px){
nav .nav-toggle{display:block}
nav .wrap{position:relative}
nav .wrap.open .mainnav{display:block;position:absolute;top:60px;left:0;right:0;background:#0b0b0b;border-bottom:2px solid var(--red);max-height:80vh;overflow-y:auto}
nav .wrap.open .mainnav>li>a{padding:14px 20px}
nav .wrap.open .mainnav ul{display:flex;position:static;border:0;padding:0 0 8px 12px;background:none}
}
nav .soon-red{color:#ff1a1a;font-weight:700}

/* Mobile optimisation */
html,body{overflow-x:hidden;max-width:100%;-webkit-text-size-adjust:100%}
img,video,canvas,iframe,svg{max-width:100%}
h1,h2,h3,p,li,td,th{overflow-wrap:break-word}
table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:700px){
body{font-size:17px;line-height:1.65}
.wrap{padding:0 18px}
section{padding:60px 0}
.hero,.film{min-height:100svh}
.hero .wrap,.film-copy{padding-bottom:48px}
h1{font-size:clamp(32px,10vw,56px);overflow-wrap:break-word}
h2{font-size:clamp(26px,8vw,40px)}
.hero p,.film-copy p{font-size:18px}
.btn{padding:14px 22px;display:block;text-align:center;margin-bottom:10px}
.btn.alt{margin:0 0 10px}
nav .logo{font-size:13px;letter-spacing:.12em}
nav .wrap.open .mainnav>li>a,nav .mainnav ul li a{padding:13px 20px;min-height:44px}
table{font-size:14px}
th,td{padding:10px 8px}
.sf-grid{gap:24px}
.jfilm-stage{max-width:100%}
iframe{height:auto;aspect-ratio:16/9}
}
@media(hover:none){.watcher,.dread{display:none}}
.ticker,.living-anim,.film,.hero{overflow:hidden}

/* footer product links turn green on hover (Blaick.ai, Blaick.org, Alphas Intelligence, Disrupt Xing) */
.sf-prod li a:hover,.sf-prod li a:hover small{color:#22c55e !important}
.sf-prod li a,.sf-prod li a small{transition:color .2s}

/* header menu: product links turn green on hover */
nav a[href*="blaick."]:hover,nav a[href*="alphasintelligence"]:hover,nav a[href*="disruptx"]:hover,nav a[href*="thelivingeconomy"]:hover{color:#22c55e !important}

/* Human Trafficking page */
.ht-hero{background:linear-gradient(180deg,rgba(5,5,5,.4),var(--black)),url(images/trafficking-hero.png) center/cover,#150000;overflow:hidden}
.ht-scan{position:absolute;left:0;right:0;height:3px;background:rgba(225,6,0,.8);box-shadow:0 0 24px 6px rgba(225,6,0,.5);animation:htScan 6s linear infinite;pointer-events:none}
.ht-video{position:relative;padding-top:56.25%;margin:30px 0 10px;border:2px solid var(--red);box-shadow:0 0 40px rgba(225,6,0,.35);animation:bioPulse 3s ease-in-out infinite}
.ht-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ht-chain{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;margin-top:34px}
.ht-link{position:relative;padding:26px;border:2px solid #111;background:#fff;margin-left:-2px;color:#111}
.ht-link span{font-size:44px;font-weight:900;color:var(--red);line-height:1}
.ht-link h3{margin:6px 0}
.ht-link::after{content:"";position:absolute;right:-12px;top:50%;width:22px;height:22px;margin-top:-11px;border:3px solid var(--red);border-radius:50%;background:#fff;z-index:2}
.ht-link:last-child::after{display:none}
.ht-corp{background:#0a0000;border-top:4px solid var(--red)}
.ht-cta{background:radial-gradient(circle,#2a0000,#050505);padding:70px 0}
@keyframes htScan{0%{top:0}100%{top:100%}}
@media(max-width:700px){.ht-link::after{display:none}}
@media(prefers-reduced-motion:reduce){.ht-scan,.ht-video{animation:none}}
nav .mainnav>li.plain>a::after{content:none}
nav .mainnav>li.plain>a{color:var(--red)}
nav .mainnav>li.plain>a:hover,nav .mainnav>li.plain>a.cur{color:var(--white)}

/* AH Corporation boxed menu link */
nav .mainnav>li.plain>a{position:relative;border:2px solid var(--red);border-radius:6px;padding:6px 14px;margin:0 4px;display:inline-block;overflow:hidden;z-index:0;transition:transform .25s,box-shadow .25s,color .25s,background .25s}
nav .mainnav>li.plain>a::before{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);z-index:-1;transition:none}
nav .mainnav>li.plain>a:hover{background:var(--red);color:#fff;transform:translateY(-2px) scale(1.06);box-shadow:0 0 18px rgba(225,6,0,.8),0 0 40px rgba(225,6,0,.4);animation:ahPulse 1.1s ease-in-out infinite}
nav .mainnav>li.plain>a:hover::before{left:130%;transition:left .7s ease}
@keyframes ahPulse{0%,100%{box-shadow:0 0 12px rgba(225,6,0,.8),0 0 28px rgba(225,6,0,.3)}50%{box-shadow:0 0 22px rgba(225,6,0,1),0 0 50px rgba(225,6,0,.6)}}
@media(max-width:900px){nav .mainnav>li.plain>a{display:block;text-align:center;margin:6px 0}}
@media(prefers-reduced-motion:reduce){nav .mainnav>li.plain>a:hover{animation:none;transform:none}}

/* Media player */
.mp-now{margin:18px 0 0;display:flex;flex-direction:column;gap:4px}
.mp-now h3{margin:0;font-size:1.3em}
.mp-tag{color:var(--red);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.mp-more{margin:36px 0 14px}
.mp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.mp-item{background:#0c0c0c;color:inherit;border:2px solid #2a2a2a;padding:0;text-align:left;cursor:pointer;font:inherit;transition:border-color .2s,transform .2s}
.mp-item:hover,.mp-item.on{border-color:var(--red)}
.mp-item:hover{transform:translateY(-3px)}
.mp-item img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.mp-item span{display:block;padding:10px 12px;font-size:14px;line-height:1.35}
.mp-item.on span:before{content:"\25B6  ";color:var(--red)}
.soon-sub{font-size:10px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;opacity:.8;margin-left:6px}

/* Forgiveness page */
.fg-hero{background-size:cover;background-position:center;position:relative;overflow:hidden}
.fg-rays{position:absolute;inset:-20%;background:conic-gradient(from 180deg at 50% 0%,transparent 0 40%,rgba(255,215,120,.16) 46%,transparent 52% 60%,rgba(255,215,120,.12) 66%,transparent 72%);animation:fgSway 14s ease-in-out infinite alternate;pointer-events:none}
@keyframes fgSway{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}
.fg-embers{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.fg-embers span{position:absolute;bottom:-10px;width:5px;height:5px;border-radius:50%;background:#ffd27a;box-shadow:0 0 10px #ffc04d;opacity:0;animation:fgUp 9s linear infinite}
@keyframes fgUp{0%{transform:translateY(0);opacity:0}15%{opacity:.9}100%{transform:translateY(-90vh) translateX(30px);opacity:0}}
.fg-verse{padding:50px 0;background:#0c0c0c;text-align:center}
.fg-verse blockquote{max-width:760px;margin:0 auto;font-size:1.5em;line-height:1.5;font-style:italic;color:#ffe9b0}
.fg-verse cite{display:block;margin-top:12px;font-size:.6em;color:var(--red);font-style:normal;letter-spacing:.12em;text-transform:uppercase}
.fg-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:30px}
.fg-step{position:relative;background:#0c0c0c;border:1px solid #2a2a2a;border-top:3px solid var(--red);padding:26px 22px}
.fg-step:nth-child(3),.fg-step:nth-child(4){border-top-color:#e0b04a}
.fg-n{position:absolute;top:10px;right:16px;font-size:2.6em;font-weight:800;opacity:.15}
.fg-step h3{margin:14px 0 8px}
.fg-chain{height:34px;display:flex;gap:4px}
.fg-chain i{width:34px;height:20px;border:4px solid #888;border-radius:12px;margin-top:6px;animation:fgBreak 3.2s ease-in-out infinite}
.fg-chain i:nth-child(2){animation-delay:.2s}.fg-chain i:nth-child(3){animation-delay:.4s}
@keyframes fgBreak{0%,35%{transform:none;opacity:1}70%,100%{transform:translateY(22px) rotate(25deg);opacity:0}}
.fg-cross{height:34px;position:relative}
.fg-cross:before,.fg-cross:after{content:"";position:absolute;background:#e0b04a;box-shadow:0 0 14px #e0b04a;animation:fgGlow 2.4s ease-in-out infinite}
.fg-cross:before{left:15px;top:0;width:6px;height:34px}.fg-cross:after{left:5px;top:9px;width:26px;height:6px}
@keyframes fgGlow{50%{box-shadow:0 0 28px #ffd27a;opacity:.8}}
.fg-heart:before{content:"\2665";font-size:34px;line-height:34px;color:var(--red);display:block;animation:fgBeat 1.4s ease-in-out infinite;transform-origin:left center}
@keyframes fgBeat{50%{transform:scale(1.25)}}
.fg-dove:before{content:"\1F54A";font-size:30px;line-height:34px;display:block;animation:fgFloat 3s ease-in-out infinite}
@keyframes fgFloat{50%{transform:translate(8px,-8px)}}
.fg-prodigal{background:#0c0c0c}
.fg-split{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;align-items:center;margin-top:26px}
.fg-split img{width:100%;border:1px solid #2a2a2a;box-shadow:0 0 40px rgba(224,176,74,.2)}
.fg-far{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:26px}
.fg-far-item{padding:22px;border:1px solid #cfc9bd;text-align:center}
.fg-big{font-size:2.3em;font-weight:800;color:var(--red);line-height:1.2;margin-bottom:6px}
.fg-pray{background:radial-gradient(ellipse at 50% 0%,rgba(224,176,74,.25),transparent 60%),#050505}
.fg-prayer{max-width:680px;margin:0 auto 24px;font-size:1.3em;line-height:1.6;font-style:italic;color:#ffe9b0;border-left:3px solid #e0b04a;padding:6px 20px;text-align:left}
@media(max-width:800px){.fg-split{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.fg-rays,.fg-embers span,.fg-chain i,.fg-cross:before,.fg-cross:after,.fg-heart:before,.fg-dove:before{animation:none}}

/* six pillar cards: 3 + 3 */
#pillars .g3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){#pillars .g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){#pillars .g3{grid-template-columns:1fr}}
