/* =====================================================================
   NV2 CONTENT: articles, hubs, scripture and static pages in the approved
   redesign. Loaded from the content templates, after nv2.css. Everything is
   scoped under .nv2c so no other page type is touched. Re-styling only: the
   markup keeps every text block, heading and link.
   ===================================================================== */

.nv2c { --art-w: 964px; --prose-w: 680px; }

/* ---------- page head (all content pages) ---------- */
.nv2c .page-header { padding: clamp(28px, 5vw, 56px) 0 clamp(16px, 3vw, 28px); text-align: left; background: none; border: 0; }
.nv2c .page-header .container { width: min(var(--art-w), 100% - 2 * var(--gutter)); max-width: none; margin-inline: auto; padding-inline: 0; }
.nv2c .page-header h1 { font-size: clamp(34px, 4.8vw, 54px); line-height: 1.08; max-width: 18em; margin: 0; text-align: left; text-wrap: balance; }
.nv2c .page-header > .container > p:not(.nv-byline):not(.section-label) { font-size: clamp(18px, 2vw, 21px); line-height: 1.5; color: var(--ink-2); max-width: 36em; margin: 16px 0 0; text-align: left; }
.nv2c .page-header .section-label { font: 700 13px/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-ink); margin: 0 0 14px; text-align: left; display: flex; align-items: center; gap: 12px; }
.nv2c .page-header .section-label::before { content: ""; width: 22px; height: 1px; background: var(--gold); }
.nv2c .section-line { display: none; }
.nv2c .crumbs { margin-bottom: 18px; }
.nv2c .crumbs .crumb-here { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 28em; }
.nv2c .crumbs a { color: var(--ink-3); }

/* byline and meta */
.nv2c .nv-byline { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 6px 20px; margin: 22px 0 0; max-width: none; font: 400 15.5px/1.4 var(--f-ui); color: var(--ink-2); }
.nv2c .nv-byline .nv-by { display: inline-flex; align-items: center; gap: 10px; color: var(--ink-2); font-weight: 400; }
.nv2c .nv-by-img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex: none; }
.nv2c .nv-byline .nv-by a { color: var(--ink); font-weight: 600; text-decoration: none; border-bottom: 1.5px solid var(--gold); }
.nv2c .nv-byline .nv-how a { color: var(--ink-3); text-decoration: underline; text-decoration-color: var(--line-2); }
.nv2c .nv-byline .nv-date { display: inline; white-space: normal; }
.nv2c .nv-byline .nv-date time { margin-left: .3em; }
.nv2c .nv-byline .nv-how { font-size: 14px; }
.nv2c .nv-byline.nv-pref { margin-top: 6px; }
.nv2c .article-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px 18px; margin: 14px 0 0; font: 500 14.5px/1.3 var(--f-ui); color: var(--ink-3); }
.nv2c .article-meta .article-category, .nv2c .page-header .article-category { background: var(--gold-soft); color: var(--gold-ink); border: 0; border-radius: var(--r-pill); padding: 5px 12px; font: 700 12px/1.2 var(--f-ui); letter-spacing: .08em; text-transform: uppercase; margin: 0; }
.nv2c .article-meta time { color: var(--ink-3); }

/* ---------- article layout: sticky contents beside a reading column ---------- */
.nv2c .art-wrap { width: min(var(--art-w), 100% - 2 * var(--gutter)); max-width: none; margin-inline: auto; padding-inline: 0; }
.nv2c .art-grid { display: block; padding-bottom: clamp(32px, 5vw, 64px); }
.nv2c .art-grid.has-toc { display: grid; grid-template-columns: 220px minmax(0, var(--prose-w)); gap: 64px; align-items: start; }
.nv2c .art-main { min-width: 0; }
.nv2c .art-grid:not(.has-toc) .art-main { max-width: var(--prose-w); }
.nv2c .art-side { position: sticky; top: calc(var(--header-h) + 20px); max-height: calc(100vh - var(--header-h) - 40px); overflow-y: auto; scrollbar-width: thin; padding-right: 6px; }
.nv2c .article-toc { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.nv2c .article-toc::before { content: "On this page"; display: block; font: 700 13px/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-ink); margin-bottom: 14px; }
.nv2c .toc-toggle { display: none; }
.nv2c .article-toc .toc-body, .nv2c .article-toc .toc-body[hidden], html.js .nv2c .article-toc:not(.toc-open) .toc-body { display: block; margin: 0; }
.nv2c .article-toc nav ul { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--line-2); }
.nv2c .article-toc nav ul ul { margin: 0; border-left: 0; padding-left: 12px; }
.nv2c .article-toc nav li { margin: 0; }
.nv2c .article-toc nav a { display: block; padding: 7px 0 7px 16px; margin-left: -1px; border: 0; border-left: 2px solid transparent; font-size: 14.5px; line-height: 1.35; color: var(--ink-3); text-decoration: none; opacity: 1; }
.nv2c .article-toc nav ul ul a { font-size: 13.5px; }
.nv2c .article-toc nav a:hover { color: var(--ink); border-bottom: 0; }
.nv2c .article-toc nav a.on { color: var(--ink); font-weight: 600; border-left-color: var(--sindoor); }

/* ---------- In short ---------- */
.nv2c .answer-box { background: var(--sand); border: 0; border-radius: var(--r-lg); padding: clamp(20px, 3vw, 28px); margin: 0 0 28px; }
.nv2c .answer-box p { margin: 0; font-size: 17.5px; line-height: 1.6; color: var(--ink); max-width: none; }
.nv2c .answer-label { display: block; font: 600 30px/1 var(--f-display); letter-spacing: 0; text-transform: none; color: var(--ink); margin: 0 0 12px; }
.nv2c .health-note { font-size: 15.5px !important; background: var(--care-soft); border-radius: var(--r); padding: 14px 18px; color: var(--ink-2) !important; }

/* ---------- reading column ---------- */
.nv2c .article-content { font-size: 18px; line-height: 1.75; color: var(--ink); overflow-wrap: break-word; }
.nv2c .article-content > p:first-child { font-size: 19.5px; line-height: 1.7; }
.nv2c .article-content p { margin: 0 0 1.05em; max-width: none; }
.nv2c .article-content h2 { font-family: var(--f-display); font-weight: 600; font-size: clamp(28px, 3.4vw, 36px); line-height: 1.15; letter-spacing: 0; color: var(--ink); margin: 2.1em 0 .6em; padding: 1.3em 0 0; border: 0; border-top: 1px solid var(--line); scroll-margin-top: calc(var(--header-h) + 16px); }
.nv2c .article-content > h2:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.nv2c .article-content h3 { font-family: var(--f-ui); font-weight: 700; font-size: 20px; line-height: 1.3; color: var(--ink); margin: 1.7em 0 .4em; scroll-margin-top: calc(var(--header-h) + 16px); }
.nv2c .article-content h4 { font: 700 17.5px/1.35 var(--f-ui); color: var(--ink); margin: 1.3em 0 .3em; }
.nv2c .article-content ul { margin: 0 0 1.1em; padding: 0; list-style: none; }
.nv2c .article-content ul li { position: relative; margin: 0 0 .55em; padding-left: 24px; }
.nv2c .article-content ul li::before { content: ""; position: absolute; left: 4px; top: calc(.85em - 4px); top: calc(.5lh - 4px); width: 8px; height: 8px; border-radius: 50%; background: var(--gold); font-size: inherit; line-height: inherit; }
.nv2c .article-content ol { margin: 0 0 1.1em; padding: 0; list-style: none; counter-reset: article-counter; }
.nv2c .article-content ol li { position: relative; margin: 0 0 .6em; padding-left: 36px; counter-increment: article-counter; }
.nv2c .article-content ol li::before { content: counter(article-counter) "."; position: absolute; left: 0; top: 0; width: 28px; text-align: right; color: var(--gold-ink); font: 700 .95em/1.75 var(--f-ui); }
.nv2c .article-content li > ul, .nv2c .article-content li > ol { margin: .5em 0 0; }
.nv2c .article-content a:not(.btn) { color: var(--sindoor); text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--sindoor) 40%, transparent); }
.nv2c .article-content a:not(.btn):hover { text-decoration-color: currentColor; }
.nv2c .article-content strong { color: var(--ink); font-weight: 650; }
.nv2c .article-content blockquote { margin: 1.6em 0; padding: 18px 22px; background: var(--sand); border: 0; border-left: 3px solid var(--gold); border-radius: 0 var(--r) var(--r) 0; font-size: 17px; color: var(--ink-2); }
.nv2c .article-content blockquote p:last-child { margin-bottom: 0; }
.nv2c .article-content hr { border: 0; border-top: 1px solid var(--line); margin: 2em 0; }
.nv2c .article-content img, .nv2c .article-content svg { max-width: 100%; height: auto; }
.nv2c .article-content figure { margin: 1.6em 0; }
.nv2c .article-content figcaption { font-size: 15px; color: var(--ink-3); margin-top: 8px; }
.nv2c .article-content code { background: var(--sand); color: var(--ink); border-radius: 6px; padding: .1em .4em; font-size: .9em; }
.nv2c .article-content pre { overflow-x: auto; max-width: 100%; background: var(--sand); border-radius: var(--r); padding: 16px 18px; font-size: 15px; }
.nv2c .article-content em { color: inherit; }

/* Devanagari anywhere in content */
.nv2c [lang="sa"], .nv2c [lang="hi"], .nv2c .deva, .nv2c .nv-deva, .nv2c .dv-deva, .nv2c .gv-deva { font-family: var(--f-deva); }

/* ---------- tables: clear, and scrolling inside their own box ---------- */
.nv2c .nv2-tw { margin: 1.5em 0; font-size: 15.5px; line-height: 1.45; overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; background: var(--paper); }
.nv2c .nv2-tw:focus-visible { outline: 2px solid var(--gold-ink); outline-offset: 2px; }
.nv2c .nv2-tw table { width: 100%; min-width: 100%; margin: 0; border: 0; border-radius: 0; border-collapse: collapse; font-size: inherit; overflow: visible; background: none; }
.nv2c .nv2-tw thead { background: var(--sand); }
.nv2c .nv2-tw th { text-align: left; font: 700 13px/1.25 var(--f-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); padding: 14px 16px; background: var(--sand); border: 0; vertical-align: bottom; }
.nv2c .nv2-tw td { padding: 13px 16px; border: 0; border-top: 1px solid var(--line); color: var(--ink); vertical-align: top; min-width: 7.5em; }
.nv2c .nv2-tw tbody tr:nth-child(even) { background: none; }
.nv2c .nv2-tw tbody tr:hover { background: color-mix(in srgb, var(--gold-soft) 55%, transparent); }
.nv2c .nv2-tw td:first-child { font-weight: 600; }
.nv2c .nv2-tw td strong { color: var(--ink); }
.nv2c .article-content table.x-scroll { -webkit-mask-image: none; mask-image: none; }

/* ---------- FAQ ---------- */
.nv2c .faq-item { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 18px 20px; margin: 0 0 10px; }
.nv2c .faq-item h4 { font: 700 17.5px/1.35 var(--f-ui); color: var(--ink); margin: 0 0 8px; cursor: default; }
.nv2c .faq-item p { font-size: 16.5px; line-height: 1.65; color: var(--ink-2); margin: 0; }
.nv2c .faq-item p + p { margin-top: .7em; }

/* ---------- tool call to action (in the middle and at the end) ---------- */
.nv2c .mid-cta { display: block; margin: 2em 0; padding: 20px 22px; background: var(--paper); border: 1px solid var(--line-2); border-radius: var(--r-lg); box-shadow: var(--sh-1); font-size: 16.5px; line-height: 1.6; color: var(--ink-2); }
.nv2c .mid-cta p { margin: 0; max-width: none; }
.nv2c .mid-cta strong { color: var(--ink); }
.nv2c .cta-banner { margin: 40px 0 !important; padding: clamp(24px, 4vw, 36px); background: var(--night); color: var(--on-night); border: 0; border-radius: var(--r-lg); text-align: left !important; box-shadow: var(--sh-2); position: relative; overflow: hidden; }
.nv2c .cta-banner h3 { font: 600 clamp(28px, 3.4vw, 36px)/1.1 var(--f-display); letter-spacing: 0; color: var(--on-night); margin: 0 0 12px !important; }
.nv2c .cta-banner p { color: var(--on-night-2); max-width: 34em; margin: 0 0 16px !important; font-size: 16.5px !important; line-height: 1.55; }
.nv2c .cta-banner p[style*="margin-bottom: 1rem"], .nv2c .cta-banner p[style*="margin-bottom:1rem"] { display: flex; flex-wrap: wrap; gap: 12px; max-width: none; }
.nv2c .cta-banner a:not(.btn) { color: var(--gold-bright); text-decoration-color: color-mix(in srgb, var(--gold-bright) 45%, transparent); }
.nv2c .cta-banner .btn { margin: 0 !important; min-height: 48px; }
.nv2c .cta-banner .btn-primary { background: var(--sindoor); color: #fff; }
.nv2c .cta-banner .btn-outline { background: transparent; color: var(--on-night); border: 1.5px solid rgba(244,239,230,.45); }
.nv2c .cta-banner [style*="font-size: 0.85rem"], .nv2c .cta-banner [style*="font-size:.85rem"] { font-size: 15px !important; line-height: 1.9; }
.nv2c .cta-banner [style*="ink-ghost"] { color: var(--on-night-3) !important; font-size: 14.5px !important; }

/* ---------- tags, related reads, author box ---------- */
.nv2c .article-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 0; }
.nv2c .article-tag { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border: 1px solid var(--line-2); border-radius: var(--r-pill); background: var(--paper); font: 500 13.5px/1 var(--f-ui); color: var(--ink-2); }
.nv2c .nv-related { margin: 40px 0 0; padding: 28px 0 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: none; }
.nv2c .nv-related-h { font: 600 clamp(26px, 3.2vw, 32px)/1.1 var(--f-display); margin: 0 0 18px; color: var(--ink); }
.nv2c .nv-related-list { list-style: none; margin: 0; padding: 0; columns: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.nv2c .nv-related-list li { margin: 0; font-size: inherit; }
.nv2c .nv-related-list a { display: flex; align-items: center; min-height: 64px; height: 100%; padding: 14px 18px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); text-decoration: none; color: var(--ink); font: 600 16px/1.35 var(--f-ui); transition: transform .2s, box-shadow .2s; }
.nv2c .nv-related-list a:hover { transform: translateY(-2px); box-shadow: var(--sh-2); }
.nv2c .nv-related-hub { margin: 16px 0 0; font-size: 16px; }
.nv2c .nv-related-hub a { font-weight: 700; color: var(--sindoor); }
.nv2c .nv-authorbox { margin: 40px 0 0; padding: clamp(20px, 3vw, 28px); background: var(--paper); border: 1px solid var(--line); border-left: 1px solid var(--line); border-radius: var(--r-lg); font-size: 16.5px; line-height: 1.65; color: var(--ink-2); }
.nv2c .nv-authorbox p { max-width: 60ch; }
.nv2c .nv-authorbox strong { font: 600 26px/1.1 var(--f-display); display: block; color: var(--ink); margin-bottom: 8px; }
.nv2c .nv-authorbox a { color: var(--sindoor); font-weight: 600; }
.nv2c .nv-pagenav { background: var(--sand); border: 0; border-radius: var(--r); padding: 16px 20px; }
.nv2c .nv-pagenav a { font-weight: 600; }

/* ---------- hubs and lists: cards ---------- */
.nv2c-list .blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.nv2c-list .blog-card { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; box-shadow: none; transition: transform .2s, box-shadow .2s; color: var(--ink); }
.nv2c-list .blog-card:hover { transform: translateY(-3px); box-shadow: var(--sh-2); border-color: var(--line-2); }
.nv2c-list .blog-card-img { height: 64px; justify-content: flex-start; padding: 0 22px; background: var(--sand); border-bottom: 0; font-size: 1.7rem; color: var(--gold-ink); opacity: 1; }
.nv2c-list .blog-card-body { padding: 18px 22px 22px; }
.nv2c-list .blog-card-category { font: 700 13px/1 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-ink); margin: 0 0 10px; }
.nv2c-list .blog-card h3 { font: 500 25px/1.15 var(--f-display); letter-spacing: 0; color: var(--ink); margin: 0 0 8px; }
.nv2c-list .blog-card p { font-size: 15.5px; line-height: 1.55; color: var(--ink-2); }
.nv2c-list .blog-card .blog-card-meta { font: 500 14px/1.3 var(--f-ui); color: var(--ink-3); }
.nv2c-list > section .container { width: min(var(--wrap), 100% - 2 * var(--gutter)); max-width: none; padding-inline: 0; }
.nv2c-list > section .container-narrow { width: min(var(--art-w), 100% - 2 * var(--gutter)); max-width: none; padding-inline: 0; }
.nv2c-list .container-narrow .article-content { max-width: var(--prose-w); }
.nv2c-list .container-narrow .answer-box { max-width: var(--prose-w); }
.nv2c-list .container-narrow .article-content table { max-width: 100%; }
.nv2c .pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 40px 0 0; padding: 0; }
.nv2c .pagination .page-link { min-width: 48px; min-height: 48px; border: 1px solid var(--line-2); border-radius: var(--r-pill); background: var(--paper); color: var(--ink); font: 600 15px/1 var(--f-ui); display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; text-decoration: none; }
.nv2c .pagination a.page-link[href]:hover { border-color: var(--ink); color: var(--ink); }
.nv2c .pagination .active .page-link { background: var(--ink); border-color: var(--ink); color: #fff; }
.nv2c .pagination .disabled .page-link { opacity: .4; }

/* ---------- scripture: Gita, Saptashati, Upanishads (verse blocks) ---------- */
.nv2c .ds, .nv2c .gita { overflow-wrap: break-word; }
.nv2c .ds-chips, .nv2c .gita-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.nv2c .ds-chip, .nv2c .gita-chip { min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--line-2); border-radius: var(--r-pill); background: var(--paper); color: var(--ink); font: 600 15px/1 var(--f-ui); text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.nv2c a.ds-chip:hover, .nv2c a.gita-chip:hover { background: var(--sand); }
.nv2c .ds-chip.is-current, .nv2c .gita-chip.is-current { background: var(--ink); border-color: var(--ink); color: #fff; }
.nv2c .ds-chip.is-off, .nv2c .gita-chip.is-off { opacity: .4; border-style: dashed; }
.nv2c .ds-jump, .nv2c .gita-jump { margin: 0 0 28px; border: 1px solid var(--line); border-radius: var(--r); background: var(--paper); }
.nv2c .ds-jump summary, .nv2c .gita-jump summary { min-height: 56px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; font: 700 16px/1.3 var(--f-ui); cursor: pointer; }
.nv2c .ds-jump summary span, .nv2c .gita-jump summary span { font: 500 14px/1 var(--f-ui); color: var(--ink-3); }
.nv2c .ds-jump-list, .nv2c .gita-jump-list { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 20px 20px; }
.nv2c .ds-jump-list a, .nv2c .gita-jump-list a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line-2); border-radius: var(--r-pill); font: 600 14.5px/1 var(--f-ui); color: var(--ink); text-decoration: none; background: var(--ivory); }
.nv2c .ds-jump-list a:hover, .nv2c .gita-jump-list a:hover { background: var(--gold-soft); }

/* verse: number and speaker, then Devanagari, then transliteration, then meaning */
.nv2c .dv, .nv2c .gv { background: none; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 0 0 26px; margin: 0 0 30px; scroll-margin-top: calc(var(--header-h) + 16px); }
.nv2c .dv-head, .nv2c .gv-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 14px; }
.nv2c .dv-num, .nv2c .gv-num { font: 500 22px/1 var(--f-display); letter-spacing: 0; text-transform: none; color: var(--sindoor); }
.nv2c .dv-speaker, .nv2c .gv-speaker { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: var(--r-pill); background: var(--sand); font: 500 13.5px/1 var(--f-ui); color: var(--ink-2); }
.nv2c .dv .dv-deva, .nv2c .gv .gv-deva { font-family: var(--f-deva); font-size: clamp(22px, 5.2vw, 30px); line-height: 1.85; color: var(--ink); text-align: left; margin: 0 0 14px; overflow-wrap: anywhere; }
.nv2c .dv .dv-translit, .nv2c .gv .gv-translit { font: italic 400 16.5px/1.7 var(--f-ui); color: var(--ink-2); text-align: left; margin: 0 0 14px; overflow-wrap: anywhere; }
.nv2c .dv .dv-meaning, .nv2c .gv .gv-meaning { font-size: 17.5px; line-height: 1.7; color: var(--ink); margin: 0; }
.nv2c .dv .dv-meaning strong, .nv2c .gv .gv-meaning strong, .nv2c .dv .dv-note strong, .nv2c .gv .gv-note strong { font: 700 12.5px/1 var(--f-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--gold-ink); margin-right: 8px; }
.nv2c .dv .dv-note, .nv2c .gv .gv-note { margin: 14px 0 0; padding: 14px 18px; border: 0; border-left: 3px solid var(--gold); border-radius: 0 var(--r) var(--r) 0; background: var(--sand); font-size: 16px; line-height: 1.6; color: var(--ink-2); }
.nv2c .up-shanti { background: var(--night); border-radius: var(--r-lg); padding: 24px; border: 0; }
.nv2c .up-shanti .gv-deva { color: var(--gold-bright); }
.nv2c .up-shanti .gv-translit, .nv2c .up-shanti .gv-meaning, .nv2c .up-shanti .gv-note { color: var(--on-night-2); }
.nv2c .up-shanti .gv-note { background: rgba(255,255,255,.06); }

/* mantra block */
.nv2c .nv-verse { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(18px, 3vw, 28px); margin: 1.6em 0; }
.nv2c .nv-verse-label { font: 700 13px/1 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-ink); margin: 0 0 12px; }
.nv2c .nv-verse .nv-deva { font-family: var(--f-deva); font-size: clamp(22px, 5.2vw, 30px); line-height: 1.85; color: var(--ink); text-align: left; overflow-wrap: anywhere; }
.nv2c .nv-verse .nv-translit { font: italic 400 16.5px/1.7 var(--f-ui); color: var(--ink-2); text-align: left; }
.nv2c .nv-verse .nv-meaning { font-size: 17.5px; line-height: 1.7; color: var(--ink); }
.nv2c .nv-source { font-size: 15px; color: var(--ink-3); }
.nv2c .nv-glossary, .nv2c .gita-table, .nv2c .ds-table { width: 100%; border-collapse: collapse; font-size: 15.5px; }
.nv2c .nv-glossary th, .nv2c .gita-table th, .nv2c .ds-table th { font: 700 13px/1.25 var(--f-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); background: var(--sand); padding: 14px 16px; border: 0; text-align: left; }
.nv2c .nv-glossary td, .nv2c .gita-table td, .nv2c .ds-table td { padding: 13px 16px; border: 0; border-top: 1px solid var(--line); vertical-align: top; }

/* previous / next */
.nv2c .ds-pn, .nv2c .gita-pn { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 40px 0 28px; }
.nv2c .ds-pn a, .nv2c .gita-pn a { display: grid; gap: 6px; align-content: center; min-height: 100px; padding: 20px 22px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); text-decoration: none; font: 600 26px/1.15 var(--f-display); color: var(--ink); transition: transform .2s, box-shadow .2s; }
.nv2c .ds-pn a:hover, .nv2c .gita-pn a:hover { transform: translateY(-3px); box-shadow: var(--sh-2); background: var(--paper); }
.nv2c .ds-pn a span, .nv2c .gita-pn a span { font: 700 13px/1 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.nv2c .ds-pn-next, .nv2c .gita-pn-next { text-align: right; }

/* scripture hubs: chapter cards */
.nv2c .ds-cards, .nv2c .gita-cards { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.nv2c .ds-card a, .nv2c .ds-card-in, .nv2c .gita-card a, .nv2c .gita-card-in { display: grid; grid-template-columns: 44px 1fr; gap: 4px 14px; height: 100%; padding: 18px 20px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); text-decoration: none; color: var(--ink); transition: transform .2s, box-shadow .2s; }
.nv2c .ds-card a:hover, .nv2c .gita-card a:hover { transform: translateY(-3px); box-shadow: var(--sh-2); border-color: var(--line-2); }
.nv2c .ds-card.is-off .ds-card-in, .nv2c .gita-card.is-off .gita-card-in { opacity: .62; border-style: dashed; }
.nv2c .ds-card-n, .nv2c .gita-card-n { font: 600 34px/1 var(--f-display); color: var(--gold); }
.nv2c .ds-card-t strong, .nv2c .gita-card-t strong { display: block; font: 500 24px/1.15 var(--f-display); letter-spacing: 0; color: var(--ink); }
.nv2c .ds-card-t em, .nv2c .gita-card-t em { display: block; font-size: 14.5px; color: var(--ink-3); font-style: normal; }
.nv2c .ds-card-d, .nv2c .gita-card-d { font-size: 15.5px; line-height: 1.55; color: var(--ink-2); }
.nv2c .ds-card-v, .nv2c .gita-card-v { font: 600 13.5px/1 var(--f-ui); color: var(--ink-3); }
.nv2c .ds-group { margin: 2em 0 .5em; }

/* ---------- static pages (consultation, privacy, cookies ...) ---------- */
.nv2c-single .art-grid:not(.has-toc) .art-main { max-width: var(--prose-w); }

/* ---------- phones and tablets ---------- */
@media (max-width: 920px) {
  .nv2c .art-grid.has-toc { display: flex; flex-direction: column; gap: 0; align-items: stretch; }
  .nv2c .art-main > * { min-width: 0; max-width: 100%; }
  .nv2c .art-main { display: contents; }
  .nv2c .art-main > * { order: 3; }
  .nv2c .art-main > .answer-box { order: 1; }
  .nv2c .art-side { order: 2; position: static; max-height: none; overflow: visible; padding: 0; margin: 0 0 28px; }
  .nv2c .article-toc { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); }
  .nv2c .article-toc::before { content: none; }
  .nv2c .toc-toggle { display: flex; align-items: center; min-height: 56px; padding: 0 20px; width: 100%; font: 700 16.5px/1.3 var(--f-ui); color: var(--ink); }
  .nv2c .toc-count { font: 500 14px/1 var(--f-ui); color: var(--ink-3); margin-left: auto; }
  .nv2c .article-toc .toc-body { padding: 0 20px 14px; }
  .nv2c .article-toc .toc-body[hidden], html.js .nv2c .article-toc:not(.toc-open) .toc-body { display: none; }
  .nv2c .article-toc nav a { min-height: 44px; display: flex; align-items: center; font-size: 16px; padding: 8px 0 8px 14px; }
  .nv2c .article-toc nav ul ul a { font-size: 15px; }
  .nv2c .page-header h1 { max-width: none; }
}
@media (max-width: 640px) {
  .nv2c .article-content { font-size: 18px; line-height: 1.7; }
  .nv2c .article-content > p:first-child { font-size: 19px; }
  .nv2c .nv-related-list { grid-template-columns: 1fr; }
  .nv2c .ds-pn, .nv2c .gita-pn { grid-template-columns: 1fr; }
  .nv2c .ds-pn-next, .nv2c .gita-pn-next { text-align: left; }
  .nv2c .cta-banner .btn { width: 100%; justify-content: center; }
  .nv2c .nv2-tw th, .nv2c .nv2-tw td { padding: 11px 12px; }
  .nv2c .nv-byline { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { .nv2c * { transition: none !important; } }

/* ---------- widths per page type ---------- */
/* scripture chapters: one 760px column, header lined up with it */
.nv2c-scr .page-header .container, .nv2c-scr > section .container-narrow { width: min(760px, 100% - 2 * var(--gutter)); max-width: none; padding-inline: 0; margin-inline: auto; }
.nv2c-scr .page-header h1 { max-width: none; }
.nv2c-scr > section { padding-top: 0; padding-bottom: clamp(32px, 5vw, 64px); }
/* scripture hubs: wide for the chapter cards, reading text kept to a comfortable line */
.nv2c-hub > section .container-narrow { width: min(var(--art-w), 100% - 2 * var(--gutter)); max-width: none; padding-inline: 0; margin-inline: auto; }
.nv2c-hub .article-content, .nv2c-hub .answer-box { max-width: var(--prose-w); }
.nv2c-hub .article-content .nv2-tw { max-width: 100%; }
.nv2c-hub > section { padding-bottom: clamp(32px, 5vw, 64px); }
/* tool-like pages (baby names finder, widget builder) */
.nv2c-tool .art-wrap .article-content { max-width: var(--prose-w); }
.nv2c-tool > section { padding-bottom: clamp(32px, 5vw, 64px); }
/* 404 */
.nv2c-404 .section-label { display: block; font: 600 clamp(72px, 14vw, 120px)/1 var(--f-display); color: var(--gold); letter-spacing: 0; text-transform: none; margin: 0 0 8px; }
.nv2c-404 h1 { font-size: clamp(34px, 5vw, 52px); text-align: center; }
.nv2c-404 .hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.nv2c-404 .btn { min-height: 48px; }
.nv2c .article-content p, .nv2c .article-content li { text-wrap: wrap; }
.nv2c .article-content h2 { text-wrap: wrap; }

/* night banners: the real bright gold */
html body .nv2c .cta-banner, html body .nv2c .up-shanti { --gold-bright: #E5BA5E; }
/* night banners: words the old markup colours dark get the night colours */
.nv2c .cta-banner p[style*="--ink-dim"], .nv2c .cta-banner p[style*="--ink-light"] { color: var(--on-night-2) !important; }
.nv2c .up-shanti strong, .nv2c .up-shanti b { color: var(--on-night); }
.nv2c .up-shanti .gv-num { color: var(--gold-bright); }

/* ---------- page fixes 15 Oct: alignment ---------- */
/* Pages with no contents column (consultation, contact, short articles): one centred reading column,
   with the page head lined up on the same edges (the 680px column used to sit pinned left in a 964px box). */
.nv2c-single:has(.art-grid:not(.has-toc)) .page-header .container,
.nv2c-single .art-wrap:has(> .art-grid:not(.has-toc)) { width: min(var(--prose-w), 100% - 2 * var(--gutter)); }
/* Hubs with a card grid (blog): the head and the intro start on the grid's left edge. */
.nv2c-list:has(.blog-grid) .page-header .container,
.nv2c-list:has(.blog-grid) > section .container-narrow { width: min(var(--wrap), 100% - 2 * var(--gutter)); }
/* Hubs with no card grid (mantras): one centred reading column; the tags row keeps to the text width. */
.nv2c-list:not(:has(.blog-grid)) .page-header .container,
.nv2c-list:not(:has(.blog-grid)) > section .container-narrow { width: min(var(--prose-w), 100% - 2 * var(--gutter)); }

/* blog cards: the category sits in the sand band beside the icon, so every title starts on the same line */
.nv2c-list .blog-card { position: relative; }
.nv2c-list .blog-card-body > .blog-card-category { position: absolute; top: 0; right: 22px; left: 72px; height: 64px; margin: 0; display: flex; align-items: center; justify-content: flex-end; text-align: right; line-height: 1.25; }

/* consultation: buttons that look like buttons (not underlined like a link), steps two by two, the two booking buttons one size */
.nv2c .article-content a.btn, .nv2c .article-content a.btn:hover { text-decoration: none; }
.nv2c .consult-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 480px) { .nv2c .consult-process { grid-template-columns: 1fr; } }
.nv2c #book .btn { min-height: 52px; min-width: 264px; justify-content: center; }

/* about: the portrait centred with the lines under it; drop caps only on a section's opening paragraph
   (inside the centred cards the floated first letter split words, "J ... yotish"); the sand bands keep to the column */
.nv2c .about-portrait picture, .nv2c .about-portrait img { margin-inline: auto; }
.nv2c .about-section div p::first-letter, .nv2c .about-section div p:first-of-type::first-letter { float: none; font: inherit; color: inherit; padding: 0; line-height: inherit; }
.nv2c .about-section > h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
@media (min-width: 769px) {
  .nv2c .about-section:nth-child(even) { margin-inline: 0; padding: clamp(24px, 3vw, 36px); border: 0; border-radius: var(--r-lg); }
}

/* verse marks (॥ 12 ॥) stay on one line */
.nv-vmark { white-space: nowrap; }

/* tables: a soft edge shadow shows there is more to scroll; on phones the columns may shrink to fit */
.nv2c .nv2-tw {
  background-color: var(--paper);
  background-image: linear-gradient(to right, var(--paper) 30%, transparent), linear-gradient(to left, var(--paper) 30%, transparent),
    radial-gradient(farthest-side at 0 50%, rgba(40, 30, 10, .2), transparent), radial-gradient(farthest-side at 100% 50%, rgba(40, 30, 10, .2), transparent);
  background-position: left center, right center, left center, right center;
  background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
  background-repeat: no-repeat;
  background-attachment: local, local, scroll, scroll;
  scrollbar-width: thin; scrollbar-color: var(--line-2) transparent;
}
@media (max-width: 640px) {
  .nv2c .nv2-tw { font-size: 15px; }
  .nv2c .nv2-tw table:not(:has(tr > :nth-child(5))) td { min-width: 0; }
  .nv2c .nv2-tw th, .nv2c .nv2-tw td { padding: 10px 8px; }
  .nv2c .nv2-tw th { letter-spacing: .04em; }
}
/* package lists keep their old .4rem top padding, so their dot moves down by the same amount */
.nv2c .article-content ul.service-features li::before { top: calc(.4rem + .85em - 4px); top: calc(.4rem + .5lh - 4px); }
