1<!DOCTYPE html> 2<html lang="en"> 3<head> 4<meta name="google-adsense-account" content="ca-pub-5923306697006320"> 5<meta charset="UTF-8"> 6<title>Segmenters | World News & Global Business Intelligence</title> 7<meta name="description" content="Segmenters world news covering international business, global markets, companies, trade, economic developments and emerging commercial trends."> 8<meta name="keywords" content="Segmenters, segmenters.com, world news, global business, international business, global markets, companies, trade, economic developments"> 9<link rel="canonical" href="https://segmenters.com/worldnews/"> 10<meta property="og:title" content="Segmenters | World News & Global Business Intelligence"> 11<meta property="og:description" content="Segmenters world news covering international business, global markets, companies, trade, economic developments and emerging commercial trends."> 12<meta property="og:type" content="website"> 13<meta property="og:url" content="https://segmenters.com/worldnews/"> 14<meta name="viewport" content="width=device-width, initial-scale=1.0"> 15<meta name="robots" content="index,follow"> 16<meta name="theme-color" content="#0b3954"> 17<style> 18@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;600;700;800;900&display=swap'); 19 20:root{ 21 --navy:#071827; 22 --navy2:#0c263d; 23 --blue:#096fae; 24 --electric:#1597d4; 25 --gold:#e6b547; 26 --paper:#f3f5f7; 27 --graphite:#17212b; 28 --line:#d8dfe5; 29 --white:#fff; 30 --red:#c73b42; 31} 32 33*{box-sizing:border-box} 34html,body{margin:0;padding:0} 35body{ 36 font-family:Inter,Arial,sans-serif; 37 background:linear-gradient(180deg,#eef2f5,#fff); 38 color:#111d27; 39} 40a{text-decoration:none;color:inherit} 41img{display:block;max-width:100%} 42 43/* ========================================================= 44 HEADER 45 ========================================================= */ 46 47.header{ 48 background: 49 linear-gradient(90deg,rgba(5,19,33,.97),rgba(10,42,69,.95) 55%,rgba(13,83,126,.82)), 50 url('https://images.unsplash.com/photo-1522083165195-3424ed129620?auto=format&fit=crop&w=1800&q=88') 51 center/cover; 52 color:#fff; 53 border-bottom:4px solid var(--gold); 54} 55 56.header-inner{ 57 max-width:1400px; 58 margin:auto; 59 padding:14px 18px; 60 display:grid; 61 grid-template-columns:430px 1fr; 62 gap:24px; 63 align-items:center; 64} 65 66.brand{display:flex;gap:14px;align-items:center} 67 68.badge{ 69 width:64px; 70 height:64px; 71 display:flex; 72 align-items:center; 73 justify-content:center; 74 border:3px solid rgba(255,255,255,.80); 75 background:#08263a; 76 color:var(--gold); 77 font-weight:900; 78 font-size:21px; 79} 80 81.site-title{ 82 font-size:46px; 83 line-height:.94; 84 font-weight:900; 85 letter-spacing:-2px; 86} 87 88.tagline{ 89 margin-top:6px; 90 font-size:14px; 91 font-weight:800; 92} 93 94.top-panel{ 95 min-height:92px; 96 padding:13px 16px; 97 display:flex; 98 align-items:center; 99 justify-content:space-between; 100 border:2px solid var(--gold); 101 background: 102 linear-gradient(90deg,rgba(8,23,37,.95),rgba(15,87,132,.75)), 103 url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1500&q=85') 104 center/cover; 105} 106 107.top-panel small{ 108 display:block; 109 font-size:10px; 110 font-weight:900; 111 text-transform:uppercase; 112 letter-spacing:.08em; 113} 114 115.top-panel strong{ 116 display:block; 117 margin-top:4px; 118 color:#f5cf68; 119 font-size:27px; 120 line-height:1; 121 font-weight:900; 122 text-transform:uppercase; 123} 124 125.top-panel b{ 126 padding:11px 15px; 127 background:var(--gold); 128 color:#091725; 129 font-size:10px; 130 text-transform:uppercase; 131} 132 133/* ========================================================= 134 NAV 135 ========================================================= */ 136 137.nav{ 138 background:#0b3654; 139 border-bottom:4px solid var(--electric); 140} 141 142.nav-inner{ 143 max-width:1400px; 144 margin:auto; 145 display:flex; 146 overflow-x:auto; 147} 148 149.nav a,.nav-time{ 150 padding:15px 17px; 151 color:#fff; 152 font-size:12px; 153 font-weight:900; 154 text-transform:uppercase; 155 white-space:nowrap; 156 border-right:1px solid rgba(255,255,255,.12); 157} 158 159.nav a.active{ 160 background:linear-gradient(180deg,#eac55e,#d7a93c); 161 color:#081827; 162} 163 164.nav-time{margin-left:auto} 165 166/* ========================================================= 167 PAGE 168 ========================================================= */ 169 170.page{ 171 max-width:1400px; 172 margin:auto; 173 padding:14px; 174 display:grid; 175 grid-template-columns:minmax(0,1fr) 330px; 176 gap:17px; 177 align-items:start; 178} 179 180.business-main{min-width:0} 181 182/* ========================================================= 183 GLOBAL BUSINESS DESK 184 ========================================================= */ 185 186.business-desk{ 187 padding:13px; 188 border:1px solid #b7cad7; 189 background:linear-gradient(145deg,#f8fafc,#edf3f7); 190 box-shadow:0 12px 30px rgba(5,32,53,.09); 191} 192 193.desk-kicker{ 194 display:inline-block; 195 margin-bottom:11px; 196 padding:8px 13px; 197 background:#0b3654; 198 color:#fff; 199 font-size:9px; 200 font-weight:900; 201 letter-spacing:.10em; 202 text-transform:uppercase; 203} 204 205.desk-layout{ 206 display:grid; 207 grid-template-columns:minmax(0,1.7fr) minmax(270px,.72fr); 208 gap:12px; 209} 210 211.business-lead{ 212 position:relative; 213 min-height:470px; 214 overflow:hidden; 215 border:2px solid var(--gold); 216 background:#071827; 217} 218 219.business-lead a{ 220 position:absolute; 221 inset:0; 222 color:#fff; 223} 224 225.business-lead img{ 226 width:100%; 227 height:100%; 228 object-fit:cover; 229} 230 231.business-lead:after{ 232 content:""; 233 position:absolute; 234 inset:0; 235 pointer-events:none; 236 background:linear-gradient(0deg,rgba(4,18,31,.97),rgba(4,18,31,.08) 69%); 237} 238 239.lead-copy{ 240 position:absolute; 241 z-index:2; 242 left:22px; 243 right:22px; 244 bottom:22px; 245} 246 247.lead-copy span{ 248 display:inline-block; 249 padding:6px 9px; 250 background:var(--red); 251 font-size:9px; 252 font-weight:900; 253 text-transform:uppercase; 254} 255 256.lead-copy h2{ 257 max-width:94%; 258 margin:9px 0 0; 259 font-size:35px; 260 line-height:1.02; 261 letter-spacing:-1.2px; 262} 263 264.lead-copy p{ 265 max-width:88%; 266 margin:9px 0 0; 267 color:#dceaf3; 268 font-size:13px; 269 line-height:1.42; 270} 271 272.source{ 273 margin-top:8px; 274 color:#f4c85c; 275 font-size:9px; 276 font-weight:900; 277 text-transform:uppercase; 278} 279 280.secondary{ 281 display:grid; 282 grid-template-rows:1fr 1fr; 283 gap:12px; 284} 285 286.secondary-card{ 287 position:relative; 288 min-height:225px; 289 overflow:hidden; 290 border:2px solid #2e789f; 291 background:#071827; 292} 293 294.secondary-card a{ 295 position:absolute; 296 inset:0; 297 color:#fff; 298} 299 300.secondary-card img{ 301 width:100%; 302 height:100%; 303 object-fit:cover; 304} 305 306.secondary-card:after{ 307 content:""; 308 position:absolute; 309 inset:0; 310 pointer-events:none; 311 background:linear-gradient(0deg,rgba(4,26,40,.97),rgba(4,26,40,.04) 72%); 312} 313 314.secondary-copy{ 315 position:absolute; 316 z-index:2; 317 left:14px; 318 right:14px; 319 bottom:13px; 320} 321 322.secondary-copy span{ 323 color:#f4c85c; 324 font-size:8px; 325 font-weight:900; 326 text-transform:uppercase; 327} 328 329.secondary-copy h3{ 330 margin:5px 0 0; 331 font-size:18px; 332 line-height:1.08; 333} 334 335/* ========================================================= 336 BUSINESS PULSE 337 ========================================================= */ 338 339.business-pulse{ 340 margin-top:15px; 341 padding:14px; 342 background:#fff; 343 border:1px solid #d4dde3; 344 box-shadow:0 8px 22px rgba(5,36,59,.06); 345} 346 347.pulse-head{ 348 display:flex; 349 justify-content:space-between; 350 align-items:end; 351 margin-bottom:11px; 352} 353 354.pulse-head span{ 355 color:#c43b43; 356 font-size:9px; 357 font-weight:900; 358 text-transform:uppercase; 359} 360 361.pulse-head h2{ 362 margin:2px 0 0; 363 color:#0a4166; 364 font-size:24px; 365} 366 367.pulse-head strong{ 368 color:#6c7d89; 369 font-size:9px; 370 text-transform:uppercase; 371} 372 373.pulse-grid{ 374 display:grid; 375 grid-template-columns:repeat(4,1fr); 376 gap:10px; 377} 378 379.pulse-card{ 380 overflow:hidden; 381 border:1px solid #d5dfe5; 382 background:#fff; 383} 384 385.pulse-card img{ 386 width:100%; 387 height:120px; 388 object-fit:cover; 389} 390 391.pulse-copy{padding:9px} 392 393.pulse-card h3{ 394 margin:0; 395 font-size:13px; 396 line-height:1.16; 397} 398 399.byline{ 400 margin-top:7px; 401 color:#176d9b; 402 font-size:8px; 403 font-weight:900; 404 text-transform:uppercase; 405} 406 407/* ========================================================= 408 GLOBAL BUSINESS REPORT 409 ========================================================= */ 410 411.report-head{ 412 display:flex; 413 justify-content:space-between; 414 align-items:end; 415 gap:10px; 416 margin:19px 0 10px; 417} 418 419.report-head span{ 420 color:#c43b43; 421 font-size:9px; 422 font-weight:900; 423 text-transform:uppercase; 424} 425 426.report-head h2{ 427 margin:3px 0 0; 428 color:#0b3d5d; 429 font-size:27px; 430} 431 432.report-chips{ 433 display:flex; 434 gap:5px; 435 flex-wrap:wrap; 436} 437 438.report-chips b{ 439 padding:6px 9px; 440 background:#eaf1f5; 441 border:1px solid #cad9e1; 442 color:#315f78; 443 font-size:8px; 444 text-transform:uppercase; 445} 446 447.news-grid{ 448 display:grid; 449 grid-template-columns:repeat(4,minmax(0,1fr)); 450 gap:12px; 451} 452 453.news-card{ 454 position:relative; 455 min-height:260px; 456 overflow:hidden; 457 background:#fff; 458 border:0; 459 box-shadow:0 7px 19px rgba(8,39,59,.09); 460} 461 462.news-card:before{ 463 content:""; 464 position:absolute; 465 z-index:3; 466 left:0;right:0;top:0; 467 height:5px; 468 background:linear-gradient(90deg,#0c5f91,#1597d4,#e3b447,#b72f39); 469} 470 471.news-card img{ 472 width:100%; 473 height:155px; 474 object-fit:cover; 475} 476 477.news-body{padding:11px} 478 479.news-card h3{ 480 margin:0 0 8px; 481 font-size:14px; 482 line-height:1.18; 483} 484 485/* ========================================================= 486 RIGHT RAIL 487 EXACT STACK: 488 BUSINESS BRIEF 489 AD1 490 AD2 491 ASK SAM 492 AD3 493 AD4 494 GLOBAL BUSINESS WATCH 495 ABOUT 496 ========================================================= */ 497 498.business-sidebar{
499 display:flex; 500 flex-direction:column; 501 align-items:center; 502 gap:14px; 503 width:330px; 504} 505 506.business-sidebar > section{width:100%} 507 508/* BUSINESS BRIEF */ 509 510.business-brief{ 511 min-height:620px; 512 overflow:hidden; 513 padding:15px; 514 border:3px solid var(--gold); 515 background:linear-gradient(155deg,#0b4366,#071e32); 516 color:#fff; 517 box-shadow:0 13px 30px rgba(6,32,49,.20); 518} 519 520.business-brief-head{ 521 margin:-3px -3px 13px; 522 padding:9px 11px 10px; 523 border:1px solid rgba(244,200,92,.75); 524 background:linear-gradient(90deg,#081e32,#0b5c8c); 525} 526 527.business-brief-head span{ 528 display:block; 529 margin-bottom:3px; 530 color:#f4ca62; 531 font-size:8px; 532 font-weight:900; 533 letter-spacing:.10em; 534 text-transform:uppercase; 535} 536 537.business-brief-head h2{ 538 margin:0; 539 font-size:22px; 540 line-height:1; 541} 542 543.business-brief img{ 544 width:100%; 545 height:185px; 546 object-fit:cover; 547 border:1px solid rgba(255,255,255,.35); 548} 549 550.business-brief h3{ 551 margin:10px 0 8px; 552 font-size:20px; 553 line-height:1.14; 554} 555 556.business-brief p{ 557 margin:0 0 11px; 558 color:#dcecf5; 559 font-size:13px; 560 line-height:1.48; 561} 562 563.brief-wire{ 564 margin:12px 0; 565 padding:11px 11px 8px; 566 border-top:1px solid rgba(255,255,255,.22); 567 border-bottom:1px solid rgba(255,255,255,.18); 568 background:rgba(0,0,0,.12); 569} 570 571.brief-wire-title{ 572 margin-bottom:7px; 573 color:#f4ca62; 574 font-size:9px; 575 font-weight:900; 576 letter-spacing:.08em; 577 text-transform:uppercase; 578} 579 580.brief-wire ul{ 581 list-style:none; 582 margin:0; 583 padding:0; 584} 585 586.brief-wire li{ 587 position:relative; 588 padding:6px 0 6px 14px; 589 border-bottom:1px solid rgba(255,255,255,.10); 590 font-size:11px; 591 line-height:1.27; 592 font-weight:800; 593} 594 595.brief-wire li:last-child{border-bottom:0} 596 597.brief-wire li:before{ 598 content:"â¢"; 599 position:absolute; 600 left:1px; 601 color:#f4ca62; 602} 603 604.brief-chips{ 605 display:grid; 606 grid-template-columns:repeat(2,1fr); 607 gap:6px; 608} 609 610.brief-chips span{ 611 padding:7px; 612 background:rgba(255,255,255,.08); 613 border:1px solid rgba(255,255,255,.18); 614 color:#f4ca62; 615 font-size:8px; 616 font-weight:900; 617 text-align:center; 618 text-transform:uppercase; 619} 620 621/* ADS */ 622 623.business-sidebar .business-ad{ 624 position:relative; 625 width:300px; 626 height:300px; 627 min-width:300px; 628 min-height:300px; 629 max-width:300px; 630 max-height:300px; 631 overflow:hidden; 632 margin:0 auto; 633 border:3px solid var(--gold); 634 background:#071827; 635} 636 637.business-ad a{ 638 position:relative; 639 display:block; 640 width:300px; 641 height:300px; 642} 643 644.business-ad img{ 645 position:absolute; 646 z-index:2; 647 inset:0; 648 width:300px; 649 height:300px; 650 display:none; 651 object-fit:cover; 652} 653 654.ad-fb{ 655 position:absolute; 656 inset:0; 657 display:flex; 658 align-items:center; 659 justify-content:center; 660 color:#e7c45d; 661 font-size:14px; 662 font-weight:900; 663 text-align:center; 664 background: 665 linear-gradient(150deg,rgba(7,24,39,.75),rgba(10,54,83,.94)), 666 url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=900&q=85') 667 center/cover; 668} 669 670/* ASK SAM BUSINESS */ 671 672.ask-sam-business{ 673 overflow:hidden; 674 border:3px solid var(--gold); 675 background:#0a2438; 676 color:#fff; 677 box-shadow:0 13px 30px rgba(5,31,48,.18); 678} 679 680.sam-hero{ 681 position:relative; 682 height:205px; 683 background: 684 linear-gradient(0deg,rgba(5,28,44,.95),rgba(5,28,44,.10)), 685 url('https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=1000&q=88') 686 center/cover; 687} 688 689.sam-overlay{ 690 position:absolute; 691 left:15px; 692 right:15px; 693 bottom:15px; 694} 695 696.sam-overlay span{ 697 display:block; 698 color:#f2ca66; 699 font-size:9px; 700 font-weight:900; 701 text-transform:uppercase; 702} 703 704.sam-overlay strong{ 705 display:block; 706 margin-top:3px; 707 font-size:30px; 708 line-height:1; 709} 710 711.sam-overlay small{ 712 display:block; 713 margin-top:4px; 714 font-weight:800; 715} 716 717.sam-body{padding:14px} 718 719.sam-kicker{ 720 color:#f2ca66; 721 font-size:8px; 722 font-weight:900; 723 text-transform:uppercase; 724 letter-spacing:.08em; 725} 726 727.sam-body h2{ 728 margin:6px 0 8px; 729 font-size:20px; 730 line-height:1.12; 731} 732 733.sam-body p{ 734 margin:0; 735 color:#d9e7f0; 736 font-size:12px; 737 line-height:1.43; 738} 739 740.sam-list{ 741 margin:10px 0 0; 742 padding:0; 743 list-style:none; 744} 745 746.sam-list li{ 747 padding:6px 0; 748 border-top:1px solid rgba(255,255,255,.11); 749 font-size:11px; 750 font-weight:800; 751} 752 753/* GLOBAL BUSINESS WATCH */ 754 755.business-watch{ 756 padding:15px; 757 border:3px solid var(--gold); 758 background: 759 linear-gradient(155deg,rgba(6,24,38,.97),rgba(12,76,112,.94)), 760 url('https://images.unsplash.com/photo-1521295121783-8a321d551ad2?auto=format&fit=crop&w=1000&q=85') 761 center/cover; 762 color:#fff; 763} 764 765.business-watch h2{ 766 margin:0; 767 font-size:23px; 768 line-height:1; 769 text-transform:uppercase; 770} 771 772.watch-sub{ 773 margin:5px 0 11px; 774 color:#f2ca66; 775 font-size:9px; 776 font-weight:900; 777 text-transform:uppercase; 778 letter-spacing:.08em; 779} 780 781.watch-grid{ 782 display:grid; 783 grid-template-columns:repeat(2,1fr); 784 gap:8px; 785} 786 787.watch-cell{ 788 min-height:69px; 789 padding:10px; 790 border:1px solid rgba(255,255,255,.18); 791 background:rgba(255,255,255,.08); 792} 793 794.watch-cell b{ 795 display:block; 796 font-size:11px; 797} 798 799.watch-cell span{ 800 display:block; 801 margin-top:5px; 802 color:#f2ca66; 803 font-size:11px; 804 font-weight:900; 805} 806 807/* ABOUT */ 808 809.business-about{ 810 padding:14px; 811 border:2px solid var(--gold); 812 background:linear-gradient(155deg,#0b4264,#071d31); 813 color:#fff; 814} 815 816.business-about small{ 817 color:#f1c75f; 818 font-size:8px; 819 font-weight:900; 820 text-transform:uppercase; 821} 822 823.business-about h2{ 824 margin:6px 0 8px; 825 font-size:19px; 826} 827 828.business-about p{ 829 margin:0; 830 font-size:12px; 831 line-height:1.45; 832} 833 834.business-about .gb{ 835 display:block; 836 margin-top:13px; 837 padding-top:11px; 838 border-top:1px solid rgba(255,255,255,.18); 839 text-align:center; 840} 841 842.business-about .gb small{
843 display:block; 844 color:#d5e1e9; 845 font-size:10px; 846 text-transform:none; 847} 848 849.business-about .gb strong{ 850 display:block; 851 margin-top:3px; 852 font-size:23px; 853} 854 855/* ========================================================= 856 FOOTER 857 ========================================================= */ 858 859.publisher-footer{ 860 margin-top:14px; 861 background:linear-gradient(90deg,#071827,#0d2d47); 862 color:#fff; 863 border-top:4px solid var(--gold); 864} 865 866.publisher-inner{ 867 max-width:1400px; 868 margin:auto; 869 padding:16px; 870 display:grid; 871 grid-template-columns:275px minmax(0,1fr); 872 gap:22px; 873 align-items:center; 874} 875 876.publisher-brand{ 877 display:flex; 878 gap:10px; 879 align-items:center; 880} 881 882.publisher-title{ 883 font-size:27px; 884 font-weight:900; 885} 886 887.publisher-sub{ 888 margin-top:3px; 889 font-size:10px; 890 line-height:1.35; 891} 892 893.leader{ 894 width:728px; 895 max-width:100%; 896 height:90px; 897 margin:auto; 898 border:2px solid var(--gold); 899 background:#061723; 900 overflow:hidden; 901} 902 903.leader img{ 904 width:100%; 905 height:100%; 906 object-fit:contain; 907 display:none; 908} 909 910.gb-footer{ 911 background:#07101d; 912 color:#dbe7f3; 913 text-align:center; 914 padding:18px 14px 16px; 915 border-top:2px solid #c7922b; 916} 917 918.gb-title{ 919 font-family:Georgia,"Times New Roman",serif; 920 font-size:28px; 921 font-weight:900; 922 color:#fff; 923} 924 925.gb-gold{color:#d7a23a} 926 927.gb-kicker{ 928 margin-top:5px; 929 color:#d7a23a; 930 font-size:10px; 931 font-weight:900; 932 letter-spacing:2.4px; 933 text-transform:uppercase; 934} 935 936.gb-rule{ 937 width:74px; 938 height:1px; 939 margin:8px auto; 940 background:#c7922b; 941} 942 943.gb-line{font-size:12px;color:#c8d5e4} 944 945.gb-scale{ 946 margin-top:7px; 947 font-size:18px; 948 font-weight:900; 949 color:#fff; 950} 951 952.gb-trust{ 953 display:inline-block; 954 margin-top:9px; 955 padding:7px 14px; 956 border-radius:999px; 957 background:linear-gradient(#d9a642,#bd8422); 958 color:#071426; 959 font-size:12px; 960 font-weight:900; 961} 962 963.gb-copy{ 964 margin-top:8px; 965 color:#93a4b8; 966 font-size:10px; 967} 968 969/* ========================================================= 970 RESPONSIVE 971 ========================================================= */ 972 973@media(max-width:1180px){ 974 .page{grid-template-columns:1fr} 975 .business-sidebar{width:100%} 976 .header-inner,.publisher-inner{grid-template-columns:1fr} 977 .pulse-grid,.news-grid{grid-template-columns:repeat(2,1fr)} 978} 979 980@media(max-width:680px){ 981 .site-title{font-size:37px} 982 .header-inner,.page{padding:11px} 983 .desk-layout,.pulse-grid,.news-grid{grid-template-columns:1fr} 984 .business-lead{min-height:390px} 985 .secondary{grid-template-rows:auto} 986 .secondary-card{min-height:230px} 987 .business-sidebar{width:100%} 988} 989</style> 990<style> 991/* BUSINESS-V2-ENHANCE-START */ 992 993/* stronger section borders */ 994 995.business-desk, 996.business-pulse, 997.business-brief, 998.ask-sam-business, 999.business-watch, 1000.business-about, 1001.business-ad{ 1002 border-width:2px !important; 1003 border-style:solid !important; 1004 border-color:rgba(20,102,148,.48) !important; 1005 1006 box-shadow: 1007 0 14px 32px rgba(17,48,68,.13), 1008 inset 0 1px 0 rgba(255,255,255,.92), 1009 inset 0 0 0 1px rgba(255,255,255,.22) 1010 !important; 1011} 1012 1013 1014/* stronger section signature edges */ 1015 1016.business-desk{ 1017 border-left:4px solid #188fd0 !important; 1018} 1019 1020.business-pulse{ 1021 border-top:4px solid #1ab98b !important; 1022} 1023 1024.business-brief{ 1025 border-left:4px solid #1ab98b !important; 1026} 1027 1028.ask-sam-business{ 1029 border-top:4px solid #188fd0 !important; 1030} 1031 1032.business-watch{ 1033 border-right:4px solid #188fd0 !important; 1034} 1035 1036.business-about{ 1037 border-bottom:4px solid #1ab98b !important; 1038} 1039 1040 1041/* mirror treatment for major cards */ 1042 1043.business-desk, 1044.business-pulse, 1045.business-brief, 1046.ask-sam-business, 1047.business-watch, 1048.business-about{ 1049 position:relative; 1050 overflow:hidden; 1051} 1052 1053.business-desk:before, 1054.business-pulse:before, 1055.business-brief:before, 1056.ask-sam-business:before, 1057.business-watch:before, 1058.business-about:before{ 1059 content:""; 1060 position:absolute; 1061 z-index:0; 1062 1063 top:-85%; 1064 left:-35%; 1065 1066 width:78%; 1067 height:195%; 1068 1069 transform:rotate(13deg); 1070 1071 background: 1072 linear-gradient( 1073 112deg, 1074 transparent 0%, 1075 transparent 35%, 1076 rgba(255,255,255,.04) 42%, 1077 rgba(255,255,255,.22) 50%, 1078 rgba(111,205,255,.10) 55%, 1079 transparent 68% 1080 ); 1081 1082 pointer-events:none; 1083} 1084 1085.business-desk > *, 1086.business-pulse > *, 1087.business-brief > *, 1088.ask-sam-business > *, 1089.business-watch > *, 1090.business-about > *{ 1091 position:relative; 1092 z-index:1; 1093} 1094 1095 1096/* dynamic card treatment */ 1097 1098.business-lead, 1099.business-desk article, 1100.business-pulse article, 1101.news-card,
1102.news-card-top, 1103.news-grid article, 1104.news-grid-top article{ 1105 position:relative; 1106 overflow:hidden; 1107 1108 border:1px solid rgba(20,103,150,.24) !important; 1109 1110 box-shadow: 1111 0 10px 24px rgba(14,40,57,.14), 1112 inset 0 1px 0 rgba(255,255,255,.36) 1113 !important; 1114 1115 transition: 1116 transform .22s ease, 1117 box-shadow .22s ease, 1118 border-color .22s ease 1119 !important; 1120} 1121 1122 1123/* subtle mirror sweep on cards */ 1124 1125.business-lead:before, 1126.business-desk article:before, 1127.business-pulse article:before, 1128.news-card:before, 1129.news-card-top:before, 1130.news-grid article:before, 1131.news-grid-top article:before{ 1132 content:""; 1133 position:absolute; 1134 1135 top:-90%; 1136 left:-48%; 1137 1138 width:72%; 1139 height:210%; 1140 1141 z-index:3; 1142 1143 transform:rotate(16deg); 1144 1145 background: 1146 linear-gradient( 1147 110deg, 1148 transparent 0%, 1149 rgba(255,255,255,.00) 35%, 1150 rgba(255,255,255,.16) 49%, 1151 rgba(110,198,245,.08) 54%, 1152 transparent 67% 1153 ); 1154 1155 pointer-events:none; 1156 1157 transition: 1158 left .40s ease; 1159} 1160 1161 1162/* dynamic but restrained hover */ 1163 1164.business-lead:hover, 1165.business-desk article:hover, 1166.business-pulse article:hover, 1167.news-card:hover, 1168.news-card-top:hover, 1169.news-grid article:hover, 1170.news-grid-top article:hover{ 1171 transform:translateY(-3px); 1172 1173 border-color:rgba(24,143,208,.48) !important; 1174 1175 box-shadow: 1176 0 16px 34px rgba(14,43,61,.20), 1177 0 0 0 1px rgba(24,143,208,.10), 1178 inset 0 1px 0 rgba(255,255,255,.46) 1179 !important; 1180} 1181 1182.business-lead:hover:before, 1183.business-desk article:hover:before, 1184.business-pulse article:hover:before, 1185.news-card:hover:before, 1186.news-card-top:hover:before, 1187.news-grid article:hover:before, 1188.news-grid-top article:hover:before{ 1189 left:78%; 1190} 1191 1192 1193/* image framing */ 1194 1195.business-lead img, 1196.business-desk article img, 1197.business-pulse article img, 1198.news-card img, 1199.news-card-top img, 1200.news-grid article img, 1201.news-grid-top article img, 1202.business-brief img, 1203.business-ad img{ 1204 border:1px solid rgba(255,255,255,.28) !important; 1205 1206 box-shadow: 1207 0 8px 20px rgba(11,36,52,.14), 1208 inset 0 0 0 1px rgba(255,255,255,.10) 1209 !important; 1210 1211 transition: 1212 transform .25s ease, 1213 filter .25s ease 1214 !important; 1215} 1216 1217 1218/* slight image energy on hover */ 1219 1220.business-lead:hover img, 1221.business-desk article:hover img, 1222.business-pulse article:hover img, 1223.news-card:hover img, 1224.news-card-top:hover img, 1225.news-grid article:hover img, 1226.news-grid-top article:hover img{ 1227 transform:scale(1.012); 1228 filter:saturate(1.04) contrast(1.02); 1229} 1230 1231 1232/* BUSINESS-V2-ENHANCE-END */ 1233</style> 1234<style> 1235/* BUSINESS-LIVE-WEATHER-CSS-START */ 1236 1237.watch-grid{ 1238 gap:10px !important; 1239} 1240 1241.watch-cell{ 1242 position:relative; 1243 overflow:hidden; 1244 1245 min-height:88px !important; 1246 padding:12px 13px !important; 1247 1248 border: 1249 1px solid rgba(255,255,255,.24) !important; 1250 1251 background: 1252 linear-gradient( 1253 145deg, 1254 rgba(255,255,255,.12), 1255 rgba(255,255,255,.055) 1256 ) !important; 1257 1258 box-shadow: 1259 inset 0 1px 0 rgba(255,255,255,.10), 1260 0 7px 16px rgba(0,0,0,.10); 1261 1262 transition: 1263 transform .18s ease, 1264 border-color .18s ease, 1265 background .18s ease; 1266} 1267 1268/* subtle mirror reflection */ 1269 1270.watch-cell:before{ 1271 content:""; 1272 position:absolute; 1273 top:-70%; 1274 left:-50%; 1275 width:70%; 1276 height:190%; 1277 1278 transform:rotate(15deg); 1279 1280 background: 1281 linear-gradient( 1282 110deg, 1283 transparent, 1284 rgba(255,255,255,.00) 35%, 1285 rgba(255,255,255,.13) 49%, 1286 transparent 63% 1287 ); 1288 1289 pointer-events:none; 1290} 1291 1292.watch-cell:hover{ 1293 transform:translateY(-2px); 1294 1295 border-color: 1296 rgba(76,190,232,.58) !important; 1297 1298 background: 1299 linear-gradient( 1300 145deg, 1301 rgba(255,255,255,.16), 1302 rgba(255,255,255,.07) 1303 ) !important; 1304} 1305 1306.watch-cell b{ 1307 position:relative; 1308 z-index:1; 1309 1310 display:block; 1311 1312 color:#ffffff !important; 1313 1314 font-size:13px !important; 1315 line-height:1.1; 1316 1317 font-weight:900 !important; 1318} 1319 1320.watch-cell .watch-weather{ 1321 position:relative; 1322 z-index:1; 1323 1324 display:block; 1325 1326 margin-top:7px !important; 1327 1328 color:#72e9c0 !important; 1329 1330 font-size:14px !important; 1331 line-height:1.15; 1332 1333 font-weight:900 !important; 1334} 1335 1336.watch-cell small{ 1337 position:relative; 1338 z-index:1; 1339 1340 display:block; 1341 1342 margin-top:6px; 1343 1344 color:#f2ca66 !important; 1345 1346 font-size:10px; 1347 line-height:1.2; 1348 1349 font-weight:800; 1350} 1351 1352/* BUSINESS-LIVE-WEATHER-CSS-END */ 1353</style> 1354 1355<style> 1356/* CA-BUSINESS-HEADER-CLEAN-V2 */ 1357#header-link.top-panel{ 1358 width:728px!important; 1359 max-width:100%!important; 1360 height:90px!important; 1361 min-height:0!important; 1362 padding:0!important; 1363 margin:0 auto!important; 1364 border:0!important; 1365 background:none!important; 1366 box-shadow:none!important; 1367 overflow:hidden!important; 1368 display:block!important; 1369 justify-self:center!important; 1370} 1371#header-link.top-panel #header-img{ 1372 display:block; 1373 width:100%!important; 1374 max-width:100%!important; 1375 height:90px!important; 1376 margin:0!important; 1377 padding:0!important; 1378 border:0!important; 1379 object-fit:contain!important; 1380} 1381</style> 1382 1383 1384<style id="ca-business-route-worldnews"> 1385body{ 1386 background:#eef5fb; 1387} 1388 1389.nav{ 1390 background:#173f63; 1391} 1392 1393.nav a.active{ 1394 background:#2f78a8; 1395 color:#fff; 1396} 1397 1398.business-lead, 1399.business-desk article, 1400.business-pulse article, 1401.news-card,
1402.news-card-top, 1403.news-grid article, 1404.news-grid-top article{ 1405 border-color:#2f78a855 !important; 1406} 1407</style> 1408</head> 1409 1410<body> 1411 1412<header class="header"> 1413 <div class="header-inner"> 1414 1415 <a href="/" class="brand"> 1416 <div class="badge">SE</div> 1417 <div> 1418 <div class="site-title">Segmenters</div> 1419 <div class="tagline">Business News ⢠Markets ⢠Companies ⢠Global Intelligence</div> 1420 </div> 1421 </a> 1422 1423 <div class="grandbrands-gam-header">
1424<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1424
1424
1425<script> 1426window.googletag = window.googletag || {cmd: []}; 1427googletag.cmd.push(function() { 1428 googletag.defineSlot('/23376226516/grandbrands_gpt_header', [728, 90], 'gb-gpt-header').addService(googletag.pubads()); 1429 googletag.defineSlot('/23376226516/grandbrands_gpt_sidebar1', [300, 250], 'gb-gpt-sidebar1').addService(googletag.pubads()); 1430 googletag.defineSlot('/23376226516/grandbrands_gpt_sidebar2', [300, 250], 'gb-gpt-sidebar2').addService(googletag.pubads()); 1431 googletag.defineSlot('/23376226516/grandbrands_gpt_sidebar3', [300, 250], 'gb-gpt-sidebar3').addService(googletag.pubads()); 1432 googletag.defineSlot('/23376226516/grandbrands_gpt_footer', [728, 90], 'gb-gpt-footer').addService(googletag.pubads()); 1433 googletag.setConfig({ singleRequest: true }); 1434 googletag.enableServices(); 1435}); 1436</script>
1436 1437<div id="gb-gpt-header">
1438<script>googletag.cmd.push(function(){ googletag.display('gb-gpt-header'); });</script>
1438 1439</div> 1440</div> 1441 1442 </div> 1443</header> 1444 1445<nav class="nav"><div class="nav-inner"><a href="/">Business</a><a href="/worldnews/" class="active">World News</a><a href="/finance/">Finance</a><a href="/legal/">Legal</a><a href="/insurance/">Insurance</a><a href="/technology/">Technology</a><a href="/education/">Education</a><a href="/employment/">Employment</a><span id="nav-time" class="nav-time"></span></div></nav> 1446 1447<main class="page"> 1448 1449<section class="business-main"> 1450 1451 <section class="business-desk"> 1452 <div class="desk-kicker">Global Business Desk</div> 1453 1454 <div class="desk-layout"> 1455 1456 <article class="business-lead"> 1457 <a id="lead-link" href="#" target="_blank"> 1458 <img id="lead-img" src="" alt=""> 1459 <div class="lead-copy"> 1460 <span>Top Business Story</span> 1461 <h2 id="lead-title">Loading global business coverageâ¦</h2> 1462 <p id="lead-desc">Markets, companies, leadership and economic intelligence.</p> 1463 <div id="lead-source" class="source"></div> 1464 </div> 1465 </a> 1466 </article> 1467 1468 <div class="secondary"> 1469 1470 <article class="secondary-card"> 1471 <a id="secondary1-link" href="#" target="_blank"> 1472 <img id="secondary1-img" src="" alt=""> 1473 <div class="secondary-copy"> 1474 <span>Market Watch</span> 1475 <h3 id="secondary1-title">Loadingâ¦</h3> 1476 <div id="secondary1-source" class="source"></div> 1477 </div> 1478 </a> 1479 </article> 1480 1481 <article class="secondary-card"> 1482 <a id="secondary2-link" href="#" target="_blank"> 1483 <img id="secondary2-img" src="" alt=""> 1484 <div class="secondary-copy"> 1485 <span>Companies & Leadership</span> 1486 <h3 id="secondary2-title">Loadingâ¦</h3> 1487 <div id="secondary2-source" class="source"></div> 1488 </div> 1489 </a> 1490 </article> 1491 1492 </div> 1493 </div> 1494 </section> 1495 1496 <section class="business-pulse"> 1497 <div class="pulse-head"> 1498 <div> 1499 <span>Business Intelligence</span> 1500 <h2>Business Pulse</h2> 1501 </div> 1502 <strong>Markets ⢠Companies ⢠Capital ⢠Economy</strong> 1503 </div> 1504 <div id="pulse-grid" class="pulse-grid"></div> 1505 </section> 1506 1507 <div class="report-head"> 1508 <div> 1509 <span>Across The Business Wire</span> 1510 <h2>Global Business Report</h2> 1511 </div> 1512 <div class="report-chips"> 1513 <b>Markets</b> 1514 <b>Companies</b> 1515 <b>Finance</b> 1516 <b>Economy</b> 1517 <b>Technology</b> 1518 </div> 1519 </div> 1520 1521 <div id="news-grid" class="news-grid"></div> 1522 1523</section> 1524 1525<aside class="business-sidebar"> 1526 1527 <section class="business-brief"> 1528 <div class="business-brief-head"> 1529 <span>Today's Business Wire</span> 1530 <h2>Business Brief</h2> 1531 </div> 1532 1533 <a id="brief-link" href="#" target="_blank"> 1534 <img id="brief-img" src="" alt=""> 1535 <h3 id="brief-title">Loading today's business briefâ¦</h3> 1536 <p id="brief-desc">Business, markets, companies and global economic intelligence.</p> 1537 </a> 1538 1539 <div class="brief-wire"> 1540 <div class="brief-wire-title">More From Today's Business Wire</div> 1541 <ul id="brief-bullets"> 1542 <li>Loading business updatesâ¦</li> 1543 </ul> 1544 </div> 1545 1546 <div class="brief-chips"> 1547 <span>Markets</span> 1548 <span>Companies</span> 1549 <span>Capital</span> 1550 <span>Economy</span> 1551 </div> 1552 </section> 1553 1554 <div class="business-ad"> 1555 <div class="grandbrands-gam-sidebar"> 1556<div id="gb-gpt-sidebar1">
1557<script>googletag.cmd.push(function(){ googletag.display('gb-gpt-sidebar1'); });</script>
1557 1558</div> 1559</div> 1560 </div> 1561 1562 <div class="business-ad"> 1563 <div class="grandbrands-gam-sidebar"> 1564<div id="gb-gpt-sidebar2">
1565<script>googletag.cmd.push(function(){ googletag.display('gb-gpt-sidebar2'); });</script>
1565 1566</div> 1567</div> 1568 </div> 1569 1570 <section class="ask-sam-business"> 1571 1572 <div class="sam-hero"> 1573 <div class="sam-overlay"> 1574 <span>Business Intelligence Desk</span> 1575 <strong>ASK SAM</strong> 1576 <small>Your Business News Guide</small> 1577 </div> 1578 </div> 1579 1580 <div class="sam-body"> 1581 <div class="sam-kicker">60-Second Business Recap</div> 1582 <h2 id="sam-lead">Sam is scanning today's business wireâ¦</h2> 1583 <p id="sam-copy">Markets, companies, leadership, capital and economic intelligence.</p> 1584 <ul id="sam-list" class="sam-list"></ul> 1585 </div> 1586 1587 </section> 1588 1589 <div class="business-ad"> 1590 <div class="grandbrands-gam-sidebar"> 1591<div id="gb-gpt-sidebar3">
1592<script>googletag.cmd.push(function(){ googletag.display('gb-gpt-sidebar3'); });</script>
1592 1593</div> 1594</div> 1595 </div> 1596 1597 <div class="business-ad"> 1598 <a id="sb4-link" href="https://www.grandbrands.com/" target="_blank"> 1599 <img id="sb4-img" src="" alt="Advertisement"> 1600 <div class="ad-fb">COMPANIES ⢠LEADERSHIP</div> 1601 </a> 1602 </div> 1603 1604 <section class="business-watch"> 1605 <h2>Global Business Watch</h2> 1606 <div class="watch-sub">Major centers of commerce</div> 1607 1608 <div class="watch-grid"> 1609 <div class="watch-cell"><b>New York</b><span class="watch-weather" id="weather-ny">Loading weatherâ¦</span><small>Wall Street ⢠Capital</small></div> 1610 <div class="watch-cell"><b>London</b><span class="watch-weather" id="weather-london">Loading weatherâ¦</span><small>Europe ⢠Finance</small></div> 1611 <div class="watch-cell"><b>Tokyo</b><span class="watch-weather" id="weather-tokyo">Loading weatherâ¦</span><small>Asia ⢠Markets</small></div> 1612 <div class="watch-cell"><b>Frankfurt</b><span class="watch-weather" id="weather-frankfurt">Loading weatherâ¦</span><small>Europe ⢠Industry</small></div> 1613 <div class="watch-cell"><b>Hong Kong</b><span class="watch-weather" id="weather-hongkong">Loading weatherâ¦</span><small>Asia ⢠Trade</small></div> 1614 <div class="watch-cell"><b>Dubai</b><span class="watch-weather" id="weather-dubai">Loading weatherâ¦</span><small>Capital ⢠Commerce</small></div> 1615 </div></section> 1616 1617 <section class="business-about"> 1618 <small>Global Business Publishing Network</small> 1619 <h2>About segmenters.com</h2> 1620 1621 <p> 1622 segmenters.com delivers business news, markets, companies, 1623 leadership, finance, technology, trade and global economic intelligence. 1624 </p> 1625 1626 <a class="gb" href="https://www.grandbrands.com/" target="_blank"> 1627 <small>A Proud Brand of</small> 1628 <strong>Grand<span style="color:#e6b547">Brands</span>.com</strong> 1629 </a> 1630 </section> 1631 1632</aside> 1633 1634</main> 1635 1636<footer class="publisher-footer"> 1637 <div class="publisher-inner"> 1638 1639 <div class="publisher-brand"> 1640 <div class="badge">SE</div> 1641 <div> 1642 <div class="publisher-title">Segmenters</div> 1643 <div class="publisher-sub"> 1644 Business Network ⢠Markets ⢠Companies ⢠Leadership ⢠Global Intelligence 1645 </div> 1646 </div> 1647 </div> 1648 1649 <div class="grandbrands-gam-footer"> 1650<div id="gb-gpt-footer" style="min-width:728px;min-height:90px;">
1651<script>googletag.cmd.push(function(){ googletag.display('gb-gpt-footer'); });</script>
1651 1652</div> 1653</div> 1654 1655 </div> 1656</footer> 1657 1658<footer class="gb-footer"> 1659 <a class="gb-title" 1660 href="https://www.grandbrands.com/" 1661 target="_blank"> 1662 Grand<span class="gb-gold">Brands</span> 1663 </a> 1664 1665 <div class="gb-kicker">International Publishing Network</div> 1666 <div class="gb-rule"></div> 1667 1668 <div class="gb-line"> 1669 Corporate Publisher ⢠Trusted Since 1994 ⢠Chicago ⢠New York ⢠San Francisco 1670 </div> 1671 1672 <div class="gb-scale">15,000+ Network Publishing Properties</div> 1673 1674 <a class="gb-trust" 1675 href="https://www.grandbrands.com/privacy.php" 1676 target="_blank"> 1677 GrandBrands Trust Center 1678 </a> 1679 1680 <div class="gb-copy"> 1681 © 1994â2026 GrandBrands.com. U.S. Based. All Rights Reserved. 1682 </div> 1683</footer> 1684
1685<script> 1686const FEED_KEY="WORLDNEWS.json"; 1687const CATEGORY_LABEL="World News"; 1688const SITE_NAME="Segmenters"; 1689const SITE_DOMAIN="segmenters.com"; 1690 1691const NEWS_URL='https://www.feedbunk.com/vault/news/WORLDNEWS.json'; 1692const ADS_URL='https://www.feedbunk.com/vault/ads/ads.php'; 1693 1694const FALLBACK= 1695'https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1600&q=85'; 1696 1697function clean(v){ 1698 return(v||'') 1699 .toString() 1700 .replace(/<[^>]*>/g,' ') 1701 .replace(/\s+/g,' ') 1702 .trim(); 1703} 1704 1705function href(v){return v||'#'} 1706 1707function src(a){ 1708 return a?.image|| 1709 a?.img|| 1710 a?.thumbnail|| 1711 a?.urlToImage|| 1712 a?.enclosure?.url|| 1713 FALLBACK; 1714} 1715 1716function list(p){ 1717 return Array.isArray(p) 1718 ?p 1719 :p?.items||p?.articles||p?.news||p?.data||[]; 1720} 1721 1722function norm(x){ 1723 let title=clean(x.title||x.headline||x.name); 1724 if(!title)return null; 1725 1726 return{ 1727 title:title, 1728 link:href(x.link||x.url||x.href), 1729 source:clean(x.source||x.publisher||x.site)||SITE_NAME, 1730 image:src(x), 1731 desc:clean(x.description||x.summary||x.excerpt) 1732 }; 1733} 1734 1735function shortText(t,n){ 1736 t=clean(t); 1737 return t.length>n?t.slice(0,n-1).trim()+'â¦':t; 1738} 1739 1740function setImg(id,url){ 1741 let el=document.getElementById(id); 1742 if(!el)return; 1743 el.onerror=function(){ 1744 this.onerror=null; 1745 this.src=FALLBACK; 1746 }; 1747 el.src=url||FALLBACK; 1748} 1749 1750function pulseCard(a){ 1751 return ` 1752 <article class="pulse-card"> 1753 <a href="${a.link}" target="_blank"> 1754 <img src="${a.image}" 1755 onerror="this.onerror=null;this.src='${FALLBACK}'"> 1756 <div class="pulse-copy"> 1757 <h3>${a.title}</h3> 1758 <div class="byline">${a.source}</div> 1759 </div> 1760 </a> 1761 </article>`; 1762} 1763 1764function newsCard(a){ 1765 return ` 1766 <article class="news-card"> 1767 <a href="${a.link}" target="_blank"> 1768 <img src="${a.image}" 1769 onerror="this.onerror=null;this.src='${FALLBACK}'"> 1770 <div class="news-body"> 1771 <h3>${a.title}</h3> 1772 <div class="byline">${a.source}</div> 1773 </div> 1774 </a> 1775 </article>`; 1776} 1777
1778function renderSam(arr){ 1779 1780 const stories=arr.filter(x=>x&&x.title).slice(0,4); 1781 1782 if(!stories.length)return; 1783 1784 document.getElementById('sam-lead').textContent= 1785 stories[0].title; 1786 1787 document.getElementById('sam-copy').textContent= 1788 stories[0].desc|| 1789 'Markets, companies, leadership and economic developments moving the business day.'; 1790 1791 document.getElementById('sam-list').innerHTML= 1792 stories.slice(1).map(x=> 1793 `<li>${shortText(x.title,82)}</li>` 1794 ).join(''); 1795} 1796 1797function render(items){ 1798 1799 let arr=items.filter(Boolean); 1800 1801 if(!arr.length)return; 1802 1803 /* DOMAIN-SPECIFIC STORY ROTATION */ 1804 let seed=0; 1805 1806 for(let i=0;i<SITE_DOMAIN.length;i++){ 1807 seed=((seed*31)+SITE_DOMAIN.charCodeAt(i))>>>0; 1808 } 1809 1810 if(arr.length>24){ 1811 let offset=seed % Math.min(18,arr.length); 1812 if(offset){ 1813 arr=arr.slice(offset).concat(arr.slice(0,offset)); 1814 } 1815 } 1816 1817 /* business-desk-source-diversity-v2 */ 1818 const deskPool=arr.slice(0); 1819 const deskStories=[]; 1820 const deskSources=new Set(); 1821 const deskImages=new Set(); 1822 const deskTitles=new Set(); 1823 1824 function deskSourceKey(x){ 1825 return (x.source||'') 1826 .toLowerCase() 1827 .replace(/^www\./,'') 1828 .replace(/[^a-z0-9]+/g,' ') 1829 .trim(); 1830 } 1831 1832 for(const x of deskPool){ 1833 1834 if(!x || !x.title) continue; 1835 1836 const sk=deskSourceKey(x); 1837 1838 const ik=(x.image||'') 1839 .split('?')[0] 1840 .toLowerCase(); 1841 1842 const tk=x.title 1843 .toLowerCase() 1844 .replace(/[^a-z0-9]+/g,' ') 1845 .trim(); 1846 1847 if(tk && deskTitles.has(tk)) continue; 1848 if(ik && deskImages.has(ik)) continue; 1849 1850 /* ONE DESK STORY PER PUBLISHER */ 1851 if(sk && deskSources.has(sk)) continue; 1852 1853 deskStories.push(x); 1854 1855 if(sk) deskSources.add(sk); 1856 if(ik) deskImages.add(ik); 1857 if(tk) deskTitles.add(tk); 1858 1859 if(deskStories.length===3) break; 1860 } 1861 1862 /* 1863 Only relax publisher uniqueness if the feed 1864 genuinely cannot provide three distinct sources. 1865 */ 1866 if(deskStories.length<3){ 1867 1868 for(const x of deskPool){ 1869 1870 if(!x || !x.title) continue; 1871 if(deskStories.includes(x)) continue; 1872 1873 const ik=(x.image||'') 1874 .split('?')[0] 1875 .toLowerCase(); 1876 1877 const tk=x.title 1878 .toLowerCase() 1879 .replace(/[^a-z0-9]+/g,' ') 1880 .trim(); 1881 1882 if(tk && deskTitles.has(tk)) continue; 1883 if(ik && deskImages.has(ik)) continue; 1884 1885 deskStories.push(x); 1886 1887 if(ik) deskImages.add(ik); 1888 if(tk) deskTitles.add(tk); 1889 1890 if(deskStories.length===3) break; 1891 } 1892 } 1893 1894 const lead=deskStories[0]||arr[0]; 1895 1896 if(lead){ 1897 setImg('lead-img',lead.image); 1898 document.getElementById('lead-link').href=lead.link; 1899 document.getElementById('lead-title').textContent=lead.title; 1900 document.getElementById('lead-desc').textContent= 1901 lead.desc|| 1902 'Business, markets, companies and global economic intelligence.'; 1903 document.getElementById('lead-source').textContent=lead.source; 1904 } 1905 1906 const s1=deskStories[1]||arr[1]||lead; 1907 1908 if(s1){ 1909 setImg('secondary1-img',s1.image); 1910 document.getElementById('secondary1-link').href=s1.link; 1911 document.getElementById('secondary1-title').textContent=s1.title; 1912 document.getElementById('secondary1-source').textContent=s1.source; 1913 } 1914 1915 const s2=deskStories[2]||arr[2]||lead; 1916 1917 if(s2){ 1918 setImg('secondary2-img',s2.image); 1919 document.getElementById('secondary2-link').href=s2.link; 1920 document.getElementById('secondary2-title').textContent=s2.title; 1921 document.getElementById('secondary2-source').textContent=s2.source; 1922 } 1923 1924 /* business-pulse-source-diversity-v2 */ 1925 const pulsePool=arr.slice(3); 1926 const pulseStories=[]; 1927 const pulseSources=new Set(); 1928 const pulseImages=new Set(); 1929 const pulseTitles=new Set(); 1930 1931 function sourceKey(x){ 1932 return (x.source||'') 1933 .toLowerCase() 1934 .replace(/^www\./,'') 1935 .replace(/[^a-z0-9]+/g,' ') 1936 .trim(); 1937 } 1938 1939 for(const x of pulsePool){ 1940 1941 if(!x || !x.title) continue; 1942 1943 const sk=sourceKey(x); 1944 1945 const ik=(x.image||'') 1946 .split('?')[0] 1947 .toLowerCase(); 1948 1949 const tk=x.title 1950 .toLowerCase() 1951 .replace(/[^a-z0-9]+/g,' ') 1952 .trim(); 1953 1954 if(tk && pulseTitles.has(tk)) continue; 1955 if(ik && pulseImages.has(ik)) continue; 1956 1957 /* PRIMARY RULE: ONE CARD PER PUBLISHER */ 1958 if(sk && pulseSources.has(sk)) continue; 1959 1960 pulseStories.push(x); 1961 1962 if(sk) pulseSources.add(sk); 1963 if(ik) pulseImages.add(ik); 1964 if(tk) pulseTitles.add(tk); 1965 1966 if(pulseStories.length===4) break; 1967 } 1968 1969 /* only relax publisher rule if feed truly lacks 4 sources */ 1970 if(pulseStories.length<4){ 1971 1972 for(const x of pulsePool){ 1973 1974 if(!x || !x.title) continue; 1975 if(pulseStories.includes(x)) continue; 1976 1977 const ik=(x.image||'') 1978 .split('?')[0] 1979 .toLowerCase(); 1980 1981 const tk=x.title 1982 .toLowerCase() 1983 .replace(/[^a-z0-9]+/g,' ') 1984 .trim(); 1985 1986 if(tk && pulseTitles.has(tk)) continue; 1987 if(ik && pulseImages.has(ik)) continue; 1988 1989 pulseStories.push(x); 1990 1991 if(ik) pulseImages.add(ik); 1992 if(tk) pulseTitles.add(tk); 1993 1994 if(pulseStories.length===4) break; 1995 } 1996 } 1997 1998 document.getElementById('pulse-grid').innerHTML= 1999 pulseStories.map(pulseCard).join(''); 2000 2001 const brief=arr[7]||lead; 2002
2003 if(brief){ 2004 setImg('brief-img',brief.image); 2005 document.getElementById('brief-link').href=brief.link; 2006 document.getElementById('brief-title').textContent=brief.title; 2007 document.getElementById('brief-desc').textContent= 2008 brief.desc|| 2009 'Business, markets, companies and global economic intelligence.'; 2010 } 2011 2012 const briefNews=arr.slice(8,13); 2013 2014 document.getElementById('brief-bullets').innerHTML= 2015 briefNews.map(x=> 2016 `<li><a href="${x.link}" target="_blank">${shortText(x.title,88)}</a></li>` 2017 ).join(''); 2018 2019 renderSam(arr.slice(13,17)); 2020 2021 /* LARGE BUSINESS NEWS GRID */ 2022 document.getElementById('news-grid').innerHTML= 2023 arr.slice(17).concat(arr.slice(13,16)).map(newsCard).join(''); 2024} 2025 2026async function loadNews(){ 2027 2028 try{ 2029 let r=await fetch( 2030 NEWS_URL+'?v='+Date.now(), 2031 {cache:'no-store'} 2032 ); 2033 2034 let j=await r.json(); 2035 2036 let arr=list(j) 2037 .map(norm) 2038 .filter(Boolean); 2039 2040 if(!arr.length)throw 1; 2041 2042 render(arr); 2043 2044 }catch(e){ 2045 2046 render([{ 2047 title:`${SITE_NAME} tracks business news and global market intelligence`, 2048 link:'#', 2049 source:SITE_NAME, 2050 image:FALLBACK, 2051 desc:'Business news, companies, markets, leadership, finance, technology, economy and global trade.' 2052 }]); 2053 } 2054} 2055 2056/* ADS */ 2057 2058function first(x){ 2059 return Array.isArray(x)?x[0]:x; 2060} 2061 2062function adSrc(a){ 2063 return a?.img||a?.image||a?.src||''; 2064} 2065 2066function adHref(a){ 2067 return a?.href||a?.link||'https://www.grandbrands.com/'; 2068} 2069 2070function setAd(a,l,i){ 2071 2072 let link=document.getElementById(l); 2073 let img=document.getElementById(i); 2074 let s=adSrc(a); 2075 2076 if(link)link.href=adHref(a); 2077 2078 if(img&&s){ 2079 img.src=s+'?v='+Date.now(); 2080 img.style.display='block'; 2081 } 2082} 2083 2084async function loadAds(){ 2085 2086 try{ 2087 2088 let j=await( 2089 await fetch( 2090 ADS_URL+'?v='+Date.now(), 2091 {cache:'no-store'} 2092 ) 2093 ).json(); 2094 2095 let A=j.ads||j; 2096 let S=j.slots||{}; 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 setAd( 2109 first(A.sidebar4||S.sidebar_4), 2110 'sb4-link', 2111 'sb4-img' 2112 ); 2113 2114 }catch(e){} 2115} 2116 2117function clock(){ 2118 2119 let n=new Date(); 2120 2121 document.getElementById('nav-time').textContent= 2122 n.toLocaleDateString( 2123 'en-US', 2124 {weekday:'short',month:'short',day:'numeric'} 2125 ) 2126 +' ⢠'+ 2127 n.toLocaleTimeString( 2128 'en-US', 2129 {hour:'numeric',minute:'2-digit'} 2130 ); 2131} 2132 2133/* BUSINESS-LIVE-WEATHER-JS-START */ 2134 2135const BUSINESS_WEATHER_CITIES = [ 2136 { 2137 id:'weather-ny', 2138 lat:40.7128, 2139 lon:-74.0060 2140 }, 2141 { 2142 id:'weather-london', 2143 lat:51.5074, 2144 lon:-0.1278 2145 }, 2146 { 2147 id:'weather-tokyo', 2148 lat:35.6762, 2149 lon:139.6503 2150 }, 2151 { 2152 id:'weather-frankfurt', 2153 lat:50.1109, 2154 lon:8.6821 2155 }, 2156 { 2157 id:'weather-hongkong', 2158 lat:22.3193, 2159 lon:114.1694 2160 }, 2161 { 2162 id:'weather-dubai', 2163 lat:25.2048, 2164 lon:55.2708 2165 } 2166]; 2167 2168function businessWeatherCondition(code){ 2169 2170 const c=Number(code); 2171 2172 if(c===0) return 'Clear'; 2173 2174 if(c===1) return 'Mostly Clear'; 2175 2176 if(c===2) return 'Partly Cloudy'; 2177 2178 if(c===3) return 'Cloudy'; 2179 2180 if(c===45 || c===48) return 'Fog'; 2181 2182 if([51,53,55,56,57].includes(c)) 2183 return 'Drizzle'; 2184 2185 if([61,63,65,66,67,80,81,82].includes(c)) 2186 return 'Rain'; 2187 2188 if([71,73,75,77,85,86].includes(c)) 2189 return 'Snow'; 2190 2191 if([95,96,99].includes(c)) 2192 return 'Storms'; 2193 2194 return 'Current'; 2195} 2196 2197async function loadBusinessWeatherCity(city){ 2198 2199 const el=document.getElementById(city.id); 2200 2201 if(!el) return; 2202 2203 try{ 2204 2205 const url= 2206 'https://api.open-meteo.com/v1/forecast' 2207 +'?latitude='+city.lat 2208 +'&longitude='+city.lon 2209 +'¤t=temperature_2m,weather_code' 2210 +'&temperature_unit=fahrenheit' 2211 +'&timezone=auto'; 2212 2213 const r=await fetch( 2214 url, 2215 {cache:'no-store'} 2216 ); 2217 2218 if(!r.ok) throw new Error('weather HTTP '+r.status); 2219 2220 const j=await r.json(); 2221 2222 const temp=j?.current?.temperature_2m; 2223 const code=j?.current?.weather_code; 2224 2225 if(temp===undefined || temp===null) 2226 throw new Error('temperature unavailable'); 2227 2228 const condition= 2229 businessWeatherCondition(code); 2230 2231 el.textContent= 2232 Math.round(Number(temp)) 2233 +'°F ⢠' 2234 +condition; 2235 2236 }catch(e){ 2237 2238 el.textContent='Weather unavailable'; 2239 2240 } 2241} 2242 2243async function loadBusinessWeather(){ 2244 2245 await Promise.all( 2246 BUSINESS_WEATHER_CITIES.map( 2247 loadBusinessWeatherCity 2248 ) 2249 ); 2250 2251} 2252 2253/* refresh every 15 minutes */ 2254 2255setInterval( 2256 loadBusinessWeather, 2257 15*60*1000 2258); 2259 2260/* BUSINESS-LIVE-WEATHER-JS-END */ 2261 2262window.addEventListener('load',()=>{ 2263 clock(); 2264 setInterval(clock,60000); 2265 loadAds(); 2266 loadNews(); 2267 loadBusinessWeather(); 2268}); 2269 2270</script>
2270 2271 2272<!-- BUSINESS V2 PROTOTYPE --> 2273</body> 2274</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.