/* Gemeinsame Gestaltung aller Seiten, wird nach style.css geladen */


:root {
  --font-body:'Coming Soon','Segoe Print','Bradley Hand','Chalkboard SE','Comic Sans MS',cursive!important;
  --font-heading:'Coming Soon','Segoe Print','Bradley Hand','Chalkboard SE','Comic Sans MS',cursive!important;
  --font-accent:'Coming Soon','Segoe Print','Bradley Hand','Chalkboard SE','Comic Sans MS',cursive!important;
  --kk-pink: #d97b93;
  --kk-turquoise: #4aa6a6;
  --kk-yellow: #e9a83b;
  --kk-leaf: #7ba05b;
  --kk-brown: #463827;
  --kk-cream: #fff9ef;
  --kk-sage-soft: #f4f8f0;
  --kk-pink-text: #af4c69;
  --kk-turquoise-text: #2a7777;
  --kk-leaf-text: #58753f;
  --kk-yellow-text: #916311;
  --kk-peach-text: #a95523;
}
html{font-size:100%!important}html.font-small{font-size:94%!important}
html[data-font-size="normal"] { font-size:100%!important; }
html[data-font-size="large"] { font-size:112%!important; }
body { font-family:var(--font-body)!important; background:#fffaf2!important; }
p, li, input, textarea, button, label, a { font-family:var(--font-body)!important; }
h1,h2,h3,h4,.card-heading,.section-label,.logo-title,.photo-caption,.price-tag {letter-spacing:.01em; }
h2 { color:var(--kk-brown)!important; }
.section { padding: clamp(4.8rem, 8.5vw, 7rem) 1.5rem!important; }
.section:nth-of-type(odd) { background:#fffaf2!important; }
.section-alt { background:#f7efe3!important; }
.section-green, .warm-play-section { background:var(--kk-sage-soft)!important; }
.section-header { max-width:760px!important; margin-bottom:2.35rem!important; }
.section-header p { max-width:650px; margin-left:auto; margin-right:auto; font-size:var(--fs-text)!important; }
.section-label { color:#006b56!important; font-weight:900!important; }
.section-label::after { content:""; display:block; width:46px; height:4px; border-radius:99px; margin:.4rem auto 0; background:linear-gradient(90deg,var(--kk-pink),var(--kk-yellow),var(--kk-turquoise)); }
.about-text p, .values-panel p, .quote-panel p, .concept-card p, .nutrition-content p, .room-card-text p, .private-card p, .contact-info p { line-height:1.72!important; }
.about-grid { align-items:center!important; }
.about-text p:nth-of-type(n+4) { display:none!important; }
.about-badges { gap:.65rem!important; margin-top:1.4rem!important; }
.about-badge { background:#fff!important; border:1px solid rgba(123,160,91,.22); border-radius:999px; padding:.48rem .72rem; }
.values-panel,.quote-panel,.concept-card,.room-card,.private-card,.private-highlight { border-radius:24px!important; box-shadow:0 6px 18px rgba(70,56,39,.055)!important; border:1px solid rgba(70,56,39,.055)!important; }
.values-panel { background:linear-gradient(135deg,#fff 0%,#fff7f8 100%)!important; }
.quote-panel { background:linear-gradient(135deg,#fff 0%,#f3fbf7 100%)!important; }
.value-pill:nth-child(3n+1) { background:#fde8ef!important; color:#8a3850!important; }
.value-pill:nth-child(3n+2) { background:#e8f5f2!important; color:#236f6d!important; }
.value-pill:nth-child(3n+3) { background:#fff0cd!important; color:#855716!important; }
.concept-grid { gap:1.35rem!important; }
.concept-card { background:#fff!important; position:relative; overflow:hidden; padding:1.75rem!important; }
.concept-card::before { content:""; position:absolute; inset:0 auto auto 0; width:9px; height:100%; background:var(--kk-leaf); opacity:.85; }
.concept-card:nth-child(2)::before { background:var(--kk-turquoise); }
.concept-card:nth-child(3)::before { background:var(--kk-yellow); }
.concept-card:nth-child(4)::before { background:var(--kk-pink); }
.concept-card:nth-child(5)::before { background:#6fbf73; }
.concept-card:nth-child(6)::before { background:#c67c3a; }
.concept-card-title,.private-card-title,.room-card-title,.soft-card-title { color:#3f2c1b!important; font-weight:900!important; }
.nutrition-content { gap:3rem!important; }
.nutrition-list li { background:#fff!important; border:1px solid rgba(70,56,39,.08)!important; border-radius:18px!important; padding:.82rem 1rem!important; margin-bottom:.65rem!important; box-shadow:0 6px 18px rgba(70,56,39,.04); }
.rooms-gallery { grid-template-columns:repeat(auto-fit,minmax(min(250px, 100%), 1fr))!important; }
.room-card-img,.photo-item { background:#f4eadb!important; }
.room-card img,.photo-item img { min-width:100%; min-height:100%; object-fit:cover!important; }
.room-card:nth-child(4n+1) .room-card-text { background:#fff7f8!important; }
.room-card:nth-child(4n+2) .room-card-text { background:#eef9f6!important; }
.room-card:nth-child(4n+3) .room-card-text { background:#fff4d8!important; }
.room-card:nth-child(4n+4) .room-card-text { background:#edf5e8!important; }
.photo-grid { gap:1.15rem!important; }
.photo-caption { background:linear-gradient(transparent,rgba(58,42,27,.68))!important; font-weight:900!important; font-size:1rem!important; }
.activities-more { background:#fff0cd!important; border:1px solid rgba(233,168,59,.28)!important; }
.private-section .section-label { color:#e9d28a!important; }
.private-section .section-label::after { background:linear-gradient(90deg,#e9d28a,#7ba05b,#4aa6a6)!important; }
.price-tag { color:#fff5cf!important; font-size:1.45rem!important; font-weight:900!important; }
.accessibility-widget{display:none!important}
.accessibility-pill{position:fixed!important;left:max(.7rem,env(safe-area-inset-left))!important;bottom:max(.7rem,env(safe-area-inset-bottom))!important;z-index:2147483647!important;display:inline-flex!important;align-items:center!important;overflow:hidden!important;background:rgba(55,48,39,.96)!important;border:1px solid rgba(123,160,91,.28)!important;border-radius:999px!important;box-shadow:0 12px 28px rgba(47,45,40,.23),0 3px 8px rgba(47,45,40,.16)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
.accessibility-pill-btn{appearance:none!important;-webkit-appearance:none!important;border:0!important;margin:0!important;min-width:50px!important;width:50px!important;height:38px!important;background:transparent!important;color:#f6efe3!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:Arial,sans-serif!important;font-weight:800!important;line-height:1!important;border-radius:0!important}
.accessibility-font-btn{font-size:1rem!important;letter-spacing:-.04em!important}
.accessibility-contrast-btn{min-width:44px!important;width:44px!important;border-left:1px solid rgba(246,239,227,.16)!important}
.contrast-circle{width:20px!important;height:20px!important;border-radius:50%!important;border:2.2px solid #f6efe3!important;background:linear-gradient(90deg,#f6efe3 0 50%,transparent 50% 100%)!important;display:inline-block!important}
.accessibility-pill-btn[aria-pressed="true"]{background:rgba(123,160,91,.22)!important}
html:not([data-contrast="high"]) .hero-redesign .hero-soft-overlay{background:linear-gradient(90deg,rgba(250,246,238,.98) 0%,rgba(250,246,238,.92) 28%,rgba(250,246,238,.54) 52%,rgba(250,246,238,.12) 78%,rgba(250,246,238,.04) 100%)!important}
html[data-contrast="high"] body{background:#fff!important;color:#000!important}
html[data-contrast="high"] .hero-redesign .hero-soft-overlay{background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 44%,rgba(255,255,255,.68) 72%,rgba(255,255,255,.18) 100%)!important}
html[data-contrast="high"] h1,html[data-contrast="high"] h2,html[data-contrast="high"] h3,html[data-contrast="high"] p,html[data-contrast="high"] li,html[data-contrast="high"] .hero-redesign .hero-copy h1,html[data-contrast="high"] .hero-redesign .hero-lead,html[data-contrast="high"] .hero-redesign .location-pill,html[data-contrast="high"] .hero-redesign .hero-trust-list{color:#000!important;text-shadow:none!important}
html[data-contrast="high"] .private-section,html[data-contrast="high"] .footer{background:#000!important;color:#fff!important}
html[data-contrast="high"] .private-section h2,html[data-contrast="high"] .private-section p,html[data-contrast="high"] .private-section li,html[data-contrast="high"] .private-card-title,html[data-contrast="high"] .private-highlight-title,html[data-contrast="high"] .footer a,html[data-contrast="high"] .footer p{color:#fff!important}
html[data-contrast="high"] .private-card,html[data-contrast="high"] .private-highlight{background:#111!important;border:2px solid #fff!important;color:#fff!important}
.instagram-nav-link,.instagram-link-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#5c783b!important;text-decoration:none!important}
.instagram-nav-link{width:36px!important;height:36px!important;border-radius:999px!important}
.instagram-icon{width:22px!important;height:22px!important;fill:currentColor!important;display:block!important}
.footer .instagram-icon{width:20px!important;height:20px!important;margin-right:.45rem!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.route-buttons{display:flex!important;flex-wrap:wrap!important;gap:.75rem!important;margin-top:1rem!important}
.route-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:.75rem 1.25rem!important;border-radius:50px!important;border:2px solid rgba(123,160,91,.5)!important;background:#fff!important;color:#4f6b39!important;font-weight:700!important;text-decoration:none!important}
.cookie-banner{position:fixed!important;left:max(1rem,env(safe-area-inset-left))!important;right:max(1rem,env(safe-area-inset-right))!important;bottom:max(4.4rem,env(safe-area-inset-bottom))!important;z-index:2147483000!important;display:none;max-width:760px!important;margin:0 auto!important;background:rgba(255,255,255,.98)!important;border:1px solid rgba(63,48,34,.16)!important;border-radius:22px!important;box-shadow:0 18px 50px rgba(47,45,40,.22)!important;padding:1.1rem!important;color:#3e2d22!important}
.cookie-banner.is-visible{display:block!important}
.cookie-banner p{margin:.35rem 0 1rem!important;line-height:1.55!important;color:#3e2d22!important}
.cookie-actions{display:flex!important;flex-wrap:wrap!important;gap:.65rem!important}
.cookie-actions button,.cookie-actions a{border-radius:999px!important;padding:.72rem 1rem!important;font-weight:700!important;cursor:pointer!important;text-decoration:none!important;border:1px solid #5c7a42!important;font-size:1rem}
.cookie-accept{background:#5c7a42!important;color:#fff!important}
.cookie-necessary{background:#fff!important;color:#5c783b!important}
@media(max-width:640px){
  .accessibility-pill{left:max(.45rem,env(safe-area-inset-left))!important;bottom:max(.45rem,env(safe-area-inset-bottom))!important}
  .accessibility-pill-btn{min-width:46px!important;width:46px!important;height:36px!important}
  .accessibility-contrast-btn{min-width:42px!important;width:42px!important}}

/* ============================================
   Kindertagespflege Anna-Lena Korb
   Style Sheet
   ============================================ */

/* --- CSS Custom Properties --- */
:root {--fs-text:clamp(1.0625rem, 0.98rem + 0.4vw, 1.125rem);--fs-text-kompakt:clamp(1rem, 0.95rem + 0.3vw, 1.0625rem);
  --color-cream: #FDF8F0;
  --color-beige: #F5EDE3;
  --color-beige-dark: #E8DDD0;
  --color-green: #7BA05B;
  --color-green-light: #E8F0E0;
  --color-green-dark: #5C7A42;
  --color-green-deep: #4F6B39;
  --color-sage-soft: #F4F8F0;
  --color-brown: #8B7355;
  --color-brown-light: #A6906F;
  --color-text: #3D3529;
  --color-text-light: #574A3C;
  --color-white: #FFFFFF;

  --font-heading: 'Coming Soon','Segoe Print','Bradley Hand','Chalkboard SE','Comic Sans MS',cursive;
  --font-body: 'Coming Soon','Segoe Print','Bradley Hand','Chalkboard SE','Comic Sans MS',cursive;
  --font-accent:'Coming Soon','Segoe Print','Bradley Hand','Chalkboard SE','Comic Sans MS',cursive;

  --max-width: 1200px;
  --section-padding: 5rem 1.5rem;
  --border-radius: 16px;
  --border-radius-sm: 10px;
  --transition: 0.3s ease;

  --shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.08);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.10);
}

/* --- Reset & Base --- */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-body);
  color: var(--color-text);
  background-color: var(--color-cream);
  line-height: 1.7;
  
}

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

a {
  color: var(--color-green-dark);
  text-decoration: none;
  transition: color var(--transition);
}

a:hover {
  color: var(--color-green);
}

h1, h2, h3, h4 {
  font-family: var(--font-heading);
  color: var(--color-text);
  line-height: 1.28;
  font-weight: 600;
  letter-spacing: -0.015em;
}

h3, h4 {
  font-family: var(--font-accent);
  font-weight: 700;
}

h2 {
  font-family: var(--font-accent);
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  margin-bottom: 1rem;
}

h3 {
  font-size: clamp(1.2rem, 2.5vw, 1.5rem);
  margin-bottom: 0.75rem;
}

.card-heading,
.trust-heading,
.concept-card-title,
.room-card-title,
.timeline-title,
.parent-card-title,
.private-card-title,
.private-highlight-title,
.form-success-title,
.footer-heading {
  font-family: var(--font-accent);
  color: var(--color-text);
  line-height: 1.28;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-bottom: 0.75rem;
}

.trust-heading {
  font-size: 1rem;
  margin-bottom: 0.35rem;
}

.concept-card-title,
.room-card-title,
.timeline-title,
.parent-card-title,
.private-card-title,
.private-highlight-title,
.form-success-title {
  font-size: clamp(1.12rem, 2.2vw, 1.38rem);
}

.footer-heading {
  color: var(--color-white);
  font-size: 1.0625rem;
  margin-bottom: 1rem;
}

.hero-badge,
.section-label,
.photo-caption {
  font-family: var(--font-accent);
}

p {
  margin-bottom: 1rem;
  color: var(--color-text-light);
;font-size:var(--fs-text-kompakt)}

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* --- Buttons --- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.9rem 2rem;
  border-radius: 50px;
  font-size: 1.0625rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: all var(--transition);
  text-decoration: none;
  line-height: 1.4;
  white-space: nowrap;
}

.btn-primary {
  background-color: var(--color-green-dark);
  color: var(--color-white);
  border: 2px solid var(--color-green-dark);
}

.btn-primary:hover {
  background-color: var(--color-green-deep);
  border-color: var(--color-green-deep);
  color: var(--color-white);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

.btn-secondary {
  background-color: var(--color-white);
  color: var(--color-green-dark);
  border: 2px solid var(--color-green);
}

.btn-secondary:hover {
  background-color: var(--color-green-light);
  color: var(--color-green-deep);
  border-color: var(--color-green-dark);
  transform: translateY(-2px);
}

.btn-small {
  padding: 0.55rem 1.3rem;
  font-size: 0.9375rem;
}

/* --- Section Styles --- */
.section {
  padding: var(--section-padding);
}

.section-alt {
  background-color: var(--color-white);
}

.section-green {
  background-color: var(--color-green-light);
}

.section-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 3rem;
}

.section-header p {
  font-size: var(--fs-text);
}

.section-label {
  display: inline-block;
  font-family: var(--font-accent);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--color-green);
  margin-bottom: 0.5rem;
}

/* =============================================
   HEADER / NAVIGATION
   ============================================= */
.header {
  position: fixed;
  top: var(--announce-h, 0px);
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: rgba(253, 248, 240, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: box-shadow var(--transition);
}

.header.scrolled {
  box-shadow: 0 1px 12px rgba(0,0,0,0.08);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0.75rem 2rem;
  gap: 1.5rem;
}

/* Logo */
.logo {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
  flex-shrink: 0;
}

.logo-icon {
  width: 42px;
  height: 42px;
  background: var(--color-green);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  font-size: 1.2rem;
  flex-shrink: 0;
}

.logo-text {
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.2;
}

.logo-text span {
  display: block;
  font-size: 0.95rem;
  font-weight: 400;
  color: var(--color-text-light);
}

/* Desktop Navigation */
.nav {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.nav a {
  font-size: 1.0625rem;
  font-weight: 500;
  color: #574A3C;
  text-decoration: none;
  position: relative;
  padding: 0.3rem 0;
  white-space: nowrap;
}

.nav a.nav-cta {
  color: var(--color-white);
  padding: 0.55rem 1.3rem;
  font-weight: 600;
}

.nav a.nav-cta::after {
  content: none;
}

.nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--color-green);
  transition: width var(--transition);
}

.nav a:hover,
.nav a.active {
  color: var(--color-green-deep);
}

.nav a.active {
  font-weight: 700;
}

.nav a:hover::after,
.nav a.active::after {
  width: 100%;
}

/* Nav CTA – im mobilen Menü sichtbar */
.nav-cta {
  display: none;
}

/* Header CTA Button – rechts neben der Nav */
.header-cta {
  flex-shrink: 0;
}

/* Hamburger Menu Toggle */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  z-index: 1001;
}

.menu-toggle span {
  display: block;
  width: 24px;
  height: 2.5px;
  background-color: var(--color-text);
  border-radius: 2px;
  transition: all var(--transition);
}

.menu-toggle.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* --- Hero Section --- */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 8rem 1.5rem 5rem;
  background-color: var(--color-text);
  overflow: hidden;
}

/* Background image layer */
.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Dark gradient overlay for text readability */
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(40, 34, 26, 0.78) 0%, rgba(70, 100, 48, 0.60) 100%);
  z-index: 1;
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.hero-badge {
  display: inline-block;
  font-family: var(--font-accent);
  background: rgba(123, 160, 91, 0.92);
  color: white;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  padding: 0.4rem 1.2rem;
  border-radius: 50px;
  margin-bottom: 1.5rem;
}

.hero h1 {
  font-size: clamp(2rem, 5vw, 3.2rem);
  margin-bottom: 1.25rem;
  color: #FFFFFF;
}

.hero p {
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  color: rgba(255, 255, 255, 0.88);
  margin-bottom: 2rem;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}

.hero-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.btn-hero-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.9rem 2rem;
  border-radius: 50px;
  font-size: 1.0625rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  line-height: 1.4;
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.12);
  border: 2px solid rgba(255, 255, 255, 0.65);
  color: white;
  transition: all var(--transition);
}

.btn-hero-secondary:hover {
  background: rgba(255, 255, 255, 0.22);
  color: white;
  transform: translateY(-2px);
}

/* --- Trust Badges --- */
.trust-section {
  padding: 3rem 1.5rem;
  background-color: var(--color-white);
}

.trust-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
  gap: 1.5rem;
  max-width: var(--max-width);
  margin: 0 auto;
}

.trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.5rem 1rem;
  border-radius: var(--border-radius);
  background: var(--color-cream);
  transition: transform var(--transition);
}

.trust-item:hover {
  transform: translateY(-4px);
}

.trust-item h4,
.trust-heading {
  font-size: 1rem;
  margin-bottom: 0.25rem;
}

.trust-item p {
  font-size: var(--fs-text-kompakt);
  margin-bottom: 0;
}

/* --- About Section --- */
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}

.about-image {
  border-radius: var(--border-radius);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}

.about-image img {
  width: 100%;
  height: 100%;
  min-height: 480px;
  object-fit: cover;
  object-position: center top;
  display: block;
  border-radius: var(--border-radius);
}

.image-placeholder {
  background: var(--color-beige);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  padding: 2rem;
  text-align: center;
  color: var(--color-text-light);
  font-size: 0.95rem;
  border: 2px dashed var(--color-beige-dark);
  border-radius: var(--border-radius);
}

.image-placeholder svg {
  width: 48px;
  height: 48px;
  margin-bottom: 1rem;
  opacity: 0.4;
}

.about-text .section-label {
  text-align: left;
}

.about-text h2 {
  text-align: left;
}

.about-text p {
  font-size: var(--fs-text);
}

.about-highlights {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.about-highlight {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  color: var(--color-text);
  font-weight: 500;
}

.about-highlight .check {
  color: var(--color-green);
  font-size: 1.1rem;
  flex-shrink: 0;
}

/* --- Concept / Betreuung Section --- */
.concept-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: 1.5rem;
}

.concept-card {
  background: var(--color-white);
  border-radius: var(--border-radius);
  padding: 2rem;
  box-shadow: var(--shadow-sm);
  transition: all var(--transition);
  border: 1px solid transparent;
}

.concept-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--color-green-light);
}

.concept-card h3,
.concept-card-title {
  font-size: 1.15rem;
}

.concept-card p {
  font-size: var(--fs-text-kompakt);
  margin-bottom: 0;
}

/* --- Nutrition Image --- */
.nutrition-img-wrap {
  border-radius: var(--border-radius);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

.nutrition-img {
  width: 100%;
  min-height: 400px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.nutrition-img-wrap:hover .nutrition-img {
  transform: scale(1.03);
}

/* --- Nutrition Section --- */
.nutrition-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}

.nutrition-list {
  list-style: none;
}

.nutrition-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--color-beige);
  font-size: 1rem;
  color: var(--color-text-light);
}

.nutrition-list li:last-child {
  border-bottom: none;
}

.nutrition-list .list-icon {
  display: inline-block;
  width: 7px;
  height: 7px;
  min-width: 7px;
  border-radius: 50%;
  background: var(--color-text);
  flex-shrink: 0;
  margin-top: 0.62rem;
}

/* --- Rooms / Räumlichkeiten Section --- */
.rooms-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  gap: 1.5rem;
}

.room-card {
  border-radius: var(--border-radius);
  overflow: hidden;
  background: var(--color-white);
  box-shadow: var(--shadow-sm);
  transition: all var(--transition);
}

.room-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.room-card .image-placeholder {
  min-height: 220px;
  border-radius: 0;
  border: none;
  border-bottom: 2px dashed var(--color-beige-dark);
}

/* Room card with real image */
.room-card-img {
  height: 220px;
  overflow: hidden;
}

.room-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.room-card:hover .room-card-img img {
  transform: scale(1.06);
}

.room-card-text {
  padding: 1.25rem;
}

.room-card-text h3,
.room-card-title {
  font-size: 1.05rem;
  margin-bottom: 0.4rem;
}

.room-card-text p {
  font-size: var(--fs-text-kompakt);
  margin-bottom: 0;
}

/* --- Daily Routine / Tagesablauf --- */
.timeline {
  max-width: 780px;
  margin: 0 auto;
  position: relative;
}

.timeline::before {
  content: '';
  position: absolute;
  left: 24px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(70, 56, 39, 0.15);
}

.timeline-item {
  display: flex;
  gap: 1.35rem;
  padding-bottom: 2.9rem;
  position: relative;
}

.timeline-item:last-child {
  padding-bottom: 0;
}

.timeline-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--color-green);
  flex-shrink: 0;
  z-index: 1;
  margin: 0.6rem 16.5px 0;
  border: 3px solid var(--color-cream);
  box-sizing: content-box;
}

/* Zeitleiste: wiederkehrende Markenfarb-Reihenfolge je Tagesphase (Gruen/Tuerkis/Gold/Rosa/Apricot/Gruen) */
.timeline-item:nth-child(1) .timeline-dot { background: var(--kk-leaf); }
.timeline-item:nth-child(2) .timeline-dot { background: var(--kk-turquoise); }
.timeline-item:nth-child(3) .timeline-dot { background: var(--kk-yellow); }
.timeline-item:nth-child(4) .timeline-dot { background: var(--kk-pink); }
.timeline-item:nth-child(5) .timeline-dot { background: var(--kk-peach); }
.timeline-item:nth-child(6) .timeline-dot { background: var(--kk-leaf); }
.timeline-item:nth-child(1) .timeline-time { color: var(--kk-leaf-text); }
.timeline-item:nth-child(2) .timeline-time { color: var(--kk-turquoise-text); }
.timeline-item:nth-child(3) .timeline-time { color: var(--kk-yellow-text); }
.timeline-item:nth-child(4) .timeline-time { color: var(--kk-pink-text); }
.timeline-item:nth-child(5) .timeline-time { color: var(--kk-peach-text); }
.timeline-item:nth-child(6) .timeline-time { color: var(--kk-leaf-text); }

.timeline-content {
  flex: 1;
  padding-top: 0.5rem;
}

.timeline-time {
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-green-deep);
  letter-spacing: 0.02em;
  margin-bottom: 0.35rem;
}

.timeline-content h3,
.timeline-title {
  font-size: 1.12rem;
  margin-bottom: 0.5rem;
}

.timeline-content p {
  font-size: 1rem;
  line-height: 1.75;
  color: #574A3C;
  max-width: 62ch;
  margin-bottom: 0;
}

.timeline-note {
  text-align: center;
  margin-top: 2.5rem;
  padding: 1.25rem;
  background: var(--color-sage-soft);
  border-radius: var(--border-radius-sm);
  font-size: var(--fs-text-kompakt);
  color: var(--color-text-light);
}

/* --- Parents Section --- */
.parents-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: 1.5rem;
}

.parent-card {
  background: var(--color-cream);
  border: 1px solid rgba(70, 56, 39, 0.08);
  border-radius: var(--border-radius);
  padding: 2rem;
  text-align: center;
  box-shadow: 0 6px 18px rgba(70, 56, 39, 0.06);
  transition: transform var(--transition);
}

.parent-card:hover {
  transform: translateY(-4px);
}

.parent-card h3,
.parent-card-title {
  font-size: 1.05rem;
}

.parent-card p {
  font-size: var(--fs-text-kompakt);
  margin-bottom: 0;
}

/* --- Contact Section --- */
.contact-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 3rem;
}

/* rechte Spalte: die Karte fuellt die Spaltenhoehe, Inhalt bleibt mittig */
.contact-wrapper > div:last-child {
  display: flex;
}

.contact-info h2 {
  text-align: left;
}

.contact-info p {
  font-size: var(--fs-text);
}

.contact-details {
  margin-top: 1.5rem;
}

.contact-detail {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.contact-detail::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-text);
  flex-shrink: 0;
  margin-top: 0.5rem;
}

/* Kontaktliste: feste Markenfarb-Reihenfolge je Angabe (Adresse/Telefon/E-Mail/Betreuungszeiten/Instagram) */
.contact-detail:nth-child(1)::before { background: var(--kk-pink); }
.contact-detail:nth-child(2)::before { background: var(--kk-turquoise); }
.contact-detail:nth-child(3)::before { background: var(--kk-yellow); }
.contact-detail:nth-child(4)::before { background: var(--kk-leaf); }
.contact-detail:nth-child(5)::before { background: var(--kk-peach); }

.contact-detail-text {
  min-width: 0;
}

.contact-detail-text strong {
  display: block;
  font-size: 1rem;
  color: var(--color-text);
  margin-bottom: 0.1rem;
}

.contact-detail-text span,
.contact-detail-text a {
  font-size: 1rem;
  line-height: 1.6;
  color: #574A3C;
  overflow-wrap: anywhere;
}

.contact-form-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--color-white);
  border: 1px solid rgba(70, 56, 39, 0.055);
  border-radius: 24px;
  padding: 2.5rem;
  box-shadow: 0 6px 18px rgba(70, 56, 39, 0.055);
}

.contact-cta {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.75rem;
}

.contact-cta .btn {
  width: 100%;
  justify-content: center;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.form-group {
  margin-bottom: 1.25rem;
}

.form-group label {
  display: block;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 0.4rem;
}

.form-group label .required {
  color: #c0392b;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 1.5px solid var(--color-beige-dark);
  border-radius: var(--border-radius-sm);
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--color-text);
  background: var(--color-cream);
  transition: border-color var(--transition);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--color-green);
  box-shadow: 0 0 0 3px rgba(123, 160, 91, 0.15);
}

.form-group textarea {
  resize: vertical;
  min-height: 120px;
}

.form-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin-bottom: 1.5rem;
}

.form-checkbox input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-top: 0.15rem;
  accent-color: var(--color-green);
  flex-shrink: 0;
  cursor: pointer;
}

.form-checkbox label {
  font-size: 0.85rem;
  color: var(--color-text-light);
  line-height: 1.5;
  cursor: pointer;
}

.form-checkbox label a {
  color: var(--color-green-dark);
  text-decoration: underline;
}

.form-submit {
  width: 100%;
  font-size: 1.05rem;
  justify-content: center;
}

.form-success {
  display: none;
  text-align: center;
  padding: 2rem;
}

.form-success.visible {
  display: block;
}

.form-success h3,
.form-success-title {
  color: var(--color-green-dark);
  margin-bottom: 0.5rem;
}

/* --- Map Button --- */
.map-button {
  margin-top: 1.5rem;
}

/* --- Footer --- */
.footer {
  background-color: var(--color-text);
  color: rgba(255,255,255,0.7);
  padding: 3rem 1.5rem 1.5rem;
}

.footer-inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 2rem;
  max-width: var(--max-width);
  margin: 0 auto;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.footer-brand .logo-text {
  color: var(--color-white);
  font-size: 1.15rem;
  margin-bottom: 0.75rem;
}

.footer-brand .logo-text span {
  color: rgba(255,255,255,0.5);
}

.footer-brand p {
  color: rgba(255,255,255,0.88);
  font-size: 1rem;
}

.footer h4,
.footer-heading {
  color: var(--color-white);
  font-size: 1.0625rem;
  margin-bottom: 1rem;
}

.footer-links {
  list-style: none;
}

.footer-links li {
  margin-bottom: 0.5rem;
}

.footer-links a {
  color: rgba(255,255,255,0.88);
  font-size: 1rem;
  transition: color var(--transition);
}

.footer-links a:hover {
  color: var(--color-white);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: var(--max-width);
  margin: 1.5rem auto 0;
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.4);
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* --- Legal Pages --- */
.legal-page {
  padding: 8rem 1.5rem 4rem;
  max-width: 800px;
  margin: 0 auto;
}

.legal-page h1 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  margin-bottom: 2rem;
}

.legal-page h2 {
  font-size: 1.3rem;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

.legal-page h3 {
  font-size: 1.1rem;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}

.legal-page p,
.legal-page li {
  font-size: var(--fs-text);
  color: var(--color-text-light);
}

.legal-page ul,
.legal-page ol {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}

.legal-page li {
  margin-bottom: 0.4rem;
}

.legal-notice {
  background: var(--color-green-light);
  border-radius: var(--border-radius-sm);
  padding: 1.25rem;
  margin-bottom: 2rem;
  font-size: var(--fs-text-kompakt);
  color: var(--color-text-light);
  border-left: 4px solid var(--color-green);
}

/* --- Animations --- */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* =============================================
   RESPONSIVE: Tablet (1024px)
   ============================================= */
@media (max-width: 1024px) {
  /* Header: CTA-Button ausblenden, Burger-Menü zeigen */
  .header-cta {
    display: none !important;
  }

  .menu-toggle {
    display: flex;
  }

  .nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    max-width: 340px;
    height: 100vh;
    background: var(--color-white);
    flex-direction: column;
    padding: 5rem 2rem 2rem;
    gap: 0;
    box-shadow: var(--shadow-lg);
    transition: right var(--transition);
    overflow-y: auto;
    z-index: 1000;
  }

  .nav.open {
    right: 0;
  }

  .nav a {
    padding: 0.85rem 0;
    font-size: 1.15rem;
    border-bottom: 1px solid var(--color-beige);
    width: 100%;
  }

  .nav a::after {
    display: none;
  }

  .nav-cta {
    display: inline-flex !important;
    margin-top: 1rem;
    border-bottom: none;
    width: auto;
    text-align: center;
    justify-content: center;
  }

  .about-grid,
  .nutrition-content,
  .contact-wrapper {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .about-image {
    order: -1;
  }
}

/* =============================================
   RESPONSIVE: Mobile (768px)
   ============================================= */
@media (max-width: 768px) {
  :root {
    --section-padding: 3.5rem 1rem;
  }

  .header-inner {
    padding: 0.75rem 1rem;
  }

  .mobile-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 999;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition);
  }

  .mobile-overlay.active {
    opacity: 1;
    pointer-events: all;
  }

  .hero {
    min-height: auto;
    padding: 7rem 1rem 3rem;
  }

  .hero h1 {
    font-size: 1.8rem;
  }

  .hero-buttons {
    flex-direction: column;
    align-items: center;
  }

  .trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-highlights {
    grid-template-columns: 1fr 1fr;
  }

  .concept-grid {
    grid-template-columns: 1fr;
  }

  .rooms-gallery {
    grid-template-columns: 1fr;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .contact-form-card {
    padding: 1.5rem;
  }

  .footer-inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .timeline::before {
    left: 20px;
  }

  .timeline-dot {
    margin: 0.55rem 12.5px 0;
  }

  .parents-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .trust-grid {
    grid-template-columns: 1fr;
  }

  .hero {
    padding: 6rem 1rem 2.5rem;
  }

  .logo-text {
    font-size: 0.95rem;
  }
}

/* --- Desktop: Header CTA sichtbar --- */
@media (min-width: 1025px) {
  .header-cta {
    display: inline-flex;
  }

  .menu-toggle {
    display: none;
  }
}

/* Mobile overlay – nur auf Mobilgeräten relevant */
@media (min-width: 769px) {
  .mobile-overlay {
    display: none;
  }
}

/* ============================================
   PHOTO GRID – Aktivitäten & Alltag
   ============================================ */
.photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
}

.photo-item {
  border-radius: var(--border-radius);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  position: relative;
  box-shadow: var(--shadow-sm);
  cursor: default;
}

.photo-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.photo-item:hover img {
  transform: scale(1.07);
}

.photo-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.58));
  color: white;
  padding: 1.75rem 1rem 0.8rem;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.activities-more {
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
  padding: 1.25rem 1.5rem;
  background: var(--color-green-light);
  border-radius: var(--border-radius-sm);
}

.activities-more p {
  margin-bottom: 0;
  font-size: var(--fs-text-kompakt);
  color: var(--color-text-light);
}

/* Portrait: Gesicht oben zeigen */
.about-image img[src*="anna-lena-korb"] {
  object-position: center top;
}

/* Kürbisfeld: Kind im Mittelpunkt halten */
.photo-item img[src*="kuerbisfeld"] {
  object-position: center 40%;
}

/* Kind mit Kuh: Gesicht/Oberkörper sichtbar */
.photo-item img[src*="kind-mit-kuh"] {
  object-position: center 30%;
}

/* Häuser Perspektive: Gebäude vollständig zeigen */
.room-card-img img[src*="haeuser-perspektive"] {
  object-position: center center;
}

/* ============================================
   PRIVATE BETREUUNG SECTION
   ============================================ */
.private-section {
  background: var(--color-text);
}

.section-label-light {
  color: var(--color-green) !important;
}

.text-light {
  color: #FFFFFF !important;
}

.text-light-soft {
  color: rgba(255, 255, 255, 0.82) !important;
}

.private-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.5rem;
  align-items: stretch;
}

.private-card {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--border-radius);
  padding: 2rem;
  transition: all var(--transition);
}

.private-card:hover {
  background: rgba(255, 255, 255, 0.11);
  transform: translateY(-4px);
}

.private-card h3,
.private-card-title {
  color: #FFFFFF;
  font-size: 1.2rem;
  margin-bottom: 0.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(123, 160, 91, 0.35);
}

.price-tag {
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  color: var(--color-green) !important;
  margin-bottom: 0.75rem !important;
  font-family: var(--font-heading);
  line-height: 1.2;
}

.private-card p {
  color: rgba(255, 255, 255, 0.75);
  font-size: 1.02rem;
  line-height: 1.7;
}

.private-list {
  list-style: none;
  margin-top: 1rem;
}

.private-list li {
  padding: 0.5rem 0;
  font-size: var(--fs-text-kompakt);
  color: rgba(255, 255, 255, 0.88);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
}

.private-list li:last-child {
  border-bottom: none;
}

.private-list li::before {
  content: '';
  width: 7px;
  height: 7px;
  min-width: 7px;
  border-radius: 50%;
  background: var(--color-text);
  flex-shrink: 0;
  margin-top: 0.52rem;
}

.private-highlight {
  background: #FFFDF8;
  border-radius: var(--border-radius);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  color: #4A3929;
}

/* Randfarbe gewinnt gegen die spaeter stehende, gleich spezifische
   Sammelregel fuer Kartenraender (.values-panel,...,.private-highlight) */
.private-highlight.private-highlight {
  border-width: 2px !important;
  border-style: solid !important;
  border-color: rgba(226, 155, 113, 0.55) !important;
}

.private-highlight h3,
.private-highlight-title {
  color: #A95523;
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
}

.private-highlight p {
  color: #4A3929;
  font-size: 1.02rem;
  line-height: 1.7;
  margin-bottom: 1.35rem;
}

.private-highlight em {
  color: rgba(74, 57, 41, 0.8);
  font-size: 0.90rem;
}

.btn-private-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 1.8rem;
  border-radius: 50px;
  font-size: 1.0625rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  text-decoration: none;
  background: #FFFFFF;
  color: var(--color-green-dark);
  margin-top: auto;
  transition: all var(--transition);
}

.btn-private-cta:hover {
  background: var(--color-green-light);
  color: var(--color-green-dark);
  transform: translateY(-2px);
}

/* Contact trust text */
.contact-trust-text {
  color: var(--color-text-light);
  margin-bottom: 1.5rem;
}

/* ============================================
   RESPONSIVE – Inhaltsbereiche
   ============================================ */
@media (max-width: 1024px) {
  .private-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .photo-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .private-grid {
    grid-template-columns: 1fr;
  }

  .about-highlights {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .photo-grid {
    grid-template-columns: 1fr;
  }
}

/* --- Print --- */
@media print {
  .header, .contact-form-card, .footer {
    display: none;
  }

  body {
    background: white;
    color: black;
  }

  .section {
    padding: 1.5rem 0;
  }
}

/* Inhalte bleiben sichtbar, falls IntersectionObserver nicht läuft */
.fade-in {
  opacity: 1;
  transform: none;
}

.contact-form-title { font-family: var(--font-accent); font-size: clamp(1.2rem, 2.5vw, 1.5rem); font-weight: 700; margin-bottom: 1rem; color: var(--color-text); }

/* --- Brand logo image --- */
.logo-image {
  width: 165px;
  max-width: 42vw;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.05));
}

.logo-stack {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.logo-title {
  font-family: var(--font-accent);
  font-size: 1rem;
  color: var(--color-text);
  font-weight: 700;
}

.logo-subtitle {
  font-size: 0.95rem;
  color: #574A3C;
}

.hero-trust-line {
  font-family: var(--font-heading);
  font-size: 0.98rem;
  color: rgba(255, 255, 255, 0.92);
  max-width: 720px;
  margin: -0.4rem auto 1.7rem;
}

.values-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 1.6rem;
  align-items: stretch;
}

.values-panel,
.quote-panel {
  background: var(--color-cream);
  border-radius: 20px;
  padding: 2rem;
  box-shadow: var(--shadow-sm);
}

.soft-card-title {
  font-size: 1.35rem;
}

.value-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.35rem;
}

.value-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.72rem 1rem;
  background: var(--color-green-light);
  border: 1px solid rgba(123, 160, 91, 0.14);
  border-radius: 999px;
  font-size: 0.94rem;
  line-height: 1.3;
  color: var(--color-text);
}

.quote-panel blockquote {
  font-family: var(--font-accent);
  font-size: clamp(1.2rem, 2.2vw, 1.6rem);
  color: var(--color-green-dark);
  line-height: 1.5;
  margin: 0 0 1rem;
}

.strengths-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.strength-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem 1.1rem;
  border-radius: 16px;
  background: var(--color-white);
  box-shadow: var(--shadow-sm);
}

.strength-icon {
  display: inline-block;
  width: 7px;
  height: 7px;
  min-width: 7px;
  border-radius: 50%;
  background: var(--color-text);
  margin-top: 0.62rem;
}

/* "Das bringe ich mit": Punktfarbe folgt der bereits vorhandenen Kartenhintergrund-Abfolge */
.strength-item:nth-child(1) .strength-icon, .strength-item:nth-child(6) .strength-icon { background: var(--kk-leaf); }
.strength-item:nth-child(2) .strength-icon, .strength-item:nth-child(8) .strength-icon { background: var(--kk-yellow); }
.strength-item:nth-child(3) .strength-icon, .strength-item:nth-child(5) .strength-icon { background: var(--kk-turquoise); }
.strength-item:nth-child(4) .strength-icon, .strength-item:nth-child(7) .strength-icon, .strength-item:nth-child(9) .strength-icon { background: var(--kk-pink); }

.footer-logo {
  width: 180px;
  max-width: 100%;
  height: auto;
  margin-bottom: 0.9rem;
}

.footer-quote {
  color: rgba(255,255,255,0.82);
  margin-top: -0.2rem;
}

.hero-badge,
.section-label,
.photo-caption,
.logo-title,
.soft-card-title,
.footer-heading {
  letter-spacing: 0.02em;
}

@media (max-width: 980px) {
  .values-grid,
  .strengths-grid {
    grid-template-columns: 1fr;
  }

  .header-inner {
    gap: 0.75rem;
  }

  .logo-image {
    width: 136px;
  }

  .logo-stack {
    display: none;
  }
}

@media (max-width: 640px) {
  .values-panel,
  .quote-panel {
    padding: 1.35rem;
  }

  .value-pill {
    width: 100%;
    justify-content: flex-start;
    border-radius: 14px;
  }

  .hero-trust-line {
    font-size: 0.94rem;
  }
}

/* --- Instagram / Social Linking --- */
.instagram-nav-link {
  color: var(--color-green-dark) !important;
  font-weight: 600 !important;
}

.map-button {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: center;
}

.instagram-contact-button {
  border-color: rgba(123, 160, 91, 0.55);
}

.footer-social {
  margin-top: 0.85rem;
}

.footer-social a {
  display: inline-flex;
  align-items: center;
  color: rgba(255,255,255,0.78);
  font-size: 1rem;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.22);
  padding-bottom: 0.15rem;
}

.footer-social a:hover {
  color: #ffffff;
  border-bottom-color: rgba(255,255,255,0.55);
}

.hero-redesign {
  position: relative;
  min-height: calc(100vh - 88px);
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #f8f3ea;
}

.hero-redesign .hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-redesign .hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.hero-soft-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg,
      rgba(250, 246, 238, 0.96) 0%,
      rgba(250, 246, 238, 0.88) 23%,
      rgba(250, 246, 238, 0.50) 48%,
      rgba(250, 246, 238, 0.08) 72%,
      rgba(250, 246, 238, 0.02) 100%);
}

.hero-redesign-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: clamp(5rem, 9vw, 8rem);
  padding-bottom: clamp(5rem, 9vw, 8rem);
}

.hero-copy {
  width: min(590px, 100%);
  color: #4a2a17;
}

.location-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(92, 120, 59, 0.16);
  color: var(--color-green-dark);
  border-radius: 999px;
  padding: 0.72rem 1.05rem;
  font-weight: 700;
  box-shadow: 0 10px 28px rgba(54, 42, 31, 0.08);
  margin-bottom: 1.55rem;
}

.hero-copy h1 {
  font-family: var(--font-accent);
  font-size: clamp(3rem, 6vw, 4.5rem);
  line-height: 1.18;
  letter-spacing: -0.01em;
  color: #4b2715;
  max-width: 660px;
  margin-bottom: 1.55rem;
}

.hero-lead {
  font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.375rem);
  line-height: 1.78;
  color: #3F2D21;
  max-width: 620px;
  margin-bottom: 1.2rem;
}

.hero-trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.1rem;
  color: var(--color-green-dark);
  font-weight: 700;
  margin: 1.15rem 0 2rem;
}

.hero-trust-list span {
  display: inline-flex;
  align-items: center;
}

.hero-trust-list span + span::before {
  content: "·";
  margin-right: 1.05rem;
  color: rgba(92, 120, 59, 0.55);
}

.hero-redesign .btn-outline {
  background: rgba(255, 255, 255, 0.76);
  border-color: var(--color-green);
  color: var(--color-green-dark);
  backdrop-filter: blur(8px);
}

.hero-redesign .btn-outline:hover {
  background: var(--color-white);
}

/* --- Sticky accessibility widget, bottom-left --- */
.accessibility-widget {
  position: fixed;
  left: max(1rem, env(safe-area-inset-left));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  gap: 0;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(71, 88, 46, 0.15);
  border-radius: 999px;
  box-shadow: 0 12px 34px rgba(43, 34, 24, 0.18);
  overflow: hidden;
  backdrop-filter: blur(12px);
}

.accessibility-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: #3e2d22;
  min-width: 50px;
  height: 50px;
  padding: 0 0.95rem;
  font-weight: 800;
  font-size: 0.98rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.accessibility-btn-large {
  font-size: 1.34rem;
}

.contrast-btn {
  font-size: 1.35rem;
}

.accessibility-btn + .accessibility-btn {
  border-left: 1px solid rgba(71, 88, 46, 0.13);
}

.accessibility-btn:hover,
.accessibility-btn:focus-visible {
  background: var(--color-green-light);
  outline: none;
}

body.font-large {
  font-size: 112%;
}

body.font-large h1,
body.font-large h2,
body.font-large h3 {
  letter-spacing: -0.02em;
}

body.font-small {
  font-size: 94%;
}

body.high-contrast {
  background: #ffffff;
  color: #151515;
}

body.high-contrast .header,
body.high-contrast .section,
body.high-contrast .section-alt,
body.high-contrast .card,
body.high-contrast .values-panel,
body.high-contrast .quote-panel {
  background: #ffffff !important;
  color: #151515 !important;
}

body.high-contrast a,
body.high-contrast .nav a,
body.high-contrast .section-label,
body.high-contrast .hero-trust-list {
  color: #003f1f !important;
}

body.high-contrast .btn-primary,
body.high-contrast .nav-cta {
  background: #003f1f !important;
  color: #ffffff !important;
  border-color: #003f1f !important;
}

body.high-contrast .btn-outline,
body.high-contrast .btn-secondary {
  background: #ffffff !important;
  color: #003f1f !important;
  border: 2px solid #003f1f !important;
}

body.high-contrast .hero-soft-overlay {
  background: linear-gradient(90deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.94) 42%, rgba(255,255,255,0.25) 75%, rgba(255,255,255,0.05) 100%);
}

body.high-contrast .accessibility-widget {
  border: 2px solid #111111;
}

/* Keep animated blocks visible even if JavaScript fails */
.fade-in {
  opacity: 1;
  transform: none;
}

@media (max-width: 980px) {
  .hero-redesign {
    min-height: 720px;
    align-items: flex-end;
  }

  .hero-redesign .hero-bg img {
    object-position: 62% center;
  }

  .hero-soft-overlay {
    background:
      linear-gradient(180deg,
        rgba(250, 246, 238, 0.14) 0%,
        rgba(250, 246, 238, 0.48) 42%,
        rgba(250, 246, 238, 0.98) 100%);
  }

  .hero-redesign-inner {
    padding-top: 16rem;
    padding-bottom: 4.2rem;
  }

  .hero-copy {
    max-width: 100%;
  }

  .hero-copy h1 {
    font-size: clamp(2.55rem, 12vw, 4rem);
    max-width: 520px;
  }

  .hero-lead {
    max-width: 560px;
  }
}

@media (max-width: 640px) {
  .hero-redesign {
    min-height: 690px;
  }

  .hero-redesign .hero-bg img {
    object-position: 67% top;
  }

  .hero-redesign-inner {
    padding-top: 18rem;
    padding-bottom: 3.2rem;
  }

  .location-pill {
    padding: 0.62rem 0.9rem;
    margin-bottom: 1rem;
    font-size: 1rem;
  }

  .hero-copy h1 {
    font-size: clamp(2.35rem, 12vw, 3.35rem);
    line-height: 1;
    margin-bottom: 1rem;
  }

  .hero-lead {
    font-size: 1.15rem;
    line-height: 1.58;
  }

  .hero-trust-list {
    gap: 0.45rem 0.7rem;
    margin-bottom: 1.35rem;
    font-size: 1rem;
  }

  .hero-trust-list span + span::before {
    margin-right: 0.65rem;
  }

  .hero-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
    max-width: 320px;
  }

  .accessibility-btn {
    min-width: 46px;
    height: 46px;
  }

  .accessibility-widget {
    left: 0.85rem;
    bottom: 0.85rem;
  }
}

.accessibility-widget {
  display: none !important;
}

.accessibility-pill {
  position: fixed;
  left: max(1rem, env(safe-area-inset-left));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 10000;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  background: #2f2d28;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  box-shadow:
    0 18px 42px rgba(47, 45, 40, 0.34),
    0 5px 16px rgba(47, 45, 40, 0.18);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.accessibility-pill-btn {
  appearance: none;
  border: 0;
  margin: 0;
  min-width: 74px;
  height: 56px;
  background: transparent;
  color: #f7f3ea;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  font-weight: 800;
  line-height: 1;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.accessibility-font-btn {
  font-size: 1.28rem;
  letter-spacing: -0.05em;
}

.accessibility-contrast-btn {
  min-width: 66px;
  border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.accessibility-pill-btn:hover,
.accessibility-pill-btn:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  outline: none;
}

.accessibility-pill-btn:active {
  transform: scale(0.97);
}

.contrast-circle {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 3px solid #f7f3ea;
  background: linear-gradient(90deg, #f7f3ea 0 50%, transparent 50% 100%);
  display: inline-block;
}

body.font-large {
  font-size: 112%;
}

body.font-small {
  font-size: 94%;
}

body.high-contrast .accessibility-pill {
  background: #000000;
  border-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(255,255,255,0.2), 0 18px 42px rgba(0,0,0,0.35);
}

body.high-contrast .contrast-circle {
  border-color: #ffffff;
  background: linear-gradient(90deg, #ffffff 0 50%, #000000 50% 100%);
}

@media (max-width: 640px) {
  .accessibility-pill {
    left: max(0.85rem, env(safe-area-inset-left));
    bottom: max(0.85rem, env(safe-area-inset-bottom));
  }

  .accessibility-pill-btn {
    height: 52px;
    min-width: 68px;
  }

  .accessibility-contrast-btn {
    min-width: 62px;
  }

  .contrast-circle {
    width: 26px;
    height: 26px;
  }
}

/* --- Legal accessibility page refinements --- */
.legal-page ul,
.legal-page ol {
  padding-left: 1.35rem;
  margin: 1rem 0 1.5rem;
}
.legal-page li {
  margin-bottom: 0.55rem;
}
:focus-visible {
  outline: 3px solid rgba(92, 120, 59, 0.75);
  outline-offset: 4px;
}

body .hero-redesign {
  min-height: calc(100vh - 88px) !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background: #f8f3ea !important;
}

body .hero-redesign .hero-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}

body .hero-redesign .hero-bg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

body .hero-redesign .hero-soft-overlay,
body .hero-soft-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg,
      rgba(250, 246, 238, 0.98) 0%,
      rgba(250, 246, 238, 0.90) 25%,
      rgba(250, 246, 238, 0.50) 50%,
      rgba(250, 246, 238, 0.12) 75%,
      rgba(250, 246, 238, 0.04) 100%) !important;
}

body .hero-redesign .hero-redesign-inner {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  padding-top: calc(clamp(5rem, 9vw, 8rem) + var(--announce-h, 0px)) !important;
  padding-bottom: clamp(5rem, 9vw, 8rem) !important;
}

body .hero-redesign .hero-copy {
  width: min(590px, 100%) !important;
  max-width: 590px !important;
  text-align: left !important;
  color: #4a2a17 !important;
  margin: 0 !important;
}

body .hero-redesign .location-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(92, 120, 59, 0.16) !important;
  color: var(--color-green-dark) !important;
  border-radius: 999px !important;
  padding: 0.72rem 1.05rem !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 28px rgba(54, 42, 31, 0.08) !important;
  margin: 0 0 1.55rem 0 !important;
}

body .hero-redesign .hero-copy h1 {
  font-family: var(--font-accent) !important;
  font-size: clamp(3rem, 6vw, 4.5rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.01em !important;
  color: #4b2715 !important;
  max-width: 660px !important;
  margin: 0 0 1.55rem 0 !important;
  text-align: left !important;
  text-shadow: none !important;
}

body .hero-redesign .hero-lead {
  font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.375rem)!important;
  line-height: 1.78 !important;
  color: #3F2D21 !important;
  max-width: 620px !important;
  margin: 0 0 1.2rem 0 !important;
  text-align: left !important;
  text-shadow: none !important;
}

body .hero-redesign .hero-trust-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.65rem 1.1rem !important;
  color: var(--color-green-dark) !important;
  font-weight: 700 !important;
  margin: 1.15rem 0 2rem !important;
  text-align: left !important;
}

body .hero-redesign .hero-trust-list span {
  display: inline-flex !important;
  align-items: center !important;
}

body .hero-redesign .hero-trust-list span + span::before {
  content: "·" !important;
  margin-right: 1.05rem !important;
  color: rgba(92, 120, 59, 0.55) !important;
}

body .hero-redesign .hero-buttons {
  justify-content: flex-start !important;
  text-align: left !important;
}

body .hero-redesign .btn-outline {
  background: rgba(255, 255, 255, 0.78) !important;
  border: 2px solid var(--color-green) !important;
  color: var(--color-green-dark) !important;
  backdrop-filter: blur(8px) !important;
}

.hero-redesign {
  position: relative !important;
  min-height: calc(100vh - 88px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
  background: #f8f3ea !important;
}
.hero-redesign .hero-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}
.hero-redesign .hero-bg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}
.hero-redesign .hero-soft-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(90deg, rgba(250,246,238,.98) 0%, rgba(250,246,238,.92) 28%, rgba(250,246,238,.54) 52%, rgba(250,246,238,.12) 78%, rgba(250,246,238,.04) 100%) !important;
}
.hero-redesign .hero-redesign-inner {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  padding-top: calc(clamp(5rem, 9vw, 8rem) + var(--announce-h, 0px)) !important;
  padding-bottom: clamp(5rem, 9vw, 8rem) !important;
}
.hero-redesign .hero-copy {
  width: min(590px, 100%) !important;
  max-width: 590px !important;
  text-align: left !important;
  color: #4a2a17 !important;
  margin: 0 !important;
}
.hero-redesign .location-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: .55rem !important;
  background: rgba(255,255,255,.9) !important;
  border: 1px solid rgba(92,120,59,.16) !important;
  color: #5c783b !important;
  border-radius: 999px !important;
  padding: .72rem 1.05rem !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 28px rgba(54,42,31,.08) !important;
  margin: 0 0 1.55rem 0 !important;
}
.hero-redesign .hero-copy h1 {
  font-family: var(--font-accent, Georgia, serif) !important;
  font-size: clamp(3rem, 6vw, 4.5rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -.01em !important;
  color: #4b2715 !important;
  max-width: 660px !important;
  margin: 0 0 1.55rem 0 !important;
  text-align: left !important;
  text-shadow: none !important;
}
.hero-redesign .hero-lead {
  font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.375rem)!important;
  line-height: 1.72 !important;
  color: rgba(64,46,34,.88) !important;
  max-width: 610px !important;
  margin: 0 0 1.2rem 0 !important;
  text-align: left !important;
  text-shadow: none !important;
}
.hero-redesign .hero-trust-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .65rem 1.1rem !important;
  color: #5c783b !important;
  font-weight: 700 !important;
  margin: 1.15rem 0 2rem !important;
  text-align: left !important;
}
.hero-redesign .hero-trust-list span + span::before {
  content: "·" !important;
  margin-right: 1.05rem !important;
  color: rgba(92,120,59,.55) !important;
}
.hero-redesign .hero-buttons {
  justify-content: flex-start !important;
  text-align: left !important;
}
.hero-redesign .btn-outline {
  background: rgba(255,255,255,.78) !important;
  border: 2px solid #7ba05b !important;
  color: #5c783b !important;
  backdrop-filter: blur(8px) !important;
}

.accessibility-widget {
  display: none !important;
}
.accessibility-pill {
  position: fixed !important;
  left: max(1.15rem, env(safe-area-inset-left)) !important;
  bottom: max(1.15rem, env(safe-area-inset-bottom)) !important;
  z-index: 2147483647 !important;
  display: inline-flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background: #2f2d28 !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 999px !important;
  box-shadow: 0 18px 42px rgba(47,45,40,.34), 0 5px 16px rgba(47,45,40,.18) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.accessibility-pill-btn {
  appearance: none !important;
  border: 0 !important;
  margin: 0 !important;
  min-width: 74px !important;
  height: 56px !important;
  background: transparent !important;
  color: #f7f3ea !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: Arial, sans-serif !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
.accessibility-font-btn {
  font-size: 1.28rem !important;
  letter-spacing: -.05em !important;
}
.accessibility-contrast-btn {
  min-width: 66px !important;
  border-left: 1px solid rgba(255,255,255,.15) !important;
}
.contrast-circle {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  border: 3px solid #f7f3ea !important;
  background: linear-gradient(90deg, #f7f3ea 0 50%, transparent 50% 100%) !important;
  display: inline-block !important;
}
body.font-large {
  font-size: 112% !important;
}
body.font-small {
  font-size: 94% !important;
}
body.high-contrast {
  background: #fff !important;
  color: #111 !important;
}
body.high-contrast .accessibility-pill {
  background: #000 !important;
  border-color: #fff !important;
}
body.high-contrast .contrast-circle {
  border-color: #fff !important;
  background: linear-gradient(90deg, #fff 0 50%, #000 50% 100%) !important;
}
@media (hover: none), (max-width: 980px) {
  .accessibility-pill {
    bottom: max(5.4rem, env(safe-area-inset-bottom)) !important;
    left: max(1rem, env(safe-area-inset-left)) !important;
  }
}
@media (max-width: 980px) {
  .hero-redesign {
    min-height: 720px !important;
    align-items: flex-end !important;
  }
  .hero-redesign .hero-bg img {
    object-position: 64% center !important;
  }
  .hero-redesign .hero-soft-overlay {
    background: linear-gradient(180deg, rgba(250,246,238,.08) 0%, rgba(250,246,238,.38) 38%, rgba(250,246,238,.98) 100%) !important;
  }
  .hero-redesign .hero-redesign-inner {
    align-items: flex-end !important;
    padding-top: 15rem !important;
    padding-bottom: 4rem !important;
  }
  .hero-redesign .hero-copy h1 {
    font-size: clamp(2.55rem, 12vw, 4rem) !important;
    max-width: 520px !important;
  }
}
@media (max-width: 640px) {
  .hero-redesign {
    min-height: 690px !important;
  }
  .hero-redesign .hero-bg img {
    object-position: 68% top !important;
  }
  .hero-redesign .hero-redesign-inner {
    padding-top: 17rem !important;
    padding-bottom: 3.2rem !important;
  }
  .hero-redesign .hero-copy h1 {
    font-size: clamp(2.35rem, 12vw, 3.35rem) !important;
    line-height: 1 !important;
    margin-bottom: 1rem !important;
  }
  .hero-redesign .hero-lead {
    font-size: 1.15rem!important;
    line-height: 1.58 !important;
  }
  .hero-redesign .hero-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .85rem !important;
    max-width: 320px !important;
  }
  .accessibility-pill-btn {
    height: 52px !important;
    min-width: 68px !important;
  }
  .accessibility-contrast-btn {
    min-width: 62px !important;
  }
  .contrast-circle {
    width: 26px !important;
    height: 26px !important;
  }
}

html.font-large {
  font-size: 112% !important;
}

html.font-small {
  font-size: 94% !important;
}

body.font-large {
  font-size: 112% !important;
}

body.font-small {
  font-size: 94% !important;
}

.hero-redesign {
  position: relative !important;
  min-height: calc(100vh - 88px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
  background: #f8f3ea !important;
}

.hero-redesign .hero-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}

.hero-redesign .hero-bg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

.hero-redesign .hero-soft-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(90deg, rgba(250,246,238,.98) 0%, rgba(250,246,238,.92) 28%, rgba(250,246,238,.54) 52%, rgba(250,246,238,.12) 78%, rgba(250,246,238,.04) 100%) !important;
}

.hero-redesign .hero-redesign-inner {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  padding-top: calc(clamp(5rem, 9vw, 8rem) + var(--announce-h, 0px)) !important;
  padding-bottom: clamp(5rem, 9vw, 8rem) !important;
}

.hero-redesign .hero-copy {
  width: min(590px, 100%) !important;
  max-width: 590px !important;
  text-align: left !important;
  color: #4a2a17 !important;
  margin: 0 !important;
}

.hero-redesign .location-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: .55rem !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(92,120,59,.16) !important;
  color: #5c783b !important;
  border-radius: 999px !important;
  padding: .72rem 1.05rem !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 28px rgba(54,42,31,.08) !important;
  margin: 0 0 1.55rem 0 !important;
}

.hero-redesign .location-pill .location-icon {
  display: none !important;
}

.hero-redesign .hero-copy h1 {
  font-family: var(--font-accent, Georgia, serif) !important;
  font-size: clamp(3rem, 6vw, 4.5rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -.01em !important;
  color: #4b2715 !important;
  max-width: 660px !important;
  margin: 0 0 1.55rem 0 !important;
  text-align: left !important;
  text-shadow: none !important;
}

.hero-redesign .hero-lead {
  font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.375rem)!important;
  line-height: 1.72 !important;
  color: rgba(64,46,34,.88) !important;
  max-width: 610px !important;
  margin: 0 0 1.2rem 0 !important;
  text-align: left !important;
  text-shadow: none !important;
}

.hero-redesign .hero-trust-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .65rem 1.1rem !important;
  color: #5c783b !important;
  font-weight: 700 !important;
  margin: 1.15rem 0 2rem !important;
  text-align: left !important;
}

.hero-redesign .hero-trust-list span + span::before {
  content: "·" !important;
  margin-right: 1.05rem !important;
  color: rgba(92,120,59,.55) !important;
}

.hero-redesign .hero-buttons {
  justify-content: flex-start !important;
  text-align: left !important;
}

.hero-redesign .btn-outline {
  background: rgba(255,255,255,.78) !important;
  border: 2px solid #7ba05b !important;
  color: #5c783b !important;
  backdrop-filter: blur(8px) !important;
}

.accessibility-widget {
  display: none !important;
}

/* Compact sticky accessibility pill, bottom-left */
.accessibility-pill {
  position: fixed !important;
  left: max(.65rem, env(safe-area-inset-left)) !important;
  bottom: max(.65rem, env(safe-area-inset-bottom)) !important;
  z-index: 2147483647 !important;
  display: inline-flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background: #2f2d28 !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 28px rgba(47,45,40,.28), 0 4px 10px rgba(47,45,40,.18) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

.accessibility-pill-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  margin: 0 !important;
  min-width: 56px !important;
  width: 56px !important;
  height: 42px !important;
  background: transparent !important;
  color: #f7f3ea !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: Arial, sans-serif !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  border-radius: 0 !important;
}

.accessibility-font-btn {
  font-size: 1.02rem !important;
  letter-spacing: -.05em !important;
}

.accessibility-contrast-btn {
  min-width: 50px !important;
  width: 50px !important;
  border-left: 1px solid rgba(255,255,255,.16) !important;
}

.contrast-circle {
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  border: 2.5px solid #f7f3ea !important;
  background: linear-gradient(90deg, #f7f3ea 0 50%, transparent 50% 100%) !important;
  display: inline-block !important;
}

.accessibility-pill-btn:hover,
.accessibility-pill-btn:focus-visible {
  background: rgba(255,255,255,.10) !important;
  outline: none !important;
}

.accessibility-pill-btn[aria-pressed="true"] {
  background: rgba(255,255,255,.14) !important;
}

html.high-contrast body,
body.high-contrast {
  background: #ffffff !important;
  color: #111111 !important;
}

html.high-contrast .header,
body.high-contrast .header {
  background: #ffffff !important;
  border-bottom: 2px solid #111111 !important;
}

html.high-contrast .hero-redesign .hero-soft-overlay,
body.high-contrast .hero-redesign .hero-soft-overlay {
  background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 42%, rgba(255,255,255,.64) 72%, rgba(255,255,255,.18) 100%) !important;
}

html.high-contrast .hero-redesign .hero-copy h1,
html.high-contrast .hero-redesign .hero-lead,
html.high-contrast .hero-redesign .location-pill,
body.high-contrast .hero-redesign .hero-copy h1,
body.high-contrast .hero-redesign .hero-lead,
body.high-contrast .hero-redesign .location-pill {
  color: #111111 !important;
}

html.high-contrast a,
html.high-contrast .nav a,
body.high-contrast a,
body.high-contrast .nav a {
  color: #004b22 !important;
}

html.high-contrast .btn-primary,
html.high-contrast .nav-cta,
body.high-contrast .btn-primary,
body.high-contrast .nav-cta {
  background: #004b22 !important;
  color: #ffffff !important;
  border-color: #004b22 !important;
}

html.high-contrast .btn-outline,
html.high-contrast .btn-secondary,
body.high-contrast .btn-outline,
body.high-contrast .btn-secondary {
  background: #ffffff !important;
  color: #004b22 !important;
  border: 2px solid #004b22 !important;
}

html.high-contrast .accessibility-pill,
body.high-contrast .accessibility-pill {
  background: #000000 !important;
  border-color: #ffffff !important;
  box-shadow: 0 0 0 2px #ffffff, 0 12px 28px rgba(0,0,0,.35) !important;
}

html.high-contrast .contrast-circle,
body.high-contrast .contrast-circle {
  border-color: #ffffff !important;
  background: linear-gradient(90deg, #ffffff 0 50%, #000000 50% 100%) !important;
}

@media (max-width: 980px) {
  .hero-redesign {
    min-height: 720px !important;
    align-items: flex-end !important;
  }
  .hero-redesign .hero-bg img {
    object-position: 64% center !important;
  }
  .hero-redesign .hero-soft-overlay {
    background: linear-gradient(180deg, rgba(250,246,238,.08) 0%, rgba(250,246,238,.38) 38%, rgba(250,246,238,.98) 100%) !important;
  }
  .hero-redesign .hero-redesign-inner {
    align-items: flex-end !important;
    padding-top: 15rem !important;
    padding-bottom: 4rem !important;
  }
  .hero-redesign .hero-copy h1 {
    font-size: clamp(2.55rem, 12vw, 4rem) !important;
    max-width: 520px !important;
  }
  .accessibility-pill {
    left: max(.55rem, env(safe-area-inset-left)) !important;
    bottom: max(.55rem, env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 640px) {
  .hero-redesign {
    min-height: 690px !important;
  }
  .hero-redesign .hero-bg img {
    object-position: 68% top !important;
  }
  .hero-redesign .hero-redesign-inner {
    padding-top: 17rem !important;
    padding-bottom: 3.2rem !important;
  }
  .hero-redesign .location-pill {
    padding: .62rem .9rem !important;
    margin-bottom: 1rem !important;
    font-size: 1rem!important;
  }
  .hero-redesign .hero-copy h1 {
    font-size: clamp(2.35rem, 12vw, 3.35rem) !important;
    line-height: 1 !important;
    margin-bottom: 1rem !important;
  }
  .hero-redesign .hero-lead {
    font-size: 1.15rem!important;
    line-height: 1.58 !important;
  }
  .hero-redesign .hero-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .85rem !important;
    max-width: 320px !important;
  }
  .accessibility-pill-btn {
    height: 40px !important;
    min-width: 52px !important;
    width: 52px !important;
  }
  .accessibility-contrast-btn {
    min-width: 48px !important;
    width: 48px !important;
  }
  .contrast-circle {
    width: 21px !important;
    height: 21px !important;
  }
}

html{font-size:100%!important}html.font-small{font-size:94%!important}html[data-font-size="normal"]{font-size:100%!important}html[data-font-size="large"]{font-size:112%!important}body.font-small,body.font-large{font-size:inherit!important}
html:not([data-contrast="high"]) .hero-redesign .hero-soft-overlay{background:linear-gradient(90deg,rgba(250,246,238,.98) 0%,rgba(250,246,238,.92) 28%,rgba(250,246,238,.54) 52%,rgba(250,246,238,.12) 78%,rgba(250,246,238,.04) 100%)!important}
.hero-redesign .location-pill .location-icon{display:none!important}.hero-redesign .location-pill{gap:0!important}
.accessibility-widget{display:none!important}.accessibility-pill{position:fixed!important;left:max(.7rem,env(safe-area-inset-left))!important;bottom:max(.7rem,env(safe-area-inset-bottom))!important;z-index:2147483647!important;display:inline-flex!important;align-items:center!important;overflow:hidden!important;background:rgba(55,48,39,.96)!important;border:1px solid rgba(123,160,91,.28)!important;border-radius:999px!important;box-shadow:0 12px 28px rgba(47,45,40,.23),0 3px 8px rgba(47,45,40,.16)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
.accessibility-pill-btn{appearance:none!important;-webkit-appearance:none!important;border:0!important;margin:0!important;min-width:50px!important;width:50px!important;height:38px!important;background:transparent!important;color:#f6efe3!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:Arial,sans-serif!important;font-weight:800!important;line-height:1!important;border-radius:0!important}.accessibility-font-btn{font-size:1rem!important;letter-spacing:-.04em!important}.accessibility-contrast-btn{min-width:44px!important;width:44px!important;border-left:1px solid rgba(246,239,227,.16)!important}.contrast-circle{width:20px!important;height:20px!important;border-radius:50%!important;border:2.2px solid #f6efe3!important;background:linear-gradient(90deg,#f6efe3 0 50%,transparent 50% 100%)!important;display:inline-block!important}.accessibility-pill-btn:hover,.accessibility-pill-btn:focus-visible{background:rgba(255,255,255,.1)!important;outline:none!important}.accessibility-pill-btn[aria-pressed="true"]{background:rgba(123,160,91,.22)!important}
html[data-contrast="high"] body{background:#fff!important;color:#000!important}html[data-contrast="high"] .header{background:#fff!important;border-bottom:2px solid #000!important}html[data-contrast="high"] .hero-redesign .hero-soft-overlay{background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 44%,rgba(255,255,255,.68) 72%,rgba(255,255,255,.18) 100%)!important}html[data-contrast="high"] h1,html[data-contrast="high"] h2,html[data-contrast="high"] h3,html[data-contrast="high"] p,html[data-contrast="high"] li,html[data-contrast="high"] .hero-redesign .hero-copy h1,html[data-contrast="high"] .hero-redesign .hero-lead,html[data-contrast="high"] .hero-redesign .location-pill,html[data-contrast="high"] .hero-redesign .hero-trust-list{color:#000!important;text-shadow:none!important}html[data-contrast="high"] a,html[data-contrast="high"] .nav a{color:#003f1f!important;text-decoration-thickness:2px!important}html[data-contrast="high"] .btn-primary,html[data-contrast="high"] .nav-cta{background:#003f1f!important;color:#fff!important;border:2px solid #003f1f!important}html[data-contrast="high"] .btn-outline,html[data-contrast="high"] .btn-secondary{background:#fff!important;color:#003f1f!important;border:2px solid #003f1f!important}html[data-contrast="high"] .card,html[data-contrast="high"] .section,html[data-contrast="high"] .section-alt,html[data-contrast="high"] .contact-card,html[data-contrast="high"] .value-card,html[data-contrast="high"] .timeline-item,html[data-contrast="high"] .price-card{background:#fff!important;color:#000!important;border-color:#000!important}html[data-contrast="high"] .footer{background:#000!important;color:#fff!important}html[data-contrast="high"] .footer a,html[data-contrast="high"] .footer p{color:#fff!important}html[data-contrast="high"] .accessibility-pill{background:#000!important;border:2px solid #fff!important;box-shadow:0 0 0 2px #000,0 12px 28px rgba(0,0,0,.35)!important}html[data-contrast="high"] .contrast-circle{border-color:#fff!important;background:linear-gradient(90deg,#fff 0 50%,#000 50% 100%)!important}
.instagram-nav-link,.instagram-link-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#5c783b!important;text-decoration:none!important}.instagram-nav-link{width:36px!important;height:36px!important;border-radius:999px!important}.instagram-nav-link:hover,.instagram-link-icon:hover{background:rgba(123,160,91,.12)!important}.instagram-icon{width:22px!important;height:22px!important;fill:currentColor!important;display:block!important}.footer .instagram-icon{width:20px!important;height:20px!important;margin-right:.45rem!important}.footer-instagram-handle{font-size:1rem!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.route-buttons{display:flex!important;flex-wrap:wrap!important;gap:.75rem!important;margin-top:1rem!important}.route-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:.75rem 1.25rem!important;border-radius:50px!important;border:2px solid rgba(123,160,91,.5)!important;background:#fff!important;color:#4f6b39!important;font-weight:700!important;text-decoration:none!important}.route-button:hover{background:#fff!important;border-color:#7ba05b!important}
.cookie-banner{position:fixed!important;left:max(1rem,env(safe-area-inset-left))!important;right:max(1rem,env(safe-area-inset-right))!important;bottom:max(4.4rem,env(safe-area-inset-bottom))!important;z-index:2147483000!important;display:none;max-width:760px!important;margin:0 auto!important;background:rgba(255,255,255,.98)!important;border:1px solid rgba(63,48,34,.16)!important;border-radius:22px!important;box-shadow:0 18px 50px rgba(47,45,40,.22)!important;padding:1.1rem!important;color:#3e2d22!important}.cookie-banner.is-visible{display:block!important}.cookie-banner p{margin:.35rem 0 1rem!important;line-height:1.55!important;color:#3e2d22!important}.cookie-actions{display:flex!important;flex-wrap:wrap!important;gap:.65rem!important}.cookie-actions button,.cookie-actions a{border-radius:999px!important;padding:.72rem 1rem!important;font-weight:700!important;cursor:pointer!important;text-decoration:none!important;border:1px solid #5c7a42!important;font-size:1rem}.cookie-accept{background:#5c7a42!important;color:#fff!important}.cookie-necessary{background:#fff!important;color:#5c783b!important}.cookie-actions a{background:transparent!important;color:#5c783b!important}html[data-contrast="high"] .cookie-banner{background:#fff!important;border:2px solid #000!important}
@media(max-width:640px){.accessibility-pill{left:max(.45rem,env(safe-area-inset-left))!important;bottom:max(.45rem,env(safe-area-inset-bottom))!important}.accessibility-pill-btn{min-width:46px!important;width:46px!important;height:36px!important}.accessibility-contrast-btn{min-width:42px!important;width:42px!important}.contrast-circle{width:19px!important;height:19px!important}.cookie-banner{bottom:max(3.7rem,env(safe-area-inset-bottom))!important;padding:1rem!important}}

:root {
  --font-body:'Coming Soon','Segoe Print','Bradley Hand','Chalkboard SE','Comic Sans MS',cursive!important;
  --font-heading:'Coming Soon','Segoe Print','Bradley Hand','Chalkboard SE','Comic Sans MS',cursive!important;
  --font-accent:'Coming Soon','Segoe Print','Bradley Hand','Chalkboard SE','Comic Sans MS',cursive!important;
  --kk-pink: #d97b93;
  --kk-turquoise: #4aa6a6;
  --kk-yellow: #e9a83b;
  --kk-leaf: #7ba05b;
  --kk-brown: #463827;
  --kk-cream: #fff9ef;
  --kk-sage-soft: #f4f8f0;
  --kk-pink-text: #af4c69;
  --kk-turquoise-text: #2a7777;
  --kk-leaf-text: #58753f;
  --kk-yellow-text: #916311;
  --kk-peach-text: #a95523;
}
html{font-size:100%!important}html.font-small{font-size:94%!important}
html[data-font-size="normal"] { font-size:100%!important; }
html[data-font-size="large"] { font-size:112%!important; }
body { font-family:var(--font-body)!important; background:#fffaf2!important; }
p, li, input, textarea, button, label, a { font-family:var(--font-body)!important; }
h1,h2,h3,h4,.card-heading,.section-label,.logo-title,.photo-caption,.price-tag {letter-spacing:.01em; }
h2 { color:var(--kk-brown)!important; }
.section { padding: clamp(4.8rem, 8.5vw, 7rem) 1.5rem!important; }
.section:nth-of-type(odd) { background:#fffaf2!important; }
.section-alt { background:#f7efe3!important; }
.section-green, .warm-play-section { background:var(--kk-sage-soft)!important; }
.section-header { max-width:760px!important; margin-bottom:2.35rem!important; }
.section-header p { max-width:650px; margin-left:auto; margin-right:auto; font-size:var(--fs-text)!important; }
.section-label { color:#006b56!important; font-weight:900!important; }
.section-label::after { content:""; display:block; width:46px; height:4px; border-radius:99px; margin:.4rem auto 0; background:linear-gradient(90deg,var(--kk-pink),var(--kk-yellow),var(--kk-turquoise)); }
.about-text p, .values-panel p, .quote-panel p, .concept-card p, .nutrition-content p, .room-card-text p, .private-card p, .contact-info p { line-height:1.72!important; }
.about-grid { align-items:center!important; }
.about-text p:nth-of-type(n+4) { display:none!important; }
.about-badges { gap:.65rem!important; margin-top:1.4rem!important; }
.about-badge { background:#fff!important; border:1px solid rgba(123,160,91,.22); border-radius:999px; padding:.48rem .72rem; }
.values-panel,.quote-panel,.concept-card,.room-card,.private-card,.private-highlight { border-radius:24px!important; box-shadow:0 6px 18px rgba(70,56,39,.055)!important; border:1px solid rgba(70,56,39,.055)!important; }
.values-panel { background:linear-gradient(135deg,#fff 0%,#fff7f8 100%)!important; }
.quote-panel { background:linear-gradient(135deg,#fff 0%,#f3fbf7 100%)!important; }
.value-pill:nth-child(3n+1) { background:#fde8ef!important; color:#8a3850!important; }
.value-pill:nth-child(3n+2) { background:#e8f5f2!important; color:#236f6d!important; }
.value-pill:nth-child(3n+3) { background:#fff0cd!important; color:#855716!important; }
.concept-grid { gap:1.35rem!important; }
.concept-card { background:#fff!important; position:relative; overflow:hidden; padding:1.75rem!important; }
.concept-card::before { content:""; position:absolute; inset:0 auto auto 0; width:9px; height:100%; background:var(--kk-leaf); opacity:.85; }
.concept-card:nth-child(2)::before { background:var(--kk-turquoise); }
.concept-card:nth-child(3)::before { background:var(--kk-yellow); }
.concept-card:nth-child(4)::before { background:var(--kk-pink); }
.concept-card:nth-child(5)::before { background:#6fbf73; }
.concept-card:nth-child(6)::before { background:#c67c3a; }
.concept-card-title,.private-card-title,.room-card-title,.soft-card-title { color:#3f2c1b!important; font-weight:900!important; }
.nutrition-content { gap:3rem!important; }
.nutrition-list li { background:#fff!important; border:1px solid rgba(70,56,39,.08)!important; border-radius:18px!important; padding:.82rem 1rem!important; margin-bottom:.65rem!important; box-shadow:0 6px 18px rgba(70,56,39,.04); }
.rooms-gallery { grid-template-columns:repeat(auto-fit,minmax(min(250px, 100%), 1fr))!important; }
.room-card-img,.photo-item { background:#f4eadb!important; }
.room-card img,.photo-item img { min-width:100%; min-height:100%; object-fit:cover!important; }
.room-card:nth-child(4n+1) .room-card-text { background:#fff7f8!important; }
.room-card:nth-child(4n+2) .room-card-text { background:#eef9f6!important; }
.room-card:nth-child(4n+3) .room-card-text { background:#fff4d8!important; }
.room-card:nth-child(4n+4) .room-card-text { background:#edf5e8!important; }
.photo-grid { gap:1.15rem!important; }
.photo-caption { background:linear-gradient(transparent,rgba(58,42,27,.68))!important; font-weight:900!important; font-size:1rem!important; }
.activities-more { background:#fff0cd!important; border:1px solid rgba(233,168,59,.28)!important; }
.private-section .section-label { color:#e9d28a!important; }
.private-section .section-label::after { background:linear-gradient(90deg,#e9d28a,#7ba05b,#4aa6a6)!important; }
.price-tag { color:#fff5cf!important; font-size:1.45rem!important; font-weight:900!important; }
.accessibility-widget{display:none!important}
.accessibility-pill{position:fixed!important;left:max(.7rem,env(safe-area-inset-left))!important;bottom:max(.7rem,env(safe-area-inset-bottom))!important;z-index:2147483647!important;display:inline-flex!important;align-items:center!important;overflow:hidden!important;background:rgba(55,48,39,.96)!important;border:1px solid rgba(123,160,91,.28)!important;border-radius:999px!important;box-shadow:0 12px 28px rgba(47,45,40,.23),0 3px 8px rgba(47,45,40,.16)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
.accessibility-pill-btn{appearance:none!important;-webkit-appearance:none!important;border:0!important;margin:0!important;min-width:50px!important;width:50px!important;height:38px!important;background:transparent!important;color:#f6efe3!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:Arial,sans-serif!important;font-weight:800!important;line-height:1!important;border-radius:0!important}
.accessibility-font-btn{font-size:1rem!important;letter-spacing:-.04em!important}
.accessibility-contrast-btn{min-width:44px!important;width:44px!important;border-left:1px solid rgba(246,239,227,.16)!important}
.contrast-circle{width:20px!important;height:20px!important;border-radius:50%!important;border:2.2px solid #f6efe3!important;background:linear-gradient(90deg,#f6efe3 0 50%,transparent 50% 100%)!important;display:inline-block!important}
.accessibility-pill-btn[aria-pressed="true"]{background:rgba(123,160,91,.22)!important}
html:not([data-contrast="high"]) .hero-redesign .hero-soft-overlay{background:linear-gradient(90deg,rgba(250,246,238,.98) 0%,rgba(250,246,238,.92) 28%,rgba(250,246,238,.54) 52%,rgba(250,246,238,.12) 78%,rgba(250,246,238,.04) 100%)!important}
html[data-contrast="high"] body{background:#fff!important;color:#000!important}
html[data-contrast="high"] .hero-redesign .hero-soft-overlay{background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 44%,rgba(255,255,255,.68) 72%,rgba(255,255,255,.18) 100%)!important}
html[data-contrast="high"] h1,html[data-contrast="high"] h2,html[data-contrast="high"] h3,html[data-contrast="high"] p,html[data-contrast="high"] li,html[data-contrast="high"] .hero-redesign .hero-copy h1,html[data-contrast="high"] .hero-redesign .hero-lead,html[data-contrast="high"] .hero-redesign .location-pill,html[data-contrast="high"] .hero-redesign .hero-trust-list{color:#000!important;text-shadow:none!important}
html[data-contrast="high"] .private-section,html[data-contrast="high"] .footer{background:#000!important;color:#fff!important}
html[data-contrast="high"] .private-section h2,html[data-contrast="high"] .private-section p,html[data-contrast="high"] .private-section li,html[data-contrast="high"] .private-card-title,html[data-contrast="high"] .private-highlight-title,html[data-contrast="high"] .footer a,html[data-contrast="high"] .footer p{color:#fff!important}
html[data-contrast="high"] .private-card,html[data-contrast="high"] .private-highlight{background:#111!important;border:2px solid #fff!important;color:#fff!important}
.instagram-nav-link,.instagram-link-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#5c783b!important;text-decoration:none!important}
.instagram-nav-link{width:36px!important;height:36px!important;border-radius:999px!important}
.instagram-icon{width:22px!important;height:22px!important;fill:currentColor!important;display:block!important}
.footer .instagram-icon{width:20px!important;height:20px!important;margin-right:.45rem!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.route-buttons{display:flex!important;flex-wrap:wrap!important;gap:.75rem!important;margin-top:1rem!important}
.route-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:.75rem 1.25rem!important;border-radius:50px!important;border:2px solid rgba(123,160,91,.5)!important;background:#fff!important;color:#4f6b39!important;font-weight:700!important;text-decoration:none!important}
.cookie-banner{position:fixed!important;left:max(1rem,env(safe-area-inset-left))!important;right:max(1rem,env(safe-area-inset-right))!important;bottom:max(4.4rem,env(safe-area-inset-bottom))!important;z-index:2147483000!important;display:none;max-width:760px!important;margin:0 auto!important;background:rgba(255,255,255,.98)!important;border:1px solid rgba(63,48,34,.16)!important;border-radius:22px!important;box-shadow:0 18px 50px rgba(47,45,40,.22)!important;padding:1.1rem!important;color:#3e2d22!important}
.cookie-banner.is-visible{display:block!important}
.cookie-banner p{margin:.35rem 0 1rem!important;line-height:1.55!important;color:#3e2d22!important}
.cookie-actions{display:flex!important;flex-wrap:wrap!important;gap:.65rem!important}
.cookie-actions button,.cookie-actions a{border-radius:999px!important;padding:.72rem 1rem!important;font-weight:700!important;cursor:pointer!important;text-decoration:none!important;border:1px solid #5c7a42!important;font-size:1rem}
.cookie-accept{background:#5c7a42!important;color:#fff!important}
.cookie-necessary{background:#fff!important;color:#5c783b!important}
@media(max-width:640px){
  .accessibility-pill{left:max(.45rem,env(safe-area-inset-left))!important;bottom:max(.45rem,env(safe-area-inset-bottom))!important}
  .accessibility-pill-btn{min-width:46px!important;width:46px!important;height:36px!important}
  .accessibility-contrast-btn{min-width:42px!important;width:42px!important}}

:root{
  --kk-soft-pink:#efb2c2;
  --kk-rose:#d97b93;
  --kk-sand:#fff8ee;
  --kk-sage:#dfe9d6;
  --kk-gold:#f3c463;
}

html{font-size:100%!important}html.font-small{font-size:94%!important}
html[data-font-size="normal"]{font-size:100%!important;}
html[data-font-size="large"]{font-size:112%!important;}

.accessibility-pill{
  left:max(.65rem,env(safe-area-inset-left))!important;
  bottom:max(.65rem,env(safe-area-inset-bottom))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(30,27,24,.96)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.25)!important;
}
.accessibility-pill-btn{
  min-width:42px!important;
  width:42px!important;
  height:34px!important;
  font-family:Arial,sans-serif!important;
}
.accessibility-font-btn{min-width:48px!important;width:48px!important;font-size:1rem!important;}
.accessibility-pill-btn[aria-pressed="true"]{background:rgba(123,160,91,.32)!important;}

/* footer readability */
.footer{
  background:linear-gradient(135deg,#3c3023 0%,#4a3b2c 52%,#35291f 100%)!important;
  color:#f7efe5!important;
}
.footer *, .footer p, .footer li, .footer .logo-text, .footer-brand p, .footer-quote{color:#f7efe5!important;}
.footer-heading{color:#fffaf2!important;}
.footer-heading::after{
  content:"";
  display:block;
  width:38px;
  height:3px;
  border-radius:999px;
  margin-top:.45rem;
  background:linear-gradient(90deg,var(--kk-rose),var(--kk-gold),#88b165);
}
.footer-links a,
.footer-brand a,
.footer-bottom a,
.footer-social a,
.footer .instagram-link-icon{
  color:#efe2b8!important;
}
.footer-links a:hover,
.footer-brand a:hover,
.footer-bottom a:hover,
.footer-social a:hover,
.footer .instagram-link-icon:hover{
  color:#ffffff!important;
}
.footer-social a{
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12)!important;color:#eadfce!important;}

.rooms-gallery{gap:1.35rem!important;}
.room-card{
  overflow:hidden!important;
  background:#fff!important;
  display:flex!important;
  flex-direction:column!important;
}
.room-card-img{
  aspect-ratio:4/3!important;
  overflow:hidden!important;
}
.room-card img{width:100%!important;height:100%!important;object-fit:cover!important;}
.room-card-text{
  flex:1!important;
  min-height:132px!important;
  padding:1rem 1rem 1.1rem!important;
}
.room-card:nth-child(4n+1) .room-card-text{background:#fff2f5!important;}
.room-card:nth-child(4n+2) .room-card-text{background:#eef7f4!important;}
.room-card:nth-child(4n+3) .room-card-text{background:#fff3d7!important;}
.room-card:nth-child(4n+4) .room-card-text{background:#edf5e8!important;}

.concept-grid{gap:1.35rem!important;}
.concept-card{
  background:#fff!important;
  padding:1.45rem 1.55rem!important;
}
.concept-card::after{
  content:"";
  position:absolute;
  top:1rem;
  right:1rem;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--kk-rose);
  box-shadow:0 0 0 8px rgba(217,123,147,.10);
}
.concept-card:nth-child(2)::after{background:#59b7b5;box-shadow:0 0 0 8px rgba(89,183,181,.10);}
.concept-card:nth-child(3)::after{background:#f0be4b;box-shadow:0 0 0 8px rgba(240,190,75,.12);}
.concept-card:nth-child(4)::after{background:#ef9ebb;box-shadow:0 0 0 8px rgba(239,158,187,.10);}
.concept-card:nth-child(5)::after{background:#8fb766;box-shadow:0 0 0 8px rgba(143,183,102,.10);}
.concept-card:nth-child(6)::after{background:#d79a57;box-shadow:0 0 0 8px rgba(215,154,87,.10);}
.concept-card-title{padding-right:1.25rem!important;}

/* private / pricing section */
.private-section .section-header{margin-bottom:2.75rem!important;}
.private-section .section-label{color:#ead79a!important;}
.private-section .section-label::after{background:linear-gradient(90deg,#efb2c2,#f3c463,#7ba05b)!important;}
.private-grid{align-items:stretch!important;gap:1.35rem!important;}
.private-card{
  background:var(--kk-sand)!important;
  border:1px solid rgba(78,61,43,.08)!important;
  color:#3f2c1b!important;
}
.private-card-title,.private-card p,.private-card li{color:#3f2c1b!important;}
.price-tag{
  color:#7a4e12!important;
  background:#fff0c8!important;
  border:1px solid rgba(243,196,99,.45)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:.42rem .84rem!important;
  border-radius:999px!important;
  font-size:1.05rem!important;
  line-height:1.2!important;
  margin:.15rem 0 .9rem!important;
}

.value-pill:nth-child(3n+1){background:#ffe3eb!important;color:#8f4457!important;}
.parent-card:nth-child(odd){border-top:4px solid #efb2c2!important;}
.parent-card:nth-child(even){border-top:4px solid #8fb766!important;}

html:not([data-contrast="high"]) .hero-redesign .hero-soft-overlay{
  background:linear-gradient(90deg,rgba(250,246,238,.96) 0%,rgba(250,246,238,.90) 30%,rgba(250,246,238,.52) 56%,rgba(250,246,238,.10) 78%,rgba(250,246,238,.02) 100%)!important;
}

html[data-contrast="high"] body{background:#fff!important;color:#000!important;}
html[data-contrast="high"] .section,
html[data-contrast="high"] .section-alt,
html[data-contrast="high"] .section-green,
html[data-contrast="high"] .room-card,
html[data-contrast="high"] .concept-card,
html[data-contrast="high"] .private-card,
html[data-contrast="high"] .parent-card,
html[data-contrast="high"] .contact-form-card,
html[data-contrast="high"] .values-panel,
html[data-contrast="high"] .quote-panel{
  background:#fff!important;
  color:#000!important;
  border:2px solid #000!important;
}
html[data-contrast="high"] .private-section{background:#000!important;color:#fff!important;}
html[data-contrast="high"] .private-card *,
html[data-contrast="high"] .private-card{color:#000!important;}
html[data-contrast="high"] .private-highlight,
html[data-contrast="high"] .footer{background:#000!important;border-color:#fff!important;}
html[data-contrast="high"] .private-highlight *,
html[data-contrast="high"] .footer *,
html[data-contrast="high"] .footer a{color:#fff!important;}
html[data-contrast="high"] .price-tag{background:#000!important;color:#fff!important;border:2px solid #fff!important;}
html[data-contrast="high"] .hero-redesign .hero-soft-overlay{background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.97) 44%,rgba(255,255,255,.60) 72%,rgba(255,255,255,.14) 100%)!important;}

@media (max-width: 640px){  .accessibility-pill{left:.5rem!important;bottom:.5rem!important;}
  .private-section{background:linear-gradient(180deg,#f5ecdf 0%, #f3e8db 12%, #4a3a2b 12%, #34281f 100%)!important;}
}

/* --- Reduzierte Bewegung (prefers-reduced-motion) --- */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
    scroll-behavior: auto !important;
  }

  /* Einblendungen: Inhalt bleibt sichtbar, nur ohne Bewegung */
  .fade-in {
    opacity: 1 !important;
    transform: none !important;
  }

  /* Hover- und Zoombewegungen aus, Zustaende bleiben erkennbar */
  .btn:hover,
  .btn-primary:hover,
  .btn-secondary:hover,
  .btn-outline:hover,
  .btn-private-cta:hover,
  .route-button:hover,
  .room-card:hover,
  .parent-card:hover,
  .private-card:hover,
  .trust-item:hover,
  .concept-card:hover,
  .photo-item:hover img,
  .room-card:hover .room-card-img img,
  .nutrition-img-wrap:hover .nutrition-img {
    transform: none !important;
  }
}


:root{
  --font-body:'Coming Soon','Segoe Print','Bradley Hand','Chalkboard SE','Comic Sans MS',cursive!important;
  --font-heading:'Coming Soon','Segoe Print','Bradley Hand','Chalkboard SE','Comic Sans MS',cursive!important;
  --font-accent:'Coming Soon','Segoe Print','Bradley Hand','Chalkboard SE','Comic Sans MS',cursive!important;
  --kk-pink:#d97b93;
  --kk-pink-soft:#f9e6ed;
  --kk-turquoise:#4aa6a6;
  --kk-turquoise-soft:#e4f4f4;
  --kk-yellow:#e9a83b;
  --kk-yellow-soft:#fff2d8;
  --kk-leaf:#7ba05b;
  --kk-leaf-soft:#edf5e8;
  --kk-peach:#e29b71;
  --kk-peach-soft:#fcebdd;
  --kk-brown:#463827;
}
body,p,li,input,textarea,button,label,a{font-family:var(--font-body)!important}

.strength-item{
  border:1px solid rgba(70,56,39,.08)!important;
  box-shadow:0 8px 24px rgba(70,56,39,.06)!important;
}
.strength-item:nth-child(1), .strength-item:nth-child(6){background:var(--kk-leaf-soft)!important;}
.strength-item:nth-child(2), .strength-item:nth-child(8){background:var(--kk-yellow-soft)!important;}
.strength-item:nth-child(3), .strength-item:nth-child(5){background:var(--kk-turquoise-soft)!important;}
.strength-item:nth-child(4), .strength-item:nth-child(7), .strength-item:nth-child(9){background:var(--kk-pink-soft)!important;}

.concept-card:nth-child(1)::after{background:var(--kk-leaf)!important;box-shadow:0 0 0 8px rgba(123,160,91,.12)!important;}
.concept-card:nth-child(2)::after{background:var(--kk-turquoise)!important;box-shadow:0 0 0 8px rgba(74,166,166,.12)!important;}
.concept-card:nth-child(3)::after{background:var(--kk-yellow)!important;box-shadow:0 0 0 8px rgba(233,168,59,.14)!important;}
.concept-card:nth-child(4)::after{background:var(--kk-pink)!important;box-shadow:0 0 0 8px rgba(217,123,147,.12)!important;}
.concept-card:nth-child(5)::after{background:var(--kk-leaf)!important;box-shadow:0 0 0 8px rgba(123,160,91,.12)!important;}
.concept-card:nth-child(6)::after{background:var(--kk-peach)!important;box-shadow:0 0 0 8px rgba(226,155,113,.12)!important;}

.nutrition-list li{border-width:1px!important;}
.nutrition-list li:nth-child(1){background:var(--kk-pink-soft)!important;border-color:rgba(217,123,147,.26)!important;}
.nutrition-list li:nth-child(2){background:var(--kk-turquoise-soft)!important;border-color:rgba(74,166,166,.26)!important;}
.nutrition-list li:nth-child(3){background:var(--kk-yellow-soft)!important;border-color:rgba(233,168,59,.28)!important;}
.nutrition-list li:nth-child(4){background:var(--kk-peach-soft)!important;border-color:rgba(226,155,113,.26)!important;}
.nutrition-list li span:last-child{color:#4a3929!important;}

.private-section{
  background:linear-gradient(180deg,#f7efe3 0%, #f7efe3 35%, #4a3a2b 35%, #34281f 100%)!important;
}
.private-section .section-label{color:#7a5a1a!important;}
.private-section .section-header h2,
.private-section .section-header .text-light,
.private-section .section-header p,
.private-section .section-header .text-light-soft{
  color:#4a3929!important;
  text-shadow:none!important;
}
.private-card{
  background:#fff9f0!important;
  border:1px solid rgba(70,56,39,.10)!important;
  color:#3d2d1f!important;
}
.private-card:nth-child(1){border-top:4px solid var(--kk-leaf)!important;}
.private-card:nth-child(2){border-top:4px solid var(--kk-yellow)!important;}
.private-card:nth-child(1) .price-tag{background:var(--kk-leaf-soft)!important;border:1px solid rgba(123,160,91,.36)!important;color:var(--kk-leaf-text)!important;}
.private-card-title,.private-card p,.private-card li{color:#3d2d1f!important;}
.private-card .price-tag{
  display:inline-flex!important;
  align-items:center!important;
  padding:.34rem .78rem!important;
  border-radius:999px!important;
  background:#fff0cd!important;
  border:1px solid rgba(233,168,59,.36)!important;
  color:#7b5312!important;
  font-size:1.18rem!important;
}
.private-card:nth-child(2) .price-tag{background:#fff0cd!important;color:#7b5312!important;}
.btn-private-cta{background:#5c7a42!important;color:#fff!important;border:2px solid #5c7a42!important;}
.btn-private-cta:hover{background:#4f6b39!important;border-color:#4f6b39!important;color:#fff!important;}

html[data-contrast="high"] .concept-card,
html[data-contrast="high"] .strength-item,
html[data-contrast="high"] .nutrition-list li,
html[data-contrast="high"] .room-card,
html[data-contrast="high"] .values-panel,
html[data-contrast="high"] .quote-panel{
  background:#fff!important;
  color:#000!important;
  border:2px solid #000!important;
}
html[data-contrast="high"] .concept-card *,
html[data-contrast="high"] .strength-item *,
html[data-contrast="high"] .nutrition-list li *,
html[data-contrast="high"] .values-panel *,
html[data-contrast="high"] .quote-panel *,
html[data-contrast="high"] .room-card *{
  color:#000!important;
}
html[data-contrast="high"] .private-section{
  background:#000!important;
  color:#fff!important;
}
html[data-contrast="high"] .private-section .section-label,
html[data-contrast="high"] .private-section .section-header h2,
html[data-contrast="high"] .private-section .section-header p,
html[data-contrast="high"] .private-section .text-light,
html[data-contrast="high"] .private-section .text-light-soft{
  color:#fff!important;
}
html[data-contrast="high"] .private-card{
  background:#fff!important;
  border:2px solid #000!important;
}
html[data-contrast="high"] .private-card *,
html[data-contrast="high"] .private-card p,
html[data-contrast="high"] .private-card li,
html[data-contrast="high"] .private-card-title,
html[data-contrast="high"] .private-card .price-tag{
  color:#000!important;
}
html[data-contrast="high"] .private-card .price-tag{
  background:#fff!important;
  border:2px solid #000!important;
}
html[data-contrast="high"] .private-highlight{
  background:#000!important;
  border:2px solid #fff!important;
}
html[data-contrast="high"] .private-highlight *,
html[data-contrast="high"] .btn-private-cta{color:#fff!important;}
html[data-contrast="high"] .btn-private-cta{background:#000!important;border:2px solid #fff!important;}

@media (max-width: 767px){
  .strength-item{padding:.85rem .95rem!important;}
  .private-section{background:linear-gradient(180deg,#f7efe3 0%, #f7efe3 20%, #4a3a2b 20%, #34281f 100%)!important;}
}

.seo-intro-section{background:#fffaf2!important;padding:1.45rem 1.5rem 0!important;}
.seo-intro-card{max-width:980px!important;margin:0 auto!important;background:linear-gradient(135deg,#fff7f8 0%,#f3fbf7 52%,#fff0cd 100%)!important;border:1px solid rgba(70,56,39,.08)!important;border-radius:24px!important;box-shadow:0 10px 28px rgba(70,56,39,.06)!important;padding:1.15rem 1.35rem!important;}
.seo-intro-card p{margin:0!important;line-height:1.7!important;color:#463827!important;font-size:1.02rem!important;}
.seo-intro-card strong{color:#5c783b!important;font-weight:800!important;}
html[data-contrast="high"] .seo-intro-card{background:#fff!important;border:2px solid #000!important;box-shadow:none!important;}
html[data-contrast="high"] .seo-intro-card p,html[data-contrast="high"] .seo-intro-card strong{color:#000!important;}


.trust-item{padding-top:2rem!important;}
.trust-heading{font-family:var(--font-heading)!important;font-size:1.5rem!important;line-height:1.15!important;margin-bottom:.55rem!important;}
.trust-item:nth-child(1) .trust-heading{color:var(--kk-leaf-text)!important;}
.trust-item:nth-child(2) .trust-heading{color:var(--kk-pink-text)!important;}
.trust-item:nth-child(3) .trust-heading{color:var(--kk-turquoise-text)!important;}
.trust-item:nth-child(4) .trust-heading{color:#8b5e34!important;}
.trust-item:nth-child(5) .trust-heading{color:var(--kk-yellow-text)!important;}
.trust-item p{margin-top:.25rem!important;}
.seo-intro-section .container{display:flex!important;justify-content:center!important;}
.seo-intro-card{width:min(100%,980px)!important;margin-inline:auto!important;}
.about-image img{object-fit:cover!important;object-position:center 20%!important;border-radius:28px!important;}
@media (max-width: 900px){
  .hero-redesign{min-height:auto!important;padding:6.8rem 0 2.4rem!important;overflow:hidden!important;}
  .hero-redesign .hero-bg{position:relative!important;inset:auto!important;height:52vw!important;min-height:250px!important;max-height:420px!important;}
  .hero-redesign .hero-bg img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:78% center!important;}
  .hero-redesign .hero-soft-overlay{background:linear-gradient(180deg,rgba(250,246,238,.10) 0%,rgba(250,246,238,.58) 34%,rgba(250,246,238,.95) 60%,rgba(250,246,238,1) 100%)!important;}
  .hero-redesign .hero-redesign-inner{padding-top:1rem!important;}
  .hero-redesign .hero-copy{max-width:100%!important;padding:0 .1rem!important;}
  .hero-redesign .hero-copy h1{font-size:clamp(2rem,8vw,3rem)!important;line-height:1.05!important;max-width:10ch!important;}
  .hero-redesign .hero-lead{font-size:1.2rem!important;line-height:1.55!important;max-width:100%!important;}
  .hero-redesign .hero-trust-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.55rem .85rem!important;align-items:start!important;}
  .hero-redesign .hero-trust-list span{display:block!important;}
  .hero-redesign .hero-trust-list span + span::before{content:none!important;}
  .hero-redesign .hero-buttons{flex-direction:column!important;gap:.85rem!important;}
  .hero-redesign .hero-buttons .btn{width:100%!important;text-align:center!important;}
  .seo-intro-card{max-width:100%!important;padding:1.2rem 1rem!important;}
  .seo-intro-card p{font-size:1rem!important;line-height:1.65!important;}
  .about-grid{grid-template-columns:1fr!important;gap:1.5rem!important;}
  .about-image{order:-1!important;}
  .about-image img{width:100%!important;max-height:640px!important;aspect-ratio:4/5!important;object-fit:cover!important;object-position:center 16%!important;}
}
@media (max-width: 640px){
  .hero-redesign{padding-top:6.2rem!important;}
  .hero-redesign .hero-bg{height:60vw!important;min-height:220px!important;}
  .hero-redesign .location-pill{margin-bottom:.8rem!important;}
  .hero-redesign .hero-copy h1{font-size:clamp(1.9rem,9vw,2.8rem)!important;max-width:9ch!important;}
  .trust-grid{gap:1rem!important;}
  .trust-item{padding:1.35rem 1rem!important;text-align:center!important;}
  .trust-heading{font-size:1.35rem!important;}
}


.hero-redesign .hero-trust-list span:nth-child(1){color:#4f6b39!important;}
.hero-redesign .hero-trust-list span:nth-child(2){color:var(--kk-pink-text)!important;}
.hero-redesign .hero-trust-list span:nth-child(3){color:var(--kk-turquoise-text)!important;}
.hero-redesign .hero-trust-list span:nth-child(4){color:var(--kk-yellow-text)!important;}
.hero-redesign .hero-trust-list span:nth-child(5){color:#8b5e34!important;}
.hero-redesign .hero-trust-list span{font-weight:800!important;}
.hero-redesign .hero-trust-list span + span::before{color:#8b5e34!important;opacity:.9!important;}
.hero-redesign .btn-primary{background:#5c7a42!important;color:#fff!important;border:2px solid #5c7a42!important;box-shadow:0 10px 24px rgba(92,122,66,.18)!important;}
.hero-redesign .btn-outline{background:#fffaf6!important;color:#6f984f!important;border-color:#7fa85c!important;}
.hero-redesign .btn-primary:hover{background:#4f6b39!important;border-color:#4f6b39!important;}
.seo-intro-section{padding:1.2rem 1rem 1.05rem!important;}
.seo-intro-section .container{display:flex!important;justify-content:center!important;align-items:center!important;}
.seo-intro-card{box-sizing:border-box!important;display:flex!important;align-items:center!important;width:min(100% - 1.2rem,980px)!important;margin-inline:auto!important;padding:1.25rem 1.35rem!important;min-height:0!important;}
.seo-intro-card p{margin:0!important;line-height:1.58!important;}
@media (max-width:900px){
  body .hero-redesign{padding:calc(5.7rem + var(--announce-h, 0px)) 0 2rem!important;min-height:auto!important;display:block!important;overflow:hidden!important;background:#faf6ee!important;}
  body .hero-redesign .hero-bg{position:relative!important;inset:auto!important;width:100%!important;height:clamp(245px,58vw,360px)!important;min-height:0!important;max-height:none!important;overflow:hidden!important;background:#faf6ee!important;}
  body .hero-redesign .hero-bg img{position:relative!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#faf6ee!important;}
  body .hero-redesign .hero-soft-overlay{display:none!important;}
  body .hero-redesign .hero-redesign-inner{display:block!important;padding:1.8rem 1.3rem 0!important;}
  body .hero-redesign .hero-copy{max-width:100%!important;width:100%!important;padding:0!important;}
  body .hero-redesign .location-pill{display:inline-flex!important;margin-bottom:1rem!important;}
  body .hero-redesign .hero-copy h1{font-size:clamp(1.55rem,10vw,3rem)!important;line-height:1.18!important;max-width:100%!important;width:100%!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:manual!important;margin-bottom:1rem!important;}
  body .hero-redesign .hero-lead{font-size:1.2rem!important;line-height:1.55!important;max-width:100%!important;margin-bottom:1.2rem!important;}
  body .hero-redesign .hero-trust-list{display:flex!important;flex-wrap:wrap!important;gap:.45rem .75rem!important;align-items:center!important;margin:0 0 1.45rem!important;}
  body .hero-redesign .hero-trust-list span{display:inline-flex!important;font-size:1rem!important;line-height:1.2!important;white-space:nowrap!important;}
  body .hero-redesign .hero-trust-list span + span::before{content:'·'!important;margin-right:.75rem!important;color:#b68a4e!important;}
  body .hero-redesign .hero-buttons{display:grid!important;grid-template-columns:1fr!important;gap:.85rem!important;width:100%!important;max-width:none!important;}
  body .hero-redesign .hero-buttons .btn{width:100%!important;min-height:3.2rem!important;display:flex!important;align-items:center!important;justify-content:center!important;}
}
@media (max-width:640px){
  body .hero-redesign{padding-top:calc(5.25rem + var(--announce-h, 0px))!important;}
  body .hero-redesign .hero-bg{height:clamp(235px,62vw,310px)!important;}
  body .hero-redesign .hero-redesign-inner{padding:1.55rem 1rem 0!important;}
  body .hero-redesign .hero-copy h1{font-size:clamp(1.55rem,10vw,2.72rem)!important;letter-spacing:-.01em!important;}
  body .hero-redesign .hero-lead{font-size:1.15rem!important;}
  body .hero-redesign .hero-trust-list{gap:.35rem .55rem!important;}
  body .hero-redesign .hero-trust-list span{font-size:1rem!important;}
  body .hero-redesign .hero-trust-list span + span::before{margin-right:.55rem!important;}
  .seo-intro-section{padding:1.05rem .65rem 1rem!important;}
  .seo-intro-card{width:100%!important;padding:1.1rem 1rem!important;border-radius:22px!important;}
  .seo-intro-card p{line-height:1.55!important;font-size:1rem!important;}
}
@media (max-width:390px){
  body .hero-redesign .hero-copy h1{font-size:min(10vw,2rem)!important;}
  body .hero-redesign .hero-trust-list span{font-size:1rem!important;}
}

/* Hinweisleiste */
:root {
  --announce-h: 72px;
}
@media (max-width: 900px) {
  :root { --announce-h: 123px; }
}
@media (max-width: 640px) {
  :root { --announce-h: 149px; }
}
.announcement-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1002;
  background: var(--kk-peach-soft, #fcebdd);
}
.announcement-bar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, #efb2c2, #f3c463, #7ba05b);
}
.announcement-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0.6rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.announcement-text {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.4rem 0.65rem;
  margin: 0;
  color: var(--kk-brown, #463827);
  line-height: 1.3;
  min-width: 0;
}
.announcement-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--kk-rose, #d97b93);
  flex-shrink: 0;
  align-self: center;
}
.announcement-main {
  font-weight: 700;
  font-size: 1.0625rem;
  white-space: nowrap;
}
.announcement-divider {
  opacity: 0.5;
}
.announcement-sub {
  font-weight: 400;
  font-size: 1rem;
  opacity: 0.9;
}
.announcement-cta.btn {
  flex-shrink: 0;
}
.announcement-headline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 900px) {
  .announcement-inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.7rem 1.25rem;
  }
  .announcement-text {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
  }
  .announcement-main {
    white-space: normal;
  }
  .announcement-divider {
    display: none;
  }
  .announcement-cta.btn {
    align-self: stretch;
    justify-content: center;
    width: 100%;
    max-width: 360px;
  }
}
@media (max-width: 640px) {
  .announcement-inner {
    padding: 0.6rem 1rem;
    gap: 0.35rem;
  }
  .announcement-main {
    font-size: 1rem;
    line-height: 1.22;
  }
  .announcement-sub {
    font-size: 1rem;
    line-height: 1.28;
  }
}
