/*
Theme Name: dembscy
Description: Custom Gutenberg block theme for the Dembscy website.
Version: 0.2.0
Requires at least: 6.8
Requires PHP: 8.2
Text Domain: dembscy
License: GPL-2.0-or-later
*/
@font-face {
	font-family: Commissioner;
	src: url("assets/fonts/commissioner.ttf") format("truetype");
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
}
@font-face {
	font-family: Oranienbaum;
	src: url("assets/fonts/oranienbaum-regular.ttf") format("truetype");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}
:root {
	--d-ink: #23281f;
	--d-paper: #f5f3ee;
	--d-white: #fafafa;
	--d-sage: #a9b69a;
	--d-muted: #576052;
	--d-line: rgba(35, 40, 31, 0.22);
}
html {
	scroll-behavior: smooth;
	scroll-padding-top: 24px;
}
body {
	margin: 0;
	background: var(--d-paper);
	color: var(--d-ink);
	font-family: Commissioner, sans-serif;
	font-size: 14px;
	line-height: 1.6;
	font-variation-settings:
		"FLAR" 0,
		"VOLM" 0;
}
* {
	box-sizing: border-box;
}
a {
	color: inherit;
	text-underline-offset: 5px;
}
a:focus-visible,
summary:focus-visible,
button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 5px;
}
img {
	max-width: 100%;
	height: auto;
}
.wp-site-blocks {
	padding: 0;
}
.wp-site-blocks > * {
	margin-block: 0;
}
h1,
h2,
h3,
p,
figure {
	margin: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: Oranienbaum, serif;
	font-weight: 400;
}
main.wp-block-group {
	margin: 0 !important;
}
.d-container {
	width: calc(100% - 120px);
	max-width: 1320px;
	margin-inline: auto !important;
}
.d-section {
	margin: 0 !important;
	width: 100%;
	background: var(--d-white);
}
.d-section
	:where(
		.wp-block-group,
		.wp-block-heading,
		.wp-block-paragraph,
		.wp-block-buttons,
		.wp-block-image,
		.wp-block-cover
	) {
	margin-block-start: 0;
	margin-block-end: 0;
}
.d-eyebrow {
	font-size: 11px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 1.045px;
	text-transform: uppercase;
	color: #49543e;
}
.d-title {
	font-size: 67px;
	line-height: 1.015;
	letter-spacing: -0.045em;
	margin-top: 25px !important;
}
.d-section-heading {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 50px;
}
.d-section-intro {
	max-width: 631px;
	color: var(--d-muted);
	line-height: 22.4px;
}
.d-link {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.6;
}
.d-link a {
	text-decoration: none;
	border-bottom: 1px solid var(--d-ink);
	padding-bottom: 5px;
	display: inline-block;
}
.d-button .wp-block-button__link {
	border-radius: 0;
	background: var(--d-ink);
	color: var(--d-white);
	border: 1px solid var(--d-ink);
	padding: 14px 20px;
	font-family: Commissioner, sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.6;
	text-decoration: none;
}
.d-button-light .wp-block-button__link {
	background: var(--d-paper);
	color: var(--d-ink);
	border-color: var(--d-paper);
}
.d-button-outline .wp-block-button__link {
	background: transparent;
	color: var(--d-ink);
}
/* Shared header and accessible native navigation. */
.d-topbar {
	height: 35px;
	background: var(--d-ink);
	color: #e5e9df;
}
.d-topbar .d-container {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.d-topbar p {
	font-size: 11px;
	line-height: 17.6px;
	letter-spacing: 0.275px;
}
.d-topbar a {
	text-decoration: none;
}
.d-topbar-contact {
	display: flex;
	gap: 20px;
	align-items: center;
}
.d-social {
	display: flex;
	gap: 3px;
	align-items: center;
}
.d-social .wp-block-image {
	width: 28px;
	height: 26px;
	display: grid;
	place-items: center;
}
.d-social img {
	display: block;
}
.d-header {
	border-bottom: 1px solid var(--d-line);
	background: var(--d-paper);
}
.d-header > .d-container {
	height: 92px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}
.d-logo img {
	display: block;
	width: 113.013px;
	height: 36px;
}
.d-header .wp-block-navigation {
	font-size: 12px;
	line-height: 1.3;
	gap: 28px;
}
.d-header .wp-block-navigation__container {
	gap: 28px;
}
.d-header .wp-block-navigation-item__content {
	text-decoration: none;
}
.d-header .d-nav-contact {
	background: var(--d-ink);
	color: var(--d-white);
	padding: 12px 17px;
	border: 1px solid var(--d-ink);
}
.wp-block-navigation__responsive-container.is-menu-open {
	padding: 32px;
	background: var(--d-paper) !important;
	color: var(--d-ink) !important;
}
.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__container {
	gap: 24px;
}
.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item {
	font-size: 18px;
}
/* Homepage sections. */
.d-hero {
	min-height: 780px !important;
	padding: 100px !important;
	color: var(--d-white);
	background: var(--d-ink);
}
.d-hero .wp-block-cover__inner-container {
	max-width: 1240px;
	margin: auto;
}
.d-hero-stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 60px;
}
.d-hero-eyebrow {
	font-size: 10px;
	line-height: 14px;
	letter-spacing: 2px;
	text-align: center;
	color: var(--d-paper);
}
.d-hero-title {
	font-size: 100px;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	color: var(--d-white);
}
.d-hero-title-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}
.d-hero-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;
}
.d-hero .d-button .wp-block-button__link {
	font-size: 12px;
	font-weight: 400;
	line-height: 15.6px;
	padding: 12px 17px;
	display: flex;
	gap: 8px;
	align-items: center;
}
.d-hero .d-button img {
	display: inline-block;
	vertical-align: middle;
}
.d-hero-note {
	font-size: 12.5px;
	line-height: 20px;
	color: var(--d-sage);
	text-align: center;
}
.d-situations {
	padding: 72px 0 115px;
}
.d-situations .d-eyebrow,
.d-cases .d-eyebrow {
	font-size: 14px;
	letter-spacing: 1.33px;
}
.d-situation-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 58px;
	margin-top: 48px !important;
	border-bottom: 1px solid var(--d-line);
}
.d-situation {
	position: relative;
	border-top: 2px solid var(--d-ink);
	padding: 28px 5px 31px 33px;
	min-height: 208px;
	display: flex;
	flex-direction: column;
	gap: 13px;
}
.d-situation h3 {
	font-size: 42px;
	line-height: 44.1px;
	letter-spacing: -1.47px;
}
.d-situation-number {
	position: absolute;
	left: 0;
	top: 40px;
	font-size: 11px;
	font-weight: 600;
	line-height: 17.6px;
	letter-spacing: 0.55px;
	color: var(--d-muted);
}
.d-situation-description {
	max-width: 425px;
	font-size: 14px;
	line-height: 22.4px;
	color: #525c50;
}
.d-situation .d-link {
	margin-top: auto !important;
}
.d-situation .d-link a {
	border-color: transparent;
	padding-bottom: 2px;
}
.d-situation-private {
	background: #eef0eb;
}
.d-assets {
	background: var(--d-sage);
	padding: 110px 0 120px;
}
.d-assets-layout {
	display: grid;
	grid-template-columns: 486px 1fr;
	gap: 105px;
}
.d-assets .d-title {
	font-size: 71px;
	line-height: 72.065px;
	max-width: 470px;
}
.d-assets-intro {
	font-size: 15px;
	line-height: 25.5px;
	max-width: 390px;
	margin-top: 32px !important;
}
.d-assets-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 30px;
}
.d-asset {
	border-top: 1px solid rgba(35, 40, 31, 0.45);
	padding: 17px 0 25px;
	min-height: 135.17px;
}
.d-asset h3 {
	font-size: 37px;
	line-height: 39.59px;
	letter-spacing: -0.925px;
}
.d-asset h3 small {
	font-family: Commissioner, sans-serif;
	font-size: 10px;
	letter-spacing: 0.5px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 8px;
	color: #576052;
}
.d-asset p {
	font-size: 12px;
	line-height: 19.8px;
	color: #354331;
	margin: 13px 0 0 26px !important;
	max-width: 304px;
}
.d-about {
	padding: 105px 0 100px;
}
.d-about-layout {
	display: grid;
	grid-template-columns: 556.94fr 628.06fr;
	gap: 135px;
}
.d-about .d-title {
	font-size: 65px;
	line-height: 68.25px;
}
.d-about-copy p {
	font-size: 14px;
	line-height: 25.9px;
	color: #455044;
}
.d-about-copy p + p {
	margin-top: 17px !important;
}
.d-facts {
	background: var(--d-paper);
	padding: 88px 0 100px;
}
.d-facts .d-title {
	font-size: 66px;
	line-height: 66.99px;
}
.d-facts-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 38px !important;
	border-top: 1px solid rgba(35, 40, 31, 0.6);
}
.d-fact {
	padding: 27px 24px 12px 25px;
	border-left: 1px solid var(--d-line);
	display: flex;
	flex-direction: column;
	gap: 15px;
	min-height: 178px;
}
.d-fact:first-child {
	border: 0;
	padding-left: 0;
}
.d-fact h3 {
	font-size: 48px;
	line-height: 49.92px;
	letter-spacing: -1.2px;
}
.d-fact:nth-child(2) h3 {
	font-size: 42px;
	line-height: 43.68px;
	letter-spacing: -1.05px;
}
.d-fact h3 small {
	font-size: 31.2px;
}
.d-fact p {
	font-size: 13px;
	line-height: 20.8px;
	color: #465243;
	max-width: 240px;
}
.d-fact .d-note {
	font-size: 11px;
	line-height: 17.6px;
	color: #576252;
}
.d-fact .d-map-link {
	font-size: 11px;
	line-height: 17.6px;
	color: var(--d-ink);
}
.d-fact:last-child h3 {
	opacity: 0.5;
}
.d-cases {
	padding: 100px 0 107px;
}
.d-cases .d-section-intro {
	max-width: 418.66px;
}
.d-cases-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	margin-top: 38px !important;
}
.d-case {
	border-top: 1px solid var(--d-ink);
	padding: 20px 0 10px;
	display: flex;
	flex-direction: column;
}
.d-case-label {
	font-size: 11px;
	line-height: 17.6px;
	color: #49543e;
	margin-bottom: 25px !important;
}
.d-case h3 {
	font-size: 42px;
	line-height: 44.1px;
	letter-spacing: -1.47px;
	margin-bottom: 25px !important;
}
.d-case-row {
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid var(--d-line);
}
.d-case-row p {
	font-size: 12px;
	line-height: 19.2px;
	color: #525c50;
}
.d-case-row p:first-child {
	font-weight: 600;
	font-size: 11px;
}
.d-case .d-link {
	margin-top: 20px !important;
	font-size: 12px;
}
.d-process {
	background: var(--d-sage);
	padding: 100px 0 115px;
}
.d-process .d-title {
	font-size: 69px;
	line-height: 70.035px;
}
.d-process .d-section-intro {
	font-size: 14px;
	line-height: 22.4px;
	max-width: 640px;
}
.d-process-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 27px;
	margin-top: 58px !important;
}
.d-step {
	border-top: 1px solid rgba(35, 40, 31, 0.45);
	padding-top: 16px;
}
.d-step-number {
	font-family: Oranienbaum, serif;
	font-size: 51px;
	line-height: 51px;
	color: #6f7e62;
}
.d-step h3 {
	font-family: Oranienbaum, serif;
	font-size: 15px;
	font-weight: 650;
	line-height: 21px;
	margin-top: 23px !important;
}
.d-step-copy {
	font-size: 13px;
	line-height: 22.1px;
	color: #586254;
	max-width: 260px;
	margin-top: 10px !important;
}
.d-perspective {
	background: var(--d-ink);
	padding: 120px 0 125px;
	color: var(--d-paper);
}
.d-perspective-layout {
	display: grid;
	grid-template-columns: 625.03fr 426.16fr;
	gap: 268.8px;
	align-items: center;
}
.d-perspective .d-eyebrow {
	font-size: 15px;
	line-height: 27px;
	letter-spacing: 1.425px;
	color: #b9c6af;
}
.d-perspective .d-title {
	font-size: 81px;
	line-height: 82.215px;
	letter-spacing: -3.645px;
}
.d-perspective .d-title em {
	display: block;
	color: var(--d-sage);
	margin-top: 12px;
}
.d-perspective-copy {
	font-size: 15px;
	line-height: 27px;
	color: #c8d0c3;
	max-width: 565px;
	margin-top: 35px !important;
}
.d-perspective .wp-block-buttons {
	margin-top: 31px !important;
}
.d-perspective-questions {
	border-top: 1px solid rgba(245, 243, 238, 0.35);
}
.d-perspective-question {
	padding: 20px 0 23px;
	border-bottom: 1px solid rgba(245, 243, 238, 0.35);
}
.d-perspective-question h3 {
	font-size: 28px;
	line-height: 31.64px;
	letter-spacing: -0.42px;
}
.d-perspective-question p {
	font-size: 12px;
	line-height: 19.8px;
	color: #bfc9b8;
	margin-top: 9px !important;
}
.d-knowledge {
	padding: 113px 0 120px;
	min-height: 804px;
}
.d-knowledge .d-title {
	font-size: 76px;
	line-height: 77.14px;
}
.d-articles {
	border-top: 1px solid var(--d-ink);
	margin-top: 43px !important;
}
.d-article {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 24px;
	border-bottom: 1px solid var(--d-line);
	padding: 22px 0 26px;
}
.d-article-category {
	font-size: 10px;
	font-weight: 600;
	line-height: 16px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #49543e;
	padding-top: 8px;
}
.d-article h3 {
	font-size: 40px;
	line-height: 44.8px;
	letter-spacing: 0;
}
.d-article h3 a {
	text-decoration: none;
}
.d-article-copy {
	font-size: 13px;
	line-height: 20.8px;
	color: #576052;
	margin-top: 10px !important;
}
.d-knowledge-note {
	font-size: 11px;
	line-height: 17.6px;
	color: #576252;
	margin-top: 24px !important;
}
.d-faq {
	background: var(--d-paper);
	padding: 105px 0 118px;
}
.d-faq-layout {
	display: grid;
	grid-template-columns: 416.5px 1fr;
	gap: 130px;
}
.d-faq .d-title {
	font-size: 76px;
	line-height: 77.14px;
}
.d-faq-intro {
	max-width: 310px;
	font-size: 13px;
	line-height: 22.1px;
	color: var(--d-muted);
	margin-top: 20px !important;
}
.d-faq-list {
	border-top: 1px solid var(--d-ink);
}
.d-faq details {
	border-bottom: 1px solid var(--d-line);
	margin: 0 !important;
}
.d-faq summary {
	font-family: Oranienbaum, serif;
	font-size: 35px;
	line-height: 40.95px;
	padding: 22px 36px 22px 0;
	position: relative;
	cursor: pointer;
	list-style: none;
	letter-spacing: -0.02em;
}
.d-faq summary::-webkit-details-marker {
	display: none;
}
.d-faq summary:after {
	content: "+";
	position: absolute;
	right: 0;
	top: 30px;
	font-family: Commissioner, sans-serif;
	font-size: 25px;
	line-height: 25px;
}
.d-faq details[open] > summary:after {
	content: "−";
}
.d-faq details > p {
	font-size: 13px;
	line-height: 23.4px;
	color: #4f5d4b;
	padding: 0 45px 15px 0;
	max-width: 700px;
}
.d-faq details > .d-link {
	padding-bottom: 24px;
	font-size: 12px;
	color: var(--d-ink);
}
.d-contact {
	background: var(--d-sage);
	padding: 77px 0;
}
.d-contact > .d-container {
	max-width: 1260px;
	width: calc(100% - 180px);
	display: grid;
	grid-template-columns: 541px 505px;
	justify-content: space-between;
	gap: 80px;
}
.d-contact-copy {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 100px;
}
.d-contact .d-eyebrow {
	font-size: 14.286px;
	line-height: 24.286px;
	letter-spacing: 1.357px;
}
.d-contact .d-title {
	font-size: 68.571px;
	line-height: 69.6px;
	letter-spacing: -3.0857px;
	margin-top: 0 !important;
	white-space: nowrap;
}
.d-contact-description {
	font-size: 14.286px;
	line-height: 24.286px;
	max-width: 466.667px;
	margin-top: 16.19px !important;
}
.d-contact .wp-block-buttons {
	gap: 13px;
	flex-wrap: wrap;
}
.d-contact .d-button .wp-block-button__link {
	font-size: 12.381px;
	line-height: 19.81px;
	min-width: 200px;
	padding: 14px 19px;
}
.d-team-placeholder {
	border: 2.269px solid rgba(35, 40, 31, 0.45);
	background: rgba(245, 243, 238, 0.19);
	padding: 43.115px;
	min-height: 378px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	color: #44533b;
}
.d-team-placeholder h3 {
	font-size: 65.807px;
	line-height: 67.123px;
}
.d-team-placeholder p {
	font-size: 20.423px;
	line-height: 27.571px;
	max-width: 227px;
}
.d-footer {
	background: var(--d-ink);
	color: var(--d-paper);
	padding: 69.52px 0 23.8px;
}
.d-footer > .d-container {
	width: calc(100% - 182.86px);
	max-width: 1257.143px;
}
.d-footer-main {
	display: grid;
	grid-template-columns: 1fr 218px 166px;
	gap: 41px;
	min-height: 209.88px;
}
.d-footer-address {
	font-size: 11.429px;
	line-height: 21.714px;
	color: #c9d0c4;
	margin-top: 23.81px !important;
}
.d-footer-heading {
	font-family: Oranienbaum, serif;
	font-size: 10.476px;
	line-height: 16.762px;
	font-weight: 700;
	letter-spacing: 0.943px;
	text-transform: uppercase;
	color: var(--d-sage);
	margin-bottom: 20px !important;
}
.d-footer-links p {
	font-size: 12.381px;
	line-height: 17.333px;
	margin-top: 12.381px !important;
}
.d-footer-links a {
	text-decoration: none;
}
.d-footer-bottom {
	border-top: 0.952px solid rgba(245, 243, 238, 0.19);
	display: flex;
	justify-content: space-between;
	gap: 30px;
	padding-top: 20.952px;
}
.d-footer-bottom p {
	font-size: 10.476px;
	line-height: 16.762px;
	color: #bdc7b7;
}
.d-skip-link {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 100000;
	background: var(--d-paper);
	color: var(--d-ink);
	padding: 12px;
	transform: translateY(-200%);
}
.d-skip-link:focus {
	transform: translateY(0);
}
@media (max-width: 1200px) {
	.d-container {
		width: calc(100% - 64px);
	}
	.d-header .wp-block-navigation__container {
		gap: 16px;
	}
	.d-header .wp-block-navigation {
		gap: 16px;
		font-size: 11px;
	}
	.d-header > .d-container {
		gap: 24px;
	}
	.d-assets-layout {
		grid-template-columns: 1fr 1.4fr;
		gap: 60px;
	}
	.d-about-layout {
		gap: 70px;
	}
	.d-perspective-layout {
		gap: 100px;
	}
	.d-faq-layout {
		grid-template-columns: 1fr 1.8fr;
		gap: 60px;
	}
	.d-contact > .d-container {
		width: calc(100% - 64px);
		grid-template-columns: 1.15fr 1fr;
		gap: 50px;
	}
	.d-contact .d-title {
		font-size: 56px;
		line-height: 1.05;
		white-space: normal;
	}
	.d-title {
		font-size: 60px;
	}
	.d-situation h3 {
		font-size: 36px;
	}
	.d-footer > .d-container {
		width: calc(100% - 64px);
	}
}
@media (max-width: 960px) {
	.d-topbar-contact {
		gap: 12px;
	}
	.d-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}
	.d-header .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}
	.d-header .wp-block-navigation {
		font-size: 16px;
	}
	.d-hero {
		padding: 70px 32px !important;
		min-height: 680px !important;
	}
	.d-hero-title {
		font-size: 82px;
	}
	.d-section-heading {
		align-items: flex-start;
		gap: 28px;
		flex-direction: column;
	}
	.d-assets-layout {
		gap: 40px;
		grid-template-columns: 1fr 1.2fr;
	}
	.d-assets .d-title {
		font-size: 60px;
	}
	.d-about-layout {
		gap: 45px;
		grid-template-columns: 1fr 1.2fr;
	}
	.d-about .d-title {
		font-size: 54px;
		line-height: 1.05;
	}
	.d-facts-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.d-fact:nth-child(3) {
		border-left: 0;
		padding-left: 0;
		border-top: 1px solid var(--d-line);
	}
	.d-fact:nth-child(4) {
		border-top: 1px solid var(--d-line);
	}
	.d-cases-grid {
		gap: 22px;
	}
	.d-case h3 {
		font-size: 34px;
		line-height: 1.1;
	}
	.d-case-row {
		grid-template-columns: 1fr;
		gap: 3px;
	}
	.d-process-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 35px;
	}
	.d-perspective-layout {
		gap: 60px;
		grid-template-columns: 1.3fr 1fr;
	}
	.d-perspective .d-title {
		font-size: 64px;
		line-height: 1.015;
		letter-spacing: -0.045em;
	}
	.d-article {
		grid-template-columns: 170px 1fr;
	}
	.d-article h3 {
		font-size: 33px;
	}
	.d-faq-layout {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.d-faq-intro {
		max-width: 500px;
	}
	.d-faq summary {
		font-size: 32px;
	}
	.d-contact > .d-container {
		gap: 35px;
		grid-template-columns: 1fr 1fr;
	}
	.d-contact-copy {
		gap: 45px;
	}
	.d-contact .d-title {
		font-size: 50px;
	}
	.d-team-placeholder {
		padding: 30px;
		min-height: 350px;
	}
	.d-team-placeholder h3 {
		font-size: 56px;
		line-height: 1.02;
	}
	.d-footer-main {
		grid-template-columns: 1.5fr 1fr 1fr;
		gap: 25px;
		padding-bottom: 45px;
	}
	.d-footer-bottom p:last-child {
		max-width: 55%;
		text-align: right;
	}
}
@media (max-width: 600px) {
	.d-container {
		width: calc(100% - 40px);
	}
	.d-topbar {
		height: auto;
		min-height: 35px;
		padding: 7px 0;
	}
	.d-topbar .d-container {
		justify-content: center;
	}
	.d-topbar .d-topbar-location {
		display: none;
	}
	.d-topbar-contact {
		gap: 14px;
	}
	.d-topbar p {
		font-size: 10px;
	}
	.d-topbar .d-social,
	.d-topbar .d-topbar-divider {
		display: none;
	}
	.d-header > .d-container {
		height: 76px;
	}
	.d-hero {
		min-height: 640px !important;
		padding: 65px 20px !important;
	}
	.d-hero-stack {
		gap: 48px;
	}
	.d-hero-eyebrow {
		font-size: 9px;
		letter-spacing: 1.4px;
		max-width: 300px;
	}
	.d-hero-title {
		font-size: 57px;
		line-height: 1.02;
	}
	.d-hero-title-group {
		gap: 36px;
	}
	.d-hero-note {
		font-size: 11px;
	}
	.d-situations,
	.d-assets,
	.d-about,
	.d-facts,
	.d-cases,
	.d-process,
	.d-perspective,
	.d-knowledge,
	.d-faq {
		padding: 65px 0;
	}
	.d-title,
	.d-assets .d-title,
	.d-about .d-title,
	.d-facts .d-title,
	.d-process .d-title,
	.d-knowledge .d-title,
	.d-faq .d-title {
		font-size: 49px;
		line-height: 1.04;
		letter-spacing: -0.04em;
	}
	.d-title {
		margin-top: 20px !important;
	}
	.d-situations .d-eyebrow,
	.d-cases .d-eyebrow {
		font-size: 11px;
		letter-spacing: 1.045px;
	}
	.d-section-intro {
		font-size: 13px;
		line-height: 22px;
	}
	.d-situation-grid {
		grid-template-columns: 1fr;
		gap: 0;
		margin-top: 36px !important;
	}
	.d-situation {
		min-height: 215px;
		padding-top: 24px;
		padding-bottom: 27px;
		gap: 15px;
	}
	.d-situation h3 {
		font-size: 36px;
		line-height: 1.1;
	}
	.d-situation-number {
		top: 32px;
	}
	.d-situation-description {
		font-size: 13px;
	}
	.d-assets-layout,
	.d-about-layout,
	.d-perspective-layout {
		grid-template-columns: 1fr;
		gap: 38px;
	}
	.d-assets-intro {
		font-size: 14px;
		line-height: 24px;
		margin-top: 25px !important;
	}
	.d-assets-grid {
		gap: 0 20px;
	}
	.d-asset h3 {
		font-size: 29px;
	}
	.d-asset p {
		margin-left: 0 !important;
		font-size: 12px;
		line-height: 20px;
	}
	.d-asset h3 small {
		display: block;
		margin-bottom: 8px;
	}
	.d-about-copy p {
		font-size: 13px;
		line-height: 24px;
	}
	.d-facts-grid {
		margin-top: 30px !important;
	}
	.d-fact {
		padding: 24px 12px 24px 16px;
		min-height: 195px;
		gap: 12px;
	}
	.d-fact h3 {
		font-size: 38px;
		line-height: 1.1;
	}
	.d-fact:nth-child(2) h3 {
		font-size: 33px;
		line-height: 1.1;
	}
	.d-fact p {
		font-size: 12px;
	}
	.d-cases-grid {
		grid-template-columns: 1fr;
		gap: 40px;
		margin-top: 32px !important;
	}
	.d-case h3 {
		font-size: 40px;
		line-height: 1.05;
	}
	.d-case-label {
		margin-bottom: 20px !important;
	}
	.d-case-row {
		grid-template-columns: 75px 1fr;
		gap: 10px;
	}
	.d-process-grid {
		gap: 30px 22px;
		margin-top: 32px !important;
	}
	.d-step h3 {
		font-size: 14px;
		margin-top: 20px !important;
	}
	.d-step-copy {
		font-size: 12px;
		line-height: 21px;
	}
	.d-perspective .d-title {
		font-size: 58px;
		line-height: 1.03;
		letter-spacing: -0.04em;
	}
	.d-perspective .d-eyebrow {
		font-size: 11px;
		line-height: 1.6;
	}
	.d-perspective-copy {
		font-size: 14px;
		line-height: 25px;
		margin-top: 28px !important;
	}
	.d-perspective-question h3 {
		font-size: 30px;
	}
	.d-knowledge {
		min-height: 0;
	}
	.d-article {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 24px 0;
	}
	.d-article-category {
		padding: 0;
	}
	.d-article h3 {
		font-size: 33px;
		line-height: 1.1;
	}
	.d-article-copy {
		font-size: 12px;
		line-height: 21px;
	}
	.d-knowledge-note {
		font-size: 10px;
	}
	.d-faq-layout {
		gap: 30px;
	}
	.d-faq summary {
		font-size: 29px;
		line-height: 1.15;
		padding-top: 22px;
		padding-bottom: 22px;
	}
	.d-faq summary:after {
		top: 25px;
		font-size: 22px;
	}
	.d-faq details > p {
		padding-right: 15px;
	}
	.d-contact {
		padding: 65px 0;
	}
	.d-contact > .d-container {
		width: calc(100% - 40px);
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.d-contact .d-title {
		font-size: 49px;
		line-height: 1.04;
		letter-spacing: -0.04em;
		margin-top: 12px !important;
	}
	.d-contact .d-eyebrow {
		font-size: 11px;
		line-height: 1.6;
	}
	.d-contact-description {
		font-size: 13px;
		line-height: 23px;
	}
	.d-contact-copy {
		gap: 32px;
	}
	.d-contact .wp-block-buttons {
		gap: 12px;
	}
	.d-contact .d-button .wp-block-button__link {
		min-width: 0;
		padding: 13px 14px;
		font-size: 11px;
	}
	.d-team-placeholder {
		min-height: 320px;
		padding: 32px;
	}
	.d-team-placeholder h3 {
		font-size: 60px;
	}
	.d-team-placeholder p {
		font-size: 18px;
		line-height: 25px;
	}
	.d-footer {
		padding: 55px 0 24px;
	}
	.d-footer > .d-container {
		width: calc(100% - 40px);
	}
	.d-footer-main {
		grid-template-columns: 1fr 1fr;
		gap: 35px 20px;
		padding-bottom: 35px;
	}
	.d-footer-brand {
		grid-column: 1/-1;
	}
	.d-footer-address {
		margin-top: 20px !important;
	}
	.d-footer-bottom {
		flex-direction: column;
		gap: 12px;
	}
	.d-footer-bottom p:last-child {
		max-width: 100%;
		text-align: left;
	}
	.d-footer-links p {
		font-size: 12px;
	}
	.d-footer-heading {
		font-size: 10px;
	}
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		transition: none !important;
	}
}
/* Keep the editor's structural wrappers transparent to section layouts. */
.editor-styles-wrapper .d-section {
	max-width: none !important;
}
.editor-styles-wrapper
	.d-section
	> .block-editor-inner-blocks
	> .block-editor-block-list__layout {
	margin: 0;
}
.editor-styles-wrapper .d-section .d-container {
	max-width: 1320px;
}
.editor-styles-wrapper .d-section .block-list-appender {
	position: relative;
}
.editor-styles-wrapper .d-section [data-type="core/group"] {
	margin-top: 0;
	margin-bottom: 0;
}

/* Adapt longer Oranienbaum headings to narrow layouts. */
@media (max-width: 960px) {
	.d-assets-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 600px) {
	.d-assets-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.d-contact > .d-container {
		grid-template-columns: minmax(0, 1fr);
	}
	.d-team-placeholder h3 {
		overflow-wrap: anywhere;
	}
}
