/* CHT Atlas shared design system */
:root {
  --ink: #17332e;
  --ink-deep: #0d2824;
  --forest: #123e36;
  --forest-2: #1f5a4f;
  --lake: #176b79;
  --lake-soft: #dcebed;
  --clay: #a64f39;
  --clay-soft: #f0ddd5;
  --turmeric: #d4aa4f;
  --moss: #718c6a;
  --mist: #e7efeb;
  --paper: #f7f3e9;
  --paper-deep: #eee7d8;
  --white: #fffdf8;
  --charcoal: #202726;
  --muted: #66736f;
  --line: #c8cec7;
  --line-dark: rgba(255,255,255,.2);
  --supported: #2f7d58;
  --disputed: #b06a22;
  --gap: #6f6688;
  --danger: #9d3f3c;
  --shadow-sm: 0 8px 22px rgba(18, 62, 54, .08);
  --shadow-md: 0 24px 58px rgba(12, 39, 34, .14);
  --radius-sm: .55rem;
  --radius: 1rem;
  --radius-lg: 1.6rem;
  --radius-xl: 2.4rem;
  --serif: Georgia, "Times New Roman", "Noto Serif Bengali", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Bengali", "Nirmala UI", sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --step--1: clamp(.79rem, .76rem + .12vw, .88rem);
  --step-0: clamp(.96rem, .91rem + .22vw, 1.08rem);
  --step-1: clamp(1.12rem, 1.02rem + .42vw, 1.34rem);
  --step-2: clamp(1.35rem, 1.18rem + .7vw, 1.72rem);
  --step-3: clamp(1.7rem, 1.4rem + 1.18vw, 2.35rem);
  --step-4: clamp(2.15rem, 1.62rem + 2.05vw, 3.45rem);
  --step-5: clamp(2.8rem, 1.85rem + 3.7vw, 5.4rem);
  --space-1: .35rem;
  --space-2: .65rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2.25rem;
  --space-6: 3.25rem;
  --space-7: 4.75rem;
  --space-8: 7rem;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body {
  margin: 0;
  min-width: 0;
  background: var(--paper);
  color: var(--charcoal);
  font-family: var(--sans);
  font-size: var(--step-0);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
main, section, article, aside, header, footer, nav, div, figure, form, fieldset { min-width: 0; }
img, svg, video, canvas { display: block; max-width: 100%; }
img { height: auto; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--lake); text-underline-offset: .18em; text-decoration-thickness: .08em; }
a:hover { color: var(--clay); }
button { color: inherit; }
h1, h2, h3, h4, p, ul, ol, dl, blockquote, figure { margin-top: 0; }
h1, h2, h3, h4 { color: var(--ink); font-family: var(--serif); font-weight: 500; line-height: 1.08; letter-spacing: -.028em; text-wrap: balance; }
h1 { font-size: var(--step-5); }
h2 { font-size: var(--step-4); }
h3 { font-size: var(--step-2); }
h4 { font-size: var(--step-1); }
p, li, dd { max-width: 72ch; }
::selection { background: var(--turmeric); color: var(--ink-deep); }
:focus-visible { outline: 3px solid var(--turmeric); outline-offset: 3px; }
[hidden] { display: none !important; }

.wrap { width: min(1180px, calc(100% - clamp(2rem, 6vw, 6rem))); margin-inline: auto; }
.wrap--wide { width: min(1380px, calc(100% - clamp(2rem, 5vw, 5rem))); margin-inline: auto; }
.narrow, .prose { width: min(760px, 100%); }
.prose > * + * { margin-top: 1.15em; }
.prose h2, .prose h3 { margin-top: 1.6em; }
.prose li + li { margin-top: .5rem; }

.sr-only,
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.skip-link { position: fixed; z-index: 1000; top: .75rem; left: .75rem; transform: translateY(-180%); padding: .7rem 1rem; border-radius: var(--radius-sm); background: var(--white); color: var(--ink-deep); font-weight: 750; box-shadow: var(--shadow-md); }
.skip-link:focus { transform: translateY(0); }

.site-notice { background: var(--ink-deep); color: #f9f5e9; font-size: var(--step--1); }
.site-notice__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding-block: .55rem; }
.site-notice a { color: #f5d889; font-weight: 700; white-space: nowrap; }
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(247, 243, 233, .98); border-bottom: 1px solid rgba(23, 51, 46, .14); }
.site-header__inner { min-height: 76px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: clamp(1rem, 2vw, 2rem); }
.brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--ink); text-decoration: none; flex: none; }
.brand:hover { color: var(--forest-2); }
.brand__mark { width: 42px; height: 42px; }
.brand__text { display: grid; line-height: 1; }
.brand__text strong { font-family: var(--serif); font-size: 1.22rem; letter-spacing: -.02em; }
.brand__text small { margin-top: .3rem; color: var(--muted); font-size: .66rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; justify-content: center; gap: clamp(.45rem, 1.2vw, 1.2rem); }
.primary-nav a { position: relative; color: var(--ink); font-size: clamp(.72rem, .68rem + .12vw, .84rem); font-weight: 720; line-height: 1.25; text-align: center; text-decoration: none; }
.primary-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.48rem; height: 2px; background: var(--clay); transition: right .2s ease; }
.primary-nav a:hover::after, .primary-nav a[aria-current="page"]::after { right: 0; }
.primary-nav a[aria-current="page"] { color: var(--clay); }
.site-tools { display: flex; align-items: center; gap: .25rem; }
.tool-button, .nav-toggle, .icon-button, .link-button { border: 0; background: transparent; cursor: pointer; }
.tool-button { display: inline-flex; align-items: center; gap: .3rem; min-height: 44px; padding: .45rem .5rem; border-radius: 999px; color: var(--ink); font-size: .75rem; font-weight: 750; }
.tool-button:hover { background: var(--mist); }
.nav-toggle { display: none; align-items: center; gap: .55rem; min-height: 44px; padding: .4rem .65rem; border-radius: var(--radius-sm); font-weight: 750; }
.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after { display: block; width: 20px; height: 2px; background: currentColor; transition: transform .2s ease; }
.nav-toggle__bars { position: relative; }
.nav-toggle__bars::before, .nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
.nav-toggle__bars::before { top: -6px; }
.nav-toggle__bars::after { top: 6px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before { top: 0; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after { top: 0; transform: rotate(-45deg); }

.section { position: relative; padding-block: clamp(4.3rem, 8vw, 7.5rem); }
.section--compact { padding-block: clamp(2.6rem, 5vw, 4.2rem); }
.section--paper { background: var(--paper); }
.section--white { background: var(--white); }
.section--mist { background: var(--mist); }
.section--sand { background: var(--paper-deep); }
.section--sage { background: #dce6dc; }
.section--clay { background: var(--clay-soft); }
.section--ink { background: var(--ink-deep); color: #eef4ee; }
.section--ink h2, .section--ink h3, .section--ink h4, .section--ink a { color: #fffaf0; }
.section--ink a:hover { color: #f2cf78; }
.section--lake { background: #dcecee; }
.section-heading { margin-bottom: clamp(2rem, 4vw, 3.6rem); }
.section-heading h2 { margin-bottom: .75rem; }
.section-heading > p { color: var(--muted); }
.section-heading--split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .65fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.section-heading--split > p { margin-bottom: .4rem; }
.eyebrow, .kicker, .overline { display: flex; flex-wrap: wrap; gap: .55rem 1rem; align-items: center; margin-bottom: .8rem; color: var(--clay); font-size: var(--step--1); font-weight: 800; letter-spacing: .105em; line-height: 1.35; text-transform: uppercase; }
.section--ink .eyebrow, .page-hero .eyebrow { color: #f3cf78; }
.page-hero--light .eyebrow { color: var(--clay); }
.lede, .page-hero__lede { font-family: var(--serif); font-size: var(--step-2); line-height: 1.45; letter-spacing: -.012em; }
.microcopy, .source-line, .caption, figcaption { color: var(--muted); font-size: var(--step--1); line-height: 1.5; }
.section--ink .microcopy, .section--ink figcaption { color: #bdcec8; }

.page-hero { position: relative; overflow: hidden; padding-block: clamp(4.4rem, 8vw, 8rem); background: var(--forest); color: #f8f6ee; }
.page-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 88% 12%, rgba(213,175,87,.14), transparent 30%), linear-gradient(120deg, rgba(255,255,255,.025), transparent 50%); }
.page-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); gap: clamp(2.4rem, 7vw, 7rem); align-items: center; }
.page-hero__content, .page-hero__media { min-width: 0; }
.page-hero h1 { max-width: 12ch; margin-bottom: 1.25rem; color: #fffaf0; }
.page-hero p { max-width: 58ch; }
.page-hero a { color: #f7dc98; }
.page-hero .microcopy { color: #d2dfda; }
.page-hero--light .microcopy { color: #485650; }
.page-hero__media { margin: 0; }
.page-hero__media figcaption { margin-top: .75rem; color: #c8d7d2; }
.page-hero--compact { padding-block: clamp(3.2rem, 6vw, 5.5rem); }
.page-hero--compact h1 { font-size: var(--step-4); }
.page-hero--light { background: var(--mist); color: var(--charcoal); }
.page-hero--light h1 { color: var(--ink); }
.page-hero--light a { color: var(--lake); }
.page-hero--dark { background: var(--ink-deep); color: #f8f6ee; }
.page-hero--split .page-hero__grid { grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); }
.page-hero--image { background: #143f37; }
.page-hero--article h1 { max-width: 14ch; }
.route-hero--text { grid-template-columns: minmax(0, 760px); }
.route-hero--text h1 { max-width: 16ch; }
.contour-band { position: absolute; left: 0; right: 0; bottom: -1px; height: 34px; opacity: .23; background: radial-gradient(80% 50px at 20% 0, transparent 28px, #f7f3e9 29px, #f7f3e9 31px, transparent 32px), radial-gradient(75% 55px at 72% 5px, transparent 32px, #f7f3e9 33px, #f7f3e9 35px, transparent 36px); }

.button-row { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: 1.5rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .72rem 1.05rem; border: 1px solid var(--forest); border-radius: 999px; background: var(--forest); color: #fff !important; font-size: .88rem; font-weight: 780; line-height: 1.2; text-decoration: none; cursor: pointer; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.button:hover { transform: translateY(-2px); background: var(--forest-2); box-shadow: var(--shadow-sm); }
.button--primary { border-color: var(--forest); background: var(--forest); color: #fff !important; }
.button--primary:hover { background: var(--forest-2); }
.button--light { border-color: #fff7e5; background: #fff7e5; color: var(--ink-deep) !important; }
.button--outline { border-color: var(--forest); background: transparent; color: var(--forest) !important; }
.button--outline:hover { background: var(--forest); color: #fff !important; }
.button--secondary { border-color: var(--forest); background: transparent; color: var(--forest) !important; }
.button--secondary:hover { background: var(--forest); color: #fff !important; }
.button--ghost-light { border-color: rgba(255,255,255,.45); background: transparent; color: #fff !important; }
.button--ghost-light:hover { background: rgba(255,255,255,.12); }
.button--small { min-height: 38px; padding: .52rem .85rem; font-size: .8rem; }
.button--danger { border-color: var(--danger); background: var(--danger); }
.button.secondary { border-color: var(--forest); background: transparent; color: var(--forest) !important; }
.button.secondary:hover { background: var(--forest); color: #fff !important; }
.text-link { display: inline-flex; gap: .4rem; align-items: center; font-weight: 780; text-decoration: none; }
.link-button { padding: 0; color: currentColor; text-decoration: underline; text-underline-offset: .2em; }
.link-button:hover { color: var(--turmeric); }
.icon-button { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--mist); font-size: 1.6rem; }

.image-frame { position: relative; overflow: hidden; min-height: 220px; border-radius: var(--radius-lg); background: var(--ink-deep); box-shadow: var(--shadow-md); }
.image-frame img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.image-frame--hero { aspect-ratio: 1.22 / 1; transform: rotate(.7deg); }
.image-frame--wide { aspect-ratio: 16 / 9; }
.image-frame--portrait { aspect-ratio: 4 / 5; }
.image-frame--landscape { aspect-ratio: 3 / 2; }
.image-frame--contained img { object-fit: contain; }
.image-label { position: absolute; right: .7rem; bottom: .7rem; max-width: calc(100% - 1.4rem); padding: .35rem .55rem; border-radius: .35rem; background: rgba(13,40,36,.88); color: #fff; font-size: .68rem; font-weight: 720; letter-spacing: .02em; }
.media-caption { margin-top: .65rem; }

.split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.split--reverse > :first-child { order: 2; }
.split--reverse > :last-child { order: 1; }
.split--start { align-items: start; }
.editorial-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .62fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.editorial-grid--reverse { grid-template-columns: minmax(260px, .62fr) minmax(0, 1.25fr); }
.editorial-grid--balanced { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.card-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card-grid--feature { grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, .75fr)); }
.stack { display: grid; gap: var(--space-4); }
.cluster { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }

.topic-card, .feature-card, .content-card, .evidence-card, .number-card, .dataset-card, .claim-card, .position-panel, .correction-card, .profile-card, .place-card, .project-card, .verification-card, .incident-card {
  position: relative;
  min-width: 0;
  padding: clamp(1.2rem, 2vw, 1.65rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,253,248,.82);
}
.topic-card:hover, .profile-card:hover, .place-card:hover, .project-card:hover, .dataset-card:hover { border-color: var(--forest-2); box-shadow: var(--shadow-sm); }
.topic-card h3, .feature-card h3, .content-card h3, .evidence-card h3, .number-card h3, .dataset-card h3, .claim-card h3, .profile-card h3, .place-card h3, .project-card h3 { margin-bottom: .55rem; font-size: var(--step-1); }
.topic-card p:last-child, .feature-card p:last-child, .content-card p:last-child, .evidence-card p:last-child, .number-card p:last-child, .dataset-card p:last-child { margin-bottom: 0; }
.section--ink .content-card { border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.075); color: #e4ece8; }
.section--ink .content-card p { color: #d3dfda; }
.section--ink .content-card:hover { border-color: rgba(243,207,120,.72); background: rgba(255,255,255,.11); }
.card-link { position: absolute; inset: 0; border-radius: inherit; }
.card-link:focus-visible { outline-offset: 4px; }
.evidence-card--status { display: grid; grid-template-columns: auto 1fr; gap: 1rem; }
.evidence-card--highlight { border-left: 5px solid var(--turmeric); }
.evidence-card--dark { border-color: var(--line-dark); background: rgba(255,255,255,.05); color: #e6efec; }
.evidence-card--dark h3 { color: #fff; }
.feature-card--tinted { background: var(--mist); }
.feature-card--clay { background: var(--clay-soft); }
.feature-card--lake { background: var(--lake-soft); }
.feature-card--sage { background: #e1e9df; }
.feature-card--wide { grid-column: span 2; }

.status-dot { width: .72rem; height: .72rem; margin-top: .32rem; border-radius: 50%; background: var(--muted); box-shadow: 0 0 0 4px rgba(102,115,111,.13); }
.status-dot--supported { background: var(--supported); box-shadow: 0 0 0 4px rgba(47,125,88,.13); }
.status-dot--disputed { background: var(--disputed); box-shadow: 0 0 0 4px rgba(176,106,34,.13); }
.status-dot--gap { background: var(--gap); box-shadow: 0 0 0 4px rgba(111,102,136,.13); }
.status-dot--warning { background: var(--danger); box-shadow: 0 0 0 4px rgba(157,63,60,.13); }
.status, .tag, .badge, .source-chip { display: inline-flex; align-items: center; gap: .35rem; min-height: 27px; padding: .25rem .55rem; border-radius: 999px; border: 1px solid var(--line); background: var(--white); color: var(--ink); font-size: .72rem; font-weight: 760; line-height: 1; text-decoration: none; }
.status--supported { border-color: #8bb59d; background: #e2efe7; color: #225d42; }
.status--disputed { border-color: #d1a36f; background: #f5e8d7; color: #744213; }
.status--unresolved { border-color: #a99fbc; background: #ece9f1; color: #514963; }
.status--caution { border-color: #d19a98; background: #f5e1df; color: #772f2d; }
.status--current { border-color: #7eaeb3; background: #dcecee; color: #155b65; }
.source-chip:hover { border-color: var(--lake); background: var(--lake-soft); color: var(--ink); }
.meta-row { display: flex; flex-wrap: wrap; gap: .55rem 1.2rem; align-items: center; color: var(--muted); font-size: var(--step--1); }
.meta-row strong { color: var(--ink); }

.caveat, .callout, .notice, .content-warning, .method-note, .evidence-gap { padding: 1.15rem 1.25rem; border-left: 4px solid var(--turmeric); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: #f6edcf; color: var(--ink-deep); }
.caveat > :last-child, .callout > :last-child, .notice > :last-child, .content-warning > :last-child, .method-note > :last-child, .evidence-gap > :last-child { margin-bottom: 0; }
.caveat h3, .callout h3, .notice h3, .content-warning h3, .method-note h3, .evidence-gap h3 { margin-bottom: .4rem; font-size: 1rem; font-family: var(--sans); font-weight: 800; letter-spacing: 0; }
.caveat--danger, .content-warning { border-left-color: var(--danger); background: #f5e2df; }
.caveat--info, .method-note { border-left-color: var(--lake); background: var(--lake-soft); }
.caveat--gap, .evidence-gap { border-left-color: var(--gap); background: #ece9f1; }
.caveat--dark { border-left-color: #f0ce79; background: rgba(255,255,255,.08); color: #fff; }

.hero-facts, .stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0 1rem; }
.hero-facts div, .stat-card { min-width: 0; padding: 1rem 0; border-top: 1px solid rgba(255,255,255,.32); }
.hero-facts dt, .stat-card__label { color: #bcd0ca; font-size: .7rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.hero-facts dd { margin: .25rem 0 0; color: #fff; font-family: var(--serif); font-size: var(--step-3); line-height: 1; }
.stat-grid { margin: 0; }
.stat-card { padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.stat-card__label { color: var(--muted); }
.stat-card__value, .number-card__value { display: block; margin: .5rem 0; color: var(--ink); font-family: var(--serif); font-size: var(--step-3); line-height: 1; }
.number-card__unit { font-size: .48em; }
.stat-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.timeline { position: relative; display: grid; gap: 0; list-style: none; margin: 0; padding: 0; }
.timeline::before { content: ""; position: absolute; top: .8rem; bottom: .8rem; left: 7.2rem; width: 1px; background: var(--line); }
.timeline-item { position: relative; display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: 2.3rem; padding: 0 0 2.25rem; }
.timeline-item::before { content: ""; position: absolute; top: .62rem; left: calc(7.2rem - 5px); width: 11px; height: 11px; border: 2px solid var(--paper); border-radius: 50%; background: var(--clay); box-shadow: 0 0 0 1px var(--clay); }
.timeline-item__date, .timeline-date { color: var(--clay); font-family: var(--mono); font-size: .82rem; font-weight: 760; }
.timeline-item__content, .timeline-content { padding-bottom: .2rem; }
.timeline-item h3 { margin-bottom: .45rem; }
.timeline--compact .timeline-item { padding-bottom: 1.35rem; }
.timeline--dark::before { background: rgba(255,255,255,.25); }
.timeline--dark .timeline-item::before { border-color: var(--ink-deep); background: var(--turmeric); box-shadow: 0 0 0 1px var(--turmeric); }
.timeline--dark .timeline-item__date { color: #f2cf78; }

.filters, .filter-bar { display: flex; flex-wrap: wrap; gap: .7rem; align-items: end; margin-bottom: 1.5rem; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.filter-group { display: grid; gap: .32rem; min-width: min(180px, 100%); }
.filter-group label, .form-field label { color: var(--ink); font-size: .78rem; font-weight: 780; }
.filter-group select, .filter-group input, .form-field input, .form-field select, .form-field textarea, input[type="search"] { width: 100%; min-height: 46px; padding: .68rem .75rem; border: 1px solid #9daaa5; border-radius: var(--radius-sm); background: var(--white); color: var(--charcoal); }
.filter-group input:focus, .filter-group select:focus, .form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--lake); box-shadow: 0 0 0 3px rgba(23,107,121,.13); outline: 0; }
.filter-chip { min-height: 40px; padding: .5rem .8rem; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--ink); font-weight: 720; cursor: pointer; }
.filter-chip[aria-pressed="true"], .filter-chip.is-active { border-color: var(--forest); background: var(--forest); color: #fff; }
.result-summary { margin-bottom: 1rem; color: var(--muted); font-size: .86rem; }
.empty-state { padding: 2rem; border: 1px dashed var(--line); border-radius: var(--radius); background: var(--white); text-align: center; }

.table-scroll { width: 100%; max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); -webkit-overflow-scrolling: touch; }
.data-table, table { width: 100%; border-collapse: collapse; color: var(--charcoal); font-size: .9rem; }
.data-table caption, table caption { padding: .9rem 1rem; color: var(--ink); font-weight: 780; text-align: left; }
th, td { padding: .85rem 1rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { background: var(--mist); color: var(--ink); font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: rgba(231,239,235,.5); }
.data-table--compact th, .data-table--compact td { padding: .6rem .75rem; }

.process, .process-steps { counter-reset: step; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.process > li, .process-step, .process-steps > li { counter-increment: step; position: relative; padding: 1.2rem; border-top: 3px solid var(--forest); background: var(--white); box-shadow: var(--shadow-sm); }
.process > li::before, .process-step::before, .process-steps > li::before { content: counter(step, decimal-leading-zero); display: block; margin-bottom: .9rem; color: var(--clay); font-family: var(--mono); font-size: .78rem; font-weight: 800; }
.process > li h3, .process-step h3, .process-steps > li h3 { font-size: 1.15rem; }
.relationship-diagram, .system-diagram, .flow-diagram { display: grid; gap: 1rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); }
.diagram-node { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--paper); }
.diagram-node--accent { border-color: var(--lake); background: var(--lake-soft); }
.diagram-node--clay { border-color: var(--clay); background: var(--clay-soft); }
.diagram-arrow { display: grid; place-items: center; color: var(--muted); font-size: 1.3rem; }

.chart { display: grid; gap: .8rem; min-height: 280px; padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.bar-chart { display: grid; gap: .75rem; }
.bar-row { display: grid; grid-template-columns: minmax(100px, .34fr) minmax(0, 1fr) auto; gap: .75rem; align-items: center; }
.bar-track { height: 1rem; overflow: hidden; border-radius: 999px; background: var(--mist); }
.bar-fill { height: 100%; width: var(--value, 50%); border-radius: inherit; background: var(--lake); }
.bar-fill--clay { background: var(--clay); }
.bar-fill--moss { background: var(--moss); }
.uncertainty-mark { position: relative; height: 1.5rem; }
.uncertainty-mark::before { content: ""; position: absolute; top: 50%; left: var(--from, 20%); right: calc(100% - var(--to, 80%)); height: 2px; background: var(--ink); }

.map-shell, .locator-map, .schematic-map { position: relative; min-height: 380px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #dfeae2; color: var(--forest); }
.map-shell svg, .locator-map svg, .schematic-map svg { width: 100%; height: 100%; min-height: inherit; }
.map-region { fill: #93ad8e; stroke: #f7f3e9; stroke-width: 5; }
.map-region--khagrachhari { fill: #7f9e79; }
.map-region--rangamati { fill: #5e8d80; }
.map-region--bandarban { fill: #b58b62; }
.map-label { fill: var(--ink-deep); font: 700 17px var(--sans); }
.map-label circle { fill: var(--turmeric); stroke: var(--ink-deep); stroke-width: 2; }
.map-note { position: absolute; left: .8rem; bottom: .8rem; padding: .3rem .55rem; border-radius: .35rem; background: rgba(255,253,248,.92); color: var(--ink); font-size: .7rem; font-weight: 760; }
.map-list-pair, .locator-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.district-list { display: grid; gap: 0; }
.district-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1rem; align-items: start; padding: 1.25rem 0; border-top: 1px solid var(--line); }
.district-row:first-child { border-top: 0; }
.district-row h3 { margin-bottom: .35rem; }
.district-row h3 a { color: var(--ink); text-decoration: none; }
.district-row p { margin-bottom: 0; color: var(--muted); font-size: .9rem; }
.district-row__number { color: var(--clay); font-family: var(--mono); font-size: .82rem; font-weight: 800; }

.home-hero { padding-bottom: clamp(5.4rem, 9vw, 8.5rem); }
.home-hero .page-hero__content { padding-block: 1rem; }
.journeys-section { padding-top: clamp(4rem, 8vw, 7rem); }
.journeys-intro { margin-bottom: 3rem; }
.journeys-photo { max-height: 310px; }
.journey-index { border-top: 1px solid var(--line-dark); }
.journey-link { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1.25rem .25rem; border-bottom: 1px solid var(--line-dark); color: #fff; text-decoration: none; }
.journey-link > span { color: #e8c569; font-family: var(--mono); font-size: .75rem; }
.journey-link h3 { margin-bottom: .25rem; font-size: clamp(1.1rem, 1rem + .5vw, 1.45rem); transition: transform .2s ease; }
.journey-link p { margin-bottom: 0; color: #b9cbc5; font-size: .87rem; }
.journey-link b { color: #e8c569; font-size: 1.2rem; transition: transform .2s ease; }
.journey-link:hover h3 { transform: translateX(.25rem); }
.journey-link:hover b { transform: translate(.2rem,-.2rem); }
.trust-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(320px, 1.15fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: start; }
.trust-statement { position: sticky; top: 110px; }
.trust-ledger { display: grid; gap: .9rem; }
.review-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--line); }
.review-strip > div { padding: 1rem; background: var(--white); }
.review-strip span, .review-strip strong { display: block; }
.review-strip span { color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.review-strip strong { margin-top: .35rem; color: var(--ink); font-size: .85rem; }

.pullquote, blockquote { margin-inline: 0; padding: 1.2rem 0 1.2rem 1.4rem; border-left: 4px solid var(--turmeric); color: var(--ink); font-family: var(--serif); font-size: var(--step-2); line-height: 1.45; }
.pullquote cite, blockquote cite { display: block; margin-top: .8rem; color: var(--muted); font-family: var(--sans); font-size: .75rem; font-style: normal; }
.annotation { position: relative; padding-left: 1.3rem; border-left: 1px solid var(--line); color: var(--muted); font-size: .88rem; }
.definition-list { display: grid; gap: 0; }
.definition-list > div { display: grid; grid-template-columns: minmax(120px, .35fr) minmax(0, 1fr); gap: 1.25rem; padding-block: 1rem; border-top: 1px solid var(--line); }
.definition-list dt { color: var(--ink); font-weight: 800; }
.definition-list dd { margin: 0; }
.page-hero .definition-list > div, main[class$="-page"] [class$="__hero"] .definition-list > div { border-color: rgba(255,255,255,.28); }
.page-hero .definition-list dt, .page-hero .definition-list dd, main[class$="-page"] [class$="__hero"] .definition-list dt, main[class$="-page"] [class$="__hero"] .definition-list dd { color: inherit; }
.status-badge { display: inline-flex; align-items: center; min-height: 1.8rem; padding: .22rem .58rem; border: 1px solid currentColor; border-radius: 999px; font-size: .72rem; font-weight: 800; line-height: 1.25; }
.status-badge--review { background: #fff3cf; color: #624800; }
.dimensions, .positions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 1rem; margin-block: 1.5rem; }
.dimensions > article, .positions > article { min-width: 0; padding: 1.1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); color: var(--charcoal); }
.dimensions > article h3, .positions > article h3 { color: var(--ink); }
.relationship-list { display: grid; gap: .55rem; margin: 1rem 0; padding: 0; list-style: none; }
.relationship-list li { display: flex; justify-content: space-between; gap: 1rem; min-width: 0; padding: .75rem 0; border-top: 1px solid var(--line); }
.relationship-list li a { min-width: 0; overflow-wrap: anywhere; font-weight: 750; }
.relationship-list li span { flex: 0 0 auto; color: var(--muted); font-family: var(--mono); font-size: .72rem; }
.tag-list { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1rem 0; padding: 0; list-style: none; }
.tag-list li { padding: .35rem .55rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); }
.tag-list code { overflow-wrap: anywhere; }

.tabs [role="tablist"] { display: flex; flex-wrap: wrap; gap: .4rem; border-bottom: 1px solid var(--line); }
.tabs [role="tab"] { min-height: 44px; padding: .6rem .8rem; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--ink); font-weight: 750; cursor: pointer; }
.tabs [role="tab"][aria-selected="true"] { border-bottom-color: var(--clay); color: var(--clay); }
.tabs [role="tabpanel"] { padding-block: 1.5rem; }
details { border-top: 1px solid var(--line); }
details:last-child { border-bottom: 1px solid var(--line); }
summary { padding: 1rem 0; color: var(--ink); font-weight: 780; cursor: pointer; }
details > :not(summary) { margin-inline: 0; }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.form-field { display: grid; gap: .35rem; }
.form-field--full { grid-column: 1 / -1; }
.form-field textarea { min-height: 140px; resize: vertical; }
.field-hint { margin: 0; color: var(--muted); font-size: .76rem; }
.field-error { color: var(--danger); font-size: .76rem; font-weight: 700; }
input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"] { border-color: var(--danger); }
.form-status { margin-top: 1rem; padding: 1rem; border-radius: var(--radius-sm); background: var(--mist); }
.form-status--success { background: #e2efe7; color: #225d42; }
.form-status--error { background: #f5e1df; color: #772f2d; }

.site-footer { padding-top: clamp(3.5rem, 7vw, 6rem); background: var(--ink-deep); color: #bcd0ca; }
.site-footer a { color: #eef4ee; }
.site-footer h2 { margin-bottom: 1rem; color: #f8f1df; font-family: var(--sans); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li + li { margin-top: .55rem; }
.site-footer__grid { display: grid; grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(140px, .6fr)); gap: clamp(2rem, 5vw, 5rem); }
.site-footer__brand p { max-width: 38ch; margin-top: 1rem; }
.brand--footer { color: #fff; }
.brand--footer .brand__text small { color: #a8c0b8; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-block: 1.1rem; border-top: 1px solid rgba(255,255,255,.15); font-size: .76rem; }
.site-footer__bottom p { margin: 0; }

.search-dialog { width: min(760px, calc(100% - 1.5rem)); max-height: min(84vh, 720px); padding: 0; border: 0; border-radius: var(--radius-lg); background: var(--white); color: var(--charcoal); box-shadow: 0 35px 100px rgba(0,0,0,.32); }
.search-dialog::backdrop { background: rgba(4,20,18,.7); }
.search-dialog__panel { padding: clamp(1.4rem, 4vw, 2.5rem); }
.search-dialog__shell { min-width: 0; padding: clamp(1.4rem, 4vw, 2.5rem); }
.search-dialog__head { display: flex; justify-content: space-between; gap: 1.5rem; align-items: start; }
.search-dialog__head h2 { font-size: var(--step-3); }
.search-field { display: block; margin-top: 1rem; }
.search-field input { width: 100%; min-width: 0; min-height: 52px; padding: .75rem .9rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); color: var(--charcoal); }
.search-dialog__header { display: flex; justify-content: space-between; gap: 1.5rem; align-items: start; }
.search-dialog__header h2 { font-size: var(--step-3); }
.search-dialog input[type="search"] { font-size: 1.05rem; }
.search-hint { color: var(--muted); font-size: .78rem; }
.search-results { display: grid; gap: .5rem; margin-top: 1rem; }
.search-result { display: grid; gap: .2rem; padding: .85rem; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--charcoal); text-decoration: none; }
.search-result:hover { border-color: var(--lake); background: var(--lake-soft); color: var(--charcoal); }
.search-result strong { color: var(--ink); }
.search-result span { color: var(--muted); font-size: .78rem; }
.toast { position: fixed; z-index: 500; right: 1rem; bottom: 1rem; max-width: min(380px, calc(100% - 2rem)); padding: 1rem 1.15rem; border-radius: var(--radius); background: var(--ink-deep); color: #fff; box-shadow: var(--shadow-md); }

/* Dense reference sections use a compact editorial rhythm while preserving
   their tables, diagrams, and complete explanatory content. */
section[data-kite-section="accord-clause-summary"],
section[data-kite-section="accord-clause-dimensions"],
section[data-kite-section="accord-section-matrix"],
section[data-kite-section="data-quality-guide"],
section[data-kite-section="forests-definitions"],
section[data-kite-section="glossary-term-index"],
section[data-kite-section="governance-who-does-what"] {
  padding-block: clamp(2.8rem, 4.5vw, 4.25rem);
}
section[data-kite-section="data-quality-guide"] .section-heading--split,
section[data-kite-section="glossary-term-index"] .section-heading--split {
  grid-template-columns: minmax(0, 900px);
  gap: 1rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}
section[data-kite-section="accord-clause-summary"] .definition-list,
section[data-kite-section="accord-clause-dimensions"] .diagram,
section[data-kite-section="accord-section-matrix"] .table-scroll,
section[data-kite-section="data-quality-guide"] .table-scroll,
section[data-kite-section="forests-definitions"] .table-scroll,
section[data-kite-section="glossary-term-index"] .glossary-list,
section[data-kite-section="governance-who-does-what"] .diagram {
  box-shadow: var(--shadow-sm);
}

.is-low-bandwidth .image-frame { min-height: 90px; box-shadow: none; border: 1px dashed var(--line); background: var(--paper-deep); }
.is-low-bandwidth .image-frame img, .is-low-bandwidth .page-hero__media img, .is-low-bandwidth img[data-optional-image] { display: none; }
.is-low-bandwidth .image-frame::before { content: "Image hidden in low-bandwidth mode. Description remains in the caption or alternative text."; display: grid; min-height: 90px; padding: 1rem; place-items: center; color: var(--muted); font-size: .8rem; text-align: center; }
.is-low-bandwidth .image-label { display: none; }

@media (max-width: 1180px) {
  .site-header__inner { grid-template-columns: auto auto 1fr; }
  .nav-toggle { display: inline-flex; justify-self: end; }
  .primary-nav { position: absolute; z-index: 120; top: 100%; left: 0; right: 0; display: none; max-height: calc(100vh - 100px); overflow-y: auto; padding: 1rem max(1rem, calc((100% - 1180px)/2)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); box-shadow: var(--shadow-md); }
  .primary-nav.is-open { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem; }
  .primary-nav a { padding: .8rem; border-radius: .5rem; text-align: left; }
  .primary-nav a:hover { background: var(--mist); }
  .primary-nav a::after { display: none; }
  .site-tools { justify-self: end; }
}

@media (max-width: 900px) {
  .page-hero__grid, .page-hero--split .page-hero__grid, .split, .split--reverse, .editorial-grid, .editorial-grid--reverse, .editorial-grid--balanced, .map-list-pair, .locator-layout, .trust-layout, .section-heading--split { grid-template-columns: minmax(0, 1fr); }
  .split--reverse > :first-child, .split--reverse > :last-child { order: initial; }
  .page-hero__media { max-width: 720px; }
  .page-hero h1 { max-width: 15ch; }
  .card-grid, .card-grid--four, .card-grid--feature { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process, .process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-statement { position: static; }
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  :root { --radius-lg: 1.1rem; --radius-xl: 1.4rem; }
  .wrap, .wrap--wide { width: min(100% - 1.35rem, 1180px); }
  .site-notice__inner { display: block; padding-block: .55rem; }
  .site-notice a { display: inline-block; margin-top: .2rem; }
  .site-header__inner { min-height: 68px; grid-template-columns: minmax(0, 1fr) auto auto; gap: .35rem; }
  .brand__mark { width: 36px; height: 36px; }
  .brand__text small { display: none; }
  .nav-toggle { grid-column: 2; font-size: .78rem; }
  .site-tools { grid-column: 3; }
  .tool-button__label { display: none; }
  .primary-nav.is-open { grid-template-columns: minmax(0, 1fr); padding: .75rem; }
  .primary-nav a { min-height: 44px; display: flex; align-items: center; }
  .section { padding-block: 4rem; }
  .page-hero { padding-block: 3.5rem 4.5rem; }
  .page-hero__grid { gap: 2.2rem; }
  .image-frame--hero { aspect-ratio: 4 / 3; transform: none; }
  .hero-facts, .stat-grid, .stat-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-facts > :last-child { grid-column: 1 / -1; }
  .card-grid, .card-grid--two, .card-grid--four, .card-grid--feature { grid-template-columns: minmax(0, 1fr); }
  .feature-card--wide { grid-column: auto; }
  .journey-link { grid-template-columns: 2rem minmax(0, 1fr) auto; padding-block: 1rem; }
  .journey-link p { display: none; }
  .review-strip { grid-template-columns: minmax(0, 1fr); }
  .district-row { grid-template-columns: auto minmax(0, 1fr); }
  .district-row .text-link { grid-column: 2; }
  .timeline::before { left: .35rem; }
  .timeline-item { grid-template-columns: minmax(0, 1fr); gap: .35rem; padding-left: 1.55rem; }
  .timeline-item::before { left: 0; }
  .timeline-item__date { margin-bottom: .25rem; }
  .process, .process-steps { grid-template-columns: minmax(0, 1fr); }
  .bar-row { grid-template-columns: minmax(84px, .4fr) minmax(0, 1fr); }
  .bar-row > :last-child { grid-column: 2; }
  .definition-list > div { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .form-field--full { grid-column: auto; }
  .site-footer__grid { grid-template-columns: minmax(0, 1fr); }
  .site-footer__brand { grid-column: auto; }
  .site-footer__bottom { display: block; }
  .site-footer__bottom p + p { margin-top: .6rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  :root { --paper: #fff; --white: #fff; }
  body { background: #fff; color: #111; font-size: 10.5pt; }
  .site-notice, .site-header, .site-footer, .button-row, .filters, .filter-bar, .search-dialog, .toast, .image-label, [data-print-hide] { display: none !important; }
  .wrap, .wrap--wide, .narrow, .prose { width: 100%; max-width: none; }
  .page-hero, .section, .section--ink { padding-block: 1.2rem; background: #fff !important; color: #111 !important; }
  .page-hero h1, .page-hero h2, .section--ink h2, .section--ink h3 { color: #111 !important; }
  .page-hero__grid, .split, .editorial-grid, .map-list-pair, .locator-layout, .trust-layout { display: block; }
  .page-hero__media, .image-frame { max-width: 58%; margin: 1rem 0; box-shadow: none; }
  a { color: #111; text-decoration: underline; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 8pt; overflow-wrap: anywhere; }
  .brand[href]::after, .source-chip[href]::after { content: ""; }
  .table-scroll { overflow: visible; }
  table { font-size: 8pt; }
  .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topic-card, .feature-card, .evidence-card, .content-card { break-inside: avoid; }
}

/* Production editorial layer */
.site-notice__links { display: flex; align-items: center; gap: 1rem; }
.language-companion { max-width: 62ch; padding: .85rem 1rem; border-left: 3px solid var(--turmeric); background: rgba(255,255,255,.09); color: #fff; }
.section--ink { background: var(--ink-deep); color: #d9e5df; }
.section--ink h2, .section--ink h3, .section--ink .eyebrow { color: #fff7e8; }
.section--ink a { color: #f4d889; }
.section--white { background: var(--white); }
.section--clay { background: var(--clay-soft); }
.kicker { margin-bottom: .35rem; color: var(--clay); font-size: var(--step--1); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.section--ink .kicker { color: #f4d889; }
.microcopy { font-size: var(--step--1); color: inherit; opacity: .82; }
.source-line { font-size: var(--step--1); color: var(--muted); }
.cluster { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; min-width: 0; }
.stack { display: grid; gap: 1rem; min-width: 0; }
.stack--large { gap: 1.5rem; }
.button--small { min-height: 40px; padding: .48rem .8rem; font-size: var(--step--1); }
.button--outline { border: 1px solid var(--ink); background: transparent; color: var(--ink); }
.button--outline:hover { background: var(--ink); color: #fff; }

.locator-shell { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .8fr); gap: clamp(2rem, 5vw, 5rem); align-items: stretch; }
.locator-map, .locator-panel { min-width: 0; border-radius: var(--radius-xl); }
.locator-map { position: relative; overflow: hidden; min-height: 500px; padding: clamp(1rem, 3vw, 2rem); background: linear-gradient(145deg, #dbe9e4, #f2e9d8); box-shadow: inset 0 0 0 1px rgba(23,51,46,.12); }
.locator-map svg { width: 100%; height: 430px; }
.locator-map__water { fill: none; stroke: var(--lake); stroke-width: 17; stroke-linecap: round; opacity: .75; }
.locator-map__contour { fill: none; stroke: var(--forest); stroke-width: 2; opacity: .25; }
.locator-map__ridge { stroke: rgba(23,51,46,.15); stroke-width: 2; }
.locator-map__label { font-family: var(--sans); font-size: 18px; font-weight: 800; fill: var(--ink); }
.locator-map__count { font-family: var(--serif); font-size: 28px; fill: var(--clay); }
.locator-map__note { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; margin: 0; padding: .65rem .8rem; border-radius: var(--radius-sm); background: rgba(255,253,248,.9); color: var(--muted); font-size: .78rem; }
.locator-panel { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1.4rem, 3vw, 2.5rem); background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.locator-panel__summary { min-height: 175px; }
.district-list { display: grid; gap: .65rem; margin: 1.5rem 0; padding: 0; list-style: none; }
.district-list button { width: 100%; min-width: 0; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); color: var(--ink); text-align: left; cursor: pointer; }
.district-list button:hover, .district-list button.is-selected { border-color: var(--clay); background: var(--clay-soft); }
.district-list button span { display: grid; min-width: 0; }
.district-list button small { color: var(--muted); font-weight: 500; }
.district-list button b { flex: none; color: var(--lake); font-size: .8rem; }

.journey-intro { display: grid; grid-template-columns: minmax(0, .8fr) minmax(360px, 1.2fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; margin-bottom: 2rem; }
.journey-intro__media { margin: 0; }
.journey-intro__media img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.journey-intro__media figcaption { margin-top: .7rem; color: var(--muted); font-size: var(--step--1); }
.journey-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.journey-card { position: relative; min-width: 0; min-height: 260px; display: flex; flex-direction: column; padding: clamp(1.25rem, 2.5vw, 2rem); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(255,253,248,.88); color: var(--charcoal); text-decoration: none; box-shadow: var(--shadow-sm); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.journey-card:hover { transform: translateY(-3px); border-color: var(--moss); box-shadow: var(--shadow-md); color: var(--charcoal); }
.journey-card h3 { max-width: 22ch; }
.journey-card .text-link { margin-top: auto; padding-top: 1rem; }
.journey-card__number { position: absolute; top: .8rem; right: 1rem; color: var(--line); font: 500 clamp(2.5rem, 5vw, 5rem)/1 var(--serif); }
.journey-card--wide { grid-column: span 2; background: linear-gradient(130deg, var(--white), #dfece7); }
.journey-card--clay { background: var(--clay-soft); }
.journey-card--dark { background: var(--forest); border-color: var(--forest); color: #dce9e4; }
.journey-card--dark h3, .journey-card--dark .kicker { color: #fff; }
.journey-card--dark .text-link { color: #f4d889; }
.journey-card--dark:hover { color: #fff; }

.trust-home { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.trust-home__lead { position: sticky; top: 120px; }
.trust-home__ledger { display: grid; gap: .75rem; }
.trust-home__ledger article { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; padding: 1.2rem; border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius); background: rgba(255,255,255,.05); }
.trust-home__ledger article p:last-child { margin-bottom: 0; }
.status-dot { width: .8rem; height: .8rem; margin-top: .25rem; border-radius: 50%; box-shadow: 0 0 0 5px rgba(255,255,255,.06); }
.status-dot--supported { background: #78c89c; }
.status-dot--calculated { background: #79c2d1; }
.status-dot--disputed { background: #efad60; }
.status-dot--gap { background: #b1a4d0; }
.update-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 3rem; border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.update-strip > div { min-width: 0; padding: 1rem; border-right: 1px solid rgba(255,255,255,.18); }
.update-strip > div:last-child { border-right: 0; }
.update-strip span, .update-strip strong { display: block; }
.update-strip span { margin-bottom: .3rem; color: #9ebbb2; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.update-strip strong { color: #fff; font-size: .9rem; }

.evidence-header, .record-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem; align-items: start; padding: 1.15rem 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.evidence-header__meta, .record-meta, .metadata-strip { display: flex; flex-wrap: wrap; gap: .55rem 1rem; color: var(--muted); font-size: var(--step--1); }
.metadata-strip { padding: .8rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.status-pill, .source-chip, .tag { display: inline-flex; align-items: center; min-height: 28px; padding: .25rem .58rem; border-radius: 999px; font-size: .75rem; font-weight: 800; line-height: 1.2; text-decoration: none; }
.status-pill--supported, .status-pill[data-status="supported"] { background: #dcecdf; color: #205c3f; }
.status-pill--calculated, .status-pill[data-status="calculated"] { background: var(--lake-soft); color: #125664; }
.status-pill--disputed, .status-pill[data-status="disputed"] { background: #f5e3ca; color: #7e4516; }
.status-pill--gap, .status-pill[data-status="unresolved"] { background: #e9e4f0; color: #584f70; }
.status-pill--official { background: #e5e9ec; color: #39464d; }
.source-chip { border: 1px solid #aac7ce; background: #eff7f7; color: var(--lake); }
.source-chip:hover { background: var(--lake); color: #fff; }
.tag { background: var(--mist); color: var(--ink); }
.evidence-grid, .record-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.claim-card, .number-card, .position-panel, .reply-panel, .dataset-card, .record-card, .policy-card { min-width: 0; padding: 1.2rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.claim-card__head, .record-card__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .65rem; align-items: start; }
.claim-card footer, .record-card footer { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid var(--line); }
.number-card strong { display: block; color: var(--ink); font: 500 var(--step-3)/1 var(--serif); }
.number-card span { color: var(--muted); font-size: var(--step--1); }
.caveat-panel, .warning-panel, .gap-panel, .legal-note { padding: 1rem 1.1rem; border-left: 4px solid var(--turmeric); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: #fff7df; }
.warning-panel { border-color: var(--danger); background: #f8e7e4; }
.gap-panel { border-color: var(--gap); background: #eeeaf4; }
.legal-note { border-color: var(--lake); background: #e7f2f4; }
.caveat-panel > :last-child, .warning-panel > :last-child, .gap-panel > :last-child, .legal-note > :last-child { margin-bottom: 0; }
section > .evidence-deepening { width: min(calc(100% - 2rem), var(--max)); margin-inline: auto; }
.section--ink .evidence-deepening { color: var(--charcoal); }
.section--ink .evidence-deepening h2, .section--ink .evidence-deepening h3 { color: var(--ink); }
.section--ink .evidence-deepening a { color: var(--lake); }

.filter-bar, .filters { display: flex; flex-wrap: wrap; align-items: end; gap: .8rem; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.filter-bar label, .filters label { display: grid; gap: .3rem; min-width: min(190px, 100%); color: var(--ink); font-size: var(--step--1); font-weight: 750; }
.filter-bar select, .filter-bar input, .filters select, .filters input, .section select { min-height: 44px; max-width: 100%; padding: .55rem .75rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); color: var(--charcoal); }
.empty-state { width: 100%; padding: 1.4rem; border: 1px dashed var(--line); border-radius: var(--radius); background: var(--paper); text-align: center; }
.empty-state p { margin: .35rem auto 0; }

.table-scroll { width: 100%; max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); -webkit-overflow-scrolling: touch; }
.table-scroll table { margin: 0; border: 0; }
table { width: 100%; border-collapse: collapse; background: var(--white); }
caption { padding: .85rem 1rem; color: var(--muted); font-size: var(--step--1); text-align: left; caption-side: top; }
th, td { padding: .8rem .9rem; border: 1px solid var(--line); text-align: left; vertical-align: top; }
th { background: var(--mist); color: var(--ink); font-size: .84rem; }
tbody tr:nth-child(even) { background: rgba(231,239,235,.3); }

.flow-grid, .diagram-grid, .policy-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.flow-step { position: relative; min-width: 0; padding: 1.1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.flow-step:not(:last-child)::after { content: "→"; position: absolute; top: 50%; right: -.8rem; z-index: 2; width: 1.6rem; height: 1.6rem; display: grid; place-items: center; border-radius: 50%; background: var(--turmeric); color: var(--ink); font-weight: 900; transform: translateY(-50%); }
.bar-chart { display: grid; gap: .8rem; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.bar-item { display: grid; grid-template-columns: minmax(100px, .4fr) minmax(0, 1.4fr) auto; gap: .75rem; align-items: center; }
.bar-track { height: .8rem; overflow: hidden; border-radius: 999px; background: var(--paper-deep); }
.bar-fill { height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--lake), var(--moss)); }
.map-canvas, .diagram-canvas, .chart-canvas { min-width: 0; padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(145deg, var(--mist), var(--paper)); }

.form-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .5fr); gap: 1.5rem; align-items: start; }
.form-card { min-width: 0; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.form-field { display: grid; gap: .35rem; min-width: 0; }
.form-field--full { grid-column: 1 / -1; }
.form-field label, .form-field > span { color: var(--ink); font-weight: 750; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-width: 0; min-height: 46px; padding: .7rem .75rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; }
.form-field textarea { min-height: 140px; resize: vertical; }
.form-success { margin-top: 1rem; padding: 1rem; border: 1px solid #8ab69b; border-radius: var(--radius); background: #e5f1e8; color: #205c3f; }

.policy-nav { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1.5rem; }
.policy-nav a { padding: .45rem .7rem; border: 1px solid var(--line); border-radius: 999px; background: var(--white); font-size: .78rem; font-weight: 750; text-decoration: none; }
.version-ledger { counter-reset: version; display: grid; gap: .8rem; }
.version-ledger > article { position: relative; padding: 1rem 1rem 1rem 3.2rem; border-left: 2px solid var(--moss); background: var(--white); }
.version-ledger > article::before { counter-increment: version; content: counter(version); position: absolute; top: 1rem; left: .75rem; width: 1.7rem; height: 1.7rem; display: grid; place-items: center; border-radius: 50%; background: var(--forest); color: #fff; font-size: .75rem; font-weight: 800; }

.site-footer__base { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 2.5rem; padding-block: 1rem; border-top: 1px solid rgba(255,255,255,.16); font-size: var(--step--1); }
.site-footer__base div { display: flex; flex-wrap: wrap; gap: .75rem; }
.site-footer__base button { padding: .3rem 0; border: 0; background: transparent; color: #eef4ee; text-decoration: underline; cursor: pointer; }
.is-low-bandwidth img { visibility: hidden; }
.is-low-bandwidth .image-frame, .is-low-bandwidth .journey-intro__media { background: repeating-linear-gradient(135deg, var(--mist), var(--mist) 12px, var(--paper-deep) 12px, var(--paper-deep) 24px); }
.is-low-bandwidth .image-label { display: none; }

@media (max-width: 1040px) {
  .journey-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-home, .locator-shell, .journey-intro { grid-template-columns: minmax(0, 1fr); }
  .trust-home__lead { position: static; }
  .update-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .update-strip > div:nth-child(2) { border-right: 0; }
  .update-strip > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.18); }
}

@media (max-width: 820px) {
  .locator-shell, .journey-intro, .trust-home, .evidence-header, .record-header, .form-shell { grid-template-columns: minmax(0, 1fr); }
  .evidence-grid, .record-grid, .flow-grid, .diagram-grid, .policy-grid { grid-template-columns: minmax(0, 1fr); }
  .flow-step:not(:last-child)::after { content: "↓"; top: auto; right: 50%; bottom: -.8rem; transform: translateX(50%); }
  .locator-map { min-height: 420px; }
  .locator-map svg { height: 350px; }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .form-field--full { grid-column: auto; }
}

@media (max-width: 680px) {
  .site-notice__links { display: none; }
  .journey-grid { grid-template-columns: minmax(0, 1fr); }
  .journey-card--wide { grid-column: auto; }
  .journey-card { min-height: 225px; }
  .locator-map { min-height: 350px; }
  .locator-map svg { height: 290px; }
  .district-list button { align-items: flex-start; }
  .update-strip { grid-template-columns: minmax(0, 1fr); }
  .update-strip > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .update-strip > div:last-child { border-bottom: 0; }
  .bar-item { grid-template-columns: minmax(80px, .6fr) minmax(0, 1fr); }
  .bar-item > :last-child { grid-column: 2; }
  .site-footer__base { display: block; }
  .site-footer__base div { margin-top: .7rem; }
}

@media print {
  :root { --paper: #fff; --white: #fff; }
  body { background: #fff; color: #111; font-size: 10.5pt; }
  .site-notice, .site-header, .site-footer, .button-row, .filters, .filter-bar, .search-dialog, .toast, .image-label, [data-print-hide] { display: none !important; }
  .wrap, .wrap--wide, .narrow, .prose { width: 100%; max-width: none; }
  .page-hero, .section, .section--ink, .journey-card--dark { padding-block: 1.2rem; background: #fff !important; color: #111 !important; }
  .page-hero h1, .page-hero h2, .section--ink h2, .section--ink h3, .journey-card--dark h3 { color: #111 !important; }
  .page-hero__grid, .split, .editorial-grid, .map-list-pair, .locator-layout, .locator-shell, .journey-intro, .trust-layout, .trust-home, .form-shell { display: block; }
  .page-hero__media, .image-frame, .journey-intro__media { max-width: 58%; margin: 1rem 0; box-shadow: none; }
  .trust-home__lead { position: static; }
  a { color: #111; text-decoration: underline; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 8pt; overflow-wrap: anywhere; }
  .brand[href]::after, .source-chip[href]::after { content: ""; }
  .table-scroll { overflow: visible; }
  table { font-size: 8pt; }
  .card-grid, .journey-grid, .evidence-grid, .record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topic-card, .feature-card, .evidence-card, .content-card, .journey-card, .claim-card, .record-card { break-inside: avoid; }
}


/* Evidence-led secondary editorial media */
.editorial-media-card { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(13rem, .45fr); gap: clamp(1rem, 3vw, 2.4rem); align-items: end; margin: clamp(2rem, 5vw, 3.5rem) 0 0; padding-top: clamp(1rem, 3vw, 1.8rem); border-top: 1px solid rgba(23, 51, 46, .18); min-width: 0; }
.editorial-media-card .image-frame { width: 100%; min-width: 0; box-shadow: var(--shadow-md); }
.editorial-media-card figcaption { max-width: 34ch; margin: 0; color: var(--muted); font-size: var(--step--1); line-height: 1.55; }
.section--ink .editorial-media-card, .section--forest .editorial-media-card { border-top-color: rgba(255, 253, 248, .22); }
.section--ink .editorial-media-card figcaption, .section--forest .editorial-media-card figcaption { color: rgba(255, 253, 248, .82); }
@media (max-width: 800px) { .editorial-media-card { grid-template-columns: minmax(0, 1fr); } .editorial-media-card figcaption { max-width: 60ch; } }

/* Acceptance polish: resilient shell, contrast, and balanced evidence sections */
.skip-link { position: fixed !important; top: .75rem !important; left: .75rem !important; max-width: calc(100vw - 1.5rem); transform: translateY(-180%); }
.skip-link:focus { left: .75rem !important; transform: translateY(0); }
.site-notice__inner > span, .site-notice__links, .site-notice__links a { min-width: 0; }
.site-notice__links { flex-wrap: wrap; justify-content: flex-end; }
.site-notice__links a { white-space: normal; overflow-wrap: anywhere; }
.button.button--secondary { border-color: var(--forest) !important; background: var(--white) !important; color: var(--forest) !important; }
.button.button--secondary:hover, .button.button--secondary:focus-visible { border-color: var(--forest) !important; background: var(--forest) !important; color: #fff !important; }
body[data-page^="history-"] .source-line { color: #34423c !important; opacity: 1 !important; }
body[data-page^="history-"] .section--ink .source-line { color: #d9e5df !important; }
.comparison-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(1.5rem, 3vw, 2.5rem); }
.comparison-steps article { min-width: 0; padding: clamp(1rem, 2vw, 1.35rem); border-top: 4px solid var(--turmeric); border-radius: var(--radius-sm); background: var(--white); box-shadow: var(--shadow-sm); }
.comparison-steps span { display: block; margin-bottom: .65rem; color: var(--clay); font-size: var(--step--1); font-weight: 850; letter-spacing: .1em; }
.comparison-steps h3 { margin-bottom: .45rem; font-size: var(--step-1); }
.comparison-steps p { margin: 0; color: var(--muted); font-size: var(--step--1); }
.evidence-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(1.5rem, 3vw, 2.5rem); }
.evidence-strip article { min-width: 0; padding: clamp(1rem, 2vw, 1.35rem); border: 1px solid var(--line); border-top: 4px solid var(--lake); border-radius: var(--radius-sm); background: var(--white); box-shadow: var(--shadow-sm); }
.evidence-strip span { display: block; margin-bottom: .6rem; color: var(--clay); font-size: var(--step--1); font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.evidence-strip h3 { margin-bottom: .45rem; font-size: var(--step-1); }
.evidence-strip p { margin: 0; color: var(--muted); font-size: var(--step--1); }
.section-composition, .record-hero-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(17rem, .65fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.record-hero-layout { align-items: center; margin-bottom: 0; }
.section-composition > *, .record-hero-layout > *, .filter-cluster > * { min-width: 0; }
.context-panel { padding: clamp(1.1rem, 2.4vw, 1.6rem); border: 1px solid var(--line); border-left: 4px solid var(--turmeric); border-radius: var(--radius); background: var(--white); color: var(--charcoal); box-shadow: var(--shadow-sm); }
.context-panel h2, .context-panel h3 { color: var(--ink) !important; }
.context-panel > :last-child { margin-bottom: 0; }
.page-hero .context-panel, main[class$="-page"] [class$="__hero"] .context-panel { background: #fffdf8; color: var(--charcoal); }
.page-hero .context-panel .kicker, main[class$="-page"] [class$="__hero"] .context-panel .kicker { color: var(--clay); }
.filter-cluster { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.filter-cluster label { display: grid; gap: .3rem; font-size: var(--step--1); font-weight: 750; }
.filter-cluster select, .filter-cluster button { max-width: 100%; min-height: 44px; }
@media (max-width: 900px) {
  .section-composition, .record-hero-layout { grid-template-columns: minmax(0, 1fr); }
  .comparison-steps, .evidence-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .site-notice__inner { display: grid !important; grid-template-columns: minmax(0, 1fr); align-items: start; gap: .35rem; }
  .site-notice__links { display: flex !important; justify-content: flex-start; gap: .2rem 1rem; }
  .site-notice__links a { display: inline !important; margin: 0 !important; }
  .comparison-steps, .evidence-strip { grid-template-columns: minmax(0, 1fr); }
  .filters, .filter-bar, .filter-cluster { align-items: stretch; }
  .filters label, .filter-bar label, .filter-cluster label { flex: 1 1 100%; width: 100%; }
}
