:root {
  --paper: #fffdf7;
  --ink: #18202f;
  --muted: #586174;
  --indigo: #24135f;
  --indigo-2: #3b2389;
  --crimson: #a70e35;
  --saffron: #ffb000;
  --slate: #dce2ea;
  --green: #087b55;
  --amber: #b86b00;
  --red: #b4233b;
  --shadow: 0 16px 42px rgb(36 19 95 / .12);
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    linear-gradient(90deg, rgb(36 19 95 / .025) 1px, transparent 1px) 0 0 / 34px 34px,
    linear-gradient(rgb(36 19 95 / .025) 1px, transparent 1px) 0 0 / 34px 34px,
    var(--paper);
  color: var(--ink);
  font-family: "Noto Sans Devanagari", "Nirmala UI", Inter, system-ui, sans-serif;
  line-height: 1.65;
  overflow-x: hidden;
}
a { color: var(--indigo-2); text-underline-offset: .18em; }
a:hover { color: var(--crimson); }
img, video, iframe, table { max-width: 100%; }
img { height: auto; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 4px solid var(--saffron); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 1000; left: 1rem; top: -5rem; background: var(--saffron); color: #111; padding: .75rem 1rem; font-weight: 800; }
.skip-link:focus { top: 1rem; }
.wrap { width: min(1180px, calc(100% - 2rem)); margin-inline: auto; }

.site-header { background: var(--indigo); color: white; border-bottom: 6px solid var(--saffron); }
.masthead { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(320px, 1.6fr) auto; align-items: center; gap: 1.2rem; padding: 1rem 0; }
.brand-lockup { display: flex; align-items: center; gap: .8rem; color: white; text-decoration: none; font-family: Georgia, "Noto Serif Devanagari", serif; font-weight: 800; font-size: 1.1rem; line-height: 1.15; }
.brand-lockup img { width: 44px; height: 44px; flex: 0 0 44px; }
.primary-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem .8rem; }
.primary-nav a { color: #fff; text-decoration: none; font-size: .89rem; padding: .35rem .1rem; border-bottom: 2px solid transparent; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { border-color: var(--saffron); }
.header-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .65rem; }
.lang-link { color: white; font-weight: 800; white-space: nowrap; }
.commercial-cta { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; padding: .7rem 1rem; border-radius: 999px; background: var(--saffron); color: #17120b; text-decoration: none; font-weight: 900; box-shadow: 0 7px 0 #a76500; transition: transform .15s, box-shadow .15s; }
.commercial-cta:hover { color: #17120b; transform: translateY(2px); box-shadow: 0 5px 0 #a76500; }

.hero { position: relative; isolation: isolate; background: var(--indigo); color: white; overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .35; background: radial-gradient(circle at 80% 20%, var(--crimson) 0 13%, transparent 13.4%), radial-gradient(circle at 87% 75%, var(--saffron) 0 8%, transparent 8.4%); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .65fr); gap: 3rem; align-items: center; padding: 4.5rem 0 4rem; }
.eyebrow { display: inline-block; margin: 0 0 1rem; color: var(--saffron); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; font-size: .82rem; }
h1, h2, h3 { font-family: Georgia, "Noto Serif Devanagari", "Nirmala UI", serif; line-height: 1.17; text-wrap: balance; }
h1 { margin: 0 0 1.2rem; font-size: clamp(2.3rem, 6.5vw, 5.1rem); letter-spacing: -.035em; }
.hero-copy { max-width: 67ch; font-size: clamp(1rem, 2vw, 1.22rem); color: #e9e6f5; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: .72rem 1rem; border-radius: 10px; background: var(--indigo); color: white; text-decoration: none; font-weight: 850; border: 2px solid var(--indigo); }
.button:hover { background: var(--crimson); color: white; border-color: var(--crimson); }
.button.saffron { background: var(--saffron); color: #18120b; border-color: var(--saffron); }
.button.ghost { background: transparent; border-color: currentColor; }
.hero-ledger { margin: 0; padding: 1.2rem; background: var(--paper); color: var(--ink); border-radius: 30px 8px 30px 8px; box-shadow: 18px 18px 0 var(--crimson); transform: rotate(1.5deg); }
.hero-ledger dt { color: var(--muted); font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.hero-ledger dd { margin: .15rem 0 1rem; font-size: 1.25rem; font-weight: 900; overflow-wrap: anywhere; }

.flag-sequence { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; }
.flag-sequence li { position: relative; padding: 1.25rem 1.4rem 2.2rem; color: white; font-weight: 800; min-height: 100px; }
.flag-sequence li::after { content: ""; position: absolute; left: 0; bottom: -24px; border-top: 24px solid currentColor; border-right: 70px solid transparent; }
.flag-sequence .green { background: var(--green); color: var(--green); }.flag-sequence .amber { background: var(--amber); color: var(--amber); }.flag-sequence .red { background: var(--red); color: var(--red); }
.flag-sequence span { position: relative; z-index: 1; color: white; display: block; }

.section { padding: 4.5rem 0; }
.section.tint { background: #f2f0fa; border-block: 1px solid #d9d2ef; }
.section-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; margin-bottom: 2rem; }
.section-heading h2 { margin: 0; color: var(--indigo); font-size: clamp(1.9rem, 4vw, 3.3rem); }
.section-heading p { max-width: 62ch; margin: .6rem 0 0; color: var(--muted); }
.publication-date { display: inline-block; border-top: 4px solid var(--crimson); padding-top: .45rem; font-weight: 900; white-space: nowrap; }

.folio-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.folio { position: relative; min-width: 0; background: white; border: 1px solid #dfe3ea; border-radius: 7px 23px 7px 23px; box-shadow: var(--shadow); overflow: hidden; }
.folio::before { content: ""; display: block; height: 7px; background: var(--signal-color, var(--amber)); }
.folio[data-signal="green"] { --signal-color: var(--green); }.folio[data-signal="amber"] { --signal-color: var(--amber); }.folio[data-signal="red"] { --signal-color: var(--red); }
.folio-link { display: grid; grid-template-rows: auto 1fr; height: 100%; color: inherit; text-decoration: none; padding: 1.2rem; }
.folio-link:hover { color: inherit; background: #faf9ff; }
.folio-head { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 1rem; align-items: center; }
.brand-logo-box { display: grid; place-items: center; width: 64px; height: 64px; background: #f3f4f6; border: 1px solid #e1e5ea; border-radius: 18px; padding: .55rem; }
.brand-logo-box img { width: 100%; height: 100%; object-fit: contain; }
.folio h3 { margin: 0; font-size: 1.35rem; color: var(--indigo); }
.domain { margin: .15rem 0 0; color: var(--muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .8rem; overflow-wrap: anywhere; }
.signal-chip { display: inline-flex; margin-top: 1rem; padding: .25rem .6rem; border: 1px solid currentColor; border-radius: 999px; font-weight: 900; font-size: .78rem; color: var(--signal-color); }
.folio p { color: #414b5d; }
.folio .open { margin-top: auto; color: var(--indigo-2); font-weight: 900; }

.ai-methodology { margin: 3rem 0 0; display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 1.2rem; padding: 1.5rem; border: 3px solid var(--indigo); border-radius: 26px 6px 26px 6px; background: var(--paper); }
.ai-mark { width: 70px; height: 70px; display: grid; place-items: center; border-radius: 50%; background: var(--saffron); color: var(--indigo); font-weight: 1000; font-size: 1.6rem; }
.ai-methodology h2, .ai-methodology h3 { margin: 0 0 .3rem; color: var(--indigo); }
.ai-methodology p { margin: 0; }

.page-banner { padding: 3.5rem 0 3rem; background: linear-gradient(115deg, var(--indigo), #4c2e99); color: white; border-bottom: 9px solid var(--saffron); }
.page-banner h1 { font-size: clamp(2.2rem, 5vw, 4.2rem); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1.2rem; color: #d8d1ee; font-size: .88rem; }
.breadcrumbs a { color: white; }
.prose-shell { width: min(860px, calc(100% - 2rem)); margin: 0 auto; padding: 3.5rem 0 5rem; }
.prose-shell h2 { margin-top: 2.6rem; color: var(--indigo); font-size: 2rem; }
.prose-shell h3 { margin-top: 2rem; color: var(--crimson); }
.note, .warning, .help-card { padding: 1.2rem; border-radius: 8px 22px 8px 22px; margin: 1.5rem 0; }
.note { background: #eeebfa; border-left: 7px solid var(--indigo); }.warning { background: #fff0dc; border-left: 7px solid var(--amber); }.help-card { background: #e8f7f1; border-left: 7px solid var(--green); }
.authority-links { display: grid; gap: .7rem; padding-left: 1.2rem; }
.authority-links a { overflow-wrap: anywhere; }

.ledger { width: 100%; border-collapse: collapse; background: white; }
.ledger th, .ledger td { padding: .8rem; border: 1px solid #ccd3dd; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.ledger th { background: var(--indigo); color: white; }
.table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; border: 1px solid #ccd3dd; }
.table-scroll .ledger { min-width: 680px; }

.directory-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; margin-bottom: 1.5rem; }
.field { display: grid; gap: .35rem; min-width: 0; }
.field label { font-weight: 850; color: var(--indigo); }
.field input, .field textarea, .field select { width: 100%; border: 2px solid #aeb7c5; border-radius: 9px; padding: .75rem; background: white; color: var(--ink); }
.field textarea { min-height: 160px; resize: vertical; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.contact-form .wide { grid-column: 1 / -1; }
.contact-form button { justify-self: start; border: 0; cursor: pointer; }

.dossier-shell { padding: 3rem 0 5rem; }
.dossier-article { width: min(1000px, calc(100% - 2rem)); margin-inline: auto; }
.dossier-titlebar { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 1.5rem; align-items: center; }
.dossier-titlebar .brand-logo-box { width: 110px; height: 110px; border-radius: 30px 8px 30px 8px; }
.dossier-titlebar h1 { color: var(--indigo); font-size: clamp(2.2rem, 5vw, 4.6rem); }
.verdict { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.2rem; align-items: center; margin: 2rem 0; padding: 1.2rem; border: 3px solid var(--signal-color); border-radius: 28px 7px 28px 7px; background: white; }
.verdict[data-signal="green"] { --signal-color: var(--green); }.verdict[data-signal="amber"] { --signal-color: var(--amber); }.verdict[data-signal="red"] { --signal-color: var(--red); }
.verdict-light { width: 60px; height: 60px; border-radius: 50%; background: var(--signal-color); box-shadow: inset 0 -8px 0 rgb(0 0 0 / .18); }
.verdict strong { display: block; color: var(--signal-color); font-size: 1.2rem; }
.fact-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 2rem 0; background: #cfd5df; border: 1px solid #cfd5df; }
.fact { min-width: 0; padding: 1rem; background: white; }
.fact span { display: block; color: var(--muted); font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.fact strong { display: block; margin-top: .25rem; overflow-wrap: anywhere; }
.evidence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin: 2rem 0; }
.evidence-card { min-width: 0; margin: 0; padding: .8rem; background: #f1f3f6; border: 1px solid #ccd3dd; border-radius: 9px 22px 9px 22px; }
.evidence-card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: top; border-radius: 6px 16px 6px 16px; background: white; }
.evidence-card figcaption { margin-top: .75rem; color: #424c5c; font-size: .88rem; overflow-wrap: anywhere; }
.source-meta { display: block; color: var(--muted); font-family: ui-monospace, monospace; font-size: .72rem; overflow-wrap: anywhere; }
.journey-cta { margin: 2.5rem 0; padding: 1.4rem; background: var(--indigo); color: white; border-radius: 8px 26px 8px 26px; }
.journey-cta h2 { margin-top: 0; color: white; }

.sitemap-columns { columns: 3 260px; column-gap: 2rem; }
.sitemap-columns section { break-inside: avoid; margin-bottom: 2rem; }
.sitemap-columns ul { padding-left: 1.2rem; }

.site-footer { background: #151028; color: #dcd8eb; padding: 3rem 0; border-top: 8px solid var(--crimson); }
.footer-grid { display: grid; grid-template-columns: 1.2fr 2fr; gap: 2rem; }
.footer-grid h2 { margin-top: 0; color: white; }
.footer-links { display: flex; flex-wrap: wrap; align-content: start; gap: .6rem 1.2rem; }
.footer-links a { color: white; }
.fineprint { margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid #49415f; font-size: .85rem; }

@media (max-width: 920px) {
  .masthead { grid-template-columns: 1fr auto; }
  .primary-nav { grid-column: 1 / -1; justify-content: flex-start; border-top: 1px solid #5d5086; padding-top: .8rem; }
  .hero-grid, .footer-grid { grid-template-columns: 1fr; }
  .hero-ledger { max-width: 520px; transform: none; }
  .folio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .wrap { width: min(100% - 1.2rem, 1180px); }
  .masthead { grid-template-columns: 1fr; align-items: start; }
  .header-actions { justify-content: flex-start; }
  .primary-nav { grid-column: auto; }
  .primary-nav a { flex: 1 1 44%; padding: .45rem 0; }
  .hero-grid { padding: 3rem 0; gap: 2rem; }
  .hero-ledger { box-shadow: 8px 8px 0 var(--crimson); }
  .flag-sequence { grid-template-columns: 1fr; }
  .flag-sequence li::after { display: none; }
  .section { padding: 3.2rem 0; }
  .section-heading, .directory-tools { grid-template-columns: 1fr; }
  .folio-grid, .evidence-grid, .fact-strip, .contact-form { grid-template-columns: 1fr; }
  .contact-form .wide { grid-column: auto; }
  .ai-methodology { grid-template-columns: 1fr; }
  .dossier-titlebar { grid-template-columns: 78px minmax(0, 1fr); gap: 1rem; }
  .dossier-titlebar .brand-logo-box { width: 78px; height: 78px; border-radius: 20px 6px 20px 6px; }
  .verdict { grid-template-columns: 44px minmax(0, 1fr); }
  .verdict-light { width: 44px; height: 44px; }
  .table-scroll .ledger { min-width: 560px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Generated dossier table containment */
.dossier{min-width:0}.dossier table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
