:root {
  --editorial-ink: #152c43;
  --editorial-green: #1f6249;
  --editorial-saffron: #bb581a;
  --editorial-paper: #fffdf7;
  --editorial-cream: #f7f0e2;
  --editorial-line: #ddd1bd;
}

body:has(.editorial-page) { background: var(--editorial-cream); color: var(--editorial-ink); }
body:has(.editorial-page) > nav {
  width: min(1320px, calc(100% - 32px));
  margin: 1rem auto 0;
  border: 1px solid var(--editorial-line);
  border-radius: 14px;
}

.editorial-page {
  width: min(1320px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(1rem, 3vw, 2.5rem) 0 4rem;
}

.editorial-page .page-banner {
  overflow: hidden;
  margin: 0 0 1.25rem;
  border: 1px solid var(--editorial-line);
  border-radius: 20px;
  background: #e9e0cf;
  box-shadow: 0 16px 44px rgba(16,44,60,.12);
}
.editorial-page .page-banner img { display: block; width: 100%; max-height: 420px; object-fit: cover; }

.editorial-page .hero {
  position: relative;
  margin: 0 0 1.25rem;
  padding: clamp(2rem, 5vw, 4.6rem);
  border: 1px solid var(--editorial-line);
  border-radius: 20px;
  background:
    radial-gradient(circle at 92% 8%, rgba(197,135,54,.18), transparent 30%),
    linear-gradient(125deg, #fffdf8, #f2eadb);
  box-shadow: 0 12px 30px rgba(16,44,60,.08);
}
.editorial-page .hero::after {
  position: absolute; right: 6%; bottom: 1.2rem; width: 96px; height: 96px;
  content: ""; border: 1px solid rgba(187,88,26,.38); border-radius: 50%;
  background: repeating-linear-gradient(45deg, transparent 0 7px, rgba(31,98,73,.08) 7px 8px);
}
.editorial-page .hero h1 {
  max-width: 900px; margin: .25rem 0 .9rem; color: var(--editorial-ink);
  font: 700 clamp(2.45rem, 5.8vw, 5.25rem)/.96 Georgia, serif; letter-spacing: -.045em;
}
.editorial-page .hero .lede { max-width: 780px; font-size: 1.12rem; line-height: 1.7; }
/* Separate decorative asset, layered behind working HTML rather than used as a page image. */
.editorial-page .hero.route-background-lok-sabha {
  background-color: #f8f1e5;
  background-image: linear-gradient(90deg, rgba(248, 241, 229, .97) 0%, rgba(248, 241, 229, .92) 48%, rgba(248, 241, 229, .68) 100%), url('../assets/backgrounds/lok-sabha-parliament-records-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-news-archives {
  background-color: #fbf6ec;
  background-image: linear-gradient(90deg, rgba(251, 246, 236, .97) 0%, rgba(251, 246, 236, .92) 52%, rgba(251, 246, 236, .66) 100%), url('../assets/backgrounds/news-archives-editorial-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-innovation {
  background-color: #f7f3e9;
  background-image: linear-gradient(90deg, rgba(247, 243, 233, .97) 0%, rgba(247, 243, 233, .91) 50%, rgba(247, 243, 233, .64) 100%), url('../assets/backgrounds/innovation-workshop-prototypes-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-heritage {
  background-color: #fbf4e8;
  background-image: linear-gradient(90deg, rgba(251, 244, 232, .98) 0%, rgba(251, 244, 232, .93) 50%, rgba(251, 244, 232, .67) 100%), url('../assets/backgrounds/heritage-archive-culture-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-nature {
  background-color: #f0f3e9;
  background-image: linear-gradient(90deg, rgba(240, 243, 233, .98) 0%, rgba(240, 243, 233, .92) 52%, rgba(240, 243, 233, .64) 100%), url('../assets/backgrounds/nature-field-notes-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-accountability {
  background-color: #f5f0e7;
  background-image: linear-gradient(90deg, rgba(245, 240, 231, .98) 0%, rgba(245, 240, 231, .91) 52%, rgba(245, 240, 231, .64) 100%), url('../assets/backgrounds/accountability-audit-records-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-engagement {
  background-color: #f5f1e9;
  background-image: linear-gradient(90deg, rgba(245, 241, 233, .98) 0%, rgba(245, 241, 233, .91) 52%, rgba(245, 241, 233, .64) 100%), url('../assets/backgrounds/engagement-community-workshop-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-ideas-lab {
  background-color: #f7f4ec;
  background-image: linear-gradient(90deg, rgba(247, 244, 236, .98) 0%, rgba(247, 244, 236, .91) 52%, rgba(247, 244, 236, .64) 100%), url('../assets/backgrounds/ideas-lab-proposal-studio-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-india-collections {
  background-color: #faf4e9;
  background-image: linear-gradient(90deg, rgba(250, 244, 233, .98) 0%, rgba(250, 244, 233, .91) 52%, rgba(250, 244, 233, .64) 100%), url('../assets/backgrounds/india-collections-archive-cards-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-party-directory {
  background-color: #f5f3ed;
  background-image: linear-gradient(90deg, rgba(245, 243, 237, .98) 0%, rgba(245, 243, 237, .91) 52%, rgba(245, 243, 237, .64) 100%), url('../assets/backgrounds/party-directory-neutral-records-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-political-parties {
  background-color: #f4f3ee;
  background-image: linear-gradient(90deg, rgba(244, 243, 238, .98) 0%, rgba(244, 243, 238, .91) 52%, rgba(244, 243, 238, .64) 100%), url('../assets/backgrounds/political-parties-civic-dialogue-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-protests {
  background-color: #f5f2ef;
  background-image: linear-gradient(90deg, rgba(245, 242, 239, .98) 0%, rgba(245, 242, 239, .91) 52%, rgba(245, 242, 239, .64) 100%), url('../assets/backgrounds/protests-movement-records-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-research-toolkit {
  background-color: #f5f3e9;
  background-image: linear-gradient(90deg, rgba(245, 243, 233, .98) 0%, rgba(245, 243, 233, .91) 52%, rgba(245, 243, 233, .64) 100%), url('../assets/backgrounds/research-toolkit-source-desk-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-state-watch {
  background-color: #f4f2f2;
  background-image: linear-gradient(90deg, rgba(244, 242, 242, .98) 0%, rgba(244, 242, 242, .91) 52%, rgba(244, 242, 242, .64) 100%), url('../assets/backgrounds/state-watch-data-cards-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-updates {
  background-color: #faf6ee;
  background-image: linear-gradient(90deg, rgba(250, 246, 238, .98) 0%, rgba(250, 246, 238, .91) 52%, rgba(250, 246, 238, .64) 100%), url('../assets/backgrounds/updates-document-timeline-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-about-founder {
  background-color: #f7f4ee;
  background-image: linear-gradient(90deg, rgba(247, 244, 238, .98) 0%, rgba(247, 244, 238, .91) 52%, rgba(247, 244, 238, .64) 100%), url('../assets/backgrounds/about-founder-editorial-notebook-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.utility-page .hero.route-background-community-guide {
  background-color: #f7f4ec;
  background-image: linear-gradient(90deg, rgba(247, 244, 236, .98) 0%, rgba(247, 244, 236, .93) 52%, rgba(247, 244, 236, .68) 100%), url('../assets/backgrounds/community-guide-source-workshop-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.utility-page .hero.route-background-methodology {
  background-color: #f8f2e7;
  background-image: linear-gradient(90deg, rgba(248, 242, 231, .98) 0%, rgba(248, 242, 231, .93) 52%, rgba(248, 242, 231, .67) 100%), url('../assets/backgrounds/methodology-evidence-workflow-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.utility-page .hero.route-background-trust {
  background-color: #f4f5ef;
  background-image: linear-gradient(90deg, rgba(244, 245, 239, .98) 0%, rgba(244, 245, 239, .90) 50%, rgba(244, 245, 239, .48) 100%), url('../assets/backgrounds/trust-open-records-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.utility-page .hero.route-background-founding-certificate {
  width: 100%;
  background-color: #fbf5e8;
  background-image: linear-gradient(90deg, rgba(251, 245, 232, .98) 0%, rgba(251, 245, 232, .90) 50%, rgba(251, 245, 232, .48) 100%), url('../assets/backgrounds/founding-certificate-beginning-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.utility-page .hero.route-background-privacy {
  background-color: #f6f3ef;
  background-image: linear-gradient(90deg, rgba(246, 243, 239, .98) 0%, rgba(246, 243, 239, .90) 50%, rgba(246, 243, 239, .46) 100%), url('../assets/backgrounds/privacy-data-minimisation-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.utility-page .hero.route-background-terms {
  background-color: #f7f3ec;
  background-image: linear-gradient(90deg, rgba(247, 243, 236, .98) 0%, rgba(247, 243, 236, .90) 50%, rgba(247, 243, 236, .46) 100%), url('../assets/backgrounds/terms-clear-boundaries-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.utility-page .hero.route-background-404 {
  background-color: #f5f4ed;
  background-image: linear-gradient(90deg, rgba(245, 244, 237, .98) 0%, rgba(245, 244, 237, .89) 50%, rgba(245, 244, 237, .44) 100%), url('../assets/backgrounds/404-misfiled-route-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.utility-page .hero.route-background-state-profiles-index {
  background-color: #f6f3e9;
  background-image: linear-gradient(90deg, rgba(246, 243, 233, .98) 0%, rgba(246, 243, 233, .89) 50%, rgba(246, 243, 233, .44) 100%), url('../assets/backgrounds/state-profiles-index-directory-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.editorial-page .hero.route-background-uttar-pradesh-heritage-nature {
  background-color: #f8f1e4;
  background-image: linear-gradient(90deg, rgba(248, 241, 228, .98) 0%, rgba(248, 241, 228, .89) 50%, rgba(248, 241, 228, .44) 100%), url('../assets/backgrounds/uttar-pradesh-heritage-nature-innovation-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
.utility-page .hero.route-background-state-publication-standard {
  background-color: #f7f4ec;
  background-image: linear-gradient(90deg, rgba(247, 244, 236, .98) 0%, rgba(247, 244, 236, .89) 50%, rgba(247, 244, 236, .44) 100%), url('../assets/backgrounds/state-publication-standard-v1.png');
  background-position: center, center;
  background-size: cover, cover;
}
@media print { .certificate-intro { display: none !important; } }
.editorial-page .eyebrow { color: var(--editorial-saffron); font-weight: 800; }
.editorial-page .founder-portrait, .utility-page .founder-portrait { margin: 1.25rem 0 0 auto; max-width: 280px; text-align: center; }
.editorial-page .founder-portrait img, .utility-page .founder-portrait img { display: block; width: 100%; max-height: 330px; object-fit: contain; }
.editorial-page .founder-portrait figcaption, .utility-page .founder-portrait figcaption { margin-top: .55rem; color: var(--editorial-ink); font-size: .82rem; font-weight: 600; line-height: 1.45; }
.editorial-page .founder-portrait figcaption q, .utility-page .founder-portrait figcaption q { display: block; font-family: Georgia, serif; font-style: italic; }
.editorial-page .founder-portrait figcaption span, .utility-page .founder-portrait figcaption span { display: block; margin-top: .25rem; color: var(--editorial-green); font-size: .76rem; font-style: normal; font-weight: 800; letter-spacing: .02em; }

.editorial-page .section,
.editorial-page .visual {
  display: block; max-width: none; margin: 1.25rem 0; padding: clamp(1.25rem, 3vw, 2.2rem);
  border: 1px solid var(--editorial-line); border-radius: 18px; background: var(--editorial-paper);
  box-shadow: 0 8px 24px rgba(16,44,60,.06);
}
.editorial-page .section > h2, .editorial-page .visual > h3 {
  margin: 0 0 1rem; color: var(--editorial-ink);
  font: 700 clamp(1.55rem, 3vw, 2.3rem)/1.15 Georgia, serif;
}
.editorial-page .grid { gap: 1rem; }
.editorial-page .card { height: 100%; margin: 0; border-color: var(--editorial-line); border-radius: 14px; background: #fffefa; }
.editorial-page .card h2, .editorial-page .card h3 { color: var(--editorial-green); }
.editorial-page .card-link { transition: transform .18s ease, box-shadow .18s ease; }
.editorial-page .card-link:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(16,44,60,.12); }
.editorial-page .table-wrap { overflow-x: auto; border: 1px solid var(--editorial-line); border-radius: 12px; }
.editorial-page th { background: #e6efe6; color: var(--editorial-ink); }
.editorial-page tr:hover td { background: #f8f3e9; }
.editorial-page a { color: var(--editorial-green); text-underline-offset: .16em; }
.editorial-page .notice { border-left: 4px solid var(--editorial-saffron); background: #fff7e9; }

/* Screenshot-approved page family: the supplied Archive, UPSC, Challenge and
   Progress references all use a flat editorial header and a two-column first
   viewport with Rahul acting as the guide on the right. */
body:has(.editorial-page) > nav {
  width: 100%;
  max-width: none;
  min-height: 76px;
  margin: 0;
  padding-inline: clamp(1rem, 4vw, 4.5rem);
  border: 0;
  border-bottom: 1px solid var(--editorial-line);
  border-radius: 0;
  background: rgba(255,253,248,.97);
  box-shadow: none;
}

.editorial-page {
  width: min(1440px, 100%);
  padding-top: 0;
}

.editorial-page .hero {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(280px, .72fr);
  grid-template-rows: auto auto auto auto 1fr;
  column-gap: clamp(2rem, 5vw, 5.5rem);
  align-items: start;
  min-height: 560px;
  margin: 0;
  padding: clamp(3rem, 6vw, 6.25rem) clamp(1.5rem, 5vw, 5.5rem) 2.4rem;
  border-width: 0 0 1px;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}

.editorial-page .hero > :not(.founder-portrait) { grid-column: 1; position: relative; z-index: 2; }
.editorial-page .hero h1 {
  max-width: 760px;
  font-size: clamp(3rem, 5.4vw, 5.75rem);
  line-height: .96;
}
.editorial-page .hero .lede { max-width: 680px; }
.editorial-page .hero .notice { max-width: 680px; }
.editorial-page .hero::after { display: none; }

.editorial-page .founder-portrait,
.utility-page .founder-portrait {
  grid-column: 2;
  grid-row: 1 / -1;
  align-self: end;
  justify-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  max-width: 390px;
  min-width: 0;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.editorial-page .founder-portrait img,
.utility-page .founder-portrait img {
  width: min(100%, 350px);
  max-height: 360px;
  margin: auto auto 0;
  object-position: center bottom;
  filter: drop-shadow(0 18px 20px rgba(20,40,55,.2));
}
.editorial-page .founder-portrait figcaption,
.utility-page .founder-portrait figcaption {
  margin: -.2rem 0 0;
  padding: .9rem 1.05rem;
  border: 1px solid rgba(21,44,67,.15);
  border-radius: 13px;
  background: rgba(255,253,247,.94);
  box-shadow: 0 10px 26px rgba(20,40,55,.12);
  text-align: left;
}
.editorial-page .founder-portrait figcaption span,
.utility-page .founder-portrait figcaption span {
  color: var(--editorial-saffron);
  text-transform: uppercase;
  letter-spacing: .06em;
}

@media (max-width: 860px) {
  .editorial-page .hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 2.2rem 1.25rem;
  }
  .editorial-page .hero > :not(.founder-portrait),
  .editorial-page .founder-portrait,
  .utility-page .founder-portrait { grid-column: 1; }
  .editorial-page .founder-portrait,
  .utility-page .founder-portrait { grid-row: auto; max-width: 330px; margin-top: 1.5rem; }
}

@media (max-width: 580px) {
  .editorial-page, body:has(.editorial-page) > nav { width: calc(100% - 20px); }
  .editorial-page .hero, .editorial-page .section, .editorial-page .visual { padding: 1.25rem; border-radius: 16px; }
  .editorial-page .hero::after { display: none; }
}
