/* ═══════════════════════════════════════════════════════════════════════════
   Console: the diea.digital visual world (2026-09-29).

   The site reads as a tracking console: a grained near-black ground, panels
   ruled with hairlines, the column grid left visible, and orange reserved for
   events (the logo's period, the log's dots, the package band, the primary
   action). Bricolage Grotesque speaks, Geist reads, Geist Mono only carries
   data: event names, timestamps, prices, parameters.

   Loaded after theme.css. The palette in theme.json already maps the old
   light-sheet roles onto the dark panels; this file carries the world itself.
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
	--c-ground: #0b0b0a;
	--c-panel: #141413;
	--c-raised: #1c1c1a;
	--c-hair: #2c2b28;
	--c-hair-strong: #3d3b37;
	--c-text: #f3f0e8;
	--c-muted: #a8a49a;
	--c-faint: #918d84;
	--c-event: #f97316;
	--c-event-soft: #fb923c;
	--c-on-event: #0b0b0a;
	--f-display: 'Bricolage Grotesque', Geist, -apple-system, 'Segoe UI', sans-serif;
	--f-text: Geist, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--f-mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
	--r-panel: 20px;
	--r-inset: 14px;
	--r-control: 10px;
	--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--grid-w: min(1180px, calc(100vw - 2 * var(--wp--style--root--padding-left, 1.5rem)));
	color-scheme: dark;
	accent-color: var(--c-event);
	caret-color: var(--c-event);
}

/* ── Ground: grain and the visible column grid ─────────────────────────── */

body {
	background-color: var(--c-ground);
	font-family: var(--f-text);
	font-feature-settings: 'ss01', 'cv11';
	-webkit-font-smoothing: antialiased;
}

.wp-site-blocks {
	position: relative;
	isolation: isolate;
}

/* Twelve hairline columns over the content width: the console's grid. */
.wp-site-blocks::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background-image: repeating-linear-gradient(
		to right,
		rgba(243, 240, 232, 0.045) 0 1px,
		transparent 1px calc(var(--grid-w) / 12)
	);
	background-size: calc(var(--grid-w) + 1px) 100%;
	background-position: center top;
	background-repeat: no-repeat;
	-webkit-mask-image: linear-gradient(to bottom, #000 0, #000 70%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 0, #000 70%, transparent 100%);
}

/* Film grain, fixed, so the ground never reads as flat SaaS black. */
body::after {
	content: '';
	position: fixed;
	inset: 0;
	z-index: 1000;
	pointer-events: none;
	opacity: 0.07;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	mix-blend-mode: overlay;
}

/* ── Browser surfaces ──────────────────────────────────────────────────── */

::selection { background: var(--c-event); color: var(--c-on-event); }

html { scrollbar-color: var(--c-hair-strong) var(--c-ground); scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--c-ground); }
::-webkit-scrollbar-thumb { background: var(--c-hair-strong); border: 3px solid var(--c-ground); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: var(--c-faint); }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--c-event);
	outline-offset: 3px;
	border-radius: 4px;
}

a { text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
a:where(:not(.wp-element-button)):hover { text-decoration-color: var(--c-event); }

/* ── Type ──────────────────────────────────────────────────────────────── */

h1, h2, h3, h4, .wp-block-heading, .wp-block-post-title {
	font-family: var(--f-display);
	font-optical-sizing: auto;
	text-wrap: balance;
	color: var(--c-text);
}

h1, .wp-block-post-title:where(h1) {
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 0.98;
}

h2 { font-weight: 700; letter-spacing: -0.035em; line-height: 1.02; }
h3 { font-weight: 600; letter-spacing: -0.02em; }

p, li { text-wrap: pretty; }

code, kbd, pre, samp, .diea-mono, .diea-stat, .diea-price__amount, .diea-package-price__main,
.diea-terms__table, .diea-terms__schedule dd, .diea-role time, .wp-block-post-date {
	font-family: var(--f-mono);
	font-variant-numeric: tabular-nums;
	letter-spacing: 0;
}

/* One word in orange inside a heading was the old system's tic. Headings now
   carry themselves; the marker is gone. */
.diea-highlight, h1 mark, h2 mark, h3 mark {
	background: none !important;
	color: inherit !important;
	padding: 0 !important;
	animation: none !important;
}

/* ── Header ────────────────────────────────────────────────────────────── */

.wp-site-blocks > header,
.wp-site-blocks > .wp-block-template-part:first-child {
	position: sticky;
	top: 0;
	z-index: 50;
}

.wp-site-blocks > .wp-block-template-part:first-child > .has-night-background-color,
.wp-site-blocks > header > .has-night-background-color {
	background: rgba(11, 11, 10, 0.78) !important;
	-webkit-backdrop-filter: saturate(140%) blur(14px);
	backdrop-filter: saturate(140%) blur(14px);
	border-block-end: 1px solid var(--c-hair);
}

.diea-header-actions .wp-block-navigation-item__content {
	color: var(--c-muted);
	font-weight: 500;
	transition: color 150ms ease;
	position: relative;
}

.diea-header-actions .wp-block-navigation-item__content:hover { color: var(--c-text); }

/* The current page wears the logo's period. */
.diea-header-actions .current-menu-item > .wp-block-navigation-item__content,
.diea-header-actions [aria-current="page"] { color: var(--c-text); }

.diea-header-actions .current-menu-item > .wp-block-navigation-item__content::after,
.diea-header-actions [aria-current="page"]::after {
	content: '';
	position: absolute;
	inset-inline-start: 50%;
	inset-block-end: -10px;
	inline-size: 5px;
	block-size: 5px;
	border-radius: 50%;
	background: var(--c-event);
	transform: translateX(-50%);
}

.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--c-ground) !important;
	color: var(--c-text) !important;
}

/* ── Panels (the old white sheets) and cards ───────────────────────────── */

.wp-block-group.is-style-sheet {
	background-color: var(--c-panel) !important;
	border: 1px solid var(--c-hair);
	border-radius: var(--r-panel) !important;
	box-shadow: 0 1px 0 rgba(243, 240, 232, 0.04) inset, 0 30px 60px -40px rgba(0, 0, 0, 0.9);
}

.wp-block-group.is-style-card {
	border-radius: var(--r-inset) !important;
	border-color: var(--c-hair) !important;
	background-color: var(--c-raised);
}

.wp-block-group.is-style-card.has-onyx-background-color,
.wp-block-group.is-style-card.has-night-background-color {
	background-color: var(--c-ground) !important;
}

/* Orange surfaces speak in ground colour. Re-scoping the palette variables
   flips every child that uses them at once. */
body :where(.has-sun-background-color):not(.is-style-card) {
	--wp--preset--color--ink: #0b0b0a;
	--wp--preset--color--ash: #3b1d08;
	--wp--preset--color--ash-light: #3b1d08;
	--wp--preset--color--paper: #0b0b0a;
	--wp--preset--color--sun-deep: #0b0b0a;
	--wp--preset--color--line: rgba(11, 11, 10, 0.25);
	--c-text: #0b0b0a;
	--c-muted: #3b1d08;
	color: #0b0b0a;
}

.has-sun-background-color:not(.is-style-card) :is(h1, h2, h3, h4, p, li, a) { color: #0b0b0a; }

.has-paper-color { color: var(--c-text) !important; }

/* Illustrations drew on white insets; their frames now sit on the ground. */
.diea-art { border-radius: 10px; }

/* ── Buttons ───────────────────────────────────────────────────────────── */

.wp-element-button,
.wp-block-button__link {
	border-radius: var(--r-control) !important;
	box-shadow: none !important;
	font-family: var(--f-text);
	font-weight: 600;
	letter-spacing: -0.005em;
	transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, transform 150ms var(--ease-out) !important;
}

.wp-element-button:active,
.wp-block-button__link:active { transform: translateY(1px); }

.wp-block-button.is-style-secondary .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: var(--c-text) !important;
	border: 1px solid var(--c-hair-strong) !important;
}

.wp-block-button.is-style-secondary .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: var(--c-event) !important;
	color: var(--c-text) !important;
}

/* ── Forms ─────────────────────────────────────────────────────────────── */

input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
select,
textarea {
	background-color: var(--c-ground) !important;
	border: 1px solid var(--c-hair) !important;
	border-radius: var(--r-control) !important;
	color: var(--c-text) !important;
	transition: border-color 150ms ease, box-shadow 150ms ease;
}

input:not([type=checkbox]):not([type=radio]):hover, select:hover, textarea:hover { border-color: var(--c-hair-strong) !important; }

input:not([type=checkbox]):not([type=radio]):focus, select:focus, textarea:focus {
	border-color: var(--c-event) !important;
	box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.18) !important;
	outline: none;
}

::placeholder { color: var(--c-faint); opacity: 1; }

/* ═══════════════════════════════════════════════════════════════════════════
   Home
   ═══════════════════════════════════════════════════════════════════════════ */

.diea-hero {
	padding-block: clamp(2.5rem, 7vw, 6rem) clamp(3rem, 8vw, 7rem);
}

.diea-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}

.diea-hero .diea-hero__title {
	font-size: clamp(3rem, 7.4vw, 6rem);
	margin: 0;
}

.diea-hero__lede {
	margin-block: 1.75rem 0;
	max-width: 36rem;
	font-size: clamp(1.0625rem, 1.3vw, 1.1875rem);
	line-height: 1.6;
	color: var(--c-muted);
}

.diea-hero__offer {
	display: inline-block;
	margin-block: 1.5rem 0;
	padding: 0.5rem 0.875rem;
	border: 1px solid var(--c-hair);
	border-radius: var(--r-control, 10px);
	font-size: 0.9375rem;
	color: var(--c-text);
	background: var(--c-panel);
}

.diea-hero__offer .diea-mono { font-family: var(--f-mono); font-variant-numeric: tabular-nums; color: var(--c-event-soft); }

.diea-hero__offer::before {
	content: '';
	inline-size: 7px;
	block-size: 7px;
	border-radius: 50%;
	background: var(--c-event);
	display: inline-block;
	vertical-align: 0.1em;
	margin-inline-end: 0.625rem;
}

.diea-hero__actions { margin-block-start: 2rem !important; gap: 0.75rem !important; }

@media (max-width: 900px) {
	.diea-hero__grid { grid-template-columns: 1fr; }
}

/* ── Event log ─────────────────────────────────────────────────────────── */

.diea-log {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--c-panel);
	border: 1px solid var(--c-hair);
	border-radius: var(--r-panel);
	overflow: hidden;
	box-shadow: 0 40px 80px -50px rgba(249, 115, 22, 0.35), 0 1px 0 rgba(243, 240, 232, 0.05) inset;
	font-size: 0.875rem;
}

.diea-log__head {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.875rem 1rem 0.5rem;
}

.diea-log__rec {
	inline-size: 9px;
	block-size: 9px;
	border-radius: 50%;
	background: var(--c-event);
	display: inline-block;
	vertical-align: 0.1em;
	margin-inline-end: 0.625rem;
}

@media (prefers-reduced-motion: no-preference) {
	.diea-log__rec { animation: log-rec 1.8s ease-in-out infinite; }
}

@keyframes log-rec {
	0%, 100% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.55); }
	50% { box-shadow: 0 0 0 6px rgba(249, 115, 22, 0); }
}

.diea-log .diea-log__title {
	margin: 0;
	font-family: var(--f-text);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: -0.01em;
}

.diea-log__count {
	margin-inline-start: auto;
	font-family: var(--f-mono);
	font-size: 0.75rem;
	color: var(--c-muted);
	font-variant-numeric: tabular-nums;
}

.diea-log__note {
	margin: 0;
	padding: 0 1rem 0.875rem;
	font-size: 0.8125rem;
	color: var(--c-faint);
	border-block-end: 1px solid var(--c-hair);
}

.diea-log__rows {
	list-style: none;
	margin: 0;
	padding: 0.375rem;
	min-block-size: calc(5 * 2.375rem + 0.75rem);
}

.diea-log__row {
	all: unset;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 6.25rem 8.5rem minmax(0, 1fr);
	align-items: center;
	gap: 0.75rem;
	inline-size: 100%;
	block-size: 2.375rem;
	padding-inline: 0.625rem;
	border-radius: 8px;
	font-family: var(--f-mono);
	font-size: 0.78125rem;
	cursor: pointer;
	color: var(--c-muted);
	transition: background-color 120ms ease;
}

.diea-log__row:hover { background: var(--c-raised); }
.diea-log__row[aria-expanded="true"] { background: var(--c-raised); box-shadow: inset 0 0 0 1px var(--c-hair-strong); }
.diea-log__row:focus-visible { outline: 2px solid var(--c-event); outline-offset: -2px; }

.diea-log__t { color: var(--c-faint); font-variant-numeric: tabular-nums; }

.diea-log__e {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--c-text);
	font-weight: 500;
}

.diea-log__e::before {
	content: '';
	inline-size: 6px;
	block-size: 6px;
	border-radius: 50%;
	background: var(--c-event);
	display: inline-block;
	vertical-align: 0.1em;
	margin-inline-end: 0.625rem;
}

.diea-log__p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (prefers-reduced-motion: no-preference) {
	.diea-log__item.is-new { animation: log-in 260ms var(--ease-out); }
	.diea-log__item.is-new .diea-log__e::before { animation: log-flash 900ms ease-out; }
}

@keyframes log-in {
	from { opacity: 0; transform: translateY(-8px); clip-path: inset(0 0 100% 0); }
	to { opacity: 1; transform: none; clip-path: inset(0); }
}

@keyframes log-flash {
	0% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.8); }
	100% { box-shadow: 0 0 0 8px rgba(249, 115, 22, 0); }
}

.diea-log__payload {
	margin: 0 0.375rem;
	border-radius: 10px;
	background: var(--c-ground);
	border: 1px solid var(--c-hair);
}

.diea-log__payload pre {
	margin: 0;
	padding: 0.75rem 0.875rem;
	max-block-size: 9.5rem;
	overflow: auto;
	font-size: 0.75rem;
	line-height: 1.55;
	color: var(--c-muted);
	background: none;
	border: 0;
}

.diea-log__payload .k { color: var(--c-text); }
.diea-log__payload .s { color: var(--c-event-soft); }
.diea-log__payload .n { color: var(--c-event); }

.diea-log__foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.25rem 1rem;
	padding: 0.75rem 1rem 0.875rem;
	font-size: 0.8125rem;
	color: var(--c-faint);
}

.diea-log__foot a { color: var(--c-text); font-weight: 500; }

@media (max-width: 520px) {
	.diea-log__row { grid-template-columns: 5.25rem minmax(0, 1fr); }
	.diea-log__p { display: none; }
}

/* ── Destinations strip ────────────────────────────────────────────────── */

.diea-marquee { border-block: 1px solid var(--c-hair); padding-block: 1.25rem; }
.diea-marquee__label { font-family: var(--f-mono); color: var(--c-faint) !important; letter-spacing: 0 !important; text-transform: none !important; }
.diea-marquee li { color: var(--c-muted) !important; font-weight: 500 !important; }

/* ── Services as a ruled list ──────────────────────────────────────────── */

.diea-services {
	list-style: none;
	margin: 0;
	padding: 0;
	border-block-start: 1px solid var(--c-hair);
}

.diea-services > li,
.diea-services > .diea-service {
	margin: 0;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr) auto;
	gap: 1.5rem 2.5rem;
	align-items: baseline;
	padding-block: 1.75rem;
	border-block-end: 1px solid var(--c-hair);
	position: relative;
}

.diea-services h3 {
	margin: 0;
	font-size: clamp(1.5rem, 2.6vw, 2.25rem);
	letter-spacing: -0.03em;
}

.diea-services p { margin: 0; color: var(--c-muted); max-width: 52ch; }

.diea-services a {
	color: var(--c-text);
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.diea-services a::after {
	content: '';
	position: absolute;
	inset: 0;
}

.diea-services a span { transition: transform 200ms var(--ease-out); display: inline-block; }
.diea-services > :hover a span { transform: translateX(4px); }
.diea-services > :hover h3 { color: var(--c-event-soft); }
.diea-services h3 { transition: color 200ms ease; }

@media (max-width: 760px) {
	.diea-services > li, .diea-services > .diea-service { grid-template-columns: 1fr; gap: 0.75rem; }
}

/* ── The package band ──────────────────────────────────────────────────── */

.diea-band {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(2rem, 5vw, 4rem);
	padding: clamp(2rem, 5vw, 4rem);
	border-radius: var(--r-panel);
	background: var(--c-event);
	color: var(--c-on-event);
	position: relative;
	overflow: hidden;
}

/* The grid shows through the orange, as ground-coloured hairlines. */
.diea-band::before {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: repeating-linear-gradient(to right, rgba(11, 11, 10, 0.08) 0 1px, transparent 1px calc(100% / 12));
}

.diea-band > * { position: relative; }

.diea-band .diea-band__title {
	margin: 0;
	font-size: clamp(2rem, 4.2vw, 3.5rem);
	color: var(--c-on-event);
	line-height: 1;
}

.diea-band__intro p { margin: 1.25rem 0 0; max-width: 34ch; color: #3b1d08; font-size: 1.0625rem; line-height: 1.55; }

.diea-band__all {
	display: inline-block;
	margin-block-start: 1.5rem;
	color: var(--c-on-event);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.25em;
}

.diea-band__rows { list-style: none; margin: 0; padding: 0; align-self: center; border-block-start: 1px solid rgba(11, 11, 10, 0.28); }

.diea-band__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 2rem;
	grid-template-areas: 'name price go' 'note note go' 'code code go';
	gap: 0.25rem 1rem;
	align-items: baseline;
	padding: 1.25rem 0.25rem;
	border-block-end: 1px solid rgba(11, 11, 10, 0.28);
	color: var(--c-on-event);
	text-decoration: none;
	transition: background-color 200ms ease;
}

.diea-band__row:hover { background: rgba(11, 11, 10, 0.07); }
.diea-band__name { transition: transform 250ms var(--ease-out); }
.diea-band__row:hover .diea-band__name { transform: translateX(6px); }

.diea-band__name { grid-area: name; font-family: var(--f-display); font-weight: 700; font-size: clamp(1.25rem, 2vw, 1.625rem); letter-spacing: -0.02em; }
.diea-band__price { grid-area: price; font-family: var(--f-mono); font-weight: 600; font-size: clamp(1.125rem, 1.8vw, 1.5rem); font-variant-numeric: tabular-nums; }
.diea-band__note { grid-area: note; font-size: 0.9375rem; color: #3b1d08; }
.diea-band__payload { grid-area: code; font-family: var(--f-mono); font-size: 0.75rem; color: #3b1d08; background: none; padding: 0; }

.diea-band__go {
	grid-area: go;
	align-self: center;
	justify-self: end;
	inline-size: 2rem;
	block-size: 2rem;
	border-radius: 50%;
	background: var(--c-on-event);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16'/%3E%3C/svg%3E");
	position: relative;
	transition: transform 250ms var(--ease-out);
}

.diea-band__go::after {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--c-event);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M11 16h10m-4-4 4 4-4 4'/%3E%3C/svg%3E") center / 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M11 16h10m-4-4 4 4-4 4'/%3E%3C/svg%3E") center / 100% no-repeat;
}

.diea-band__row:hover .diea-band__go { transform: translateX(3px); }

@media (max-width: 900px) {
	.diea-band { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
	.diea-band__row { grid-template-columns: minmax(0, 1fr) 2rem; grid-template-areas: 'name go' 'price go' 'note go' 'code go'; }
	.diea-log__rows { min-block-size: calc(4 * 2.375rem + 0.75rem); }
}

/* ── Section rhythm on the home page ───────────────────────────────────── */

.diea-section { padding-block: clamp(3.5rem, 8vw, 7rem) 0; }

.diea-section__head {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 1rem 3rem;
	align-items: end;
	margin-block-end: clamp(1.5rem, 3vw, 2.5rem);
}

.diea-section__head h2 { margin: 0; font-size: clamp(2.25rem, 5vw, 4rem); }
.diea-section__head p { margin: 0; color: var(--c-muted); max-width: 44ch; }

@media (max-width: 760px) { .diea-section__head { grid-template-columns: 1fr; } }

/* ── Selected work, as log rows ────────────────────────────────────────── */

.diea-work-list .wp-block-post-template { display: grid; gap: 0; border-block-start: 1px solid var(--c-hair); }
.diea-work-list .wp-block-post { border-block-end: 1px solid var(--c-hair); }

.diea-work-list .diea-work-row {
	display: grid !important;
	grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
	gap: 0.75rem 3rem;
	padding-block: 1.75rem;
	align-items: start;
	position: relative;
}

.diea-work-list .wp-block-post-title { margin: 0; font-size: clamp(1.25rem, 2.2vw, 1.75rem); letter-spacing: -0.025em; line-height: 1.15; }
.diea-work-list .wp-block-post-title a { text-decoration: none; color: var(--c-text); }
.diea-work-list .wp-block-post-title a::after { content: ''; position: absolute; inset: 0; }
.diea-work-list .wp-block-post:hover .wp-block-post-title a { color: var(--c-event-soft); }
.diea-work-list .wp-block-post-excerpt { color: var(--c-muted); margin: 0; }
.diea-work-list .wp-block-post-excerpt__excerpt { margin: 0; }
.diea-work-list .diea-facts { font-family: var(--f-mono); font-size: 0.8125rem; }

@media (max-width: 760px) { .diea-work-list .diea-work-row { grid-template-columns: 1fr; } }

/* ── Footer ────────────────────────────────────────────────────────────── */

.wp-site-blocks > footer,
.wp-site-blocks > .wp-block-template-part:last-child { border-block-start: 1px solid var(--c-hair); }

/* ── Leftovers from the sheet world ────────────────────────────────────── */

/* Illustrations sit on the panel, not on a white card. */
.diea-art {
	--art-bg: #1c1c1a; --art-panel: #232321; --art-soft: #2f2e2b; --art-line: #3a3935;
	--art-ink: #f3f0e8; --art-surface: #2f2e2b; --art-paper: #f3f0e8;
	border: 1px solid var(--c-hair);
}

/* Kickers are not part of this world. */
.diea-hero__kicker { display: none !important; }

/* WooCommerce's grey placeholder image, on the dark ground. */
img[src*="woocommerce-placeholder"] { filter: invert(0.9) sepia(0.1); border-radius: 14px; }

/* The package band is the one orange surface; feature cards go back to panels. */
.is-style-card.has-sun-background-color {
	background: var(--c-panel) !important;
	color: var(--c-text) !important;
	box-shadow: inset 0 0 0 1px var(--c-event);
}

/* The quiet row that says the log is still listening. */
.diea-log__idle { padding: 0.625rem 0.75rem; font-family: var(--f-mono); font-size: 0.75rem; color: var(--c-muted); display: flex; gap: 0.5rem; align-items: center; }
.diea-log__idle::before { content: ''; inline-size: 6px; block-size: 6px; border-radius: 50%; border: 1px solid var(--c-muted); }
@media (prefers-reduced-motion: no-preference) {
	.diea-log__idle::before { animation: log-listen 1.6s ease-in-out infinite; }
}
@keyframes log-listen { 50% { opacity: 0.25; } }

/* Page titles on pages built from sections (Services). */
.diea-section--first { padding-block-start: clamp(1.5rem, 4vw, 3rem); }
.diea-section .diea-page-title { margin: 0; font-size: clamp(2.25rem, 5vw, 4rem); line-height: 1; letter-spacing: -0.04em; text-wrap: balance; }

/* The account link is always the person icon, never the signed-in user's
   photo (WooCommerce layers the avatar over the icon when logged in). */
.wc-block-customer-account__avatar { display: none !important; }

/* ── The avatar cutout ─────────────────────────────────────────────────── */

/* About: the avatar stands in an orange panel, the cap breaking its top edge. */
.diea-tall-portrait--cutout { padding-block-start: 0; max-width: 400px; }
.diea-tall-portrait--cutout .diea-tall-portrait__panel {
	position: absolute;
	inset: 22% 0 0 0;
	border-radius: 28px;
	background: var(--c-event);
}
.diea-tall-portrait--cutout img {
	position: relative;
	background: none;
	border-radius: 0;
	/* Rounded at the bottom only, so the shirt ends on the panel's corners. */
	clip-path: inset(-50% 0 0 0 round 0 0 28px 28px);
	filter: drop-shadow(0 18px 24px rgba(11, 11, 10, 0.28));
}
.diea-tall-portrait--cutout .diea-chip { z-index: 2; }

/* Contact: the avatar looks over the top edge of the form panel. */
.diea-contact { position: relative; overflow: visible !important; }
.diea-contact-face {
	position: absolute;
	inset-block-start: 0;
	inset-inline-end: clamp(1.25rem, 5vw, 3.5rem);
	inline-size: clamp(104px, 12vw, 150px);
	margin: 0 !important;
	transform: translateY(-72%);
	pointer-events: none;
}
.diea-contact-face img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	/* Only the part above the panel shows: cap to chin over the wall. */
	clip-path: inset(0 0 28% 0);
}
