/* Joschka Link Hochzeitsfotografie – Ergänzungen zu theme.json
   Zeitlos & bildstark: Montserrat, Weiß / Hellgrau / Schwarz, Logo in Gold-Tönen. */

/* ---------- Logo ---------- */
.jl-logo { display: block; height: auto; }
.jl-logo-mark { fill: var(--wp--preset--color--logo-name); }
.jl-logo-sub { fill: var(--wp--preset--color--logo-mark); }
.jl-logo-claim { fill: var(--wp--preset--color--logo-name); }
.jl-logo--stacked { width: 300px; max-width: 78vw; margin-inline: auto; }
.jl-logo--claim { width: 340px; max-width: 80vw; }
.jl-logo-name { fill: var(--wp--preset--color--logo-name); }
.jl-logo--horizontal { width: 220px; max-width: 52vw; }
.jl-logo--mark { width: 38px; margin-inline: auto; }
.jl-brand a { display: block; line-height: 0; }

/* ---------- Kopfbereich ---------- */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--wp--preset--color--base);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
body.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { body.admin-bar header.wp-block-template-part { top: 0; } }
html { scroll-padding-top: 84px; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.jl-header-cta .wp-block-button__link { padding: 0.7rem 1.2rem; }
@media (max-width: 600px) { .jl-header-cta { display: none; } }

/* ---------- Typo-Bausteine ---------- */
.jl-eyebrow {
	font-size: 0.75rem !important;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-bottom: 0.5rem !important;
}
.jl-eyebrow--band { color: var(--wp--preset--color--band-accent); }
.jl-claim {
	font-weight: 300;
	letter-spacing: 0.38em;
	text-transform: uppercase;
	font-size: 0.8125rem !important;
}
.jl-values {
	font-family: var(--wp--preset--font-family--cormorant);
	font-style: italic;
	font-size: 1.5rem !important;
	line-height: 1.3;
	color: var(--wp--preset--color--accent);
}

/* ---------- Buttons (Links mit Button-Optik) ---------- */
.jl-btn {
	display: inline-block;
	padding: 1rem 1.9rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none !important;
	background: var(--wp--preset--color--button);
	color: var(--wp--preset--color--button-text) !important;
	border: 1px solid var(--wp--preset--color--button);
	transition: background-color .2s, color .2s;
}
.jl-btn:hover { background: var(--wp--preset--color--button-hover); border-color: var(--wp--preset--color--button-hover); }
.jl-btn--light { background: #fff; color: var(--wp--preset--color--heading) !important; border-color: #fff; }
.jl-btn--light:hover { background: #F4F4F2; border-color: #F4F4F2; }
.jl-btn--ghost { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.8); }
.jl-btn--ghost:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.jl-btn--band { background: var(--wp--preset--color--band-text); color: var(--wp--preset--color--band) !important; border-color: var(--wp--preset--color--band-text); }
.jl-btn--band:hover { background: var(--wp--preset--color--band-accent); border-color: var(--wp--preset--color--band-accent); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 1px solid currentColor;
	color: var(--wp--preset--color--heading);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--button);
	color: var(--wp--preset--color--button-text);
}

/* ---------- Hero-Slider ---------- */
.jl-hero-wrap { margin-top: 0 !important; }
.jl-hero { position: relative; height: min(88vh, 900px); min-height: 520px; overflow: hidden; background: #111; color: #fff; }
.jl-hero__slides, .jl-hero__slide { position: absolute; inset: 0; margin: 0; }
.jl-hero__slide { opacity: 0; transition: opacity 1.2s ease; }
.jl-hero__slide.is-active { opacity: 1; }
.jl-hero__slide img { width: 100%; height: 100%; object-fit: cover; display: block; object-position: var(--jl-fx, 50%) var(--jl-fy, 50%); }
.jl-hero__slide picture { display: contents; }
.jl-hero__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(17,17,17,.62) 0%, rgba(17,17,17,.12) 55%, rgba(17,17,17,0) 100%); }
.jl-hero__content {
	position: absolute;
	left: 0; right: 0; bottom: clamp(3.5rem, 9vh, 6rem);
	max-width: var(--jl-wide, 1240px);
	margin: 0 auto;
	padding: 0 clamp(1.25rem, 4vw, 2.5rem);
	box-sizing: border-box;
}
.jl-hero__values {
	font-family: var(--wp--preset--font-family--cormorant);
	font-style: italic;
	font-size: clamp(1.25rem, 2.4vw, 1.75rem);
	margin: 0 0 .75rem;
	color: #F4F4F2;
}
.jl-hero__h1 {
	color: #fff !important;
	font-weight: 300;
	font-size: calc(clamp(2rem, 5vw, 3.75rem) * var(--jl-hf, 1));
	line-height: 1.12;
	max-width: 17ch;
	margin: 0 0 2rem;
}
.jl-hero__ctas { display: flex; flex-wrap: wrap; gap: .75rem; }
.jl-hero__dots { position: absolute; right: clamp(1.25rem, 4vw, 2.5rem); bottom: 1.5rem; display: flex; gap: .4rem; }
.jl-hero__dot { width: 44px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; position: relative; }
.jl-hero__dot::after { content: ""; position: absolute; left: 10px; right: 10px; top: 21px; height: 2px; background: rgba(255,255,255,.45); }
.jl-hero__dot.is-active::after { background: #fff; }

/* ---------- Porträt & Kapitel ---------- */
.jl-portrait, .jl-chapter__img { margin: 0; }
.jl-portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; height: auto; }
.jl-chapter__img img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; height: auto; }
@media (min-width: 782px) { .jl-chapter--rev { flex-direction: row-reverse; } }
.jl-chapter__no { font-size: .8125rem !important; font-weight: 600; letter-spacing: .28em; color: var(--wp--preset--color--accent); margin-bottom: .25rem !important; }
.jl-chapter__title { font-weight: 300 !important; font-size: calc(clamp(1.75rem, 3vw, 2.25rem) * var(--jl-hf, 1)) !important; margin-top: 0 !important; }

/* ---------- Arbeitsweise ---------- */
.jl-card { border-top: 1px solid var(--wp--preset--color--heading); padding-top: 1.25rem; }
.jl-card__title { font-weight: 300 !important; font-size: calc(1.75rem * var(--jl-hf, 1)) !important; margin-top: 0 !important; }

/* ---------- Slider (Einblicke & Stimmen) ---------- */
.jl-slider {
	display: grid;
	grid-auto-flow: column;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
}
.jl-slider::-webkit-scrollbar { display: none; }
.jl-slider:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 4px; }
.jl-slide { scroll-snap-align: start; margin: 0; }
/* Galerie: volle Fensterbreite, Quer- und Hochformate in gleicher Höhe */
.jl-slider--gallery {
	display: flex;
	gap: 8px;
	width: var(--jl-vw, 100vw);
	max-width: var(--jl-vw, 100vw) !important;
	margin-left: calc(50% - var(--jl-vw, 100vw) / 2) !important;
	margin-right: calc(50% - var(--jl-vw, 100vw) / 2) !important;
	margin-top: var(--wp--preset--spacing--50) !important;
	--jl-gal-h: clamp(220px, 34vh, 290px);
}
@media (min-width: 782px) { .jl-slider--gallery { gap: 10px; --jl-gal-h: clamp(280px, 40vh, 420px); } }
.jl-slider--gallery .jl-slide { flex: 0 0 auto; height: var(--jl-gal-h); }
.jl-slider--gallery .jl-slide img { height: 100%; width: auto; max-width: none; display: block; }
.jl-slider-nav { display: flex; gap: .5rem; }
.jl-slider-nav--center { justify-content: center; margin-top: 1.5rem; }
.jl-arrow {
	width: 48px; height: 48px;
	border: 1px solid var(--wp--preset--color--heading);
	background: transparent;
	color: var(--wp--preset--color--heading);
	font-size: 1.1rem;
	cursor: pointer;
}
.jl-arrow:hover { background: var(--wp--preset--color--heading); color: var(--wp--preset--color--base); }
.jl-arrow[disabled] { opacity: .3; cursor: default; }

.jl-quotes { max-width: 820px; margin: 0 auto; }
.jl-slider--quotes { grid-auto-columns: 100%; }
.jl-quote { margin: 0; text-align: center; padding: 1rem 0; }
.jl-quote p {
	font-weight: 300;
	font-size: clamp(1.375rem, 2.6vw, 1.875rem);
	line-height: 1.45;
	color: var(--wp--preset--color--heading);
	margin: 0;
}
.jl-quote cite {
	display: block;
	margin-top: 1.25rem;
	font-style: normal;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

/* ---------- Dunkles Band ---------- */
.jl-band h2 { color: var(--wp--preset--color--band-text) !important; }
.jl-band a:not(.jl-btn) { color: var(--wp--preset--color--band-text); }
.jl-checks { list-style: none; padding: 0; margin: 0; }
.jl-checks li { padding-left: 1.75rem; position: relative; margin-bottom: .6rem; }
.jl-checks li::before { content: "✓"; position: absolute; left: 0; color: var(--wp--preset--color--band-accent); }

/* ---------- Ablauf ---------- */
.jl-steps {
	list-style: none;
	padding: 0;
	margin: var(--wp--preset--spacing--50) auto 0 !important;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 2rem 1.5rem;
	max-width: var(--jl-wide, 1240px);
}
.jl-step { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.25rem; }
.jl-step__no { display: block; font-size: .8125rem; font-weight: 600; letter-spacing: .28em; color: var(--wp--preset--color--accent); }
.jl-step__title { font-size: calc(1.125rem * var(--jl-hf, 1)) !important; font-weight: 600 !important; margin: .5rem 0 .5rem !important; }
.jl-step p { margin: 0; font-size: .9375rem; }

/* ---------- Pakete ---------- */
.jl-packs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
	gap: 16px;
	max-width: var(--jl-wide, 1240px);
	margin: var(--wp--preset--spacing--50) auto 0 !important;
}
.jl-pack {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	padding: 2.25rem 2rem;
	display: flex;
	flex-direction: column;
	gap: .9rem;
}
.jl-pack__tag { margin: 0; font-size: .75rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.jl-pack__name { margin: 0 !important; font-weight: 300 !important; font-size: 1.875rem !important; }
.jl-pack__price { margin: 0; font-size: 1.5rem; font-weight: 600; line-height: 1.3; }
.jl-pack__list { margin: .5rem 0 1rem; padding-left: 1.1em; flex-grow: 1; }
.jl-pack__list li { margin-bottom: .45rem; }
.jl-pack .jl-btn { text-align: center; }
.jl-pack--featured { background: var(--wp--preset--color--band); border-color: var(--wp--preset--color--band); color: var(--wp--preset--color--band-text); }
.jl-pack--featured .jl-pack__name { color: var(--wp--preset--color--band-text) !important; }
.jl-pack--featured .jl-pack__tag { color: var(--wp--preset--color--band-accent); }
.jl-pack--featured .jl-btn--light { background: var(--wp--preset--color--band-text); color: var(--wp--preset--color--band) !important; border-color: var(--wp--preset--color--band-text); }
.jl-packs--4 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
@media (min-width: 782px) and (max-width: 1100px) { .jl-packs--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.jl-pack__price { font-variant-numeric: tabular-nums; }
.jl-pack__unit { display: block; font-size: .8125rem; font-weight: 400; color: var(--wp--preset--color--muted); }
.jl-pack--featured .jl-pack__unit { color: var(--wp--preset--color--band-text); opacity: .75; }
.jl-included__list { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); column-gap: 3rem; }
.jl-included {
	max-width: var(--jl-wide, 1240px);
	margin: 2.5rem auto 0 !important;
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: 1.75rem;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem 4rem;
}
.jl-included > div { min-width: 0; }
.jl-included ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.jl-included li { position: relative; padding-left: 1.25rem; font-size: .9375rem; }
.jl-included li::before { content: "–"; position: absolute; left: 0; color: var(--wp--preset--color--accent); }
.jl-extras { margin: 0; display: grid; gap: .45rem; font-size: .9375rem; }
.jl-extras > div { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px dotted var(--wp--preset--color--line); padding-bottom: .4rem; }
.jl-extras dt { margin: 0; }
.jl-extras dd { margin: 0; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.jl-pack-note { grid-column: 1 / -1; margin: 0; font-size: .8125rem; color: var(--wp--preset--color--muted); }

/* ---------- FAQ ---------- */
.jl-faq details { border-bottom: 1px solid var(--wp--preset--color--line); padding: 1.25rem 0; }
.jl-faq summary {
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	color: var(--wp--preset--color--heading);
	display: flex;
	justify-content: space-between;
	gap: 1rem;
}
.jl-faq summary::-webkit-details-marker { display: none; }
.jl-faq summary::after { content: "+"; font-weight: 300; font-size: 1.5rem; line-height: 1; color: var(--wp--preset--color--accent); }
.jl-faq details[open] summary::after { content: "–"; }
.jl-faq details p { margin: .75rem 0 0; }

/* ---------- Formular ---------- */
.jl-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 1.25rem; }
.jl-field { display: flex; flex-direction: column; gap: .4rem; margin: 0 0 1.1rem; }
.jl-field--full { grid-column: 1 / -1; }
.jl-field label { font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--heading); }
.jl-form input[type="text"],
.jl-form input[type="email"],
.jl-form input[type="tel"],
.jl-form input[type="date"],
.jl-form select,
.jl-form textarea {
	font: inherit;
	font-size: 1rem;
	padding: .85rem .9rem;
	background: var(--wp--preset--color--alt);
	color: var(--wp--preset--color--contrast);
	border: 1px solid transparent;
	border-bottom-color: var(--wp--preset--color--heading);
	border-radius: 0;
	width: 100%;
	box-sizing: border-box;
	min-height: 48px;
}
.jl-form input:focus, .jl-form select:focus, .jl-form textarea:focus { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 1px; }
.jl-consent { flex-direction: row; align-items: flex-start; gap: .75rem; }
.jl-consent input { margin-top: .3rem; width: 18px; height: 18px; flex: 0 0 18px; }
.jl-consent label { font-weight: 400; letter-spacing: 0; text-transform: none; font-size: .875rem; line-height: 1.5; }
.jl-form .wp-block-button__link { border: 0; cursor: pointer; }
.jl-form__hint { font-size: .8125rem; color: var(--wp--preset--color--muted); margin-top: .75rem; }
.jl-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.jl-form-msg { padding: 1.25rem 1.5rem; margin-bottom: 1.5rem; background: var(--wp--preset--color--alt); border-left: 3px solid var(--wp--preset--color--accent); }
.jl-form-msg p { margin: 0; }
.jl-form-msg__title { font-weight: 600; font-size: calc(1.25rem * var(--jl-hf, 1)); margin-bottom: .4rem !important; color: var(--wp--preset--color--heading); }
.jl-form-msg--err { border-left-color: #b3261e; }

/* ---------- WhatsApp ---------- */
.jl-wa {
	position: fixed; right: 18px; bottom: 18px; z-index: 60;
	width: 54px; height: 54px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: var(--wp--preset--color--button); color: var(--wp--preset--color--button-text);
	box-shadow: 0 6px 20px rgba(0,0,0,.18);
}


/* 100vw-Galerie darf kein seitliches Scrollen erzeugen */
html, body { overflow-x: clip; }

/* Kapitel: wischbarer Bild-Slider mit Punkten */
.jl-cslider { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; cursor: grab; }
.jl-cslider::-webkit-scrollbar { display: none; }
.jl-cslider.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.jl-cslider:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 4px; }
.jl-cslide { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; }
.jl-cslide img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; height: auto; user-select: none; -webkit-user-drag: none; }
.jl-dots { display: flex; justify-content: center; gap: 2px; margin-top: .9rem; }
.jl-dot { width: 26px; height: 26px; padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.jl-dot::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--accent); opacity: .3; transition: opacity .3s ease, transform .3s ease; }
.jl-dot:hover::before { opacity: .6; }
.jl-dot.is-active::before { opacity: 1; transform: scale(1.15); }
.jl-dot:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; border-radius: 50%; }

/* ---------- Reportagen ---------- */
.jl-btn--ghost-dark { background: transparent; color: var(--wp--preset--color--heading) !important; border-color: var(--wp--preset--color--heading); }
.jl-btn--ghost-dark:hover { background: var(--wp--preset--color--heading); color: var(--wp--preset--color--base) !important; }

.jl-rep__hero { position: relative; height: min(82vh, 900px); min-height: 460px; overflow: hidden; background: var(--wp--preset--color--hero-overlay); color: #fff; }
.jl-rep__cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.jl-rep__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,15,10,.62) 0%, rgba(20,15,10,.12) 45%, rgba(20,15,10,0) 70%); }
.jl-rep__head { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 max(20px, 5vw) clamp(2rem, 6vh, 4.5rem); max-width: var(--jl-wide, 1240px); margin: 0 auto; }
.jl-rep__kicker { font-size: .72rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; margin: 0 0 .75rem; opacity: .9; }
.jl-rep__title { font-weight: 300; font-size: calc(clamp(2.4rem, 6vw, 4.6rem) * var(--jl-hf, 1)); line-height: 1.05; margin: 0; color: #fff; text-wrap: balance; }
.jl-rep__meta { font-family: var(--wp--preset--font-family--cormorant); font-style: italic; font-size: clamp(1.15rem, 2.2vw, 1.5rem); margin: .8rem 0 0; opacity: .95; }
.jl-rep__intro { max-width: var(--jl-wide, 1240px); margin: 0 auto; padding: clamp(4.236rem, 10vw, 8.472rem) max(20px, 4vw) clamp(2.618rem, 6vw, 4.236rem); display: grid; gap: 1.618rem 4.236rem; align-items: start; }
@media (min-width: 782px) { .jl-rep__intro { grid-template-columns: 1fr 1.618fr; } }
.jl-rep__facts { margin: 0; display: grid; gap: 1.1rem; border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.1rem; }
.jl-rep__facts div { display: grid; gap: .15rem; }
.jl-rep__facts dt { font-size: .68rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.jl-rep__facts dd { margin: 0; font-size: 1rem; color: var(--wp--preset--color--heading); }
.jl-rep__lead { margin: 0; font-weight: 300; font-size: clamp(1.25rem, 2.2vw, 1.75rem); line-height: 1.5; color: var(--wp--preset--color--heading); max-width: 38em; text-wrap: pretty; }

/* Bildstrecke: gleich hohe Reihen, Hoch- und Querformat gemischt, ab und zu ein Bild über die volle Breite */
.jl-rg { --row: clamp(150px, 26vw, 420px); display: flex; flex-wrap: wrap; gap: 8px; padding: 0 8px; max-width: 1800px; margin: 0 auto; }
.jl-rg__item { flex: calc(var(--ar) * 100) 1 calc(var(--ar) * var(--row)); display: block; overflow: hidden; background: var(--wp--preset--color--alt); cursor: zoom-in; position: relative; }
.jl-rg__item img { width: 100%; height: auto; aspect-ratio: var(--ar); object-fit: cover; display: block; transition: transform .8s ease, opacity .4s ease; }
.jl-rg__item:hover img { transform: scale(1.015); }
.jl-rg__item--full { flex-basis: 100%; margin: clamp(.75rem, 3vw, 2.5rem) 0; }
.jl-rg__fill { flex: 10000 1 0; }
.jl-rg__item:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
@media (max-width: 600px) { .jl-rg { --row: 140px; gap: 4px; padding: 0 4px; } }

.jl-rep__end { text-align: center; padding: clamp(4rem, 10vw, 7rem) 20px clamp(3rem, 6vw, 5rem); display: flex; flex-direction: column; align-items: center; gap: .9rem; }
.jl-rep__end .jl-rep__kicker { color: var(--wp--preset--color--accent); }
.jl-rep__cta { font-weight: 300; font-size: clamp(1.6rem, 3.4vw, 2.4rem); color: var(--wp--preset--color--heading); margin: 0 0 1rem; }
.jl-rep__end .jl-btn + .jl-btn { margin-top: -.2rem; }
@media (min-width: 600px) { .jl-rep__end { display: block; } .jl-rep__end .jl-btn { margin: 0 .35rem; } }

/* Übersicht + Teaser */
.jl-reps { padding: calc(clamp(4rem, 9vw, 7rem) * var(--jl-secf, 1)) max(20px, 4vw); max-width: 1320px; margin: 0 auto; }
.jl-reps--teaser { border-top: 1px solid var(--wp--preset--color--line); }
.jl-reps__page { margin: 0 0 clamp(2.618rem, 6vw, 4.236rem); display: grid; gap: .4rem 4.236rem; align-items: start; }
@media (min-width: 782px) { .jl-reps__page { grid-template-columns: 1.618fr 1fr; } .jl-reps__page .jl-eyebrow { grid-column: 1 / -1; } .jl-reps__page .jl-reps__intro { margin-top: .6rem; } }
.jl-reps__head { margin-bottom: clamp(1.618rem, 5vw, 2.618rem); max-width: 61.8%; }
@media (max-width: 781px) { .jl-reps__head { max-width: none; } }
.jl-reps__h { font-weight: 300; font-size: calc(clamp(2rem, 4.5vw, 3.2rem) * var(--jl-hf, 1)); line-height: 1.15; margin: .4rem 0 0; color: var(--wp--preset--color--heading); text-wrap: balance; }
.jl-reps__intro { font-size: 1.0625rem; line-height: 1.8; color: var(--wp--preset--color--contrast); margin: 1.2rem 0 0; }
.jl-reps__grid { display: grid; grid-template-columns: 1fr; gap: clamp(1.618rem, 3vw, 2.618rem); }
@media (min-width: 782px) {
	/* Editorial-Raster im goldenen Schnitt: großes Titelbild links (61,8 %), zwei kleinere rechts (38,2 %), danach gespiegelt */
	.jl-reps__grid { grid-template-columns: 1.618fr 1fr; grid-auto-flow: dense; align-items: start; }
	.jl-reps__grid .jl-card:nth-child(6n+1) { grid-row: span 2; }
	.jl-reps__grid .jl-card:nth-child(6n+4) { grid-column: 2; grid-row: span 2; }
	.jl-reps__grid .jl-card:nth-child(6n+5), .jl-reps__grid .jl-card:nth-child(6n+6) { grid-column: 1; }
	.jl-reps__grid .jl-card:nth-child(6n+4) .jl-card__img, .jl-reps__grid .jl-card:nth-child(6n+1) .jl-card__img { aspect-ratio: 4 / 5; }
	.jl-reps__grid .jl-card:not(:nth-child(6n+1)):not(:nth-child(6n+4)) .jl-card__img { aspect-ratio: 1.618 / 1; }
	.jl-reps__grid .jl-card:nth-child(6n+5), .jl-reps__grid .jl-card:nth-child(6n+6) { }
}
.jl-reps--teaser .jl-reps__grid .jl-card:only-child { grid-column: 1 / -1; }
.jl-card { display: grid; gap: .45rem; text-decoration: none; color: inherit; }
.jl-card__img { display: block; overflow: hidden; aspect-ratio: 4 / 5; background: var(--wp--preset--color--alt); margin-bottom: .6rem; }
.jl-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1s ease; }
.jl-card:hover .jl-card__img img { transform: scale(1.03); }
.jl-card__meta { font-size: .72rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.jl-card__title { font-size: calc(1.5rem * var(--jl-hf, 1)); font-weight: 300; color: var(--wp--preset--color--heading); line-height: 1.25; }
.jl-card__more { font-size: .8rem; color: var(--wp--preset--color--muted); }
.jl-card:hover .jl-card__more { color: var(--wp--preset--color--heading); }
.jl-card:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 6px; }
.jl-reps__all { text-align: center; margin: clamp(2.5rem, 5vw, 3.5rem) 0 0; }

/* Großansicht */
.jl-lb { position: fixed; inset: 0; width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(16,12,9,.97); color: #fff; }
.jl-lb::backdrop { background: rgba(16,12,9,.97); }
.jl-lb[open] { display: grid; grid-template-columns: 64px 1fr 64px; align-items: center; }
.jl-lb__fig { margin: 0; height: 100vh; display: grid; place-items: center; grid-template-rows: 1fr auto; padding: 24px 0 12px; min-width: 0; }
.jl-lb__fig img { max-width: 100%; max-height: calc(100vh - 80px); object-fit: contain; display: block; user-select: none; transition: opacity .25s ease; }
.jl-lb__count { font-size: .72rem; letter-spacing: .2em; opacity: .7; padding-top: 10px; }
.jl-lb button { background: none; border: 0; color: #fff; font-size: 1.6rem; cursor: pointer; width: 64px; height: 64px; opacity: .75; }
.jl-lb button:hover, .jl-lb button:focus-visible { opacity: 1; }
.jl-lb__x { position: absolute; top: env(safe-area-inset-top, 0px); right: 0; font-size: 2rem !important; z-index: 2; }
@media (max-width: 600px) { .jl-lb[open] { grid-template-columns: 0 1fr 0; } .jl-lb__prev, .jl-lb__next { position: absolute; bottom: 8px; } .jl-lb__prev { left: 8px; } .jl-lb__next { right: 8px; } }


/* ---------- Editorial: goldener Schnitt, Texte oben, mehr Weißraum ---------- */
.jl-head { text-align: left !important; }
.jl-head.alignwide { max-width: var(--wp--style--global--wide-size) !important; margin-left: auto !important; margin-right: auto !important; }
@media (min-width: 782px) {
	h2.jl-head, .jl-head__lead { padding-right: 38.2%; }
}
.jl-head__lead { color: var(--wp--preset--color--muted); }
h2.wp-block-heading { text-wrap: balance; }
/* Kapitel: Text startet an der Oberkante des Bildes, mit Luft nach innen */
.jl-chapter > .wp-block-column:not(:first-child) { padding-top: .2rem; }
@media (min-width: 782px) { .jl-chapter > .wp-block-column:not(:first-child) { max-width: 30rem; } }
.jl-chapter__no { margin-top: 0 !important; }
/* Über mich: Porträt 38,2 %, Text 61,8 %, Text bündig oben */
#einleitung .wp-block-column > :first-child { margin-top: 0; }
#einleitung .wp-block-column p:not(.jl-eyebrow):not(.jl-values) { max-width: 36rem; }

/* ---------- Korrekturen 3.14 ---------- */
/* Überschriften bündig mit dem Inhalt (Innenabstand rechts zählt zur Breite) */
.jl-head { box-sizing: border-box; }
/* Reportage: Datum im Kopf in der Grundschrift statt Schreibschrift */
.jl-rep__meta { font-family: var(--wp--preset--font-family--montserrat); font-style: normal; font-size: .8rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; opacity: .9; }
.jl-rep__intro { padding-top: clamp(2.618rem, 6vw, 4.236rem); }

/* =========================================================
   Variante „Editorial“ – viel Weißraum, ruhiger Rhythmus,
   Aufteilung im goldenen Schnitt (38,2 / 61,8).
   Aktiv über Design → Hochzeitsseite → Darstellung.
   ========================================================= */
body.jl-editorial {
	--wp--preset--spacing--50: clamp(2.618rem, 6vw, 4.236rem);
	--wp--preset--spacing--60: clamp(6.854rem, 15vw, 13rem);
	--jl-gold-line: 2.618rem;
	background: var(--jl-bg, #FBFAF7);
	font-size: 1rem;
	line-height: 1.85;
}
.jl-editorial .has-alt-background-color { background-color: var(--jl-alt, #F3F0EA) !important; }
.jl-editorial p { text-wrap: pretty; }

/* Überschriften: größer, leichter, mit feiner Goldlinie vor der kleinen Zeile */
.jl-editorial h2.wp-block-heading { font-weight: 200; font-size: calc(clamp(2.4rem, 5.2vw, 4.6rem) * var(--jl-hf, 1)); line-height: 1.06; letter-spacing: -.015em; }
.jl-editorial .jl-eyebrow { color: var(--wp--preset--color--accent); letter-spacing: .32em; margin-bottom: 1.618rem !important; }
.jl-editorial .jl-eyebrow::before { content: ""; display: inline-block; width: var(--jl-gold-line); height: 1px; background: currentColor; vertical-align: middle; margin: -2px 1.1rem 0 0; }
.jl-editorial .jl-eyebrow--band { color: var(--wp--preset--color--band-accent); }
@media (min-width: 782px) {
	.jl-editorial h2.jl-head { padding-right: 30%; }
	.jl-editorial .jl-head__lead { padding-left: 38.2%; padding-right: 0; margin-top: 2.618rem !important; }
}

/* Startbild: Text kleiner, mehr Ruhe */
.jl-editorial .jl-hero { height: min(94vh, 1000px); }
.jl-editorial .jl-hero__h1 { font-weight: 200; font-size: calc(clamp(2.2rem, 5.6vw, 4.6rem) * var(--jl-hf, 1)); line-height: 1.04; max-width: 14ch; letter-spacing: -.01em; }
.jl-editorial .jl-hero__values { font-size: clamp(1.1rem, 1.8vw, 1.4rem); }
.jl-editorial .jl-hero__shade { background: linear-gradient(to top, rgba(20,15,10,.55) 0%, rgba(20,15,10,.08) 50%, rgba(20,15,10,0) 100%); }

/* Über mich: schmale Textspalte, viel Luft */
@media (min-width: 782px) {
	.jl-editorial #einleitung .wp-block-columns { gap: clamp(4rem, 9vw, 9rem) !important; }
	.jl-editorial #einleitung .wp-block-column:last-child { padding-top: clamp(2rem, 6vw, 6rem); max-width: 34rem; }
}

/* Arbeitsweise: Zeilen statt Karten – Titel links (38,2), Text rechts (61,8) */
.jl-editorial #arbeitsweise .wp-block-columns { flex-direction: column !important; gap: 0 !important; margin-top: clamp(3rem, 7vw, 6rem) !important; }
.jl-editorial #arbeitsweise .jl-card { border-top: 1px solid var(--wp--preset--color--line); padding: clamp(1.8rem, 4vw, 3rem) 0; }
.jl-editorial #arbeitsweise .jl-card:last-child { border-bottom: 1px solid var(--wp--preset--color--line); }
@media (min-width: 782px) {
	.jl-editorial #arbeitsweise .jl-card { display: grid; grid-template-columns: 1fr 1.618fr; gap: 0 clamp(2rem, 5vw, 5rem); align-items: start; }
	.jl-editorial #arbeitsweise .jl-card > * { margin: 0 !important; }
	.jl-editorial #arbeitsweise .jl-card p { max-width: 36rem; }
}
.jl-editorial .jl-card__title { font-weight: 200 !important; font-size: calc(clamp(1.6rem, 2.6vw, 2.2rem) * var(--jl-hf, 1)) !important; }

/* Kapitel: großes Bild, versetzter Rhythmus, große Ziffer */
.jl-editorial .jl-chapter { gap: clamp(3rem, 8vw, 8rem) !important; margin-top: clamp(6rem, 13vw, 11rem) !important; }
@media (min-width: 782px) {
	.jl-editorial .jl-chapter--rev > .wp-block-column:first-child { margin-top: clamp(3rem, 8vw, 7rem); }
	.jl-editorial .jl-chapter > .wp-block-column:not(:first-child) { max-width: 26rem; padding-top: clamp(1rem, 4vw, 4rem); }
}
.jl-editorial .jl-chapter__no { font-size: clamp(2.6rem, 4.6vw, 4.2rem) !important; font-weight: 200; letter-spacing: 0; line-height: 1; margin-bottom: 1.2rem !important; }
.jl-editorial .jl-chapter__title { font-weight: 200 !important; font-size: calc(clamp(1.9rem, 3.4vw, 2.8rem) * var(--jl-hf, 1)) !important; }
.jl-editorial .jl-dots { justify-content: flex-start; }

/* Einblicke: etwas Abstand zwischen den Bildern */
.jl-editorial .jl-slider--gallery { gap: 14px; }

/* Band „Klingt nach euch?“ */
.jl-editorial .jl-band h2 { font-weight: 200; }

/* Ablauf: ruhige Zeilen mit großer Ziffer */
.jl-editorial .jl-steps { grid-template-columns: 1fr; gap: 0; margin-top: clamp(3rem, 7vw, 6rem) !important; }
.jl-editorial .jl-step { padding: clamp(1.4rem, 3vw, 2.2rem) 0; }
.jl-editorial .jl-step:last-child { border-bottom: 1px solid var(--wp--preset--color--line); }
@media (min-width: 782px) {
	.jl-editorial .jl-step { display: grid; grid-template-columns: 1fr 1.618fr; grid-template-rows: auto auto; column-gap: clamp(2rem, 5vw, 5rem); }
	.jl-editorial .jl-step__no { grid-row: 1 / span 2; font-size: clamp(2.2rem, 3.6vw, 3.2rem); font-weight: 200; letter-spacing: 0; line-height: 1; }
	.jl-editorial .jl-step__title, .jl-editorial .jl-step p { grid-column: 2; }
}
.jl-editorial .jl-step__title { font-weight: 400 !important; font-size: calc(1.25rem * var(--jl-hf, 1)) !important; }
.jl-editorial .jl-step p { font-size: 1rem; }

/* Pakete: Preisliste statt Kacheln */
.jl-editorial .jl-packs, .jl-editorial .jl-packs--4 { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--wp--preset--color--heading); margin-top: clamp(3rem, 7vw, 6rem) !important; }
.jl-editorial .jl-pack { background: transparent; border: 0; border-bottom: 1px solid var(--wp--preset--color--line); padding: clamp(2rem, 4vw, 3rem) 0; color: inherit; }
.jl-editorial .jl-pack--featured { background: var(--jl-alt, #F3F0EA); margin: 0 calc(-1 * clamp(1rem, 2vw, 2rem)); padding-left: clamp(1rem, 2vw, 2rem); padding-right: clamp(1rem, 2vw, 2rem); }
.jl-editorial .jl-pack--featured .jl-pack__name { color: var(--wp--preset--color--heading) !important; }
.jl-editorial .jl-pack--featured .jl-pack__tag { color: var(--wp--preset--color--accent); }
.jl-editorial .jl-pack--featured .jl-pack__unit { color: var(--wp--preset--color--muted); opacity: 1; }
.jl-editorial .jl-pack__name { font-weight: 200 !important; font-size: clamp(2rem, 3.2vw, 2.6rem) !important; }
.jl-editorial .jl-pack__price { font-size: 1.7rem; }
.jl-editorial .jl-pack__unit { display: inline; margin-left: .6rem; }
.jl-editorial .jl-pack__list { list-style: none; padding: 0; margin: 0; }
.jl-editorial .jl-pack__list li { position: relative; padding-left: 1.6rem; }
.jl-editorial .jl-pack__list li::before { content: ""; position: absolute; left: 0; top: .9em; width: .8rem; height: 1px; background: var(--wp--preset--color--accent); }
.jl-editorial .jl-pack .jl-btn, .jl-editorial .jl-pack--featured .jl-btn--light { background: transparent !important; color: var(--wp--preset--color--heading) !important; border: 0; border-bottom: 1px solid currentColor; padding: .3rem 0; justify-self: start; align-self: start; letter-spacing: .2em; }
@media (min-width: 782px) {
	.jl-editorial .jl-pack { display: grid; grid-template-columns: 1fr 1.618fr; column-gap: clamp(2rem, 5vw, 5rem); row-gap: .6rem; align-content: start; }
	.jl-editorial .jl-pack > * { grid-column: 1; }
	.jl-editorial .jl-pack__list { grid-column: 2; grid-row: 1 / span 6; }
}

/* Stimmen und FAQ */
.jl-editorial .jl-quote p { font-weight: 200; font-size: clamp(1.5rem, 2.8vw, 2.3rem); line-height: 1.4; }
.jl-editorial .jl-faq summary { font-weight: 300; font-size: clamp(1.1rem, 1.6vw, 1.3rem); }
.jl-editorial .jl-faq details { padding: 1.6rem 0; }

/* Reportagen-Übersicht */
.jl-editorial .jl-reps { padding-top: calc(clamp(6.854rem, 15vw, 13rem) * var(--jl-secf, 1)); padding-bottom: calc(clamp(6.854rem, 15vw, 13rem) * var(--jl-secf, 1)); }
.jl-editorial .jl-reps__h { font-weight: 200; font-size: calc(clamp(2.4rem, 5.2vw, 4.6rem) * var(--jl-hf, 1)); line-height: 1.06; }
.jl-editorial .jl-reps__grid { gap: clamp(3rem, 6vw, 6rem) clamp(2rem, 5vw, 5rem); }
.jl-editorial .jl-card__title { font-weight: 200; font-size: calc(clamp(1.6rem, 2.4vw, 2.1rem) * var(--jl-hf, 1)); }

/* Einzelne Reportage: wie ein Bildband */
.jl-editorial .jl-rep__title { font-weight: 200; font-size: calc(clamp(2.8rem, 7vw, 6rem) * var(--jl-hf, 1)); letter-spacing: -.02em; }
.jl-editorial .jl-rep__intro { padding-top: clamp(5rem, 12vw, 10rem); padding-bottom: clamp(4rem, 10vw, 8rem); }
.jl-editorial .jl-rep__lead { font-weight: 200; font-size: clamp(1.4rem, 2.6vw, 2.1rem); line-height: 1.45; }
.jl-editorial .jl-rg { --row: clamp(150px, 20vw, 340px); gap: clamp(10px, 1.6vw, 22px); max-width: 1320px; padding: 0 max(20px, 4vw); }
.jl-editorial .jl-rg__item { background: transparent; }
.jl-editorial .jl-rg__item--full { margin: clamp(2rem, 6vw, 6rem) 0; }
.jl-editorial .jl-rep__end { padding-top: clamp(6rem, 14vw, 12rem); }
.jl-editorial .jl-rep__cta { font-weight: 200; font-size: clamp(2rem, 4vw, 3.2rem); }

/* ---------- Reportage: Location & Dienstleister ---------- */
.jl-dl { max-width: var(--jl-wide, 1240px); margin: 0 auto; padding: clamp(4.236rem, 9vw, 6.854rem) max(20px, 4vw) 0; display: grid; gap: 1.618rem 4.236rem; align-items: start; }
@media (min-width: 782px) { .jl-dl { grid-template-columns: 1fr 1.618fr; } }
.jl-dl .jl-rep__kicker { color: var(--wp--preset--color--accent); }
.jl-dl__h { font-weight: 300; font-size: calc(clamp(1.9rem, 3.4vw, 2.6rem) * var(--jl-hf, 1)); line-height: 1.1; margin: .2rem 0 0; color: var(--wp--preset--color--heading); }
.jl-dl__list { margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 0 2.618rem; border-top: 1px solid var(--wp--preset--color--heading); }
.jl-dl__item { padding: 1.1rem 0 1.2rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.jl-dl__item dt { font-size: .68rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--accent); margin-bottom: .35rem; }
.jl-dl__item dd { margin: 0 0 .4rem; }
.jl-dl__name { display: block; font-size: 1.05rem; color: var(--wp--preset--color--heading); line-height: 1.35; }
.jl-dl__name a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--wp--preset--color--line); }
.jl-dl__name a:hover { border-bottom-color: var(--wp--preset--color--accent); }
.jl-dl__ort { display: block; font-size: .85rem; color: var(--wp--preset--color--muted); }
.jl-dl__links { display: flex; gap: 1rem; margin-top: .3rem; }
.jl-dl__links a { font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); text-decoration: none; }
.jl-dl__links a:hover { color: var(--wp--preset--color--heading); }
.jl-editorial .jl-dl { padding-top: clamp(6rem, 14vw, 11rem); }
.jl-editorial .jl-dl__h { font-weight: 200; font-size: calc(clamp(2.2rem, 4.4vw, 3.6rem) * var(--jl-hf, 1)); }

/* =========================================================
   Reportagen 3.17 – Angaben oben, fünf Galerie-Ansichten
   ========================================================= */
.jl-dl { display: none; } /* alter Abschnitt unter den Bildern – ersetzt durch die Angaben oben */

/* Angaben: klein, ruhig, sofort zu finden */
.jl-rep__intro { align-items: start; padding-top: clamp(2.2rem, 5vw, 3.6rem); padding-bottom: clamp(2.2rem, 5vw, 3.6rem); }
.jl-info { margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); gap: .9rem 1.6rem; font-size: .8125rem; line-height: 1.5; border-top: 1px solid var(--wp--preset--color--line); padding-top: 1rem; }
.jl-info div { min-width: 0; }
.jl-info dt { font-size: .625rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--accent); margin-bottom: .15rem; }
.jl-info dd { margin: 0; color: var(--wp--preset--color--heading); overflow-wrap: anywhere; }
.jl-info a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--wp--preset--color--line); }
.jl-info a:hover { border-bottom-color: var(--wp--preset--color--accent); }
.jl-info .jl-info__ig { border: 0; font-size: .625rem; font-weight: 600; letter-spacing: .14em; color: var(--wp--preset--color--muted); margin-left: .25rem; }
.jl-info .jl-info__ig:hover { color: var(--wp--preset--color--accent); }

/* Freitext: deutlich kleiner, schmale Spalte */
.jl-rep__lead, .jl-editorial .jl-rep__lead { font-weight: 300; font-size: clamp(1rem, 1.25vw, 1.125rem); line-height: 1.75; color: var(--wp--preset--color--contrast); max-width: 34em; margin: 0; }
@media (min-width: 782px) { .jl-rep__intro { grid-template-columns: 1.618fr 1fr; } }

/* Gemeinsame Bausteine */
.jl-gal { margin: 0 auto; }
.jl-g { margin: 0; position: relative; }
.jl-g .jl-rg__item { display: block; flex: none; background: transparent; cursor: zoom-in; overflow: hidden; }
.jl-g img { width: 100%; height: auto; display: block; aspect-ratio: var(--ar); object-fit: cover; }
.jl-g__no { font-size: .625rem; font-weight: 600; letter-spacing: .2em; color: var(--wp--preset--color--muted); margin-top: .6rem; font-variant-numeric: tabular-nums; }
.jl-g__no span { opacity: .55; }

/* 1 · Raster */
.jl-gal--raster .jl-g { flex: calc(var(--ar) * 100) 1 calc(var(--ar) * var(--row)); }
.jl-gal--raster .jl-g.is-voll { flex-basis: 100%; margin: clamp(.75rem, 3vw, 2.5rem) 0; }

/* 2 · Editorial – goldener Schnitt, viel Luft */
.jl-gal--editorial, .jl-gal--magazin { max-width: var(--jl-wide, 1240px); padding: 0 max(20px, 4vw); display: grid; gap: clamp(4.236rem, 11vw, 9rem); padding-bottom: clamp(2rem, 6vw, 4rem); }
.jl-gal--magazin { padding: 0; max-width: none; gap: clamp(3.6rem, 9vw, 7rem); }
.jl-er { display: flex; }
.jl-er--quer .jl-g { width: 61.8%; }
.jl-er--hoch .jl-g { width: 38.2%; }
.jl-er--voll .jl-g { width: 100%; }
.jl-gal--editorial .jl-er--voll { margin: 0 calc(-1 * max(20px, 4vw)); }
.jl-gal--editorial .jl-er--voll .jl-g__no { padding-left: max(20px, 4vw); }
.jl-er--paar { gap: clamp(1rem, 3vw, 2.618rem); }
.jl-er--paar .jl-g { width: calc(38.2% - .5rem); }
.jl-er.is-rechts { justify-content: flex-end; }
.jl-er--hoch.is-rechts .jl-g { margin-right: 8%; }
.jl-er--hoch.is-links .jl-g { margin-left: 8%; }
.jl-er--paar.is-links { padding-left: 8%; }
.jl-er--paar.is-rechts { padding-right: 8%; }
@media (max-width: 781px) {
	.jl-er--quer .jl-g, .jl-er--hoch .jl-g { width: 100%; margin: 0 !important; }
	.jl-er--hoch .jl-g { width: 82%; }
	.jl-er--paar { padding: 0 !important; }
	.jl-er--paar .jl-g { width: calc(50% - .5rem); }
}

/* 3 · Vollansicht – jedes Bild für sich, bildschirmfüllend */
.jl-gal--voll { display: grid; gap: clamp(2rem, 6vw, 5rem); padding: clamp(1rem, 3vw, 2rem) 0 clamp(2rem, 6vw, 4rem); }
.jl-gal--voll .jl-g { display: grid; justify-items: center; scroll-snap-align: center; }
.jl-gal--voll .jl-rg__item { max-width: 100%; }
.jl-gal--voll img { width: auto; max-width: 100vw; height: auto; max-height: calc(100svh - 7rem); aspect-ratio: var(--ar); object-fit: contain; }
.jl-gal--voll .is-quer img { width: min(100vw, calc((100svh - 7rem) * var(--ar))); }
.jl-gal--voll .jl-g__no { text-align: center; }

/* 4 · Kreativ – freie Collage auf 12 Spalten */
.jl-gal--kreativ { max-width: 1400px; padding: 0 max(20px, 4vw) clamp(2rem, 6vw, 4rem); display: grid; grid-template-columns: repeat(12, 1fr); column-gap: clamp(.75rem, 2vw, 1.618rem); row-gap: clamp(2.6rem, 7vw, 6rem); align-items: start; }
.jl-gal--kreativ .k-a { grid-column: 1 / span 8; }
.jl-gal--kreativ .k-b { grid-column: 9 / span 4; margin-top: 30%; }
.jl-gal--kreativ .k-c { grid-column: 3 / span 10; }
.jl-gal--kreativ .k-d { grid-column: 1 / span 5; }
.jl-gal--kreativ .k-e { grid-column: 6 / span 7; margin-top: 18%; }
.jl-gal--kreativ .k-p1 { grid-column: 2 / span 4; }
.jl-gal--kreativ .k-p2 { grid-column: 7 / span 5; margin-top: 12%; }
.jl-gal--kreativ .k-p3 { grid-column: 4 / span 5; }
@media (max-width: 781px) {
	.jl-gal--kreativ { grid-template-columns: repeat(6, 1fr); }
	.jl-gal--kreativ .jl-g { margin-top: 0 !important; }
	.jl-gal--kreativ .is-quer { grid-column: 1 / -1 !important; }
	.jl-gal--kreativ .is-hoch:nth-child(odd) { grid-column: 1 / span 5 !important; }
	.jl-gal--kreativ .is-hoch:nth-child(even) { grid-column: 2 / span 5 !important; }
}

/* 5 · Magazin – seitliche Leiste mit Angaben und vertikaler Navigation */
.jl-mag { max-width: 1440px; margin: 0 auto; padding: clamp(2rem, 5vw, 4rem) max(20px, 4vw) 0; display: grid; gap: clamp(2rem, 5vw, 4.236rem); }
@media (min-width: 900px) { .jl-mag { grid-template-columns: minmax(220px, 1fr) 3.236fr; } }
.jl-mag__rail-in { display: grid; gap: 1rem; align-content: start; }
@media (min-width: 900px) {
	.jl-mag__rail { border-right: 1px solid var(--wp--preset--color--line); padding-right: clamp(1.4rem, 3vw, 2.4rem); }
	.jl-mag__rail-in { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 90px); max-height: calc(100vh - 120px); overflow: auto; scrollbar-width: none; }
}
.jl-mag .jl-rep__kicker { color: var(--wp--preset--color--accent); margin: 0; }
.jl-mag__title { font-weight: 300; font-size: calc(clamp(2rem, 3.2vw, 2.8rem) * var(--jl-hf, 1)); line-height: 1.05; margin: 0; color: var(--wp--preset--color--heading); text-wrap: balance; }
.jl-mag__ort { margin: 0; font-size: .8125rem; color: var(--wp--preset--color--muted); }
.jl-mag .jl-info { grid-template-columns: 1fr; gap: .7rem; }
.jl-mag__nav { margin-top: .6rem; display: none; }
@media (min-width: 900px) { .jl-mag__nav { display: grid; grid-template-columns: auto 1fr; gap: .9rem; align-items: start; } }
.jl-mag__count { font-size: .6875rem; letter-spacing: .14em; color: var(--wp--preset--color--muted); font-variant-numeric: tabular-nums; writing-mode: vertical-rl; transform: rotate(180deg); }
.jl-mag__count b { font-weight: 600; color: var(--wp--preset--color--heading); }
.jl-mag__nav ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; }
.jl-mag__nav a { display: block; width: 22px; height: 7px; position: relative; }
.jl-mag__nav a::before { content: ""; position: absolute; left: 0; top: 3px; width: 14px; height: 1px; background: var(--wp--preset--color--line); transition: width .3s ease, background .3s ease; }
.jl-mag__nav a:hover::before { background: var(--wp--preset--color--muted); }
.jl-mag__nav a.is-on::before { width: 22px; background: var(--wp--preset--color--accent); }
.jl-mag__cover { margin: 0 0 clamp(2.6rem, 6vw, 4.236rem); }
.jl-mag__cover img { width: 100%; height: auto; display: block; }
.jl-mag__lead { font-weight: 300; font-size: clamp(1rem, 1.2vw, 1.0625rem); line-height: 1.8; color: var(--wp--preset--color--contrast); margin: 0 0 clamp(3.6rem, 9vw, 7rem); max-width: 34em; }
.jl-mag__lead--lang { max-width: 61.8%; columns: 2 16em; column-gap: 2.6rem; }
@media (max-width: 781px) { .jl-mag__lead { max-width: none; columns: 1; } }
.jl-rep--magazin .jl-rep__end { border-top: 1px solid var(--wp--preset--color--line); margin-top: clamp(3rem, 8vw, 6rem); }

/* =========================================================
   Darstellung „Magazin“ – Startseite wie ein Print-Magazin:
   feste Leiste links (Logo, nummerierte Navigation, Anfrage),
   Inhalte rechts im Editorial-Rhythmus, Texte zweispaltig mit Initial.
   ========================================================= */
.jl-rail { display: none; }
@media (min-width: 1100px) {
	body.jl-has-rail { --rail: clamp(220px, 17vw, 270px); }
	.jl-has-rail .jl-rail {
		display: flex; flex-direction: column; gap: 2.2rem;
		position: fixed; left: 0; top: var(--wp-admin--admin-bar--height, 0px); bottom: 0; width: var(--rail);
		padding: 2.4rem 1.8rem 1.8rem; box-sizing: border-box;
		background: var(--jl-bg, #FBFAF7); border-right: 1px solid var(--wp--preset--color--line); z-index: 50; overflow-y: auto; scrollbar-width: none;
	}
	.jl-has-rail header.wp-block-template-part { display: none; }
	.jl-has-rail main, .jl-has-rail footer.wp-block-template-part { margin-left: var(--rail) !important; }
	.jl-has-rail .jl-slider--gallery { width: calc(100vw - var(--rail)); margin-left: calc(50% - (100vw - var(--rail)) / 2) !important; margin-right: calc(50% - (100vw - var(--rail)) / 2) !important; max-width: none !important; }
	.jl-has-rail .jl-hero { height: min(86vh, 920px); }
}
.jl-rail__logo { display: block; }
.jl-rail__logo .jl-logo--stacked { width: 100%; max-width: 190px; margin: 0; }
.jl-rail__nav ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; counter-reset: none; }
.jl-rail__nav li[hidden] { display: none; }
.jl-rail__nav a { display: grid; grid-template-columns: 2.1rem 1fr; align-items: baseline; padding: .42rem 0; font-size: .72rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--muted); text-decoration: none; position: relative; transition: color .3s ease; }
.jl-rail__no { font-size: .66rem; letter-spacing: .06em; color: var(--wp--preset--color--line); font-variant-numeric: tabular-nums; transition: color .3s ease; }
.jl-rail__nav a:hover { color: var(--wp--preset--color--heading); }
.jl-rail__nav a.is-on { color: var(--wp--preset--color--heading); }
.jl-rail__nav a.is-on .jl-rail__no { color: var(--wp--preset--color--accent); }
.jl-rail__nav a::after { content: ""; position: absolute; left: 2.1rem; bottom: .2rem; height: 1px; width: 0; background: var(--wp--preset--color--accent); transition: width .4s ease; }
.jl-rail__nav a.is-on::after { width: 1.6rem; }
.jl-rail__cta { align-self: start; font-size: .72rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--heading); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: .25rem; }
.jl-rail__run { margin: auto 0 0; writing-mode: vertical-rl; transform: rotate(180deg); align-self: start; font-size: .625rem; letter-spacing: .3em; text-transform: uppercase; color: var(--wp--preset--color--muted); }

/* Abschnittsköpfe mit Folio-Nummer (wird per Skript gesetzt) */
.jl-magazin .jl-eyebrow .jl-folio { color: var(--wp--preset--color--heading); margin-right: .9rem; letter-spacing: .08em; }
.jl-magazin .jl-eyebrow::before { width: 1.618rem; }

/* Texte wie im Print: zweispaltig, Initial */
@media (min-width: 1000px) {
	.jl-magazin #einleitung .wp-block-column:last-child { columns: 2 15em; column-gap: 2.618rem; max-width: none; }
	.jl-magazin #einleitung .wp-block-column:last-child > :is(h2, .jl-eyebrow, .jl-values) { column-span: all; }
	.jl-magazin #einleitung .wp-block-column:last-child p { break-inside: avoid-column; }
}
.jl-magazin .jl-values { font-size: 1.3rem; }

/* Feine Satzspiegel-Linien zwischen den Abschnitten */
.jl-magazin main > .alignfull + .alignfull:not(.jl-band):not(.has-background) { border-top: 1px solid var(--wp--preset--color--line); }
.jl-magazin .jl-reps--teaser { border-top: 1px solid var(--wp--preset--color--line); }

/* 3.18.1 – Feinschliff Magazin */
.jl-rail__run { font-size: .58rem; letter-spacing: .26em; max-height: 46vh; overflow: hidden; white-space: nowrap; }
@media (max-height: 760px) { .jl-rail__run { display: none; } }
.jl-rail__no { color: var(--jl-folio, #C9BFB1); }

/* =========================================================
   Magazin: eigene, ruhigere Schriftskala (Print-Gefühl)
   Grundschrift 15,5 px · Überschriften kleiner und leichter ·
   schmale Textspalten · alles nach goldenem Schnitt gestuft.
   ========================================================= */
body.jl-magazin { font-size: .96875rem; line-height: 1.75; --wp--preset--spacing--60: clamp(5.5rem, 12vw, 10rem); }
.jl-magazin p, .jl-magazin li { font-size: inherit; }
.jl-magazin p:not([class*="font-size"]) { max-width: 38em; }

/* Überschriften */
.jl-magazin h2.wp-block-heading, .jl-magazin .jl-reps__h, .jl-magazin .jl-dl__h { font-weight: 300; font-size: calc(clamp(1.75rem, 2.9vw, 2.75rem) * var(--jl-hf, 1)); line-height: 1.12; letter-spacing: -.01em; }
.jl-magazin h3.wp-block-heading { font-size: 1.125rem !important; font-weight: 400 !important; }
.jl-magazin .jl-eyebrow, .jl-magazin .jl-rep__kicker { font-size: .625rem !important; letter-spacing: .28em; margin-bottom: 1.1rem !important; }
.jl-magazin .jl-head__lead { font-size: 1rem; color: var(--wp--preset--color--muted); }
@media (min-width: 782px) { .jl-magazin h2.jl-head { padding-right: 38.2%; } }

/* Startbild */
.jl-magazin .jl-hero__h1 { font-weight: 300; font-size: calc(clamp(2rem, 4.2vw, 3.4rem) * var(--jl-hf, 1)); line-height: 1.08; max-width: 15ch; }
.jl-magazin .jl-hero__values { font-size: clamp(1rem, 1.4vw, 1.2rem); }
.jl-magazin .jl-btn { font-size: .6875rem; padding: .85rem 1.5rem; }

/* Über mich */
.jl-magazin #einleitung .jl-values { font-size: 1.15rem; }
.jl-magazin #einleitung .wp-block-column:last-child p { font-size: .9375rem; line-height: 1.8; }

/* Arbeitsweise */
.jl-magazin .jl-card__title { font-weight: 300 !important; font-size: calc(clamp(1.25rem, 1.8vw, 1.5rem) * var(--jl-hf, 1)) !important; }
.jl-magazin #arbeitsweise .jl-card p { font-size: .9375rem; }

/* Kapitel */
.jl-magazin .jl-chapter__no { font-size: clamp(1.9rem, 3vw, 2.6rem) !important; font-weight: 200; margin-bottom: .8rem !important; }
.jl-magazin .jl-chapter__title { font-weight: 300 !important; font-size: calc(clamp(1.4rem, 2.2vw, 1.85rem) * var(--jl-hf, 1)) !important; margin-bottom: .9rem !important; }
.jl-magazin .jl-chapter p { font-size: .9375rem; line-height: 1.8; }

/* Band „Klingt nach euch?“ */
.jl-magazin .jl-band h2 { font-size: calc(clamp(1.75rem, 2.9vw, 2.6rem) * var(--jl-hf, 1)); }
.jl-magazin .jl-checks li { font-size: .9375rem; }

/* Ablauf */
.jl-magazin .jl-step__no { font-size: clamp(1.6rem, 2.4vw, 2.1rem) !important; }
.jl-magazin .jl-step__title { font-size: calc(1rem * var(--jl-hf, 1)) !important; font-weight: 600 !important; letter-spacing: .01em; }
.jl-magazin .jl-step p { font-size: .9rem; }

/* Pakete */
.jl-magazin .jl-pack__tag { font-size: .625rem; }
.jl-magazin .jl-pack__name { font-size: clamp(1.4rem, 2.2vw, 1.85rem) !important; }
.jl-magazin .jl-pack__price { font-size: 1.25rem; }
.jl-magazin .jl-pack__list li { font-size: .9375rem; }
.jl-magazin .jl-included__list li, .jl-magazin .jl-pack-note { font-size: .875rem; }

/* Stimmen, FAQ, Kontakt */
.jl-magazin .jl-quote p { font-size: clamp(1.2rem, 2vw, 1.6rem); font-weight: 300; }
.jl-magazin .jl-faq summary { font-size: 1rem; font-weight: 400; }
.jl-magazin .jl-faq details p { font-size: .9375rem; }
.jl-magazin .jl-form label { font-size: .625rem; letter-spacing: .2em; }
.jl-magazin .jl-form input, .jl-magazin .jl-form textarea, .jl-magazin .jl-form select { font-size: .9375rem; }

/* Reportagen-Übersicht und Karten */
.jl-magazin .jl-card__title { font-size: calc(clamp(1.15rem, 1.6vw, 1.4rem) * var(--jl-hf, 1)); }
.jl-magazin .jl-card__meta { font-size: .625rem; }
.jl-magazin .jl-card__more { font-size: .75rem; }

/* Reportage (alle Ansichten) */
.jl-magazin .jl-rep__title { font-weight: 300; font-size: calc(clamp(2.2rem, 4.8vw, 3.8rem) * var(--jl-hf, 1)); }
.jl-magazin .jl-mag__title { font-size: calc(clamp(1.6rem, 2.4vw, 2.2rem) * var(--jl-hf, 1)); }
.jl-magazin .jl-rep__lead, .jl-magazin .jl-mag__lead { font-size: .9375rem; }
.jl-magazin .jl-rep__cta { font-weight: 300; font-size: clamp(1.5rem, 2.6vw, 2.1rem); }

/* Fußbereich */
.jl-magazin footer.wp-block-template-part p { font-size: .8125rem; }

/* =========================================================
   Arbeitsweise im Magazin-Satz (Magazin + Atelier):
   links Rubrik und Überschrift (38,2 %), rechts drei schmale
   Spalten mit Haarlinien, kleine Nummern, kompakte Texte.
   ========================================================= */
.jl-magazin #arbeitsweise { padding-top: calc(clamp(4rem, 8vw, 6.5rem) * var(--jl-secf, 1)) !important; padding-bottom: calc(clamp(4rem, 8vw, 6.5rem) * var(--jl-secf, 1)) !important; }
.jl-magazin #arbeitsweise .wp-block-columns { counter-reset: jl-arb; margin-top: 2rem !important; }
.jl-magazin #arbeitsweise .jl-card { display: block !important; border: 0 !important; padding: 0 !important; margin: 0 !important; }
.jl-magazin #arbeitsweise .jl-card::before { counter-increment: jl-arb; content: counter(jl-arb, decimal-leading-zero); display: block; font-size: .625rem; font-weight: 600; letter-spacing: .22em; color: var(--wp--preset--color--accent); margin-bottom: .7rem; }
.jl-magazin #arbeitsweise .jl-card__title { font-size: calc(1.0625rem * var(--jl-hf, 1)) !important; font-weight: 500 !important; letter-spacing: .01em; margin: 0 0 .55rem !important; }
.jl-magazin #arbeitsweise .jl-card p { font-size: .875rem; line-height: 1.7; margin: 0; max-width: none; }
@media (max-width: 899px) {
	.jl-magazin #arbeitsweise .wp-block-columns { flex-direction: column !important; gap: 1.8rem !important; }
	.jl-magazin #arbeitsweise .jl-card { border-top: 1px solid var(--wp--preset--color--line) !important; padding-top: 1.2rem !important; }
}
@media (min-width: 900px) {
	.jl-magazin #arbeitsweise {
		display: grid !important;
		grid-template-columns: 1fr calc(min(var(--jl-wide, 1240px), 100%) * .382 - var(--jl-gut, 3rem) / 2) var(--jl-gut, 3rem) calc(min(var(--jl-wide, 1240px), 100%) * .618 - var(--jl-gut, 3rem) / 2) 1fr;
		align-items: start;
	}
	.jl-magazin #arbeitsweise > * { max-width: none !important; margin: 0 !important; padding-right: 0 !important; padding-left: 0 !important; }
	.jl-magazin #arbeitsweise > .jl-eyebrow { grid-column: 2; grid-row: 1; }
	.jl-magazin #arbeitsweise > h2 { grid-column: 2; grid-row: 2; font-size: calc(clamp(1.6rem, 2.4vw, 2.2rem) * var(--jl-hf, 1)) !important; }
	.jl-magazin #arbeitsweise > .wp-block-columns {
		grid-column: 4; grid-row: 1 / span 3; margin: 0 !important;
		display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 0 !important;
		border-top: 1px solid var(--wp--preset--color--heading); padding-top: 1.4rem;
	}
	.jl-magazin #arbeitsweise .jl-card { padding: 0 1.4rem !important; border-left: 1px solid var(--wp--preset--color--line) !important; }
	.jl-magazin #arbeitsweise .jl-card:first-child { padding-left: 0 !important; border-left: 0 !important; }
	.jl-magazin #arbeitsweise .jl-card:last-child { padding-right: 0 !important; }
}

/* =========================================================
   Darstellung „Atelier“ – Kunstmagazin:
   Ordnung (Raster, goldener Schnitt) + Kreativität (Bilder bis an den Rand,
   große Folio-Ziffern, geteiltes Titelbild) + ruhige Magazin-Typografie.
   ========================================================= */
body.jl-atelier { background: var(--jl-bg, #FAF8F4); }
.jl-atelier .has-alt-background-color { background-color: var(--jl-alt, #F2EEE7) !important; }

/* Titelbild: volle Breite, ruhige Typografie */
.jl-atelier .jl-hero__h1 { font-weight: 200; font-size: calc(clamp(2.1rem, 4.4vw, 3.8rem) * var(--jl-hf, 1)); line-height: 1.06; max-width: 15ch; }

/* Große Folio-Ziffer über jeder Rubrik */
.jl-atelier .jl-eyebrow::before { display: none; }
.jl-atelier .jl-eyebrow .jl-folio { display: block; font-size: clamp(3.4rem, 6.5vw, 6rem); font-weight: 100; line-height: .9; letter-spacing: -.03em; color: var(--jl-folio, #D8CDBD); margin: 0 0 .7rem; }
.jl-atelier .jl-eyebrow--band .jl-folio { color: rgba(255,255,255,.25); }

/* Rubrik links, Überschrift rechts im goldenen Schnitt */
@media (min-width: 900px) {
	.jl-atelier h2.jl-head { padding-left: 38.2%; padding-right: 0; margin-top: -3.2rem !important; }
	.jl-atelier .jl-head__lead { padding-left: 38.2%; }
	.jl-atelier .jl-reps__head { max-width: none; display: grid; grid-template-columns: 1fr 1.618fr; column-gap: 3rem; }
	.jl-atelier .jl-reps__head .jl-reps__h { grid-column: 2; margin-top: -3.2rem; }
}

/* Kapitel: Bild läuft bis an den Seitenrand, Text auf der Gegenseite */
@media (min-width: 1100px) {
	.jl-atelier .jl-chapter > .wp-block-column:first-child { margin-left: calc(-1 * max(clamp(1.25rem, 4vw, 2.5rem), (var(--jl-vw, 100vw) - var(--jl-wide, 1240px)) / 2)); }
	.jl-atelier .jl-chapter--rev > .wp-block-column:first-child { margin-left: 0; margin-right: calc(-1 * max(clamp(1.25rem, 4vw, 2.5rem), (var(--jl-vw, 100vw) - var(--jl-wide, 1240px)) / 2)); }
	.jl-atelier .jl-chapter--rev > .wp-block-column:first-child { margin-top: clamp(2rem, 6vw, 5rem); }
}
.jl-atelier .jl-chapter__img img { aspect-ratio: 1.618 / 1; }
.jl-atelier .jl-chapter__no { color: var(--jl-folio, #D8CDBD); font-weight: 100; font-size: clamp(2.6rem, 4.5vw, 4rem) !important; }

/* Über mich: Porträt mit feinem Versatz-Rahmen */
.jl-atelier .jl-portrait { position: relative; }
.jl-atelier .jl-portrait::after { content: ""; position: absolute; inset: 1.2rem -1.2rem -1.2rem 1.2rem; border: 1px solid var(--wp--preset--color--accent); opacity: .45; z-index: -1; }
.jl-atelier #einleitung { isolation: isolate; }

/* Reportage-Karten: Bildunterschrift wie im Heft */
.jl-atelier .jl-card__meta { letter-spacing: .24em; }
.jl-atelier .jl-card__title { font-weight: 300; }

/* =========================================================
   3.20 – Kopfbereich immer volle Breite, Boxed-Option,
   feine Folio-Ziffern auch in der Magazin-Darstellung
   ========================================================= */

/* Magazin mit Leiste: Startbild über die volle Breite, Kopfzeile sichtbar,
   die Leiste gleitet erst nach dem Startbild herein. */
@media (min-width: 1100px) {
	.jl-has-rail header.wp-block-template-part { display: block; transition: transform .45s ease, opacity .45s ease; }
	.jl-has-rail.jl-rail-on header.wp-block-template-part { transform: translateY(-110%); opacity: 0; pointer-events: none; }
	.jl-has-rail .jl-rail { transition: transform .5s ease, opacity .5s ease; }
	.jl-has-rail:not(.jl-rail-on) .jl-rail { transform: translateX(-100%); opacity: 0; pointer-events: none; }
	.jl-has-rail main > .jl-hero-wrap {
		margin-left: calc(-1 * (var(--rail) + var(--wp--style--root--padding-left, 0px))) !important; width: 100vw; max-width: none !important;
	}
}

/* Feine Folio-Ziffer (dünne Kontur) in allen Magazin-Darstellungen */
.jl-magazin .jl-eyebrow::before { display: none; }
.jl-magazin .jl-eyebrow .jl-folio { display: block; font-size: clamp(3.2rem, 6vw, 5.6rem); font-weight: 100; line-height: .9; letter-spacing: -.03em; color: var(--jl-folio, #D8CDBD); margin: 0 0 .7rem; }
.jl-magazin .jl-eyebrow--band .jl-folio { color: rgba(255,255,255,.25); }

/* Boxed: Inhalte mittig mit fester Maximalbreite, Kopfbereich (Kopfzeile + Startbild) bleibt voll breit */
body.jl-boxed { --jl-box: 1320px; --jl-vw: min(100vw, var(--jl-box)); background: var(--jl-outer, #ECE8E1) !important; }
.jl-boxed main, .jl-boxed footer.wp-block-template-part { max-width: var(--jl-box); margin-left: auto !important; margin-right: auto !important; background: var(--wp--preset--color--base); box-shadow: 0 0 0 1px rgba(0,0,0,.04), 0 30px 80px -40px rgba(40,30,20,.18); }
.jl-boxed.jl-editorial main, .jl-boxed.jl-editorial footer.wp-block-template-part { background: var(--jl-bg, #FBFAF7); }
.jl-boxed.jl-atelier main, .jl-boxed.jl-atelier footer.wp-block-template-part { background: var(--jl-bg, #FAF8F4); }
.jl-boxed main > .jl-hero-wrap { width: 100vw; max-width: none !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }
.jl-boxed .jl-rep__hero { width: 100vw; margin-left: calc(50% - 50vw); }
.jl-boxed main { overflow: visible; }
@media (min-width: 1100px) {
	.jl-boxed.jl-has-rail { --jl-vw: min(calc(100vw - var(--rail)), var(--jl-box)); }
	.jl-boxed.jl-has-rail main, .jl-boxed.jl-has-rail footer.wp-block-template-part { margin-left: calc(var(--rail) + max(0px, (100vw - var(--rail) - var(--jl-box)) / 2)) !important; margin-right: auto !important; }
	.jl-boxed.jl-has-rail main > .jl-hero-wrap { width: 100vw; margin-left: calc(-1 * (var(--rail) + max(0px, (100vw - var(--rail) - var(--jl-box)) / 2) + var(--wp--style--root--padding-left, 0px))) !important; margin-right: 0 !important; }
	.jl-boxed.jl-has-rail .jl-slider--gallery { width: var(--jl-vw); margin-left: calc(50% - var(--jl-vw) / 2) !important; margin-right: calc(50% - var(--jl-vw) / 2) !important; }
}

.jl-rail__run { white-space: nowrap !important; max-height: none !important; }

/* =========================================================
   3.21 – Ablauf und Pakete kompakt: jeweils auf einen Blick,
   ohne Scrollen (Editorial, Magazin, Atelier).
   Links Rubrik + Überschrift (38,2 %), rechts kompakte Liste (61,8 %).
   ========================================================= */
.jl-editorial #ablauf, .jl-editorial #pakete { padding-top: calc(clamp(3.5rem, 7vw, 5.5rem) * var(--jl-secf, 1)) !important; padding-bottom: calc(clamp(3.5rem, 7vw, 5.5rem) * var(--jl-secf, 1)) !important; }
@media (min-width: 900px) {
	.jl-editorial #ablauf, .jl-editorial #pakete {
		display: grid !important;
		grid-template-columns: 1fr calc(min(var(--jl-wide, 1240px), 100%) * .382 - var(--jl-gut, 3rem) / 2) var(--jl-gut, 3rem) calc(min(var(--jl-wide, 1240px), 100%) * .618 - var(--jl-gut, 3rem) / 2) 1fr;
		grid-auto-rows: min-content; align-items: start;
	}
	.jl-editorial #ablauf > *, .jl-editorial #pakete > * { max-width: none !important; margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important; grid-column: 2; }
	.jl-editorial #ablauf > h2, .jl-editorial #pakete > h2 { font-size: calc(clamp(1.6rem, 2.4vw, 2.2rem) * var(--jl-hf, 1)) !important; }
	.jl-editorial #pakete > .jl-head__lead { font-size: .875rem; margin-top: 1rem !important; }
	.jl-editorial #ablauf > .jl-steps { grid-column: 4; grid-row: 1 / span 4; }
	.jl-editorial #pakete > .jl-packs { grid-column: 4; grid-row: 1 / span 4; }
	.jl-editorial #pakete > .jl-included { grid-column: 4; grid-row: 5; }
	.jl-atelier #ablauf > h2.jl-head, .jl-atelier #pakete > h2.jl-head { padding-left: 0 !important; margin-top: 0 !important; }
	.jl-atelier #pakete > .jl-head__lead { padding-left: 0 !important; }
}

/* Ablauf: eine Zeile je Schritt – Nummer · Titel · Text */
.jl-editorial .jl-steps { margin-top: 1.6rem !important; border-top: 1px solid var(--wp--preset--color--heading); gap: 0 !important; }
.jl-editorial .jl-step { display: grid !important; grid-template-columns: 2.4rem 9.5rem 1fr; column-gap: 1rem; align-items: baseline; padding: .85rem 0 !important; border-top: 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.jl-editorial .jl-step__no { grid-row: auto !important; font-size: .6875rem !important; font-weight: 600 !important; letter-spacing: .18em !important; line-height: 1.6 !important; color: var(--wp--preset--color--accent); }
.jl-editorial .jl-step__title { grid-column: 2 !important; margin: 0 !important; font-size: calc(.9375rem * var(--jl-hf, 1)) !important; font-weight: 500 !important; }
.jl-editorial .jl-step p { grid-column: 3 !important; margin: 0; font-size: .8125rem; line-height: 1.6; }
@media (max-width: 599px) {
	.jl-editorial .jl-step { grid-template-columns: 2rem 1fr; }
	.jl-editorial .jl-step p { grid-column: 2 !important; margin-top: .2rem; }
}

/* Pakete: kompakte Preisliste – Name · Leistungen · Preis */
.jl-editorial .jl-packs, .jl-editorial .jl-packs--4 { margin-top: 1.6rem !important; gap: 0 !important; grid-template-columns: 1fr !important; border-top: 1px solid var(--wp--preset--color--heading); }
.jl-editorial .jl-pack { display: grid !important; grid-template-columns: 9.5rem 1fr auto; grid-template-rows: auto auto; column-gap: 1.4rem; row-gap: .15rem; align-items: start; padding: 1rem 0 !important; margin: 0 !important; background: transparent; border: 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.jl-editorial .jl-pack--featured { background: transparent !important; position: relative; }
.jl-editorial .jl-pack--featured::before { content: ""; position: absolute; left: -.9rem; top: 1.05rem; bottom: 1rem; width: 2px; background: var(--wp--preset--color--accent); }
.jl-editorial .jl-pack > * { grid-column: auto !important; grid-row: auto !important; margin: 0 !important; }
.jl-editorial .jl-pack__tag { grid-column: 1 !important; grid-row: 1 !important; font-size: .5625rem !important; letter-spacing: .2em; }
.jl-editorial .jl-pack__name { grid-column: 1 !important; grid-row: 2 !important; font-size: 1.15rem !important; font-weight: 400 !important; line-height: 1.2; }
.jl-editorial .jl-pack__list { grid-column: 2 !important; grid-row: 1 / span 2 !important; display: flex !important; flex-wrap: wrap; gap: .15rem 0; list-style: none; padding: 0 !important; font-size: .8125rem; line-height: 1.55; color: var(--wp--preset--color--contrast); }
.jl-editorial .jl-pack__list li { padding: 0 !important; margin: 0 !important; font-size: .8125rem !important; }
.jl-editorial .jl-pack__list li::before { content: none !important; }
.jl-editorial .jl-pack__list li:not(:last-child)::after { content: "·"; margin: 0 .5rem; color: var(--wp--preset--color--accent); }
.jl-editorial .jl-pack__price { grid-column: 3 !important; grid-row: 1 / span 2 !important; text-align: right; font-size: 1.15rem !important; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.jl-editorial .jl-pack__unit { display: block !important; margin: .2rem 0 0 !important; font-size: .6875rem !important; font-weight: 400; color: var(--wp--preset--color--muted) !important; }
.jl-editorial .jl-pack .jl-btn { display: none !important; }
.jl-editorial .jl-included { margin-top: 1.2rem !important; padding-top: 0 !important; border: 0 !important; display: block; }
.jl-editorial .jl-included .jl-eyebrow { font-size: .5625rem !important; margin-bottom: .5rem !important; }
.jl-editorial .jl-included .jl-eyebrow .jl-folio { display: none; }
.jl-editorial .jl-included__list { display: flex !important; flex-wrap: wrap; gap: .2rem 0 !important; }
.jl-editorial .jl-included__list li { padding: 0 !important; font-size: .8125rem !important; color: var(--wp--preset--color--muted); }
.jl-editorial .jl-included__list li::before { content: none !important; }
.jl-editorial .jl-included__list li:not(:last-child)::after { content: "·"; margin: 0 .5rem; color: var(--wp--preset--color--accent); }
.jl-editorial .jl-pack-note { font-size: .75rem; margin-top: .6rem !important; }
.jl-editorial #pakete::after { content: none; }
@media (max-width: 599px) {
	.jl-editorial .jl-pack { grid-template-columns: 1fr auto; }
	.jl-editorial .jl-pack__price { grid-column: 2 !important; grid-row: 1 / span 2 !important; }
	.jl-editorial .jl-pack__list { grid-column: 1 / -1 !important; grid-row: 3 !important; margin-top: .4rem !important; }
}
.jl-pack-cta { display: none; }
.jl-editorial .jl-pack-cta { display: block; margin: 1.4rem 0 0 !important; }
.jl-editorial .jl-pack-cta .jl-btn { font-size: .6875rem; padding: .8rem 1.4rem; }

/* =========================================================
   3.22 – „Klingt nach euch?“ und „Gut zu wissen“ kompakt
   ========================================================= */
/* Band „Klingt nach euch?“ */
.jl-editorial .jl-band { padding-top: calc(clamp(3.2rem, 6vw, 4.8rem) * var(--jl-secf, 1)) !important; padding-bottom: calc(clamp(3.2rem, 6vw, 4.8rem) * var(--jl-secf, 1)) !important; }
.jl-editorial .jl-band .wp-block-columns { gap: clamp(2rem, 5vw, 4.236rem) !important; align-items: flex-start !important; }
.jl-editorial .jl-band h2 { font-size: calc(clamp(1.6rem, 2.4vw, 2.2rem) * var(--jl-hf, 1)) !important; margin-bottom: .9rem !important; }
.jl-editorial .jl-band p { font-size: .9375rem; line-height: 1.65; margin: 0 0 1.2rem; }
.jl-editorial .jl-band .jl-btn { font-size: .6875rem; padding: .8rem 1.4rem; }
.jl-editorial .jl-band .jl-eyebrow { font-size: .5625rem !important; margin-bottom: .8rem !important; }
.jl-editorial .jl-band .jl-eyebrow .jl-folio { display: none; }
.jl-editorial .jl-checks li { font-size: .875rem; margin-bottom: .35rem; padding-left: 1.4rem; }
.jl-editorial .jl-band .has-small-font-size { font-size: .75rem !important; opacity: .75; margin-top: .9rem; line-height: 1.55; }

/* FAQ „Gut zu wissen“: links Rubrik + Überschrift, rechts die Fragen */
.jl-editorial #fragen { padding-top: calc(clamp(3.5rem, 7vw, 5.5rem) * var(--jl-secf, 1)) !important; padding-bottom: calc(clamp(3.5rem, 7vw, 5.5rem) * var(--jl-secf, 1)) !important; }
.jl-editorial .jl-faq__list { border-top: 1px solid var(--wp--preset--color--heading); margin-top: 1.6rem; }
.jl-editorial .jl-faq details { padding: .8rem 0 !important; margin: 0 !important; }
.jl-editorial .jl-faq summary { font-size: .9375rem !important; font-weight: 400; gap: 1rem; }
.jl-editorial .jl-faq summary::after { font-size: 1.1rem; }
.jl-editorial .jl-faq details p { font-size: .8125rem; line-height: 1.65; margin: .5rem 0 .2rem; max-width: 46em; color: var(--wp--preset--color--contrast); }
@media (min-width: 900px) {
	.jl-editorial #fragen {
		display: grid !important;
		grid-template-columns: 1fr calc(min(var(--jl-wide, 1240px), 100%) * .382 - var(--jl-gut, 3rem) / 2) var(--jl-gut, 3rem) calc(min(var(--jl-wide, 1240px), 100%) * .618 - var(--jl-gut, 3rem) / 2) 1fr;
		grid-auto-rows: min-content; align-items: start;
	}
	.jl-editorial #fragen > * { max-width: none !important; margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important; grid-column: 2; }
	.jl-editorial #fragen > h2 { font-size: calc(clamp(1.6rem, 2.4vw, 2.2rem) * var(--jl-hf, 1)) !important; }
	.jl-editorial #fragen > .jl-faq__list { grid-column: 4; grid-row: 1 / span 3; margin-top: 0 !important; }
}

/* =========================================================
   3.23 Feinschliff – Grundwerte der Flächenfarben je Darstellung
   (werden unter Design → Hochzeitsseite → Feinschliff überschrieben)
   ========================================================= */
body { --jl-bg: var(--wp--preset--color--base); --jl-alt: var(--wp--preset--color--alt); }
body.jl-editorial { --jl-bg: var(--wp--preset--color--base); --jl-alt: var(--wp--preset--color--alt); }
body.jl-atelier { --jl-bg: var(--wp--preset--color--base); --jl-alt: var(--wp--preset--color--alt); }

/* =========================================================
   3.24 Reportagen auf der Startseite – kompakt
   Text links (38,2 %), Bilder in einer Reihe rechts (61,8 %)
   ========================================================= */
html body .jl-reps.jl-reps--kompakt { padding-top: calc(clamp(3.5rem, 7vw, 5.5rem) * var(--jl-secf, 1)); padding-bottom: calc(clamp(3.5rem, 7vw, 5.5rem) * var(--jl-secf, 1)); max-width: calc(var(--jl-wide, 1240px) + 2 * max(20px, 4vw)); }
.jl-reps--kompakt .jl-reps__head { max-width: none; margin: 0 0 1.6rem; display: block !important; }
.jl-reps--kompakt .jl-reps__h { font-size: calc(clamp(1.6rem, 2.4vw, 2.2rem) * var(--jl-hf, 1)) !important; line-height: 1.15 !important; margin: .4rem 0 0 !important; font-weight: 300; }
.jl-reps--kompakt .jl-reps__all { text-align: left; margin: 1.6rem 0 0; }
.jl-reps--kompakt .jl-reps__grid { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(-1 * max(20px, 4vw)); padding: 0 max(20px, 4vw); }
.jl-reps--kompakt .jl-reps__grid::-webkit-scrollbar { display: none; }
.jl-reps--kompakt .jl-reps__grid .jl-card { flex: 0 0 64vw; scroll-snap-align: start; grid-row: auto !important; grid-column: auto !important; border-top: 0; padding-top: 0; gap: .3rem; }
.jl-reps--kompakt .jl-card__img { aspect-ratio: 4 / 5 !important; margin-bottom: .35rem; }
.jl-reps--kompakt .jl-card__meta { font-size: .5625rem !important; letter-spacing: .2em; line-height: 1.5; }
.jl-reps--kompakt .jl-card__title { font-size: calc(1.125rem * var(--jl-hf, 1)) !important; font-weight: 300 !important; line-height: 1.25; }
.jl-reps--kompakt .jl-card__more { display: none; }
@media (min-width: 900px) {
	html body .jl-reps.jl-reps--kompakt { display: grid; grid-template-columns: minmax(0, .382fr) minmax(0, .618fr); grid-template-rows: auto 1fr; column-gap: var(--jl-gut, 3rem); align-items: start; }
	.jl-reps--kompakt .jl-reps__head { grid-column: 1; grid-row: 1; margin: 0; }
	.jl-reps--kompakt .jl-reps__all { grid-column: 1; grid-row: 2; }
	.jl-reps--kompakt .jl-reps__grid { grid-column: 2; grid-row: 1 / span 2; display: grid; grid-template-columns: repeat(var(--jl-reps-n, 3), minmax(0, 1fr)); gap: 1.8rem 1.2rem; overflow: visible; margin: 0; padding: 0; }
	.jl-reps--kompakt .jl-reps__grid .jl-card { flex: none; }
}
.jl-atelier .jl-reps--kompakt .jl-reps__head .jl-reps__h { grid-column: auto; }
html body .jl-rail p.jl-rail__run { font-size: .58rem !important; line-height: 1 !important; letter-spacing: .26em !important; }

/* =========================================================
   3.25 Einblicke als Magazin-Strecke
   Kopf im goldenen Schnitt, Bildreihen wie in den Reportagen
   ========================================================= */
.jl-ein { width: 100%; }
.jl-ein__head { margin: 0 0 clamp(2.618rem, 6vw, 4.236rem); }
.jl-ein__head .jl-eyebrow { margin: 0 0 1rem !important; }
.jl-ein__head h2.wp-block-heading { margin: 0 !important; font-weight: 300; font-size: calc(clamp(1.75rem, 2.9vw, 2.6rem) * var(--jl-hf, 1)) !important; line-height: 1.12 !important; letter-spacing: -.01em; }
.jl-ein__lead { margin: 1rem 0 0; max-width: 34rem; font-size: .9375rem; line-height: 1.75; color: var(--wp--preset--color--muted); }
@media (min-width: 900px) {
	.jl-ein__head { display: grid; grid-template-columns: minmax(0, .382fr) minmax(0, .618fr); column-gap: var(--jl-gut, 3rem); align-items: start; }
	.jl-ein__head .jl-eyebrow { margin: 0 !important; }
}
.jl-gal--ein { display: grid; gap: clamp(1.618rem, 4vw, 3.6rem); }
.jl-ei { display: flex; gap: clamp(.75rem, 2vw, 1.618rem); align-items: flex-start; }
.jl-ei .jl-g { flex: var(--g) 1 0; min-width: 0; }
.jl-ei--paar.is-rechts { align-items: flex-end; }
.jl-ei--voll .jl-g img { aspect-ratio: 2 / 1; }
.jl-ei--paar .jl-g:nth-child(2) .jl-g__no { text-align: right; }
.jl-ein .jl-ei.is-mehr { display: none; }
.jl-ein.is-offen .jl-ei.is-mehr { display: flex; }
.jl-ein__more { text-align: center; margin: clamp(2.618rem, 5vw, 3.6rem) 0 0; }
.jl-ein.is-offen .jl-ein__more { display: none; }
.jl-ein__more span { opacity: .55; margin-left: .45em; }
.jl-ein .jl-g img { transition: transform 1s ease; }
.jl-ein .jl-rg__item:hover img { transform: scale(1.02); }
@media (min-width: 900px) { .jl-ei--paar.is-links { padding-right: 8%; } .jl-ei--paar.is-rechts { padding-left: 8%; } }

/* =========================================================
   3.26 Einblicke: Teaser auf der Startseite + eigene Seite
   ========================================================= */
@media (min-width: 900px) {
	html body .jl-reps.jl-reps--rev { grid-template-columns: minmax(0, .618fr) minmax(0, .382fr); }
	.jl-reps--rev .jl-reps__head, .jl-reps--rev .jl-reps__all { grid-column: 2; }
	.jl-reps--rev .jl-reps__grid { grid-column: 1; }
}
.jl-reps--rev .jl-reps__intro { font-size: .875rem; line-height: 1.7; color: var(--wp--preset--color--muted); margin: 1rem 0 0; max-width: 26rem; }
.jl-reps__n { opacity: .55; margin-left: .4em; }
.jl-ein-teaser .jl-card__meta { color: var(--wp--preset--color--muted); }
.jl-ein-page .jl-mag__lead { margin-top: 0; }
.jl-ein-page__cta { margin: .6rem 0 0; }
.jl-ein-page__cta .jl-btn { padding: .7rem 1.3rem; font-size: .6875rem; }

/* =========================================================
   3.28 Kapitelbilder kleiner + weitere Ansichten der Einblicke-Seite
   ========================================================= */
@media (min-width: 782px) {
	html body .jl-chapter > .wp-block-column:first-child { flex-basis: var(--jl-kap-w, 50%) !important; flex-grow: 0 !important; }
	html body .jl-chapter > .wp-block-column:not(:first-child) { flex: 1 1 0 !important; }
}

.jl-ein-page__head { max-width: calc(var(--jl-wide, 1240px) + 2 * max(20px, 4vw)); margin: 0 auto; padding: clamp(3.6rem, 9vw, 7rem) max(20px, 4vw) clamp(2.618rem, 6vw, 4.236rem); display: grid; gap: 1.618rem; }
@media (min-width: 900px) { .jl-ein-page__head { grid-template-columns: minmax(0, .382fr) minmax(0, .618fr); column-gap: var(--jl-gut, 3rem); align-items: start; } }
.jl-ein-page__side { display: grid; gap: 1.2rem; align-content: start; }
.jl-ein-page__side .jl-rep__kicker { color: var(--wp--preset--color--accent); margin: 0; }
.jl-ein-page__side .jl-info { grid-template-columns: 1fr; gap: .6rem; }
.jl-ein-page__h { font-weight: 300; font-size: calc(clamp(2rem, 4vw, 3.4rem) * var(--jl-hf, 1)); line-height: 1.08; margin: 0; color: var(--wp--preset--color--heading); text-wrap: balance; }
.jl-ein-page__lead { margin: 1.2rem 0 0; max-width: 34em; font-size: 1rem; line-height: 1.8; color: var(--wp--preset--color--contrast); }
.jl-ein-page__body { max-width: calc(var(--jl-wide, 1240px) + 2 * max(20px, 4vw)); margin: 0 auto; padding: 0 max(20px, 4vw); }
.jl-ein-page--raster .jl-rg, .jl-ein-page--voll .jl-gal--voll { margin-top: 0; }

/* Kontaktbogen */
.jl-gal--kontakt { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(46%, 230px), 1fr)); gap: clamp(1.6rem, 3vw, 2.618rem) clamp(.75rem, 1.6vw, 1.25rem); }
.jl-gal--kontakt .jl-rg__item { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; padding: 9%; background: var(--jl-alt, var(--wp--preset--color--alt)); }
.jl-gal--kontakt .jl-rg__item img { width: auto; height: auto; max-width: 100%; max-height: 100%; aspect-ratio: var(--ar); object-fit: contain; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.jl-gal--kontakt .jl-rg__item:hover img { transform: none; }
.jl-gal--kontakt .jl-g__no { margin-top: .5rem; }

/* =========================================================
   3.29 Einblicke: Seitenleiste mit jeder Anordnung kombinierbar,
   neue Anordnungen Triptychon, Bildband, Mosaik
   ========================================================= */
.jl-mag__main .jl-gal { max-width: none; margin: 0; padding-left: 0; padding-right: 0; }
.jl-mag__main .jl-rg { padding: 0; max-width: none; }
.jl-mag__main .jl-gal--editorial .jl-er--voll { margin: 0; }
.jl-mag__main .jl-gal--editorial .jl-er--voll .jl-g__no { padding-left: 0; }
.jl-mag__main .jl-gal--voll img { max-width: 100%; }
.jl-mag__main .jl-gal--voll .is-quer img { width: min(100%, calc((100svh - 7rem) * var(--ar))); }
.jl-mag__main .jl-gal--kreativ { padding: 0; max-width: none; }

/* Triptychon */
.jl-ei--solo { justify-content: center; }
.jl-ei--solo .jl-g { flex: 0 0 61.8%; }
@media (max-width: 781px) { .jl-ei--drei { flex-wrap: wrap; } .jl-ei--drei .jl-g { flex: 1 1 40%; } .jl-ei--solo .jl-g { flex-basis: 100%; } }

/* Mosaik */
.jl-gal--mosaik { display: block; columns: 3 240px; column-gap: clamp(.75rem, 1.6vw, 1.25rem); }
.jl-gal--mosaik .jl-g { break-inside: avoid; margin: 0 0 clamp(1.2rem, 2.4vw, 2rem); }

/* Bildband */
.jl-gal--bildband { display: grid; gap: clamp(3.6rem, 9vw, 8rem); }
.jl-gal--bildband .jl-g { justify-self: center; }
.jl-gal--bildband .bb-q0 { width: 100%; }
.jl-gal--bildband .bb-q1 { width: 61.8%; justify-self: end; }
.jl-gal--bildband .bb-q2 { width: 76.4%; justify-self: start; }
.jl-gal--bildband .bb-h0 { width: 38.2%; }
.jl-gal--bildband .bb-h1 { width: 47%; justify-self: start; margin-left: 8%; }
.jl-gal--bildband .bb-h2 { width: 38.2%; justify-self: end; margin-right: 12%; }
@media (max-width: 781px) { .jl-gal--bildband .jl-g { width: 100% !important; margin: 0 !important; } .jl-gal--bildband .is-hoch { width: 82% !important; } }

/* =========================================================
   3.30 Kapitel: Ziffer über dem Text, Unterkante auf Höhe der Bild-Oberkante,
   Kontur-Varianten, weniger Abstand zwischen den Kapiteln
   ========================================================= */
body { --jl-kno: .8125rem; }
body.jl-editorial { --jl-kno: clamp(2.6rem, 4.6vw, 4.2rem); }
body.jl-magazin { --jl-kno: clamp(1.9rem, 3vw, 2.6rem); }
body.jl-atelier { --jl-kno: clamp(2.6rem, 4.5vw, 4rem); }
/* line-height .717 legt die Grundlinie der Ziffern genau auf die Unterkante der Zeile */
html body .jl-chapter .jl-chapter__no { font-size: var(--jl-kno) !important; line-height: .717 !important; margin: 0 !important; padding: 0; display: block; }
html body .jl-chapter .jl-chapter__img { margin-top: 0 !important; margin-block-start: 0 !important; }
html body .jl-chapter { margin-top: var(--jl-kap-gap, clamp(2.618rem, 6vw, 5.5rem)) !important; }
/* Ziffer über dem Text, ihre Unterkante in Verlängerung der Bild-Oberkante */
@media (min-width: 782px) {
	html body .jl-chapter > .wp-block-column:not(:first-child) { padding-top: 0 !important; margin-top: calc(var(--jl-kno) * -.717) !important; }
	html body .jl-chapter > .wp-block-column:not(:first-child) > .jl-chapter__title { margin-top: 0 !important; }
	html body .jl-chapter--rev > .wp-block-column:first-child { margin-top: 0 !important; }
}
@media (max-width: 781px) { html body .jl-chapter .jl-chapter__no { margin-bottom: .6rem !important; } }

/* Gestaltungselement Kontur (Feinschliff → Kapitel: Kontur) */
.jl-kr-rahmen .jl-chapter, .jl-kr-ecken .jl-chapter { position: relative; isolation: isolate; }
.jl-kr-rahmen .jl-chapter::before { content: ""; position: absolute; inset: calc(-1.618rem - var(--jl-kno) * .717) -1.618rem -1.618rem -1.618rem; border: 1px solid var(--wp--preset--color--accent); opacity: .5; z-index: -1; pointer-events: none; }
.jl-kr-ecken .jl-chapter::before, .jl-kr-ecken .jl-chapter::after { content: ""; position: absolute; width: clamp(2.618rem, 6vw, 4.236rem); height: clamp(2.618rem, 6vw, 4.236rem); border: 0 solid var(--wp--preset--color--accent); opacity: .6; pointer-events: none; }
.jl-kr-ecken .jl-chapter::before { top: -1rem; left: -1rem; border-top-width: 1px; border-left-width: 1px; }
.jl-kr-ecken .jl-chapter::after { bottom: -1rem; right: -1rem; border-bottom-width: 1px; border-right-width: 1px; }
.jl-kr-ecken .jl-chapter--rev::before { left: auto; right: -1rem; border-left-width: 0; border-right-width: 1px; }
.jl-kr-ecken .jl-chapter--rev::after { right: auto; left: -1rem; border-right-width: 0; border-left-width: 1px; }
.jl-kr-bild .jl-chapter__img { position: relative; isolation: isolate; }
.jl-kr-bild .jl-chapter__img::after { content: ""; position: absolute; inset: 1.2rem -1.2rem -1.2rem 1.2rem; border: 1px solid var(--wp--preset--color--accent); opacity: .5; z-index: -1; pointer-events: none; }
.jl-kr-bild .jl-chapter--rev .jl-chapter__img::after { inset: 1.2rem 1.2rem -1.2rem -1.2rem; }
@media (max-width: 781px) {
	.jl-kr-rahmen .jl-chapter::before { inset: -.8rem -.8rem -.8rem -.8rem; }
	.jl-kr-bild .jl-chapter__img::after, .jl-kr-bild .jl-chapter--rev .jl-chapter__img::after { inset: .7rem -.6rem -.7rem .7rem; }
}

/* =========================================================
   3.31 Großansicht: dezente Seitennavigation wie in der Seitenleiste,
   auf dem Handy bildschirmfüllend; Anfragen-Knopf einzeilig
   ========================================================= */
.jl-lb { background: rgba(14,11,8,.985); height: 100dvh; }
.jl-lb[open] { grid-template-columns: clamp(118px, 10vw, 160px) 1fr clamp(118px, 10vw, 160px); }
.jl-lb__prev { justify-self: end; }
.jl-lb__next { justify-self: start; }
.jl-lb__fig { height: 100dvh; padding: 3vh 0; }
.jl-lb__fig img { max-height: 94dvh; }
.jl-lb__count { display: none; }
.jl-lb button { color: #F4F1EC; opacity: .42; transition: opacity .3s ease; }
.jl-lb button:hover, .jl-lb button:focus-visible { opacity: .95; }
.jl-lb__prev svg, .jl-lb__next svg { width: 40px; height: 16px; display: block; margin: auto; }
.jl-lb__x { width: 56px !important; height: 56px !important; top: calc(env(safe-area-inset-top, 0px) + 6px) !important; right: 6px !important; }
.jl-lb__x svg { width: 18px; height: 18px; display: block; margin: auto; }
/* Seitennavigation: Nummer + Striche, transparent */
.jl-lb__rail { position: absolute; left: clamp(16px, 2.4vw, 40px); top: 50%; transform: translateY(-50%); display: grid; gap: 1rem; justify-items: start; color: #F4F1EC; opacity: .55; transition: opacity .35s ease; z-index: 2; }
.jl-lb__rail:hover { opacity: .95; }
.jl-lb__num { font-weight: 200; font-size: 1.75rem; line-height: 1; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.jl-lb__num i { display: block; font-style: normal; font-weight: 400; font-size: .5625rem; letter-spacing: .24em; margin-top: .35rem; opacity: .7; }
.jl-lb__rail ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; max-height: 46vh; overflow: hidden; scroll-behavior: smooth; }
.jl-lb__rail ol button { all: unset; display: block; width: 22px; height: 6px; position: relative; cursor: pointer; }
.jl-lb__rail ol button::before { content: ""; position: absolute; left: 0; top: 2px; width: 12px; height: 1px; background: currentColor; opacity: .38; transition: width .3s ease, opacity .3s ease; }
.jl-lb__rail ol button:hover::before { opacity: .8; }
.jl-lb__rail ol button.is-on::before { width: 22px; opacity: 1; background: #F2EFEA; }
/* Handy: Bild füllt den ganzen Bildschirm, Navigation schwebt dezent darüber */
@media (max-width: 781px) {
	.jl-lb[open] { display: block; }
	.jl-lb__fig { position: absolute; inset: 0; height: 100dvh; padding: 0; display: flex; align-items: center; justify-content: center; }
	.jl-lb__fig img { width: 100vw; height: 100dvh; max-width: none; max-height: none; object-fit: contain; }
	.jl-lb__prev, .jl-lb__next { display: none; }
	.jl-lb__rail { left: auto; right: 10px; justify-items: end; opacity: .66; gap: .7rem; text-shadow: 0 1px 8px rgba(0,0,0,.6); }
	.jl-lb__num { font-size: 1.25rem; text-align: right; }
	.jl-lb__rail ol { max-height: 52dvh; overflow-y: auto; scrollbar-width: none; justify-items: end; }
	.jl-lb__rail ol::-webkit-scrollbar { display: none; }
	.jl-lb__rail ol button::before { left: auto; right: 0; filter: drop-shadow(0 0 2px rgba(0,0,0,.5)); }
	.jl-lb__x { opacity: .6 !important; filter: drop-shadow(0 1px 4px rgba(0,0,0,.5)); }
	.jl-lb.is-ruhig .jl-lb__rail, .jl-lb.is-ruhig .jl-lb__x { opacity: 0 !important; pointer-events: none; }
}

/* Kopfzeile: „Anfragen“ immer einzeilig */
.jl-header-cta, .jl-header-cta .wp-block-button { flex-shrink: 0; }
.jl-header-cta .wp-block-button__link { white-space: nowrap; }
@media (max-width: 600px) {
	.jl-header-cta .wp-block-button__link { padding: .55rem .8rem !important; font-size: .625rem !important; letter-spacing: .14em !important; }
	.jl-brand svg { max-width: 46vw; height: auto; }
}
/* 3.32 Großansicht: Wischen nach oben/unten mit „Durchfliegen“ */
.jl-lb { overscroll-behavior: contain; }
.jl-lb__fig { perspective: 1200px; overflow: hidden; }
.jl-lb__fig img { will-change: transform, opacity, filter; transition: none; }
@media (max-width: 781px) { .jl-lb { touch-action: pinch-zoom; } }
/* 3.33 Ladezeit: weitere Startbilder erst nach dem Laden der Seite */
.jl-hero:not(.is-warm) .jl-hero__slide:not(.is-active) { display: none; }

/* =========================================================
   3.35 Großansicht: Übergänge (Zeitreise-Stapel u. a.)
   ========================================================= */
html body .jl-lb__fig { display: grid; grid-template-rows: 1fr; grid-template-columns: 100%; place-items: center; overflow: visible; }
.jl-lb__fig > img, .jl-lb__fig > .jl-lb__layer, .jl-lb__fig > .jl-lb__ghost { grid-area: 1 / 1; max-width: 100%; max-height: 94dvh; object-fit: contain; display: block; user-select: none; -webkit-user-drag: none; }
.jl-lb__fig > img:not(.jl-lb__layer):not(.jl-lb__ghost) { position: relative; z-index: 10; }
.jl-lb__layer, .jl-lb__ghost { position: relative; pointer-events: none; will-change: transform, opacity, filter; }
.jl-lb__layer { box-shadow: 0 24px 60px rgba(0,0,0,.45); }
.jl-lb.fx-zeitreise .jl-lb__fig > img:not(.jl-lb__ghost) { box-shadow: 0 30px 80px rgba(0,0,0,.5); }
@media (max-width: 781px) {
	html body .jl-lb__fig { position: absolute; inset: 0; height: 100dvh; padding: 0; }
	.jl-lb__fig > img, .jl-lb__fig > .jl-lb__layer, .jl-lb__fig > .jl-lb__ghost { width: 100vw; height: 100dvh; max-width: none; max-height: none; }
	.jl-lb__layer, .jl-lb.fx-zeitreise .jl-lb__fig > img:not(.jl-lb__ghost) { box-shadow: none; }
}

.jl-navfoot { display: none; }
/* =========================================================
   3.37 Handy: Menü als kleines, elegantes Dropdown unter der Kopfzeile
   (die Website bleibt sichtbar)
   ========================================================= */
@media (max-width: 781px) {
	header .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important; inset: auto !important;
		top: calc(var(--jl-headh, 62px) + 8px) !important; right: 12px !important; left: auto !important; bottom: auto !important;
		width: min(300px, calc(100vw - 24px)) !important; height: auto !important; max-height: calc(100dvh - var(--jl-headh, 62px) - 24px);
		overflow: auto; padding: 0 !important;
		background: var(--wp--preset--color--base, #FAF8F4) !important; color: var(--wp--preset--color--heading, #2A2119) !important;
		border: 1px solid var(--wp--preset--color--line, #E6E1D9);
		box-shadow: 0 18px 44px rgba(42,33,25,.16), 0 2px 6px rgba(42,33,25,.06);
		transform-origin: top right; animation: jlDrop .32s cubic-bezier(.2,.8,.2,1) both;
	}
	@keyframes jlDrop { from { opacity: 0; transform: translateY(-6px) scale(.98); } to { opacity: 1; transform: none; } }
	header .is-menu-open .wp-block-navigation__responsive-close, header .is-menu-open .wp-block-navigation__responsive-dialog { margin: 0 !important; max-width: none !important; }
	header .is-menu-open .wp-block-navigation__responsive-container-close { top: 10px !important; right: 10px !important; color: var(--wp--preset--color--muted, #6B5D4F); opacity: .8; }
	header .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 20px; height: 20px; }
	header .is-menu-open .wp-block-navigation__responsive-container-content { padding: 2.2rem 1.4rem 1.3rem !important; align-items: stretch !important; gap: 0 !important; display: flex !important; flex-direction: column; }
	header .is-menu-open .wp-block-navigation__container { counter-reset: jlnav; gap: 0 !important; width: 100%; align-items: stretch !important; flex-direction: column; }
	header .is-menu-open .wp-block-navigation-item { counter-increment: jlnav; width: 100%; border-top: 1px solid var(--wp--preset--color--line, #E6E1D9); }
	header .is-menu-open .wp-block-navigation-item:last-child { border-bottom: 1px solid var(--wp--preset--color--line, #E6E1D9); }
	header .is-menu-open .wp-block-navigation-item__content { display: flex !important; align-items: baseline; gap: .9rem; width: 100%; padding: .78rem 0 !important; font-size: .6875rem !important; font-weight: 500 !important; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--heading, #2A2119) !important; text-decoration: none; }
	header .is-menu-open .wp-block-navigation-item__content::before { content: counter(jlnav, decimal-leading-zero); font-weight: 300; font-size: .9375rem; letter-spacing: 0; line-height: 1; min-width: 1.6rem; color: var(--wp--preset--color--accent, #9A7A4A); }
	header .is-menu-open .jl-navfoot { display: grid; gap: .7rem; padding-top: 1.1rem; }
	.jl-navfoot__claim { display: none; }
	.jl-navfoot__btn { justify-self: stretch; text-align: center; padding: .75rem 1rem; border: 1px solid var(--wp--preset--color--heading, #2A2119); color: var(--wp--preset--color--heading, #2A2119) !important; font-size: .625rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; text-decoration: none; }
	.jl-navfoot__c { margin: 0; font-size: .6875rem; line-height: 1.7; color: var(--wp--preset--color--muted, #6B5D4F); text-align: center; }
	.jl-navfoot__c a { color: inherit !important; text-decoration: none; }
}
html.has-modal-open:has(header .is-menu-open) { overflow: auto !important; }
/* 3.38 Handy-Menü: alle Abschnitte mit denselben Nummern wie auf der Seite */
.jl-mnav { display: none; }
@media (max-width: 781px) {
	header .is-menu-open .has-mnav > .wp-block-navigation__container { display: none !important; }
	header .is-menu-open .jl-mnav { display: block; list-style: none; margin: 0; padding: 0; width: 100%; border-bottom: 1px solid var(--wp--preset--color--line, #E6E1D9); }
	.jl-mnav > li { border-top: 1px solid var(--wp--preset--color--line, #E6E1D9); }
	.jl-mnav a { display: flex; align-items: baseline; gap: .9rem; padding: .62rem 0; font-size: .6875rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--heading, #2A2119) !important; text-decoration: none; }
	.jl-mnav__no { font-weight: 300; font-size: .9375rem; letter-spacing: 0; line-height: 1; min-width: 1.6rem; color: var(--wp--preset--color--accent, #9A7A4A); }
	.jl-mnav__sub { list-style: none; margin: -.25rem 0 .55rem; padding: 0 0 0 2.5rem; display: grid; gap: 0; }
	.jl-mnav__sub a { padding: .26rem 0; gap: .6rem; font-size: .625rem; font-weight: 400; letter-spacing: .14em; text-transform: none; color: var(--wp--preset--color--muted, #6B5D4F) !important; }
	.jl-mnav__sub .jl-mnav__no { font-size: .6875rem; min-width: 1.9rem; }
	.jl-mnav a:active { opacity: .6; }
	header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 2rem !important; }
}
/* 3.39 Über mich: Stichpunkte und Schlusssatz */
.jl-facts { margin: 2rem 0 0; padding: 0; border-top: 1px solid var(--wp--preset--color--heading); font-size: .875rem; line-height: 1.55; }
.jl-facts > div { display: grid; grid-template-columns: minmax(0, .382fr) minmax(0, .618fr); gap: 1rem; padding: .62rem 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.jl-facts dt { margin: 0; font-size: .625rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--accent); padding-top: .2rem; }
.jl-facts dd { margin: 0; color: var(--wp--preset--color--contrast); }
.jl-intro-cta { position: relative; margin-top: 2.8rem !important; padding-top: 1.4rem; font-family: var(--wp--preset--font-family--montserrat, Montserrat, sans-serif) !important; font-style: italic; font-weight: 300; font-size: 1.0625rem !important; line-height: 1.6; letter-spacing: .01em; color: var(--wp--preset--color--muted); }
.jl-intro-cta::before { content: ""; position: absolute; left: 0; top: 0; width: 2.618rem; height: 1px; background: var(--wp--preset--color--accent); }
@media (max-width: 480px) { .jl-facts > div { grid-template-columns: 1fr; gap: .15rem; } }

/* 3.41 Abschnitt „Über mich“ vor dem Kontakt */
.jl-about__grid { display: grid; gap: clamp(2rem, 5vw, 4rem); max-width: var(--jl-wide, 1240px); margin: 0 auto; }
@media (min-width: 900px) { .jl-about__grid { grid-template-columns: minmax(0, .382fr) minmax(0, .618fr); column-gap: var(--jl-gut, 3rem); align-items: start; } }
.jl-about__img { margin: 0; }
.jl-about__img img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.jl-about__text { max-width: 36rem; }
.jl-about__text .jl-eyebrow { margin: 0 0 1rem; }
.jl-about__text h2 { margin: 0 0 1.2rem !important; }
.jl-about__p { margin: 0; font-size: 1rem; line-height: 1.8; }
.jl-about .jl-facts { margin-top: 1.8rem; }
.jl-about__extra { margin: 1.6rem 0 0; font-size: .9375rem; line-height: 1.75; color: var(--wp--preset--color--muted); font-style: italic; font-weight: 300; }
/* 3.42 Über mich: Zeile wie auf der alten Seite, Querformat-Variante */
.jl-about__tags { margin: -.4rem 0 1.4rem; font-size: .625rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; line-height: 1.9; color: var(--wp--preset--color--accent); }
.jl-about__extra { padding-top: 1.4rem; position: relative; }
.jl-about__extra::before { content: ""; position: absolute; left: 0; top: 0; width: 2.618rem; height: 1px; background: var(--wp--preset--color--accent); }
/* Querformat (z. B. Weitwinkel mit den Hunden): Bild breit oben, Text darunter rechts im goldenen Schnitt */
.jl-about__grid.is-wide { grid-template-columns: 1fr !important; }
.jl-about__grid.is-wide .jl-about__img img { aspect-ratio: 21 / 9; object-position: var(--jl-about-fx, 50%) 50%; }
@media (min-width: 900px) { .jl-about__grid.is-wide .jl-about__text { margin-left: calc(38.2% + var(--jl-gut, 3rem) / 2); max-width: 38rem; } }

/* =========================================================
   3.46 Einleitung: zwei Textspalten oben bündig nebeneinander,
   Sätze darunter; Leitsatz als eigener Block mit Bild
   ========================================================= */
#einleitung .jl-intro-a, #einleitung .jl-intro-b { margin-top: 0 !important; }
#einleitung .jl-values { margin-bottom: 1.6rem !important; }
@media (min-width: 1000px) {
	html body.jl-magazin #einleitung .wp-block-column:last-child { columns: auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 2.618rem; row-gap: 0; align-content: start; }
	html body.jl-magazin #einleitung .wp-block-column:last-child > * { grid-column: 1 / -1; margin-top: 0 !important; }
	html body.jl-magazin #einleitung .wp-block-column:last-child > .jl-intro-a { grid-column: 1; grid-row: 4; margin-bottom: 0; }
	html body.jl-magazin #einleitung .wp-block-column:last-child > .jl-intro-b { grid-column: 2; grid-row: 4; margin-bottom: 0; }
	html body.jl-magazin #einleitung .wp-block-column:last-child > .jl-intro-cta { grid-column: 2; margin-top: 2.6rem !important; }
	html body.jl-magazin #einleitung .wp-block-column:last-child > .jl-intro-cta2 { grid-column: 2; }
}
.jl-intro-cta2 { margin-top: .5rem !important; font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.jl-intro-cta { max-width: 36rem; }

.jl-story__grid { display: grid; gap: clamp(1.618rem, 4vw, 3rem); max-width: var(--jl-wide, 1240px); margin: 0 auto; align-items: center; }
@media (min-width: 900px) { .jl-story__grid { grid-template-columns: minmax(0, .382fr) minmax(0, .618fr); column-gap: var(--jl-gut, 3rem); } }
.jl-story__q { margin: 0; padding: 0; border: 0; }
.jl-story__q p { margin: 0; font-weight: 300; font-size: calc(clamp(1.6rem, 2.8vw, 2.4rem) * var(--jl-hf, 1)); line-height: 1.22; letter-spacing: -.005em; color: var(--wp--preset--color--heading); text-wrap: balance; }
.jl-story__q::before { content: ""; display: block; width: 2.618rem; height: 1px; background: var(--wp--preset--color--accent); margin-bottom: 1.4rem; }
.jl-story__img { margin: 0; }
.jl-story__img img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
/* 3.47 Leitsatz-Block klein als Einblick, Claim darunter in Gold */
html body .jl-story__grid { max-width: 880px; gap: clamp(1.2rem, 3vw, 2.4rem); }
@media (min-width: 900px) { html body .jl-story__grid { grid-template-columns: minmax(0, .382fr) minmax(0, .618fr); column-gap: 2.4rem; } }
html body .jl-story__q p { font-size: calc(clamp(1.15rem, 1.7vw, 1.4rem) * var(--jl-hf, 1)); line-height: 1.35; }
.jl-story__q::before { margin-bottom: 1rem; }
.jl-story__claim { margin: 1rem 0 0 !important; font-family: var(--wp--preset--font-family--cormorant, Georgia, serif); font-style: italic; font-size: 1.15rem !important; color: var(--wp--preset--color--accent) !important; }
#einleitung h2 { margin-bottom: 1.6rem !important; }
/* 3.48 Über mich: ADHS-Absatz wie normaler Text; Pakete: Namen gleich hoch; Kapitel-Bilder mittig zum Text */
html body .jl-about__extra { font-style: normal; font-weight: inherit; color: inherit; font-size: 1rem; line-height: 1.8; padding-top: 0; margin-top: 1.2rem; }
html body .jl-about__extra::before { display: none; }
html body .jl-editorial .jl-pack { grid-template-rows: auto 1fr; }
html body .jl-editorial .jl-pack__tag { align-self: start; }
html body .jl-editorial .jl-pack__name { align-self: start; }
@media (min-width: 900px) { html body .jl-editorial .jl-pack__tag { white-space: nowrap; letter-spacing: .16em; } }
html body.jl-editorial .jl-pack--featured::before { top: 1rem; }
/* Kapitel: Ausrichtung Bild ↔ Text (Feinschliff) */
@media (min-width: 782px) {
	html body.jl-kap-mitte .jl-chapter, html body.jl-kap-unten .jl-chapter { align-items: center !important; }
	html body.jl-kap-unten .jl-chapter { align-items: flex-end !important; }
	html body.jl-kap-mitte .jl-chapter > .wp-block-column, html body.jl-kap-unten .jl-chapter > .wp-block-column { align-self: auto !important; }
	html body.jl-kap-mitte .jl-chapter > .wp-block-column:not(:first-child), html body.jl-kap-unten .jl-chapter > .wp-block-column:not(:first-child) { margin-top: 0 !important; }
}
/* 3.49 Einleitung: „Ich bin Joschka …“ als normaler Absatz rechts, Zahl als ruhige Zeile über beide Spalten */
html body #einleitung .jl-intro-cta { font-style: normal; font-weight: inherit; font-size: inherit !important; line-height: inherit; color: inherit; letter-spacing: normal; padding-top: 0; margin-top: 1.2em !important; max-width: 36rem; }
html body #einleitung .jl-intro-cta::before { display: none; }
html body #einleitung .jl-intro-cta2 { margin-top: 2.2rem !important; padding-top: 1rem; border-top: 1px solid var(--wp--preset--color--line); font-size: .625rem; font-weight: 500; letter-spacing: .08em; line-height: 1.6; text-transform: uppercase; color: var(--wp--preset--color--accent); max-width: none !important; }
@media (min-width: 1000px) {
	html body.jl-magazin #einleitung .wp-block-column:last-child > .jl-intro-a { grid-column: 1; grid-row: 3 / span 2; }
	html body.jl-magazin #einleitung .wp-block-column:last-child > .jl-intro-b { grid-column: 2; grid-row: 3; }
	html body.jl-magazin #einleitung .wp-block-column:last-child > .jl-intro-cta { grid-column: 2; grid-row: 4; margin-top: 1.2em !important; }
	html body.jl-magazin #einleitung .wp-block-column:last-child > .jl-intro-cta2 { grid-column: 1 / -1; grid-row: 5; margin-top: 2.2rem !important; }
}
/* 3.50 Zeile „120+ Hochzeiten …“: dezent als Standard, Varianten im Feinschliff */
html body #einleitung .jl-intro-cta2 { border-top: 0; padding-top: 0; text-transform: none; letter-spacing: .01em; font-size: .8125rem; font-weight: 400; color: var(--wp--preset--color--muted); }
html body.jl-c2-kursiv #einleitung .jl-intro-cta2 { font-style: italic; font-weight: 300; }
html body.jl-c2-linie #einleitung .jl-intro-cta2 { border-top: 1px solid var(--wp--preset--color--line); padding-top: .9rem; }
html body.jl-c2-gold #einleitung .jl-intro-cta2 { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1rem; text-transform: uppercase; letter-spacing: .08em; font-size: .625rem; font-weight: 500; color: var(--wp--preset--color--accent); }
html body.jl-c2-aus #einleitung .jl-intro-cta2 { display: none; }
/* 3.50.1 „Ich bin Joschka …“ exakt in derselben Größe wie die Textspalten */
body { --jl-intro-fs: 1rem; }
body.jl-magazin { --jl-intro-fs: .9375rem; }
html body #einleitung .jl-intro-a, html body #einleitung .jl-intro-b, html body #einleitung .jl-intro-cta { font-size: var(--jl-intro-fs) !important; line-height: 1.8 !important; font-weight: inherit !important; }

/* 3.52 Einstieg der Einleitung: „Ihr plant monatelang. …“ fett, über beide Spalten */
html body #einleitung .jl-intro-lead { margin: 0 0 1.4em !important; font-size: calc(var(--jl-intro-fs) * 1.125) !important; line-height: 1.6 !important; font-weight: 600 !important; letter-spacing: .005em; color: var(--wp--preset--color--contrast); max-width: 36rem; }
@media (min-width: 1000px) {
	html body.jl-magazin #einleitung .wp-block-column:last-child > .jl-intro-lead { grid-column: 1 / -1; grid-row: 3; }
	html body.jl-magazin #einleitung .wp-block-column:last-child > .jl-intro-a { grid-row: 4 / span 2; }
	html body.jl-magazin #einleitung .wp-block-column:last-child > .jl-intro-b { grid-row: 4; }
	html body.jl-magazin #einleitung .wp-block-column:last-child > .jl-intro-cta { grid-row: 5; }
	html body.jl-magazin #einleitung .wp-block-column:last-child > .jl-intro-cta2 { grid-row: 6; }
}

/* 3.53 Bausteine verschieben & gestalten */
html body .jl-line { margin: 0 !important; padding: clamp(1.4rem, 3vw, 2.4rem) var(--wp--style--root--padding-right, clamp(1.25rem, 4vw, 2.5rem)) clamp(1.4rem, 3vw, 2.4rem) var(--wp--style--root--padding-left, clamp(1.25rem, 4vw, 2.5rem)); }
html body .jl-line .jl-intro-cta2 { margin: 0 auto !important; max-width: var(--jl-wide, 1240px) !important; }
html body.jl-c2d-eng .jl-line { padding-top: .8rem; padding-bottom: .8rem; }
html body.jl-c2d-weit .jl-line { padding-top: clamp(3rem, 7vw, 5.5rem); padding-bottom: clamp(3rem, 7vw, 5.5rem); }
html body :is(#einleitung, .jl-line) .jl-intro-cta2 { border-top: 0; padding-top: 0; text-transform: none; letter-spacing: .01em; font-size: .8125rem; font-weight: 400; line-height: 1.6; font-style: normal; color: var(--wp--preset--color--muted); }
html body.jl-c2-kursiv :is(#einleitung, .jl-line) .jl-intro-cta2 { font-style: italic; font-weight: 300; }
html body.jl-c2-linie :is(#einleitung, .jl-line) .jl-intro-cta2 { border-top: 1px solid var(--wp--preset--color--line); padding-top: .9rem; }
html body.jl-c2-gold :is(#einleitung, .jl-line) .jl-intro-cta2 { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1rem; text-transform: uppercase; letter-spacing: .08em; font-size: .625rem; font-weight: 500; color: var(--wp--preset--color--accent); }
html body.jl-c2s-mittel :is(#einleitung, .jl-line) .jl-intro-cta2 { font-size: var(--jl-intro-fs, 1rem); }
html body.jl-c2s-gross :is(#einleitung, .jl-line) .jl-intro-cta2 { font-size: calc(var(--jl-intro-fs, 1rem) * 1.35); font-weight: 300; line-height: 1.45; letter-spacing: 0; }
html body.jl-c2s-xl :is(#einleitung, .jl-line) .jl-intro-cta2 { font-size: calc(clamp(1.45rem, 2.6vw, 2.2rem) * var(--jl-hf, 1)); font-weight: 300; line-height: 1.25; letter-spacing: -.005em; text-wrap: balance; }
html body.jl-c2-gold.jl-c2s-gross :is(#einleitung, .jl-line) .jl-intro-cta2, html body.jl-c2-gold.jl-c2s-xl :is(#einleitung, .jl-line) .jl-intro-cta2 { letter-spacing: .06em; }
html body.jl-c2f-grau :is(#einleitung, .jl-line) .jl-intro-cta2 { color: var(--wp--preset--color--muted); }
html body.jl-c2f-text :is(#einleitung, .jl-line) .jl-intro-cta2 { color: var(--wp--preset--color--heading, var(--wp--preset--color--contrast)); }
html body.jl-c2f-gold :is(#einleitung, .jl-line) .jl-intro-cta2 { color: var(--wp--preset--color--accent); }
html body.jl-c2a-mitte :is(#einleitung, .jl-line) .jl-intro-cta2 { text-align: center; }
html body.jl-c2-aus :is(#einleitung, .jl-line) .jl-intro-cta2 { display: none; }

html body.jl-st-moved #geschichte { padding-top: var(--wp--preset--spacing--60) !important; }
html body.jl-std-eng #geschichte { padding-bottom: 1.4rem !important; }
html body.jl-st-moved.jl-std-eng #geschichte { padding-top: 1.4rem !important; }
html body.jl-std-weit #geschichte { padding-bottom: calc(var(--wp--preset--spacing--60) * 1.618) !important; }
html body.jl-st-moved.jl-std-weit #geschichte { padding-top: calc(var(--wp--preset--spacing--60) * 1.618) !important; }
html body.jl-stw-schmal .jl-story__grid { max-width: 680px; }
html body.jl-stw-breit .jl-story__grid { max-width: var(--jl-wide, 1240px); }
html body.jl-stg-klein .jl-story__q p { font-size: calc(clamp(1rem, 1.4vw, 1.2rem) * var(--jl-hf, 1)); line-height: 1.45; }
html body.jl-stg-gross .jl-story__q p { font-size: calc(clamp(1.5rem, 2.6vw, 2.2rem) * var(--jl-hf, 1)); line-height: 1.22; }
html body.jl-stc-aus .jl-story__claim { display: none; }
@media (min-width: 900px) {
	html body.jl-stb-links .jl-story__grid { grid-template-columns: minmax(0, .618fr) minmax(0, .382fr); }
}
html body.jl-stb-links .jl-story__img { order: -1; }
html body.jl-stb-ohne .jl-story__img { display: none; }
html body.jl-stb-ohne .jl-story__grid { grid-template-columns: minmax(0, 1fr) !important; max-width: 760px; text-align: center; }
html body.jl-stb-ohne.jl-stw-schmal .jl-story__grid { max-width: 560px; }
html body.jl-stb-ohne.jl-stw-breit .jl-story__grid { max-width: 980px; }
html body.jl-stb-ohne .jl-story__q::before { margin-left: auto; margin-right: auto; }
/* 3.54 Formatierte Texte aus den Einstellungen */
.jl-p { display: block; }
.jl-p + .jl-p { margin-top: .9em; }
.jl-light { font-weight: 300; }
.jl-gold { color: var(--wp--preset--color--accent); }
:is(p, li, blockquote, h1, h2, h3, summary) strong { font-weight: 600; }
.jl-p.jl-h2 { margin-top: 1.5em; font-size: 1.18em; font-weight: 600; line-height: 1.35; letter-spacing: -.005em; color: var(--wp--preset--color--heading, inherit); }
.jl-p.jl-h3 { margin-top: 1.6em; font-size: .72em; font-weight: 600; line-height: 1.5; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.jl-p.jl-h2:first-child, .jl-p.jl-h3:first-child { margin-top: 0; }
.jl-p.jl-h2 + .jl-p, .jl-p.jl-h3 + .jl-p { margin-top: .45em; }
.jl-p.jl-li { position: relative; padding-left: 1.2em; }
.jl-p.jl-li + .jl-p.jl-li { margin-top: .3em; }
.jl-p.jl-li::before { content: ""; position: absolute; left: .15em; top: .78em; width: .38em; height: 1px; background: var(--wp--preset--color--accent); }
.jl-p.jl-quote-line { padding-left: 1em; border-left: 1px solid var(--wp--preset--color--accent); font-size: 1.12em; font-weight: 300; line-height: 1.5; }
:is(p, li, blockquote, h2, h3) a:where(:not(.wp-element-button)) { color: inherit; text-decoration: underline; text-decoration-color: var(--wp--preset--color--accent); text-underline-offset: .18em; }

/* 3.56 Ansichten je Abschnitt (Design → Hochzeitsseite → Abschnitte: Reihenfolge, Ansicht & Bausteine) */

/* Über mich – Stichpunkte als Seitenleiste */
.jl-about__facts { display: none; }
.jl-about__facts dl { margin: 0; }
.jl-about__fact { padding: .85rem 0; border-top: 1px solid var(--wp--preset--color--line); }
.jl-about__fact:first-child { border-top: 0; padding-top: 0; }
.jl-about__fact dt { margin: 0 0 .25rem; font-size: .5625rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.jl-about__fact dd { margin: 0; font-size: .9375rem; line-height: 1.5; color: var(--wp--preset--color--heading, inherit); }
html body:is(.jl-l-ueber-leiste, .jl-l-ueber-leiste-ohne, .jl-l-ueber-unter) .jl-about__facts { display: block; }
html body:is(.jl-l-ueber-leiste, .jl-l-ueber-leiste-ohne, .jl-l-ueber-unter):not(.jl-l-ueberp-zeigen) .jl-about__p { display: none; }
html body:is(.jl-l-ueber-leiste, .jl-l-ueber-leiste-ohne):not(.jl-l-ueberp-zeigen) .jl-about__p + .jl-about__extra, html body:is(.jl-l-ueber-leiste, .jl-l-ueber-leiste-ohne, .jl-l-ueber-unter):not(.jl-l-ueberp-zeigen) .jl-about__extra { margin-top: 0; }
html body:is(.jl-l-ueber-leiste, .jl-l-ueber-leiste-ohne) .jl-about__facts { padding-left: 1.4rem; border-left: 1px solid var(--wp--preset--color--accent); align-self: start; }
html body.jl-l-ueber-unter .jl-about__facts { margin-top: 1.4rem; }
html body.jl-l-ueber-unter .jl-about__facts dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.4rem; }
html body.jl-l-ueber-unter .jl-about__fact:nth-child(2) { border-top: 0; padding-top: 0; }
html body:is(.jl-l-ueber-ohne, .jl-l-ueber-leiste-ohne) .jl-about__img { display: none; }
@media (min-width: 900px) {
	html body .jl-about__grid { align-items: start; }
	html body.jl-l-ueber-rechts .jl-about__grid { grid-template-columns: minmax(0, .618fr) minmax(0, .382fr) !important; }
	html body.jl-l-ueber-rechts .jl-about__img { order: 2; }
	html body.jl-l-ueber-leiste .jl-about__grid { grid-template-columns: minmax(0, .382fr) minmax(0, .618fr) !important; }
	html body.jl-l-ueber-leiste .jl-about__facts { grid-column: 2; }
	html body.jl-l-ueber-leiste-ohne .jl-about__grid { grid-template-columns: minmax(0, .618fr) minmax(0, .382fr) !important; }
	html body.jl-l-ueber-unter .jl-about__grid { grid-template-columns: minmax(0, .382fr) minmax(0, .618fr) !important; grid-template-rows: auto 1fr; }
	html body.jl-l-ueber-unter .jl-about__img { grid-column: 1; grid-row: 1; }
	html body.jl-l-ueber-unter .jl-about__facts { grid-column: 1; grid-row: 2; }
	html body.jl-l-ueber-unter .jl-about__text { grid-column: 2; grid-row: 1 / span 2; }
	html body.jl-l-ueber-ohne .jl-about__grid { grid-template-columns: minmax(0, 1fr) !important; }
	html body.jl-l-ueber-ohne .jl-about__text { max-width: 40rem; margin: 0 auto; }
	html body:is(.jl-l-ueber-rechts, .jl-l-ueber-leiste, .jl-l-ueber-leiste-ohne, .jl-l-ueber-unter, .jl-l-ueber-ohne) .jl-about__grid.is-wide .jl-about__text { margin-left: 0; }
	html body:is(.jl-l-ueber-rechts, .jl-l-ueber-leiste, .jl-l-ueber-unter) .jl-about__grid.is-wide .jl-about__img img { aspect-ratio: 4 / 5; }
}
@media (min-width: 1180px) {
	html body.jl-l-ueber-leiste .jl-about__grid { grid-template-columns: minmax(0, .3fr) minmax(0, .44fr) minmax(0, .26fr) !important; }
	html body.jl-l-ueber-leiste .jl-about__facts { grid-column: 3; }
}

/* Einleitung */
@media (min-width: 782px) {
	html body.jl-l-einleitung-rechts #einleitung > .wp-block-columns { flex-direction: row-reverse; }
}
html body.jl-l-einleitung-ohne #einleitung > .wp-block-columns > .wp-block-column:first-child { display: none; }
html body.jl-l-einleitung-ohne #einleitung > .wp-block-columns > .wp-block-column:last-child { flex-basis: 100% !important; padding-top: 0 !important; }
html body.jl-l-einleitung-ohne:not(.jl-magazin) #einleitung > .wp-block-columns > .wp-block-column:last-child { max-width: 42rem !important; margin: 0 auto; }

/* Kapitel */
@media (min-width: 782px) {
	html body.jl-l-kapitel-links .jl-chapter { flex-direction: row !important; }
	html body.jl-l-kapitel-rechts .jl-chapter { flex-direction: row-reverse !important; }
	html body:is(.jl-l-kapitel-links, .jl-l-kapitel-rechts) .jl-chapter--rev > .wp-block-column:first-child { margin-top: 0 !important; }
}

/* Gemeinsam: Überschrift oben statt links (Ablauf, Pakete, Fragen, Arbeitsweise „seite“ umgekehrt) */
@media (min-width: 900px) {
	html body:is(.jl-l-ablauf-oben, .jl-l-ablauf-spalten) #ablauf,
	html body:is(.jl-l-pakete-oben, .jl-l-pakete-karten) #pakete,
	html body:is(.jl-l-fragen-oben, .jl-l-fragen-zwei) #fragen { display: block !important; }
	html body:is(.jl-l-ablauf-oben, .jl-l-ablauf-spalten) #ablauf > *,
	html body:is(.jl-l-pakete-oben, .jl-l-pakete-karten) #pakete > *,
	html body:is(.jl-l-fragen-oben, .jl-l-fragen-zwei) #fragen > * { max-width: var(--jl-wide, 1240px) !important; margin-left: auto !important; margin-right: auto !important; }
	html body:is(.jl-l-ablauf-oben, .jl-l-ablauf-spalten) #ablauf > :is(.jl-steps),
	html body:is(.jl-l-pakete-oben, .jl-l-pakete-karten) #pakete > .jl-packs,
	html body:is(.jl-l-fragen-oben, .jl-l-fragen-zwei) #fragen > .jl-faq__list { margin-top: 2rem !important; }
	html body:is(.jl-l-pakete-oben, .jl-l-pakete-karten) #pakete > :is(.jl-included, .jl-pack-note, .jl-pack-cta) { margin-top: 1.2rem !important; }
}

/* Ablauf als Spalten */
html body.jl-l-ablauf-spalten .jl-steps { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important; gap: 1.6rem 1.6rem !important; border-top: 0 !important; }
html body.jl-l-ablauf-spalten .jl-step { display: block !important; border-top: 1px solid var(--wp--preset--color--heading) !important; border-bottom: 0 !important; padding: 1rem 0 0 !important; }
html body.jl-l-ablauf-spalten .jl-step__no { display: block; margin-bottom: .6rem; }
html body.jl-l-ablauf-spalten .jl-step__title { margin: 0 0 .4rem !important; }
html body.jl-l-ablauf-spalten .jl-step p { margin: 0 !important; }

/* Pakete als Karten */
html body.jl-l-pakete-karten .jl-packs, html body.jl-l-pakete-karten .jl-packs--4 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important; gap: 16px !important; border-top: 0 !important; }
html body.jl-l-pakete-karten .jl-pack { display: flex !important; flex-direction: column; gap: .7rem; padding: 1.8rem 1.5rem !important; border: 1px solid var(--wp--preset--color--line) !important; background: var(--wp--preset--color--surface, #fff) !important; }
html body.jl-l-pakete-karten .jl-pack--featured { border-color: var(--wp--preset--color--accent) !important; }
html body.jl-l-pakete-karten .jl-pack--featured::before { content: none !important; }
html body.jl-l-pakete-karten .jl-pack__name { font-size: 1.35rem !important; font-weight: 300 !important; }
html body.jl-l-pakete-karten .jl-pack__price { text-align: left !important; font-size: 1.25rem !important; }
html body.jl-l-pakete-karten .jl-pack__list { display: block !important; order: 9; margin-top: .4rem !important; padding-top: .9rem !important; border-top: 1px solid var(--wp--preset--color--line); }
html body.jl-l-pakete-karten .jl-pack__list li { margin: 0 0 .35rem !important; }
html body.jl-l-pakete-karten .jl-pack__list li::after { content: none !important; }

/* Fragen in zwei Spalten */
@media (min-width: 900px) {
	html body.jl-l-fragen-zwei .jl-faq__list { columns: 2; column-gap: clamp(2rem, 4vw, 3.6rem); border-top: 0 !important; }
	html body.jl-l-fragen-zwei .jl-faq details { break-inside: avoid; border-top: 1px solid var(--wp--preset--color--line); border-bottom: 0; }
}

/* Arbeitsweise */
@media (min-width: 782px) {
	html body.jl-l-arbeitsweise-zeilen #arbeitsweise .wp-block-columns { flex-direction: column !important; gap: 0 !important; }
	html body.jl-l-arbeitsweise-zeilen #arbeitsweise .jl-card { display: grid !important; grid-template-columns: 3rem minmax(0, 1fr) minmax(0, 1.618fr); column-gap: clamp(1.4rem, 3vw, 2.6rem); align-items: baseline; padding: 1.2rem 0 !important; border: 0 !important; border-top: 1px solid var(--wp--preset--color--line) !important; flex-basis: auto !important; }
	html body.jl-l-arbeitsweise-zeilen #arbeitsweise .jl-card:last-child { border-bottom: 1px solid var(--wp--preset--color--line) !important; }
	html body.jl-l-arbeitsweise-zeilen #arbeitsweise .jl-card > * { margin: 0 !important; }
	html body.jl-l-arbeitsweise-zeilen #arbeitsweise .jl-card::before { margin: 0 !important; }
	html body:not(.jl-magazin).jl-l-arbeitsweise-zeilen #arbeitsweise .jl-card { grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr); }
}
html body:is(.jl-l-arbeitsweise-zeilen, .jl-l-arbeitsweise-liste) #arbeitsweise .wp-block-columns { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
html body.jl-l-arbeitsweise-liste #arbeitsweise .jl-card { padding: 1.1rem 0 !important; border: 0 !important; border-top: 1px solid var(--wp--preset--color--line) !important; flex-basis: auto !important; }
html body.jl-l-arbeitsweise-liste #arbeitsweise .jl-card:first-child { border-top: 0 !important; padding-top: 0 !important; }
@media (min-width: 900px) {
	html body.jl-l-arbeitsweise-oben #arbeitsweise { display: block !important; }
	html body.jl-l-arbeitsweise-oben #arbeitsweise > * { max-width: var(--jl-wide, 1240px) !important; margin-left: auto !important; margin-right: auto !important; }
	html body.jl-l-arbeitsweise-oben #arbeitsweise > .wp-block-columns { margin-top: 2rem !important; }
}

/* Kontakt */
@media (min-width: 782px) {
	html body.jl-l-kontakt-rechts #kontakt > .wp-block-columns { flex-direction: row-reverse; }
	html body.jl-l-kontakt-mittig #kontakt > .wp-block-columns { flex-direction: column; align-items: stretch; gap: 2.4rem !important; }
}
html body.jl-l-kontakt-mittig #kontakt > .wp-block-columns > .wp-block-column { flex-basis: auto !important; width: 100%; max-width: 40rem; margin-left: auto !important; margin-right: auto !important; }
html body.jl-l-kontakt-mittig #kontakt > .wp-block-columns > .wp-block-column:first-child { text-align: center; }

@media (min-width: 900px) {
	html body.jl-l-ueber-unter .jl-about__grid { row-gap: 1.6rem; }
	html body.jl-l-ueber-unter .jl-about__facts { margin-top: 0; }
}
html body.jl-l-pakete-karten .jl-pack { background: color-mix(in srgb, currentColor 4%, transparent) !important; border-color: color-mix(in srgb, currentColor 18%, transparent) !important; }
html body.jl-l-pakete-karten .jl-pack--featured { border-color: var(--wp--preset--color--accent) !important; }
html body.jl-l-pakete-karten .jl-pack__list { border-top-color: color-mix(in srgb, currentColor 18%, transparent) !important; }

/* 3.57 Startbild: kurze Aussage unter der Hauptüberschrift */
.jl-hero__sub { margin: -1.1rem 0 1.9rem; max-width: 34rem; color: rgba(255, 255, 255, .9); font-size: clamp(.95rem, 1.25vw, 1.125rem); font-weight: 300; line-height: 1.6; text-shadow: 0 1px 12px rgba(0, 0, 0, .25); }
html body .jl-hero__h1 + .jl-hero__sub { margin-top: -1.1rem; }
@media (max-width: 781px) { .jl-hero__sub { margin: -1.2rem 0 1.5rem; font-size: .9375rem; max-width: 30rem; } }

/* 3.57 Kontakt: Sätze vor und nach dem Formular */
.jl-form-vor { margin: 0 0 1.6rem; font-size: .9375rem; line-height: 1.7; }
.jl-form-nach { margin: 1.2rem 0 0; font-size: .8125rem; line-height: 1.6; color: var(--wp--preset--color--muted); }
html body.jl-l-kontakt-mittig :is(.jl-form-vor, .jl-form-nach) { text-align: center; }

/* 3.57 Pakete: Preis und Umfang einheitlich in einer Zeile, eigene Gestaltung je Paket */
html body .jl-pack__price .jl-pack__unit { display: inline !important; margin: 0 !important; font-size: .8125rem !important; font-weight: 400; color: var(--wp--preset--color--muted); }
html body .jl-pack--featured .jl-pack__price .jl-pack__unit { color: inherit !important; opacity: .75; }
.jl-pack__sep { color: var(--jl-pack-ac, var(--wp--preset--color--accent)); font-weight: 300; }
html body .jl-pack.has-own-color .jl-pack__tag { color: var(--jl-pack-ac) !important; }
html body .jl-pack--akzent { border-color: var(--jl-pack-ac, var(--wp--preset--color--accent)) !important; }
html body .jl-pack--akzent .jl-pack__tag { color: var(--jl-pack-ac, var(--wp--preset--color--accent)); }
html body .jl-pack--hell { background: color-mix(in srgb, currentColor 5%, transparent) !important; }
html body .jl-pack--featured.has-own-color { border-color: var(--jl-pack-ac) !important; }
.jl-editorial .jl-pack--akzent, .jl-editorial .jl-pack--hell { position: relative; }
.jl-editorial .jl-pack--akzent::before { content: ""; position: absolute; left: -.9rem; top: 1.05rem; bottom: 1rem; width: 2px; background: var(--jl-pack-ac, var(--wp--preset--color--accent)); }
html body.jl-editorial .jl-pack--featured.has-own-color::before { background: var(--jl-pack-ac); }
html body.jl-editorial:not(.jl-l-pakete-karten) .jl-pack--hell { padding-left: .9rem !important; padding-right: .9rem !important; }
html body.jl-editorial:not(.jl-l-pakete-karten) .jl-pack--akzent { border-color: var(--wp--preset--color--line) !important; }
html body.jl-l-pakete-karten .jl-pack--akzent { border-color: var(--jl-pack-ac, var(--wp--preset--color--accent)) !important; }
html body.jl-l-pakete-karten .jl-pack--akzent::before { content: none; }
html body.jl-l-pakete-karten .jl-pack__price { white-space: normal; }

/* 3.57.1 Pakete: Preis und Umfang – in schmalen Karten Umfang sauber in der Zeile darunter */
.jl-pack { container-type: inline-size; }
.jl-pack__amount, html body .jl-pack__price .jl-pack__unit { white-space: nowrap; }
@container (max-width: 270px) {
	html body .jl-pack__sep { display: none; }
	html body .jl-pack__price .jl-pack__unit { display: block !important; margin-top: .15rem !important; }
}

/* =========================================================
   Joschka Link Fotografie – eigener Look
   Gleiches Gerüst wie die Hochzeitsseite, aber sachlicher:
   Anthrazit und Weiß statt Gold, keine Schmuckschrift.
   Dunkel als Standard, hell über den Schalter im Kopf.
   ========================================================= */
html:root {
	--jl-scheme: dunkel;
	--wp--preset--font-family--cormorant: Montserrat, 'Helvetica Neue', Arial, sans-serif;
	--wp--preset--color--base: #121110;
	--wp--preset--color--surface: #1A1917;
	--wp--preset--color--alt: #181715;
	--wp--preset--color--contrast: #D9D5CF;
	--wp--preset--color--heading: #F2EFEA;
	--wp--preset--color--muted: #A29D95;
	--wp--preset--color--accent: #CFCAC2;
	--wp--preset--color--link: #F2EFEA;
	--wp--preset--color--logo-mark: #F2EFEA;
	--wp--preset--color--logo-name: #F2EFEA;
	--wp--preset--color--line: #2F2C29;
	--wp--preset--color--button: #F2EFEA;
	--wp--preset--color--button-text: #121110;
	--wp--preset--color--button-hover: #CFCAC2;
	--wp--preset--color--band: #1F1D1B;
	--wp--preset--color--band-text: #F2EFEA;
	--wp--preset--color--band-accent: #A29D95;
	--wp--preset--color--hero-overlay: #000000;
	--jl-outer: #0A0908;
	--jl-bg: #121110;
	--jl-alt: #181715;
	--jl-folio: #3A3633;
	color-scheme: dark;
}
html[data-scheme="hell"]:root {
	--jl-scheme: hell;
	--wp--preset--color--base: #FFFFFF;
	--wp--preset--color--surface: #FFFFFF;
	--wp--preset--color--alt: #F3F2F0;
	--wp--preset--color--contrast: #2E2C2A;
	--wp--preset--color--heading: #121110;
	--wp--preset--color--muted: #66625D;
	--wp--preset--color--accent: #3A3835;
	--wp--preset--color--link: #121110;
	--wp--preset--color--logo-mark: #121110;
	--wp--preset--color--logo-name: #121110;
	--wp--preset--color--line: #E3E0DB;
	--wp--preset--color--button: #121110;
	--wp--preset--color--button-text: #FFFFFF;
	--wp--preset--color--button-hover: #3A3835;
	--wp--preset--color--band: #161514;
	--wp--preset--color--band-text: #F2EFEA;
	--wp--preset--color--band-accent: #A29D95;
	--jl-outer: #E6E3DE;
	--jl-bg: #FFFFFF;
	--jl-alt: #F3F2F0;
	--jl-folio: #CFCAC2;
	color-scheme: light;
}
body { background-color: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
html:root body.jl-boxed { background: var(--jl-outer) !important; }

/* Keine Schmuckschrift: Claim und Zitate in Montserrat, gerade */
.jl-hero__values {
	font-family: var(--wp--preset--font-family--montserrat) !important;
	font-style: normal !important;
	font-weight: 300;
	font-size: clamp(.72rem, 1.1vw, .82rem) !important;
	letter-spacing: .38em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .86);
	margin-bottom: 1.1rem !important;
}
.jl-values, .jl-rep__meta, .jl-story__claim, .jl-about__extra,
html body.jl-c2-kursiv #einleitung .jl-intro-cta2,
html body.jl-c2-kursiv :is(#einleitung, .jl-line) .jl-intro-cta2 { font-style: normal !important; }
.jl-story__claim { letter-spacing: .3em; text-transform: uppercase; font-size: .78rem !important; font-weight: 300; }
.jl-logo-claim { letter-spacing: .06em; }
.jl-btn--light { background: #FFFFFF; color: #121110 !important; border-color: #FFFFFF; }
.jl-btn--light:hover { background: #E8E5E0; border-color: #E8E5E0; }

/* Schalter Hell / Dunkel im Kopf */
.jl-scheme-toggle {
	all: unset; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; color: inherit; border-radius: 50%;
}
.jl-scheme-toggle:hover { opacity: .7; }
.jl-scheme-toggle:focus-visible { outline: 1px solid currentColor; outline-offset: 2px; }

/* Pakete: Reiter */
.jl-ptabs { display: flex; flex-wrap: wrap; gap: 0; margin: clamp(2rem, 4vw, 3rem) 0 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.jl-ptab {
	all: unset; cursor: pointer; padding: .9rem 1.4rem .85rem; margin-bottom: -1px;
	font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
	color: var(--wp--preset--color--muted); border-bottom: 1px solid transparent; transition: color .2s, border-color .2s;
}
.jl-ptab:hover { color: var(--wp--preset--color--heading); }
.jl-ptab[aria-selected="true"] { color: var(--wp--preset--color--heading); border-bottom-color: var(--wp--preset--color--heading); }
.jl-ptab:focus-visible { outline: 1px solid currentColor; outline-offset: -4px; }
.jl-pgroup { margin-top: clamp(1.6rem, 3vw, 2.4rem); }
.jl-pgroup[hidden] { display: none; }
.jl-pgroup + .jl-pgroup { margin-top: clamp(3rem, 6vw, 5rem); }
.jl-ptabs-wrap.is-tabs .jl-pgroup + .jl-pgroup { margin-top: clamp(1.6rem, 3vw, 2.4rem); }
.jl-pgroup__h { font-size: 1.25rem; font-weight: 300; margin: 0 0 .6rem; }
.jl-ptabs-wrap.is-tabs .jl-pgroup__h { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.jl-pgroup__text { max-width: 46rem; margin: 0 0 clamp(1.4rem, 3vw, 2rem); color: var(--wp--preset--color--muted); }
.jl-pgroup .jl-packs { margin-top: 0 !important; }
.jl-pgroup .jl-included { margin-top: clamp(1.6rem, 3vw, 2.4rem); }
.jl-packs--3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.jl-packs--2 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
@media (max-width: 600px) {
	.jl-ptabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.jl-ptab { padding: .8rem 1rem; white-space: nowrap; }
}

/* Dunkle Ansicht: Bilder etwas ruhiger einbetten */
html:not([data-scheme="hell"]) .jl-pack { border-color: var(--wp--preset--color--line); }
.jl-rail__scheme { width: 32px; height: 32px; margin-top: -1.2rem; color: var(--wp--preset--color--muted); }

/* Bald online */
.jl-bald__ctas { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.6rem; }
.jl-bald__wed { margin-top: 1.6rem; font-size: .875rem; color: var(--wp--preset--color--muted); }
.jl-bald__wed a { color: inherit; }

/* =========================================================
   Geteiltes Startbild (Text links, Hochformat rechts)
   ========================================================= */
.jl-shero-wrap { margin-top: 0 !important; }
.jl-boxed main > .jl-shero-wrap { width: auto; margin-left: 0 !important; margin-right: 0 !important; }
.jl-shero {
	display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	min-height: min(calc(100svh - 80px), 920px);
	background: var(--wp--preset--color--base);
}
.jl-shero__text {
	display: flex; flex-direction: column; justify-content: center; gap: 0;
	padding: clamp(3rem, 7vw, 7rem) clamp(1.5rem, 6vw, 6.5rem);
}
.jl-shero__values {
	margin: 0 0 1.6rem; font-size: .75rem; font-weight: 400; letter-spacing: .38em; text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.jl-shero__h1 {
	margin: 0; max-width: 15em;
	font-size: clamp(2.1rem, 3.9vw, 3.6rem); font-weight: 200; line-height: 1.08; letter-spacing: -.015em;
	color: var(--wp--preset--color--heading);
}
.jl-shero__sub { margin: 1.6rem 0 0; max-width: 34em; font-size: clamp(1rem, 1.2vw, 1.125rem); line-height: 1.7; color: var(--wp--preset--color--contrast); }
.jl-shero__ctas { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.2rem; }
.jl-shero__links {
	list-style: none; margin: clamp(2.4rem, 5vw, 3.6rem) 0 0; padding: 1.2rem 0 0;
	display: flex; flex-wrap: wrap; gap: .4rem 2rem; border-top: 1px solid var(--wp--preset--color--line);
}
.jl-shero__links a {
	font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
	color: var(--wp--preset--color--heading); text-decoration: none;
}
.jl-shero__links a:hover { opacity: .65; }
.jl-shero__media { position: relative; overflow: hidden; min-height: 420px; background: var(--wp--preset--color--alt); }
.jl-shero__fig { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.6s ease; }
.jl-shero__fig.is-on { opacity: 1; }
.jl-shero__fig img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; display: block; }
.jl-shero--quer { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.jl-shero--seite { min-height: min(calc(86svh - 80px), 820px); }
@media (max-width: 900px) {
	.jl-shero, .jl-shero--quer { grid-template-columns: 1fr; min-height: 0; }
	.jl-shero__media { order: -1; aspect-ratio: 4 / 5; min-height: 0; max-height: 78svh; }
	.jl-shero--quer .jl-shero__media { aspect-ratio: 3 / 2; }
	.jl-shero__text { padding: 2.4rem 1.25rem 3rem; }
}
@media (prefers-reduced-motion: reduce) { .jl-shero__fig { transition: none; } }

/* =========================================================
   Bereiche: Kacheln auf der Startseite
   ========================================================= */
.jl-tiles {
	display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); grid-template-rows: auto auto;
	gap: clamp(1rem, 2vw, 1.6rem); margin-top: clamp(2rem, 4vw, 3rem);
}
.jl-tile { position: relative; display: grid; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); }
.jl-tile--p { grid-row: 1 / span 2; grid-template-rows: 1fr auto; }
.jl-tile--b, .jl-tile--c { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.jl-tile__img { display: block; overflow: hidden; line-height: 0; }
.jl-tile__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.jl-tile--p .jl-tile__img { aspect-ratio: 4 / 5; }
.jl-tile--b .jl-tile__img, .jl-tile--c .jl-tile__img { aspect-ratio: auto; min-height: 260px; }
.jl-tile:hover .jl-tile__img img { transform: scale(1.03); }
.jl-tile__body { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.4rem, 2.6vw, 2.2rem); }
.jl-tile__kicker { margin: 0 0 .7rem; font-size: .6875rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.jl-tile__kicker span { letter-spacing: .08em; font-weight: 400; text-transform: none; font-size: .8125rem; }
.jl-tile__h { margin: 0; font-size: clamp(1.4rem, 2.2vw, 2rem); font-weight: 300; line-height: 1.15; }
.jl-tile__h a { color: var(--wp--preset--color--heading); text-decoration: none; }
.jl-tile__h a::after { content: ""; position: absolute; inset: 0; }
.jl-tile__p { margin: .8rem 0 0; color: var(--wp--preset--color--contrast); font-size: .9375rem; line-height: 1.65; }
.jl-tile__more { margin-top: 1.2rem; align-self: start; font-size: .72rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--heading); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: .2rem; position: relative; z-index: 1; }
@media (max-width: 900px) {
	.jl-tiles { grid-template-columns: 1fr; }
	.jl-tile--p { grid-row: auto; }
	.jl-tile--b, .jl-tile--c { grid-template-columns: 1fr; }
	.jl-tile--b .jl-tile__img { aspect-ratio: 3 / 2; min-height: 0; }
	.jl-tile--c .jl-tile__img { aspect-ratio: 4 / 5; min-height: 0; }
}

/* =========================================================
   Bereichs-Seiten
   ========================================================= */
.jl-bereich > .jl-shero-wrap { margin-top: 0 !important; }
.jl-b-intro__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr); gap: clamp(1.5rem, 5vw, 5rem); }
.jl-b-intro__text p { margin: 0 0 1.2rem; max-width: 40em; line-height: 1.8; }
.jl-b-intro__lead { font-size: clamp(1.25rem, 2vw, 1.6rem) !important; font-weight: 300; line-height: 1.5 !important; color: var(--wp--preset--color--heading); }
.jl-feats { display: grid; gap: clamp(3rem, 7vw, 6rem); }
.jl-feat { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 5rem); align-items: center; }
.jl-feat--rev .jl-feat__img { order: 2; }
.jl-feat__img { margin: 0; overflow: hidden; line-height: 0; aspect-ratio: 3 / 2; }
.jl-feat__img.is-hoch { aspect-ratio: 4 / 5; max-width: 520px; justify-self: center; width: 100%; }
.jl-feat__img img { width: 100%; height: 100%; object-fit: cover; }
.jl-feat__no { margin: 0 0 .6rem; font-size: .75rem; letter-spacing: .2em; color: var(--wp--preset--color--muted); }
.jl-feat__h { margin: 0 0 1rem; font-size: clamp(1.6rem, 2.8vw, 2.4rem); font-weight: 200; line-height: 1.12; }
.jl-feat__text p { line-height: 1.8; max-width: 34em; }
.jl-bgrid { display: grid; gap: clamp(.5rem, 1vw, .9rem); margin-top: clamp(1.6rem, 3vw, 2.4rem); }
.jl-bgrid--hoch { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.jl-bgrid--quer { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.jl-bgrid__item { margin: 0; overflow: hidden; line-height: 0; }
.jl-bgrid--hoch .jl-bgrid__item { aspect-ratio: 2 / 3; }
.jl-bgrid--quer .jl-bgrid__item { aspect-ratio: 3 / 2; }
.jl-bgrid__item img { width: 100%; height: 100%; object-fit: cover; }
.jl-bereich .jl-pgroup__h { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.jl-b-faq__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: clamp(1.5rem, 5vw, 5rem); }
.jl-b-faq__list details { border-bottom: 1px solid var(--wp--preset--color--line); padding: 1.1rem 0; }
.jl-b-faq__list summary { cursor: pointer; font-weight: 400; color: var(--wp--preset--color--heading); }
.jl-b-faq__list details p { margin: .8rem 0 0; color: var(--wp--preset--color--contrast); }
@media (max-width: 900px) {
	.jl-b-intro__in, .jl-feat, .jl-b-faq__in { grid-template-columns: 1fr; }
	.jl-feat--rev .jl-feat__img { order: 0; }
	.jl-bgrid--hoch { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.jl-bgrid--quer { grid-template-columns: 1fr; }
}

/* Kopf auf dem Handy: Schalter, Menü und Anfragen passen in eine Zeile */
@media (max-width: 600px) {
	header .wp-block-group:has(> .jl-scheme-toggle) { gap: .5rem !important; }
	.jl-scheme-toggle { width: 32px; height: 32px; }
	.jl-logo--horizontal { max-width: 44vw; }
}
@media (max-width: 360px) { header .jl-header-cta { display: none; } }

/* Hervorgehobenes Paket: in der dunklen Ansicht als helle Karte */
html:not([data-scheme="hell"]) body:not(.jl-editorial) .jl-pack--featured { background: #F2EFEA; border-color: #F2EFEA; color: #2E2C2A; }
html:not([data-scheme="hell"]) body:not(.jl-editorial) .jl-pack--featured .jl-pack__name,
html:not([data-scheme="hell"]) body:not(.jl-editorial) .jl-pack--featured .jl-pack__amount { color: #121110 !important; }
html:not([data-scheme="hell"]) body:not(.jl-editorial) .jl-pack--featured .jl-pack__tag,
html:not([data-scheme="hell"]) body:not(.jl-editorial) .jl-pack--featured .jl-pack__unit { color: #66625D; opacity: 1; }
html:not([data-scheme="hell"]) body:not(.jl-editorial) .jl-pack--featured .jl-pack__list li { color: #2E2C2A; }
html:not([data-scheme="hell"]) body:not(.jl-editorial) .jl-pack--featured .jl-btn--light { background: #121110; color: #F2EFEA !important; border-color: #121110; }

/* Startbild: dezentere Schrift (Vollbild und geteilt, alle Darstellungen) */
html body .jl-hero__h1 {
	font-weight: 300 !important;
	font-size: calc(clamp(1.6rem, 2.9vw, 2.6rem) * var(--jl-hf, 1)) !important;
	line-height: 1.15 !important;
	max-width: 22ch !important;
	letter-spacing: 0 !important;
	margin-bottom: 1.6rem !important;
}
html body .jl-hero__values { font-size: clamp(.66rem, .9vw, .75rem) !important; letter-spacing: .36em; margin-bottom: .9rem !important; }
html body .jl-hero__sub { font-size: clamp(.875rem, 1vw, 1rem) !important; max-width: 32rem; }
html body .jl-hero__h1 + .jl-hero__sub { margin-top: -.6rem !important; }
html body .jl-shero__h1 { font-size: clamp(1.7rem, 2.9vw, 2.6rem); font-weight: 300; line-height: 1.15; max-width: 20em; }
html body .jl-shero__sub { font-size: clamp(.9375rem, 1vw, 1.0625rem); }
@media (max-width: 781px) {
	html body .jl-hero__h1 { font-size: 1.55rem !important; }
	html body .jl-shero__h1 { font-size: 1.65rem; }
}
