/*
 * DNM theme — PDH Law design system
 * Palette & typography for the PDH Law site.
 */

:root {
	--red: #C82127;
	--red2: #9E181D;
	--ink: #16191F;
	--ink2: #3d434e;
	--mut: #767c88;
	--paper: #FBFAF8;
	--paper2: #F1EEE8;
	--line: #E5E0D6;
	--gold: #A98B5D;
	--serif: "Lora", Georgia, "Times New Roman", serif;
	--sans: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--wrap: 1180px;
}

/*--------------------------------------------------------------
# Base overrides
--------------------------------------------------------------*/
html { scroll-behavior: smooth; }

body,
button,
input,
select,
optgroup,
textarea {
	font-family: var(--sans);
	color: var(--ink);
}

body {
	background: var(--paper);
	overflow-x: hidden;
}

::selection { background: var(--red); color: #fff; }

a { color: var(--red); text-decoration: none; }
a:visited { color: #fff; }
a:hover,
a:focus,
a:active { color: var(--red2); }

h1, h2, h3, h4, h5, h6 { font-family: var(--serif); }

img { display: block; }

.pdh-wrap {
	max-width: var(--wrap);
	margin: 0 auto;
	padding-left: 28px;
	padding-right: 28px;
	width: 100%;
}

/* Hide the default _s chrome we replace with our own */
.site > .site-header,
#colophon.site-footer .site-info { display: none; }

/* Skip link stays accessible */
.skip-link.screen-reader-text { z-index: 200; }

/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/
.pdh-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--sans);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .3px;
	padding: 15px 30px;
	border-radius: 2px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background .22s, color .22s, border-color .22s, box-shadow .22s, transform .22s;
	line-height: 1;
}

.pdh-btn--primary {
	background: var(--red);
	color: #fff;
	box-shadow: 0 10px 30px rgba(200, 33, 39, .28);
}
.pdh-btn--primary:hover { background: var(--red2); color: #fff; }

.pdh-btn--ghost {
	background: transparent;
	color: var(--ink);
	border-color: var(--line);
}
.pdh-btn--ghost:hover { border-color: var(--red); color: var(--red); }

.pdh-btn--onDark {
	background: rgba(255, 255, 255, .08);
	color: #fff;
	border-color: rgba(255, 255, 255, .4);
}
.pdh-btn--onDark:hover { background: rgba(255, 255, 255, .18); color: #fff; }

/*--------------------------------------------------------------
# Kicker (section eyebrow)
--------------------------------------------------------------*/
.pdh-kicker {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}
.pdh-kicker::before {
	content: "";
	width: 30px;
	height: 2px;
	background: var(--red);
	display: block;
	flex-shrink: 0;
}
.pdh-kicker span {
	color: var(--red);
	font-size: 13px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	font-weight: 700;
}
.pdh-kicker--center { justify-content: center; }
.pdh-kicker--center::after {
	content: "";
	width: 30px;
	height: 2px;
	background: var(--red);
	display: block;
	flex-shrink: 0;
}
.pdh-kicker--light span { color: #fff; }
.pdh-kicker--light::before,
.pdh-kicker--light::after { background: var(--red); }

.pdh-section-title {
	font-family: var(--serif);
	font-weight: 600;
	font-size: clamp(28px, 3.8vw, 44px);
	line-height: 1.15;
	letter-spacing: -.4px;
	margin: 0 0 14px;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.pdh-header {
	position: sticky;
	top: 0;
	z-index: 60;
	background: rgba(251, 250, 248, .9);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--line);
}
.pdh-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 14px;
	padding-bottom: 14px;
}
.pdh-brand { display: flex; align-items: center; gap: 12px; }
.pdh-brand img { height: 48px; width: auto; display: block; }
.pdh-brand .custom-logo { max-height: 56px; }
.pdh-brand__text {
	display: flex;
	align-items: baseline;
	gap: 2px;
	font-family: var(--serif);
	font-weight: 700;
	font-size: 24px;
	letter-spacing: 1px;
}
.pdh-brand__text .a { color: var(--red); }
.pdh-brand__text .b { color: var(--ink); }

.pdh-nav {
	display: flex;
	align-items: center;
	gap: 26px;
	justify-content: flex-end;
}
.pdh-nav__links {
	display: flex;
	align-items: center;
	gap: 26px;
}
.pdh-nav a.pdh-nav__link {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .2px;
	color: var(--ink2);
	padding: 6px 0;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	transition: color .2s, border-color .2s;
}
.pdh-nav a.pdh-nav__link:hover {
	color: var(--red);
	border-bottom-color: var(--red);
}

.pdh-nav__toggle {
	display: none;
	background: none;
	border: 0;
	padding: 8px;
	cursor: pointer;
	color: var(--ink);
}
.pdh-nav__toggle svg { display: block; }

/* Polylang language switcher (VI / EN language codes) */
.pdh-lang { display: inline-flex; align-items: center; }
.pdh-lang__list {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--line);
	border-radius: 999px;
	overflow: hidden;
	background: #fff;
}
.pdh-lang__list li { margin: 0; }
/* Language-code links (VI / EN) */
.pdh-lang__list a {
	display: inline-flex;
	align-items: center;
	font-family: var(--sans);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .4px;
	text-transform: uppercase;
	color: var(--ink2);
	padding: 7px 14px;
	line-height: 1;
	text-decoration: none;
	transition: color .2s, background .2s;
}
.pdh-lang__list li + li a { border-left: 1px solid var(--line); }
.pdh-lang__list a:hover { color: var(--red); background: var(--paper2); }
/* Highlight the language currently being viewed. */
.pdh-lang__list .current-lang a,
.pdh-lang__list a[aria-current="true"] { color: var(--red); background: var(--paper2); }

/*--------------------------------------------------------------
# Hero
--------------------------------------------------------------*/
.pdh-hero {
	position: relative;
	min-height: 86vh;
	display: flex;
	align-items: center;
	background-image:
		linear-gradient(90deg, rgba(12, 14, 20, .86) 0%, rgba(12, 14, 20, .62) 46%, rgba(12, 14, 20, .28) 100%),
		var(--hero-img);
	background-size: cover;
	background-position: center;
}
.pdh-hero__inner { padding-top: 96px; padding-bottom: 96px; }
.pdh-hero__box { max-width: 760px; animation: pdhUp .8s ease both; }
.pdh-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 24px;
}
.pdh-hero__eyebrow::before {
	content: "";
	width: 44px;
	height: 2px;
	background: var(--red);
	display: block;
}
.pdh-hero__eyebrow span {
	color: #fff;
	font-size: 14px;
	letter-spacing: 3px;
	text-transform: uppercase;
	font-weight: 600;
}
.pdh-hero h1 {
	font-family: var(--serif);
	color: #fff;
	font-weight: 600;
	font-size: clamp(38px, 5.6vw, 72px);
	line-height: 1.08;
	letter-spacing: -.5px;
	margin: 0 0 26px;
}
.pdh-hero__sub {
	font-family: var(--serif);
	font-style: italic;
	color: rgba(255, 255, 255, .9);
	font-size: clamp(18px, 2.2vw, 25px);
	line-height: 1.5;
	margin: 0 0 40px;
	max-width: 640px;
}
.pdh-hero__cta { display: flex; gap: 16px; flex-wrap: wrap; }

@keyframes pdhUp {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}

/*--------------------------------------------------------------
# Sections shared
--------------------------------------------------------------*/
.pdh-section { padding: 110px 0; }
.pdh-section--paper { background: var(--paper); }
.pdh-section--paper2 {
	background: var(--paper2);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.pdh-section--dark { background: var(--ink); color: #fff; padding: 96px 0; }

.pdh-section__head--center {
	text-align: center;
	max-width: 660px;
	margin: 0 auto 60px;
}
.pdh-section__head--center .pdh-kicker { margin-bottom: 18px; }
.pdh-section__lead { font-size: 17px; color: var(--mut); margin: 0; }

/*--------------------------------------------------------------
# About
--------------------------------------------------------------*/
.pdh-about__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 60px;
	align-items: center;
}
.pdh-about__lead { font-size: 18px; line-height: 1.72; color: var(--ink2); margin: 0 0 20px; }
.pdh-about__body { font-size: 17px; line-height: 1.72; color: var(--mut); margin: 0 0 34px; }
.pdh-motto {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: var(--paper2);
	border-left: 3px solid var(--red);
	padding: 14px 22px;
	font-family: var(--serif);
	font-style: italic;
	font-size: 18px;
	color: var(--ink);
	font-weight: 500;
}
.pdh-stats {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--line);
	background: #fff;
}
.pdh-stat {
	padding: 30px 34px;
	border-bottom: 1px solid var(--line);
	display: flex;
	align-items: baseline;
	gap: 22px;
}
.pdh-stat__num {
	font-family: var(--serif);
	font-weight: 700;
	color: var(--red);
	font-size: 38px;
	line-height: 1;
	min-width: 96px;
}
.pdh-stat__label { font-size: 16px; color: var(--ink2); line-height: 1.5; font-weight: 500; }
.pdh-about__card {
	padding: 26px 34px;
	background: var(--ink);
	color: #fff;
}
.pdh-about__card-name {
	font-size: 13px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
	margin-bottom: 8px;
}
.pdh-about__card-addr { font-size: 15px; line-height: 1.6; color: rgba(255, 255, 255, .9); }

/*--------------------------------------------------------------
# Practice areas
--------------------------------------------------------------*/
.pdh-areas {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 22px;
}
.pdh-area {
	display: flex;
	gap: 26px;
	align-items: flex-start;
	text-align: left;
	background: #fff;
	border: 1px solid var(--line);
	padding: 38px 36px;
	transition: box-shadow .25s, transform .25s, border-color .25s;
}
.pdh-area:hover {
	box-shadow: 0 22px 50px rgba(22, 25, 31, .1);
	transform: translateY(-4px);
	border-color: var(--red);
}
.pdh-area__num {
	font-family: var(--serif);
	font-weight: 700;
	font-size: 34px;
	color: var(--red);
	line-height: 1;
	border: 2px solid rgba(200, 33, 39, .28);
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.pdh-area__body { flex: 1; }
.pdh-area__title {
	display: block;
	font-family: var(--serif);
	font-weight: 600;
	font-size: 22px;
	line-height: 1.25;
	margin-bottom: 10px;
	color: var(--ink);
}
.pdh-area__tagline {
	display: block;
	font-size: 15px;
	line-height: 1.6;
	color: var(--mut);
	margin-bottom: 18px;
}
.pdh-area__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--red);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .3px;
}
.pdh-area__more span { font-size: 17px; }
.pdh-area:hover .pdh-area__more { color: var(--red2); }

/*--------------------------------------------------------------
# Commitments
--------------------------------------------------------------*/
.pdh-commit .pdh-kicker { margin-bottom: 44px; }
.pdh-commit__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1px;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .12);
}
.pdh-commit__item { background: var(--ink); padding: 34px 28px; }
.pdh-commit__icon { color: var(--red); font-size: 20px; margin-bottom: 18px; }
.pdh-commit__title {
	font-family: var(--serif);
	font-weight: 600;
	font-size: 20px;
	margin-bottom: 12px;
	line-height: 1.25;
}
.pdh-commit__body { font-size: 14.5px; line-height: 1.66; color: rgba(255, 255, 255, .66); }

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.pdh-contact__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
	gap: 56px;
	align-items: stretch;
}
.pdh-contact__intro { font-size: 17px; line-height: 1.7; color: var(--mut); margin: 0 0 38px; max-width: 460px; }
.pdh-contact__rows { display: flex; flex-direction: column; gap: 26px; }
.pdh-contact__row { display: flex; gap: 18px; }
.pdh-contact__label {
	color: var(--red);
	font-family: var(--serif);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 2px;
	text-transform: uppercase;
	min-width: 78px;
	padding-top: 3px;
}
.pdh-contact__value { font-size: 16px; line-height: 1.7; color: var(--ink2); flex: 1; }
.pdh-contact__value a { color: var(--ink); font-weight: 600; }
.pdh-contact__value a:hover { color: var(--red); }
.pdh-contact__actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 38px; }
.pdh-contact__aside {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.pdh-map {
	min-height: 300px;
	border: 1px solid var(--line);
	overflow: hidden;
	background: var(--paper2);
	flex: 1;
}
.pdh-map iframe { width: 100%; height: 100%; min-height: 300px; display: block; border: 0; }

/* Contact Form 7 */
.pdh-form {
	background: #fff;
	border: 1px solid var(--line);
	padding: 30px 30px 34px;
}
.pdh-form h3 {
	font-family: var(--serif);
	font-weight: 600;
	font-size: 20px;
	margin: 0 0 20px;
	color: var(--ink);
}
.pdh-form p { margin: 0 0 14px; }
.pdh-form label { display: block; font-size: 14px; font-weight: 500; color: var(--ink2); margin-bottom: 6px; }
.pdh-form input[type="text"],
.pdh-form input[type="email"],
.pdh-form input[type="tel"],
.pdh-form input[type="url"],
.pdh-form input[type="number"],
.pdh-form textarea,
.pdh-form select {
	width: 100%;
	font-family: var(--sans);
	font-size: 15px;
	color: var(--ink);
	border: 1px solid var(--line);
	border-radius: 2px;
	padding: 12px 14px;
	background: var(--paper);
}
.pdh-form textarea { min-height: 120px; resize: vertical; }
.pdh-form input:focus,
.pdh-form textarea:focus,
.pdh-form select:focus { border-color: var(--red); outline: none; }
.pdh-form .wpcf7-submit {
	background: var(--red);
	color: #fff;
	border: 0;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 30px;
	border-radius: 2px;
	cursor: pointer;
	transition: background .2s;
	width: auto;
}
.pdh-form .wpcf7-submit:hover { background: var(--red2); }
.pdh-form .wpcf7-spinner { margin: 12px auto 0; }

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.pdh-footer { background: #0F1116; color: rgba(255, 255, 255, .72); padding: 70px 0 34px; }
.pdh-footer__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 48px;
}
.pdh-footer__brand {
	display: flex;
	align-items: baseline;
	gap: 2px;
	margin-bottom: 18px;
	font-family: var(--serif);
	font-weight: 700;
	font-size: 30px;
	letter-spacing: 1px;
}
.pdh-footer__brand .a { color: var(--red); }
.pdh-footer__brand .b { color: #fff; }
.pdh-footer__name {
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .5);
	margin-bottom: 16px;
}
.pdh-footer__tag {
	font-family: var(--serif);
	font-style: italic;
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .6);
	max-width: 340px;
	margin: 0;
}
.pdh-footer__col-title {
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .45);
	margin-bottom: 20px;
	font-weight: 600;
}
.pdh-footer__links { display: flex; flex-direction: column; gap: 12px; }
.pdh-footer__links a { font-size: 15px; color: rgba(255, 255, 255, .72); }
.pdh-footer__links a:hover { color: #fff; }
.pdh-footer__contact { font-size: 14.5px; line-height: 1.7; color: rgba(255, 255, 255, .72); display: flex; flex-direction: column; gap: 10px; }
.pdh-footer__contact a { color: #fff; }
.pdh-footer__contact a:hover { color: var(--red); }
.pdh-footer__bottom {
	max-width: var(--wrap);
	margin: 44px auto 0;
	padding: 24px 28px 0;
	border-top: 1px solid rgba(255, 255, 255, .12);
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 13px;
	color: rgba(255, 255, 255, .45);
}

/*--------------------------------------------------------------
# Single article (practice-area detail)
--------------------------------------------------------------*/
.pdh-article__hero {
	position: relative;
	padding: 74px 0;
	background-image: linear-gradient(90deg, rgba(12, 14, 20, .9), rgba(12, 14, 20, .6)), var(--hero-img, none);
	background-color: var(--ink);
	background-size: cover;
	background-position: center;
}
.pdh-article__hero-inner { display: flex; gap: 26px; align-items: center; }
.pdh-article__num {
	font-family: var(--serif);
	font-weight: 700;
	font-size: 40px;
	color: #fff;
	border: 2px solid rgba(255, 255, 255, .5);
	width: 82px;
	height: 82px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.pdh-article__hero h1 {
	font-family: var(--serif);
	font-weight: 600;
	color: #fff;
	font-size: clamp(26px, 4vw, 42px);
	line-height: 1.15;
	margin: 0 0 12px;
}
.pdh-article__hero-sub { font-size: 17px; line-height: 1.55; color: rgba(255, 255, 255, .86); margin: 0; max-width: 640px; }

.pdh-article__body {
	max-width: 1000px;
	margin: 0 auto;
	padding: 56px 28px 40px;
}
.pdh-article__body p { font-size: 17.5px; line-height: 1.76; color: var(--ink2); margin: 0 0 22px; }
.pdh-article__body h2,
.pdh-article__body h3 {
	font-family: var(--serif);
	font-weight: 600;
	line-height: 1.3;
	color: var(--ink);
	margin: 40px 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--line);
}
.pdh-article__body h2 { font-size: 26px; }
.pdh-article__body h3 { font-size: 23px; }
.pdh-article__body ul {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.pdh-article__body ul li {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	font-size: 16.5px;
	line-height: 1.62;
	color: var(--ink2);
}
.pdh-article__body ul li::before {
	content: "\25B8";
	color: var(--red);
	font-weight: 700;
	flex-shrink: 0;
	margin-top: 1px;
}
.pdh-article__body blockquote {
	margin: 6px 0 24px;
	padding: 0;
	font-family: var(--serif);
	font-weight: 600;
	font-size: clamp(22px, 2.6vw, 28px);
	color: var(--red);
	line-height: 1.3;
}
/* "Why choose us" feature grid (used inside article content) */
.pdh-article__body .pdh-feats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
	margin: 24px 0 10px;
}
.pdh-article__body .pdh-feat {
	border: 1px solid var(--line);
	background: #fff;
	padding: 24px 26px;
}
.pdh-article__body .pdh-feat strong {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--serif);
	font-weight: 600;
	font-size: 18px;
	color: var(--ink);
	line-height: 1.25;
	margin-bottom: 10px;
}
.pdh-article__body .pdh-feat strong::before { content: "\2714"; color: var(--red); font-size: 15px; }
.pdh-article__body .pdh-feat p { font-size: 15px; line-height: 1.64; color: var(--mut); margin: 0; }

.pdh-article__hooks {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
}
.pdh-article__hooks li {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	background: var(--paper2);
	border-left: 3px solid var(--red);
	padding: 18px 22px;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--ink);
}
.pdh-article__hooks li::before {
	content: "?";
	color: var(--red);
	font-family: var(--serif);
	font-weight: 700;
	font-size: 20px;
	line-height: 1;
	flex-shrink: 0;
}

.pdh-article__cta {
	margin: 46px 0 8px;
	background: var(--ink);
	color: #fff;
	padding: 40px;
	text-align: center;
}
.pdh-article__cta p {
	font-family: var(--serif);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(19px, 2.4vw, 25px);
	line-height: 1.4;
	margin: 0 0 26px;
	color: #fff;
}
.pdh-article__back {
	margin: 44px 28px 0;
	max-width: 1000px;
}
.pdh-article__back-wrap { max-width: 1000px; margin: 0 auto; padding: 0 28px; }

/*--------------------------------------------------------------
# Generic page (page.php)
--------------------------------------------------------------*/
.pdh-page { padding: 0 0 90px; }
.pdh-page__head {
	background: var(--paper2);
	border-bottom: 1px solid var(--line);
	padding: 52px 0 46px;
	margin-bottom: 50px;
}
.pdh-page__title {
	font-family: var(--serif);
	font-weight: 600;
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.15;
	color: var(--ink);
	margin: 0;
	position: relative;
	padding-left: 22px;
}
.pdh-page__title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	bottom: 8px;
	width: 5px;
	background: var(--red);
}
.pdh-page__body { max-width: 820px; }
.pdh-page__thumb { margin: 0 0 34px; }
.pdh-page__thumb img { width: 100%; height: auto; border: 1px solid var(--line); }
.pdh-page .entry-content { font-size: 17px; line-height: 1.8; color: var(--ink2); }
.pdh-page .entry-content > * + * { margin-top: 20px; }
.pdh-page .entry-content h2,
.pdh-page .entry-content h3,
.pdh-page .entry-content h4 {
	font-family: var(--serif);
	font-weight: 600;
	color: var(--ink);
	line-height: 1.3;
}
.pdh-page .entry-content h2 { font-size: 26px; margin-top: 40px; }
.pdh-page .entry-content h3 { font-size: 22px; margin-top: 30px; }
.pdh-page .entry-content h4 { font-size: 19px; margin-top: 24px; }
.pdh-page .entry-content a { color: var(--red); text-decoration: underline; }
.pdh-page .entry-content a:hover { color: var(--red2); }
.pdh-page .entry-content ul,
.pdh-page .entry-content ol { padding-left: 22px; }
.pdh-page .entry-content li { margin: 8px 0; }
.pdh-page .entry-content img { max-width: 100%; height: auto; }
.pdh-page .entry-content blockquote {
	margin: 26px 0;
	padding: 16px 24px;
	border-left: 3px solid var(--red);
	background: var(--paper2);
	font-family: var(--serif);
	font-style: italic;
	font-size: 19px;
	color: var(--ink);
}
.pdh-page .page-links { margin-top: 24px; font-weight: 600; }

/*--------------------------------------------------------------
# 404 (page not found)
--------------------------------------------------------------*/
.pdh-404 {
	background: var(--paper2);
	padding: 90px 0 100px;
	display: flex;
	align-items: center;
	min-height: 56vh;
}
.pdh-404__inner { max-width: 720px; text-align: center; }
.pdh-404__code {
	display: block;
	font-family: var(--serif);
	font-weight: 700;
	font-size: clamp(96px, 20vw, 188px);
	line-height: .9;
	color: var(--red);
	letter-spacing: 2px;
}
.pdh-404__title {
	font-family: var(--serif);
	font-weight: 600;
	font-size: clamp(24px, 3.4vw, 36px);
	color: var(--ink);
	margin: 8px 0 14px;
}
.pdh-404__text {
	font-size: 17px;
	line-height: 1.7;
	color: var(--ink2);
	max-width: 560px;
	margin: 0 auto 34px;
}
.pdh-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-bottom: 40px;
}
.pdh-404__search {
	display: flex;
	max-width: 430px;
	margin: 0 auto;
	border: 1px solid var(--line);
	background: #fff;
}
.pdh-404__search input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: 13px 18px;
	font-family: var(--sans);
	font-size: 15px;
	color: var(--ink);
	outline: none;
}
.pdh-404__search button {
	border: 0;
	background: var(--ink);
	color: #fff;
	padding: 0 20px;
	cursor: pointer;
	display: flex;
	align-items: center;
	transition: background .2s;
}
.pdh-404__search button:hover { background: var(--red); }

/*--------------------------------------------------------------
# Responsive
--------------------------------------------------------------*/
/* Header collapses to a hamburger early enough for the long Vietnamese labels. */
@media (max-width: 1024px) {
	.pdh-header__inner { position: relative; }
	.pdh-nav { gap: 14px; }
	.pdh-nav .pdh-nav__toggle { display: inline-flex !important; order: 3; }
	.pdh-lang { order: 2; }
	.pdh-nav .pdh-nav__links { display: none; }
	.pdh-nav.is-open .pdh-nav__links {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		width: 100%;
		background: var(--paper);
		border-bottom: 1px solid var(--line);
		padding: 12px 28px 18px;
		box-shadow: 0 12px 24px rgba(0, 0, 0, .06);
	}
	.pdh-nav.is-open .pdh-nav__link {
		width: 100%;
		padding: 12px 0;
		border-bottom: 1px solid var(--line);
	}
	.pdh-nav.is-open .pdh-nav__link:last-child { border-bottom: 0; }
}

@media (max-width: 860px) {
	.pdh-section { padding: 72px 0; }
	.pdh-section--dark { padding: 64px 0; }
	.pdh-hero { min-height: 78vh; }
	.pdh-hero__inner { padding-top: 64px; padding-bottom: 64px; }
	.pdh-article__hero-inner { flex-direction: column; align-items: flex-start; gap: 18px; }
	.pdh-footer__bottom { flex-direction: column; }
}

@media (max-width: 480px) {
	.pdh-wrap { padding-left: 20px; padding-right: 20px; }
	.pdh-header__inner { padding-top: 12px; padding-bottom: 12px; }
	.pdh-area { flex-direction: column; gap: 18px; }
	.pdh-hero__cta { flex-direction: column; }
	.pdh-hero__cta .pdh-btn { width: 100%; justify-content: center; }
	.pdh-article__body { padding-left: 20px; padding-right: 20px; }
	.pdh-article__cta { padding: 28px 22px; }
}
