/* =============================================================================
   Gabelmann – Königsblau + Gold (Kaplan-Farben)
   Dunkles Marineblau, Gold als Akzent, Panels statt Hairlines.
   Fraunces + Inter Tight. Kein Rhombus, kein Rahmen, keine Feature-Grids.
   ========================================================================== */

/* ---- Tokens ---------------------------------------------------------------- */
:root {
	--gab-alert-h: 0px; /* Höhe Goldankauf-Banner */
	--gab-alert-h-mobile: 0px;
	/* Dunkle Königsblau-Basis, in Stufen für Tiefe */
	--gab-bg:          #0F1A33;   /* tiefes Marineblau */
	--gab-bg-2:        #131F3B;   /* Alt-Sektion, leicht heller */
	--gab-bg-panel:    #1B2A4A;   /* Panel/Karte  – Ersatz für Hairlines */
	--gab-bg-panel-hi: #223357;   /* Panel bei Hover */

	/* Textfarben – warmes Elfenbein auf Blau */
	--gab-ink:         #F1EAD3;   /* warmes Elfenbein, harmoniert mit Gold */
	--gab-ink-soft:    #B9B0A0;
	--gab-ink-faint:   #7C7669;

	/* Gold – klassisch metallisch, warm */
	--gab-champagne:      #D4AF37;   /* klassisches Gold */
	--gab-champagne-hi:   #EFC94C;   /* helles Sonnengold */
	--gab-champagne-deep: #A8862B;   /* dunkles Goldbronze */

	--gab-line:        rgba(212, 175, 55, 0.16);

	/* Historische Kompatibilität für Customizer-Overrides */
	--gab-paper:  var(--gab-bg);
	--gab-accent: var(--gab-champagne);

	--gab-serif: 'Fraunces', 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif;
	--gab-sans:  'Inter Tight', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

	--gab-maxw: 1240px;
	--gab-gutter: clamp(20px, 5vw, 72px);
	--gab-section-y: clamp(72px, 10vw, 150px);
}

/* ---- Reset / Base ---------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}

body {
	margin: 0;
	background: var(--gab-bg);
	color: var(--gab-ink);
	font-family: var(--gab-sans);
	font-weight: 400;
	font-size: 1.0625rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

h1, h2, h3, h4 {
	font-family: var(--gab-serif);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -0.015em;
	margin: 0 0 0.5em;
	color: var(--gab-ink);
	font-feature-settings: "liga" 1, "dlig" 1, "onum" 1, "kern" 1;
	font-variation-settings: "SOFT" 30, "opsz" 144;
	text-wrap: balance;
}
h1 em, h2 em, h3 em {
	font-style: italic; font-weight: 400;
	color: var(--gab-champagne);
	font-variation-settings: "SOFT" 100, "opsz" 144;
}

p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
em, i { font-style: italic; }

::selection { background: var(--gab-champagne); color: var(--gab-bg); }

:focus-visible {
	outline: 2px solid var(--gab-champagne);
	outline-offset: 3px;
	border-radius: 2px;
}

/* ---- Layout ---------------------------------------------------------------- */
.gab-wrap {
	width: 100%;
	max-width: var(--gab-maxw);
	margin-inline: auto;
	padding-inline: var(--gab-gutter);
}
.gab-wrap--narrow { max-width: 780px; }

.gab-section { padding-block: var(--gab-section-y); position: relative; }
.gab-section--alt { background: var(--gab-bg-2); }
.gab-section--tight { padding-block: clamp(48px, 7vw, 96px); }

/* ---- Kicker (klein, italic, ruhig — kein Uppercase-Sperrsatz) ------------ */
.gab-eyebrow {
	font-family: var(--gab-serif);
	font-style: italic;
	font-weight: 400;
	font-size: 1.05rem;
	color: var(--gab-champagne);
	display: inline-block;
	margin-bottom: 1.3rem;
	letter-spacing: 0;
	font-variation-settings: "SOFT" 100, "opsz" 20;
}

/* ---- Type-Skala ----------------------------------------------------------- */
.gab-display { font-size: clamp(2.8rem, 7.4vw, 5.6rem); letter-spacing: -0.025em; line-height: 1.02; }
.gab-h2 { font-size: clamp(2rem, 4.6vw, 3.4rem); letter-spacing: -0.018em; }
.gab-h3 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); letter-spacing: -0.012em; }
.gab-lead { font-size: clamp(1.1rem, 1.5vw, 1.25rem); color: var(--gab-ink-soft); font-weight: 400; line-height: 1.55; }
.gab-muted { color: var(--gab-ink-soft); }

.gab-section-head { max-width: 700px; }

/* ---- Buttons — gefüllt, flach, substanziell ------------------------------ */
.gab-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	font-family: var(--gab-sans);
	font-weight: 500;
	font-size: 0.98rem;
	letter-spacing: -0.005em;
	padding: 1.05em 2em;
	border: 1.5px solid var(--gab-champagne);
	background: var(--gab-champagne);
	color: var(--gab-bg);
	cursor: pointer;
	transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.gab-btn:hover { background: var(--gab-champagne-hi); border-color: var(--gab-champagne-hi); }
.gab-btn::after {
	content: '→';
	font-family: var(--gab-serif); font-style: italic;
	transition: transform .3s ease;
}
.gab-btn:hover::after { transform: translateX(3px); }

.gab-btn--ghost {
	background: transparent;
	color: var(--gab-champagne);
	border-color: var(--gab-champagne);
}
.gab-btn--ghost:hover {
	background: var(--gab-champagne);
	color: var(--gab-bg);
}
.gab-btn--block { width: 100%; justify-content: center; }

.gab-link {
	color: var(--gab-champagne);
	font-family: var(--gab-serif); font-style: italic;
	font-size: 1.1rem;
	padding-bottom: 3px;
	border-bottom: 1.5px solid var(--gab-champagne-deep);
	transition: color .25s ease, border-color .25s ease;
}
.gab-link:hover { color: var(--gab-champagne-hi); border-color: var(--gab-champagne); }
.gab-link::after { content: ' →'; font-style: italic; }

/* =============================================================================
   Header — clean, ohne Hairline (nur beim Scroll dezenter Schatten)
   ========================================================================== */
.gab-header {
	position: fixed;
	inset: var(--gab-alert-h) 0 auto 0;
	z-index: 100;
	transition: background .3s ease, box-shadow .3s ease, padding .3s ease;
	padding-block: 1.6rem;
}
.gab-header.is-scrolled {
	background: rgba(15, 26, 51, 0.96);
	box-shadow: 0 8px 32px -12px rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow: 0 1px 0 rgba(212, 175, 55, 0.10);
	padding-block: 0.9rem;
}
.gab-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}
.gab-brand {
	display: inline-flex; align-items: center;
	gap: 0.9rem;
	line-height: 1;
	flex-shrink: 0;
	color: var(--gab-ink);
	transition: opacity .25s ease;
}
.gab-brand:hover { opacity: 0.88; }
.gab-brand__text {
	display: inline-flex; flex-direction: column;
	gap: 0.35em;
}
.gab-brand__name {
	font-family: var(--gab-serif);
	font-size: 1.35rem;
	font-weight: 400;
	color: var(--gab-ink);
	letter-spacing: -0.015em;
	white-space: nowrap;
	font-feature-settings: "liga" 1, "dlig" 1;
	font-variation-settings: "SOFT" 60;
	line-height: 1;
}
.gab-brand__suffix {
	font-family: var(--gab-serif);
	font-style: italic;
	font-size: 0.92rem;
	color: var(--gab-champagne);
	white-space: nowrap;
	font-variation-settings: "SOFT" 100;
	letter-spacing: 0.02em;
	line-height: 1;
}
.gab-brand img { max-height: 44px; width: auto; }

.gab-nav ul {
	list-style: none;
	display: flex;
	align-items: center;
	gap: clamp(1.4rem, 2.6vw, 2.6rem);
	margin: 0; padding: 0;
}
.gab-nav a {
	font-size: 0.95rem;
	font-weight: 400;
	color: var(--gab-ink);
	white-space: nowrap;
	position: relative;
	padding-block: 0.4rem;
	transition: color .25s ease;
}
.gab-nav a:hover, .gab-nav .current-menu-item > a { color: var(--gab-champagne); }
.gab-nav a::after {
	content: ''; position: absolute; left: 0; bottom: 0;
	width: 0; height: 2px; background: var(--gab-champagne);
	transition: width .3s ease;
}
.gab-nav a:hover::after, .gab-nav .current-menu-item > a::after { width: 100%; }

.gab-header__cta { display: flex; align-items: center; gap: 1.2rem; }
.gab-phone {
	font-family: var(--gab-serif); font-style: italic;
	font-size: 1.05rem;
	color: var(--gab-ink);
	display: inline-flex; align-items: center; gap: 0.4em;
	white-space: nowrap;
	transition: color .25s ease;
}
.gab-phone:hover { color: var(--gab-champagne); }

/* Burger */
.gab-burger {
	display: none;
	width: 44px; height: 44px;
	background: var(--gab-bg-panel); border: 0;
	cursor: pointer; padding: 0;
	position: relative;
}
.gab-burger span {
	position: absolute; left: 11px; right: 11px; height: 2px;
	background: var(--gab-ink); transition: transform .3s ease, opacity .3s ease;
}
.gab-burger span:nth-child(1) { top: 15px; }
.gab-burger span:nth-child(2) { top: 21px; }
.gab-burger span:nth-child(3) { top: 27px; }
.gab-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.gab-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.gab-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* =============================================================================
   Hero — endlich richtig zentriert, mit Panel-Metas rechts
   ========================================================================== */
.gab-hero {
	position: relative;
	min-height: 88svh;
	padding-block: calc(140px + var(--gab-alert-h)) 80px;
	display: flex;
	align-items: center;
	overflow: hidden;
	isolation: isolate;
	background: var(--gab-bg);
}
/* BG-Bild als reiner Farb-/Stimmungswash — starker Blur macht Motiv
   unerkennbar, es bleiben nur die warmen Farben. Kein Upscale-Bug mehr,
   weil Blur die Unschärfe zur Absicht macht. */
.gab-hero__bg {
	position: absolute; inset: -80px; z-index: -2;
	overflow: hidden;
}
.gab-hero__bg img {
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center 35%;
	opacity: 0.55;
	filter: blur(36px) saturate(1.15);
	transform: scale(1.1);
}
/* Overlay: links dunkler (Text-Lesbarkeit), rechts warmer Schimmer */
.gab-hero::before {
	content: ''; position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(60% 80% at 0% 50%, rgba(15,26,51,0.65), transparent 60%),
		radial-gradient(50% 50% at 78% 35%, rgba(212, 175, 55, 0.08), transparent 65%);
	pointer-events: none;
}

.gab-hero__grid {
	width: 100%;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: clamp(40px, 5vw, 90px);
	align-items: center;
}
.gab-hero__inner { position: relative; z-index: 2; }
.gab-hero h1 { margin-bottom: 1.4rem; }
.gab-hero__text {
	max-width: 46ch;
	font-family: var(--gab-serif);
	font-size: clamp(1.15rem, 1.55vw, 1.35rem);
	font-weight: 400;
	line-height: 1.5;
	color: var(--gab-ink-soft);
	margin-bottom: 2.4rem;
	font-variation-settings: "SOFT" 60, "opsz" 20;
}
.gab-hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }

/* Foto rechts — scharf, weil kleiner Container die native Auflösung des Bildes matcht */
.gab-hero__figure {
	position: relative; z-index: 2;
	margin: 0;
	overflow: hidden;
	background: var(--gab-bg-panel);
	aspect-ratio: 4 / 5;
	max-height: 72svh;
	align-self: center;
	box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(212, 175, 55, 0.08);
}
.gab-hero__figure img {
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center 35%;
	display: block;
}

/* Meta als Panels UNTER dem Text — horizontal, 3 Spalten */
.gab-hero__meta {
	position: relative; z-index: 2;
	margin-top: 2.4rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}
.gab-hero__meta-item {
	background: var(--gab-bg-panel);
	padding: 1.2rem 1.4rem;
	display: flex; flex-direction: column; gap: 0.3rem;
	min-width: 0;
}
.gab-hero__meta b {
	font-family: var(--gab-serif); font-style: italic;
	font-weight: 400;
	font-size: clamp(1.4rem, 2vw, 1.9rem);
	color: var(--gab-champagne);
	line-height: 1;
	font-variation-settings: "SOFT" 100, "opsz" 96;
	overflow-wrap: anywhere;
}
.gab-hero__meta b em { color: var(--gab-champagne); font-style: italic; }
.gab-hero__meta small {
	font-size: 0.82rem;
	color: var(--gab-ink-soft);
	line-height: 1.35;
}

/* Choreografierter Einblend-Ablauf */
.js .gab-hero__inner > *, .js .gab-hero__figure { opacity: 0; transform: translateY(20px); }
.gab-entered .gab-hero__inner > *, .gab-entered .gab-hero__figure {
	animation: gab-rise 1s cubic-bezier(.2,.7,.2,1) forwards;
}
.gab-entered .gab-hero__inner > *:nth-child(1) { animation-delay: .05s; }
.gab-entered .gab-hero__inner > *:nth-child(2) { animation-delay: .18s; }
.gab-entered .gab-hero__inner > *:nth-child(3) { animation-delay: .34s; }
.gab-entered .gab-hero__inner > *:nth-child(4) { animation-delay: .50s; }
.gab-entered .gab-hero__inner > *:nth-child(5) { animation-delay: .62s; }
.gab-entered .gab-hero__figure { animation-delay: .25s; }
@keyframes gab-rise { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.js .gab-hero__inner > *, .js .gab-hero__figure {
		opacity: 1; transform: none; animation: none;
	}
}

/* =============================================================================
   Intro-Split
   ========================================================================== */
.gab-split {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: clamp(32px, 6vw, 96px);
	align-items: center;
}
.gab-split--rev { grid-template-columns: 7fr 5fr; }
.gab-split--rev > *:first-child { order: 2; }
.gab-figure { position: relative; }
.gab-figure__img {
	aspect-ratio: 4 / 5; overflow: hidden;
	background: var(--gab-bg-panel);
}
.gab-figure__img img { width: 100%; height: 100%; object-fit: cover; }
.gab-figure__img--ph {
	background: var(--gab-bg-panel);
	position: relative;
}
.gab-figure__img--ph::before {
	content: 'Ihr Foto';
	position: absolute; inset: auto 0 24px 0;
	text-align: center;
	font-family: var(--gab-serif); font-style: italic;
	color: var(--gab-ink-faint);
	font-size: 0.95rem;
}

/* =============================================================================
   Leistungen — Editorial Liste (kein Feature-Grid)
   Zwei-Spalten-Layout: links Titel, rechts nummerierte Liste
   ========================================================================== */
.gab-editorial {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: clamp(40px, 5vw, 96px);
	align-items: start;
}
.gab-editorial__intro {
	padding-top: 0.4rem;
	position: sticky;
	top: clamp(90px, 12vh, 140px);
}

.gab-services {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.gab-services__item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: clamp(1.2rem, 2vw, 1.8rem);
	padding-block: clamp(0.9rem, 1.4vw, 1.3rem);
	align-items: baseline;
}
.gab-services__item:first-child { padding-top: 0; }
.gab-services__item:last-child { padding-bottom: 0; }

/* Römische Nummern in Champagner-Kursiv */
.gab-services__num {
	font-family: var(--gab-serif);
	font-style: italic;
	font-weight: 400;
	font-size: 1.15rem;
	color: var(--gab-champagne);
	line-height: 1;
	font-variation-settings: "SOFT" 100, "opsz" 20;
	min-width: 2ch;
	text-align: right;
}

.gab-services__body h3 {
	font-family: var(--gab-serif);
	font-size: clamp(1.15rem, 1.6vw, 1.35rem);
	letter-spacing: -0.015em;
	margin-bottom: 0.3rem;
	color: var(--gab-ink);
	line-height: 1.2;
}
.gab-services__body p {
	color: var(--gab-ink-soft);
	font-size: 0.96rem;
	margin: 0;
	line-height: 1.55;
	max-width: 52ch;
}

/* =============================================================================
   Kollektionen — Bild-Kacheln ohne Deko
   ========================================================================== */
.gab-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(14px, 1.8vw, 24px); }
.gab-tile {
	position: relative; aspect-ratio: 4 / 5; overflow: hidden;
	display: block; background: var(--gab-bg-panel);
}
.gab-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.gab-tile:hover img { transform: scale(1.05); }
.gab-tile__ph {
	position: absolute; inset: 0;
	background: var(--gab-bg-panel);
}
.gab-tile__cap {
	position: absolute; inset: auto 0 0 0; z-index: 2;
	padding: 1.5rem 1.6rem 1.4rem;
	color: var(--gab-ink);
	background: linear-gradient(0deg, rgba(15, 26, 51, 0.85) 0%, transparent 100%);
	display: flex; align-items: baseline; justify-content: space-between;
}
.gab-tile__ph ~ .gab-tile__cap { background: transparent; }
.gab-tile__cap h3 {
	font-size: 1.3rem;
	margin: 0;
	letter-spacing: -0.015em;
	color: inherit;
}
.gab-tile__cap span {
	font-family: var(--gab-serif); font-style: italic;
	color: var(--gab-champagne);
	opacity: 0; transform: translateX(-6px); transition: .35s ease;
}
.gab-tile:hover .gab-tile__cap span { opacity: 1; transform: translateX(0); }

/* =============================================================================
   Trauringe – Prozess-Schritte (echte Reihenfolge OK)
   ========================================================================== */
.gab-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gab-step {
	background: var(--gab-bg-panel);
	padding: clamp(32px, 3.6vw, 48px) clamp(28px, 3vw, 40px);
	position: relative;
}
.gab-step__no {
	display: inline-block;
	font-family: var(--gab-serif); font-style: italic;
	font-size: 1.05rem; color: var(--gab-champagne);
	margin-bottom: 1.4rem;
	font-variation-settings: "SOFT" 100;
}
.gab-step h3 { font-size: 1.5rem; margin-bottom: 0.7rem; }
.gab-step p { color: var(--gab-ink-soft); margin: 0; }

/* =============================================================================
   Trust-Bar (auf Über-uns-Seite) — auch als Panels
   ========================================================================== */
.gab-trust { padding-block: 0; }
.gab-trust .gab-wrap { padding-inline: 0; }
.gab-trust__grid {
	display: grid; grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	padding-inline: var(--gab-gutter);
}
.gab-trust__item {
	background: var(--gab-bg-panel);
	padding: clamp(36px, 5vw, 60px) clamp(28px, 3vw, 44px);
}
.gab-trust__num {
	font-family: var(--gab-serif); font-style: italic;
	font-size: clamp(2.4rem, 4vw, 3.2rem);
	color: var(--gab-champagne);
	line-height: 1;
	display: block;
	margin-bottom: 0.6rem;
	font-variation-settings: "SOFT" 100, "opsz" 96;
}
.gab-trust__label { font-size: 0.98rem; color: var(--gab-ink-soft); line-height: 1.5; }

/* =============================================================================
   Zitat
   ========================================================================== */
.gab-quote { max-width: 880px; margin-inline: auto; }
.gab-quote blockquote {
	font-family: var(--gab-serif);
	font-style: italic;
	font-size: clamp(1.6rem, 3.4vw, 2.5rem);
	line-height: 1.32;
	color: var(--gab-ink);
	margin: 0;
	letter-spacing: -0.01em;
	font-variation-settings: "SOFT" 100, "opsz" 96;
}
.gab-quote blockquote::before {
	content: '„';
	color: var(--gab-champagne);
	font-size: 1.4em;
	line-height: 0;
	vertical-align: -0.3em;
	margin-right: 0.05em;
}
.gab-quote blockquote::after { content: '"'; color: var(--gab-champagne); }
.gab-quote cite {
	display: block;
	margin-top: 1.6rem;
	font-family: var(--gab-sans);
	font-style: normal;
	font-size: 0.95rem;
	color: var(--gab-ink-faint);
}

/* =============================================================================
   CTA-Band — dunkler Panel-Farbton als deutliches Segment
   ========================================================================== */
.gab-cta {
	background: var(--gab-bg-panel);
	text-align: center;
}
.gab-cta h2 { margin-bottom: 0.6rem; }
.gab-cta p { color: var(--gab-ink-soft); margin-bottom: 2rem; }

/* =============================================================================
   Kontakt
   ========================================================================== */
.gab-contact { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: clamp(40px, 6vw, 96px); }
.gab-info dl { margin: 0; }
.gab-info dt {
	font-family: var(--gab-serif); font-style: italic;
	font-size: 1.05rem;
	color: var(--gab-champagne);
	margin-bottom: 0.4rem;
	font-variation-settings: "SOFT" 100;
}
.gab-info dd { margin: 0 0 1.8rem; font-size: 1.05rem; color: var(--gab-ink); }
.gab-info dd a:hover { color: var(--gab-champagne); }
.gab-info__hours { display: grid; grid-template-columns: auto 1fr; gap: 0.4rem 1.4rem; font-size: 1rem; }
.gab-info__hours span:nth-child(odd) { color: var(--gab-ink-soft); }

/* Karte (click-to-load) */
.gab-map {
	margin-top: 1.6rem; aspect-ratio: 16/10;
	position: relative; overflow: hidden;
	background: var(--gab-bg-panel);
}
.gab-map__consent {
	position: absolute; inset: 0; display: flex; flex-direction: column;
	align-items: center; justify-content: center; text-align: center; gap: 1rem;
	padding: 2rem; cursor: pointer;
	background: var(--gab-bg-panel);
}
.gab-map__consent p { color: var(--gab-ink-soft); font-size: 0.95rem; max-width: 40ch; margin: 0; }
.gab-map iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Formular — gefüllte Felder statt Line-Only */
.gab-form { display: grid; gap: 1.3rem; }
.gab-field { display: grid; gap: 0.55rem; }
.gab-field label {
	font-family: var(--gab-serif); font-style: italic;
	font-size: 1.05rem;
	color: var(--gab-ink);
	font-variation-settings: "SOFT" 100;
}
.gab-field label .req { color: var(--gab-champagne); }
.gab-field input, .gab-field textarea, .gab-field select {
	width: 100%;
	background: var(--gab-bg-panel);
	border: 1.5px solid transparent;
	color: var(--gab-ink);
	font-family: var(--gab-sans);
	font-size: 1rem; font-weight: 400;
	padding: 0.95em 1.1em;
	transition: border-color .25s ease, background .25s ease;
}
.gab-field input:focus, .gab-field textarea:focus, .gab-field select:focus {
	outline: none;
	border-color: var(--gab-champagne);
	background: var(--gab-bg-panel-hi);
}
.gab-field textarea { min-height: 150px; resize: vertical; }
.gab-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.gab-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gab-consent {
	display: flex; gap: 0.7rem; align-items: flex-start;
	font-size: 0.95rem; color: var(--gab-ink-soft);
}
.gab-consent input { width: auto; margin-top: 5px; accent-color: var(--gab-champagne); }

.gab-notice { padding: 1em 1.2em; font-size: 0.95rem; border-left: 3px solid; }
.gab-notice--ok  { border-color: var(--gab-champagne); background: rgba(212, 175, 55, 0.06); color: var(--gab-ink); }
.gab-notice--err { border-color: #d47272; background: rgba(212, 114, 114, 0.06); color: #ecc7c7; }

/* =============================================================================
   Bewertungen
   ========================================================================== */
.gab-reviews { max-width: 580px; }
.gab-reviews__stars { font-size: 1.4rem; color: var(--gab-champagne); letter-spacing: 0.1em; }
.gab-reviews__score {
	font-family: var(--gab-serif);
	font-size: clamp(2.8rem, 5.2vw, 3.8rem);
	color: var(--gab-ink);
	line-height: 1;
	letter-spacing: -0.025em;
	margin-top: 0.4rem;
	font-variation-settings: "SOFT" 30;
}
.gab-reviews__meta { color: var(--gab-ink-soft); font-size: 1.05rem; margin-top: 0.4rem; }

/* =============================================================================
   Page-Hero (Unterseiten)
   ========================================================================== */
.gab-pagehero {
	padding-block: clamp(calc(140px + var(--gab-alert-h)), calc(18vw + var(--gab-alert-h)), calc(210px + var(--gab-alert-h))) clamp(48px, 6vw, 80px);
	position: relative;
	overflow: hidden;
}
.gab-pagehero .gab-eyebrow { margin-bottom: 0.8rem; }
.gab-pagehero h1 { font-size: clamp(2.6rem, 6vw, 4.6rem); position: relative; z-index: 2; }
.gab-pagehero .gab-wrap { position: relative; z-index: 2; }
/* Bild-Variante: Hintergrund-Foto + dunkler Verlauf für Lesbarkeit */
.gab-pagehero--image { background: var(--gab-bg); }
.gab-pagehero__bg { position: absolute; inset: 0; z-index: 0; }
.gab-pagehero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.42; }
.gab-pagehero--image::before {
	content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background:
		linear-gradient(180deg, rgba(15,26,51,0.55) 0%, rgba(15,26,51,0.35) 40%, rgba(15,26,51,0.7) 100%),
		linear-gradient(90deg, rgba(15,26,51,0.55), rgba(15,26,51,0.15) 50%, rgba(15,26,51,0.55));
}
.gab-breadcrumb {
	font-family: var(--gab-serif); font-style: italic;
	font-size: 0.98rem;
	color: var(--gab-ink-faint);
	margin-top: 1.4rem;
}
.gab-breadcrumb a:hover { color: var(--gab-champagne); }

/* =============================================================================
   Prose
   ========================================================================== */
.gab-prose { max-width: 720px; font-size: 1.05rem; line-height: 1.75; color: var(--gab-ink-soft); }
.gab-prose h2 { font-size: 1.9rem; margin-top: 2.4rem; color: var(--gab-ink); }
.gab-prose h3 { font-size: 1.4rem; margin-top: 1.8rem; color: var(--gab-ink); }
.gab-prose a { color: var(--gab-champagne); border-bottom: 1.5px solid var(--gab-champagne-deep); }
.gab-prose ul, .gab-prose ol { padding-left: 1.3em; }
.gab-prose li { margin-bottom: 0.4em; }
.gab-prose strong { color: var(--gab-ink); }

/* =============================================================================
   Footer — Panel-Look
   ========================================================================== */
.gab-footer {
	background: var(--gab-bg-2);
	padding-block: clamp(56px, 6vw, 96px) 2rem;
}
.gab-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: clamp(32px, 4vw, 72px); }
.gab-footer__brand .gab-brand__name { font-size: 1.8rem; }
.gab-footer p { color: var(--gab-ink-soft); font-size: 0.98rem; }
.gab-footer h4 {
	font-family: var(--gab-serif); font-style: italic;
	font-weight: 400; font-size: 1.15rem;
	color: var(--gab-champagne);
	margin-bottom: 1.2rem;
	font-variation-settings: "SOFT" 100;
}
.gab-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.gab-footer ul a { color: var(--gab-ink); font-size: 0.98rem; transition: color .25s ease; }
.gab-footer ul a:hover { color: var(--gab-champagne); }
.gab-footer__social { display: flex; gap: 1rem; margin-top: 1.4rem; }
.gab-footer__social a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px;
	color: var(--gab-ink);
	padding: 0; border-radius: 50%;
	background: var(--gab-bg-panel);
	transition: color .25s ease, background .25s ease;
}
.gab-footer__social a:focus-visible { outline: 2px solid var(--gab-champagne); outline-offset: 3px; }
.gab-footer__social a svg { display: block; }
.gab-footer__social a:hover { color: var(--gab-champagne); background: var(--gab-bg-panel-hi); }
.gab-footer__bar {
	margin-top: clamp(40px, 5vw, 64px); padding-top: 1.8rem;
	display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between;
	font-size: 0.92rem; color: var(--gab-ink-faint);
	border-top: 2px solid var(--gab-bg-panel);
}
.gab-footer__bar a:hover { color: var(--gab-champagne); }
.gab-footer__legal { display: flex; gap: 1.5rem; flex-wrap: wrap; }

/* Skip-Link */
.gab-skip {
	position: absolute; left: -9999px; top: 0; z-index: 999;
	background: var(--gab-champagne); color: var(--gab-bg); padding: 0.8em 1.4em; font-size: 0.9rem;
}
.gab-skip:focus { left: 12px; top: 12px; }

/* =============================================================================
   Reveal
   ========================================================================== */
.js .gab-reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s ease, transform 1s cubic-bezier(.2,.7,.2,1); }
.js .gab-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .gab-reveal { opacity: 1; transform: none; } }

/* =============================================================================
   Responsive
   ========================================================================== */
@media (max-width: 980px) {
	.gab-nav, .gab-header__cta .gab-phone { display: none; }
	.gab-burger { display: block; }
	.gab-split, .gab-contact { grid-template-columns: 1fr; }
	.gab-hero__grid { grid-template-columns: 1fr; }
	.gab-split--rev > *:first-child { order: initial; }
	.gab-split--rev { grid-template-columns: 1fr; }
	.gab-tiles, .gab-steps, .gab-trust__grid { grid-template-columns: repeat(2, 1fr); }
	.gab-editorial { grid-template-columns: 1fr; gap: clamp(24px, 3vw, 40px); }
	.gab-editorial__intro { position: static; }
	.gab-footer__grid { grid-template-columns: 1fr 1fr; }
	.gab-figure { max-width: 480px; margin-inline: auto; }
	/* Hero: Foto oben, Content unten, Meta bleibt horizontal 3-Spalten */
	.gab-hero__figure { order: -1; max-width: 460px; margin-inline: auto; max-height: 60svh; }
	.gab-hero__meta { grid-template-columns: repeat(3, 1fr); }

	.gab-nav.is-open {
		display: block; position: fixed; inset: 0; z-index: 90;
		background: var(--gab-bg); padding: 120px var(--gab-gutter) 40px;
	}
	.gab-nav.is-open ul { flex-direction: column; align-items: flex-start; gap: 0.4rem; }
	.gab-nav.is-open a { font-size: 1.6rem; font-family: var(--gab-serif); padding-block: 0.6rem; }
}

@media (max-width: 640px) {
	.gab-tiles, .gab-steps, .gab-trust__grid { grid-template-columns: 1fr; }
	.gab-form__row { grid-template-columns: 1fr; }
	.gab-footer__grid { grid-template-columns: 1fr; }
	.gab-hero__actions { flex-direction: column; align-items: stretch; }
	.gab-hero__actions .gab-btn { justify-content: center; }
	.gab-hero__meta { grid-template-columns: 1fr; }
	.gab-hero__meta-item { padding: 1rem 1.2rem; }
	.gab-hero__meta b { font-size: 1.7rem; }
	/* Header auf sehr schmalen Screens: nur Kurzform */
	.gab-brand__name { font-size: 1.05rem; }
	.gab-brand__suffix { font-size: 0.78rem; }
	/* Hero: engeres Padding */
	.gab-hero { padding-block: 110px 60px; min-height: 82svh; }
	.gab-hero__grid { gap: 32px; }
	/* Editorial-Liste: engere Abstände */
	.gab-services__item {
		gap: 0.9rem;
		padding-block: 0.9rem;
		grid-template-columns: 1.6rem 1fr;
	}
	.gab-services__num { font-size: 1rem; }
	.gab-services__body h3 { font-size: 1.1rem; }
	.gab-services__body p { font-size: 0.94rem; }
	/* Marquee: noch etwas kleiner + weniger Padding */
	.gab-marquee { padding-block: 18px; }
	.gab-marquee__item, .gab-marquee__sep { font-size: 1.05rem; }
	/* Sektions-Padding schmaler */
	.gab-section { padding-block: clamp(48px, 12vw, 80px); }
}

/* Kompakter Vorhang auf schmalen oder niedrigen Screens */
@media (max-width: 640px), (max-height: 720px) {
	.gab-neptune {
		width: clamp(90px, 22vw, 150px);
		margin-bottom: 1.2rem;
	}
	.gab-curtain__kicker { margin-bottom: 1rem; font-size: 1rem; }
	.gab-curtain__cue { margin-top: clamp(1.6rem, 5vh, 3rem); }
	.gab-curtain__brand { font-size: clamp(1.3rem, 5.5vw, 1.8rem); }
	.gab-curtain__suffix { font-size: clamp(0.95rem, 3.6vw, 1.15rem); }
}

/* =============================================================================
   Intro-Vorhang — dunkel, warme Champagner-Signatur
   ========================================================================== */
.gab-curtain { display: none; }
.js .gab-curtain {
	position: fixed; inset: 0; z-index: 1000;
	display: flex; align-items: center; justify-content: center;
	background:
		radial-gradient(80% 60% at 50% 42%, rgba(212, 175, 55, 0.06), transparent 70%),
		var(--gab-bg);
	transition: transform 1.05s cubic-bezier(.76,0,.24,1), opacity .6s ease .5s;
	will-change: transform;
	overflow: hidden;
}
.js body.gab-lock { overflow: hidden; }

.gab-curtain__inner {
	position: relative; z-index: 2;
	max-width: 720px;
	padding: 2rem;
	text-align: center;
	transition: transform 1.05s cubic-bezier(.76,0,.24,1), opacity .5s ease;
}
.gab-curtain__kicker {
	font-family: var(--gab-serif); font-style: italic;
	font-size: 1.15rem;
	color: var(--gab-champagne);
	margin-bottom: 1.4rem;
	display: block;
	opacity: 0; transform: translateY(12px);
	animation: gab-rise 1s ease .2s forwards;
	font-variation-settings: "SOFT" 100, "opsz" 20;
}
/* ---- Neptun-Silhouette im Vorhang: das Marken-Wahrzeichen ---- */
.gab-neptune {
	display: block;
	width: clamp(120px, 16vw, 200px);
	height: auto;
	margin: 0 auto 2rem;
	color: var(--gab-champagne);
	filter: drop-shadow(0 20px 40px rgba(212, 175, 55, 0.2));
}
.gab-neptune__fill {
	opacity: 0;
	animation: gab-neptune-in 1s cubic-bezier(.2,.7,.2,1) 1.2s forwards;
}
.gab-neptune__line {
	stroke-dasharray: 500;
	stroke-dashoffset: 500;
	animation: gab-neptune-draw 1.6s cubic-bezier(.4, 0, .2, 1) .5s forwards;
}
@keyframes gab-neptune-in {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: var(--n-opacity, 1); transform: none; }
}
@keyframes gab-neptune-draw {
	to { stroke-dashoffset: 0; }
}
.gab-curtain__brand {
	font-family: var(--gab-serif); font-weight: 400;
	font-size: clamp(1.4rem, 3.2vw, 2.2rem);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--gab-ink);
	display: block;
	opacity: 0; transform: translateY(20px);
	animation: gab-rise 1.1s cubic-bezier(.2,.7,.2,1) 2.5s forwards;
	font-variation-settings: "SOFT" 30, "opsz" 96;
}
.gab-curtain__suffix {
	display: block;
	font-family: var(--gab-serif); font-style: italic;
	font-size: clamp(1rem, 1.6vw, 1.3rem);
	color: var(--gab-champagne);
	margin-top: 0.8rem;
	opacity: 0;
	animation: gab-fade 1s ease 2.9s forwards;
	font-variation-settings: "SOFT" 100;
	letter-spacing: 0.02em;
}
@keyframes gab-fade { to { opacity: 1; } }

.gab-curtain__cue {
	margin-top: clamp(3rem, 8vh, 5rem);
	background: none; border: 0; cursor: pointer; color: var(--gab-ink-soft);
	display: flex; flex-direction: column; align-items: center; gap: 1rem;
	font-family: var(--gab-sans);
	opacity: 0; animation: gab-fade 1s ease 3.3s forwards;
	transition: color .3s ease;
}
.gab-curtain__cue:hover { color: var(--gab-champagne); }
.gab-curtain__hint {
	font-family: var(--gab-serif); font-style: italic;
	font-size: 1.05rem;
	font-variation-settings: "SOFT" 100;
}
.gab-curtain__arrow {
	width: 14px; height: 14px;
	border-right: 2px solid var(--gab-champagne);
	border-bottom: 2px solid var(--gab-champagne);
	transform: rotate(45deg);
	animation: gab-bob 2s ease-in-out infinite;
}
@keyframes gab-bob {
	0%, 100% { transform: rotate(45deg) translate(0, 0); opacity: .5; }
	50%      { transform: rotate(45deg) translate(4px, 4px); opacity: 1; }
}

.gab-curtain.is-open { transform: translateY(100%); opacity: 0; }
.gab-curtain.is-open .gab-curtain__inner { transform: translateY(-40px); opacity: 0; }

@media (prefers-reduced-motion: reduce) {
	.js .gab-curtain { transition: opacity .3s ease; }
	.gab-curtain__kicker, .gab-neptune, .gab-neptune__fill, .gab-neptune__line,
	.gab-curtain__brand, .gab-curtain__suffix,
	.gab-curtain__cue, .gab-curtain__arrow {
		animation: none !important; opacity: 1 !important; transform: none !important;
		stroke-dashoffset: 0 !important;
	}
	.gab-curtain.is-open { transform: none; opacity: 0; }
}

/* =============================================================================
   Laufband — typografischer Trenner zwischen Sektionen
   Kleiner, ruhiger. Basis-Speed + Scroll-Boost (via JS).
   ========================================================================== */
.gab-marquee {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-block: clamp(18px, 2.4vw, 30px);
	background: var(--gab-bg);
	border-top: 1px solid var(--gab-bg-panel);
	border-bottom: 1px solid var(--gab-bg-panel);
}
.gab-marquee__track {
	display: flex;
	align-items: center;
	gap: clamp(1.2rem, 2vw, 2rem);
	width: max-content;
	will-change: transform;
	animation: gab-marquee 60s linear infinite;
}
.gab-marquee__item {
	font-family: var(--gab-serif);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1rem, 1.6vw, 1.35rem);
	color: var(--gab-champagne);
	line-height: 1;
	letter-spacing: -0.015em;
	white-space: nowrap;
	font-variation-settings: "SOFT" 100, "opsz" 24;
}
.gab-marquee__sep {
	font-family: var(--gab-serif);
	font-size: clamp(1rem, 1.6vw, 1.35rem);
	color: var(--gab-champagne-deep);
	line-height: 1;
	font-style: normal;
}
@keyframes gab-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-25%); }
}
@media (prefers-reduced-motion: reduce) {
	.gab-marquee__track { animation: none; transform: none !important; }
}


/* =============================================================================
   Trauringe-Seite: Prozess mit editorial nummerierten Schritten + Bild rechts
   ========================================================================== */
.gab-tr-flow {
	display: grid;
	grid-template-columns: 1fr minmax(320px, 460px);
	gap: clamp(48px, 6vw, 96px);
	align-items: start;
}
.gab-tr-flow__figure {
	position: sticky;
	top: clamp(90px, 12vh, 140px);
	margin: 0;
	overflow: hidden;
	background: var(--gab-bg-panel);
	aspect-ratio: 4 / 5;
	box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(212, 175, 55, 0.08);
}
.gab-tr-flow__figure img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}

.gab-tr-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.gab-tr-steps__item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: clamp(1.4rem, 2.5vw, 2.4rem);
	padding-block: clamp(1.4rem, 2.4vw, 2.2rem);
	align-items: baseline;
	border-top: 1px solid rgba(212, 175, 55, 0.12);
}
.gab-tr-steps__item:first-child { border-top: 0; padding-top: 0; }
.gab-tr-steps__item:last-child { padding-bottom: 0; }
.gab-tr-steps__num {
	font-family: var(--gab-serif);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.4rem, 2vw, 1.9rem);
	color: var(--gab-champagne);
	line-height: 1;
	font-variation-settings: "SOFT" 100, "opsz" 32;
	min-width: 2.5ch;
	text-align: right;
}
.gab-tr-steps__body h3 {
	font-family: var(--gab-serif);
	font-size: clamp(1.3rem, 1.9vw, 1.7rem);
	letter-spacing: -0.015em;
	margin-bottom: 0.5rem;
	color: var(--gab-ink);
	line-height: 1.2;
}
.gab-tr-steps__body h3 em { color: var(--gab-champagne); font-style: italic; }
.gab-tr-steps__body p {
	color: var(--gab-ink-soft);
	font-size: 1rem;
	margin: 0;
	line-height: 1.6;
	max-width: 54ch;
}

@media (max-width: 980px) {
	.gab-tr-flow { grid-template-columns: 1fr; gap: clamp(32px, 5vw, 56px); }
	.gab-tr-flow__figure { position: static; max-width: 460px; margin-inline: auto; order: -1; }
}
@media (max-width: 640px) {
	.gab-tr-steps__item {
		gap: 1rem;
		padding-block: 1.2rem;
		grid-template-columns: 2rem 1fr;
	}
	.gab-tr-steps__num { font-size: 1.25rem; }
	.gab-tr-steps__body h3 { font-size: 1.2rem; }
	.gab-tr-steps__body p { font-size: 0.95rem; }
}

/* =============================================================================
   Bewertungen: editorial mit echten Zitat-Karten
   ========================================================================== */
.gab-reviews-editorial {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: clamp(40px, 5vw, 96px);
	align-items: start;
}
.gab-reviews-editorial__meta {
	position: sticky;
	top: clamp(90px, 12vh, 140px);
}
.gab-reviews-editorial__score {
	margin-top: 2rem;
	padding: 1.4rem 1.6rem;
	background: var(--gab-bg-panel);
}
.gab-reviews-editorial__score .gab-reviews__stars {
	color: var(--gab-champagne);
	font-size: 1.1rem;
	letter-spacing: 0.15em;
	margin-bottom: 0.4rem;
}
.gab-reviews-editorial__score .gab-reviews__score {
	font-family: var(--gab-serif);
	font-style: italic;
	font-size: 2.4rem;
	color: var(--gab-champagne);
	line-height: 1;
	font-variation-settings: "SOFT" 100, "opsz" 96;
}
.gab-reviews-editorial__score .gab-reviews__meta {
	font-size: 0.9rem;
	color: var(--gab-ink-soft);
	margin: 0.5rem 0 0;
}
.gab-reviews-editorial__quotes {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.gab-quote-card {
	margin: 0;
	padding: clamp(1.6rem, 2.5vw, 2.4rem);
	background: var(--gab-bg-panel);
	position: relative;
}
.gab-quote-card__stars {
	color: var(--gab-champagne);
	font-size: 0.95rem;
	letter-spacing: 0.15em;
	margin-bottom: 1rem;
}
.gab-quote-card blockquote {
	margin: 0 0 1rem;
	font-family: var(--gab-serif);
	font-size: clamp(1.05rem, 1.4vw, 1.25rem);
	line-height: 1.55;
	color: var(--gab-ink);
	font-variation-settings: "SOFT" 60, "opsz" 20;
}
.gab-quote-card figcaption {
	font-family: var(--gab-serif);
	font-style: italic;
	font-size: 0.92rem;
	color: var(--gab-ink-soft);
}
.gab-quote-card figcaption span {
	color: var(--gab-champagne);
}

@media (max-width: 980px) {
	.gab-reviews-editorial { grid-template-columns: 1fr; gap: clamp(24px, 3vw, 40px); }
	.gab-reviews-editorial__meta { position: static; }
}

/* =============================================================================
   Goldankauf-Alert Banner (immer oben, Gold auf Blau — hoher Kontrast)
   ========================================================================== */
.gab-alert {
	background: var(--gab-champagne);
	color: var(--gab-bg);
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 110;
	border-bottom: 1px solid var(--gab-champagne-deep);
}
.gab-alert__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(1rem, 3vw, 2rem);
	padding-block: 0.7rem;
	flex-wrap: wrap;
}
.gab-alert__text {
	font-family: var(--gab-serif);
	font-size: clamp(0.95rem, 1.3vw, 1.1rem);
	line-height: 1.3;
	color: var(--gab-bg);
	letter-spacing: -0.005em;
}
.gab-alert__text strong {
	font-weight: 500;
	font-style: italic;
	font-variation-settings: "SOFT" 100;
	letter-spacing: 0;
}
.gab-alert__sep {
	color: var(--gab-champagne-deep);
	margin-inline: 0.6em;
	font-weight: 400;
}
.gab-alert__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--gab-sans);
	font-weight: 500;
	font-size: 0.98rem;
	color: var(--gab-bg);
	background: transparent;
	padding: 0.35rem 0.85rem;
	border: 1.5px solid var(--gab-bg);
	transition: background 0.15s ease, color 0.15s ease;
	white-space: nowrap;
}
.gab-alert__cta:hover {
	background: var(--gab-bg);
	color: var(--gab-champagne);
}

/* Neptun-Signet im Header — kleines Marken-Icon links neben Wortmarke */
.gab-brand__mark {
	display: inline-flex;
	width: 34px;
	height: auto;
	color: var(--gab-champagne);
	margin-right: 0.85rem;
	align-items: center;
}
.gab-brand__mark .gab-neptune {
	width: 100%;
	height: auto;
	display: block;
	filter: none;
	margin: 0;
}
/* Im Header keine Animation vom Neptun (die spielt nur im Vorhang) */
.gab-brand__mark .gab-neptune__fill,
.gab-brand__mark .gab-neptune__line {
	opacity: 1 !important;
	animation: none !important;
	stroke-dashoffset: 0 !important;
}
.gab-brand {
	display: inline-flex;
	align-items: center;
}

/* Mobile: Alert bleibt sichtbar aber kompakter — 1 Zeile erzwingen */
@media (max-width: 720px) {
	.gab-alert__inner {
		padding-block: 0.5rem;
		gap: 0.6rem;
		flex-wrap: nowrap;
		align-items: center;
	}
	.gab-alert__text {
		font-size: 0.85rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		flex: 1 1 auto;
		min-width: 0;
	}
	/* Auf Mobile: nur der "Goldankauf zum Tageskurs" Teil, Rest weg */
	.gab-alert__text .gab-alert__sep,
	.gab-alert__text .gab-alert__opt { display: none; }
	.gab-alert__cta {
		font-size: 0.82rem;
		padding: 0.28rem 0.65rem;
		flex-shrink: 0;
	}
	.gab-brand__mark { width: 28px; margin-right: 0.55rem; }
}
@media (max-width: 480px) {
	.gab-alert__text { font-size: 0.78rem; }
	.gab-alert__cta { font-size: 0.78rem; padding: 0.25rem 0.55rem; }
}

@media (max-width: 720px) {
	.gab-header { inset: var(--gab-alert-h-mobile) 0 auto 0; }
}


/* =============================================================================
   Goldankauf-Panel — dezent editorial, dunkler Panel mit Gold-Akzent-Band
   ========================================================================== */
.gab-goldpanel {
	padding-block: clamp(48px, 6vw, 90px);
	background: var(--gab-bg);
	position: relative;
}
.gab-goldpanel__frame {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
	gap: 0;
	background: var(--gab-bg-panel);
	position: relative;
	overflow: hidden;
}
/* Vertikales Gold-Akzent-Band links — das Wappen-Element */
.gab-goldpanel__frame::before {
	content: '';
	position: absolute;
	inset: 0 auto 0 0;
	width: 6px;
	background: linear-gradient(180deg, var(--gab-champagne-hi), var(--gab-champagne) 50%, var(--gab-champagne-deep));
}
.gab-goldpanel__content {
	padding: clamp(2rem, 4vw, 3.5rem);
	padding-left: calc(clamp(2rem, 4vw, 3.5rem) + 6px);
}
.gab-goldpanel__eyebrow {
	color: var(--gab-champagne);
	margin-bottom: 1.2rem;
}
.gab-goldpanel__title {
	font-family: var(--gab-serif);
	font-size: clamp(1.9rem, 3.2vw, 2.8rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--gab-ink);
	margin: 0 0 1.3rem;
	font-variation-settings: "SOFT" 40, "opsz" 96;
}
.gab-goldpanel__title em {
	font-style: italic;
	color: var(--gab-champagne);
	font-variation-settings: "SOFT" 100, "opsz" 96;
}
.gab-goldpanel__lead {
	font-family: var(--gab-serif);
	font-size: clamp(1rem, 1.3vw, 1.15rem);
	line-height: 1.6;
	color: var(--gab-ink-soft);
	margin: 0;
	max-width: 58ch;
	font-variation-settings: "SOFT" 60, "opsz" 20;
}
/* Rechte Seite — Kontakt-Panel */
.gab-goldpanel__aside {
	padding: clamp(2rem, 4vw, 3.5rem);
	background: rgba(212, 175, 55, 0.06);
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-left: 1px solid rgba(212, 175, 55, 0.12);
}
.gab-goldpanel__phone-label {
	font-family: var(--gab-sans);
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--gab-ink-soft);
	margin-bottom: 0.7rem;
}
.gab-goldpanel__phone {
	font-family: var(--gab-serif);
	font-size: clamp(1.55rem, 2.3vw, 2rem);
	line-height: 1;
	color: var(--gab-champagne);
	letter-spacing: -0.01em;
	font-variation-settings: "SOFT" 40, "opsz" 96;
	margin-bottom: 1.2rem;
	transition: color 0.15s ease;
}
.gab-goldpanel__phone:hover { color: var(--gab-champagne-hi); }
.gab-goldpanel__link {
	font-family: var(--gab-serif);
	font-style: italic;
	font-size: 0.98rem;
	color: var(--gab-ink-soft);
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	transition: color 0.15s ease, gap 0.2s ease;
	font-variation-settings: "SOFT" 100;
}
.gab-goldpanel__link:hover {
	color: var(--gab-champagne);
	gap: 0.6rem;
}

@media (max-width: 900px) {
	.gab-goldpanel__frame { grid-template-columns: 1fr; }
	.gab-goldpanel__aside {
		border-left: 0;
		border-top: 1px solid rgba(212, 175, 55, 0.12);
	}
}

/* =============================================================================
   Hero-Chip: Goldankauf prominent hervorheben direkt im Hero
   ========================================================================== */
.gab-hero__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.9rem;
	padding: 0.85rem 1.4rem 0.85rem 1.1rem;
	background: linear-gradient(135deg, var(--gab-champagne) 0%, var(--gab-champagne-hi) 100%);
	color: var(--gab-bg);
	margin-bottom: 1.8rem;
	position: relative;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 8px 32px -8px rgba(212, 175, 55, 0.4), 0 0 0 1px rgba(212, 175, 55, 0.3);
	max-width: fit-content;
}
.gab-hero__chip:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 40px -8px rgba(212, 175, 55, 0.5), 0 0 0 1px rgba(212, 175, 55, 0.4);
}
.gab-hero__chip-dot {
	width: 10px;
	height: 10px;
	background: var(--gab-bg);
	border-radius: 50%;
	flex-shrink: 0;
	position: relative;
}
.gab-hero__chip-dot::before {
	content: '';
	position: absolute;
	inset: -4px;
	border-radius: 50%;
	background: var(--gab-bg);
	opacity: 0.25;
	animation: gab-pulse 2s ease-out infinite;
}
@keyframes gab-pulse {
	0%   { transform: scale(0.8); opacity: 0.5; }
	100% { transform: scale(2.2); opacity: 0; }
}
.gab-hero__chip-text {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	line-height: 1.15;
}
.gab-hero__chip-text strong {
	font-family: var(--gab-serif);
	font-weight: 500;
	font-style: italic;
	font-size: 1.05rem;
	color: var(--gab-bg);
	font-variation-settings: "SOFT" 100, "opsz" 32;
	letter-spacing: -0.01em;
}
.gab-hero__chip-sub {
	font-family: var(--gab-sans);
	font-size: 0.78rem;
	color: var(--gab-bg);
	opacity: 0.72;
	letter-spacing: 0.01em;
}
.gab-hero__chip-arrow {
	font-family: var(--gab-serif);
	font-size: 1.1rem;
	color: var(--gab-bg);
	transition: transform 0.2s ease;
}
.gab-hero__chip:hover .gab-hero__chip-arrow {
	transform: translateX(3px);
}

@media (max-width: 720px) {
	.gab-hero__chip { padding: 0.7rem 1.1rem 0.7rem 0.9rem; gap: 0.75rem; margin-bottom: 1.4rem; }
	.gab-hero__chip-text strong { font-size: 0.95rem; }
	.gab-hero__chip-sub { font-size: 0.72rem; }
	.gab-hero__chip-arrow { font-size: 1rem; }
}

/* Reviews: Link-Card zu Google */
.gab-quote-card--link {
	display: block;
	background: rgba(212, 175, 55, 0.06);
	border-left: 3px solid var(--gab-champagne);
	transition: background 0.2s ease, transform 0.2s ease;
	text-decoration: none;
}
.gab-quote-card--link:hover {
	background: rgba(212, 175, 55, 0.12);
	transform: translateX(2px);
}
.gab-quote-card--link blockquote {
	font-style: italic;
	color: var(--gab-champagne);
}
.gab-quote-card--link figcaption {
	color: var(--gab-ink-soft);
}
.gab-quote-card--link figcaption span:last-child {
	color: var(--gab-champagne);
	margin-left: 0.3em;
	transition: margin 0.2s ease;
}
.gab-quote-card--link:hover figcaption span:last-child {
	margin-left: 0.6em;
}

/* =============================================================================
   Prozess-Sektion: "So läuft der Goldankauf" — konkret, nicht generisch
   ========================================================================== */
.gab-process {
	padding-block: clamp(72px, 10vw, 130px);
	background: var(--gab-bg);
}
.gab-process__head {
	max-width: 640px;
	margin-bottom: clamp(48px, 6vw, 80px);
}
.gab-process__steps {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(24px, 3vw, 48px);
}
.gab-process__step {
	padding: clamp(1.8rem, 2.5vw, 2.5rem);
	background: var(--gab-bg-panel);
	position: relative;
	border-top: 3px solid var(--gab-champagne);
	transition: transform 0.25s ease, background 0.25s ease;
}
.gab-process__step:hover {
	transform: translateY(-4px);
	background: var(--gab-bg-panel-hi);
}
.gab-process__num {
	display: block;
	font-family: var(--gab-serif);
	font-style: italic;
	font-size: 2.6rem;
	line-height: 1;
	color: var(--gab-champagne);
	opacity: 0.5;
	font-variation-settings: "SOFT" 100, "opsz" 96;
	margin-bottom: 1.4rem;
	letter-spacing: -0.03em;
}
.gab-process__step h3 {
	font-family: var(--gab-serif);
	font-size: clamp(1.15rem, 1.5vw, 1.4rem);
	line-height: 1.25;
	color: var(--gab-ink);
	margin: 0 0 0.8rem;
	letter-spacing: -0.01em;
	font-variation-settings: "SOFT" 40, "opsz" 32;
}
.gab-process__step p {
	font-family: var(--gab-serif);
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--gab-ink-soft);
	margin: 0;
	font-variation-settings: "SOFT" 60, "opsz" 20;
}

@media (max-width: 900px) {
	.gab-process__steps { grid-template-columns: 1fr; gap: 1rem; }
	.gab-process__num { font-size: 2.2rem; margin-bottom: 1rem; }
}

/* =============================================================================
   Kollektions-Kategorien: große Editorial-Abschnitte
   ========================================================================== */
.gab-catlist {
	display: flex;
	flex-direction: column;
	gap: clamp(64px, 8vw, 120px);
}
.gab-cat {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
	scroll-margin-top: 120px;
}
.gab-cat--flip {
	direction: rtl;
}
.gab-cat--flip > * {
	direction: ltr;
}
.gab-cat__media {
	overflow: hidden;
	background: var(--gab-bg-panel);
}
.gab-cat__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(.2,.7,.2,1);
}
.gab-cat:hover .gab-cat__media img {
	transform: scale(1.03);
}
.gab-cat__body .gab-eyebrow {
	font-family: var(--gab-serif);
	font-style: italic;
	font-size: 1.2rem;
	color: var(--gab-champagne);
	text-transform: none;
	letter-spacing: -0.01em;
	opacity: 0.7;
	margin-bottom: 0.6rem;
}
.gab-cat__body h2 {
	margin-top: 0;
	margin-bottom: 1rem;
}
.gab-cat__body .gab-lead {
	color: var(--gab-ink);
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	margin: 0 0 1.4rem;
	font-style: italic;
	font-variation-settings: "SOFT" 100;
}
.gab-cat__body p:not(.gab-lead) {
	color: var(--gab-ink-soft);
	line-height: 1.65;
	margin: 0 0 1.6rem;
}
.gab-cat__facts {
	list-style: none;
	padding: 0;
	margin: 0 0 1.8rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.gab-cat__facts li {
	font-family: var(--gab-sans);
	font-size: 0.82rem;
	color: var(--gab-champagne);
	background: rgba(212, 175, 55, 0.08);
	padding: 0.35rem 0.75rem;
	border: 1px solid rgba(212, 175, 55, 0.2);
}
.gab-cat__ctas {
	display: flex;
	gap: 1.4rem;
	align-items: center;
	flex-wrap: wrap;
}
.gab-cat__link {
	font-family: var(--gab-serif);
	font-style: italic;
	color: var(--gab-champagne);
	transition: gap 0.2s ease;
	display: inline-flex;
	gap: 0.4rem;
	align-items: center;
}
.gab-cat__link:hover { gap: 0.7rem; }
.gab-btn--sm {
	padding: 0.55rem 1.1rem;
	font-size: 0.92rem;
}

@media (max-width: 900px) {
	.gab-cat { grid-template-columns: 1fr; gap: 1.5rem; }
	.gab-cat--flip { direction: ltr; }
	.gab-cat__body .gab-eyebrow { font-size: 1.1rem; }
}

/* =============================================================================
   Sparkles: dezente Gold-Punkte die pulsieren — für Erlebnis-Feeling
   ========================================================================== */
.gab-sparkles {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	color: var(--gab-champagne);
}
.gab-sparkles__svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0.85;
}
@keyframes gab-twinkle {
	0%, 100% { opacity: 0; transform: scale(0.6); }
	50%      { opacity: 1; transform: scale(1.2); }
}
@media (prefers-reduced-motion: reduce) {
	.gab-sparkles__svg circle { animation: none !important; opacity: 0.35 !important; }
}

/* Vorhang deckt Sparkles ab beim Start */
#gab-curtain { z-index: 200; }

/* Auf hellen/goldenen Flächen sollen die Sparkles nicht stören:
   der Goldpanel-Kasten überdeckt sie ohnehin da er solid background hat */

/* Sparkles PRO Section — im Hintergrund, unter Content, über Section-BG */
section.has-sparkles,
article.has-sparkles,
.has-sparkles {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.gab-section-sparkles {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	color: var(--gab-champagne);
	overflow: hidden;
}
.gab-section-sparkles .gab-sparkles__svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0.65;
}
/* Content der Section muss ÜBER den Sparkles liegen */
.has-sparkles > *:not(.gab-section-sparkles) {
	position: relative;
	z-index: 1;
}

/* Neptune als Bild (statt SVG) — Header & Vorhang */
img.gab-neptune {
	display: block;
	width: clamp(200px, 22vw, 320px);
	height: auto;
	object-fit: contain;
	margin: 0 auto 2rem;
	filter: drop-shadow(0 20px 40px rgba(212, 175, 55, 0.2));
	opacity: 0;
	animation: gab-neptune-img-in 1.2s cubic-bezier(.2,.7,.2,1) 0.6s forwards;
}
@keyframes gab-neptune-img-in {
	from { opacity: 0; transform: translateY(12px) scale(0.96); }
	to   { opacity: 1; transform: none; }
}
/* Im Header (klein, Wortmarke): kompakter, keine Animation-Delay */
.gab-brand__mark img.gab-neptune {
	width: 54px;
	height: auto;
	margin: 0 0.85rem 0 0;
	filter: none;
	opacity: 1;
	animation: none;
}
@media (prefers-reduced-motion: reduce) {
	img.gab-neptune { opacity: 1 !important; animation: none !important; }
}


/* 3.9.14: Sicherung gegen alte Intro-Vorhang-Einstellungen */
#gab-curtain, .js #gab-curtain { display: none !important; }
html.js body.gab-lock { overflow: auto !important; }

/* v3.9.15 — zuverlässige mobile Hauptnavigation */
@media (max-width: 980px) {
  .gab-header__inner { gap: .75rem; }
  .gab-brand { min-width: 0; max-width: calc(100% - 60px); }
  .gab-brand__text { min-width: 0; }
  .gab-brand__name { overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
  .gab-header__cta { flex-shrink: 0; margin-left: auto; position: relative; z-index: 120; }
  .gab-burger { display: flex !important; flex: 0 0 44px; z-index: 121; align-items: center; justify-content: center; border: 1px solid rgba(212,175,55,.45); border-radius: 6px; background: rgba(15,26,51,.95); }
  .gab-burger span { background: var(--gab-champagne); }
  .gab-nav { display: none; }
  .gab-nav.is-open { display: block; position: fixed; inset: 0; z-index: 110; overflow-y: auto; padding: max(112px, calc(env(safe-area-inset-top) + 100px)) 24px 40px; background: #0f1a33; }
  .gab-nav.is-open ul { display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; }
  .gab-nav.is-open a { display: block; padding: .6rem 0; }
}

/* Service: Goldankauf-Motiv vollständig anzeigen, ohne Text abzuschneiden. */
.gab-figure__img--service-gold { aspect-ratio: 1122 / 1402; }
.gab-figure__img--service-gold img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* v3.9.17: kontrastreiche, fingerfreundliche mobile Navigation */
.gab-mobile-nav__cta { display: none; }
@media (max-width: 980px) {
  .gab-header, .gab-header.is-scrolled { background: #14213d; padding-block: .65rem; box-shadow: 0 1px 0 rgba(212,175,55,.25); }
  .gab-header__inner { gap: 10px; }
  .gab-header__cta { gap: 0; }
  .gab-header__cta > .gab-btn, .gab-header__cta > .gab-phone { display: none !important; }
  .gab-brand { max-width: calc(100% - 66px); gap: .4rem; }
  .gab-brand__name { font-size: clamp(.87rem,3.8vw,1.12rem); line-height: 1.2; }
  .gab-brand__suffix { font-size: .72rem; }
  .gab-burger { display: flex !important; width: 48px; height: 48px; min-width: 48px; flex: 0 0 48px; background: #d6b34a !important; border: 2px solid #e8cd79 !important; border-radius: 9px !important; box-shadow: 0 3px 12px rgba(0,0,0,.18); }
  .gab-burger span { background: #14213d !important; left: 12px; right: 12px; }
  .gab-burger:focus-visible, .gab-nav a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
  .gab-nav.is-open { inset: 0 !important; padding: calc(94px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom)) !important; background: #14213d !important; overscroll-behavior: contain; }
  .gab-nav.is-open ul { width: 100%; flex-direction: column; align-items: stretch; gap: 0 !important; margin: 0; }
  .gab-nav.is-open li { width: 100%; border-bottom: 1px solid rgba(255,255,255,.12); }
  .gab-nav.is-open li a { font-family: var(--gab-sans, sans-serif); color: #f5ead6; font-size: 1.04rem; font-weight: 500; display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 12px 10px; white-space: normal; line-height: 1.35; }
  .gab-nav.is-open li a:after { content: '›'; position: static; display: inline-block; width: auto; height: auto; background: none; color: #d6b34a; font-size: 1.45rem; margin-left: 12px; }
  .gab-nav.is-open li a[href*="goldankauf"] { color: #e8c66f; font-weight: 700; background: rgba(214,179,74,.12); border-radius: 6px; }
  .gab-nav.is-open .gab-mobile-nav__cta { margin-top: 22px; display: flex; justify-content: center; align-items: center; gap: 12px; min-height: 52px; background: #d6b34a; border-radius: 8px; padding: 12px; font-size: 1rem; font-weight: 700; color: #14213d; }
  .gab-nav.is-open .gab-mobile-nav__cta:hover { background: #ebcc77; }
  .gab-figure__img--service-schmuck { aspect-ratio: 4 / 5; }
  .gab-figure__img--service-schmuck img { height: 100%; width: 100%; object-fit: cover; display: block; }
}
.gab-figure__img--service-schmuck { aspect-ratio: 4 / 5; }
.gab-figure__img--service-schmuck img { width: 100%; height: 100%; object-fit: cover; display: block; }
