/* =============================================================================
 * Bestattungsinstitut Heinrichs – Theme Stylesheet
 * Port of the Lovable React/TS design system into vanilla CSS for WordPress.
 * Class prefix: hh- (Heinrichs Heimstätte)
 * ============================================================================= */

/* ---------- Design Tokens ---------- */
:root {
	--hh-bg: #ffffff;
	--hh-fg: #1a1a1a;
	--hh-muted: #f5f5f5;
	--hh-muted-fg: #666666;
	--hh-card: #ffffff;
	--hh-border: #e6e6e6;

	--hh-primary: #B8960C;
	--hh-primary-hover: #D4AF37;
	--hh-primary-fg: #ffffff;

	--hh-secondary: #2D2D2D;
	--hh-secondary-fg: #ffffff;

	--hh-emergency: #B8960C;
	--hh-emergency-fg: #ffffff;

	--hh-radius: 0.5rem;
	--hh-radius-lg: 1rem;
	--hh-radius-xl: 1.5rem;

	--hh-shadow-soft: 0 4px 20px -4px rgba(26, 26, 26, 0.06);
	--hh-shadow-elevated: 0 8px 30px -8px rgba(26, 26, 26, 0.10);
	--hh-shadow-card: 0 2px 12px -2px rgba(26, 26, 26, 0.05);

	--hh-font-serif: 'Playfair Display', Georgia, serif;
	--hh-font-sans: 'Lato', system-ui, -apple-system, sans-serif;
}

/* ---------- Reset / Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--hh-font-sans);
	color: var(--hh-fg);
	background: var(--hh-bg);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--hh-font-serif);
	font-weight: 500;
	letter-spacing: -0.01em;
	margin: 0 0 0.6em 0;
	line-height: 1.2;
}
h1 { font-size: clamp(1.875rem, 2.4vw + 1rem, 3rem); }
h2 { font-size: clamp(1.625rem, 2vw + 0.75rem, 2.5rem); }
h3 { font-size: clamp(1.125rem, 0.6vw + 1rem, 1.375rem); }
h4 { font-size: 1.125rem; }

p { margin: 0 0 1em 0; }
a { color: inherit; text-decoration: none; transition: color 200ms ease; }
a:hover { color: var(--hh-primary); }

ul { padding-left: 1.25rem; margin: 0 0 1em 0; }

button { font-family: inherit; cursor: pointer; }

:focus-visible {
	outline: 2px solid var(--hh-primary);
	outline-offset: 2px;
}

/* ---------- Skip Link ---------- */
.hh-skip-link {
	position: absolute;
	top: -100px;
	left: 1rem;
	z-index: 10000;
	background: var(--hh-primary);
	color: var(--hh-primary-fg);
	padding: 0.5rem 1rem;
	border-radius: var(--hh-radius);
	transition: top 200ms ease;
}
.hh-skip-link:focus { top: 1rem; }

/* ---------- Layout primitives ---------- */
.hh-container {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding-left: 1rem;
	padding-right: 1rem;
}
@media (min-width: 640px) { .hh-container { padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .hh-container { padding-left: 2rem; padding-right: 2rem; } }

.hh-container--narrow { max-width: 56rem; }

.hh-section { position: relative; }
.hh-section--padded { padding: 4rem 0; }
@media (min-width: 768px) { .hh-section--padded { padding: 6rem 0; } }
@media (min-width: 1024px) { .hh-section--padded { padding: 8rem 0; } }

.hh-section--muted { background: var(--hh-muted); }
.hh-section--secondary { background: var(--hh-secondary); color: #fff; }
.hh-section--secondary p { color: rgba(255,255,255,0.7); }
.hh-section--secondary h1, .hh-section--secondary h2, .hh-section--secondary h3 { color: #fff; }
.hh-section--soft { background: rgba(184, 150, 12, 0.04); }

.hh-text-center { text-align: center; }
.hh-text-balance { text-wrap: balance; }

.hh-eyebrow {
    color: var(--hh-primary);
    font-weight: 500;
    margin-bottom: 0.5rem;
    letter-spacing: 0.02em;
    color: #b88f0a !important;
}

.hh-decorative-line {
	width: 4rem;
	height: 2px;
	background: var(--hh-primary);
	border-radius: 9999px;
	margin: 0 auto;
}

.hh-divider {
	width: 100%;
	height: 1px;
	background: var(--hh-primary);
}

.hh-section-header {
	text-align: center;
	margin-bottom: 4rem;
}
.hh-section-header__sub {
	color: var(--hh-muted-fg);
	max-width: 36rem;
	margin: 1rem auto 0;
}

.hh-lead {
	font-size: 16px;
	color: var(--hh-muted-fg);
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
}




/* ---------- Buttons ---------- */
.hh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-weight: 600;
	padding: 0.75rem 1.5rem;
	border-radius: var(--hh-radius);
	transition: all 250ms ease;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	min-height: 2rem;
	font-size: 0.95rem;
}
.hh-btn:hover { transform: translateY(-1px); }
.hh-btn:active { transform: translateY(0); }

.hh-btn--primary  { background: var(--hh-primary); color: var(--hh-primary-fg); box-shadow: var(--hh-shadow-elevated); }
.hh-btn--primary:hover { background: var(--hh-primary-hover); color: #fff; }

.hh-btn--emergency { background: var(--hh-emergency); color: var(--hh-emergency-fg); box-shadow: var(--hh-shadow-elevated); }
.hh-btn--emergency:hover { filter: brightness(1.1); color: #fff; }

.hh-btn--phone { background: var(--hh-primary); color: #fff; padding: 1rem 2rem; font-size: 1.25rem; }
.hh-btn--phone:hover { filter: brightness(1.1); color:#fff; }

.hh-btn--phone-large { background: var(--hh-primary); color:#fff; padding: 1.25rem 2.5rem; font-size: 1.5rem; }
.hh-btn--phone-large:hover { filter: brightness(1.1); color:#fff; }

.hh-btn--outline { border-color: var(--hh-border); background: transparent; color: var(--hh-fg); }
.hh-btn--outline:hover { background: var(--hh-muted); color: var(--hh-fg); }

.hh-btn--ghost-on-dark {
	background: rgba(255,255,255,0.2);
	color: #fff;
	backdrop-filter: blur(6px);
	border-color: rgba(255,255,255,0.5);
}
.hh-btn--ghost-on-dark:hover { background: rgba(255,255,255,0.3); color:#fff; }

.hh-btn--trust {
    background: #b88f0a;
    color: #ffffff;
    box-shadow: var(--hh-shadow-soft);
    font-size: 14px;
    padding: 8px 16px;
}
.hh-btn--trust:hover { filter: brightness(1.1); color: white }

.hh-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.hh-btn-row--center { justify-content: center; }

/* ---------- Icon ---------- */
.hh-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	color: currentColor;
	flex-shrink: 0;
}

.trauff-icons .hh-icon {

	width: 30px;
	height: 30px;

}

.hh-icon svg { width: 100%; height: 100%; }
.hh-icon--lg { width: 1.75rem; height: 1.75rem; }
.hh-icon--xl { width: 2rem; height: 2rem; }

/* ---------- Card ---------- */
.hh-card {
	background: var(--hh-card);
	border: 1px solid rgba(230, 230, 230, 0.5);
	border-radius: var(--hh-radius-lg);
	padding: 1.5rem;
	box-shadow: var(--hh-shadow-card);
	transition: box-shadow 300ms ease, transform 300ms ease;
}
.hh-card:hover { box-shadow: var(--hh-shadow-elevated); }

/* ============================================================================
 * Header / Navigation
 * ============================================================================ */
.hh-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	background: var(--hh-secondary);
	transition: background-color 300ms ease;
}
body.has-dark-hero .hh-header:not(.is-scrolled) {
	background: transparent;
}
.hh-header.is-scrolled { background: var(--hh-secondary); }

@media (max-width: 1023px) {
	.hh-header { background: var(--hh-secondary) !important; }
}

.hh-nav {
	width: 100%;
}
.hh-nav__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 5rem;
}
@media (min-width: 768px) { .hh-nav__bar { height: 6rem; } }

.hh-nav__logo img {
	height: 50px;
	width: auto;
	object-fit: contain;
}
@media (min-width: 640px) { .hh-nav__logo img { height: 60px; } }
@media (min-width: 768px) { .hh-nav__logo img { height: 70px; } }

.hh-nav__desktop {
	display: none;
	align-items: center;
	gap: 0.25rem;
}
@media (min-width: 1024px) { .hh-nav__desktop { display: flex; } }

.hh-nav__list {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0.25rem;
}
.hh-nav__item { position: relative; }

.hh-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.5rem 1rem;
	border-radius: var(--hh-radius);
	font-size: 0.875rem;
	font-weight: 500;
	color: #fff;
	transition: color 200ms ease;
}
.hh-nav__link:hover, .hh-nav__link.is-active { color: var(--hh-primary); }

.hh-nav__link--has-caret .hh-nav__caret {
	width: 1rem; height: 1rem; transform: rotate(90deg);
	transition: transform 200ms ease;
}
.hh-nav__item--has-dropdown[data-open="true"] .hh-nav__caret { transform: rotate(-90deg); }

.hh-nav__dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 18rem;
	background: var(--hh-card);
	color: var(--hh-fg);
	border-radius: var(--hh-radius-lg);
	box-shadow: var(--hh-shadow-elevated);
	border: 1px solid rgba(230, 230, 230, 0.5);
	padding: 0.5rem;
	z-index: 50;
	opacity: 0;
	transform: translateY(0.5rem);
	pointer-events: none;
	transition: opacity 200ms ease, transform 200ms ease;
}
.hh-nav__item--has-dropdown[data-open="true"] .hh-nav__dropdown {
	opacity: 1; transform: translateY(0); pointer-events: auto;
}

.hh-nav__dropdown-link {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.75rem 1rem;
	border-radius: var(--hh-radius);
	color: var(--hh-fg);
	font-size: 0.875rem;
	transition: background 200ms ease;
}
.hh-nav__dropdown-link:hover { background: rgba(184, 150, 12, 0.05); color: var(--hh-primary); }
.hh-nav__dropdown-link--all {
	border-bottom: 1px solid rgba(230, 230, 230, 0.5);
	margin-bottom: 0.5rem;
	font-weight: 500;
}
.hh-nav__dropdown-icon {
	width: 2rem; height: 2rem;
	background: rgba(184, 150, 12, 0.1);
	border-radius: var(--hh-radius);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--hh-primary);
	flex-shrink: 0;
}
.hh-nav__dropdown-icon .hh-icon { width: 1rem; height: 1rem; }
.hh-nav__dropdown-text { display: flex; flex-direction: column; }
.hh-nav__dropdown-name { font-weight: 500; }
.hh-nav__dropdown-subtitle { font-size: 0.75rem; color: var(--hh-muted-fg); }

.hh-nav__cta {
	margin-left: 0.5rem;
	padding: 0.5rem 1rem;
	border-radius: var(--hh-radius);
	background: var(--hh-primary);
	color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
	white-space: nowrap;
	transition: background 200ms ease;
}
.hh-nav__cta:hover { background: var(--hh-primary-hover); color:#fff; }

.hh-nav__phone {
	margin-left: 0.5rem;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
	white-space: nowrap;
}
.hh-nav__phone:hover { color: var(--hh-primary); }

.hh-nav__mobile-controls {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
@media (min-width: 1024px) { .hh-nav__mobile-controls { display: none; } }

.hh-nav__mobile-phone {
	width: 40px; height: 40px;
	border-radius: var(--hh-radius);
	display: none;
	align-items: center;
	justify-content: center;
	color: #fff;
}
@media (min-width: 768px) and (max-width: 1023px) { .hh-nav__mobile-phone { display: inline-flex; } }
.hh-nav__mobile-phone:hover { color: var(--hh-primary); }

.hh-nav__toggle {
	width: 44px; height: 44px;
	background: transparent;
	border: 0;
	padding: 8px;
	display: inline-flex;
	flex-direction: column;
	gap: 5px;
	justify-content: center;
	align-items: center;
}
.hh-nav__toggle-bar {
	display: block;
	width: 24px;
	height: 2px;
	background: #fff;
	transition: all 200ms ease;
}
.hh-nav__toggle[aria-expanded="true"] .hh-nav__toggle-bar:nth-child(1) {
	transform: rotate(45deg) translate(5px, 5px);
}
.hh-nav__toggle[aria-expanded="true"] .hh-nav__toggle-bar:nth-child(2) { opacity: 0; }
.hh-nav__toggle[aria-expanded="true"] .hh-nav__toggle-bar:nth-child(3) {
	transform: rotate(-45deg) translate(5px, -5px);
}

/* ---------- Mobile menu ---------- */
.hh-nav__mobile {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 1rem 0 1.5rem;
	border-top: 1px solid rgba(255,255,255,0.1);
}
.hh-nav__mobile[hidden] { display: none; }
.hh-nav__mobile-link {
	padding: 0.75rem 1rem;
	color: rgba(255,255,255,0.85);
	font-weight: 500;
	border-radius: var(--hh-radius);
}
.hh-nav__mobile-link:hover, .hh-nav__mobile-link.is-active { color: var(--hh-primary); }
.hh-nav__mobile-accordion summary { list-style: none; cursor: pointer; }
.hh-nav__mobile-accordion summary::-webkit-details-marker { display: none; }
.hh-nav__mobile-link--summary { display: flex; align-items: center; justify-content: space-between; }
.hh-nav__mobile-link--summary::after {
	content: ''; display: inline-block; width: 0.5rem; height: 0.5rem;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg); transition: transform 200ms ease;
}
.hh-nav__mobile-accordion[open] .hh-nav__mobile-link--summary::after { transform: rotate(-135deg); }
.hh-nav__mobile-sub { padding: 0.5rem 0 0.5rem 1rem; }
.hh-nav__mobile-sublink {
	display: block;
	padding: 0.5rem 1rem;
	color: rgba(255,255,255,0.7);
	font-size: 0.875rem;
	border-radius: var(--hh-radius);
}
.hh-nav__mobile-sublink:hover { color: var(--hh-primary); }
.hh-nav__mobile-cta {
	margin: 0.75rem 1rem 0;
	padding: 0.75rem 1rem;
	background: var(--hh-primary);
	color: #fff;
	border-radius: var(--hh-radius);
	text-align: center;
	font-weight: 600;
}
.hh-nav__mobile-cta:hover { background: var(--hh-primary-hover); color: #fff; }
.hh-nav__mobile-tel {
	display: flex; align-items: center; justify-content: center; gap: 0.5rem;
	margin: 0.5rem 1rem 0;
	padding: 0.75rem 1rem;
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: var(--hh-radius);
	color: #fff;
	font-weight: 500;
}
.hh-nav__mobile-tel:hover { border-color: rgba(184, 150, 12, 0.3); color: var(--hh-primary); }

/* ---------- Main spacing for fixed header ---------- */
.hh-main {
	padding-top: 5rem;
	padding-bottom: 8rem;
	min-height: 60vh;
}
@media (min-width: 768px) { .hh-main { padding-top: 6rem; } }
@media (min-width: 1024px) { .hh-main { padding-bottom: 0; } }

/* When hero is full-bleed, override the top padding */
body.has-dark-hero .hh-main { padding-top: 0; }

/* ============================================================================
 * Footer
 * ============================================================================ */
.hh-footer {
	background: var(--hh-secondary);
	color: rgba(255,255,255,0.7);
}
.hh-footer__inner { padding: 2.5rem 0 0; }
@media (min-width: 768px) { .hh-footer__inner { padding-top: 3.5rem; } }

.hh-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}
@media (min-width: 768px) { .hh-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .hh-footer__grid { grid-template-columns: repeat(4, 1fr); } }

.hh-footer__col { display: flex; flex-direction: column; gap: 1rem; }
.hh-footer__logo { height: 50px; margin-bottom: 0.5rem; }
.hh-footer__intro { font-size: 0.875rem; line-height: 1.6; color: rgba(255,255,255,0.7); }
.hh-footer__title { color: var(--hh-primary); font-family: var(--hh-font-serif); font-size: 1.125rem; margin-bottom: 0.5rem; }

.hh-footer__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.hh-footer__list--icons li { display: flex; align-items: flex-start; gap: 0.75rem; }
.hh-footer__list--icons .hh-icon { color: var(--hh-primary); margin-top: 0.125rem; }

.hh-footer__link {
	color: rgba(255,255,255,0.7);
	font-size: 0.875rem;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	transition: color 200ms ease;
}
.hh-footer__link:hover { color: var(--hh-primary); }
.hh-footer__link .hh-icon { color: var(--hh-primary); }

.hh-footer__hours { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 0.875rem; }
.hh-footer__hours .hh-icon { color: var(--hh-primary); margin-top: 0.125rem; }
.hh-footer__hours p { margin: 0 0 0.25rem; }

.hh-footer__trust {
	margin-top: 1rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.hh-footer__trust a {
	background: #fff;
	border-radius: var(--hh-radius);
	padding: 0.5rem;
	display: inline-flex;
	transition: opacity 200ms ease;
}
.hh-footer__trust a:hover { opacity: 0.8; }
.hh-footer__trust img { height: 48px; width: auto; }

.hh-footer__social {
	display: inline-flex;
	color: rgba(255,255,255,0.7);
	transition: color 200ms ease;
}
.hh-footer__social:hover { color: var(--hh-primary); }
.hh-footer__social svg { width: 20px; height: 20px; }

.hh-footer__bottom {
	margin-top: 2rem;
	padding: 1.5rem 0;
	border-top: 1px solid rgba(255,255,255,0.1);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}
@media (min-width: 768px) { .hh-footer__bottom { flex-direction: row; justify-content: space-between; } }
.hh-footer__copy { font-size: 0.875rem; color: rgba(255,255,255,0.5); margin: 0; }
.hh-footer__legal { display: flex; gap: 1.5rem; }
.hh-footer__legal a { color: rgba(255,255,255,0.5); font-size: 0.875rem; }

.hh-footer__rk {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	padding: 1rem 0;
	color: #ab966b;
	font-size: 0.75rem;
}
.hh-footer__rk:hover { opacity: 0.8; color: #ab966b; }

/* ---------- Sticky emergency bar (mobile) ---------- */
.hh-emergency-bar {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 50;
	background: var(--hh-emergency);
	color: var(--hh-emergency-fg);
	padding: 0.75rem 1rem;
	box-shadow: 0 -4px 12px rgba(0,0,0,0.1);
	display: none;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
}
.hh-emergency-bar a { color: #fff; display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 600; }
@media (max-width: 1023px) { .hh-emergency-bar { display: flex; } }

/* ---------- Sticky side actions (desktop) ---------- */
.hh-sticky-side {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 40;
	display: none;
	flex-direction: column;
	gap: 0.5rem;
	align-items: flex-end;
}
@media (min-width: 1024px) { .hh-sticky-side { display: flex; } }

.hh-sticky-side__btn {
	display: inline-flex;
	align-items: center;
	background: var(--hh-primary);
	color: #fff;
	border-radius: 0.75rem 0 0 0.75rem;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	overflow: hidden;
	transition: width 300ms ease;
	width: 56px;
	height: 56px;
}
.hh-sticky-side__btn--mail { background: #fff; color: var(--hh-fg); }
.hh-sticky-side__btn:hover { width: 240px; color:#fff; }
.hh-sticky-side__btn--mail:hover { color: var(--hh-fg); }
.hh-sticky-side__icon {
	width: 56px; height: 56px;
	display: inline-flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.hh-sticky-side__icon .hh-icon { width: 1.5rem; height: 1.5rem; }
.hh-sticky-side__label {
	white-space: nowrap;
	padding-right: 1rem;
	font-weight: 500;
	font-size: 0.875rem;
	opacity: 0;
	transition: opacity 200ms ease 100ms;
}
.hh-sticky-side__btn:hover .hh-sticky-side__label { opacity: 1; }

/* ============================================================================
 * Hero Layout (.hh-hero) — universal hero w/ style modifiers
 * ============================================================================ */
.hh-hero {
	position: relative;
	min-height: 76vh;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.hh-hero--tall { min-height: 90vh; }
.hh-hero--top { align-items: flex-start; padding-top: 8rem; }
.hh-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.hh-hero__bg img {
	width: 100%; height: 100%; object-fit: cover;
}
.hh-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to right, rgba(26, 26, 26, 0.7), rgb(26 26 26 / 72%), rgba(26, 26, 26, 0.25));
}
.hh-hero--tall .hh-hero__overlay {
	background: linear-gradient(to right, rgba(26,26,26,0.7), rgba(26,26,26,0.5), rgba(26,26,26,0.25));
}
.hh-hero__inner {
	position: relative;
	z-index: 10;
	padding: 5rem 0;
	width: 100%;
}
.hh-hero__content {
    max-width: 44rem;
    color: #fff;
    text-align: left;
    margin: auto;
}.hh-hero__eyebrow { color: var(--hh-primary); font-weight: 500; margin-bottom: 0.75rem; }
.hh-hero__title {
	font-size: 48px;
	color: #fff;
	margin: 0 0 1.5rem;
	font-family: lato;
}
/* for the homepage hero section */
.hh-hero__subtitle {
    font-size: 20px;
    color: rgba(255, 255, 255, 0.8);
    max-width: 32rem;
    text-align: left;
}

/* for inner pages hero section */

.hh-innerpage-subtitle .hh-hero__subtitle {
    font-size: 18px !important;
    color: rgba(255, 255, 255, 0.8);
    max-width: 42rem !important;
    text-align: left;
}


/* for galery page */

.hh-innerpage-galeire .hh-hero__subtitle {
    text-align: center;
	font-size: 18px !important;
	margin: auto;

}




.hh-hero__buttons { display: flex; flex-direction: column; gap: 1rem;}
@media (min-width: 640px) { .hh-hero__buttons { flex-direction: row; } }

/* style: centered_light (Ablauf, Aktuelles, Bestattungsarten orphans) */
.hh-hero--centered-light {
	min-height: 0;
	background: linear-gradient(to bottom, var(--hh-bg), var(--hh-muted));
	padding: 8rem 0 4rem;
}
.hh-hero--centered-light .hh-hero__content { max-width: 48rem; margin: 0 auto; text-align: center; color: var(--hh-fg); }
.hh-hero--centered-light .hh-hero__title { color: var(--hh-fg); }
.hh-hero--centered-light .hh-hero__subtitle { color: var(--hh-muted-fg); margin-left: auto; margin-right: auto; }
.hh-hero--centered-light .hh-hero__buttons { justify-content: center; }

/* style: secondary_bg (Galerie) */
.hh-hero--secondary {
	min-height: 0;
	background: var(--hh-secondary);
	color: #fff;
	padding: 7rem 0 4rem;
}
.hh-hero--secondary .hh-hero__content { max-width: 48rem; margin: 0 auto; text-align: center; }

/* style: parallax (Gedenkportal, Team) */
.hh-hero--parallax { min-height: 70vh; align-items: flex-end; padding-bottom: 3rem; }
.hh-hero--parallax .hh-hero__overlay {
	background:
		linear-gradient(to top, rgba(26,26,26,0.6), rgba(26,26,26,0.2), transparent),
		linear-gradient(to top, rgba(26,26,26,0.35), rgba(26,26,26,0.35));
}
.hh-hero--parallax .hh-hero__content { max-width: 48rem; margin: 0 auto; text-align: center; }
.hh-hero--parallax .hh-hero__icon-circle {
	width: 4rem; height: 4rem;
	background: rgba(255,255,255,0.2);
	border: 1px solid rgba(255,255,255,0.3);
	backdrop-filter: blur(8px);
	border-radius: 9999px;
	display: flex; align-items: center; justify-content: center;
	color: #fff;
	margin: 0 auto 1.5rem;
}
.hh-hero--parallax .hh-hero__icon-circle .hh-icon { width: 2rem; height: 2rem; }

/* style: location */
.hh-hero--location {
	min-height: 0;
	background: linear-gradient(to bottom, rgba(184,150,12,0.1), var(--hh-bg));
	padding: 7rem 0 4rem;
}
.hh-hero--location .hh-hero__content { color: var(--hh-fg); }
.hh-hero--location .hh-hero__title { color: var(--hh-fg); }
.hh-hero--location .hh-hero__subtitle { color: var(--hh-muted-fg); }

.hh-hero__scroll-indicator {
	position: absolute;
	bottom: 2rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
}
.hh-hero__scroll-indicator-dot {
	width: 1.5rem;
	height: 2.5rem;
	border: 2px solid rgba(255,255,255,0.3);
	border-radius: 9999px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding: 0.5rem;
}
.hh-hero__scroll-indicator-dot::after {
	content: '';
	display: block;
	width: 6px; height: 6px;
	background: rgba(255,255,255,0.6);
	border-radius: 9999px;
	animation: hh-scroll 1.5s ease-in-out infinite;
}
@keyframes hh-scroll {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(12px); }
}

/* ============================================================================
 * Icon-text grid (.hh-grid) — universal cards layout w/ many style variants
 * ============================================================================ */
.hh-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 1fr;
}
.hh-grid--cols-2 { grid-template-columns: 1fr; }
.hh-grid--cols-3 { grid-template-columns: 1fr; }
.hh-grid--cols-4 { grid-template-columns: 1fr; }
.vorsouge-grid-sec .hh-grid--cols-2{
	grid-template-columns: repeat(2, 1fr);
	max-width: 52rem !important;
	margin: auto !important;
}
@media (min-width: 640px) {
	.hh-grid--cols-2, .hh-grid--cols-3, .hh-grid--cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.hh-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
	.hh-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }
}

/* Items: trust 3-col centered */
.hh-tile { padding: 1.5rem; }
.hh-tile--centered { text-align: center; }
.hh-tile--centered .hh-tile__icon-wrap {
	width: 4rem; height: 4rem; margin: 0 auto 1rem;
	background: rgba(184, 150, 12, 0.1);
	border-radius: 9999px;
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
}
.hh-tile--centered .hh-tile__icon-wrap .hh-icon { width: 1.75rem; height: 1.75rem; }
.hh-tile__title {
    font-family: 'Lato';
    font-size: 18px;
    margin: 0 0 0.5rem;
    font-weight: 500;
}.hh-tile__text { color: var(--hh-muted-fg); margin: 0; font-size: 14px; line-height: 1.6; }


.hh__tile__title  .hh-tile__text{font-size: 16px !important;}

/* Items: card with icon-on-side */
.hh-tile--card-side {
	background: var(--hh-card);
	border: 1px solid rgba(230,230,230,0.5);
	border-radius: var(--hh-radius-lg);
	box-shadow: var(--hh-shadow-card);
	display: flex;
	gap: 1.25rem;
	transition: box-shadow 300ms ease;
}
.hh-tile--card-side:hover { box-shadow: var(--hh-shadow-elevated); }
.hh-tile--card-side .hh-tile__icon-wrap {
	width: 3.5rem; height: 3.5rem;
	background: rgba(184, 150, 12, 0.1);
	border-radius: var(--hh-radius);
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
	flex-shrink: 0;
}

/* Items: small icon + text (weitere_leistungen, unterlagen) */
.hh-tile--small {
	padding: 1.25rem;
	background: var(--hh-card);
	border: 1px solid rgba(230,230,230,0.5);
	border-radius: 0.75rem;
	box-shadow: var(--hh-shadow-card);
	display: flex;
	gap: 1rem;
	transition: box-shadow 300ms ease;
}
.hh-tile--small:hover { box-shadow: var(--hh-shadow-elevated); }
.hh-tile--small .hh-tile__icon-wrap {
	width: 2.75rem; height: 2.75rem;
	background: rgba(184,150,12,0.1);
	border-radius: var(--hh-radius);
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
	flex-shrink: 0;
}
.hh-tile--small .hh-tile__title { font-size: 1rem; font-weight: 500; }
.hh-tile--small .hh-tile__text { font-size: 0.875rem; }

/* Items: service card with link arrow (Home services) */
.hh-tile--service {
	background: var(--hh-card);
	border: 1px solid rgba(230,230,230,0.5);
	border-radius: var(--hh-radius-lg);
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	box-shadow: var(--hh-shadow-card);
	transition: all 300ms ease;
	height: 100%;
}
.hh-tile--service:hover { box-shadow: var(--hh-shadow-elevated); transform: translateY(-2px); }
.hh-tile--service .hh-tile__icon-wrap {
	width: 3rem; height: 3rem;
	background: rgba(184,150,12,0.1);
	border-radius: var(--hh-radius);
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
}
.hh-tile--service .hh-tile__title { font-size: 1.125rem; }
.hh-tile--service .hh-tile__title a:hover { color: var(--hh-primary); }
.hh-tile--service .hh-tile__link {
	margin-top: auto;
	color: var(--hh-primary);
	font-size: 0.875rem;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	transition: gap 200ms ease;
}
.hh-tile--service .hh-tile__link:hover { gap: 0.5rem; }

/* Items: card with bullets */
.hh-tile--bullets {
	background: var(--hh-card);
	border: 1px solid rgba(230,230,230,0.5);
	border-radius: var(--hh-radius-lg);
	padding: 2rem;
	box-shadow: var(--hh-shadow-card);
}
.hh-tile--bullets .hh-tile__icon-wrap {
	width: 3.5rem; height: 3.5rem;
	background: rgba(184,150,12,0.1);
	border-radius: var(--hh-radius);
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
	margin-bottom: 1.25rem;
}
.hh-tile--bullets .hh-tile__title { font-family: lato; font-size: 1.25rem; margin-bottom: 0.75rem; }
.hh-tile--bullets ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.hh-tile--bullets ul li { display: flex; align-items: flex-start; gap: 0.5rem; color: var(--hh-muted-fg); font-size: 0.875rem; }
.hh-tile--bullets ul li .hh-icon { color: var(--hh-primary); width: 1rem; height: 1rem; margin-top: 0.125rem; flex-shrink: 0; }
.hh-tile--bullets .hh-tile__link { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--hh-primary); font-size: 0.875rem; font-weight: 500; margin-top: 1rem; }
.hh-tile--bullets .hh-tile__link:hover { text-decoration: underline; }

/* Items: numbered step card (Bestattungsart Ablauf) */
.hh-tile--step {
	background: var(--hh-card);
	border: 1px solid rgba(230,230,230,0.5);
	border-radius: var(--hh-radius-lg);
	padding: 1.5rem;
	display: flex;
	gap: 1.25rem;
	box-shadow: var(--hh-shadow-card);
}
.hh-tile--step .hh-tile__step-icon-wrap {
	position: relative;
	flex-shrink: 0;
}
.hh-tile--step .hh-tile__icon-wrap {
	width: 3.5rem; height: 3.5rem;
	background: rgba(184,150,12,0.1);
	border-radius: var(--hh-radius);
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
}
.hh-tile--step .hh-tile__step-number {
	position: absolute;
	top: -0.5rem; right: -0.5rem;
	width: 1.75rem; height: 1.75rem;
	background: var(--hh-primary);
	color: #fff;
	border-radius: 9999px;
	font-size: 0.75rem;
	font-weight: 700;
	display: flex; align-items: center; justify-content: center;
}
.hh-tile--step .hh-tile__title { font-size: 1.125rem; }
.hh-tile--step .hh-tile__text { font-size: 0.875rem; line-height: 1.6; }

/* ============================================================================
 * Image+Text alternating
 * ============================================================================ */
.hh-imagetext {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	align-items: center;
}
@media (min-width: 1024px) {
	.hh-imagetext { grid-template-columns: 1fr 1fr; gap: 3rem; }
}
.hh-imagetext + .hh-imagetext { margin-top: 6rem; }
.hh-imagetext__img {
	aspect-ratio: 4 / 3;
	border-radius: var(--hh-radius-xl);
	overflow: hidden;
	/* box-shadow: var(--hh-shadow-elevated); */
	background: var(--hh-muted);
}
.hh-imagetext__img img { width: 100%; height: 100%; object-fit: cover; }
.hh-imagetext__img--contain img { object-fit: contain; }

@media (min-width: 1024px) {
	.hh-imagetext--reverse .hh-imagetext__text { order: 1; }
	.hh-imagetext--reverse .hh-imagetext__img-wrap { order: 2; }
}
.hh-imagetext__text p { color: var(--hh-muted-fg); line-height: 1.7; }

.hh-imagetext__pills {
	display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.25rem;
}
.hh-imagetext__pill {
	background: var(--hh-secondary);
	color: var(--hh-primary);
	padding: 0.5rem 1rem;
	border-radius: 9999px;
	font-size: 0.875rem;
	font-weight: 500;
}

.hh-imagetext__check-list {
	list-style: none; padding: 0; margin: 0 0 1.5rem; display: flex; flex-direction: column; gap: 0.75rem;
}
.hh-imagetext__check-list li { display: flex; align-items: flex-start; gap: 0.75rem; color: rgba(26,26,26,0.8); }
.hh-imagetext__check-list .hh-icon { color: var(--hh-primary); margin-top: 0.125rem; flex-shrink: 0; }

/* Image-cards grid (services with images) */
.hh-image-card {
	display: flex;
	flex-direction: column;
	background: var(--hh-card);
	border: 1px solid rgba(230,230,230,0.5);
	border-radius: var(--hh-radius-xl);
	overflow: hidden;
	box-shadow: var(--hh-shadow-card);
	transition: all 300ms ease;
}
.hh-image-card:hover { box-shadow: var(--hh-shadow-elevated); transform: translateY(-2px); color: inherit; }
.hh-image-card__media {
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.hh-image-card__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform 500ms ease;
}
.hh-image-card:hover .hh-image-card__media img { transform: scale(1.05); }
.hh-image-card__body { padding: 1.5rem; }
.hh-image-card__subtitle { font-size: 0.75rem; font-weight: 500; color: var(--hh-primary); margin-bottom: 0.25rem; text-transform: uppercase; letter-spacing: 0.05em; }
.hh-image-card__title { font-family: lato; font-size: 1.25rem; margin: 0 0 0.5rem; }
.hh-image-card__text { color: var(--hh-muted-fg); font-size: 0.875rem; margin: 0 0 1rem; }
.hh-image-card__more {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	color: var(--hh-primary);
	font-size: 0.875rem;
	font-weight: 500;
	transition: gap 200ms ease;
}
.hh-image-card:hover .hh-image-card__more { gap: 0.5rem; }

/* ============================================================================
 * Process / Ablauf — variants
 * ============================================================================ */
.hh-steps__intro {
	color: var(--hh-muted-fg);
	margin-bottom: 2rem;
	line-height: 1.7;
}
/* style: simple_numbered_list */
.hh-steps--simple .hh-steps__list { display: flex; flex-direction: column; gap: 1.5rem; }
.hh-steps--simple .hh-steps__item { display: flex; align-items: flex-start; gap: 1rem; }
.hh-steps--simple .hh-steps__num {
	width: 2.5rem; height: 2.5rem;
	background: var(--hh-primary);
	color: #fff;
	border-radius: 9999px;
	font-weight: 600;
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.hh-steps--simple .hh-steps__title { font-family: var(--hh-font-serif); font-size: 1.125rem; margin: 0 0 0.25rem; }
.hh-steps--simple .hh-steps__text { color: var(--hh-muted-fg); font-size: 0.875rem; margin: 0; }

/* style: large_with_sublist (Trauerfall) */
.hh-steps--large { display: flex; flex-direction: column; gap: 2rem; }
.hh-steps--large .hh-steps__item {
	background: var(--hh-card);
	border: 1px solid rgba(230,230,230,0.5);
	border-radius: var(--hh-radius-lg);
	padding: 1.5rem;
	box-shadow: var(--hh-shadow-card);
}
.hh-steps--large .hh-steps__head { display: flex; align-items: flex-start; gap: 1.25rem; }
.hh-steps--large .hh-steps__icon-wrap {
	position: relative; flex-shrink: 0;
}
.hh-steps--large .hh-steps__icon {
	width: 3.5rem; height: 3.5rem;
	background: rgba(184,150,12,0.1);
	border-radius: var(--hh-radius);
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
}
.hh-steps--large .hh-steps__num {
	position: absolute; top: -0.5rem; right: -0.5rem;
	width: 1.75rem; height: 1.75rem;
	background: var(--hh-primary);
	color: #fff;
	border-radius: 9999px;
	font-size: 0.75rem;
	font-weight: 700;
	display: flex; align-items: center; justify-content: center;
}
.hh-steps--large .hh-steps__sublist {
	list-style: none; padding: 0; margin: 1.5rem 0 0;
	display: grid; grid-template-columns: 1fr; gap: 0.75rem;
}
@media (min-width: 640px) {
	.hh-steps--large .hh-steps__sublist { grid-template-columns: 1fr 1fr; padding-left: 4.75rem; }
}
.hh-steps--large .hh-steps__sublist li { display: flex; align-items: center; gap: 0.75rem; color: var(--hh-muted-fg); font-size: 0.875rem; }
.hh-steps--large .hh-steps__sublist .hh-icon { color: var(--hh-primary); width: 1rem; height: 1rem; }

/* style: timeline_alternating */
.hh-timeline { position: relative; }
@media (min-width: 1024px) {
	.hh-timeline::before {
		content: ''; position: absolute; left: 50%; top: 0; bottom: 0;
		width: 1px; background: var(--hh-border); transform: translateX(-50%);
	}
}
.hh-timeline__list { display: flex; flex-direction: column; gap: 3rem; }
.hh-timeline__item {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	align-items: center;
}
@media (min-width: 1024px) {
	.hh-timeline__item { grid-template-columns: 1fr 1fr; }
	.hh-timeline__item--right .hh-timeline__content { order: 2; padding-left: 4rem; }
	.hh-timeline__item--right .hh-timeline__spacer { order: 1; }
	.hh-timeline__item--left .hh-timeline__content { padding-right: 4rem; text-align: right; }
}
.hh-timeline__content { background: var(--hh-card); border: 1px solid rgba(230,230,230,0.5); border-radius: var(--hh-radius-lg); padding: 1.5rem; box-shadow: var(--hh-shadow-card); max-width: 36rem; }
@media (min-width: 1024px) { .hh-timeline__item--left .hh-timeline__content { margin-left: auto; } }
.hh-timeline__dot {
	display: none;
	position: absolute;
	left: 50%; top: 50%;
	transform: translate(-50%, -50%);
	width: 3rem; height: 3rem;
	background: var(--hh-primary);
	color: #fff;
	border-radius: 9999px;
	align-items: center; justify-content: center;
	z-index: 10;
}
@media (min-width: 1024px) { .hh-timeline__dot { display: flex; } }
.hh-timeline__head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.hh-timeline__head--reverse { flex-direction: row-reverse; }
.hh-timeline__head-icon-mobile {
	width: 2.5rem; height: 2.5rem;
	background: rgba(184,150,12,0.1);
	border-radius: var(--hh-radius);
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
}
@media (min-width: 1024px) { .hh-timeline__head-icon-mobile { display: none; } }
.hh-timeline__timing { font-size: 0.875rem; color: var(--hh-primary); font-weight: 500; }
.hh-timeline__title { font-family: var(--hh-font-serif); font-size: 1.25rem; margin: 0; }
.hh-timeline__desc { color: var(--hh-muted-fg); margin: 0 0 1rem; }
.hh-timeline__tasks { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.hh-timeline__tasks li { display: flex; align-items: center; gap: 0.5rem; color: rgba(26,26,26,0.8); font-size: 0.875rem; }
.hh-timeline__tasks .hh-icon { color: var(--hh-primary); width: 1rem; height: 1rem; flex-shrink: 0; }
@media (min-width: 1024px) {
	.hh-timeline__item--left .hh-timeline__tasks li { flex-direction: row-reverse; text-align: right; }
}

/* style: circles_3step (Gedenkportal "So funktioniert") */
.hh-process-circles { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 768px) { .hh-process-circles { grid-template-columns: repeat(3, 1fr); } }
.hh-process-circle { text-align: center; }
.hh-process-circle__num {
	width: 3.5rem; height: 3.5rem;
	background: var(--hh-primary);
	color: #fff;
	border-radius: 9999px;
	font-family: var(--hh-font-serif);
	font-size: 1.5rem;
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto 1rem;
}
.hh-process-circle h3 { font-family: var(--hh-font-serif); font-size: 1.25rem; margin: 0 0 0.5rem; }
.hh-process-circle p { color: var(--hh-muted-fg); font-size: 0.875rem; margin: 0; }

/* ============================================================================
 * Checklist
 * ============================================================================ */
.hh-checklist {
	display: flex; flex-direction: column; gap: 1rem;
	max-width: 42rem; margin: 0 auto;
}
.hh-checklist__item { display: flex; align-items: flex-start; gap: 1rem; }
.hh-checklist__check {
	width: 2rem; height: 2rem;
	background: rgba(184,150,12,0.1);
	border-radius: 9999px;
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
	flex-shrink: 0;
	margin-top: 0.125rem;
}
.hh-checklist__check .hh-icon { width: 1rem; height: 1rem; }
.hh-checklist__text { color: var(--hh-muted-fg); line-height: 1.7; margin: 0; }

/* Interactive (phases) */
.hh-checklist-interactive { display: flex; flex-direction: column; gap: 1.5rem; }
.hh-phase {
	background: var(--hh-card);
	border: 1px solid rgba(230,230,230,0.5);
	border-radius: var(--hh-radius-lg);
	padding: 1.5rem;
	box-shadow: var(--hh-shadow-card);
}
.hh-phase__header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.hh-phase__icon {
	width: 3rem; height: 3rem;
	background: rgba(184,150,12,0.1);
	border-radius: var(--hh-radius);
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
	flex-shrink: 0;
}
.hh-phase__title { font-family: var(--hh-font-serif); font-size: 1.25rem; margin: 0; }
.hh-phase__subtitle { color: var(--hh-muted-fg); font-size: 0.875rem; margin: 0; }
.hh-phase__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.hh-phase__item { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.5rem; border-radius: 0.5rem; cursor: pointer; }
.hh-phase__item:hover { background: rgba(184,150,12,0.04); }
.hh-phase__check-input {
	margin-top: 0.25rem; width: 1rem; height: 1rem; accent-color: var(--hh-primary);
	flex-shrink: 0;
}
.hh-phase__item-text { color: rgba(26,26,26,0.85); }
.hh-phase__item.is-done .hh-phase__item-text { text-decoration: line-through; color: var(--hh-muted-fg); }

/* ============================================================================
 * FAQ Accordion
 * ============================================================================ */
.hh-faq { display: flex; flex-direction: column; gap: 0.75rem; }
.hh-faq__item {
	background: var(--hh-card);
	border: 1px solid rgba(230,230,230,0.5);
	border-radius: var(--hh-radius-lg);
	box-shadow: var(--hh-shadow-card);
	overflow: hidden;
}
.hh-faq__summary {
	font-family: var(--hh-font-serif);
	font-size: 1rem;
	padding: 1.25rem 1.5rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	list-style: none;
	transition: color 200ms ease;
}
.hh-faq__summary::-webkit-details-marker { display: none; }

.hh-faq__summary:hover {
    color: var(--hh-primary);
    text-decoration: underline;
}.hh-faq__summary::after {
	content: '';
	width: 0.625rem; height: 0.625rem;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 250ms ease;
	flex-shrink: 0;
}
.hh-faq__item[open] .hh-faq__summary::after { transform: rotate(-135deg); }
.hh-faq__answer { padding: 0 1.5rem 1.5rem; color: var(--hh-muted-fg); line-height: 1.7; font-size: 14px; }

/* ============================================================================
 * CTA blocks
 * ============================================================================ */
.hh-cta { text-align: center; }
.hh-cta--dark { background: var(--hh-secondary); color: #fff; padding: 4rem 0; }
.hh-cta--dark h2 { color: #fff; }
.hh-cta--dark p { color: rgba(255,255,255,0.7); max-width: 36rem; margin-left: auto; margin-right: auto; font-size: 16px;}
@media (min-width: 768px) { .hh-cta--dark { padding: 6rem 0; } }

.hh-cta--primary { background: var(--hh-primary); color: var(--hh-primary-fg); padding: 4rem 0; }
.hh-cta--primary h2 { color: #fff; }
.hh-cta--primary p { color: rgba(255,255,255,0.85); max-width: 36rem; margin-left: auto; margin-right: auto; }
.hh-cta--primary .hh-btn--outline { border-color: rgba(255,255,255,0.5); color: #fff; }
.hh-cta--primary .hh-btn--outline:hover { background: rgba(255,255,255,0.1); color:#fff; }
@media (min-width: 768px) { .hh-cta--primary { padding: 6rem 0; } }

.hh-cta--soft { padding: 4rem 0; }
.hh-cta--soft .hh-cta__icon-wrap {
	width: 3rem; height: 3rem; margin: 0 auto 1.5rem; color: var(--hh-primary);
}
.hh-cta--soft .hh-cta__icon-wrap .hh-icon { width: 100%; height: 100%; }
@media (min-width: 768px) { .hh-cta--soft { padding: 6rem 0; } }

.hh-cta--inline-strip {
	padding: 3rem 0;
	background: var(--hh-muted);
}
.hh-cta--inline-strip .hh-inline-links {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem;
}
@media (min-width: 640px) { .hh-cta--inline-strip .hh-inline-links { flex-direction: row; gap: 2rem; } }
.hh-cta--inline-strip .hh-inline-links a {
	display: inline-flex; align-items: center; gap: 0.5rem;
	color: var(--hh-primary); font-weight: 500;
}
.hh-cta--inline-strip .hh-inline-links a:hover { text-decoration: underline; }

.hh-cta--emergency-strip {
	padding: 2rem 0;
	background: rgba(184,150,12,0.05);
	border-top: 1px solid rgba(184,150,12,0.2);
	border-bottom: 1px solid rgba(184,150,12,0.2);
}
.hh-cta--emergency-strip .hh-cta__inner {
	display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 1.5rem;
}
@media (min-width: 768px) { .hh-cta--emergency-strip .hh-cta__inner { flex-direction: row; } }
.hh-cta--emergency-strip .hh-cta__alert { display: flex; align-items: center; gap: 1rem; }
.hh-cta--emergency-strip .hh-cta__alert-icon {
	width: 3rem; height: 3rem; border-radius: 9999px;
	background: rgba(184,150,12,0.1);
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
}
.hh-cta--emergency-strip .hh-cta__alert-title { font-family: var(--hh-font-serif); font-size: 1.25rem; margin: 0; }
.hh-cta--emergency-strip .hh-cta__alert-sub { color: var(--hh-muted-fg); margin: 0; }

/* ============================================================================
 * Contact
 * ============================================================================ */
.hh-contact-strip-grid {
	display: grid; grid-template-columns: 1fr; gap: 1.5rem;
	background: var(--hh-card);
	border: 1px solid rgba(230,230,230,0.5);
	border-radius: var(--hh-radius-xl);
	padding: 2rem;
	box-shadow: var(--hh-shadow-card);
}
@media (min-width: 768px) { .hh-contact-strip-grid { grid-template-columns: repeat(3, 1fr); } }
.hh-contact-strip-grid__item { display: flex; align-items: flex-start; gap: 1rem; }
.hh-contact-strip-grid__icon {
	width: 3rem; height: 3rem;
	background: rgba(184,150,12,0.1);
	border-radius: 9999px;
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
	flex-shrink: 0;
}
.hh-contact-strip-grid__label { font-weight: 500; margin: 0 0 0.25rem; }
.hh-contact-strip-grid__value, .hh-contact-strip-grid__value a { color: var(--hh-muted-fg); font-size: 0.875rem; }

.hh-contact-cards {
	display: flex; flex-direction: column; gap: 1.5rem;
}
.hh-contact-cards__item { padding: 1.5rem; }
.hh-contact-cards__item-wrap { display: flex; align-items: flex-start; gap: 1rem; }
.hh-contact-cards__icon {
	width: 3rem; height: 3rem;
	background: rgba(184,150,12,0.1);
	border-radius: var(--hh-radius);
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
	flex-shrink: 0;
}
.hh-contact-cards__title {
    font-family: lato;
    font-size: 1.125rem;
    margin: 0 0 0.25rem;
}
.hh-contact-value {
    color: #c49a00;
}
.hh-contact-2col {
	display: grid; grid-template-columns: 1fr; gap: 3rem;
}
@media (min-width: 1024px) { .hh-contact-2col { grid-template-columns: 1fr 1fr; gap: 4rem; } }

.hh-contact-info-list { display: flex; flex-direction: column; gap: 1.5rem; margin-bottom: 2.5rem; }
.hh-contact-info-list__item { display: flex; align-items: flex-start; gap: 1rem; }
.hh-contact-info-list__icon {
	width: 2.5rem; height: 2.5rem;
	background: rgba(184,150,12,0.1);
	border-radius: var(--hh-radius);
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
	flex-shrink: 0;
}
.hh-contact-info-list__label { font-weight: 500; margin: 0 0 0.25rem; }

.hh-contact-map {
	border-radius: var(--hh-radius-xl);
	overflow: hidden;
	border: 1px solid rgba(230,230,230,0.5);
	box-shadow: var(--hh-shadow-card);
	min-height: 400px;
}
.hh-contact-map iframe { width: 100%; height: 100%; min-height: 400px; border: 0; }

.hh-contact-form-wrap h2 { margin-top: 0; }
.hh-contact-form-intro { color: var(--hh-muted-fg); margin-bottom: 2rem; }

/* ============================================================================
 * Gallery (lightbox)
 * ============================================================================ */
.hh-gallery {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 640px) { .hh-gallery { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .hh-gallery { grid-template-columns: repeat(3, 1fr); } }
.hh-gallery__item {
	aspect-ratio: 4 / 3;
	border-radius: var(--hh-radius-lg);
	overflow: hidden;
	box-shadow: var(--hh-shadow-card);
	cursor: pointer;
	border: 0;
	padding: 0;
	background: var(--hh-muted);
	position: relative;
}
.hh-gallery__item img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform 500ms ease;
}
.hh-gallery__item:hover img { transform: scale(1.05); }
.hh-gallery__item::after {
	content: '';
	position: absolute; inset: 0;
	background: rgba(26,26,26,0);
	transition: background 300ms ease;
}
.hh-gallery__item:hover::after { background: rgba(26,26,26,0.2); }

.hh-lightbox {
	position: fixed; inset: 0; z-index: 100;
	background: rgba(26,26,26,0.92);
	display: none;
	align-items: center; justify-content: center;
	padding: 1rem;
}
.hh-lightbox.is-open { display: flex; }
.hh-lightbox__close {
	position: absolute; top: 1.5rem; right: 1.5rem;
	background: transparent; border: 0;
	color: #fff;
	cursor: pointer;
	transition: color 200ms ease;
}
.hh-lightbox__close:hover { color: var(--hh-primary); }
.hh-lightbox__close .hh-icon { width: 2rem; height: 2rem; }
.hh-lightbox__img {
	max-width: 100%;
	max-height: 85vh;
	object-fit: contain;
	border-radius: var(--hh-radius);
}

/* ============================================================================
 * Team grid
 * ============================================================================ */
.hh-team {
	display: grid; grid-template-columns: 1fr; gap: 2rem;
}
@media (min-width: 768px) { .hh-team { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .hh-team { grid-template-columns: repeat(3, 1fr); } }
.hh-team__card {
	background: var(--hh-card);
	border: 1px solid rgba(230,230,230,0.5);
	border-radius: var(--hh-radius-xl);
	overflow: hidden;
	box-shadow: var(--hh-shadow-card);
	transition: box-shadow 300ms ease;
}
.hh-team__card:hover { box-shadow: var(--hh-shadow-elevated); }
.hh-team__photo { position: relative; aspect-ratio: 1 / 1; overflow: hidden; }
.hh-team__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.hh-team__card:hover .hh-team__photo img { transform: scale(1.05); }
.hh-team__photo-overlay {
	position: absolute; inset: 0;
	background: linear-gradient(to top, rgba(26,26,26,0.6), transparent);
}
.hh-team__photo-name {
	position: absolute; bottom: 1rem; left: 1rem; right: 1rem;
	color: #fff;
}
.hh-team__photo-name h3 { font-family: var(--hh-font-serif); font-size: 1.25rem; margin: 0; color: #fff; }
.hh-team__photo-name p { color: rgba(255,255,255,0.9); font-size: 0.875rem; margin: 0; }
.hh-team__body { padding: 1.5rem; }
.hh-team__desc { color: var(--hh-muted-fg); font-size: 0.875rem; margin: 0 0 1rem; }
.hh-team__pills { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.hh-team__pill {
	background: rgba(184,150,12,0.1);
	color: var(--hh-primary);
	padding: 0.25rem 0.5rem;
	border-radius: 9999px;
	font-size: 0.75rem;
}
.hh-team__contact {
	display: flex; flex-direction: column; gap: 0.5rem;
	padding-top: 1rem; border-top: 1px solid rgba(230,230,230,0.5);
}
.hh-team__contact a {
	display: flex; align-items: center; gap: 0.5rem;
	color: var(--hh-muted-fg); font-size: 0.875rem;
	transition: color 200ms ease;
}
.hh-team__contact a:hover { color: var(--hh-primary); }

/* ============================================================================
 * Testimonials
 * ============================================================================ */
.hh-testimonials { display: grid; grid-template-columns: 1fr; gap: 2rem; max-width: 64rem; margin: 0 auto; }
@media (min-width: 768px) { .hh-testimonials { grid-template-columns: 1fr 1fr; } }
.hh-testimonial {
	background: var(--hh-card);
	border: 1px solid rgba(230,230,230,0.5);
	border-radius: var(--hh-radius-xl);
	padding: 2rem;
	margin: 0;
}
.hh-testimonial__stars { display: flex; gap: 0.25rem; margin-bottom: 1rem; color: var(--hh-primary); }
.hh-testimonial__stars .hh-icon { width: 1rem; height: 1rem; fill: currentColor; }
.hh-testimonial__quote { font-style: italic; color: var(--hh-muted-fg); margin: 0 0 1.5rem; line-height: 1.7; }
.hh-testimonial__footer { display: flex; align-items: center; gap: 0.75rem; }
.hh-testimonial__avatar {
	width: 2.5rem; height: 2.5rem;
	background: rgba(184,150,12,0.1);
	border-radius: 9999px;
	display: flex; align-items: center; justify-content: center;
	color: var(--hh-primary);
}
.hh-testimonial__author { font-weight: 500; font-style: normal; }
.hh-testimonial__location { color: var(--hh-muted-fg); font-size: 0.875rem; }

/* ============================================================================
 * Video block
 * ============================================================================ */
.hh-video {
	aspect-ratio: 16 / 9;
	border-radius: var(--hh-radius-xl);
	overflow: hidden;
	box-shadow: var(--hh-shadow-elevated);
	background: var(--hh-secondary);
}
.hh-video video, .hh-video iframe { width: 100%; height: 100%; object-fit: cover; border: 0; }

/* ============================================================================
 * Blog posts grid (Aktuelles)
 * ============================================================================ */
.hh-blog-filter {
	display: flex; flex-wrap: wrap; justify-content: center;
	gap: 0.5rem;
	padding: 2rem 0;
	border-bottom: 1px solid rgba(230,230,230,0.5);
}
.hh-blog-filter__btn {
	padding: 0.5rem 1rem;
	border-radius: 9999px;
	border: 0;
	background: var(--hh-muted);
	color: var(--hh-fg);
	font-size: 0.875rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 200ms ease;
}
.hh-blog-filter__btn:hover { background: rgba(184,150,12,0.1); color: var(--hh-primary); }
.hh-blog-filter__btn.is-active { background: var(--hh-primary); color: #fff; }

.hh-blog-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 768px) { .hh-blog-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .hh-blog-grid { grid-template-columns: repeat(3, 1fr); } }
.hh-blog-card {
	background: var(--hh-card);
	border: 1px solid rgba(230,230,230,0.5);
	border-radius: var(--hh-radius-xl);
	overflow: hidden;
	box-shadow: var(--hh-shadow-soft);
	transition: box-shadow 300ms ease;
}
.hh-blog-card:hover { box-shadow: var(--hh-shadow-elevated); }
.hh-blog-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	position: relative;
}
.hh-blog-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.hh-blog-card:hover .hh-blog-card__media img { transform: scale(1.05); }
.hh-blog-card__category {
	position: absolute; top: 1rem; left: 1rem;
	padding: 0.25rem 0.75rem;
	background: rgba(255,255,255,0.9);
	backdrop-filter: blur(6px);
	border-radius: 9999px;
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--hh-primary);
}
.hh-blog-card__body { padding: 1.5rem; }
.hh-blog-card__meta {
	display: flex; gap: 1rem; color: var(--hh-muted-fg); font-size: 0.875rem; margin-bottom: 0.75rem;
}
.hh-blog-card__meta span { display: inline-flex; align-items: center; gap: 0.25rem; }
.hh-blog-card__meta .hh-icon { width: 1rem; height: 1rem; }
.hh-blog-card__title { font-family: var(--hh-font-serif); font-size: 1.25rem; margin: 0 0 0.75rem; }
.hh-blog-card__title:hover { color: var(--hh-primary); }
.hh-blog-card__excerpt { color: var(--hh-muted-fg); font-size: 0.875rem; margin: 0 0 1rem; line-height: 1.6; }
.hh-blog-card__more {
	display: inline-flex; align-items: center; gap: 0.5rem;
	color: var(--hh-primary); font-size: 0.875rem; font-weight: 500;
}
.hh-blog-card__more:hover { gap: 0.75rem; }

/* ============================================================================
 * Newsletter signup
 * ============================================================================ */
.hh-newsletter { max-width: 36rem; margin: 0 auto; text-align: center; }

/* ============================================================================
 * Prose (richtext)
 * ============================================================================ */
.hh-prose { line-height: 1.75; }
.hh-prose p, .hh-prose ul, .hh-prose ol { margin: 0 0 1.25em; }
/* .hh-prose h2, .hh-prose h3, .hh-prose h4 { margin-top: 1.5em; } */
.hh-prose strong { font-weight: 600; }
.hh-prose a { color: var(--hh-primary); text-decoration: underline; }

/* ============================================================================
 * Image carousel (simple horizontal scroll)
 * ============================================================================ */
.hh-carousel { position: relative; }
.hh-carousel__track {
	display: flex;
	gap: 1rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 1rem;
	scrollbar-width: thin;
}
.hh-carousel__slide {
	flex: 0 0 100%;
	scroll-snap-align: start;
	border-radius: var(--hh-radius-xl);
	overflow: hidden;
	aspect-ratio: 16 / 9;
}
@media (min-width: 768px) { .hh-carousel__slide { flex: 0 0 calc(50% - 0.5rem); } }
@media (min-width: 1024px) { .hh-carousel__slide { flex: 0 0 calc(33.333% - 0.667rem); } }
.hh-carousel__slide img { width: 100%; height: 100%; object-fit: cover; }

/* ============================================================================
 * Animations on scroll (CSS-only, JS adds .is-visible)
 * ============================================================================ */
.hh-reveal {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.hh-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}
.hh-reveal-stagger > * {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.hh-reveal-stagger.is-visible > * { opacity: 1; transform: translateY(0); }
.hh-reveal-stagger.is-visible > *:nth-child(1) { transition-delay: 0.05s; }
.hh-reveal-stagger.is-visible > *:nth-child(2) { transition-delay: 0.10s; }
.hh-reveal-stagger.is-visible > *:nth-child(3) { transition-delay: 0.15s; }
.hh-reveal-stagger.is-visible > *:nth-child(4) { transition-delay: 0.20s; }
.hh-reveal-stagger.is-visible > *:nth-child(5) { transition-delay: 0.25s; }
.hh-reveal-stagger.is-visible > *:nth-child(6) { transition-delay: 0.30s; }
.hh-reveal-stagger.is-visible > *:nth-child(7) { transition-delay: 0.35s; }
.hh-reveal-stagger.is-visible > *:nth-child(8) { transition-delay: 0.40s; }

@media (prefers-reduced-motion: reduce) {
	.hh-reveal, .hh-reveal-stagger > * { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ============================================================================
 * Small utilities
 * ============================================================================ */
.hh-h1 { font-size: clamp(2rem, 4vw, 3rem); }
.hh-h2 {
    font-size: 36px;
    font-family: 'Lato';
}
.hh-h3 {
    font-family: 'Lato';
    font-size: 36px;
}
.hh-mt-0 { margin-top: 0; }
.hh-mb-0 { margin-bottom: 0; }
.hh-no-margin { margin: 0; }

/* Gravity Forms basic styling tweak — only kicks in if GF outputs into our container */
.hh-form .gform_wrapper { margin: 0; }
.hh-form .gform_wrapper .gfield_label { font-weight: 500; font-family: var(--hh-font-serif); }
.hh-form .gform_wrapper input[type="text"],
.hh-form .gform_wrapper input[type="email"],
.hh-form .gform_wrapper input[type="tel"],
.hh-form .gform_wrapper textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid var(--hh-border);
	border-radius: var(--hh-radius);
	font-family: var(--hh-font-sans);
	font-size: 1rem;
	background: var(--hh-bg);
}
.hh-form .gform_wrapper input:focus,
.hh-form .gform_wrapper textarea:focus {
	outline: 2px solid var(--hh-primary);
	outline-offset: 1px;
	border-color: var(--hh-primary);
}
.hh-form .gform_wrapper .gform_button {
	background: var(--hh-primary);
	color: #fff;
	border: 0;
	padding: 1rem 2rem;
	border-radius: var(--hh-radius);
	font-weight: 600;
	cursor: pointer;
	transition: background 200ms ease;
}
.hh-form .gform_wrapper .gform_button:hover { background: var(--hh-primary-hover); }



.about-page-heading .hh-h3 {
    font-family: 'Lato';
    font-size: 36px;
    display: none !important;
}

.lucide-mail rect {

    width: 20px;

    height: 16px;

}
 
/* trauff page */

h3.ablauf-title {
    font-size: 18px;
    font-family: 'Lato';
}

p.ablauf-para {
    font-size: 14px;
}
p.richetxt {
    color: #b8960c;
}

.custom-divider {
    width: 10%;
    height: 2px;
    background: #b8960c;
    margin: auto;
}

p.richtext-content {
    color: #666666;
    font-size: 16px;
    max-width: 42rem;
    margin: 20px auto;
}

summary.hh-faq__summary {
    font-family: 'Lato';
}

.divider-hide .hh-decorative-line {
    display: none;
}


.vorsouge-icons .hh-icon svg {
    width: 18px !important;
    height: 18px !important;
}


.hh-tile.hh-tile--centered {
    background: var(--hh-card);
    border: 1px solid rgba(230, 230, 230, 0.5);
    border-radius: var(--hh-radius-lg);
    padding: 1.5rem;
    gap: 1.25rem;
    box-shadow: var(--hh-shadow-card);
}

.waldbest__cards .hh-grid--cols-3 {
	grid-template-columns: repeat(3, 1fr);
	max-width: 52rem !important;
	margin: auto;
}


h3.contact-form {
    font-family: 'Lato';
    font-size: 30px;
}


.homepage-sec .hh-tile.hh-tile--centered {
    background: #ffffff00;
    border: 0;
    border-radius: 0;
    padding: 1.5rem;
    gap: 1.25rem;
    box-shadow: none;
}


/* =================== mobile responsivness ================== */


section.Impressum_section{
	width: 80%;
	margin: 100px auto;
}
section.Impressum_section h1{
font-size: 36px;
line-height: 40px;
font-family: "lato";
margin-bottom: 20px;
}
	section.Impressum_section h2{
font-size: 30px;
line-height: 36px;
font-family: "lato";
margin-bottom: 20px;
}

section.Impressum_section h3 {
    font-size: 26px;
    line-height: 30px;
    font-family: "lato";
    margin-bottom: 20px;
}
section.Impressum_section h4 {
    font-size: 22px;
    line-height: 36px;
    font-family: "lato";
    margin-bottom: 5px;
}
.gform_heading {
    display: none !important;
}
.gfield--type-checkbox .gfield_label {
    display: none !important;
}
label.gfield_label{
	font-family: "lato" !important;
}
input#gform_submit_button_1 {
    background: #b8960c;
}
.hh-hero__buttons a.hh-btn.hh-btn--emergency {
    flex-direction: row-reverse;
}
.homepage-sec {
    background: #f5f5f54d;
}
.homepage_four_sec {
    background: #f5f5f54d;
}
.homepage_four_sec a.hh-btn.hh-btn--trust {
    flex-direction: row-reverse;
}
.ubens_four_sec a.hh-btn.hh-btn--trust {
    flex-direction: row-reverse;
}
.vorsouge_third_sec a.hh-tile__link {
    flex-direction: row-reverse;
}

ul.hh-steps__sublist li img {
    width: 16px;
}
@media screen and (max-width: 1024px) {
  .hh-footer__trust {
    gap: 1.15rem;
}
.hh-container.hh-footer__inner {
    padding: 3.5rem 20px;
}
}

@media screen and (max-width: 768px) {
h1.hh-hero__title {
    font-size: 36px;
    line-height: 40px;
}
.homepage-sec .hh-grid--cols-3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.homepage_four_sec .hh-imagetext__img-wrap {
    order: 2;
}
.hh-footer__grid {
    padding: 10px;
}
img.hh-footer__logo {
    width: 50%;
    height: auto;
}
.hh-footer__bottom {
    padding: 20px;
}
}


@media screen and (max-width: 600px) {
	.vorsouge-grid-sec .hh-grid--cols-2 {
    grid-template-columns: 1fr;
    max-width: 52rem !important;
    margin: auto !important;
}
.vorsage_faq h2 {
    font-size: 30px;
}
.hh-footer__trust {
    justify-content: flex-start;
}
h1.hh-hero__title {
        font-size: 30px;
        line-height: 36px;
    }
	.homepage-sec .hh-grid--cols-3 {
        grid-template-columns: 1fr;
        gap: 10px;
    }
	.homepage_four_sec h2 {
    font-size: 30px;
    line-height: 36px;
}
.homepage_third_sec h2 {
    font-size: 28px;
    line-height: 36px;
}
.homepage_five_sec h2 {
    font-size: 28px;
    line-height: 36px;
}
}

@media screen and (min-width: 601px) and (max-width: 1024px) {
	.hh-main {
     padding-bottom: 0px !important;
	}
	
}



ul.hh-steps__sublist li img {
    width: 16px;
}
 



@media screen and (max-width: 600px) {

	.hh-hero__title {
		font-size: 30px;
	}
	.hh-hero__subtitle {
		font-size: 18px;
	}
	.hh-h2 {
		font-size: 30px;
		font-family: 'Lato';
	}
	h2.rich-text {
		font-size: 30px !important;
	}
	.hh-main {
		padding-bottom: 0px !important;
	   }
	   .waldbest__cards .hh-grid--cols-3 {
		grid-template-columns: 1fr;
		max-width: 52rem !important;
		margin: auto;
	}
	.trauff-icons .hh-icon {
		width: 26px;
		height: 26px;
	}
	section.Impressum_section h2 {
		font-size: 24px;
		line-height: 32px;
		font-family: "lato";
		margin-bottom: 20px;
	}

	
}

