/*
Theme Name: Discover Casting
Theme URI: https://discovercastinginc.com/
Description: Custom block theme for Discover Casting Inc. Obsidian, casting gold and a trace of molten red.
Version: 1.2.5
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: discover-casting
*/

/* ---------- Fonts (self-hosted) ---------- */
@font-face { font-family: "Jost"; src: url("assets/fonts/jost-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Jost"; src: url("assets/fonts/jost-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Jost"; src: url("assets/fonts/jost-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Cormorant Garamond"; src: url("assets/fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Cormorant Garamond"; src: url("assets/fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Cormorant Garamond"; src: url("assets/fonts/cormorant-garamond-latin-500-italic.woff2") format("woff2"); font-weight: 500; font-style: italic; font-display: swap; }
@font-face { font-family: "Cormorant Garamond"; src: url("assets/fonts/cormorant-garamond-latin-600-italic.woff2") format("woff2"); font-weight: 600; font-style: italic; font-display: swap; }

/* ---------- Tokens ---------- */
:root {
	--dc-obsidian: #0E0D0B;
	--dc-graphite: #1C1B18;
	--dc-graphite-2: #24221E;
	--dc-gold: #D9B756;
	--dc-gold-hi: #E8CB75;
	--dc-bronze: #7A5E1C;
	--dc-molten: #E82322;
	--dc-platinum: #BCBDC6;
	--dc-ivory: #F5F1E8;
	--dc-linen: #E6DFD1;
	--dc-stone: #5A5650;
	--dc-ash: #8F8B83;
	--dc-ink: #1C1B18;

	--dc-font-display: "Cormorant Garamond", Cormorant, Georgia, "Times New Roman", serif;
	--dc-font-body: Jost, "Helvetica Neue", Helvetica, Arial, sans-serif;

	--dc-gutter: clamp(20px, 5vw, 64px);
	--dc-max: 1440px;
	--dc-header-h: 88px;
	--dc-section-y: clamp(84px, 10vw, 168px);
	--dc-ease: cubic-bezier(.2, .7, .2, 1);

	/* Context colors (light sections by default) */
	--dc-text: var(--dc-ink);
	--dc-text-muted: var(--dc-stone);
	--dc-accent: var(--dc-bronze);
	--dc-line: rgba(28, 27, 24, .14);
	--dc-pour: linear-gradient(90deg, var(--dc-molten), var(--dc-gold));
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
	margin: 0;
	background: var(--dc-ivory);
	color: var(--dc-text);
	font-family: var(--dc-font-body);
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
::selection { background: var(--dc-gold); color: var(--dc-obsidian); }
img { max-width: 100%; height: auto; }
a { color: var(--dc-accent); text-decoration-thickness: 1px; text-underline-offset: .2em; transition: color .25s ease; }
a:hover { color: var(--dc-text); }
:focus-visible { outline: 2px solid var(--dc-gold); outline-offset: 3px; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--dc-font-display);
	font-weight: 600;
	line-height: 1.04;
	letter-spacing: -0.01em;
	color: inherit;
	margin: 0;
	text-wrap: balance;
}
h1 { font-size: clamp(2.875rem, 1.35rem + 5.6vw, 7.25rem); line-height: .98; }
h2 { font-size: clamp(2.25rem, 1.45rem + 2.8vw, 4rem); }
h3 { font-size: clamp(1.5rem, 1.25rem + .7vw, 2rem); line-height: 1.12; }
h1 em, h2 em, h3 em { font-style: italic; font-weight: 500; color: var(--dc-accent); }
p { text-wrap: pretty; }

/* Dark context */
.is-dark, .dc-hero, .dc-header, .dc-footer, .dc-quote-strip, .is-graphite {
	--dc-text: var(--dc-ivory);
	--dc-text-muted: var(--dc-platinum);
	--dc-accent: var(--dc-gold);
	--dc-line: rgba(188, 189, 198, .16);
	color: var(--dc-text);
}

/* ---------- Layout primitives ---------- */
.wp-site-blocks > * { margin-block: 0 !important; }
.dc-main { display: block; }
.dc-main > .entry-content,
.dc-main > .wp-block-post-content { margin: 0; }
body:not(.dc-has-hero) .dc-main { padding-top: var(--dc-header-h); }

.dc-section { position: relative; padding-block: var(--dc-section-y); margin: 0 !important; }
.dc-section.is-dark { background: var(--dc-obsidian); }
.dc-section.is-graphite { background: var(--dc-graphite); }
.dc-section.is-ivory { background: var(--dc-ivory); }
.dc-section.is-linen { background: var(--dc-linen); }
.dc-section.is-tight { padding-block: clamp(56px, 6vw, 88px); }

.dc-container { width: 100%; max-width: var(--dc-max); margin-inline: auto !important; padding-inline: var(--dc-gutter); box-sizing: border-box; }
.dc-grid > *, .dc-cards > *, .dc-stats > *, .dc-metals > *, .dc-steps > *, .dc-industries > *, .dc-split > *, .dc-faq > * { margin-block: 0 !important; }

/* Section heads */
.dc-section-head { max-width: 780px; margin-bottom: clamp(44px, 6vw, 80px) !important; }
.dc-section-head.is-split { max-width: none; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 5vw, 80px); align-items: end; }
.dc-section-head.is-split > * { margin: 0 !important; }
.dc-section-head h2 { position: relative; padding-bottom: 28px; }
.dc-section-head h2::after {
	content: ""; position: absolute; left: 0; bottom: 0; width: 72px; height: 1px; background: var(--dc-gold);
	transform-origin: left center; transform: scaleX(1); transition: transform 1.1s var(--dc-ease) .2s;
}
.dc-js .dc-section-head:not(.is-visible) h2::after { transform: scaleX(0); }
.dc-lead { font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.7; color: var(--dc-text-muted); max-width: 640px; }

/* Eyebrow with the molten pour line */
.dc-eyebrow {
	display: flex; align-items: center; gap: 16px;
	font-family: var(--dc-font-body); font-size: .8125rem; font-weight: 500; line-height: 1.4;
	letter-spacing: .24em; text-transform: uppercase; color: var(--dc-accent);
	margin: 0 0 22px !important;
}
.dc-eyebrow::before { content: ""; flex: 0 0 48px; height: 2px; background: var(--dc-pour); }

/* ---------- Buttons & links ---------- */
.wp-block-buttons { gap: 14px; }
.wp-block-button .wp-block-button__link,
.wp-element-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 12px;
	background: var(--dc-gold); color: var(--dc-obsidian);
	font-family: var(--dc-font-body); font-size: .8125rem; font-weight: 600; line-height: 1;
	letter-spacing: .2em; text-transform: uppercase; text-decoration: none;
	padding: 19px 30px; border: 1px solid var(--dc-gold); border-radius: 0;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
.wp-block-button .wp-block-button__link:hover,
.wp-element-button:hover { background: var(--dc-gold-hi); border-color: var(--dc-gold-hi); color: var(--dc-obsidian); }
.wp-block-button.has-arrow .wp-block-button__link::after { content: "\2192"; font-size: 1rem; letter-spacing: 0; transition: transform .25s ease; }
.wp-block-button.has-arrow .wp-block-button__link:hover::after { transform: translateX(4px); }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: var(--dc-text); border: 1px solid currentColor; padding: 19px 30px;
}
.is-dark .wp-block-button.is-style-outline .wp-block-button__link,
.dc-hero .wp-block-button.is-style-outline .wp-block-button__link,
.dc-quote-strip .wp-block-button.is-style-outline .wp-block-button__link { color: var(--dc-ivory); border-color: rgba(188, 189, 198, .55); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--dc-text); color: var(--dc-obsidian); border-color: var(--dc-text); }
.is-dark .wp-block-button.is-style-outline .wp-block-button__link:hover,
.dc-hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.dc-quote-strip .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--dc-ivory); color: var(--dc-obsidian); border-color: var(--dc-ivory); }

.dc-link { margin: 0; }
.dc-link a {
	display: inline-flex; align-items: center; gap: 12px;
	font-size: .8125rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
	color: var(--dc-accent); text-decoration: none; padding-bottom: 6px; border-bottom: 1px solid currentColor;
}
.dc-link a::after { content: "\2192"; letter-spacing: 0; font-size: 1rem; transition: transform .25s ease; }
.dc-link a:hover { color: var(--dc-text); }
.dc-link a:hover::after { transform: translateX(4px); }
.dc-section-foot { margin-top: clamp(40px, 5vw, 64px) !important; }

/* ---------- Header ---------- */
.dc-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
	background: transparent; border-bottom: 1px solid transparent;
}
.admin-bar .dc-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .dc-header { top: 46px; } }
/*
 * The dark, blurred bar behind the scrolled header lives on a pseudo-element, never on the header
 * itself: a backdrop-filter (or filter/transform) on the header makes it the containing block for the
 * fixed mobile menu overlay inside it, which then gets squeezed into the 68px header bar.
 */
.dc-header::after {
	content: ""; position: absolute; inset: 0 0 -1px; z-index: -1; pointer-events: none;
	box-sizing: border-box; border-bottom: 1px solid rgba(188, 189, 198, .14);
	background: rgba(14, 13, 11, .94);
	-webkit-backdrop-filter: saturate(140%) blur(12px);
	backdrop-filter: saturate(140%) blur(12px);
	opacity: 0; transition: opacity .4s ease;
}
.dc-header.is-scrolled::after,
body:not(.dc-has-hero) .dc-header::after { opacity: 1; }
.dc-header__inner {
	max-width: var(--dc-max); margin-inline: auto; box-sizing: border-box;
	padding: 22px var(--dc-gutter); gap: 28px; align-items: center;
	transition: padding .4s ease;
}
.dc-header.is-scrolled .dc-header__inner { padding-block: 14px; }
.dc-brand { gap: 14px; align-items: center; flex-shrink: 0; }
.dc-brand .wp-block-site-logo { margin: 0; line-height: 0; }
.dc-brand .wp-block-site-logo img { height: 46px; width: auto; }
.dc-brand__word {
	font-family: var(--dc-font-body); font-size: .9375rem; font-weight: 500; letter-spacing: .32em; text-transform: uppercase;
	color: var(--dc-ivory) !important; text-decoration: none; white-space: nowrap; line-height: 1;
}
.dc-brand__word .is-accent { color: var(--dc-gold); }
.dc-brand__word:hover { color: var(--dc-ivory); }

.dc-nav { flex: 1 1 auto; }
.dc-nav .wp-block-navigation__container { gap: clamp(22px, 2.6vw, 44px); }
.dc-nav .wp-block-navigation-item__content {
	font-family: var(--dc-font-body); font-size: .8125rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase;
	color: var(--dc-platinum); text-decoration: none; padding: 10px 0;
}
.dc-nav .wp-block-navigation-item__content:hover,
.dc-nav .current-menu-item > .wp-block-navigation-item__content,
.dc-nav .wp-block-navigation-item__content[aria-current="page"] { color: var(--dc-gold); }
.dc-nav .wp-block-navigation__submenu-icon { color: var(--dc-platinum); margin-left: 6px; }
.dc-nav .wp-block-navigation__submenu-container {
	background: var(--dc-graphite) !important; color: var(--dc-ivory) !important;
	border: 1px solid rgba(188, 189, 198, .16) !important; padding: 10px 0 !important; min-width: 250px !important;
	box-shadow: 0 24px 48px rgba(0, 0, 0, .35);
}
.dc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 12px 22px !important; color: var(--dc-ivory); letter-spacing: .16em; }
.dc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--dc-gold); background: rgba(255, 255, 255, .03); }

.dc-header__actions { gap: 26px; align-items: center; flex-shrink: 0; }
.dc-header__phone { font-size: .9375rem; letter-spacing: .06em; color: var(--dc-platinum) !important; text-decoration: none; white-space: nowrap; }
.dc-header__phone:hover { color: var(--dc-gold) !important; }
.dc-header .wp-block-buttons { margin: 0; }
.dc-header .wp-block-button__link { padding: 15px 22px; font-size: .75rem; }

/* Mobile navigation overlay */
.dc-nav .wp-block-navigation__responsive-container-open { color: var(--dc-ivory); }
.dc-nav .wp-block-navigation__responsive-container-open svg,
.dc-nav .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; fill: currentColor; }
.dc-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--dc-obsidian) !important; color: var(--dc-ivory) !important;
	padding: 28px var(--dc-gutter) 40px !important;
}
.dc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 72px; align-items: flex-start; }
.dc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 18px; align-items: flex-start; }
.dc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--dc-font-display); font-size: 2.125rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--dc-ivory); padding: 4px 0;
}
.dc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important; border: 0 !important; box-shadow: none; padding: 8px 0 8px 18px !important; min-width: 0 !important;
}
.dc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-family: var(--dc-font-body); font-size: 1rem; letter-spacing: .14em; text-transform: uppercase; color: var(--dc-platinum); padding: 8px 0 !important;
}
.dc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.dc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.dc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.dc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	align-items: flex-start !important; justify-content: flex-start !important; text-align: left;
}
.dc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible { outline-offset: 6px; }

/* Collapse the menu into the overlay below desktop widths (core switches at 600px) */
@media (max-width: 1200px) {
	.dc-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.dc-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.dc-header .dc-nav { order: 3; flex: 0 0 auto; }
	.dc-header .dc-header__actions { order: 2; margin-left: auto; }
}

/* ---------- Hero ---------- */
.dc-hero.wp-block-cover {
	min-height: 100vh; min-height: 100svh; padding: 0 !important; align-items: stretch; margin: 0 !important; overflow: hidden;
	background: var(--dc-obsidian);
}
.dc-hero .wp-block-cover__image-background { object-position: 72% 50%; transform: scale(1.04); animation: dc-hero-drift 18s var(--dc-ease) forwards; }
@keyframes dc-hero-drift { from { transform: scale(1.12); } to { transform: scale(1.02); } }
@media (prefers-reduced-motion: reduce) { .dc-hero .wp-block-cover__image-background { animation: none; transform: none; } }
.dc-hero .wp-block-cover__background {
	opacity: 1 !important;
	background:
		linear-gradient(90deg, rgba(14, 13, 11, .97) 0%, rgba(14, 13, 11, .88) 30%, rgba(14, 13, 11, .42) 62%, rgba(14, 13, 11, .2) 100%),
		linear-gradient(0deg, rgba(14, 13, 11, .95) 0%, rgba(14, 13, 11, 0) 42%) !important;
}
.dc-hero .wp-block-cover__inner-container {
	position: relative; z-index: 2; width: 100%; max-width: var(--dc-max); margin-inline: auto; box-sizing: border-box;
	min-height: 100vh; min-height: 100svh;
	padding: calc(var(--dc-header-h) + clamp(48px, 9vh, 120px)) var(--dc-gutter) clamp(28px, 5vh, 56px);
	display: flex; flex-direction: column; justify-content: space-between; gap: 56px;
}
.dc-hero__content { max-width: 880px; margin: auto 0 0 !important; }
.dc-hero__content > * { margin-block: 0 !important; }
.dc-hero h1 { color: var(--dc-ivory); margin-bottom: 30px !important; }
.dc-hero .dc-lead { color: var(--dc-platinum); font-size: clamp(1.125rem, 1rem + .45vw, 1.375rem); max-width: 650px; }
.dc-hero .wp-block-buttons { margin-top: 44px !important; }
.dc-hero.is-page-hero.wp-block-cover,
.dc-hero.is-page-hero .wp-block-cover__inner-container { min-height: 78vh; min-height: 78svh; }

/* Alloy swatches */
.dc-alloys {
	list-style: none; margin: 0 !important; padding: 30px 0 0; border-top: 1px solid rgba(188, 189, 198, .16);
	display: grid; grid-template-columns: repeat(8, max-content); justify-content: space-between; gap: 18px 24px;
}
@media (max-width: 1360px) { .dc-alloys { grid-template-columns: repeat(4, max-content); justify-content: start; column-gap: clamp(28px, 5vw, 64px); } }
.dc-alloys li, .dc-swatch li {
	display: flex; align-items: center; gap: 12px; margin: 0;
	font-size: .75rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--dc-platinum);
}
.dc-alloys li::before, .dc-swatch li::before {
	content: ""; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%;
	background: var(--sw, radial-gradient(circle at 32% 30%, #fff, #c7c8cf 45%, #7d7e86 100%));
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22), 0 4px 14px rgba(0, 0, 0, .35);
}
.is-yg { --sw: radial-gradient(circle at 32% 30%, #fff4c2, #e3c25f 45%, #9c7a2b 100%); }
.is-wg { --sw: radial-gradient(circle at 32% 30%, #ffffff, #dadade 45%, #8e8f96 100%); }
.is-rg { --sw: radial-gradient(circle at 32% 30%, #ffe3d6, #e2a183 45%, #9b5a43 100%); }
.is-gg { --sw: radial-gradient(circle at 32% 30%, #f6f3c8, #c9c27a 45%, #7f7a3e 100%); }
.is-tg { --sw: radial-gradient(circle at 32% 30%, #fff0b8, #d9a93a 45%, #8f6412 100%); }
.is-ss { --sw: radial-gradient(circle at 32% 30%, #ffffff, #c7c8cf 45%, #7d7e86 100%); }
.is-fs { --sw: radial-gradient(circle at 32% 30%, #ffffff, #e2e3e8 45%, #9a9ba3 100%); }
.is-ds { --sw: radial-gradient(circle at 32% 30%, #ffffff, #cfd1d8 45%, #858790 100%); }
.is-ps { --sw: radial-gradient(circle at 32% 30%, #fff0ec, #dcb7ae 45%, #8f6c66 100%); }
.is-pts { --sw: radial-gradient(circle at 32% 30%, #fbfbfd, #c4c6cf 45%, #767884 100%); }
.is-pt { --sw: radial-gradient(circle at 32% 30%, #f4f5f8, #b9bbc3 45%, #6e7078 100%); }
.is-pd { --sw: radial-gradient(circle at 32% 30%, #f1f0ec, #b5b2aa 45%, #6c6a64 100%); }
.is-br { --sw: radial-gradient(circle at 32% 30%, #fff1b8, #cfa94a 45%, #7f6420 100%); }
.is-pbr { --sw: radial-gradient(circle at 32% 30%, #ffe4d0, #d79c74 45%, #8a5636 100%); }
.is-wbr { --sw: radial-gradient(circle at 32% 30%, #fdfaee, #d8d2ba 45%, #8f8970 100%); }
.is-bz { --sw: radial-gradient(circle at 32% 30%, #f3c9a0, #b9773f 45%, #6f4120 100%); }
.is-al { --sw: radial-gradient(circle at 32% 30%, #f7f8fa, #c9cdd3 45%, #8a9098 100%); }

/* ---------- Stats band ---------- */
.dc-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: 1px solid var(--dc-line); }
.dc-stat { padding: 8px clamp(20px, 3vw, 40px) 8px; border-right: 1px solid var(--dc-line); }
.dc-stat__num {
	font-family: var(--dc-font-display); font-weight: 600; font-size: clamp(2.75rem, 2rem + 2.4vw, 4.5rem); line-height: 1;
	color: var(--dc-gold); margin: 0 0 14px !important; letter-spacing: -0.01em;
}
.dc-stat__label { font-size: .8125rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--dc-platinum); line-height: 1.6; margin: 0 !important; max-width: 220px; }

/* ---------- Service cards ---------- */
.dc-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); }
.dc-card { display: flex; flex-direction: column; gap: 0; }
.dc-card > * { margin: 0 !important; }
.dc-card .wp-block-image { aspect-ratio: 4 / 5; overflow: hidden; background: var(--dc-graphite); margin-bottom: 26px !important; }
.dc-card .wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--dc-ease), filter .6s ease; filter: saturate(.92); }
.dc-card:hover .wp-block-image img { transform: scale(1.04); filter: saturate(1.05); }
.dc-card__num { font-size: .75rem; font-weight: 600; letter-spacing: .22em; color: var(--dc-accent); margin-bottom: 10px !important; }
.dc-card h3 { margin-bottom: 12px !important; }
.dc-card h3 a { color: inherit; text-decoration: none; }
.dc-card h3 a:hover { color: var(--dc-accent); }
.dc-card p:not(.dc-card__num):not(.dc-link) { color: var(--dc-text-muted); font-size: 1rem; line-height: 1.65; margin-bottom: 22px !important; }
.dc-card .dc-link { margin-top: auto !important; }

/* ---------- Metals ---------- */
.dc-metals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--dc-line); border: 1px solid var(--dc-line); }
.dc-metal { background: var(--dc-obsidian); padding: clamp(28px, 3vw, 44px); }
.dc-metal > * { margin: 0 !important; }
.dc-metal h3 { font-size: clamp(1.625rem, 1.35rem + .6vw, 2.125rem); margin-bottom: 26px !important; }
.dc-swatch { list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; }
.dc-swatch li { font-size: .8125rem; letter-spacing: .14em; color: var(--dc-ivory); }
.dc-swatch li::before { width: 22px; height: 22px; }

/* ---------- Process steps ---------- */
.dc-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(36px, 4vw, 56px) clamp(24px, 3vw, 40px); counter-reset: dc-step; }
.dc-step { border-top: 1px solid var(--dc-line); padding-top: 26px; position: relative; }
.dc-step::before { content: ""; position: absolute; top: -1px; left: 0; width: 40px; height: 1px; background: var(--dc-gold); }
.dc-step > * { margin: 0 !important; }
.dc-step__num { font-family: var(--dc-font-display); font-size: 1.375rem; font-weight: 600; font-style: italic; color: var(--dc-accent); margin-bottom: 14px !important; }
.dc-step h3 { font-size: clamp(1.375rem, 1.2rem + .5vw, 1.75rem); margin-bottom: 10px !important; }
.dc-step p:not(.dc-step__num) { font-size: 1rem; color: var(--dc-text-muted); line-height: 1.65; }

/* ---------- Industries ---------- */
.dc-industries { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: var(--dc-line); border: 1px solid var(--dc-line); }
.dc-industry { background: var(--dc-graphite); padding: clamp(26px, 2.6vw, 38px) clamp(26px, 2.6vw, 38px) clamp(34px, 3.4vw, 52px); display: flex; flex-direction: column; position: relative; transition: background-color .35s ease; }
.dc-industry::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 2px; background: var(--dc-pour); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--dc-ease); }
.dc-industry:hover { background: var(--dc-graphite-2); }
.dc-industry:hover::before { transform: scaleX(1); }
.dc-industry > * { margin: 0 !important; }
.dc-industry__num { font-size: .75rem; font-weight: 600; letter-spacing: .22em; color: var(--dc-gold); padding-bottom: clamp(48px, 6vw, 96px); }
.dc-industry h3 { font-size: clamp(1.5rem, 1.3rem + .5vw, 1.875rem); margin-bottom: 12px !important; }
.dc-industry p:not(.dc-industry__num) { font-size: .9375rem; line-height: 1.6; color: var(--dc-platinum); }

/* ---------- Split (image + text) ---------- */
.dc-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 104px); align-items: center; }
.dc-split.is-faq { align-items: start; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.dc-split__media { position: relative; }
.dc-split__media .wp-block-image { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; }
.dc-split__media .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.dc-split__media::after { content: ""; position: absolute; left: -18px; bottom: -18px; width: 42%; height: 42%; border-left: 1px solid var(--dc-gold); border-bottom: 1px solid var(--dc-gold); pointer-events: none; }
.dc-split__body > * { margin-block: 0 !important; }
.dc-split__body h2 { margin-bottom: 28px !important; }
.dc-split__body p:not(.dc-eyebrow) { color: var(--dc-text-muted); margin-bottom: 20px !important; }
.dc-values { list-style: none; padding: 0; margin: 12px 0 36px !important; display: grid; gap: 0; border-top: 1px solid var(--dc-line); }
.dc-values li { padding: 18px 0; border-bottom: 1px solid var(--dc-line); margin: 0; color: var(--dc-text-muted); font-size: 1rem; }
.dc-values li strong { display: block; font-family: var(--dc-font-display); font-size: 1.375rem; font-weight: 600; color: var(--dc-text); margin-bottom: 4px; }

/* ---------- FAQ ---------- */
.dc-faq { border-top: 1px solid var(--dc-line); }
.dc-faq .wp-block-details { border-bottom: 1px solid var(--dc-line); padding: 0; margin: 0 !important; }
.dc-faq .wp-block-details summary {
	list-style: none; cursor: pointer; position: relative; padding: 28px 56px 28px 0;
	font-family: var(--dc-font-display); font-size: clamp(1.25rem, 1.1rem + .5vw, 1.625rem); font-weight: 600; line-height: 1.25; color: var(--dc-text);
}
.dc-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.dc-faq .wp-block-details summary::after {
	content: ""; position: absolute; right: 4px; top: 50%; width: 18px; height: 18px; margin-top: -9px;
	background: linear-gradient(var(--dc-accent), var(--dc-accent)) center / 100% 1px no-repeat, linear-gradient(var(--dc-accent), var(--dc-accent)) center / 1px 100% no-repeat;
	transition: transform .35s var(--dc-ease);
}
.dc-faq .wp-block-details[open] summary::after { transform: rotate(45deg); }
.dc-faq .wp-block-details summary:hover { color: var(--dc-accent); }
.dc-faq .wp-block-details > p { margin: -6px 0 0 !important; padding: 0 56px 28px 0; color: var(--dc-text-muted); }

/* ---------- Quote strip ---------- */
.dc-quote-strip {
	margin: 0 !important; position: relative; overflow: hidden;
	background:
		radial-gradient(900px 420px at 88% -10%, rgba(217, 183, 86, .16), transparent 62%),
		radial-gradient(600px 300px at 10% 120%, rgba(232, 35, 34, .07), transparent 60%),
		var(--dc-graphite);
	padding-block: clamp(84px, 9vw, 148px);
	border-top: 1px solid rgba(188, 189, 198, .12);
}
.dc-quote-strip__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 32px 64px; align-items: end; }
.dc-quote-strip__inner > * { margin: 0 !important; }
.dc-quote-strip .dc-eyebrow { grid-column: 1 / -1; }
.dc-quote-strip__title { font-size: clamp(2.5rem, 1.6rem + 3.2vw, 4.75rem); color: var(--dc-ivory); }
.dc-quote-strip__side > * { margin-block: 0 !important; }
.dc-quote-strip__text { color: var(--dc-platinum); font-size: 1.0625rem; line-height: 1.7; margin-bottom: 30px !important; max-width: 460px; }

/* ---------- Footer ---------- */
.dc-footer { background: var(--dc-obsidian); padding: clamp(72px, 8vw, 112px) 0 36px; margin: 0 !important; }
.dc-footer > .dc-container > * { margin-block: 0 !important; }
.dc-footer > .dc-container > .dc-footer__cols { gap: clamp(32px, 5vw, 72px) !important; margin-bottom: clamp(56px, 6vw, 88px) !important; }
.dc-footer__cols > .wp-block-column:last-child { flex-grow: 1.5 !important; }
.dc-footer__brand { font-family: var(--dc-font-body); font-size: 1rem; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: var(--dc-ivory) !important; text-decoration: none; display: inline-block; margin-bottom: 22px; }
.dc-footer__brand .is-accent { color: var(--dc-gold); }
.dc-footer__blurb { color: var(--dc-platinum); font-size: .9375rem; line-height: 1.7; max-width: 340px; margin: 0 !important; }
.dc-footer__title { font-family: var(--dc-font-body); font-size: .75rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--dc-gold); margin: 0 0 22px !important; }
.dc-footer__links, .dc-footer__contact { list-style: none; padding: 0; margin: 0 !important; display: grid; gap: 12px; }
.dc-footer__links li, .dc-footer__contact li { margin: 0; color: var(--dc-platinum); font-size: .9375rem; line-height: 1.6; }
.dc-footer a { color: var(--dc-platinum); text-decoration: none; }
.dc-footer a:hover { color: var(--dc-ivory); }
.dc-footer__bottom { border-top: 1px solid rgba(188, 189, 198, .14); padding-top: 28px; gap: 16px; }
.dc-footer__bottom p { margin: 0 !important; font-size: .8125rem; letter-spacing: .06em; color: var(--dc-ash); }
.dc-footer__bottom a { color: var(--dc-ash); }

/* Mobile action bar */
.dc-mobile-bar { display: none; }
@media (max-width: 782px) {
	.dc-mobile-bar {
		display: grid; grid-template-columns: 1fr 1.6fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 999;
		background: rgba(14, 13, 11, .96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
		border-top: 1px solid rgba(188, 189, 198, .16); padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); gap: 10px;
	}
	.dc-mobile-bar a {
		display: flex; align-items: center; justify-content: center; height: 48px;
		font-size: .75rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; text-decoration: none;
		color: var(--dc-ivory) !important; border: 1px solid rgba(188, 189, 198, .45);
	}
	.dc-mobile-bar a.is-primary { background: var(--dc-gold); border-color: var(--dc-gold); color: var(--dc-obsidian) !important; }
	body { padding-bottom: 72px; }
}

/* ---------- Generic page content (pages not yet rebuilt) ---------- */
.dc-prose { max-width: 760px; margin-inline: auto; padding: clamp(48px, 8vw, 120px) var(--dc-gutter); }

/* ---------- Reveal on scroll ---------- */
.dc-js .dc-anim { opacity: 0; transform: translateY(22px); transition: opacity .75s var(--dc-ease), transform .75s var(--dc-ease); }
.dc-js .dc-anim.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.dc-js .dc-anim { opacity: 1; transform: none; transition: none; }
	.dc-section-head h2::after { transition: none; }
}

/* ---------- Header legibility over hero images ---------- */
.dc-header::before {
	content: ""; position: absolute; inset: 0 0 -56px; z-index: -1; pointer-events: none;
	background: linear-gradient(180deg, rgba(14, 13, 11, .55), rgba(14, 13, 11, 0)); transition: opacity .4s ease;
}
.dc-header.is-scrolled::before, body:not(.dc-has-hero) .dc-header::before { opacity: 0; }

/* ---------- Inner page hero ---------- */
.dc-hero.is-page-hero.wp-block-cover,
.dc-hero.is-page-hero .wp-block-cover__inner-container { min-height: 68vh; min-height: 68svh; }
.dc-hero.is-page-hero h1 { font-size: clamp(2.75rem, 1.4rem + 4.4vw, 5.75rem); }
.dc-hero.is-compact.wp-block-cover,
.dc-hero.is-compact .wp-block-cover__inner-container { min-height: 54vh; min-height: 54svh; }

/* ---------- Split variants ---------- */
.dc-split.is-reverse > .dc-split__media { order: 2; }
.dc-split.is-reverse .dc-split__media::after { left: auto; right: -18px; border-left: 0; border-right: 1px solid var(--dc-gold); }
.dc-container > .dc-split + .dc-split { margin-top: clamp(88px, 10vw, 160px) !important; }
.dc-split__media.is-landscape .wp-block-image { aspect-ratio: 5 / 4; }
.dc-split__body .wp-block-buttons { margin-top: 8px !important; }
.dc-checks { list-style: none; padding: 0; margin: 6px 0 32px !important; display: grid; gap: 14px; }
.dc-checks li { position: relative; padding-left: 30px; margin: 0; color: var(--dc-text-muted); line-height: 1.6; }
.dc-checks li::before { content: ""; position: absolute; left: 0; top: .82em; width: 16px; height: 1px; background: var(--dc-gold); }
.dc-checks li strong { color: var(--dc-text); font-weight: 600; }

/* ---------- Grid variants ---------- */
.dc-steps.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dc-industries.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------- Gold tones ---------- */
.dc-tones { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(28px, 3vw, 44px); }
.dc-tones > * { margin-block: 0 !important; }
.dc-tone > * { margin: 0 !important; }
.dc-tone h3 { font-size: clamp(1.375rem, 1.2rem + .5vw, 1.75rem); margin-bottom: 10px !important; }
.dc-tone h3::before {
	content: ""; display: block; width: 76px; height: 76px; border-radius: 50%; margin-bottom: 28px;
	background: var(--sw); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25), 0 14px 34px rgba(0, 0, 0, .22);
}
.dc-tone p { color: var(--dc-text-muted); font-size: 1rem; line-height: 1.65; }

/* ---------- Wide figure ---------- */
.dc-figure { margin: 0 !important; }
.dc-figure img { width: 100%; height: auto; display: block; }
.dc-figure figcaption { margin-top: 18px; font-size: .75rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--dc-text-muted); text-align: left; }

/* ---------- Contact ---------- */
.dc-contact { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(40px, 6vw, 104px); align-items: start; }
.dc-contact > * { margin: 0 !important; }
.dc-contact__info > * { margin-block: 0 !important; }
.dc-contact__info h2 { margin-bottom: 24px !important; }
.dc-contact__info > p { color: var(--dc-text-muted); }
.dc-contact__list { list-style: none; padding: 0; margin: 36px 0 0 !important; border-top: 1px solid var(--dc-line); }
.dc-contact__list li { padding: 22px 0; border-bottom: 1px solid var(--dc-line); margin: 0; color: var(--dc-text-muted); line-height: 1.6; }
.dc-contact__list li strong { display: block; font-size: .75rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--dc-accent); margin-bottom: 8px; }
.dc-contact__list a { color: var(--dc-text); text-decoration: none; font-family: var(--dc-font-display); font-size: clamp(1.25rem, 1.1rem + .5vw, 1.625rem); font-weight: 600; line-height: 1.3; }
.dc-contact__list a:hover { color: var(--dc-accent); }
.dc-contact__form { background: #fff; padding: clamp(26px, 4vw, 56px); border: 1px solid var(--dc-line); box-shadow: 0 30px 60px -40px rgba(28, 27, 24, .35); }
.dc-contact__form > * { margin-block: 0 !important; }
.dc-contact__form h2 { font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem); margin-bottom: 10px !important; }
.dc-contact__form > p { color: var(--dc-text-muted); margin-bottom: 30px !important; }
.dc-map { margin-top: clamp(64px, 8vw, 112px) !important; aspect-ratio: 21 / 8; background: var(--dc-linen); overflow: hidden; }
.dc-map iframe { width: 100%; height: 100%; border: 0; display: block; filter: grayscale(1) contrast(1.05); }

/* ---------- Forms (Contact Form 7) ---------- */
.dc-form { display: grid; gap: 22px; }
.dc-form p { margin: 0; }
.dc-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.dc-field { display: grid; gap: 10px; margin: 0; }
.dc-field__label { font-size: .75rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--dc-ink); }
.dc-field__label em { font-style: normal; color: var(--dc-molten); }
.dc-field__label small { display: block; margin-top: 6px; font-size: .8125rem; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--dc-stone); }
.dc-form .wpcf7-form-control-wrap { display: block; }
.dc-form input[type="text"], .dc-form input[type="email"], .dc-form input[type="tel"], .dc-form select, .dc-form textarea {
	width: 100%; box-sizing: border-box; margin: 0; font-family: var(--dc-font-body); font-size: 1rem; line-height: 1.4; color: var(--dc-ink);
	background-color: var(--dc-ivory); border: 1px solid rgba(28, 27, 24, .22); border-radius: 0; padding: 15px 16px;
	transition: border-color .2s ease, box-shadow .2s ease; -webkit-appearance: none; appearance: none;
}
.dc-form textarea { min-height: 150px; resize: vertical; }
.dc-form select {
	padding-right: 46px; cursor: pointer;
	background-image: linear-gradient(45deg, transparent 50%, var(--dc-stone) 50%), linear-gradient(135deg, var(--dc-stone) 50%, transparent 50%);
	background-position: calc(100% - 22px) 52%, calc(100% - 16px) 52%; background-size: 6px 6px; background-repeat: no-repeat;
}
.dc-form input:focus, .dc-form select:focus, .dc-form textarea:focus { outline: none; border-color: var(--dc-bronze); box-shadow: 0 0 0 3px rgba(217, 183, 86, .3); }
.dc-form input[type="file"] { width: 100%; box-sizing: border-box; font-family: var(--dc-font-body); font-size: .9375rem; color: var(--dc-stone); padding: 14px; border: 1px dashed rgba(28, 27, 24, .32); background: var(--dc-ivory); }
.dc-form input[type="file"]::file-selector-button {
	font-family: var(--dc-font-body); font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
	background: var(--dc-ink); color: var(--dc-ivory); border: 0; padding: 12px 18px; margin-right: 16px; cursor: pointer;
}
.dc-form__submit { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 4px; }
.dc-form .wpcf7-submit {
	background: var(--dc-gold); color: var(--dc-obsidian); border: 1px solid var(--dc-gold); border-radius: 0; cursor: pointer;
	font-family: var(--dc-font-body); font-size: .8125rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; padding: 19px 34px;
	transition: background-color .25s ease, border-color .25s ease;
}
.dc-form .wpcf7-submit:hover { background: var(--dc-gold-hi); border-color: var(--dc-gold-hi); }
.dc-form__note { flex: 1 1 240px; margin: 0; font-size: .75rem; line-height: 1.6; color: var(--dc-stone); }
.dc-form__note a { color: inherit; }
.dc-form .wpcf7-not-valid-tip { font-size: .8125rem; color: #b3261e; margin-top: 6px; }
.wpcf7 form .wpcf7-response-output { margin: 24px 0 0; padding: 14px 18px; border: 1px solid var(--dc-line); font-size: .9375rem; }
.wpcf7 form.sent .wpcf7-response-output { border-color: #2e7d32; color: #1b5e20; background: #f1f8f1; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { border-color: #b3261e; color: #8c1d18; background: #fdf3f2; }

/* ---------- Prose pages ---------- */
.dc-container > .dc-prose { padding: 0; }
.dc-prose > * { margin-block: 0 !important; }
.dc-prose > * + * { margin-top: 1.15em !important; }
.dc-prose h1 { font-size: clamp(2.5rem, 1.6rem + 3vw, 4.25rem); }
.dc-prose h2 { font-size: clamp(1.5rem, 1.25rem + .8vw, 2rem); margin-top: 1.9em !important; }
.dc-prose p, .dc-prose li { color: var(--dc-text-muted); line-height: 1.75; }
.dc-prose ul { padding-left: 1.2em; }
.dc-prose li + li { margin-top: .4em; }
.dc-prose__meta { font-size: .75rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--dc-accent) !important; }

/* reCAPTCHA badge: hidden, with the required notice shown next to the form instead */
.grecaptcha-badge { visibility: hidden !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1360px) {
	.dc-header__phone { display: none; }
}
@media (max-width: 1180px) {
	.dc-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dc-metals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dc-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dc-industries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dc-industries > :last-child { grid-column: 1 / -1; min-height: 0; }
	.dc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 0; gap: 36px 0; }
	.dc-stat { border-right: 0; border-left: 1px solid var(--dc-line); }
}
@media (max-width: 900px) {
	.dc-section-head.is-split, .dc-split, .dc-split.is-faq, .dc-quote-strip__inner { grid-template-columns: minmax(0, 1fr); }
	.dc-split__media::after { left: -10px; bottom: -10px; }
	.dc-hero .wp-block-cover__background {
		background:
			linear-gradient(180deg, rgba(14, 13, 11, .55) 0%, rgba(14, 13, 11, .78) 45%, rgba(14, 13, 11, .97) 100%) !important;
	}
}
@media (max-width: 782px) {
	:root { --dc-header-h: 72px; }
	.dc-header__inner, .dc-header.is-scrolled .dc-header__inner { padding-block: 14px; gap: 12px; }
	.dc-header__actions { display: none !important; }
	.dc-brand .wp-block-site-logo img { height: 38px; }
	.dc-brand__word { font-size: .75rem; letter-spacing: .26em; }
	.dc-cards, .dc-metals, .dc-steps, .dc-industries { grid-template-columns: minmax(0, 1fr); }
	.dc-industry__num { padding-bottom: 28px; }
	.dc-alloys { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
	.dc-alloys li { font-size: .6875rem; letter-spacing: .14em; }
	.dc-alloys li::before { width: 20px; height: 20px; }
	.dc-hero .wp-block-buttons .wp-block-button,
	.dc-quote-strip .wp-block-buttons .wp-block-button { flex: 1 1 100%; }
	.dc-hero .wp-block-buttons .wp-block-button__link,
	.dc-quote-strip .wp-block-buttons .wp-block-button__link { width: 100%; box-sizing: border-box; }
	.dc-footer__cols { flex-wrap: wrap !important; }
	.dc-footer__cols > .wp-block-column:nth-child(2),
	.dc-footer__cols > .wp-block-column:nth-child(3) { flex: 1 1 calc(50% - 16px) !important; }
	.dc-footer__cols > .wp-block-column:last-child { flex-basis: 100% !important; }
	.dc-footer__bottom { flex-direction: column; align-items: flex-start !important; }
}
@media (max-width: 480px) {
	.dc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 0; }
	.dc-stat { padding: 4px 12px 4px 16px; }
	.dc-stat__label { font-size: .6875rem; letter-spacing: .12em; }
	.dc-eyebrow { font-size: .75rem; letter-spacing: .18em; gap: 12px; }
	.dc-eyebrow::before { flex-basis: 32px; }
	.dc-alloys li:nth-child(n+7) { display: none; }
}

/* ---------- Responsive: inner page components ---------- */
@media (max-width: 1180px) {
	.dc-steps.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dc-industries.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dc-industries.is-4 > :last-child { grid-column: auto; }
	.dc-tones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.dc-steps.is-3 { grid-template-columns: minmax(0, 1fr); }
	.dc-split.is-reverse > .dc-split__media { order: 0; }
	.dc-split.is-reverse .dc-split__media::after { right: -10px; }
	.dc-contact { grid-template-columns: minmax(0, 1fr); }
	.dc-map { aspect-ratio: 4 / 3; }
}
@media (max-width: 782px) {
	.dc-industries.is-4 { grid-template-columns: minmax(0, 1fr); }
	.dc-hero.is-page-hero.wp-block-cover,
	.dc-hero.is-page-hero .wp-block-cover__inner-container { min-height: 62vh; min-height: 62svh; }
}
@media (max-width: 600px) {
	.dc-form__row { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
	.dc-tones { grid-template-columns: minmax(0, 1fr); }
}
