/*
Theme Name: Vedyuti
Theme URI: https://vedyuti.com
Description: Official blog theme for Vedyuti – calm, editorial, SEO-friendly
Author: Vedyuti
Version: 3.1.0
Text Domain: vedyuti
Tags: blog, custom-logo, custom-header
*/

/* ====================================================================
   DESIGN TOKENS  (§3 of NAVIGATION.md — vy- prefix, no other colours)
   ==================================================================== */
:root {
  --vy-primary:       #B1213A;
  --vy-primary-hover: #8E1A2E;
  --vy-saffron:       #E07B24;
  --vy-saffron-dark:  #9A4A0E;
  --vy-gold:          #E2B56B;
  --vy-ink:           #1F1A17;
  --vy-night:         #1F1A17;
  --vy-muted:         #4A423C;
  --vy-muted-light:   #6B6159;
  --vy-paper:         #FFFDFA;
  --vy-paper-deep:    #F7F1EA;
  --vy-sand:          #F4EFE9;
  --vy-lift:          #FBF6F0;
  --vy-line:          #ECE4DA;
  --vy-line-strong:   #E3D8CB;
  --vy-line-hover:    #D9CBBB;
  --vy-success:       #397B56;
  --vy-white:         #FFFFFF;

  --vy-serif: "Google Sans Flex", "Product Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --vy-sans:  "Google Sans Flex", "Product Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;

  --vy-radius-sm: 6px;
  --vy-radius-md: 10px;
  --vy-radius-lg: 14px;
  --vy-radius-xl: 18px;

  --vy-shadow-card:       0 1px 2px rgba(31,26,23,.04), 0 10px 28px -16px rgba(31,26,23,.16);
  --vy-shadow-card-hover: 0 2px 4px rgba(31,26,23,.05), 0 22px 40px -20px rgba(31,26,23,.26);
  --vy-shadow-popover:    0 14px 36px rgba(31,26,23,.12);

  --vy-container: 1200px;
  --vy-gutter:    24px;

  --vy-ease: cubic-bezier(0.4,0,0.2,1);
  --vy-fast: 150ms;
}

/* ====================================================================
   RESET & GLOBAL
   ==================================================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 104px;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--vy-paper);
  color: var(--vy-ink);
  font-family: var(--vy-sans);
  font-size: 1rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, video { max-width: 100%; height: auto; display: block; }
a { color: var(--vy-ink); text-decoration: none; transition: color var(--vy-fast) var(--vy-ease); }
a:hover { color: var(--vy-primary); }

h1, h2, h3 {
  font-family: var(--vy-sans);
  font-weight: 700;
  color: var(--vy-ink);
  letter-spacing: -0.015em;
}
h1 { font-size: clamp(2rem, 1.5rem + 2.2vw, 3.25rem); line-height: 1.1; letter-spacing: -0.025em; }
h2 { font-size: clamp(1.625rem, 1.3rem + 1.3vw, 2rem); line-height: 1.2; letter-spacing: -0.02em; }
h3 { font-size: 1.25rem; line-height: 1.3; letter-spacing: -0.015em; }
h4 { font-family: var(--vy-sans); font-size: 1.1875rem; font-weight: 700; line-height: 1.35; color: var(--vy-ink); }
h5 { font-family: var(--vy-sans); font-size: 0.9375rem; font-weight: 600; color: var(--vy-ink); }
h6 { font-family: var(--vy-sans); font-size: 0.8125rem; font-weight: 600; color: var(--vy-ink); }

p { margin-bottom: 1.25rem; }
p:last-child { margin-bottom: 0; }
ul, ol { padding-left: 1.5rem; margin-bottom: 1.25rem; }
li { margin-bottom: 0.35rem; }
strong { color: var(--vy-ink); font-weight: 600; }

blockquote {
  border-left: 2px solid var(--vy-line-strong);
  padding: 1rem 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: var(--vy-muted);
  background: var(--vy-paper-deep);
  border-radius: 0 var(--vy-radius-md) var(--vy-radius-md) 0;
}
hr { border: none; border-top: 1px solid var(--vy-line); margin: 2.5rem 0; }

code {
  font-size: 0.875em;
  background: var(--vy-sand);
  padding: 0.15em 0.45em;
  border-radius: var(--vy-radius-sm);
  color: var(--vy-ink);
}
pre {
  background: var(--vy-night);
  color: #f8f8f2;
  padding: 1.5rem;
  border-radius: var(--vy-radius-md);
  overflow-x: auto;
  margin-bottom: 1.5rem;
  font-size: 0.9375rem;
  line-height: 1.6;
}
pre code { background: none; padding: 0; color: inherit; }

/* Focus ring — saffron on every interactive element */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--vy-saffron);
  outline-offset: 3px;
}

::selection { background: var(--vy-sand); color: var(--vy-ink); }

/* ====================================================================
   LAYOUT HELPERS
   ==================================================================== */
.vy-container {
  max-width: var(--vy-container);
  margin: 0 auto;
  padding: 0 24px;
}
@media (min-width: 640px) { .vy-container { padding: 0 32px; } }

/* Alias used by archive/search/page/404 templates */
.container {
  max-width: var(--vy-container);
  margin: 0 auto;
  padding: 0 24px;
}
@media (min-width: 640px) { .container { padding: 0 32px; } }
.container .inner { max-width: var(--vy-container); margin: 0 auto; }

.site-wrapper { display: flex; flex-direction: column; min-height: 100vh; }
.site-main    { flex: 1; padding: 4rem 0 5rem; }

/* Type helpers */
.eyebrow {
  display: inline-block;
  font-family: var(--vy-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--vy-saffron-dark);
  margin-bottom: 0.75rem;
}
.lead {
  font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem);
  line-height: 1.6;
  color: var(--vy-muted);
}

/* ====================================================================
   SKIP LINK
   ==================================================================== */
.vy-skip {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.vy-skip:focus {
  position: fixed;
  top: 16px; left: 16px;
  z-index: 999;
  width: auto; height: auto;
  clip: auto;
  padding: 10px 16px;
  border-radius: var(--vy-radius-md);
  background: var(--vy-ink);
  color: var(--vy-paper);
  font: 600 0.9375rem/1.6 var(--vy-sans);
  text-decoration: none;
}

/* ====================================================================
   BUTTONS  (§5)
   ==================================================================== */
.vy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 20px;
  border: 0;
  border-radius: var(--vy-radius-md);
  font: 600 0.9375rem/1.6 var(--vy-sans);
  text-decoration: none;
  cursor: pointer;
  transition:
    color       var(--vy-fast) var(--vy-ease),
    background  var(--vy-fast) var(--vy-ease),
    border-color var(--vy-fast) var(--vy-ease);
}
.vy-btn--lg      { min-height: 52px; padding: 0 28px; font-size: 1.0625rem; }
.vy-btn--primary { background: var(--vy-primary); color: #fff; }
.vy-btn--primary:hover { background: var(--vy-primary-hover); color: #fff; }
.vy-btn--outline { background: var(--vy-white); color: var(--vy-ink); border: 1px solid var(--vy-line-strong); }
.vy-btn--outline:hover { border-color: var(--vy-ink); color: var(--vy-ink); }
.vy-btn--secondary { background: var(--vy-paper-deep); color: var(--vy-ink); }
.vy-btn--secondary:hover { background: var(--vy-sand); color: var(--vy-ink); }
.vy-btn--inverted { background: var(--vy-ink); color: var(--vy-paper); }
.vy-btn--inverted:hover { background: var(--vy-night); color: var(--vy-paper); }
.vy-btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* ====================================================================
   HEADER  (§7)
   ==================================================================== */
.vy-header {
  position: sticky;
  top: 0;
  z-index: 20;
  width: 100%;
  border-bottom: 1px solid var(--vy-line);
  background: rgba(255,251,247,0.95);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.vy-header__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: var(--vy-container);
  height: 70px;
  margin: 0 auto;
  padding: 0 24px;
}
@media (min-width: 640px)  { .vy-header__inner { padding: 0 32px; } }
@media (min-width: 1080px) { .vy-header__inner { height: 78px; } }

/* Logo */
.vy-logo { display: inline-flex; flex-shrink: 0; align-items: center; }
.vy-logo a { display: inline-flex; align-items: center; }
.vy-logo img,
.vy-logo .vy-logo__img { display: block; height: 32px; width: auto; }

/* Desktop nav */
.vy-nav { display: none; align-items: center; gap: clamp(16px, 2vw, 28px); }
@media (min-width: 1080px) { .vy-nav { display: flex; } }

.vy-nav__item { position: relative; }

.vy-nav__trigger,
.vy-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 0;
  border: 0;
  background: none;
  cursor: pointer;
  font: 500 0.9375rem/1.6 var(--vy-sans);
  color: var(--vy-muted);
  text-decoration: none;
  transition: color var(--vy-fast) var(--vy-ease);
}
.vy-nav__trigger:hover,
.vy-nav__link:hover,
.vy-nav__link[aria-current="page"],
.vy-nav__trigger.is-active { color: var(--vy-ink); }

.vy-nav__trigger svg { transition: transform var(--vy-fast) var(--vy-ease); flex-shrink: 0; }
.vy-nav__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }

/* Desktop dropdown */
.vy-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 30;
  transform: translateX(-50%);
  padding-top: 12px;
}
.vy-nav__item.is-open .vy-dropdown { display: block; }

.vy-dropdown__panel {
  width: min(580px, 90vw);
  padding: 8px;
  background: var(--vy-white);
  border: 1px solid var(--vy-line);
  border-radius: var(--vy-radius-md);
  box-shadow: var(--vy-shadow-popover);
}
.vy-dropdown__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  margin: 0; padding: 0; list-style: none;
}
.vy-dropdown__link {
  display: block;
  padding: 10px 12px;
  border-radius: var(--vy-radius-sm);
  text-decoration: none;
  transition: background-color var(--vy-fast) var(--vy-ease);
}
.vy-dropdown__link:hover { background: var(--vy-paper-deep); }
.vy-dropdown__label {
  display: block;
  font: 600 0.9375rem/1.6 var(--vy-sans);
  color: var(--vy-ink);
}
.vy-dropdown__desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 2px;
  font: 400 0.8125rem/1.5 var(--vy-sans);
  color: var(--vy-muted);
}
.vy-dropdown__overview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 4px;
  padding: 12px 12px 8px;
  border-top: 1px solid var(--vy-line);
  border-radius: var(--vy-radius-sm);
  font: 600 0.9375rem/1.6 var(--vy-sans);
  color: var(--vy-ink);
  text-decoration: none;
  transition: color var(--vy-fast) var(--vy-ease);
}
.vy-dropdown__overview:hover { color: var(--vy-primary); }

/* Header actions */
.vy-header__actions { display: flex; flex-shrink: 0; align-items: center; gap: 12px; }
.vy-header__cta { min-height: 40px; padding: 0 16px; border-radius: var(--vy-radius-sm); }
@media (min-width: 1080px) { .vy-header__cta { min-height: 44px; padding: 0 20px; } }
@media (max-width: 420px)  { .vy-header__cta { display: none; } }

/* Write button (admin only) — small radius */
#vy-write-btn { border-radius: var(--vy-radius-sm); }

/* Mobile toggle */
.vy-menu-toggle {
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  cursor: pointer;
  border: 1px solid var(--vy-line-strong);
  border-radius: var(--vy-radius-md);
  background: transparent;
  color: var(--vy-ink);
  transition: background-color var(--vy-fast) var(--vy-ease);
}
.vy-menu-toggle:hover { background: var(--vy-paper-deep); }
.vy-menu-toggle .vy-icon-close,
.vy-menu-toggle[aria-expanded="true"] .vy-icon-menu  { display: none; }
.vy-menu-toggle[aria-expanded="true"] .vy-icon-close { display: block; }
@media (min-width: 1080px) { .vy-menu-toggle { display: none; } }

/* Mobile menu panel */
.vy-mobile {
  position: absolute;
  top: 100%; left: 0; right: 0;
  max-height: calc(100dvh - 70px);
  overflow-y: auto;
  padding: 8px 24px 24px;
  background: var(--vy-paper);
  border-bottom: 1px solid var(--vy-line);
  box-shadow: var(--vy-shadow-popover);
  z-index: 19;
}
@media (min-width: 640px)  { .vy-mobile { padding: 8px 32px 24px; } }
@media (min-width: 1080px) { .vy-mobile { display: none !important; } }

.vy-mobile__list,
.vy-mobile__sub { margin: 0; padding: 0; list-style: none; }

.vy-mobile__row { border-bottom: 1px solid var(--vy-line); }

.vy-mobile__trigger,
.vy-mobile__plain {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 0;
  border: 0; background: none; cursor: pointer; text-align: left;
  font: 500 1.0625rem/1.7 var(--vy-sans);
  color: var(--vy-ink);
  text-decoration: none;
  transition: color var(--vy-fast) var(--vy-ease);
}
.vy-mobile__plain:hover { color: var(--vy-primary); }
.vy-mobile__trigger svg { flex-shrink: 0; transition: transform var(--vy-fast) var(--vy-ease); }
.vy-mobile__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }

.vy-mobile__sub  { padding-bottom: 12px; }
.vy-mobile__link {
  display: block;
  padding: 8px 0 8px 12px;
  font: 400 1.0625rem/1.7 var(--vy-sans);
  color: var(--vy-muted);
  text-decoration: none;
  transition: color var(--vy-fast) var(--vy-ease);
}
.vy-mobile__link:hover { color: var(--vy-primary); }
.vy-mobile__overview {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 0 8px 12px;
  font: 600 1.0625rem/1.7 var(--vy-sans);
  color: var(--vy-ink);
  text-decoration: none;
  transition: color var(--vy-fast) var(--vy-ease);
}
.vy-mobile__overview:hover { color: var(--vy-primary); }
.vy-mobile__cta { width: 100%; min-height: 48px; margin-top: 24px; padding: 0 16px; font-size: 1.0625rem; }

/* ====================================================================
   FOOTER  (§8)
   ==================================================================== */
.vy-footer {
  padding: 64px 0 40px;
  border-top: 1px solid var(--vy-line);
  background: var(--vy-paper-deep);
  color: var(--vy-muted);
  font-family: var(--vy-sans);
}
.vy-footer__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--vy-line);
}
.vy-footer__brand { grid-column: 1 / -1; }
@media (min-width: 768px) {
  .vy-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .vy-footer__grid { grid-template-columns: 1.6fr repeat(5, 1fr); }
  .vy-footer__brand { grid-column: auto; }
}

.vy-footer__brand img,
.vy-footer__brand .vy-footer__logo-img { display: block; height: 28px; width: auto; }

.vy-footer__tagline {
  margin: 20px 0 0;
  font: 400 1.1875rem/1.35 var(--vy-serif);
  font-variation-settings: "SOFT" 0, "WONK" 0;
  color: var(--vy-ink);
}
.vy-footer__about {
  max-width: 320px;
  margin: 8px 0 0;
  font-size: 0.9375rem;
  line-height: 1.6;
}
.vy-footer__blog {
  display: inline-block;
  margin-top: 16px;
  font: 600 0.9375rem/1.6 var(--vy-sans);
  color: var(--vy-ink);
  text-decoration: underline;
  text-decoration-color: var(--vy-line-strong);
  text-underline-offset: 4px;
  transition: color var(--vy-fast) var(--vy-ease);
}
.vy-footer__blog:hover { color: var(--vy-primary); }

.vy-footer__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.9375rem;
  line-height: 1.6;
}
.vy-footer__col h2 {
  margin: 0 0 4px;
  font: 600 0.9375rem/1.6 var(--vy-sans);
  color: var(--vy-ink);
  letter-spacing: 0;
}
.vy-footer__col a {
  color: var(--vy-muted);
  text-decoration: none;
  transition: color var(--vy-fast) var(--vy-ease);
}
.vy-footer__col a:hover { color: var(--vy-primary); }

.vy-footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 24px;
  font-size: 0.8125rem;
  line-height: 1.5;
  text-align: center;
}
.vy-footer__legal { max-width: 576px; }
@media (min-width: 640px) {
  .vy-footer__bottom { flex-direction: row; text-align: left; }
}

/* ====================================================================
   READING PROGRESS BAR
   ==================================================================== */
.reading-progress {
  position: fixed;
  top: 0; left: 0;
  width: 0%;
  height: 2px;
  background: linear-gradient(to right, var(--vy-primary), var(--vy-saffron));
  z-index: 9999;
  transition: width 0.1s linear;
}

/* ====================================================================
   HERO BANNER (blog home) — warm cream, never red
   ==================================================================== */
.hero-banner {
  background-color: #F8F1E8 !important; /* --vy-paper-deep, explicit to override any WP default */
  background-image: none !important;
  border-bottom: 1px solid var(--vy-line);
  padding: 48px 24px;
}
@media (min-width: 768px) { .hero-banner { padding: 64px 32px; } }

.hero-banner__inner { max-width: var(--vy-container); margin: 0 auto; }
.hero-banner h1 { color: var(--vy-ink); max-width: 680px; margin-bottom: 1rem; }
.hero-banner h1 em { color: var(--vy-primary); font-style: italic; }
.hero-banner .lead { max-width: 600px; margin-bottom: 0; }

/* Topic pills */
.topic-filter {
  padding: 32px 24px;
  max-width: var(--vy-container);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
@media (min-width: 640px) { .topic-filter { padding: 32px 32px; } }
.topic-filter__label {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--vy-ink);
  white-space: nowrap;
}
.topic-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid var(--vy-line-strong);
  background: var(--vy-white);
  font: 600 0.9375rem/1 var(--vy-sans);
  color: var(--vy-ink);
  text-decoration: none;
  transition:
    border-color var(--vy-fast) var(--vy-ease),
    background   var(--vy-fast) var(--vy-ease);
}
.topic-pill .count { font-weight: 400; color: var(--vy-muted); }
.topic-pill:hover { border-color: var(--vy-ink); background: var(--vy-paper-deep); color: var(--vy-ink); }
.topic-pill.is-active { background: var(--vy-ink); border-color: var(--vy-ink); color: var(--vy-paper); }

/* ====================================================================
   POST CARDS  (§9)
   ==================================================================== */
.posts-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 768px)  { .posts-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .posts-grid { grid-template-columns: repeat(3, 1fr); } }

/* Each card is a single link wrapping the whole card */
.post-card {
  display: flex;
  flex-direction: column;
  background: var(--vy-white);
  border: 1px solid var(--vy-line);
  border-radius: var(--vy-radius-md);
  box-shadow: var(--vy-shadow-card);
  overflow: hidden;
  text-decoration: none;
  transition:
    border-color  200ms var(--vy-ease),
    box-shadow    200ms var(--vy-ease);
}
.post-card:hover {
  border-color: var(--vy-line-strong);
  box-shadow: var(--vy-shadow-card-hover);
  color: var(--vy-ink);
}

/* Image – 16:9 */
.post-card-thumb {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--vy-paper-deep);
  border-bottom: 1px solid var(--vy-line);
  flex-shrink: 0;
}
.post-card-thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
}
@media (prefers-reduced-motion: no-preference) {
  .post-card-thumb img { transition: transform 500ms var(--vy-ease); }
  .post-card:hover .post-card-thumb img { transform: scale(1.03); }
}
.post-card-thumb-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  background: var(--vy-paper-deep);
}
.post-card-thumb-placeholder svg { opacity: 0.18; }

/* Body */
.post-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 24px;
}
@media (min-width: 768px) { .post-card-body { padding: 28px; } }

/* Meta */
.post-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 0.9375rem;
  color: var(--vy-muted);
}
.post-card-meta .sep { color: var(--vy-line-strong); }
.post-card-category {
  font-weight: 600;
  color: var(--vy-saffron-dark);
  text-decoration: none;
}

/* Card title — sans, weight 600, NOT serif */
.post-card-title {
  font-family: var(--vy-sans);
  font-size: 1.1875rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--vy-ink);
  margin-bottom: 8px;
}

.post-card-excerpt {
  font-size: 1.0625rem;
  color: var(--vy-muted);
  line-height: 1.7;
  flex: 1;
  margin-bottom: 20px;
}

/* Read more arrow */
.post-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 0.9375rem/1.6 var(--vy-sans);
  color: var(--vy-primary);
  text-decoration: none;
  margin-top: auto;
}
.post-card-cta svg { flex-shrink: 0; }
@media (prefers-reduced-motion: no-preference) {
  .post-card-cta svg { transition: transform var(--vy-fast) var(--vy-ease); }
  .post-card:hover .post-card-cta svg { transform: translateX(2px); }
}

/* ====================================================================
   PAGINATION
   ==================================================================== */
.pagination-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 3.5rem;
}
.pagination-wrap .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px; height: 36px;
  padding: 0 8px;
  border-radius: var(--vy-radius-md);
  font: 500 0.9375rem/1 var(--vy-sans);
  border: 1px solid var(--vy-line);
  color: var(--vy-muted);
  background: var(--vy-white);
  transition:
    border-color var(--vy-fast) var(--vy-ease),
    background   var(--vy-fast) var(--vy-ease),
    color        var(--vy-fast) var(--vy-ease);
}
.pagination-wrap .page-numbers:hover {
  border-color: var(--vy-line-strong);
  background: var(--vy-sand);
  color: var(--vy-ink);
}
.pagination-wrap .page-numbers.current {
  background: var(--vy-ink);
  border-color: var(--vy-ink);
  color: var(--vy-white);
}
.pagination-wrap .prev,
.pagination-wrap .next { padding: 0 14px; }

/* ====================================================================
   BREADCRUMBS
   ==================================================================== */
.breadcrumbs {
  font-size: 0.8125rem;
  color: var(--vy-muted);
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.breadcrumbs a { color: var(--vy-muted); transition: color var(--vy-fast) var(--vy-ease); }
.breadcrumbs a:hover { color: var(--vy-ink); }
.breadcrumbs .current { color: var(--vy-ink); }
.breadcrumbs .sep { color: var(--vy-line-strong); padding: 0 2px; }

/* ====================================================================
   ARCHIVE HEADER
   ==================================================================== */
.archive-header {
  background: var(--vy-paper-deep);
  border-bottom: 1px solid var(--vy-line);
  padding: 48px 0;
  margin-bottom: 3rem;
}
@media (min-width: 768px) { .archive-header { padding: 64px 0; } }
.archive-header__inner { max-width: var(--vy-container); margin: 0 auto; }

.archive-badge {
  display: inline-block;
  background: var(--vy-sand);
  color: var(--vy-saffron-dark);
  padding: 0.2rem 0.75rem;
  border-radius: 999px;
  font: 600 0.8125rem/1.5 var(--vy-sans);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 10px;
}
.archive-header h1 { color: var(--vy-ink); margin-bottom: 0.375rem; }
.archive-header p  { font-size: 1.0625rem; color: var(--vy-muted); }

/* ====================================================================
   SINGLE POST — PAGE HERO  (§9)
   ==================================================================== */
.post-hero {
  background: var(--vy-paper-deep);
  border-bottom: 1px solid var(--vy-line);
  padding: 48px 24px;
}
@media (min-width: 768px) { .post-hero { padding: 64px 32px; } }
.post-hero__inner { max-width: var(--vy-container); margin: 0 auto; }

/* Two-column from 1024px */
@media (min-width: 1024px) {
  .post-hero__cols {
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    gap: 64px;
    align-items: center;
  }
}

.post-meta-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 0.9375rem;
  color: var(--vy-muted);
}
.post-meta-line .sep { color: var(--vy-line-strong); }
.post-meta-line .cat { font-weight: 600; color: var(--vy-saffron-dark); text-decoration: none; }

.post-hero h1 { color: var(--vy-ink); margin-bottom: 1rem; }

.post-hero-img {
  width: 100%;
  border-radius: var(--vy-radius-lg);
  border: 1px solid var(--vy-line);
  aspect-ratio: 16/10;
  object-fit: cover;
  margin-top: 2rem;
}
@media (min-width: 1024px) { .post-hero-img { aspect-ratio: 4/5; margin-top: 0; } }

/* SINGLE — Body layout (article + sidebar) */
.post-layout {
  max-width: var(--vy-container);
  margin: 0 auto;
  padding: 0 24px;
}
@media (min-width: 640px)  { .post-layout { padding: 0 32px; } }
@media (min-width: 1024px) {
  .post-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 64px;
    align-items: start;
  }
}

/* Article text */
.post-entry {
  max-width: 720px;
  padding-top: 3rem;
  font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem); /* lead size for article body */
  line-height: 1.6;
  color: rgba(43,23,32,0.85);
}
.post-entry > p:first-child { color: var(--vy-ink); }
.post-entry p { margin-bottom: 24px; }

.post-entry h2 {
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.75rem);
  color: var(--vy-ink);
  margin-top: 48px;
  margin-bottom: 16px;
  padding-top: 40px;
  border-top: 1px solid var(--vy-line);
}
/* First h2 after intro gets no rule */
.post-entry > h2:first-of-type { border-top: none; padding-top: 0; }

.post-entry h3 { color: var(--vy-ink); margin-top: 2rem; margin-bottom: 0.75rem; }

/* Warm bulleted list box */
.post-entry ul {
  list-style: none;
  padding: 20px 24px;
  background: var(--vy-paper-deep);
  border: 1px solid rgba(229,219,211,0.6);
  border-radius: var(--vy-radius-md);
  margin: 28px 0;
}
@media (min-width: 768px) { .post-entry ul { padding: 20px 28px; } }
.post-entry ul li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 6px 0;
}
.post-entry ul li::before {
  content: '';
  display: block;
  width: 18px; height: 18px;
  flex-shrink: 0;
  margin-top: 3px;
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239E4C00' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5 12.5 4.25 4.25L19.5 6.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.post-entry a { color: var(--vy-ink); text-decoration: underline; text-decoration-color: var(--vy-line-strong); text-underline-offset: 4px; }
.post-entry a:hover { color: var(--vy-primary); }
.post-entry img { border-radius: var(--vy-radius-lg); border: 1px solid var(--vy-line); margin: 2rem 0; }
.post-entry blockquote { border-left-color: var(--vy-line-strong); }

/* Tags */
.post-tags {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--vy-line);
  font-size: 0.9375rem;
}
.post-tags-label { font-size: 0.8125rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.07em; color: var(--vy-muted-light); }
.tag-link {
  display: inline-block;
  background: var(--vy-paper-deep);
  border: 1px solid var(--vy-line);
  color: var(--vy-muted);
  padding: 0.2rem 0.75rem;
  border-radius: 999px;
  font: 500 0.8125rem/1.5 var(--vy-sans);
  transition:
    background    var(--vy-fast) var(--vy-ease),
    border-color  var(--vy-fast) var(--vy-ease),
    color         var(--vy-fast) var(--vy-ease);
}
.tag-link:hover { background: var(--vy-sand); border-color: var(--vy-line-strong); color: var(--vy-ink); }

/* Author box */
.author-box {
  display: flex; gap: 1.25rem;
  background: var(--vy-paper-deep); border: 1px solid var(--vy-line);
  border-radius: var(--vy-radius-lg); padding: 1.5rem; margin-top: 3rem;
}
.author-avatar img { width: 64px; height: 64px; border-radius: 999px; object-fit: cover; flex-shrink: 0; }
.author-avatar-placeholder {
  width: 64px; height: 64px; border-radius: 999px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--vy-saffron-dark), var(--vy-primary));
  display: flex; align-items: center; justify-content: center;
  font: 600 1.5rem/1 var(--vy-serif); color: var(--vy-white);
  font-variation-settings: "SOFT" 0, "WONK" 0;
}
.author-info h4 { font-family: var(--vy-sans); font-size: 0.9375rem; font-weight: 600; color: var(--vy-ink); margin-bottom: 0.25rem; }
.author-info p  { font-size: 0.9375rem; color: var(--vy-muted); margin: 0; }

/* Post navigation */
.post-navigation {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
  margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--vy-line);
}
@media (max-width: 480px) { .post-navigation { grid-template-columns: 1fr; } }
.post-nav-item {
  display: block;
  background: var(--vy-white); border: 1px solid var(--vy-line);
  border-radius: var(--vy-radius-md); padding: 1.125rem 1.25rem;
  text-decoration: none;
  transition: border-color var(--vy-fast) var(--vy-ease), background var(--vy-fast) var(--vy-ease);
}
.post-nav-item:hover { border-color: var(--vy-line-strong); background: var(--vy-paper-deep); color: var(--vy-ink); }
.post-nav-label { font: 600 0.8125rem/1.5 var(--vy-sans); text-transform: uppercase; letter-spacing: 0.07em; color: var(--vy-muted-light); margin-bottom: 4px; }
.post-nav-title { font: 600 0.9375rem/1.4 var(--vy-sans); color: var(--vy-ink); }
.post-nav-item.next { text-align: right; }

/* Related posts */
.related-posts { margin-top: 4rem; }
.related-posts-heading {
  display: flex; align-items: center; justify-content: space-between;
  font-size: clamp(1.875rem, 1.5rem + 1.5vw, 2.75rem);
  font-variation-settings: "SOFT" 0, "WONK" 0;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--vy-line);
  margin-bottom: 1.5rem;
  color: var(--vy-ink);
}

/* Sidebar */
.post-sidebar { padding-top: 3rem; }
@media (min-width: 1024px) {
  .post-sidebar { position: sticky; top: 112px; }
}
.sidebar-widget {
  background: var(--vy-white); border: 1px solid var(--vy-line);
  border-radius: var(--vy-radius-lg); padding: 24px; margin-bottom: 24px;
}
.sidebar-widget:last-child { margin-bottom: 0; }
.widget-title {
  font: 600 0.9375rem/1.6 var(--vy-sans); color: var(--vy-ink);
  padding-bottom: 12px; border-bottom: 1px solid var(--vy-line); margin-bottom: 18px;
}

/* Sidebar search */
.sidebar-search { display: flex; gap: 8px; }
.sidebar-search input {
  flex: 1; padding: 0 14px; height: 44px;
  border: 1px solid var(--vy-line-strong); border-radius: var(--vy-radius-sm);
  font: 400 0.9375rem/1 var(--vy-sans); background: var(--vy-paper); color: var(--vy-ink);
  outline: none; transition: border-color var(--vy-fast) var(--vy-ease);
}
.sidebar-search input::placeholder { color: var(--vy-muted-light); }
.sidebar-search input:focus { border-color: var(--vy-ink); }
.sidebar-search button {
  display: grid; place-items: center; width: 44px; height: 44px;
  background: var(--vy-ink); color: var(--vy-white);
  border: none; border-radius: var(--vy-radius-sm); cursor: pointer;
  transition: opacity var(--vy-fast) var(--vy-ease);
}
.sidebar-search button:hover { opacity: 0.8; }

/* Sidebar categories */
.sidebar-categories { list-style: none; padding: 0; }
.sidebar-categories a {
  display: flex; align-items: center; justify-content: space-between;
  padding: 9px 0; border-bottom: 1px solid var(--vy-line);
  font-size: 0.9375rem; color: var(--vy-muted);
  transition: color var(--vy-fast) var(--vy-ease);
}
.sidebar-categories a:hover { color: var(--vy-ink); }
.sidebar-categories li:last-child a { border-bottom: none; }
.sidebar-categories .count {
  font-size: 0.8125rem; background: var(--vy-paper-deep);
  padding: 0.1rem 0.5rem; border-radius: 999px; color: var(--vy-muted-light);
}

/* Sidebar recent posts */
.sidebar-recent-post {
  display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--vy-line);
}
.sidebar-recent-post:first-child { padding-top: 0; }
.sidebar-recent-post:last-child  { border-bottom: none; padding-bottom: 0; }
.sidebar-recent-thumb {
  width: 60px; height: 60px; flex-shrink: 0;
  border-radius: var(--vy-radius-sm); overflow: hidden; border: 1px solid var(--vy-line);
}
.sidebar-recent-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sidebar-recent-thumb-placeholder { width: 100%; height: 100%; background: var(--vy-paper-deep); }
.sidebar-recent-title { font: 600 0.875rem/1.35 var(--vy-sans); color: var(--vy-ink); display: block; }
.sidebar-recent-title:hover { color: var(--vy-primary); }
.sidebar-recent-date  { font-size: 0.8125rem; color: var(--vy-muted-light); margin-top: 4px; }

/* ====================================================================
   CLOSING CTA BAND  (§9, bottom of every blog page)
   ==================================================================== */
.cta-band-wrap { padding: 64px 24px; }
@media (min-width: 768px) { .cta-band-wrap { padding: 80px 32px; } }
.cta-band {
  max-width: var(--vy-container); margin: 0 auto;
  background: var(--vy-night); border-radius: var(--vy-radius-lg);
  padding: 48px 32px; color: var(--vy-paper);
}
@media (min-width: 768px) {
  .cta-band { padding: 48px 56px; }
  .cta-band__inner { display: flex; align-items: center; justify-content: space-between; gap: 48px; }
}
.cta-band h2 {
  font-variation-settings: "SOFT" 0, "WONK" 0;
  color: var(--vy-paper); margin-bottom: 12px; font-size: clamp(1.875rem, 1.5rem + 1.5vw, 2.75rem);
}
.cta-band p { font-size: 1.0625rem; color: rgba(255,251,247,0.75); max-width: 576px; margin-bottom: 0; }
.cta-band__actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 24px; flex-shrink: 0; }
@media (min-width: 768px) { .cta-band__actions { margin-top: 0; } }
.cta-band .vy-btn--secondary {
  background: transparent; color: rgba(255,251,247,0.8); border: none;
  font: 600 0.9375rem/1.6 var(--vy-sans); padding: 0; min-height: auto;
  text-decoration: underline; text-decoration-color: rgba(255,251,247,0.3); text-underline-offset: 4px;
}
.cta-band .vy-btn--secondary:hover { color: var(--vy-white); background: transparent; }

/* ====================================================================
   404
   ==================================================================== */
.not-found-wrap { text-align: center; padding: 7rem 24px; }
.not-found-code {
  font-family: var(--vy-serif); font-variation-settings: "SOFT" 0, "WONK" 0;
  font-size: clamp(5rem, 15vw, 9rem); color: var(--vy-line); line-height: 1; font-weight: 400;
}
.not-found-wrap h2 { font-size: clamp(1.875rem, 1.5rem + 1.5vw, 2.75rem); color: var(--vy-ink); margin-bottom: 0.75rem; }
.not-found-wrap p  { color: var(--vy-muted); margin-bottom: 2rem; }

/* ====================================================================
   GUTENBERG BLOCK OVERRIDES
   ==================================================================== */
.entry-content .wp-block-button .wp-block-button__link {
  border-radius: var(--vy-radius-md) !important;
  background: var(--vy-primary) !important;
  font-family: var(--vy-sans) !important;
  font-weight: 600 !important;
}
.entry-content .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border-color: var(--vy-line-strong) !important;
  color: var(--vy-ink) !important;
}
.entry-content .wp-block-quote {
  border-left: 2px solid var(--vy-line-strong) !important;
  padding: 1rem 1.5rem !important;
  background: var(--vy-paper-deep) !important;
  border-radius: 0 var(--vy-radius-md) var(--vy-radius-md) 0 !important;
}
.entry-content .wp-block-separator { border-color: var(--vy-line) !important; }

/* ====================================================================
   UTILITY
   ==================================================================== */
.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ====================================================================
   VEDYUTI BLOG — REFERENCE REBUILD (chrome + landing)
   Overrides earlier chrome rules by source order. Values match Main.dc.html
   ==================================================================== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- HEADER ---- */
.vy-header{border-bottom:1px solid var(--vy-line);background:var(--vy-paper);position:sticky;top:0;z-index:50}
.vy-header__inner{max-width:var(--vy-container);margin:0 auto;padding:0 var(--vy-gutter);height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.vy-logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex:0 0 auto}
.vy-logo__word{font-size:28px;font-weight:700;letter-spacing:-0.5px;line-height:1}
.vy-logo__ved{color:var(--vy-primary)}
.vy-logo__yuti{color:var(--vy-saffron)}
.vy-nav{display:flex;align-items:center;gap:28px;font-size:15px}
.vy-nav__link{color:var(--vy-muted);text-decoration:none;font-weight:400}
.vy-nav__link:hover{color:var(--vy-primary)}
.vy-nav__link.is-current{color:var(--vy-ink);font-weight:700}
.vy-header__actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.vy-header__cta{font-size:15px}
.vy-menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--vy-line);background:#fff;border-radius:var(--vy-radius-md);align-items:center;justify-content:center;color:var(--vy-ink);cursor:pointer}
.vy-menu-toggle .vy-icon-close{display:none}
.vy-menu-toggle[aria-expanded="true"] .vy-icon-menu{display:none}
.vy-menu-toggle[aria-expanded="true"] .vy-icon-close{display:block}

/* ---- BUTTONS ---- */
.vy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:500;text-decoration:none;cursor:pointer;border:0;box-sizing:border-box;transition:background var(--vy-fast) var(--vy-ease),color var(--vy-fast) var(--vy-ease),border-color var(--vy-fast) var(--vy-ease)}
.vy-btn--primary{background:var(--vy-primary);color:#fff;padding:12px 20px;border-radius:var(--vy-radius-md);min-height:44px}
.vy-btn--primary:hover{background:var(--vy-primary-hover);color:#fff}

/* ---- MOBILE PANEL ---- */
.vy-mobile{position:absolute;left:0;right:0;top:76px;background:var(--vy-paper);border-bottom:1px solid var(--vy-line);box-shadow:var(--vy-shadow-popover);padding:16px var(--vy-gutter) 24px;z-index:60}
.vy-mobile__list{list-style:none;margin:0 0 16px;padding:0}
.vy-mobile__plain{display:block;padding:14px 4px;font-size:17px;font-weight:500;color:var(--vy-ink);text-decoration:none;border-bottom:1px solid var(--vy-line)}
.vy-mobile__plain.is-current{color:var(--vy-primary);font-weight:700}
.vy-mobile__cta{width:100%}

/* ---- HERO ---- */
.vy-hero{background:var(--vy-paper-deep);border-bottom:1px solid var(--vy-line)}
.vy-hero__inner{max-width:var(--vy-container);margin:0 auto;padding:36px var(--vy-gutter) 56px;display:flex;flex-wrap:wrap;gap:40px 56px;align-items:center}
.vy-hero__main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.vy-crumbs{font-size:14px;color:var(--vy-muted-light);margin-bottom:28px}
.vy-crumbs a{color:var(--vy-muted-light);text-decoration:none}
.vy-crumbs span[aria-hidden]{margin:0 8px}
.vy-crumbs span[aria-current]{color:var(--vy-ink)}
.vy-eyebrow{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--vy-saffron-dark)}
.vy-hero__title{margin:0;font-size:clamp(34px,4vw,52px);line-height:1.1;font-weight:700;letter-spacing:-1.2px;max-width:720px}
.vy-hero__lead{margin:16px 0 28px;font-size:19px;line-height:1.55;color:var(--vy-muted);max-width:620px}
.vy-search{display:flex;gap:8px;width:100%;max-width:620px;box-sizing:border-box;background:#fff;border:1px solid var(--vy-line-strong);border-radius:var(--vy-radius-lg);padding:6px 6px 6px 16px;align-items:center}
.vy-search input{flex:1 1 auto;min-width:0;border:0;outline:none;font:inherit;font-size:16px;color:var(--vy-ink);background:transparent;height:44px}
.vy-search button{background:var(--vy-ink);color:#fff;border:0;border-radius:var(--vy-radius-md);font:inherit;font-weight:500;font-size:15px;padding:0 20px;height:44px;cursor:pointer}
.vy-search button:hover{background:#000}
.vy-popular{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px;font-size:14px}
.vy-popular__label{color:var(--vy-muted-light);margin-right:4px}
.vy-popular a{text-decoration:none;color:var(--vy-muted);background:#fff;border:1px solid var(--vy-line-strong);border-radius:999px;padding:5px 14px}
.vy-popular a:hover{border-color:var(--vy-line-hover);color:var(--vy-primary)}
.vy-consult{flex:1 1 340px;min-width:0;max-width:380px;background:#fff;border:1px solid var(--vy-line);border-radius:var(--vy-radius-xl);padding:24px;box-shadow:0 18px 40px -24px rgba(31,26,23,.35)}
.vy-consult__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.vy-consult__avatars{display:flex}
.vy-consult__avatars span{width:40px;height:40px;border-radius:999px;border:2px solid #fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.vy-consult__avatars span+span{margin-left:-10px}
.vy-consult__badge{font-size:12px;font-weight:700;letter-spacing:.4px;color:var(--vy-saffron-dark);background:#FBEDE0;border-radius:999px;padding:5px 12px}
.vy-consult__title{margin:0;font-size:20px;line-height:1.3;letter-spacing:-0.3px}
.vy-consult__text{margin:6px 0 16px;font-size:14px;color:var(--vy-muted-light)}
.vy-consult__btn{display:flex;align-items:center;justify-content:center;height:48px;border-radius:12px;background:var(--vy-primary);color:#fff;text-decoration:none;font-weight:700;font-size:15px}
.vy-consult__btn:hover{background:var(--vy-primary-hover);color:#fff}
.vy-consult__meta{margin:10px 0 0;text-align:center;font-size:13px;color:var(--vy-muted-light)}
.vy-consult__meta a{color:var(--vy-ink);font-weight:500}

/* ---- SECTION PRIMITIVES ---- */
.vy-section{max-width:var(--vy-container);margin:0 auto;padding:56px var(--vy-gutter) 8px}
.vy-h2{margin:0;font-size:32px;line-height:1.2;letter-spacing:-0.5px}
.vy-h3{margin:0;font-size:24px;letter-spacing:-0.3px}
.vy-sub{margin:6px 0 0;color:var(--vy-muted-light)}
.vy-textlink{font-weight:500;text-decoration:none;color:var(--vy-primary)}

/* ---- EXPLORE DISCIPLINE GRID ---- */
.disc-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:24px}
.vy-disc{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;background:#fff;border:1px solid var(--vy-line);border-radius:var(--vy-radius-lg);text-decoration:none;color:inherit;transition:transform .15s,border-color var(--vy-fast)}
.vy-disc__icon{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}
.vy-disc__name{font-size:17px;font-weight:700;line-height:1.25}
.vy-disc__cta{font-size:13px;color:var(--vy-primary);font-weight:500}

/* ---- SHARED HOVER / TILE ---- */
.hov{transition:border-color var(--vy-fast) var(--vy-ease),transform .15s var(--vy-ease)}
.hov:hover .ttl{text-decoration:underline;text-underline-offset:3px}
.hov:hover{border-color:var(--vy-line-hover)}
.tile:hover{border-color:var(--vy-line-hover);transform:translateY(-2px)}

/* ---- CARDS (bento + post) ---- */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:24px}
.bento-lead{grid-column:span 2;grid-row:span 2}
.vy-card{display:flex;flex-direction:column;border:1px solid var(--vy-line);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;background:#fff;min-width:0}
.vy-card__cover{min-width:0}
.vy-card__cover img{width:100%;aspect-ratio:1200/630;object-fit:cover;display:block}
.vy-card__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1 1 auto;min-width:0}
.bento-lead .vy-card__body{padding:24px 28px 28px;gap:10px}
.vy-chip{align-self:flex-start;font-weight:500;font-size:12px;border-radius:999px;padding:3px 10px}
.vy-card__title{margin:0;font-size:17px;line-height:1.35}
.vy-card__title.is-lead{font-size:28px;line-height:1.2;letter-spacing:-0.5px}
.vy-card__excerpt{margin:0;font-size:16px;color:var(--vy-muted)}
.bento-lead .vy-card__excerpt{font-size:16px}
.vy-card__meta{margin:auto 0 0;font-size:13px;color:var(--vy-muted-light)}

/* ---- LATEST GUIDES ---- */
.vy-latest__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--vy-line)}
.vy-tabs{display:flex;flex-wrap:wrap;gap:8px}
.vy-tab{font:inherit;font-size:14px;font-weight:500;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--vy-line-strong);background:#fff;color:var(--vy-muted);cursor:pointer;transition:background var(--vy-fast),color var(--vy-fast),border-color var(--vy-fast)}
.vy-tab:hover{border-color:var(--vy-line-hover)}
.vy-tab.is-active{border-color:var(--vy-ink);background:var(--vy-ink);color:#fff}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.vy-posts{list-style:none;margin:28px 0 0;padding:0}
.vy-posts__item{display:flex;min-width:0}
.vy-card--row{width:100%}
.vy-card--row .vy-card__body{padding:20px 22px 22px;gap:0}
.vy-card__tags{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;margin-bottom:10px}
.vy-tag{background:var(--vy-sand);color:var(--vy-muted);font-weight:500;border-radius:6px;padding:3px 10px}
.vy-card--row .vy-card__title{font-size:20px;line-height:1.3;letter-spacing:-0.3px}
.vy-card--row .vy-card__excerpt{margin:8px 0 0;font-size:15px;line-height:1.55}
.vy-card__author{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:18px;font-size:13px}
.vy-avatar{flex:0 0 auto;width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
.vy-card__byline{line-height:1.4}
.vy-card__name{display:block;font-weight:700}
.vy-card__date{display:block;color:var(--vy-muted-light)}

/* ---- PAGINATION ---- */
.vy-pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:36px;font-size:15px}
.vy-pagination .page-numbers{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--vy-radius-md);color:var(--vy-ink);text-decoration:none;border:1px solid var(--vy-line);padding:0 10px}
.vy-pagination .page-numbers.current{background:var(--vy-ink);color:#fff;font-weight:700;border-color:var(--vy-ink)}
.vy-pagination .page-numbers.dots{border:0}
.vy-pagination a.page-numbers:hover{border-color:var(--vy-line-hover)}

/* ---- BANDS ---- */
.vy-band{background:var(--vy-paper-deep);border-top:1px solid var(--vy-line);border-bottom:1px solid var(--vy-line)}
.vy-band__inner{max-width:var(--vy-container);margin:0 auto;padding:64px var(--vy-gutter)}
.vy-band .vy-latest__head{border-bottom:0;padding-bottom:0;margin-bottom:24px}
.vy-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.vy-tool{display:block;background:#fff;border:1px solid var(--vy-line);border-radius:var(--vy-radius-lg);padding:24px;text-decoration:none;color:inherit}
.vy-tool__name{display:block;font-size:19px;font-weight:700}
.vy-tool__text{display:block;font-size:15px;color:var(--vy-muted-light);margin:6px 0 16px}
.vy-tool__cta{font-size:15px;font-weight:500;color:var(--vy-primary)}

/* ---- EXPERTS ---- */
.vy-experts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px}
.vy-expert{display:flex;gap:14px;align-items:center;border:1px solid var(--vy-line);border-radius:var(--vy-radius-lg);padding:20px;text-decoration:none;color:inherit;background:#fff}
.vy-expert__avatar{flex:0 0 auto;width:56px;height:56px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.vy-expert__meta{line-height:1.4;min-width:0}
.vy-expert__name{display:block;font-weight:700}
.vy-expert__role{display:block;font-size:14px;color:var(--vy-muted-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vy-expert__count{display:block;font-size:14px;color:var(--vy-muted-light)}

/* ---- CLOSER (newsletter + cta) ---- */
.vy-closer{max-width:var(--vy-container);margin:0 auto;padding:40px var(--vy-gutter) 72px}
.vy-closer__inner{display:flex;flex-wrap:wrap;gap:16px}
.vy-newsletter{flex:1 1 420px;min-width:0;border:1px solid var(--vy-line);border-radius:16px;padding:32px;background:#fff}
.vy-newsletter__form{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.vy-newsletter__form input{flex:1 1 220px;min-width:0;height:48px;box-sizing:border-box;border:1px solid var(--vy-line-strong);border-radius:var(--vy-radius-md);padding:0 14px;font:inherit;font-size:16px;color:var(--vy-ink);background:var(--vy-paper)}
.vy-newsletter__form button{height:48px;border:0;border-radius:var(--vy-radius-md);background:var(--vy-ink);color:#fff;font:inherit;font-weight:500;padding:0 22px;cursor:pointer}
.vy-newsletter__note{margin:12px 0 0;font-size:13px;color:var(--vy-muted-light)}
.vy-cta{flex:1 1 420px;min-width:0;border-radius:16px;padding:32px;background:var(--vy-primary);color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.vy-cta__text{margin:8px 0 0;color:#FBE9EC}
.vy-cta__btn{align-self:flex-start;background:#fff;color:var(--vy-primary);text-decoration:none;font-weight:700;padding:0 22px;height:48px;display:inline-flex;align-items:center;border-radius:var(--vy-radius-md)}
.vy-cta__btn:hover{background:#fff;color:var(--vy-primary-hover)}

/* ---- EMPTY ---- */
.vy-empty{text-align:center;padding:64px 0}
.vy-empty h3{margin:0 0 8px}
.vy-empty p{color:var(--vy-muted-light)}

/* ---- FOOTER (dark) ---- */
.vy-footer{background:var(--vy-night);color:#D9D1C9}
.vy-footer__inner{max-width:var(--vy-container);margin:0 auto;padding:56px var(--vy-gutter) 32px}
.vy-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px}
.vy-footer__word{font-size:24px;font-weight:700}
.vy-footer__ved{color:#F3A3B0}
.vy-footer__yuti{color:#F2A055}
.vy-footer__tagline{margin:10px 0 0;font-size:14px;max-width:240px;color:#D9D1C9}
.vy-footer__h{margin:0 0 6px;color:#fff;font-weight:700;font-size:14px}
.vy-footer__col{font-size:14px;line-height:2}
.vy-footer__col a{display:block;color:#D9D1C9;text-decoration:none}
.vy-footer__col a:hover{color:#fff}
.vy-footer__bottom{margin:40px 0 0;padding-top:20px;border-top:1px solid #3A332E;font-size:13px;color:#B5ABA2}
.vy-footer__bottom a{color:#B5ABA2}
.vy-footer__bottom a:hover{color:#fff}

/* ---- RESPONSIVE ---- */
@media (max-width:960px){
  .vy-nav{display:none}
  .vy-menu-toggle{display:inline-flex}
  .vy-header__cta{display:none}
  .disc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bento-lead{grid-row:span 1;grid-column:span 2}
  .post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .disc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bento{grid-template-columns:minmax(0,1fr)}
  .bento-lead{grid-column:span 1}
  .post-grid{grid-template-columns:minmax(0,1fr)}
  .vy-hero__title{font-size:34px}
}

/* ---- FILTER (JS) ---- */
.vy-posts__item.is-hidden{display:none}

@media (prefers-reduced-motion:reduce){
  .hov,.tile,.vy-btn,.vy-tab{transition:none}
}

/* ---- BRAND LOGO ---- */
.vy-logo{display:inline-flex;align-items:center;flex:0 0 auto;text-decoration:none}
.vy-logo .vy-logo__img{display:block;height:38px;width:auto;max-width:170px}
.vy-footer__logo-link{display:inline-block}
.vy-footer__logo{display:block;height:40px;width:auto}
@media (max-width:640px){.vy-logo .vy-logo__img{height:32px}}

/* ====================================================================
   SINGLE POST — reference rebuild (Post.dc.html)
   ==================================================================== */
.vy-article{min-width:0}

/* Header band */
.vy-post-head{background:var(--vy-paper-deep);border-bottom:1px solid var(--vy-line)}
.vy-post-head__inner{max-width:var(--vy-container);margin:0 auto;padding:28px var(--vy-gutter) 48px}
.vy-post-head__cols{display:flex;flex-wrap:wrap;gap:40px 56px;align-items:center}
.vy-post-head__main{flex:1 1 520px;min-width:0}
.vy-post-head__cover{flex:1 1 440px;min-width:0;max-width:560px}
.vy-post-head__cover img,.vy-post-head__cover>div{width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:16px;border:1px solid #F1DCC6;display:block}
.vy-post-head__tags{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;margin-bottom:16px}
.vy-chip--outline{background:#fff;color:var(--vy-muted);border:1px solid var(--vy-line-strong)}
.vy-post-title{margin:0;font-size:clamp(30px,4vw,44px);line-height:1.12;font-weight:700;letter-spacing:-1px}
.vy-post-dek{margin:16px 0 24px;font-size:19px;line-height:1.55;color:var(--vy-muted)}
.vy-post-byline{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
.vy-byline__who{display:flex;gap:12px;align-items:center}
.vy-avatar--lg{width:48px;height:48px;border:2px solid #fff;font-size:14px}
.vy-avatar--xl{width:72px;height:72px;font-size:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto}
.vy-byline__text{font-size:14px;line-height:1.45}
.vy-byline__label{display:block;color:var(--vy-muted-light)}
.vy-byline__name{display:block;font-weight:700;color:var(--vy-ink);text-decoration:none}
.vy-byline__role{display:block;color:var(--vy-muted-light)}
.vy-byline__meta{font-size:14px;line-height:1.45;color:var(--vy-muted-light)}
.vy-byline__meta span{display:block}

/* Layout */
.vy-post-layout{max-width:var(--vy-container);margin:0 auto;padding:48px var(--vy-gutter) 24px;display:grid;gap:48px 56px;align-items:start;grid-template-columns:200px minmax(0,1fr) 280px}
.vy-sticky{position:sticky;top:96px;align-self:start}

/* TOC */
.vy-toc{font-size:14px;min-width:0}
.vy-toc__h{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--vy-muted-light)}
.vy-toc__list{list-style:none;margin:0;padding:0;border-left:1px solid var(--vy-line);display:flex;flex-direction:column}
.vy-toc__list a{display:block;padding:7px 0 7px 15px;margin-left:-1px;color:var(--vy-muted-light);text-decoration:none;border-left:2px solid transparent}
.vy-toc__list a:hover{color:var(--vy-ink)}
.vy-toc__list a.is-active{border-left-color:var(--vy-primary);color:var(--vy-primary);font-weight:500}
.vy-share{margin-top:28px;padding-top:20px;border-top:1px solid var(--vy-line)}
.vy-share__btns{display:flex;flex-wrap:wrap;gap:8px}
.vy-share__btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--vy-line-strong);background:#fff;color:var(--vy-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--vy-fast),color var(--vy-fast)}
.vy-share__btn:hover{border-color:var(--vy-primary);color:var(--vy-primary)}

/* Mobile TOC */
.vy-toc-mobile{display:none;border:1px solid var(--vy-line);border-radius:12px;padding:14px 18px;margin-bottom:28px;background:#fff;font-size:15px}
.vy-toc-mobile summary{font-weight:700;cursor:pointer}
.vy-toc-mobile ol{margin:10px 0 0;padding-left:20px;line-height:2}

/* Prose */
.vy-prose{min-width:0;max-width:720px}
.vy-prose .entry-content{font-size:18px;line-height:1.75;color:#2E2723}
.vy-prose .entry-content p{margin:0 0 18px}
.vy-prose .entry-content h2{margin:40px 0 14px;font-size:28px;line-height:1.25;letter-spacing:-0.4px;color:var(--vy-ink);font-weight:700}
.vy-prose .entry-content h3{margin:28px 0 12px;font-size:21px;line-height:1.3;color:var(--vy-ink);font-weight:700}
.vy-prose .entry-content ul,.vy-prose .entry-content ol{margin:0 0 22px;padding-left:22px}
.vy-prose .entry-content li{margin-bottom:8px}
.vy-prose .entry-content a{color:var(--vy-primary);text-decoration:underline;text-underline-offset:2px}
.vy-prose .entry-content img{border-radius:12px;margin:8px 0 22px}
.vy-prose .entry-content blockquote{border-left:3px solid var(--vy-line-strong);margin:8px 0 24px;padding:4px 0 4px 20px;font-style:normal;color:var(--vy-ink);background:none;border-radius:0}
.vy-prose .entry-content table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5;margin:6px 0 22px;border:1px solid var(--vy-line);border-radius:12px;overflow:hidden}
.vy-prose .entry-content thead th{background:var(--vy-paper-deep);text-align:left;padding:12px 16px;font-weight:700}
.vy-prose .entry-content tbody td{padding:12px 16px;border-top:1px solid var(--vy-line)}
.vy-prose .entry-content .wp-block-table{margin:6px 0 22px}
.vy-prose .entry-content figure{margin:8px 0 24px}

/* Helpful */
.vy-helpful{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid var(--vy-line);border-bottom:1px solid var(--vy-line);margin:32px 0;font-size:15px}
.vy-helpful span:first-child{font-weight:500}
.vy-helpful__btns{display:flex;gap:8px}
.vy-helpful__btn{height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--vy-line-strong);background:#fff;font:inherit;font-size:15px;color:var(--vy-ink);cursor:pointer}
.vy-helpful__btn:hover{border-color:var(--vy-primary);color:var(--vy-primary)}
.vy-helpful__btn.is-picked{background:var(--vy-ink);color:#fff;border-color:var(--vy-ink)}

/* Author box */
.vy-authorbox{display:flex;flex-wrap:wrap;gap:20px;border:1px solid var(--vy-line);border-radius:16px;padding:24px;background:#fff;margin-bottom:24px;line-height:1.6}
.vy-authorbox__body{flex:1 1 280px;min-width:0}
.vy-eyebrow--muted{color:var(--vy-muted-light);letter-spacing:1.2px;font-size:12px}
.vy-authorbox__name{margin:2px 0;font-size:20px;color:var(--vy-ink)}
.vy-authorbox__role{margin:0 0 10px;font-size:15px;color:var(--vy-muted-light)}
.vy-authorbox__bio{margin:0 0 12px;font-size:16px;color:var(--vy-muted)}
.vy-authorbox__links{display:flex;flex-wrap:wrap;gap:16px;font-size:15px;font-weight:500}
.vy-authorbox__links a{text-decoration:none;color:var(--vy-primary)}
.vy-editorial{margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--vy-muted-light)}
.vy-editorial strong{color:var(--vy-muted)}
.vy-comments{margin-top:40px}

/* Right rail */
.vy-rail{min-width:0}
.vy-rail__card{background:#fff;border:1px solid var(--vy-line);border-radius:18px;padding:28px 24px;box-shadow:0 18px 40px -24px rgba(31,26,23,.35)}
.vy-consult__avatars--sm span{width:36px;height:36px;font-size:12px}
.vy-rail__title{margin:0;font-size:20px;font-weight:700;line-height:1.3}
.vy-rail__text{margin:8px 0 20px;font-size:15px;line-height:1.55;color:var(--vy-muted-light)}
.vy-rail__btn{display:flex;align-items:center;justify-content:center;height:52px;border-radius:12px;background:var(--vy-primary);color:#fff;text-decoration:none;font-weight:700;font-size:16px}
.vy-rail__btn:hover{background:var(--vy-primary-hover);color:#fff}
.vy-rail__meta{margin:12px 0 0;text-align:center;font-size:13px;color:var(--vy-muted-light)}
.vy-rail__meta a{color:var(--vy-ink);font-weight:500}

/* Related */
.vy-related-sec{max-width:var(--vy-container);margin:0 auto;padding:48px var(--vy-gutter) 72px}
.vy-related-sec__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px;padding-top:40px;border-top:1px solid var(--vy-line)}
.vy-related{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.vy-related .vy-card__body{padding:18px 20px 20px}
.vy-related .vy-card__title{font-size:18px}

@media (max-width:1120px){
  .vy-post-layout{grid-template-columns:minmax(0,1fr)}
  .vy-toc{display:none}
  .vy-toc-mobile:not([hidden]){display:block}
  .vy-sticky{position:static}
  .vy-prose{max-width:none}
}
@media (max-width:960px){
  .vy-related{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .vy-related{grid-template-columns:minmax(0,1fr)}
  .vy-post-title{font-size:30px}
}
