/* ====================================================================
   RheinKompass Theme — Public CSS v4.0.0
   ====================================================================
   STRUCTURE:
     1. CSS Custom Properties (design tokens)
     2. Modern Reset
     3. Base Elements (typography, links, forms)
     4. Layout Utilities (containers, grid)
     5. A11y Utilities (skip-link, visually-hidden, focus)
     6. Motion Utilities (data-reveal, prefers-reduced-motion)
     7. Common Components (eyebrow, btn, arrow-link, badges)
     8. Header (sticky + shrink — full styles in B.4)
     9. Footer (4-column grid)
     10. Page Templates (page-hero, archive, 404, search)
     11. Selection + Scrollbar
     12. @font-face (self-hosted Cormorant Garamond)
     13. === COMPONENTS BELOW === — placeholder für B.4–B.10

   Components (hero, card, persona, vision, cta, form, cookie) sind separat,
   werden in B.4–B.10 inkrementell appended.
   ==================================================================== */


/* ================================================================
   1. DESIGN TOKENS — :root custom properties
   ================================================================ */
:root {
	/* ---- Brand Colors ---- */
	--blue:        #1B3A5F;
	--blue-2:      #2c5283;
	--blue-3:      #0f2540;
	--blue-50:     #f2f5f9;
	--blue-100:    #d9e0ec;
	--blue-200:    #aebcd0;

	--gold:        #E8B86A;
	--gold-2:      #d4a554;
	--gold-50:     #fdf7eb;
	--gold-100:    #f9ead0;

	--sand:        #FAF6EC;
	--sand-2:      #f5edd9;

	/* ---- Functional ---- */
	--ink:         #1a1a1a;
	--ink-soft:    #4a4a4a;
	--muted:       #6b6b6b;
	--line:        #ededed;
	--line-soft:   #f4f4f4;
	--white:       #ffffff;
	--black:       #000000;

	/* ---- Status ---- */
	--success:     #5a8a3b;
	--success-bg:  #f1f7ec;
	--warning:     #c89849;
	--warning-bg:  #fdf6e7;
	--danger:      #A32D2D;
	--danger-bg:   #fbecec;
	--info:        #2c5283;
	--info-bg:     #eff3f9;

	/* ---- Overlays ---- */
	--overlay-dark: rgba(15, 37, 64, 0.55);
	--overlay-soft: rgba(15, 37, 64, 0.25);
	--overlay-blur: rgba(255, 255, 255, 0.85);

	/* ---- Typography ---- */
	--ff-serif:    'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--ff-sans:     -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	--ff-mono:     ui-monospace, 'SF Mono', 'Cascadia Code', Consolas, monospace;

	/* Fluid type scale — clamp(min, fluid, max) */
	--t-xs:        clamp(0.75rem,  0.7rem  + 0.2vw, 0.825rem);
	--t-sm:        clamp(0.875rem, 0.82rem + 0.25vw, 0.95rem);
	--t-base:      clamp(1rem,     0.95rem + 0.25vw, 1.0625rem);
	--t-lg:        clamp(1.125rem, 1.05rem + 0.4vw,  1.25rem);
	--t-xl:        clamp(1.25rem,  1.15rem + 0.5vw,  1.5rem);
	--t-2xl:       clamp(1.5rem,   1.3rem  + 1vw,    1.875rem);
	--t-3xl:       clamp(1.875rem, 1.6rem  + 1.5vw,  2.5rem);
	--t-4xl:       clamp(2.25rem,  1.9rem  + 2vw,    3.25rem);
	--t-5xl:       clamp(2.75rem,  2.2rem  + 3vw,    4.5rem);
	--t-6xl:       clamp(3.5rem,   2.5rem  + 5vw,    6rem);

	--lh-tight:    1.1;
	--lh-snug:     1.25;
	--lh-normal:   1.5;
	--lh-relaxed:  1.65;

	--ls-tight:    -0.02em;
	--ls-snug:     -0.01em;
	--ls-normal:   0;
	--ls-wide:     0.05em;
	--ls-wider:    0.12em;

	--fw-regular:  400;
	--fw-medium:   500;
	--fw-semibold: 600;
	--fw-bold:     700;

	/* ---- Spacing scale (4px base) ---- */
	--s-0:   0;
	--s-1:   0.25rem;
	--s-2:   0.5rem;
	--s-3:   0.75rem;
	--s-4:   1rem;
	--s-5:   1.25rem;
	--s-6:   1.5rem;
	--s-8:   2rem;
	--s-10:  2.5rem;
	--s-12:  3rem;
	--s-16:  4rem;
	--s-20:  5rem;
	--s-24:  6rem;
	--s-32:  8rem;
	--s-40:  10rem;
	--s-48:  12rem;

	/* Section padding (fluid) */
	--s-section: clamp(3rem, 8vw, 8rem);
	--s-section-lg: clamp(5rem, 12vw, 10rem);

	/* ---- Radius ---- */
	--r-sm:    6px;
	--r:       10px;
	--r-md:    14px;
	--r-lg:    20px;
	--r-xl:    28px;
	--r-pill:  999px;
	--r-card:  16px;
	--r-input: 10px;
	--r-image: 12px;

	/* ---- Shadows (BLUE-TINTED — premium signature) ---- */
	--sh-xs:   0 1px 2px rgba(15, 37, 64, 0.06);
	--sh-sm:   0 1px 3px rgba(15, 37, 64, 0.08), 0 1px 2px rgba(15, 37, 64, 0.04);
	--sh-md:   0 4px 12px rgba(15, 37, 64, 0.08), 0 2px 4px rgba(15, 37, 64, 0.04);
	--sh-lg:   0 20px 40px rgba(15, 37, 64, 0.10), 0 8px 16px rgba(15, 37, 64, 0.06);
	--sh-xl:   0 35px 70px rgba(15, 37, 64, 0.14), 0 15px 30px rgba(15, 37, 64, 0.08);
	--sh-2xl:  0 50px 100px rgba(15, 37, 64, 0.18), 0 25px 50px rgba(15, 37, 64, 0.10);
	--sh-gold: 0 8px 24px rgba(232, 184, 106, 0.35);
	--sh-blue: 0 8px 24px rgba(27, 58, 95, 0.35);
	--sh-inset: inset 0 1px 0 rgba(255, 255, 255, 0.1);
	--sh-focus: 0 0 0 3px var(--blue-50), 0 0 0 4px var(--gold);

	/* ---- Easing (cubic-bezier — no generic 'ease') ---- */
	--ease-out:        cubic-bezier(0.16, 1, 0.3, 1);
	--ease-out-soft:   cubic-bezier(0.32, 0.72, 0, 1);
	--ease-in-out:     cubic-bezier(0.65, 0, 0.35, 1);
	--ease-spring:     cubic-bezier(0.34, 1.56, 0.64, 1);
	--ease-anticipate: cubic-bezier(0.68, -0.55, 0.265, 1.55);

	/* ---- Duration ---- */
	--t-instant:    100ms;
	--t-fast:       180ms;
	--t-base:       250ms;
	--t-slow:       400ms;
	--t-slower:     600ms;
	--t-deliberate: 900ms;

	/* ---- Layout widths ---- */
	--w-narrow:   720px;
	--w-prose:    65ch;
	--w-content:  820px;
	--w-wide:     1280px;
	--w-x-wide:   1440px;

	/* ---- Z-Index scale ---- */
	--z-base:     0;
	--z-header:   100;
	--z-drawer:   200;
	--z-modal:    900;
	--z-cookie:   9000;
	--z-toast:    9500;
	--z-tooltip:  9990;
	--z-preload:  9999;
}


/* ================================================================
   2. MODERN RESET
   ================================================================ */
*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 80px;
	-webkit-text-size-adjust: 100%;
	tab-size: 4;
}

body {
	font-family: var(--ff-sans);
	font-size: var(--t-base);
	line-height: var(--lh-relaxed);
	color: var(--ink);
	background: var(--white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1;
	font-optical-sizing: auto;
	text-rendering: optimizeLegibility;
	min-height: 100vh;
	overflow-x: hidden;
}

img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
	font-style: italic; /* alt-text fallback styling */
	background-repeat: no-repeat;
	background-size: cover;
	shape-margin: 0.75rem;
}

button {
	font: inherit;
	background: transparent;
	border: none;
	cursor: pointer;
	color: inherit;
}

input, button, textarea, select {
	font: inherit;
	color: inherit;
}

a {
	color: inherit;
	text-decoration: none;
}

ul, ol {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

hr {
	border: none;
	border-top: 1px solid var(--line);
	margin: var(--s-8) 0;
}


/* ================================================================
   3. BASE TYPOGRAPHY
   ================================================================ */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--ff-serif);
	font-weight: var(--fw-semibold);
	color: var(--blue);
	line-height: var(--lh-tight);
	letter-spacing: var(--ls-tight);
	font-feature-settings: 'kern' 1, 'liga' 1, 'dlig' 1, 'ss01' 1;
	margin-bottom: 0.5em;
}

h1 { font-size: var(--t-5xl); }
h2 { font-size: var(--t-4xl); line-height: var(--lh-snug); }
h3 { font-size: var(--t-2xl); line-height: var(--lh-snug); letter-spacing: var(--ls-snug); }
h4 {
	font-family: var(--ff-sans);
	font-size: var(--t-xl);
	line-height: var(--lh-snug);
	letter-spacing: var(--ls-normal);
}
h5 { font-size: var(--t-lg); }
h6 { font-size: var(--t-base); }

p {
	color: var(--ink-soft);
	margin-bottom: 1em;
	max-width: var(--w-prose);
}
p:last-child { margin-bottom: 0; }

strong { font-weight: var(--fw-semibold); color: var(--ink); }
em { font-style: italic; }
mark { background: var(--gold-50); color: var(--ink); padding: 0 0.2em; }

small { font-size: var(--t-xs); }

blockquote {
	font-family: var(--ff-serif);
	font-size: var(--t-2xl);
	line-height: var(--lh-snug);
	color: var(--blue);
	border-left: 3px solid var(--gold);
	padding-left: var(--s-6);
	margin: var(--s-8) 0;
	max-width: var(--w-prose);
}

code, kbd, samp, pre {
	font-family: var(--ff-mono);
	font-size: 0.9em;
}

code {
	background: var(--blue-50);
	color: var(--blue);
	padding: 0.1em 0.4em;
	border-radius: var(--r-sm);
}

pre {
	background: var(--blue-50);
	color: var(--blue-3);
	padding: var(--s-4) var(--s-6);
	border-radius: var(--r);
	overflow-x: auto;
	line-height: 1.6;
}
pre code { background: transparent; padding: 0; }

a:not([class]) {
	color: var(--gold-2);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
	transition: color var(--t-fast) var(--ease-out);
}
a:not([class]):hover {
	color: var(--blue);
	text-decoration-thickness: 2px;
}


/* ================================================================
   4. LAYOUT UTILITIES
   ================================================================ */
.container {
	max-width: var(--w-wide);
	margin-inline: auto;
	padding-inline: clamp(1rem, 4vw, 2rem);
}
.container-wide {
	max-width: var(--w-x-wide);
	margin-inline: auto;
	padding-inline: clamp(1rem, 4vw, 2rem);
}
.container-narrow {
	max-width: var(--w-narrow);
	margin-inline: auto;
	padding-inline: clamp(1rem, 4vw, 2rem);
}
.container-prose {
	max-width: var(--w-prose);
	margin-inline: auto;
	padding-inline: clamp(1rem, 4vw, 2rem);
}


/* ================================================================
   5. A11Y UTILITIES
   ================================================================ */
.visually-hidden,
.screen-reader-text,
.sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute;
	top: -100px;
	left: var(--s-2);
	padding: var(--s-2) var(--s-4);
	background: var(--blue-3);
	color: var(--white);
	font-weight: var(--fw-medium);
	border-radius: var(--r-sm);
	z-index: var(--z-tooltip);
	text-decoration: none;
	transition: top var(--t-base) var(--ease-out);
}
.skip-link:focus {
	top: var(--s-2);
	outline: 2px solid var(--gold);
	outline-offset: 2px;
}

:focus-visible {
	outline: 2px solid var(--gold);
	outline-offset: 3px;
	border-radius: 2px;
}
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
	outline: 2px solid var(--gold);
	outline-offset: 3px;
}

/* No-outline if mouse-only (better UX, focus-visible still works) */
*:focus:not(:focus-visible) { outline: none; }


/* ================================================================
   6. MOTION UTILITIES — data-reveal pattern
   ================================================================ */
[data-reveal] {
	opacity: 0;
	transform: translateY(24px);
	transition:
		opacity var(--t-slower) var(--ease-out),
		transform var(--t-slower) var(--ease-out);
	will-change: opacity, transform;
}
[data-reveal].is-revealed {
	opacity: 1;
	transform: translateY(0);
}

[data-reveal-stagger] > * {
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity var(--t-slow) var(--ease-out),
		transform var(--t-slow) var(--ease-out);
}
[data-reveal-stagger].is-revealed > *:nth-child(1) { transition-delay:   0ms; }
[data-reveal-stagger].is-revealed > *:nth-child(2) { transition-delay:  80ms; }
[data-reveal-stagger].is-revealed > *:nth-child(3) { transition-delay: 160ms; }
[data-reveal-stagger].is-revealed > *:nth-child(4) { transition-delay: 240ms; }
[data-reveal-stagger].is-revealed > *:nth-child(5) { transition-delay: 320ms; }
[data-reveal-stagger].is-revealed > *:nth-child(6) { transition-delay: 400ms; }
[data-reveal-stagger].is-revealed > * {
	opacity: 1;
	transform: translateY(0);
}

/* prefers-reduced-motion — kill all animations */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	[data-reveal], [data-reveal-stagger] > * {
		opacity: 1 !important;
		transform: none !important;
	}
}


/* ================================================================
   7. COMMON COMPONENTS — eyebrow, btn, arrow-link, badge
   ================================================================ */

/* Eyebrow — pequeño etiqueta sobre H2 */
.rk-eyebrow, .eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--s-3);
	font-family: var(--ff-sans);
	font-size: var(--t-xs);
	font-weight: var(--fw-semibold);
	text-transform: uppercase;
	letter-spacing: var(--ls-wider);
	color: var(--gold-2);
	line-height: 1;
	margin-bottom: var(--s-4);
}
.rk-eyebrow::before, .eyebrow::before {
	content: '';
	display: inline-block;
	width: 32px;
	height: 2px;
	background: currentColor;
}

/* Buttons */
.rk-btn, .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--s-2);
	padding: var(--s-3) var(--s-6);
	min-height: 44px;
	border-radius: var(--r-pill);
	background: var(--blue);
	color: var(--white);
	font-family: var(--ff-sans);
	font-size: var(--t-base);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-snug);
	text-decoration: none;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	transition:
		background var(--t-fast) var(--ease-out),
		transform var(--t-fast) var(--ease-out),
		box-shadow var(--t-base) var(--ease-out);
}
.rk-btn:hover, .wp-block-button__link:hover {
	background: var(--blue-3);
	transform: translateY(-1px);
	box-shadow: var(--sh-blue);
	color: var(--white);
}
.rk-btn:active, .wp-block-button__link:active {
	transform: translateY(0);
	box-shadow: var(--sh-sm);
}
.rk-btn:disabled, .rk-btn[aria-disabled="true"] {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}

/* Button variants */
.rk-btn--gold {
	background: var(--gold);
	color: var(--blue-3);
}
.rk-btn--gold:hover {
	background: var(--white);
	color: var(--blue-3);
	box-shadow: var(--sh-gold);
}
.rk-btn--outline {
	background: transparent;
	border: 1.5px solid rgba(255, 255, 255, 0.4);
	color: var(--white);
}
.rk-btn--outline:hover {
	background: var(--white);
	color: var(--blue-3);
	border-color: var(--white);
}
.rk-btn--ghost {
	background: transparent;
	color: var(--blue);
}
.rk-btn--ghost:hover {
	background: var(--blue-50);
	color: var(--blue-3);
}

/* Arrow link */
.rk-arrow-link {
	display: inline-flex;
	align-items: center;
	gap: var(--s-2);
	color: var(--gold-2);
	font-weight: var(--fw-semibold);
	font-size: var(--t-base);
	letter-spacing: var(--ls-snug);
	text-decoration: none;
	transition: color var(--t-fast) var(--ease-out);
}
.rk-arrow-link:hover {
	color: var(--blue);
}
.rk-arrow-link span[aria-hidden="true"],
.rk-arrow-link svg {
	display: inline-block;
	transition: transform var(--t-fast) var(--ease-out);
}
.rk-arrow-link:hover span[aria-hidden="true"],
.rk-arrow-link:hover svg {
	transform: translateX(4px);
}

/* Section spacing */
.rk-section {
	padding-block: var(--s-section);
}
.rk-section--lg {
	padding-block: var(--s-section-lg);
}
.rk-section--sand {
	background: var(--sand);
}
.rk-section--dark {
	background: var(--blue-3);
	color: var(--white);
}
.rk-section--dark h1,
.rk-section--dark h2,
.rk-section--dark h3,
.rk-section--dark h4 {
	color: var(--white);
}
.rk-section--dark p {
	color: rgba(255, 255, 255, 0.85);
}
.rk-section--dark .rk-eyebrow {
	color: var(--gold);
}

/* Section header (eyebrow + h2 + lede) */
.rk-section-header {
	text-align: center;
	max-width: 720px;
	margin-inline: auto;
	margin-bottom: var(--s-16);
}
.rk-section-header .rk-eyebrow {
	justify-content: center;
	margin-bottom: var(--s-4);
}
.rk-section-header h2 {
	margin-bottom: var(--s-4);
}
.rk-section-header p {
	font-size: var(--t-lg);
	color: var(--ink-soft);
	line-height: var(--lh-relaxed);
	margin-inline: auto;
}


/* ================================================================
   8. HEADER — sticky base (full styles in B.4)
   ================================================================ */
.rk-header {
	position: sticky;
	top: 0;
	z-index: var(--z-header);
	background: transparent;
	transition:
		background var(--t-base) var(--ease-out),
		padding var(--t-base) var(--ease-out),
		box-shadow var(--t-base) var(--ease-out);
	padding-block: var(--s-5);
}
.rk-header.is-scrolled {
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	padding-block: var(--s-3);
	box-shadow: var(--sh-sm);
}
.rk-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--s-6);
}
.rk-logo {
	font-family: var(--ff-serif);
	font-size: var(--t-xl);
	font-weight: var(--fw-bold);
	color: var(--white);
	letter-spacing: var(--ls-tight);
	text-decoration: none;
	transition: color var(--t-base) var(--ease-out);
}
.rk-header.is-scrolled .rk-logo,
.rk-header.is-scrolled .rk-nav a {
	color: var(--blue);
}
.rk-nav-list {
	display: none;
	gap: var(--s-8);
	align-items: center;
}
.rk-nav-list a {
	color: var(--white);
	font-weight: var(--fw-medium);
	transition: color var(--t-fast) var(--ease-out);
}
.rk-nav-list a:hover { color: var(--gold); }
.rk-nav-list .current-menu-item a,
.rk-nav-list a[aria-current="page"] { color: var(--gold); }

.rk-nav-cta {
	display: inline-flex;
	align-items: center;
	gap: var(--s-2);
	padding: var(--s-3) var(--s-6);
	border-radius: var(--r-pill);
	background: var(--gold);
	color: var(--blue-3);
	font-weight: var(--fw-semibold);
	font-size: var(--t-sm);
	min-height: 40px;
	transition:
		background var(--t-fast) var(--ease-out),
		transform var(--t-fast) var(--ease-out),
		box-shadow var(--t-base) var(--ease-out);
}
.rk-nav-cta:hover {
	background: var(--white);
	transform: translateY(-1px);
	box-shadow: var(--sh-gold);
}

.rk-nav-toggle {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 10px;
	background: transparent;
	cursor: pointer;
}
.rk-nav-toggle__line {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--white);
	border-radius: 1px;
	transition: all var(--t-base) var(--ease-out);
}
.rk-header.is-scrolled .rk-nav-toggle__line { background: var(--blue); }

@media (min-width: 1024px) {
	.rk-nav-list { display: flex; }
	.rk-nav-toggle { display: none; }
}

/* Mobile drawer */
@media (max-width: 1023px) {
	.rk-nav {
		position: fixed;
		inset: 0 0 0 30%;
		background: var(--blue-3);
		transform: translateX(100%);
		transition: transform var(--t-slow) var(--ease-out);
		z-index: var(--z-drawer);
		padding: var(--s-20) var(--s-6) var(--s-6);
		overflow-y: auto;
	}
	body.rk-nav-open .rk-nav {
		transform: translateX(0);
	}
	.rk-nav-list {
		display: flex;
		flex-direction: column;
		gap: var(--s-4);
		align-items: flex-start;
	}
	.rk-nav-list a {
		font-size: var(--t-xl);
		color: var(--white);
	}
	.rk-nav-cta {
		display: none;
	}
}

/* Intranet app-header (basic — full in B.11) */
.rk-app-header {
	background: var(--blue-3);
	color: var(--white);
	padding: var(--s-3) var(--s-6);
	position: sticky;
	top: 0;
	z-index: var(--z-header);
}
.rk-app-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: var(--w-wide);
	margin-inline: auto;
}
.rk-app-logo {
	display: inline-flex;
	align-items: center;
	gap: var(--s-3);
	color: var(--white);
}
.rk-app-logo__mark {
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--gold);
	color: var(--blue-3);
	font-family: var(--ff-serif);
	font-weight: var(--fw-bold);
	border-radius: var(--r);
}
.rk-app-logo__text {
	font-family: var(--ff-serif);
	font-size: var(--t-lg);
	font-weight: var(--fw-semibold);
}
.rk-app-user { display: inline-flex; align-items: center; gap: var(--s-4); font-size: var(--t-sm); }
.rk-app-logout { color: var(--gold); font-weight: var(--fw-medium); }
.rk-app-logout:hover { color: var(--white); }


/* ================================================================
   9. FOOTER — 4-column grid
   ================================================================ */
.rk-footer {
	background: var(--blue-3);
	color: rgba(255, 255, 255, 0.7);
	padding: var(--s-20) 0 var(--s-8);
	margin-top: var(--s-24);
}
.rk-footer-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: var(--s-12);
	padding-bottom: var(--s-14, 3.5rem);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.rk-footer-col--brand {
	max-width: 360px;
}
.rk-footer-logo {
	display: inline-block;
	font-family: var(--ff-serif);
	font-size: var(--t-2xl);
	font-weight: var(--fw-bold);
	color: var(--white);
	margin-bottom: var(--s-3);
	text-decoration: none;
}
.rk-footer-tagline {
	color: rgba(255, 255, 255, 0.55);
	font-size: var(--t-sm);
	margin-bottom: var(--s-5);
	max-width: none;
}
.rk-footer-address {
	font-size: var(--t-sm);
	line-height: var(--lh-relaxed);
	color: rgba(255, 255, 255, 0.7);
}
.rk-footer h4 {
	color: var(--white);
	font-family: var(--ff-sans);
	font-size: var(--t-xs);
	font-weight: var(--fw-semibold);
	text-transform: uppercase;
	letter-spacing: var(--ls-wider);
	margin-bottom: var(--s-5);
}
.rk-footer-nav,
.rk-footer-contact,
.rk-footer-social {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--s-2);
}
.rk-footer a {
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--t-sm);
	text-decoration: none;
	transition: color var(--t-fast) var(--ease-out);
}
.rk-footer a:hover { color: var(--gold); }
.rk-footer-hours {
	color: rgba(255, 255, 255, 0.55);
	font-size: var(--t-xs);
	margin-top: var(--s-2);
	line-height: var(--lh-relaxed);
}
.rk-footer-team-link {
	display: inline-block;
	margin-top: var(--s-5);
	color: var(--gold) !important;
	font-weight: var(--fw-semibold);
}
.rk-footer-bottom {
	padding-top: var(--s-6);
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--s-4);
	font-size: var(--t-xs);
	color: rgba(255, 255, 255, 0.45);
}
.rk-footer-legal-links {
	display: flex;
	gap: var(--s-6);
	flex-wrap: wrap;
}
.rk-cookie-open-link {
	background: transparent;
	border: none;
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--t-xs);
	cursor: pointer;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.rk-cookie-open-link:hover { color: var(--gold); }

@media (max-width: 1023px) {
	.rk-footer-grid { grid-template-columns: 1fr 1fr; }
	.rk-footer-col--brand { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 600px) {
	.rk-footer-grid { grid-template-columns: 1fr; gap: var(--s-8); }
	.rk-footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* Intranet footer (minimal) */
.rk-app-footer {
	padding: var(--s-6);
	border-top: 1px solid var(--line);
	text-align: center;
	color: var(--muted);
	font-size: var(--t-xs);
}


/* ================================================================
   10. PAGE TEMPLATES — page-hero, archive, 404, search
   ================================================================ */

/* Page Hero — Section header on inner pages */
.rk-page-hero {
	background: var(--sand);
	padding: var(--s-section) 0 var(--s-12);
}
.rk-page-title {
	font-size: var(--t-4xl);
	max-width: 18ch;
	margin-bottom: 0;
}
.rk-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s-2);
	font-size: var(--t-sm);
	color: var(--muted);
	margin-bottom: var(--s-5);
}
.rk-breadcrumb a {
	color: var(--muted);
	text-decoration: none;
	transition: color var(--t-fast) var(--ease-out);
}
.rk-breadcrumb a:hover { color: var(--blue); }
.rk-breadcrumb .sep { color: var(--line); }
.rk-breadcrumb [aria-current="page"] { color: var(--ink); font-weight: var(--fw-medium); }

.rk-page-body {
	padding: var(--s-section) 0;
}
.rk-page-body > .wp-block-cover,
.rk-page-body > .wp-block-image,
.rk-page-body > .wp-block-columns {
	margin-bottom: var(--s-8);
}

/* Archive listing */
.rk-archive-header {
	padding: var(--s-section) 0 var(--s-8);
	border-bottom: 1px solid var(--line);
	margin-bottom: var(--s-12);
}
.rk-archive-title {
	margin-bottom: var(--s-4);
}
.rk-archive-description {
	color: var(--ink-soft);
	font-size: var(--t-lg);
	max-width: var(--w-prose);
}
.rk-archive-list {
	display: grid;
	gap: var(--s-12);
	max-width: var(--w-content);
	margin-inline: auto;
}
.rk-archive-item {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: var(--s-8);
	align-items: start;
}
.rk-archive-thumb {
	overflow: hidden;
	border-radius: var(--r-card);
	aspect-ratio: 4 / 3;
	background: var(--blue-50);
}
.rk-archive-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--t-slow) var(--ease-out);
}
.rk-archive-thumb:hover img { transform: scale(1.04); }
.rk-archive-item-title {
	font-size: var(--t-2xl);
	margin-bottom: var(--s-3);
}
.rk-archive-item-title a {
	color: var(--blue);
	transition: color var(--t-fast) var(--ease-out);
}
.rk-archive-item-title a:hover { color: var(--gold-2); }
.rk-archive-meta {
	font-size: var(--t-sm);
	color: var(--muted);
	margin-bottom: var(--s-4);
}

@media (max-width: 768px) {
	.rk-archive-item { grid-template-columns: 1fr; }
	.rk-archive-thumb { aspect-ratio: 16 / 9; }
}

/* Pagination */
.wp-block-query-pagination, .rk-pagination, .nav-links {
	display: flex;
	gap: var(--s-3);
	margin-top: var(--s-12);
	justify-content: center;
	font-size: var(--t-sm);
}
.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 0 var(--s-3);
	border-radius: var(--r-sm);
	color: var(--muted);
	text-decoration: none;
	transition: all var(--t-fast) var(--ease-out);
}
.page-numbers:hover {
	background: var(--blue-50);
	color: var(--blue);
}
.page-numbers.current {
	background: var(--blue);
	color: var(--white);
	font-weight: var(--fw-semibold);
}

/* 404 */
.rk-404 {
	padding: var(--s-section-lg) 0;
	text-align: center;
}
.rk-404__inner {
	max-width: 640px;
}
.rk-404__title {
	font-size: var(--t-4xl);
	margin-bottom: var(--s-4);
}
.rk-404__lede {
	font-size: var(--t-lg);
	color: var(--ink-soft);
	margin-bottom: var(--s-10);
	margin-inline: auto;
}
.rk-404__links {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--s-4);
	align-items: center;
	margin-bottom: var(--s-16);
}
.rk-404__links li { margin: 0; }
.rk-404__search {
	border-top: 1px solid var(--line);
	padding-top: var(--s-10);
}
.rk-404__search h2 {
	font-size: var(--t-xl);
	margin-bottom: var(--s-5);
}

/* Search */
.rk-search-form {
	display: flex;
	max-width: 480px;
	margin-inline: auto;
	border: 1px solid var(--line);
	border-radius: var(--r-pill);
	overflow: hidden;
	transition: border-color var(--t-fast) var(--ease-out), box-shadow var(--t-base) var(--ease-out);
}
.rk-search-form:focus-within {
	border-color: var(--blue);
	box-shadow: 0 0 0 4px var(--blue-50);
}
.rk-search-input {
	flex: 1;
	border: none;
	padding: var(--s-3) var(--s-5);
	background: transparent;
	outline: none;
	font-size: var(--t-base);
	min-height: 48px;
}
.rk-search-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 var(--s-5);
	background: var(--blue);
	color: var(--white);
	cursor: pointer;
	transition: background var(--t-fast) var(--ease-out);
}
.rk-search-submit:hover { background: var(--blue-3); }

.rk-search-results {
	display: grid;
	gap: var(--s-10);
	max-width: var(--w-content);
	margin-inline: auto;
}
.rk-search-item {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: var(--s-6);
	padding-bottom: var(--s-10);
	border-bottom: 1px solid var(--line);
}
.rk-search-item:last-child { border-bottom: none; }
.rk-search-item-thumb img {
	border-radius: var(--r);
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.rk-search-item h2 {
	font-size: var(--t-xl);
	margin-bottom: var(--s-3);
}
.rk-search-item h2 a { color: var(--blue); }
.rk-search-item h2 a:hover { color: var(--gold-2); }
.rk-search-item-excerpt {
	color: var(--ink-soft);
	margin-bottom: var(--s-3);
	font-size: var(--t-sm);
}
.rk-search-count {
	color: var(--muted);
	margin-bottom: var(--s-6);
}
@media (max-width: 600px) {
	.rk-search-item { grid-template-columns: 1fr; }
}

/* Empty state */
.rk-empty-state {
	text-align: center;
	padding: var(--s-section) 0;
	max-width: 640px;
	margin-inline: auto;
}
.rk-empty-state h1, .rk-empty-state h2 {
	margin-bottom: var(--s-4);
}
.rk-empty-state ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--s-2);
	margin-top: var(--s-6);
}

/* Single article */
.rk-article-header {
	padding: var(--s-section) 0 var(--s-8);
	background: var(--sand);
}
.rk-article-title {
	font-size: var(--t-5xl);
	max-width: 22ch;
	margin-bottom: var(--s-4);
}
.rk-article-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s-2);
	font-size: var(--t-sm);
	color: var(--muted);
}
.rk-article-meta-sep { color: var(--line); }
.rk-article-featured {
	margin: var(--s-10) 0;
}
.rk-article-featured-img {
	border-radius: var(--r-image);
	width: 100%;
	height: auto;
	box-shadow: var(--sh-lg);
}
.rk-article-body {
	padding: var(--s-10) 0;
}
.rk-article-body p {
	font-size: var(--t-lg);
	line-height: var(--lh-relaxed);
	max-width: var(--w-prose);
}

/* Author box */
.rk-author-box {
	background: var(--sand);
	padding: var(--s-10) 0;
	margin-top: var(--s-12);
}
.rk-author-box__inner {
	display: flex;
	align-items: center;
	gap: var(--s-6);
}
.rk-author-avatar {
	border-radius: 50%;
	flex-shrink: 0;
}

/* Related posts */
.rk-related-posts {
	padding: var(--s-section) 0;
	background: var(--white);
	border-top: 1px solid var(--line);
}
.rk-related-posts h2 {
	margin-bottom: var(--s-10);
	text-align: center;
}
.rk-related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--s-8);
}
.rk-related-card img {
	border-radius: var(--r-card);
	aspect-ratio: 4 / 3;
	object-fit: cover;
	margin-bottom: var(--s-3);
}
.rk-related-card h3 {
	font-size: var(--t-lg);
}
.rk-related-card h3 a { color: var(--blue); }
.rk-related-card h3 a:hover { color: var(--gold-2); }
.rk-related-card time {
	color: var(--muted);
	font-size: var(--t-sm);
	display: block;
	margin-bottom: var(--s-2);
}
@media (max-width: 768px) {
	.rk-related-grid { grid-template-columns: 1fr; }
}


/* ================================================================
   11. SELECTION + SCROLLBAR
   ================================================================ */
::selection {
	background: var(--gold);
	color: var(--blue-3);
}
::-moz-selection {
	background: var(--gold);
	color: var(--blue-3);
}

/* Custom scrollbar — subtle, branded */
::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}
::-webkit-scrollbar-track {
	background: transparent;
}
::-webkit-scrollbar-thumb {
	background: var(--blue-200);
	border-radius: var(--r-pill);
	border: 2px solid var(--white);
}
::-webkit-scrollbar-thumb:hover {
	background: var(--blue);
}


/* ================================================================
   12. @font-face — SELF-HOSTED Cormorant Garamond (DSGVO)
   ================================================================ */
/* Variable Font — eine Datei enthält alle Gewichte 300–700 */
@font-face {
	font-family: 'Cormorant Garamond';
	src: url('fonts/CormorantGaramond-VariableFont_wght.woff2') format('woff2-variations'),
	     url('fonts/CormorantGaramond-VariableFont_wght.woff2') format('woff2');
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Cormorant Garamond';
	src: url('fonts/CormorantGaramond-Italic-VariableFont_wght.woff2') format('woff2-variations'),
	     url('fonts/CormorantGaramond-Italic-VariableFont_wght.woff2') format('woff2');
	font-weight: 300 700;
	font-style: italic;
	font-display: swap;
}


/* ================================================================
   13. IMAGE PLACEHOLDER (für rk_render_picture wenn kein Attachment)
   ================================================================ */
.rk-image-placeholder {
	background: linear-gradient(135deg, var(--blue-50), var(--sand));
	aspect-ratio: 4 / 3;
	border-radius: var(--r-image);
}


/* === COMPONENTS BELOW — Hero, Card, Persona, Vision, CTA, Form, Cookie === */
/* Werden in B.4–B.10 inkrementell appended. Lassen Sie diesen Kommentar als Marker. */


/* ================================================================
   TEXT SPLIT — H1 hero word-by-word fade-up (B.4 JS uses this)
   ================================================================ */
.rk-split-word {
	display: inline-block;
	opacity: 0;
	transform: translateY(40%);
	transition:
		opacity var(--t-slower) var(--ease-out-soft),
		transform var(--t-slower) var(--ease-out-soft);
	transition-delay: calc(var(--i, 0) * 90ms);
}
[data-split-text].is-split-ready .rk-split-word {
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	.rk-split-word {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Hide-on-scroll-down header */
.rk-header.is-hidden {
	transform: translateY(-100%);
}


/* ================================================================
   HERO COMPONENT (B.5)
   Variants: --full (full-bleed bg + overlay), --split (60/40), --minimal (sand)
   ================================================================ */

.rk-hero {
	position: relative;
	overflow: hidden;
	color: var(--white);
	display: flex;
	align-items: center;
}

/* ---- Variant: FULL ---- */
.rk-hero--full {
	min-height: 100vh;
	min-height: 100svh;
	background: linear-gradient(135deg, var(--blue) 0%, var(--blue-3) 50%, var(--blue-2) 100%);
}
.rk-hero--full.rk-hero--no-media::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at top right, rgba(232, 184, 106, 0.15), transparent 60%);
	z-index: 1;
}

.rk-hero__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.rk-hero__media img,
.rk-hero__media video,
.rk-hero__media picture,
.rk-hero__media picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rk-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}
.rk-hero__overlay--light  { background: linear-gradient(180deg, rgba(15,37,64,0.25) 0%, rgba(15,37,64,0.55) 100%); }
.rk-hero__overlay--medium { background: linear-gradient(180deg, rgba(15,37,64,0.40) 0%, rgba(15,37,64,0.85) 100%); }
.rk-hero__overlay--dark   { background: linear-gradient(180deg, rgba(15,37,64,0.65) 0%, rgba(15,37,64,0.92) 100%); }

.rk-hero__content {
	position: relative;
	z-index: 3;
	padding-top: clamp(7rem, 14vh, 9rem);
	padding-bottom: clamp(5rem, 10vh, 8rem);
	width: 100%;
}

.rk-hero__eyebrow {
	color: var(--gold);
	margin-bottom: var(--s-6);
}
.rk-hero__eyebrow::before {
	background: var(--gold);
}

.rk-hero__title {
	color: var(--white);
	font-size: var(--t-5xl);
	max-width: 16ch;
	margin-bottom: var(--s-6);
	letter-spacing: var(--ls-tight);
}

.rk-hero__lede {
	font-size: var(--t-lg);
	color: rgba(255, 255, 255, 0.88);
	line-height: var(--lh-relaxed);
	max-width: 56ch;
	margin-bottom: var(--s-10);
}

.rk-hero__actions {
	display: flex;
	gap: var(--s-4);
	flex-wrap: wrap;
}

/* Scroll Cue */
.rk-hero__scroll-cue {
	position: absolute;
	bottom: clamp(1.5rem, 4vh, 3rem);
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--t-xs);
	font-weight: var(--fw-semibold);
	text-transform: uppercase;
	letter-spacing: var(--ls-wider);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--s-3);
	animation: rk-bounce-y 2.4s var(--ease-in-out) infinite;
}
.rk-hero__scroll-cue::after {
	content: '';
	display: block;
	width: 1px;
	height: 40px;
	background: linear-gradient(180deg, rgba(255,255,255,0.7) 0%, transparent 100%);
}
@keyframes rk-bounce-y {
	0%, 100% { transform: translateX(-50%) translateY(0); opacity: 0.7; }
	50%      { transform: translateX(-50%) translateY(6px); opacity: 1; }
}

/* ---- Variant: SPLIT ---- */
.rk-hero--split {
	min-height: 70vh;
	background: var(--sand);
	color: var(--ink);
	display: block;
}
.rk-hero--split .rk-hero__content {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s-12);
	align-items: center;
	padding-top: clamp(5rem, 10vh, 7rem);
	padding-bottom: clamp(3rem, 6vh, 5rem);
}
.rk-hero--split .rk-hero__text {
	max-width: 540px;
}
.rk-hero--split .rk-hero__title {
	color: var(--blue);
	font-size: var(--t-4xl);
	max-width: 18ch;
}
.rk-hero--split .rk-hero__lede {
	color: var(--ink-soft);
}
.rk-hero--split .rk-hero__split-media img {
	border-radius: var(--r-lg);
	box-shadow: var(--sh-xl);
	aspect-ratio: 5 / 6;
	object-fit: cover;
	width: 100%;
}
@media (min-width: 1024px) {
	.rk-hero--split .rk-hero__content {
		grid-template-columns: 1.4fr 1fr;
	}
	.rk-hero--split .rk-hero__split-media {
		order: 2;
	}
}

/* ---- Variant: MINIMAL ---- */
.rk-hero--minimal {
	min-height: 50vh;
	background: var(--sand);
	color: var(--ink);
	display: block;
}
.rk-hero--minimal .rk-hero__content {
	padding-top: clamp(5rem, 10vh, 7rem);
	padding-bottom: clamp(3rem, 6vh, 5rem);
}
.rk-hero--minimal .rk-hero__title {
	color: var(--blue);
	font-size: var(--t-4xl);
	max-width: 22ch;
}
.rk-hero--minimal .rk-hero__lede {
	color: var(--ink-soft);
	max-width: 64ch;
}

/* ---- Mobile adjustments ---- */
@media (max-width: 767px) {
	.rk-hero--full { min-height: 90vh; min-height: 90svh; }
	.rk-hero__title { font-size: var(--t-4xl); }
	.rk-hero--split .rk-hero__title,
	.rk-hero--minimal .rk-hero__title { font-size: var(--t-3xl); }
	.rk-hero__lede { font-size: var(--t-base); }
	.rk-hero__actions .rk-btn { flex: 1; justify-content: center; }
}

/* ---- prefers-reduced-motion ---- */
@media (prefers-reduced-motion: reduce) {
	.rk-hero__media video { display: none; }
	.rk-hero__scroll-cue { animation: none; }
}


/* ================================================================
   CARD (B.6) — Schwerpunkt / Aktuelles / generic content card
   ================================================================ */
.rk-card {
	display: flex;
	flex-direction: column;
	background: var(--white);
	border-radius: var(--r-card);
	overflow: hidden;
	box-shadow: var(--sh-sm);
	transition:
		transform var(--t-slow) var(--ease-out),
		box-shadow var(--t-slow) var(--ease-out);
	height: 100%;
}
.rk-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--sh-xl);
}
.rk-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--blue-50);
	display: block;
}
.rk-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--t-slow) var(--ease-out);
}
.rk-card:hover .rk-card__media img {
	transform: scale(1.05);
}
.rk-card__date {
	position: absolute;
	top: var(--s-3);
	left: var(--s-3);
	background: var(--blue-3);
	color: var(--white);
	font-size: var(--t-xs);
	font-weight: var(--fw-semibold);
	padding: var(--s-1) var(--s-3);
	border-radius: var(--r-sm);
	letter-spacing: var(--ls-snug);
}
.rk-card__badge {
	position: absolute;
	top: var(--s-3);
	right: var(--s-3);
	background: var(--gold);
	color: var(--blue-3);
	font-size: var(--t-xs);
	font-weight: var(--fw-semibold);
	padding: var(--s-1) var(--s-3);
	border-radius: var(--r-pill);
	text-transform: uppercase;
	letter-spacing: var(--ls-wider);
}
.rk-card__body {
	padding: var(--s-8);
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: var(--s-3);
}
.rk-card__eyebrow {
	margin-bottom: 0;
	font-size: 0.7rem;
}
.rk-card__title {
	font-size: var(--t-xl);
	margin: 0;
	color: var(--blue);
}
.rk-card__title a {
	color: inherit;
	transition: color var(--t-fast) var(--ease-out);
}
.rk-card__title a:hover { color: var(--gold-2); }
.rk-card__text {
	color: var(--ink-soft);
	font-size: var(--t-base);
	flex: 1;
	max-width: none;
}
.rk-card__link {
	margin-top: var(--s-2);
	font-size: var(--t-sm);
}

/* Card grid utility */
.rk-card-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s-8);
}
@media (min-width: 640px)  { .rk-card-grid--2 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px)  { .rk-card-grid--3 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .rk-card-grid--4 { grid-template-columns: repeat(4, 1fr); } }


/* ================================================================
   PERSONA-GRID (B.6) — 4 cards full-width strip (Westbourne style)
   ================================================================ */
.rk-personas {
	background: var(--blue-3);
	color: var(--white);
	padding-block: var(--s-section);
}
.rk-personas .rk-section-header h2 {
	color: var(--white);
}
.rk-personas .rk-section-header p {
	color: rgba(255,255,255,0.85);
}
.rk-personas__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s-4);
}
@media (min-width: 640px)  { .rk-personas__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .rk-personas__grid { grid-template-columns: repeat(4, 1fr); } }

.rk-persona {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: var(--s-2);
	padding: var(--s-8);
	min-height: 240px;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: var(--r-card);
	color: var(--white);
	text-decoration: none;
	overflow: hidden;
	transition:
		transform var(--t-slow) var(--ease-out),
		border-color var(--t-base) var(--ease-out),
		background var(--t-base) var(--ease-out),
		box-shadow var(--t-slow) var(--ease-out);
}
.rk-persona::before {
	content: '';
	position: absolute;
	top: -40%;
	right: -40%;
	width: 280px;
	height: 280px;
	background: radial-gradient(circle, rgba(232,184,106,0.20), transparent 70%);
	opacity: 0;
	transition: opacity var(--t-slow) var(--ease-out);
}
.rk-persona:hover {
	transform: translateY(-4px);
	border-color: var(--gold);
	background: rgba(232,184,106,0.06);
	box-shadow: var(--sh-lg);
}
.rk-persona:hover::before { opacity: 1; }

.rk-persona__icon {
	font-size: 2rem;
	line-height: 1;
	margin-bottom: var(--s-3);
	display: inline-block;
}
.rk-persona__title {
	font-family: var(--ff-serif);
	font-size: var(--t-xl);
	font-weight: var(--fw-semibold);
	color: var(--white);
	margin: 0;
	line-height: var(--lh-snug);
}
.rk-persona__subtitle {
	color: rgba(255,255,255,0.65);
	font-size: var(--t-sm);
	margin: 0;
	max-width: none;
}
.rk-persona__arrow {
	display: inline-flex;
	align-items: center;
	gap: var(--s-2);
	color: var(--gold);
	font-size: var(--t-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	margin-top: var(--s-3);
}
.rk-persona__arrow svg {
	width: 1.1em;
	height: 1.1em;
	transition: transform var(--t-fast) var(--ease-out);
}
.rk-persona:hover .rk-persona__arrow svg {
	transform: translateX(6px);
}


/* ================================================================
   VISION BANNER (B.6) — Full-bleed quote (IWCF style)
   ================================================================ */
.rk-vision {
	position: relative;
	padding-block: clamp(5rem, 12vw, 9rem);
	color: var(--white);
	background: var(--blue-3);
	overflow: hidden;
}
.rk-vision--no-image {
	background: linear-gradient(135deg, var(--blue) 0%, var(--blue-3) 100%);
}
.rk-vision__media {
	position: absolute;
	inset: 0;
	z-index: 1;
}
.rk-vision__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.rk-vision__overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
}
.rk-vision__overlay--light  { background: linear-gradient(180deg, rgba(15,37,64,0.30), rgba(15,37,64,0.55)); }
.rk-vision__overlay--medium { background: linear-gradient(180deg, rgba(15,37,64,0.45), rgba(15,37,64,0.75)); }
.rk-vision__overlay--dark   { background: linear-gradient(180deg, rgba(15,37,64,0.60), rgba(15,37,64,0.88)); }

.rk-vision__content {
	position: relative;
	z-index: 3;
	text-align: center;
}
.rk-vision__quote {
	font-family: var(--ff-serif);
	font-weight: var(--fw-medium);
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	line-height: var(--lh-snug);
	letter-spacing: var(--ls-snug);
	color: var(--white);
	border: none;
	padding: 0;
	margin: 0 0 var(--s-8);
	max-width: 26ch;
	margin-inline: auto;
}
.rk-vision__cite {
	display: inline-flex;
	align-items: center;
	gap: var(--s-3);
	font-style: normal;
	font-size: var(--t-xs);
	font-weight: var(--fw-semibold);
	text-transform: uppercase;
	letter-spacing: var(--ls-wider);
	color: var(--gold);
}
.rk-vision__cite::before {
	content: '';
	display: inline-block;
	width: 32px;
	height: 2px;
	background: var(--gold);
}


/* ================================================================
   ÜBER UNS KOMPAKT (B.6) — Asymmetric 40/60 split
   ================================================================ */
.rk-about__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s-10);
	align-items: center;
}
.rk-about__media img {
	width: 100%;
	border-radius: var(--r-lg);
	aspect-ratio: 4 / 5;
	object-fit: cover;
	box-shadow: var(--sh-lg);
}
.rk-about__title {
	font-size: var(--t-3xl);
	margin-bottom: var(--s-6);
	max-width: 18ch;
}
.rk-about__text p {
	margin-bottom: var(--s-4);
	font-size: var(--t-base);
	line-height: var(--lh-relaxed);
}
.rk-about__text .rk-arrow-link {
	margin-top: var(--s-4);
}
@media (min-width: 1024px) {
	.rk-about__grid { grid-template-columns: 0.8fr 1fr; gap: var(--s-16); }
	.rk-about--reverse .rk-about__media { order: 2; }
}


/* ================================================================
   CTA SECTION (B.6) — Closing call-to-action
   ================================================================ */
.rk-cta {
	position: relative;
	padding-block: clamp(4rem, 10vw, 7rem);
	text-align: center;
	overflow: hidden;
}
.rk-cta--gradient {
	background: linear-gradient(135deg, var(--blue-3) 0%, var(--blue) 100%);
	color: var(--white);
}
.rk-cta--dark {
	background: var(--blue-3);
	color: var(--white);
}
.rk-cta--sand {
	background: var(--sand);
	color: var(--ink);
}

.rk-cta__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: 0.18;
}
.rk-cta__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: blur(2px);
}
.rk-cta__deco {
	position: absolute;
	top: -50%;
	right: -20%;
	width: 600px;
	height: 600px;
	border-radius: 50%;
	background: var(--gold);
	opacity: 0.08;
	pointer-events: none;
	z-index: 1;
}
.rk-cta--sand .rk-cta__deco {
	background: var(--blue);
	opacity: 0.05;
}
.rk-cta__content {
	position: relative;
	z-index: 2;
}
.rk-cta__eyebrow {
	justify-content: center;
	color: var(--gold);
	margin-bottom: var(--s-5);
}
.rk-cta--gradient .rk-cta__eyebrow::before,
.rk-cta--dark .rk-cta__eyebrow::before { background: var(--gold); }
.rk-cta--sand .rk-cta__eyebrow { color: var(--gold-2); }
.rk-cta--sand .rk-cta__eyebrow::before { background: var(--gold-2); }

.rk-cta__title {
	font-size: var(--t-4xl);
	margin-bottom: var(--s-5);
	max-width: 22ch;
	margin-inline: auto;
}
.rk-cta--gradient .rk-cta__title,
.rk-cta--dark .rk-cta__title { color: var(--white); }
.rk-cta__lede {
	font-size: var(--t-lg);
	max-width: 56ch;
	margin: 0 auto var(--s-10);
}
.rk-cta--gradient .rk-cta__lede,
.rk-cta--dark .rk-cta__lede { color: rgba(255,255,255,0.85); }
.rk-cta__actions {
	display: flex;
	gap: var(--s-4);
	justify-content: center;
	flex-wrap: wrap;
}


/* ================================================================
   FOOTER POLISH (B.7) — SVG social icons + trust badge
   ================================================================ */
.rk-footer-social {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: var(--s-3);
}
.rk-footer-social li { margin: 0; }
.rk-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: var(--r-pill);
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 255, 255, 0.7);
	transition:
		background var(--t-fast) var(--ease-out),
		color var(--t-fast) var(--ease-out),
		transform var(--t-fast) var(--ease-out);
}
.rk-social-link:hover {
	background: var(--gold);
	color: var(--blue-3);
	transform: translateY(-2px);
}
.rk-social-link svg {
	display: block;
	width: 18px;
	height: 18px;
}

/* Trust badge — gemeinnützig + HRB chip */
.rk-footer-trust {
	display: inline-flex;
	align-items: center;
	gap: var(--s-2);
	padding: var(--s-1) var(--s-3);
	border-radius: var(--r-pill);
	background: rgba(232, 184, 106, 0.12);
	color: var(--gold);
	font-size: var(--t-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-snug);
	margin-top: var(--s-4);
}
.rk-footer-trust::before {
	content: '✓';
	font-weight: var(--fw-bold);
}


/* ================================================================
   DYNAMIC BLOCKS (B.9) — Stimmen / Team / Kennzahlen / Aktuelles
   ================================================================ */

/* --- STIMMEN --- */
.rk-stimme {
	position: relative;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	padding: var(--s-8);
	display: flex;
	flex-direction: column;
	gap: var(--s-5);
	transition:
		transform var(--t-slow) var(--ease-out),
		box-shadow var(--t-slow) var(--ease-out);
}
.rk-stimme:hover {
	transform: translateY(-4px);
	box-shadow: var(--sh-lg);
}
.rk-stimme__quote-mark {
	position: absolute;
	top: var(--s-3);
	right: var(--s-5);
	font-family: var(--ff-serif);
	font-size: 4rem;
	line-height: 1;
	color: var(--gold);
	opacity: 0.4;
	pointer-events: none;
}
.rk-stimme__text {
	font-family: var(--ff-serif);
	font-size: var(--t-lg);
	line-height: var(--lh-snug);
	color: var(--ink);
	font-style: italic;
	border: none;
	padding: 0;
	margin: 0;
	flex: 1;
}
.rk-stimme__author {
	display: flex;
	align-items: center;
	gap: var(--s-3);
}
.rk-stimme__avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.rk-stimme__avatar--initials {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--blue);
	color: var(--gold);
	font-family: var(--ff-serif);
	font-weight: var(--fw-semibold);
	font-size: var(--t-base);
}
.rk-stimme__meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1.3;
}
.rk-stimme__name { color: var(--ink); font-size: var(--t-sm); font-weight: var(--fw-semibold); }
.rk-stimme__role { color: var(--muted); font-size: var(--t-xs); }


/* --- TEAM --- */
.rk-team-card {
	background: var(--white);
	border-radius: var(--r-card);
	overflow: hidden;
	box-shadow: var(--sh-sm);
	transition: transform var(--t-slow) var(--ease-out), box-shadow var(--t-slow) var(--ease-out);
	display: flex;
	flex-direction: column;
}
.rk-team-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--sh-lg);
}
.rk-team-card__media {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--blue-50);
}
.rk-team-card__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform var(--t-slow) var(--ease-out);
}
.rk-team-card:hover .rk-team-card__media img { transform: scale(1.04); }
.rk-team-card__placeholder {
	width: 100%; height: 100%;
	background: linear-gradient(135deg, var(--blue-50), var(--sand));
}
.rk-team-card__body {
	padding: var(--s-6);
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: var(--s-2);
}
.rk-team-card__name {
	font-size: var(--t-xl);
	color: var(--blue);
	margin: 0;
}
.rk-team-card__role {
	font-size: 0.7rem;
	margin-bottom: var(--s-2);
}
.rk-team-card__bio {
	color: var(--muted);
	font-size: var(--t-sm);
	line-height: var(--lh-relaxed);
	flex: 1;
}
.rk-team-card__contact {
	display: flex;
	gap: var(--s-2);
	margin-top: var(--s-3);
}
.rk-team-card__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--r-pill);
	background: var(--blue-50);
	color: var(--blue);
	transition: background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);
}
.rk-team-card__link:hover {
	background: var(--gold);
	color: var(--blue-3);
}


/* --- KENNZAHLEN --- */
.rk-kennzahlen { color: var(--white); }
.rk-kennzahlen .rk-section-header h2 { color: var(--white); }
.rk-kennzahlen .rk-section-header p { color: rgba(255,255,255,0.85); }
.rk-kennzahlen .rk-eyebrow { color: var(--gold); }
.rk-kennzahlen .rk-eyebrow::before { background: var(--gold); }
.rk-kennzahlen__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s-8);
	text-align: center;
}
.rk-kennzahlen__grid--2 { grid-template-columns: 1fr; }
.rk-kennzahlen__grid--3 { grid-template-columns: 1fr; }
.rk-kennzahlen__grid--4 { grid-template-columns: 1fr 1fr; }
@media (min-width: 640px) {
	.rk-kennzahlen__grid--2 { grid-template-columns: repeat(2, 1fr); }
	.rk-kennzahlen__grid--3 { grid-template-columns: repeat(3, 1fr); }
	.rk-kennzahlen__grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.rk-kennzahlen__grid--4 { grid-template-columns: repeat(4, 1fr); }
}
.rk-kennzahl { padding: var(--s-4); }
.rk-kennzahl__icon {
	font-size: 1.75rem;
	line-height: 1;
	margin-bottom: var(--s-3);
	display: inline-block;
	color: var(--gold);
}
.rk-kennzahl__zahl {
	font-family: var(--ff-serif);
	font-size: var(--t-5xl);
	font-weight: var(--fw-semibold);
	color: var(--white);
	line-height: 1;
	display: block;
	margin-bottom: var(--s-2);
	letter-spacing: var(--ls-tight);
}
.rk-kennzahl__label {
	font-size: var(--t-sm);
	color: rgba(255,255,255,0.75);
	letter-spacing: var(--ls-snug);
}


/* --- AKTUELLES (uses card.css already, only date badge tweak) --- */
.rk-aktuelles__card .rk-card__media {
	background: var(--blue-50);
}


/* ================================================================
   KONTAKT FORM (B.10) — Float labels, AJAX, DSGVO checkbox
   ================================================================ */
.rk-form-wrap {
	max-width: 720px;
}

.rk-form {
	display: flex;
	flex-direction: column;
	gap: var(--s-5);
}

.rk-form__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s-5);
}
@media (min-width: 640px) {
	.rk-form__row { grid-template-columns: 1fr 1fr; }
}

/* Honeypot — visually hidden but accessible to bots */
.rk-form__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.rk-field {
	position: relative;
}
.rk-field input,
.rk-field textarea,
.rk-field select {
	width: 100%;
	padding: var(--s-6) var(--s-4) var(--s-2);
	min-height: 56px;
	border: 1px solid var(--line);
	border-radius: var(--r-input);
	background: var(--white);
	font-family: var(--ff-sans);
	font-size: var(--t-base);
	color: var(--ink);
	transition:
		border-color var(--t-fast) var(--ease-out),
		box-shadow var(--t-base) var(--ease-out);
	outline: none;
}
.rk-field textarea {
	min-height: 140px;
	resize: vertical;
	padding-top: var(--s-7);
}
.rk-field select {
	padding-top: var(--s-7);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%231B3A5F' stroke-width='2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right var(--s-4) center;
	appearance: none;
	-webkit-appearance: none;
	padding-right: var(--s-10);
}

.rk-field label {
	position: absolute;
	top: 50%;
	left: var(--s-4);
	transform: translateY(-50%);
	color: var(--muted);
	font-size: var(--t-base);
	pointer-events: none;
	transition:
		top var(--t-fast) var(--ease-out),
		font-size var(--t-fast) var(--ease-out),
		color var(--t-fast) var(--ease-out),
		transform var(--t-fast) var(--ease-out);
	background: var(--white);
	padding: 0 var(--s-1);
	max-width: calc(100% - var(--s-8));
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rk-field--textarea label {
	top: var(--s-5);
	transform: translateY(0);
}
.rk-field input:focus + label,
.rk-field input:not(:placeholder-shown) + label,
.rk-field textarea:focus + label,
.rk-field textarea:not(:placeholder-shown) + label,
.rk-field select:focus + label,
.rk-field select:valid:not([value=""]) + label,
.rk-field__label-static {
	top: 8px;
	transform: translateY(0);
	font-size: var(--t-xs);
	color: var(--blue);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-snug);
}

.rk-field input:focus,
.rk-field textarea:focus,
.rk-field select:focus {
	border-color: var(--blue);
	box-shadow: 0 0 0 4px var(--blue-50);
}

.rk-field--error input,
.rk-field--error textarea,
.rk-field--error select {
	border-color: var(--danger);
}
.rk-field--error input:focus,
.rk-field--error textarea:focus,
.rk-field--error select:focus {
	box-shadow: 0 0 0 4px var(--danger-bg);
}
.rk-field__error {
	display: block;
	min-height: 1.2em;
	margin-top: var(--s-1);
	font-size: var(--t-xs);
	color: var(--danger);
	font-weight: var(--fw-medium);
}
.rk-field__error:empty { display: none; }

/* Checkbox (DSGVO + Cookie) */
.rk-field--checkbox { margin-top: var(--s-3); }
.rk-checkbox {
	display: flex;
	align-items: flex-start;
	gap: var(--s-3);
	cursor: pointer;
	user-select: none;
	font-size: var(--t-sm);
	line-height: var(--lh-relaxed);
	color: var(--ink-soft);
}
.rk-checkbox input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}
.rk-checkbox__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	min-width: 22px;
	border: 2px solid var(--line);
	border-radius: 5px;
	background: var(--white);
	color: var(--white);
	transition: all var(--t-fast) var(--ease-out);
	flex-shrink: 0;
	margin-top: 1px;
}
.rk-checkbox__mark svg {
	width: 16px;
	height: 16px;
	opacity: 0;
	transform: scale(0.6);
	transition: opacity var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-spring);
}
.rk-checkbox input[type="checkbox"]:checked ~ .rk-checkbox__mark {
	background: var(--blue);
	border-color: var(--blue);
}
.rk-checkbox input[type="checkbox"]:checked ~ .rk-checkbox__mark svg {
	opacity: 1;
	transform: scale(1);
}
.rk-checkbox input[type="checkbox"]:focus-visible ~ .rk-checkbox__mark {
	outline: 2px solid var(--gold);
	outline-offset: 3px;
}
.rk-checkbox input[type="checkbox"]:disabled ~ .rk-checkbox__mark {
	background: var(--blue);
	border-color: var(--blue);
	opacity: 0.5;
}
.rk-checkbox input[type="checkbox"]:disabled ~ .rk-checkbox__mark svg {
	opacity: 1;
	transform: scale(1);
}
.rk-checkbox__label a { color: var(--gold-2); }
.rk-checkbox__label a:hover { color: var(--blue); }

/* Submit + Spinner */
.rk-form__actions {
	display: flex;
	justify-content: flex-start;
	margin-top: var(--s-3);
}
.rk-form__submit {
	min-width: 200px;
}
.rk-form__submit.is-loading .rk-form__submit-label { opacity: 0; }
.rk-form__submit-spinner {
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: rk-spin 0.7s linear infinite;
}
.rk-form__submit.is-loading .rk-form__submit-spinner { display: block; }
.rk-form__submit.is-loading { position: relative; pointer-events: none; }
@keyframes rk-spin {
	to { transform: rotate(360deg); }
}

/* Inline feedback (success/error) */
.rk-form__feedback {
	padding: var(--s-4);
	border-radius: var(--r);
	font-weight: var(--fw-medium);
}
.rk-form__feedback--success {
	background: var(--success-bg);
	color: var(--success);
	border-left: 4px solid var(--success);
}
.rk-form__feedback--error {
	background: var(--danger-bg);
	color: var(--danger);
	border-left: 4px solid var(--danger);
}

/* Persistent success/error banner (post-submit) */
.rk-form__success--persistent,
.rk-form__error--persistent {
	display: flex;
	align-items: center;
	gap: var(--s-3);
	padding: var(--s-5) var(--s-6);
	border-radius: var(--r);
	margin-bottom: var(--s-6);
	animation: rk-fade-in var(--t-slow) var(--ease-out);
}
.rk-form__success--persistent {
	background: var(--success-bg);
	border-left: 4px solid var(--success);
	color: var(--success);
}
.rk-form__error--persistent {
	background: var(--danger-bg);
	border-left: 4px solid var(--danger);
	color: var(--danger);
}
.rk-form__success--persistent p,
.rk-form__error--persistent p {
	margin: 0;
	color: inherit;
	font-weight: var(--fw-medium);
	max-width: none;
}
@keyframes rk-fade-in {
	from { opacity: 0; transform: translateY(-10px); }
	to   { opacity: 1; transform: translateY(0); }
}


/* ================================================================
   COOKIE BANNER (B.10) — Slide-in bottom-right, DSGVO-konform
   ================================================================ */
.rk-cookie {
	position: fixed;
	z-index: var(--z-cookie);
	bottom: var(--s-4);
	right: var(--s-4);
	left: var(--s-4);
	max-width: 480px;
	margin-left: auto;
	background: var(--white);
	border-radius: var(--r-card);
	box-shadow: var(--sh-2xl);
	transform: translateY(20px) scale(0.96);
	opacity: 0;
	visibility: hidden;
	transition:
		transform var(--t-slow) var(--ease-out-soft),
		opacity var(--t-slow) var(--ease-out),
		visibility 0s linear var(--t-slow);
}
.rk-cookie[hidden] {
	display: none;
}
.rk-cookie:not([hidden]) {
	transform: translateY(0) scale(1);
	opacity: 1;
	visibility: visible;
	transition:
		transform var(--t-slow) var(--ease-out-soft),
		opacity var(--t-slow) var(--ease-out),
		visibility 0s linear 0s;
}

.rk-cookie__inner {
	padding: var(--s-6);
	display: flex;
	flex-direction: column;
	gap: var(--s-4);
}

.rk-cookie__title {
	font-family: var(--ff-sans);
	font-size: var(--t-lg);
	font-weight: var(--fw-semibold);
	color: var(--blue);
	margin: 0;
	letter-spacing: var(--ls-snug);
}

.rk-cookie__text {
	font-size: var(--t-sm);
	color: var(--ink-soft);
	line-height: var(--lh-relaxed);
}
.rk-cookie__text p { margin: 0; max-width: none; color: inherit; font-size: inherit; }
.rk-cookie__text a {
	color: var(--gold-2);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.rk-cookie__options {
	display: flex;
	flex-direction: column;
	gap: var(--s-2);
	border: none;
	padding: 0;
	margin: 0;
}

.rk-cookie__option {
	display: flex;
	align-items: flex-start;
	gap: var(--s-3);
	padding: var(--s-2) 0;
	cursor: pointer;
	font-size: var(--t-sm);
	color: var(--ink);
}
.rk-cookie__option .rk-checkbox__label small {
	display: block;
	color: var(--muted);
	font-size: var(--t-xs);
	font-weight: var(--fw-regular);
	margin-top: 2px;
}

.rk-cookie__actions {
	display: flex;
	flex-direction: column;
	gap: var(--s-2);
	margin-top: var(--s-2);
}
.rk-cookie__actions .rk-btn {
	width: 100%;
	justify-content: center;
}
.rk-cookie__reject {
	background: transparent;
	border: none;
	color: var(--muted);
	font-size: var(--t-sm);
	padding: var(--s-3);
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	transition: color var(--t-fast) var(--ease-out);
}
.rk-cookie__reject:hover {
	color: var(--blue);
}

.rk-cookie__privacy {
	display: inline-block;
	font-size: var(--t-xs);
	color: var(--gold-2);
	margin-top: var(--s-2);
}
.rk-cookie__privacy:hover { color: var(--blue); }

@media (min-width: 768px) {
	.rk-cookie {
		bottom: var(--s-6);
		right: var(--s-6);
		left: auto;
	}
}
@media (max-width: 640px) {
	.rk-cookie {
		bottom: 0;
		left: 0;
		right: 0;
		max-width: none;
		margin: 0;
		border-radius: var(--r-lg) var(--r-lg) 0 0;
	}
}

/* === HEADER FIX: Inner pages (non-home) — solid header ile beyaz link sorununu çöz === */
body.rk-public:not(.home) .rk-header {
	background: var(--white);
	border-bottom: 1px solid var(--line);
}
body.rk-public:not(.home) .rk-header .rk-nav-list a:not(:hover):not(:focus) {
	color: var(--ink);
}
body.rk-public:not(.home) .rk-header .rk-nav-list a:hover,
body.rk-public:not(.home) .rk-header .rk-nav-list a:focus {
	color: var(--blue);
}
body.rk-public:not(.home) .rk-header .rk-logo,
body.rk-public:not(.home) .rk-header .custom-logo-link {
	color: var(--ink);
}
/* Page hero (subpage başlık alanı) — section padding ekle */
.rk-page-body { padding-block: var(--s-section); }
.rk-page-body .container-narrow {
	max-width: var(--w-content);
	margin: 0 auto;
	padding-inline: var(--s-4);
}
.rk-page-body h2 { margin-top: var(--s-12); margin-bottom: var(--s-4); }
.rk-page-body h2:first-child { margin-top: 0; }
.rk-page-body p { margin-bottom: var(--s-4); max-width: 70ch; }
.rk-page-body ul,
.rk-page-body ol { margin: var(--s-4) 0; padding-left: var(--s-6); }
.rk-page-body ul li,
.rk-page-body ol li { margin-bottom: var(--s-2); }
.rk-page-body .lead {
	font-size: var(--t-lg);
	color: var(--ink-soft);
	margin-bottom: var(--s-8);
	max-width: 65ch;
}
