:root {
  --sun: #f8c84b;
  --sun-deep: #e9a91f;
  --cream: #fff9ec;
  --peach: #ffd9c7;
  --rose: #f7c8cf;
  --lavender: #ead9fb;
  --mint: #dcefd8;
  --sky: #d8eef7;
  --sage: #6c8a63;
  --ink: #2f2b28;
  --muted: #6d645f;
  --card: rgba(255, 255, 255, 0.84);
  --line: rgba(91, 76, 59, 0.14);
  --shadow: 0 24px 70px rgba(97, 73, 45, 0.16);
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 16px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  font-family: ui-rounded, "Aptos", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 8%, rgba(248, 200, 75, 0.28), transparent 28rem),
    radial-gradient(circle at 90% 15%, rgba(234, 217, 251, 0.65), transparent 26rem),
    linear-gradient(180deg, #fffdf7 0%, #fff8ee 52%, #fffdf7 100%);
  line-height: 1.6;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0.23;
  background-image:
    radial-gradient(circle, rgba(233,169,31,.22) 0 2px, transparent 2px),
    radial-gradient(circle, rgba(108,138,99,.16) 0 1.5px, transparent 1.5px);
  background-size: 68px 68px, 94px 94px;
  background-position: 0 0, 28px 38px;
  z-index: -1;
}

a { color: inherit; }
img { display: block; max-width: 100%; height: auto; }
.container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
.skip-link {
  position: absolute;
  left: 1rem;
  top: -4rem;
  z-index: 50;
  background: var(--ink);
  color: white;
  padding: .75rem 1rem;
  border-radius: 999px;
}
.skip-link:focus { top: 1rem; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(18px);
  background: rgba(255, 250, 240, 0.82);
  border-bottom: 1px solid var(--line);
}
.nav-shell {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: -.02em;
  flex: 0 1 auto;
  min-width: 0;
}
.brand span { font-size: .98rem; white-space: nowrap; }
.brand img {
  width: 70px;
  height: 48px;
  object-fit: contain;
  background: white;
  border-radius: 16px;
  padding: 4px;
  box-shadow: 0 8px 22px rgba(233,169,31,.16);
}
.main-nav {
  display: flex;
  align-items: center;
  gap: .08rem;
  flex-wrap: nowrap;
  justify-content: flex-end;
  flex: 0 1 auto;
  min-width: 0;
}
.main-nav a {
  text-decoration: none;
  color: var(--muted);
  font-weight: 700;
  font-size: clamp(.78rem, .82vw, .9rem);
  padding: .5rem .5rem;
  border-radius: 999px;
  white-space: nowrap;
}
.main-nav a:hover, .main-nav a:focus-visible, .main-nav a.is-active {
  color: var(--ink);
  background: rgba(248,200,75,.22);
}

.section, .hero { padding: 92px 0; }
.section-soft { position: relative; overflow: hidden; }
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, .78fr);
  gap: clamp(2rem, 5vw, 4.75rem);
  align-items: center;
}
.eyebrow {
  margin: 0 0 .75rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .78rem;
  color: var(--sage);
  font-weight: 800;
}
h1, h2, h3 { line-height: 1.08; margin: 0; overflow-wrap: anywhere; hyphens: auto; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
h1 { font-size: clamp(2.7rem, 6.5vw, 5.7rem); max-width: 820px; hyphens: manual; }
h2 { font-size: clamp(2rem, 4.5vw, 3.55rem); hyphens: manual; }
h3 { font-size: 1.22rem; }
p { margin: 0; }
.lead {
  font-size: clamp(1.12rem, 2vw, 1.32rem);
  color: var(--muted);
  max-width: 670px;
  margin-top: 1.35rem;
}
.hero-actions { display: flex; gap: .9rem; flex-wrap: wrap; margin-top: 2rem; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .85rem 1.15rem;
  border-radius: 999px;
  text-decoration: none;
  border: 0;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover { transform: translateY(-1px); }
.button.primary {
  background: linear-gradient(135deg, var(--sun), var(--sun-deep));
  color: #3e2f00;
  box-shadow: 0 12px 26px rgba(233, 169, 31, .32);
}
.button.secondary {
  background: rgba(255,255,255,.76);
  border: 1px solid var(--line);
  color: var(--ink);
}
.trust-list {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}
.trust-list li {
  background: rgba(220,239,216,.76);
  border: 1px solid rgba(108,138,99,.16);
  border-radius: 999px;
  padding: .55rem .85rem;
  font-weight: 800;
  color: #526f49;
}
.image-card {
  position: relative;
  margin: 0;
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: white;
  box-shadow: var(--shadow);
  border: 10px solid rgba(255,255,255,.8);
}
.hero-card img { width: 100%; height: clamp(470px, 62vw, 650px); object-fit: cover; object-position: center 28%; }
.image-card figcaption {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  color: var(--ink);
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.88);
  backdrop-filter: blur(12px);
  border-radius: 20px;
  padding: .85rem 1rem;
  font-weight: 800;
}
.balloon-art {
  position: absolute;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  filter: drop-shadow(0 18px 24px rgba(97, 73, 45, .10));
}
.balloon-art-single {
  width: clamp(62px, 7.5vw, 112px);
  opacity: .70;
}
.balloon-art-peach {
  left: max(1rem, 3vw);
  top: 126px;
}
.balloon-art-mint {
  left: min(44vw, 610px);
  top: 96px;
  width: clamp(54px, 6.8vw, 96px);
  opacity: .54;
}
.balloon-art-sky {
  right: max(1.2rem, 5vw);
  top: 150px;
  width: clamp(64px, 8vw, 118px);
  opacity: .66;
}
.balloon-art-honey {
  right: min(31vw, 410px);
  bottom: 84px;
  width: clamp(58px, 7vw, 100px);
  opacity: .56;
}
.balloon-art-lavender {
  left: max(2rem, 9vw);
  bottom: 64px;
  width: clamp(66px, 7.8vw, 108px);
  opacity: .50;
}
.balloon-art-cluster {
  width: clamp(120px, 13vw, 190px);
  right: max(.75rem, 2.2vw);
  bottom: 46px;
  opacity: .32;
  transform: rotate(3deg);
}
.flower-art {
  position: absolute;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  width: clamp(42px, 4.8vw, 76px);
  opacity: .58;
  filter: drop-shadow(0 12px 18px rgba(97, 73, 45, .08));
}
.flower-art-rose {
  left: max(5.2rem, 13vw);
  top: 238px;
  transform: rotate(-10deg);
}
.flower-art-lavender {
  right: min(24vw, 320px);
  top: 118px;
  width: clamp(38px, 4.3vw, 68px);
  opacity: .48;
  transform: rotate(12deg);
}
.flower-art-mint {
  right: max(1.6rem, 7vw);
  bottom: 214px;
  width: clamp(46px, 5.2vw, 82px);
  opacity: .50;
  transform: rotate(-7deg);
}
.hero-grid { position: relative; z-index: 1; }

.page-hero, .legal-decor-section, .home-decor-section { position: relative; overflow: hidden; }
.page-hero .container, .legal-decor-section .container, .home-decor-section .container { position: relative; z-index: 1; }
.page-decor {
  position: absolute;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  filter: drop-shadow(0 14px 20px rgba(97, 73, 45, .08));
}
.page-decor-balloon { width: clamp(58px, 7vw, 108px); opacity: .48; }
.page-decor-flower { width: clamp(44px, 4.8vw, 78px); opacity: .54; }
.page-decor-concept-balloon { right: max(1.2rem, 6vw); top: 112px; }
.page-decor-concept-flower { left: max(1.5rem, 8vw); bottom: 44px; transform: rotate(-9deg); }
.page-decor-concept-flower-small { right: min(32vw, 430px); bottom: 86px; width: clamp(34px, 3.8vw, 58px); opacity: .42; transform: rotate(14deg); }
.page-decor-arrival-balloon { left: max(1rem, 5vw); top: 138px; opacity: .42; }
.page-decor-arrival-flower { right: max(1.4rem, 8vw); top: 92px; transform: rotate(11deg); }
.page-decor-arrival-flower-low { right: min(38vw, 520px); bottom: 48px; width: clamp(38px, 4.2vw, 62px); opacity: .44; transform: rotate(-13deg); }
.page-decor-rooms-balloon { right: max(1.6rem, 7vw); top: 126px; opacity: .50; }
.page-decor-rooms-balloon-small { left: max(1.2rem, 5vw); bottom: 48px; width: clamp(46px, 5.4vw, 82px); opacity: .34; }
.page-decor-rooms-flower { left: max(6rem, 18vw); top: 118px; transform: rotate(9deg); }
.page-decor-money-balloon { right: max(1rem, 5vw); bottom: 48px; width: clamp(60px, 7.4vw, 110px); opacity: .46; }
.page-decor-money-flower { left: max(1.4rem, 7vw); top: 128px; transform: rotate(-12deg); }
.page-decor-money-flower-small { right: min(34vw, 470px); top: 86px; width: clamp(36px, 4vw, 62px); opacity: .42; transform: rotate(15deg); }
.page-decor-downloads-balloon { left: max(1rem, 5vw); top: 104px; opacity: .42; }
.page-decor-downloads-flower { right: max(1.5rem, 8vw); top: 126px; transform: rotate(12deg); }
.page-decor-downloads-flower-small { left: min(36vw, 440px); bottom: 50px; width: clamp(36px, 4.2vw, 64px); opacity: .42; transform: rotate(-10deg); }
.page-decor-gallery-balloon { right: max(1.2rem, 6vw); top: 118px; opacity: .44; }
.page-decor-gallery-flower { left: max(1.5rem, 7vw); top: 150px; transform: rotate(-11deg); }
.page-decor-gallery-flower-low { right: min(36vw, 480px); bottom: 42px; width: clamp(38px, 4.2vw, 64px); opacity: .44; transform: rotate(10deg); }
.page-decor-legal-balloon { right: max(1rem, 5vw); top: 64px; width: clamp(50px, 6vw, 86px); opacity: .22; }
.page-decor-legal-flower { left: max(1.2rem, 7vw); top: 132px; width: clamp(42px, 4.6vw, 70px); opacity: .32; transform: rotate(-8deg); }
.page-decor-privacy-balloon { left: max(1rem, 4vw); top: 78px; width: clamp(48px, 5.6vw, 82px); opacity: .20; }
.page-decor-privacy-flower { right: max(1.2rem, 6vw); top: 146px; width: clamp(42px, 4.8vw, 72px); opacity: .32; transform: rotate(12deg); }
.home-about-balloon { right: max(1.2rem, 5vw); top: 132px; width: clamp(56px, 6.8vw, 102px); opacity: .36; }
.home-about-flower-left { left: max(1rem, 5vw); top: 96px; width: clamp(46px, 5vw, 78px); opacity: .42; transform: rotate(-12deg); }
.home-about-flower-right { right: min(38vw, 520px); bottom: 56px; width: clamp(40px, 4.5vw, 68px); opacity: .40; transform: rotate(13deg); }
.home-map-balloon { left: max(1rem, 4.5vw); bottom: 38px; width: clamp(48px, 5.8vw, 88px); opacity: .30; }
.home-map-flower { right: max(1.2rem, 6vw); top: 80px; width: clamp(42px, 4.8vw, 72px); opacity: .34; transform: rotate(10deg); }
.home-instagram-balloon { right: max(1.4rem, 5vw); top: 116px; width: clamp(52px, 6.2vw, 92px); opacity: .28; }
.home-instagram-flower { left: max(1.2rem, 6vw); top: 104px; width: clamp(42px, 4.8vw, 72px); opacity: .34; transform: rotate(-10deg); }
.home-contact-flower-left { left: max(1rem, 5vw); bottom: 64px; width: clamp(42px, 4.8vw, 74px); opacity: .34; transform: rotate(12deg); }
.home-contact-flower-right { right: min(30vw, 390px); top: 82px; width: clamp(38px, 4.3vw, 66px); opacity: .32; transform: rotate(-9deg); }

.quick-facts { padding: 28px 0 34px; }
.facts-panel {
  margin-top: 0;
  background: rgba(255,255,255,.82);
  border: 1px solid var(--line);
  border-radius: 26px;
  box-shadow: 0 14px 42px rgba(97,73,45,.09);
  padding: clamp(1rem, 2vw, 1.45rem);
  display: grid;
  grid-template-columns: .48fr 1.52fr;
  gap: 1rem;
  align-items: center;
}
.facts-panel h2 { font-size: clamp(1.3rem, 2vw, 1.85rem); }
.facts-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .85rem;
}
.facts-grid article, .value-cards article, .timeline article, .placeholder-card, .contact-form, .profile-card {
  background: var(--card);
  border: 1px solid var(--line);
  box-shadow: 0 14px 42px rgba(97,73,45,.08);
}
.facts-grid article {
  border-radius: 20px;
  padding: .85rem;
}
.fact-icon { font-size: 1.5rem; }
.facts-grid h3 { margin-top: .45rem; font-size: 1rem; }
.facts-grid p { color: var(--muted); margin-top: .2rem; }

.split-heading {
  display: grid;
  grid-template-columns: 1fr .75fr;
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: end;
  margin-bottom: 2rem;
}
.split-heading > p { color: var(--muted); font-size: 1.08rem; }
.profile-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.profile-card {
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.profile-card img {
  width: 100%;
  height: 365px;
  object-fit: cover;
  background: var(--cream);
}
.profile-card:first-child img { object-position: 70% 33%; }
.profile-card:nth-child(2) img { object-position: 78% 40%; }
.profile-card div { padding: 1.45rem; }
.profile-kicker { color: var(--sage); font-weight: 900; margin-bottom: .45rem; }
.profile-card p:last-child { color: var(--muted); margin-top: .75rem; }

.section-pastel {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(120deg, rgba(255,217,199,.55), rgba(220,239,216,.55)),
    rgba(255,255,255,.35);
  border-block: 1px solid var(--line);
}
.section-pastel .container, .contact-section .container { position: relative; z-index: 1; }
.section-balloon {
  position: absolute;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  filter: drop-shadow(0 16px 22px rgba(97, 73, 45, .08));
}
.section-balloon-care {
  width: clamp(70px, 8vw, 116px);
  left: max(.75rem, 4vw);
  bottom: 24px;
  opacity: .28;
}
.section-balloon-contact {
  width: clamp(72px, 8.5vw, 122px);
  right: max(.75rem, 5vw);
  top: 48px;
  opacity: .30;
}
.care-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 2rem; align-items: start; }
.section-lead { color: var(--muted); margin-top: 1rem; font-size: 1.1rem; }
.value-cards { display: grid; gap: 1rem; }
.value-cards article {
  border-radius: var(--radius-lg);
  padding: 1.35rem;
}
.value-cards span { font-size: 1.7rem; }
.value-cards h3 { margin-top: .45rem; }
.value-cards p { color: var(--muted); margin-top: .55rem; }

.timeline {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: .85rem;
}
.timeline article {
  position: relative;
  min-height: 170px;
  border-radius: var(--radius-lg);
  padding: 1.2rem;
  overflow: hidden;
}
.timeline article::before {
  content: "";
  position: absolute;
  right: -18px;
  top: -20px;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: rgba(248,200,75,.22);
}
.timeline strong { display: block; font-size: 1.1rem; margin-bottom: .55rem; }
.timeline span { color: var(--muted); }

.gallery-section { padding-top: 20px; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.placeholder-card {
  min-height: 260px;
  border-radius: var(--radius-xl);
  display: grid;
  place-items: center;
  color: rgba(47,43,40,.72);
  font-weight: 900;
  background:
    linear-gradient(135deg, rgba(216,238,247,.7), rgba(234,217,251,.62)),
    repeating-linear-gradient(-45deg, rgba(255,255,255,.36) 0 12px, transparent 12px 24px);
}
.placeholder-card:nth-child(2) { background: linear-gradient(135deg, rgba(255,217,199,.7), rgba(255,249,236,.76)); }
.placeholder-card:nth-child(3) { background: linear-gradient(135deg, rgba(220,239,216,.78), rgba(255,249,236,.76)); }

.instagram-section {
  padding-top: 34px;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(234,217,251,.18));
}
.instagram-heading {
  display: grid;
  grid-template-columns: 1fr .82fr;
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: end;
  margin-bottom: 1.35rem;
}
.instagram-copy p {
  color: var(--muted);
  font-size: 1.08rem;
}
.instagram-copy .button { margin-top: 1.15rem; }
.instagram-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(245px, 300px);
  gap: 1rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  padding: .25rem .1rem 1rem;
  scrollbar-color: rgba(108,138,99,.45) rgba(255,255,255,.55);
}
.instagram-card {
  position: relative;
  scroll-snap-align: start;
  min-height: 350px;
  border-radius: 28px;
  overflow: hidden;
  text-decoration: none;
  background: white;
  border: 1px solid var(--line);
  box-shadow: 0 16px 48px rgba(97,73,45,.12);
  transition: transform .18s ease, box-shadow .18s ease;
}
.instagram-card:hover,
.instagram-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 22px 60px rgba(97,73,45,.16);
}
.instagram-card img {
  width: 100%;
  height: 100%;
  min-height: 350px;
  object-fit: cover;
}
.instagram-card span {
  position: absolute;
  left: .85rem;
  right: .85rem;
  bottom: .85rem;
  color: var(--ink);
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-radius: 18px;
  padding: .72rem .85rem;
  font-weight: 900;
}

.contact-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, transparent, rgba(248,200,75,.13));
}

.site-map-section {
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(220,239,216,.22));
}
.page-link-grid, .content-grid, .download-grid, .photo-gallery {
  display: grid;
  gap: 1rem;
}
.page-link-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.page-link-grid a, .content-card, .download-card, .page-card-grid article, .text-panel {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: 0 14px 44px rgba(97,73,45,.09);
}
.page-link-grid a {
  display: grid;
  gap: .35rem;
  min-height: 154px;
  padding: 1.25rem;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
}
.page-link-grid a:hover, .page-link-grid a:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 18px 54px rgba(97,73,45,.14);
}
.page-link-grid span, .content-card span, .download-card span, .page-card-grid span { font-size: 1.85rem; }
.page-link-grid strong { font-size: 1.22rem; }
.page-link-grid small { color: var(--muted); font-size: .98rem; }
.special-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.special-card { position: relative; overflow: hidden; padding: 1.35rem; display: grid; gap: .65rem; align-content: start; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 16px 48px rgba(97,73,45,.11); }
.special-card h3 { font-family: ui-rounded, "Aptos", "Segoe UI", system-ui, sans-serif; font-size: 1.24rem; margin: 0; }
.special-card p { color: var(--muted); margin: 0; }
.special-icon { width: 58px; height: 58px; display: inline-grid; place-items: center; border-radius: 22px; background: linear-gradient(135deg, #fff3b0, #d7f7ff); box-shadow: 0 10px 26px rgba(97,73,45,.12); font-size: 1.55rem; }
.special-language-gif { animation: language-wave 2.6s ease-in-out infinite; transform-origin: 50% 70%; }
.special-language-card::after { content: "Hello! Hi!"; position: absolute; right: .9rem; top: .85rem; padding: .35rem .55rem; border-radius: 999px; background: rgba(255,255,255,.78); color: var(--ink); font-weight: 900; font-size: .86rem; transform: rotate(4deg); }
@keyframes language-wave { 0%,100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(4deg) translateY(-4px); } }
.compact-profile-grid .profile-card img { height: 340px; }
.page-hero { padding: 92px 0 56px; }
.page-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  align-items: end;
  gap: clamp(1.5rem, 5vw, 4rem);
}
.page-card-grid { display: grid; gap: 1rem; }
.page-card-grid article { padding: 1.25rem; display: grid; gap: .35rem; }
.page-card-grid small { color: var(--muted); }
.content-grid.three, .download-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.content-card, .download-card { padding: 1.35rem; display: grid; gap: .7rem; align-content: start; }
.download-card {
  grid-template-rows: auto auto minmax(4.8rem, 1fr) auto;
  align-content: stretch;
  height: 100%;
}
.download-card .button { align-self: end; justify-self: center; margin-top: .35rem; }
.content-card h2, .download-card h2 { font-family: ui-rounded, "Aptos", "Segoe UI", system-ui, sans-serif; letter-spacing: 0; font-size: 1.3rem; }
.content-card p, .download-card p, .text-panel p { color: var(--muted); }
.text-panel { padding: clamp(1.4rem, 4vw, 2.3rem); }
.text-panel .button { margin-top: 1.2rem; }
.steps-list { display: grid; gap: 1rem; }
.steps-list article {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  padding: 1.25rem;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: 0 14px 44px rgba(97,73,45,.08);
}
.steps-list strong {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--sun), var(--sun-deep));
  color: #3e2f00;
  font-size: 1.35rem;
}
.steps-list h2 { font-family: ui-rounded, "Aptos", "Segoe UI", system-ui, sans-serif; letter-spacing: 0; font-size: 1.25rem; }
.steps-list p { color: var(--muted); margin-top: .3rem; }
.download-card .button[disabled] { opacity: .62; cursor: not-allowed; transform: none; }
.photo-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.photo-gallery figure { margin: 0; min-height: 300px; border-radius: var(--radius-lg); overflow: hidden; position: relative; background: var(--card); border: 1px solid var(--line); box-shadow: 0 14px 44px rgba(97,73,45,.09); }
.photo-gallery img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; }
.photo-gallery figcaption { position: absolute; left: .85rem; right: .85rem; bottom: .85rem; padding: .65rem .85rem; border-radius: 16px; background: rgba(255,255,255,.88); font-weight: 900; }
.food-photo-grid figcaption { display: grid; gap: .22rem; }
.food-photo-grid figcaption strong,
.food-photo-grid figcaption span { display: block; }
.food-photo-grid figcaption span { color: var(--muted); font-size: .94rem; font-weight: 700; line-height: 1.35; }
.enhanced-gallery { align-items: stretch; }
.gallery-item {
  appearance: none;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: .75rem;
  width: 100%;
  align-self: stretch;
  padding: .72rem;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,249,236,.82));
  box-shadow: 0 16px 48px rgba(97,73,45,.12);
  cursor: zoom-in;
  text-align: left;
  color: inherit;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.gallery-item:hover, .gallery-item:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(108,138,99,.28);
  box-shadow: 0 22px 62px rgba(97,73,45,.16);
  outline: none;
}
.gallery-frame {
  display: grid;
  place-items: center;
  width: 100%;
  overflow: hidden;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(216,238,247,.45), rgba(234,217,251,.45)),
    #fffdf7;
  border: 1px solid rgba(255,255,255,.92);
}
.enhanced-gallery .placeholder-card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: auto;
  aspect-ratio: 4 / 3;
  justify-self: stretch;
}
.gallery-frame { aspect-ratio: 4 / 3; }
.gallery-item-portrait .gallery-frame, .gallery-item-landscape .gallery-frame { aspect-ratio: 4 / 3; }
.gallery-frame img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}
.gallery-caption {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 42px;
  padding: .62rem .8rem;
  border-radius: 999px;
  background: rgba(220,239,216,.74);
  color: #526f49;
  font-weight: 900;
  text-align: center;
}
.gallery-lightbox[hidden] { display: none; }
.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: clamp(.7rem, 2.5vw, 1.5rem);
  background: rgba(47,43,40,.62);
  backdrop-filter: blur(10px);
}
.lightbox-panel {
  width: min(1120px, 100%);
  max-height: min(92vh, 920px);
  display: grid;
  grid-template-rows: auto minmax(260px, 1fr) auto;
  gap: .85rem;
  padding: clamp(.85rem, 2vw, 1.25rem);
  border-radius: 32px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,249,236,.94));
  border: 1px solid rgba(255,255,255,.78);
  box-shadow: 0 30px 90px rgba(0,0,0,.32);
}
.lightbox-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.lightbox-toolbar p { font-weight: 900; color: var(--ink); }
.lightbox-toolbar small { color: var(--muted); font-size: .98rem; font-weight: 700; line-height: 1.35; max-width: 62ch; }
.lightbox-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }
.lightbox-actions button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  color: var(--ink);
  padding: .55rem .75rem;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}
.lightbox-actions button:hover, .lightbox-actions button:focus-visible { background: rgba(248,200,75,.25); }
.lightbox-viewport {
  display: grid;
  place-items: start center;
  overflow: auto;
  max-height: calc(92vh - 150px);
  min-height: 300px;
  border-radius: 24px;
  border: 1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(216,238,247,.28), rgba(234,217,251,.28)),
    #fffdf7;
  padding: 14px;
  overscroll-behavior: contain;
  touch-action: none;
  scrollbar-color: rgba(108,138,99,.55) rgba(255,255,255,.55);
}
.lightbox-viewport img {
  display: block;
  height: auto;
  max-width: none;
  border-radius: 18px;
  box-shadow: 0 18px 60px rgba(97,73,45,.18);
}
.lightbox-help { color: var(--muted); font-size: .94rem; text-align: center; }
.lightbox-open { overflow: hidden; }

.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 2rem; align-items: start; }
.contact-copy p { color: var(--muted); margin-top: 1rem; font-size: 1.08rem; overflow-wrap: anywhere; }
.contact-options { display: grid; gap: .65rem; margin-top: 1.4rem; }
.contact-options a {
  text-decoration: none;
  font-weight: 900;
  background: rgba(255,255,255,.76);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: .85rem 1rem;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.contact-form {
  border-radius: var(--radius-xl);
  padding: clamp(1.2rem, 3vw, 2rem);
  display: grid;
  gap: 1rem;
}
.contact-form label {
  display: grid;
  gap: .35rem;
  font-weight: 900;
}
input, textarea {
  width: 100%;
  border: 1px solid rgba(91,76,59,.2);
  border-radius: 16px;
  padding: .88rem 1rem;
  font: inherit;
  color: var(--ink);
  background: rgba(255,255,255,.88);
}
textarea {
  resize: none;
  min-height: 150px;
  max-height: 220px;
  overflow-y: auto;
}
input:focus, textarea:focus {
  outline: 3px solid rgba(248,200,75,.34);
  border-color: var(--sun-deep);
}

.form-title {
  margin: 0;
  font-size: 1.35rem;
}
.form-note { color: var(--muted); font-size: .92rem; }
.hp-field {
  display: none !important;
}
.form-status {
  min-height: 1.4em;
  font-weight: 900;
}
.form-status[data-type="success"] { color: #3f7b3b; }
.form-status[data-type="error"] { color: #b33434; }
button[disabled] { cursor: wait; opacity: .72; }
.legal-page .section { padding-top: 70px; }
.legal-card {
  background: rgba(255,255,255,.88);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
  padding: clamp(1.35rem, 4vw, 3rem);
  overflow-wrap: anywhere;
}
.legal-card h1 { font-size: clamp(2.3rem, 5vw, 4.2rem); }
.legal-card h2 {
  font-family: ui-rounded, "Aptos", "Segoe UI", system-ui, sans-serif;
  letter-spacing: 0;
  font-size: 1.35rem;
  margin-top: 2rem;
}
.legal-card p { color: var(--muted); margin-top: .85rem; }
.legal-card a { color: var(--sage); font-weight: 900; }

.site-footer {
  padding: 42px 0 30px;
  background: #342f2b;
  color: #fff9ec;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.05fr .78fr 1.45fr;
  gap: clamp(1.25rem, 4vw, 3rem);
  align-items: start;
}
.footer-brand {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.footer-brand img {
  flex: 0 0 auto;
  width: 98px;
  border-radius: 18px;
  background: white;
  padding: 5px;
  box-shadow: 0 16px 38px rgba(0,0,0,.16);
}
.footer-brand p {
  font-weight: 800;
  color: #fff9ec;
  overflow-wrap: anywhere;
  white-space: pre-line;
}
.footer-block h2 {
  font-family: ui-rounded, "Aptos", "Segoe UI", system-ui, sans-serif;
  font-size: .92rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(255,249,236,.68);
  margin-bottom: .75rem;
}
.site-footer p, .site-footer a { color: rgba(255,249,236,.82); }
.site-footer a:hover { color: white; }
.footer-link-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 0;
  padding: 0;
}
.footer-link-list a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: .52rem .82rem;
  border: 1px solid rgba(255,249,236,.18);
  border-radius: 999px;
  background: rgba(255,249,236,.07);
  text-decoration: none;
  font-weight: 800;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-align: center;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.footer-link-list a:hover, .footer-link-list a:focus-visible {
  background: rgba(255,249,236,.15);
  border-color: rgba(255,249,236,.36);
  transform: translateY(-1px);
}
.footer-links { margin-top: .75rem; }
.footer-note {
  margin-top: 1.65rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,249,236,.14);
}
.footer-note p {
  max-width: 860px;
  color: rgba(255,249,236,.58);
  font-size: .94rem;
}

@media (max-width: 920px) {
  .nav-shell { align-items: center; flex-direction: column; padding: .85rem 0; text-align: center; }
  .brand { justify-content: center; }
  .main-nav { justify-content: center; width: 100%; flex-wrap: wrap; gap: .22rem; }
  .hero-grid, .facts-panel, .split-heading, .care-grid, .contact-grid, .instagram-heading, .page-hero-grid { grid-template-columns: 1fr; }
  .page-link-grid, .content-grid.three, .download-grid, .photo-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quick-facts { padding: 0 0 48px; }
  .facts-panel { margin-top: -32px; border-radius: var(--radius-xl); padding: clamp(1.3rem, 3vw, 2.2rem); box-shadow: 0 18px 60px rgba(97,73,45,.12); }
  .facts-panel h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); }
  .facts-grid { grid-template-columns: repeat(2, 1fr); }
  .timeline { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .container { width: min(100% - 28px, 1120px); }
  .section, .hero { padding: 66px 0; }
  .brand span { font-size: clamp(.82rem, 4vw, .95rem); line-height: 1.15; }
  .brand img { width: 64px; height: 44px; }
  .main-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .38rem;
    align-items: stretch;
  }
  .main-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    font-size: clamp(13px, 3.45vw, 15px);
    line-height: 1.15;
    padding: .45rem .35rem;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  h1 { font-size: clamp(2.25rem, 12vw, 3.35rem); }
  h2 { font-size: clamp(1.95rem, 10.5vw, 2.85rem); }
  .lead, .section-lead, .contact-copy p { font-size: clamp(1rem, 4.8vw, 1.18rem); }
  .hero-actions .button { width: 100%; max-width: 100%; }
  .contact-grid, .contact-copy, .contact-form { min-width: 0; }
  .contact-options a { font-size: clamp(.95rem, 4.7vw, 1.08rem); line-height: 1.25; padding: .8rem .85rem; }
  .hero-card img { height: 430px; }
  .facts-grid, .profile-grid, .timeline, .gallery-grid, .page-link-grid, .content-grid.three, .download-grid, .photo-gallery { grid-template-columns: 1fr; }
  .download-card { grid-template-rows: auto auto auto auto; }
  .download-card .button { justify-self: stretch; }
  .page-hero { padding: 58px 0 34px; }
  .steps-list article { grid-template-columns: 1fr; }
  .photo-gallery figure, .photo-gallery img { min-height: 260px; }
  .gallery-lightbox { padding: .6rem; }
  .lightbox-panel { border-radius: 24px; max-height: 94vh; }
  .lightbox-toolbar { align-items: flex-start; flex-direction: column; }
  .lightbox-actions { justify-content: flex-start; }
  .lightbox-actions button { padding: .5rem .65rem; font-size: .92rem; }
  .lightbox-viewport { min-height: 260px; max-height: calc(94vh - 190px); padding: 10px; }
  .instagram-strip { grid-auto-columns: minmax(235px, 78vw); }
  .instagram-card, .instagram-card img { min-height: 320px; }
  .legal-page .section { padding-top: 48px; }
  .legal-card { border-radius: 24px; padding: 1.15rem; }
  .legal-card h1 { font-size: clamp(1.9rem, 8.5vw, 2.6rem); letter-spacing: -.045em; }
  .profile-card img, .compact-profile-grid .profile-card img { height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
  .balloon-art, .section-balloon, .flower-art, .page-decor { display: none; }
  .balloon-art-sky,
  .balloon-art-lavender,
  .flower-art-rose,
  .home-about-balloon,
  .home-about-flower-left,
  .home-map-flower,
  .home-contact-flower-left,
  .section-balloon-contact {
    display: block !important;
    opacity: .28;
    max-width: 96px;
  }
  .balloon-art-sky { right: 8px; top: 96px; width: 88px; }
  .balloon-art-lavender { left: 8px; bottom: 34px; width: 82px; }
  .flower-art-rose { left: 16px; top: 430px; width: 64px; }
  .home-about-balloon { right: 8px; top: 62px; width: 86px; }
  .home-about-flower-left { left: 10px; top: 24px; width: 64px; }
  .home-map-flower { right: 12px; top: 44px; width: 66px; }
  .section-balloon-contact { right: 8px; top: 28px; width: 88px; }
  .home-contact-flower-left { left: 10px; bottom: 28px; width: 66px; }
  .page-hero .page-decor,
  .legal-decor-section .page-decor {
    display: block !important;
    opacity: .26;
    max-width: 94px;
  }
  .page-hero .page-decor-balloon,
  .legal-decor-section .page-decor-balloon,
  .legal-decor-section [class*="-balloon"] { width: 86px; }
  .page-hero .page-decor-flower,
  .legal-decor-section .page-decor-flower,
  .legal-decor-section [class*="-flower"] { width: 66px; }
  .page-hero .page-decor-flower { left: 12px; right: auto; top: 128px; bottom: auto; }
  .page-hero .page-decor-flower-small { left: auto; right: 24px; top: auto; bottom: 48px; width: 56px; opacity: .22; }
  .site-footer { text-align: center; }
  .footer-grid { justify-items: center; max-width: 100%; overflow: hidden; }
  .footer-block { max-width: 100%; min-width: 0; }
  .footer-brand { flex-direction: column; gap: .75rem; max-width: 100%; min-width: 0; }
  .footer-brand img { margin-left: auto; margin-right: auto; }
  .footer-link-list { justify-content: center; }
  .footer-note p { margin-left: auto; margin-right: auto; }
}


/* 2026-05-21 UX/SEO upgrade polish */
.availability-card {
  margin-top: 1rem;
  display: grid;
  gap: .38rem;
  max-width: 620px;
  padding: 1.05rem 1.15rem;
  border: 2px solid rgba(233,169,31,.42);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,.97), rgba(255,244,183,.74) 52%, rgba(255,224,138,.42));
  box-shadow: 0 18px 42px rgba(145,100,36,.16), 0 0 0 6px rgba(248,200,75,.10);
}
.availability-card-hero {
  margin-top: 1.05rem;
  margin-bottom: 1.05rem;
}
.availability-card strong { font-size: clamp(1.2rem, 2.5vw, 1.52rem); color: var(--accent-dark); }
.availability-card span, .availability-detail { color: var(--muted); line-height: 1.45; }
.availability-detail { display: grid; gap: .42rem; }
.availability-detail p { margin: 0; }
.request-steps { background: linear-gradient(180deg, rgba(255,255,255,0), rgba(216,238,247,.20)); }
.subpage-cta { padding-top: 24px; }
.cta-card {
  display: grid;
  gap: .85rem;
  padding: clamp(1.35rem, 4vw, 2.5rem);
  border-radius: var(--radius-xl);
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,249,236,.86));
  box-shadow: var(--shadow);
}
.cta-card p:not(.eyebrow) { color: var(--muted); max-width: 780px; }
.gallery-view-hint {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 34px;
  padding: .42rem .72rem;
  border-radius: 999px;
  color: #9a5832;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(217,144,88,.18);
  font-weight: 850;
  font-size: .92rem;
}
.lightbox-title { display: grid; gap: .15rem; }
.lightbox-title span { color: var(--muted); font-size: .9rem; font-weight: 800; }
.site-footer {
  background: linear-gradient(180deg, #4a4037 0%, #3c342e 100%);
  box-shadow: inset 0 1px 0 rgba(255,249,236,.12);
}
.form-intro, .privacy-note { color: var(--muted); }
@media (max-width: 680px) {
  .site-header { position: sticky; }
  .nav-shell { min-height: auto; padding: .45rem 0; gap: .45rem; }
  .brand img { width: 52px; height: 36px; border-radius: 12px; padding: 3px; }
  .brand span { font-size: .82rem; }
  .main-nav { gap: .25rem; }
  .main-nav a { min-height: 34px; font-size: 12px; padding: .34rem .28rem; }
  .availability-card { border-radius: 18px; }
}

/* Gallery: keep desktop at three columns for future images */
@media (min-width: 921px) {
  .enhanced-gallery.photo-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; }
}


/* FAQ page */
.faq-list { display: grid; gap: 1rem; }
.faq-item { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 14px 42px rgba(97,73,45,.08); padding: 1.25rem; }
.faq-item summary { cursor: pointer; font-weight: 900; font-size: 1.12rem; list-style-position: outside; }
.faq-item p { color: var(--muted); margin-top: .65rem; }
.vacation-card { margin-top: 1rem; padding: 1rem; border-radius: 1.1rem; background: linear-gradient(135deg, rgba(255,246,210,.92), rgba(255,255,255,.96)); border: 1px solid rgba(239,194,85,.45); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
.vacation-card strong { display: block; color: var(--ink); font-size: 1.02rem; margin-bottom: .6rem; }
.vacation-card ul { display: grid; gap: .45rem; margin: 0; padding-left: 1.15rem; color: var(--muted); font-weight: 750; }
.vacation-card li::marker { color: #d59a20; }
.faq-item[open] { border-color: rgba(108,138,99,.26); box-shadow: 0 18px 48px rgba(97,73,45,.12); }


/* Konzept page readable long-form layout */
.concept-hero-grid { grid-template-columns: minmax(0, 760px); align-items: end; }
.concept-article-shell {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: 0 18px 58px rgba(97,73,45,.11);
}
.concept-reading-section { padding-top: 54px; }
.concept-article-shell { max-width: 920px; padding: clamp(1.45rem, 4vw, 3.2rem); }
.concept-article-shell > h2 { max-width: 760px; }
.concept-article { display: grid; gap: clamp(1.6rem, 4vw, 2.35rem); margin-top: clamp(1.4rem, 3vw, 2.2rem); }
.concept-article section { position: relative; padding-left: clamp(1rem, 3vw, 1.6rem); border-left: 4px solid rgba(248,200,75,.55); }
.concept-section-kicker { margin: 0 0 .55rem; color: var(--sage); font-weight: 900; text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; }
.concept-article h3 { font-size: clamp(1.35rem, 2.8vw, 1.75rem); margin-bottom: .8rem; }
.concept-article p:not(.concept-section-kicker) { color: var(--muted); font-size: clamp(1.04rem, 1.7vw, 1.14rem); line-height: 1.78; margin-top: .72rem; }
@media (max-width: 560px) {
  .concept-article-shell { border-radius: 24px; }
  .concept-article section { padding-left: .95rem; }
}


/* Childlike Sonnenschein redesign 2026-06-06 */
:root{
  --sun:#ffd84d;
  --sun-deep:#f4a62a;
  --cream:#fff4d8;
  --paper:#fffdf5;
  --sky:#bfeeff;
  --sky-soft:#e9f8ff;
  --grass:#a9df8e;
  --mint:#d9f7c9;
  --rose:#ffb3c7;
  --coral:#ff9f80;
  --lavender:#d9c7ff;
  --crayon:#3f3228;
  --muted:#64574f;
  --card:rgba(255,255,255,.88);
  --line:rgba(111,84,45,.16);
  --shadow:0 18px 38px rgba(143,92,36,.15);
  --kid-shadow:0 20px 44px rgba(143,92,36,.18);
  --kid-border:3px solid rgba(255,255,255,.9);
  --radius-cloud:34px 44px 38px 46px;
}
body{
  color:var(--crayon);
  background:
    radial-gradient(circle at 12% 8%, rgba(255,216,77,.42), transparent 21rem),
    radial-gradient(circle at 86% 12%, rgba(191,238,255,.78), transparent 23rem),
    radial-gradient(circle at 18% 78%, rgba(255,179,199,.28), transparent 20rem),
    linear-gradient(180deg,#fffdf5 0%,#fff0c7 40%,#f2fbef 100%);
}
body::before{
  opacity:.34;
  background-image:
    radial-gradient(circle, rgba(255,159,128,.35) 0 3px, transparent 3px),
    radial-gradient(circle, rgba(95,177,218,.26) 0 2px, transparent 2px),
    radial-gradient(circle, rgba(244,166,42,.22) 0 1.5px, transparent 1.5px);
  background-size:54px 54px,78px 78px,112px 112px;
}
h1,h2{
  font-family:ui-rounded,"Aptos","Segoe UI",system-ui,sans-serif;
  letter-spacing:-.025em;
}
h1{font-size:clamp(2rem,3.65vw,3.55rem);max-width:720px;font-weight:850;}
h2{font-size:clamp(1.55rem,2.8vw,2.55rem);font-weight:850;}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  width:max-content;
  max-width:100%;
  padding:.35rem .72rem;
  border-radius:999px;
  color:#7a5a00;
  background:rgba(255,216,77,.44);
  border:2px solid rgba(255,255,255,.72);
  box-shadow:0 8px 16px rgba(143,92,36,.08);
}
.site-header{
  background:rgba(255,253,245,.9);
  border-bottom:2px solid rgba(255,216,77,.36);
}
.brand img{border-radius:20px;background:linear-gradient(135deg,#fff,#fff0c7);box-shadow:0 10px 24px rgba(244,166,42,.18);}
.main-nav a{border:1px solid transparent;}
.main-nav a:hover,.main-nav a:focus-visible,.main-nav a.is-active{
  color:#583c00;
  background:linear-gradient(135deg,rgba(255,216,77,.64),rgba(191,238,255,.55));
  border-color:rgba(255,255,255,.8);
}
.hero.section-soft.compact-landing{
  background:
    radial-gradient(circle at 18% 18%,rgba(255,216,77,.38),transparent 20rem),
    radial-gradient(circle at 94% 8%,rgba(255,179,199,.34),transparent 18rem),
    linear-gradient(180deg,rgba(191,238,255,.58),rgba(255,253,245,.78) 55%,rgba(217,247,201,.45));
  overflow:hidden;
}
.hero.section-soft.compact-landing::after{
  content:"";
  position:absolute;
  left:-4vw;right:-4vw;bottom:-1px;height:70px;
  background:radial-gradient(52px 34px at 52px 0,transparent 50px,var(--paper) 52px) 0 0/104px 70px repeat-x;
  opacity:.95;
  pointer-events:none;
}
.kid-garland{position:absolute;left:clamp(16px,5vw,72px);right:clamp(16px,5vw,72px);top:92px;height:56px;pointer-events:none;z-index:1;}
.kid-garland::before{content:"";position:absolute;left:0;right:0;top:8px;height:3px;background:rgba(111,84,45,.24);border-radius:999px;transform:rotate(-1.2deg);}
.kid-garland::after{content:"";display:block;height:54px;background:conic-gradient(from 150deg at 50% 0,var(--sun) 0 60deg,transparent 0) 0 12px/66px 42px repeat-x,conic-gradient(from 150deg at 50% 0,var(--rose) 0 60deg,transparent 0) 22px 12px/66px 42px repeat-x,conic-gradient(from 150deg at 50% 0,var(--sky) 0 60deg,transparent 0) 44px 12px/66px 42px repeat-x;filter:drop-shadow(0 8px 10px rgba(143,92,36,.13));}
.kid-garland-page{top:62px;opacity:.9;}
.kid-sticker{position:absolute;pointer-events:none;user-select:none;z-index:0;filter:drop-shadow(0 12px 16px rgba(97,73,45,.14));}
.kid-sun{width:clamp(82px,10vw,148px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff17e 0 48%,#ffc857 50% 100%);box-shadow:0 0 0 10px rgba(255,216,77,.16);}
.kid-cloud{width:clamp(128px,15vw,230px);height:clamp(52px,6vw,86px);border-radius:999px;background:rgba(255,255,255,.75);}
.kid-cloud::before,.kid-cloud::after{content:"";position:absolute;border-radius:50%;background:inherit;}
.kid-cloud::before{width:45%;aspect-ratio:1;left:14%;bottom:28%;}.kid-cloud::after{width:38%;aspect-ratio:1;right:16%;bottom:24%;}
.hero-sun{right:clamp(8px,5vw,68px);top:128px;opacity:.72;}.hero-cloud{left:clamp(0px,4vw,56px);bottom:102px;opacity:.58;}
.hero-card.image-card{
  border:12px solid rgba(255,255,255,.96);
  border-radius:42px 34px 46px 36px;
  transform:rotate(1.1deg);
  box-shadow:var(--kid-shadow);
}
.hero-card.image-card::before{content:"";position:absolute;inset:12px;border:2px dashed rgba(244,166,42,.32);border-radius:28px;z-index:1;pointer-events:none;}
.image-card figcaption{border-radius:24px;background:rgba(255,253,245,.9);border:2px solid rgba(255,216,77,.28);}
.availability-card{border:3px solid rgba(255,255,255,.86);background:linear-gradient(135deg,rgba(255,216,77,.88),rgba(255,255,255,.92) 56%,rgba(191,238,255,.55));box-shadow:0 14px 30px rgba(244,166,42,.18);border-radius:26px 32px 24px 34px;transform:rotate(-.45deg);}
.trust-list li{background:var(--paper);border:2px solid rgba(255,255,255,.88);box-shadow:0 8px 18px rgba(143,92,36,.12);transform:rotate(var(--tilt,-1deg));color:#5d4b22;}
.trust-list li:nth-child(2){--tilt:1deg;background:rgba(191,238,255,.72);}.trust-list li:nth-child(3){--tilt:-.6deg;background:rgba(255,179,199,.62);}
.facts-panel,.content-card,.faq-item,.download-card,.cta-card,.contact-form,.contact-copy,.concept-article-shell{background:rgba(255,253,245,.9);border:var(--kid-border);box-shadow:var(--kid-shadow);}
.facts-panel{border-radius:38px 30px 42px 34px;background:linear-gradient(135deg,rgba(255,253,245,.96),rgba(233,248,255,.86));}
.facts-grid article,.page-link-card,.timeline article,.care-card,.download-card,.faq-item{border:2px solid rgba(255,255,255,.86);box-shadow:0 12px 26px rgba(143,92,36,.11);}
.facts-grid article:nth-child(1),.page-link-card:nth-child(1),.timeline article:nth-child(1){background:rgba(255,216,77,.34);}
.facts-grid article:nth-child(2),.page-link-card:nth-child(2),.timeline article:nth-child(2){background:rgba(191,238,255,.46);}
.facts-grid article:nth-child(3),.page-link-card:nth-child(3),.timeline article:nth-child(3){background:rgba(217,247,201,.52);}
.facts-grid article:nth-child(4),.page-link-card:nth-child(4){background:rgba(255,179,199,.42);}.facts-grid article:nth-child(5),.page-link-card:nth-child(5),.page-link-card:nth-child(6){background:rgba(217,199,255,.38);}
.fact-icon,.page-link-card span{font-size:clamp(1.75rem,3vw,2.55rem);}
.page-link-card{border-radius:28px 34px 26px 32px;transform:rotate(var(--tile-tilt,-.25deg));}.page-link-card:nth-child(2n){--tile-tilt:.35deg;}.page-link-card:hover{transform:translateY(-3px) rotate(var(--tile-tilt,-.25deg));}
.profile-card{background:rgba(255,253,245,.9);border:var(--kid-border);box-shadow:var(--kid-shadow);border-radius:36px 28px 42px 30px;}
.profile-card img{border-radius:28px 22px 34px 24px;}
.request-steps{background:linear-gradient(180deg,rgba(255,253,245,0),rgba(191,238,255,.24));}
.timeline article{border-radius:32px;background:rgba(255,253,245,.9);position:relative;}
.timeline article strong{background:linear-gradient(135deg,var(--sun),var(--coral));color:#4d3200;box-shadow:0 8px 18px rgba(244,166,42,.2);}
.instagram-card,.photo-gallery figure{border:10px solid rgba(255,255,255,.94);border-radius:30px;box-shadow:var(--kid-shadow);background:white;}
.instagram-card:nth-child(odd),.photo-gallery figure:nth-child(odd){transform:rotate(-.7deg);}.instagram-card:nth-child(even),.photo-gallery figure:nth-child(even){transform:rotate(.7deg);}
.contact-section{background:linear-gradient(180deg,rgba(217,247,201,.26),rgba(255,253,245,.9));}
.contact-form{border-radius:34px 28px 38px 30px;}
.contact-form input,.contact-form textarea{border:2px solid rgba(244,166,42,.22);background:rgba(255,255,255,.9);border-radius:18px;}
.button.primary{background:linear-gradient(135deg,#ffe15b,#ffb15d);box-shadow:0 12px 26px rgba(244,166,42,.28);}.button.secondary{background:rgba(255,255,255,.82);border:2px solid rgba(191,238,255,.62);}
.site-footer{position:relative;background:linear-gradient(180deg,#e8f8ff 0%,#fff0c7 38%,#5f4a35 39%,#49392d 100%);color:#fff9ec;padding-top:80px;}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:72px;background:radial-gradient(56px 36px at 56px 72px,#5f4a35 54px,transparent 56px) 0 0/112px 72px repeat-x;}
.page-hero{background:linear-gradient(180deg,rgba(191,238,255,.38),rgba(255,253,245,.82));}
.page-hero .container{position:relative;z-index:2;}
.legal-page .page-hero,.legal-decor-section{background:linear-gradient(180deg,rgba(255,253,245,.95),rgba(255,249,236,.9));}
@media(max-width:680px){
  h1{font-size:clamp(1.85rem,8vw,2.45rem);}h2{font-size:clamp(1.45rem,6.4vw,2.05rem);}
  .kid-garland{top:74px;left:8px;right:8px;opacity:.86;transform:scale(.9);transform-origin:top center;}
  .kid-garland-page{top:42px;opacity:.78;}
  .balloon-art,.section-balloon,.flower-art,.page-decor,.kid-sticker{display:block;opacity:.36;max-width:92px;}
  .hero .balloon-art-cluster{width:116px;right:-30px;top:128px;}
  .hero-sun{right:-22px;top:178px;width:92px;opacity:.55;}.hero-cloud{left:-34px;bottom:62px;width:128px;opacity:.5;}
  .hero-card.image-card{transform:none;border-width:8px;border-radius:30px;}
  .availability-card{transform:none;}
  .instagram-card,.photo-gallery figure{transform:none!important;}
  .site-footer{padding-top:64px;}
}

/* Childlike redesign polish pass: calmer titles and safe reading space */
.contact-copy{padding-inline:clamp(.25rem,1.4vw,1rem);}
.site-footer .footer-grid{position:relative;z-index:1;}
.site-footer a,.site-footer p{color:rgba(255,249,236,.92);}


/* Childlike redesign pass 2: pages, contact, gallery and mobile polish */
.site-header::after{
  content:"";
  display:block;
  height:10px;
  background:
    radial-gradient(circle at 10px 10px, var(--sun) 0 9px, transparent 10px) 0 -2px/44px 12px repeat-x,
    radial-gradient(circle at 32px 10px, var(--rose) 0 8px, transparent 9px) 0 -2px/44px 12px repeat-x;
  opacity:.5;
}
.nav-shell{position:relative;}
.brand{padding:.18rem .42rem .18rem .2rem;border-radius:999px;background:rgba(255,255,255,.48);}
.main-nav a{border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.55);}
.main-nav a.is-active{box-shadow:0 9px 18px rgba(244,166,42,.13), inset 0 1px 0 rgba(255,255,255,.7);}
.childlike-page-hero{isolation:isolate;}
.childlike-page-hero::before{
  content:"";
  position:absolute;
  left:clamp(16px,7vw,120px);
  bottom:18px;
  width:clamp(90px,10vw,150px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,#ffe970 0 46%,#ffc457 48% 100%);
  opacity:.22;
  box-shadow:0 0 0 12px rgba(255,216,77,.12);
  pointer-events:none;
}
.childlike-page-hero::after{
  content:"";
  position:absolute;
  right:clamp(8px,6vw,90px);
  top:118px;
  width:clamp(110px,13vw,190px);
  height:clamp(48px,6vw,78px);
  border-radius:999px;
  background:rgba(255,255,255,.58);
  opacity:.5;
  pointer-events:none;
  filter:drop-shadow(0 10px 18px rgba(97,73,45,.08));
}
.page-card-grid article{
  position:relative;
  overflow:hidden;
  border-radius:34px 28px 38px 30px;
  background:linear-gradient(135deg,rgba(255,253,245,.95),rgba(191,238,255,.54));
  border:3px solid rgba(255,255,255,.88);
  box-shadow:var(--kid-shadow);
}
.page-card-grid article::after{
  content:"";
  position:absolute;
  right:-18px;
  bottom:-22px;
  width:86px;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,179,199,.72),rgba(255,216,77,.48));
}
.content-card,.concept-article-shell,.steps-list article{
  position:relative;
  overflow:hidden;
}
.content-card::before,.concept-article-shell::before,.steps-list article::before{
  content:"";
  position:absolute;
  inset:12px;
  border:2px dashed rgba(244,166,42,.16);
  border-radius:inherit;
  pointer-events:none;
}
.faq-list{max-width:960px;}
.faq-item{
  border-radius:28px 34px 26px 32px;
  background:linear-gradient(135deg,rgba(255,253,245,.94),rgba(255,240,199,.58));
}
.faq-item:nth-child(2n){background:linear-gradient(135deg,rgba(255,253,245,.94),rgba(191,238,255,.46));}
.faq-item summary{display:flex;gap:.65rem;align-items:center;}
.faq-item summary::before{content:"?";display:inline-grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--sun),var(--rose));color:#5d3c00;font-weight:950;}
.faq-item[open] summary::before{content:"☀";}
.vacation-card{border:3px solid rgba(255,255,255,.82);background:linear-gradient(135deg,rgba(255,216,77,.42),rgba(255,255,255,.88));border-radius:24px;}
.download-card{
  border-radius:30px 38px 32px 28px;
  background:linear-gradient(135deg,rgba(255,253,245,.94),rgba(217,247,201,.48));
  position:relative;
  overflow:hidden;
}
.download-card:nth-child(2){background:linear-gradient(135deg,rgba(255,253,245,.94),rgba(255,179,199,.34));}
.download-card:nth-child(3){background:linear-gradient(135deg,rgba(255,253,245,.94),rgba(191,238,255,.44));}
.download-card>span{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 10px 22px rgba(143,92,36,.12);font-size:2rem;}
.download-card::after{content:"";position:absolute;right:18px;top:18px;width:38px;height:38px;border-radius:50%;background:rgba(255,216,77,.42);box-shadow:46px 36px 0 rgba(255,179,199,.24),-24px 68px 0 rgba(191,238,255,.34);}
.enhanced-gallery.photo-gallery{gap:clamp(1rem,2vw,1.6rem);}
.gallery-item,.photo-gallery button.gallery-item{
  background:#fff;
  border:10px solid rgba(255,255,255,.96);
  box-shadow:0 18px 40px rgba(143,92,36,.18);
  border-radius:32px;
  transform:rotate(var(--gallery-tilt,-.8deg));
}
.gallery-item:nth-child(2n){--gallery-tilt:.75deg;}
.gallery-frame{border-radius:22px;overflow:hidden;background:rgba(255,240,199,.46);}
.gallery-caption{background:rgba(255,253,245,.9);border-radius:999px;padding:.45rem .75rem;margin-top:.55rem;display:inline-flex;width:max-content;max-width:100%;}
.gallery-view-hint{background:linear-gradient(135deg,rgba(255,216,77,.5),rgba(191,238,255,.46));border:2px solid rgba(255,255,255,.8);}
.contact-grid{align-items:stretch;}
.contact-copy,.contact-form{
  background-image:
    radial-gradient(circle at 92% 10%,rgba(255,216,77,.24),transparent 90px),
    radial-gradient(circle at 8% 88%,rgba(255,179,199,.22),transparent 110px),
    linear-gradient(135deg,rgba(255,253,245,.94),rgba(255,255,255,.86));
}
.contact-copy{border-radius:38px 30px 42px 34px;border:var(--kid-border);box-shadow:var(--kid-shadow);}
.contact-options a{border-radius:24px;background:rgba(255,255,255,.78);border:2px solid rgba(255,216,77,.24);}
.contact-form label{font-weight:900;color:#5d4b22;}
.cta-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(255,253,245,.95),rgba(255,216,77,.24),rgba(191,238,255,.34));
}
.cta-card::after{
  content:"";
  position:absolute;
  right:-22px;bottom:-22px;
  width:130px;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(255,179,199,.58),rgba(255,216,77,.28));
  pointer-events:none;
}
.site-footer{overflow:hidden;}
.site-footer .footer-brand img{background:rgba(255,253,245,.92);border-radius:22px;padding:.35rem;box-shadow:0 12px 24px rgba(0,0,0,.12);}
.site-footer .footer-block{background:rgba(255,249,236,.08);border:1px solid rgba(255,249,236,.14);border-radius:24px;padding:1rem;}
.site-footer .footer-block h2{font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:#ffe59a;}
.footer-note{position:relative;z-index:1;}
@media(max-width:920px){
  .main-nav{padding-bottom:.15rem;}
  .childlike-page-hero::after{top:92px;right:-18px;}
  .page-card-grid article{transform:none;}
}
@media(max-width:680px){
  .site-header::after{height:8px;background-size:36px 10px;}
  .nav-shell{gap:.55rem;}
  .main-nav{display:flex;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x proximity;padding:.15rem .15rem .35rem;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;}
  .main-nav a{flex:0 0 auto;min-width:max-content;padding:.48rem .72rem;scroll-snap-align:start;}
  .childlike-page-hero{padding-top:76px;}
  .childlike-page-hero::before{left:-28px;bottom:18px;width:92px;opacity:.18;}
  .childlike-page-hero::after{right:-42px;top:104px;width:120px;height:52px;opacity:.46;}
  .faq-item summary{align-items:flex-start;}
  .download-card>span{width:50px;height:50px;font-size:1.7rem;}
  .gallery-item,.photo-gallery button.gallery-item{transform:none;border-width:8px;}
  .contact-copy,.contact-form{border-radius:28px;}
  .site-footer .footer-block{width:100%;}
}


/* Childlike redesign pass 2 footer correction */
.site-footer{
  background:linear-gradient(180deg,#6b513a 0%,#49392d 100%);
  color:#fff9ec;
  padding-top:88px;
}
.site-footer::before{
  content:"";
  position:absolute;
  left:-4vw;right:-4vw;top:0;height:78px;
  background:radial-gradient(58px 38px at 58px 78px,#6b513a 56px,transparent 58px) 0 0/116px 78px repeat-x;
}
.site-footer::after{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:42px;
  background:linear-gradient(180deg,rgba(255,253,245,.96),rgba(255,253,245,0));
  pointer-events:none;
}
.footer-link-list a{white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:auto;}
.site-footer .footer-block{min-width:0;}
@media(max-width:680px){.site-footer{padding-top:72px}.site-footer::before{height:62px;background-size:92px 62px;background-position:0 0}.footer-link-list a{width:100%;justify-content:center}}

/* Footer legal link readable as one label */
.footer-link-list{gap:.55rem;}
.footer-link-list a{min-width:max-content;white-space:nowrap;hyphens:none;}
@media(max-width:680px){.footer-link-list a{min-width:0;white-space:normal;overflow-wrap:break-word;}}


/* Childlike redesign pass 3: final desktop/mobile consistency and legal calm */
.section{scroll-margin-top:110px;}
.split-heading{align-items:end;}
.split-heading>p{background:rgba(255,253,245,.62);border:2px solid rgba(255,255,255,.62);border-radius:24px;padding:.8rem 1rem;box-shadow:0 10px 22px rgba(143,92,36,.07);}
.section:not(.legal-decor-section):not(.subpage-cta){position:relative;}
.section:not(.legal-decor-section):not(.subpage-cta)::after{
  content:"";
  position:absolute;
  left:clamp(12px,4vw,64px);
  right:clamp(12px,4vw,64px);
  bottom:-6px;
  height:12px;
  background:radial-gradient(circle,var(--sun) 0 4px,transparent 5px) 0 0/42px 12px repeat-x;
  opacity:.18;
  pointer-events:none;
}
.facts-grid article:nth-child(5){grid-column:span 2;max-width:520px;justify-self:center;width:100%;}
.legal-page .legal-decor-section{
  background:linear-gradient(180deg,rgba(255,253,245,.98),rgba(255,249,236,.94));
  overflow:hidden;
}
.legal-page .page-decor{opacity:.16;filter:saturate(.7) drop-shadow(0 8px 12px rgba(97,73,45,.08));}
.legal-card {
  max-width: 980px;
  background:rgba(255,253,245,.96);
  border:2px solid rgba(244,166,42,.18);
  box-shadow:0 18px 44px rgba(97,73,45,.10);
}
.legal-card::before{display:none;}
.legal-card h1{font-size:clamp(2rem,3.8vw,3.4rem);}
.legal-card h2{margin-top:1.7rem;padding-top:.9rem;border-top:1px dashed rgba(97,73,45,.14);font-size:clamp(1.15rem,2vw,1.5rem);}
.legal-card p{max-width:75ch;}
.main-nav{position:relative;}
@media(max-width:680px){
  .nav-shell{align-items:stretch;text-align:left;}
  .brand{align-self:center;max-width:100%;}
  .main-nav{mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 34px),transparent 100%);}
  .main-nav::after{content:"›";position:sticky;right:0;display:inline-grid;place-items:center;flex:0 0 28px;color:#7a5a00;font-weight:950;background:linear-gradient(90deg,transparent,rgba(255,253,245,.96) 35%);}
  .facts-grid article:nth-child(5){grid-column:auto;max-width:none;}
  .split-heading>p{padding:.75rem .85rem;}
  .section:not(.legal-decor-section):not(.subpage-cta)::after{left:18px;right:18px;opacity:.14;}
  .legal-page .page-decor{opacity:.14;max-width:78px;}
  .legal-card p,.legal-card li{font-size:1rem;line-height:1.65;}
}
@media(max-width:520px){
  .container{width:min(100% - 22px,1120px);}
  .section,.hero{padding:56px 0;}
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .button{width:100%;justify-content:center;}
  .facts-panel{padding:1.05rem;}
  .facts-grid article,.page-link-card,.timeline article,.faq-item,.download-card,.cta-card,.contact-copy,.contact-form{border-radius:22px;}
  .page-hero-grid{gap:1.2rem;}
  .page-card-grid article{padding:1rem;}
  .footer-grid{gap:1rem;}
  .footer-link-list a{font-size:.95rem;padding:.58rem .7rem;}
  .site-footer .footer-block{padding:.85rem;}
  .footer-brand p,.footer-note p{font-size:.95rem;}
}


/* Final visual consistency tweaks after desktop review */
.contact-grid{align-items:start;}
.contact-copy{align-self:start;}
.instagram-strip{position:relative;padding-right:clamp(1rem,4vw,3rem);}
.instagram-strip::after{
  content:"weiter →";
  position:sticky;
  right:.4rem;
  align-self:start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:.42rem .7rem;
  border-radius:999px;
  color:#7a5a00;
  background:linear-gradient(135deg,rgba(255,253,245,.92),rgba(255,216,77,.72));
  border:2px solid rgba(255,255,255,.8);
  box-shadow:0 10px 20px rgba(143,92,36,.13);
  z-index:2;
}
@media(max-width:680px){.instagram-strip::after{content:"wischen →";font-size:.88rem;}}


/* Final review fixes: keep Instagram hint non-overlapping and balance contact card */
.instagram-strip::after{content:"";min-width:34px;min-height:auto;padding:0;border:0;box-shadow:none;background:linear-gradient(90deg,transparent,rgba(255,253,245,.94));}
.contact-reassurance{margin-top:1rem;padding:.9rem 1rem;border-radius:22px;background:linear-gradient(135deg,rgba(255,216,77,.28),rgba(191,238,255,.34));border:2px solid rgba(255,255,255,.72);font-weight:800;color:#5d4b22;}
@media(max-width:680px){.instagram-strip::after{content:"";min-width:24px}.contact-reassurance{font-size:.98rem}}


/* Sonnenschein storybook variation pass: section worlds and calmer-new header */
body{
  background:
    radial-gradient(circle at 8% 8%, rgba(255,216,77,.36), transparent 25rem),
    radial-gradient(circle at 88% 17%, rgba(234,217,251,.72), transparent 24rem),
    radial-gradient(circle at 12% 58%, rgba(191,238,255,.42), transparent 28rem),
    radial-gradient(circle at 92% 78%, rgba(217,247,201,.46), transparent 25rem),
    linear-gradient(180deg,#fffdf7 0%,#fff8ec 18%,#eaf8ff 34%,#fff4e4 52%,#f0ffec 70%,#fff1f5 86%,#fffdf7 100%);
}
.site-header{
  background:linear-gradient(180deg,rgba(255,253,245,.94),rgba(255,249,236,.86));
  border-bottom:0;
  box-shadow:0 12px 28px rgba(143,92,36,.08);
}
.site-header::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg,var(--sun) 0 16%,var(--sky) 16% 33%,var(--rose) 33% 50%,var(--mint) 50% 67%,var(--lavender) 67% 84%,var(--sun) 84% 100%);
  opacity:.82;
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-13px;height:14px;
  background:radial-gradient(16px 12px at 16px 0,rgba(255,249,236,.94) 14px,transparent 15px) 0 0/32px 14px repeat-x;
  pointer-events:none;
}
.nav-shell{min-height:78px;position:relative;}
.brand{background:rgba(255,255,255,.68);border:2px solid rgba(255,255,255,.82);box-shadow:0 10px 22px rgba(143,92,36,.08);}
.brand img{background:linear-gradient(135deg,#fff,#fff6c7);border:2px solid rgba(255,216,77,.25);}
.main-nav{padding:.28rem;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.72);border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);}
.main-nav a:hover,.main-nav a:focus-visible,.main-nav a.is-active{background:linear-gradient(135deg,rgba(255,216,77,.64),rgba(191,238,255,.46));}
.quick-facts{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,216,77,.24),transparent 15rem),
    radial-gradient(circle at 88% 70%,rgba(255,179,199,.26),transparent 18rem),
    linear-gradient(180deg,#fff8ed 0%,#eaf8ff 100%);
  padding:68px 0;
}
.quick-facts::before,.quick-facts::after,.about-decor-section::before,.site-map-section::before,.instagram-section::before,.request-steps::before,.contact-section::before{
  content:"";
  position:absolute;
  pointer-events:none;
  opacity:.28;
  z-index:0;
}
.quick-facts::before{width:190px;height:190px;right:-42px;top:24px;border-radius:48% 52% 44% 56%;background:rgba(217,247,201,.7);transform:rotate(12deg);}
.quick-facts::after{left:4%;bottom:28px;width:210px;height:24px;background:radial-gradient(circle,var(--rose) 0 6px,transparent 7px) 0 0/28px 24px repeat-x;}
.about-decor-section{
  background:
    radial-gradient(circle at 90% 12%,rgba(255,216,77,.22),transparent 18rem),
    linear-gradient(180deg,#eaf8ff 0%,#f2ffec 100%);
  overflow:hidden;
}
.about-decor-section::before{left:-80px;top:120px;width:210px;height:210px;border-radius:44% 56% 58% 42%;background:rgba(191,238,255,.62);}
.site-map-section{
  background:
    radial-gradient(circle at 10% 18%,rgba(255,179,199,.32),transparent 18rem),
    radial-gradient(circle at 90% 76%,rgba(255,216,77,.26),transparent 22rem),
    linear-gradient(180deg,#fff5dc 0%,#fff1f6 100%);
}
.site-map-section::before{right:6%;top:48px;width:260px;height:30px;background:linear-gradient(90deg,var(--sun),var(--rose),var(--sky),var(--mint));border-radius:999px;opacity:.2;transform:rotate(-3deg);}
.instagram-section{
  background:
    radial-gradient(circle at 14% 70%,rgba(217,247,201,.34),transparent 18rem),
    radial-gradient(circle at 84% 18%,rgba(234,217,251,.55),transparent 20rem),
    linear-gradient(180deg,#fff1f6 0%,#eef9ff 100%);
  overflow:hidden;
}
.instagram-section::before{left:50%;top:24px;width:340px;height:24px;background:radial-gradient(circle,var(--sun) 0 5px,transparent 6px) 0 0/30px 24px repeat-x;transform:translateX(-50%);}
.request-steps{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 80% 20%,rgba(191,238,255,.34),transparent 20rem),
    linear-gradient(180deg,#eef9ff 0%,#f2ffec 100%);
}
.request-steps::before{left:8%;right:8%;top:54%;height:7px;background:linear-gradient(90deg,var(--sun),var(--rose),var(--sky),var(--mint));border-radius:999px;opacity:.18;}
.contact-section{
  background:
    radial-gradient(circle at 8% 20%,rgba(255,216,77,.28),transparent 19rem),
    radial-gradient(circle at 92% 76%,rgba(255,179,199,.32),transparent 20rem),
    linear-gradient(180deg,#f2ffec 0%,#fff1f6 46%,#fff9ec 100%);
  overflow:hidden;
}
.contact-section::before{right:-60px;top:70px;width:240px;height:240px;border-radius:58% 42% 50% 50%;background:rgba(191,238,255,.48);}
.quick-facts>.container,.home-decor-section>.container,.request-steps>.container,.contact-section>.container{position:relative;z-index:1;}
.facts-panel,.profile-card,.page-link-grid a,.timeline article,.contact-copy,.contact-form{backdrop-filter:blur(6px);}
.facts-grid article:nth-child(1),.page-link-grid a:nth-child(1),.timeline article:nth-child(1){background:linear-gradient(145deg,rgba(255,253,245,.96),rgba(255,243,178,.72));}
.facts-grid article:nth-child(2),.page-link-grid a:nth-child(2),.timeline article:nth-child(2){background:linear-gradient(145deg,rgba(255,253,245,.96),rgba(213,244,255,.68));}
.facts-grid article:nth-child(3),.page-link-grid a:nth-child(3),.timeline article:nth-child(3){background:linear-gradient(145deg,rgba(255,253,245,.96),rgba(226,247,214,.7));}
.facts-grid article:nth-child(4),.page-link-grid a:nth-child(4){background:linear-gradient(145deg,rgba(255,253,245,.96),rgba(255,208,220,.66));}
.facts-grid article:nth-child(5),.page-link-grid a:nth-child(5){background:linear-gradient(145deg,rgba(255,253,245,.96),rgba(234,217,251,.68));}
.page-link-grid a:nth-child(6){background:linear-gradient(145deg,rgba(255,253,245,.96),rgba(191,238,255,.68));}
@media(max-width:820px){
  .site-header::after{bottom:-10px;height:11px;background-size:26px 11px;}
  .main-nav{border-radius:24px;background:rgba(255,255,255,.62);}
  .quick-facts,.section,.hero{padding-block:58px;}
  .request-steps::before{display:none;}
}
@media(max-width:520px){
  .site-header::before{height:5px;}
  .nav-shell{min-height:72px;}
  .brand{padding:.12rem .36rem .12rem .14rem;}
  .brand span{font-size:.78rem;}
  .quick-facts::before,.contact-section::before{width:120px;height:120px;opacity:.18;}
  .instagram-section::before{width:220px;}
}


/* Sonnenschein SVG illustration system: replace pieced-together PNG/symbol decorations */
.balloon-art,.flower-art,.page-decor,.section-balloon,.kid-garland{display:none!important;}
.site-header::after{background:url("illustrations/garland-curve.svg") center top/920px auto repeat-x;height:68px;bottom:-50px;opacity:.92;}
.hero,.quick-facts,.about-decor-section,.site-map-section,.instagram-section,.request-steps,.contact-section,.site-footer,.page-hero,.legal-decor-section{isolation:isolate;}
.hero{background:linear-gradient(180deg,#eaf8ff 0%,#fff8ec 62%,#f0ffec 100%);}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url("illustrations/hero-sky-scene.svg?v=scene-soft-02") center bottom/cover no-repeat;
  opacity:.82;
}
.hero::after{
  content:"";
  position:absolute;
  top:16px;
  left:50%;
  width:min(1120px,92vw);
  height:150px;
  transform:translateX(-50%);
  z-index:1;
  pointer-events:none;
  background:url("illustrations/garland-curve.svg") center top/100% auto no-repeat;
}
.hero>.container{position:relative;z-index:2;}
.hero-card{box-shadow:0 24px 64px rgba(97,73,45,.2);}
.quick-facts::before{background:url("illustrations/balloon-cluster.svg") right top/210px auto no-repeat!important;width:260px;height:320px;right:-46px;top:24px;opacity:.42;transform:none;border-radius:0;}
.quick-facts::after{background:url("illustrations/paper-clouds.svg") left bottom/560px auto no-repeat!important;width:52vw;height:220px;left:0;bottom:-54px;opacity:.42;}
.about-decor-section::before{background:url("illustrations/meadow-strip.svg") center bottom/100% auto no-repeat!important;left:0;right:0;top:auto;bottom:-1px;width:auto;height:170px;opacity:.62;border-radius:0;}
.site-map-section::before{background:url("illustrations/paper-clouds.svg") center top/860px auto no-repeat!important;left:0;right:0;top:14px;width:auto;height:220px;opacity:.32;transform:none;border-radius:0;}
.instagram-section::before{background:url("illustrations/photo-album-bg.svg") center center/1000px auto no-repeat!important;left:50%;top:38px;width:min(1000px,94vw);height:430px;transform:translateX(-50%);opacity:.38;}
.request-steps::before{background:url("illustrations/path-steps.svg") center center/920px auto no-repeat!important;left:50%;right:auto;top:50%;width:min(920px,90vw);height:220px;transform:translate(-50%,-50%);opacity:.52;border-radius:0;}
.contact-section::before{background:url("illustrations/balloon-cluster.svg") right top/250px auto no-repeat!important;right:-28px;top:44px;width:300px;height:360px;opacity:.34;border-radius:0;}
.contact-section::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;height:150px;
  background:url("illustrations/meadow-strip.svg") center bottom/100% auto no-repeat;
  opacity:.55;
  pointer-events:none;
  z-index:0;
}
.site-footer{background:#49392d!important;position:relative;padding-top:150px;}
.site-footer::before{background:url("illustrations/footer-hills.svg") center top/cover no-repeat!important;height:170px;top:0;opacity:1;}
.site-footer::after{content:"";position:absolute;left:0;right:0;top:26px;height:82px;background:url("illustrations/garland-curve.svg") center top/780px auto repeat-x;opacity:.5;pointer-events:none;}
.site-footer .footer-grid,.site-footer .footer-note{position:relative;z-index:2;}
.page-hero::before,.legal-decor-section::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:260px;
  background:url("illustrations/paper-clouds.svg") center top/900px auto no-repeat;
  opacity:.34;
  pointer-events:none;
  z-index:0;
}
.page-hero::after,.legal-decor-section::after{
  content:"";
  position:absolute;
  left:50%;top:14px;
  width:min(960px,92vw);height:130px;
  transform:translateX(-50%);
  background:url("illustrations/garland-curve.svg") center top/100% auto no-repeat;
  opacity:.72;
  pointer-events:none;
  z-index:1;
}
.page-hero .container,.legal-card{position:relative;z-index:2;}
.quick-facts>.container,.about-decor-section>.container,.site-map-section>.container,.instagram-section>.container,.request-steps>.container,.contact-section>.container{position:relative;z-index:2;}
@media(max-width:820px){
  .site-header::after{height:44px;bottom:-34px;background-size:660px auto;}
  .hero::after{height:96px;top:10px;width:96vw;}
  .hero::before{background-position:center bottom;opacity:.7;}
  .quick-facts::before,.contact-section::before{background-size:150px auto!important;width:180px;height:240px;opacity:.28;}
  .about-decor-section::before,.contact-section::after{height:110px;}
  .request-steps::before{opacity:.26;background-size:660px auto!important;}
  .instagram-section::before{opacity:.24;background-size:740px auto!important;}
  .site-footer{padding-top:118px;}
  .site-footer::before{height:130px;}
  .site-footer::after{height:58px;background-size:560px auto;}
}
@media(max-width:520px){
  .site-header::after{height:36px;bottom:-27px;background-size:520px auto;opacity:.82;}
  .hero::after{height:78px;opacity:.76;}
  .hero::before{background-size:auto 100%;background-position:57% bottom;opacity:.58;}
  .quick-facts::before,.contact-section::before{right:-76px;opacity:.22;}
  .quick-facts::after,.site-map-section::before,.instagram-section::before{opacity:.22;}
  .page-hero::after,.legal-decor-section::after{height:82px;opacity:.58;}
  .page-hero::before,.legal-decor-section::before{height:180px;opacity:.25;}
}

/* CMS whitespace preservation: admin text fields may intentionally contain line breaks or grouped spacing. */
.cms-preserve-whitespace{white-space:pre-wrap!important}

@media(max-width:780px){.special-card-grid{grid-template-columns:1fr}.special-language-card::after{position:static;justify-self:start}}
