/* Venezuela Opportunity Index — scoped component styles.
   Every rule is namespaced under .vzi and cannot leak into the host page.
   Fonts: Instrument Sans + Inter (see EMBED.md). */

/* Inbound guard. :where() carries ZERO specificity, so these neutralise a host
   page's bare-element rules while every component rule below still overrides
   them. Add properties here if a host theme bleeds something unexpected. */
.vzi :where(h1,h2,h3,h4,p,a,b,i,em,span,div,section,details,summary,button,input,
  table,thead,tbody,tr,th,td,dl,dt,dd,svg,time,article,aside,nav,header,footer){
  text-transform:none; letter-spacing:normal; font-style:normal; text-decoration:none;
  font-variant:normal; text-shadow:none; box-shadow:none; float:none; position:static;
  max-width:none; min-width:0; text-indent:0; word-spacing:normal; visibility:visible;
}
.vzi :where(table,th,td){border:0;background:none;padding:0}


.vzi{
  --bg:#f7f9fb;
  --surface:#ffffff;
  --line:#e4eaf1;
  --line-soft:#eef2f7;
  --ink:#1f2a36;
  --ink-2:#48586a;
  --muted:#6b7c8f;
  --faint:#93a2b3;
  --sage:#6b8f80;
  --navy:#1b3c62;

  --s1:#e2eaf3; --s2:#b8cde2; --s3:#7ba4ca; --s4:#3d6ea6; --s5:#1b3c62;
  --o1:#e4f0f6; --o2:#b0d4e4; --o3:#6aacc7; --o4:#2b7fa3; --o5:#0d4f6c;
  --teal:#0d4f6c;
  --hi:#1d6b4f; --hi-bg:#e8f3ed;
  --cr:#a8342a; --cr-bg:#fbeceb;
  --md:#8a6410; --md-bg:#fcf3e2;
  --lo:#6b7c8f; --lo-bg:#eef1f5;

  --req:#a8342a;  --req-bg:#fbeceb;
  --con:#8a6410;  --con-bg:#fcf3e2;
  --rec:#5a6875;  --rec-bg:#eef1f5;
}
.vzi *,.vzi *::before,.vzi *::after{box-sizing:border-box;margin:0;padding:0}
.vzi{-webkit-text-size-adjust:100%}
.vzi{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  background:var(--bg); color:var(--ink);
  font-size:15px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.vzi h1,.vzi h2,.vzi h3,.vzi .dsp{font-family:'Instrument Sans','Inter',system-ui,sans-serif}
.vzi button{font-family:inherit;color:inherit;cursor:pointer}
.vzi :focus-visible{outline:2px solid var(--s4);outline-offset:3px;border-radius:3px}
@media(prefers-reduced-motion:reduce){.vzi *{transition:none!important}}
.vzi .vzi-inner{max-width:1120px;margin:0 auto;padding:0 24px}

.vzi /* ── masthead ── */
.mast{border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:50}
.vzi .mast .wrap{display:flex;align-items:center;height:66px;gap:26px}
.vzi .brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy);flex-shrink:0}
.vzi .mark{width:31px;height:31px;flex-shrink:0}
.vzi .wm{display:flex;flex-direction:column;line-height:1.12}
.vzi .wm b{font-family:'Instrument Sans',sans-serif;font-size:17px;font-weight:700;
  letter-spacing:.19em;color:var(--navy)}
.vzi .wm i{font-family:'Instrument Sans',sans-serif;font-style:normal;font-size:9px;font-weight:500;
  letter-spacing:.235em;text-transform:uppercase;color:var(--muted);margin-top:1px}
.vzi .mnav{display:flex;gap:26px;margin-left:8px}
.vzi .mnav a{font-size:13.5px;color:var(--ink-2);text-decoration:none;font-weight:450;
  padding:4px 0;border-bottom:1.5px solid transparent;transition:color .15s,border-color .15s}
.vzi .mnav a:hover{color:var(--navy);border-bottom-color:var(--s3)}
.vzi .mnav a[aria-current]{color:var(--navy);font-weight:600;border-bottom-color:var(--navy)}
.vzi .mright{margin-left:auto;display:flex;align-items:center;gap:14px}
.vzi .lang{font-size:11.5px;font-weight:600;letter-spacing:.09em;color:var(--muted);background:none;
  border:none;padding:5px 2px}
.vzi .lang:hover{color:var(--navy)}
.vzi .mast-cta{font-family:'Instrument Sans',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.02em;
  padding:10px 18px;background:var(--navy);color:#fff;border:none;border-radius:7px;
  text-decoration:none;white-space:nowrap;transition:background .15s}
.vzi .mast-cta:hover{background:#153050}
@media(max-width:1040px){.vzi .mnav{display:none}}
.vzi .cta-short{display:none}
@media(max-width:620px){
  .vzi .wm i{display:none}
  .vzi .wm b{font-size:15px;letter-spacing:.14em}
  .vzi .mast .wrap{height:58px;gap:10px}
  .vzi .vzi-inner{padding:0 16px}
  .vzi .mark{width:26px;height:26px}
  .vzi .lang{display:none}
  .vzi .mast-cta{font-size:11.5px;padding:8px 13px}
  .vzi .cta-full{display:none}.vzi .cta-short{display:inline}
}

.vzi /* ── lens toggle ── */
.lensbar{display:flex;justify-content:center;margin:26px 0 0}
.vzi .lens{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:5px;gap:3px}
.vzi .lensb{font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:600;letter-spacing:.005em;
  padding:11px 26px;background:none;border:none;border-radius:8px;color:var(--muted);
  display:flex;align-items:center;gap:9px;transition:background .17s,color .17s}
.vzi .lensb:hover{color:var(--ink)}
.vzi .lensb[aria-pressed="true"]{background:var(--teal);color:#fff}
.vzi .lensb.burden[aria-pressed="true"]{background:var(--navy)}
.vzi .lensb svg{width:15px;height:15px}
.vzi .vintage{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:14px;
  font-size:12px;color:var(--faint)}
.vzi .vtag{font-weight:600;color:var(--teal);background:#e4f0f6;padding:3px 10px;border-radius:20px;
  letter-spacing:.03em}
.vzi .vsep{width:3px;height:3px;border-radius:50%;background:var(--line)}

.vzi /* lens accent — opportunity runs teal,.vzi burden runs navy */
[data-lens="opp"] .pillar[aria-pressed="true"]{background:var(--teal)}
.vzi[data-lens="opp"] .score b{color:var(--teal)}
.vzi[data-lens="opp"] .tab[aria-selected="true"]{color:var(--teal);border-bottom-color:var(--teal)}
.vzi[data-lens="opp"] .tab[aria-selected="true"] .cnt{background:#e4f0f6;color:var(--o4)}
.vzi[data-lens="opp"] .tag.rg{background:#e4f0f6;border-color:#b9d9e6;color:var(--teal)}
.vzi[data-lens="opp"] .note{border-left-color:var(--o3)}
.vzi[data-lens="opp"] .st:hover{stroke:var(--teal)}

.vzi /* ── national strip ── */
.natwrap{margin:34px auto 0;border-top:1px solid var(--line);padding-top:22px}
.vzi .natlbl{font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--sage);margin-bottom:14px;text-align:center}
.vzi .nat{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:11px}
.vzi .natc{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:13px 15px}
.vzi .natc .k{font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--faint)}
.vzi .natc .v{font-family:'Instrument Sans',sans-serif;font-size:19px;font-weight:700;color:var(--navy);
  line-height:1.2;margin:3px 0 5px}
.vzi .natc .n{font-size:12px;color:var(--ink-2);line-height:1.55}
.vzi .natc a{font-size:10.5px;color:var(--faint);text-decoration:none;margin-top:7px;display:inline-block}
.vzi .natc a:hover{color:var(--teal);text-decoration:underline}

.vzi /* ── drivers ── */
.conf{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  padding:3px 9px;border-radius:20px;white-space:nowrap}
.vzi .conf.H{color:var(--hi);background:var(--hi-bg)}
.vzi .conf.M{color:var(--md);background:var(--md-bg)}
.vzi .conf.L{color:var(--lo);background:var(--lo-bg)}
.vzi .drv{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--o4);
  border-radius:0 11px 11px 0;padding:16px 19px}
.vzi .drv p{font-size:14px;color:var(--ink);line-height:1.62;margin-bottom:11px}
.vzi .drvf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--faint)}
.vzi .drvf time{font-variant-numeric:tabular-nums}
.vzi .drvf a{color:var(--o4);text-decoration:none;font-weight:500}
.vzi .drvf a:hover{text-decoration:underline}
.vzi .nosig{padding:22px;border:1px dashed var(--line);border-radius:10px;font-size:13.5px;
  color:var(--muted);line-height:1.6}

.vzi /* ── AI band ── */
.aiband{margin:34px auto 0;border:1px solid #cfe2ea;border-radius:14px;overflow:hidden;
  background:linear-gradient(180deg,#f2f9fc 0%,var(--surface) 62%)}
.vzi .aihead{padding:20px 22px 0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.vzi .aihead h3{font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--teal);display:flex;align-items:center;gap:8px}
.vzi .aihead h3 svg{width:14px;height:14px}
.vzi .aihead span{font-size:12.5px;color:var(--muted)}
.vzi .airow{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:20px;padding:16px 22px 20px}
.vzi .airank{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:16px 18px}
.vzi .airank .k{font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--faint)}
.vzi .airank .big{display:flex;align-items:baseline;gap:3px;margin:5px 0 3px}
.vzi .airank .big b{font-family:'Instrument Sans',sans-serif;font-size:40px;font-weight:700;
  line-height:1;color:var(--teal);font-variant-numeric:tabular-nums}
.vzi .airank .big i{font-style:normal;font-size:16px;color:var(--faint);font-weight:500}
.vzi .airank .n{font-size:12px;color:var(--ink-2);line-height:1.55;margin-bottom:13px}
.vzi .bars{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line-soft);padding-top:12px}
.vzi .bar{display:grid;grid-template-columns:78px 1fr 34px;align-items:center;gap:9px}
.vzi .bar em{font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.vzi .bar .t{height:7px;background:var(--line-soft);border-radius:4px;overflow:hidden}
.vzi .bar .f{display:block;height:100%;border-radius:4px;background:#b7cbd8}
.vzi .bar b{font-size:11.5px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;
  color:var(--muted)}
.vzi .bar.me em{color:var(--teal);font-weight:600}
.vzi .bar.me .f{background:var(--teal)}
.vzi .bar.me b{color:var(--teal)}
.vzi .aitiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:10px;align-content:start}
.vzi .ait{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;
  border-left:3px solid var(--line)}
.vzi .ait.good{border-left-color:var(--hi)} .vzi .ait.warn{border-left-color:var(--md)}
.vzi .ait.crit{border-left-color:var(--cr)}
.vzi .ait .k{font-size:9.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--faint)}
.vzi .ait .v{font-family:'Instrument Sans',sans-serif;font-size:15px;font-weight:700;margin:2px 0 5px}
.vzi .ait.good .v{color:var(--hi)} .vzi .ait.warn .v{color:var(--md)} .vzi .ait.crit .v{color:var(--cr)}
.vzi .ait .n{font-size:11.5px;color:var(--ink-2);line-height:1.5}
.vzi .ait a{font-size:10px;color:var(--faint);text-decoration:none;margin-top:6px;display:inline-block}
.vzi .ait a:hover{color:var(--teal);text-decoration:underline}
.vzi .ainote{margin:0 22px 20px;font-size:12px;color:var(--muted);line-height:1.6;
  padding-top:13px;border-top:1px solid var(--line-soft)}
@media(max-width:820px){.vzi .airow{grid-template-columns:1fr}}

.vzi /* ── methodology ── */
.method{margin-top:34px;border-top:1px solid var(--line);padding-top:22px}
.vzi .method summary{font-family:'Instrument Sans',sans-serif;font-size:13.5px;font-weight:600;
  color:var(--ink-2);cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
.vzi .method summary::-webkit-details-marker{display:none}
.vzi .method summary::before{content:'▸';color:var(--faint);transition:transform .15s;display:inline-block}
.vzi .method[open] summary::before{transform:rotate(90deg)}
.vzi .method summary:hover{color:var(--teal)}
.vzi .mbody{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.vzi .mcol h4{font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
  color:var(--teal);margin-bottom:9px}
.vzi .mcol dt{font-size:12.5px;font-weight:600;color:var(--ink);margin-top:9px}
.vzi .mcol dd{font-size:12.5px;color:var(--muted);line-height:1.55}
.vzi .mnote{margin-top:18px;font-size:12.5px;color:var(--muted);line-height:1.65;padding:13px 16px;
  background:var(--bg);border-radius:9px;border:1px solid var(--line)}

.vzi /* ── header block ── */
header{padding:30px 0 4px;text-align:center}
.vzi h1{font-size:30px;font-weight:600;letter-spacing:-.022em;color:var(--ink);margin-bottom:10px;
  text-wrap:balance}
.vzi .lede{font-size:17px;color:var(--ink-2);max-width:660px;margin:0 auto;text-wrap:balance}

.vzi /* ── pillar control ── */
.pillars{display:flex;justify-content:center;gap:0;margin:26px auto 0;width:fit-content;
  background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:4px}
.vzi .pillar{font-family:'Instrument Sans',sans-serif;font-size:13px;font-weight:600;letter-spacing:.01em;
  padding:8px 20px;background:none;border:none;border-radius:6px;color:var(--muted);
  transition:background .16s,color .16s}
.vzi .pillar:hover{color:var(--ink)}
.vzi .pillar[aria-pressed="true"]{background:var(--navy);color:#fff}

.vzi /* ── legend ── */
.legend{margin:30px auto 0;text-align:center}
.vzi .legend-title{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--sage);margin-bottom:11px}
.vzi .legend-row{display:flex;align-items:center;justify-content:center;gap:13px}
.vzi .legend-cap{font-size:13px;color:var(--muted);white-space:nowrap}
.vzi .swatches{display:flex;gap:2px}
.vzi .sw{width:46px;height:15px;border-radius:1px}
.vzi .sw:first-child{border-radius:3px 1px 1px 3px}
.vzi .sw:last-child{border-radius:1px 3px 3px 1px}

.vzi /* ── small states ── */
.small{margin:26px auto 0;text-align:center}
.vzi .small-lbl{font-size:14px;color:var(--muted);margin-bottom:11px}
.vzi .pills{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}
.vzi .spill{font-family:'Instrument Sans',sans-serif;font-size:16px;font-weight:500;letter-spacing:.03em;
  padding:8px 20px;background:var(--surface);border:1px solid #d9e1ea;border-radius:8px;
  color:var(--ink-2);transition:border-color .16s,color .16s,background .16s}
.vzi .spill:hover{border-color:var(--s4);color:var(--navy)}
.vzi .spill[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}

.vzi /* ── map ── */
.mapwrap{position:relative;margin:20px auto 0;max-width:830px}
.vzi svg.map{display:block;width:100%;height:auto;overflow:visible}
.vzi .st{fill:var(--s1);stroke:#fff;stroke-width:1.1;stroke-linejoin:round;cursor:pointer;
  transition:fill .18s,opacity .18s}
.vzi .st.q1{fill:var(--s1)} .vzi .st.q2{fill:var(--s2)} .vzi .st.q3{fill:var(--s3)}
.vzi .st.q4{fill:var(--s4)} .vzi .st.q5{fill:var(--s5)}
.vzi .st.o1{fill:var(--o1)} .vzi .st.o2{fill:var(--o2)} .vzi .st.o3{fill:var(--o3)}
.vzi .st.o4{fill:var(--o4)} .vzi .st.o5{fill:var(--o5)}
.vzi .st:hover{stroke:var(--navy);stroke-width:1.7}
.vzi .sel-halo{fill:none;stroke:#fff;stroke-width:4;stroke-linejoin:round}
.vzi .sel-line{fill:none;stroke:#0d2942;stroke-width:1.8;stroke-linejoin:round}
.vzi .mk-ring{fill:none;stroke:#0d2942;stroke-width:2}
.vzi .mk-halo{fill:none;stroke:#fff;stroke-width:4}
.vzi .mk-lead{stroke:#0d2942;stroke-width:1.2}
.vzi .mk-txt{font-family:'Instrument Sans',sans-serif;font-size:16px;font-weight:600;fill:#0d2942;paint-order:stroke;stroke:#fff;stroke-width:4;stroke-linejoin:round}
.vzi .st.dim{opacity:.32}
.vzi .lead{fill:none;stroke:#b3c1d0;stroke-width:1}
.vzi .tagline{font-family:'Instrument Sans',sans-serif;font-size:15px;font-weight:600;fill:var(--ink-2)}

.vzi /* tooltip */
.tip{position:absolute;pointer-events:none;z-index:30;background:var(--surface);
  border:1px solid var(--line);border-radius:9px;padding:11px 13px;min-width:186px;
  box-shadow:0 8px 26px rgba(27,60,98,.14);opacity:0;transition:opacity .12s}
.vzi .tip.on{opacity:1}
.vzi .tip h4{font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:600;margin-bottom:1px}
.vzi .tip .cap{font-size:11px;color:var(--faint);margin-bottom:9px}
.vzi .tr{display:flex;align-items:center;gap:8px;margin-top:5px}
.vzi .tr em{font-style:normal;font-size:10px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--muted);width:34px}
.vzi .trk{flex:1;height:5px;background:var(--line-soft);border-radius:3px;overflow:hidden}
.vzi .fil{display:block;height:100%;background:var(--s4);border-radius:3px}
.vzi .tr b{font-size:12px;font-weight:600;width:20px;text-align:right;font-variant-numeric:tabular-nums}

.vzi /* ── table toggle ── */
.maprow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;
  margin:16px auto 0;max-width:900px}
.vzi .tbl-tog{grid-column:2;font-size:13px;color:var(--muted);background:none;
  border:none;text-decoration:underline;text-underline-offset:3px}
.vzi .credit{grid-column:3;justify-self:end;display:flex;align-items:center;gap:9px;
  padding:7px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.vzi .cv-mark{width:17px;height:17px;color:var(--s4);flex-shrink:0}
.vzi .cv-txt{display:flex;flex-direction:column;line-height:1.18}
.vzi .cv-txt span{font-size:8.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--faint)}
.vzi .cv-txt b{font-family:'Instrument Sans',sans-serif;font-size:12.5px;font-weight:600;
  letter-spacing:.015em;color:var(--navy)}
@media(max-width:700px){
  .vzi .maprow{grid-template-columns:1fr;justify-items:center;gap:12px}
  .vzi .tbl-tog,.vzi .credit{grid-column:1}.vzi .credit{justify-self:center}
}
.vzi .tbl-tog:hover{color:var(--navy)}
.vzi .tbl{margin:14px auto 0;max-width:760px;overflow-x:auto;border:1px solid var(--line);
  border-radius:10px;background:var(--surface)}
.vzi table{width:100%;border-collapse:collapse;font-size:13px}
.vzi th,.vzi td{padding:8px 14px;text-align:left;border-bottom:1px solid var(--line-soft);white-space:nowrap}
.vzi th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:600}
.vzi td.n{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}
.vzi tbody tr:last-child td{border-bottom:none}
.vzi tbody tr{cursor:pointer}
.vzi tbody tr:hover{background:var(--line-soft)}
.vzi .dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:8px;vertical-align:-1px}

.vzi /* ── detail ── */
.detail{margin-top:46px;border-top:1px solid var(--line);background:var(--surface)}
.vzi .dh{padding:30px 0 22px}
.vzi .dh-top{display:flex;align-items:flex-start;justify-content:space-between;gap:26px;flex-wrap:wrap}
.vzi .dh h2{font-size:27px;font-weight:600;letter-spacing:-.02em}
.vzi .dh .cap{font-size:14px;color:var(--muted);margin-top:2px}
.vzi .score{text-align:right}
.vzi .score b{display:block;font-family:'Instrument Sans',sans-serif;font-size:38px;font-weight:700;
  line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.vzi .score span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.vzi .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}
.vzi .tag{font-size:12px;padding:4px 11px;background:var(--bg);border:1px solid var(--line);
  border-radius:20px;color:var(--ink-2)}
.vzi .tag.rg{background:#eaf1f8;border-color:#cfdeeb;color:var(--navy);font-weight:500}
.vzi .note{margin-top:16px;font-size:14.5px;color:var(--ink-2);line-height:1.68;padding:14px 18px;
  background:var(--bg);border-left:3px solid var(--s3);border-radius:0 7px 7px 0;max-width:900px}
.vzi .tabs{display:flex;gap:26px;border-bottom:1px solid var(--line)}
.vzi .tab{font-family:'Instrument Sans',sans-serif;font-size:13.5px;font-weight:600;padding:13px 0;
  background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;
  color:var(--muted);display:flex;align-items:center;gap:8px;transition:color .16s,border-color .16s}
.vzi .tab:hover{color:var(--ink)}
.vzi .tab[aria-selected="true"]{color:var(--navy);border-bottom-color:var(--navy)}
.vzi .cnt{font-size:11px;font-weight:600;padding:2px 7px;background:var(--line-soft);border-radius:20px;
  color:var(--faint)}
.vzi .tab[aria-selected="true"] .cnt{background:#e6eef6;color:var(--s4)}
.vzi .cards{padding:24px 0 56px}
.vzi .cmeta{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:16px;
  font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:600}
.vzi .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
.vzi .card{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:18px 19px;
  transition:border-color .16s,box-shadow .16s}
.vzi .card:hover{border-color:#cfdcea;box-shadow:0 3px 14px rgba(27,60,98,.06)}
.vzi .ct{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}
.vzi .ct h3{font-size:15px;font-weight:600;line-height:1.35;text-wrap:balance}
.vzi .bd{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:3px 9px;
  border-radius:20px;white-space:nowrap;flex-shrink:0}
.vzi .bd.required{color:var(--req);background:var(--req-bg)}
.vzi .bd.conditional{color:var(--con);background:var(--con-bg)}
.vzi .bd.recommended{color:var(--rec);background:var(--rec-bg)}
.vzi .auth{font-size:12.5px;font-weight:500;color:var(--s4);margin-bottom:9px}
.vzi .desc{font-size:13.5px;color:var(--ink-2);line-height:1.6;margin-bottom:12px}
.vzi .cf{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.vzi .per{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:500}
.vzi .only{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;
  border:1px solid #cfdeeb;color:var(--s4);border-radius:5px}

.vzi footer{border-top:1px solid var(--line);padding:20px 0 34px}
.vzi footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:11.5px;color:var(--faint)}
.vzi footer b{color:var(--navy);font-weight:600}
.vzi .disc{max-width:520px;text-align:right;line-height:1.55}

@media(max-width:760px){
  .vzi h1{font-size:24px}.vzi .lede{font-size:15px}
  .vzi .pillars{flex-wrap:wrap;width:auto}
  .vzi .legend-row{flex-wrap:wrap;gap:8px}.vzi .sw{width:34px}
  .vzi .grid{grid-template-columns:1fr}
  .vzi .score{text-align:left}
  .vzi .disc{text-align:left}
  .vzi .tabs{overflow-x:auto}
}


/* Outbound is fully sealed by the .vzi prefix, but a host rule using !important on a
   bare element can still beat specificity. These are the sizing constraints the
   component cannot function without, so they are defended in kind. */
.vzi svg.map{width:100%!important;height:auto!important}
.vzi .mark{width:31px!important;height:31px!important}
.vzi .lensb svg{width:15px!important;height:15px!important}
.vzi .aihead h3 svg{width:14px!important;height:14px!important}
.vzi .cv-mark{width:17px!important;height:17px!important}
