/* Neue LebensRichtung 8.0 — Gestaltung nach der abgestimmten Bildvorlage */
.page-vision {
  --vision-ink:#34251d;
  --vision-olive:#596528;
  --vision-olive-dark:#404b1f;
  --vision-cognac:#a45420;
  --vision-gold:#c28b36;
  --vision-paper:#fffaf1;
  --vision-cream:#f7efe2;
  --vision-line:rgba(164,84,32,.34);
  background:var(--vision-cream) !important;
  overflow-x:clip;
}
.page-vision .site-shell { background:var(--vision-cream); }
.vision-shell { width:min(1380px,calc(100% - 96px)); margin-inline:auto; }

/* Einheitliche Mehrseiten-Navigation mit dem gelieferten Logo */
.site-shell .site-header:has(.vision-nav) .brand-copy { display:none !important; }
.site-shell .site-header:has(.vision-nav) .brand-lockup {
  width:88px;
  min-width:88px;
  margin-right:20px !important;
}
.site-shell .site-header:has(.vision-nav) .brand-symbol {
  width:74px !important;
  height:74px !important;
  border:1px solid rgba(194,139,54,.5) !important;
  border-radius:50% !important;
  background:#fff9ee !important;
  object-fit:contain !important;
}
.site-shell .site-header .vision-nav { gap:2px !important; }
.site-shell .site-header .vision-nav .nav-link {
  padding-inline:11px !important;
  font:600 1.02rem/1 'Cormorant Garamond',serif !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  white-space:nowrap;
}

/* Schwebender Header der Vorlage */
.page-vision .site-shell .site-header {
  position:absolute !important;
  z-index:30 !important;
  top:18px !important;
  right:24px !important;
  left:24px !important;
  width:auto !important;
  min-height:88px !important;
  height:88px !important;
  border:1px solid rgba(255,255,255,.62) !important;
  border-radius:18px !important;
  background:rgba(255,252,246,.9) !important;
  box-shadow:0 16px 44px rgba(76,49,29,.1) !important;
  backdrop-filter:blur(18px) !important;
}
.page-vision .site-header .container { width:100% !important; max-width:none !important; padding-inline:34px !important; }
.page-vision .site-header .navbar { min-height:86px !important; }
.page-vision .brand-lockup { position:relative; width:148px; height:86px; margin-right:22px; }
.page-vision .brand-symbol {
  position:absolute;
  z-index:2;
  top:-7px;
  left:0;
  width:126px !important;
  height:126px !important;
  border:1px solid rgba(194,139,54,.62) !important;
  border-radius:50% !important;
  background:#fff9ee !important;
  box-shadow:0 13px 30px rgba(70,45,27,.14) !important;
  object-fit:contain !important;
}
.page-vision .brand-copy { display:none !important; }
.page-vision .site-shell .site-header:has(.vision-nav) .brand-lockup {
  width:148px;
  min-width:148px;
  height:86px;
  margin-right:22px !important;
}
.page-vision .site-shell .site-header:has(.vision-nav) .brand-symbol {
  top:-7px;
  width:126px !important;
  height:126px !important;
}
.page-vision .vision-nav { gap:2px !important; }
.page-vision .site-header .vision-nav .nav-link {
  padding:31px 12px 25px !important;
  color:#3c2b21 !important;
  font:600 clamp(.94rem,1.12vw,1.08rem)/1 'Cormorant Garamond',serif !important;
  letter-spacing:.005em !important;
  text-transform:none !important;
  white-space:nowrap;
}
.page-vision .site-header .vision-nav .nav-link::before { display:none !important; }
.page-vision .site-header .vision-nav .nav-link.active,
.page-vision .site-header .vision-nav .nav-link:hover { color:var(--vision-cognac) !important; }

/* Hero */
.vision-home { overflow:hidden; background:var(--vision-cream); color:var(--vision-ink); }
.vision-hero {
  position:relative;
  min-height:680px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#faf3e8;
}
.vision-hero-image {
  position:absolute;
  inset:0 auto 0 0;
  width:64%;
  background:url('/img/ferienhaus-bernsteinsee.jpg') 48% 53%/cover no-repeat;
  filter:saturate(1.04) sepia(.15) contrast(1.01) brightness(.98);
}
.vision-hero-image::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,205,112,.19),rgba(65,42,24,.05)),radial-gradient(circle at 28% 24%,rgba(255,241,197,.3),transparent 34%);
}
.vision-hero-wash {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(249,242,230,0) 0%,rgba(249,242,230,.04) 36%,rgba(249,242,230,.68) 54%,#faf3e8 68%),
    linear-gradient(0deg,rgba(250,243,232,.46),transparent 28%);
}
.vision-hero-grid {
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  padding-top:94px;
}
.vision-hero-copy { position:relative; width:100%; max-width:625px; justify-self:end; padding:50px 0 72px 36px; }
.vision-kicker {
  display:block;
  margin-bottom:17px;
  color:var(--vision-cognac);
  font:800 .69rem/1.2 'Nunito Sans',sans-serif;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.vision-hero h1 {
  margin:0 0 25px;
  color:var(--vision-olive-dark);
  font:600 clamp(3.7rem,4.65vw,5.35rem)/.86 'Cormorant Garamond',serif;
  letter-spacing:-.035em;
}
.vision-hero h1 em {
  display:block;
  margin-top:10px;
  color:var(--vision-cognac);
  width:max-content;
  max-width:none;
  white-space:nowrap;
  font:400 .9em/.92 'Allura',cursive;
  letter-spacing:0;
}
.vision-hero-copy > p { max-width:500px; margin:0 0 34px; color:#4d4037; font:500 1.1rem/1.55 'Cormorant Garamond',serif; }
.vision-actions { display:flex; flex-wrap:wrap; gap:15px; }
.vision-button {
  display:inline-flex;
  min-height:54px;
  align-items:center;
  justify-content:center;
  padding:0 28px;
  border:1px solid transparent;
  border-radius:6px;
  font:700 .82rem/1 'Nunito Sans',sans-serif;
  transition:transform .25s,background .25s,color .25s,box-shadow .25s;
}
.vision-button:hover { transform:translateY(-2px); }
.vision-button-olive { background:linear-gradient(135deg,#687635,#4f5e23); color:#fffaf0; box-shadow:0 12px 25px rgba(70,80,31,.18); }
.vision-button-olive:hover { background:var(--vision-olive-dark); color:white; }
.vision-button-outline { border-color:var(--vision-cognac); background:rgba(255,250,242,.58); color:var(--vision-cognac); }
.vision-button-outline:hover { background:var(--vision-cognac); color:white; }
.vision-butterfly { position:absolute; z-index:3; pointer-events:none; object-fit:contain; filter:drop-shadow(0 13px 22px rgba(68,39,25,.18)); animation:visionFloat 7s ease-in-out infinite; }
.vision-butterfly-hero { top:-33px; right:5px; width:128px; opacity:.92; }
@keyframes visionFloat { 0%,100%{transform:translateY(0) rotate(-3deg)} 50%{transform:translateY(-10px) rotate(3deg)} }

/* Anne & Jens überlappend */
.vision-welcome { position:relative; z-index:8; margin-top:-104px; padding-bottom:24px; }
.vision-welcome-card {
  position:relative;
  width:min(980px,100%);
  min-height:292px;
  display:grid;
  grid-template-columns:.49fr .51fr;
  align-items:stretch;
  margin-inline:auto;
  overflow:visible;
  border:1px solid rgba(180,129,62,.22);
  border-radius:20px;
  background:linear-gradient(110deg,#f4ead7 0%,#fffaf1 47%,#fffaf2 100%);
  box-shadow:0 25px 60px rgba(70,45,28,.16),0 2px 4px rgba(87,57,34,.08);
}
.vision-welcome-photo { position:relative; min-height:292px; overflow:visible; }
.vision-welcome-photo::before {
  content:"";
  position:absolute;
  inset:27px 0 0 27px;
  border-radius:180px 180px 18px 18px;
  background:radial-gradient(circle at 50% 25%,rgba(255,255,255,.96),rgba(234,214,181,.58) 58%,transparent 72%);
}
.vision-portrait-glow { position:absolute; inset:auto 6% 0 5%; height:70%; border-radius:50%; background:rgba(197,157,96,.17); filter:blur(34px); }
.vision-welcome-photo img {
  position:absolute;
  z-index:2;
  right:10px;
  bottom:0;
  width:auto;
  height:392px;
  max-width:none;
  object-fit:contain;
  filter:drop-shadow(0 12px 13px rgba(62,40,26,.14));
}
.vision-welcome-copy {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:292px;
  padding:34px 48px 32px;
  border-radius:0 20px 20px 0;
  background:radial-gradient(circle at 96% 100%,rgba(210,180,135,.22),transparent 28%),#fffaf2;
}
.vision-welcome-copy::before { content:""; position:absolute; right:20px; bottom:15px; width:88px; height:45px; border-radius:50%; background:radial-gradient(ellipse at 30% 55%,#c69a74 0 18%,transparent 20%),radial-gradient(ellipse at 66% 55%,#d8bd99 0 21%,transparent 23%); opacity:.55; }
.vision-welcome-copy::after { content:"❧"; position:absolute; right:26px; bottom:35px; color:rgba(133,116,53,.32); font:400 5rem/1 Georgia,serif; transform:rotate(-18deg); transform-origin:bottom right; }
.vision-ornament { color:var(--vision-olive-dark); font:600 clamp(2rem,2.8vw,2.75rem)/1 'Cormorant Garamond',serif; }
.vision-welcome h2 { margin:4px 0 12px; color:var(--vision-cognac); font:400 clamp(2.4rem,3.5vw,3.7rem)/.9 'Allura',cursive; }
.vision-heart-rule { display:flex; align-items:center; gap:10px; max-width:250px; margin:3px 0 18px; color:var(--vision-cognac); }
.vision-heart-rule::before,.vision-heart-rule::after { content:""; width:90px; height:1px; background:var(--vision-gold); }
.vision-heart-rule span { font-size:.83rem; }
.vision-welcome-copy p { position:relative; z-index:1; max-width:54ch; margin:0 0 14px; color:#51443b; font-size:.84rem; line-height:1.55; }
.vision-text-link { color:var(--vision-cognac); font:600 1.03rem/1 'Cormorant Garamond',serif; }
.vision-text-link span { margin-left:7px; }

/* Gemeinsame Bereiche */
.vision-section { position:relative; padding:45px 0 58px; background:linear-gradient(180deg,#fbf5eb,#fffaf2); }
.vision-section-title { position:relative; display:flex; align-items:center; justify-content:center; gap:18px; margin-bottom:28px; text-align:center; }
.vision-section-title::before,.vision-section-title::after { content:""; width:min(26vw,330px); height:1px; background:linear-gradient(90deg,transparent,var(--vision-gold)); }
.vision-section-title::after { background:linear-gradient(90deg,var(--vision-gold),transparent); }
.vision-section-title h2 { flex:0 0 auto; margin:0; color:var(--vision-olive-dark); font:600 clamp(2.2rem,3.2vw,3.2rem)/1 'Cormorant Garamond',serif; }
.vision-lotus { position:absolute; top:-27px; color:var(--vision-gold); font:400 2.6rem/1 Georgia,serif; transform:rotate(180deg); }

/* Kraftorte mit echten Ferienhausbildern */
.vision-retreats { padding-top:52px; }
.vision-retreat-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.vision-retreat-card { position:relative; min-height:330px; overflow:hidden; border-radius:14px; box-shadow:0 17px 40px rgba(54,42,25,.11); }
.vision-retreat-card > img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.vision-retreat-card:hover > img { transform:scale(1.035); }
.vision-card-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(38,43,16,.9),rgba(47,53,24,.08) 72%); }
.vision-retreat-content { position:absolute; right:28px; bottom:24px; left:28px; display:flex; align-items:flex-end; gap:18px; color:white; }
.vision-round-icon { flex:0 0 72px; width:72px; height:72px; display:grid; place-items:center; border:1px solid #e5c36c; border-radius:50%; background:rgba(66,76,30,.58); }
.vision-round-icon img { width:54px; height:54px; border-radius:50%; }
.vision-retreat-content small { display:block; margin-bottom:3px; color:#f1d78e; font:700 .61rem/1.2 'Nunito Sans',sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.vision-retreat-content h3 { margin:0 0 3px; color:white; font:600 2rem/1 'Cormorant Garamond',serif; }
.vision-retreat-content p { margin:0 0 7px; color:rgba(255,255,255,.86); font-size:.78rem; }
.vision-retreat-content strong { color:#fff2c7; font:600 .87rem/1 'Cormorant Garamond',serif; text-decoration:underline; text-underline-offset:3px; }

/* Persönliche Auszeit */
.vision-personal { padding-top:48px; }
.vision-personal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.vision-personal-card {
  min-height:245px;
  display:grid;
  grid-template-columns:.48fr .52fr;
  overflow:hidden;
  border:1px solid rgba(150,100,47,.15);
  border-radius:12px;
  background:#f4e6d1;
  box-shadow:0 12px 28px rgba(67,45,29,.07);
}
.vision-personal-image { overflow:hidden; }
.vision-personal-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.vision-personal-card:hover .vision-personal-image img { transform:scale(1.04); }
.vision-personal-copy { position:relative; display:flex; flex-direction:column; justify-content:center; padding:27px 25px; }
.vision-personal-copy > img { position:absolute; top:20px; right:20px; width:46px; height:46px; border-radius:50%; }
.vision-personal-copy > span { color:var(--vision-cognac); font:800 .57rem/1 'Nunito Sans',sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.vision-personal-copy h3 { margin:14px 0 8px; color:var(--vision-olive-dark); font:600 1.72rem/1 'Cormorant Garamond',serif; }
.vision-personal-copy p { margin:0 0 18px; color:#57493e; font-size:.7rem; line-height:1.52; }
.vision-personal-copy strong { margin-top:auto; color:#5a3b27; font:700 .75rem/1 'Cormorant Garamond',serif; }

/* Erfahrungen */
.vision-experiences { padding-top:65px; padding-bottom:78px; background:#fffaf2; }
.vision-butterfly-reviews { right:5%; bottom:-25px; width:135px; opacity:.28; animation-delay:-3s; }
.vision-review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.vision-review-card { position:relative; min-height:220px; padding:36px 36px 30px 58px; border:1px solid rgba(157,111,50,.2); border-radius:10px; background:rgba(255,252,246,.8); box-shadow:0 8px 23px rgba(68,45,28,.06); }
.vision-quote-mark { position:absolute; top:22px; left:24px; color:#65742d; font:700 3.7rem/.8 Georgia,serif; }
.vision-review-card blockquote { margin:0 0 25px; color:#44372f; font:500 .92rem/1.58 'Cormorant Garamond',serif; }
.vision-review-card footer { color:#5b4435; font:600 .72rem/1 'Nunito Sans',sans-serif; }
.vision-review-leaf { position:absolute; right:20px; bottom:10px; color:rgba(90,108,39,.34); font:400 4.2rem/1 Georgia,serif; transform:rotate(-25deg); }

/* Abschluss */
.vision-closing { padding:58px 0; background:linear-gradient(120deg,#38241b,#68432d); }
.vision-closing-inner { display:grid; grid-template-columns:100px 1fr auto; gap:36px; align-items:center; }
.vision-closing-inner > img { width:96px; height:96px; object-fit:contain; }
.vision-closing .vision-kicker { margin-bottom:8px; color:#e5bd70; }
.vision-closing h2 { max-width:760px; margin:0; color:#fff8ec; font:500 clamp(2.2rem,3.3vw,3.5rem)/1 'Cormorant Garamond',serif; }
.vision-button-light { border-color:rgba(255,248,235,.5); background:#fff8eb; color:#563522; }
.vision-button-light:hover { background:#e0b668; color:#34251d; }

@media (max-width:1199.98px) {
  .page-vision .site-header .container { padding-inline:20px !important; }
  .page-vision .site-shell .site-header:has(.vision-nav) .brand-lockup { width:150px; min-width:150px; }
  .page-vision .site-shell .site-header:has(.vision-nav) .brand-symbol { width:154px !important; height:154px !important; top:-12px; }
  .page-vision .site-header .vision-nav .nav-link { padding-inline:8px !important; font-size:.91rem !important; }
  .vision-shell { width:min(100% - 64px,1380px); }
  .vision-personal-card { grid-template-columns:1fr; }
  .vision-personal-image { height:170px; }
}

/* Exakte Proportionen der abgestimmten 1024px-Designvorlage */
@media (min-width:992px) and (max-width:1199.98px) {
  .page-vision .site-shell .site-header { right:14px !important; left:14px !important; }
  .page-vision .site-header .container { padding-inline:24px !important; }
  .page-vision .site-shell .site-header:has(.vision-nav) .brand-lockup { width:178px; min-width:178px; }
  .page-vision .site-shell .site-header:has(.vision-nav) .brand-symbol { width:174px !important; height:174px !important; top:-11px; }
  .page-vision .site-header .vision-nav { width:100%; justify-content:space-between; }
  .page-vision .site-header .vision-nav .nav-link { padding:31px 5px 25px !important; font-size:.88rem !important; }
  .vision-hero { min-height:774px; align-items:flex-start; }
  .vision-hero-grid { grid-template-columns:1.14fr .86fr; margin-top:83px; padding-top:92px; }
  .vision-hero-copy { max-width:445px; padding:38px 0 66px 0; }
  .vision-hero-copy > .vision-kicker { display:none; }
  .vision-hero h1 { position:relative; top:-24px; margin-bottom:23px; font-size:3.55rem; line-height:.88; }
  .vision-hero-copy > p { position:relative; top:-24px; max-width:390px; margin-bottom:27px; font-size:1rem; line-height:1.38; }
  .vision-actions { gap:14px; }
  .vision-button { min-height:48px; padding-inline:22px; font-size:.76rem; }
  .vision-butterfly-hero { top:-73px; right:0; width:126px; }
  .vision-welcome { margin-top:-215px; padding-bottom:0; }
  .vision-welcome-card { width:762px; height:285px; min-height:285px; grid-template-columns:52% 48%; margin-left:83px; margin-right:auto; }
  .vision-welcome-photo { min-height:285px; }
  .vision-welcome-photo img { right:8px; height:352px; }
  .vision-welcome-copy { min-height:285px; padding:29px 18px 27px; }
  .vision-ornament { white-space:nowrap; font-size:2rem; }
  .vision-welcome h2 { white-space:nowrap; font-size:2.7rem; }
  .vision-heart-rule { margin-bottom:14px; }
  .vision-welcome-copy p { font-size:.74rem; line-height:1.47; }
  .vision-retreats { padding-top:31px; padding-bottom:18px; }
  .vision-retreats .vision-shell { width:calc(100% - 130px); }
  .vision-section-title { margin-bottom:15px; }
  .vision-section-title h2 { font-size:2rem; }
  .vision-lotus { top:-22px; font-size:2rem; }
  .vision-retreat-grid { gap:27px; }
  .vision-retreat-card { min-height:0; aspect-ratio:2.15 / 1; }
  .vision-retreat-content { right:18px; bottom:15px; left:18px; gap:13px; }
  .vision-round-icon { flex-basis:58px; width:58px; height:58px; }
  .vision-round-icon img { width:44px; height:44px; }
  .vision-retreat-content h3 { font-size:1.55rem; }
  .vision-retreat-content p { margin-bottom:4px; font-size:.66rem; }
  .vision-personal { padding-top:8px; padding-bottom:0; }
  .vision-personal .vision-section-title { margin-bottom:10px; }
  .vision-personal-grid { gap:14px; }
  .vision-personal-card { height:155px; min-height:155px; grid-template-columns:.48fr .52fr; }
  .vision-personal-image { height:auto; }
  .vision-personal-copy { padding:17px 15px; }
  .vision-personal-copy > img { top:13px; right:13px; width:38px; height:38px; }
  .vision-personal-copy h3 { margin:10px 0 5px; font-size:1.3rem; }
  .vision-personal-copy p { margin-bottom:10px; font-size:.58rem; }
  .vision-experiences { padding-top:6px; padding-bottom:42px; }
  .vision-review-grid { gap:20px; }
  .vision-review-card { min-height:136px; padding:24px 23px 20px 48px; }
  .vision-quote-mark { top:17px; left:20px; font-size:3rem; }
  .vision-review-card blockquote { margin-bottom:15px; font-size:.72rem; line-height:1.45; }
  .vision-review-card footer { font-size:.62rem; }
}

@media (max-width:991.98px) {
  .page-vision .site-shell .site-header { right:16px !important; left:16px !important; height:auto !important; min-height:82px !important; }
  .page-vision .site-header .navbar { min-height:80px !important; }
  .page-vision .site-header .navbar-toggler {
    position:absolute;
    z-index:5;
    top:16px;
    right:20px;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    margin-left:0;
    padding:0 !important;
    border:1px solid rgba(164,84,32,.26) !important;
    border-radius:50% !important;
    background:rgba(255,250,242,.92) !important;
  }
  .page-vision .site-header .navbar-toggler-icon { width:20px; height:2px; background:var(--vision-cognac) !important; background-image:none !important; box-shadow:0 -6px 0 var(--vision-cognac),0 6px 0 var(--vision-cognac); }
  .page-vision .site-shell .site-header:has(.vision-nav) .brand-lockup { width:90px; min-width:90px; height:80px; }
  .page-vision .site-shell .site-header:has(.vision-nav) .brand-symbol { width:86px !important; height:86px !important; }
  .page-vision .site-header .navbar-collapse { margin:7px -20px -1px !important; padding:18px 22px 25px !important; border-radius:0 0 16px 16px !important; background:#fffaf2 !important; }
  .page-vision .site-header .vision-nav .nav-link { padding:11px 4px !important; font-size:.87rem !important; }
  .vision-hero { min-height:850px; align-items:flex-end; }
  .vision-hero-image { width:100%; height:62%; top:0; }
  .vision-hero-wash { background:linear-gradient(0deg,#faf3e8 0%,#faf3e8 42%,rgba(250,243,232,.69) 63%,rgba(250,243,232,.06) 100%); }
  .vision-hero-grid { grid-template-columns:1fr; padding-top:360px; }
  .vision-hero-spacer { display:none; }
  .vision-hero-copy { justify-self:start; padding:110px 0 165px; }
  .vision-welcome { margin-top:-105px; }
  .vision-welcome-card { grid-template-columns:1fr 1fr; }
  .vision-welcome-photo img { right:-2px; height:350px; }
  .vision-retreat-card { min-height:300px; }
  .vision-personal-grid { grid-template-columns:1fr 1fr; }
  .vision-personal-card:last-child { grid-column:1 / -1; grid-template-columns:.42fr .58fr; }
  .vision-review-grid { grid-template-columns:1fr; }
  .vision-review-card { min-height:0; }
}

@media (max-width:767.98px) {
  .vision-shell { width:min(calc(100% - 32px),1380px); }
  .page-vision .site-shell .site-header { top:10px !important; right:auto !important; left:10px !important; width:calc(100vw - 20px) !important; max-width:calc(100vw - 20px) !important; border-radius:12px !important; }
  .page-vision .site-header .container { box-sizing:border-box; padding-inline:20px !important; }
  .page-vision .site-header .navbar-toggler { right:20px; }
  .vision-hero { min-height:790px; }
  .vision-hero-image { height:47%; background-position:58% center; }
  .vision-hero-grid { padding-top:280px; }
  .vision-hero-copy { width:100%; padding:90px 0 145px; }
  .vision-hero h1 { font-size:clamp(3rem,13.4vw,3.35rem); line-height:.91; letter-spacing:-.025em; }
  .vision-hero h1 em { width:auto; max-width:100%; white-space:normal; font-size:1.04em; line-height:.96; }
  .vision-hero-copy > p { font-size:1rem; }
  .vision-actions { display:grid; }
  .vision-button { width:100%; }
  .vision-butterfly-hero { top:6px; right:-15px; width:108px; }
  .vision-welcome { margin-top:-92px; }
  .vision-welcome-card { grid-template-columns:1fr; border-radius:12px; }
  .vision-welcome-photo { height:330px; }
  .vision-welcome-photo::before { inset:28px 18px 0; }
  .vision-welcome-photo img { right:50%; height:350px; transform:translateX(50%); }
  .vision-welcome-copy { padding:35px 27px 42px; }
  .vision-section { padding-block:58px; }
  .vision-section-title { gap:10px; }
  .vision-section-title::before,.vision-section-title::after { width:12vw; }
  .vision-section-title h2 { font-size:2rem; }
  .vision-retreat-grid,.vision-personal-grid { grid-template-columns:1fr; }
  .vision-retreat-card { min-height:360px; }
  .vision-retreat-content { right:20px; bottom:20px; left:20px; }
  .vision-round-icon { flex-basis:58px; width:58px; height:58px; }
  .vision-round-icon img { width:44px; height:44px; }
  .vision-retreat-content h3 { font-size:1.65rem; }
  .vision-personal-card,.vision-personal-card:last-child { grid-column:auto; grid-template-columns:.46fr .54fr; }
  .vision-personal-image { height:auto; }
  .vision-closing-inner { grid-template-columns:72px 1fr; gap:20px; }
  .vision-closing-inner > img { width:72px; height:72px; }
  .vision-closing .vision-button { grid-column:1 / -1; }
}

@media (prefers-reduced-motion:reduce) {
  .vision-butterfly { animation:none !important; }
  .vision-retreat-card > img,.vision-personal-image img { transition:none !important; }
}

/* Eigene Erfahrungsseite */
.experience-page-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.experience-page-card {
  position:relative;
  min-height:285px;
  display:flex;
  flex-direction:column;
  padding:42px 38px 34px 58px;
  border:1px solid rgba(140,88,51,.18);
  border-top:3px solid #b98536;
  background:#fffdf8;
  box-shadow:0 12px 30px rgba(55,34,22,.06);
}
.experience-page-quote {
  position:absolute;
  top:29px;
  left:25px;
  color:#65742d;
  font:700 3.6rem/.8 Georgia,serif;
}
.experience-page-card blockquote {
  margin:0 0 28px;
  color:#493a31;
  font:500 1.15rem/1.55 'Cormorant Garamond',serif;
}
.experience-page-card footer {
  margin-top:auto;
  color:#8c5833;
  font:700 .7rem/1 'Nunito Sans',sans-serif;
  letter-spacing:.07em;
  text-transform:uppercase;
}
@media (max-width:991.98px) {
  .experience-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767.98px) {
  .experience-page-grid { grid-template-columns:1fr; }
  .experience-page-card { min-height:0; }
}
