{"id":11043,"date":"2026-03-04T01:52:56","date_gmt":"2026-03-04T06:52:56","guid":{"rendered":"https:\/\/sdgnews.com\/?page_id=11043"},"modified":"2026-04-13T07:34:15","modified_gmt":"2026-04-13T11:34:15","slug":"iran-war-tracker","status":"publish","type":"page","link":"https:\/\/sdgnews.com\/ar\/iran-war-tracker\/","title":{"rendered":"Iran War"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"11043\" class=\"elementor elementor-11043\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c370bbe e-flex e-con-boxed e-con e-parent\" data-id=\"c370bbe\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7213cfb elementor-widget elementor-widget-html\" data-id=\"7213cfb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- SDG News | Hormuz Lens Page \u2014 Bloomberg-inspired redesign -->\n<div id=\"sdg-hormuz-final\">\n  <style>\n    @import url(\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css\");\n    @import url(\"https:\/\/fonts.googleapis.com\/css2?family=DM+Serif+Display&family=Inter:wght@400;500;600;700&display=swap\");\n\n    \/* -------------------------\n       THEME TOKENS\n    ------------------------- *\/\n    #sdg-hormuz-final{\n      --bg:#f2f2f0;\n      --card:#ffffff;\n      --card2:#fafaf9;\n      --text:#1a1a1a;\n      --muted:#737373;\n      --line:#e5e5e3;\n      --soft:#f5f5f4;\n      --shadow:0 1px 3px rgba(0,0,0,.06), 0 12px 28px rgba(0,0,0,.05);\n      --red:#c0392b;\n      --red-soft:rgba(192,57,43,.06);\n      --green:#1a7f5a;\n      --amber:#c27c0e;\n\n      font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;\n      color:var(--text);\n      background:var(--bg);\n      padding:0;\n      transition:background .3s, color .3s;\n      line-height:1.5;\n      -webkit-font-smoothing:antialiased;\n    }\n\n    #sdg-hormuz-final.is-dark{\n      --bg:#0d0d0d;\n      --card:#1a1a1a;\n      --card2:#141414;\n      --text:#e5e5e5;\n      --muted:#8a8a8a;\n      --line:#2a2a2a;\n      --soft:#1f1f1f;\n      --shadow:0 1px 3px rgba(0,0,0,.2), 0 12px 28px rgba(0,0,0,.3);\n      --red:#e74c3c;\n      --red-soft:rgba(231,76,60,.08);\n    }\n\n    \/* ---- LAYOUT ---- *\/\n    #sdg-hormuz-final .wrap{max-width:1200px; margin:0 auto; padding:0 20px;}\n\n    \/* ---- HERO BANNER ---- *\/\n    #sdg-hormuz-final .banner{\n      background:var(--card);\n      border-bottom:1px solid var(--line);\n      padding:32px 0 28px;\n    }\n    #sdg-hormuz-final .banner-inner{\n      display:flex;\n      align-items:flex-end;\n      justify-content:space-between;\n      gap:24px;\n    }\n    @media(max-width:768px){#sdg-hormuz-final .banner-inner{flex-direction:column; align-items:flex-start;}}\n    #sdg-hormuz-final .banner-left{flex:1; min-width:0;}\n    #sdg-hormuz-final .kicker-row{\n      display:flex;\n      align-items:center;\n      gap:10px;\n      margin:0 0 8px;\n    }\n    @media(max-width:768px){#sdg-hormuz-final .kicker-row{justify-content:space-between;}}\n    #sdg-hormuz-final .kicker{\n      font-size:11px; font-weight:600; letter-spacing:1.8px; text-transform:uppercase;\n      color:var(--muted); margin:0;\n    }\n    #sdg-hormuz-final h1{\n      font-family:'DM Serif Display', Georgia, serif;\n      font-size:clamp(24px, 3vw, 36px);\n      line-height:1.15;\n      margin:0 0 8px;\n      font-weight:400;\n      letter-spacing:-0.02em;\n    }\n    #sdg-hormuz-final .dek{\n      font-size:15px; line-height:1.6; color:var(--muted); margin:0;\n      max-width:70ch;\n    }\n\n    \/* ---- DAY COUNTER (hero-level) ---- *\/\n    #sdg-hormuz-final .day-block{\n      text-align:right;\n      flex-shrink:0;\n    }\n    @media(max-width:768px){#sdg-hormuz-final .day-block{text-align:left;}}\n    #sdg-hormuz-final .day-block .day-num{\n      font-family:'DM Serif Display', Georgia, serif;\n      font-size:64px;\n      line-height:1;\n      color:var(--red);\n      letter-spacing:-0.03em;\n    }\n    #sdg-hormuz-final .day-block .day-label{\n      font-size:12px;\n      font-weight:500;\n      text-transform:uppercase;\n      letter-spacing:1px;\n      color:var(--muted);\n      margin-top:4px;\n    }\n\n    \/* ---- UTILITY BAR ---- *\/\n    #sdg-hormuz-final .util-bar{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:12px;\n      padding:10px 0;\n      border-bottom:1px solid var(--line);\n      background:var(--card);\n      font-size:12px;\n      color:var(--muted);\n    }\n    #sdg-hormuz-final .util-left{display:flex; gap:16px; align-items:center;}\n    #sdg-hormuz-final .util-dot{width:6px; height:6px; border-radius:50%; background:var(--green); display:inline-block;}\n    \/* ---- LOGO BAR ---- *\/\n    #sdg-hormuz-final .logo-bar{\n      background:var(--card);\n      border-bottom:1px solid var(--line);\n      padding:14px 0;\n    }\n    #sdg-hormuz-final .logo-bar-inner{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:16px;\n    }\n    #sdg-hormuz-final .logo-bar .logo-main img{\n      height:44px;\n      width:auto;\n      display:block;\n      transition:opacity .15s;\n    }\n    #sdg-hormuz-final .logo-bar .logo-main img:hover{opacity:.7;}\n    #sdg-hormuz-final.is-dark .logo-bar .logo-main img{filter:brightness(0) invert(1); opacity:.9;}\n    #sdg-hormuz-final .powered-by{\n      display:flex;\n      align-items:center;\n      gap:8px;\n      text-decoration:none;\n      color:var(--muted);\n      transition:opacity .15s;\n    }\n    #sdg-hormuz-final .powered-by:hover{opacity:.7;}\n    #sdg-hormuz-final .powered-by-label{\n      font-size:10px;\n      font-weight:500;\n      letter-spacing:0.8px;\n      text-transform:uppercase;\n      color:var(--muted);\n      white-space:nowrap;\n    }\n    #sdg-hormuz-final .powered-by img{\n      height:45px;\n      width:auto;\n      display:block;\n      border-radius:3px;\n    }\n    @media(max-width:560px){\n      #sdg-hormuz-final .logo-bar .logo-main img{height:32px;}\n      #sdg-hormuz-final .powered-by img{height:26px;}\n      #sdg-hormuz-final .powered-by-label{font-size:9px;}\n    }\n\n    \/* ---- THEME TOGGLE (sun + moon dual pill) ---- *\/\n    #sdg-hormuz-final .theme-toggle{\n      display:inline-flex; align-items:center;\n      background:var(--soft); border:1px solid var(--line); border-radius:999px;\n      padding:3px; gap:0; cursor:pointer; flex-shrink:0;\n      transition:background .2s, border-color .2s;\n    }\n    #sdg-hormuz-final .theme-toggle:hover{border-color:var(--muted);}\n    #sdg-hormuz-final .t-opt{\n      width:28px; height:28px; border-radius:50%;\n      display:flex; align-items:center; justify-content:center;\n      color:var(--muted); transition:all .2s;\n    }\n    #sdg-hormuz-final .t-opt svg{width:14px; height:14px;}\n    #sdg-hormuz-final .t-opt.active{\n      background:var(--card); color:var(--text);\n      box-shadow:0 1px 3px rgba(0,0,0,.1);\n    }\n\n    \/* ---- DATA STRIP ---- *\/\n    #sdg-hormuz-final .data-strip{\n      display:grid;\n      grid-template-columns:repeat(3,1fr);\n      border-bottom:1px solid var(--line);\n      background:var(--card);\n    }\n    @media(max-width:700px){#sdg-hormuz-final .data-strip{grid-template-columns:1fr;}}\n    #sdg-hormuz-final .data-strip .strip-cell{\n      padding:16px 20px;\n      border-right:1px solid var(--line);\n    }\n    #sdg-hormuz-final .data-strip .strip-cell:last-child{border-right:none;}\n    @media(max-width:700px){\n      #sdg-hormuz-final .data-strip .strip-cell{border-right:none; border-bottom:1px solid var(--line);}\n      #sdg-hormuz-final .data-strip .strip-cell:last-child{border-bottom:none;}\n    }\n    #sdg-hormuz-final .strip-label{\n      font-size:11px; font-weight:600; letter-spacing:1.2px;\n      text-transform:uppercase; color:var(--muted); margin:0 0 8px;\n    }\n    #sdg-hormuz-final .tv-widget{height:220px; overflow:hidden;}\n\n    \/* ---- MAIN GRID ---- *\/\n    #sdg-hormuz-final .main-grid{\n      display:grid;\n      grid-template-columns:1fr 360px;\n      gap:0;\n      margin:0;\n      background:var(--bg);\n    }\n    @media(max-width:980px){#sdg-hormuz-final .main-grid{grid-template-columns:1fr;}}\n\n    \/* Left column *\/\n    #sdg-hormuz-final .col-left{padding:24px 20px; max-width:1200px;}\n    @media(min-width:981px){#sdg-hormuz-final .col-left{padding:24px 24px 24px 0;}}\n\n    \/* Right sidebar *\/\n    #sdg-hormuz-final .col-right{\n      border-left:1px solid var(--line);\n      background:var(--card);\n      padding:24px 20px;\n    }\n    @media(max-width:980px){#sdg-hormuz-final .col-right{border-left:none; border-top:1px solid var(--line);}}\n\n    \/* ---- SECTION HEADERS ---- *\/\n    #sdg-hormuz-final .sec-hd{\n      display:flex; align-items:baseline; justify-content:space-between; gap:12px;\n      margin-bottom:16px;\n    }\n    #sdg-hormuz-final .sec-title{\n      font-family:'DM Serif Display', Georgia, serif;\n      font-size:20px; font-weight:400; margin:0;\n    }\n    #sdg-hormuz-final .sec-link{\n      font-size:12px; font-weight:600; color:var(--muted);\n      text-decoration:none; text-transform:uppercase; letter-spacing:0.8px;\n      border-bottom:1px solid var(--line);\n      transition:color .15s, border-color .15s;\n    }\n    #sdg-hormuz-final .sec-link:hover{color:var(--text); border-color:var(--text);}\n\n    \/* ---- ARTICLES GRID ---- *\/\n    #sdg-hormuz-final .articles-grid{\n      display:grid;\n      grid-template-columns:repeat(3,1fr);\n      gap:16px;\n    }\n    @media(max-width:980px){#sdg-hormuz-final .articles-grid{grid-template-columns:repeat(2,1fr);}}\n    @media(max-width:560px){#sdg-hormuz-final .articles-grid{grid-template-columns:1fr;}}\n\n    #sdg-hormuz-final .article-card{\n      background:var(--card);\n      border:1px solid var(--line);\n      border-radius:8px;\n      overflow:hidden;\n      text-decoration:none;\n      color:inherit;\n      transition:box-shadow .2s, transform .2s;\n    }\n    #sdg-hormuz-final .article-card:hover{\n      box-shadow:var(--shadow);\n      transform:translateY(-2px);\n    }\n    #sdg-hormuz-final .article-card img{width:100%; display:block; aspect-ratio:16\/10; object-fit:cover;}\n    #sdg-hormuz-final .article-card .ac-body{padding:12px 14px;}\n    #sdg-hormuz-final .article-card .ac-title{\n      font-family:'DM Serif Display', Georgia, serif;\n      font-size:15px; line-height:1.3; font-weight:400; margin:0 0 8px;\n    }\n    #sdg-hormuz-final .article-card .ac-date{font-size:12px; color:var(--muted);}\n\n    \/* ---- LOAD MORE ---- *\/\n    #sdg-hormuz-final .load-more-wrap{\n      text-align:center;\n      margin-top:20px;\n    }\n    #sdg-hormuz-final .load-more-btn{\n      background:none; border:1px solid var(--line);\n      border-radius:6px; padding:10px 28px;\n      font-family:'Inter', -apple-system, sans-serif;\n      font-size:13px; font-weight:600; letter-spacing:0.5px;\n      text-transform:uppercase; color:var(--muted);\n      cursor:pointer; transition:all .15s;\n    }\n    #sdg-hormuz-final .load-more-btn:hover{\n      border-color:var(--text); color:var(--text);\n    }\n    #sdg-hormuz-final .load-more-btn:disabled{\n      opacity:.4; cursor:default;\n    }\n    #sdg-hormuz-final .load-more-btn:disabled:hover{\n      border-color:var(--line); color:var(--muted);\n    }\n\n    \/* Loading skeleton *\/\n    @keyframes sdgPulse{0%,100%{opacity:.35;}50%{opacity:.6;}}\n    #sdg-hormuz-final .skel{\n      background:var(--soft); border-radius:8px; height:200px;\n      animation:sdgPulse 1.5s ease-in-out infinite;\n    }\n\n    \/* ---- MAP ---- *\/\n    #sdg-hormuz-final .map-section{margin-top:32px;}\n    #sdg-hormuz-final .map-controls{\n      display:flex; align-items:center; gap:8px; margin-bottom:12px;\n    }\n    #sdg-hormuz-final .map-btn{\n      background:var(--card); border:1px solid var(--line); border-radius:6px;\n      padding:6px 12px; font-size:12px; font-weight:600; color:var(--muted);\n      cursor:pointer; transition:all .15s;\n    }\n    #sdg-hormuz-final .map-btn[aria-pressed=\"true\"]{\n      background:var(--text); color:var(--card); border-color:var(--text);\n    }\n    #sdg-hormuz-final .map-wrap{\n      border:1px solid var(--line); border-radius:8px; overflow:hidden;\n      background:var(--card);\n    }\n    #sdg-hormuz-map{height:480px;}\n    @media(max-width:980px){#sdg-hormuz-map{height:380px;}}\n    @media(max-width:560px){#sdg-hormuz-map{height:300px;}}\n    #sdg-hormuz-final .leaflet-container{background:#f2f2f0;}\n    #sdg-hormuz-final .leaflet-control-attribution{font-size:10px; opacity:.7;}\n    #sdg-hormuz-final .leaflet-control-zoom a{border-radius:6px; width:28px; height:28px; line-height:28px; font-size:14px;}\n    .sdg-pin-wrapper{background:none !important; border:none !important;}\n    .sdg-pin-label{\n      background:rgba(255,255,255,.88); border:1px solid rgba(0,0,0,.1);\n      border-radius:4px; padding:3px 6px; font-size:11px; font-weight:600;\n      color:rgba(0,0,0,.7); box-shadow:0 2px 8px rgba(0,0,0,.08);\n      white-space:nowrap; line-height:1; transform:translate(8px,-50%);\n    }\n    #sdg-hormuz-final.is-dark .sdg-pin-label{\n      background:rgba(0,0,0,.7); border-color:rgba(255,255,255,.15);\n      color:rgba(255,255,255,.85); box-shadow:0 4px 12px rgba(0,0,0,.3);\n    }\n    .sdg-map-legend{\n      background:rgba(255,255,255,.92); border:1px solid rgba(0,0,0,.08);\n      border-radius:6px; padding:8px 10px; font-size:11px; color:rgba(0,0,0,.6);\n      box-shadow:0 4px 12px rgba(0,0,0,.06);\n    }\n    .sdg-map-legend b{color:#1a1a1a; font-weight:600;}\n    .sdg-key{display:flex; align-items:center; gap:6px; margin-top:4px;}\n    .sdg-swatch{width:16px; height:0; border-top:2px solid #1a1a1a; border-radius:1px;}\n    .sdg-swatch.dash{border-top-style:dashed; opacity:.7;}\n    .sdg-swatch.solid{border-top-style:solid; opacity:.7;}\n    .sdg-swatch.soft{border-top-style:solid; opacity:.25;}\n    #sdg-hormuz-final.is-dark .sdg-map-legend{background:rgba(0,0,0,.7); border-color:rgba(255,255,255,.1); color:rgba(255,255,255,.6);}\n    #sdg-hormuz-final.is-dark .sdg-map-legend b{color:#e5e5e5;}\n    #sdg-hormuz-final.is-dark .sdg-swatch{border-top-color:#e5e5e5;}\n\n    #sdgStatus{margin-top:8px; font-size:12px; color:var(--muted); display:none;}\n\n    \/* ---- ECONOMIC CALENDAR ---- *\/\n    #sdg-hormuz-final .calendar-section{margin-top:32px;}\n    #sdg-hormuz-final .calendar-dek{\n      font-size:13px; color:var(--muted); margin:0 0 14px; line-height:1.5;\n    }\n    #sdg-hormuz-final .calendar-wrap{\n      border:1px solid var(--line); border-radius:8px; overflow:hidden;\n      background:var(--card); height:450px;\n    }\n    @media(max-width:560px){\n      #sdg-hormuz-final .calendar-wrap{height:380px;}\n    }\n\n    \/* ---- RIGHT SIDEBAR: TRANSMISSION ---- *\/\n    #sdg-hormuz-final .sidebar-kicker{\n      font-size:11px; font-weight:600; letter-spacing:1.6px;\n      text-transform:uppercase; color:var(--muted); margin:0 0 16px;\n    }\n    #sdg-hormuz-final .transmission-step{\n      display:flex; gap:12px; align-items:flex-start;\n      padding:12px 0;\n    }\n    #sdg-hormuz-final .transmission-step + .transmission-step{\n      border-top:1px solid var(--line);\n    }\n    #sdg-hormuz-final .step-num{\n      width:24px; height:24px; border-radius:50%;\n      background:var(--soft); border:1px solid var(--line);\n      display:flex; align-items:center; justify-content:center;\n      font-size:11px; font-weight:700; color:var(--muted);\n      flex-shrink:0;\n    }\n    #sdg-hormuz-final .step-text{font-size:13px; line-height:1.5;}\n    #sdg-hormuz-final .step-text strong{font-weight:600; color:var(--text);}\n\n    \/* ---- RIGHT SIDEBAR: EXPOSURE BARS ---- *\/\n    #sdg-hormuz-final .exposure-section{margin-top:24px; padding-top:20px; border-top:1px solid var(--line);}\n    #sdg-hormuz-final .exposure-row{\n      display:grid;\n      grid-template-columns:90px 1fr 44px;\n      gap:8px;\n      align-items:center;\n      padding:6px 0;\n    }\n    #sdg-hormuz-final .exposure-row + .exposure-row{border-top:1px solid var(--line);}\n    #sdg-hormuz-final .exp-country{font-size:12px; font-weight:600;}\n    #sdg-hormuz-final .exp-track{\n      height:16px; background:var(--soft); border-radius:3px;\n      overflow:hidden;\n    }\n    #sdg-hormuz-final .exp-fill{\n      height:100%; border-radius:3px;\n      transition:width .8s cubic-bezier(.22,1,.36,1);\n    }\n    #sdg-hormuz-final .exp-pct{\n      font-size:13px; font-weight:700; text-align:right;\n      font-variant-numeric:tabular-nums;\n    }\n    #sdg-hormuz-final .exp-note{font-size:11px; color:var(--muted); margin-top:10px; line-height:1.5;}\n\n    \/* ---- RIGHT SIDEBAR: STOCKS TO WATCH ---- *\/\n    #sdg-hormuz-final .stocks-section{\n      margin-top:24px; padding-top:20px; border-top:1px solid var(--line);\n    }\n    #sdg-hormuz-final .stocks-grid{\n      display:grid;\n      grid-template-columns:1fr 1fr;\n      gap:8px;\n    }\n    #sdg-hormuz-final .stock-card{\n      border:1px solid var(--line);\n      border-radius:6px;\n      background:var(--card2);\n      padding:10px;\n      transition:border-color .15s;\n    }\n    #sdg-hormuz-final .stock-card:hover{border-color:var(--muted);}\n    #sdg-hormuz-final .stock-ticker{\n      font-size:11px; font-weight:700; letter-spacing:0.5px;\n      color:var(--text); margin:0 0 2px;\n    }\n    #sdg-hormuz-final .stock-name{\n      font-size:10px; color:var(--muted); margin:0 0 6px;\n      line-height:1.3;\n      white-space:nowrap; overflow:hidden; text-overflow:ellipsis;\n    }\n    #sdg-hormuz-final .stock-chart{\n      height:120px; overflow:hidden; border-radius:4px;\n    }\n    #sdg-hormuz-final .stock-sector{\n      display:inline-block;\n      font-size:9px; font-weight:600; letter-spacing:0.5px;\n      text-transform:uppercase; color:var(--muted);\n      background:var(--soft); border:1px solid var(--line);\n      border-radius:3px; padding:2px 5px; margin-top:6px;\n    }\n\n    \/* =========================================\n       COMPREHENSIVE MOBILE OPTIMISATION\n    ========================================= *\/\n    @media(max-width:980px){\n      #sdg-hormuz-final .sec-hd{flex-direction:column; gap:4px;}\n      #sdg-hormuz-final .map-section .sec-hd{flex-direction:row; flex-wrap:wrap;}\n    }\n    @media(max-width:768px){\n      #sdg-hormuz-final .banner{padding:20px 0 18px;}\n      #sdg-hormuz-final .banner-inner{gap:16px;}\n      #sdg-hormuz-final .day-block .day-num{font-size:48px;}\n      #sdg-hormuz-final .dek{font-size:14px;}\n      #sdg-hormuz-final .logo-bar{padding:12px 0;}\n      #sdg-hormuz-final .logo-bar img{height:36px;}\n      #sdg-hormuz-final .col-left{padding:16px 0;}\n      #sdg-hormuz-final .col-right{padding:16px 0;}\n    }\n    @media(max-width:560px){\n      #sdg-hormuz-final .wrap{padding:0 14px;}\n      #sdg-hormuz-final .banner{padding:16px 0 14px;}\n      #sdg-hormuz-final h1{font-size:22px;}\n      #sdg-hormuz-final .day-block .day-num{font-size:40px;}\n      #sdg-hormuz-final .day-block .day-label{font-size:10px; letter-spacing:.5px;}\n      #sdg-hormuz-final .dek{font-size:13px;}\n      #sdg-hormuz-final .kicker{font-size:10px; letter-spacing:1.2px;}\n      #sdg-hormuz-final .util-bar .wrap{flex-direction:column; align-items:flex-start; gap:4px;}\n      #sdg-hormuz-final .util-left{flex-wrap:wrap; gap:8px; font-size:11px;}\n      #sdg-hormuz-final .data-strip .strip-cell{padding:12px 14px;}\n      #sdg-hormuz-final .tv-widget{height:200px;}\n      #sdg-hormuz-final .map-section .sec-hd{flex-direction:column; align-items:flex-start; gap:8px;}\n      #sdg-hormuz-final .map-section{margin-top:24px;}\n      #sdg-hormuz-final .exposure-row{grid-template-columns:72px 1fr 36px; gap:6px;}\n      #sdg-hormuz-final .exp-country{font-size:11px;}\n      #sdg-hormuz-final .exp-pct{font-size:12px;}\n      #sdg-hormuz-final .step-text{font-size:12px;}\n      #sdg-hormuz-final .stocks-grid{grid-template-columns:1fr 1fr;}\n      #sdg-hormuz-final .stock-chart{height:110px;}\n      #sdg-hormuz-final .article-card .ac-title{font-size:14px;}\n      #sdg-hormuz-final .article-card .ac-body{padding:10px 12px;}\n    }\n  <\/style>\n\n  <!-- ======== LOGO BAR ======== -->\n  <div class=\"logo-bar\">\n    <div class=\"wrap\">\n      <div class=\"logo-bar-inner\">\n        <a href=\"https:\/\/sdgnews.com\" class=\"logo-main\" title=\"SDG News \u2014 Home\">\n          <img decoding=\"async\" src=\"https:\/\/sdgnews.com\/wp-content\/uploads\/2024\/03\/Untitled-design-2.png\" alt=\"SDG News\">\n        <\/a>\n        <div class=\"powered-by\">\n          <span class=\"powered-by-label\">Powered by<\/span>\n          <img decoding=\"async\" src=\"https:\/\/sdgnews.com\/wp-content\/uploads\/2026\/04\/DEFENSENEWS.ORG-LOGO-White-on-black.png\" alt=\"DefenseNews.org\">\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- ======== BANNER ======== -->\n  <div class=\"banner\">\n    <div class=\"wrap\">\n      <div class=\"banner-inner\">\n        <div class=\"banner-left\">\n          <div class=\"kicker-row\">\n            <div class=\"kicker\">SDG News &bull; Interactive Briefing<\/div>\n            <div id=\"sdgThemeToggle\" class=\"theme-toggle\" role=\"button\" tabindex=\"0\" aria-label=\"Toggle dark mode\">\n              <span class=\"t-opt active\" id=\"tSun\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"5\"\/><line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"\/><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"\/><line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"\/><line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"\/><line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"\/><line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"\/><line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\"\/><line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\"\/><\/svg>\n              <\/span>\n              <span class=\"t-opt\" id=\"tMoon\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"\/><\/svg>\n              <\/span>\n            <\/div>\n          <\/div>\n          <h1>The Global Chokepoint<br>in the Strait of Hormuz<\/h1>\n          <p class=\"dek\">\n            A regional war becomes a global test when trade and energy move through concentrated corridors. Tracking escalation through physical flows, financial transmission, and policy coordination.\n          <\/p>\n        <\/div>\n        <div class=\"day-block\">\n          <div class=\"day-num\" id=\"sdgDayCount\">&mdash;<\/div>\n          <div class=\"day-label\">Days since escalation<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- ======== UTILITY BAR ======== -->\n  <div class=\"util-bar\">\n    <div class=\"wrap\" style=\"display:flex; align-items:center; justify-content:space-between;\">\n      <div class=\"util-left\">\n        <span><span class=\"util-dot\"><\/span>&ensp;<span id=\"sdgUpdatedDate\">Updated<\/span><\/span>\n        <span style=\"opacity:.4;\">|<\/span>\n        <span>Lens: Energy security &bull; Markets &bull; Governance<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- ======== DATA STRIP ======== -->\n  <div class=\"data-strip\">\n    <div class=\"strip-cell\">\n      <div class=\"strip-label\">Brent Crude Oil<\/div>\n      <div class=\"tv-widget\" id=\"tvBrent\"><\/div>\n    <\/div>\n    <div class=\"strip-cell\">\n      <div class=\"strip-label\">Natural Gas<\/div>\n      <div class=\"tv-widget\" id=\"tvNatGas\"><\/div>\n    <\/div>\n    <div class=\"strip-cell\">\n      <div class=\"strip-label\">Gold (Safe Haven)<\/div>\n      <div class=\"tv-widget\" id=\"tvGold\"><\/div>\n    <\/div>\n  <\/div>\n\n  <!-- ======== MAIN CONTENT ======== -->\n  <div class=\"wrap\">\n    <div class=\"main-grid\">\n\n      <!-- LEFT COLUMN -->\n      <div class=\"col-left\">\n\n        <!-- Articles -->\n        <div class=\"sec-hd\">\n          <h2 class=\"sec-title\">Latest coverage<\/h2>\n          <a href=\"https:\/\/sdgnews.com\/tag\/iran-war\/\" class=\"sec-link\">All Iran War coverage &rarr;<\/a>\n        <\/div>\n\n        <div id=\"iranWarLoading\" class=\"articles-grid\">\n          <div class=\"skel\"><\/div><div class=\"skel\" style=\"animation-delay:.15s\"><\/div><div class=\"skel\" style=\"animation-delay:.3s\"><\/div>\n        <\/div>\n        <div id=\"iranWarLatest\" class=\"articles-grid\" aria-label=\"Latest posts\"><\/div>\n\n        <!-- Load More -->\n        <div class=\"load-more-wrap\" id=\"loadMoreWrap\" style=\"display:none;\">\n          <button class=\"load-more-btn\" id=\"loadMoreBtn\" type=\"button\">Load more<\/button>\n        <\/div>\n\n        <!-- Map -->\n        <div class=\"map-section\">\n          <div class=\"sec-hd\">\n            <h2 class=\"sec-title\">Chokepoint map<\/h2>\n            <div class=\"map-controls\">\n              <button class=\"map-btn\" type=\"button\" data-layer=\"oil\" aria-pressed=\"true\">Oil<\/button>\n              <button class=\"map-btn\" type=\"button\" data-layer=\"lng\" aria-pressed=\"false\">LNG<\/button>\n              <button class=\"map-btn\" type=\"button\" data-layer=\"ins\" aria-pressed=\"false\">Insurance<\/button>\n            <\/div>\n          <\/div>\n          <div class=\"map-wrap\">\n            <div id=\"sdg-hormuz-map\" aria-label=\"Interactive map\"><\/div>\n          <\/div>\n          <div id=\"sdgStatus\"><\/div>\n        <\/div>\n\n        <!-- Economic Calendar -->\n        <div class=\"calendar-section\">\n          <div class=\"sec-hd\">\n            <h2 class=\"sec-title\">Policy calendar<\/h2>\n          <\/div>\n          <p class=\"calendar-dek\">Upcoming rate decisions, inflation data, and energy policy events that shape the macro response to the conflict.<\/p>\n          <div class=\"calendar-wrap\" id=\"sdgEconCal\"><\/div>\n        <\/div>\n\n      <\/div>\n\n      <!-- RIGHT SIDEBAR -->\n      <div class=\"col-right\">\n        <div class=\"sidebar-kicker\">How the shock transmits<\/div>\n\n        <div class=\"transmission-step\">\n          <div class=\"step-num\">1<\/div>\n          <div class=\"step-text\"><strong>Energy corridor<\/strong> &mdash; throughput constraints, rerouting, and capacity uncertainty through the strait.<\/div>\n        <\/div>\n        <div class=\"transmission-step\">\n          <div class=\"step-num\">2<\/div>\n          <div class=\"step-text\"><strong>Shipping &amp; insurance<\/strong> &mdash; war-risk premia rise, coverage tightens, transit times lengthen.<\/div>\n        <\/div>\n        <div class=\"transmission-step\">\n          <div class=\"step-num\">3<\/div>\n          <div class=\"step-text\"><strong>Inflation &amp; policy<\/strong> &mdash; fuel and freight costs feed CPI; central banks and fiscal authorities respond.<\/div>\n        <\/div>\n        <div class=\"transmission-step\">\n          <div class=\"step-num\">4<\/div>\n          <div class=\"step-text\"><strong>Sovereign balance sheets<\/strong> &mdash; import bills, subsidies, and FX pressure affect debt capacity.<\/div>\n        <\/div>\n\n        <!-- Exposure -->\n        <div class=\"exposure-section\">\n          <div class=\"sidebar-kicker\">Hormuz transit dependency<\/div>\n          <div id=\"sdgExposureBars\"><\/div>\n          <div class=\"exp-note\">\n            Share of crude oil imports via Hormuz. Sources: EIA, IEA.<br>Last updated: Q1 2026.\n          <\/div>\n        <\/div>\n\n        <!-- Defense & Energy Stocks -->\n        <div class=\"stocks-section\">\n          <div class=\"sidebar-kicker\">Stocks to watch<\/div>\n          <div class=\"stocks-grid\" id=\"sdgStocksGrid\"><\/div>\n          <div class=\"exp-note\">\n            Defense, energy, and shipping companies with direct exposure to the conflict. Prices via TradingView (delayed).\n          <\/div>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n\n  <script>\n  (function(){\n    const SITE = \"https:\/\/sdgnews.com\";\n    const CONFLICT_START = new Date(\"2026-02-21T00:00:00Z\");\n    const POSTS_PER_PAGE = 6;\n\n    const DATA = {\n      points: [\n        { name:\"Strait of Hormuz\", lat:26.56, lon:56.25, note:\"Strategic chokepoint \u2014 21% of global oil trade.\" },\n        { name:\"Bandar Abbas\",     lat:27.18, lon:56.27, note:\"Major Iranian naval and commercial port.\" },\n        { name:\"Musandam\",         lat:26.23, lon:56.30, note:\"Omani peninsula framing the southern strait.\" }\n      ],\n      oilLine:[\n        [26.10,54.50],[26.20,55.00],[26.35,55.50],[26.45,55.90],\n        [26.55,56.15],[26.50,56.45],[26.30,56.80],[26.05,57.20],[25.75,57.60]\n      ],\n      lngLine:[\n        [26.00,54.55],[26.10,55.05],[26.25,55.55],[26.35,55.95],\n        [26.45,56.18],[26.38,56.50],[26.18,56.85],[25.92,57.25],[25.62,57.65]\n      ],\n      riskRadiusKm:85,\n      tagSlug:\"iran-war\",\n      tagUrl:\"https:\/\/sdgnews.com\/tag\/iran-war\/\",\n      exposure:[\n        { country:\"Japan\",   pct:80, color:\"#c0392b\" },\n        { country:\"S. Korea\",pct:70, color:\"#d35400\" },\n        { country:\"India\",   pct:60, color:\"#e67e22\" },\n        { country:\"China\",   pct:40, color:\"#f39c12\" },\n        { country:\"EU\",      pct:20, color:\"#b0b0b0\" },\n        { country:\"US\",      pct:12, color:\"#b0b0b0\" }\n      ]\n    };\n\n    \/* ---- DAY COUNTER ---- *\/\n    const dayEl = document.getElementById(\"sdgDayCount\");\n    if(dayEl){\n      const diff = Math.floor((new Date() - CONFLICT_START) \/ 864e5);\n      dayEl.textContent = diff >= 0 ? diff : \"\u2014\";\n    }\n\n    \/* ---- UPDATED DATE ---- *\/\n    const dateEl = document.getElementById(\"sdgUpdatedDate\");\n    if(dateEl){\n      dateEl.textContent = new Date().toLocaleDateString(\"en-US\",{month:\"long\",day:\"numeric\",year:\"numeric\"});\n    }\n\n    \/* ---- EXPOSURE BARS (heat-colored) ---- *\/\n    const expContainer = document.getElementById(\"sdgExposureBars\");\n    if(expContainer){\n      expContainer.innerHTML = DATA.exposure.map(d => `\n        <div class=\"exposure-row\">\n          <div class=\"exp-country\">${d.country}<\/div>\n          <div class=\"exp-track\"><div class=\"exp-fill\" style=\"width:0%;background:${d.color};opacity:.7;\" data-t=\"${d.pct}\"><\/div><\/div>\n          <div class=\"exp-pct\">${d.pct}%<\/div>\n        <\/div>\n      `).join(\"\");\n      requestAnimationFrame(()=>requestAnimationFrame(()=>{\n        expContainer.querySelectorAll(\".exp-fill\").forEach(b=>{ b.style.width=b.dataset.t+\"%\"; });\n      }));\n    }\n\n    \/* ---- TRADINGVIEW WIDGETS ---- *\/\n    function injectTV(id, symbol){\n      const el = document.getElementById(id);\n      if(!el) return;\n      const isDark = document.getElementById(\"sdg-hormuz-final\").classList.contains(\"is-dark\");\n      el.innerHTML = \"\";\n      const wrap = document.createElement(\"div\");\n      wrap.className = \"tradingview-widget-container\";\n      wrap.style.cssText = \"height:100%;width:100%;\";\n      const inner = document.createElement(\"div\");\n      inner.className = \"tradingview-widget-container__widget\";\n      inner.style.cssText = \"height:100%;width:100%;\";\n      wrap.appendChild(inner);\n      const s = document.createElement(\"script\");\n      s.type = \"text\/javascript\";\n      s.src = \"https:\/\/s3.tradingview.com\/external-embedding\/embed-widget-symbol-overview.js\";\n      s.async = true;\n      s.textContent = JSON.stringify({\n        symbols:[[symbol]],\n        chartOnly:false,\n        width:\"100%\",height:\"100%\",\n        locale:\"en\",\n        colorTheme:isDark?\"dark\":\"light\",\n        autosize:true,\n        showVolume:false,showMA:false,\n        hideDateRanges:false,hideMarketStatus:true,hideSymbolLogo:true,\n        scalePosition:\"no\",scaleMode:\"Normal\",\n        fontFamily:\"Inter, -apple-system, sans-serif\",\n        fontSize:\"10\",\n        noTimeScale:false,\n        valuesTracking:\"1\",\n        changeMode:\"price-and-percent\",\n        chartType:\"area\",lineWidth:2,lineType:0,\n        dateRanges:[\"1m|1D\",\"3m|1D\",\"12m|1W\"],\n        isTransparent:true\n      });\n      wrap.appendChild(s);\n      el.appendChild(wrap);\n    }\n\n    function loadAllTV(){\n      injectTV(\"tvBrent\",\"TVC:UKOIL|1M\");\n      injectTV(\"tvNatGas\",\"PEPPERSTONE:NATGAS|1M\");\n      injectTV(\"tvGold\",\"TVC:GOLD|1M\");\n      renderStockCards();\n      injectEconCalendar();\n    }\n\n    \/* ---- ECONOMIC CALENDAR ---- *\/\n    function injectEconCalendar(){\n      const el = document.getElementById(\"sdgEconCal\");\n      if(!el) return;\n      const isDark = document.getElementById(\"sdg-hormuz-final\").classList.contains(\"is-dark\");\n      el.innerHTML = \"\";\n      const wrap = document.createElement(\"div\");\n      wrap.className = \"tradingview-widget-container\";\n      wrap.style.cssText = \"height:100%;width:100%;\";\n      const inner = document.createElement(\"div\");\n      inner.className = \"tradingview-widget-container__widget\";\n      inner.style.cssText = \"height:100%;width:100%;\";\n      wrap.appendChild(inner);\n      const s = document.createElement(\"script\");\n      s.type = \"text\/javascript\";\n      s.src = \"https:\/\/s3.tradingview.com\/external-embedding\/embed-widget-events.js\";\n      s.async = true;\n      s.textContent = JSON.stringify({\n        colorTheme: isDark ? \"dark\" : \"light\",\n        isTransparent: true,\n        width: \"100%\",\n        height: \"100%\",\n        locale: \"en\",\n        importanceFilter: \"0,1\",\n        countryFilter: \"us,eu,gb,jp,cn,sa,ae,in,kr\"\n      });\n      wrap.appendChild(s);\n      el.appendChild(wrap);\n    }\n\n    let tvTimer;\n    function scheduleTV(){clearTimeout(tvTimer); tvTimer=setTimeout(loadAllTV,300);}\n\n    \/* ---- STOCK TICKERS ---- *\/\n    const STOCKS = [\n      { ticker:\"LMT\",   name:\"Lockheed Martin\",  symbol:\"NYSE:LMT\",           sector:\"Defense\" },\n      { ticker:\"RTX\",   name:\"RTX Corp\",          symbol:\"NYSE:RTX\",            sector:\"Defense\" },\n      { ticker:\"NOC\",   name:\"Northrop Grumman\",  symbol:\"NYSE:NOC\",            sector:\"Defense\" },\n      { ticker:\"BA\",    name:\"Boeing\",             symbol:\"NYSE:BA\",             sector:\"Aerospace\" },\n      { ticker:\"GD\",    name:\"General Dynamics\",   symbol:\"NYSE:GD\",             sector:\"Defense\" },\n      { ticker:\"RHM\",   name:\"Rheinmetall\",        symbol:\"XETR:RHM\",           sector:\"Defense\" },\n      { ticker:\"XOM\",   name:\"ExxonMobil\",         symbol:\"NYSE:XOM\",            sector:\"Energy\" },\n      { ticker:\"SHEL\",  name:\"Shell\",              symbol:\"NYSE:SHEL\",           sector:\"Energy\" }\n    ];\n\n    function injectMiniChart(containerId, symbol){\n      const el = document.getElementById(containerId);\n      if(!el) return;\n      const isDark = document.getElementById(\"sdg-hormuz-final\").classList.contains(\"is-dark\");\n      el.innerHTML = \"\";\n      const wrap = document.createElement(\"div\");\n      wrap.className = \"tradingview-widget-container\";\n      wrap.style.cssText = \"height:100%;width:100%;\";\n      const inner = document.createElement(\"div\");\n      inner.className = \"tradingview-widget-container__widget\";\n      inner.style.cssText = \"height:100%;width:100%;\";\n      wrap.appendChild(inner);\n      const s = document.createElement(\"script\");\n      s.type = \"text\/javascript\";\n      s.src = \"https:\/\/s3.tradingview.com\/external-embedding\/embed-widget-mini-symbol-overview.js\";\n      s.async = true;\n      s.textContent = JSON.stringify({\n        symbol: symbol,\n        width: \"100%\",\n        height: \"100%\",\n        locale: \"en\",\n        dateRange: \"1M\",\n        colorTheme: isDark ? \"dark\" : \"light\",\n        isTransparent: true,\n        autosize: true,\n        largeChartUrl: \"\",\n        chartOnly: false,\n        noTimeScale: true\n      });\n      wrap.appendChild(s);\n      el.appendChild(wrap);\n    }\n\n    function renderStockCards(){\n      const grid = document.getElementById(\"sdgStocksGrid\");\n      if(!grid) return;\n      grid.innerHTML = STOCKS.map((s, i) => `\n        <div class=\"stock-card\">\n          <div class=\"stock-chart\" id=\"stockChart${i}\"><\/div>\n          <div class=\"stock-sector\">${s.sector}<\/div>\n        <\/div>\n      `).join(\"\");\n\n      \/* Inject mini charts with a slight stagger to avoid rate-limiting *\/\n      STOCKS.forEach((s, i) => {\n        setTimeout(() => injectMiniChart(\"stockChart\" + i, s.symbol), i * 200);\n      });\n    }\n\n    \/* ---- THEME ---- *\/\n    const root = document.getElementById(\"sdg-hormuz-final\");\n    const themeBtn = document.getElementById(\"sdgThemeToggle\");\n    function setTheme(dark){\n      root.classList.toggle(\"is-dark\",dark);\n      const sun = document.getElementById(\"tSun\");\n      const moon = document.getElementById(\"tMoon\");\n      if(sun && moon){\n        sun.classList.toggle(\"active\", !dark);\n        moon.classList.toggle(\"active\", dark);\n      }\n    }\n    try{ const s=localStorage.getItem(\"sdg_theme\"); if(s===\"dark\") setTheme(true); }catch(e){}\n    if(themeBtn) themeBtn.addEventListener(\"click\",()=>{\n      const dark = !root.classList.contains(\"is-dark\");\n      setTheme(dark);\n      try{localStorage.setItem(\"sdg_theme\",dark?\"dark\":\"light\");}catch(e){}\n      scheduleTV();\n    });\n\n    \/* ---- MAP ---- *\/\n    function loadScript(src){\n      return new Promise((res,rej)=>{\n        const s=document.createElement(\"script\"); s.src=src; s.async=true;\n        s.onload=res; s.onerror=()=>rej(new Error(\"Failed: \"+src));\n        document.head.appendChild(s);\n      });\n    }\n\n    async function initMap(){\n      const el = document.getElementById(\"sdg-hormuz-map\");\n      if(!el) return;\n      if(!window.L) await loadScript(\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js\");\n\n      const map = L.map(el,{scrollWheelZoom:false,zoomControl:true,dragging:!L.Browser.mobile});\n      map.setView([26.00,55.50],6);\n      L.tileLayer(\"https:\/\/{s}.basemaps.cartocdn.com\/light_nolabels\/{z}\/{x}\/{y}{r}.png\",{\n        subdomains:\"abcd\",maxZoom:19,\n        attribution:\"&copy; OSM &copy; CARTO\"\n      }).addTo(map);\n\n      \/* Iran fill *\/\n      const iran=[\n        [39.78,44.77],[39.40,45.50],[39.00,46.00],[38.50,48.00],[38.40,48.90],\n        [37.50,49.50],[37.00,50.00],[36.80,53.90],[37.30,55.50],[37.80,57.20],\n        [37.40,59.30],[36.60,61.20],[34.70,61.00],[33.70,60.50],[31.30,61.70],\n        [27.20,63.30],[26.60,63.00],[25.60,61.50],[25.30,60.10],[25.60,58.90],\n        [26.20,58.10],[26.40,57.40],[26.60,57.00],[26.80,56.60],[27.10,56.40],\n        [27.30,56.20],[27.20,55.60],[27.00,55.10],[26.90,54.80],[27.10,54.10],\n        [27.50,53.00],[27.80,52.00],[28.90,51.50],[29.00,50.90],[29.30,50.50],\n        [30.10,49.60],[30.50,49.00],[31.00,48.50],[31.40,47.80],[32.00,47.40],\n        [33.00,46.50],[34.00,46.00],[35.00,45.50],[36.00,45.00],[37.00,44.80],\n        [38.00,44.50],[39.00,44.40],[39.78,44.77]\n      ];\n      L.polygon(iran,{color:\"rgba(0,0,0,.06)\",weight:1,fillColor:\"#c0392b\",fillOpacity:0.04,interactive:false}).addTo(map);\n\n      \/* Layers *\/\n      const oilLayer=L.layerGroup().addTo(map), lngLayer=L.layerGroup(), insLayer=L.layerGroup();\n\n      DATA.points.forEach(p=>{\n        L.circleMarker([p.lat,p.lon],{radius:5,color:\"#1a1a1a\",weight:1,fillColor:\"#1a1a1a\",fillOpacity:.8})\n          .bindPopup(`<b style=\"font-family:Inter,sans-serif\">${p.name}<\/b><br><span style=\"font-family:Inter,sans-serif;font-size:12px\">${p.note}<\/span>`)\n          .addTo(oilLayer);\n      });\n\n      L.polyline(DATA.oilLine,{color:\"#1a1a1a\",weight:2.5,opacity:.6,dashArray:\"8 6\",smoothFactor:1.5}).addTo(oilLayer);\n      L.polyline(DATA.lngLine,{color:\"#1a1a1a\",weight:2.5,opacity:.5,dashArray:\"4 6\",smoothFactor:1.5}).addTo(lngLayer);\n      L.circle([26.56,56.25],{radius:DATA.riskRadiusKm*1000,color:\"#c0392b\",weight:1.5,opacity:.2,fillColor:\"#c0392b\",fillOpacity:.05}).addTo(insLayer);\n\n      \/* Labels *\/\n      function pin(lat,lon,text){\n        const icon=L.divIcon({className:\"sdg-pin-wrapper\",html:`<div class=\"sdg-pin-label\">${text}<\/div>`,iconSize:[0,0],iconAnchor:[0,0]});\n        L.marker([lat,lon],{icon,interactive:false}).addTo(map);\n      }\n      pin(27.18,56.27,\"Bandar Abbas\");\n      pin(26.15,56.40,\"Musandam\");\n\n      \/* Country + Strait text labels *\/\n      function textLabel(lat,lon,html,anchor){\n        const icon=L.divIcon({className:\"sdg-pin-wrapper\",html,iconSize:[0,0],iconAnchor:anchor||[0,0]});\n        L.marker([lat,lon],{icon,interactive:false}).addTo(map);\n      }\n      textLabel(32.00,53.50,\n        '<div style=\"font-size:13px;color:rgba(0,0,0,.15);font-weight:700;letter-spacing:10px;text-transform:uppercase;white-space:nowrap\">IRAN<\/div>',\n        [20,8]);\n      textLabel(26.38,56.18,\n        '<div style=\"font-size:10px;color:rgba(0,0,0,.30);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap\">Strait of Hormuz<\/div>',\n        [45,8]);\n\n      \/* Legend *\/\n      const Leg=L.Control.extend({\n        options:{position:\"bottomleft\"},\n        onAdd:function(){\n          const d=L.DomUtil.create(\"div\",\"sdg-map-legend\");\n          d.innerHTML=`<b>Legend<\/b>\n            <div class=\"sdg-key\"><span class=\"sdg-swatch dash\"><\/span>Oil flows<\/div>\n            <div class=\"sdg-key\"><span class=\"sdg-swatch solid\"><\/span>LNG<\/div>\n            <div class=\"sdg-key\"><span class=\"sdg-swatch soft\"><\/span>Risk zone<\/div>`;\n          return d;\n        }\n      });\n      map.addControl(new Leg());\n\n      \/* Toggle logic *\/\n      const btns=document.querySelectorAll(\"#sdg-hormuz-final .map-btn\");\n      btns.forEach(btn=>{\n        btn.addEventListener(\"click\",()=>{\n          const k=btn.dataset.layer, on=btn.getAttribute(\"aria-pressed\")===\"true\";\n          btn.setAttribute(\"aria-pressed\",on?\"false\":\"true\");\n          const layers={oil:oilLayer,lng:lngLayer,ins:insLayer};\n          on ? map.removeLayer(layers[k]) : map.addLayer(layers[k]);\n          if(!Array.from(btns).some(b=>b.getAttribute(\"aria-pressed\")===\"true\")){\n            btns[0].setAttribute(\"aria-pressed\",\"true\");\n            map.addLayer(oilLayer);\n          }\n        });\n      });\n    }\n\n    \/* ---- POSTS (with Load More pagination) ---- *\/\n    let tagId = null;\n    let currentPage = 1;\n    let totalPages = 1;\n    let isLoading = false;\n\n    function fetchT(url,ms=8000){\n      return Promise.race([fetch(url,{credentials:\"omit\"}),new Promise((_,r)=>setTimeout(()=>r(new Error(\"Timeout\")),ms))]);\n    }\n\n    function buildCardHTML(p){\n      const title=p.title?.rendered||\"Untitled\";\n      const link=p.link||\"#\";\n      const date=p.date?new Date(p.date).toLocaleDateString(undefined,{year:\"numeric\",month:\"short\",day:\"numeric\"}):\"\";\n      const img=p._embedded?.[\"wp:featuredmedia\"]?.[0];\n      const src=img?.source_url||\"\";\n      const alt=img?.alt_text||\"\";\n      return `<a href=\"${link}\" class=\"article-card\">\n        ${src?`<img decoding=\"async\" src=\"${src}\" alt=\"${alt}\" loading=\"lazy\">`:\"\"}\n        <div class=\"ac-body\">\n          <div class=\"ac-title\">${title}<\/div>\n          <div class=\"ac-date\">${date}<\/div>\n        <\/div>\n      <\/a>`;\n    }\n\n    async function resolveTagId(){\n      const tagRes=await fetchT(`${SITE}\/wp-json\/wp\/v2\/tags?slug=${DATA.tagSlug}`);\n      const tags=await tagRes.json();\n      if(!tags.length) throw new Error(\"Tag not found\");\n      tagId = tags[0].id;\n    }\n\n    async function fetchPage(page){\n      const res = await fetchT(`${SITE}\/wp-json\/wp\/v2\/posts?tags=${tagId}&per_page=${POSTS_PER_PAGE}&page=${page}&_embed=1`);\n      totalPages = parseInt(res.headers.get(\"X-WP-TotalPages\") || \"1\", 10);\n      if(!res.ok) throw new Error(\"Posts fetch failed: \" + res.status);\n      return res.json();\n    }\n\n    function updateLoadMoreButton(){\n      const wrap = document.getElementById(\"loadMoreWrap\");\n      const btn = document.getElementById(\"loadMoreBtn\");\n      if(!wrap || !btn) return;\n      if(currentPage >= totalPages){\n        wrap.style.display = \"none\";\n      } else {\n        wrap.style.display = \"block\";\n        btn.disabled = false;\n        btn.textContent = \"Load more\";\n      }\n    }\n\n    async function loadMorePosts(){\n      if(isLoading || currentPage >= totalPages) return;\n      isLoading = true;\n      const btn = document.getElementById(\"loadMoreBtn\");\n      if(btn){ btn.disabled = true; btn.textContent = \"Loading\\u2026\"; }\n\n      try{\n        currentPage++;\n        const posts = await fetchPage(currentPage);\n        const el = document.getElementById(\"iranWarLatest\");\n        if(el){\n          el.insertAdjacentHTML(\"beforeend\", posts.map(buildCardHTML).join(\"\"));\n        }\n        updateLoadMoreButton();\n      }catch(e){\n        currentPage--;\n        if(btn){ btn.disabled = false; btn.textContent = \"Load more\"; }\n        console.warn(\"Load more failed:\", e);\n      }\n      isLoading = false;\n    }\n\n    function renderPosts(posts){\n      const loadEl=document.getElementById(\"iranWarLoading\");\n      const el=document.getElementById(\"iranWarLatest\");\n      if(loadEl) loadEl.style.display=\"none\";\n      if(!el) return;\n      el.innerHTML = posts.map(buildCardHTML).join(\"\");\n      updateLoadMoreButton();\n    }\n\n    \/* ---- INIT ---- *\/\n    (async()=>{\n      try{await initMap();}catch(e){\n        const s=document.getElementById(\"sdgStatus\");\n        if(s){s.style.display=\"block\";s.textContent=\"Map failed: \"+e.message;}\n      }\n      try{\n        await resolveTagId();\n        const posts = await fetchPage(1);\n        renderPosts(posts);\n      }catch(e){\n        const l=document.getElementById(\"iranWarLoading\"); if(l) l.style.display=\"none\";\n        const el=document.getElementById(\"iranWarLatest\");\n        if(el) el.innerHTML=`<div style=\"grid-column:1\/-1;font-size:13px;color:var(--muted);padding:16px 0;\">\n          Coverage could not be loaded. <a href=\"${DATA.tagUrl}\" style=\"color:var(--text);text-decoration:underline;\">View archive &rarr;<\/a><\/div>`;\n      }\n      try{loadAllTV();}catch(e){}\n\n      \/* Wire up Load More button *\/\n      const loadMoreBtn = document.getElementById(\"loadMoreBtn\");\n      if(loadMoreBtn) loadMoreBtn.addEventListener(\"click\", loadMorePosts);\n    })();\n  })();\n  <\/script>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Powered by SDG News &bull; Interactive Briefing The Global Chokepointin the Strait of Hormuz A regional war becomes a global test when trade and energy move through concentrated corridors. Tracking escalation through physical flows, financial transmission, and policy coordination. &mdash; Days since escalation &ensp;Updated | Lens: Energy security &bull; Markets &bull; Governance Brent Crude Oil [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-11043","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.3 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Iran War - SDG News<\/title>\n<meta name=\"description\" content=\"Iran War page tracks escalation through three channels: physical flows, financial transmission, and policy coordination\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sdgnews.com\/ar\/iran-war-tracker\/\" \/>\n<meta property=\"og:locale\" content=\"ar_AR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Iran War\" \/>\n<meta property=\"og:description\" content=\"Iran War page tracks escalation through three channels: physical flows, financial transmission, and policy coordination\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sdgnews.com\/ar\/iran-war-tracker\/\" \/>\n<meta property=\"og:site_name\" content=\"SDG News\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-13T11:34:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sdgnews.com\/wp-content\/uploads\/2024\/03\/Untitled-design-2.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0648\u0642\u062a \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u064f\u0642\u062f\u0651\u0631\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 \u062f\u0642\u0627\u0626\u0642\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sdgnews.com\\\/iran-war-tracker\\\/\",\"url\":\"https:\\\/\\\/sdgnews.com\\\/iran-war-tracker\\\/\",\"name\":\"Iran War - SDG News\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sdgnews.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sdgnews.com\\\/iran-war-tracker\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sdgnews.com\\\/iran-war-tracker\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sdgnews.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Untitled-design-2.png\",\"datePublished\":\"2026-03-04T06:52:56+00:00\",\"dateModified\":\"2026-04-13T11:34:15+00:00\",\"description\":\"Iran War page tracks escalation through three channels: physical flows, financial transmission, and policy coordination\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sdgnews.com\\\/iran-war-tracker\\\/#breadcrumb\"},\"inLanguage\":\"ar\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sdgnews.com\\\/iran-war-tracker\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\\\/\\\/sdgnews.com\\\/iran-war-tracker\\\/#primaryimage\",\"url\":\"https:\\\/\\\/sdgnews.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Untitled-design-2.png\",\"contentUrl\":\"https:\\\/\\\/sdgnews.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Untitled-design-2.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sdgnews.com\\\/iran-war-tracker\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/sdgnews.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Iran War\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sdgnews.com\\\/#website\",\"url\":\"https:\\\/\\\/sdgnews.com\\\/\",\"name\":\"SDG News\",\"description\":\"SDG News Supports the Sustainable Development Goals\",\"publisher\":{\"@id\":\"https:\\\/\\\/sdgnews.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sdgnews.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ar\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/sdgnews.com\\\/#organization\",\"name\":\"SDG News\",\"url\":\"https:\\\/\\\/sdgnews.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\\\/\\\/sdgnews.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/sdgnews.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Untitled-design-2.png\",\"contentUrl\":\"https:\\\/\\\/sdgnews.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Untitled-design-2.png\",\"width\":500,\"height\":246,\"caption\":\"SDG News\"},\"image\":{\"@id\":\"https:\\\/\\\/sdgnews.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Iran War - SDG News","description":"Iran War page tracks escalation through three channels: physical flows, financial transmission, and policy coordination","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sdgnews.com\/ar\/iran-war-tracker\/","og_locale":"ar_AR","og_type":"article","og_title":"Iran War","og_description":"Iran War page tracks escalation through three channels: physical flows, financial transmission, and policy coordination","og_url":"https:\/\/sdgnews.com\/ar\/iran-war-tracker\/","og_site_name":"SDG News","article_modified_time":"2026-04-13T11:34:15+00:00","og_image":[{"url":"https:\/\/sdgnews.com\/wp-content\/uploads\/2024\/03\/Untitled-design-2.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"\u0648\u0642\u062a \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u064f\u0642\u062f\u0651\u0631":"6 \u062f\u0642\u0627\u0626\u0642"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sdgnews.com\/iran-war-tracker\/","url":"https:\/\/sdgnews.com\/iran-war-tracker\/","name":"Iran War - SDG News","isPartOf":{"@id":"https:\/\/sdgnews.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sdgnews.com\/iran-war-tracker\/#primaryimage"},"image":{"@id":"https:\/\/sdgnews.com\/iran-war-tracker\/#primaryimage"},"thumbnailUrl":"https:\/\/sdgnews.com\/wp-content\/uploads\/2024\/03\/Untitled-design-2.png","datePublished":"2026-03-04T06:52:56+00:00","dateModified":"2026-04-13T11:34:15+00:00","description":"Iran War page tracks escalation through three channels: physical flows, financial transmission, and policy coordination","breadcrumb":{"@id":"https:\/\/sdgnews.com\/iran-war-tracker\/#breadcrumb"},"inLanguage":"ar","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sdgnews.com\/iran-war-tracker\/"]}]},{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/sdgnews.com\/iran-war-tracker\/#primaryimage","url":"https:\/\/sdgnews.com\/wp-content\/uploads\/2024\/03\/Untitled-design-2.png","contentUrl":"https:\/\/sdgnews.com\/wp-content\/uploads\/2024\/03\/Untitled-design-2.png"},{"@type":"BreadcrumbList","@id":"https:\/\/sdgnews.com\/iran-war-tracker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sdgnews.com\/"},{"@type":"ListItem","position":2,"name":"Iran War"}]},{"@type":"WebSite","@id":"https:\/\/sdgnews.com\/#website","url":"https:\/\/sdgnews.com\/","name":"SDG News","description":"SDG News Supports the Sustainable Development Goals","publisher":{"@id":"https:\/\/sdgnews.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sdgnews.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ar"},{"@type":"Organization","@id":"https:\/\/sdgnews.com\/#organization","name":"SDG News","url":"https:\/\/sdgnews.com\/","logo":{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/sdgnews.com\/#\/schema\/logo\/image\/","url":"https:\/\/sdgnews.com\/wp-content\/uploads\/2024\/03\/Untitled-design-2.png","contentUrl":"https:\/\/sdgnews.com\/wp-content\/uploads\/2024\/03\/Untitled-design-2.png","width":500,"height":246,"caption":"SDG News"},"image":{"@id":"https:\/\/sdgnews.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/sdgnews.com\/ar\/wp-json\/wp\/v2\/pages\/11043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sdgnews.com\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sdgnews.com\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sdgnews.com\/ar\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sdgnews.com\/ar\/wp-json\/wp\/v2\/comments?post=11043"}],"version-history":[{"count":20,"href":"https:\/\/sdgnews.com\/ar\/wp-json\/wp\/v2\/pages\/11043\/revisions"}],"predecessor-version":[{"id":11773,"href":"https:\/\/sdgnews.com\/ar\/wp-json\/wp\/v2\/pages\/11043\/revisions\/11773"}],"wp:attachment":[{"href":"https:\/\/sdgnews.com\/ar\/wp-json\/wp\/v2\/media?parent=11043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}