/* VNDNG demand globe (/demand/ in every language) — BRNZ v3 look; loaded after needs.css */
.ops{padding:0;position:relative;display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,28vw,440px);height:calc(100vh - 66px);height:calc(100svh - 66px);min-height:680px;max-height:1060px;border-bottom:1px solid var(--line);background:var(--band-bg)}
.stage{position:relative;overflow:hidden;min-width:0;background:radial-gradient(ellipse 60% 70% at 64% 56%,rgba(232,226,201,.055),transparent 70%),var(--band-bg)}
.globe{position:absolute;inset-block:0;inset-inline-start:22%;inset-inline-end:0;cursor:grab}
.globe:active{cursor:grabbing}
.globe canvas{outline:none}
.intro{position:absolute;z-index:3;top:clamp(26px,3.2vw,50px);inset-inline-start:var(--pad);width:min(560px,50%);pointer-events:none}
.intro .kicker,.intro h1,.intro .lead{text-shadow:0 2px 18px rgba(11,16,14,.95),0 0 2px rgba(11,16,14,.9)}
.intro h1{font-size:clamp(38px,4.3vw,72px);margin:.4em 0 .4em}
.intro .lead{font-size:15px;line-height:1.55;max-width:46ch;margin:0}
.okpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0 0;border:1px solid var(--line);background:rgba(13,19,17,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}
.okpis div{padding:12px 14px 13px;border-inline-end:1px solid var(--line2);min-width:0}
.okpis div:last-child{border-inline-end:0}
.okpis dt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);line-height:1.3}
.okpis dd{margin:7px 0 0;font-size:clamp(24px,2.1vw,34px);letter-spacing:-.04em;color:var(--signal);line-height:1}
.okpis small{display:block;font-size:10.5px;color:var(--dim);margin-top:5px;line-height:1.3}
.gfoot{position:absolute;z-index:3;inset-inline:var(--pad);bottom:24px;display:flex;align-items:flex-end;gap:12px 22px;flex-wrap:wrap;pointer-events:none}
.gfoot>*{pointer-events:auto}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.lg{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.lg i{width:9px;height:9px;display:inline-block;flex:none}
.lg-open i{background:#e8e2c9;box-shadow:0 0 0 3px rgba(232,226,201,.2)}
.lg-soon i{background:#e0a37a;box-shadow:0 0 0 3px rgba(224,163,122,.2)}
.lg-none i{background:#a7ad91}
.lg-closed i{background:#56615a}
.gscale{flex:1 1 240px;margin:0;font-size:11px;line-height:1.45;color:var(--dim)}
.gtools{display:flex;gap:8px;margin-inline-start:auto}
.gtools .btn{background:rgba(13,19,17,.8)}
.ghint{position:absolute;z-index:3;inset-inline-end:var(--pad);top:22px;margin:0;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);pointer-events:none}
.gcredit{position:absolute;z-index:3;inset-inline-end:var(--pad);bottom:5px;margin:0;font-size:9.5px;color:rgba(154,160,150,.7);pointer-events:none}
.gt{background:rgba(13,19,17,.96);border:1px solid var(--line);padding:9px 11px;max-width:300px;font:13px/1.35 var(--body);color:var(--ink);white-space:normal}
.gt b{display:block;font-weight:500}
.gt span{display:block;color:var(--dim);font-size:11.5px;margin-top:3px}

/* side panel */
.side{display:flex;flex-direction:column;min-height:0;min-width:0;border-inline-start:1px solid var(--line);background:var(--paper)}
.ofilters{padding:16px 18px 13px;display:grid;gap:10px;border-bottom:1px solid var(--line)}
.ofilters .search{padding:11px 13px;font-size:14px}
.oseg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line)}
.oseg button{border:0;border-inline-end:1px solid var(--line2);background:transparent;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:10px 4px;cursor:pointer;line-height:1.2}
.oseg button:last-child{border-inline-end:0}
.oseg button:hover{color:var(--ink)}
.oseg button[aria-pressed="true"]{background:var(--signal);color:var(--on)}
.orow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.orow .sel{flex:1 1 180px;min-width:0;padding:10px 12px;font-size:14px}
.ocountry{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.otabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}
.otabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:14px 6px 12px;cursor:pointer}
.otabs button:hover{color:var(--ink)}
.otabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--signal)}
.otabs b{font-weight:400;color:var(--signal);margin-inline-start:4px;letter-spacing:0}
.opanes{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(227,228,211,.25) transparent}
.ofeed,.olist{list-style:none;margin:0;padding:0}
.fi a{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line2);text-decoration:none;color:var(--ink)}
.fi a:hover{background:var(--signal-soft)}
.fi.sel a{background:rgba(232,226,201,.1);box-shadow:inset 2px 0 0 var(--signal)}
[dir="rtl"] .fi.sel a{box-shadow:inset -2px 0 0 var(--signal)}
.fi .dot{width:8px;height:8px;margin-top:6px;background:#56615a}
.st-open .dot{background:#e8e2c9;box-shadow:0 0 0 3px rgba(232,226,201,.16)}
.st-soon .dot{background:#e0a37a;box-shadow:0 0 0 3px rgba(224,163,122,.18)}
.st-none .dot{background:#a7ad91}
.fb{min-width:0}
.fb b{display:block;font-weight:500;font-size:14.5px;line-height:1.35;overflow-wrap:anywhere}
.fb small{display:block;margin-top:5px;font-size:12px;color:var(--dim);line-height:1.4}
.fm{display:flex;flex-direction:column;align-items:flex-end;gap:7px;font-size:10.5px;color:var(--dim);white-space:nowrap}
.sb{font-style:normal;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;padding:2px 6px;border:1px solid var(--line);color:var(--muted);line-height:1.4}
.sb-open{color:var(--on);background:var(--signal);border-color:var(--signal)}
.st-soon .sb-open,.sb-soon{color:var(--on);background:#e0a37a;border-color:#e0a37a}
.sb-none{color:#c9cfb2;border-color:rgba(167,173,145,.45)}
.oempty{padding:22px 18px;margin:0;color:var(--dim)}
.olist button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;width:100%;text-align:start;background:transparent;border:0;border-bottom:1px solid var(--line2);color:var(--ink);padding:12px 18px;cursor:pointer;font-size:14px}
.olist button:hover{background:var(--signal-soft)}
.olist b{font-weight:400;color:var(--signal);font-size:17px;letter-spacing:-.02em}
.olist small{grid-column:1/-1;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#e0a37a}
.otypes button{grid-template-columns:34px minmax(0,1fr) auto}
.otypes .pic{width:28px;height:28px;color:var(--signal)}

/* dossier */
.dossier{position:absolute;z-index:6;top:0;bottom:0;inset-inline-end:0;width:clamp(340px,28vw,440px);overflow:auto;overscroll-behavior:contain;background:var(--surface);border-inline-start:1px solid var(--line);box-shadow:-24px 0 48px rgba(0,0,0,.35);padding:22px 22px 30px;outline:none}
[dir="rtl"] .dossier{box-shadow:24px 0 48px rgba(0,0,0,.35)}
.dossier .dx{position:absolute;top:14px;inset-inline-end:14px;width:38px;height:38px}
.deb{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center;padding-inline-end:46px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.deb .did{color:var(--dim)}
.dossier h2{font-size:clamp(22px,1.75vw,28px);line-height:1.16;letter-spacing:-.025em;margin:14px 0 6px;font-weight:500}
.dplace{color:var(--muted);font-size:14px;margin:0 0 14px}
.dbar{height:2px;background:var(--line2);margin:0 0 6px;position:relative}
.dbar i{position:absolute;inset-block:0;inset-inline-start:0;background:var(--signal)}
.dossier h3{font-family:var(--body);font-size:10.5px;font-weight:400;letter-spacing:.17em;text-transform:uppercase;color:var(--dim);margin:22px 0 9px}
.dossier dl{display:grid;grid-template-columns:minmax(104px,auto) minmax(0,1fr);gap:8px 14px;margin:0;font-size:14px}
.dossier dt{color:var(--dim)}
.dossier dd{margin:0;overflow-wrap:anywhere}
.dossier dd small{color:var(--dim);font-size:12px}
.dossier dd b{color:var(--signal);font-weight:400}
.dossier p{margin:0;font-size:14px;line-height:1.5}
.dossier .dnote{font-size:12px;color:var(--dim);margin-top:8px}
.dfit{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.dfit span{border:1px solid var(--line2);font-size:12px;padding:4px 8px;color:var(--muted)}
.dfit b{font-weight:400;color:var(--signal);margin-inline-start:2px}
.dact{display:grid;gap:8px;margin-top:24px}
.dact .btn{width:100%}
.nojs{padding:22px var(--pad);color:var(--muted);margin:0}
.globe .nojs{position:absolute;inset:auto 0 40% 0;text-align:center}

/* phones and tablets: intro, globe, then the lists; the dossier opens as a sheet */
@media (max-width:1099px){
  .ops{display:block;height:auto;max-height:none;min-height:0}
  .stage{display:flex;flex-direction:column}
  .intro{position:relative;inset:auto;width:auto;max-width:none;padding:28px var(--pad) 0;pointer-events:auto}
  .intro .lead{max-width:60ch}
  .globe{position:relative;inset:auto;height:min(92vw,560px);margin-top:4px}
  .gfoot{position:relative;inset:auto;padding:0 var(--pad) 18px}
  .ghint{display:none}
  .gcredit{position:relative;inset:auto;padding:0 var(--pad) 12px}
  .side{border-inline-start:0;border-top:1px solid var(--line)}
  .opanes{max-height:72vh}
  .dossier{position:fixed;z-index:70;inset:auto 0 0 0;top:9vh;width:auto;border-inline-start:0;border-top:1px solid var(--line);box-shadow:0 -24px 60px rgba(0,0,0,.65)}
}
@media (max-width:640px){
  .okpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .okpis div:nth-child(2){border-inline-end:0}
  .okpis div:nth-child(-n+2){border-bottom:1px solid var(--line2)}
  .gtools{margin-inline-start:0}
  .fi a{padding:13px 16px}
}
:lang(ar) .oseg button,:lang(fa) .oseg button,:lang(ur) .oseg button,:lang(hi) .oseg button,:lang(zh-Hans) .oseg button,:lang(ja) .oseg button,:lang(ko) .oseg button,
:lang(ar) .otabs button,:lang(fa) .otabs button,:lang(ur) .otabs button,:lang(hi) .otabs button,:lang(zh-Hans) .otabs button,:lang(ja) .otabs button,:lang(ko) .otabs button,
:lang(ar) .legend,:lang(fa) .legend,:lang(ur) .legend,:lang(hi) .legend,:lang(zh-Hans) .legend,:lang(ja) .legend,:lang(ko) .legend{font-size:12px}
:lang(ar) .intro h1,:lang(fa) .intro h1,:lang(ur) .intro h1,:lang(hi) .intro h1{line-height:1.25}
.olink{display:block;padding:13px 18px;border-top:1px solid var(--line);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--signal);text-decoration:none;background:var(--paper)}
.olink:hover{background:var(--signal-soft)}
