/*
 * Hellpdesk: Corporate Inferno styles. Loads after Kadence's own CSS.
 *
 * Where things come from:
 * - Fonts: @font-face rules for Archivo are printed by inc/fonts.php (inline, right after this file).
 * - Colors: Kadence's Global Palette (inc/palette.php). The tokens below read those slots,
 *   so a color changed in the Customizer flows through everywhere.
 * - Body text, heading sizes, links and buttons: Kadence's typography and button settings
 *   (starting values in inc/kadence-defaults.php).
 */

/* 1. Tokens (from docs/tokens.css) ---------------------------------------------------- */

:root {
	--hd-ember-deep: var(--global-palette1, #C42A1C);
	--hd-ember: var(--global-palette2, #FF4B33);
	--hd-charcoal: var(--global-palette3, #1C1616);
	--hd-charcoal-2: var(--global-palette4, #3A3032);
	--hd-ash: var(--global-palette5, #6C5F5A);
	--hd-line: var(--global-palette6, #DDD3CC);
	--hd-bone-2: var(--global-palette7, #ECE4DD);
	--hd-bone: var(--global-palette8, #F6EFE9);
	--hd-paper: var(--global-palette9, #FFFAF6);
	--hd-ash-light: var(--global-palette10, #B9AAA4);
	--hd-ash-brand: #7A6B66; /* Form field borders: 4.9:1 on Paper (tokens: "for borders"). */
	--hd-white: #FFFFFF;

	--hd-font: Archivo, "Arial Narrow", Arial, sans-serif;
	--hd-display: clamp(48px, 7vw, 88px);
	--hd-h1: clamp(38px, 5vw, 60px);
	--hd-h2: clamp(28px, 3.4vw, 40px);
	--hd-h3: 24px;
	--hd-body: 19px;
	--hd-small: 15px;
	--hd-label: 13px;

	--hd-radius-card: 18px;
	--hd-radius-pill: 999px;
	--hd-radius-input: 10px;
	--hd-shadow-ticket: 0 18px 40px rgba(28, 22, 22, .12);
	--hd-card-pad: clamp(24px, 4vw, 48px);
	--hd-section: clamp(56px, 9vw, 120px);

	/* 48px grid texture. Use in the `background` shorthand (it includes position and size). */
	--hd-grid-light: linear-gradient(rgba(28, 22, 22, .045) 1px, transparent 1px) 0 0 / 48px 48px,
		linear-gradient(90deg, rgba(28, 22, 22, .045) 1px, transparent 1px) 0 0 / 48px 48px;
	--hd-grid-dark: linear-gradient(rgba(246, 239, 233, .04) 1px, transparent 1px) 0 0 / 48px 48px,
		linear-gradient(90deg, rgba(246, 239, 233, .04) 1px, transparent 1px) 0 0 / 48px 48px;
	/* The same dark grid as images only, to layer over a background color set elsewhere (use with background-size: 48px 48px). */
	--hd-grid-dark-image: linear-gradient(rgba(246, 239, 233, .04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(246, 239, 233, .04) 1px, transparent 1px);

	/* Focus ring: Ember Deep on light; switched to Ember inside dark sections. */
	--hd-focus: var(--hd-ember-deep);
}

/* 2. Base ------------------------------------------------------------------------------ */

h1, h2, h3, h4, h5, h6 {
	text-wrap: balance;
}

:focus-visible {
	outline: 2px solid var(--hd-focus);
	outline-offset: 3px;
}

/* Kadence removes the outline from focused form fields and only tints the border with
   palette slot 6 (Line), which is nearly invisible. Give them the brand focus ring (brief §7.11). */
input[type]:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--hd-focus);
	outline-offset: 2px;
	border-color: var(--hd-ember-deep);
}

/* 3. Type utilities -------------------------------------------------------------------- */

/* Home hero headline size (brief §4: Display). */
.hd-display {
	font-family: var(--hd-font);
	font-size: var(--hd-display);
	font-weight: 900;
	line-height: .95;
	letter-spacing: -.035em;
	text-wrap: balance;
	color: var(--hd-charcoal);
}

/* One highlighted word in a heading, like Known <span class="hd-hl">Issues</span>. */
.hd-hl {
	color: var(--hd-ember-deep);
}

/* Small uppercase label, like CATEGORY or HELLPDESK SUPPORT. */
.hd-label {
	font: 600 var(--hd-label)/1.2 var(--hd-font);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hd-ash);
}

/* Meta text: dates, reading time, captions. */
.hd-meta {
	font-size: var(--hd-small);
	line-height: 1.5;
	color: var(--hd-ash);
}

/* 4. Dark sections (brief §5: the .hd-dark utility) ------------------------------------ */

.hd-dark {
	--hd-focus: var(--hd-ember);
	background: var(--hd-grid-dark), var(--hd-charcoal);
	color: var(--hd-bone);
}

.hd-dark :is(h1, h2, h3, h4, h5, h6, .hd-display) {
	color: var(--hd-bone);
}

.hd-dark .hd-hl {
	color: var(--hd-ember);
}

.hd-dark :is(.hd-label, .hd-meta) {
	color: var(--hd-ash-light);
}

.hd-dark a:where(:not(.wp-block-button__link):not(.button)) {
	color: var(--hd-ember);
}

.hd-dark a:where(:not(.wp-block-button__link):not(.button)):hover {
	color: var(--hd-bone);
}

/* 5. Kadence fixes --------------------------------------------------------------------- */

/* Kadence colors these with palette slot 6, which the brief uses for borders (Line),
   far too pale for text or icons. Use Ash instead. */
.search-form .kadence-search-icon-wrap,
.widget_recent_entries ul li .post-date {
	color: var(--hd-ash);
}

/* 6. Skip link (Kadence's "Skip to content", shown when it gets keyboard focus) -------- */

.skip-link:focus {
	background: var(--hd-paper);
	color: var(--hd-charcoal);
	font: 800 16px/1 var(--hd-font);
	padding: 14px 22px;
	border-radius: var(--hd-radius-pill);
	box-shadow: var(--hd-shadow-ticket);
	outline: 2px solid var(--hd-ember-deep);
	outline-offset: 3px;
	text-decoration: none;
}

/* 7. Status bar above the header (inc/header.php; off by default) --------------------- */

.hd-status-bar {
	--hd-focus: var(--hd-ember);
	background: var(--hd-grid-dark), var(--hd-charcoal);
	border-bottom: 1px solid rgba(246, 239, 233, .12);
	color: var(--hd-bone);
	font: 600 14px/1.4 var(--hd-font);
}

.hd-status-bar__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 40px;
}

.hd-status-bar__text {
	margin: 0;
	padding: 8px 0;
	text-align: center;
}

.hd-status-bar__dot {
	color: var(--hd-ember);
	margin-right: 4px;
}

.hd-status-bar__close {
	flex: none;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
	color: var(--hd-ash-light);
	font: 400 22px/1 var(--hd-font);
	cursor: pointer;
}

.hd-status-bar__close:hover {
	background: transparent;
	color: var(--hd-ember);
}

/* 7b. The social accounts' top bar (inc/social.php, 0.14.0): icons only, above the header ---- */

.hd-social-bar {
	--hd-focus: var(--hd-ember);
	background: var(--hd-grid-dark), var(--hd-charcoal);
	border-bottom: 1px solid rgba(246, 239, 233, .12);
}

.hd-social-bar__inner {
	display: flex;
	justify-content: center;
}

.hd-social-bar__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2px;
	margin: 0;
	padding: 4px 0;
	list-style: none;
}

.hd-social-bar__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	color: var(--hd-bone);
}

.hd-social-bar__link:hover {
	background: rgba(246, 239, 233, .08);
	color: var(--hd-ember);
}

.hd-social-bar__link .kadence-svg-iconset {
	display: inline-flex;
}

.hd-social-bar__link .kadence-svg-iconset svg {
	width: 18px;
	height: 18px;
}

@media (min-width: 768px) {
	.hd-social-bar__inner,
	.hd-social-bar__list {
		justify-content: flex-end;
	}

	.hd-social-bar__list {
		gap: 4px;
	}

	.hd-social-bar__link {
		width: 32px;
		height: 32px;
	}
}

/* 8. Header (Kadence header builder; colors and layout defaults in inc/header.php) ------ */

#masthead {
	--hd-focus: var(--hd-ember);
	background-image: var(--hd-grid-dark-image);
	background-size: 48px 48px;
}

/* Brand SVG logo from the theme (only when no logo is uploaded in the Customizer). */
#masthead .site-branding .hd-logo__img {
	display: block;
	width: auto;
	max-width: none;
	height: 34px;
}

#masthead .mobile-site-branding .hd-logo__img {
	height: 40px; /* headset mark */
}

@media (min-width: 600px) {
	#masthead .mobile-site-branding .hd-logo__img {
		height: 30px; /* horizontal logo */
	}
}

/* Kadence's "underline" menu style draws the line in the text color; make it Ember. */
.header-navigation[class*="header-navigation-style-underline"] .header-menu-container > ul > li > a::after {
	background: var(--hd-ember);
	height: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.header-navigation[class*="header-navigation-style-underline"] .header-menu-container > ul > li > a::after {
		transition: none;
	}
}

/* 9. Footer (template-parts/footer/base.php) ------------------------------------------- */

.hd-footer {
	padding: clamp(56px, 8vw, 96px) 0 32px;
	font-size: var(--hd-small);
	line-height: 1.6;
}

.hd-footer__grid {
	display: grid;
	gap: 40px 48px;
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
	.hd-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.hd-footer__grid {
		grid-template-columns: 136px minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr);
	}
}

/* The seal file has a grey square behind the round seal; show only the circle. */
.hd-footer__seal-img {
	display: block;
	width: 136px;
	height: auto;
	clip-path: circle(48.5% at 50% 50%);
}

.hd-footer .hd-footer__heading {
	margin: 0 0 16px;
	font: 600 var(--hd-label)/1.2 var(--hd-font);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hd-ash-light);
}

.hd-footer p {
	margin: 0 0 16px;
}

.hd-footer__about p {
	max-width: 44ch;
}

.hd-footer__counter {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.hd-footer__counter-label {
	font: 600 var(--hd-label)/1.2 var(--hd-font);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hd-ash-light);
}

.hd-footer__counter-number {
	font: 900 40px/1 var(--hd-font);
	letter-spacing: -.02em;
	color: var(--hd-ember);
}

.hd-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hd-footer__list li + li {
	margin-top: 10px;
}

.hd-footer__list a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--hd-bone);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
}

.hd-footer__list a:hover {
	color: var(--hd-ember);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.hd-footer__list .kadence-svg-iconset {
	display: inline-flex;
}

.hd-footer__list .kadence-svg-iconset svg {
	width: 18px;
	height: 18px;
}

.hd-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 32px;
	margin-top: clamp(40px, 6vw, 64px);
	padding-top: 24px;
	border-top: 1px solid rgba(246, 239, 233, .12);
	color: var(--hd-ash-light);
}

.hd-footer__legal p {
	margin: 0;
}

/* 10. Notes only site admins see (e.g. "No menu yet") ---------------------------------- */

.hd-admin-hint {
	padding: 10px 14px;
	border: 1px dashed currentColor;
	border-radius: var(--hd-radius-input);
	font-size: 14px;
	color: var(--hd-ash);
}

.hd-dark .hd-admin-hint {
	color: var(--hd-ash-light);
}

/* 11. Status pills (brief §7.2) ---------------------------------------------------------- */

.hd-pill {
	display: inline-block;
	padding: .6em 1.05em;
	border-radius: var(--hd-radius-pill);
	font: 800 var(--hd-label)/1 var(--hd-font);
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.hd-pill--ember {
	background: var(--hd-ember-deep);
	color: var(--hd-white);
}

.hd-pill--charcoal {
	background: var(--hd-charcoal);
	color: var(--hd-ember);
}

.hd-pill--outline {
	padding: calc(.6em - 2px) calc(1.05em - 2px);
	border: 2px solid currentColor;
	color: var(--hd-ember-deep);
}

.hd-dark .hd-pill--ember {
	background: var(--hd-ember);
	color: var(--hd-charcoal);
}

.hd-dark .hd-pill--charcoal {
	box-shadow: inset 0 0 0 1px rgba(246, 239, 233, .25);
}

.hd-dark .hd-pill--outline {
	color: var(--hd-ember);
}

/* 12. Ticket card (brief §7.1; inc/tickets.php) ------------------------------------------ */

.hd-ticket-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: clamp(24px, 3vw, 32px);
	border-radius: var(--hd-radius-card);
	background: var(--hd-paper);
	box-shadow: var(--hd-shadow-ticket);
	transition: transform .2s ease, box-shadow .2s ease;
}

.hd-ticket-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 24px 48px rgba(28, 22, 22, .18);
}

.hd-ticket-card__labels {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
	margin-bottom: 20px;
}

.hd-ticket-card__dept {
	font: 600 var(--hd-label)/1.2 var(--hd-font);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hd-ash);
}

.hd-ticket-card .hd-ticket-card__number {
	margin: 0 0 6px;
	font: 800 var(--hd-small)/1.2 var(--hd-font);
	color: var(--hd-ash);
}

.hd-ticket-card .hd-ticket-card__title {
	margin: 0 0 12px;
	font: 800 var(--hd-h3)/1.2 var(--hd-font);
	letter-spacing: -.01em;
	color: var(--hd-charcoal);
}

.hd-ticket-card__link,
.hd-ticket-card__link:hover {
	color: inherit;
	text-decoration: none;
}

/* The title link covers the whole card, so the card is one big click target. */
.hd-ticket-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--hd-radius-card);
}

.hd-ticket-card__link:focus-visible {
	outline: none;
}

.hd-ticket-card__link:focus-visible::after {
	outline: 2px solid var(--hd-ember-deep);
	outline-offset: 3px;
}

.hd-ticket-card .hd-ticket-card__excerpt {
	display: -webkit-box;
	margin: 0 0 24px;
	overflow: hidden;
	font-size: 17px;
	line-height: 1.55;
	color: var(--hd-charcoal-2);
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

.hd-ticket-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 14px;
	border-top: 2px solid var(--hd-charcoal);
	font-size: var(--hd-small);
	color: var(--hd-ash);
}

.hd-ticket-card__more {
	font-weight: 800;
	color: var(--hd-ember-deep);
	white-space: nowrap;
}

.hd-ticket-card:hover .hd-ticket-card__more {
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.hd-ticket-card {
		transition: none;
	}

	.hd-ticket-card:hover {
		transform: none;
	}
}

/* Card grid: 1 column on phones, 2 on tablets, 3 on desktop (brief §6.2). Kadence's grid
   switches to 2 columns at 576px; keep 1 column until 768px. */
@media (max-width: 767px) {
	#archive-container.grid-cols {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* 13. Archive header: the "ticket queue" title (inc/archive.php) ------------------------- */

.hd-archive-header {
	margin: 0 0 clamp(32px, 5vw, 56px);
}

.hd-archive-header .hd-label {
	margin: 0 0 14px;
}

.hd-archive-header .hd-archive-header__title {
	margin: 0 0 16px;
}

.hd-archive-header__description {
	max-width: 60ch;
	color: var(--hd-charcoal-2);
}

.hd-archive-header__description p {
	margin: 0;
}

/* 14. Pagination as pills ---------------------------------------------------------------- */

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	margin: 0;
	padding: 0 16px;
	border: 2px solid var(--hd-line);
	border-radius: var(--hd-radius-pill);
	background: var(--hd-paper);
	color: var(--hd-charcoal);
	font: 800 var(--hd-small)/1 var(--hd-font);
	text-decoration: none;
}

.pagination a.page-numbers:hover {
	border-color: var(--hd-charcoal);
	color: var(--hd-charcoal);
}

.pagination .page-numbers.current {
	border-color: var(--hd-charcoal);
	background: var(--hd-charcoal);
	color: var(--hd-bone);
}

.pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
}

/* 15. Single post: the "ticket view" (brief §6.3; template-parts/content/single-entry-post.php) */

.hd-ticket-view.entry {
	border-radius: var(--hd-radius-card);
	box-shadow: var(--hd-shadow-ticket);
}

.hd-ticket-view > .entry-content-wrap {
	padding: var(--hd-card-pad);
}

.hd-ticket-view__labels {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	margin-bottom: 28px;
}

.hd-ticket-view__dept {
	font: 600 var(--hd-label)/1.2 var(--hd-font);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hd-ash);
	text-decoration: none;
}

.hd-ticket-view__dept:hover {
	color: var(--hd-charcoal);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.hd-ticket-view .hd-ticket-view__number {
	margin: 0 0 10px;
	font: 800 17px/1.2 var(--hd-font);
	color: var(--hd-ash);
}

.hd-ticket-view .hd-ticket-view__title {
	margin: 0 0 18px;
}

.hd-ticket-view__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	margin: 0;
	font-size: var(--hd-small);
	line-height: 1.5;
	color: var(--hd-ash);
}

.hd-ticket-view__image {
	margin: clamp(24px, 4vw, 40px) 0;
}

.hd-ticket-view__image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}

/* Comfortable line length for reading (brief §4: about 68 characters). */
.hd-ticket-view .entry-content {
	max-width: 68ch;
}

.hd-ticket-view__status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	margin-top: clamp(32px, 5vw, 48px);
	padding-top: 18px;
	border-top: 2px solid var(--hd-charcoal);
	font-size: var(--hd-small);
	line-height: 1.5;
	color: var(--hd-ash);
}

.hd-ticket-view__status-label {
	font-weight: 800;
	color: var(--hd-charcoal);
}

/* Agent box under the ticket. */
.hd-agent {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 32px;
	padding: 24px clamp(20px, 3vw, 32px);
	border-radius: var(--hd-radius-card);
	background: var(--hd-paper);
	box-shadow: var(--hd-shadow-ticket);
}

.hd-agent__avatar {
	flex: none;
	width: 80px;
	height: 80px;
	border-radius: 50%;
}

.hd-agent .hd-label {
	margin: 0 0 6px;
}

.hd-agent .hd-agent__name {
	margin: 0 0 4px;
	font: 800 20px/1.2 var(--hd-font);
	color: var(--hd-charcoal);
}

.hd-agent .hd-agent__bio {
	margin: 0;
	font-size: var(--hd-small);
	line-height: 1.5;
	color: var(--hd-charcoal-2);
}

/* Breadcrumbs above the ticket header (inc/quality.php): Home › Tickets › Department › title. */
.hd-breadcrumbs {
	margin: 0 0 20px;
	font-size: var(--hd-small);
	line-height: 1.4;
	color: var(--hd-ash);
}

.hd-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hd-breadcrumbs__item {
	display: inline-flex;
	min-width: 0;
	max-width: 100%;
}

.hd-breadcrumbs__item + .hd-breadcrumbs__item::before {
	content: "›" / "";
	margin: 0 8px;
	color: var(--hd-ash);
}

.hd-breadcrumbs a {
	color: var(--hd-ash);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.hd-breadcrumbs a:hover {
	color: var(--hd-ember-deep);
}

/* The current post: one line, cut with "…" if long (the full title is right below). */
.hd-breadcrumbs [aria-current] {
	overflow: hidden;
	color: var(--hd-charcoal-2);
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Links to other sites in a post: the "receipts" (inc/quality.php). Underlined, with a small
   arrow so readers can tell a source from a link within Hellpdesk. They open as normal links. */
.entry-content a.hd-source-link {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.entry-content a.hd-source-link::after {
	content: "\2197" / "";
	display: inline-block;
	margin-left: .15em;
	font-size: .8em;
	text-decoration: none;
}

/* "Who's behind Hellpdesk →": a link to the About page (shown once it's published). */
.hd-agent .hd-agent__more {
	margin: 10px 0 0;
	font-size: var(--hd-small);
	font-weight: 800;
}

/* Related tickets: wider than the reading column, so three cards fit side by side. */
.hd-related {
	position: relative;
	left: 50%;
	width: min(
		calc(var(--global-content-width, 1290px) - 2 * var(--global-content-edge-padding, 1.5rem)),
		calc(100vw - 2 * var(--global-content-edge-padding, 1.5rem))
	);
	margin-top: clamp(56px, 8vw, 96px);
	transform: translateX(-50%);
}

.hd-related .hd-label {
	margin: 0 0 12px;
}

.hd-related .hd-related__title {
	margin: 0 0 28px;
}

.hd-related__list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.hd-related__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.hd-related__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Phones: Kadence stretches boxed content 1rem past the page edges; keep the ticket in line
   with the agent box and the cards. Drop the "·" separators, which would dangle when the
   meta and status lines wrap. */
@media (max-width: 719px) {
	.content-style-boxed .hd-ticket-view.content-bg {
		margin-left: 0;
		margin-right: 0;
	}
}

@media (max-width: 599px) {
	.hd-ticket-view .hd-ticket-view__sep {
		display: none;
	}

	.hd-ticket-view__meta {
		column-gap: 16px;
	}

	.hd-ticket-view__status > span:last-child {
		flex-basis: 100%;
	}
}

/* Post tags (Kadence's tag links): pill shaped, brand colors instead of Kadence's blue-grey. */
.entry-tags a.tag-link {
	padding: .45em .9em;
	border: 1px solid var(--hd-line);
	border-radius: var(--hd-radius-pill);
	color: var(--hd-ash);
	font-weight: 600;
}

.entry-tags a.tag-link:hover {
	border-color: var(--hd-ember-deep);
	background: var(--hd-ember-deep);
	color: var(--hd-white);
}

/* 16. Page sections (patterns/): full-width bands with a centred container -------------- */

.hd-section {
	padding-block: var(--hd-section);
}

.hd-section--alt {
	background: var(--hd-bone-2);
}

.hd-container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--global-content-width, 1290px);
	margin-inline: auto;
	padding-inline: var(--global-content-edge-padding, 1.5rem);
}

.hd-section .hd-label {
	margin: 0 0 12px;
}

.hd-section .hd-section__title {
	margin: 0 0 16px;
}

.hd-section .hd-section__intro {
	max-width: 60ch;
	margin: 0 0 8px;
	color: var(--hd-charcoal-2);
}

.hd-section .hd-section__more {
	margin-top: 40px;
}

/* Buttons on dark backgrounds: Ember with Charcoal text; outline in Bone (brief §7.10).
   A color picked for a button in the editor (has-background / has-text-color) still wins. */
.hd-dark .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background) {
	background: var(--hd-ember);
}

.hd-dark .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-text-color) {
	color: var(--hd-charcoal);
}

.hd-dark .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background):hover {
	background: var(--hd-bone);
}

.hd-dark .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) {
	border-color: currentColor;
	background: transparent;
	color: var(--hd-bone);
}

.hd-dark .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover {
	color: var(--hd-ember);
}

/* Home hero (brief §6.1): dark, grid, ember glow from below. */
.hd-hero {
	padding-block: clamp(72px, 11vw, 140px);
	background: radial-gradient(ellipse 70% 55% at 50% 118%, rgba(255, 75, 51, .26), transparent 70%), var(--hd-grid-dark), var(--hd-charcoal);
	text-align: center;
}

.hd-hero .hd-label {
	margin: 0 0 20px;
}

.hd-hero .hd-display {
	max-width: 16ch;
	margin: 0 auto 16px;
}

.hd-hero .hd-hero__sub {
	margin: 0 0 32px;
	font-size: clamp(20px, 2.4vw, 28px);
	color: var(--hd-bone);
}

.hd-pill-row {
	gap: 12px;
	margin: 0 0 40px;
}

.hd-pill-block {
	margin-block: 0;
}

/* Card grids: ticket queue block, related tickets, departments. 1 / 2 / 3 columns. */
.hd-card-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hd-card-grid > li {
	margin: 0;
}

@media (min-width: 768px) {
	.hd-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.hd-card-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Eight department tiles: two rows of four on wide screens. */
@media (min-width: 1200px) {
	.hd-departments .hd-card-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 24px;
	}
}

.hd-queue,
.hd-departments {
	margin-top: 32px;
}

/* Department tiles. The name link covers the tile, like the ticket cards. */
.hd-card-grid > .hd-dept {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 28px;
	border-radius: var(--hd-radius-card);
	background: var(--hd-paper);
	box-shadow: var(--hd-shadow-ticket);
	transition: transform .2s ease, box-shadow .2s ease;
}

.hd-dept:hover {
	transform: translateY(-2px);
	box-shadow: 0 24px 48px rgba(28, 22, 22, .18);
}

.hd-dept__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 8px;
	border-radius: 12px;
	background: var(--hd-bone-2);
	color: var(--hd-ember-deep);
}

.hd-dept__icon .hd-icon {
	width: 26px;
	height: 26px;
}

.hd-dept .hd-dept__name {
	margin: 0;
	font: 800 22px/1.2 var(--hd-font);
	letter-spacing: -.01em;
}

.hd-dept__link,
.hd-dept__link:hover {
	color: var(--hd-charcoal);
	text-decoration: none;
}

.hd-dept__link::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--hd-radius-card);
}

.hd-dept__link:focus-visible {
	outline: none;
}

.hd-dept__link:focus-visible::after {
	outline: 2px solid var(--hd-ember-deep);
	outline-offset: 3px;
}

.hd-dept .hd-dept__desc {
	margin: 0;
	font-size: 16px;
	line-height: 1.55;
	color: var(--hd-charcoal-2);
}

.hd-dept .hd-dept__count {
	margin: auto 0 0;
	padding-top: 12px;
	font: 800 var(--hd-label)/1.2 var(--hd-font);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--hd-ember-deep);
}

@media (prefers-reduced-motion: reduce) {
	.hd-card-grid > .hd-dept {
		transition: none;
	}

	.hd-dept:hover {
		transform: none;
	}
}

/* Follow band and follow links: the social accounts as cards (inc/social.php, 0.14.0). On light: Charcoal on Paper,
   the count in Ember Deep; on dark (.hd-dark): Bone, the count in Ember. */
.hd-follow-band {
	text-align: center;
}

.hd-follow-band .hd-section__intro {
	margin-inline: auto;
}

.hd-follow {
	margin-top: 32px;
}

.hd-follow__cards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}

.hd-follow__card {
	flex: 0 1 280px;
	min-width: min(100%, 240px);
}

@media (max-width: 599px) {
	.hd-follow__card {
		flex-basis: 100%;
	}
}

.hd-follow__card-link {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas: "icon name" "icon handle" "desc desc" "count count";
	align-content: start;
	column-gap: 12px;
	row-gap: 2px;
	height: 100%;
	padding: 18px 20px;
	border: 2px solid var(--hd-charcoal);
	border-radius: var(--hd-radius-card);
	background: var(--hd-paper);
	color: var(--hd-charcoal);
	text-decoration: none;
}

.hd-follow__icon {
	grid-area: icon;
	align-self: center;
	display: inline-flex;
}

.hd-follow__icon .kadence-svg-iconset svg {
	width: 28px;
	height: 28px;
}

.hd-follow__name {
	grid-area: name;
	font: 800 18px/1.2 var(--hd-font);
}

.hd-follow__handle {
	grid-area: handle;
	color: var(--hd-ash);
	font: 600 14px/1.3 var(--hd-font);
	overflow-wrap: anywhere;
}

.hd-follow__desc {
	grid-area: desc;
	margin-top: 10px;
	font-size: 15px;
	line-height: 1.45;
}

.hd-follow__count {
	grid-area: count;
	margin-top: 10px;
	color: var(--hd-ember-deep);
	font: 800 13px/1 var(--hd-font);
	letter-spacing: .06em;
	text-transform: uppercase;
}

.hd-follow__card-link:hover {
	background: var(--hd-charcoal);
	color: var(--hd-bone);
}

.hd-follow__card-link:hover .hd-follow__handle {
	color: var(--hd-ash-light);
}

.hd-follow__card-link:hover .hd-follow__count {
	color: var(--hd-ember);
}

.hd-dark .hd-follow__card-link {
	border-color: var(--hd-bone);
	background: transparent;
	color: var(--hd-bone);
}

.hd-dark .hd-follow__handle {
	color: var(--hd-ash-light);
}

.hd-dark .hd-follow__count {
	color: var(--hd-ember);
}

.hd-dark .hd-follow__card-link:hover {
	border-color: var(--hd-ember);
	background: var(--hd-ember);
	color: var(--hd-charcoal);
}

.hd-dark .hd-follow__card-link:hover .hd-follow__handle,
.hd-dark .hd-follow__card-link:hover .hd-follow__count {
	color: var(--hd-charcoal);
}

/* Antithesis band (brief §7.9). The big title is white: Bone on Ember is too faint (2.9:1). */
.hd-antithesis {
	--hd-focus: var(--hd-charcoal);
	padding-block: clamp(56px, 8vw, 96px);
	background: var(--hd-ember);
	color: var(--hd-charcoal);
}

.hd-antithesis__labels {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: clamp(24px, 4vw, 48px);
}

.hd-antithesis__label {
	font: 800 var(--hd-label)/1.2 var(--hd-font);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hd-charcoal);
}

.hd-antithesis .hd-antithesis__lede {
	margin: 0 0 4px;
	font: 800 clamp(18px, 2vw, 22px)/1.3 var(--hd-font);
	color: var(--hd-charcoal);
}

.hd-antithesis .hd-antithesis__title {
	margin: 0;
	font: 900 clamp(56px, 10vw, 128px)/.95 var(--hd-font);
	letter-spacing: -.035em;
	color: var(--hd-white);
}

.hd-antithesis .hd-antithesis__more {
	margin: 24px 0 0;
}

.hd-antithesis .hd-antithesis__more a {
	color: var(--hd-charcoal);
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.hd-antithesis .hd-antithesis__note {
	margin: 0 0 24px;
	padding: 10px 14px;
	border: 1px dashed var(--hd-charcoal);
	border-radius: var(--hd-radius-input);
	font-size: 14px;
	color: var(--hd-charcoal);
}

/* 17. Scripture quote style (brief §7.3) ------------------------------------------------- */

.wp-block-quote.is-style-scripture {
	margin: 32px 0;
	padding: 24px 28px;
	border: 1px solid var(--hd-line);
	border-left: 4px solid var(--hd-ember-deep);
	border-radius: 0 12px 12px 0;
	background: var(--hd-paper);
	color: var(--hd-charcoal);
	font-size: 20px;
	font-style: normal;
	line-height: 1.6;
}

.wp-block-quote.is-style-scripture p {
	margin: 0 0 12px;
	font-size: inherit;
	font-style: normal;
}

.wp-block-quote.is-style-scripture cite {
	display: block;
	margin-top: 4px;
	font: 800 var(--hd-label)/1.3 var(--hd-font);
	font-style: normal;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hd-ember-deep);
}

/* 18. Post formats: Known Issue, Customer Feedback Review, Policy Reminder ----------------- */

.hd-format {
	margin-block: 40px;
}

.hd-format .hd-row {
	gap: 12px 16px;
}

.hd-format .hd-format__title {
	margin: 0;
}

.hd-format .hd-label {
	margin: 0;
}

.hd-format .hd-known-issue__verses .wp-block-quote.is-style-scripture {
	box-sizing: border-box;
	height: 100%;
	margin: 0;
}

.hd-format .hd-format__footer {
	margin-top: 24px;
	padding-top: 16px;
	border-top: 2px solid var(--hd-charcoal);
}

.hd-format .hd-format__footer p {
	margin: 0;
}

.hd-feedback .wp-block-pullquote.hd-feedback__quote {
	margin: 20px 0 24px;
	padding: 0;
	border: 0;
	text-align: left;
}

.hd-feedback__quote blockquote {
	margin: 0;
	padding: 0;
	border: 0;
}

.hd-feedback .hd-feedback__quote p {
	margin: 0 0 16px;
	font: 900 clamp(26px, 3.4vw, 38px)/1.15 var(--hd-font);
	letter-spacing: -.02em;
	text-wrap: balance;
	color: var(--hd-charcoal);
}

.hd-feedback .hd-feedback__quote cite {
	font: 600 var(--hd-small)/1.4 var(--hd-font);
	font-style: normal;
	text-transform: none;
	color: var(--hd-ash);
}

.hd-feedback .hd-feedback__source {
	padding: 12px 16px;
	border-radius: var(--hd-radius-input);
	background: var(--hd-bone-2);
	font-size: var(--hd-small);
}

/* 19. Dark callouts: transfer reply (brief §7.8) and Terms of Service card (§7.7) --------- */

.hd-callout,
.hd-tos-card {
	margin-block: 40px;
	padding: var(--hd-card-pad);
	border-radius: var(--hd-radius-card);
}

.hd-callout .hd-label {
	margin: 0 0 16px;
}

.hd-callout .hd-callout__line {
	margin: 0 0 20px;
	font: 900 clamp(26px, 3.6vw, 40px)/1.15 var(--hd-font);
	letter-spacing: -.02em;
	text-wrap: balance;
	color: var(--hd-bone);
}

.hd-callout .hd-callout__confirm {
	margin: 0;
	font: 800 var(--hd-small)/1.2 var(--hd-font);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--hd-ember);
}

.hd-tos .hd-row {
	gap: 12px 16px;
	margin-bottom: 12px;
}

.hd-tos .hd-row .hd-label {
	margin: 0;
}

.hd-tos .hd-tos__text {
	max-width: 60ch;
	font-size: clamp(18px, 1.8vw, 21px);
	line-height: 1.6;
	color: var(--hd-bone);
}

.hd-seal img {
	width: min(220px, 70%);
	height: auto;
	clip-path: circle(48.5% at 50% 50%);
}

.hd-tos-card .hd-seal img {
	width: min(170px, 70%);
}

/* 20. Kadence adjustments for full-width pages (like the home page) ---------------------- */

/* Kadence paints "unboxed" pages Paper; the brand background is Bone, with Paper for cards (brief §5). */
body.content-style-unboxed .site {
	background: var(--hd-bone);
}

/* Full-width bands sit flush against each other. */
.hd-hero.alignfull,
.hd-section.alignfull,
.hd-antithesis.alignfull {
	margin-top: 0;
	margin-bottom: 0;
}

/* Kadence indents lists inside post content; these lists are grids and button rows. */
ul.hd-card-grid,
ul.hd-follow__cards {
	padding-left: 0;
}

/* Kadence draws a giant grey quotation mark behind pull quotes; it collides with the citation. */
.hd-feedback .hd-feedback__quote blockquote::before {
	content: none;
}

/* 21. Forms (brief §7.11): Paper fields, 10px corners, Ember Deep focus ring. The border is
   Ash Brand, not Line: field outlines need 3:1 contrast to be seen (Line is 1.4:1). ---------- */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
	padding: .7em .9em;
	border: 1px solid var(--hd-ash-brand);
	border-radius: var(--hd-radius-input);
	background-color: var(--hd-paper);
	color: var(--hd-charcoal);
	font-family: var(--hd-font);
	font-size: 17px;
}

::placeholder {
	color: var(--hd-ash);
	opacity: 1;
}

input[type="checkbox"],
input[type="radio"] {
	accent-color: var(--hd-ember-deep);
}

/* The core Search block's button: a pill like every other button. */
.wp-block-search .wp-block-search__inside-wrapper {
	gap: 8px;
}

.wp-block-search .wp-block-search__button {
	margin: 0;
	padding: .75em 1.4em;
	border: 0;
	border-radius: var(--hd-radius-pill);
	background: var(--hd-ember-deep);
	color: var(--hd-white);
	font: 800 16px/1 var(--hd-font);
}

.wp-block-search .wp-block-search__button:hover {
	background: var(--hd-charcoal);
	color: var(--hd-white);
}

/* 22. Search results and empty lists (brief §6.7) ------------------------------------------ */

.hd-archive-header .hd-archive-header__count {
	font-size: .38em;
	font-weight: 800;
	letter-spacing: 0;
	white-space: nowrap;
	vertical-align: middle;
	color: var(--hd-ash);
}

.hd-search-header__form {
	max-width: 560px;
	margin-top: 24px;
}

.hd-empty__card {
	max-width: 640px;
	padding: var(--hd-card-pad);
	border-radius: var(--hd-radius-card);
	background: var(--hd-paper);
	box-shadow: var(--hd-shadow-ticket);
}

.hd-empty .hd-empty__text {
	margin: 0 0 20px;
	font: 800 clamp(20px, 2.4vw, 26px)/1.3 var(--hd-font);
	text-wrap: balance;
	color: var(--hd-charcoal);
}

.hd-empty p:last-child {
	margin-bottom: 0;
}

/* 23. Page not found: Ticket #404 (brief §6.6) --------------------------------------------- */

.hd-404 {
	max-width: 760px;
	margin: 0 auto;
}

.hd-404 .hd-404__title {
	margin: 0 0 16px;
	font: 900 var(--hd-display)/.95 var(--hd-font);
	letter-spacing: -.035em;
	color: var(--hd-charcoal);
}

.hd-404 .hd-404__text {
	max-width: 40ch;
	margin: 0;
	font-size: clamp(19px, 2vw, 22px);
	color: var(--hd-charcoal-2);
}

.hd-404__search {
	margin: 28px 0 20px;
}

.hd-404 .hd-404__status {
	justify-content: space-between;
}

/* 24. Comments as customer replies (brief §6.5; inc/comments.php) ------------------------- */

.comments-area .comments-title {
	margin: 0 0 24px;
}

.hd-comments-count {
	font-size: .7em;
	color: var(--hd-ash);
}

.comments-area .comment-list {
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
}

.comments-area .comment-list .comment {
	margin: 0 0 16px;
	padding: 0;
}

.comments-area .comment-list .children {
	margin: 16px 0 0;
	padding: 0 0 0 clamp(16px, 4vw, 40px);
	border-left: 2px solid var(--hd-line);
	list-style: none;
}

.comments-area .comment-list .comment-body {
	position: relative;
	margin: 0;
	padding: 20px 24px;
	border-radius: 14px;
	background: var(--hd-paper);
	box-shadow: 0 8px 24px rgba(28, 22, 22, .08);
}

/* Replies from Hellpdesk itself get an Ember Deep edge. */
.comments-area .comment-list .bypostauthor > .comment-body {
	border-left: 4px solid var(--hd-ember-deep);
}

.comments-area .comment-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 12px;
	margin: 0 0 12px;
}

.comments-area .comment-author {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 0;
	padding: 0;
}

.comments-area .comment-author .avatar {
	position: static;
	float: none;
	box-sizing: border-box;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
}

.comments-area .comment-author .fn {
	font-weight: 800;
	font-style: normal;
	color: var(--hd-charcoal);
}

.comments-area .comment-author .fn a {
	color: inherit;
}

.comments-area .comment-author .says {
	display: none;
}

.comments-area .comment-metadata {
	font-size: var(--hd-small);
}

.comments-area .comment-metadata a {
	color: var(--hd-ash);
	text-decoration: none;
}

.comments-area .comment-metadata a:hover {
	text-decoration: underline;
}

.comments-area .comment-content {
	padding: 0;
	font-size: 17px;
	line-height: 1.6;
	color: var(--hd-charcoal-2);
}

.comments-area .comment-content p:last-child {
	margin-bottom: 0;
}

.comments-area .reply {
	margin-top: 12px;
}

.comments-area .comment-reply-link {
	font: 800 var(--hd-label)/1 var(--hd-font);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--hd-ember-deep);
	text-decoration: none;
}

.comments-area .comment-reply-link:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* The reply form is a ticket you fill in. */
.comments-area .comment-respond {
	margin-top: 32px;
	padding: var(--hd-card-pad);
	border-radius: var(--hd-radius-card);
	background: var(--hd-paper);
	box-shadow: var(--hd-shadow-ticket);
}

.comments-area .comment-reply-title {
	margin: 0 0 8px;
	font: 900 clamp(24px, 3vw, 32px)/1.1 var(--hd-font);
	letter-spacing: -.02em;
	color: var(--hd-charcoal);
}

.comments-area .comment-reply-title small {
	margin-left: 12px;
	font-size: var(--hd-small);
	font-weight: 600;
	letter-spacing: 0;
}

.comments-area .comment-notes,
.comments-area .logged-in-as {
	font-size: var(--hd-small);
	color: var(--hd-ash);
}

.comments-area .comment-form label {
	display: block;
	margin-bottom: 6px;
	font: 600 var(--hd-label)/1.2 var(--hd-font);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hd-ash);
}

.comments-area .comment-form .comment-form-cookies-consent label {
	display: inline;
	font: 400 var(--hd-small)/1.4 var(--hd-font);
	letter-spacing: 0;
	text-transform: none;
}

.comments-area .comment-form textarea {
	width: 100%;
}

.hd-comment-terms {
	margin: 16px 0 0;
	font-size: var(--hd-small);
	line-height: 1.5;
	color: var(--hd-ash);
}

/* Avatars without Gravatar: a plain initial for visitors (inc/comments.php). */
.hd-avatar--initial {
	display: inline-flex;
	flex: none;
	width: var(--hd-avatar-size, 48px);
	height: var(--hd-avatar-size, 48px);
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--hd-charcoal);
	color: var(--hd-ember);
	font: 800 16px/1 var(--hd-font);
}

/* Kadence's "floating" comment labels sit inside the fields; show plain labels above them,
   which are clearer and easier for screen-reader and keyboard users. */
.comments-area .comment-form p.comment-form-float-label {
	margin-top: 0;
}

.comments-area .comment-form input + label,
.comments-area .comment-form textarea + label {
	max-width: none;
	margin: 0 0 6px;
	white-space: normal;
	cursor: default;
	transform: none;
}

/* Kadence pins "Reply" to the top-right corner, over the date; keep it under the reply. */
.comments-area .comment-list .reply {
	position: static;
	margin: 12px 0 0;
}

/* Kadence hides comment-field hints for its floating labels; with plain labels, show them. */
.comments-area .comment-form input::placeholder,
.comments-area .comment-form textarea::placeholder {
	opacity: 1;
}

/* The 404 footer: keep the "Not found" pill its natural size on phones. */
.hd-404 .hd-404__status > .hd-pill {
	flex-basis: auto;
}

/* Owner-only reminder at the top of the draft Privacy Policy (delete before publishing). */
.hd-review-note {
	padding: 14px 18px;
	border: 2px dashed var(--hd-ember-deep);
	border-radius: var(--hd-radius-input);
	background: var(--hd-bone-2);
	font-size: var(--hd-small);
}

/* The seal is square: say so up front, so nothing moves while it loads. */
.hd-seal img {
	aspect-ratio: 1 / 1;
}

/* 25. Editorials: the case-file view (inc/editorials.php; sent by the Hellpdesk Connector 1.2.0) ----------- */
.hd-case-file.entry {
	box-shadow: inset 6px 0 0 var(--hd-ember-deep), var(--hd-shadow-ticket);
}

.hd-case-file .hd-ticket-view__number {
	color: var(--hd-ember-deep);
	font-size: 15px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.hd-case-file__dek {
	max-width: 60ch;
	margin: 0 0 20px;
	font-size: clamp(19px, 2.2vw, 23px);
	line-height: 1.45;
	color: var(--hd-charcoal-2);
}

.hd-case-file .entry-content h2 {
	margin: clamp(32px, 5vw, 48px) 0 12px;
	padding-bottom: 8px;
	border-bottom: 1px dashed var(--hd-line);
	font-size: clamp(24px, 2.6vw, 30px);
}

.hd-case-file .hd-verse {
	font-style: italic;
}

.hd-case-file .hd-case-closing {
	font-weight: 800;
}

.hd-case-file .hpc-si-note,
.hd-case-file .hpc-ai-note,
.hd-letter-view .hpc-si-note {
	margin-top: 24px; /* (clear of the Receipts box above it) */
	color: var(--hd-ash);
	font-size: var(--hd-small);
}

/* 26. POWERED BY SI badge (inc/si.php): a Charcoal pill, "Powered by" in Bone, "SI" in Ember. -------------- */
.hd-si-badge {
	display: inline-flex;
	align-items: baseline;
	gap: .5em;
	padding: .62em 1.15em .58em;
	border-radius: var(--hd-radius-pill);
	background: var(--hd-charcoal);
	font: 600 var(--hd-label)/1 var(--hd-font);
	letter-spacing: .14em;
	text-transform: uppercase;
	white-space: nowrap;
}

a.hd-si-badge,
a.hd-si-badge:hover,
a.hd-si-badge:focus {
	text-decoration: none;
}

.hd-si-badge__by {
	color: var(--hd-bone);
}

.hd-si-badge__si {
	font-size: 1.3em;
	font-weight: 900;
	letter-spacing: .06em;
	color: var(--hd-ember);
}

/* On Charcoal (the footer, dark sections) a thin Bone edge keeps the pill visible, as for the Charcoal status pill. */
.hd-dark .hd-si-badge {
	box-shadow: inset 0 0 0 1px rgba(246, 239, 233, .25);
}

a.hd-si-badge:hover,
.hd-dark a.hd-si-badge:hover {
	box-shadow: inset 0 0 0 2px var(--hd-ember);
}

.hd-si-badge-row {
	margin: 0 0 24px;
}

.hd-footer .hd-footer__si {
	margin: 20px 0 0;
}

/* 27. Letters: letterhead on Bone (inc/letters.php; sent by the Hellpdesk Connector 1.3.0) ------------------------ */
.hd-letterhead {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 20px;
	margin: 8px 0 0;
}

.hd-letterhead__logo {
	width: min(320px, 72%);
	height: auto;
}

.hd-letterhead__office {
	font-size: var(--hd-label);
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--hd-ash);
}

/* The Ember rule with a thin Charcoal line under it, as on the letter card. */
.hd-letterhead__rule {
	height: 10px;
	margin: 18px 0 0;
	background: linear-gradient(var(--hd-ember) 0 6px, transparent 6px 8px, var(--hd-charcoal) 8px 10px);
}

.hd-letter-view__meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4px 12px;
	margin: 18px 0 8px;
	font-size: var(--hd-label);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--hd-ash);
}

.hd-letter-view__ref {
	color: var(--hd-ember-deep);
}

.hd-letter-view__title {
	font-size: clamp(30px, 4vw, 46px);
}

.hd-letter-view__kind {
	margin: 10px 0 0;
}

.hd-letter-view .entry-content {
	max-width: 68ch;
}

.hd-letter-view .hd-letter-greeting {
	font-weight: 700;
}

.hd-letter-view .hd-letter-signer {
	display: inline-block;
	margin-top: 10px;
	font-size: 1.5em;
	font-style: italic;
	font-weight: 900;
	font-stretch: 80%;
	letter-spacing: -.02em;
}

.hd-letter-view .hd-letter-cc,
.hd-letter-view__footer {
	color: var(--hd-ash);
	font-size: var(--hd-small);
}

.hd-letter-view .hd-verse {
	font-style: italic;
}
