/* UdhyogMantra — design system + layout
   Single stylesheet, no framework, no jQuery. ~14KB uncompressed. */

:root {
  --um-ink: #0f1b3d;
  --um-ink-soft: #46506e;
  --um-muted: #6b7490;
  --um-line: #e4e8f0;
  --um-bg: #ffffff;
  --um-surface: #f6f8fc;
  --um-brand: #14275c;
  --um-brand-600: #1d3a86;
  --um-accent: #f59014;
  --um-accent-soft: #fff3e2;
  --um-ring: #1d3a86;
  --um-radius: 14px;
  --um-radius-sm: 9px;
  --um-shadow: 0 1px 2px rgba(15, 27, 61, .06), 0 8px 24px -12px rgba(15, 27, 61, .18);
  --um-shadow-lg: 0 24px 60px -28px rgba(15, 27, 61, .38);
  --um-max: 1200px;
  --um-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --um-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

body {
  margin: 0;
  font-family: var(--um-font);
  font-size: 17px;
  line-height: 1.7;
  color: var(--um-ink-soft);
  background: var(--um-bg);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--um-font);
  color: var(--um-ink);
  line-height: 1.22;
  letter-spacing: -.018em;
  margin: 0 0 .5em;
  font-weight: 750;
  text-wrap: balance;
}
h1 { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.1rem); }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem); }
h3 { font-size: clamp(1.22rem, 1.1rem + .6vw, 1.5rem); }
p { margin: 0 0 1.15em; }

a { color: var(--um-brand-600); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--um-accent); }
:focus-visible { outline: 3px solid var(--um-ring); outline-offset: 2px; border-radius: 4px; }

img, video, iframe { max-width: 100%; height: auto; }
img { display: block; }

/* ---------- Layout ---------- */
.um-container { width: 100%; max-width: var(--um-max); margin-inline: auto; padding-inline: 20px; }
.um-shell { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; padding-block: 44px; }
.um-shell--full { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 991px) { .um-shell { grid-template-columns: minmax(0, 1fr); gap: 40px; } }

.um-skip {
  position: absolute; left: -9999px; top: 0; z-index: 999;
  background: var(--um-brand); color: #fff; padding: 12px 18px; border-radius: 0 0 var(--um-radius-sm) 0;
}
.um-skip:focus { left: 0; color: #fff; }

/* ---------- Header ---------- */
.um-header { position: sticky; top: 0; z-index: 60; background: rgba(255,255,255,.92); backdrop-filter: saturate(160%) blur(12px); border-bottom: 1px solid var(--um-line); }
.um-topbar { background: var(--um-brand); color: #cfd8ee; font-size: 13.5px; }
.um-topbar .um-container { display: flex; gap: 16px; align-items: center; justify-content: space-between; min-height: 40px; }
.um-topbar a { color: #fff; text-decoration: none; }
.um-topbar__tag { display: flex; align-items: center; gap: 8px; margin: 0; }
.um-topbar__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--um-accent); }
.um-topbar__social { display: flex; gap: 14px; }

.um-bar { display: flex; align-items: center; gap: 18px; min-height: 74px; }
.um-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; margin-right: auto; }
.um-brand img { max-height: 46px; width: auto; }
.um-brand__name { font-weight: 800; font-size: 1.36rem; color: var(--um-ink); letter-spacing: -.03em; }
.um-brand__name span { color: var(--um-accent); }
.um-brand__tagline { display: block; font-size: 12px; font-weight: 500; color: var(--um-muted); letter-spacing: .06em; text-transform: uppercase; }

.um-nav ul { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; }
.um-nav li { position: relative; }
.um-nav a { display: block; padding: 10px 13px; border-radius: 999px; font-size: 15px; font-weight: 600; color: var(--um-ink); text-decoration: none; transition: background .18s, color .18s; }
.um-nav a:hover, .um-nav .current-menu-item > a, .um-nav .current-menu-ancestor > a { background: var(--um-surface); color: var(--um-brand-600); }
.um-nav .sub-menu {
  position: absolute; left: 0; top: calc(100% + 8px); min-width: 224px; display: block;
  background: #fff; border: 1px solid var(--um-line); border-radius: var(--um-radius-sm);
  box-shadow: var(--um-shadow-lg); padding: 8px; flex-direction: column;
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s;
}
.um-nav li:hover > .sub-menu, .um-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.um-nav .sub-menu a { border-radius: 8px; }

.um-icon-btn {
  display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px;
  border: 1px solid var(--um-line); background: #fff; border-radius: 12px; color: var(--um-ink);
  cursor: pointer; transition: background .18s, border-color .18s;
}
.um-icon-btn:hover { background: var(--um-surface); border-color: #cfd6e6; }
.um-burger { display: none; }
@media (max-width: 991px) {
  .um-burger { display: inline-flex; }
  .um-nav { display: none; }
}

/* Mobile drawer */
.um-drawer { position: fixed; inset: 0; z-index: 90; display: none; }
.um-drawer[data-open="true"] { display: block; }
.um-drawer__scrim { position: absolute; inset: 0; background: rgba(15,27,61,.5); }
.um-drawer__panel { position: absolute; inset-block: 0; right: 0; width: min(360px, 88vw); background: #fff; padding: 22px; overflow-y: auto; box-shadow: var(--um-shadow-lg); }
.um-drawer__panel ul { list-style: none; margin: 0; padding: 0; }
.um-drawer__panel li { border-bottom: 1px solid var(--um-line); }
.um-drawer__panel a { display: block; padding: 13px 4px; font-weight: 600; color: var(--um-ink); text-decoration: none; }
.um-drawer__panel .sub-menu a { padding-left: 18px; font-weight: 500; font-size: 15px; color: var(--um-ink-soft); }

/* Search overlay */
.um-searchbox { display: none; border-top: 1px solid var(--um-line); background: var(--um-surface); }
.um-searchbox[data-open="true"] { display: block; }
.um-searchbox .um-container { padding-block: 16px; }

.um-search { display: flex; gap: 8px; }
.um-search input[type="search"] {
  flex: 1; min-width: 0; padding: 12px 16px; font: inherit; font-size: 16px;
  border: 1px solid var(--um-line); border-radius: 12px; background: #fff; color: var(--um-ink);
}
.um-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 20px; border-radius: 12px; border: 0; cursor: pointer;
  background: var(--um-brand); color: #fff; font: inherit; font-weight: 650; font-size: 15px;
  text-decoration: none; transition: transform .16s, background .18s, box-shadow .18s;
}
.um-btn:hover { background: var(--um-brand-600); color: #fff; transform: translateY(-1px); box-shadow: var(--um-shadow); }
.um-btn--accent { background: var(--um-accent); color: #21160a; }
.um-btn--accent:hover { background: #e07f06; color: #21160a; }
.um-btn--ghost { background: transparent; color: var(--um-ink); border: 1px solid var(--um-line); }

/* ---------- Cards & grids ---------- */
.um-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--um-accent); text-decoration: none; }
.um-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 22px; border-bottom: 2px solid var(--um-ink); padding-bottom: 12px; }
.um-section-head h2 { margin: 0; font-size: clamp(1.25rem, 1.1rem + .6vw, 1.6rem); }
.um-section-head a { font-size: 14px; font-weight: 650; text-decoration: none; white-space: nowrap; }

.um-grid { display: grid; gap: 28px; }
.um-grid--2 { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.um-grid--3 { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

.um-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--um-line); border-radius: var(--um-radius); overflow: hidden; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.um-card:hover { transform: translateY(-3px); box-shadow: var(--um-shadow); border-color: #d3dbea; }
.um-card__media { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--um-surface); overflow: hidden; }
.um-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.um-card:hover .um-card__media img { transform: scale(1.045); }
.um-card__body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.um-card__title { margin: 0; font-size: 1.13rem; line-height: 1.35; }
.um-card__title a { color: var(--um-ink); text-decoration: none; }
.um-card__title a:hover { color: var(--um-brand-600); }
.um-card__excerpt { margin: 0; font-size: 15px; color: var(--um-muted); }
.um-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 13.5px; color: var(--um-muted); margin-top: auto; }
.um-meta a { color: inherit; text-decoration: none; }
.um-meta a:hover { color: var(--um-brand-600); }
.um-chip { display: inline-block; align-self: flex-start; width: fit-content; max-width: 100%; padding: 4px 10px; border-radius: 999px; background: var(--um-accent-soft); color: #92560a; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.um-chip:hover { background: var(--um-accent); color: #21160a; }

/* Hero */
.um-hero { padding-block: 36px 8px; background: linear-gradient(180deg, var(--um-surface), #fff); border-bottom: 1px solid var(--um-line); }
.um-hero__grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 28px; }
@media (max-width: 860px) { .um-hero__grid { grid-template-columns: 1fr; } }
.um-hero__lead .um-card__media { aspect-ratio: 16 / 10; }
.um-hero__lead .um-card__title { font-size: clamp(1.4rem, 1.1rem + 1.4vw, 2.1rem); }
.um-hero__side { display: grid; gap: 18px; align-content: start; }
.um-hero__side .um-card { flex-direction: row; }
.um-hero__side .um-card__media { width: 130px; flex: none; aspect-ratio: 1 / 1; }
.um-hero__side .um-card__body { padding: 14px 16px; }
.um-hero__side .um-card__title { font-size: 1rem; }

.um-intro { padding-block: 30px 6px; }
.um-intro p { max-width: 68ch; font-size: 17.5px; }

/* ---------- Article ---------- */
.um-article__header { margin-bottom: 26px; }
.um-article__title { margin-bottom: 14px; }
.um-lede { font-size: 19px; color: var(--um-ink-soft); max-width: 70ch; }
.um-featured { margin: 0 0 30px; border-radius: var(--um-radius); overflow: hidden; border: 1px solid var(--um-line); }
.um-featured img { width: 100%; }
.um-featured figcaption { padding: 10px 14px; font-size: 13.5px; color: var(--um-muted); background: var(--um-surface); }

.um-prose { font-size: 17.5px; max-width: 74ch; }
.um-prose > * + * { margin-top: 1.1em; }
.um-prose h2 { margin-top: 1.9em; padding-top: .2em; }
.um-prose h3 { margin-top: 1.5em; }
.um-prose ul, .um-prose ol { padding-left: 1.35em; }
.um-prose li + li { margin-top: .4em; }
.um-prose blockquote { margin: 1.6em 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--um-accent); font-family: var(--um-serif); font-size: 1.15em; color: var(--um-ink); }
.um-prose img, .um-prose figure { border-radius: var(--um-radius-sm); }
.um-prose figcaption { font-size: 14px; color: var(--um-muted); margin-top: .5em; }
.um-prose table { width: 100%; border-collapse: collapse; font-size: 16px; display: block; overflow-x: auto; }
.um-prose th, .um-prose td { border: 1px solid var(--um-line); padding: 10px 12px; text-align: left; }
.um-prose th { background: var(--um-surface); color: var(--um-ink); }
.um-prose code { background: var(--um-surface); padding: 2px 6px; border-radius: 6px; font-size: .92em; }
.um-prose pre { background: var(--um-ink); color: #e7ecf8; padding: 18px; border-radius: var(--um-radius-sm); overflow-x: auto; }

.um-toc { background: var(--um-surface); border: 1px solid var(--um-line); border-radius: var(--um-radius); padding: 18px 22px; margin-bottom: 28px; }
.um-toc > strong { display: block; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--um-muted); margin-bottom: 8px; }
.um-toc ol { margin: 0; padding-left: 1.2em; font-size: 15.5px; }

.um-progress { position: fixed; inset-inline: 0; top: 0; height: 3px; background: var(--um-accent); width: 0; z-index: 100; transition: width .1s linear; }

.um-share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 34px 0; padding: 16px 0; border-block: 1px solid var(--um-line); }
.um-share span { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--um-muted); margin-right: 4px; }
.um-share a { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border: 1px solid var(--um-line); border-radius: 999px; font-size: 14px; font-weight: 600; text-decoration: none; color: var(--um-ink); }
.um-share a:hover { background: var(--um-surface); border-color: #cfd6e6; }

.um-authorbox { display: flex; gap: 18px; align-items: flex-start; background: var(--um-surface); border: 1px solid var(--um-line); border-radius: var(--um-radius); padding: 22px; margin: 30px 0; }
.um-authorbox img { border-radius: 50%; flex: none; }
.um-authorbox h3 { margin: 0 0 6px; font-size: 1.05rem; }
.um-authorbox p { margin: 0; font-size: 15px; }

.um-pager { display: flex; flex-wrap: wrap; gap: 16px; margin: 30px 0; }
.um-pager a { flex: 1 1 260px; border: 1px solid var(--um-line); border-radius: var(--um-radius); padding: 16px 18px; text-decoration: none; }
.um-pager a:hover { background: var(--um-surface); }
.um-pager small { display: block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--um-muted); margin-bottom: 4px; }
.um-pager strong { color: var(--um-ink); font-size: 15.5px; line-height: 1.4; }

/* Breadcrumbs */
.um-crumbs { font-size: 13.5px; color: var(--um-muted); padding-block: 14px; }
.um-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.um-crumbs li::after { content: "/"; margin-left: 8px; color: #b9c1d4; }
.um-crumbs li:last-child::after { content: ""; }
.um-crumbs a { color: var(--um-muted); text-decoration: none; }
.um-crumbs a:hover { color: var(--um-brand-600); }

/* ---------- Sidebar ---------- */
.um-sidebar { position: sticky; top: 100px; display: grid; gap: 26px; }
@media (max-width: 991px) { .um-sidebar { position: static; } }
.um-widget { border: 1px solid var(--um-line); border-radius: var(--um-radius); padding: 20px; background: #fff; }
.um-widget__title, .um-widget .widget-title, .um-widget h2 { font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--um-ink); margin: 0 0 14px; padding-bottom: 10px; border-bottom: 2px solid var(--um-accent); display: inline-block; }
.um-widget ul { list-style: none; margin: 0; padding: 0; font-size: 15.5px; }
.um-widget li { padding: 9px 0; border-bottom: 1px dashed var(--um-line); }
.um-widget li:last-child { border-bottom: 0; }
.um-widget a { text-decoration: none; color: var(--um-ink); }
.um-widget a:hover { color: var(--um-brand-600); }
.um-rank { display: grid; gap: 14px; }
.um-rank__item { display: flex; gap: 12px; align-items: flex-start; }
.um-rank__num { font-size: 20px; font-weight: 800; color: var(--um-accent); line-height: 1.2; min-width: 26px; }
.um-rank__item a { font-weight: 600; font-size: 15.5px; line-height: 1.4; }

.um-cta { background: var(--um-brand); color: #dbe3f5; border-radius: var(--um-radius); padding: 24px; }
.um-cta h2, .um-cta strong { color: #fff; }
.um-cta p { font-size: 15px; }
.um-cta input[type="email"] { width: 100%; padding: 12px 14px; border-radius: 10px; border: 0; font: inherit; margin-bottom: 10px; }

/* ---------- Footer ---------- */
.um-footer { margin-top: 60px; background: var(--um-ink); color: #aeb8d3; font-size: 15px; }
.um-footer a { color: #dfe5f4; text-decoration: none; }
.um-footer a:hover { color: var(--um-accent); }
.um-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 34px; padding-block: 52px; }
@media (max-width: 860px) { .um-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 520px) { .um-footer__grid { grid-template-columns: 1fr; } }
.um-footer h2, .um-footer .widget-title { color: #fff; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 14px; }
.um-footer ul { list-style: none; margin: 0; padding: 0; }
.um-footer li { padding: 6px 0; }
.um-footer__brand img { max-height: 44px; width: auto; margin-bottom: 14px; }
.um-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); padding-block: 20px; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; font-size: 14px; }

/* ---------- Pagination / misc ---------- */
.um-pagination { margin-top: 40px; }
.um-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; margin: 0 4px 8px 0; border: 1px solid var(--um-line); border-radius: 11px; text-decoration: none; color: var(--um-ink); font-weight: 600; }
.um-pagination .page-numbers:hover { background: var(--um-surface); }
.um-pagination .current { background: var(--um-brand); border-color: var(--um-brand); color: #fff; }

.um-archive-head { padding: 34px 0 6px; border-bottom: 1px solid var(--um-line); }
.um-archive-head p { max-width: 70ch; color: var(--um-muted); margin-bottom: 18px; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.alignwide { max-width: min(1080px, 100%); }
.alignfull { max-width: 100%; }
.aligncenter { margin-inline: auto; }
.wp-caption { max-width: 100%; }
.sticky .um-card { border-color: var(--um-accent); }

/* Comments */
.um-comments { margin-top: 46px; }
.um-comments ol { list-style: none; padding: 0; }
.um-comments .children { padding-left: 24px; }
.um-comments .comment-body { border: 1px solid var(--um-line); border-radius: var(--um-radius); padding: 18px; margin-bottom: 16px; }
.um-comments input[type="text"], .um-comments input[type="email"], .um-comments input[type="url"], .um-comments textarea {
  width: 100%; padding: 12px 14px; border: 1px solid var(--um-line); border-radius: 10px; font: inherit; margin-bottom: 12px; background: #fff;
}
.um-comments .submit { background: var(--um-brand); color: #fff; border: 0; border-radius: 12px; padding: 12px 22px; font: inherit; font-weight: 650; cursor: pointer; }

.um-404 { text-align: center; padding-block: 80px; }
.um-404 .um-search { max-width: 460px; margin-inline: auto; }

@media print {
  .um-header, .um-footer, .um-sidebar, .um-share, .um-progress { display: none !important; }
  body { font-size: 12pt; color: #000; }
}

@media (max-width: 720px) {
  .um-topbar__tag { display: none; }
  .um-topbar .um-container { justify-content: center; }
}


/* Contact form ---------------------------------------------------------- */
.um-contact-wrap{margin-top:2rem}
.um-form{background:var(--um-card,#fff);border:1px solid var(--um-border,#e5e7eb);border-radius:14px;padding:1.5rem;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.um-form p{margin:0 0 1rem}
.um-form__row{display:grid;gap:0 1rem;grid-template-columns:1fr}
@media(min-width:640px){.um-form__row{grid-template-columns:1fr 1fr}}
.um-form label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.35rem}
.um-form input[type=text],.um-form input[type=email],.um-form input[type=number],.um-form textarea{width:100%;border:1px solid var(--um-border,#e5e7eb);border-radius:10px;padding:.7rem .8rem;font:inherit;font-size:.95rem;background:#fff}
.um-form input:focus,.um-form textarea:focus{outline:none;border-color:var(--um-brand,#1e2a5a);box-shadow:0 0 0 3px rgba(30,42,90,.15)}
.um-form__captcha input{max-width:140px}
.um-form__hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.um-form__notice{border-radius:10px;padding:.75rem 1rem;font-size:.9rem;font-weight:600}
.um-form__notice--ok{background:#ecfdf5;color:#065f46}
.um-form__notice--err{background:#fef2f2;color:#991b1b}
.um-footer__cats ul{columns:2;column-gap:1.5rem}
