/* stylelint-disable no-descending-specificity --
 * Page pattern utilities intentionally compose typography across sections.
 */
.l-container {
	width: min(100% - 2rem, var(--andromeda-content-width));
	margin-inline: auto;
}

.l-wide {
	width: min(100% - 2rem, var(--andromeda-wide-width));
	margin-inline: auto;
}

.l-stack {
	display: flex;
	flex-direction: column;
	gap: var(--andromeda-space-l);
}

.l-cluster {
	display: flex;
	flex-wrap: wrap;
	gap: var(--andromeda-space-m);
	align-items: center;
}

.dd-site {
	background: var(--andromeda-color-canvas);
}

.dd-pattern-section {
	padding-block: 4rem;
}

.dd-pattern-surface {
	background: var(--andromeda-color-surface);
	border: 0.0625rem solid var(--andromeda-color-border);
	border-radius: 0.75rem;
	box-shadow: var(--andromeda-shadow-soft);
}

.dd-pattern-stack {
	display: grid;
	gap: 1.5rem;
}

.dd-pattern-intro {
	display: grid;
	gap: 1rem;
	max-width: 44rem;
}

.dd-pattern-intro p:last-child,
.dd-pattern-copy {
	color: var(--andromeda-color-text-soft);
	font-size: 1.075rem;
	line-height: 1.7;
}

.dd-pattern-grid {
	display: grid;
	gap: 1rem;
}

.dd-pattern-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dd-pattern-grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dd-pattern-card {
	display: grid;
	gap: 0.9rem;
	align-content: start;
	height: 100%;
	padding: 1.35rem;
	background: var(--andromeda-color-surface);
	border: 0.0625rem solid var(--andromeda-color-border);
	border-radius: 0.6rem;
	box-shadow: var(--andromeda-shadow-soft);
}

.dd-pattern-card h3 {
	font-size: 1.25rem;
}

.dd-pattern-list {
	display: grid;
	gap: 0.75rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.dd-pattern-list li {
	padding-inline-start: 1rem;
	border-inline-start: 0.2rem solid var(--andromeda-color-brand);
}

.dd-pattern-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	color: var(--andromeda-color-inverse);
	background: var(--andromeda-color-brand);
	border-radius: 0.5rem;
	font-size: 0.85rem;
	font-weight: 900;
}

.dd-pattern-kpis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.dd-pattern-kpis > div {
	display: grid;
	gap: 0.25rem;
	padding: 1rem;
	text-align: center;
	background: color-mix(in sRGB, var(--andromeda-color-canvas) 70%, var(--andromeda-color-surface));
	border: 0.0625rem solid var(--andromeda-color-border);
	border-radius: 0.6rem;
}

.dd-pattern-kpis strong {
	color: var(--andromeda-color-brand-strong);
	font-family: var(--andromeda-font-display, "Roboto"), system-ui, sans-serif;
	font-size: 2rem;
	line-height: 1;
}

.dd-pattern-cta {
	display: grid;
	gap: 1rem;
	padding: 1.5rem;
	color: var(--andromeda-color-inverse);
	background: linear-gradient(135deg, var(--andromeda-color-brand-strong), var(--andromeda-color-brand));
	border-radius: 0.75rem;
	box-shadow: var(--andromeda-shadow-soft);
}

.dd-pattern-cta p,
.dd-pattern-cta h2,
.dd-pattern-cta h3 {
	color: inherit;
}

.dd-pattern-contact {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(18rem, 1fr);
	gap: 1.5rem;
}

.dd-pattern-contact__panel {
	padding: 1.5rem;
	background: var(--andromeda-color-surface);
	border: 0.0625rem solid var(--andromeda-color-border);
	border-radius: 0.75rem;
	box-shadow: var(--andromeda-shadow-soft);
}

.dd-service-blueprint {
	display: grid;
	gap: 2rem;
	padding-block: 4rem;
}

.dd-service-blueprint__intro,
.dd-service-blueprint__process-intro {
	display: grid;
	gap: 1rem;
	text-align: center;
}

.dd-service-blueprint__title {
	max-width: 14ch;
	margin-inline: auto;
}

.dd-service-blueprint__lead {
	max-width: 46rem;
	margin-inline: auto;
	color: var(--andromeda-color-text-soft);
	font-size: 1.1rem;
	line-height: 1.7;
}

.dd-service-blueprint__actions,
.dd-service-blueprint__cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.dd-service-blueprint__actions {
	justify-content: center;
}

.dd-service-blueprint__grid,
.dd-service-blueprint__steps,
.dd-service-blueprint__offer {
	width: 100%;
}

.wp-block-flavor-container.dd-service-card,
.wp-block-flavor-container.dd-service-step,
.wp-block-flavor-container.dd-service-blueprint__panel {
	height: 100%;
	border: 0.0625rem solid var(--andromeda-color-border);
	box-shadow: var(--andromeda-shadow-soft);
}

.dd-service-card__badge,
.dd-service-step__number,
.dd-service-blueprint__cta-eyebrow {
	width: max-content;
	margin: 0;
	padding: 0.35rem 0.65rem;
	color: var(--andromeda-color-inverse);
	background: var(--andromeda-color-brand);
	border-radius: 0.45rem;
	font-size: 0.875rem;
	font-weight: 800;
	line-height: 1.1;
}

.wp-block-flavor-text.dd-service-card__badge,
.wp-block-flavor-text.dd-service-step__number,
.wp-block-flavor-text.dd-service-blueprint__cta-eyebrow {
	color: var(--andromeda-color-inverse);
}

.dd-service-blueprint__list {
	display: grid;
	gap: 0.85rem;
	padding-left: 1.2rem;
	margin: 0;
}

.dd-service-blueprint__list li {
	color: var(--andromeda-color-text-soft);
	line-height: 1.65;
}

.wp-block-flavor-container.dd-service-step {
	background: color-mix(in sRGB, var(--andromeda-color-surface) 90%, var(--andromeda-color-canvas));
}

.wp-block-flavor-container.dd-service-blueprint__cta {
	gap: 1rem;
	border-radius: 0.75rem;
	box-shadow: var(--andromeda-shadow-soft);
}

.wp-block-flavor-container.dd-service-blueprint__cta .flavor-heading,
.wp-block-flavor-container.dd-service-blueprint__cta .flavor-text {
	color: inherit;
}

.dd-pattern-columns {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: 1.5rem;
	align-items: start;
}

.dd-shell {
	width: min(100% - 2rem, var(--andromeda-wide-width));
	margin-inline: auto;
}

.dd-section {
	padding-block: 5rem;
}

.dd-section--surface {
	background: var(--andromeda-color-surface);
}

.dd-section--ink {
	color: var(--andromeda-color-inverse);
	background: var(--andromeda-color-text);
}

.dd-stack {
	display: grid;
	gap: 2.5rem;
}

.dd-hero {
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
	min-height: 44rem;
	padding-block: 4rem;
	background: var(--andromeda-color-canvas);
}

.dd-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.92fr);
	gap: 2.5rem;
	align-items: center;
}

.dd-hero__content {
	display: grid;
	gap: 1.5rem;
	max-width: 36rem;
}

.dd-eyebrow {
	width: max-content;
	max-width: 100%;
	padding: 0.35rem 0.65rem;
	color: var(--andromeda-color-brand-strong);
	background: color-mix(in sRGB, var(--andromeda-color-brand) 12%, var(--andromeda-color-surface));
	border: 0.0625rem solid color-mix(in sRGB, var(--andromeda-color-brand) 24%, transparent);
	border-radius: 0.5rem;
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: uppercase;
}

.dd-section--ink .dd-eyebrow {
	color: var(--andromeda-color-inverse);
	background: rgb(255 255 255 / 12%);
	border-color: rgb(255 255 255 / 22%);
}

.site-titlebar {
	padding-block: 2.5rem 1.5rem;
}

.site-titlebar--enhanced {
	padding-block: 3.5rem 2rem;
	background:
		linear-gradient(180deg, color-mix(in sRGB, var(--andromeda-color-brand) 8%, transparent), transparent 70%),
		var(--andromeda-color-canvas);
	border-bottom: 0.0625rem solid color-mix(in sRGB, var(--andromeda-color-border) 75%, transparent);
}

.site-titlebar__inner {
	display: grid;
	gap: 1rem;
}

.site-titlebar__breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0;
	margin: 0;
	list-style: none;
	color: var(--andromeda-color-text-soft);
	font-size: 0.95em;
}

.site-titlebar__breadcrumbs li {
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
}

.site-titlebar__breadcrumbs li + li::before {
	content: "/";
	color: color-mix(in sRGB, var(--andromeda-color-text-soft) 55%, transparent);
}

.site-titlebar__breadcrumbs a {
	color: inherit;
	text-decoration-color: color-mix(in sRGB, var(--andromeda-color-text-soft) 45%, transparent);
}

.site-titlebar__title {
	max-width: 14ch;
	font-size: var(--andromeda-titlebar-title-size);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.site-titlebar__description {
	max-width: 46rem;
	color: var(--andromeda-color-text-soft);
	font-size: var(--andromeda-titlebar-description-size);
	line-height: 1.65;
}

.site-titlebar--minimal .site-titlebar__inner {
	gap: 0.75rem;
}

.dd-content-shell {
	width: 100%;
	padding-block: 2rem 3rem;
}

.dd-content-shell--full-width > * {
	width: min(100% - 2rem, var(--andromeda-wide-width));
	margin-inline: auto;
}

.dd-content-shell--full-width > .alignfull,
.dd-content-shell--full-width > .wp-block-cover.alignfull {
	width: 100%;
	margin-inline: 0;
}

.dd-content-shell__inner {
	display: grid;
	gap: 1.5rem;
}

.dd-hero h1,
.dd-section-heading h2 {
	max-width: 12ch;
	font-family: var(--andromeda-font-display, "Roboto"), system-ui, sans-serif;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
}

.dd-hero h1 {
	font-size: 3.4rem;
}

.dd-section-heading h2 {
	font-size: 2.4rem;
}

.dd-lead,
.dd-section-heading p {
	max-width: 42rem;
	color: var(--andromeda-color-text-soft);
	font-size: 1.15rem;
	line-height: 1.65;
}

.dd-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.dd-button {
	display: inline-flex;
	gap: 0.6rem;
	align-items: center;
	justify-content: center;
	min-height: 2.9rem;
	padding: 0.78rem 1rem;
	border: 0.0625rem solid transparent;
	border-radius: 0.5rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.dd-button--primary {
	color: var(--andromeda-color-inverse);
	background: var(--andromeda-color-brand);
	border-color: var(--andromeda-color-brand-strong);
}

.dd-button--secondary {
	color: var(--andromeda-color-brand-strong);
	background: var(--andromeda-color-surface);
	border-color: var(--andromeda-color-border);
}

.dd-button:hover,
.dd-button:focus-visible {
	transform: translateY(-0.0625rem);
}

.dd-trust-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.dd-trust-list li {
	padding: 0.4rem 0.65rem;
	color: var(--andromeda-color-text);
	background: rgb(255 255 255 / 70%);
	border: 0.0625rem solid var(--andromeda-color-border);
	border-radius: 0.5rem;
	font-weight: 700;
}

.dd-hero__visual {
	position: relative;
	width: min(100%, 31rem);
	min-width: 0;
	margin-inline-start: auto;
}

.dd-dashboard {
	overflow: hidden;
	background: var(--andromeda-color-surface);
	border: 0.0625rem solid color-mix(in sRGB, var(--andromeda-color-brand) 28%, var(--andromeda-color-border));
	border-radius: 0.5rem;
	box-shadow: 0 1.25rem 3rem rgb(20 33 61 / 14%);
}

.dd-dashboard__header {
	display: flex;
	gap: 0.45rem;
	padding: 1rem;
	background: var(--andromeda-color-text);
}

.dd-dashboard__header span {
	width: 0.65rem;
	height: 0.65rem;
	background: var(--andromeda-color-inverse);
	border-radius: 50%;
	opacity: 0.7;
}

.dd-dashboard__body {
	display: grid;
	gap: 1.5rem;
	padding: 1.35rem;
}

.dd-dashboard__metric {
	display: grid;
	gap: 0.35rem;
	padding: 1.2rem;
	color: var(--andromeda-color-inverse);
	background: var(--andromeda-color-brand-strong);
	border-radius: 0.5rem;
}

.dd-dashboard__metric strong {
	font-family: var(--andromeda-font-display, "Roboto"), system-ui, sans-serif;
	font-size: 3rem;
	line-height: 1;
}

.dd-dashboard__chart {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.65rem;
	align-items: end;
	height: 11rem;
	padding: 1rem;
	background: color-mix(in sRGB, var(--andromeda-color-canvas) 70%, var(--andromeda-color-surface));
	border: 0.0625rem solid var(--andromeda-color-border);
	border-radius: 0.5rem;
}

.dd-dashboard__chart span {
	display: block;
	--bar-size: 50%;
	height: var(--bar-size, 50%);
	background: var(--andromeda-color-accent);
	border-radius: 0.45rem 0.45rem 0.15rem 0.15rem;
}

.dd-dashboard__steps {
	display: grid;
	gap: 0.5rem;
}

.dd-dashboard__steps span {
	padding: 0.7rem;
	background: var(--andromeda-color-canvas);
	border-inline-start: 0.3rem solid var(--andromeda-color-brand);
	border-radius: 0.35rem;
	font-weight: 700;
}

.dd-section-heading {
	display: grid;
	gap: 1rem;
	justify-items: center;
	text-align: center;
}

.dd-section-heading--left {
	justify-items: start;
	text-align: left;
}

.dd-section-heading--left h2 {
	max-width: 14ch;
}

.dd-card-grid {
	display: grid;
	gap: 1rem;
	align-items: stretch;
}

.dd-card-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dd-card-grid > * {
	height: 100%;
	margin: 0;
	align-self: stretch;
}

.dd-card {
	display: grid;
	gap: 0.8rem;
	align-content: start;
	height: 100%;
	padding: 1.25rem;
	background: var(--andromeda-color-canvas);
	border: 0.0625rem solid var(--andromeda-color-border);
	border-radius: 0.5rem;
	box-shadow: var(--andromeda-shadow-soft);
}

.dd-card h3,
.dd-timeline h3 {
	font-size: 1.25rem;
	line-height: 1.2;
}

.dd-card p,
.dd-proof-panel,
.dd-contact__email {
	color: var(--andromeda-color-text-soft);
}

.dd-card .dd-icon,
.dd-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	color: var(--andromeda-color-inverse);
	background: var(--andromeda-color-brand);
	border-radius: 0.5rem;
	font-size: 0.85rem;
	font-weight: 900;
	line-height: 1;
}

.dd-split,
.dd-contact,
.dd-results {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 1fr);
	gap: 2rem;
	align-items: start;
}

.dd-proof-panel,
.dd-form,
.dd-metrics {
	padding: 1.5rem;
	background: var(--andromeda-color-surface);
	border: 0.0625rem solid var(--andromeda-color-border);
	border-radius: 0.5rem;
	box-shadow: var(--andromeda-shadow-soft);
}

.dd-check-list {
	display: grid;
	gap: 1rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.dd-check-list li {
	padding-inline-start: 1rem;
	border-inline-start: 0.25rem solid var(--andromeda-color-accent);
}

.dd-timeline {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	align-items: stretch;
}

.dd-timeline > * {
	display: grid;
	gap: 0.75rem;
	align-content: start;
	height: 100%;
	padding: 1.2rem;
	margin: 0;
	color: var(--andromeda-color-inverse);
	background: rgb(255 255 255 / 8%);
	border: 0.0625rem solid rgb(255 255 255 / 18%);
	border-radius: 0.5rem;
	align-self: stretch;
}

.dd-timeline > * > * {
	margin: 0;
}

.dd-timeline > * strong {
	color: inherit;
}

.dd-timeline p {
	color: color-mix(in sRGB, var(--andromeda-color-inverse) 82%, transparent);
}

.dd-timeline span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	color: var(--andromeda-color-text);
	background: var(--andromeda-color-inverse);
	border-radius: 50%;
	font-weight: 900;
}

.dd-results {
	align-items: center;
}

.dd-metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	text-align: center;
	align-items: stretch;
}

.dd-metrics > * {
	display: grid;
	gap: 0.25rem;
	height: 100%;
	padding: 1.2rem;
	margin: 0;
	background: var(--andromeda-color-canvas);
	border-radius: 0.5rem;
	align-self: stretch;
}

.dd-metrics strong {
	color: var(--andromeda-color-brand-strong);
	font-family: var(--andromeda-font-display, "Roboto"), system-ui, sans-serif;
	font-size: 2rem;
	line-height: 1;
}

.dd-form {
	display: grid;
	gap: 1rem;
}

.dd-form div {
	display: grid;
	gap: 0.35rem;
}

.dd-form label {
	font-weight: 800;
}

.dd-form input,
.dd-form textarea {
	width: 100%;
	padding: 0.8rem;
	color: var(--andromeda-color-text);
	background: var(--andromeda-color-surface);
	border: 0.0625rem solid var(--andromeda-color-border);
	border-radius: 0.5rem;
}

.dd-form textarea {
	resize: vertical;
}

.dd-form .dd-button {
	width: 100%;
}

.dd-footer {
	padding-block: 2.5rem;
	color: var(--andromeda-color-inverse);
	background: var(--andromeda-color-text);
}

.dd-footer .dd-shell:first-child {
	margin-block-end: 1.5rem;
}

.dd-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(10rem, 0.6fr) minmax(14rem, 0.8fr);
	gap: 2rem;
	align-items: start;
}

.dd-footer p,
.dd-footer span {
	color: color-mix(in sRGB, var(--andromeda-color-inverse) 78%, transparent);
}

.dd-section--ink .dd-section-heading p {
	color: color-mix(in sRGB, var(--andromeda-color-inverse) 82%, transparent);
}

.dd-dashboard__chart span:nth-child(even) {
	background: var(--andromeda-color-brand);
}

.dd-footer a {
	color: var(--andromeda-color-inverse);
}

.dd-footer__brand {
	display: inline-flex;
	margin-block-end: 0.6rem;
	font-size: 1.2rem;
	font-weight: 900;
	text-decoration: none;
}

.dd-footer__meta-title {
	color: var(--andromeda-color-inverse);
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.dd-footer__menu-list {
	display: grid;
	gap: 0.55rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.dd-footer__brand-area,
.dd-footer__nav,
.dd-footer__contact {
	display: grid;
	gap: 0.55rem;
}

.dd-footer__contact-group,
.dd-footer__social,
.dd-footer__legal {
	display: grid;
	gap: 0.6rem;
}

.dd-footer__contact-list,
.dd-footer__social-list,
.dd-footer__legal-list {
	display: grid;
	gap: 0.5rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.dd-footer__contact-list li {
	display: grid;
	gap: 0.15rem;
}

.dd-footer__contact-label {
	font-size: 0.85rem;
	font-weight: 700;
}

.dd-footer__contact-value a,
.dd-footer__social-list a,
.dd-footer__legal-list a {
	text-decoration-thickness: 0.08em;
}

.dd-footer__copyright {
	margin-block-start: 0.35rem;
	font-size: 0.95rem;
}

.dd-footer__trust-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.dd-footer__trust-list li {
	padding: 0.45rem 0.7rem;
	color: var(--andromeda-color-inverse);
	background: rgb(255 255 255 / 8%);
	border: 0.0625rem solid rgb(255 255 255 / 16%);
	border-radius: 999px;
	font-size: 0.9rem;
	font-weight: 700;
}

.is-style-racing-label,
.dd-racing-meta,
.dd-racing-table th {
	font-family: var(--andromeda-font-display), "Arial Narrow", system-ui, sans-serif;
	font-weight: 900;
	text-transform: uppercase;
}

.is-style-racing-primary .wp-block-button__link,
.wp-block-button.is-style-racing-primary > .wp-block-button__link {
	color: var(--andromeda-color-text);
	background: var(--andromeda-color-brand);
	border-color: var(--andromeda-color-brand);
	border-radius: 0;
	box-shadow: 0.45rem 0.45rem 0 #320010;
}

.is-style-racing-outline .wp-block-button__link,
.wp-block-button.is-style-racing-outline > .wp-block-button__link {
	color: var(--andromeda-color-text);
	background: transparent;
	border-color: var(--andromeda-color-text);
	border-radius: 0;
}

.is-style-racing-primary .wp-block-button__link,
.is-style-racing-outline .wp-block-button__link {
	font-family: var(--andromeda-font-display), "Arial Narrow", system-ui, sans-serif;
	font-size: 0.86rem;
	font-weight: 900;
	text-transform: uppercase;
}

.is-style-racing-hero,
.is-style-racing-hero-boxed,
.is-style-racing-hero-full,
.is-style-racing-section,
.dd-racing-hero,
.dd-racing-section {
	color: var(--andromeda-color-text);
	background:
		linear-gradient(90deg, rgb(15 15 16 / 94%) 0%, rgb(15 15 16 / 70%) 48%, rgb(15 15 16 / 36%) 100%),
		linear-gradient(135deg, #151515 0%, #1f1f22 50%, #0f0f10 100%);
}

.is-style-racing-hero,
.is-style-racing-hero-boxed,
.is-style-racing-hero-full,
.dd-racing-hero {
	position: relative;
	overflow: hidden;
	min-height: clamp(32rem, 70vh, 46rem);
	padding-block: clamp(5rem, 9vw, 9rem);
	border-bottom: 0.0625rem solid var(--andromeda-color-border);
}

.is-style-racing-hero-full {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	border-radius: 0;
}

.is-style-racing-hero-boxed {
	width: min(100% - 2rem, var(--andromeda-wide-width));
	max-width: var(--andromeda-wide-width);
	margin-block: 1rem;
	margin-inline: auto;
	border: 0.0625rem solid var(--andromeda-color-border);
	border-radius: 0.35rem;
	box-shadow: 0 1.25rem 3rem rgb(0 0 0 / 28%);
}

.is-style-racing-hero::before,
.is-style-racing-hero-boxed::before,
.is-style-racing-hero-full::before,
.dd-racing-hero::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		repeating-linear-gradient(170deg, rgb(255 255 255 / 6%) 0 0.125rem, transparent 0.125rem 1.7rem),
		linear-gradient(180deg, transparent, rgb(0 0 0 / 50%));
	content: "";
}

.is-style-racing-hero > *,
.is-style-racing-hero-boxed > *,
.is-style-racing-hero-full > *,
.dd-racing-hero > * {
	position: relative;
	z-index: 1;
}

.is-style-racing-display,
.dd-racing-title {
	max-width: 12ch;
	font-family: var(--andromeda-font-display), "Arial Narrow", system-ui, sans-serif;
	font-size: clamp(2.5rem, 6vw, 5.8rem);
	font-weight: 900;
	line-height: 0.98;
	text-transform: uppercase;
}

.is-style-racing-label,
.dd-racing-label {
	display: inline-flex;
	width: max-content;
	max-width: 100%;
	padding: 0.4rem 0.75rem;
	color: var(--andromeda-color-text);
	background: var(--andromeda-color-brand);
	border-inline-end: 0.35rem solid var(--andromeda-color-brand-strong);
	font-size: 0.8rem;
	line-height: 1.1;
}

.dd-racing-section,
.is-style-racing-section {
	padding-block: clamp(3.5rem, 7vw, 6rem);
}

.dd-racing-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.is-style-racing-card,
.is-style-racing-feature,
.dd-racing-card,
.dd-racing-feature {
	display: grid;
	gap: 0.85rem;
	align-content: start;
	height: 100%;
	color: var(--andromeda-color-text);
	background: var(--andromeda-color-surface);
	border: 0.0625rem solid var(--andromeda-color-border);
	border-radius: 0;
	box-shadow: none;
}

.is-style-racing-card,
.dd-racing-card {
	padding: 1rem;
}

.dd-racing-card figure,
.dd-racing-card .wp-block-image,
.dd-racing-card img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.dd-racing-card h3 {
	font-size: 1.5rem;
	text-transform: uppercase;
}

.dd-racing-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.8rem;
	color: var(--andromeda-color-brand-strong);
	font-size: 0.8rem;
}

.dd-racing-table table,
.is-style-racing-standings table {
	width: 100%;
	color: var(--andromeda-color-text);
	border-collapse: collapse;
	background: #050505;
}

.dd-racing-table th,
.dd-racing-table td,
.is-style-racing-standings th,
.is-style-racing-standings td {
	padding: 0.85rem 1rem;
	border: 0;
	border-bottom: 0.0625rem solid var(--andromeda-color-border);
	text-align: left;
}

.dd-racing-table th,
.is-style-racing-standings th {
	color: #c8dcf0;
	background: #2c5074;
	font-size: 0.8rem;
}

.dd-racing-table td:first-child,
.is-style-racing-standings td:first-child {
	color: var(--andromeda-color-text);
	font-size: 1.25rem;
	font-weight: 900;
}

.dd-racing-table tr:nth-child(even) td,
.is-style-racing-standings tr:nth-child(even) td {
	background: #131315;
}

.dd-racing-feature,
.is-style-racing-feature {
	display: grid;
	grid-template-columns: minmax(16rem, 0.8fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: center;
	padding: clamp(1rem, 3vw, 2rem);
}

.dd-racing-feature img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	filter: grayscale(1) contrast(1.1);
}

@media (max-width: 64rem) {

	.dd-pattern-grid--three,
	.dd-pattern-grid--two,
	.dd-pattern-columns,
	.dd-pattern-contact,
	.dd-service-blueprint__actions,
	.dd-service-blueprint__cta-actions,
	.dd-hero__grid,
	.dd-split,
	.dd-contact,
	.dd-results,
	.dd-footer__grid {
		grid-template-columns: 1fr;
	}

	.dd-hero__visual {
		width: 100%;
		margin-block-start: 2rem;
		margin-inline-start: 0;
	}

	.dd-dashboard {
		top: auto;
	}

	.dd-card-grid--three,
	.dd-timeline,
	.dd-racing-grid,
	.dd-racing-feature,
	.is-style-racing-feature {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dd-racing-feature,
	.is-style-racing-feature {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 42rem) {

	.dd-section {
		padding-block: 3.5rem;
	}

	.dd-hero {
		min-height: 0;
		padding-block: 3rem;
	}

	.dd-hero h1 {
		font-size: 2.4rem;
	}

	.dd-section-heading h2 {
		font-size: 2rem;
	}

	.dd-pattern-kpis,
	.dd-card-grid--three,
	.dd-timeline,
	.dd-metrics,
	.dd-racing-grid {
		grid-template-columns: 1fr;
	}

	.dd-service-blueprint {
		padding-block: 3rem;
	}

	.dd-service-blueprint__title {
		max-width: 11ch;
	}

	.dd-actions,
	.dd-button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {

	.dd-button:hover,
	.dd-button:focus-visible {
		transform: none;
	}
}

/* Promocopa card system: equal-height cards with bottom-aligned CTAs. */
.wp-block-columns.alignwide {
	align-items: stretch;
}

.wp-block-columns.alignwide > .wp-block-column {
	display: flex;
	min-width: 0;
}

.wp-block-columns.alignwide > .wp-block-column > .wp-block-group[style*="border-width:1px"] {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-width: 0;
}

.wp-block-columns.alignwide > .wp-block-column > .wp-block-group[style*="border-width:1px"] > .wp-block-image:first-child,
.wp-block-columns.alignwide > .wp-block-column > .wp-block-group[style*="border-width:1px"] > .wp-block-image:first-child img {
	display: block;
	width: 100%;
}

.wp-block-columns.alignwide > .wp-block-column > .wp-block-group[style*="border-width:1px"] > .wp-block-image:first-child {
	margin: 0 0 1.25rem;
}

.wp-block-columns.alignwide > .wp-block-column > .wp-block-group[style*="border-width:1px"] > .wp-block-image:first-child img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.wp-block-columns.alignwide > .wp-block-column > .wp-block-group[style*="border-width:1px"] > .wp-block-heading {
	margin-block-start: 0;
}

.wp-block-columns.alignwide > .wp-block-column > .wp-block-group[style*="border-width:1px"] > p {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.wp-block-columns.alignwide > .wp-block-column > .wp-block-group[style*="border-width:1px"] > .wp-block-buttons {
	margin-block-start: auto;
	padding-block-start: 1rem;
}

.wp-block-columns.alignwide > .wp-block-column > .wp-block-group[style*="border-width:1px"] .wp-block-button__link {
	white-space: normal;
	text-align: center;
}

@media (max-width: 48rem) {

	.wp-block-columns.alignwide > .wp-block-column {
		display: block;
	}

	.wp-block-columns.alignwide > .wp-block-column > .wp-block-group[style*="border-width:1px"] > p {
		-webkit-line-clamp: none;
	}
}

/* Promocopa event cards used inside championship calendar sections. */
.promocopa-event-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.75rem;
	margin-block: 1.5rem 0;
}

.promocopa-event-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: var(--andromeda-color-surface, #fff);
	border: 1px solid var(--andromeda-color-border, #bcccdc);
	border-radius: 0.65rem;
}

.promocopa-event-card__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: #d9e2ec;
}

.promocopa-event-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.promocopa-event-card__status {
	position: absolute;
	inset-block-start: 1rem;
	inset-inline-start: 1rem;
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
	padding-inline: 0.85rem;
	color: #fff;
	background: #000854;
	border-radius: 999px;
	font-size: 0.875rem;
	font-weight: 800;
	line-height: 1;
	z-index: 1;
}

.promocopa-event-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0.8rem;
	padding: 1.15rem;
}

.promocopa-event-card__title {
	margin: 0;
	color: #000854;
	font-size: clamp(1.2rem, 1.9vw, 1.55rem);
	line-height: 1.08;
}

.promocopa-event-card__meta {
	display: grid;
	gap: 0.35rem;
	margin-block-start: 0.15rem;
	color: var(--andromeda-color-text-soft, #334e68);
	font-weight: 700;
}

.promocopa-event-card__meta-row {
	display: flex;
	gap: 0.45rem;
	align-items: baseline;
}

.promocopa-event-card__meta-label {
	color: #000854;
	font-weight: 900;
}

.promocopa-event-card__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 2.75rem;
	margin-block-start: auto;
	padding: 0.78rem 1.25rem;
	color: #fff;
	background: #ef2d2f;
	border-radius: 0.5rem;
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.promocopa-event-card__action:hover,
.promocopa-event-card__action:focus-visible {
	color: #fff;
	background: #c81f25;
	text-decoration: none;
}

@media (max-width: 64rem) {

	.promocopa-event-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 42rem) {

	.promocopa-event-grid {
		grid-template-columns: 1fr;
	}
}
