:root {
	--dn-navy: #0b2545;
	--dn-blue: #075985;
	--dn-sky: #0ea5e9;
	--dn-blue-light: #e0f2fe;
	--dn-gold: #fbbf24;
	--dn-ink: #172033;
	--dn-muted: #536275;
	--dn-bg: #f6f7f8;
	--dn-white: #ffffff;
	--dn-radius: 0.5rem;
	--dn-shadow: 0 1px 3px rgba(11, 37, 69, 0.08), 0 4px 14px rgba(11, 37, 69, 0.06);
}

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

body {
	margin: 0;
	font-family: 'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--dn-ink);
	background: var(--dn-white);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Lexend', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	color: var(--dn-navy);
	line-height: 1.25;
}

a {
	color: var(--dn-blue);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

/* Accessible focus indicators (WCAG 2.4.7 / 2.4.11) */
:focus-visible {
	outline: 3px solid var(--dn-blue);
	outline-offset: 3px;
}

.dn-hero a:focus-visible,
.dn-hero button:focus-visible,
.dn-site-footer a:focus-visible {
	outline: 3px solid var(--dn-gold);
	outline-offset: 3px;
}

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

/* Skip link */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	word-wrap: normal !important;
}

.dn-skip-link:focus {
	clip: auto;
	clip-path: none;
	height: auto;
	left: 6px;
	top: 6px;
	width: auto;
	z-index: 100000;
	padding: 12px 18px;
	background: var(--dn-navy);
	color: #fff;
	border-radius: 4px;
	text-decoration: none;
}

/* Container & layout */
.dn-container {
	max-width: 1540px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
}

.dn-content-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 48px;
}

.dn-main {
	padding: 56px 0;
	min-height: 60vh;
}

/* Header */
.dn-site-header {
	background: #ffffff;
	color: var(--dn-ink);
	position: sticky;
	top: 0;
	z-index: 50;
	box-shadow: 0 1px 3px rgba(11, 37, 69, 0.08), 0 1px 8px rgba(11, 37, 69, 0.05);
}

.dn-header-inner {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 32px;
	min-height: 72px;
	padding-top: 8px;
	padding-bottom: 8px;
}

/* Logo: fixed, bounded size so it never dominates or breaks on any device. */
.dn-logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	max-width: 220px;
}

.dn-logo .custom-logo {
	display: block;
	width: auto;
	max-height: 56px;
	max-width: 220px;
	height: auto;
}

.dn-branding {
	display: flex;
	align-items: center;
	min-width: 0;
}

.dn-site-title {
	margin: 0;
	font-family: 'Lexend', sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.1;
}

.dn-site-title a {
	color: var(--dn-navy);
}

.dn-site-title a:hover {
	color: var(--dn-blue);
	text-decoration: none;
}

.dn-site-description {
	margin: 3px 0 0;
	color: var(--dn-muted);
	font-size: 0.78rem;
}

/* Navigation */
.dn-nav .dn-menu {
	display: flex;
	align-items: center;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dn-nav .dn-menu > li {
	position: relative;
}

.dn-nav .dn-menu a {
	display: flex;
	align-items: center;
	padding: 9px 14px;
	color: var(--dn-ink);
	font-size: clamp(0.85rem, 0.8rem + 0.25vw, 1.02rem);
	font-weight: 600;
	border-radius: 8px;
	white-space: nowrap;
	transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.dn-nav .dn-menu a:hover,
.dn-nav .dn-menu .current-menu-item > a,
.dn-nav .dn-menu .current-menu-ancestor > a {
	color: var(--dn-blue);
	background: var(--dn-blue-light);
	text-decoration: none;
}

/* Dropdown chevron indicator for top-level menu items */
.dn-nav .dn-menu > .menu-item-has-children > a {
	gap: 7px;
}

.dn-nav .dn-menu > .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.18s ease;
	margin-left: 2px;
	opacity: 0.75;
}

.dn-nav .dn-menu > .menu-item-has-children:hover > a::after,
.dn-nav .dn-menu > .menu-item-has-children:focus-within > a::after {
	transform: rotate(-135deg) translateY(-1px);
	opacity: 1;
	color: var(--dn-blue);
}

/* Primary Submenu (Level 1 Dropdown) */
.dn-nav .sub-menu {
	display: none;
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	min-width: 230px;
	background: #ffffff;
	border: 1px solid rgba(11, 37, 69, 0.08);
	border-top: 3px solid var(--dn-blue);
	border-radius: 12px;
	box-shadow: 0 14px 35px -5px rgba(11, 37, 69, 0.14), 0 4px 12px rgba(11, 37, 69, 0.06);
	padding: 8px;
	list-style: none;
	margin: 0;
	z-index: 100;
	animation: dnSubmenuFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes dnSubmenuFadeIn {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Hover bridge so mouse movement never loses focus/hover */
.dn-nav .dn-menu > .menu-item-has-children > .sub-menu::before {
	content: "";
	position: absolute;
	top: -8px;
	left: 0;
	right: 0;
	height: 8px;
}

.dn-nav .sub-menu li {
	position: relative;
	margin: 2px 0;
}

.dn-nav .sub-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 9px 14px;
	color: var(--dn-ink);
	font-size: 0.92rem;
	font-weight: 500;
	border-radius: 7px;
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
}

.dn-nav .sub-menu a:hover,
.dn-nav .sub-menu a:focus,
.dn-nav .sub-menu li.current-menu-item > a {
	background: #f0f7ff;
	color: var(--dn-blue);
	padding-left: 17px;
	text-decoration: none;
}

/* Flyout Chevron indicator for nested submenu items (Level 2+) */
.dn-nav .sub-menu .menu-item-has-children > a {
	gap: 12px;
}

.dn-nav .sub-menu .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.18s ease, border-color 0.18s ease;
	margin-left: auto;
	opacity: 0.65;
	flex-shrink: 0;
}

.dn-nav .sub-menu .menu-item-has-children:hover > a::after,
.dn-nav .sub-menu .menu-item-has-children:focus-within > a::after {
	transform: rotate(45deg) translateX(2px);
	opacity: 1;
	color: var(--dn-blue);
}

/* Nested Submenu (Level 2 Flyout Dropdown) */
.dn-nav .sub-menu .sub-menu {
	top: -8px;
	left: calc(100% + 6px);
	border-top: 3px solid var(--dn-sky);
	animation: dnSubmenuSlideIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes dnSubmenuSlideIn {
	from {
		opacity: 0;
		transform: translateX(-6px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* Bridge for nested flyout */
.dn-nav .sub-menu .sub-menu::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -8px;
	width: 8px;
}

/* Display submenus on hover or keyboard focus-within */
.dn-nav .dn-menu li:hover > .sub-menu,
.dn-nav .dn-menu li:focus-within > .sub-menu {
	display: block;
}

/* Mobile toggle (hamburger) */
.dn-mobile-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	margin-left: auto;
	background: none;
	border: 1px solid #d8dee9;
	border-radius: 8px;
	cursor: pointer;
	padding: 10px;
	width: 44px;
	height: 44px;
}

.dn-mobile-toggle:focus-visible {
	outline: 2px solid var(--dn-blue);
	outline-offset: 2px;
}

.dn-toggle-bar {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--dn-navy);
	margin: 0 auto;
	transition: all 0.3s ease;
}

/* Hero */
.dn-hero {
	position: relative;
	width: 100%;
	overflow: hidden;
	margin-top: -56px;
}

.dn-hero-slider {
	position: relative;
	width: 100%;
}

.dn-hero-slide {
	position: relative;
	display: none;
	width: 100%;
	min-height: clamp(380px, 60vh, 750px);
	background-color: var(--dn-navy);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	align-items: center;
}

.dn-hero-slide.dn-hero-slide-active {
	display: flex;
}

.dn-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(4, 15, 34, 0.82) 0%, rgba(7, 89, 133, 0.55) 55%, rgba(11, 37, 69, 0.35) 100%);
}

.dn-hero-content {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	width: 100%;
}

.dn-hero-text {
	max-width: 720px;
	padding: clamp(48px, 8vw, 112px) 0;
}

.dn-hero-title {
	margin: 0 0 16px;
	color: #ffffff;
	font-size: clamp(1.6rem, 4.2vw, 3.1rem);
	line-height: 1.1;
	font-weight: 700;
}

.dn-hero-subtitle {
	margin: 0 0 28px;
	color: #e0f2fe;
	font-size: clamp(0.95rem, 1.6vw, 1.25rem);
	line-height: 1.6;
	max-width: 60ch;
}

.dn-hero-btn {
	display: inline-block;
	padding: 14px 28px;
	background: var(--dn-gold);
	color: var(--dn-navy);
	border-radius: 8px;
	font-weight: 700;
	font-size: 1rem;
	transition: background 0.2s ease, transform 0.2s ease;
}

.dn-hero-btn:hover {
	background: #fff;
	color: var(--dn-blue);
	text-decoration: none;
	transform: translateY(-2px);
}

/* Hero controls & accessibility */
.dn-hero-controls {
	position: absolute;
	left: 50%;
	bottom: 20px;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 14px;
	z-index: 3;
}

.dn-hero-dots {
	display: flex;
	gap: 10px;
	align-items: center;
}

.dn-hero-dot {
	width: 14px;
	height: 14px;
	padding: 0;
	border: 2px solid rgba(255, 255, 255, 0.85);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	opacity: 0.85;
	transition: opacity 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

.dn-hero-dot:hover,
.dn-hero-dot:focus-visible {
	opacity: 1;
	transform: scale(1.15);
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.dn-hero-dot.dn-hero-dot-active {
	background: var(--dn-gold);
	border-color: var(--dn-gold);
	opacity: 1;
}

.dn-hero-pause {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 50%;
	background: rgba(11, 37, 69, 0.45);
	color: #ffffff;
	cursor: pointer;
	font-size: 10px;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.dn-hero-pause:hover,
.dn-hero-pause:focus-visible {
	background: rgba(11, 37, 69, 0.9);
	border-color: #ffffff;
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

/* Hero fallback (no slides) */
.dn-hero-fallback {
	background: linear-gradient(120deg, #0b2545, #075985);
	min-height: 340px;
	display: flex;
	align-items: center;
}

.dn-hero-content-centered {
	justify-content: center;
}

.dn-hero-content-centered .dn-hero-text {
	text-align: center;
}

/* ---------- Feature sections (front page & content pages) ---------- */
/* Enhanced, attractive treatment for Gutenberg feature sections:
   Who We Are, What You'll Find Here, Get Involved, etc. */

/* Center-aligned section headings get a gold accent underline */
.dn-front-page .wp-block-heading,
.dn-front-page .has-text-align-center.wp-block-heading {
	position: relative;
	padding-bottom: 14px;
}

.dn-front-page .wp-block-heading.has-text-align-center::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 64px;
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--dn-gold), #f59e0b);
}

.dn-front-page .wp-block-group > .wp-block-heading:not(.has-text-align-center)::after {
	left: 0;
	transform: none;
}

.dn-front-page .wp-block-group > .wp-block-heading {
	margin-bottom: 18px;
}

.dn-front-page .wp-block-group > .has-text-align-center.wp-block-heading {
	margin-bottom: 12px;
}

/* Feature columns -> elevated cards */
.dn-front-page .wp-block-columns {
	gap: 28px;
	margin-top: 8px;
}

.dn-front-page .wp-block-column {
	position: relative;
	padding: 34px 28px;
	border: 1px solid #e7ebf3;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(11, 37, 69, 0.04), 0 10px 30px -18px rgba(11, 37, 69, 0.18);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	overflow: hidden;
}

.dn-front-page .wp-block-column:hover {
	transform: translateY(-6px);
	box-shadow: 0 6px 18px -8px rgba(11, 37, 69, 0.16), 0 24px 50px -24px rgba(11, 37, 69, 0.28);
	border-color: #cfe3f6;
}

/* Top accent bar on each feature card */
.dn-front-page .wp-block-column::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--dn-navy), var(--dn-sky));
}

/* Icon badge drawn from the first letter of each card heading */
.dn-front-page .wp-block-column > .wp-block-heading {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 14px;
	font-size: 1.35rem;
	color: var(--dn-navy);
}

.dn-front-page .wp-block-column > .wp-block-heading[data-label]::before {
	content: attr(data-label);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	flex-shrink: 0;
	border-radius: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	color: #ffffff;
	background: linear-gradient(135deg, var(--dn-navy), var(--dn-sky));
	box-shadow: 0 8px 18px -8px rgba(11, 37, 69, 0.5);
}

/* Distinct badges per card (varied tints) */
.dn-front-page .wp-block-column:nth-child(1) > .wp-block-heading::before {
	background: linear-gradient(135deg, #075985, #0ea5e9);
}
.dn-front-page .wp-block-column:nth-child(2) > .wp-block-heading::before {
	background: linear-gradient(135deg, #0b2545, #075985);
}
.dn-front-page .wp-block-column:nth-child(3) > .wp-block-heading::before {
	background: linear-gradient(135deg, #d97706, #fbbf24);
}

.dn-front-page .wp-block-column > p {
	margin: 0;
	color: var(--dn-muted);
	line-height: 1.7;
	font-size: 1rem;
}

.dn-front-page .wp-block-column > .wp-block-button {
	margin-top: 22px;
}

/* Soft tinted alternate (alignfull) section content */
.dn-front-page .alignfull.has-background .wp-block-column {
	background: rgba(255, 255, 255, 0.9);
}

/* Get Involved / CTA buttons */
.dn-front-page .wp-block-buttons {
	margin-top: 8px;
}

.dn-front-page .wp-block-button__link {
	border-radius: 999px;
	padding: 14px 30px;
	font-weight: 600;
	transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.dn-front-page .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 24px -12px rgba(11, 37, 69, 0.5);
	opacity: 0.95;
}

/* Cards */
.dn-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px;
}

.dn-card {
	background: var(--dn-white);
	border: 1px solid #e5e9f0;
	border-radius: var(--dn-radius);
	overflow: hidden;
	box-shadow: var(--dn-shadow);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dn-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(11, 37, 69, 0.12);
}

.dn-card-thumb img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.dn-card-body {
	padding: 20px;
}

.dn-card-title {
	margin: 0 0 8px;
	font-size: 1.1rem;
}

.dn-card-meta {
	color: var(--dn-muted);
	font-size: 0.82rem;
	margin-bottom: 10px;
}

.dn-card-excerpt {
	font-size: 0.95rem;
	color: var(--dn-muted);
}

.dn-card-link {
	font-weight: 600;
	font-size: 0.9rem;
}

/* Entry (single) */
.dn-entry-header {
	margin-bottom: 24px;
}

.dn-entry-title {
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	margin: 0 0 10px;
}

/* Structured metadata (provider / event) */
.dn-meta-details {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 0;
	border: 1px solid #e5e9f0;
	border-radius: var(--dn-radius);
	overflow: hidden;
	margin: 0 0 32px;
}

.dn-meta-row {
	display: contents;
}

.dn-meta-row dt,
.dn-meta-row dd {
	margin: 0;
	padding: 12px 16px;
	border-bottom: 1px solid #e5e9f0;
}

.dn-meta-row:last-child dt,
.dn-meta-row:last-child dd {
	border-bottom: none;
}

.dn-meta-row dt {
	background: var(--dn-bg);
	font-weight: 600;
	color: var(--dn-navy);
}

.dn-entry-meta {
	color: var(--dn-muted);
	font-size: 0.9rem;
}

.dn-entry-content > * {
	max-width: 1492px;
}

/* Keep long-form article bodies comfortable to read even though the
   global content width matches the header. */
body.single-post .dn-entry-content > *,
body.single .dn-entry-content > .wp-block-paragraph,
body.single .dn-entry-content > p {
	max-width: 800px;
}

.dn-entry-content .alignwide {
	max-width: 1492px;
	margin-left: auto;
	margin-right: auto;
}

.dn-entry-thumbnail img {
	border-radius: var(--dn-radius);
}

/* Page header */
.dn-page-header {
	margin-bottom: 32px;
}

.dn-page-title {
	font-size: clamp(1.8rem, 4vw, 2.4rem);
	margin: 0;
}

/* Media players (audio / video) */
.dn-media-wrap {
	margin: 0 0 32px;
	padding: 20px;
	background: var(--dn-bg);
	border: 1px solid #e5e9f0;
	border-radius: var(--dn-radius);
}

.dn-media {
	width: 100%;
	display: block;
}

.dn-media--audio {
	margin: 0 0 8px;
}

.dn-media--video {
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: var(--dn-radius);
}

.dn-media-list {
	margin-top: 14px;
	border-top: 1px solid #e5e9f0;
	padding-top: 10px;
}

.dn-media-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 6px 0;
	font-size: 0.95rem;
}

.dn-media-item-index {
	color: var(--dn-muted);
	font-weight: 600;
	min-width: 22px;
}

.dn-media-item-link {
	font-weight: 500;
	flex: 1;
}

.dn-media-item-dl {
	font-size: 0.85rem;
}

/* Transcript */
.dn-transcript {
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid #e5e9f0;
}

.dn-transcript-title {
	font-size: 1.3rem;
}

.dn-transcript-body {
	color: var(--dn-ink);
}

/* Book single */
.dn-book-layout {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 32px;
	align-items: start;
	margin-bottom: 32px;
}

.dn-book-cover img {
	border-radius: var(--dn-radius);
	box-shadow: var(--dn-shadow);
}

.dn-book-info .dn-meta-row {
	display: flex;
	gap: 8px;
	margin-bottom: 10px;
	font-size: 1rem;
}

.dn-book-actions {
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.dn-btn {
	display: inline-block;
	padding: 12px 22px;
	border-radius: 999px;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.dn-btn--ghost {
	background: transparent;
	border: 2px solid var(--dn-blue);
	color: var(--dn-blue);
}

.dn-btn--ghost:hover {
	background: var(--dn-blue);
	color: #fff;
	text-decoration: none;
}

/* Sidebar */
.dn-sidebar .widget {
	background: var(--dn-bg);
	border-radius: var(--dn-radius);
	padding: 20px;
	margin-bottom: 24px;
}

.dn-sidebar .widget-title,
.dn-sidebar .widget-title {
	margin-top: 0;
	font-size: 1.1rem;
}

/* ==========================================================================
   Disability Nepal — 4-Tier Accessible Portal Footer Styles
   ========================================================================== */

.dn-site-footer {
	background: linear-gradient(180deg, #072242 0%, #03162c 100%);
	color: #cbd5e1;
	margin-top: 64px;
	border-top: 4px solid #0284c7;
	position: relative;
	font-size: 0.95rem;
	line-height: 1.6;
}

/* Tier 1: Pre-Footer Helpline & Accessibility Desk Strip */
.dn-footer-pre-strip {
	background: rgba(2, 132, 199, 0.12);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding: 24px 0;
}

.dn-footer-pre-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

.dn-footer-pre-col {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}

.dn-footer-helpline-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	background: rgba(56, 189, 248, 0.18);
	color: #38bdf8;
	border: 1px solid rgba(56, 189, 248, 0.35);
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.dn-footer-helpline-num-wrap {
	display: flex;
	align-items: baseline;
	gap: 14px;
	flex-wrap: wrap;
}

.dn-footer-helpline-num {
	font-size: 1.7rem;
	font-weight: 800;
	color: #ffffff;
	text-decoration: none;
	letter-spacing: -0.01em;
	transition: color 0.2s ease;
}

.dn-footer-helpline-num:hover,
.dn-footer-helpline-num:focus {
	color: #38bdf8;
	text-decoration: underline;
}

.dn-footer-helpline-hours {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 0.84rem;
	color: #94a3b8;
	font-weight: 500;
}

.dn-footer-access-title {
	display: block;
	font-size: 0.98rem;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 2px;
}

.dn-footer-access-desc {
	margin: 0;
	font-size: 0.86rem;
	color: #94a3b8;
	max-width: 440px;
	line-height: 1.45;
}

.dn-btn-access-desk {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #0284c7;
	color: #ffffff;
	border-radius: 8px;
	padding: 10px 18px;
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
	flex-shrink: 0;
}

.dn-btn-access-desk:hover,
.dn-btn-access-desk:focus {
	background: #0369a1;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(2, 132, 199, 0.4);
}

/* Tier 2: Main 4-Column Portal Footer */
.dn-footer-main-container {
	padding-top: 52px;
	padding-bottom: 44px;
}

.dn-footer-widgets {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 32px;
	margin-bottom: 36px;
	padding-bottom: 28px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.dn-footer-main-grid {
	display: grid;
	grid-template-columns: 1.35fr 1fr 1fr 1.25fr;
	gap: 38px;
}

/* Col 1: Identity */
.dn-footer-brand {
	margin-bottom: 16px;
}

.dn-footer-logo-wrap {
	margin-bottom: 12px;
}

.dn-footer-logo-wrap img {
	max-height: 52px;
	width: auto;
	border-radius: 6px;
	display: block;
}

.dn-footer-brand-title {
	margin: 0 0 4px;
	font-size: 1.45rem;
	font-weight: 800;
	line-height: 1.25;
}

.dn-footer-brand-title a {
	color: #ffffff;
	text-decoration: none;
	transition: color 0.2s ease;
}

.dn-footer-brand-title a:hover,
.dn-footer-brand-title a:focus {
	color: #38bdf8;
}

.dn-footer-org-full {
	margin: 0;
	font-size: 0.84rem;
	color: #38bdf8;
	font-weight: 600;
}

.dn-footer-mission {
	font-size: 0.9rem;
	color: #94a3b8;
	line-height: 1.6;
	margin: 0 0 20px;
}

.dn-footer-social-list {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.dn-footer-social-link {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #cbd5e1;
	transition: all 0.2s ease;
	text-decoration: none;
}

.dn-footer-social-link:hover,
.dn-footer-social-link:focus {
	background: #0284c7;
	color: #ffffff;
	transform: translateY(-3px);
	box-shadow: 0 6px 12px rgba(2, 132, 199, 0.3);
}

.dn-footer-access-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.78rem;
	font-weight: 700;
	color: #34d399;
	background: rgba(52, 211, 153, 0.12);
	padding: 5px 12px;
	border-radius: 6px;
	border: 1px solid rgba(52, 211, 153, 0.25);
}

/* Col 2 & 3: Navigation Links */
.dn-footer-heading {
	color: #ffffff;
	font-size: 1.05rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 20px;
	position: relative;
	padding-bottom: 8px;
}

.dn-footer-heading::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 30px;
	height: 3px;
	background: #0284c7;
	border-radius: 2px;
}

.dn-footer-links-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.dn-footer-links-list li a {
	color: #94a3b8;
	font-size: 0.92rem;
	text-decoration: none;
	transition: all 0.2s ease;
	display: inline-block;
}

.dn-footer-links-list li a:hover,
.dn-footer-links-list li a:focus {
	color: #38bdf8;
	transform: translateX(4px);
}

/* Col 4: Contact & Location */
.dn-footer-contact-details {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.dn-footer-contact-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 0.9rem;
	color: #94a3b8;
	line-height: 1.5;
}

.dn-contact-item-icon {
	color: #38bdf8;
	flex-shrink: 0;
	margin-top: 3px;
}

.dn-footer-contact-item a {
	color: #cbd5e1;
	text-decoration: none;
	font-weight: 600;
	transition: color 0.2s;
}

.dn-footer-contact-item a:hover,
.dn-footer-contact-item a:focus {
	color: #38bdf8;
	text-decoration: underline;
}

.dn-contact-email-sec {
	font-size: 0.84rem;
	color: #94a3b8;
}

.dn-contact-hours-text {
	font-size: 0.85rem;
	color: #94a3b8;
}

/* Tier 3: 7-Province Directory Quick Jump Strip */
.dn-footer-provinces-strip {
	background: rgba(0, 0, 0, 0.22);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: 16px 0;
}

.dn-provinces-strip-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.dn-provinces-strip-title {
	font-size: 0.86rem;
	font-weight: 700;
	color: #cbd5e1;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	white-space: nowrap;
}

.dn-provinces-strip-pills {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.dn-footer-prov-pill {
	display: inline-block;
	padding: 4px 12px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 999px;
	color: #e2e8f0;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
}

.dn-footer-prov-pill:hover,
.dn-footer-prov-pill:focus {
	background: #0284c7;
	color: #ffffff;
	border-color: #0284c7;
	transform: translateY(-2px);
}

/* Tier 4: Bottom Copyright & Navigation Bar */
.dn-footer-bottom-bar {
	background: #020e1c;
	padding: 22px 0;
	font-size: 0.85rem;
}

.dn-footer-bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.dn-footer-copy-text p {
	margin: 0;
	color: #94a3b8;
	font-size: 0.86rem;
}

.dn-footer-bottom-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}

.dn-footer-bottom-links a {
	color: #94a3b8;
	text-decoration: none;
	transition: color 0.2s;
}

.dn-footer-bottom-links a:hover,
.dn-footer-bottom-links a:focus {
	color: #38bdf8;
	text-decoration: underline;
}

.dn-back-to-top-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 6px;
	color: #cbd5e1;
	font-size: 0.84rem;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
}

.dn-back-to-top-btn:hover,
.dn-back-to-top-btn:focus {
	background: #0284c7;
	color: #ffffff;
	border-color: #0284c7;
}

/* Responsive Overrides for Footer */
@media (max-width: 1199px) {
	.dn-footer-main-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 36px;
	}
}

@media (max-width: 991px) {
	.dn-footer-pre-box {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}
	.dn-footer-pre-access {
		width: 100%;
		justify-content: space-between;
	}
}

@media (max-width: 768px) {
	.dn-footer-pre-strip {
		padding: 20px 0;
	}
	.dn-footer-helpline-num {
		font-size: 1.45rem;
	}
	.dn-footer-pre-access {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
	.dn-btn-access-desk {
		width: 100%;
		justify-content: center;
	}
	.dn-footer-main-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.dn-provinces-strip-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.dn-footer-bottom-inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 16px;
	}
	.dn-footer-bottom-links {
		justify-content: center;
	}
	.dn-footer-back-to-top-wrap {
		width: 100%;
		display: flex;
		justify-content: center;
	}
}


/* Pagination */
.navigation.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 40px;
}

.navigation.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #e5e9f0;
	border-radius: 8px;
	background: #fff;
	color: var(--dn-blue);
	font-weight: 600;
}

.navigation.pagination .page-numbers.current {
	background: var(--dn-blue);
	color: #fff;
	border-color: var(--dn-blue);
}

/* Comments */
.comment-list {
	list-style: none;
	padding: 0;
}

.comment-list .comment-body {
	background: var(--dn-bg);
	border-radius: var(--dn-radius);
	padding: 16px;
	margin-bottom: 16px;
}

/* Forms */
.dn-search-form {
	display: flex;
	gap: 8px;
	margin: 24px 0;
}

.dn-search-field {
	flex: 1;
	padding: 12px 16px;
	border: 1px solid #d8dee9;
	border-radius: var(--dn-radius);
	font-size: 1rem;
}

.dn-search-submit,
button[type="submit"],
.wp-block-button__link {
	padding: 12px 20px;
	border: none;
	border-radius: var(--dn-radius);
	background: var(--dn-blue);
	color: #fff;
	font-weight: 600;
	cursor: pointer;
}

/* 404 */
.dn-error-404 {
	text-align: center;
	max-width: 560px;
	margin: 0 auto;
}

/* Responsive */
@media (max-width: 1024px) {
	.dn-content-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.dn-sidebar {
		order: 2;
	}
}

/* Tablet / small desktop: collapse into mobile menu */
@media (max-width: 990px) {
	.dn-mobile-toggle {
		display: flex;
	}
	.dn-nav {
		display: none;
		width: 100%;
		flex-basis: 100%;
	}
	.dn-header-inner {
		flex-wrap: wrap;
	}
	.dn-nav.dn-nav-open {
		display: block;
	}
	.dn-nav .dn-menu {
		flex-direction: column;
		align-items: stretch;
		padding: 8px 0 16px;
	}
	.dn-nav .dn-menu a {
		white-space: normal;
		padding: 12px 10px;
		border-radius: 6px;
	}
	.dn-nav .sub-menu {
		position: static;
		display: block;
		box-shadow: none;
		border: none;
		border-top: none;
		border-left: 2px solid #e2e8f0;
		background: transparent;
		padding: 4px 0 6px 12px;
		margin: 4px 0 6px 12px;
		border-radius: 0;
		min-width: unset;
		animation: none;
	}
	.dn-nav .sub-menu .sub-menu {
		position: static;
		display: block;
		box-shadow: none;
		border: none;
		border-top: none;
		border-left: 2px solid var(--dn-blue-light);
		margin: 4px 0 6px 10px;
		padding: 2px 0 4px 10px;
		animation: none;
	}
	.dn-nav .sub-menu a {
		padding: 8px 10px;
		font-size: 0.93rem;
		white-space: normal;
	}
	.dn-nav .sub-menu a:hover,
	.dn-nav .sub-menu a:focus {
		padding-left: 14px;
	}
	.dn-nav .dn-menu > .menu-item-has-children > a::after {
		margin-left: auto;
	}
	.dn-nav .sub-menu .sub-menu::before,
	.dn-nav .dn-menu > .menu-item-has-children > .sub-menu::before {
		display: none;
	}

	/* Hero: slightly shorter on tablets */
	.dn-hero-slide {
		min-height: clamp(280px, 48vh, 480px);
	}
	.dn-hero-text {
		padding: clamp(36px, 6vw, 80px) 0 clamp(72px, 6vw, 80px);
	}
	.dn-hero-title {
		font-size: clamp(1.5rem, 4vw, 2.4rem);
	}

	/* Book layout stacks on tablets */
	.dn-book-layout {
		grid-template-columns: 1fr;
	}
	.dn-book-cover {
		max-width: 260px;
	}

	/* Feature cards stack on tablets */
	.dn-front-page .wp-block-column {
		padding: 28px 24px;
	}
	.dn-front-page .wp-block-columns {
		gap: 20px;
	}
}

/* Small phones: shrink logo so it never overflows */
@media (max-width: 480px) {
	.dn-logo,
	.dn-logo .custom-logo {
		max-width: 150px;
		max-height: 44px;
	}
	.dn-site-title {
		font-size: 1.05rem;
	}
	.dn-header-inner {
		gap: 14px;
		min-height: 62px;
	}

	/* Hero tweaks on very small screens */
	.dn-hero-slide {
		min-height: 420px;
	}
	.dn-hero-text {
		padding-top: 64px;
		padding-bottom: 72px;
	}
	.dn-hero-btn {
		width: 100%;
		text-align: center;
	}

	.dn-meta-details {
		grid-template-columns: 1fr;
	}
	.dn-book-actions .dn-btn {
		width: 100%;
		text-align: center;
	}

	/* Feature cards on very small screens */
	.dn-front-page .wp-block-column {
		padding: 24px 20px;
		border-radius: 14px;
	}
	.dn-front-page .wp-block-column > .wp-block-heading::before {
		width: 46px;
		height: 46px;
		font-size: 1.2rem;
	}
	.dn-front-page .wp-block-button__link {
		width: 100%;
		text-align: center;
	}
}

/* WordPress Standard Alignment & Captions */
.alignleft {
	float: left;
	margin: 0 24px 16px 0;
}

.alignright {
	float: right;
	margin: 0 0 16px 24px;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.wp-caption {
	max-width: 100%;
	margin-bottom: 20px;
}

.wp-caption-text,
.gallery-caption {
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--dn-muted);
	margin-top: 8px;
	text-align: center;
}

.sticky {
	position: relative;
}

.bypostauthor {
	display: block;
}

/* Reduced Motion (WCAG 2.2.2 & 2.3.3) */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}

	.dn-hero-slide {
		transition: opacity 0.001ms ease !important;
	}
}

/* ==========================================================================
   Resources Digital Library Archive & Filtered Cards
   ========================================================================== */

.dn-resources-archive-page .dn-main {
	padding-top: 0;
}

/* Archive Hero */
.dn-archive-hero {
	background: linear-gradient(135deg, #0b2545 0%, #075985 60%, #0369a1 100%);
	color: #ffffff;
	padding: 44px 0 40px;
	margin-bottom: 32px;
	box-shadow: 0 4px 20px rgba(11, 37, 69, 0.1);
}

.dn-archive-hero .dn-page-title {
	color: #ffffff;
	margin: 0 0 10px;
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	font-weight: 700;
	letter-spacing: -0.01em;
}

.dn-archive-hero .dn-archive-subtitle {
	color: #e0f2fe;
	font-size: 1.05rem;
	max-width: 820px;
	margin: 0;
	line-height: 1.6;
}

/* Active Filter Pills Bar */
.dn-active-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.dn-active-filters-label {
	font-size: 0.82rem;
	font-weight: 700;
	color: #93c5fd;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.dn-filter-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.35);
	color: #ffffff;
	padding: 5px 12px;
	border-radius: 20px;
	font-size: 0.85rem;
}

.dn-pill-type {
	color: #bae6fd;
}

.dn-pill-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.25);
	color: #ffffff;
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	margin-left: 2px;
	transition: background 0.15s ease, transform 0.15s ease;
}

.dn-pill-remove:hover {
	background: #ef4444;
	color: #ffffff;
	text-decoration: none;
	transform: scale(1.1);
}

.dn-clear-all-filters {
	color: #fef08a;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: underline;
	margin-left: 6px;
	transition: color 0.15s ease;
}

.dn-clear-all-filters:hover {
	color: #ffffff;
	text-decoration: underline;
}

/* Quick Filter Controls Bar */
.dn-filter-bar {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 18px 22px;
	margin-bottom: 24px;
	box-shadow: 0 2px 10px rgba(11, 37, 69, 0.04);
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.dn-filter-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.dn-filter-group-label {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--dn-navy);
	min-width: 100px;
}

.dn-filter-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dn-filter-btn {
	display: inline-flex;
	align-items: center;
	padding: 7px 16px;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	background: #f8fafc;
	color: var(--dn-ink);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.18s ease;
}

.dn-filter-btn:hover {
	background: var(--dn-blue-light);
	border-color: #bae6fd;
	color: var(--dn-blue);
	text-decoration: none;
}

.dn-filter-btn.is-active {
	background: var(--dn-blue);
	border-color: var(--dn-blue);
	color: #ffffff;
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(7, 89, 133, 0.28);
}

/* Results Count Bar */
.dn-results-meta {
	font-size: 0.95rem;
	color: var(--dn-muted);
	margin-bottom: 22px;
}

/* Resources Grid & Cards */
.dn-resources-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 28px;
	margin-bottom: 48px;
}

.dn-resource-card {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(11, 37, 69, 0.04), 0 10px 24px -10px rgba(11, 37, 69, 0.08);
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.dn-resource-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 14px 34px -8px rgba(11, 37, 69, 0.16);
	border-color: #cbd5e1;
}

/* Thumbnail */
.dn-resource-card .dn-card-thumb {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #f1f5f9;
}

.dn-resource-card .dn-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.dn-resource-card:hover .dn-card-thumb img {
	transform: scale(1.05);
}

/* Branded Graphic Cover Fallback */
.dn-card-cover-graphic {
	display: flex;
	position: relative;
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, #0b2545 0%, #075985 65%, #0ea5e9 100%);
	color: #ffffff;
	padding: 20px;
	text-decoration: none;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.dn-cover-pattern {
	position: absolute;
	inset: 0;
	opacity: 0.1;
	background-image: radial-gradient(#ffffff 1.5px, transparent 1.5px);
	background-size: 16px 16px;
}

.dn-cover-icon {
	position: relative;
	z-index: 1;
	color: #ffffff;
	opacity: 0.92;
	transition: transform 0.25s ease;
}

.dn-resource-card:hover .dn-cover-icon {
	transform: scale(1.12);
}

.dn-cover-type-tag {
	position: absolute;
	bottom: 12px;
	right: 14px;
	z-index: 1;
	background: rgba(11, 37, 69, 0.72);
	backdrop-filter: blur(6px);
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: #ffffff;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* Card Body & Badges */
.dn-resource-card .dn-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 22px;
}

.dn-card-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 12px;
}

.dn-badge {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.dn-badge--jurisdiction {
	background: #e0f2fe;
	color: #0369a1;
	border: 1px solid #bae6fd;
}

.dn-badge--kind {
	background: #fef3c7;
	color: #92400e;
	border: 1px solid #fde68a;
}

.dn-resource-card .dn-card-title {
	font-size: 1.15rem;
	font-weight: 700;
	margin: 0 0 10px;
	line-height: 1.45;
}

.dn-resource-card .dn-card-title a {
	color: var(--dn-navy);
	text-decoration: none;
	transition: color 0.15s ease;
}

.dn-resource-card .dn-card-title a:hover {
	color: var(--dn-blue);
	text-decoration: underline;
}

.dn-resource-card .dn-card-meta {
	font-size: 0.85rem;
	color: var(--dn-muted);
	margin-bottom: 14px;
}

.dn-resource-card .dn-card-excerpt {
	color: var(--dn-muted);
	font-size: 0.925rem;
	line-height: 1.6;
	margin-bottom: 16px;
}

/* Card Actions Row: Direct Download + View Details */
.dn-card-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid #f1f5f9;
}

.dn-card-btn-dl {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--dn-blue);
	color: #ffffff;
	padding: 7px 14px;
	border-radius: 8px;
	font-size: 0.825rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s ease, transform 0.15s ease;
}

.dn-card-btn-dl:hover {
	background: var(--dn-navy);
	color: #ffffff;
	text-decoration: none;
	transform: translateY(-1px);
}

.dn-resource-card .dn-card-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--dn-blue);
	font-weight: 600;
	font-size: 0.875rem;
	text-decoration: none;
	margin-left: auto;
	transition: color 0.15s ease;
}

.dn-resource-card .dn-card-link:hover {
	color: var(--dn-navy);
	text-decoration: underline;
}

.dn-link-arrow {
	transition: transform 0.15s ease;
}

.dn-resource-card .dn-card-link:hover .dn-link-arrow {
	transform: translateX(3px);
}

/* Empty State */
.dn-empty-archive {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 56px 24px;
	text-align: center;
	max-width: 600px;
	margin: 20px auto 48px;
	box-shadow: var(--dn-shadow);
}

.dn-empty-archive-icon {
	font-size: 2.8rem;
	color: var(--dn-muted);
	margin-bottom: 14px;
}

.dn-empty-archive h2 {
	color: var(--dn-navy);
	margin: 0 0 10px;
}

.dn-empty-archive p {
	color: var(--dn-muted);
	margin: 0 0 24px;
	line-height: 1.6;
}

/* Responsive Overrides for Resources Archive */
@media (max-width: 768px) {
	.dn-archive-hero {
		padding: 32px 0 28px;
	}
	.dn-resources-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.dn-filter-bar {
		padding: 14px 16px;
	}
	.dn-filter-group-label {
		width: 100%;
		margin-bottom: 4px;
	}
	.dn-card-actions {
		flex-direction: column;
		align-items: stretch;
	}
	.dn-card-btn-dl {
		justify-content: center;
	}
	.dn-resource-card .dn-card-link {
		margin-left: 0;
		justify-content: center;
		padding: 6px 0;
	}
}

/* ==========================================================================
   Single Resource Portal Styles
   ========================================================================== */

/* Breadcrumbs */
.dn-resource-breadcrumbs {
	background: #f8fafc;
	border-bottom: 1px solid #e2e8f0;
	padding: 12px 0;
	font-size: 0.875rem;
}

.dn-breadcrumb-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 6px;
}

.dn-breadcrumb-item a {
	color: var(--dn-muted);
	text-decoration: none;
	transition: color 0.15s ease;
}

.dn-breadcrumb-item a:hover {
	color: var(--dn-blue);
	text-decoration: underline;
}

.dn-breadcrumb-sep {
	color: #94a3b8;
	user-select: none;
}

.dn-breadcrumb-item--active {
	color: var(--dn-navy);
	font-weight: 600;
	max-width: 380px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Single Resource Hero */
.dn-resource-hero {
	background: linear-gradient(135deg, #0b2545 0%, #134074 65%, #0ea5e9 100%);
	color: #ffffff;
	padding: 44px 0 40px;
	position: relative;
	margin-bottom: 36px;
}

.dn-resource-hero-inner {
	max-width: 900px;
}

.dn-resource-hero-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.dn-resource-hero-badges .dn-badge {
	text-decoration: none;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
	transition: transform 0.15s ease;
}

.dn-resource-hero-badges .dn-badge:hover {
	transform: translateY(-1px);
}

.dn-badge--lang {
	background: #ecfdf5;
	color: #065f46;
	border: 1px solid #a7f3d0;
}

.dn-resource-hero-title {
	font-size: clamp(1.75rem, 3.5vw, 2.4rem);
	color: #ffffff;
	line-height: 1.35;
	margin: 0 0 16px;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.dn-resource-hero-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.925rem;
}

.dn-hero-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.dn-hero-meta-sep {
	opacity: 0.6;
}

/* Single Resource Layout */
.dn-resource-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 36px;
	align-items: start;
	margin-bottom: 56px;
}

/* Primary Content Column */
.dn-resource-primary {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

/* Action Banner */
.dn-resource-action-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	background: #ffffff;
	border: 2px solid #e0f2fe;
	border-radius: 16px;
	padding: 22px 26px;
	box-shadow: 0 4px 20px -4px rgba(11, 37, 69, 0.08);
}

.dn-action-banner-info {
	display: flex;
	align-items: center;
	gap: 16px;
}

.dn-action-banner-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 14px;
	background: #e0f2fe;
	color: var(--dn-blue);
	flex-shrink: 0;
}

.dn-action-banner-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.dn-action-banner-title {
	font-size: 1.15rem;
	color: var(--dn-navy);
}

.dn-action-banner-sub {
	font-size: 0.875rem;
	color: var(--dn-muted);
}

.dn-action-banner-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.dn-btn-download-primary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--dn-blue);
	color: #ffffff;
	padding: 12px 24px;
	border-radius: 10px;
	font-weight: 700;
	font-size: 0.95rem;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(14, 116, 144, 0.28);
	transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.dn-btn-download-primary:hover {
	background: var(--dn-navy);
	color: #ffffff;
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(11, 37, 69, 0.3);
}

.dn-btn-open-external {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #f1f5f9;
	color: var(--dn-navy);
	border: 1px solid #cbd5e1;
	padding: 11px 18px;
	border-radius: 10px;
	font-weight: 600;
	font-size: 0.9rem;
	text-decoration: none;
	transition: background 0.18s ease, color 0.18s ease;
}

.dn-btn-open-external:hover {
	background: #e2e8f0;
	color: var(--dn-navy);
	text-decoration: none;
}

/* Excerpt Box */
.dn-resource-excerpt-box {
	background: #f8fafc;
	border-left: 4px solid var(--dn-blue);
	border-radius: 0 12px 12px 0;
	padding: 22px 26px;
}

.dn-excerpt-title {
	font-size: 1.1rem;
	color: var(--dn-navy);
	margin: 0 0 10px;
	font-weight: 700;
}

.dn-excerpt-body {
	color: #334155;
	font-size: 1.025rem;
	line-height: 1.7;
	margin: 0;
}

/* Document Viewer Section */
.dn-doc-viewer-section {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(11, 37, 69, 0.05);
}

.dn-doc-viewer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 22px;
	background: #f8fafc;
	border-bottom: 1px solid #e2e8f0;
}

.dn-viewer-title-group {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--dn-navy);
}

.dn-viewer-heading {
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0;
	color: var(--dn-navy);
}

.dn-viewer-fullscreen-link {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--dn-blue);
	text-decoration: none;
	transition: color 0.15s ease;
}

.dn-viewer-fullscreen-link:hover {
	color: var(--dn-navy);
	text-decoration: underline;
}

.dn-doc-viewer-embed {
	position: relative;
	width: 100%;
	background: #475569;
}

.dn-pdf-iframe {
	display: block;
	width: 100%;
	height: 750px;
	border: none;
}

.dn-iframe-fallback {
	padding: 40px 20px;
	text-align: center;
	background: #ffffff;
}

/* Content / Description Card */
.dn-resource-description-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 26px;
	box-shadow: 0 2px 8px rgba(11, 37, 69, 0.04);
}

.dn-desc-title {
	font-size: 1.2rem;
	color: var(--dn-navy);
	margin: 0 0 12px;
	font-weight: 700;
}

.dn-resource-description-card p {
	color: #475569;
	font-size: 1rem;
	line-height: 1.7;
	margin: 0 0 12px;
}

.dn-resource-description-card p:last-child {
	margin-bottom: 0;
}

/* Sidebar Specifications Card */
.dn-specs-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 4px 16px rgba(11, 37, 69, 0.05);
	margin-bottom: 24px;
}

.dn-specs-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--dn-navy);
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid #f1f5f9;
}

.dn-specs-list {
	margin: 0 0 20px;
	padding: 0;
}

.dn-specs-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid #f1f5f9;
	font-size: 0.925rem;
}

.dn-specs-row:last-child {
	border-bottom: none;
}

.dn-specs-row dt {
	color: var(--dn-muted);
	font-weight: 500;
}

.dn-specs-row dd {
	margin: 0;
	color: var(--dn-navy);
	font-weight: 600;
	text-align: right;
}

.dn-specs-row dd a {
	color: var(--dn-blue);
	text-decoration: none;
}

.dn-specs-row dd a:hover {
	text-decoration: underline;
}

.dn-format-pill {
	display: inline-block;
	background: #e0f2fe;
	color: #0369a1;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 4px;
	border: 1px solid #bae6fd;
}

.dn-specs-cta {
	margin-top: 14px;
}

.dn-specs-download-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	background: var(--dn-blue);
	color: #ffffff;
	padding: 11px 16px;
	border-radius: 8px;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.18s ease;
}

.dn-specs-download-btn:hover {
	background: var(--dn-navy);
	color: #ffffff;
	text-decoration: none;
}

/* Secondary Browse Card */
.dn-browse-card {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 22px;
}

.dn-browse-title {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--dn-navy);
	margin: 0 0 8px;
}

.dn-browse-text {
	font-size: 0.875rem;
	color: var(--dn-muted);
	line-height: 1.55;
	margin: 0 0 14px;
}

.dn-browse-link {
	display: inline-block;
	color: var(--dn-blue);
	font-weight: 600;
	font-size: 0.875rem;
	text-decoration: none;
}

.dn-browse-link:hover {
	color: var(--dn-navy);
	text-decoration: underline;
}

/* Related Resources Section */
.dn-related-section {
	margin-top: 24px;
	padding-top: 48px;
	border-top: 1px solid #e2e8f0;
}

.dn-related-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
}

.dn-related-title {
	font-size: 1.4rem;
	color: var(--dn-navy);
	font-weight: 800;
	margin: 0;
}

.dn-related-all-link {
	font-weight: 600;
	font-size: 0.925rem;
	color: var(--dn-blue);
	text-decoration: none;
}

.dn-related-all-link:hover {
	color: var(--dn-navy);
	text-decoration: underline;
}

/* Post Navigation */
.dn-resource-nav {
	margin-top: 36px;
	padding-top: 24px;
	border-top: 1px solid #e2e8f0;
}

.dn-resource-nav .nav-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.dn-resource-nav .nav-previous a,
.dn-resource-nav .nav-next a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 20px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	text-decoration: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.dn-resource-nav .nav-previous a:hover,
.dn-resource-nav .nav-next a:hover {
	border-color: var(--dn-blue);
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(11, 37, 69, 0.08);
}

.dn-resource-nav .nav-next {
	text-align: right;
}

.dn-resource-nav .nav-next a {
	align-items: flex-end;
}

.dn-resource-nav .dn-nav-label {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-weight: 700;
	color: var(--dn-blue);
}

.dn-resource-nav .dn-nav-title {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--dn-navy);
}

/* Responsive Overrides for Single Resource */
@media (max-width: 991px) {
	.dn-resource-layout {
		grid-template-columns: 1fr;
	}
	.dn-pdf-iframe {
		height: 550px;
	}
}

@media (max-width: 768px) {
	.dn-resource-hero {
		padding: 28px 0 24px;
	}
	.dn-resource-hero-title {
		font-size: 1.5rem;
	}
	.dn-breadcrumb-item--active {
		max-width: 200px;
	}
	.dn-resource-action-banner {
		flex-direction: column;
		align-items: stretch;
		padding: 18px;
	}
	.dn-action-banner-buttons {
		flex-direction: column;
		align-items: stretch;
	}
	.dn-btn-download-primary,
	.dn-btn-open-external {
		justify-content: center;
		width: 100%;
	}
	.dn-pdf-iframe {
		height: 420px;
	}
	.dn-resource-nav .nav-links {
		grid-template-columns: 1fr;
	}
	.dn-resource-nav .nav-next {
		text-align: left;
	}
	.dn-resource-nav .nav-next a {
		align-items: flex-start;
	}
}

/* ==========================================================================
   Our Original Contents Portal & Reader Styles
   ========================================================================== */

/* Hero Eyebrow */
.dn-hero-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(6px);
	border: 1px solid rgba(255, 255, 255, 0.28);
	color: #fef08a;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 12px;
}

/* Original Contents Search in Filter Bar */
.dn-original-filter-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.dn-portal-search-form {
	display: flex;
	align-items: center;
	position: relative;
	min-width: 240px;
	margin-left: auto;
}

.dn-portal-search-input {
	width: 100%;
	padding: 8px 38px 8px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	font-size: 0.875rem;
	color: var(--dn-navy);
	background: #ffffff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.dn-portal-search-input:focus {
	outline: none;
	border-color: var(--dn-blue);
	box-shadow: 0 0 0 3px rgba(14, 116, 144, 0.15);
}

.dn-portal-search-btn {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	padding: 6px;
	color: var(--dn-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: color 0.15s ease;
}

.dn-portal-search-btn:hover {
	color: var(--dn-blue);
}

/* Original Card Media & Thumbnail Overlays */
.dn-card-thumb-wrap {
	position: relative;
	overflow: hidden;
}

.dn-thumb-media-badge {
	position: absolute;
	bottom: 10px;
	left: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: rgba(11, 37, 69, 0.78);
	backdrop-filter: blur(6px);
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: #ffffff;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.03em;
}

/* Media Covers */
.dn-cover--video {
	background: linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #4338ca 100%);
}

.dn-cover--document {
	background: linear-gradient(135deg, #082f49 0%, #0369a1 60%, #0284c7 100%);
}

.dn-cover--article {
	background: linear-gradient(135deg, #064e3b 0%, #047857 60%, #059669 100%);
}

.dn-cover--audio {
	background: linear-gradient(135deg, #581c87 0%, #7e22ce 60%, #9333ea 100%);
}

/* Badges */
.dn-badge--cat {
	background: #f1f5f9;
	color: #334155;
	border: 1px solid #cbd5e1;
}

.dn-badge--format-pill {
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 3px 8px;
	border-radius: 4px;
}

.dn-format--video {
	background: #fee2e2;
	color: #991b1b;
	border: 1px solid #fecaca;
}

.dn-format--document {
	background: #e0f2fe;
	color: #0369a1;
	border: 1px solid #bae6fd;
}

.dn-format--article {
	background: #dcfce7;
	color: #166534;
	border: 1px solid #bbf7d0;
}

.dn-format--audio {
	background: #f3e8ff;
	color: #6b21a8;
	border: 1px solid #e9d5ff;
}

.dn-badge--original-flag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #fef9c3;
	color: #854d0e;
	border: 1px solid #fef08a;
	font-weight: 700;
}

.dn-meta-bullet {
	opacity: 0.5;
}

.dn-card-author-name {
	color: var(--dn-navy);
	font-weight: 600;
}

/* Watch Video Button in Card */
.dn-btn-video-watch {
	background: #dc2626 !important;
	color: #ffffff !important;
}

.dn-btn-video-watch:hover {
	background: #991b1b !important;
}

/* Single Original Content Layout */
.dn-video-player-section {
	background: #000000;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
}

.dn-responsive-video-wrap {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 ratio */
	height: 0;
	overflow: hidden;
}

.dn-responsive-video-wrap iframe,
.dn-responsive-video-wrap video,
.dn-html5-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.dn-video-caption-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: #0b192c;
	color: #cbd5e1;
	font-size: 0.825rem;
	font-weight: 500;
}

.dn-video-icon-tag {
	color: #ef4444;
	font-size: 0.85rem;
}

.dn-original-featured-img img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(11, 37, 69, 0.08);
}

.dn-original-content-body {
	font-size: 1.075rem;
	line-height: 1.8;
	color: #1e293b;
}

.dn-original-content-body h2,
.dn-original-content-body h3 {
	color: var(--dn-navy);
	margin-top: 28px;
}

/* Author Byline Card */
.dn-original-byline-card {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 22px;
	margin-top: 36px;
}

.dn-byline-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #e0f2fe;
	color: var(--dn-blue);
	flex-shrink: 0;
}

.dn-byline-heading {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--dn-navy);
	margin: 0 0 6px;
}

.dn-byline-text {
	font-size: 0.925rem;
	color: var(--dn-muted);
	line-height: 1.6;
	margin: 0;
}

/* Responsive Overrides for Original Contents */
@media (max-width: 991px) {
	.dn-portal-search-form {
		width: 100%;
		margin-left: 0;
		margin-top: 8px;
	}
}

@media (max-width: 768px) {
	.dn-original-hero {
		padding: 32px 0 26px;
	}
	.dn-original-byline-card {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
}

/* ==========================================================================
   About Us Page Redesign Styles
   ========================================================================== */

.dn-about-page {
	background-color: #f8fafc;
	color: #334155;
}

/* About Hero */
.dn-about-hero {
	background: linear-gradient(135deg, #071930 0%, #0b2545 50%, #0e7490 100%);
	color: #ffffff;
	padding: 56px 0 68px;
	position: relative;
	overflow: hidden;
}

.dn-about-hero::after {
	content: "";
	position: absolute;
	top: -50%;
	right: -10%;
	width: 500px;
	height: 500px;
	background: radial-gradient(circle, rgba(14, 116, 144, 0.25) 0%, transparent 70%);
	pointer-events: none;
}

.dn-about-hero-inner {
	position: relative;
	z-index: 2;
	max-width: 840px;
}

.dn-about-hero-title {
	font-size: 2.75rem;
	font-weight: 800;
	color: #ffffff;
	letter-spacing: -0.025em;
	line-height: 1.18;
	margin: 12px 0 16px;
}

.dn-about-hero-subtitle {
	font-size: 1.18rem;
	line-height: 1.65;
	color: #cbd5e1;
	margin: 0;
	font-weight: 400;
}

/* Section Kicker & Typography Shared */
.dn-section-kicker {
	display: inline-block;
	font-size: 0.82rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--dn-blue);
	margin-bottom: 8px;
}

.dn-section-header {
	margin-bottom: 44px;
}

.dn-text-center {
	text-align: center;
}

.dn-text-center .dn-section-desc {
	max-width: 680px;
	margin-left: auto;
	margin-right: auto;
}

.dn-section-desc {
	font-size: 1.05rem;
	color: var(--dn-muted);
	margin: 10px 0 0;
	line-height: 1.6;
}

/* 1. Impact Statistics Section */
.dn-impact-stats-section {
	position: relative;
	margin-top: -36px;
	z-index: 10;
	padding-bottom: 30px;
}

.dn-impact-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.dn-stat-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 24px 22px;
	box-shadow: 0 10px 25px rgba(11, 37, 69, 0.07);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dn-stat-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 32px rgba(11, 37, 69, 0.12);
}

.dn-stat-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 12px;
	background: #e0f2fe;
	color: var(--dn-blue);
	margin-bottom: 14px;
}

.dn-stat-card:nth-child(2) .dn-stat-icon {
	background: #fef3c7;
	color: #d97706;
}

.dn-stat-card:nth-child(3) .dn-stat-icon {
	background: #dcfce7;
	color: #166534;
}

.dn-stat-card:nth-child(4) .dn-stat-icon {
	background: #f3e8ff;
	color: #7e22ce;
}

.dn-stat-number {
	font-size: 2.25rem;
	font-weight: 850;
	color: var(--dn-navy);
	line-height: 1;
	letter-spacing: -0.03em;
	margin-bottom: 6px;
}

.dn-stat-label {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--dn-muted);
	line-height: 1.4;
}

/* 2. Story Section (Who We Are + Mission/Vision) */
.dn-about-story-section {
	padding: 60px 0 70px;
}

.dn-story-layout {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 48px;
	align-items: start;
}

.dn-story-main {
	font-size: 1.05rem;
	line-height: 1.8;
	color: #334155;
}

.dn-story-heading {
	font-size: 2.1rem;
	font-weight: 800;
	color: var(--dn-navy);
	letter-spacing: -0.02em;
	line-height: 1.25;
	margin: 0 0 18px;
}

.dn-story-lead {
	font-size: 1.12rem;
	line-height: 1.75;
	color: #1e293b;
	font-weight: 500;
	margin-bottom: 18px;
}

.dn-story-body {
	margin-bottom: 24px;
}

.dn-story-highlight-box {
	background: #f0fdf4;
	border-left: 4px solid #16a34a;
	border-radius: 0 14px 14px 0;
	padding: 22px 26px;
	margin-top: 26px;
	position: relative;
}

.dn-highlight-quote-mark {
	font-size: 3rem;
	line-height: 1;
	color: #22c55e;
	opacity: 0.4;
	position: absolute;
	top: 10px;
	left: 14px;
	pointer-events: none;
}

.dn-highlight-quote-text {
	position: relative;
	z-index: 2;
	font-size: 1rem;
	font-style: italic;
	font-weight: 600;
	color: #14532d;
	line-height: 1.65;
	margin: 0 0 8px;
}

.dn-highlight-author {
	display: block;
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #15803d;
}

/* Mission & Vision Side Cards */
.dn-story-cards {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.dn-purpose-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 28px;
	box-shadow: 0 4px 18px rgba(11, 37, 69, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dn-purpose-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(11, 37, 69, 0.09);
}

.dn-card-mission {
	border-left: 5px solid var(--dn-blue);
}

.dn-card-vision {
	border-left: 5px solid #d97706;
}

.dn-purpose-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 12px;
	background: #e0f2fe;
	color: var(--dn-blue);
	margin-bottom: 16px;
}

.dn-card-vision .dn-purpose-icon {
	background: #fef3c7;
	color: #d97706;
}

.dn-purpose-title {
	font-size: 1.3rem;
	font-weight: 800;
	color: var(--dn-navy);
	margin: 0 0 10px;
}

.dn-purpose-text {
	font-size: 0.98rem;
	line-height: 1.7;
	color: #475569;
	margin: 0;
}

/* 3. Core Values Section */
.dn-values-section {
	background: #ffffff;
	border-top: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
	padding: 70px 0 80px;
}

.dn-values-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.dn-value-card {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 30px 22px;
	text-align: center;
	transition: all 0.25s ease;
}

.dn-value-card:hover {
	background: #ffffff;
	border-color: var(--dn-blue);
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(11, 37, 69, 0.08);
}

.dn-value-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	margin-bottom: 18px;
	transition: transform 0.2s ease;
}

.dn-value-card:hover .dn-value-icon {
	transform: scale(1.1);
}

.dn-value-icon--1 {
	background: #e0f2fe;
	color: var(--dn-blue);
}

.dn-value-icon--2 {
	background: #fef3c7;
	color: #d97706;
}

.dn-value-icon--3 {
	background: #dcfce7;
	color: #166534;
}

.dn-value-icon--4 {
	background: #f3e8ff;
	color: #7e22ce;
}

.dn-value-title {
	font-size: 1.18rem;
	font-weight: 750;
	color: var(--dn-navy);
	margin: 0 0 10px;
}

.dn-value-desc {
	font-size: 0.92rem;
	line-height: 1.65;
	color: #64748b;
	margin: 0;
}

/* 4. Leadership & Team Showcase Section */
.dn-about-team-section {
	padding: 80px 0;
}

.dn-team-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
}

.dn-team-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(11, 37, 69, 0.04);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
	display: flex;
	flex-direction: column;
}

.dn-team-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(11, 37, 69, 0.1);
}

.dn-team-card-photo {
	position: relative;
	width: 100%;
	padding-top: 100%; /* 1:1 Aspect ratio */
	background: #f1f5f9;
	overflow: hidden;
}

.dn-team-card-photo img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.dn-team-card:hover .dn-team-card-photo img {
	transform: scale(1.04);
}

.dn-team-avatar-fallback {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #94a3b8;
	background: #f8fafc;
}

.dn-team-card-body {
	padding: 20px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.dn-team-name {
	font-size: 1.15rem;
	font-weight: 750;
	color: var(--dn-navy);
	margin: 0 0 6px;
	line-height: 1.3;
}

.dn-team-role {
	display: inline-block;
	font-size: 0.84rem;
	font-weight: 600;
	color: var(--dn-blue);
	margin: 0 0 14px;
	line-height: 1.4;
}

.dn-team-contact {
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid #f1f5f9;
}

.dn-team-email-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.82rem;
	color: #64748b;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.15s ease;
	word-break: break-all;
}

.dn-team-email-link:hover {
	color: var(--dn-blue);
	text-decoration: underline;
}

/* 5. Community Testimonials Section */
.dn-about-testimonials-section {
	background: #f1f5f9;
	padding: 80px 0;
}

.dn-testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.dn-testimony-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 32px 28px;
	box-shadow: 0 4px 16px rgba(11, 37, 69, 0.04);
	display: flex;
	flex-direction: column;
	position: relative;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dn-testimony-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(11, 37, 69, 0.08);
}

.dn-testimony-stars {
	color: #f59e0b;
	font-size: 1.1rem;
	letter-spacing: 2px;
	margin-bottom: 14px;
}

.dn-testimony-quote {
	font-size: 0.98rem;
	line-height: 1.75;
	color: #334155;
	font-style: italic;
	margin: 0 0 22px;
	flex-grow: 1;
}

.dn-testimony-quote p {
	margin: 0;
}

.dn-testimony-author-group {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-top: 16px;
	border-top: 1px solid #f1f5f9;
}

.dn-testimony-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #e0f2fe;
	color: var(--dn-blue);
	flex-shrink: 0;
}

.dn-testimony-author-info {
	display: flex;
	flex-direction: column;
}

.dn-testimony-name {
	font-size: 0.96rem;
	font-weight: 750;
	color: var(--dn-navy);
}

.dn-testimony-role {
	font-size: 0.82rem;
	color: var(--dn-muted);
	font-weight: 500;
}

/* 6. Call To Action Banner */
.dn-about-cta-section {
	padding: 40px 0 80px;
}

.dn-about-cta-card {
	background: linear-gradient(135deg, #071930 0%, #0b2545 60%, #0e7490 100%);
	border-radius: 20px;
	padding: 56px 48px;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	box-shadow: 0 16px 40px rgba(11, 37, 69, 0.18);
	position: relative;
	overflow: hidden;
}

.dn-about-cta-card::before {
	content: "";
	position: absolute;
	top: -50%;
	left: -20%;
	width: 400px;
	height: 400px;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
	pointer-events: none;
}

.dn-about-cta-content {
	max-width: 620px;
	position: relative;
	z-index: 2;
}

.dn-about-cta-heading {
	font-size: 2.1rem;
	font-weight: 800;
	color: #ffffff;
	letter-spacing: -0.02em;
	line-height: 1.25;
	margin: 0 0 14px;
}

.dn-about-cta-sub {
	font-size: 1.05rem;
	line-height: 1.65;
	color: #cbd5e1;
	margin: 0;
}

.dn-about-cta-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-shrink: 0;
	position: relative;
	z-index: 2;
}

.dn-btn-cta-primary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #f59e0b;
	color: #0b2545;
	font-size: 0.98rem;
	font-weight: 750;
	padding: 13px 26px;
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.18s ease, transform 0.18s ease;
	box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
}

.dn-btn-cta-primary:hover {
	background: #fbbf24;
	color: #071930;
	transform: translateY(-2px);
	text-decoration: none;
}

.dn-btn-cta-secondary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.3);
	font-size: 0.98rem;
	font-weight: 700;
	padding: 12px 24px;
	border-radius: 999px;
	text-decoration: none;
	backdrop-filter: blur(4px);
	transition: background 0.18s ease, color 0.18s ease;
}

.dn-btn-cta-secondary:hover {
	background: #ffffff;
	color: var(--dn-navy);
	text-decoration: none;
}

/* Responsive Overrides for About Page */
@media (max-width: 1199px) {
	.dn-values-grid,
	.dn-team-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 991px) {
	.dn-impact-stats-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.dn-story-layout {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.dn-testimonials-grid {
		grid-template-columns: 1fr;
	}
	.dn-about-cta-card {
		flex-direction: column;
		text-align: center;
		padding: 40px 28px;
	}
	.dn-about-cta-actions {
		flex-direction: column;
		width: 100%;
	}
	.dn-btn-cta-primary,
	.dn-btn-cta-secondary {
		width: 100%;
		justify-content: center;
	}
}

@media (max-width: 768px) {
	.dn-about-hero {
		padding: 40px 0 50px;
	}
	.dn-about-hero-title {
		font-size: 2rem;
	}
	.dn-about-hero-subtitle {
		font-size: 1rem;
	}
	.dn-impact-stats-grid {
		grid-template-columns: 1fr;
	}
	.dn-values-grid,
	.dn-team-grid {
		grid-template-columns: 1fr;
	}
	.dn-section-title {
		font-size: 1.6rem;
	}
	.dn-stat-card {
		padding: 18px 20px;
	}
}

/* ==========================================================================
   News Archive & Single News Reader Redesign Styles
   ========================================================================== */

/* News Archive Page */
.dn-news-archive-page,
.dn-single-news-page {
	background-color: #f8fafc;
	color: #334155;
}

/* News Hero Header */
.dn-news-hero {
	background: linear-gradient(135deg, #071930 0%, #0b2545 55%, #0e7490 100%);
	color: #ffffff;
	padding: 52px 0 60px;
	position: relative;
	overflow: hidden;
}

.dn-news-hero::after {
	content: "";
	position: absolute;
	top: -40%;
	right: -10%;
	width: 450px;
	height: 450px;
	background: radial-gradient(circle, rgba(14, 116, 144, 0.28) 0%, transparent 70%);
	pointer-events: none;
}

.dn-news-hero-inner {
	position: relative;
	z-index: 2;
	max-width: 820px;
}

.dn-news-hero-title {
	font-size: 2.6rem;
	font-weight: 800;
	color: #ffffff;
	letter-spacing: -0.025em;
	line-height: 1.2;
	margin: 12px 0 14px;
}

.dn-news-hero-subtitle {
	font-size: 1.12rem;
	line-height: 1.65;
	color: #cbd5e1;
	margin: 0;
	font-weight: 400;
}

/* Active Filter Indicators */
.dn-active-filters-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.dn-active-filters-label {
	font-size: 0.85rem;
	font-weight: 700;
	color: #94a3b8;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.dn-filter-pill--removable {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(4px);
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: #ffffff;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 0.825rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.dn-filter-pill--removable:hover {
	background: rgba(239, 68, 68, 0.2);
	border-color: #ef4444;
	color: #ffffff;
	text-decoration: none;
}

.dn-pill-close {
	font-size: 1.1rem;
	line-height: 1;
	opacity: 0.75;
}

.dn-clear-all-link {
	font-size: 0.825rem;
	color: #fef08a;
	text-decoration: underline;
	font-weight: 600;
	margin-left: 4px;
	transition: color 0.15s ease;
}

.dn-clear-all-link:hover {
	color: #ffffff;
}

/* News Filter Toolbar (Category Tabs & Search Form) */
.dn-news-filter-section {
	background: #ffffff;
	border-bottom: 1px solid #e2e8f0;
	padding: 14px 0;
	position: sticky;
	top: 0;
	z-index: 20;
	box-shadow: 0 4px 12px rgba(11, 37, 69, 0.03);
}

.dn-news-filter-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.dn-news-category-tabs {
	display: flex;
	align-items: center;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 4px;
	scrollbar-width: thin;
}

.dn-cat-tab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 15px;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 600;
	color: #475569;
	background: #f1f5f9;
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.18s ease;
	border: 1px solid transparent;
}

.dn-cat-tab:hover {
	background: #e2e8f0;
	color: var(--dn-navy);
	text-decoration: none;
}

.dn-cat-tab--active {
	background: var(--dn-navy);
	color: #ffffff !important;
	border-color: var(--dn-navy);
}

.dn-cat-tab__count {
	display: inline-block;
	background: rgba(0, 0, 0, 0.08);
	color: inherit;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 1px 6px;
	border-radius: 999px;
}

.dn-cat-tab--active .dn-cat-tab__count {
	background: rgba(255, 255, 255, 0.25);
	color: #ffffff;
}

/* Search Form */
.dn-news-search-form {
	display: flex;
	align-items: center;
	position: relative;
	min-width: 250px;
	margin-left: auto;
}

.dn-news-search-input {
	width: 100%;
	padding: 8px 38px 8px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	font-size: 0.875rem;
	color: var(--dn-navy);
	background: #ffffff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.dn-news-search-input:focus {
	outline: none;
	border-color: var(--dn-blue);
	box-shadow: 0 0 0 3px rgba(14, 116, 144, 0.15);
}

.dn-news-search-btn {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	padding: 6px;
	color: var(--dn-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: color 0.15s ease;
}

.dn-news-search-btn:hover {
	color: var(--dn-blue);
}

/* News Feed Section */
.dn-news-feed-section {
	padding: 48px 0 70px;
}

/* Featured Spotlight Story Card */
.dn-news-spotlight-wrapper {
	margin-bottom: 48px;
}

.dn-news-spotlight-card {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(11, 37, 69, 0.07);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.dn-news-spotlight-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(11, 37, 69, 0.12);
}

.dn-spotlight-media {
	position: relative;
	overflow: hidden;
	min-height: 340px;
	background: #0b192c;
}

.dn-spotlight-img-link {
	display: block;
	width: 100%;
	height: 100%;
}

.dn-spotlight-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.dn-news-spotlight-card:hover .dn-spotlight-media img {
	transform: scale(1.04);
}

.dn-spotlight-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #f59e0b;
	color: #0b2545;
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 5px 12px;
	border-radius: 999px;
	box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
	z-index: 2;
}

.dn-spotlight-content {
	padding: 36px 34px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.dn-news-card-meta-top {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
	font-size: 0.85rem;
	color: var(--dn-muted);
}

.dn-news-category-badge {
	display: inline-block;
	background: #e0f2fe;
	color: var(--dn-blue);
	font-weight: 700;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 3px 10px;
	border-radius: 6px;
}

.dn-spotlight-title {
	font-size: 1.75rem;
	font-weight: 800;
	line-height: 1.3;
	color: var(--dn-navy);
	margin: 0 0 14px;
	letter-spacing: -0.02em;
}

.dn-spotlight-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

.dn-spotlight-title a:hover {
	color: var(--dn-blue);
}

.dn-spotlight-excerpt {
	font-size: 1.02rem;
	line-height: 1.7;
	color: #475569;
	margin-bottom: 22px;
}

.dn-spotlight-excerpt p {
	margin: 0;
}

.dn-spotlight-footer {
	margin-top: auto;
}

.dn-btn-spotlight-read {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--dn-navy);
	color: #ffffff;
	font-size: 0.95rem;
	font-weight: 700;
	padding: 11px 24px;
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.18s ease, transform 0.18s ease;
}

.dn-btn-spotlight-read:hover {
	background: var(--dn-blue);
	color: #ffffff;
	transform: translateX(2px);
	text-decoration: none;
}

/* 3-Column News Grid */
.dn-news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.dn-news-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 18px rgba(11, 37, 69, 0.04);
	display: flex;
	flex-direction: column;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.dn-news-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(11, 37, 69, 0.1);
	border-color: #cbd5e1;
}

.dn-news-card__thumb-wrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%; /* 16:9 ratio */
	background: #f1f5f9;
	overflow: hidden;
}

.dn-news-card__img-link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.dn-news-card__thumb-wrap img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.dn-news-card:hover .dn-news-card__thumb-wrap img {
	transform: scale(1.05);
}

.dn-news-thumb-fallback {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #94a3b8;
	background: #f8fafc;
}

.dn-news-card__category-tag {
	position: absolute;
	bottom: 12px;
	left: 12px;
	z-index: 2;
	background: rgba(11, 37, 69, 0.85);
	backdrop-filter: blur(4px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 750;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 3px 10px;
	border-radius: 6px;
}

.dn-news-card__body {
	padding: 22px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.dn-news-card__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.8rem;
	color: var(--dn-muted);
	margin-bottom: 10px;
}

.dn-news-date {
	font-weight: 500;
}

.dn-reading-time-tag {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-weight: 500;
}

.dn-news-card__title {
	font-size: 1.15rem;
	font-weight: 750;
	color: var(--dn-navy);
	line-height: 1.38;
	margin: 0 0 10px;
	letter-spacing: -0.015em;
}

.dn-news-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

.dn-news-card__title a:hover {
	color: var(--dn-blue);
}

.dn-news-card__excerpt {
	font-size: 0.92rem;
	line-height: 1.65;
	color: #64748b;
	margin-bottom: 16px;
	flex-grow: 1;
}

.dn-news-card__excerpt p {
	margin: 0;
}

.dn-news-card__footer {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid #f1f5f9;
}

.dn-news-card__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--dn-blue);
	text-decoration: none;
	transition: color 0.15s ease, transform 0.15s ease;
}

.dn-news-card__link:hover {
	color: var(--dn-navy);
	transform: translateX(3px);
	text-decoration: none;
}

/* Empty News State Card */
.dn-empty-news-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	padding: 56px 32px;
	text-align: center;
	max-width: 600px;
	margin: 20px auto;
	box-shadow: 0 4px 18px rgba(11, 37, 69, 0.04);
}

.dn-empty-icon {
	color: #94a3b8;
	margin-bottom: 16px;
}

.dn-empty-title {
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--dn-navy);
	margin: 0 0 10px;
}

.dn-empty-desc {
	font-size: 1rem;
	color: var(--dn-muted);
	line-height: 1.6;
	margin: 0 0 24px;
}

/* Pagination Wrapper */
.dn-pagination-wrap {
	margin-top: 50px;
	text-align: center;
}

/* ==========================================================================
   Single News Post Reader Styles
   ========================================================================== */

/* Header Area */
.dn-single-news-header {
	background: #ffffff;
	border-bottom: 1px solid #e2e8f0;
	padding: 36px 0 32px;
}

.dn-single-news-header-inner {
	max-width: 860px;
	margin: 0 auto;
}

.dn-news-header-cat-pill {
	display: inline-block;
	background: #e0f2fe;
	color: var(--dn-blue);
	font-size: 0.8rem;
	font-weight: 750;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 4px 12px;
	border-radius: 6px;
	text-decoration: none;
	margin-bottom: 14px;
	transition: background 0.15s ease, color 0.15s ease;
}

.dn-news-header-cat-pill:hover {
	background: var(--dn-blue);
	color: #ffffff;
	text-decoration: none;
}

.dn-single-news-title {
	font-size: 2.5rem;
	font-weight: 800;
	color: var(--dn-navy);
	line-height: 1.25;
	letter-spacing: -0.025em;
	margin: 0 0 18px;
}

.dn-single-news-meta-strip {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 0.9rem;
	color: var(--dn-muted);
	padding-bottom: 18px;
	border-bottom: 1px solid #f1f5f9;
}

.dn-author-byline-group {
	display: flex;
	align-items: center;
	gap: 9px;
}

.dn-author-avatar-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #e0f2fe;
	color: var(--dn-blue);
}

.dn-author-info {
	display: flex;
	flex-direction: column;
	line-height: 1.25;
}

.dn-author-name {
	font-weight: 700;
	color: var(--dn-navy);
	font-size: 0.88rem;
}

.dn-author-team-label {
	font-size: 0.75rem;
	color: #94a3b8;
}

.dn-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

/* Share Strip */
.dn-single-news-share-strip {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.dn-share-label {
	font-size: 0.825rem;
	font-weight: 700;
	color: var(--dn-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.dn-share-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.825rem;
	font-weight: 600;
	padding: 5px 12px;
	border-radius: 6px;
	text-decoration: none;
	cursor: pointer;
	border: 1px solid #cbd5e1;
	background: #ffffff;
	color: #334155;
	transition: all 0.15s ease;
}

.dn-share-btn:hover {
	background: #f1f5f9;
	color: var(--dn-navy);
	text-decoration: none;
}

.dn-share-btn--copy:hover {
	border-color: var(--dn-blue);
	color: var(--dn-blue);
}

.dn-share-btn--twitter:hover {
	background: #000000;
	color: #ffffff;
	border-color: #000000;
}

.dn-share-btn--facebook:hover {
	background: #1877f2;
	color: #ffffff;
	border-color: #1877f2;
}

.dn-share-btn--whatsapp:hover {
	background: #25d366;
	color: #ffffff;
	border-color: #25d366;
}

/* Main Article Container Layout */
.dn-news-article-container {
	padding: 40px 0 60px;
}

.dn-news-article-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 48px;
	align-items: start;
}

/* Featured Media */
.dn-single-news-featured-media {
	margin: 0 0 32px;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 6px 24px rgba(11, 37, 69, 0.08);
	background: #0b192c;
}

.dn-single-news-featured-media img {
	width: 100%;
	height: auto;
	max-height: 480px;
	object-fit: cover;
	display: block;
}

.dn-news-featured-caption {
	padding: 10px 16px;
	background: #f8fafc;
	border-top: 1px solid #e2e8f0;
	font-size: 0.85rem;
	color: var(--dn-muted);
	font-style: italic;
}

/* Editorial Body */
.dn-news-editorial-body {
	font-size: 1.1rem;
	line-height: 1.85;
	color: #1e293b;
}

.dn-news-editorial-body > p:first-of-type {
	font-size: 1.2rem;
	line-height: 1.8;
	font-weight: 500;
	color: #0f172a;
}

.dn-news-editorial-body p {
	margin: 0 0 20px;
}

.dn-news-editorial-body h2 {
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--dn-navy);
	margin: 36px 0 16px;
	letter-spacing: -0.02em;
}

.dn-news-editorial-body h3 {
	font-size: 1.3rem;
	font-weight: 750;
	color: var(--dn-navy);
	margin: 28px 0 12px;
}

.dn-news-editorial-body blockquote {
	margin: 28px 0;
	padding: 20px 26px;
	background: #f0fdf4;
	border-left: 4px solid #16a34a;
	border-radius: 0 12px 12px 0;
	font-size: 1.12rem;
	font-style: italic;
	color: #14532d;
	line-height: 1.7;
}

/* Article Footer Tags */
.dn-news-article-footer {
	margin: 32px 0;
	padding-top: 20px;
	border-top: 1px solid #e2e8f0;
}

.dn-article-tags {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.dn-tags-label {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--dn-muted);
}

.dn-tag-pill {
	display: inline-block;
	background: #f1f5f9;
	color: var(--dn-blue);
	font-size: 0.825rem;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 6px;
	text-decoration: none;
	transition: background 0.15s ease;
}

.dn-tag-pill:hover {
	background: #e0f2fe;
	text-decoration: none;
}

/* Author Attribution Card */
.dn-news-author-card {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 26px;
	margin: 36px 0;
	box-shadow: 0 4px 16px rgba(11, 37, 69, 0.04);
}

.dn-author-card-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #e0f2fe;
	color: var(--dn-blue);
	flex-shrink: 0;
}

.dn-author-card-title {
	font-size: 1.1rem;
	font-weight: 750;
	color: var(--dn-navy);
	margin: 0 0 6px;
}

.dn-author-card-bio {
	font-size: 0.925rem;
	line-height: 1.6;
	color: var(--dn-muted);
	margin: 0 0 10px;
}

.dn-author-card-link {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--dn-blue);
	text-decoration: none;
}

.dn-author-card-link:hover {
	text-decoration: underline;
}

/* Post Navigation (Prev/Next) */
.dn-news-post-nav {
	margin-top: 36px;
	padding-top: 24px;
	border-top: 1px solid #e2e8f0;
}

.dn-news-nav-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.dn-news-nav-link {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 20px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.dn-news-nav-link:hover {
	border-color: var(--dn-blue);
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(11, 37, 69, 0.08);
}

.dn-news-nav-link--next {
	text-align: right;
	align-items: flex-end;
}

.dn-news-nav-label {
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--dn-blue);
}

.dn-news-nav-title {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--dn-navy);
	line-height: 1.35;
}

/* News Sidebar Column */
.dn-news-sidebar-widget {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 24px;
	margin-bottom: 26px;
	box-shadow: 0 4px 16px rgba(11, 37, 69, 0.04);
}

.dn-sidebar-widget-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1.15rem;
	font-weight: 750;
	color: var(--dn-navy);
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid #f1f5f9;
}

.dn-recent-news-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.dn-recent-news-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding-bottom: 14px;
	border-bottom: 1px solid #f8fafc;
}

.dn-recent-news-item:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.dn-recent-news-thumb {
	width: 72px;
	height: 60px;
	border-radius: 8px;
	overflow: hidden;
	flex-shrink: 0;
	background: #e2e8f0;
}

.dn-recent-news-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dn-recent-news-info {
	display: flex;
	flex-direction: column;
}

.dn-recent-news-date {
	font-size: 0.75rem;
	color: #94a3b8;
	font-weight: 500;
	margin-bottom: 3px;
}

.dn-recent-news-title {
	font-size: 0.88rem;
	font-weight: 650;
	line-height: 1.35;
	margin: 0;
}

.dn-recent-news-title a {
	color: var(--dn-navy);
	text-decoration: none;
	transition: color 0.15s ease;
}

.dn-recent-news-title a:hover {
	color: var(--dn-blue);
}

/* Digital Library Callout Widget */
.dn-library-callout-widget {
	background: linear-gradient(135deg, #071930 0%, #0b2545 60%, #0e7490 100%);
	color: #ffffff;
	border: none;
}

.dn-library-callout-badge {
	display: inline-block;
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(4px);
	color: #fef08a;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 3px 8px;
	border-radius: 4px;
	margin-bottom: 12px;
}

.dn-library-callout-title {
	font-size: 1.2rem;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.35;
	margin: 0 0 10px;
}

.dn-library-callout-desc {
	font-size: 0.88rem;
	line-height: 1.6;
	color: #cbd5e1;
	margin: 0 0 18px;
}

.dn-btn-library-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	background: #f59e0b;
	color: #0b2545;
	font-size: 0.88rem;
	font-weight: 750;
	padding: 10px 16px;
	border-radius: 8px;
	text-decoration: none;
	transition: background 0.18s ease;
}

.dn-btn-library-cta:hover {
	background: #fbbf24;
	color: #071930;
	text-decoration: none;
}

/* Related News Section */
.dn-related-news-section {
	background: #ffffff;
	border-top: 1px solid #e2e8f0;
	padding: 60px 0 70px;
}

.dn-news-related-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 36px;
}

.dn-related-all-link {
	font-size: 0.925rem;
	font-weight: 700;
	color: var(--dn-blue);
	text-decoration: none;
	transition: color 0.15s ease;
}

.dn-related-all-link:hover {
	color: var(--dn-navy);
	text-decoration: underline;
}

/* Responsive Overrides for News Pages */
@media (max-width: 1199px) {
	.dn-news-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 991px) {
	.dn-news-spotlight-card {
		grid-template-columns: 1fr;
	}
	.dn-spotlight-media {
		min-height: 260px;
	}
	.dn-spotlight-content {
		padding: 26px 22px;
	}
	.dn-news-article-layout {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.dn-single-news-title {
		font-size: 2rem;
	}
}

@media (max-width: 768px) {
	.dn-news-hero {
		padding: 38px 0 44px;
	}
	.dn-news-hero-title {
		font-size: 1.9rem;
	}
	.dn-news-hero-subtitle {
		font-size: 0.98rem;
	}
	.dn-news-filter-bar {
		flex-direction: column;
		align-items: stretch;
	}
	.dn-news-category-tabs {
		width: 100%;
	}
	.dn-news-search-form {
		width: 100%;
		margin-left: 0;
	}
	.dn-news-grid {
		grid-template-columns: 1fr;
	}
	.dn-single-news-title {
		font-size: 1.6rem;
	}
	.dn-single-news-meta-strip {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}
	.dn-meta-bullet {
		display: none;
	}
	.dn-news-nav-links {
		grid-template-columns: 1fr;
	}
	.dn-news-nav-link--next {
		text-align: left;
		align-items: flex-start;
	}
	.dn-news-related-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
}

/* ==========================================================================
   Service Providers Directory & Single Profile Styles
   ========================================================================== */

/* Directory Hero */
.dn-directory-hero {
	background: linear-gradient(135deg, #072242 0%, #0b376b 60%, #075985 100%);
	color: var(--dn-white);
	padding: 56px 0 62px;
	position: relative;
	overflow: hidden;
}

.dn-directory-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 10% 20%, rgba(14, 165, 233, 0.15) 0%, transparent 40%),
	                  radial-gradient(circle at 90% 80%, rgba(251, 191, 36, 0.12) 0%, transparent 40%);
	pointer-events: none;
}

.dn-directory-hero-inner {
	position: relative;
	z-index: 2;
	max-width: 860px;
}

.dn-directory-hero-title {
	font-size: 2.65rem;
	font-weight: 800;
	color: var(--dn-white);
	line-height: 1.2;
	margin: 12px 0 16px;
	letter-spacing: -0.02em;
}

.dn-directory-hero-subtitle {
	font-size: 1.12rem;
	line-height: 1.7;
	color: #cbd5e1;
	margin: 0 0 28px;
}

/* Directory Stats Row */
.dn-directory-stats-row {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 8px;
}

.dn-stat-badge {
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(8px);
	padding: 8px 18px;
	border-radius: 9999px;
}

.dn-stat-number {
	font-size: 1.25rem;
	font-weight: 800;
	color: #38bdf8;
	font-family: 'Lexend', sans-serif;
}

.dn-stat-text {
	font-size: 0.88rem;
	font-weight: 500;
	color: #e2e8f0;
}

/* Directory Multi-Filter Toolbar */
.dn-directory-toolbar-section {
	background: #ffffff;
	border-bottom: 1px solid #e2e8f0;
	padding: 24px 0;
	box-shadow: 0 4px 12px rgba(11, 37, 69, 0.04);
	position: relative;
	z-index: 10;
}

.dn-filter-controls-grid {
	display: grid;
	grid-template-columns: 2fr 1.3fr 1.3fr auto;
	gap: 16px;
	align-items: flex-end;
}

.dn-filter-col {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.dn-filter-label {
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #475569;
}

.dn-input-search-wrapper,
.dn-select-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}

.dn-search-icon {
	position: absolute;
	left: 14px;
	color: #94a3b8;
	pointer-events: none;
}

.dn-search-input {
	width: 100%;
	padding: 10px 36px 10px 40px;
	font-size: 0.95rem;
	border: 1.5px solid #cbd5e1;
	border-radius: 8px;
	background: #f8fafc;
	color: var(--dn-ink);
	transition: all 0.2s ease;
	outline: none;
}

.dn-search-input:focus {
	border-color: var(--dn-sky);
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.18);
}

.dn-form-select {
	width: 100%;
	padding: 10px 34px 10px 14px;
	font-size: 0.95rem;
	border: 1.5px solid #cbd5e1;
	border-radius: 8px;
	background: #f8fafc;
	color: var(--dn-ink);
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	outline: none;
	transition: all 0.2s ease;
}

.dn-form-select:focus {
	border-color: var(--dn-sky);
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.18);
}

.dn-select-arrow {
	position: absolute;
	right: 12px;
	color: #64748b;
	pointer-events: none;
}

.dn-filter-col--actions {
	display: flex;
	flex-direction: row;
	gap: 8px;
	align-items: center;
}

.dn-filter-submit-btn {
	padding: 10px 22px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border-radius: 8px;
	white-space: nowrap;
}

.dn-filter-reset-btn {
	padding: 10px 18px;
	font-weight: 600;
	border-radius: 8px;
	white-space: nowrap;
}

/* Results Counter Bar */
.dn-directory-content-wrap {
	padding-top: 36px;
	padding-bottom: 64px;
}

.dn-results-counter-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 24px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e2e8f0;
}

.dn-results-counter-text {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--dn-navy);
}

.dn-scope-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #f0fdf4;
	color: #166534;
	border: 1px solid #bbf7d0;
	padding: 4px 12px;
	border-radius: 9999px;
	font-size: 0.82rem;
	font-weight: 600;
}

/* Provider Cards Grid */
.dn-provider-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
	margin-bottom: 48px;
}

.dn-provider-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
	position: relative;
	box-shadow: 0 2px 6px rgba(11, 37, 69, 0.04);
}

.dn-provider-card:hover {
	transform: translateY(-4px);
	border-color: #cbd5e1;
	box-shadow: 0 12px 28px rgba(11, 37, 69, 0.08);
}

/* Card Top Badges Strip */
.dn-card-top-strip {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 18px 8px;
	gap: 8px;
}

.dn-provider-verified-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #eff6ff;
	color: #1d4ed8;
	border: 1px solid #bfdbfe;
	padding: 3px 10px;
	border-radius: 9999px;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.dn-provider-province-pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #f8fafc;
	color: #475569;
	border: 1px solid #e2e8f0;
	padding: 3px 10px;
	border-radius: 9999px;
	font-size: 0.76rem;
	font-weight: 600;
	margin-left: auto;
}

/* Brand Row: Logo or Monogram */
.dn-provider-brand-row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 8px 18px 6px;
}

.dn-provider-logo-frame {
	width: 54px;
	height: 54px;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #e2e8f0;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.dn-provider-logo-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.dn-provider-avatar-frame {
	width: 54px;
	height: 54px;
	border-radius: 10px;
	background: linear-gradient(135deg, #075985, #0ea5e9);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 1.25rem;
	letter-spacing: -0.02em;
	flex-shrink: 0;
	box-shadow: 0 4px 10px rgba(14, 165, 233, 0.25);
}

.dn-provider-avatar-frame--sm {
	width: 44px;
	height: 44px;
	font-size: 1.05rem;
}

.dn-provider-header-meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.dn-provider-acronym-badge {
	font-size: 0.8rem;
	font-weight: 800;
	color: var(--dn-navy);
	letter-spacing: 0.04em;
}

.dn-provider-cat-tag {
	font-size: 0.78rem;
	font-weight: 600;
	color: #0369a1;
	background: #f0f9ff;
	padding: 2px 8px;
	border-radius: 6px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: inline-block;
	max-width: 200px;
}

.dn-provider-cat-tag:hover {
	background: #e0f2fe;
}

/* Card Body */
.dn-provider-body {
	padding: 8px 18px 14px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.dn-provider-title {
	font-size: 1.18rem;
	font-weight: 700;
	line-height: 1.35;
	margin: 0;
}

.dn-provider-title a {
	color: var(--dn-navy);
	transition: color 0.18s ease;
}

.dn-provider-title a:hover {
	color: var(--dn-sky);
}

.dn-provider-title--sm {
	font-size: 1.05rem;
}

.dn-provider-geo {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font-size: 0.85rem;
	color: #64748b;
	line-height: 1.4;
	margin: 0;
}

.dn-provider-geo svg {
	flex-shrink: 0;
	margin-top: 3px;
	color: #94a3b8;
}

.dn-provider-excerpt {
	font-size: 0.9rem;
	line-height: 1.55;
	color: #475569;
	margin: 0;
	flex-grow: 1;
}

.dn-provider-access-snippet {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.8rem;
	font-weight: 500;
	color: #047857;
	background: #f0fdf4;
	padding: 5px 10px;
	border-radius: 6px;
	margin-top: 4px;
}

.dn-provider-access-snippet svg {
	flex-shrink: 0;
}

/* Card Quick Contact Action Strip */
.dn-provider-action-strip {
	display: flex;
	gap: 6px;
	padding: 10px 18px;
	background: #f8fafc;
	border-top: 1px solid #f1f5f9;
	border-bottom: 1px solid #f1f5f9;
	flex-wrap: wrap;
}

.dn-quick-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 0.78rem;
	font-weight: 600;
	padding: 5px 10px;
	border-radius: 6px;
	transition: all 0.18s ease;
	text-decoration: none;
}

.dn-quick-btn--call {
	background: #e0f2fe;
	color: #0369a1;
}

.dn-quick-btn--call:hover {
	background: #0284c7;
	color: #ffffff;
}

.dn-quick-btn--helpline {
	background: #fef3c7;
	color: #b45309;
}

.dn-quick-btn--helpline:hover {
	background: #d97706;
	color: #ffffff;
}

.dn-quick-btn--email {
	background: #f1f5f9;
	color: #475569;
}

.dn-quick-btn--email:hover {
	background: #334155;
	color: #ffffff;
}

.dn-quick-btn--web {
	background: #f1f5f9;
	color: #475569;
}

.dn-quick-btn--web:hover {
	background: #0ea5e9;
	color: #ffffff;
}

/* Card Footer Action */
.dn-provider-card-footer {
	padding: 12px 18px;
}

.dn-btn-view-profile {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 9px 16px;
	background: #f8fafc;
	color: var(--dn-navy);
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
}

.dn-btn-view-profile:hover {
	background: var(--dn-navy);
	color: #ffffff;
	border-color: var(--dn-navy);
}

.dn-btn-view-profile svg {
	transition: transform 0.18s ease;
}

.dn-btn-view-profile:hover svg {
	transform: translateX(3px);
}

/* Directory CTA Card */
.dn-directory-cta-card {
	background: linear-gradient(135deg, #0b2545 0%, #1e3a8a 100%);
	border-radius: 16px;
	padding: 40px;
	color: #ffffff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 32px;
	box-shadow: 0 10px 30px rgba(11, 37, 69, 0.14);
	margin-top: 24px;
}

.dn-cta-badge {
	display: inline-block;
	background: rgba(251, 191, 36, 0.2);
	color: #fef08a;
	border: 1px solid rgba(251, 191, 36, 0.4);
	padding: 3px 12px;
	border-radius: 9999px;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 12px;
}

.dn-cta-title {
	color: #ffffff;
	font-size: 1.55rem;
	font-weight: 800;
	line-height: 1.3;
	margin: 0 0 10px;
}

.dn-cta-desc {
	color: #cbd5e1;
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
	max-width: 650px;
}

.dn-cta-btn {
	padding: 14px 28px;
	font-size: 0.98rem;
	font-weight: 700;
	white-space: nowrap;
	border-radius: 10px;
}

/* ==========================================================================
   Single Service Provider Profile Styles
   ========================================================================== */

.dn-single-provider-header {
	background: linear-gradient(135deg, #072242 0%, #0b376b 60%, #075985 100%);
	color: #ffffff;
	padding: 48px 0 54px;
	position: relative;
	overflow: hidden;
}

.dn-single-provider-header::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 15% 15%, rgba(14, 165, 233, 0.16) 0%, transparent 45%),
	                  radial-gradient(circle at 85% 75%, rgba(251, 191, 36, 0.12) 0%, transparent 45%);
	pointer-events: none;
}

.dn-single-provider-header-inner {
	position: relative;
	z-index: 2;
}

.dn-sp-header-badges {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}

.dn-sp-cat-badge {
	background: rgba(255, 255, 255, 0.18);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.3);
	padding: 5px 14px;
	border-radius: 9999px;
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.18s ease;
}

.dn-sp-cat-badge:hover {
	background: rgba(255, 255, 255, 0.28);
	color: #ffffff;
}

.dn-sp-prov-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255, 255, 255, 0.12);
	color: #e2e8f0;
	border: 1px solid rgba(255, 255, 255, 0.2);
	padding: 5px 14px;
	border-radius: 9999px;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
}

.dn-sp-prov-badge:hover {
	background: rgba(255, 255, 255, 0.2);
	color: #ffffff;
}

.dn-sp-verified-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(34, 197, 94, 0.2);
	color: #86efac;
	border: 1px solid rgba(34, 197, 94, 0.45);
	padding: 5px 14px;
	border-radius: 9999px;
	font-size: 0.82rem;
	font-weight: 700;
}

/* Single Provider Identity Row */
.dn-sp-identity-row {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 28px;
}

.dn-sp-logo-frame {
	width: 96px;
	height: 96px;
	background: #ffffff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	padding: 6px;
}

.dn-sp-logo-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.dn-sp-monogram-frame {
	width: 96px;
	height: 96px;
	background: linear-gradient(135deg, #0ea5e9, #0284c7);
	border-radius: 16px;
	color: #ffffff;
	font-size: 2.2rem;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 24px rgba(14, 165, 233, 0.35);
	flex-shrink: 0;
	font-family: 'Lexend', sans-serif;
}

.dn-sp-identity-text {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.dn-sp-acronym-label {
	font-size: 0.95rem;
	font-weight: 800;
	color: #38bdf8;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.dn-single-provider-title {
	font-size: 2.35rem;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.22;
	margin: 0;
	letter-spacing: -0.02em;
}

.dn-sp-address-line {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #cbd5e1;
	font-size: 1rem;
	margin: 4px 0 0;
}

.dn-sp-address-line svg {
	color: #38bdf8;
	flex-shrink: 0;
}

/* Direct Action Buttons Strip */
.dn-sp-cta-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.dn-sp-action-btn {
	padding: 11px 20px;
	font-size: 0.92rem;
	font-weight: 700;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.dn-sp-action-btn--helpline {
	background: #f59e0b;
	color: #ffffff;
	border-color: #f59e0b;
}

.dn-sp-action-btn--helpline:hover {
	background: #d97706;
	border-color: #d97706;
	color: #ffffff;
}

/* 2-Column Single Layout */
.dn-sp-layout-container {
	padding-top: 42px;
	padding-bottom: 68px;
}

.dn-sp-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 36px;
	align-items: flex-start;
}

/* Main Column Content Cards */
.dn-sp-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 32px;
	margin-bottom: 28px;
	box-shadow: 0 2px 8px rgba(11, 37, 69, 0.04);
}

.dn-sp-card-heading {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 1.32rem;
	font-weight: 800;
	color: var(--dn-navy);
	margin: 0 0 20px;
	padding-bottom: 14px;
	border-bottom: 1.5px solid #f1f5f9;
}

.dn-sp-card-heading svg {
	color: var(--dn-sky);
}

.dn-sp-body-content {
	font-size: 1.05rem;
	line-height: 1.8;
	color: #334155;
}

.dn-sp-body-content p {
	margin-top: 0;
	margin-bottom: 1.3em;
}

.dn-sp-body-content ul,
.dn-sp-body-content ol {
	padding-left: 24px;
	margin-bottom: 1.3em;
}

.dn-sp-body-content li {
	margin-bottom: 0.5em;
}

/* Accessibility Section */
.dn-sp-access-intro {
	font-size: 0.95rem;
	color: #64748b;
	margin: 0 0 16px;
}

.dn-sp-access-box {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	background: #f0fdf4;
	border: 1.5px solid #bbf7d0;
	border-radius: 10px;
	padding: 20px;
}

.dn-access-icon {
	color: #16a34a;
	flex-shrink: 0;
	margin-top: 2px;
}

.dn-access-desc {
	font-size: 1rem;
	line-height: 1.65;
	color: #14532d;
	font-weight: 500;
}

/* Hours Card */
.dn-sp-hours-pill {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	padding: 14px 20px;
	border-radius: 10px;
	display: inline-block;
}

.dn-hours-val {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--dn-navy);
}

/* Sidebar Contact Card */
.dn-sp-sidebar-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 26px;
	margin-bottom: 24px;
	box-shadow: 0 2px 8px rgba(11, 37, 69, 0.04);
}

.dn-sidebar-card-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--dn-navy);
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 1.5px solid #f1f5f9;
}

.dn-sidebar-card-title svg {
	color: var(--dn-sky);
}

.dn-sp-contact-list {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.dn-sp-contact-item {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.dn-contact-label {
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #64748b;
}

.dn-contact-val {
	font-size: 0.95rem;
	color: #1e293b;
}

.dn-contact-link {
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--dn-blue);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: color 0.18s ease;
}

.dn-contact-link:hover {
	color: var(--dn-sky);
	text-decoration: underline;
}

.dn-contact-link--helpline {
	color: #b45309;
}

.dn-contact-link--helpline:hover {
	color: #d97706;
}

.dn-sp-sidebar-verification {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-radius: 10px;
	padding: 14px 16px;
}

.dn-sp-sidebar-verification svg {
	color: #2563eb;
	flex-shrink: 0;
	margin-top: 2px;
}

.dn-verif-title {
	display: block;
	font-size: 0.88rem;
	font-weight: 800;
	color: #1e40af;
}

.dn-verif-date {
	display: block;
	font-size: 0.8rem;
	color: #3b82f6;
	margin-top: 2px;
}

/* Represent this Org Card */
.dn-update-card-title {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--dn-navy);
	margin: 0 0 8px;
}

.dn-update-card-text {
	font-size: 0.88rem;
	line-height: 1.6;
	color: #64748b;
	margin: 0 0 14px;
}

.dn-update-link {
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--dn-blue);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
}

.dn-update-link:hover {
	color: var(--dn-sky);
}

/* Related Providers Section */
.dn-related-providers-section {
	margin-top: 52px;
	padding-top: 36px;
	border-top: 1.5px solid #e2e8f0;
}

.dn-related-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 26px;
}

.dn-related-title {
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--dn-navy);
	margin: 0;
}

.dn-see-all-link {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--dn-blue);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
}

.dn-see-all-link:hover {
	color: var(--dn-sky);
}

/* ==========================================================================
   Responsive Overrides for Service Providers Directory
   ========================================================================== */

@media (max-width: 1199px) {
	.dn-provider-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.dn-filter-controls-grid {
		grid-template-columns: 1.5fr 1fr 1fr auto;
	}
}

@media (max-width: 991px) {
	.dn-sp-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.dn-directory-cta-card {
		flex-direction: column;
		align-items: flex-start;
		padding: 30px 24px;
	}
	.dn-filter-controls-grid {
		grid-template-columns: 1fr 1fr;
	}
	.dn-filter-col--search {
		grid-column: 1 / -1;
	}
	.dn-filter-col--actions {
		grid-column: 1 / -1;
		justify-content: flex-start;
	}
	.dn-single-provider-title {
		font-size: 2rem;
	}
}

@media (max-width: 768px) {
	.dn-directory-hero {
		padding: 40px 0 46px;
	}
	.dn-directory-hero-title {
		font-size: 2rem;
	}
	.dn-directory-hero-subtitle {
		font-size: 1rem;
	}
	.dn-filter-controls-grid {
		grid-template-columns: 1fr;
	}
	.dn-provider-grid {
		grid-template-columns: 1fr;
	}
	.dn-sp-identity-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
	.dn-single-provider-title {
		font-size: 1.65rem;
	}
	.dn-sp-cta-actions {
		flex-direction: column;
		align-items: stretch;
	}
	.dn-sp-action-btn {
		justify-content: center;
		width: 100%;
	}
	.dn-directory-stats-row {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ==========================================================================
   Contact Page Styles
   ========================================================================== */

/* Hero Banner */
.dn-contact-hero {
	background: linear-gradient(135deg, #072242 0%, #0b376b 60%, #075985 100%);
	color: var(--dn-white);
	padding: 56px 0 62px;
	position: relative;
	overflow: hidden;
}

.dn-contact-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 10% 20%, rgba(14, 165, 233, 0.16) 0%, transparent 42%),
	                  radial-gradient(circle at 90% 80%, rgba(251, 191, 36, 0.12) 0%, transparent 42%);
	pointer-events: none;
}

.dn-contact-hero-inner {
	position: relative;
	z-index: 2;
	max-width: 820px;
}

.dn-contact-hero-title {
	font-size: 2.65rem;
	font-weight: 800;
	color: var(--dn-white);
	line-height: 1.22;
	margin: 12px 0 16px;
	letter-spacing: -0.02em;
}

.dn-contact-hero-subtitle {
	font-size: 1.12rem;
	line-height: 1.7;
	color: #cbd5e1;
	margin: 0;
}

/* 4 Quick Contact Cards Section */
.dn-contact-cards-section {
	padding: 48px 0 24px;
	background: #f8fafc;
}

.dn-contact-cards-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}

.dn-contact-info-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 26px 22px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	box-shadow: 0 2px 8px rgba(11, 37, 69, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.dn-contact-info-card:hover {
	transform: translateY(-4px);
	border-color: #cbd5e1;
	box-shadow: 0 10px 24px rgba(11, 37, 69, 0.08);
}

.dn-contact-card-icon {
	width: 50px;
	height: 50px;
	border-radius: 10px;
	background: #e0f2fe;
	color: #0284c7;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 6px;
	flex-shrink: 0;
}

.dn-card-badge {
	font-size: 0.74rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #0369a1;
	background: #f0f9ff;
	padding: 2px 8px;
	border-radius: 4px;
	display: inline-block;
	width: fit-content;
}

.dn-contact-card-title {
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--dn-navy);
	margin: 0;
}

.dn-contact-card-text {
	font-size: 0.92rem;
	line-height: 1.6;
	color: #334155;
	margin: 0;
	flex-grow: 1;
}

.dn-text-link {
	color: var(--dn-blue);
	font-weight: 600;
	text-decoration: none;
	display: inline-block;
}

.dn-text-link:hover {
	color: var(--dn-sky);
	text-decoration: underline;
}

.dn-text-link--secondary {
	color: #475569;
	font-weight: 500;
}

.dn-helpline-tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #fef3c7;
	color: #b45309;
	font-size: 0.78rem;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 6px;
	margin-top: 6px;
}

.dn-card-link {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--dn-blue);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	margin-top: 10px;
	transition: color 0.18s ease;
}

.dn-card-link:hover {
	color: var(--dn-sky);
}

.dn-card-link svg {
	transition: transform 0.18s ease;
}

.dn-card-link:hover svg {
	transform: translateX(3px);
}

/* Main 2-Column Section */
.dn-contact-layout-section {
	padding: 48px 0 64px;
	background: #ffffff;
}

.dn-contact-layout-grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 40px;
	align-items: flex-start;
}

/* Left Column: Form Wrapper */
.dn-contact-form-wrap {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 36px 32px;
	box-shadow: 0 4px 16px rgba(11, 37, 69, 0.05);
}

.dn-form-header {
	margin-bottom: 26px;
}

.dn-form-title {
	font-size: 1.7rem;
	font-weight: 800;
	color: var(--dn-navy);
	margin: 6px 0 8px;
	line-height: 1.3;
}

.dn-form-subtitle {
	font-size: 0.98rem;
	line-height: 1.6;
	color: #64748b;
	margin: 0;
}

/* Status Messages */
.dn-form-alert {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 16px 18px;
	border-radius: 10px;
	margin-bottom: 24px;
}

.dn-form-alert--success {
	background: #f0fdf4;
	border: 1.5px solid #86efac;
	color: #14532d;
}

.dn-form-alert--success svg {
	color: #16a34a;
	flex-shrink: 0;
	margin-top: 2px;
}

.dn-form-alert--error {
	background: #fef2f2;
	border: 1.5px solid #fecaca;
	color: #991b1b;
}

.dn-form-alert--error svg {
	color: #dc2626;
	flex-shrink: 0;
	margin-top: 2px;
}

/* Form Controls */
.dn-contact-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.dn-form-row--two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.dn-form-group {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.dn-form-label {
	font-size: 0.88rem;
	font-weight: 700;
	color: #334155;
}

.dn-required-star {
	color: #dc2626;
}

.dn-form-input,
.dn-form-textarea,
.dn-form-select {
	width: 100%;
	padding: 12px 14px;
	font-size: 0.95rem;
	border: 1.5px solid #cbd5e1;
	border-radius: 8px;
	background: #f8fafc;
	color: var(--dn-ink);
	font-family: inherit;
	transition: all 0.2s ease;
	outline: none;
}

.dn-form-input:focus,
.dn-form-textarea:focus,
.dn-form-select:focus {
	border-color: var(--dn-sky);
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.18);
}

.dn-form-textarea {
	resize: vertical;
	min-height: 130px;
	line-height: 1.6;
}

.dn-form-select-wrap {
	position: relative;
	display: flex;
	align-items: center;
}

.dn-form-select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 36px;
	cursor: pointer;
}

.dn-select-icon {
	position: absolute;
	right: 14px;
	color: #64748b;
	pointer-events: none;
}

.dn-form-submit-row {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 6px;
}

.dn-btn-submit {
	padding: 13px 28px;
	font-size: 1rem;
	font-weight: 700;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	border: none;
}

.dn-form-privacy-note {
	font-size: 0.82rem;
	color: #64748b;
}

/* Right Column: Support Cards */
.dn-contact-sidebar-column {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* Accessibility Commitment Card */
.dn-access-commitment-card {
	background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
	border: 1.5px solid #bbf7d0;
	border-radius: 14px;
	padding: 28px 24px;
	box-shadow: 0 4px 12px rgba(16, 185, 129, 0.06);
}

.dn-access-card-header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.dn-access-badge-icon {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background: #dcfce7;
	color: #16a34a;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.dn-access-card-title {
	font-size: 1.15rem;
	font-weight: 800;
	color: #14532d;
	margin: 0;
	line-height: 1.3;
}

.dn-access-card-text {
	font-size: 0.93rem;
	line-height: 1.65;
	color: #166534;
	margin: 0 0 18px;
}

.dn-access-features-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.dn-access-feature-item {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 0.88rem;
	font-weight: 600;
	color: #14532d;
}

.dn-access-feature-item svg {
	color: #16a34a;
	flex-shrink: 0;
	margin-top: 2px;
}

/* Helpline Card */
.dn-sidebar-helpline-card {
	background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
	border: 1.5px solid #fde68a;
	border-radius: 14px;
	padding: 24px 22px;
}

.dn-helpline-eyebrow {
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #b45309;
}

.dn-helpline-title {
	font-size: 1.15rem;
	font-weight: 800;
	color: #92400e;
	margin: 4px 0 8px;
}

.dn-helpline-desc {
	font-size: 0.88rem;
	line-height: 1.55;
	color: #78350f;
	margin: 0 0 14px;
}

.dn-btn-helpline-call {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #d97706;
	color: #ffffff;
	padding: 10px 18px;
	border-radius: 8px;
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.18s ease;
}

.dn-btn-helpline-call:hover {
	background: #b45309;
	color: #ffffff;
}

/* Sidebar Shortcuts Box */
.dn-sidebar-links-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 24px 22px;
}

.dn-links-card-title {
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--dn-navy);
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1.5px solid #f1f5f9;
}

.dn-sidebar-shortcuts {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.dn-sidebar-shortcuts a {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--dn-blue);
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.18s ease;
}

.dn-sidebar-shortcuts a:hover {
	color: var(--dn-sky);
	text-decoration: underline;
}

.dn-sidebar-shortcuts svg {
	color: #0ea5e9;
	flex-shrink: 0;
}

/* Map & Directions Section */
.dn-contact-map-section {
	padding: 48px 0;
	background: #f8fafc;
	border-top: 1px solid #e2e8f0;
}

.dn-map-section-header {
	max-width: 720px;
	margin-bottom: 24px;
}

.dn-map-heading {
	font-size: 1.65rem;
	font-weight: 800;
	color: var(--dn-navy);
	margin: 6px 0 8px;
}

.dn-map-desc {
	font-size: 0.98rem;
	line-height: 1.6;
	color: #475569;
	margin: 0;
}

.dn-contact-map-frame {
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid #cbd5e1;
	box-shadow: 0 6px 18px rgba(11, 37, 69, 0.06);
	background: #e2e8f0;
}

.dn-contact-map-frame iframe {
	display: block;
	width: 100%;
}

/* FAQ Accordion Section */
.dn-contact-faq-section {
	padding: 56px 0 68px;
	background: #ffffff;
}

.dn-faq-container {
	max-width: 860px;
}

.dn-faq-header {
	text-align: center;
	margin-bottom: 36px;
}

.dn-faq-heading {
	font-size: 2rem;
	font-weight: 800;
	color: var(--dn-navy);
	margin: 8px 0 10px;
}

.dn-faq-desc {
	font-size: 1.05rem;
	line-height: 1.65;
	color: #64748b;
	margin: 0;
}

.dn-faq-accordion {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.dn-faq-item {
	background: #ffffff;
	border: 1.5px solid #e2e8f0;
	border-radius: 10px;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dn-faq-item[open] {
	border-color: #93c5fd;
	box-shadow: 0 4px 12px rgba(14, 165, 233, 0.08);
}

.dn-faq-summary {
	padding: 18px 22px;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--dn-navy);
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	list-style: none;
	user-select: none;
	outline: none;
}

.dn-faq-summary::-webkit-details-marker {
	display: none;
}

.dn-faq-chevron {
	color: #64748b;
	transition: transform 0.22s ease;
	flex-shrink: 0;
}

.dn-faq-item[open] .dn-faq-chevron {
	transform: rotate(180deg);
	color: var(--dn-sky);
}

.dn-faq-answer {
	padding: 0 22px 20px;
	font-size: 0.96rem;
	line-height: 1.7;
	color: #475569;
}

.dn-faq-answer p {
	margin: 0;
}

/* Responsive Overrides for Contact Page */
@media (max-width: 1199px) {
	.dn-contact-cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 991px) {
	.dn-contact-layout-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.dn-contact-form-wrap {
		padding: 28px 22px;
	}
}

@media (max-width: 768px) {
	.dn-contact-hero {
		padding: 40px 0 46px;
	}
	.dn-contact-hero-title {
		font-size: 2rem;
	}
	.dn-contact-hero-subtitle {
		font-size: 1rem;
	}
	.dn-contact-cards-grid {
		grid-template-columns: 1fr;
	}
	.dn-form-row--two-col {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.dn-form-submit-row {
		flex-direction: column;
		align-items: stretch;
	}
	.dn-btn-submit {
		justify-content: center;
		width: 100%;
	}
	.dn-faq-summary {
		font-size: 0.98rem;
		padding: 16px 18px;
	}
}

/* ==========================================================================
   Disability Nepal — Professional Homepage Redesign Styles
   ========================================================================== */

.dn-home-main {
	overflow-x: hidden;
}

/* Section Shared Utilities */
.dn-home-section {
	padding: 56px 0;
	position: relative;
}

.dn-home-section-header {
	margin-bottom: 36px;
}

.dn-home-section-header--split {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}

.dn-home-section-title {
	font-size: 2rem;
	font-weight: 800;
	color: #072242;
	line-height: 1.25;
	margin: 8px 0 10px;
}

.dn-home-section-subtitle {
	font-size: 1.05rem;
	color: #475569;
	line-height: 1.6;
	max-width: 680px;
	margin: 0;
}

.dn-badge-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	background: #eff6ff;
	color: #0284c7;
	border: 1px solid #bfdbfe;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.dn-badge--emerald {
	background: #ecfdf5;
	color: #059669;
	border-color: #a7f3d0;
}

.dn-badge--cyan {
	background: #ecfeff;
	color: #0891b2;
	border-color: #a5f3fc;
}

.dn-badge--amber {
	background: #fffbeb;
	color: #d97706;
	border-color: #fde68a;
}

/* 1. Floating Quick-Discovery Search Bar & Filter Tags */
.dn-home-search-wrap {
	position: relative;
	z-index: 20;
	margin-top: -36px;
	margin-bottom: 24px;
}

.dn-home-search-box {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 16px;
	padding: 24px 30px;
	box-shadow: 0 16px 36px -8px rgba(7, 34, 66, 0.16), 0 4px 12px rgba(0, 0, 0, 0.06);
}

.dn-home-search-header {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.dn-badge-search {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	background: #072242;
	color: #ffffff;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.dn-home-search-tip {
	margin: 0;
	font-size: 0.95rem;
	color: #475569;
	font-weight: 500;
}

.dn-home-search-form {
	margin-bottom: 16px;
}

.dn-home-search-input-group {
	display: flex;
	align-items: center;
	background: #f8fafc;
	border: 2px solid #cbd5e1;
	border-radius: 12px;
	padding: 4px 6px 4px 16px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dn-home-search-input-group:focus-within {
	border-color: #0284c7;
	background: #ffffff;
	box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.15);
}

.dn-home-search-input-icon {
	color: #64748b;
	display: flex;
	align-items: center;
	margin-right: 12px;
	flex-shrink: 0;
}

.dn-home-search-input {
	flex: 1;
	border: none;
	background: transparent;
	font-size: 1.05rem;
	color: #0f172a;
	padding: 10px 0;
	outline: none;
	width: 100%;
}

.dn-home-search-input::placeholder {
	color: #94a3b8;
}

.dn-home-search-submit-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: linear-gradient(135deg, #0284c7 0%, #075985 100%);
	color: #ffffff;
	border: none;
	border-radius: 8px;
	padding: 12px 24px;
	font-size: 0.98rem;
	font-weight: 700;
	cursor: pointer;
	flex-shrink: 0;
	transition: all 0.2s ease;
	min-height: 44px;
}

.dn-home-search-submit-btn:hover,
.dn-home-search-submit-btn:focus {
	background: linear-gradient(135deg, #0369a1 0%, #0c4a6e 100%);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
}

.dn-home-quick-tags {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.dn-quick-tags-label {
	font-size: 0.88rem;
	font-weight: 700;
	color: #475569;
	white-space: nowrap;
}

.dn-quick-tags-list {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.dn-quick-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	background: #f1f5f9;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	color: #334155;
	font-size: 0.86rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
}

.dn-quick-tag:hover,
.dn-quick-tag:focus {
	background: #0284c7;
	color: #ffffff;
	border-color: #0284c7;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(2, 132, 199, 0.2);
}

/* 2. Live Impact & Portal Statistics Strip */
.dn-home-stats-section {
	padding: 16px 0 36px;
}

.dn-home-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.dn-home-stat-card {
	display: flex;
	align-items: center;
	gap: 16px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 20px 22px;
	text-decoration: none;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.dn-home-stat-card:hover,
.dn-home-stat-card:focus {
	transform: translateY(-3px);
	box-shadow: 0 10px 20px -4px rgba(7, 34, 66, 0.1);
	border-color: #cbd5e1;
}

.dn-stat-icon {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.dn-stat-icon--blue {
	background: #eff6ff;
	color: #0284c7;
}

.dn-stat-icon--emerald {
	background: #ecfdf5;
	color: #059669;
}

.dn-stat-icon--purple {
	background: #f5f3ff;
	color: #7c3aed;
}

.dn-stat-icon--amber {
	background: #fffbeb;
	color: #d97706;
}

.dn-stat-info {
	display: flex;
	flex-direction: column;
}

.dn-stat-num {
	font-size: 1.85rem;
	font-weight: 800;
	color: #072242;
	line-height: 1.1;
}

.dn-stat-label {
	font-size: 0.88rem;
	font-weight: 600;
	color: #64748b;
	line-height: 1.35;
	margin-top: 3px;
}

/* 3. Four Core Project Pillars */
.dn-home-pillars-section {
	background: #ffffff;
}

.dn-home-pillars-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.dn-pillar-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-top: 4px solid #0284c7;
	border-radius: 14px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
	transition: all 0.25s ease;
}

.dn-pillar-card--emerald {
	border-top-color: #059669;
}

.dn-pillar-card--cyan {
	border-top-color: #0891b2;
}

.dn-pillar-card--amber {
	border-top-color: #d97706;
}

.dn-pillar-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 32px -4px rgba(7, 34, 66, 0.12);
}

.dn-pillar-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.dn-pillar-icon {
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background: #eff6ff;
	color: #0284c7;
	display: flex;
	align-items: center;
	justify-content: center;
}

.dn-pillar-card--emerald .dn-pillar-icon {
	background: #ecfdf5;
	color: #059669;
}

.dn-pillar-card--cyan .dn-pillar-icon {
	background: #ecfeff;
	color: #0891b2;
}

.dn-pillar-card--amber .dn-pillar-icon {
	background: #fffbeb;
	color: #d97706;
}

.dn-pillar-badge {
	font-size: 0.78rem;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
	background: #f1f5f9;
	color: #475569;
}

.dn-pillar-badge--emerald {
	background: #ecfdf5;
	color: #059669;
}

.dn-pillar-badge--cyan {
	background: #ecfeff;
	color: #0891b2;
}

.dn-pillar-badge--amber {
	background: #fffbeb;
	color: #d97706;
}

.dn-pillar-card-body {
	flex: 1;
}

.dn-pillar-title {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 10px;
}

.dn-pillar-title a {
	color: #072242;
	text-decoration: none;
	transition: color 0.2s ease;
}

.dn-pillar-title a:hover,
.dn-pillar-title a:focus {
	color: #0284c7;
}

.dn-pillar-desc {
	font-size: 0.92rem;
	color: #64748b;
	line-height: 1.55;
	margin: 0 0 16px;
}

.dn-pillar-card-footer {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid #f1f5f9;
}

.dn-pillar-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.92rem;
	font-weight: 700;
	color: #0284c7;
	text-decoration: none;
	transition: gap 0.2s ease, color 0.2s ease;
}

.dn-pillar-card--emerald .dn-pillar-link {
	color: #059669;
}

.dn-pillar-card--cyan .dn-pillar-link {
	color: #0891b2;
}

.dn-pillar-card--amber .dn-pillar-link {
	color: #d97706;
}

.dn-pillar-link:hover,
.dn-pillar-link:focus {
	gap: 10px;
}

/* 4. Featured Legal Policies & Guidelines */
.dn-home-legal-section {
	background: #f8fafc;
	border-top: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
}

.dn-home-legal-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.dn-home-legal-card {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 14px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
	transition: all 0.2s ease;
}

.dn-home-legal-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 24px -4px rgba(7, 34, 66, 0.1);
	border-color: #94a3b8;
}

.dn-legal-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.dn-legal-card-badges {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.dn-badge-juris {
	display: inline-block;
	padding: 3px 9px;
	background: #eff6ff;
	color: #0284c7;
	border-radius: 6px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.dn-badge-kind {
	display: inline-block;
	padding: 3px 9px;
	background: #ecfdf5;
	color: #059669;
	border-radius: 6px;
	font-size: 0.78rem;
	font-weight: 700;
}

.dn-legal-card-date {
	font-size: 0.82rem;
	color: #94a3b8;
	font-weight: 500;
	white-space: nowrap;
}

.dn-legal-card-body {
	flex: 1;
}

.dn-legal-card-title {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.45;
	margin: 0 0 10px;
}

.dn-legal-card-title a {
	color: #072242;
	text-decoration: none;
	transition: color 0.2s ease;
}

.dn-legal-card-title a:hover,
.dn-legal-card-title a:focus {
	color: #0284c7;
}

.dn-legal-card-excerpt {
	font-size: 0.92rem;
	color: #64748b;
	line-height: 1.55;
	margin-bottom: 18px;
}

.dn-legal-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 14px;
	border-top: 1px solid #f1f5f9;
}

.dn-legal-card-view-btn {
	font-size: 0.9rem;
	font-weight: 700;
	color: #0284c7;
	text-decoration: none;
	transition: color 0.2s;
}

.dn-legal-card-view-btn:hover,
.dn-legal-card-view-btn:focus {
	color: #0369a1;
	text-decoration: underline;
}

.dn-legal-card-download-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	background: #eff6ff;
	color: #0284c7;
	border: 1px solid #bfdbfe;
	border-radius: 6px;
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
}

.dn-legal-card-download-btn:hover,
.dn-legal-card-download-btn:focus {
	background: #0284c7;
	color: #ffffff;
	border-color: #0284c7;
}

/* 5. Our Original Contents & Multimedia Spotlight */
.dn-home-original-layout {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 28px;
	align-items: stretch;
}

.dn-original-featured-card {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 16px;
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dn-original-featured-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px -6px rgba(7, 34, 66, 0.12);
}

.dn-original-featured-media {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #0f172a;
	overflow: hidden;
}

.dn-original-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.dn-original-thumb-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #072242 0%, #0c3866 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #94a3b8;
	gap: 8px;
}

.dn-placeholder-tag {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #cbd5e1;
}

.dn-original-media-badge {
	position: absolute;
	top: 14px;
	right: 14px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.dn-media-type-tag {
	background: rgba(15, 23, 42, 0.85);
	backdrop-filter: blur(4px);
	color: #ffffff;
	font-size: 0.78rem;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 6px;
	text-transform: uppercase;
}

.dn-duration-tag {
	background: rgba(2, 132, 199, 0.9);
	color: #ffffff;
	font-size: 0.78rem;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 6px;
}

.dn-original-featured-body {
	padding: 24px 28px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.dn-badge-cat {
	display: inline-block;
	font-size: 0.82rem;
	font-weight: 700;
	color: #059669;
	margin-bottom: 8px;
}

.dn-original-featured-title {
	font-size: 1.4rem;
	font-weight: 800;
	line-height: 1.35;
	margin: 0 0 12px;
}

.dn-original-featured-title a {
	color: #072242;
	text-decoration: none;
	transition: color 0.2s ease;
}

.dn-original-featured-title a:hover,
.dn-original-featured-title a:focus {
	color: #0284c7;
}

.dn-original-featured-desc {
	font-size: 0.98rem;
	color: #475569;
	line-height: 1.6;
	margin: 0 0 20px;
	flex: 1;
}

.dn-original-list-col {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.dn-original-companion-card {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 12px;
	padding: 18px 20px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
	transition: all 0.2s ease;
}

.dn-original-companion-card:hover {
	transform: translateX(4px);
	border-color: #059669;
	box-shadow: 0 6px 16px rgba(5, 150, 105, 0.08);
}

.dn-companion-badge-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}

.dn-badge-cat-sm {
	font-size: 0.78rem;
	font-weight: 700;
	color: #059669;
	background: #ecfdf5;
	padding: 2px 8px;
	border-radius: 4px;
}

.dn-companion-duration {
	font-size: 0.8rem;
	font-weight: 600;
	color: #64748b;
}

.dn-companion-title {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 10px;
}

.dn-companion-title a {
	color: #072242;
	text-decoration: none;
	transition: color 0.2s ease;
}

.dn-companion-title a:hover,
.dn-companion-title a:focus {
	color: #059669;
}

.dn-companion-meta {
	font-size: 0.82rem;
	color: #94a3b8;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 6px;
}

/* 6. Verified Service Providers Across Nepal */
.dn-home-providers-section {
	background: #f8fafc;
	border-top: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
}

.dn-province-pills-row {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}

.dn-province-pills-label {
	font-size: 0.88rem;
	font-weight: 700;
	color: #475569;
}

.dn-province-pills-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.dn-province-pill {
	display: inline-block;
	padding: 5px 12px;
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	color: #334155;
	font-size: 0.84rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
}

.dn-province-pill:hover,
.dn-province-pill:focus {
	background: #0891b2;
	color: #ffffff;
	border-color: #0891b2;
	transform: translateY(-2px);
}

.dn-home-providers-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.dn-home-provider-card {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 14px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
	transition: all 0.2s ease;
}

.dn-home-provider-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 24px -4px rgba(7, 34, 66, 0.1);
	border-color: #0891b2;
}

.dn-provider-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}

.dn-provider-loc-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 0.82rem;
	font-weight: 700;
	color: #0891b2;
	background: #ecfeff;
	padding: 3px 9px;
	border-radius: 6px;
}

.dn-verified-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: #ecfdf5;
	color: #059669;
	border: 1px solid #a7f3d0;
	border-radius: 999px;
	padding: 3px 9px;
	font-size: 0.78rem;
	font-weight: 700;
}

.dn-provider-card-body {
	flex: 1;
}

.dn-provider-card-title {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 10px;
}

.dn-provider-card-title a {
	color: #072242;
	text-decoration: none;
	transition: color 0.2s ease;
}

.dn-provider-card-title a:hover,
.dn-provider-card-title a:focus {
	color: #0891b2;
}

.dn-provider-acronym {
	color: #64748b;
	font-weight: 600;
	font-size: 0.95rem;
}

.dn-provider-card-desc {
	font-size: 0.92rem;
	color: #64748b;
	line-height: 1.55;
	margin: 0 0 18px;
}

.dn-provider-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 14px;
	border-top: 1px solid #f1f5f9;
}

.dn-provider-action-phone {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: #f1f5f9;
	color: #072242;
	border-radius: 6px;
	font-size: 0.84rem;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
}

.dn-provider-action-phone:hover,
.dn-provider-action-phone:focus {
	background: #072242;
	color: #ffffff;
}

.dn-provider-profile-link {
	font-size: 0.88rem;
	font-weight: 700;
	color: #0891b2;
	text-decoration: none;
	transition: color 0.2s;
}

.dn-provider-profile-link:hover,
.dn-provider-profile-link:focus {
	color: #0e7490;
	text-decoration: underline;
}

/* 7. Disability Rights Newsroom */
.dn-home-news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.dn-home-news-card {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dn-home-news-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 28px -4px rgba(7, 34, 66, 0.1);
	border-color: #94a3b8;
}

.dn-news-card-thumb-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #0f172a;
	display: block;
	overflow: hidden;
}

.dn-news-card-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.dn-home-news-card:hover .dn-news-card-thumb {
	transform: scale(1.04);
}

.dn-news-card-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #072242 0%, #0c3866 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #64748b;
}

.dn-news-card-cat-badge {
	position: absolute;
	bottom: 12px;
	left: 12px;
	background: rgba(7, 34, 66, 0.9);
	backdrop-filter: blur(4px);
	color: #ffffff;
	font-size: 0.78rem;
	font-weight: 700;
	padding: 3px 9px;
	border-radius: 6px;
}

.dn-news-card-body {
	padding: 20px 22px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.dn-news-card-meta {
	font-size: 0.82rem;
	color: #64748b;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
}

.dn-meta-dot {
	color: #cbd5e1;
}

.dn-news-card-title {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 10px;
}

.dn-news-card-title a {
	color: #072242;
	text-decoration: none;
	transition: color 0.2s ease;
}

.dn-news-card-title a:hover,
.dn-news-card-title a:focus {
	color: #0284c7;
}

.dn-news-card-excerpt {
	font-size: 0.92rem;
	color: #475569;
	line-height: 1.55;
	margin: 0 0 16px;
	flex: 1;
}

.dn-news-card-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.88rem;
	font-weight: 700;
	color: #0284c7;
	text-decoration: none;
	margin-top: auto;
	transition: gap 0.2s ease;
}

.dn-news-card-link:hover,
.dn-news-card-link:focus {
	gap: 10px;
}

/* 8. Universal Accessibility Commitment & National Helpline Strip */
.dn-home-helpline-section {
	padding: 20px 0 50px;
}

.dn-home-helpline-box {
	background: linear-gradient(135deg, #072242 0%, #0c3866 50%, #075985 100%);
	color: #ffffff;
	border-radius: 18px;
	padding: 38px 44px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 44px;
	box-shadow: 0 16px 36px -8px rgba(7, 34, 66, 0.25);
}

.dn-badge-helpline {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	background: rgba(255, 255, 255, 0.15);
	color: #38bdf8;
	border: 1px solid rgba(56, 189, 248, 0.3);
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 12px;
}

.dn-helpline-number-wrap {
	margin-bottom: 8px;
}

.dn-helpline-number-link {
	font-size: 2.2rem;
	font-weight: 800;
	color: #ffffff;
	text-decoration: none;
	letter-spacing: -0.02em;
	transition: color 0.2s ease;
}

.dn-helpline-number-link:hover,
.dn-helpline-number-link:focus {
	color: #38bdf8;
	text-decoration: underline;
}

.dn-helpline-subtext {
	font-size: 0.98rem;
	color: #e0f2fe;
	line-height: 1.55;
	margin: 0 0 12px;
}

.dn-helpline-hours {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.86rem;
	color: #bae6fd;
	font-weight: 600;
}

.dn-helpline-access-title {
	font-size: 1.4rem;
	font-weight: 800;
	color: #ffffff;
	margin: 0 0 10px;
}

.dn-helpline-access-desc {
	font-size: 0.98rem;
	color: #e0f2fe;
	line-height: 1.6;
	margin: 0 0 20px;
}

.dn-btn-access-format {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #ffffff;
	color: #072242;
	border: none;
	border-radius: 8px;
	padding: 12px 22px;
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
}

.dn-btn-access-format:hover,
.dn-btn-access-format:focus {
	background: #f0f9ff;
	color: #0284c7;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

/* 9. Community Collaboration & Call to Action (CTA) */
.dn-home-cta-section {
	padding: 40px 0 80px;
}

.dn-home-cta-box {
	background: linear-gradient(135deg, #072242 0%, #0369a1 100%);
	border-radius: 20px;
	padding: 56px 40px;
	text-align: center;
	color: #ffffff;
	box-shadow: 0 20px 40px -12px rgba(7, 34, 66, 0.22);
}

.dn-home-cta-title {
	font-size: 2.2rem;
	font-weight: 800;
	color: #ffffff;
	margin: 0 0 14px;
}

.dn-home-cta-subtitle {
	font-size: 1.1rem;
	color: #e0f2fe;
	max-width: 680px;
	margin: 0 auto 32px;
	line-height: 1.65;
}

.dn-home-cta-buttons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
}

.dn-btn-lg {
	padding: 14px 30px;
	font-size: 1.05rem;
	border-radius: 10px;
}

.dn-btn-outline-white {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: #ffffff;
	border: 2px solid rgba(255, 255, 255, 0.7);
	text-decoration: none;
	font-weight: 700;
	transition: all 0.2s ease;
}

.dn-btn-outline-white:hover,
.dn-btn-outline-white:focus {
	background: #ffffff;
	color: #072242;
	border-color: #ffffff;
}

/* ==========================================================================
   Homepage Responsive Overrides (All Devices)
   ========================================================================== */

@media (max-width: 1199px) {
	.dn-home-pillars-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	.dn-home-stats-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 991px) {
	.dn-home-original-layout {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.dn-home-providers-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.dn-home-news-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.dn-home-helpline-box {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 32px 28px;
	}
}

@media (max-width: 768px) {
	.dn-home-section {
		padding: 40px 0;
	}
	.dn-home-search-wrap {
		margin-top: -24px;
	}
	.dn-home-search-box {
		padding: 20px 18px;
	}
	.dn-home-search-input-group {
		flex-direction: column;
		align-items: stretch;
		padding: 8px 12px;
		gap: 8px;
	}
	.dn-home-search-input-icon {
		display: none;
	}
	.dn-home-search-submit-btn {
		width: 100%;
		justify-content: center;
	}
	.dn-home-stats-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.dn-home-pillars-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.dn-home-legal-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.dn-home-providers-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.dn-home-news-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}
	.dn-home-section-title {
		font-size: 1.6rem;
	}
	.dn-helpline-number-link {
		font-size: 1.8rem;
	}
	.dn-home-cta-box {
		padding: 40px 20px;
	}
	.dn-home-cta-title {
		font-size: 1.7rem;
	}
	.dn-home-cta-buttons {
		flex-direction: column;
		width: 100%;
	}
	.dn-home-cta-buttons .dn-btn {
		width: 100%;
		justify-content: center;
	}
}
