/* ── Homepage Layout Override ────────────────────────────────────────────── */
.doi-main { padding: 0 !important; }

/* ── Hero ────────────────────────────────────────────────────────────────── */
.ht-hero {
	position: relative;
	width: 100%;
	height: 100svh;
	overflow: hidden;
	background: var(--ink);
}

.ht-gradient {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(to right, rgba(13,11,8,.72) 0%, rgba(13,11,8,.40) 45%, rgba(13,11,8,0) 70%);
	pointer-events: none;
}

.ht-slides { position: absolute; inset: 0; z-index: 1; }

.ht-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
}
.js-loaded .ht-slide { transition: opacity 0.9s cubic-bezier(0.4,0,0.2,1); }
.ht-slide.is-active { opacity: 1; pointer-events: auto; }

.ht-slide-img {
	width: 100%; height: 100%;
	object-fit: cover; object-position: center; display: block;
}

.ht-texts {
	position: absolute; inset: 0; z-index: 3;
	display: flex; align-items: center; pointer-events: none;
}

.ht-text {
	position: absolute;
	left: clamp(2rem, 8vw, 7rem);
	max-width: min(480px, 44vw);
	opacity: 0;
	transform: translateY(18px);
	pointer-events: none;
}
.js-loaded .ht-text { transition: opacity 0.7s cubic-bezier(0.4,0,0.2,1), transform 0.7s cubic-bezier(0.4,0,0.2,1); }
.ht-text.is-active { opacity: 1; transform: translateY(0); pointer-events: auto; }

.ht-eyebrow {
	display: block;
	font-family: var(--font-body);
	font-size: var(--text-xs);
	letter-spacing: 0.04em;
	color: var(--slide-color, rgba(255,255,255,.55));
	margin-bottom: 0.75rem;
}
.ht-mood-label {
	font-weight: 600;
	letter-spacing: 0.08em;
	font-size: 0.7em;
	opacity: 0.75;
	margin-right: 0.25em;
}

.ht-name {
	font-family: var(--font-display);
	font-size: clamp(2rem, 4.5vw, 3.5rem);
	font-weight: 700; font-style: italic;
	color: #fff; line-height: 1.1; margin: 0 0 1rem;
}
.ht-name--sub { font-size: clamp(2rem, 4.5vw, 3.5rem); }

.ht-mood {
	font-family: var(--font-body);
	font-size: clamp(0.875rem, 1.2vw, 1rem);
	color: rgba(255,255,255,.90);
	line-height: 1.65;
	margin: 0 0 0.5rem;
}
.ht-desc {
	font-family: var(--font-body);
	font-size: clamp(0.875rem, 1.2vw, 1rem);
	color: rgba(255,255,255,.65); line-height: 1.65; margin: 0 0 2rem;
}

.ht-btns { display: flex; gap: 0.75rem; flex-wrap: wrap; }

.ht-btn {
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--font-body); font-size: var(--text-sm);
	font-weight: 500; letter-spacing: 0.04em;
	padding: 0.75rem 1.6rem; border-radius: var(--radius-sm);
	text-decoration: none;
	transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.15s, filter 0.2s;
	cursor: pointer; white-space: nowrap;
}

.ht-btn--primary {
	background: var(--slide-color, var(--accent));
	color: var(--ink);
	border: 1px solid var(--slide-color, var(--accent));
	gap: 0.5rem;
}
.ht-btn--primary:hover { filter: brightness(0.88); transform: translateY(-1px); }

.ht-btn--outline {
	background: transparent;
	color: var(--slide-color, #fff);
	border: 1px solid var(--slide-color, rgba(255,255,255,.5));
}
.ht-btn--outline:hover { background: rgba(255,255,255,.1); transform: translateY(-1px); }

.ht-mehr-arrow { transition: transform 0.3s ease; flex-shrink: 0; }
.ht-mehr-toggle[aria-expanded="true"] .ht-mehr-arrow { transform: rotate(180deg); }

.ht-expand {
	overflow: hidden; max-height: 0; opacity: 0;
	transition: max-height 0.4s cubic-bezier(0.4,0,0.2,1), opacity 0.3s ease;
	margin-top: 0;
}
.ht-expand.is-open { max-height: 200px; opacity: 1; margin-top: 1rem; }

.ht-expand-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }

.ht-expand-card {
	display: flex; align-items: center; justify-content: center;
	padding: 0.65rem 0.75rem;
	background: rgba(255,255,255,.08);
	backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
	border: 1px solid rgba(255,255,255,.18);
	border-radius: var(--radius-sm);
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s;
	text-align: center;
}
.ht-expand-card:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.4); }

.ht-expand-label {
	font-family: var(--font-body); font-size: var(--text-xs);
	letter-spacing: 0.06em; color: #fff; text-transform: uppercase;
}

.ht-arrow {
	position: absolute; top: 50%; transform: translateY(-50%);
	z-index: 10;
	background: rgba(13,11,8,.45);
	backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255,255,255,.15);
	color: #fff; width: 52px; height: 52px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer; transition: background 0.2s, transform 0.2s;
}
.ht-arrow:hover { background: rgba(107,74,21,.7); transform: translateY(-50%) scale(1.08); }
.ht-arrow--prev { left: clamp(1rem, 3vw, 2.5rem); }
.ht-arrow--next { right: clamp(1rem, 3vw, 2.5rem); }

.ht-dots {
	position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%);
	display: flex; gap: 0.5rem; z-index: 10;
}
.ht-dot {
	width: 8px; height: 8px; border-radius: 50%;
	border: 1px solid rgba(255,255,255,.6);
	background: transparent; cursor: pointer; padding: 0;
	transition: background 0.25s, transform 0.25s, border-color 0.25s;
}
.ht-dot.is-active { background: #fff; border-color: #fff; transform: scale(1.35); }

.ht-counter {
	position: absolute; bottom: 2rem; right: clamp(1rem, 3vw, 2.5rem);
	z-index: 10; color: rgba(255,255,255,.7);
	font-family: var(--font-body); font-size: var(--text-sm); letter-spacing: 0.05em;
}

@media (max-width: 768px) {
	.ht-gradient {
		background: linear-gradient(to top, rgba(13,11,8,.85) 0%, rgba(13,11,8,.35) 55%, rgba(13,11,8,0) 100%);
	}
	.ht-slide-img { object-position: right center; }
	.ht-texts { align-items: flex-end; padding-bottom: 5rem; }
	.ht-text { left: 1.5rem; right: 1.5rem; max-width: 100%; }
	.ht-name { font-size: clamp(1.75rem, 6vw, 2.25rem); }
	.ht-arrow { width: 40px; height: 40px; }
	.ht-arrow--prev { left: 0.75rem; }
	.ht-arrow--next { right: 0.75rem; }
}

/* ── SEO Intro ───────────────────────────────────────────────────────────── */
.doi-seo-intro {
  background: #fff;
  padding: 48px clamp(1.5rem, 8vw, 7rem);
  text-align: center;
  border-bottom: 1px solid #F0EDE8;
}
.doi-seo-intro-inner {
  max-width: 760px;
  margin: 0 auto;
}
.doi-seo-intro-h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 400;
  color: #0D0B08;
  line-height: 1.2;
  margin: 0 0 20px;
  letter-spacing: 0.01em;
}
.doi-seo-intro-text {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  line-height: 1.8;
  color: #7A7168;
  margin: 0;
  max-width: 640px;
  margin-inline: auto;
}
.doi-seo-intro-editor {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  line-height: 1.8;
  color: #7A7168;
}
.doi-seo-intro-editor h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 400;
  color: #0D0B08;
  line-height: 1.2;
  margin: 0 0 20px;
  letter-spacing: 0.01em;
}
.doi-seo-intro-editor p {
  max-width: 640px;
  margin-inline: auto;
  margin-bottom: 0;
}

/* ── Marquee ─────────────────────────────────────────────────────────────── */
.ht-marquee {
  background: #0D0B08;
  overflow: hidden;
  padding: 18px 0;
  white-space: nowrap;
}
.ht-marquee-track {
  display: inline-flex;
  gap: 0;
  animation: ht-scroll 55s linear infinite;
}
.ht-marquee-track span {
  font-family: 'DM Sans', sans-serif;
  font-size: .72rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255,255,255,.82);
  padding: 0 28px;
}
.ht-marquee-track .ht-sep {
  color: #C4913B;
  padding: 0;
  letter-spacing: 0;
}
@keyframes ht-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ── Editorial Split ─────────────────────────────────────────────────────── */
.ht-ed {
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 28.125vw;
  margin: 0;
}
.ht-ed--rev .ht-ed-img  { order: 2; }
.ht-ed--rev .ht-ed-text { order: 1; }
.ht-ed-img { overflow: hidden; }
.ht-ed-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ht-ed-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 72px;
  background: #fff;
  overflow: hidden;
}
.ht-ed-eyebrow {
  font-family: 'DM Sans', sans-serif;
  font-size: .7rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #C4913B;
  margin-bottom: 20px;
}
.ht-ed-headline {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2.2rem, 3.5vw, 3.6rem);
  font-weight: 400;
  color: #0D0B08;
  line-height: 1.08;
  margin: 0 0 28px;
}
.ht-ed-body {
  font-family: 'DM Sans', sans-serif;
  font-size: .95rem;
  line-height: 1.8;
  color: #7A7168;
  margin: 0 0 40px;
  max-width: 420px;
}
.ht-ed-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'DM Sans', sans-serif;
  font-size: .72rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #0D0B08;
  text-decoration: none;
  border-bottom: 1px solid #C4913B;
  padding-bottom: 4px;
  align-self: flex-start;
  transition: color .2s;
}
.ht-ed-btn:hover { color: #C4913B; }

/* ── Scroll-Animationen ──────────────────────────────────────────────────── */
.ht-ed {
  opacity: 0;
  transform: translateY(48px);
  transition: opacity .8s ease, transform .8s ease;
}
.ht-ed.ht-visible { opacity: 1; transform: translateY(0); }
.ht-ed .ht-ed-eyebrow,
.ht-ed .ht-ed-headline,
.ht-ed .ht-ed-body,
.ht-ed .ht-ed-btn {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .6s ease, transform .6s ease;
}
.ht-ed.ht-visible .ht-ed-eyebrow { opacity: 1; transform: translateY(0); transition-delay: .15s; }
.ht-ed.ht-visible .ht-ed-headline { opacity: 1; transform: translateY(0); transition-delay: .28s; }
.ht-ed.ht-visible .ht-ed-body     { opacity: 1; transform: translateY(0); transition-delay: .40s; }
.ht-ed.ht-visible .ht-ed-btn      { opacity: 1; transform: translateY(0); transition-delay: .52s; }

/* Hover: Bild-Zoom */
.ht-ed-img img { transition: transform 1s cubic-bezier(.4,0,.2,1); }
.ht-ed:hover .ht-ed-img img { transform: scale(1.06); }

/* ── Karussell ───────────────────────────────────────────────────────────── */
.kz-section{position:relative;background:#F5F5F5;padding:28px 0 32px;overflow:hidden;transition:background-color 1.2s ease}
.kz-section::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px 256px}
.kz-wrap{display:flex;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;gap:16px}
.kz-stage{position:relative;flex:1;height:520px}
.kz-card{display:none;position:absolute;left:50%;top:0;width:240px;flex-direction:column;align-items:center;text-align:center;cursor:default;transition:transform .65s cubic-bezier(.4,0,.2,1),opacity .65s cubic-bezier(.4,0,.2,1);will-change:transform,opacity}
.kz-card[data-pos]{display:flex}
.kz-card[data-pos="center"]   {transform:translateX(-50%) translateY(0px) scale(1);opacity:1;z-index:3}
.kz-card[data-pos="left"]     {transform:translateX(calc(-50% - 290px)) translateY(55px) scale(.78);opacity:.6;z-index:2;cursor:pointer}
.kz-card[data-pos="right"]    {transform:translateX(calc(-50% + 290px)) translateY(55px) scale(.78);opacity:.6;z-index:2;cursor:pointer}
.kz-card[data-pos="far-left"] {transform:translateX(calc(-50% - 520px)) translateY(100px) scale(.55);opacity:0;z-index:1;pointer-events:none}
.kz-card[data-pos="far-right"]{transform:translateX(calc(-50% + 520px)) translateY(100px) scale(.55);opacity:0;z-index:1;pointer-events:none}
.kz-img-wrap{width:100%;aspect-ratio:3/4;border-radius:4px;overflow:hidden;position:relative;background:#EBEBEB;margin-bottom:20px}
.kz-img-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease}
.kz-img-wrap .kz-img-an{opacity:0}
.kz-img-wrap .kz-img-aus{opacity:1}
.kz-card[data-lit] .kz-img-an{opacity:1}
.kz-card[data-lit] .kz-img-aus{opacity:0}
.kz-card-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.5rem;font-weight:500;color:#0D0B08;margin:0 0 4px;letter-spacing:.02em}
.kz-card-vol{font-family:'DM Sans',sans-serif;font-size:.75rem;color:#7A7168;margin:0 0 10px;letter-spacing:.04em}
.kz-card-desc{font-family:'DM Sans',sans-serif;font-size:.82rem;line-height:1.65;color:#7A7168;margin:0 0 20px;padding:0 8px;min-height:54px}
.kz-card-btn{display:inline-block;font-family:'DM Sans',sans-serif;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:#0D0B08;border-bottom:1px solid #C4913B;padding-bottom:3px;text-decoration:none;transition:color .2s}
.kz-card-btn:hover{color:#C4913B}
.kz-card-name,.kz-card-vol,.kz-card-desc,.kz-card-btn{opacity:0;transition:opacity .35s ease}
.kz-card[data-reveal] .kz-card-name,.kz-card[data-reveal] .kz-card-vol,.kz-card[data-reveal] .kz-card-desc,.kz-card[data-reveal] .kz-card-btn{opacity:1}
.kz-arrow{width:48px;height:48px;flex-shrink:0;border-radius:50%;border:1px solid #D8D0C8;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,border-color .2s;color:#0D0B08}
.kz-arrow:hover{background:#C4913B;border-color:#C4913B;color:#fff}
.kz-arrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.kz-dots{display:flex;justify-content:center;gap:8px;margin-top:16px}
.kz-dot{width:6px;height:6px;border-radius:50%;background:#D8D0C8;transition:background .3s,transform .3s}
.kz-dot.active{background:#C4913B;transform:scale(1.4)}

/* ── Mobile Editorial ───────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .ht-ed {
    display: block;
    height: auto;
    position: relative;
    opacity: 1;
    transform: none;
  }
  .ht-ed--rev .ht-ed-img  { order: unset; }
  .ht-ed--rev .ht-ed-text { order: unset; }

  .ht-ed-img {
    width: 100%;
    aspect-ratio: 3 / 4;
    height: auto;
  }

  /* Gradient-Overlay statt weißer Box */
  .ht-ed-text {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0;
    padding: 48px 24px 36px;
    background: linear-gradient(to top, rgba(13,11,8,.92) 0%, rgba(13,11,8,.6) 55%, rgba(13,11,8,0) 100%);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .7s ease, transform .7s ease;
  }

  .ht-ed.ht-visible .ht-ed-text {
    opacity: 1;
    transform: translateY(0);
  }

  /* Textfarben auf weiß */
  .ht-ed-eyebrow { color: #C4913B; }
  .ht-ed-headline { color: #fff; font-size: clamp(1.8rem, 7vw, 2.6rem); margin-bottom: 12px; }
  .ht-ed-body     { color: rgba(255,255,255,.72); font-size: .88rem; margin-bottom: 24px; }
  .ht-ed-btn      { color: #fff; border-bottom-color: #C4913B; }
  .ht-ed-btn:hover { color: #C4913B; }

  /* Individuelle Text-Animationen auf Mobile deaktivieren */
  .ht-ed .ht-ed-eyebrow,
  .ht-ed .ht-ed-headline,
  .ht-ed .ht-ed-body,
  .ht-ed .ht-ed-btn {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ── Bubble Rings ────────────────────────────────────────────────────────── */
.kz-bubble{position:absolute;border-radius:50%;background:transparent;pointer-events:none;z-index:1;animation:kz-float-up linear infinite}
@keyframes kz-float-up{
  0%  {transform:translateY(0)      translateX(0);opacity:0}
  8%  {opacity:1}
  88% {opacity:1}
  100%{transform:translateY(-700px) translateX(var(--kz-drift,0px));opacity:0}
}

/* ══════════════════════════════════════════════════════════════════════════════
   Block Homepage: Gutenberg spacing normalization
   Scoped to .doi-block-homepage — does NOT affect any other page.
   ══════════════════════════════════════════════════════════════════════════════ */

/* Wrapper — kill default block gap variable so Gutenberg's layout CSS
   doesn't inject margins between sections via --wp--style--block-gap */
.doi-block-homepage {
  --wp--style--block-gap: 0px;
  display: block;
  margin: 0;
  padding: 0;
}

/* Remove all top-level block margins (between Hero, SEO Intro, Marquee, etc.) */
.doi-block-homepage > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* ── Shortcode wrappers: Hero · Marquee · Carousels ──────────────────────── */
.doi-block-homepage .wp-block-shortcode {
  display: block;
  margin: 0 !important;
  padding: 0;
}

/* ── SEO Intro group ─────────────────────────────────────────────────────── */
.doi-block-homepage .wp-block-group.doi-seo-intro {
  margin-block: 0 !important;
}

/* ── Editorial sections: override Gutenberg media-text ──────────────────── */
.doi-block-homepage .wp-block-media-text.ht-ed {
  grid-template-columns: 1fr 1fr !important;
  height: 28.125vw;
  align-items: stretch;
  gap: 0;
  margin: 0 !important;
}

/* Reversed: keep media column on the right */
.doi-block-homepage .wp-block-media-text.ht-ed.has-media-on-the-right > .wp-block-media-text__media {
  grid-column: 2;
  grid-row: 1;
}
.doi-block-homepage .wp-block-media-text.ht-ed.has-media-on-the-right > .wp-block-media-text__content {
  grid-column: 1;
  grid-row: 1;
}

/* Image side — mirror .ht-ed-img */
.doi-block-homepage .wp-block-media-text.ht-ed > .wp-block-media-text__media {
  align-self: stretch;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.doi-block-homepage .wp-block-media-text.ht-ed > .wp-block-media-text__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  max-width: unset;
  transition: transform 1s cubic-bezier(.4, 0, .2, 1);
}
.doi-block-homepage .wp-block-media-text.ht-ed:hover > .wp-block-media-text__media img {
  transform: scale(1.06);
}

/* Text side — mirror .ht-ed-text */
.doi-block-homepage .wp-block-media-text.ht-ed > .wp-block-media-text__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
  padding: 60px 72px !important;
  background: #fff;
  overflow: hidden;
}

/* Reset block margins inside editorial content */
.doi-block-homepage .wp-block-media-text.ht-ed .wp-block-media-text__content > * {
  margin-block-start: 0;
  margin-block-end: 0;
}
.doi-block-homepage .wp-block-media-text.ht-ed .ht-ed-eyebrow  { margin-bottom: 20px; }
.doi-block-homepage .wp-block-media-text.ht-ed .wp-block-heading.ht-ed-headline { margin: 0 0 28px; }
.doi-block-homepage .wp-block-media-text.ht-ed .ht-ed-body     { margin: 0 0 40px; }

/* Button inside editorial: .ht-ed-btn is on wp-block-button div, restyle its link */
.doi-block-homepage .wp-block-media-text.ht-ed .wp-block-buttons {
  margin: 0;
  padding: 0;
  gap: 0;
}
.doi-block-homepage .wp-block-media-text.ht-ed .wp-block-button.ht-ed-btn {
  padding: 0;
  margin: 0;
}
.doi-block-homepage .wp-block-media-text.ht-ed .wp-block-button.ht-ed-btn .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'DM Sans', sans-serif;
  font-size: .72rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #0D0B08;
  text-decoration: none;
  border: none;
  border-bottom: 1px solid #C4913B;
  border-radius: 0;
  padding: 0 0 4px;
  background: none;
  box-shadow: none;
  transition: color .2s;
}
.doi-block-homepage .wp-block-media-text.ht-ed .wp-block-button.ht-ed-btn .wp-block-button__link:hover {
  color: #C4913B;
  background: none;
}

/* ── Duftwelten / category sections ─────────────────────────────────────── */
.doi-block-homepage .wp-block-group.doi-section {
  margin-block: 0 !important;
}
.doi-block-homepage .wp-block-group.doi-section > .wp-block-heading {
  margin-bottom: 40px;
}
.doi-block-homepage .wp-block-group.doi-section .wp-block-columns {
  margin-block: 0;
  gap: clamp(0.75rem, 1.5vw, 1rem);
}
.doi-block-homepage .wp-block-group.doi-section .wp-block-column {
  margin: 0;
}

/* ── Brand Story ─────────────────────────────────────────────────────────── */
.doi-block-homepage .wp-block-group.doi-brand-story {
  margin-block: 0 !important;
}
.doi-block-homepage .wp-block-group.doi-brand-story .wp-block-buttons {
  margin-top: 24px;
  margin-bottom: 0;
}

/* ── FAQ ─────────────────────────────────────────────────────────────────── */
.doi-block-homepage .wp-block-group.doi-faq {
  margin-block: 0 !important;
}
.doi-block-homepage .wp-block-group.doi-faq > .wp-block-heading {
  margin-bottom: 40px;
}

/* ── Mobile: remap editorial overlay for __content ──────────────────────── */
@media (max-width: 768px) {
  .doi-block-homepage .wp-block-media-text.ht-ed {
    display: block !important;
    height: auto !important;
    position: relative;
    overflow: hidden;
  }
  /* Gutenberg's .is-stacked-on-mobile grid-column overrides become irrelevant
     once display:block is set — no need for extra grid resets */
  .doi-block-homepage .wp-block-media-text.ht-ed > .wp-block-media-text__media {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    height: auto;
  }
  .doi-block-homepage .wp-block-media-text.ht-ed > .wp-block-media-text__content {
    position: absolute !important;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 48px 24px 36px !important;
    background: linear-gradient(to top, rgba(13,11,8,.92) 0%, rgba(13,11,8,.6) 55%, rgba(13,11,8,0) 100%) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .doi-block-homepage .wp-block-media-text.ht-ed .ht-ed-headline {
    color: #fff;
    font-size: clamp(1.8rem, 7vw, 2.6rem);
    margin-bottom: 12px;
  }
  .doi-block-homepage .wp-block-media-text.ht-ed .ht-ed-body {
    color: rgba(255,255,255,.72);
    font-size: .88rem;
    margin-bottom: 24px;
  }
  .doi-block-homepage .wp-block-media-text.ht-ed .wp-block-button.ht-ed-btn .wp-block-button__link,
  .doi-block-homepage .wp-block-media-text.ht-ed .wp-block-button.ht-ed-btn .wp-block-button__link:hover {
    color: #fff;
  }
  .doi-block-homepage .wp-block-media-text.ht-ed .wp-block-button.ht-ed-btn .wp-block-button__link:hover {
    color: #C4913B;
  }
}
