/* Accueil Gutenberg. Chaque règle reste limitée à la composition Direct Habitat 66. */

.dh66-home-editor,
.dh66-carousel-block {
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --max-width: 1240px;
  --dh66-liquid-border: rgb(255 255 255 / .34);
  --dh66-liquid-edge: rgb(255 255 255 / .54);
  --dh66-liquid-dark: rgb(4 24 42 / .52);
  --dh66-liquid-light: rgb(247 250 252 / .68);
  --dh66-liquid-shadow: 0 24px 64px rgb(0 15 36 / .22);
}

.dh66-home-editor {
  width: 100%;
  max-width: none;
  margin: 0;
  overflow: clip;
}

.dh66-home-editor:not(.has-background) {
  background-color: var(--dh66-gray-100, #f5f5f5);
}

.dh66-home-editor:not(.has-text-color) {
  color: var(--dh-text, #334f5e);
}

.dh66-home-editor *,
.dh66-home-editor *::before,
.dh66-home-editor *::after,
.dh66-carousel-block *,
.dh66-carousel-block *::before,
.dh66-carousel-block *::after {
  box-sizing: border-box;
}

.dh66-home-editor :focus-visible,
.dh66-carousel-block :focus-visible {
  outline: 3px solid var(--dh66-orange-500, #ff7300);
  outline-offset: 4px;
}

.entry-content > .dh66-home-editor.alignfull {
  width: 100vw;
  max-width: none;
  margin-inline: calc(50% - 50vw);
}

.dh66-home-editor :where(.alignwide) {
  width: min(var(--max-width, 1240px), calc(100% - 56px));
  max-width: none;
  margin-inline: auto;
}

.dh66-home-editor .dh-home-hero {
  min-height: min(720px, calc(100dvh - 72px));
  margin: 0;
}

/*
 * Le visuel choisi dans le bloc Bannière reste administrable dans Gutenberg.
 * JavaScript transmet son URL à ce calque fixe afin que la page défile devant.
 */
.dh66-home-editor.has-fixed-hero-background {
  position: relative;
  isolation: isolate;
  background-color: transparent;
  background-image: none;
  background-attachment: scroll;
}

.dh66-home-editor.has-fixed-hero-background::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  content: "";
  pointer-events: none;
  background-color: #071b29;
  background-image:
    linear-gradient(rgb(4 18 29 / .18), rgb(4 18 29 / .3)),
    var(--dhh-background-image);
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
}

.dh66-home-editor.has-fixed-hero-background > * {
  position: relative;
  z-index: 1;
}

.dh66-home-editor.has-fixed-hero-background .dh-home-hero .wp-block-cover__image-background {
  opacity: 0;
}

.dh66-home-editor .dh-home-hero__content {
  padding-block: clamp(64px, 9vw, 112px);
}

.dh66-home-editor .dh-home-hero__eyebrow {
  max-width: 720px;
  margin: 0 0 14px;
  color: var(--dh66-green-500, #4caf00);
  font-size: clamp(12px, .9vw, 14px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dh66-home-editor .dh-home-hero__title {
  max-width: 760px;
  margin: 0;
  font-size: clamp(42px, 4.1vw, 64px);
  line-height: 1.06;
  letter-spacing: -.025em;
  hyphens: none;
  overflow-wrap: normal;
  text-wrap: balance;
}

.dh66-home-editor .dh-home-hero__title:not(.has-text-color) {
  color: #f7fafc;
}

.dh66-home-editor .dh-home-hero__lead {
  max-width: 620px;
  margin: 22px 0 0;
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.55;
}

.dh66-home-editor .dh-home-hero__lead:not(.has-text-color) {
  color: #f7fafc;
}

.dh66-home-editor .dh-home-hero__promise {
  max-width: 620px;
  margin: clamp(32px, 5vw, 52px) 0 0;
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.dh66-home-editor .dh-home-hero__promise:not(.has-text-color) {
  color: color-mix(in srgb, var(--dh66-green-500, #4caf00) 72%, white);
}

.dh66-home-editor .dh-home-hero__text {
  max-width: 600px;
  margin: 14px 0 0;
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 1.65;
}

.dh66-home-editor .dh-home-hero__text:not(.has-text-color) {
  color: rgb(247 250 252 / .88);
}

.dh66-home-editor .dh-home-actions {
  margin-top: 30px;
}

.dh66-home-editor .dh-home-button-primary .wp-block-button__link {
  min-height: 48px;
  padding: 15px 22px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-weight: 800;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 220ms cubic-bezier(.16, 1, .3, 1), filter 220ms ease;
}

.dh66-home-editor .dh-home-button-primary .wp-block-button__link:not(.has-background) {
  background: var(--dh66-orange-500, #ff7300);
}

.dh66-home-editor .dh-home-button-primary .wp-block-button__link:not(.has-text-color) {
  color: var(--dh66-navy-900, #002858);
}

.dh66-home-editor .dh-home-button-primary .wp-block-button__link:hover,
.dh66-home-editor .dh-home-button-primary .wp-block-button__link:focus-visible {
  filter: brightness(1.06);
  transform: translateY(-2px);
}

.dh66-home-editor .dh-home-button-primary .wp-block-button__link:active {
  transform: translateY(1px) scale(.985);
}

.dh66-home-editor :where(.dh-home-carousel-section, .dh-home-services, .dh-home-method) {
  padding-block: clamp(76px, 9vw, 120px);
}

.dh66-home-editor .dh-home-carousel-section:not(.has-background) {
  background: color-mix(in srgb, var(--dh66-gray-100, #f5f5f5) 88%, white);
}

.dh66-home-editor .dh-home-section-heading {
  margin-bottom: clamp(30px, 4vw, 52px);
}

.dh66-home-editor .dh-home-section-heading > * {
  margin-inline: 0;
}

.dh66-home-editor .dh-home-section-heading h2 {
  max-width: 760px;
  margin-top: 0;
  margin-bottom: 0;
  font-size: clamp(34px, 4.2vw, 58px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.dh66-home-editor .dh-home-section-heading h2:not(.has-text-color) {
  color: var(--dh66-navy-900, #002858);
}

.dh66-home-editor .dh-home-section-heading p {
  max-width: 620px;
  margin-top: 18px;
  margin-bottom: 0;
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.6;
}

.dh66-home-editor .dh-home-section-heading p:not(.has-text-color) {
  color: var(--dh-text, #334f5e);
}

.dh66-home-editor .dh-home-proof {
  padding-block: 34px;
  border-top: 1px solid color-mix(in srgb, var(--dh66-navy-900, #002858) 15%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--dh66-navy-900, #002858) 15%, transparent);
  backdrop-filter: blur(12px) saturate(125%);
  -webkit-backdrop-filter: blur(12px) saturate(125%);
}

.dh66-home-editor .dh-home-proof:not(.has-background) {
  background: rgb(255 255 255 / .68);
}

.dh66-home-editor .dh-home-proof .wp-block-columns {
  gap: 0;
}

.dh66-home-editor .dh-home-proof .wp-block-column {
  padding: 6px clamp(18px, 2.3vw, 30px);
  border-right: 1px solid color-mix(in srgb, var(--dh66-navy-900, #002858) 14%, transparent);
}

.dh66-home-editor .dh-home-proof .wp-block-column:first-child {
  padding-left: 0;
}

.dh66-home-editor .dh-home-proof .wp-block-column:last-child {
  padding-right: 0;
  border-right: 0;
}

.dh66-home-editor .dh-home-proof h3,
.dh66-home-editor .dh-home-proof p {
  margin: 0;
}

.dh66-home-editor .dh-home-proof h3 {
  font-size: 16px;
  line-height: 1.25;
}

.dh66-home-editor .dh-home-proof h3:not(.has-text-color) {
  color: var(--dh66-navy-900, #002858);
}

.dh66-home-editor .dh-home-proof p {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.5;
}

.dh66-home-editor .dh-home-proof p:not(.has-text-color) {
  color: var(--dh-muted, #607681);
}

.dh66-home-editor .dh-home-services:not(.has-background) {
  background: var(--dh66-gray-100, #f5f5f5);
}

.dh66-home-editor .dh-home-services-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: 22px;
}

.dh66-home-editor .dh-home-services-grid.is-service-card-switcher {
  grid-template-columns:
    minmax(0, calc(var(--dh66-service-active-width, 58%) - 11px))
    minmax(280px, 1fr);
}

.dh66-home-editor .dh-home-service-card {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .68);
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .8), 0 18px 48px rgb(0 40 88 / .1);
  backdrop-filter: blur(14px) saturate(128%);
  -webkit-backdrop-filter: blur(14px) saturate(128%);
}

.dh66-home-editor .dh-home-service-card:not(.has-background) {
  background: rgb(255 255 255 / .7);
}

.dh66-home-editor .dh-home-service-card--featured {
  grid-row: span 4;
  grid-template-columns: 1fr;
}

.dh66-home-editor .is-service-card-switcher .dh-home-service-card {
  grid-column: 2;
  grid-row: var(--dh66-service-card-row, auto);
  cursor: pointer;
  transition:
    border-color 240ms ease,
    box-shadow 320ms var(--ease-out),
    opacity 240ms ease;
}

.dh66-home-editor .is-service-card-switcher .dh-home-service-card--featured {
  grid-column: 1;
  grid-row: 1 / span 4;
}

.dh66-home-editor .is-service-card-switcher .dh-home-service-card:not(.dh-home-service-card--featured):hover {
  border-color: color-mix(in srgb, var(--dh66-orange-500, #ff7300) 52%, white);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / .92),
    0 24px 64px rgb(0 15 36 / .24);
}

.dh66-home-editor .is-service-card-switcher .dh-home-service-card:focus-visible {
  outline: 3px solid var(--dh66-orange-500, #ff7300);
  outline-offset: 5px;
}

.dh66-home-editor .dh-home-service-card__image {
  width: 100%;
  height: 100%;
  margin: 0;
}

.dh66-home-editor .dh-home-service-card__image img {
  width: 100%;
  height: 100%;
  min-height: 178px;
  object-fit: cover;
}

.dh66-home-editor .dh-home-service-card--featured .dh-home-service-card__image img {
  min-height: 430px;
  max-height: 540px;
}

.dh66-home-editor .dh-home-service-card__content {
  display: grid;
  align-content: center;
  padding: clamp(20px, 2.2vw, 30px);
}

.dh66-home-editor .dh-home-service-card__content h3,
.dh66-home-editor .dh-home-service-card__content p {
  margin: 0;
}

.dh66-home-editor .dh-home-service-card__content h3 {
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.08;
  letter-spacing: -.03em;
}

.dh66-home-editor .dh-home-service-card__content h3:not(.has-text-color) {
  color: var(--dh66-navy-900, #002858);
}

.dh66-home-editor .dh-home-service-card__content p {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.55;
}

.dh66-home-editor .dh-home-service-card__content p:not(.has-text-color) {
  color: var(--dh-text, #334f5e);
}

.dh66-home-editor .dh-home-method:not(.has-background) {
  background: #fff;
}

.dh66-home-editor .dh-home-method-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr 1fr;
  gap: 18px;
}

.dh66-home-editor .dh-home-method-grid .wp-block-column {
  min-height: 220px;
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid color-mix(in srgb, var(--dh66-navy-900, #002858) 14%, transparent);
  border-radius: 16px;
}

.dh66-home-editor .dh-home-method-grid .wp-block-column:not(.has-background) {
  background: var(--dh66-gray-100, #f5f5f5);
}

.dh66-home-editor .dh-home-method-grid .wp-block-column:first-child:not(.has-background) {
  background: var(--dh66-navy-900, #002858);
  color: #f7fafc;
}

.dh66-home-editor .dh-home-method-grid .wp-block-column:last-child:not(.has-background) {
  border-color: color-mix(in srgb, var(--dh66-orange-500, #ff7300) 60%, transparent);
  background: color-mix(in srgb, var(--dh66-orange-500, #ff7300) 9%, white);
}

.dh66-home-editor .dh-home-method-grid h3,
.dh66-home-editor .dh-home-method-grid p {
  margin: 0;
}

.dh66-home-editor .dh-home-method-grid h3 {
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.12;
}

.dh66-home-editor .dh-home-method-grid h3:not(.has-text-color) {
  color: var(--dh66-navy-900, #002858);
}

.dh66-home-editor .dh-home-method-grid .wp-block-column:first-child h3:not(.has-text-color) {
  color: #f7fafc;
}

.dh66-home-editor .dh-home-method-grid p {
  margin-top: 14px;
  line-height: 1.6;
}

.dh66-home-editor .dh-home-cta {
  padding-block: clamp(68px, 8vw, 100px);
}

.dh66-home-editor .dh-home-cta:not(.has-background) {
  background: var(--dh66-navy-900, #002858);
}

.dh66-home-editor .dh-home-cta:not(.has-text-color) {
  color: #f7fafc;
}

.dh66-home-editor .dh-home-cta__inner {
  gap: 32px;
}

.dh66-home-editor .dh-home-cta h2,
.dh66-home-editor .dh-home-cta p {
  margin: 0;
}

.dh66-home-editor .dh-home-cta h2:not(.has-text-color),
.dh66-home-editor .dh-home-cta p:not(.has-text-color) {
  color: #f7fafc;
}

.dh66-home-editor .dh-home-cta h2 {
  max-width: 760px;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.dh66-home-editor .dh-home-cta p {
  margin-top: 14px;
  line-height: 1.6;
}

.dh66-home-editor .dh-home-cta p:not(.has-text-color) {
  color: rgb(247 250 252 / .8);
}

/*
 * Avec l'image d'accueil fixe, les groupes de section restent structurels :
 * ils n'ajoutent aucun aplat entre le visiteur et le visuel d'arriere-plan.
 * Une couleur choisie volontairement dans Gutenberg reste prioritaire grace a
 * la classe has-background generee par WordPress.
 */
.dh66-home-editor.has-fixed-hero-background :where(
  .dh-home-carousel-section,
  .dh-home-proof,
  .dh-home-services,
  .dh-home-method,
  .dh-home-cta
):not(.has-background) {
  background: transparent;
}

.dh66-home-editor.has-fixed-hero-background .dh-home-proof {
  border-color: rgb(255 255 255 / .22);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column {
  border-right-color: rgb(255 255 255 / .22);
}

.dh66-home-editor.has-fixed-hero-background .dh-home-section-heading h2:not(.has-text-color),
.dh66-home-editor.has-fixed-hero-background .dh-home-proof h3:not(.has-text-color) {
  color: #f7fafc;
  text-shadow: 0 2px 18px rgb(0 18 44 / .44);
}

.dh66-home-editor.has-fixed-hero-background .dh-home-section-heading p:not(.has-text-color),
.dh66-home-editor.has-fixed-hero-background .dh-home-proof p:not(.has-text-color) {
  color: rgb(247 250 252 / .88);
  text-shadow: 0 2px 14px rgb(0 18 44 / .38);
}

/*
 * Liquid Glass est une approximation web. Les surfaces ci-dessous restent
 * limitees aux contenus et ne recreent jamais un fond de section complet.
 */
.dh66-home-editor.has-fixed-hero-background .dhh-copy-shell,
.dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column,
.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column,
.dh66-home-editor.has-fixed-hero-background .dh-home-cta__inner {
  position: relative;
  isolation: isolate;
	overflow: hidden;
  border: 1px solid var(--dh66-liquid-border);
  border-radius: 16px;
  box-shadow:
    inset 0 1px 0 var(--dh66-liquid-edge),
    inset 0 -1px 0 rgb(255 255 255 / .08),
    var(--dh66-liquid-shadow);
  backdrop-filter: blur(var(--dh66-glass-blur, 20px)) saturate(138%) contrast(1.03);
  -webkit-backdrop-filter: blur(var(--dh66-glass-blur, 20px)) saturate(138%) contrast(1.03);
}

.dh66-home-editor.has-fixed-hero-background .dhh-copy-shell,
.dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column:not(.has-background),
.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column:not(.has-background),
.dh66-home-editor.has-fixed-hero-background .dh-home-cta__inner:not(.has-background) {
  background:
    linear-gradient(135deg, rgb(255 255 255 / .12), transparent 42%),
    var(--dh66-liquid-dark);
}

.dh66-home-editor.has-fixed-hero-background .dhh-copy-shell::after,
.dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column::after,
.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column::after,
.dh66-home-editor.has-fixed-hero-background .dh-home-cta__inner::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 14% 0%, rgb(255 255 255 / var(--dh66-glass-reflection, .18)), transparent 34%),
    linear-gradient(112deg, transparent 54%, rgb(76 175 0 / .035));
  content: "";
  pointer-events: none;
}

.dh66-home-editor.has-fixed-hero-background .dhh-copy-slide__heading p {
	color: #91d457;
	text-shadow: 0 1px 12px rgb(0 0 0 / .24);
}

.dh66-home-editor.has-fixed-hero-background .dhh-copy-slide h2,
.dh66-home-editor.has-fixed-hero-background .dhh-copy-slide__summary,
.dh66-home-editor.has-fixed-hero-background .dhh-copy-slide__details {
	color: #f7fafc;
	text-shadow: 0 1px 14px rgb(0 0 0 / .3);
}

.dh66-home-editor.has-fixed-hero-background .dhh-copy-slide__details {
	color: #d9e4ea;
}

.dh66-home-editor.has-fixed-hero-background .dhh-copy-slide__link {
	color: #ff9b45;
}

/*
 * Retour visuel de faible amplitude pour les dispositifs avec souris.
 * Les panneaux informatifs gagnent en profondeur sans suggérer un clic.
 */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.dh66-home-editor.has-fixed-hero-background .dhh-copy-shell,
	.dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column,
	.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column,
	.dh66-home-editor.has-fixed-hero-background .dh-home-cta__inner {
		transition:
			transform 320ms var(--ease-out),
			border-color 240ms ease,
			box-shadow 320ms var(--ease-out);
	}

	.dh66-home-editor.has-fixed-hero-background .dhh-copy-shell:hover,
	.dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column:hover,
	.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column:hover {
		border-color: color-mix(in srgb, var(--dh66-orange-500, #ff7300) 42%, white);
		box-shadow:
			inset 0 1px 0 rgb(255 255 255 / .42),
			inset 0 -1px 0 rgb(255 255 255 / .1),
			0 26px 68px rgb(0 15 36 / .28);
		transform: translate3d(0, -4px, 0);
	}

	.dh66-home-editor.has-fixed-hero-background .dh-home-cta__inner:hover {
		border-color: color-mix(in srgb, var(--dh66-orange-500, #ff7300) 34%, white);
		box-shadow:
			inset 0 1px 0 rgb(255 255 255 / .38),
			0 24px 64px rgb(0 15 36 / .24);
		transform: translate3d(0, -2px, 0);
	}

	.dh66-home-editor.has-fixed-hero-background .dhh-copy-shell::after,
	.dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column::after,
	.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column::after,
	.dh66-home-editor.has-fixed-hero-background .dh-home-cta__inner::after {
		opacity: .68;
		transform: translate3d(-2%, -2%, 0) scale(1.03);
		transition: opacity 280ms ease, transform 420ms var(--ease-out);
	}

	.dh66-home-editor.has-fixed-hero-background .dhh-copy-shell:hover::after,
	.dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column:hover::after,
	.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column:hover::after,
	.dh66-home-editor.has-fixed-hero-background .dh-home-cta__inner:hover::after {
		opacity: 1;
		transform: translate3d(2%, 1%, 0) scale(1.08);
	}
}

.dh66-home-editor.has-fixed-hero-background .dh-home-proof {
  padding-block: clamp(30px, 4vw, 48px);
  border: 0;
}

.dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-columns {
  gap: 14px;
}

.dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column,
.dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column:first-child,
.dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column:last-child {
  padding: clamp(20px, 2.4vw, 30px);
}

.dh66-home-editor.has-fixed-hero-background .dh-home-service-card {
  position: relative;
  isolation: isolate;
  border-color: rgb(255 255 255 / .58);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / .92),
    inset 0 -1px 0 rgb(255 255 255 / .32),
    0 24px 64px rgb(0 15 36 / .18);
  backdrop-filter: blur(var(--dh66-glass-blur, 20px)) saturate(142%) contrast(1.02);
  -webkit-backdrop-filter: blur(var(--dh66-glass-blur, 20px)) saturate(142%) contrast(1.02);
}

.dh66-home-editor.has-fixed-hero-background .dh-home-service-card:not(.has-background) {
  background:
    linear-gradient(135deg, rgb(255 255 255 / .58), rgb(247 250 252 / .32)),
    rgb(247 250 252 / .46);
}

.dh66-home-editor.has-fixed-hero-background .dh-home-service-card::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(
    circle at 12% 0%,
    rgb(255 255 255 / var(--dh66-glass-reflection, .18)),
    transparent 36%
  );
  content: "";
  pointer-events: none;
}

.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column:not(.has-background),
.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column:first-child:not(.has-background),
.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column:last-child:not(.has-background) {
  background:
    linear-gradient(135deg, rgb(255 255 255 / .12), transparent 42%),
    var(--dh66-liquid-dark);
}

.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column:last-child:not(.has-background) {
  border-color: color-mix(in srgb, var(--dh66-orange-500, #ff7300) 58%, white);
}

.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid h3:not(.has-text-color),
.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid p:not(.has-text-color) {
  color: #f7fafc;
}

.dh66-home-editor.has-fixed-hero-background .dh-home-method-grid p:not(.has-text-color) {
  color: rgb(247 250 252 / .82);
}

.dh66-home-editor.has-fixed-hero-background .dh-home-cta__inner {
  padding: clamp(28px, 4vw, 48px);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .dh66-home-editor.has-fixed-hero-background .dhh-copy-shell,
  .dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column:not(.has-background),
  .dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column:not(.has-background),
  .dh66-home-editor.has-fixed-hero-background .dh-home-cta__inner:not(.has-background) {
    background: rgb(4 24 42 / .94);
  }

  .dh66-home-editor.has-fixed-hero-background .dh-home-service-card:not(.has-background) {
    background: rgb(247 250 252 / .94);
  }
}

.dh66-carousel-editor-placeholder {
  padding: 32px;
  border: 2px dashed color-mix(in srgb, var(--dh66-navy-900, #002858) 28%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--dh66-gray-100, #f5f5f5) 88%, white);
  color: var(--dh66-navy-900, #002858);
  text-align: center;
}

.dh66-carousel-editor-placeholder p {
  margin: 10px auto 0;
  max-width: 58ch;
}

@media (max-width: 960px) {
  .dh66-home-editor .dh-home-proof .wp-block-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 0;
  }

  .dh66-home-editor .dh-home-proof .wp-block-column:nth-child(2) {
    border-right: 0;
  }

  .dh66-home-editor .dh-home-services-grid,
  .dh66-home-editor .dh-home-method-grid {
    grid-template-columns: 1fr;
  }

  .dh66-home-editor .dh-home-services-grid.is-service-card-switcher {
    grid-template-columns: 1fr;
  }

  .dh66-home-editor .is-service-card-switcher .dh-home-service-card,
  .dh66-home-editor .is-service-card-switcher .dh-home-service-card--featured {
    grid-column: 1;
    grid-row: auto;
  }

  .dh66-home-editor .dh-home-service-card--featured {
    grid-row: auto;
  }
}

@media (max-width: 640px) {
  .dh66-home-editor :where(.alignwide) {
    width: min(100% - 32px, var(--max-width, 1240px));
  }

  .dh66-home-editor .dh-home-hero {
    min-height: 620px;
  }

  .dh66-home-editor .dh-home-hero__content {
    padding-block: 56px;
  }

  .dh66-home-editor .dh-home-hero__eyebrow {
    margin-bottom: 12px;
    font-size: 12px;
  }

  .dh66-home-editor .dh-home-hero__title {
    font-size: clamp(34px, 10vw, 40px);
    line-height: 1.08;
    letter-spacing: -.02em;
  }

  .dh66-home-editor .dh-home-hero__lead {
    margin-top: 18px;
  }

  .dh66-home-editor .dh-home-actions {
    margin-top: 26px;
  }

  .dh66-home-editor .dh-home-proof .wp-block-columns {
    grid-template-columns: 1fr;
  }

  .dh66-home-editor .dh-home-proof .wp-block-column,
  .dh66-home-editor .dh-home-proof .wp-block-column:first-child,
  .dh66-home-editor .dh-home-proof .wp-block-column:last-child {
    padding: 0;
    border-right: 0;
  }

  .dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column,
  .dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column:first-child,
  .dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column:last-child {
    padding: 22px;
  }

  .dh66-home-editor .dh-home-service-card,
  .dh66-home-editor .dh-home-service-card--featured {
    grid-template-columns: 1fr;
  }

  .dh66-home-editor .dh-home-service-card__image img,
  .dh66-home-editor .dh-home-service-card--featured .dh-home-service-card__image img {
    min-height: 0;
    max-height: none;
    aspect-ratio: 16 / 10;
  }

  .dh66-home-editor .dh-home-cta__inner {
    display: grid;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dh66-home-editor.has-fixed-hero-background::before {
    position: absolute;
    background-position: center top;
  }

  .dh66-home-editor *,
  .dh66-home-editor *::before,
  .dh66-home-editor *::after {
    scroll-behavior: auto;
    animation-duration: .01ms;
    animation-iteration-count: 1;
    transition-duration: .01ms;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .dh66-home-editor .dh-home-proof,
  .dh66-home-editor .dh-home-service-card {
    background: #fff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .dh66-home-editor.has-fixed-hero-background .dhh-copy-shell,
  .dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column,
  .dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column,
  .dh66-home-editor.has-fixed-hero-background .dh-home-cta__inner,
  .dh66-home-editor.has-fixed-hero-background .dh-home-service-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .dh66-home-editor.has-fixed-hero-background .dh-home-proof {
    background: #fff;
    border-color: color-mix(in srgb, var(--dh66-navy-900, #002858) 15%, transparent);
  }

  .dh66-home-editor.has-fixed-hero-background .dh-home-proof h3:not(.has-text-color) {
    color: var(--dh66-navy-900, #002858);
    text-shadow: none;
  }

  .dh66-home-editor.has-fixed-hero-background .dh-home-proof p:not(.has-text-color) {
    color: var(--dh-muted, #607681);
    text-shadow: none;
  }

  .dh66-home-editor.has-fixed-hero-background .dhh-copy-shell,
  .dh66-home-editor.has-fixed-hero-background .dh-home-proof .wp-block-column:not(.has-background),
  .dh66-home-editor.has-fixed-hero-background .dh-home-method-grid .wp-block-column:not(.has-background),
  .dh66-home-editor.has-fixed-hero-background .dh-home-cta__inner:not(.has-background) {
    background: #08253a;
  }

  .dh66-home-editor.has-fixed-hero-background .dh-home-service-card:not(.has-background) {
    background: #f7fafc;
  }
}
