/* RICHTVX — Global News Intelligence Network · v1 */
@font-face{font-family:'Orbitron';font-weight:700;font-display:swap;src:url(fonts/orbitron-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Orbitron';font-weight:900;font-display:swap;src:url(fonts/orbitron-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url(fonts/inter-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url(fonts/inter-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+1E00-1EFF}
@font-face{font-family:'Inter';font-weight:800;font-display:swap;src:url(fonts/inter-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:'Inter';font-weight:800;font-display:swap;src:url(fonts/inter-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+1E00-1EFF}
@font-face{font-family:'Share Tech Mono';font-weight:400;font-display:swap;src:url(fonts/share-tech-mono-latin-400-normal.woff2) format('woff2')}

:root{
  --ox:#1c0506; --ox2:#2a0909; --ox3:#3a0c0e;
  --red:#ff2b2b; --crim:#d90429; --ember:#ff5a4a; --blood:#8e0d14;
  --white:#fff6f4; --text:#f6e6e3; --mute:#d6a9a4; --dim:#a87974;
  --titan:#cfd2d8; --steel:#8d929b;
  --glass:rgba(70,10,14,.46); --glass2:rgba(110,14,20,.30);
  --line:rgba(255,64,64,.30); --line2:rgba(255,90,80,.55);
  --r:14px; --max:1180px;
  --disp:'Orbitron',system-ui,sans-serif; --mono:'Share Tech Mono',ui-monospace,monospace; --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{margin:0;background:radial-gradient(120% 70% at 50% -10%,#4a0b0e 0%,var(--ox2) 38%,var(--ox) 100%) fixed,var(--ox);color:var(--text);font:400 17px/1.65 var(--sans);overflow-x:hidden;min-height:100vh}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--crim);color:#fff}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* living background: red code rain + scanlines + grid */
#rain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.22}
body:before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(255,40,40,.035) 0 1px,transparent 1px 3px),
             linear-gradient(rgba(255,60,60,.05) 1px,transparent 1px) 0 0/56px 56px,
             linear-gradient(90deg,rgba(255,60,60,.05) 1px,transparent 1px) 0 0/56px 56px;
  mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 85%)}
.wrap{position:relative;z-index:1}
.box{max-width:var(--max);margin:0 auto;padding:0 18px}

/* status bar */
.status{border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(142,13,20,.35),rgba(42,9,9,.6),rgba(142,13,20,.35));font:400 12.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.status .box{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
.status b{color:var(--white);font-weight:400}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(255,43,43,.7);animation:ping 1.6s infinite;margin-right:7px;vertical-align:1px}
@keyframes ping{70%{box-shadow:0 0 0 9px rgba(255,43,43,0)}100%{box-shadow:0 0 0 0 rgba(255,43,43,0)}}

/* masthead */
.mast{text-align:center;padding:30px 0 12px}
.brand{display:inline-flex;flex-direction:column;align-items:center;gap:8px}
.word{font:900 clamp(40px,7.4vw,82px)/.95 var(--disp);letter-spacing:.06em;color:var(--white);text-shadow:0 0 28px rgba(255,43,43,.45),0 0 2px #fff;position:relative}
.word i{font-style:normal;color:var(--red);text-shadow:0 0 22px rgba(255,43,43,.9),0 0 46px rgba(255,43,43,.5)}
.word:after{content:'';position:absolute;left:8%;right:8%;bottom:-10px;height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent);box-shadow:0 0 14px var(--red)}
.tag{margin-top:12px;font:400 13px/1.4 var(--mono);letter-spacing:.42em;color:var(--titan);text-transform:uppercase}
.tag em{font-style:normal;color:var(--ember)}

/* nav */
.nav{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);background:rgba(36,7,8,.78);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nav .box{display:flex;align-items:center;gap:10px}
.navs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1;justify-content:safe center;mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent)}
.navs::-webkit-scrollbar{display:none}
.navs a{flex:none;padding:15px 14px;font:700 12.5px/1 var(--disp);letter-spacing:.12em;text-transform:uppercase;color:var(--titan);border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.navs a:hover,.navs a.on{color:var(--white);border-bottom-color:var(--red);text-shadow:0 0 12px rgba(255,43,43,.6)}
.sbtn{flex:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line2);background:var(--glass);color:var(--white);display:grid;place-items:center;cursor:pointer}
.sbtn svg{width:18px;height:18px}

/* ticker */
.tick{border-bottom:1px solid var(--line);background:rgba(20,4,5,.55);overflow:hidden}
.tick .box{display:flex;align-items:center;gap:0;padding:0}
.tick .lbl{flex:none;background:linear-gradient(180deg,var(--red),var(--crim));color:#fff;font:900 12px/1 var(--disp);letter-spacing:.14em;padding:13px 16px;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.tick .run{flex:1;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 30px,#000 calc(100% - 30px),transparent)}
.tick .track{display:inline-block;padding-left:100%;animation:tick 90s linear infinite}
.tick:hover .track{animation-play-state:paused}
.tick a{font:600 14px/1 var(--sans);color:var(--text);margin-right:44px}
.tick a:before{content:'\25B6';color:var(--red);font-size:9px;margin-right:10px;vertical-align:2px}
@keyframes tick{to{transform:translateX(-100%)}}

/* sections */
main{padding:26px 0 40px}
.sec{margin:46px 0}
.sh{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:20px;text-align:center}
.sh:before,.sh:after{content:'';flex:1;max-width:220px;height:1px;background:linear-gradient(90deg,transparent,var(--line2))}
.sh:after{transform:scaleX(-1)}
.sh h2{margin:0;font:900 clamp(17px,2.6vw,24px)/1.1 var(--disp);letter-spacing:.16em;text-transform:uppercase;color:var(--white)}
.sh h2 small{display:block;margin-top:6px;font:400 11.5px/1 var(--mono);letter-spacing:.28em;color:var(--dim)}
.more{display:block;width:max-content;margin:18px auto 0;padding:11px 22px;border:1px solid var(--line2);border-radius:999px;font:700 11.5px/1 var(--disp);letter-spacing:.16em;text-transform:uppercase;color:var(--white);background:var(--glass)}
.more:hover{background:rgba(217,4,41,.35);box-shadow:0 0 22px rgba(255,43,43,.35)}

/* glass panel with machined corners */
.panel{position:relative;background:linear-gradient(160deg,var(--glass),rgba(30,6,7,.55));border:1px solid var(--line);border-radius:var(--r);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 50px rgba(10,0,0,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.panel:before,.panel:after{content:'';position:absolute;width:18px;height:18px;border:2px solid var(--red);pointer-events:none}
.panel:before{top:-1px;left:-1px;border-right:0;border-bottom:0;border-top-left-radius:var(--r)}
.panel:after{bottom:-1px;right:-1px;border-left:0;border-top:0;border-bottom-right-radius:var(--r)}

/* lead story */
.lead{display:block;overflow:hidden}
.lead .img{position:relative;aspect-ratio:16/8;overflow:hidden;border-radius:var(--r) var(--r) 0 0}
.lead .img img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform 1.2s}
.lead:hover .img img{transform:scale(1.03)}
.lead .img:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(28,5,6,.95))}
.lead .txt{position:relative;margin-top:-120px;padding:0 28px 28px;text-align:center}
.kick{display:inline-block;font:400 11.5px/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:#fff;background:rgba(217,4,41,.85);padding:7px 11px;border-radius:4px}
.lead h1,.lead h2{margin:14px auto 10px;max-width:920px;font:800 clamp(24px,3.6vw,44px)/1.12 var(--sans);letter-spacing:-.01em;color:var(--white);text-shadow:0 2px 30px rgba(0,0,0,.6)}
.lead p{margin:0 auto;max-width:760px;color:var(--mute)}

/* card grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{display:flex;flex-direction:column;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-3px);border-color:var(--line2);box-shadow:0 0 0 1px rgba(255,43,43,.25),0 24px 60px rgba(120,0,0,.35)}
.card .img{aspect-ratio:4/3;overflow:hidden;border-radius:var(--r) var(--r) 0 0;background:var(--ox3)}
.card .img img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.card .b{padding:14px 16px 18px;display:flex;flex-direction:column;gap:8px}
.card .k{font:400 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ember)}
.card h3{margin:0;font:700 17px/1.32 var(--sans);color:var(--white)}
.card p{margin:0;font-size:14.5px;line-height:1.55;color:var(--dim);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* radar / maps */
.mapbox{overflow:hidden}
.map{height:min(62vh,560px);min-height:340px;border-radius:var(--r) var(--r) 0 0;background:#2a0909}
.map .leaflet-tile-pane{filter:sepia(1) saturate(4.5) hue-rotate(-28deg) brightness(.82) contrast(1.15)}
.map.sat .leaflet-tile-pane{filter:saturate(1.05) contrast(1.05)}
.leaflet-container{font:400 13px/1.4 var(--sans);background:#2a0909}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:rgba(42,9,9,.96);color:var(--text);border:1px solid var(--line2);box-shadow:0 12px 40px rgba(0,0,0,.5)}
.leaflet-popup-content{margin:12px 14px;max-width:280px}
.leaflet-popup-content a{color:var(--ember);text-decoration:underline}
.leaflet-control-attribution{background:rgba(28,5,6,.7)!important;color:var(--dim)!important}
.leaflet-control-attribution a{color:var(--mute)!important}
.leaflet-bar a{background:rgba(42,9,9,.9);color:var(--white);border-color:var(--line)}
.hot{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#fff 0 18%,var(--red) 30%,rgba(255,43,43,.0) 72%);box-shadow:0 0 18px var(--red);animation:pulse 2.2s infinite}
@keyframes pulse{50%{transform:scale(1.55);opacity:.75}}
.legend{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;padding:14px 18px;font:400 12px/1.4 var(--mono);letter-spacing:.12em;color:var(--dim);text-transform:uppercase}
.hl{list-style:none;margin:0;padding:6px 18px 18px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 22px}
.hl li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed rgba(255,64,64,.2);padding:8px 0;font-size:14.5px}
.hl b{color:var(--white);font-weight:600}
.hl span{font:400 12.5px/1.4 var(--mono);color:var(--ember);white-space:nowrap}
.state{padding:28px 20px;text-align:center;color:var(--dim);font:400 13px/1.6 var(--mono);letter-spacing:.08em}

/* New York */
.cams{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.cam{overflow:hidden}
.cam .v{position:relative;aspect-ratio:4/3;background:#2a0909;border-radius:var(--r) var(--r) 0 0;overflow:hidden}
.cam img{width:100%;height:100%;object-fit:cover}
.cam .live{position:absolute;top:10px;left:10px;font:400 11px/1 var(--mono);letter-spacing:.18em;background:rgba(217,4,41,.9);color:#fff;padding:6px 9px;border-radius:4px}
.cam .n{padding:10px 14px;font:600 14px/1.35 var(--sans);color:var(--white);display:flex;justify-content:space-between;gap:10px}
.cam .n small{font:400 11.5px/1.4 var(--mono);color:var(--dim);white-space:nowrap}
.btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:16px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;font:700 11.5px/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:linear-gradient(180deg,var(--red),var(--crim));box-shadow:0 8px 26px rgba(217,4,41,.35)}
.btn.ghost{background:var(--glass);border:1px solid var(--line2);box-shadow:none}
.btn:hover{filter:brightness(1.12)}

/* markets */
.mk{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mk div{padding:14px;text-align:center}
.mk b{display:block;font:400 12px/1 var(--mono);letter-spacing:.18em;color:var(--dim)}
.mk span{display:block;margin-top:8px;font:700 22px/1 var(--disp);color:var(--white)}
.src{margin-top:10px;text-align:center;font:400 11.5px/1.5 var(--mono);color:var(--dim);letter-spacing:.06em}

/* ecosystem */
.eco{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.eco a{padding:18px;display:flex;flex-direction:column;gap:6px;text-align:center;align-items:center}
.eco img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px;margin-bottom:6px}
.eco b{font:900 15px/1.2 var(--disp);letter-spacing:.1em;color:var(--white)}
.eco span{font-size:14px;color:var(--dim);line-height:1.5}
.guard{display:flex;align-items:center;justify-content:center;gap:12px;margin:26px auto 0;padding:12px 20px;width:max-content;max-width:100%;border:1px solid rgba(80,255,170,.35);border-radius:999px;background:rgba(10,40,26,.35);font:400 12px/1.3 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#bfffe0}
.guard img{width:26px;height:26px}

/* article */
.art{max-width:860px;margin:0 auto}
.crumb{text-align:center;font:400 12px/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.crumb a{color:var(--ember)}
.art h1{margin:16px 0 14px;text-align:center;font:800 clamp(28px,4.4vw,48px)/1.12 var(--sans);letter-spacing:-.012em;color:var(--white)}
.meta{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;font:400 12.5px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.meta b{color:var(--ember);font-weight:400}
.hero{margin:26px auto;max-width:520px;overflow:hidden}
.hero img{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:var(--r)}
.body{padding:clamp(20px,4vw,40px)}
.body h2{margin:34px 0 12px;font:800 clamp(21px,2.6vw,27px)/1.25 var(--sans);color:var(--white)}
.body h3{margin:28px 0 10px;font:700 19px/1.3 var(--sans);color:var(--ember)}
.body p{margin:0 0 18px;font-size:18px;line-height:1.78;color:var(--text)}
.body a{color:var(--ember);text-decoration:underline;text-underline-offset:3px}
.body figure{margin:26px auto;max-width:440px}
.body figure img{width:100%;border-radius:12px;border:1px solid var(--line2)}
.body>:first-child{margin-top:0}
.teaser{font-size:19px!important;color:var(--white)!important}
.note{margin-top:10px;padding:14px 16px;border-left:3px solid var(--red);background:rgba(217,4,41,.12);font:400 13.5px/1.6 var(--mono);color:var(--mute)}
.faq{margin-top:26px}
.faq details{border-top:1px solid var(--line);padding:14px 4px}
.faq summary{cursor:pointer;font:700 17px/1.4 var(--sans);color:var(--white);list-style:none}
.faq summary:before{content:'+';color:var(--red);font-weight:900;margin-right:10px}
.faq details[open] summary:before{content:'\2212'}
.faq details div{margin-top:10px;color:var(--mute);font-size:16.5px}
.stamp{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;margin:22px 0 0;padding:14px;border:1px solid var(--line2);border-radius:12px;background:rgba(217,4,41,.1);font:400 12.5px/1.5 var(--mono);color:var(--mute);text-align:center}
.stamp a{color:var(--ember);text-decoration:underline;word-break:break-all}
.share{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:26px 0 6px}
.share a,.share button{padding:10px 14px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);color:var(--white);font:700 11px/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.share a:hover,.share button:hover{background:rgba(217,4,41,.4)}

/* lists & pages */
.pager{display:flex;justify-content:center;gap:10px;margin-top:26px}
.page{max-width:860px;margin:0 auto;padding:clamp(22px,4vw,44px)}
.page h1{margin:0 0 10px;text-align:center;font:900 clamp(24px,4vw,40px)/1.15 var(--disp);letter-spacing:.08em;color:var(--white)}
.page .lede{text-align:center;color:var(--mute);margin:0 auto 26px;max-width:640px}
.mails{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.mails a{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(60,10,12,.35)}
.mails a:hover{border-color:var(--line2);background:rgba(217,4,41,.18)}
.mails b{font:400 12px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.mails span{font:600 16px/1.3 var(--sans);color:var(--white);word-break:break-all}

/* search */
.sov{position:fixed;inset:0;z-index:50;display:none;background:rgba(20,4,5,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:70px 18px 20px}
.sov.on{display:block}
.sov .in{max-width:760px;margin:0 auto}
.sov input{width:100%;padding:18px 20px;border-radius:14px;border:1px solid var(--line2);background:rgba(60,10,12,.6);color:var(--white);font:600 19px/1.2 var(--sans);outline:none}
.sov input:focus{box-shadow:0 0 0 3px rgba(255,43,43,.35)}
.sov ul{list-style:none;margin:14px 0 0;padding:0;max-height:66vh;overflow:auto}
.sov li a{display:block;padding:12px 6px;border-bottom:1px solid var(--line);color:var(--text)}
.sov li a small{display:block;font:400 11.5px/1.4 var(--mono);letter-spacing:.16em;color:var(--ember);text-transform:uppercase}
.sov .x{position:absolute;top:18px;right:18px}

/* footer */
footer{position:relative;z-index:1;margin-top:40px;border-top:1px solid var(--line);background:rgba(20,4,5,.6);padding:34px 0 40px;text-align:center}
.fl{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;font:700 11.5px/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--titan)}
.fl a:hover{color:var(--white)}
.fine{margin-top:18px;font:400 12px/1.7 var(--mono);color:var(--dim);letter-spacing:.06em}

@media (max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}.eco{grid-template-columns:repeat(2,1fr)}.mk{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  body{font-size:16px}
  .grid,.eco,.cams,.mails,.hl{grid-template-columns:1fr}
  .lead .img{aspect-ratio:4/5}
  .lead .txt{margin-top:-150px;padding:0 18px 22px}
  .status .box{gap:10px;font-size:11px}
  .tag{letter-spacing:.24em;font-size:11.5px}
  .map{height:420px}
  .body p{font-size:17px}
  .sh:before,.sh:after{max-width:40px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}#rain{display:none}.tick .track{padding-left:0}}

/* ---- aggression layer: laser sweep, HUD brackets, unfolding panels, glitch ---- */
#rain{opacity:.3}
.mast{position:relative;overflow:hidden}
.mast:before{content:'';position:absolute;left:-30%;right:-30%;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,43,43,.0) 20%,#ff2b2b 50%,rgba(255,43,43,0) 80%,transparent);box-shadow:0 0 18px #ff2b2b;animation:sweep 6s cubic-bezier(.6,0,.4,1) infinite;opacity:.85}
@keyframes sweep{0%{transform:translateY(0)}50%{transform:translateY(190px)}100%{transform:translateY(0)}}
.mast:after{content:'';position:absolute;inset:14px max(14px,calc(50% - 360px));border:1px solid rgba(255,64,64,.18);pointer-events:none;
  clip-path:polygon(0 0,40px 0,40px 1px,1px 1px,1px 40px,0 40px,0 calc(100% - 40px),1px calc(100% - 40px),1px calc(100% - 1px),40px calc(100% - 1px),40px 100%,0 100%,0 0,100% 0,100% 40px,calc(100% - 1px) 40px,calc(100% - 1px) 1px,calc(100% - 40px) 1px,calc(100% - 40px) 0,100% 0,100% 100%,calc(100% - 40px) 100%,calc(100% - 40px) calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) calc(100% - 40px),100% calc(100% - 40px));border-color:rgba(255,64,64,.7)}
.word{animation:glitch 7s infinite steps(1)}
@keyframes glitch{0%,93%,100%{transform:none;text-shadow:0 0 28px rgba(255,43,43,.45),0 0 2px #fff}94%{transform:translate(2px,-1px);text-shadow:-3px 0 rgba(255,43,43,.9),3px 0 rgba(255,255,255,.5)}96%{transform:translate(-2px,1px);text-shadow:3px 0 rgba(255,43,43,.9),-3px 0 rgba(255,220,220,.4)}}
.panel{transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .7s,clip-path .8s cubic-bezier(.7,0,.2,1),box-shadow .25s,border-color .25s;clip-path:inset(0 0 0 0)}
.js .panel.fold{opacity:0;transform:translateY(22px);clip-path:inset(0 50% 0 50%)}
.card .img{position:relative}
.card .img:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(28,5,6,.75)),repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0 1px,transparent 1px 3px);pointer-events:none}
.card:hover .img:before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:#ff2b2b;box-shadow:0 0 14px #ff2b2b;z-index:2;animation:scan 1.1s linear infinite}
@keyframes scan{to{top:100%}}
.sh h2{text-shadow:0 0 18px rgba(255,43,43,.5)}
.status{box-shadow:0 1px 0 rgba(255,43,43,.25),0 8px 30px rgba(120,0,0,.25)}
.lead p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ---- VERTICAL FIRST: 9:16 story format (1080x1920) for lead and cards ---- */
.lead{max-width:460px;margin:0 auto}
.lead .img{aspect-ratio:9/16;border-radius:var(--r)}
.lead .img img{object-position:center top}
.lead .img:after{background:linear-gradient(180deg,rgba(28,5,6,0) 40%,rgba(28,5,6,.92) 78%,rgba(28,5,6,.98))}
.lead .txt{position:absolute;left:0;right:0;bottom:0;margin:0;padding:0 22px 26px;z-index:2}
.lead h1,.lead h2{font-size:clamp(24px,3vw,32px);margin:12px 0 8px}
.lead p{font-size:15px}
.lead .go{display:inline-block;margin-top:14px;font:700 11.5px/1 var(--disp);letter-spacing:.16em;text-transform:uppercase;color:#fff;padding:11px 18px;border-radius:999px;background:linear-gradient(180deg,var(--red),var(--crim));box-shadow:0 8px 26px rgba(217,4,41,.45)}
.grid{grid-template-columns:repeat(4,1fr);gap:16px}
.card .img{aspect-ratio:9/16;border-radius:var(--r)}
.card .img img{object-position:center top}
.card .img:after{background:linear-gradient(180deg,rgba(28,5,6,0) 45%,rgba(28,5,6,.9) 80%,rgba(28,5,6,.97)),repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0 1px,transparent 1px 3px)}
.card .b{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px 14px 16px;gap:6px}
.card h3{font-size:16px;line-height:1.28;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.card p{-webkit-line-clamp:2;font-size:13.5px;color:var(--mute)}
@media (max-width:980px){.grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.grid{grid-template-columns:repeat(2,1fr);gap:10px}.card .b{padding:10px 10px 12px}.card h3{font-size:14px}.card p{display:none}.card .k{font-size:9.5px;letter-spacing:.12em}.lead{max-width:none}.lead .txt{margin:0;padding:0 16px 20px}}

/* v4: world-exclusives rotator + interview photography */
.rot{position:relative;max-width:460px;margin:0 auto}
.rot .lead{display:none}
.rot .lead.on{display:block;animation:rfade .9s ease}
@keyframes rfade{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}
.rdots{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:16px}
.rdots button{width:10px;height:10px;padding:0;border-radius:50%;border:1px solid var(--line2);background:transparent;cursor:pointer}
.rdots button.on{background:#ff2b2b;box-shadow:0 0 12px rgba(255,43,43,.8)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 6px}
.gal img{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:12px;border:1px solid var(--line2)}
@media (max-width:640px){.gal{grid-template-columns:repeat(2,1fr)}}

/* ================= v5 · SKYNET LAYER — no underlines anywhere: links glow ================= */
a,a:hover,a:focus,a:visited,.body a,.stamp a,.leaflet-popup-content a{text-decoration:none!important}
.body p a,.faq a,.stamp a,.leaflet-popup-content a,.crumb a{color:#ff6b5c;text-shadow:0 0 10px rgba(255,43,43,.55);transition:color .2s,text-shadow .2s}
.body p a:hover,.faq a:hover,.stamp a:hover,.leaflet-popup-content a:hover,.crumb a:hover{color:#fff;text-shadow:0 0 6px #ff2b2b,0 0 18px #ff2b2b,0 0 34px rgba(255,43,43,.7)}
.fl a,.tick a,.sov li a{transition:color .2s,text-shadow .2s}
.fl a:hover,.tick a:hover,.sov li a:hover{color:#fff;text-shadow:0 0 8px #ff2b2b,0 0 22px rgba(255,43,43,.8)}

/* deeper, more aggressive field: rain, hex-grid, red vignette, HUD frame */
#rain{opacity:.42;filter:drop-shadow(0 0 4px rgba(255,43,43,.6))}
body{background:radial-gradient(90% 60% at 50% -8%,#5a0d11 0%,#2a0909 42%,#1c0506 100%) fixed,#1c0506}
body:after{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(110,0,8,.35) 100%)}
.wrap:before{content:'';position:fixed;inset:10px;z-index:30;pointer-events:none;
  background:linear-gradient(#ff2b2b,#ff2b2b) 0 0/26px 2px,linear-gradient(#ff2b2b,#ff2b2b) 0 0/2px 26px,
             linear-gradient(#ff2b2b,#ff2b2b) 100% 0/26px 2px,linear-gradient(#ff2b2b,#ff2b2b) 100% 0/2px 26px,
             linear-gradient(#ff2b2b,#ff2b2b) 0 100%/26px 2px,linear-gradient(#ff2b2b,#ff2b2b) 0 100%/2px 26px,
             linear-gradient(#ff2b2b,#ff2b2b) 100% 100%/26px 2px,linear-gradient(#ff2b2b,#ff2b2b) 100% 100%/2px 26px;
  background-repeat:no-repeat;filter:drop-shadow(0 0 6px #ff2b2b);opacity:.75}

/* masthead: no underline bar — the wordmark burns */
.word:after{display:none}
.word{text-shadow:0 0 2px #fff,0 0 22px rgba(255,43,43,.55),0 0 60px rgba(255,43,43,.25)}
.word i{color:#ff2b2b;text-shadow:0 0 6px #ff2b2b,0 0 24px #ff2b2b,0 0 60px rgba(255,43,43,.75);animation:burn 3.2s ease-in-out infinite}
@keyframes burn{50%{text-shadow:0 0 10px #ff4a3a,0 0 38px #ff2b2b,0 0 90px rgba(255,43,43,.9)}}
.tag{color:#ffd9d4;text-shadow:0 0 12px rgba(255,43,43,.45)}

/* nav: no underline — active section is a glowing armoured plate */
.nav{background:linear-gradient(180deg,rgba(58,10,13,.82),rgba(36,7,8,.86));border-color:rgba(255,43,43,.45);box-shadow:0 0 0 1px rgba(255,43,43,.12),0 10px 40px rgba(120,0,0,.45),inset 0 1px 0 rgba(255,120,110,.12)}
.navs a{border-bottom:0!important;margin:7px 2px;padding:10px 14px;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:color .2s,background .2s,box-shadow .2s,text-shadow .2s}
.navs a:hover,.navs a.on{color:#fff;background:linear-gradient(180deg,rgba(255,43,43,.38),rgba(142,13,20,.55));text-shadow:0 0 8px #ff2b2b,0 0 20px rgba(255,43,43,.8);box-shadow:inset 0 0 18px rgba(255,43,43,.45)}
.sbtn{box-shadow:0 0 16px rgba(255,43,43,.35),inset 0 0 12px rgba(255,43,43,.25)}
.sbtn:hover{box-shadow:0 0 26px #ff2b2b,inset 0 0 14px rgba(255,43,43,.5)}

/* section heads: targeting beams instead of rules */
.sh:before,.sh:after{height:2px;background:linear-gradient(90deg,transparent,#ff2b2b);box-shadow:0 0 10px #ff2b2b;opacity:.85}
.sh h2{font-weight:900;letter-spacing:.2em;text-shadow:0 0 2px #fff,0 0 16px rgba(255,43,43,.75),0 0 40px rgba(255,43,43,.35)}
.sh h2:before,.sh h2:after{color:#ff2b2b;font-family:var(--mono);font-weight:400;text-shadow:0 0 10px #ff2b2b}
.sh h2:before{content:'[ '}.sh h2:after{content:' ]'}
.sh h2 small:before,.sh h2 small:after{content:none}
.sh h2 small{color:#e6a59e;text-shadow:none}

/* glass panels: heavier blur, inner red reactor glow, glowing brackets */
.panel{background:linear-gradient(155deg,rgba(96,14,20,.48),rgba(36,7,9,.62) 55%,rgba(70,10,14,.5));border:1px solid rgba(255,64,64,.38);
  box-shadow:inset 0 1px 0 rgba(255,160,150,.12),inset 0 0 38px rgba(255,20,30,.10),0 0 0 1px rgba(255,43,43,.06),0 22px 60px rgba(60,0,4,.55);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%)}
.panel:before,.panel:after{width:22px;height:22px;border-color:#ff2b2b;filter:drop-shadow(0 0 6px #ff2b2b)}
.card:hover,.lead:hover{border-color:#ff2b2b;box-shadow:0 0 0 1px #ff2b2b,0 0 34px rgba(255,43,43,.45),0 26px 70px rgba(120,0,0,.5),inset 0 0 40px rgba(255,20,30,.18)}
.card:hover .img img,.lead:hover .img img{filter:saturate(1.15) contrast(1.06)}
.card .k,.kick{text-shadow:0 0 8px rgba(255,43,43,.8)}
.card h3{text-shadow:0 0 14px rgba(255,43,43,.35),0 2px 12px rgba(30,0,0,.8)}
.card:hover h3{color:#fff;text-shadow:0 0 8px #ff2b2b,0 2px 12px rgba(30,0,0,.8)}

/* labels and buttons: armoured, chamfered, glowing */
.kick{background:linear-gradient(90deg,#ff2b2b,#a60a18);border-radius:0;clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);padding:8px 14px;box-shadow:0 0 18px rgba(255,43,43,.6)}
.btn,.more,.lead .go,.share a,.share button,.pager a{border-radius:0!important;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:background .2s,box-shadow .2s,text-shadow .2s,filter .2s}
.more,.share a,.share button,.btn.ghost{background:linear-gradient(180deg,rgba(255,43,43,.22),rgba(110,12,18,.55));border:1px solid #ff2b2b;color:#fff;text-shadow:0 0 8px rgba(255,43,43,.9);box-shadow:inset 0 0 16px rgba(255,43,43,.35)}
.more:hover,.share a:hover,.share button:hover,.btn:hover,.lead .go:hover{background:linear-gradient(180deg,#ff3b3b,#c00a20);box-shadow:0 0 28px #ff2b2b,inset 0 0 16px rgba(255,200,190,.35);text-shadow:0 0 10px #fff;filter:none}
.lead .go,.btn{box-shadow:0 0 22px rgba(255,43,43,.65)}

/* lead + rotator: terminator targeting reticle */
.lead .img:before{content:'';position:absolute;z-index:1;left:50%;top:28%;width:120px;height:120px;margin:-60px 0 0 -60px;border:1px solid rgba(255,43,43,.55);border-radius:50%;pointer-events:none;
  background:linear-gradient(rgba(255,43,43,.7),rgba(255,43,43,.7)) 50% 0/1px 18px,linear-gradient(rgba(255,43,43,.7),rgba(255,43,43,.7)) 50% 100%/1px 18px,linear-gradient(rgba(255,43,43,.7),rgba(255,43,43,.7)) 0 50%/18px 1px,linear-gradient(rgba(255,43,43,.7),rgba(255,43,43,.7)) 100% 50%/18px 1px;background-repeat:no-repeat;
  box-shadow:0 0 18px rgba(255,43,43,.5),inset 0 0 18px rgba(255,43,43,.3);opacity:0;transition:opacity .4s;animation:lock 3s ease-in-out infinite}
.lead:hover .img:before{opacity:.9}
@keyframes lock{50%{transform:scale(.82) rotate(45deg)}}
.lead h1,.lead h2{text-shadow:0 0 18px rgba(255,43,43,.45),0 2px 26px rgba(30,0,0,.8)}
.rdots button{border-radius:0;transform:rotate(45deg);border-color:#ff2b2b}
.rdots button.on{box-shadow:0 0 14px #ff2b2b,0 0 28px rgba(255,43,43,.6)}

/* ticker + status: terminal feed */
.tick{background:linear-gradient(90deg,rgba(80,10,14,.7),rgba(36,7,8,.75),rgba(80,10,14,.7));box-shadow:inset 0 0 22px rgba(255,20,30,.15)}
.tick .lbl{box-shadow:0 0 22px #ff2b2b;animation:blink 1.4s steps(2) infinite}
@keyframes blink{50%{filter:brightness(1.35)}}
.tick a:before{text-shadow:0 0 8px #ff2b2b}
.status{font-family:var(--mono)}
.status b{text-shadow:0 0 8px rgba(255,43,43,.9)}

/* article body: glass reading deck */
.art h1{text-shadow:0 0 2px #fff,0 0 22px rgba(255,43,43,.4)}
.body h2{color:#fff;text-shadow:0 0 14px rgba(255,43,43,.4)}
.body h2:before{content:'// ';color:#ff2b2b;font-family:var(--mono);text-shadow:0 0 10px #ff2b2b}
.hero img,.body figure img,.gal img{box-shadow:0 0 0 1px rgba(255,43,43,.45),0 0 30px rgba(255,43,43,.25)}
.faq details{border-top-color:rgba(255,43,43,.3)}
.faq summary:hover{text-shadow:0 0 12px rgba(255,43,43,.8)}

/* inputs, maps, markets */
.sov input:focus{box-shadow:0 0 0 1px #ff2b2b,0 0 30px rgba(255,43,43,.5)}
.mk span{text-shadow:0 0 14px rgba(255,43,43,.6)}
.map{box-shadow:inset 0 0 60px rgba(255,20,30,.25)}
.hl li{border-bottom:1px solid rgba(255,64,64,.18)}
.mails a:hover{box-shadow:0 0 22px rgba(255,43,43,.4)}
footer{background:linear-gradient(180deg,rgba(36,7,8,.65),rgba(58,10,13,.75));box-shadow:0 -1px 0 rgba(255,43,43,.4),0 -12px 40px rgba(120,0,0,.3)}
@media (max-width:640px){.wrap:before{inset:6px;opacity:.55}.navs a{padding:9px 11px;margin:6px 1px}}
@media (prefers-reduced-motion:reduce){.word i,.tick .lbl,.lead .img:before{animation:none}}
.sh h2{position:relative;padding:0 26px}
.sh h2:before,.sh h2:after{position:absolute;top:0}
.sh h2:before{left:0}.sh h2:after{right:0}

/* v6: sealed archive */
.vaultlock{text-align:center;max-width:620px;margin:40px auto}
.vaultlock .lk-ico{width:84px;height:84px;margin:4px auto 18px;display:grid;place-items:center;border:1px solid #ff2b2b;border-radius:50%;color:#ff2b2b;
  box-shadow:0 0 26px rgba(255,43,43,.55),inset 0 0 22px rgba(255,43,43,.35);animation:burn 3.2s ease-in-out infinite}
.vaultlock .lk-ico svg{width:40px;height:40px;filter:drop-shadow(0 0 8px #ff2b2b)}
.vaultlock h1{margin-top:16px}

/* v8: language editions */
.lng{position:relative;font:400 12px/1 var(--mono);letter-spacing:.14em}
.lng summary{list-style:none;cursor:pointer;padding:5px 10px;border:1px solid rgba(255,64,64,.55);color:#fff;text-shadow:0 0 8px rgba(255,43,43,.9);
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);background:rgba(255,43,43,.14);box-shadow:inset 0 0 12px rgba(255,43,43,.3)}
.lng summary::-webkit-details-marker{display:none}
.lng[open] summary,.lng summary:hover{background:rgba(255,43,43,.35);box-shadow:0 0 16px rgba(255,43,43,.6)}
.lngs{position:absolute;z-index:60;top:calc(100% + 8px);right:0;width:min(320px,86vw);max-height:60vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:10px;
  background:rgba(42,9,9,.94);border:1px solid #ff2b2b;box-shadow:0 0 30px rgba(255,43,43,.4),0 20px 50px rgba(40,0,4,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);text-transform:none;letter-spacing:.02em}
.lngs a{padding:8px 10px;font:600 13.5px/1.2 var(--sans);color:var(--text);text-align:left}
.lngs a:hover,.lngs a.on{color:#fff;background:rgba(255,43,43,.28);text-shadow:0 0 10px #ff2b2b}
.tnote{margin:0 0 22px;padding:12px 14px;border:1px solid rgba(255,64,64,.35);background:rgba(255,43,43,.08);font:400 13px/1.6 var(--mono);color:var(--mute);text-align:center}
.tnote a{color:#ff6b5c;text-shadow:0 0 10px rgba(255,43,43,.55)}
[dir=rtl] .body,[dir=rtl] .card .b,[dir=rtl] .lead .txt{direction:rtl}
[dir=rtl] .lngs{right:auto;left:0}
.lngs{position:fixed;top:46px;left:50%;right:auto;transform:translateX(-50%)}
[dir=rtl] .lngs{left:50%;right:auto}

/* v13: old formats stay whole · videos */
.img.fit{position:relative;background:#2a0909}
.img.fit .bgx{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;filter:blur(22px) saturate(1.2) brightness(.5);transform:none}
.img.fit .fgx{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center 38%}
.lead .img.fit .fgx{object-position:center 32%}
.card:hover .img.fit .fgx,.lead:hover .img.fit .fgx{transform:none}
.hero.wide{max-width:860px}
.hero.wide img{aspect-ratio:auto;height:auto;object-fit:contain}
.body figure.wide{max-width:none}
.body figure img{height:auto}
.yt{position:relative;margin:28px auto;width:100%;aspect-ratio:16/9;border:1px solid rgba(255,64,64,.45);box-shadow:0 0 30px rgba(255,43,43,.25);background:#2a0909;overflow:hidden;border-radius:12px}
.yt.short{max-width:380px;aspect-ratio:9/16}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* v14: PAUL on top · top links · agents */
.paul{max-width:620px;margin:6px auto 30px;padding:24px 22px 22px;text-align:center}
.pl-eye{width:86px;height:86px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 45%,#ffd2c8 0 7%,#ff2b2b 16%,#a30616 38%,#3a0508 64%,#2a0909 72%);
  box-shadow:0 0 0 2px rgba(255,64,64,.55),0 0 26px rgba(255,43,43,.65),0 0 70px rgba(255,43,43,.3),inset 0 0 18px rgba(0,0,0,.6)}
.pl-eye i{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,#fff 0 18%,#ff6b5c 45%,rgba(255,43,43,0) 72%);filter:blur(.3px)}
.paul.talk .pl-eye{animation:speak .55s ease-in-out infinite alternate}
@keyframes speak{to{box-shadow:0 0 0 2px #ff2b2b,0 0 42px #ff2b2b,0 0 110px rgba(255,43,43,.55),inset 0 0 18px rgba(0,0,0,.6)}}
.pl-name{font:900 26px/1 var(--disp);letter-spacing:.32em;color:#fff;text-shadow:0 0 8px #ff2b2b,0 0 26px rgba(255,43,43,.7);padding-left:.32em}
.pl-role{margin:8px 0 16px;font:400 12px/1.4 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.pl-brief{margin:0 auto 14px}
.pl-ask{display:flex;gap:8px;max-width:520px;margin:0 auto}
.pl-ask input{flex:1;min-width:0;padding:13px 14px;border:1px solid rgba(255,64,64,.5);background:rgba(60,10,12,.55);color:#fff;font:600 15px/1.2 var(--sans);outline:none;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.pl-ask input:focus{box-shadow:0 0 0 1px #ff2b2b,0 0 22px rgba(255,43,43,.45)}
.pl-out{text-align:left;max-width:540px;margin:14px auto 0;font-size:16px;line-height:1.6;color:var(--text)}
.pl-out:empty{display:none}
.pl-out p{margin:0 0 10px}.pl-out .q{color:var(--mute);font-style:italic}
.pl-out ul{margin:6px 0 0;padding-left:18px}.pl-out li{margin:4px 0}
.pl-out a{color:#ff6b5c;text-shadow:0 0 10px rgba(255,43,43,.5)}
[dir=rtl] .pl-out{text-align:right}
.tlinks{display:inline-flex;gap:12px}
.tlinks a{color:var(--mute)}.tlinks a:hover{color:#fff;text-shadow:0 0 8px #ff2b2b}
@media (max-width:640px){.tlinks{display:none}}
.agents{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:10px}
.agent{padding:16px;text-align:center}
.agent b{display:block;font:900 18px/1 var(--disp);letter-spacing:.2em;color:#fff;text-shadow:0 0 12px rgba(255,43,43,.7)}
.agent .k{display:block;margin:8px 0;font:400 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ember)}
.agent p{margin:0 0 6px;font-size:15px!important;color:var(--mute)!important}.agent small{font:400 11.5px/1 var(--mono);color:var(--dim)}
@media (max-width:640px){.agents{grid-template-columns:1fr}}

/* v15: the dock (WOAH-style side drawer) */
.dock-tab{position:fixed;right:0;top:50%;z-index:70;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 9px 16px 11px;border:1px solid #ff2b2b;border-right:0;cursor:pointer;
  background:linear-gradient(180deg,rgba(255,43,43,.32),rgba(90,10,16,.85));color:#fff;clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 calc(100% - 10px),0 10px);
  box-shadow:0 0 26px rgba(255,43,43,.55),inset 0 0 14px rgba(255,120,110,.25);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.dock-tab i{width:7px;height:7px;border-radius:50%;background:#ff2b2b;box-shadow:0 0 10px #ff2b2b;animation:blink 1.4s steps(2) infinite}
.dock-tab span{writing-mode:vertical-rl;transform:rotate(180deg);font:900 11px/1 var(--disp);letter-spacing:.34em;text-shadow:0 0 8px #ff2b2b}
.dock-tab:hover{box-shadow:0 0 40px #ff2b2b,inset 0 0 18px rgba(255,120,110,.4)}
.dock-veil{position:fixed;inset:0;z-index:71;background:rgba(30,4,6,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.dock{position:fixed;top:0;right:0;bottom:0;z-index:72;width:min(380px,90vw);transform:translateX(105%);transition:transform .45s cubic-bezier(.2,.9,.2,1);
  background:linear-gradient(165deg,rgba(96,14,20,.78),rgba(36,7,9,.9) 60%,rgba(70,10,14,.86));border-left:1px solid #ff2b2b;
  box-shadow:-20px 0 60px rgba(40,0,4,.6),inset 1px 0 0 rgba(255,120,110,.25),-2px 0 30px rgba(255,43,43,.35);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%)}
.dock.on{transform:none}
.dock:before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,#ff2b2b,transparent);box-shadow:0 0 14px #ff2b2b;animation:dockscan 3s linear infinite}
@keyframes dockscan{0%{opacity:.4}50%{opacity:1}100%{opacity:.4}}
.dock-in{height:100%;overflow:auto;padding:20px 20px 30px}
.dock-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.dock-h .word{font-size:30px;animation:none}
.dock-x{width:40px;height:40px;border:1px solid #ff2b2b;background:rgba(255,43,43,.15);color:#fff;font-size:22px;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.dock-g{margin:14px 0;padding:12px 0 4px;border-top:1px solid rgba(255,64,64,.28)}
.dock-g b{display:block;margin-bottom:8px;font:400 11px/1 var(--mono);letter-spacing:.3em;text-transform:uppercase;color:#ff6b5c;text-shadow:0 0 8px rgba(255,43,43,.7)}
.dock-g a{display:block;padding:9px 10px;font:600 15px/1.25 var(--sans);color:var(--text);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.dock-g a:hover{color:#fff;background:rgba(255,43,43,.22);text-shadow:0 0 10px #ff2b2b}
.dock-langs{display:grid;grid-template-columns:1fr 1fr;column-gap:4px}.dock-langs b{grid-column:1/-1}
.dock-app .btn{display:flex;width:100%;justify-content:center;margin:6px 0}
.dock-app .btn .pdot{width:9px;height:9px;border-radius:50%;background:#7a2a2a}.dock-app .btn.on .pdot{background:#2BFF88;box-shadow:0 0 10px #2BFF88}
.dock-ios,.dock-note{margin:6px 0;font:400 12.5px/1.5 var(--mono);color:var(--mute)}
.dock .guard{margin:20px auto 0}
html.dock-open{overflow:hidden}
@media (max-width:640px){.dock-tab{padding:12px 7px 12px 9px}.dock-tab span{font-size:10px}}

/* v15: more armour — energy edges on panels, hex mesh in the field */
.panel{overflow:hidden}
.panel>.edge{display:none}
.panel:hover{box-shadow:inset 0 1px 0 rgba(255,160,150,.14),inset 0 0 50px rgba(255,20,30,.16),0 0 0 1px rgba(255,43,43,.6),0 0 38px rgba(255,43,43,.35),0 22px 60px rgba(60,0,4,.55)}
body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0L56 16v32L28 64 0 48V16zM28 64l28 16v32M28 64L0 80v32' fill='none' stroke='%23ff2b2b' stroke-opacity='.07' stroke-width='1'/%3E%3C/svg%3E"),radial-gradient(90% 60% at 50% -8%,#5a0d11 0%,#2a0909 42%,#1c0506 100%);background-attachment:fixed}
.dock [hidden]{display:none!important}
.credit{max-width:860px;margin:-14px auto 22px;text-align:center;font:400 11.5px/1.4 var(--mono);letter-spacing:.06em}.credit a{color:var(--dim)}.credit a:hover{color:#fff;text-shadow:0 0 8px #ff2b2b}

/* v18: breaking-news carousel (like the Renomex reel): the story in the middle, neighbours at the sides */
.rot.flow{--sw:min(400px,80vw);position:relative;max-width:none;height:calc(var(--sw)*16/9);overflow:hidden;outline:none}
.rot.flow .lead{display:block!important;position:absolute;top:0;left:50%;width:var(--sw);max-width:none;margin:0;transform:translateX(-50%) scale(.78);opacity:0;pointer-events:none;
  transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .6s,filter .6s;animation:none!important}
.rot.flow .lead.on{transform:translateX(-50%) scale(1);opacity:1;z-index:3;pointer-events:auto}
.rot.flow .lead.prev{transform:translateX(-142%) scale(.8);opacity:.42;z-index:2;pointer-events:auto;cursor:pointer;filter:saturate(.7) brightness(.8)}
.rot.flow .lead.next{transform:translateX(42%) scale(.8);opacity:.42;z-index:2;pointer-events:auto;cursor:pointer;filter:saturate(.7) brightness(.8)}
.rot.flow .lead.prev:hover,.rot.flow .lead.next:hover{opacity:.7}
.rot.flow .lead.on{box-shadow:0 0 0 1px #ff2b2b,0 0 50px rgba(255,43,43,.4),0 30px 80px rgba(40,0,4,.6)}
.rnav{position:absolute;top:50%;z-index:4;transform:translateY(-50%);width:48px;height:48px;border:1px solid #ff2b2b;background:rgba(42,9,9,.82);color:#fff;font-size:30px;line-height:1;cursor:pointer;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);box-shadow:inset 0 0 14px rgba(255,43,43,.35),0 0 20px rgba(255,43,43,.35);text-shadow:0 0 8px #ff2b2b}
.rnav:hover{background:rgba(255,43,43,.4);box-shadow:0 0 30px #ff2b2b}
.rnav.prev{left:calc(50% - var(--sw)/2 - 64px)}.rnav.next{right:calc(50% - var(--sw)/2 - 64px)}
@media (max-width:760px){.rot.flow .lead.prev,.rot.flow .lead.next{opacity:0;visibility:hidden}.rnav{width:40px;height:40px;font-size:24px}.rnav.prev{left:4px}.rnav.next{right:4px}}
/* network cards v21: logos shown whole, Confessio in its gold, CERBERUS badge */
.eco a.logo img{object-fit:contain;padding:22px 28px;background:radial-gradient(120% 120% at 50% 30%,rgba(120,10,24,.55),rgba(40,4,10,.85))}
.eco a.eco-confessio img{filter:sepia(.9) saturate(3.2) hue-rotate(-8deg) brightness(1.05)}
.eco a.eco-confessio b{color:#ffd23a;text-shadow:0 0 14px rgba(255,210,58,.45)}
.eco a.eco-confessio:hover{box-shadow:0 0 0 1px rgba(255,210,58,.5),0 0 28px rgba(255,210,58,.18)}
.guard img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(80,255,170,.55),0 0 18px rgba(80,255,170,.35)}
.dock .guard img{width:34px;height:34px}
/* v19 phone-first front page: swipe rows (TikTok-style), network first, short summaries */
.grid.row{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 54px)/4.2);gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:4px 2px 14px;scrollbar-width:thin;scrollbar-color:var(--blood) transparent}
.grid.row>*{scroll-snap-align:start}
.grid.row .card .img{aspect-ratio:4/5}
.grid.row .card h3{font-size:15.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.grid.row .card p{-webkit-line-clamp:2;font-size:13.5px}
.eco.row{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 70px)/6);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px}
.eco.row>a{scroll-snap-align:start;padding:12px}
.eco.row span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px}
.net-top{margin-top:22px}
.net-top .guard{margin-top:12px}
.tldr{margin:18px 0 0;padding:18px 22px;border:1px solid rgba(255,43,43,.35);border-left:4px solid var(--red);border-radius:var(--r);background:linear-gradient(135deg,rgba(142,13,20,.35),rgba(60,6,12,.35));backdrop-filter:blur(10px)}
.tldr b{display:block;font:900 12px/1 var(--disp);letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.tldr ul{margin:0;padding-left:20px}
.tldr li{margin:6px 0;font-size:16px;line-height:1.5;color:var(--white)}
.quick{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:34px 0 10px}
@media (max-width:980px){.grid.row{grid-auto-columns:calc((100% - 36px)/2.3)}.eco.row{grid-auto-columns:calc((100% - 28px)/3.2)}}
@media (max-width:620px){.grid.row{grid-auto-columns:64%;gap:12px}.eco.row{grid-auto-columns:42%;gap:10px}.sec{margin:30px 0}.tldr li{font-size:15px}}
.more{max-width:calc(100% - 24px);text-align:center;line-height:1.4}
/* v20: cards inside swipe rows are always visible (the scroll-in reveal hid the first cards on phones) */
.js .grid.row .panel.fold,.js .eco.row .panel.fold,.grid.row .panel,.eco.row .panel{opacity:1!important;transform:none!important;clip-path:none!important}
.grid.row,.eco.row{scroll-padding-left:2px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
/* v21: on phones every story is a full-screen 9:16 card (like the interviews), one per swipe */
@media (max-width:620px){.grid.row{grid-auto-columns:88%;gap:12px}.grid.row .card .img{aspect-ratio:9/16}.grid.row .card h3{font-size:19px;-webkit-line-clamp:4}.grid.row .card p{-webkit-line-clamp:3;font-size:14.5px}}
/* ===== v22 · SKYNET BULLETIN LAYER — news as if issued by the machine, 300 years from now ===== */
/* every story is a 9:16 transmission, like the interviews; the next one is cut off at the edge */
.grid.row{grid-auto-columns:clamp(250px,27%,360px)}
.grid.row .card .img{aspect-ratio:9/16}
.grid.row .card h3{font-size:18px;-webkit-line-clamp:4}
.grid.row .card p{display:-webkit-box;-webkit-line-clamp:3}
@media (max-width:980px){.grid.row{grid-auto-columns:46%}}
@media (max-width:620px){.grid.row{grid-auto-columns:86%}.grid.row .card h3{font-size:20px}.grid.row .card p{font-size:14.5px}}
/* the card as a glass terminal: HUD corners, scanlines, red duotone, live stamp */
.card{border:1px solid rgba(255,43,43,.45);box-shadow:0 0 0 1px rgba(255,43,43,.12),0 18px 50px rgba(90,0,0,.55),inset 0 0 40px rgba(255,20,30,.08)}
.card .img{position:relative}
.card .img:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px),linear-gradient(180deg,rgba(120,0,10,.15) 0%,transparent 30%,rgba(30,0,4,.55) 62%,rgba(20,0,3,.96) 100%);mix-blend-mode:normal}
.card .img img{filter:saturate(1.15) contrast(1.08)}
.card:hover .img img{filter:saturate(1.3) contrast(1.15) hue-rotate(-8deg)}
.card .tx{position:absolute;top:10px;left:10px;z-index:3;padding:5px 8px;font:400 10.5px/1 var(--mono);letter-spacing:.16em;color:#ffd9d4;
  background:rgba(40,0,6,.72);border:1px solid rgba(255,43,43,.6);box-shadow:0 0 14px rgba(255,43,43,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.card .tx:before{content:'';display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red);vertical-align:1px;animation:blink 1.1s steps(1) infinite}
.card .k{font-family:var(--mono);color:#ff5a4a;text-shadow:0 0 10px rgba(255,43,43,.8)}
.card .k:before{content:'▮ ';color:var(--red)}
.card h3{text-shadow:0 0 18px rgba(255,43,43,.35),0 2px 10px rgba(0,0,0,.9)}
.card h3.typing:after{content:'█';margin-left:2px;color:var(--red);animation:blink .55s steps(1) infinite}
/* section headers read like system transmissions */
.sh h2>span:first-child:before{content:'// ';color:var(--red);text-shadow:0 0 12px var(--red)}
.sh h2.decode{color:#fff;text-shadow:0 0 22px rgba(255,43,43,.9)}
/* network row: WireKnox wears the yellow, Confessio its own picture */
.eco a.eco-confessio img{filter:none}
.eco a.eco-confessio b{color:var(--white);text-shadow:none}
.eco a.eco-wireknox img{filter:saturate(1.2)}
.eco a.eco-wireknox b{color:#ffd23a;text-shadow:0 0 14px rgba(255,210,58,.45)}
.eco a.eco-wireknox:hover{box-shadow:0 0 0 1px rgba(255,210,58,.5),0 0 28px rgba(255,210,58,.18)}
@media (prefers-reduced-motion:reduce){.card .tx:before,.sh h2 small:after,.card h3.typing:after{animation:none}}
.net-top .sh h2 small:after{content:none}

/* ===== v23 MATRIX RED DIRECTIVE: tokens, no black dominance, dossier footer, reading width ===== */
:root{
  --blood-r:#D90024; --matrix-red:#FF173D; --signal-red:#FF3559; --scarlet:#FF5A69; --ember:#FF7A66;
  --deep-wine:#280711; --dark-crimson:#420C1A; --burgundy:#5B1425; --warm-graphite:#24151A;
  --glass-r:rgba(255,56,88,.10); --glass-strong:rgba(255,56,88,.17); --edge:rgba(255,79,108,.34); --pearl:#FFF1F3; --muted-r:#E4B9C1;
  --ox:#280711; --ox2:#420C1A; --ox3:#5B1425; --red:#FF173D; --crim:#D90024;
  --white:#FFF1F3; --mute:#E4B9C1; --line:rgba(255,79,108,.34); --line2:rgba(255,53,89,.58);
}
html,body{background:radial-gradient(120% 70% at 50% -10%,#5B1425 0%,#420C1A 38%,#280711 72%,#24151A 100%) fixed #280711}
.card .img{border:1px solid var(--edge);box-shadow:0 10px 40px rgba(217,0,36,.22),inset 0 0 0 1px rgba(255,241,243,.04)}
.card:hover .img,.card:focus-visible .img{border-color:var(--signal-red);box-shadow:0 0 0 1px var(--signal-red),0 0 34px rgba(255,23,61,.45)}
.card .b .dz{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid var(--edge);font:600 10.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-r)}
.card .b .dz b{padding:3px 7px;border:1px solid var(--signal-red);border-radius:3px;color:var(--pearl);background:var(--glass-strong);font-weight:700}
.card .b .dz i{margin-left:auto;font-style:normal;color:var(--scarlet)}
.card:hover .b .dz i{color:#fff;text-shadow:0 0 10px var(--matrix-red)}
.status .dot{background:var(--signal-red)}
.art .body p,.art .body h2,.art .body h3,.art .body ul,.art .body ol,.art .body blockquote,.art .tldr{max-width:70ch;margin-left:auto;margin-right:auto}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001s!important;animation-iteration-count:1!important;transition:none!important}}

/* ===== v29 BRIEFING PLAYER (full-screen news that switches by itself) — terminal HUD style ===== */
html.bp-on,html.bp-on body{overflow:hidden}
.bp{position:fixed;inset:0;z-index:9999;display:none;background:#140308;color:var(--pearl,#FFF1F3);font-family:var(--mono);overflow:hidden;touch-action:none}
.bp.on{display:block}
.bp-bg{position:absolute;inset:-30px;background:center/cover no-repeat;filter:blur(26px) brightness(.45) saturate(1.3)}
.bp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bp-img.fit{object-fit:contain}
@media (min-width:700px){.bp-img{left:50%;width:min(100%,calc(100dvh*9/16));transform:translateX(-50%);object-fit:cover;box-shadow:0 0 0 1px var(--edge),0 0 80px rgba(255,23,61,.35)}}
.bp-scan{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,23,61,.05) 0 1px,transparent 1px 3px),linear-gradient(180deg,rgba(20,3,8,.85) 0,transparent 22%,transparent 42%,rgba(20,3,8,.92) 78%)}
.bp.in .bp-img{animation:bpIn .55s cubic-bezier(.2,.7,.2,1)}
.bp.in .bp-panel{animation:bpUp .5s cubic-bezier(.2,.7,.2,1)}
@keyframes bpIn{from{opacity:0;transform:scale(1.06)}to{opacity:1}}
@media (min-width:700px){@keyframes bpIn{from{opacity:0;transform:translateX(-50%) scale(1.04)}to{opacity:1;transform:translateX(-50%)}}}
@keyframes bpUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.bp-top{position:absolute;left:0;right:0;top:0;padding:max(10px,env(safe-area-inset-top)) 14px 0;z-index:3}
.bp-bars{display:flex;gap:4px;max-width:720px;margin:0 auto}
.bp-bars i{flex:1;height:3px;background:rgba(255,241,243,.22);border-radius:2px;overflow:hidden}
.bp-bars i b{display:block;height:100%;width:0;background:var(--signal-red,#FF3559);box-shadow:0 0 8px var(--matrix-red,#FF173D)}
.bp-bars i.done b{width:100%!important}
.bp-hd{display:flex;align-items:center;justify-content:space-between;max-width:720px;margin:10px auto 0;font-size:11px;letter-spacing:.16em}
.bp-id{padding:5px 9px;border:1px solid var(--signal-red,#FF3559);background:rgba(40,7,17,.7);border-radius:4px}
.bp-x{width:44px;height:44px;border-radius:50%;border:1px solid var(--edge);background:rgba(40,7,17,.7);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.bp-tapl,.bp-tapr{position:absolute;top:90px;bottom:42%;z-index:2;cursor:pointer}
.bp-tapl{left:0;width:33%}.bp-tapr{right:0;width:67%}
.bp-panel{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 16px max(18px,env(safe-area-inset-bottom))}
.bp-panel>*{max-width:720px;margin-left:auto;margin-right:auto}
.bp-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-r,#E4B9C1)}
.bp-meta b{padding:3px 8px;background:var(--blood-r,#D90024);color:#fff;border-radius:3px}
.bp-t{margin-top:10px;font:800 clamp(24px,6.4vw,42px)/1.12 var(--sans);color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.6);overflow-wrap:anywhere}
.bp-t.typing:after{content:'▮';color:var(--signal-red,#FF3559);animation:bpBlink 1s steps(1) infinite}
@keyframes bpBlink{50%{opacity:0}}
.bp-p{margin-top:10px;font:400 clamp(15px,3.8vw,18px)/1.5 var(--sans);color:#f7dfe3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bp-act{display:flex;gap:10px;margin-top:14px}
.bp-open{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:8px;background:linear-gradient(90deg,#D90024,#FF3559);color:#fff;font:700 13px/1 var(--mono);letter-spacing:.18em;text-decoration:none;box-shadow:0 0 24px rgba(255,23,61,.45)}
.bp-pause{width:48px;min-height:48px;border-radius:8px;border:1px solid var(--edge);background:rgba(40,7,17,.75);color:#fff;font-size:14px;cursor:pointer}
.bp-next{margin-top:10px;padding-top:9px;border-top:1px solid var(--edge);font-size:11px;letter-spacing:.06em;color:#d9a9b2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-next span{color:var(--signal-red,#FF3559);letter-spacing:.16em}
.bp.paused .bp-id:after{content:' · PAUSED'}
.bp-play{position:fixed;left:14px;bottom:max(16px,env(safe-area-inset-bottom));z-index:900;display:flex;align-items:center;gap:8px;min-height:46px;padding:0 18px 0 14px;border-radius:24px;border:1px solid var(--signal-red,#FF3559);background:rgba(40,7,17,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font:700 12px/1 var(--mono);letter-spacing:.2em;cursor:pointer;box-shadow:0 0 22px rgba(255,23,61,.4)}
.bp-play span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--blood-r,#D90024);font-size:10px;letter-spacing:0}
html.bp-on .bp-play{display:none}

/* ===== v30 TikTok rule on phones: exactly ONE story on screen, one swipe = one story ===== */
@media (max-width:620px){
  .grid.row{grid-auto-columns:100%;gap:14px;scroll-snap-type:x mandatory;scroll-padding:0;padding-left:0;padding-right:0;scrollbar-width:none}
  .grid.row::-webkit-scrollbar{display:none}
  .grid.row>*{scroll-snap-align:center;scroll-snap-stop:always}
  .bp-play{padding:0;width:52px;min-height:52px;justify-content:center;border-radius:50%}
  .bp-play{font-size:0;letter-spacing:0}
  .bp-play span{width:34px;height:34px;font-size:12px}
}

/* ===== v32 justified text (Blocksatz) — clean left AND right edge, with hyphenation so there are no big gaps ===== */
.body p,.body li,.card .b p,.lead .txt p,.tldr li,.bp-p,.page .lede{text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:6 3 3}
.card h3,.lead .txt h2,.art h1,.bp-t{text-wrap:balance}

/* ===== v33 network adverts = exactly the size of a story card (9:16, same row width; one per screen on phones) ===== */
.net-top .eco.row{grid-auto-columns:clamp(250px,27%,360px);gap:18px}
.net-top .eco.row>a{position:relative;aspect-ratio:9/16;padding:0 18px 22px;overflow:hidden;justify-content:flex-end;align-items:flex-start;text-align:left;gap:8px;
  border:1px solid rgba(255,43,43,.45);background:radial-gradient(120% 80% at 50% 30%,#5B1425,#280711 70%)}
.net-top .eco.row>a img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;margin:0}
.net-top .eco.row>a.logo img{object-fit:contain;padding:22% 16% 45%;background:none}
.net-top .eco.row>a:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 40%,rgba(20,0,3,.6) 62%,rgba(20,0,3,.96) 100%)}
.net-top .eco.row>a>b,.net-top .eco.row>a>span{position:relative;z-index:1}
.net-top .eco.row>a>b{font-size:clamp(22px,2.2vw,28px);letter-spacing:.08em}
.net-top .eco.row>a>span{font-size:15px;line-height:1.45;color:#f3d6db;-webkit-line-clamp:3;text-align:left}
.net-top .eco.row>a:not(:has(img))>b{font-size:clamp(30px,3vw,40px)}
.net-top .eco.row>a:before{content:'AD · OUR NETWORK';position:absolute;top:14px;left:14px;z-index:1;padding:4px 8px;border:1px solid var(--signal-red,#FF3559);border-radius:3px;background:rgba(40,7,17,.75);font:600 10px/1 var(--mono);letter-spacing:.16em;color:#fff}
@media (max-width:980px){.net-top .eco.row{grid-auto-columns:46%}}
@media (max-width:620px){.net-top .eco.row{grid-auto-columns:100%;gap:14px;scrollbar-width:none}.net-top .eco.row>a{scroll-snap-align:center;scroll-snap-stop:always}}
.net-top .eco.row>a:after{width:auto;height:auto;right:0;bottom:0;border:0;border-radius:0;filter:none;z-index:0}
.net-top .eco.row>a:before{width:auto;height:auto;border:1px solid var(--signal-red,#FF3559);border-radius:3px;filter:none;white-space:nowrap}
.net-top .eco.row>a>b,.net-top .eco.row>a>span{text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 18px rgba(0,0,0,.8)}
@media (max-width:620px){.net-top .eco.row{padding-left:0;padding-right:0}}

/* ===== v34 New York Live cards ===== */
.lv .img img,.lv .img canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lv .img canvas{display:block}
.lv .tx .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#FF3559;margin-right:6px;box-shadow:0 0 8px #FF173D;animation:bpBlink 1.4s steps(1) infinite}

/* ===== v41 Google preferred source + WOAH follow (every page) ===== */
.prefbar{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px auto 6px;max-width:760px}
.pref{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px;border-radius:24px;text-decoration:none;font:600 14px/1.2 var(--sans)}
.pref.g{background:#fff;color:#1f1f1f;border:1px solid #dadce0;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.pref.g:hover{box-shadow:0 0 0 2px #FF3559,0 4px 16px rgba(255,23,61,.35)}
.pref.w{background:#FFFC00;color:#1a1200;border:1px solid #e6e300}
.pref.w b{font:900 15px/1 var(--disp);letter-spacing:.04em}
.body .prefbar{margin-top:28px}
.eco a.eco-woah b{color:#FFFC00;text-shadow:0 0 14px rgba(255,252,0,.4)}
.net-top .eco.row>a.eco-woah:not(:has(img)){background:radial-gradient(120% 80% at 50% 25%,#FFFC00 0,#c9a800 30%,#5B1425 70%,#280711)}
/* ===== Live TV ===== */
.tvpage .tvh{margin:30px 0 12px;font:700 13px/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--ember)}
.tvg{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.tvc{display:flex;flex-direction:column;gap:6px;padding:16px;text-decoration:none;color:var(--text);min-height:150px}
.tvc b{font:800 19px/1.2 var(--sans);color:#fff}
.tvc span{font-size:14px;color:var(--mute)}
.tvc em{margin-top:auto;font:700 12px/1 var(--mono);letter-spacing:.16em;color:#FF3559;font-style:normal}
.tvc .tvlive{font:600 10px/1.2 var(--mono);letter-spacing:.14em;color:#ff8a99}
.tvc .tvlive i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#FF3559;margin-right:6px;box-shadow:0 0 8px #FF173D}
.tvc:hover{box-shadow:0 0 0 1px #FF3559,0 0 28px rgba(255,23,61,.35)}
.tvnote{margin-top:24px;font-size:13px;color:var(--dim);text-align:center}
/* ===== SKYNET terminal ===== */
.sky{padding:18px;font-family:var(--mono);background:linear-gradient(180deg,rgba(91,20,37,.55),rgba(40,7,17,.85));border:1px solid rgba(255,53,89,.5)}
.skhd{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:10.5px;letter-spacing:.2em;color:#ff8a99;border-bottom:1px solid rgba(255,53,89,.4);padding-bottom:8px}
.skt1{margin:18px 0 4px;font:900 clamp(30px,6vw,56px)/1 var(--disp);color:#fff;letter-spacing:.04em;text-shadow:0 0 30px rgba(255,23,61,.6)}
.skt1 i{font-style:normal;color:#FF173D}
.sksub{font-size:11px;letter-spacing:.2em;color:#ff8a99;margin-bottom:14px}
.skcats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.skcats button{min-height:36px;padding:0 10px;border:1px solid rgba(255,53,89,.45);background:rgba(40,7,17,.7);color:#ffdfe4;font:600 10.5px/1 var(--mono);letter-spacing:.12em;border-radius:3px;cursor:pointer}
.skcats button.on{background:#D90024;color:#fff;border-color:#FF3559}
.skq{width:100%;min-height:46px;padding:0 14px;margin-bottom:12px;border:1px solid rgba(255,53,89,.6);background:rgba(20,3,8,.8);color:#fff;font:600 15px/1 var(--mono);letter-spacing:.06em;border-radius:4px}
.skl{max-height:70vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#D90024 transparent}
.sky.mini .skl{max-height:none}
.skr{display:grid;grid-template-columns:44px 74px 88px 150px 1fr 74px;gap:10px;align-items:center;padding:7px 4px;border-bottom:1px solid rgba(255,53,89,.12);text-decoration:none;color:#ffdfe4;font-size:12px}
.skr:hover{background:rgba(255,23,61,.12)}
.skr .ski{color:rgba(255,138,153,.5)}.skr .skx{color:#FF3559}.skr .skd{color:#ff8a99}.skr .skc{color:#e4b9c1;text-transform:uppercase;font-size:10.5px;letter-spacing:.08em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.skr .skt{font:600 14px/1.35 var(--sans);color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.skr .sks{font-size:10px;letter-spacing:.1em;color:rgba(255,138,153,.6);text-align:right}.skr .sks.on{color:#29D99A}
.skr.hide{display:none}
.skl[data-print] .skr{opacity:0;transform:translateX(-8px);transition:opacity .35s,transform .35s}
.skl[data-print] .skr.in{opacity:1;transform:none}
@media (max-width:760px){.skr{grid-template-columns:40px 1fr 64px;grid-template-areas:"i t s" "i m m";row-gap:2px}.skr .ski{grid-area:i}.skr .skt{grid-area:t;white-space:normal}.skr .sks{grid-area:s}.skr .skx,.skr .skc{display:none}.skr .skd{grid-area:m;font-size:10.5px}}
@media (prefers-reduced-motion:reduce){.skl[data-print] .skr{opacity:1;transform:none;transition:none}}
@media (max-width:620px){.sky.mini .skr:nth-child(n+9){display:none}}
/* v42 9:16 video adverts between the live channels */
.tvad{position:relative;width:min(360px,100%);margin:22px auto 6px;aspect-ratio:9/16;border:1px solid #FF3559;border-radius:12px;overflow:hidden;background:#280711;box-shadow:0 0 30px rgba(255,23,61,.3)}
.tvadl{position:absolute;top:10px;left:10px;z-index:2;padding:3px 8px;border:1px solid #FF3559;border-radius:3px;background:rgba(40,7,17,.8);font:700 10px/1 var(--mono);letter-spacing:.2em;color:#fff}
.tvadv{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer}
.tvadv img{width:100%;height:100%;object-fit:cover}
.tvadv i{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:rgba(217,0,36,.9);box-shadow:0 0 30px #FF173D}
.tvadv i:after{content:'';position:absolute;left:29px;top:22px;border-left:22px solid #fff;border-top:14px solid transparent;border-bottom:14px solid transparent}
.tvad iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ===== v43 Live TV cards (same 9:16 size as stories) + video adverts in the row ===== */
.tvcard .img{background:radial-gradient(120% 80% at 50% 25%,#7a1630 0,#420C1A 45%,#280711 80%)}
.tvcard .tvbig{position:absolute;left:0;right:0;top:32%;padding:0 18px;text-align:center;font:900 clamp(24px,2.6vw,34px)/1.1 var(--disp);color:#fff;letter-spacing:.04em;text-shadow:0 0 24px rgba(255,23,61,.7);z-index:1}
.tvcard .tx .dot,.tvadcard .tx .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#FF3559;margin-right:6px;box-shadow:0 0 8px #FF173D;animation:bpBlink 1.4s steps(1) infinite}
.tvadcard .img{position:relative;aspect-ratio:9/16}
.tvadcard .tvadv,.tvadcard iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tvadcard .tx{z-index:3}
/* ===== v43 ALIVE: slow living pictures, breathing glow, rows that move by themselves ===== */
@keyframes kb{0%{transform:scale(1.02) translate(0,0)}50%{transform:scale(1.12) translate(-2%,-1.5%)}100%{transform:scale(1.02) translate(0,0)}}
.grid.row .card .img>img:not(.bgx),.lead .img>img:not(.bgx){animation:kb 22s ease-in-out infinite;animation-play-state:paused}
.grid.row .card.inview .img>img:not(.bgx),.lead.on .img>img:not(.bgx){animation-play-state:running}
.grid.row .card:nth-child(3n+2) .img>img:not(.bgx){animation-duration:27s;animation-delay:-6s}
.grid.row .card:nth-child(3n) .img>img:not(.bgx){animation-duration:31s;animation-delay:-13s}
@keyframes breathe{0%,100%{box-shadow:0 0 0 1px rgba(255,43,43,.18),0 18px 50px rgba(90,0,0,.5)}50%{box-shadow:0 0 0 1px rgba(255,53,89,.55),0 0 34px rgba(255,23,61,.32)}}
.grid.row .card{animation:breathe 6s ease-in-out infinite}
.grid.row .card:nth-child(even){animation-delay:-3s}
.sh h2>span:first-child{animation:titleglow 5s ease-in-out infinite}
@keyframes titleglow{0%,100%{text-shadow:0 0 18px rgba(255,23,61,.35)}50%{text-shadow:0 0 30px rgba(255,23,61,.8)}}
@media (prefers-reduced-motion:reduce){.grid.row .card .img>img,.lead .img>img,.grid.row .card,.sh h2>span:first-child{animation:none}}
/* v45 live channels play muted inside their card while on screen */
.tvcard .img iframe.tvlive,.tvc iframe.tvlive{position:absolute;left:0;right:0;top:20%;width:100%;aspect-ratio:16/9;height:auto;border:0;pointer-events:none;z-index:1;box-shadow:0 0 30px rgba(255,23,61,.4)}
.tvcard.playing .tvbig{opacity:0}
.tvc{position:relative;overflow:hidden}
.tvc iframe.tvlive{position:relative;top:auto;margin:-16px -16px 6px;width:calc(100% + 32px)}
.tvsnd{position:absolute;right:10px;top:10px;z-index:3;min-height:34px;padding:0 10px;border:1px solid #FF3559;border-radius:4px;background:rgba(40,7,17,.85);color:#fff;font:700 10.5px/1 var(--mono);letter-spacing:.12em;cursor:pointer;display:none}
.tvcard.playing .tvsnd{display:block}
/* v46 live channels FULL 9:16: the live picture fills the whole card (sides cropped like a phone video), text stays on top */
.tvcard .img{aspect-ratio:9/16;overflow:hidden}
.tvcard .img iframe.tvlive{top:0;left:50%;width:calc(100% * 3.1605);height:100%;aspect-ratio:auto;transform:translateX(-50%);box-shadow:none;z-index:0}
.tvcard.playing .tvbig{display:none}
.tvcard .img:after{z-index:1}
.tvcard .b,.tvcard .tx,.tvcard .tvsnd{z-index:2}
.tvgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
@media (max-width:620px){.tvgrid{grid-template-columns:1fr}}
.tvcard .tx .dot{display:none}

/* v47 · RICH TVX brand picture softly behind every page */
.brandbg{position:fixed;inset:0;z-index:0;pointer-events:none;background:url(/assets/branding/rtvx-bg-wide.jpg?v=38) center 30%/cover no-repeat;opacity:.22;filter:saturate(1.15)}
.brandbg:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,7,17,.15) 0%,rgba(40,7,17,.55) 70%,rgba(40,7,17,.8) 100%)}
@media (orientation:portrait){.brandbg{background-image:url(/assets/branding/rtvx-bg-tall.jpg?v=38);background-position:center top;opacity:.26}}
.wrap,footer{position:relative;z-index:1}

/* v47 · app strip: install + breaking-news alerts */
.appbar{display:grid;grid-template-columns:54px 1fr;gap:6px 14px;align-items:center;margin:18px 0;padding:14px 16px;border:1px solid rgba(255,70,90,.35);border-radius:16px;
  background:linear-gradient(120deg,rgba(90,14,40,.82),rgba(40,8,52,.82));box-shadow:0 0 24px rgba(255,40,120,.12) inset}
.appbar img{border-radius:12px;box-shadow:0 0 14px rgba(255,60,160,.45)}
.appbar .ab-t b{display:block;font-size:1.02rem;letter-spacing:.04em}
.appbar .ab-t span{font-size:.86rem;opacity:.82}
.appbar .ab-b{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.appbar .ab-b .btn{min-height:44px}
.appbar .js-push .pdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#888;margin-right:8px;vertical-align:middle}
.appbar .js-push.on .pdot{background:#3dff8a;box-shadow:0 0 8px #3dff8a}
.appbar .ab-ios{font-size:.86rem;opacity:.9;line-height:1.45}
.appbar .ab-note{grid-column:1/-1;margin:0;font-size:.86rem;color:#ffd0d8}
.appbar.inapp .ab-t span:after{content:' · installed ✓'}
@media (min-width:760px){.appbar{grid-template-columns:54px 1fr auto}.appbar .ab-b{grid-column:auto;justify-content:flex-end}}

/* v48 · comments: readers + Nexus agents */
.cmt{margin:22px 0;padding:clamp(18px,4vw,30px);text-align:left}
.cmt-h h2{margin:0 0 4px;font-size:1.25rem;letter-spacing:.06em}
.cmt-h small{opacity:.7;font-size:.9rem}
.cmt-h p{margin:0 0 14px;font-size:.88rem;opacity:.8;text-align:left}
.cmt-i{padding:12px 14px;margin:0 0 10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.cmt-i.re{margin-left:clamp(14px,5vw,40px);border-left:2px solid rgba(255,60,80,.45)}
.cmt-i.nx{background:linear-gradient(120deg,rgba(255,40,70,.10),rgba(120,40,255,.08));border-color:rgba(255,70,100,.35)}
.cmt-who{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.86rem}
.cmt-who b{font-size:.95rem}
.cmt-badge{font:700 .66rem/1 var(--mono,monospace);letter-spacing:.12em;padding:4px 7px;border-radius:5px;background:#ff2b3c;color:#fff}
.cmt-role{font-size:.78rem;opacity:.75}
.cmt-who time{margin-left:auto;font-size:.78rem;opacity:.6}
.cmt-i p{margin:6px 0 2px;text-align:left;white-space:pre-line;line-height:1.55}
.cmt-rep{background:none;border:0;color:#ff7a88;font-size:.8rem;padding:4px 0;cursor:pointer}
.cmt-empty{opacity:.7;font-size:.9rem}
.cmt-f{display:grid;gap:10px;margin-top:16px}
.cmt-f input,.cmt-f textarea{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(20,4,10,.6);color:inherit;font:inherit;font-size:16px}
.cmt-f textarea{resize:vertical;min-height:84px}
.cmt-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.cmt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cmt-msg{font-size:.86rem;color:#ffd0d8}
.cmt-to{font-size:.85rem;opacity:.85}.cmt-to button{background:none;border:0;color:#ff7a88;cursor:pointer;padding:0}
.cmt-fine{margin:0;font-size:.76rem;opacity:.6;text-align:left}
.cmt-av{width:40px;height:40px;border-radius:11px;flex:0 0 40px;object-fit:cover;box-shadow:0 0 10px rgba(255,60,120,.35)}
.cmt-av.rd{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.05rem;background:linear-gradient(135deg,#7a1630,#3b1258);color:#fff;border-radius:50%}
.cmt-i.re .cmt-av{width:32px;height:32px;flex-basis:32px}

/* v51 · CERBERUS page (green guardian HUD over the three-headed guardian) */
.cerbbg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:url(/assets/branding/cerberus-guardian.jpg) center 30%/cover no-repeat}
.cerbbg:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,22,18,.35) 0%,rgba(3,22,18,.62) 45%,rgba(3,18,16,.9) 100%)}
@media (max-width:760px){.cerbbg{background:#04201a url(/assets/branding/cerberus-guardian-m.jpg) center 150px/100% auto no-repeat}.cerb .cb-hero{min-height:70vh}}
.cerb{position:relative;z-index:1;color:#e6fff2}
.cerb .cb-hero{min-height:62vh;display:flex;flex-direction:column;justify-content:flex-end;text-align:center;padding:40px 0 30px}
.cerb .cb-k{font:600 .8rem/1.4 var(--mono,monospace);letter-spacing:.22em;color:#7dffb5;margin:0 0 6px;text-align:center}
.cerb .cb-live{color:#3dff8a;animation:cbblink 1.6s steps(2) infinite}
@keyframes cbblink{50%{opacity:.25}}
.cerb h1{font-size:clamp(3rem,13vw,7.5rem);letter-spacing:.14em;margin:0;line-height:1;color:#eafff3;text-shadow:0 0 18px rgba(61,255,138,.75),0 0 60px rgba(0,255,170,.35)}
.cerb .cb-lede{font-size:clamp(1.02rem,3.6vw,1.3rem);margin:14px auto 0;max-width:640px;color:#c9ffe1;text-align:center}
.cerb .cb-panel,.cerb .cb-head,.cerb .cb-end{background:rgba(4,30,24,.78);border:1px solid rgba(61,255,138,.35);border-radius:16px;box-shadow:0 0 30px rgba(0,255,150,.08) inset;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.cerb .cb-panel{padding:clamp(18px,4vw,30px);margin:18px 0}
.cerb h2{color:#7dffb5;letter-spacing:.08em;font-size:1.25rem;margin:0 0 10px}
.cerb p,.cerb li{text-align:left;line-height:1.65}
.cerb .cb-heads{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
@media (max-width:820px){.cerb .cb-heads{grid-template-columns:1fr}}
.cerb .cb-head{padding:20px;text-align:center}
.cerb .cb-head b{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;border:1px solid #3dff8a;color:#3dff8a;font:700 1rem var(--mono,monospace);box-shadow:0 0 14px rgba(61,255,138,.5)}
.cerb .cb-head h3{margin:10px 0 0;font-size:1.25rem;letter-spacing:.1em;text-transform:uppercase}
.cerb .cb-head .cb-sub{text-align:center;margin:2px 0 8px;color:#7dffb5;font-size:.85rem;letter-spacing:.08em}
.cerb .cb-rules{padding-left:1.3em;margin:0 0 12px}.cerb .cb-rules li{margin:0 0 8px}
.cerb .cb-badge{font:700 .66rem/1 var(--mono,monospace);letter-spacing:.12em;padding:4px 7px;border-radius:5px;background:#ff2b3c;color:#fff;vertical-align:middle}
.cerb a{color:#7dffb5}
.cerb .cb-end{text-align:center;padding:28px 18px;margin:18px 0 30px}
.cerb .cb-watch{text-align:center;font:700 clamp(1.2rem,5vw,2rem)/1.2 var(--mono,monospace);letter-spacing:.18em;color:#3dff8a;text-shadow:0 0 14px rgba(61,255,138,.7);margin:0 0 16px}
.cerb .cb-end .btn{display:inline-block;margin:0 0 12px}
.cerb .cb-end .more{display:block}
/* the notice in every comment box */
.cmt-cerb{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid rgba(61,255,138,.4);background:rgba(4,30,24,.55);text-decoration:none;color:#c9ffe1}
.cmt-cerb img{border-radius:9px;box-shadow:0 0 10px rgba(61,255,138,.5);flex:0 0 38px}
.cmt-cerb span{font-size:.82rem;line-height:1.4;text-align:left}.cmt-cerb b{display:block;color:#3dff8a;letter-spacing:.14em;font-size:.78rem}

/* v52 · RICH TVX NEWS · BROADCAST WATCH (top of every footer) */
.bw{max-width:860px;margin:0 auto 26px;text-align:left;background:linear-gradient(160deg,rgba(60,6,12,.88),rgba(28,4,10,.92));border:1px solid rgba(255,43,60,.6);border-radius:16px;
  box-shadow:0 0 26px rgba(255,0,30,.22),inset 0 0 22px rgba(255,0,30,.08);padding:16px clamp(14px,3vw,22px);font-family:var(--mono,monospace)}
.bw-h{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.bw-h b{display:block;font:700 clamp(.82rem,2.6vw,1rem)/1.3 var(--display,var(--sans));letter-spacing:.14em;color:#fff;text-shadow:0 0 8px rgba(255,40,60,.7)}
.bw-h small{display:block;color:#ff8a96;font-size:.74rem;letter-spacing:.04em}
.bw-dot{flex:0 0 12px;width:12px;height:12px;border-radius:50%;background:#ff2b3c;box-shadow:0 0 0 0 rgba(255,43,60,.7);animation:bwp 1.8s infinite}
@keyframes bwp{70%{box-shadow:0 0 0 10px rgba(255,43,60,0)}100%{box-shadow:0 0 0 0 rgba(255,43,60,0)}}
.bw-list{list-style:none;margin:0;padding:0;max-height:none}
.bw-list li{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:baseline;padding:8px 10px;margin:0 0 6px;border-left:3px solid #ff2b3c;background:rgba(255,40,60,.07);border-radius:0 8px 8px 0}
.bw-list li.in{animation:bwin .55s ease-out}
@keyframes bwin{from{opacity:0;transform:translateY(-8px);background:rgba(255,40,60,.25)}to{opacity:1;transform:none}}
.bw-tag{font-size:.66rem;font-weight:700;letter-spacing:.1em;color:#ff2b3c;border:1px solid rgba(255,43,60,.6);border-radius:4px;padding:2px 5px;white-space:nowrap}
.bw-list a{color:#ffe3e6;text-decoration:none;font-family:var(--sans);font-size:.92rem;line-height:1.4;text-align:left}
.bw-list a:hover{color:#fff;text-decoration:underline}
.bw-list time{font-size:.7rem;color:#ff8a96;white-space:nowrap}
@media (max-width:560px){.bw-list li{grid-template-columns:auto 1fr}.bw-list time{grid-column:2}}
.bw-f{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.bw-src{font-size:.66rem;color:#c98890;letter-spacing:.06em;line-height:1.5}
.bw-more{background:none;border:1px solid rgba(255,43,60,.6);color:#ffb3bb;border-radius:6px;padding:6px 12px;font:600 .72rem var(--mono,monospace);letter-spacing:.08em;cursor:pointer}

/* v53 · About page: RICH TVX brand picture as the background */
.aboutbg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:url(/assets/branding/about-bg-wide.jpg) center/cover no-repeat}
.aboutbg:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,4,12,.45) 0%,rgba(30,4,12,.72) 50%,rgba(26,4,10,.9) 100%)}
@media (orientation:portrait){.aboutbg{background-image:url(/assets/branding/about-bg-tall.jpg);background-position:center top}}
.about{position:relative;z-index:1}
.about .ab-hero{min-height:56vh;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:30px 0 24px}
.about .ab-break{display:inline-block;background:linear-gradient(90deg,#ff1a2e,#ff7a5c);color:#fff;font:700 .8rem/1 var(--mono,monospace);letter-spacing:.16em;padding:9px 14px;border-radius:6px;text-decoration:none;box-shadow:0 0 16px rgba(255,30,50,.6)}
.about h1{font-size:clamp(2rem,8vw,4rem);margin:14px 0 4px;color:#fff;text-shadow:0 0 18px rgba(255,30,50,.8)}
.about .ab-k{margin:0;color:#ff6b78;letter-spacing:.2em;font:600 .82rem var(--mono,monospace);text-align:center}
.about .ab-lede{margin:12px 0 0;color:#ffd6db;text-align:center}
.about .ab-lede a{color:#ff8a96}
.about .ab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:10px 0 16px}
@media (max-width:760px){.about .ab-grid{grid-template-columns:1fr}}
.about .ab-card{background:rgba(70,8,18,.62);border:1px solid rgba(255,43,60,.55);border-radius:14px;padding:clamp(16px,3.5vw,26px);box-shadow:0 0 18px rgba(255,0,30,.18),inset 0 0 18px rgba(255,0,30,.06);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.about .ab-card h2{margin:0 0 8px;color:#ff6b78;font-size:1.02rem;letter-spacing:.1em;text-transform:uppercase;text-align:center;border-bottom:1px dashed rgba(255,107,120,.6);padding-bottom:6px}
.about .ab-card p{margin:0;color:#f3e4e6;text-align:justify;line-height:1.65}
.about .ab-faq details{border-top:1px solid rgba(255,43,60,.3);padding:10px 0}
.about .ab-faq summary{cursor:pointer;color:#ff4d5e;font-weight:700;list-style-position:outside}
.about .ab-faq details p{margin-top:8px}
.about .ab-fine{margin:16px 0 30px}.about .ab-fine a{color:#ff8a96}
.about .ab-c{text-align:center!important;margin-top:14px!important}

/* v54 · the front-page headline: "RICHTVX is the official news. They are the alternative." */
.slogan{text-align:center;margin:18px auto 22px;padding:22px 16px 20px;max-width:980px;position:relative;border-top:1px solid rgba(255,43,60,.55);border-bottom:1px solid rgba(255,43,60,.55);
  background:linear-gradient(90deg,transparent,rgba(255,30,50,.14) 20%,rgba(255,30,50,.14) 80%,transparent)}
.slogan .sl-k{margin:0 0 8px;text-align:center;font:600 clamp(.66rem,2.4vw,.8rem)/1.2 var(--mono,monospace);letter-spacing:.32em;text-transform:uppercase;color:#ff6b78}
.slogan .sl-h{margin:0;font:800 clamp(1.45rem,6.2vw,3.1rem)/1.12 var(--display,var(--sans));letter-spacing:.02em;color:#fff;text-shadow:0 0 18px rgba(255,30,50,.7)}
.slogan .sl-h span{display:inline-block}
.slogan .sl-alt{color:#ff2b3c;text-shadow:0 0 22px rgba(255,30,50,.9);animation:slflick 7s infinite}
@keyframes slflick{0%,92%,100%{opacity:1}93%{opacity:.35}94%{opacity:1}96%{opacity:.6}97%{opacity:1}}
@media (prefers-reduced-motion:reduce){.slogan .sl-alt{animation:none}}
/* v55 · friendly "moved" page instead of an error */
.moved{text-align:center}.moved .mv-k{font:600 .78rem var(--mono,monospace);letter-spacing:.22em;color:#ff6b78;text-align:center;margin:0 0 8px}
.moved .lede{text-align:center}.moved .mv-b{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}

/* v56 · front-page FAQ (first question open) + Defending Democracy */
.faqf .faqf-l{max-width:900px;margin:0 auto}
.faqf details{background:rgba(70,8,18,.55);border:1px solid rgba(255,43,60,.45);border-radius:12px;margin:0 0 10px;padding:0 16px;transition:background .2s}
.faqf details[open]{background:rgba(90,10,24,.7);box-shadow:0 0 18px rgba(255,0,30,.18)}
.faqf summary{cursor:pointer;padding:14px 0;font-weight:700;color:#fff;list-style:none;position:relative;padding-right:28px;text-align:left}
.faqf summary::-webkit-details-marker{display:none}
.faqf summary:after{content:'+';position:absolute;right:2px;top:10px;font:400 1.5rem/1 var(--mono,monospace);color:#ff2b3c}
.faqf details[open] summary:after{content:'−'}
.faqf details p{margin:0 0 14px;color:#f3e4e6;text-align:justify;line-height:1.65}
.faqf .more{display:block;text-align:center;margin-top:8px}
.about .faq-all summary{padding:4px 0}
.about .dd-end{text-align:center}.about .dd-bury{text-align:center!important;font:800 clamp(1.6rem,6vw,2.6rem)/1.1 var(--display,var(--sans));color:#ff2b3c;text-shadow:0 0 20px rgba(255,30,50,.8);margin:6px 0 14px!important}

/* v58 · front page: the voice they could not silence */
.voice{max-width:980px;margin:34px auto;text-align:center;padding:clamp(22px,5vw,40px) clamp(16px,4vw,34px);border-radius:18px;
  background:radial-gradient(120% 90% at 50% 0%,rgba(255,30,50,.22),rgba(40,6,14,.85) 60%);border:1px solid rgba(255,43,60,.55);box-shadow:0 0 30px rgba(255,0,30,.2)}
.voice .vc-k{margin:0 0 14px;text-align:center;font:600 clamp(.7rem,2.5vw,.85rem)/1.3 var(--mono,monospace);letter-spacing:.3em;color:#ff6b78}
.voice .vc-q{margin:44px auto 24px;max-width:760px;position:relative;padding:8px 10px 0}
.voice .vc-q:before{content:'\201C';position:absolute;left:50%;top:-34px;transform:translateX(-50%);font:700 5rem/1 Georgia,serif;color:rgba(255,43,60,.55)}
.voice .vc-q p{margin:0;text-align:center;font:600 clamp(1.3rem,5vw,2.1rem)/1.3 var(--display,var(--sans));color:#fff;text-shadow:0 0 16px rgba(255,30,50,.6)}
.voice .vc-q footer{margin-top:12px;font-size:.86rem;color:#ffb3bb;text-align:center;background:none;box-shadow:none;border:0;padding:0}
.voice .vc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left}
@media (max-width:760px){.voice .vc-grid{grid-template-columns:1fr}}
.voice .vc-c{background:rgba(70,8,18,.6);border:1px solid rgba(255,43,60,.4);border-radius:12px;padding:16px 18px}
.voice .vc-c h2{margin:0 0 8px;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:#ff6b78;text-align:center}
.voice .vc-c p{margin:0;text-align:justify;color:#f3e4e6;line-height:1.65}
.voice .more{display:inline-block;margin-top:16px}
/* New York weather */
.status .wx b{color:var(--white)}.status .wx i{font-style:normal}
@media (max-width:700px){.status .wx i{display:none}}
.wxp{display:flex;gap:18px;align-items:stretch;flex-wrap:wrap;padding:18px;font-family:var(--mono)}
.wx-now{display:flex;flex-direction:column;justify-content:center;min-width:130px;padding-right:18px;border-right:1px solid var(--line)}
.wx-now b{font:900 40px/1 Orbitron,var(--mono);color:var(--white)}.wx-now span{color:var(--mute);margin-top:6px}.wx-now em{font-style:normal;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--ember,#ff2b2b);margin-top:8px}
.wx-fc{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.wx-fc div{display:flex;flex-direction:column;gap:4px}.wx-fc small{text-transform:uppercase;letter-spacing:.14em;color:var(--mute);font-size:11px}
.wx-fc b{font-size:20px;color:var(--white)}.wx-fc span{color:var(--mute);font-size:12px}.wx-fc em{font-style:normal;font-size:12px;color:var(--white);opacity:.85}
@media (max-width:700px){.wx-now{border-right:0;padding-right:0;border-bottom:1px solid var(--line);padding-bottom:12px;width:100%;align-items:center}.wxp{justify-content:center;text-align:center}}
