/* ==========================================================================
   Anomny — Viksit Bharat 2047 layer
   vb2047.css · loaded after ajeevi.css · additive theme + mission components
   Design idea: the page reads like an instrument panel for national capacity.
   ========================================================================== */

:root{
  --saffron:    #E8862A;   /* mission accent — national thread */
  --saffron-dk: #C56B14;
  --tri-green:  #138A3F;
  --panel:      #0A2038;   /* instrument plate */
  --panel-2:    #0D2A48;
  --hair:       rgba(158,196,232,.22);
  --hair-soft:  rgba(158,196,232,.12);
  --glow:       rgba(18,114,216,.35);
  --mono:       "IBM Plex Mono","SFMono-Regular",Consolas,monospace;
}

/* ── the national thread: a 3px rule that marks every mission element ────── */
.vb-thread{
  height:3px;border:0;margin:0;
  background:linear-gradient(90deg,var(--saffron) 0 33.3%,#F4F7FA 33.3% 66.6%,var(--tri-green) 66.6% 100%);
}

/* ── sticky, settling header ─────────────────────────────────────────────── */
.site-head{position:sticky;top:0;z-index:40;backdrop-filter:saturate(140%) blur(10px);
  background:rgba(6,24,43,.92);transition:box-shadow .25s var(--ease),background .25s var(--ease)}
.site-head.is-stuck{box-shadow:0 1px 0 var(--hair),0 14px 34px -22px rgba(0,0,0,.8)}

/* ── mission band under the hero: the gauge board ────────────────────────── */
.vb-board{background:var(--panel);color:var(--on-ink);position:relative;overflow:hidden}
.vb-board::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,var(--hair-soft) 1px,transparent 1px) 0 0/64px 100%,
    radial-gradient(120% 90% at 82% 0%,var(--glow),transparent 62%);
  opacity:.7;
}
.vb-board > *{position:relative}
.vb-board__inner{padding-block:clamp(2.2rem,5vw,3.4rem)}
.vb-board h2{color:#fff;max-width:22ch}
.vb-board .lede{color:var(--on-ink-dim)}

.vb-gauges{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:2rem;
}
.vb-gauge{background:var(--panel);padding:1.15rem 1.25rem 1.3rem}
.vb-gauge__value{
  font-family:var(--mono);font-size:clamp(1.9rem,4.4vw,2.6rem);font-weight:500;
  line-height:1;color:#fff;letter-spacing:-.02em;display:flex;align-items:baseline;gap:.28rem;
}
.vb-gauge__unit{font-size:.9rem;color:var(--saffron);letter-spacing:0}
.vb-gauge__label{margin:.55rem 0 0;font-size:.82rem;color:var(--on-ink-dim);line-height:1.45;max-width:30ch}
.vb-gauge__bar{height:4px;margin-top:.85rem;background:rgba(255,255,255,.12);overflow:hidden}
.vb-gauge__bar span{display:block;height:100%;background:linear-gradient(90deg,var(--signal),var(--tri-green))}
.vb-gauge--alert .vb-gauge__bar span{background:linear-gradient(90deg,var(--saffron),var(--gold))}

/* ── mission pillars: asymmetric, not a card grid ────────────────────────── */
.vb-pillars{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.vb-pillar{background:var(--paper);padding:1.5rem 1.6rem 1.7rem;grid-column:span 4}
.vb-pillar--wide{grid-column:span 6}
.vb-pillar h3{font-size:1.18rem;margin-bottom:.45rem;display:flex;align-items:center;gap:.6rem}
.vb-pillar h3::before{content:"";width:22px;height:2px;background:var(--saffron);flex:none}
.vb-pillar p{font-size:.95rem;color:var(--muted);margin:0 0 .8rem;max-width:46ch}
.vb-pillar ul{margin:0;padding-left:1.05em;font-size:.9rem;color:var(--muted)}
.vb-pillar li{margin-bottom:.3em}
.vb-pillar__ref{
  display:inline-block;margin-top:.9rem;font-family:var(--mono);font-size:.74rem;
  color:var(--signal-dk);background:var(--signal-tint);padding:.2rem .5rem;border-radius:2px;
}
@media (max-width:860px){.vb-pillar,.vb-pillar--wide{grid-column:span 12}}

/* ── 2047 rail: a true sequence, so years carry the structure ────────────── */
.vb-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:2rem;border-top:1px solid var(--hair)}
.vb-rail__step{padding:1.4rem 1.3rem 1.5rem;border-right:1px solid var(--hair);position:relative}
.vb-rail__step:last-child{border-right:0}
.vb-rail__step::before{
  content:"";position:absolute;top:-1px;left:0;height:3px;width:var(--fill,25%);
  background:linear-gradient(90deg,var(--saffron),var(--gold));
}
.vb-rail__yr{font-family:var(--mono);font-size:1.5rem;color:#fff;letter-spacing:.02em;display:block;margin-bottom:.45rem}
.vb-rail__step h4{color:#fff;font-size:1rem;margin:0 0 .4rem}
.vb-rail__step p{font-size:.88rem;color:var(--on-ink-dim);margin:0;max-width:34ch}
@media (max-width:820px){.vb-rail{grid-template-columns:1fr 1fr}.vb-rail__step:nth-child(2){border-right:0}
  .vb-rail__step:nth-child(3),.vb-rail__step:nth-child(4){border-top:1px solid var(--hair)}}
@media (max-width:520px){.vb-rail{grid-template-columns:1fr}.vb-rail__step{border-right:0;border-top:1px solid var(--hair)}}

/* ── standards table: engineering vernacular, real data ─────────────────── */
.vb-table-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--paper)}
table.vb-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:640px}
.vb-table thead th{
  background:var(--ink);color:#fff;text-align:left;font-weight:600;
  padding:.7rem .9rem;font-size:.85rem;white-space:nowrap;
}
.vb-table td{padding:.7rem .9rem;border-top:1px solid var(--line);vertical-align:top;color:var(--text)}
.vb-table tbody tr:nth-child(even) td{background:var(--paper-2)}
.vb-table td:first-child{font-family:var(--mono);font-size:.84rem;color:var(--signal-dk);white-space:nowrap}
.vb-table td em{font-style:normal;color:var(--muted)}

/* ── compliance strip ───────────────────────────────────────────────────── */
.vb-strip{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}
.vb-strip li{
  font-size:.82rem;padding:.4rem .75rem;border:1px solid var(--line);
  background:var(--paper);border-radius:2px;color:var(--text);
}
.vb-strip li b{font-weight:600;color:var(--ink)}
.bay--ink .vb-strip li{background:transparent;border-color:var(--hair);color:var(--on-ink)}
.bay--ink .vb-strip li b{color:#fff}

/* ── mission callout ────────────────────────────────────────────────────── */
.vb-call{
  border-left:3px solid var(--saffron);background:var(--paper-2);
  padding:1.1rem 1.3rem;margin:1.8rem 0;font-size:.95rem;color:var(--text);
}
.vb-call p{margin:0;max-width:74ch}
.vb-call p + p{margin-top:.6rem}

/* ── source note ────────────────────────────────────────────────────────── */
.vb-src{font-size:.78rem;color:var(--muted);margin-top:1rem;max-width:80ch}
.bay--ink .vb-src,.vb-board .vb-src{color:var(--on-ink-dim)}
.vb-src a{color:inherit}

/* ── hero refinements: deeper plate, sharper metric column ──────────────── */
.hero{position:relative}
.hero::after{
  content:"";position:absolute;inset:auto 0 0 0;height:1px;background:var(--hair);pointer-events:none;
}
.hero .stats dd{font-family:var(--mono);letter-spacing:-.01em}

/* ── quiet motion: one reveal, respected ────────────────────────────────── */
.vb-js .vb-reveal{opacity:0;transform:translateY(10px)}
.vb-js .vb-reveal.is-in{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease)}
@media (prefers-reduced-motion:reduce){
  .vb-js .vb-reveal,.vb-js .vb-reveal.is-in{opacity:1;transform:none;transition:none}
  .marquee-track{animation:none}
}

/* ── card polish that stops short of the identical-card look ────────────── */
.card{transition:border-color .2s var(--ease),transform .2s var(--ease)}
.card:hover{border-color:var(--signal)}
.bay--ink .card:hover{border-color:var(--gold)}

/* ── page header for the mission page ───────────────────────────────────── */
.vb-pagehead{background:var(--ink);color:var(--on-ink);padding-block:clamp(2.4rem,6vw,4rem);position:relative;overflow:hidden}
.vb-pagehead::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--hair-soft) 1px,transparent 1px) 0 0/72px 100%;opacity:.6;
}
.vb-pagehead > *{position:relative}
.vb-pagehead h1{color:#fff;max-width:19ch}
.vb-pagehead .lede{color:var(--on-ink-dim);max-width:62ch}
.vb-crumb{font-family:var(--mono);font-size:.78rem;color:var(--on-ink-dim);margin-bottom:1rem}
.vb-crumb a{color:var(--on-ink-dim)}

/* ── two-column prose for policy content ───────────────────────────────── */
.vb-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media (max-width:820px){.vb-cols{grid-template-columns:1fr}}
.vb-aside{border:1px solid var(--line);background:var(--paper-2);padding:1.2rem 1.35rem}
.vb-aside h3{font-size:1.02rem;margin-bottom:.5rem}
.vb-aside ul{margin:0;padding-left:1.05em;font-size:.9rem;color:var(--muted)}

/* ── button contrast on dark bands (link colour was winning on specificity) ── */
.bay--ink .btn--gold,.vb-board .btn--gold,.cta-band .btn--gold,.vb-pagehead .btn--gold{color:#3A2600}
.bay--ink .btn--gold:hover,.vb-board .btn--gold:hover,.cta-band .btn--gold:hover,.vb-pagehead .btn--gold:hover{color:#3A2600}
.bay--ink .btn--onink,.vb-board .btn--onink,.cta-band .btn--onink,.vb-pagehead .btn--onink{color:#fff}
.bay--ink .btn--primary,.vb-board .btn--primary,.cta-band .btn--primary,.vb-pagehead .btn--primary{color:#fff}
