/*
 * Zoloth: Material Design 3 component library.
 * Brand (Zoloth): forest green #033828 (primary), pin orange #e95918 (secondary),
 * sun #fdb33c and leaf #4f9126 (accents), cream #fdfcf5 (warm surface).
 * Every token can be overridden by a theme.
 */
:root {
	--md-primary: #033828;
	--md-primary-hover: #0d5530;
	--md-on-primary: #ffffff;
	--md-primary-container: #e2f0e6;
	--md-on-primary-container: #02261b;
	--md-secondary: #e95918;
	--md-secondary-hover: #cf4b10;
	--md-secondary-container: #fdeee4;
	--md-on-secondary-container: #7a2600;
	--md-tertiary: #3f7f22;
	--md-tertiary-container: #e4f2da;
	--md-surface: #ffffff;
	--md-surface-dim: #f5f8f3;
	--md-surface-variant: #edf3ec;
	--md-on-surface: #13201a;
	--md-on-surface-variant: #4a5a50;
	--md-outline: #c4cfc5;
	--md-outline-variant: #e2e9e1;
	--md-elev-1: 0 1px 2px rgba(3, 56, 40, .07), 0 1px 3px 1px rgba(3, 56, 40, .05);
	--md-elev-2: 0 1px 2px rgba(3, 56, 40, .08), 0 2px 8px 2px rgba(3, 56, 40, .07);
	--md-elev-3: 0 4px 10px 3px rgba(3, 56, 40, .10), 0 1px 3px rgba(3, 56, 40, .12);
	--md-r-sm: 8px;
	--md-r-md: 12px;
	--md-r-lg: 16px;
	--md-r-xl: 28px;
	--md-ease: cubic-bezier(.2, 0, 0, 1);
	--dp-header-h: 68px;
	/* Back-compat aliases */
	--dp-accent: var(--md-primary);
	--dp-accent-2: var(--md-secondary);
	--dp-ink: var(--md-on-surface);
	--dp-muted: var(--md-on-surface-variant);
	--dp-line: var(--md-outline-variant);
	--dp-soft: var(--md-surface-variant);
	--dp-card: var(--md-surface);
	--dp-radius: var(--md-r-md);
}

.dp-icon { flex: none; vertical-align: middle; }

/* ------------------------------------------------------------------ layout */
.dp-main { max-width: none; margin: 0; padding: 0; color: var(--md-on-surface); }
.dp-layout { max-width: 1240px; margin: 0 auto; padding: 24px 16px 48px; display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1040px) { .dp-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; } }
.dp-article { min-width: 0; line-height: 1.7; }

/* -------------------------------------------------------------------- hero */
.dp-hero {
	background:
		radial-gradient(1200px 400px at 85% -10%, rgba(233, 89, 24, .28), transparent 60%),
		radial-gradient(900px 500px at -10% 120%, rgba(79, 145, 38, .35), transparent 60%),
		linear-gradient(135deg, var(--dp-hero-0, #022519) 0%, var(--md-primary) 55%, var(--dp-hero-2, #0d5530) 100%);
	color: #fff;
	padding: 20px 0 0;
	margin: 0;
	position: relative;
}
.dp-hero__inner { max-width: 1240px; margin: 0 auto; padding: 0 16px; position: relative; }
.dp-hero .dp-breadcrumbs ol { color: rgba(255, 255, 255, .78); }
.dp-hero .dp-breadcrumbs a { color: #fff; text-decoration: none; opacity: .85; }
.dp-hero .dp-breadcrumbs a:hover { opacity: 1; text-decoration: underline; }
.dp-hero__head { display: flex; gap: 20px; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; margin: 18px 0 22px; }
.dp-hero__text { min-width: 0; flex: 1 1 520px; }
.dp-hero__title { font-size: clamp(1.75rem, 4vw, 2.75rem); line-height: 1.15; margin: 12px 0 8px; color: #fff; font-weight: 750; letter-spacing: -.02em; }
.dp-hero__sub { display: flex; align-items: center; gap: 6px; margin: 0; color: rgba(255, 255, 255, .85); font-size: 1rem; }
.dp-hero__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.dp-hero .dp-cards { position: relative; z-index: 1; margin: 0; padding-bottom: 0; transform: translateY(28px); }
.dp-hero + .dp-layout { padding-top: 56px; }
.dp-hero:not(:has(.dp-cards)) { padding-bottom: 28px; }
.dp-hero:not(:has(.dp-cards)) + .dp-layout { padding-top: 28px; }

/* ------------------------------------------------------------------- chips */
.dp-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.dp-chip { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: var(--md-r-sm); font-size: .82rem; font-weight: 600; letter-spacing: .01em; border: 1px solid var(--md-outline); color: var(--md-on-surface-variant); background: var(--md-surface); white-space: nowrap; }
.dp-chip--primary { background: var(--md-secondary); border-color: var(--md-secondary); color: #fff; }
.dp-chip--outline { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .35); color: #fff; }
.dp-chip--success { background: rgba(79, 145, 38, .18); border-color: rgba(180, 230, 140, .45); color: #e6f7d6; }
.dp-article .dp-chip--outline { background: var(--md-surface); border-color: var(--md-outline); color: var(--md-on-surface-variant); }
.dp-article .dp-chip--success { background: var(--md-tertiary-container); border-color: transparent; color: #2d5a17; }

/* ----------------------------------------------------------------- buttons */
.dp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; padding: 0 20px; border-radius: 999px; font: inherit; font-weight: 600; font-size: .95rem; text-decoration: none; cursor: pointer; border: 1px solid transparent; transition: background .2s var(--md-ease), box-shadow .2s var(--md-ease), transform .1s; white-space: nowrap; }
.dp-btn:active { transform: scale(.98); }
.dp-btn--filled { background: var(--md-secondary); color: #fff; box-shadow: var(--md-elev-1); }
.dp-btn--filled:hover { background: var(--md-secondary-hover); color: #fff; box-shadow: var(--md-elev-2); }
.dp-btn--primary { background: var(--md-primary); color: #fff; }
.dp-btn--primary:hover { background: var(--md-primary-hover); color: #fff; }
.dp-btn--tonal { background: #fff; color: var(--md-primary); }
.dp-btn--tonal:hover { background: var(--md-primary-container); color: var(--md-primary); }
.dp-btn--outline { border-color: rgba(255, 255, 255, .5); color: #fff; background: transparent; }
.dp-btn--outline:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.dp-article .dp-btn--outline { border-color: var(--md-outline); color: var(--md-primary); }
.dp-article .dp-btn--outline:hover { background: var(--md-primary-container); }

/* -------------------------------------------------------------- stat cards */
.dp-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin: 16px 0; }
.dp-card { display: flex; gap: 12px; align-items: center; background: var(--md-surface); color: var(--md-on-surface); border-radius: var(--md-r-lg); padding: 14px 16px; margin: 0; box-shadow: var(--md-elev-2); min-width: 0; }
.dp-card__icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--md-primary-container); color: var(--md-primary); flex: none; }
.dp-card:nth-child(2n) .dp-card__icon { background: var(--md-secondary-container); color: var(--md-secondary-hover); }
.dp-card dt { font-size: .75rem; color: var(--md-on-surface-variant); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.dp-card dd { margin: 2px 0 0; font-size: 1.2rem; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.dp-card dd a { color: var(--md-primary); text-decoration: none; }
.dp-card dd a:hover { text-decoration: underline; }

/* ------------------------------------------------------------ sticky tabs */
.dp-tabs { position: sticky; top: var(--dp-sticky-top, var(--dp-header-h)); z-index: 30; transition: top .25s var(--md-ease); background: rgba(255, 255, 255, .96); backdrop-filter: saturate(180%) blur(10px); border-radius: var(--md-r-lg); box-shadow: var(--md-elev-1); margin: 0 0 20px; }
.admin-bar .dp-tabs { top: calc(var(--dp-sticky-top, var(--dp-header-h)) + 32px); }
@media (max-width: 782px) { .admin-bar .dp-tabs { top: calc(var(--dp-sticky-top, var(--dp-header-h)) + 46px); } }
@media (max-width: 600px) { .admin-bar .dp-tabs { top: var(--dp-sticky-top, var(--dp-header-h)); } }
.dp-tabs__track { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; padding: 6px; scroll-behavior: smooth; }
.dp-tabs__track::-webkit-scrollbar { display: none; }
.dp-tab { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; color: var(--md-on-surface-variant); text-decoration: none; font-weight: 600; font-size: .88rem; white-space: nowrap; transition: background .2s var(--md-ease), color .2s; }
.dp-tab:hover { background: var(--md-surface-variant); color: var(--md-primary); }
.dp-tab.is-active { background: var(--md-primary); color: #fff; }
.dp-tab .dp-icon { opacity: .9; }

/* --------------------------------------------------------- section cards */
.dp-section { background: var(--md-surface); border-radius: var(--md-r-lg); box-shadow: var(--md-elev-1); padding: 22px 24px 8px; margin: 0 0 20px; scroll-margin-top: calc(var(--dp-header-h) + 72px); border: 1px solid var(--md-outline-variant); }
@media (max-width: 600px) { .dp-section { padding: 18px 16px 4px; border-radius: var(--md-r-md); } }
.dp-section__head { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; }
.dp-section__badge { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(135deg, var(--md-primary-container), #eef6f0); color: var(--md-primary); flex: none; }
.dp-section__head h2 { font-size: 1.3rem; line-height: 1.3; margin: 0; padding: 0; border: 0; color: var(--md-on-surface); font-weight: 700; letter-spacing: -.01em; }
.dp-section__body > p:first-child { margin-top: 0; }
.dp-section h3 { font-size: 1.05rem; margin: 22px 0 8px; color: var(--md-primary); }
.dp-section p { color: #25332b; }
.dp-section a { color: var(--md-primary); text-decoration-color: rgba(3, 56, 40, .3); text-underline-offset: 3px; }
.dp-section a:hover { color: var(--md-secondary-hover); text-decoration-color: currentColor; }

/* ------------------------------------------------------------------ tables */
.dp-table-wrap { overflow-x: auto; margin: 14px 0 20px; border: 1px solid var(--md-outline-variant); border-radius: var(--md-r-md); -webkit-overflow-scrolling: touch; }
.dp-table, .dp-facts { border-collapse: collapse; width: 100%; font-size: .93rem; }
.dp-table th, .dp-table td { padding: 11px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--md-outline-variant); }
.dp-table tbody tr:last-child td { border-bottom: 0; }
.dp-table thead th { background: var(--md-surface-variant); color: var(--md-on-surface-variant); font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; position: sticky; top: 0; }
.dp-table tbody tr { transition: background .15s; }
.dp-table tbody tr:hover { background: #f4f9f5; }
.dp-table tbody tr[id] { scroll-margin-top: calc(var(--dp-header-h) + 72px); }
.dp-table tbody tr[id]:target { background: var(--md-secondary-container); }
.dp-table--sortable thead th { cursor: pointer; user-select: none; }
.dp-table--sortable thead th[aria-sort="ascending"]::after { content: " ▲"; color: var(--md-secondary); }
.dp-table--sortable thead th[aria-sort="descending"]::after { content: " ▼"; color: var(--md-secondary); }
.dp-table caption, .dp-facts caption { text-align: left; font-weight: 700; padding: 12px 14px 4px; color: var(--md-primary); }
.dp-facts th, .dp-facts td { padding: 10px 14px; border-bottom: 1px solid var(--md-outline-variant); text-align: left; vertical-align: top; }
.dp-facts tr:last-child th, .dp-facts tr:last-child td { border-bottom: 0; }
.dp-facts tr:nth-child(odd) { background: #fafcf9; }
.dp-facts th { width: 40%; color: var(--md-on-surface-variant); font-weight: 500; }
.dp-facts td { font-weight: 600; }
.dp-table code, .dp-section code { background: var(--md-surface-variant); padding: 2px 6px; border-radius: 6px; font-size: .85em; color: var(--md-primary); }

/* ----------------------------------------------------------- lists & chips */
.dp-list { padding-left: 20px; }
.dp-list li { margin: 4px 0; }
.dp-list--cols { columns: 3 200px; column-gap: 28px; }
.dp-list--cols li { break-inside: avoid; }
.dp-steps { counter-reset: s; list-style: none; padding: 0; margin: 10px 0 18px; }
.dp-steps li { counter-increment: s; position: relative; padding: 4px 0 12px 46px; }
.dp-steps li::before { content: counter(s); position: absolute; left: 0; top: 2px; width: 30px; height: 30px; border-radius: 50%; background: var(--md-secondary-container); color: var(--md-on-secondary-container); font-weight: 700; display: grid; place-items: center; font-size: .9rem; }
.dp-steps li:not(:last-child)::after { content: ""; position: absolute; left: 14px; top: 36px; bottom: 0; width: 2px; background: var(--md-outline-variant); }
.dp-cloud { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 18px; }
.dp-cloud a { display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border-radius: var(--md-r-sm); border: 1px solid var(--md-outline); background: var(--md-surface); color: var(--md-on-surface); font-size: .88rem; font-weight: 500; text-decoration: none; transition: all .15s var(--md-ease); }
.dp-cloud a:hover { background: var(--md-primary-container); border-color: var(--md-primary); color: var(--md-primary); }

/* ------------------------------------------------------------------- bars */
.dp-bars { display: grid; gap: 10px; margin: 14px 0 22px; }
.dp-bar { display: grid; grid-template-columns: minmax(110px, 32%) 1fr 74px; gap: 12px; align-items: center; font-size: .9rem; }
.dp-bar__label { color: var(--md-on-surface-variant); font-weight: 500; }
.dp-bar__track { background: var(--md-surface-variant); border-radius: 999px; height: 10px; overflow: hidden; }
.dp-bar__fill { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--md-primary), #2f8a4a); }
.dp-bar:nth-child(2n) .dp-bar__fill { background: linear-gradient(90deg, var(--md-secondary), #f8a94a); }
.dp-bar__val { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }

/* ----------------------------------------------------------------- people */
.dp-person { display: flex; gap: 16px; align-items: flex-start; border: 1px solid var(--md-outline-variant); border-radius: var(--md-r-lg); padding: 16px; margin: 14px 0; background: linear-gradient(180deg, #fbfdfb, #fff); }
.dp-person__img, .dp-avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: none; box-shadow: var(--md-elev-1); }
.dp-avatar { display: grid; place-items: center; font-weight: 800; font-size: 1.3rem; color: #fff; background: linear-gradient(135deg, hsl(var(--h, 150) 70% 42%), hsl(calc(var(--h, 150) + 30) 80% 55%)); }
.dp-person > div { flex: 1; min-width: 0; }
.dp-person__role { margin: 0; color: var(--md-secondary-hover); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.dp-person__name { margin: 2px 0 8px; font-size: 1.25rem; font-weight: 750; }
.dp-person__name a { text-decoration: none; }
.dp-person .dp-table-wrap { margin: 8px 0; }

/* ---------------------------------------------------------------- schemes */
.dp-schemes { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); margin: 16px 0 20px; }
.dp-scheme { position: relative; display: flex; flex-direction: column; border: 1px solid var(--md-outline-variant); border-radius: var(--md-r-lg); padding: 18px; background: var(--md-surface); transition: box-shadow .2s var(--md-ease), transform .2s var(--md-ease), border-color .2s; overflow: hidden; }
.dp-scheme::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg, var(--md-secondary), var(--md-primary)); }
.dp-scheme:hover { box-shadow: var(--md-elev-3); transform: translateY(-2px); border-color: transparent; }
.dp-scheme h3 { margin: 4px 0 8px; font-size: 1.05rem; line-height: 1.35; color: var(--md-on-surface); }
.dp-scheme h3 a { color: inherit; text-decoration: none; }
.dp-scheme h3 a::after { content: ""; position: absolute; inset: 0; }
.dp-scheme p { font-size: .92rem; color: var(--md-on-surface-variant); margin: 0 0 10px; }
.dp-scheme .dp-table-wrap { border: 0; margin: auto 0 0; background: var(--md-surface-dim); border-radius: var(--md-r-md); }
.dp-scheme .dp-facts { font-size: .85rem; }
.dp-scheme .dp-facts th { width: 38%; }
.dp-scheme .dp-facts tr:nth-child(odd) { background: transparent; }

/* -------------------------------------------------------------------- FAQ */
.dp-faq { display: grid; gap: 10px; margin: 8px 0 18px; }
.dp-faq__item { border: 1px solid var(--md-outline-variant); border-radius: var(--md-r-md); background: var(--md-surface); padding: 0 18px; transition: box-shadow .2s, border-color .2s; }
.dp-faq__item[open] { box-shadow: var(--md-elev-2); border-color: transparent; }
.dp-faq__item summary { cursor: pointer; list-style: none; padding: 14px 32px 14px 0; position: relative; }
.dp-faq__item summary::-webkit-details-marker { display: none; }
.dp-faq__item summary::after { content: ""; position: absolute; right: 2px; top: 50%; width: 10px; height: 10px; border-right: 2px solid var(--md-primary); border-bottom: 2px solid var(--md-primary); transform: translateY(-70%) rotate(45deg); transition: transform .2s var(--md-ease); }
.dp-faq__item[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.dp-faq__q { display: inline; font-size: 1rem; margin: 0; color: var(--md-on-surface); font-weight: 650; }
.dp-faq__a { padding: 0 0 12px; color: var(--md-on-surface-variant); }

/* ------------------------------------------------------------------- misc */
.dp-map { height: 380px; border-radius: var(--md-r-md); background: var(--md-surface-variant); margin: 8px 0; z-index: 0; border: 1px solid var(--md-outline-variant); }
.dp-note { font-size: .84rem; color: var(--md-on-surface-variant); background: var(--md-surface-dim); border-left: 3px solid var(--md-secondary); padding: 8px 12px; border-radius: 0 var(--md-r-sm) var(--md-r-sm) 0; }
.dp-custom { background: var(--md-surface); border-radius: var(--md-r-lg); padding: 20px 24px; margin-bottom: 20px; box-shadow: var(--md-elev-1); }

/* ----------------------------------------------------------------- search */
.dp-search { position: relative; display: flex; align-items: center; gap: 0; max-width: 720px; background: var(--md-surface); border-radius: 999px; box-shadow: var(--md-elev-2); border: 1px solid var(--md-outline-variant); padding: 4px 4px 4px 18px; }
.dp-search::before { content: ""; width: 22px; height: 22px; flex: none; margin-right: 8px; background: var(--md-on-surface-variant); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") center/contain no-repeat; }
.dp-search:focus-within { border-color: var(--md-primary); box-shadow: 0 0 0 3px rgba(3, 56, 40, .12), var(--md-elev-2); }
.dp-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; padding: 12px 8px 12px 0; font: inherit; font-size: 1rem; color: var(--md-on-surface); }
.dp-search button { background: var(--md-secondary); color: #fff; border: 0; border-radius: 999px; height: 46px; padding: 0 24px; font: inherit; font-weight: 700; cursor: pointer; transition: background .2s; }
.dp-search button:hover { background: var(--md-secondary-hover); }
.dp-search__results { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 60; background: var(--md-surface); border-radius: var(--md-r-lg); margin: 0; padding: 6px; list-style: none; box-shadow: var(--md-elev-3); max-height: 62vh; overflow: auto; border: 1px solid var(--md-outline-variant); }
.dp-search__results a { display: block; padding: 10px 12px; text-decoration: none; color: var(--md-on-surface); border-radius: var(--md-r-sm); line-height: 1.35; }
.dp-search__results li.is-active a, .dp-search__results a:hover { background: var(--md-primary-container); }
.dp-search__results small { color: var(--md-on-surface-variant); }
.dp-search__type { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 6px; background: var(--md-secondary-container); color: var(--md-on-secondary-container); font-size: .72rem; font-weight: 700; vertical-align: 1px; }
.dp-search__empty { padding: 10px 12px; color: var(--md-on-surface-variant); }

/* --------------------------------------------------------- suggest form */
.dp-suggest { border: 1px solid var(--md-outline-variant); border-radius: var(--md-r-lg); padding: 4px 18px; margin-top: 22px; background: linear-gradient(135deg, #fffaf2, #f1f7f2); }
.dp-suggest summary { cursor: pointer; font-weight: 700; color: var(--md-primary); padding: 12px 0; list-style: none; display: flex; align-items: center; gap: 8px; }
.dp-suggest summary::-webkit-details-marker { display: none; }
.dp-suggest summary::before { content: "✎"; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--md-secondary); color: #fff; font-size: .95rem; }
.dp-suggest label { display: block; font-size: .82rem; font-weight: 600; color: var(--md-on-surface-variant); }
.dp-suggest input, .dp-suggest select, .dp-suggest textarea { display: block; width: 100%; padding: 12px 14px; border: 0; border-bottom: 2px solid var(--md-outline); border-radius: var(--md-r-sm) var(--md-r-sm) 0 0; background: rgba(3, 56, 40, .045); margin-top: 6px; font: inherit; color: var(--md-on-surface); transition: border-color .2s, background .2s; }
.dp-suggest input:focus, .dp-suggest select:focus, .dp-suggest textarea:focus { outline: 0; border-bottom-color: var(--md-primary); background: rgba(3, 56, 40, .08); }
.dp-suggest .dp-row { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.dp-suggest button { background: var(--md-primary); color: #fff; border: 0; border-radius: 999px; height: 44px; padding: 0 24px; font: inherit; font-weight: 700; cursor: pointer; }
.dp-suggest button:hover { background: var(--md-primary-hover); }
.dp-suggest__msg { margin-left: 10px; font-weight: 600; color: var(--md-tertiary); }
.dp-hp { position: absolute; left: -9999px; }

/* ------------------------------------------------------------------ aside */
.dp-aside { min-width: 0; }
.dp-aside__box { background: var(--md-surface); border-radius: var(--md-r-lg); padding: 18px 20px; margin-bottom: 16px; box-shadow: var(--md-elev-1); border: 1px solid var(--md-outline-variant); }
.dp-aside__title { font-weight: 800; margin: 0 0 10px; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--md-secondary-hover); }
.dp-aside ul { margin: 0; padding: 0; list-style: none; }
.dp-aside li { border-bottom: 1px solid var(--md-outline-variant); }
.dp-aside li:last-child { border-bottom: 0; }
.dp-aside li a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 2px; text-decoration: none; color: var(--md-on-surface); font-weight: 500; font-size: .93rem; }
.dp-aside li a::after { content: "›"; color: var(--md-on-surface-variant); font-size: 1.2rem; }
.dp-aside li a:hover { color: var(--md-primary); }
.dp-aside__cta { background: linear-gradient(135deg, var(--md-primary), #0d5530); color: #fff; border: 0; }
.dp-aside__cta .dp-aside__title { color: #ffd98f; }
.dp-aside__cta p { margin: 0 0 12px; color: rgba(255, 255, 255, .9); font-size: .93rem; }
@media (min-width: 1040px) { .dp-aside { position: sticky; top: calc(var(--dp-header-h) + 16px); align-self: start; max-height: calc(100vh - var(--dp-header-h) - 32px); overflow-y: auto; scrollbar-width: thin; } }

/* ------------------------------------------------------------- breadcrumbs */
.dp-breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 2px; padding: 0; margin: 0; font-size: .86rem; color: var(--md-on-surface-variant); }
.dp-breadcrumbs li + li::before { content: "›"; margin: 0 6px; opacity: .7; }
.dp-breadcrumbs a { color: inherit; }

.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }



/* ====================================================================== v0.3 */

/* Brand-derived tokens: change --md-primary / --md-secondary (Customizer) and everything follows. */
@supports (color: color-mix(in srgb, red, blue)) {
	:root {
		--md-primary-hover: color-mix(in srgb, var(--md-primary) 82%, #fff);
		--md-primary-container: color-mix(in srgb, var(--md-primary) 12%, #fff);
		--md-on-primary-container: color-mix(in srgb, var(--md-primary) 70%, #000);
		--md-secondary-hover: color-mix(in srgb, var(--md-secondary) 88%, #000);
		--md-secondary-container: color-mix(in srgb, var(--md-secondary) 14%, #fff);
		--md-on-secondary-container: color-mix(in srgb, var(--md-secondary) 45%, #000);
		--dp-hero-0: color-mix(in srgb, var(--md-primary) 62%, #000);
		--dp-hero-2: color-mix(in srgb, var(--md-primary) 78%, #4f9126);
	}
}

/* Hero on phones: compact, 2×2 stat grid, single-row chips, full-width actions. */
.dp-hero__sub span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dp-btn--icon { width: 42px; padding: 0; }
.dp-hero .dp-btn--icon { background: rgba(255, 255, 255, .12); color: #fff; border-color: rgba(255, 255, 255, .35); }
.dp-hero .dp-btn--icon:hover { background: rgba(255, 255, 255, .22); }
.dp-cards[data-n="1"] { grid-template-columns: minmax(0, 360px); }
.dp-cards[data-n="2"] { grid-template-columns: repeat(2, minmax(0, 360px)); }
.dp-cards[data-n="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 600px) {
	.dp-hero { padding-top: 14px; }
	.dp-hero__head { margin: 12px 0 16px; gap: 14px; }
	.dp-hero__title { font-size: clamp(1.45rem, 6.4vw, 1.9rem); margin: 10px 0 6px; }
	.dp-hero__sub { font-size: .92rem; }
	.dp-hero__actions { width: 100%; flex-wrap: nowrap; }
	.dp-hero__actions .dp-btn { height: 40px; padding: 0 14px; font-size: .88rem; }
	.dp-hero__actions .dp-btn--outline { flex: 1; }
	.dp-hero__actions .dp-btn--icon { flex: none; padding: 0; }
	.dp-chips--scroll { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: -16px; padding-right: 16px; }
	.dp-chips--scroll::-webkit-scrollbar { display: none; }
	.dp-cards, .dp-cards[data-n] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.dp-cards[data-n="1"] { grid-template-columns: minmax(0, 1fr); }
	.dp-card { padding: 10px 12px; gap: 10px; border-radius: var(--md-r-md); }
	.dp-card__icon { width: 34px; height: 34px; border-radius: 10px; }
	.dp-card__icon .dp-icon { width: 18px; height: 18px; }
	.dp-card dt { font-size: .66rem; letter-spacing: .04em; }
	.dp-card dd { font-size: 1rem; }
	.dp-hero .dp-cards { transform: translateY(20px); }
	.dp-hero + .dp-layout { padding-top: 40px; }
	.dp-layout { padding-left: 12px; padding-right: 12px; }
}

/* Copyable chips / values */
.dp-chip--copy { cursor: pointer; font: inherit; font-size: .82rem; font-weight: 600; }
.dp-chip--copy .dp-icon { opacity: .75; }
.dp-chip--copy:hover { background: rgba(255, 255, 255, .18); }
.dp-copy { display: inline-grid; place-items: center; width: 28px; height: 28px; margin-left: 4px; border: 0; border-radius: 8px; background: transparent; color: var(--md-on-surface-variant); cursor: pointer; vertical-align: middle; }
.dp-copy:hover { background: var(--md-surface-variant); color: var(--md-primary); }
.dp-toast { position: fixed; left: 50%; bottom: calc(24px + var(--dp-bottom-nav, 0px)); transform: translate(-50%, 20px); background: #14241c; color: #fff; padding: 10px 18px; border-radius: 999px; font-size: .9rem; font-weight: 600; box-shadow: var(--md-elev-3); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s var(--md-ease); z-index: 200; }
.dp-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* Breadcrumbs: one line on phones, middle crumbs behind "…" */
.dp-bc-more { display: none; }
.dp-bc-more button { border: 0; background: rgba(255, 255, 255, .14); color: inherit; border-radius: 6px; padding: 0 8px; font: inherit; line-height: 1.5; cursor: pointer; }
@media (max-width: 700px) {
	.dp-breadcrumbs ol { flex-wrap: nowrap; overflow: hidden; }
	.dp-breadcrumbs li { white-space: nowrap; }
	.dp-breadcrumbs li[aria-current] { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
	.dp-breadcrumbs:not(.is-expanded) .dp-bc-mid { display: none; }
	.dp-breadcrumbs:not(.is-expanded) .dp-bc-more { display: inline-flex; }
	.dp-breadcrumbs.is-expanded ol { flex-wrap: wrap; }
}

/* Tabs: edge fades + arrow buttons when the row overflows */
.dp-tabs { position: sticky; }
.dp-tabs__arrow { display: none; position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--md-outline-variant); background: #fff; color: var(--md-primary); box-shadow: var(--md-elev-2); cursor: pointer; place-items: center; padding: 0; }
.dp-tabs__arrow--l { left: 4px; }
.dp-tabs__arrow--r { right: 4px; }
.dp-tabs.can-l .dp-tabs__arrow--l, .dp-tabs.can-r .dp-tabs__arrow--r { display: grid; }
@media (hover: none) { .dp-tabs.can-l .dp-tabs__arrow--l, .dp-tabs.can-r .dp-tabs__arrow--r { display: none; } }
.dp-tabs.can-r .dp-tabs__track { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); }
.dp-tabs.can-l .dp-tabs__track { -webkit-mask-image: linear-gradient(90deg, transparent, #000 56px); mask-image: linear-gradient(90deg, transparent, #000 56px); }
.dp-tabs.can-l.can-r .dp-tabs__track { -webkit-mask-image: linear-gradient(90deg, transparent, #000 56px, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, transparent, #000 56px, #000 calc(100% - 56px), transparent); }

/* Long tables: first rows + "Show all", quick filter */
.dp-table-tools { display: flex; gap: 10px; align-items: center; margin: 12px 0 -6px; }
.dp-table-filter { flex: 1; max-width: 360px; height: 40px; border: 1px solid var(--md-outline); border-radius: 999px; padding: 0 16px; font: inherit; font-size: .92rem; background: var(--md-surface); }
.dp-table-filter:focus { outline: 0; border-color: var(--md-primary); box-shadow: 0 0 0 3px var(--md-primary-container); }
.dp-table-count { color: var(--md-on-surface-variant); font-size: .85rem; }
tr.dp-row-hidden { display: none; }
.dp-more { display: flex; justify-content: center; margin: -8px 0 20px; }
.dp-more button { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--md-outline); background: var(--md-surface); color: var(--md-primary); border-radius: 999px; height: 38px; padding: 0 18px; font: inherit; font-weight: 600; font-size: .9rem; cursor: pointer; }
.dp-more button:hover { background: var(--md-primary-container); border-color: var(--md-primary); }

/* Aside: quick facts, "where it sits" stepper, inline variant on small screens */
.dp-qf { margin: 0; display: grid; gap: 2px; }
.dp-qf > div { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--md-outline-variant); }
.dp-qf > div:last-child { border-bottom: 0; }
.dp-qf dt { color: var(--md-on-surface-variant); font-size: .88rem; }
.dp-qf dd { margin: 0; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.dp-qf dd a { text-decoration: none; }
.dp-where { list-style: none; margin: 0; padding: 0; }
.dp-aside .dp-where li { position: relative; border: 0; padding: 4px 0 10px 24px; font-size: .93rem; }
.dp-where li::before { content: ""; position: absolute; left: 4px; top: 10px; width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--md-primary); background: var(--md-surface); box-sizing: border-box; }
.dp-where li:not(:last-child)::after { content: ""; position: absolute; left: 8px; top: 22px; bottom: -4px; width: 2px; background: var(--md-outline-variant); }
.dp-where li span { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--md-on-surface-variant); font-weight: 600; }
.dp-aside .dp-where li a { display: inline; padding: 0; font-weight: 600; }
.dp-aside .dp-where li a::after { content: none; }
.dp-where li.is-current { font-weight: 700; color: var(--md-secondary-hover); }
.dp-where li.is-current::before { background: var(--md-secondary); border-color: var(--md-secondary); }
.dp-aside li small { color: var(--md-on-surface-variant); margin-left: 4px; }
.dp-aside--inline { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin: 0 0 20px; }
.dp-aside--inline .dp-aside__box { margin: 0; }

/* Office & contact card, editor photo and notes */
.dp-contact { margin: 18px 0 8px; padding: 4px 0 0; }
.dp-contact h3 { display: flex; align-items: center; gap: 8px; }
.dp-contact a[href^="tel:"] { font-weight: 700; white-space: nowrap; }
.dp-photo { margin: 0 0 16px; }
.dp-photo img { width: 100%; max-height: 360px; object-fit: cover; border-radius: var(--md-r-md); }
.dp-callout { background: var(--md-secondary-container); color: var(--md-on-secondary-container); border-radius: var(--md-r-md); padding: 12px 16px; font-weight: 500; }

/* Back to top */
.dp-totop { position: fixed; right: 16px; bottom: calc(20px + var(--dp-bottom-nav, 0px)); z-index: 40; width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--md-primary); color: #fff; box-shadow: var(--md-elev-3); display: grid; place-items: center; cursor: pointer; opacity: 0; transform: translateY(12px) scale(.9); pointer-events: none; transition: opacity .2s, transform .2s var(--md-ease); }
.dp-totop.is-on { opacity: 1; transform: none; pointer-events: auto; }
.dp-totop:hover { background: var(--md-primary-hover); }

/* Suggest form anchor target */
.dp-suggest { scroll-margin-top: calc(var(--dp-header-h) + 80px); }
.dp-suggest[open] { box-shadow: var(--md-elev-2); }

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

/* Quick answer (AEO/GEO summary) */
.dp-answer { position: relative; background: var(--md-surface); border: 1px solid var(--md-outline-variant); border-left: 4px solid var(--md-secondary); border-radius: var(--md-r-lg); padding: 16px 20px; margin: 0 0 18px; box-shadow: var(--md-elev-1); }
.dp-answer__label { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 6px; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--md-secondary-hover); }
.dp-answer__text { margin: 0; font-size: 1.02rem; line-height: 1.65; color: var(--md-on-surface); font-weight: 500; }
.dp-answer__meta { margin: 8px 0 0; font-size: .78rem; color: var(--md-on-surface-variant); }

/* "Read more" for long sections on phones */
.dp-section.is-clamped .dp-section__body { max-height: 440px; overflow: hidden; position: relative; }
.dp-section.is-clamped .dp-section__body::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; background: linear-gradient(rgba(255, 255, 255, 0), var(--md-surface)); pointer-events: none; }
.dp-readmore { display: flex; justify-content: center; margin: 4px 0 12px; }
.dp-readmore button { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--md-outline); background: var(--md-surface); color: var(--md-primary); font: inherit; font-size: .86rem; font-weight: 700; cursor: pointer; }

/* Compact phones */
@media (max-width: 600px) {
	.dp-hero { padding-top: 10px; }
	.dp-hero .dp-breadcrumbs ol { font-size: .76rem; }
	.dp-hero__head { margin: 8px 0 12px; gap: 10px; }
	.dp-chip { height: 26px; padding: 0 9px; font-size: .72rem; gap: 4px; border-radius: 7px; }
	.dp-chip .dp-icon { width: 14px; height: 14px; }
	.dp-hero__title { font-size: clamp(1.32rem, 6vw, 1.65rem); margin: 8px 0 4px; letter-spacing: -.015em; }
	.dp-hero__sub { font-size: .82rem; }
	.dp-hero__sub .dp-icon { width: 15px; height: 15px; }
	.dp-hero__actions .dp-btn { height: 36px; padding: 0 12px; font-size: .82rem; gap: 6px; }
	.dp-hero__actions .dp-btn .dp-icon { width: 16px; height: 16px; }
	.dp-hero__actions .dp-btn--icon { width: 36px; }
	.dp-hero .dp-cards { transform: translateY(16px); }
	.dp-hero + .dp-layout { padding-top: 30px; }
	.dp-card { padding: 8px 10px; gap: 8px; }
	.dp-card__icon { width: 30px; height: 30px; border-radius: 9px; }
	.dp-card__icon .dp-icon { width: 16px; height: 16px; }
	.dp-card dt { font-size: .62rem; }
	.dp-card dd { font-size: .94rem; }
	.dp-layout { gap: 14px; padding-bottom: 24px; }
	.dp-article { line-height: 1.6; }
	.dp-answer { padding: 12px 14px; margin-bottom: 12px; border-radius: var(--md-r-md); }
	.dp-answer__text { font-size: .94rem; line-height: 1.55; }
	.dp-tabs { margin-bottom: 12px; border-radius: var(--md-r-md); }
	.dp-tabs__track { padding: 4px; }
	.dp-tab { padding: 6px 11px; font-size: .78rem; }
	.dp-tab .dp-icon { display: none; }
	.dp-section { padding: 14px 14px 2px; margin-bottom: 12px; }
	.dp-section__head { gap: 10px; margin-bottom: 8px; }
	.dp-section__badge { width: 32px; height: 32px; border-radius: 10px; }
	.dp-section__badge .dp-icon { width: 18px; height: 18px; }
	.dp-section__head h2 { font-size: 1.06rem; }
	.dp-section h3 { font-size: .96rem; margin: 16px 0 6px; }
	.dp-section p { margin: 0 0 .75em; }
	.dp-table, .dp-facts { font-size: .84rem; }
	.dp-table th, .dp-table td, .dp-facts th, .dp-facts td { padding: 8px 10px; }
	.dp-facts th { width: 44%; }
	.dp-table-wrap { margin: 10px 0 14px; }
	.dp-faq { gap: 8px; }
	.dp-faq__item { padding: 0 14px; }
	.dp-faq__item summary { padding: 11px 26px 11px 0; }
	.dp-faq__q { font-size: .92rem; }
	.dp-faq__a { font-size: .9rem; }
	.dp-person { padding: 12px; gap: 12px; margin: 10px 0; }
	.dp-person__img, .dp-person .dp-avatar { width: 48px; height: 48px; font-size: 1rem; }
	.dp-person__name { font-size: 1.04rem; margin-bottom: 6px; }
	.dp-schemes { gap: 10px; }
	.dp-scheme { padding: 14px; }
	.dp-aside__box { padding: 14px 16px; margin-bottom: 0; }
	.dp-aside--inline { gap: 10px; margin-bottom: 12px; }
	.dp-cloud a { height: 30px; padding: 0 11px; font-size: .82rem; }
	.dp-bar { grid-template-columns: minmax(90px, 34%) 1fr 58px; gap: 8px; font-size: .84rem; }
	.dp-map { height: 260px; }
	.dp-suggest { padding: 2px 14px; }
}
.dp-answer__more[hidden] { display: none; }
.dp-answer__more { display: inline-flex; margin: 6px 0 0; padding: 0; border: 0; background: none; color: var(--md-primary); font: inherit; font-size: .84rem; font-weight: 700; cursor: pointer; }
@media (max-width: 600px) {
	.dp-answer:not(.is-open) .dp-answer__text { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
	.dp-answer__src { display: none; }
	.dp-answer__meta { margin-top: 4px; }
	/* Stat cards: one swipeable row instead of a 2×2 block */
	.dp-hero .dp-cards, .dp-hero .dp-cards[data-n] { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(44%, 1fr); grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-right: -12px; padding-right: 12px; padding-bottom: 2px; }
	.dp-hero .dp-cards::-webkit-scrollbar { display: none; }
	.dp-hero .dp-cards[data-n="1"] { grid-auto-columns: 100%; margin-right: 0; padding-right: 0; }
	.dp-hero .dp-card { scroll-snap-align: start; }
	.dp-hero .dp-card dd { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.dp-hero .dp-cards[data-n="2"] { grid-auto-columns: 78%; }
}

/* ===================== v0.4: provenance badges, officials, groups, accordions ===================== */
.dp-badges { display: inline-flex; flex-wrap: wrap; gap: 4px; vertical-align: middle; margin-left: 2px; }
.dp-badge { display: inline-flex; align-items: center; height: 20px; padding: 0 7px; border-radius: 999px; font-size: .68rem; font-weight: 600; line-height: 1; letter-spacing: .01em; color: var(--md-on-surface-variant); background: var(--md-surface-variant); border: 1px solid transparent; white-space: nowrap; text-decoration: none; }
.dp-badge--period { background: transparent; border-color: var(--md-outline-variant); }
.dp-badge--r { background: color-mix(in srgb, #1b8a3d 14%, transparent); color: #146c2e; }
.dp-badge--c { background: color-mix(in srgb, var(--md-primary) 12%, transparent); color: var(--md-primary); }
.dp-badge--m { background: color-mix(in srgb, #b26b00 14%, transparent); color: #8a5300; }
.dp-badge--h { background: color-mix(in srgb, #6b4fbb 14%, transparent); color: #553c9a; }
.dp-badge--x { background: color-mix(in srgb, #555 12%, transparent); color: #444; }
.dp-badge--k { background: color-mix(in srgb, var(--md-secondary) 16%, transparent); color: var(--md-on-secondary-container, #7a2e00); }
.dp-badge--src { background: transparent; border-color: var(--md-outline-variant); color: var(--md-primary); }
.dp-badge--src:hover { border-color: var(--md-primary); }
.dp-cards dd .dp-badges { display: flex; margin: 4px 0 0; }
.dp-cards dd small { font-size: .6em; font-weight: 600; color: var(--md-on-surface-variant); margin-left: 1px; }
.dp-context { font-size: .92rem; color: var(--md-on-surface-variant); border-left: 3px solid var(--md-outline-variant); padding: 4px 0 4px 12px; }
.dp-note--source { border-left-color: var(--md-primary); }

.dp-people { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; margin: 6px 0 14px; }
.dp-person { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border: 1px solid var(--md-outline-variant); border-radius: var(--md-r-md); background: var(--md-surface); }
.dp-person > div { display: flex; flex-direction: column; min-width: 0; }
.dp-person__role { font-size: .74rem; font-weight: 600; letter-spacing: .02em; color: var(--md-on-surface-variant); text-transform: uppercase; }
.dp-person strong { font-size: 1.02rem; overflow: hidden; text-overflow: ellipsis; }
.dp-person__tel { margin-top: 2px; }
.dp-tel { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; text-decoration: none; color: var(--md-primary); }
.dp-tel::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat; }

.dp-stack { display: flex; height: 18px; border-radius: 999px; overflow: hidden; background: var(--md-surface-variant); margin: 8px 0 10px; }
.dp-stack span { display: block; height: 100%; background: hsl(var(--h) 55% 48%); }
.dp-legend { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .86rem; color: var(--md-on-surface-variant); }
.dp-legend li { display: inline-flex; align-items: center; gap: 6px; }
.dp-legend i { width: 10px; height: 10px; border-radius: 3px; background: hsl(var(--h) 55% 48%); }
.dp-legend b { color: var(--md-on-surface); font-weight: 600; }

/* Phones: accordion sections (content stays in the HTML for search engines). */
@media (max-width: 720px) {
	.dp-acc > .dp-section__head { cursor: pointer; position: relative; padding-right: 28px; }
	.dp-acc > .dp-section__head::after { content: ""; position: absolute; right: 4px; top: 50%; width: 9px; height: 9px; border: solid var(--md-on-surface-variant); border-width: 0 2px 2px 0; transform: translateY(-70%) rotate(45deg); transition: transform .2s var(--md-ease, ease); }
	.dp-acc.is-folded > .dp-section__head::after { transform: translateY(-30%) rotate(-45deg); }
	.dp-acc.is-folded > .dp-section__body { display: none; }
	.dp-acc.is-folded { padding-bottom: 6px; }
	.dp-acc.is-folded > .dp-section__head { margin-bottom: 0; }
	.dp-people { grid-template-columns: 1fr; }
	.dp-badge { height: 18px; font-size: .64rem; padding: 0 6px; }
}
@media (prefers-reduced-motion: reduce) { .dp-acc > .dp-section__head::after { transition: none; } }

/* ---------- District illustration behind the hero (v0.5.1) ---------- */
.dp-hero--art { isolation: isolate; background: #021b13; }
.dp-hero__art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; z-index: -2; }
.dp-hero--art::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(2, 30, 21, .94) 0%, rgba(2, 30, 21, .76) 42%, rgba(2, 30, 21, .34) 100%), linear-gradient(to top, rgba(2, 30, 21, .85) 0%, rgba(2, 30, 21, 0) 45%); }
.dp-hero--art .dp-hero__title, .dp-hero--art .dp-hero__sub { text-shadow: 0 1px 14px rgba(0, 0, 0, .45); }
.dp-chip--art { background: rgba(255, 255, 255, .14); color: #ffd59a; box-shadow: inset 0 0 0 1px rgba(253, 179, 60, .35); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
@media (max-width: 600px) {
	.dp-hero--art::before { background: linear-gradient(to top, rgba(2, 30, 21, .96) 0%, rgba(2, 30, 21, .8) 50%, rgba(2, 30, 21, .45) 100%); }
	.dp-hero__art { object-position: center 40%; }
}

/* ===================== v0.6: compact layout (denser, easier to scan) ===================== */
/* Shorter hero, flatter section cards, tighter tables and lists. Phones keep 40px+ tap targets. */
.dp-hero { padding-top: 14px; }
.dp-hero__head { margin: 10px 0 16px; gap: 14px; align-items: center; }
.dp-hero__title { font-size: clamp(1.6rem, 3.2vw, 2.3rem); margin: 8px 0 4px; }
.dp-hero__sub { font-size: .95rem; }
.dp-hero__actions .dp-btn { height: 40px; padding: 0 16px; font-size: .9rem; }
.dp-hero__actions .dp-btn--icon { width: 40px; padding: 0; }
.dp-hero .dp-cards { transform: translateY(22px); }
.dp-hero + .dp-layout { padding-top: 42px; }
.dp-hero:not(:has(.dp-cards)) { padding-bottom: 20px; }
.dp-hero:not(:has(.dp-cards)) + .dp-layout { padding-top: 20px; }
.dp-cards { gap: 10px; }
.dp-card { padding: 10px 14px; gap: 10px; }
.dp-card__icon { width: 38px; height: 38px; border-radius: 10px; }
.dp-card dt { font-size: .7rem; }
.dp-card dd { font-size: 1.1rem; margin-top: 0; }

.dp-layout { padding: 20px 16px 36px; gap: 20px; }
@media (min-width: 1040px) { .dp-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; } }
.dp-article { line-height: 1.6; }

/* Quick answer */
.dp-answer { padding: 12px 18px; margin-bottom: 14px; }
.dp-answer__label { margin-bottom: 4px; }
.dp-answer__text { font-size: 1rem; line-height: 1.6; }
.dp-answer__meta { margin-top: 6px; }

/* Tabs: slimmer sticky bar */
.dp-tabs { margin-bottom: 14px; }
.dp-tabs__track { padding: 4px; }
.dp-tab { padding: 7px 13px; font-size: .86rem; }

/* Section cards: flat, tighter heads and spacing */
.dp-section { padding: 16px 20px 6px; margin-bottom: 12px; box-shadow: none; scroll-margin-top: calc(var(--dp-header-h) + 60px); }
.dp-section__head { gap: 10px; margin-bottom: 10px; }
.dp-section__badge { width: 32px; height: 32px; border-radius: 9px; }
.dp-section__badge .dp-icon { width: 18px; height: 18px; }
.dp-section__head h2 { font-size: 1.16rem; }
.dp-section h3 { font-size: 1rem; margin: 16px 0 6px; }
.dp-section p { margin: 0 0 .7em; }
.dp-custom { padding: 16px 20px; margin-bottom: 12px; }

/* Tables: compact rows, zebra stripes */
.dp-table-wrap { margin: 10px 0 14px; }
.dp-table, .dp-facts { font-size: .9rem; }
.dp-table th, .dp-table td, .dp-facts th, .dp-facts td { padding: 7px 12px; }
.dp-table thead th { padding-top: 8px; padding-bottom: 8px; font-size: .72rem; }
.dp-table tbody tr:nth-child(even) { background: #f8fbf7; }
.dp-table tbody tr:hover { background: #eff6f0; }
.dp-table caption, .dp-facts caption { padding: 8px 12px 2px; }

/* Key facts tables (6+ rows): two label/value pairs per row where there is room; on phones,
   two columns with the label above the value. */
@media screen {
	.dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) tr:nth-child(n) { border-bottom: 1px solid var(--md-outline-variant); background: transparent; }
	.dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) tr:nth-child(odd) { border-inline-end: 1px solid var(--md-outline-variant); }
	.dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) tr:nth-child(4n+1), .dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) tr:nth-child(4n+2) { background: #fafcf9; }
	.dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) tr:last-child, .dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) tr:nth-last-child(2):nth-child(odd) { border-bottom: 0; }
	.dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) th, .dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) td { border-bottom: 0; width: auto; }
}
@media screen and (min-width: 720px) {
	.dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) tr:nth-child(n) { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); }
}
@media screen and (max-width: 719px) {
	.dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) tr:nth-child(n) { display: flex; flex-direction: column; padding: 6px 10px; }
	.dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) th, .dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) td { padding: 0; }
	.dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) th { font-size: .74rem; line-height: 1.35; }
	.dp-facts:where(:has(tr:nth-child(6)):not(.dp-person .dp-facts)) td { line-height: 1.4; }
}

/* Lists, steps, chips, bars */
.dp-list li { margin: 2px 0; }
.dp-steps { margin: 8px 0 14px; }
.dp-steps li { padding: 2px 0 8px 40px; }
.dp-steps li::before { width: 26px; height: 26px; font-size: .82rem; top: 1px; }
.dp-steps li:not(:last-child)::after { left: 12px; top: 30px; }
.dp-cloud { gap: 6px; margin: 8px 0 14px; }
.dp-cloud a { height: 34px; padding: 0 12px; }
.dp-bars { gap: 6px; margin: 10px 0 16px; }
.dp-bar__track { height: 8px; }
.dp-map { height: 300px; }
.dp-note { padding: 6px 12px; }

/* Stat cards inside the article: flat tiles instead of floating cards */
.dp-article .dp-cards { margin: 10px 0 12px; }
.dp-article .dp-card { box-shadow: none; border: 1px solid var(--md-outline-variant); background: var(--md-surface-dim); padding: 8px 12px; }
.dp-article .dp-card dd { font-size: 1.05rem; }

/* People: avatar top-aligned; their election table as a compact grid of figures */
.dp-person { margin: 10px 0; }
.dp-person:has(.dp-table-wrap) { align-items: flex-start; padding: 12px 14px; }
.dp-person:has(.dp-table-wrap) .dp-person__img, .dp-person:has(.dp-table-wrap) > .dp-avatar { width: 52px; height: 52px; }
.dp-person__name { margin: 0 0 6px; font-size: 1.12rem; }
.dp-person .dp-chips { gap: 6px; }
.dp-person .dp-table-wrap { margin: 8px 0 6px; }
.dp-person .dp-note { margin: 6px 0 0; }
@media screen {
	.dp-person .dp-facts tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dp-person .dp-facts tr { display: flex; flex-direction: column; justify-content: flex-start; padding: 6px 12px; background: transparent; border-bottom: 1px solid var(--md-outline-variant); }
	.dp-person .dp-facts tr:nth-child(odd) { border-inline-end: 1px solid var(--md-outline-variant); }
	.dp-person .dp-facts th, .dp-person .dp-facts td { padding: 0; border: 0; width: auto; }
	.dp-person .dp-facts th { font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }
	.dp-person .dp-facts tr:nth-last-child(-n+2) { border-bottom: 0; }
}
@media screen and (min-width: 720px) {
	.dp-person .dp-facts tbody { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dp-person .dp-facts tr:nth-child(odd) { border-inline-end: 0; }
	.dp-person .dp-facts tr:not(:nth-child(3n)) { border-inline-end: 1px solid var(--md-outline-variant); }
	.dp-person .dp-facts tr:nth-last-child(-n+2) { border-bottom: 1px solid var(--md-outline-variant); }
	.dp-person .dp-facts tr:nth-last-child(-n+3):nth-child(3n+1), .dp-person .dp-facts tr:nth-last-child(-n+3):nth-child(3n+1) ~ tr { border-bottom: 0; }
}

/* Scheme cards: tighter, three across on wide screens */
.dp-schemes { gap: 10px; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); margin: 12px 0 14px; }
.dp-scheme { padding: 14px; }
.dp-scheme h3 { margin: 2px 0 4px; font-size: .98rem; line-height: 1.3; }
.dp-scheme p { font-size: .86rem; line-height: 1.5; margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dp-scheme .dp-facts { font-size: .8rem; }
.dp-scheme .dp-facts th, .dp-scheme .dp-facts td { padding: 5px 8px; }
.dp-scheme .dp-facts tr { display: block; }
.dp-scheme .dp-facts th { display: block; width: auto; padding-bottom: 0; font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }
.dp-scheme .dp-facts td { display: block; padding-top: 1px; line-height: 1.4; }

/* FAQ: one joined list, compact rows */
.dp-faq { gap: 0; margin: 6px 0 14px; border: 1px solid var(--md-outline-variant); border-radius: var(--md-r-md); overflow: hidden; background: var(--md-surface); }
.dp-faq__item { border: 0; border-radius: 0; border-top: 1px solid var(--md-outline-variant); padding: 0 16px; }
.dp-faq__item:first-child { border-top: 0; }
.dp-faq__item[open] { box-shadow: none; background: #fafcf9; }
.dp-faq__item summary { padding: 11px 30px 11px 0; }
.dp-faq__item summary:hover .dp-faq__q { color: var(--md-primary); }
.dp-faq__item summary:focus-visible { outline-offset: -3px; }
.dp-faq .dp-faq__q { font-size: .95rem; line-height: 1.45; color: var(--md-on-surface); margin: 0; }
.dp-faq__a { padding: 0 0 10px; }
.dp-faq__a p { margin: 0 0 .5em; }

/* Sources: smaller print, two columns where there is room */
#sources .dp-list { font-size: .86rem; line-height: 1.45; }
@media (min-width: 720px) { #sources .dp-list { columns: 2 280px; column-gap: 32px; } #sources .dp-list li { break-inside: avoid; } }
.dp-suggest { margin-top: 14px; }
.dp-suggest summary { padding: 9px 0; }

/* Aside */
.dp-aside__box { padding: 14px 16px; margin-bottom: 12px; }
.dp-aside__title { margin-bottom: 6px; }
.dp-aside li a { padding: 7px 2px; font-size: .9rem; }
.dp-qf > div { padding: 5px 0; }
.dp-aside .dp-where li { padding: 2px 0 7px 24px; }
.dp-where li::before { top: 8px; }
.dp-where li:not(:last-child)::after { top: 20px; }
.dp-aside__cta p { font-size: .88rem; margin-bottom: 10px; }

/* Directory hubs (/…/banks/, /…/villages/ …): compact group headings */
.dp-hub .dp-article > h2, .dp-hub-body > h2 { font-size: 1.08rem; line-height: 1.3; margin: 18px 0 6px; }
.dp-hub .dp-article > h2 small, .dp-hub-body > h2 small { font-weight: 500; color: var(--md-on-surface-variant); font-size: .82em; }
.dp-hub-body > p { margin: 0 0 10px; }
/* Hubs without tables (villages, gram panchayats): an index of name + villages, in columns. */
.dp-hub-body--index > h2 { margin: 0; padding-top: 8px; border-top: 1px solid var(--md-outline-variant); font-size: 1rem; break-after: avoid; }
.dp-hub-body--index > h2 a { display: block; text-decoration: none; }
.dp-hub-body--index > h2 a:hover { text-decoration: underline; }
.dp-hub-body--index > h2 + p { margin: 0; padding-bottom: 8px; font-size: .86rem; line-height: 1.45; color: var(--md-on-surface-variant); break-before: avoid; }
.dp-hub-body--index > h2:not(:has(+ p)) { padding-bottom: 8px; }
@media (min-width: 720px) {
	.dp-hub-body--index { columns: 2 280px; column-gap: 32px; background: var(--md-surface); border: 1px solid var(--md-outline-variant); border-radius: var(--md-r-lg); padding: 6px 20px 8px; margin: 0 0 16px; }
	.dp-hub-body--index > * { break-inside: avoid; }
}

/* Phones */
@media (max-width: 600px) {
	.dp-hero__head { margin: 6px 0 12px; gap: 10px; }
	.dp-hero__title { font-size: clamp(1.3rem, 6vw, 1.6rem); margin: 6px 0 2px; }
	.dp-hero__actions .dp-btn { height: 40px; }
	.dp-hero__actions .dp-btn--icon { width: 40px; }
	/* Key facts: a 2x2 grid, so all four show without swiping. */
	.dp-hero .dp-cards, .dp-hero .dp-cards[data-n] { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; margin-right: 0; padding-right: 0; gap: 6px; }
	.dp-hero .dp-cards[data-n="1"] { grid-template-columns: minmax(0, 1fr); }
	.dp-hero .dp-cards[data-n="3"] > .dp-card:first-child { grid-column: 1 / -1; }
	.dp-hero .dp-card { padding: 7px 10px; gap: 8px; }
	.dp-hero .dp-card__icon { display: none; }
	.dp-hero .dp-card dt { font-size: .64rem; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.dp-hero .dp-card > div { min-width: 0; }
	.dp-hero .dp-card dd { font-size: .92rem; line-height: 1.25; -webkit-line-clamp: 2; overflow-wrap: break-word; }
	.dp-hero .dp-cards { transform: translateY(18px); }
	.dp-hero + .dp-layout { padding-top: 30px; }
	.dp-layout { padding: 14px 12px 24px; gap: 12px; }
	.dp-answer { padding: 10px 12px; margin-bottom: 10px; }
	.dp-answer__text { font-size: .93rem; line-height: 1.55; }
	.dp-tabs { margin-bottom: 10px; }
	.dp-tab { padding: 0 12px; min-height: 36px; font-size: .8rem; }
	.dp-section { padding: 12px 12px 2px; margin-bottom: 8px; }
	.dp-section__head { margin-bottom: 8px; min-height: 32px; }
	.dp-section__badge { width: 30px; height: 30px; }
	.dp-section__head h2 { font-size: 1.02rem; }
	.dp-acc > .dp-section__head { min-height: 40px; }
	.dp-acc.is-folded { padding-bottom: 2px; padding-top: 6px; }
	.dp-table, .dp-facts { font-size: .84rem; }
	.dp-table th, .dp-table td, .dp-facts th, .dp-facts td { padding: 6px 9px; }
	.dp-faq__item { padding: 0 12px; }
	.dp-faq__item summary { padding: 10px 26px 10px 0; }
	.dp-faq .dp-faq__q { font-size: .9rem; }
	.dp-faq__a { font-size: .88rem; }
	#sources .dp-list { font-size: .82rem; padding-left: 18px; }
	.dp-cloud a { height: 36px; padding: 0 11px; font-size: .82rem; }
	.dp-map { height: 220px; }
	.dp-schemes { grid-template-columns: minmax(0, 1fr); }
	.dp-person:has(.dp-table-wrap) { flex-wrap: wrap; gap: 10px; }
	.dp-person:has(.dp-table-wrap) .dp-person__img, .dp-person:has(.dp-table-wrap) > .dp-avatar { width: 40px; height: 40px; }
	.dp-person:has(.dp-table-wrap) > div { flex: 1 1 200px; }
	.dp-aside--inline { gap: 8px; margin-bottom: 8px; }
	.dp-aside li a { min-height: 40px; }
	/* Directory tables become compact cards: name first, the rest as one line below. */
	.dp-hub .dp-article .dp-table-wrap { border: 0; overflow: visible; }
	.dp-hub .dp-article .dp-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.dp-hub .dp-article .dp-table, .dp-hub .dp-article .dp-table tbody { display: block; }
	.dp-hub .dp-article .dp-table tbody tr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; padding: 8px 10px; border: 1px solid var(--md-outline-variant); border-top: 0; background: var(--md-surface); }
	.dp-hub .dp-article .dp-table tbody tr:first-child { border-top: 1px solid var(--md-outline-variant); border-radius: var(--md-r-md) var(--md-r-md) 0 0; }
	.dp-hub .dp-article .dp-table tbody tr:last-child { border-radius: 0 0 var(--md-r-md) var(--md-r-md); }
	.dp-hub .dp-article .dp-table tbody tr:only-child { border-radius: var(--md-r-md); }
	.dp-hub .dp-article .dp-table tbody tr:nth-child(even) { background: #fafcf9; }
	.dp-hub .dp-article .dp-table tbody tr.dp-row-hidden { display: none; }
	.dp-hub .dp-article .dp-table td { display: block; padding: 0; border: 0; font-size: .8rem; color: var(--md-on-surface-variant); line-height: 1.45; }
	.dp-hub .dp-article .dp-table td:first-child { flex: 1 1 60%; font-size: .9rem; font-weight: 600; color: var(--md-on-surface); }
	.dp-hub .dp-article .dp-table td:empty { display: none; }
	.dp-hub .dp-article .dp-table td:last-child:not(:nth-child(-n+2)) { flex-basis: 100%; }
	.dp-hub .dp-article > h2 { font-size: 1rem; margin: 14px 0 6px; }
	.dp-hub .dp-table-tools { margin: 6px 0 6px; }
	.dp-hub .dp-more { margin: 6px 0 12px; }
	.dp-hub-body--index > h2 { padding-top: 8px; }
}

/* FAQ: questions after the first few sit behind one "Show N more questions" toggle. */
.dp-faq__more { border-top: 1px solid var(--md-outline-variant); }
.dp-faq__more > summary { cursor: pointer; list-style: none; padding: 12px 16px; font-weight: 700; color: var(--md-primary); text-align: center; background: var(--md-surface-dim, #f5f8f3); }
.dp-faq__more > summary::-webkit-details-marker { display: none; }
.dp-faq__more > summary:hover { background: var(--md-primary-container); }
.dp-faq__more > summary:focus-visible { outline-offset: -3px; }
.dp-faq__more[open] > summary { display: none; }
.dp-faq__more > .dp-faq__item:first-of-type { border-top: 0; }

/* ---------- Blog: article cards, the band on place pages, article lists ---------- */
.bcards { display: grid; gap: 16px; }
.bcards--grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.bcards--feature { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
.bcards--feature > .bcard--feature { grid-row: span var(--side, 2); }
.bcards--rail { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.bcards--list { gap: 0; }
.bcard { position: relative; display: flex; flex-direction: column; min-width: 0; background: var(--md-surface, #fff); border: 1px solid var(--md-outline-variant); border-radius: 18px; overflow: hidden; isolation: isolate; box-shadow: 0 1px 2px rgba(6, 24, 16, .06), 0 4px 14px rgba(6, 24, 16, .06); transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s, border-color .35s; }
.bcard:hover, .bcard:focus-within { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(6, 24, 16, .16); border-color: transparent; }
.bcard__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #0a2219; flex: none; }
.bcard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.01); transition: transform .8s cubic-bezier(.2, .7, .2, 1); filter: saturate(1.06); }
.bcard:hover .bcard__img { transform: scale(1.06); }
.bcard__img--plain { display: block; background: radial-gradient(120% 90% at 20% 10%, hsl(var(--h, 150) 70% 52%) 0%, hsl(calc(var(--h, 150) + 30) 65% 28%) 55%, #0a2219 100%); }
.bcard__cat { position: absolute; z-index: 2; top: 12px; left: 12px; max-width: calc(100% - 24px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 4px 10px; border-radius: 999px; background: rgba(255, 255, 255, .93); color: var(--md-primary); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 2px 8px rgba(0, 0, 0, .12); }
.bcard__body { position: relative; display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 0; padding: 14px 16px 16px; }
.bcard__place { display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; max-width: 100%; color: #a43a0a; font-size: .74rem; font-weight: 700; letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bcard__place .dp-icon { flex: none; fill: currentColor; }
.bcard .bcard__title { margin: 0; padding: 0; border: 0; font-size: 1.06rem; line-height: 1.32; font-weight: 750; letter-spacing: -.01em; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bcard .bcard__title a { color: var(--md-on-surface); text-decoration: none; }
.bcard .bcard__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.bcard:hover .bcard__title a { color: var(--md-primary); }
.bcard .bcard__excerpt { margin: 0; color: var(--md-on-surface-variant); font-size: .9rem; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bcard .bcard__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: auto 0 0; padding-top: 4px; color: var(--md-on-surface-variant); font-size: .78rem; font-weight: 500; }
/* The large card: picture fills it, words sit on a dark fade. */
.bcard--feature { min-height: 380px; border: 0; background: #0a2219; color: #fff; }
.bcard--feature .bcard__media { position: absolute; inset: 0; aspect-ratio: auto; }
.bcard--feature .bcard__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(3, 14, 10, .94) 0%, rgba(3, 14, 10, .7) 30%, rgba(3, 14, 10, .15) 62%, rgba(3, 14, 10, 0) 80%); }
.bcard--feature .bcard__body { justify-content: flex-end; padding: 22px 24px 22px; gap: 8px; }
.bcard--feature .bcard__place { color: #ffd59a; }
.bcard--feature .bcard__title { font-size: clamp(1.3rem, 2.4vw, 1.75rem); line-height: 1.2; -webkit-line-clamp: 4; }
.bcard--feature .bcard__title a, .bcard--feature:hover .bcard__title a { color: #fff; text-shadow: 0 1px 14px rgba(0, 0, 0, .35); }
.bcard--feature .bcard__excerpt { color: rgba(255, 255, 255, .86); font-size: .95rem; -webkit-line-clamp: 2; }
.bcard--feature .bcard__meta { margin-top: 2px; color: rgba(255, 255, 255, .75); }
/* One article: picture beside the words. */
.bcard--wide { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.bcard--wide .bcard__media { aspect-ratio: auto; min-height: 250px; }
.bcard--wide .bcard__body { justify-content: center; padding: 22px 24px; gap: 8px; }
.bcard--wide .bcard__title { font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.25; }
/* Small cards beside the large one, and sidebar rows. */
.bcard--side, .bcard--list { display: grid; grid-template-columns: 136px minmax(0, 1fr); }
.bcard--side .bcard__media, .bcard--list .bcard__media { aspect-ratio: auto; min-height: 100%; }
.bcard--side .bcard__cat { top: 8px; left: 8px; font-size: .58rem; padding: 3px 7px; }
.bcard--side .bcard__body { padding: 12px 14px; gap: 4px; }
.bcard--side .bcard__title { font-size: .98rem; }
.bcard--side .bcard__place { white-space: normal; line-height: 1.3; }
.bcard--list { grid-template-columns: 64px minmax(0, 1fr); gap: 10px; padding: 10px 0; border: 0; border-top: 1px solid var(--md-outline-variant); border-radius: 0; box-shadow: none; background: none; }
.bcard--list:first-child { border-top: 0; padding-top: 2px; }
.bcard--list:hover, .bcard--list:focus-within { transform: none; box-shadow: none; }
.bcard--list .bcard__media { border-radius: 10px; aspect-ratio: 1; min-height: 0; }
.bcard--list .bcard__body { padding: 0; gap: 2px; }
.bcard--list .bcard__title { font-size: .9rem; -webkit-line-clamp: 2; }
.bcard--list .bcard__meta { padding: 0; font-size: .72rem; }

.dp-blog-band { position: relative; overflow: hidden; margin: 0 0 20px; padding: 22px 24px 24px; border-radius: var(--md-r-lg); border: 1px solid var(--md-outline-variant); background: linear-gradient(180deg, var(--zl-cream, #fdfcf5) 0%, var(--md-surface, #fff) 70%); box-shadow: var(--md-elev-1); scroll-margin-top: calc(var(--dp-header-h, 68px) + 72px); }
.dp-blog-band::before { content: ""; position: absolute; right: -90px; top: -110px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(253, 179, 60, .22), transparent 65%); pointer-events: none; }
.dp-blog-band__head { position: relative; display: flex; align-items: center; gap: 12px; margin: 0 0 16px; flex-wrap: wrap; }
.dp-blog-band__badge { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; flex: none; background: linear-gradient(135deg, var(--md-secondary-container), #fff6ee); color: var(--md-secondary); }
.dp-blog-band__badge .dp-icon { fill: currentColor; }
.dp-blog-band__kicker { margin: 0; color: #a43a0a; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.dp-blog-band__head h2 { margin: 0; padding: 0; border: 0; font-size: 1.3rem; line-height: 1.3; font-weight: 700; letter-spacing: -.01em; color: var(--md-on-surface); }
.dp-blog-band__more { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--md-outline); background: var(--md-surface, #fff); color: var(--md-primary); font-size: .88rem; font-weight: 700; text-decoration: none; white-space: nowrap; transition: background .15s, border-color .15s; }
.dp-blog-band__more:hover { background: var(--md-primary); border-color: var(--md-primary); color: #fff; }
.dp-blog-band__more .dp-icon { fill: currentColor; }
.dp-blog-hub__intro { margin: 0 0 16px; color: var(--md-on-surface-variant); }
.dp-blog-block { margin: 24px 0; }
.dp-blog-block__title { margin: 0 0 14px; font-size: 1.35rem; }
.bpager { display: flex; flex-wrap: wrap; gap: 6px; margin: 22px 0 6px; }
.bpager a, .bpager span { display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--md-outline); background: var(--md-surface, #fff); color: var(--md-primary); font-weight: 700; text-decoration: none; }
.bpager span[aria-current] { background: var(--md-primary); border-color: var(--md-primary); color: #fff; }
@media (max-width: 860px) {
	.bcards--feature { grid-template-columns: minmax(0, 1fr); }
	.bcards--feature > .bcard--feature { grid-row: auto; }
}
@media (max-width: 600px) {
	.dp-blog-band { padding: 16px 14px 16px; border-radius: var(--md-r-md); }
	.dp-blog-band__head { gap: 10px; margin-bottom: 12px; }
	.dp-blog-band__head h2 { font-size: 1.12rem; }
	.dp-blog-band__more { margin-left: 0; padding: 6px 12px; font-size: .82rem; }
	.bcards { gap: 10px; }
	.bcard { border-radius: 14px; }
	.bcard--feature { min-height: 300px; }
	.bcard--feature .bcard__body { padding: 16px; }
	.bcard--wide { grid-template-columns: minmax(0, 1fr); }
	.bcard--wide .bcard__media { min-height: 0; aspect-ratio: 16 / 10; }
	.bcard--side { grid-template-columns: 108px minmax(0, 1fr); }
	.bcard--side .bcard__body { padding: 10px 12px; }
	.bcard--side .bcard__title { font-size: .92rem; }
	.bcards--rail { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 80%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; }
	.bcards--rail > .bcard { scroll-snap-align: start; }
	.bcards--grid { grid-template-columns: minmax(0, 1fr); }
	/* After the first card, phones get compact rows: picture beside the title. */
	.bcards--grid > .bcard:not(:first-child) { display: grid; grid-template-columns: 108px minmax(0, 1fr); }
	.bcards--grid > .bcard:not(:first-child) .bcard__media { aspect-ratio: auto; min-height: 100%; }
	.bcards--grid > .bcard:not(:first-child) .bcard__cat { top: 8px; left: 8px; font-size: .56rem; padding: 3px 7px; }
	.bcards--grid > .bcard:not(:first-child) .bcard__excerpt { display: none; }
	.bcards--grid > .bcard:not(:first-child) .bcard__body { padding: 10px 12px; gap: 4px; }
	.bcards--grid > .bcard:not(:first-child) .bcard__title { font-size: .94rem; }
	.bcards--grid > .bcard:not(:first-child) .bcard__place { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
	.bcard, .bcard__img { transition: none; }
	.bcard:hover, .bcard:hover .bcard__img { transform: none; }
}
