/**
 * Page-level layout: homepage sections, blog, single, generic pages.
 */

.site-content { overflow-x: clip; }

/* ---------- Homepage hero (exact values from Elementor post-6.css) ---------- */
.home-hero {
	position: relative;
	background: #1c2b30 top right / cover no-repeat;
	color: var(--color-white);
	overflow: hidden;
}
/* Overlay: linear-gradient(280deg, transparent 39%, #000 73%) at 0.8 opacity → dark on the LEFT */
.home-hero::before {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(280deg, rgba(0, 0, 0, 0) 39%, rgba(0, 0, 0, 0.8) 73%);
}
.home-hero__inner {
	position: relative;
	max-width: none;            /* full width */
	margin: 0;
	width: 100%;
	min-height: 400px;
}
.home-hero__content {
	max-width: 880px;
	padding: 150px 80px 200px 80px;   /* only 80px left/right */
	display: flex; flex-direction: column; gap: 24px; align-items: flex-start;
}
/* Desktop: eyebrow on one line, heading exactly two (via its <br>) */
@media (min-width: 1251px) {
	.home-hero__eyebrow { white-space: nowrap; }
	.home-hero__title { white-space: nowrap; }
}
.home-hero__eyebrow { font-size: 25px; color: var(--color-white); }
.home-hero__eyebrow strong { font-weight: var(--font-weight-bold); }
.home-hero__title {
	font-family: var(--font-primary);
	font-weight: var(--font-weight-semibold);
	font-size: 56px;
	line-height: 1.5;
	letter-spacing: 0.7px;
	color: var(--color-white);
	text-shadow: 0 0 17px rgba(0, 0, 0, 0.3);
}
/* Original hero button has 50px top padding on top of the 24px widget gap (~74px total) */
.home-hero__content .btn { margin-top: 50px; }

/* ---------- Generic single-page content ---------- */
.page-body { padding: var(--section-padding) var(--container-padding); }
.page-body .container { max-width: 900px; }
.entry-content > * + * { margin-top: 1.25rem; }
.entry-content h2 { margin-top: 2rem; }
.entry-content h3 { margin-top: 1.5rem; }
.entry-content img { border-radius: var(--radius-md); }
.entry-content a { color: var(--color-cta); text-decoration: underline; }

/* Legal pages (dense text) */
.legal-page .entry-content { font-size: 1rem; line-height: var(--line-height-relaxed); }
.legal-page h3 { font-size: 2.5rem; line-height: 1.3; font-family: var(--font-primary); }

/* ---------- Blog ---------- */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--spacing-lg); }
.post-card {
	background: var(--color-white);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-card);
	overflow: hidden;
	display: flex; flex-direction: column;
	transition: transform var(--transition-normal);
}
.post-card:hover { transform: translateY(-4px); }
.post-card__thumb { aspect-ratio: 16 / 10; overflow: hidden; }
.post-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-card__body { padding: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; flex: 1; }
.post-card__meta { font-size: 0.85rem; color: var(--color-grey); }
.post-card__title { font-family: var(--font-primary); font-size: 1.375rem; }
.post-card__title a:hover { color: var(--color-cta); }

/* Single */
.single-post-header { text-align: center; max-width: 820px; margin: 0 auto var(--spacing-lg); }
.single-post__thumb { margin-bottom: var(--spacing-lg); }
.single-post__thumb img { width: 100%; border-radius: var(--radius-lg); }
.entry-meta { font-size: 0.9rem; color: var(--color-grey); display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.post-navigation { margin-top: var(--spacing-xl); display: flex; justify-content: space-between; gap: 1rem; }

.content-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--spacing-xl); }
.content-sidebar .sidebar .widget { margin-bottom: 2rem; }

/* ---------- 404 & search ---------- */
.error-404, .search-no-results { text-align: center; padding: var(--section-padding) var(--container-padding); }
.error-404 .code { font-size: 6rem; font-family: var(--font-primary); color: var(--color-cta); line-height: 1; }
.search-form { display: flex; gap: 0.5rem; max-width: 480px; margin: 1.5rem auto 0; }
.search-form button { padding: 0 1.25rem; background: var(--color-cta); color: #fff; border-radius: var(--radius-md); }

/* Reveal-on-scroll animation (animations.js) */
[data-animate] { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
[data-animate].is-visible { opacity: 1; transform: none; }
.no-js [data-animate] { opacity: 1; transform: none; }

/* Legal / text pages */
.legal-page .entry-content h2 { margin-top: 2rem; font-size: 1.75rem; }
.legal-page .entry-content h3 { margin-top: 1.5rem; }
.legal-page .entry-content ul { list-style: disc; padding-left: 1.25rem; }
.sitemap-list { list-style: none; padding: 0; columns: 2; }
.sitemap-list li { margin-bottom: 0.5rem; }
.sitemap-list a { color: var(--color-cta); }

/* Blog empty state */
.blog-empty { text-align: center; padding: 3rem 0; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }

/* Wider CTA band headline */
.cta-band--wide .cta-band__inner { max-width: var(--container-narrow); }

/* ============================================================
   Kontakt page
   ============================================================ */
.kontakt-hero {
	position: relative;
	background: #CCE6EB;
	padding: 80px 40px;
	overflow: hidden;
}
/* subtle curved sheen near the bottom, matching the original shape divider */
.kontakt-hero::after {
	content: "";
	position: absolute;
	left: -25%; right: -25%; bottom: -160px;
	height: 221px;
	background: rgba(255, 255, 255, 0.13);
	border-radius: 50% 50% 0 0;
}
.kontakt-hero .container { position: relative; z-index: 1; }
.kontakt-hero__title {
	font-family: var(--font-primary);
	font-weight: var(--font-weight-bold);
	font-size: 70px;
	letter-spacing: -1px;
	line-height: 1.1;
	color: #000;
	margin-left: -15px;
	text-shadow: 0 0 27px rgba(130, 221, 255, 0.46);
}

.kontakt-body { padding-top: 130px; padding-bottom: 100px; }
.kontakt-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 96px; }

/* Left: contact items */
.kontakt-info { display: flex; flex-direction: column; }
.contact-item {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 0 24px 16px 0;
	margin-bottom: 24px;
	border-bottom: 1px solid #EDEDED;
	color: inherit;
}
.contact-item:hover .contact-item__value { color: var(--color-cta); }
.contact-item__icon {
	flex: 0 0 auto;
	width: 54px; height: 54px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--color-cta);
	border-radius: var(--radius-round);
}
.contact-item__icon svg { height: 22px; width: auto; fill: #fff; }
.contact-item__text { display: flex; flex-direction: column; gap: 4px; }
.contact-item__label {
	font-family: var(--font-primary);
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #000;
}
.contact-item__value { font-size: 18px; font-weight: var(--font-weight-semibold); color: var(--color-text); transition: color var(--transition-fast); }

.kontakt-info__stay {
	font-family: var(--font-primary);
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-heading);
	margin: 32px 0 16px;
}
.social-icons--contact a { color: var(--color-cta); }
.social-icons--contact a:hover { color: var(--color-heading); }

/* Right: Gravity Forms styled to match the original */
.kontakt-form .gform_wrapper { margin: 0; }
.kontakt-form .gform_fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.kontakt-form .gfield { grid-column: 1 / -1; }
.kontakt-form .gfield.gf_left_half { grid-column: 1 / 2; }
.kontakt-form .gfield.gf_right_half { grid-column: 2 / 3; }
.kontakt-form .gfield_label { display: none; }
.kontakt-form input[type="text"],
.kontakt-form input[type="email"],
.kontakt-form select,
.kontakt-form textarea {
	width: 100%;
	padding: 14px 18px;
	font-size: 18px;
	line-height: 1.7;
	color: var(--color-text);
	border: 1px solid #EDEDED;
	border-radius: 4px;
	background: #fff;
	transition: border-color var(--transition-fast);
}
.kontakt-form textarea { min-height: 150px; resize: vertical; }
.kontakt-form select {
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	padding-right: 44px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2328B8B3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 20px;
}
.kontakt-form input:focus, .kontakt-form select:focus, .kontakt-form textarea:focus { border-color: var(--color-cta); outline: none; }
.kontakt-form .gform_footer { margin-top: 16px; }
.kontakt-form .gform_footer input[type="submit"],
.kontakt-form .gform_footer button {
	font-family: var(--font-secondary);
	font-size: 18px;
	font-weight: var(--font-weight-medium);
	text-transform: capitalize;
	color: #fff;
	background: var(--color-cta);
	border: 2px solid var(--color-cta);
	border-radius: 4px;
	padding: 12px 34px;
	cursor: pointer;
	transition: all var(--transition-normal);
}
.kontakt-form .gform_footer input[type="submit"]:hover,
.kontakt-form .gform_footer button:hover { background: #fff; color: var(--color-cta); }
.kontakt-form .gfield_required { color: var(--color-accent); }
.kontakt-form .validation_message, .kontakt-form .gfield_validation_message { color: #c0392b; font-size: 0.9rem; margin-top: 4px; }

/* Custom contact form — exact match to the original Elementor Pro form */
.hyp-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.hyp-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.hyp-form__field { grid-column: 1 / -1; }
.hyp-form__field--half { grid-column: span 1; }
.hyp-form input,
.hyp-form select,
.hyp-form textarea {
	width: 100%;
	padding: 14px 18px;
	font-family: var(--font-secondary);
	font-size: 18px;
	line-height: 1.7em;
	color: var(--color-text);
	background: #fff;
	border: 1px solid #EDEDED;
	border-radius: 4px;
	transition: border-color var(--transition-fast);
}
.hyp-form input::placeholder,
.hyp-form textarea::placeholder { color: #9a9a9a; opacity: 1; }
.hyp-form textarea { min-height: 150px; resize: vertical; }
.hyp-form input:focus, .hyp-form select:focus, .hyp-form textarea:focus { border-color: var(--color-cta); outline: none; }
.hyp-form select {
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	padding-right: 44px; color: var(--color-text); cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2328B8B3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 16px center; background-size: 20px;
}
.hyp-form__submit { margin-top: 8px; }
.hyp-form button[type="submit"] {
	width: 30%; min-width: 150px;
	font-family: var(--font-secondary);
	font-size: 18px; font-weight: var(--font-weight-medium);
	text-transform: capitalize;
	color: #fff; background: var(--color-cta);
	border: 2px solid var(--color-cta); border-radius: 4px;
	padding: 12px 8px; cursor: pointer;
	transition: all var(--transition-normal);
}
.hyp-form button[type="submit"]:hover { background: #fff; color: var(--color-cta); }
.hyp-form__error { color: #c0392b; margin-bottom: 16px; font-size: 0.95rem; }

@media (max-width: 767px) {
	.kontakt-hero { padding: 130px 26px 50px; }
	.kontakt-hero__title { font-size: 40px; }
	.kontakt-body { padding-top: 70px; padding-bottom: 48px; }
	.kontakt-grid { grid-template-columns: 1fr; gap: 48px; }
	.hyp-form__field--half { grid-column: 1 / -1; }
	.hyp-form button[type="submit"] { width: 100%; }
}

/* ============================================================
   Meine Leistungen
   ============================================================ */
.leistungen-banner {
	height: 300px;
	background: #1c2b30 center/cover no-repeat;
	background-attachment: fixed;
}
.leistungen-intro {
	position: relative;
	overflow: hidden;
	background: linear-gradient(50deg, #CCE6EB 10%, #CFE6E4 55%, #D6E7CE 90%);
	padding: 64px 80px 90px;
}
.leistungen-intro > .container { position: relative; z-index: 1; max-width: 1500px; margin: 0; }
.leistungen-intro__grid { display: grid; grid-template-columns: 58.796% 41.142%; gap: 0; align-items: start; }
.leistungen-intro__title { font-family: var(--font-primary); font-weight: var(--font-weight-bold); font-size: 60px; line-height: 80px; color: #00272F; margin-bottom: 1.25rem; }
.leistungen-intro__text { padding-right: 50px; }
.leistungen-intro__text p { max-width: 620px; font-family: var(--font-secondary); font-size: 18px; font-weight: var(--font-weight-normal); }

.toc-card {
	background: #FFFFFFDE;
	border: 1px solid #E4E4E4;
	border-radius: 9px;
	box-shadow: 0 0 30px -8px rgba(200, 200, 200, 0.5);
	padding: 40px;
}
.toc-card__title { font-family: var(--font-primary); font-weight: var(--font-weight-bold); font-size: 1.5rem; margin-bottom: 1.5rem; padding-bottom: 1.25rem; border-bottom: 1px solid #E4E4E4; color: var(--color-heading); }
ol.toc-card__list { list-style: decimal; padding-left: 1.6rem; color: var(--color-cta); }
ol.toc-card__list li { margin-bottom: 0.7rem; padding-left: 0.4rem; display: list-item; }
ol.toc-card__list li::marker { color: var(--color-cta); font-weight: var(--font-weight-semibold); }
ol.toc-card__list a { color: var(--color-text); }
ol.toc-card__list a:hover { color: var(--color-cta); text-decoration: underline; }

/* Alternating full-bleed service rows */
.service { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; scroll-margin-top: 100px; }
.service__media { position: relative; min-height: 460px; background: #dfe6e8 center/cover no-repeat; order: 2; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.service__body { order: 1; padding: 50px 50px 50px 100px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.service--image-left .service__media { order: 1; }
.service--image-left .service__body { order: 2; padding: 50px 100px 50px 50px; }

.service__num { font-family: var(--font-secondary); font-size: 18px; font-weight: var(--font-weight-bold); letter-spacing: 2px; color: var(--color-cta); margin-bottom: 0.5rem; }
.service__title { font-family: var(--font-primary); font-weight: var(--font-weight-bold); font-size: 48px; color: #00272F; }
.service__price { font-family: var(--font-secondary); font-size: 21px; color: #3E3E3E; margin: 0.35rem 0 0.75rem; }
.service .hyp-divider { margin: 8px 0 16px; }
.service__text { margin-bottom: 1.5rem; }
.service__link { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; color: var(--color-cta); font-family: var(--font-primary); font-weight: var(--font-weight-bold); }
.service__link svg { width: 16px; height: 16px; transition: transform var(--transition-normal); }
.service__link:hover svg { transform: translateX(4px); }

/* Quote card overlapping the image — teal quote-mark + italic text + teal author */
.service__quote {
	position: relative;      /* centered by the flex parent (.service__media) */
	width: 82%;
	background: #FFFFFFED;
	border-radius: var(--radius-md);
	box-shadow: 0 0 25px 8px rgba(194, 194, 194, 0.5);
	padding: 50px;
	display: flex;
	gap: 28px;
	align-items: flex-start;
}
.service__quote-mark { flex: 0 0 auto; color: var(--color-cta); }
.service__quote-mark svg { width: 38px; height: auto; }
.service__quote-body { display: flex; flex-direction: column; }
.service__quote blockquote { border: 0; padding: 0; margin: 0; font-style: italic; font-weight: var(--font-weight-bold); color: #00272F; font-size: 1rem; line-height: 1.6; }
.service__quote figcaption { margin-top: 12px; color: var(--color-cta); font-size: 0.9rem; }

/* Info bar */
.leistungen-info { background: #B3EFED29; padding: 60px 80px; }
.leistungen-info__inner { max-width: none; margin: 0; display: flex; align-items: center; gap: 35px; }
.leistungen-info__icon { flex: 0 0 auto; width: 92px; height: 92px; border-radius: var(--radius-round); background: #00A4C7; display: inline-flex; align-items: center; justify-content: center; }
.leistungen-info__icon svg { width: 52px; height: 52px; }
.leistungen-info p { margin: 0; font-family: var(--font-secondary); font-size: 24px; line-height: 29px; font-weight: var(--font-weight-semibold); color: #00272F; }
@media (max-width: 767px) {
	.leistungen-info { padding: 40px 24px; }
	.leistungen-info__inner { gap: 18px; align-items: flex-start; }
	.leistungen-info p { font-size: 18px; }
}

/* ============================================================
   Was ist Hypnose?
   ============================================================ */
.headline .tt { color: var(--color-cta); }

.wih-intro {
	position: relative;
	background: #CCE6EB;
	padding: 100px 80px;
	overflow: hidden;
}
.wih-intro__title { margin-bottom: 0.5rem; }
.wih-intro__text { max-width: 620px; margin-top: 1rem; display: flex; flex-direction: column; gap: 1rem; }

/* Intro-band heading: 60px / 80px line-height, exact heading→divider→text spacing */
.wih-intro__title, .uber-intro__title { font-size: 60px; line-height: 80px; color: #00272F; margin-bottom: 24px; }
.wih-intro .hyp-divider, .uber-intro .hyp-divider { margin-bottom: 30px; }
.wih-intro__text, .uber-intro__text { margin-top: 0; }
.wih-intro > .container, .uber-intro > .container { position: relative; z-index: 1; }

/* Eucalyptus branch decoration (4-2.png), right-anchored like the original parallax layer */
.intro-deco {
	position: absolute;
	right: 0; top: 0;
	height: 100%; width: auto; max-width: 42%;
	object-fit: contain;
	object-position: right center;
	pointer-events: none;
	z-index: 0;
}
@media (max-width: 767px) {
	.wih-intro__title, .uber-intro__title { font-size: 40px; line-height: 1.2em; }
	.intro-deco { display: none; }
}

.wih-muster { background: #EAD0C330; }

.wih-video { background: #EAD0C31C; }
.wih-video .media-text { align-items: center; }
.wih-quote { position: relative; padding-left: 1rem; text-align: center; }
.wih-quote__mark { font-family: var(--font-primary); font-size: 4rem; line-height: 0.5; color: var(--color-cta); display: block; margin-bottom: 1rem; }
.wih-quote blockquote { border: 0; font-family: var(--font-primary); font-style: italic; font-size: 1.15rem; color: #404040; padding: 0; margin: 0; }
.wih-quote figcaption { margin-top: 1rem; color: var(--color-cta); border-top: 1px solid var(--color-cta); display: inline-block; padding-top: 0.5rem; }
.wih-embed { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-card); }
.wih-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

@media (max-width: 1250px) {
	.leistungen-intro__grid { grid-template-columns: 1fr; gap: 32px; }
	.leistungen-banner { background-attachment: scroll; }
}
@media (max-width: 767px) {
	.wih-intro { padding: 48px 24px 56px; }
}

/* ============================================================
   HypnoBirthing — tabs + pricing
   ============================================================ */
.section__intro--left { align-items: flex-start; text-align: left; margin-bottom: var(--spacing-md); }

/* HypnoBirthing: full-width sections with 80px left/right padding */
.hb-page .section { padding-left: 80px; padding-right: 80px; }
.hb-page .section > .container { max-width: none; margin: 0; }
@media (max-width: 767px) {
	.hb-page .section { padding-left: 24px; padding-right: 24px; }
}

.tabs__nav { display: flex; gap: 4px; }
.tabs__nav [role="tab"] {
	display: inline-flex; align-items: center; gap: 15px;
	padding: 16px 30px 16px 16px;
	font-family: var(--font-secondary);
	color: var(--color-grey);
	background: #EFF4F5;
	border-radius: 5px 5px 0 0;
	transition: color var(--transition-fast), background var(--transition-fast);
}
.tabs__nav [role="tab"][aria-selected="true"] { color: var(--color-cta2); background: #CCE6EB; }
.tabs__nav [role="tab"] svg { color: currentColor; }

.pricing {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 0;
	background: #CCE6EB;
	border-radius: 0 6px 6px 6px;
	overflow: hidden;
}
.pricing__aside { padding: 40px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.pricing__icon { color: var(--color-cta); }
.pricing__aside .btn { font-size: 1rem; padding: 12px 26px; }
.pricing__note { display: flex; align-items: flex-start; gap: 8px; font-size: 0.9rem; color: var(--color-text); }

.pricing__rows { background: transparent; padding: 24px; display: flex; flex-direction: column; }
.pricing-row {
	display: flex; align-items: center; gap: 0;
	background: #F8FEFF;
	border-radius: 7px;
	border-bottom: 1px solid #9BBDC3;
	box-shadow: 0 29px 44px -31px rgba(118, 118, 118, 0.25);
	padding: 18px 30px;
	margin: 4px 0;
}
.pricing-row--group { background: transparent; box-shadow: none; border-bottom: 0; padding: 8px 30px 0; margin-bottom: 2px; }
.pricing-row--group .pricing-row__name { font-family: var(--font-secondary); font-weight: var(--font-weight-bold); color: var(--color-heading); }
.pricing-row--sub { margin-left: 0; }
.pricing-row__name { flex: 0 0 28%; font-weight: var(--font-weight-bold); color: var(--color-text); font-size: 18px; }
.pricing-row__meta { flex: 1 1 auto; display: flex; align-items: center; flex-wrap: wrap; row-gap: 6px; color: var(--color-heading); font-size: 18px; }
.pricing-cell { display: inline-flex; align-items: center; gap: 10px; padding: 0 26px; border-left: 1px solid #93B4BA54; }
.pricing-cell:first-child { border-left: 0; padding-left: 0; }
.pricing-cell--date { flex-basis: 100%; border-left: 0; padding-left: 0; margin-top: 2px; }
.pricing-cell svg { color: var(--color-cta2); flex: 0 0 auto; }

.leistungen-info--light { background: #B3EFED29; }

/* ============================================================
   Über mich
   ============================================================ */
.uber-intro { position: relative; background: #CCE6EB; padding: 70px 80px 90px; overflow: hidden; }
.uber-intro__title { margin-bottom: 0.5rem; }
.uber-intro__text { max-width: 620px; margin-top: 1rem; display: flex; flex-direction: column; gap: 1rem; }

.uber-bio { background: #fff; padding: 0 40px 100px; }
.uber-bio__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.uber-bio__text { display: flex; flex-direction: column; gap: 1rem; padding-top: 60px; }
.uber-bio__portrait { margin-top: -250px; position: relative; z-index: 3; }
.uber-bio__portrait img { width: 81%; border-radius: 5px; box-shadow: var(--shadow-card); }

/* "Jetzt anfangen" text column: natural spacing (divider tight above heading, paragraph gaps) */
.media-text__body.has-dropcap { gap: 0; }
.media-text__body.has-dropcap > * { margin: 0; }
.media-text__body.has-dropcap .hyp-divider { margin-bottom: 10px; }
.media-text__body.has-dropcap .headline { margin-bottom: 22px; }
.media-text__body.has-dropcap p { margin-bottom: 1.4em; }
.media-text__body.has-dropcap p:last-child { margin-bottom: 0; }

.has-dropcap > p:first-of-type::first-letter,
.has-dropcap p.has-dropcap-target::first-letter {
	font-family: var(--font-primary);
	font-size: 3.4rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-heading);
	float: left;
	line-height: 0.8;
	padding: 6px 10px 0 0;
}

.uber-quote { background: #EAD0C336; text-align: center; padding: 100px 0; }
.uber-quote .container { max-width: 900px; }
.uber-quote__mark { font-family: var(--font-primary); font-size: 46px; line-height: 0.4; color: var(--color-cta); display: block; margin-bottom: 20px; }
.uber-quote blockquote { border: 0; font-style: italic; font-family: var(--font-primary); font-size: 24px; line-height: 1.6em; letter-spacing: 1.5px; color: #5C6776; padding: 0; margin: 0; }
.uber-quote figcaption { margin-top: 1.25rem; color: var(--color-heading); }

.uber-certs__grid { display: grid; grid-template-columns: 29% 32% 31%; justify-content: space-around; gap: 0; margin-top: var(--spacing-md); }
.uber-certs__grid img { width: 100%; box-shadow: 10px 10px 25px -12px rgba(104, 104, 104, 0.62); }

@media (max-width: 1250px) {
	.uber-bio__grid { grid-template-columns: 1fr; gap: 32px; }
	.uber-bio__portrait { margin-top: 0; max-width: 360px; }
	.uber-bio__text { padding-top: 32px; }
}
@media (max-width: 767px) {
	.uber-intro { padding: 48px 24px 64px; }
	.uber-bio { padding: 0 24px 64px; }
	.uber-certs__grid { grid-template-columns: 1fr; gap: 20px; }
	.uber-quote { padding: 56px 24px; }
}

@media (max-width: 900px) {
	.pricing { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.pricing-row { flex-direction: column; align-items: flex-start; }
	.tabs__nav [role="tab"] { flex: 1; justify-content: center; padding: 12px; }
}
@media (max-width: 767px) {
	.leistungen-banner { height: 180px; }
	.leistungen-intro { padding: 48px 24px 64px; }
	.leistungen-intro__title { font-size: 30px; }
	.service { grid-template-columns: 1fr; }
	.service__media { order: 1 !important; min-height: 260px; }
	.service__body { order: 2 !important; padding: 32px 24px; }
	.service__quote { width: 88%; max-width: none; margin: 20px 0; }
	.service__media { min-height: 320px; }
	.service__title { font-size: 1.75rem; }
	.leistungen-info__inner { align-items: flex-start; }
}
