:root{--bamboo-50:#f3f8f3;--bamboo-100:#e6f2e6;--bamboo-200:#cfe6d0;--bamboo-500:#6fb976;--bamboo-600:#5aa763;--sand-100:#faf7f2;--sand-300:#efe9df;--ink-800:#1e2a23;--ink-600:#3b5145;--white:#fff;--accent-mint:#a5e6a1;--maxw:1100px;--radius:16px;--gap:1.25rem;--shadow:0 10px 20px rgba(20,40,20,.06),0 2px 6px rgba(20,40,20,.04);--sun-d:40vmin;--sun-r:calc(var(--sun-d)/2); --ray-base: clamp(42px, 4.5vmin, 64px); --ray-glow: rgba(242,191,42,.45);}
*{box-sizing:border-box}
html{background:#d9a066}
body{margin:0;font:16px/1.7 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink-800);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--bamboo-600);text-decoration:none}
a:hover,a:focus{text-decoration:underline}
:focus-visible{outline:2px solid var(--bamboo-500);outline-offset:2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1rem}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:1rem;top:1rem;background:#000;color:#fff;padding:.5rem .75rem;border-radius:.5rem}
.site-header{background:#fdf6e3;border-bottom:2px solid #d9a066;margin:0}
.bar{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0}
.logo a{color:var(--ink-800);font-weight:700;letter-spacing:.2px}
.main-nav a{color:var(--ink-800);margin-left:1rem}
.main-nav a:hover{color:var(--bamboo-600)}
.hero-hub{position:relative;min-height:65vh;display:flex;align-items:center;background:url("../img/hero/hero-steg-sonnenuntergang.png") center/cover no-repeat;box-shadow:var(--shadow);margin:0}
.hero-hub::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.22) 40%,rgba(0,0,0,.22))}
.hero-text{position:relative;max-width:900px;margin:0 auto;padding:1.5rem 2rem;text-align:center;background:rgba(0,0,0,.45);color:#fff;border-radius:var(--radius);box-shadow:0 6px 18px rgba(0,0,0,.15)}
.hero-headline{margin:0 0 .8rem;font-size:clamp(1.6rem,3.6vw,2.3rem);line-height:1.3}
.hero-accent{display:block;color:var(--accent-mint);font-weight:700}
.hero-sub{margin:0;color:#e9f5ea;font-size:clamp(1.05rem,2.3vw,1.25rem)}
h1,h2,h3{line-height:1.25;margin:0}
.muted{color:var(--ink-600)}
.site-footer{background:#d9a066;border-top:none;margin:0;text-align:center;color:#fff}
.site-footer a{color:#fff}
.site-footer a:hover{text-decoration:underline}
.site-footer .wrap{padding:.5rem 0;display:flex;flex-direction:column;gap:.25rem}
.site-footer p{margin:0}
.contact-cards{display:grid;grid-template-columns:1fr;gap:var(--gap);margin:1rem 0 2rem}
@media (min-width:760px){.contact-cards{grid-template-columns:repeat(2,1fr)}}
.contact-form-section{margin:2rem 0}
.contact-form{display:grid;gap:1rem;max-width:740px}
.form-field{display:grid;gap:.4rem}
.form-field label{font-weight:600}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form textarea{padding:.75rem .9rem;border:1px solid var(--sand-300);border-radius:12px;font:inherit;background:#fff;color:var(--ink-800);box-shadow:0 1px 2px rgba(0,0,0,.04) inset}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--bamboo-500);outline-offset:1px}
.form-consent{display:flex;gap:.6rem;align-items:flex-start;background:var(--bamboo-50);border:1px solid var(--bamboo-100);padding:.8rem;border-radius:12px}
.form-consent input{margin-top:.2rem}
.form-actions{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}
.small{font-size:.9rem}
.resilience h2{margin:.25rem 0 1rem}
.resilience-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(1rem,3vw,2rem);align-items:center;margin:1rem 0 2rem}
@media (max-width:900px){.resilience-layout{grid-template-columns:1fr}}
.placeholder-section{margin-bottom:2rem}
.sun-board{position:relative;min-height:100vmin;background:linear-gradient(90deg, rgba(25, 105, 255, 0.9), rgba(135, 200, 255, 0.4) 60%);border-radius:var(--radius);overflow:hidden}
@media (max-width:900px){
  .sun-board{
    min-height:120vmin; /* vorher 70vmin */
    padding:10vmin 0;    /* oben/unten Luft, damit die runden Fotos nicht „unten anstoßen“ */
  }
}
@media (max-width: 560px){
  .sun-board{
    min-height: 140vmin !important;  /* sehr kleine Phones */
    padding: 12vmin 0 !important;
  }
}
.sun{position:absolute;left:calc(-1 * var(--sun-r));top:50%;width:var(--sun-d);height:var(--sun-d);transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle at 60% 40%,#ffeaa7,#ffd34d 60%,#f2bf2a 100%);box-shadow:0 0 40px rgba(242,191,42,.35)}
.rays{list-style:none;margin:0;padding:0;position:absolute;inset:0;-webkit-mask:radial-gradient(circle var(--sun-r) at 0 50%,transparent calc(var(--sun-r) - 1px),#000 calc(var(--sun-r) - 1px));mask:radial-gradient(circle var(--sun-r) at 0 50%,transparent calc(var(--sun-r) - 1px),#000 calc(var(--sun-r) - 1px))}
.ray{--angle:0deg;--len:calc(var(--sun-r) + 24vmin);position:absolute;left:0;top:50%;transform-origin:left center;transform:translateY(-50%) rotate(var(--angle));background:none;border:0;padding:0;cursor:pointer;outline-offset:4px}
.rays li:nth-child(1) .ray { --len: calc(var(--sun-r) + 16vmin); }
.rays li:nth-child(2) .ray { --len: calc(var(--sun-r) + 29vmin); }
.rays li:nth-child(3) .ray { --len: calc(var(--sun-r) + 20vmin); }
.rays li:nth-child(4) .ray { --len: calc(var(--sun-r) + 15vmin); }
.rays li:nth-child(5) .ray { --len: calc(var(--sun-r) + 22vmin); }
.rays li:nth-child(6) .ray { --len: calc(var(--sun-r) + 35vmin); }
.rays li:nth-child(7) .ray { --len: calc(var(--sun-r) + 29vmin); }
.rays li:nth-child(8) .ray { --len: calc(var(--sun-r) + 20vmin); }
.ray::before{content:""; position:absolute; left:0; top:50%; width:var(--len); height:var(--ray-base); transform:translateY(-50%); background:linear-gradient(to right, rgba(255,211,77,.95) 0%,rgba(242,191,42,.95) 55%,rgba(242,191,42,0)   100% ); -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%); clip-path: polygon(0 0, 0 100%, 100% 50%); filter: drop-shadow(0 0 6px var(--ray-glow));}
.ray img{position:absolute;left:var(--len);top:50%;width:100px!important;height:100px!important;max-width:none!important;aspect-ratio:1/1;border-radius:50%;object-fit:cover;transform:translate(-50%,-50%) rotate(calc(-1 * var(--angle)));border:4px solid #fff3c4;box-shadow:0 10px 20px rgba(0,0,0,.15);display:block}
.ray:focus-visible img,.ray:hover img{box-shadow:0 12px 24px rgba(0,0,0,.18),0 0 0 6px rgba(242,191,42,.25)}
.story-panel{background:var(--sand-100);border:1px solid var(--sand-300);border-radius:var(--radius);padding:clamp(1rem,3vw,1.5rem);box-shadow:var(--shadow);min-height:16rem;display:grid;align-content:start;gap:.75rem}
.story-panel .story-photo{width:100%;max-width:420px;height:auto;border-radius:var(--radius);box-shadow:var(--shadow);display:block;margin:0 0 .6rem}
.story-panel h3{margin:0}
.story-cta{margin-top:.5rem}
@media (max-width:900px){.sun-board{min-height:75vmin;padding:5vmin 0}.ray img{width:90px;height:90px}.story-panel{min-height:12rem}}
@media (max-width:560px){:root{--sun-d:56vmin;--sun-r:calc(var(--sun-d)/2)}.sun-board{min-height:70vmin;padding:6vmin 0}.resilience-layout{gap:1rem}.ray img{width:72px;height:72px}}
.intro-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--gap);align-items:start;margin-bottom:2rem}
.intro-text p{margin-top:0}
.intro-image img{border-radius:var(--radius);box-shadow:var(--shadow)}
@media (max-width:900px){.intro-grid{grid-template-columns:1fr}.intro-image{justify-self:center}}
.highlight-section{background:var(--bamboo-50);border:2px solid var(--bamboo-200);border-radius:var(--radius);padding:2rem;margin:2.5rem 0;text-align:center;box-shadow:var(--shadow)}
.highlight-section h2{margin-top:0;font-size:1.8rem;color:var(--bamboo-600)}
.highlight-section p{font-size:1.2rem;font-weight:500;color:var(--ink-800)}
.subtitle{font-size:1.3rem;font-weight:600;color:var(--ink-600);margin-top:.5rem;margin-bottom:1rem}
.angebot-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--gap);align-items:start;margin-bottom:2rem}
.angebot-grid img{border-radius:var(--radius);box-shadow:var(--shadow);max-width:100%;height:auto}
@media (max-width:900px){.angebot-grid{grid-template-columns:1fr}}
.page-hero{position:relative;min-height:46vh;display:grid;place-items:center;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin:1.25rem 0 2rem}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.25) 40%,rgba(0,0,0,.35))}
.page-hero .hero-inner{position:relative;text-align:center;color:#fff;padding:1.5rem 1.75rem;max-width:900px}
.page-hero .hero-inner h1{font-size:clamp(1.8rem,4vw,2.4rem);margin:0 0 .5rem;text-shadow:0 3px 6px rgba(0,0,0,.7)}
.page-hero .hero-inner p{margin:0;font-size:clamp(1.05rem,2.2vw,1.25rem);color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.6)}
.page-hero--arbeitsweise{background:url("../img/hero/hero-fahrrad-sonnenuntergang.png") center/cover no-repeat}
.btn{display:inline-block;padding:.75rem 1.1rem;border-radius:999px;background:var(--bamboo-600);color:#fff;font-weight:600;text-decoration:none;box-shadow:var(--shadow);transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}
.btn:hover{transform:translateY(-1px);text-decoration:none}
.btn:active{transform:translateY(0);opacity:.9}
.btn-outline{background:transparent;color:var(--bamboo-600);border:2px solid var(--bamboo-600)}
/* === Kontaktformular Button Style === */
.btn {
  display: inline-block;
  padding: 0.9rem 1.6rem;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--bamboo-600), var(--bamboo-500));
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: .3px;
  cursor: pointer;
  box-shadow: 0 6px 14px rgba(0,0,0,.15);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.btn:hover:not(:disabled),
.btn:focus-visible:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,.2);
}

.btn:active:not(:disabled) {
  transform: translateY(0);
  box-shadow: 0 4px 10px rgba(0,0,0,.12);
}

.btn:disabled {
  opacity: .6;
  cursor: not-allowed;
  background: linear-gradient(135deg, #ccc, #bbb);
  box-shadow: none;
}
.btn {
  border-radius: 999px;
  background: linear-gradient(135deg, var(--bamboo-600), var(--bamboo-500));
  box-shadow: 0 4px 14px rgba(0,0,0,.12), 0 0 10px rgba(165,230,161,.2);
}
.pillars{display:grid;grid-template-columns:1fr;gap:var(--gap);margin:1.5rem 0 2rem}
@media (min-width:820px){.pillars{grid-template-columns:repeat(3,1fr)}}
.pillar{background:var(--sand-100);border:1px solid var(--sand-300);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);display:grid;gap:.5rem}
.pillar h3{margin:.1rem 0 .1rem}
.pillar p{margin:0}
.pillar .mini{font-size:.95rem;color:var(--ink-600);margin:0 0 .25rem}
.content-grid{display:grid;gap:var(--gap);grid-template-columns:1.2fr 1fr;align-items:center;margin:2rem 0}
.content-grid.reverse{grid-template-columns:1fr 1.2fr}
.content-grid img{border-radius:var(--radius);box-shadow:var(--shadow)}
@media (max-width:900px){.content-grid,.content-grid.reverse{grid-template-columns:1fr}}
.faq{margin:2rem 0}
.faq details{background:var(--bamboo-50);border:1px solid var(--bamboo-200);border-radius:var(--radius);padding:.8rem 1rem;margin-bottom:.8rem;box-shadow:var(--shadow)}
.faq summary{cursor:pointer;font-weight:600;color:var(--ink-800);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq details[open]{background:#f6fbf6}
.testimonial-band{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin:2rem 0}
.testimonial-band .img{position:absolute;inset:0;background:url("../img/symbolik/symbolik-schild-3.0.png") center/cover no-repeat;filter:brightness(.8)}
.testimonial-band .inner{position:relative;padding:2rem 1.5rem;color:#fff;text-align:center}
.testimonial-band .quote{font-size:clamp(1.1rem,2.2vw,1.35rem);margin:0 0 .5rem}
.testimonial-band .who{margin:0;opacity:.9}
.soft-image{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.soft-image::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(0,0,0,.06),transparent 45%)}
@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(8px);animation:fadeUp .6s ease forwards}.reveal:nth-child(2){animation-delay:.06s}.reveal:nth-child(3){animation-delay:.12s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}}
.page-hero--ablauf{background:url("../img/symbolik/symbolik-ruhe.png") center/cover no-repeat}
.flow-grid{display:grid;gap:var(--gap);grid-template-columns:1fr;margin:2rem 0}
@media (min-width:800px){.flow-grid{grid-template-columns:repeat(2,1fr)}}
.flow-card{background:var(--sand-100);border:1px solid var(--sand-300);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;transition:transform .2s ease,box-shadow .2s ease}
.flow-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.15)}
.steps-timeline{position:relative;margin:2rem 0;padding-left:1.25rem;border-left:3px solid var(--bamboo-200);list-style:none}
.steps-timeline li{list-style:none;position:relative;margin:0 0 1rem 0;padding-left:.6rem}
.steps-timeline li::marker{content:""}
.steps-timeline li::before{content:"";position:absolute;left:-10px;top:.45em;width:10px;height:10px;background:var(--bamboo-500);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 3px var(--bamboo-50)}
.steps-timeline li:last-child{margin-bottom:0}
.price-panel{background:linear-gradient(135deg,var(--bamboo-50),var(--sand-100));border:2px solid var(--bamboo-200);border-radius:var(--radius);padding:1.5rem;text-align:center;box-shadow:var(--shadow)}
.fit-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.fit-tags li{list-style:none;background:var(--bamboo-100);border-radius:999px;padding:.4rem .8rem;font-size:.95rem;box-shadow:0 2px 4px rgba(0,0,0,.08);transition:background .2s}
.fit-tags li:hover{background:var(--accent-mint);color:#1e2a23}
.resilience-layout{grid-template-columns:1fr 1.2fr}
.sun-board{order:2}
.story-panel{order:1}
.sun-board.sun-right .sun{left:auto;right:calc(-1 * var(--sun-r))}
.sun-board.sun-right .rays{-webkit-mask:radial-gradient(circle var(--sun-r) at 100% 50%,transparent calc(var(--sun-r) - 1px),#000 calc(var(--sun-r) - 1px));mask:radial-gradient(circle var(--sun-r) at 100% 50%,transparent calc(var(--sun-r) - 1px),#000 calc(var(--sun-r) - 1px))}
.sun-board.sun-right .ray{left:auto;right:0;transform-origin:right center}
.sun-board.sun-right .ray::before{left:auto;right:0;width:var(--len);height:var(--ray-base);transform:translateY(-50%);background:linear-gradient(to left,rgba(255,211,77,.95) 0%,rgba(242,191,42,.95) 55%,rgba(242,191,42,0)   100%);-webkit-clip-path: polygon(100% 0, 100% 100%, 0 50%); clip-path: polygon(100% 0, 100% 100%, 0 50%); filter: drop-shadow(0 0 6px var(--ray-glow));}
.sun-board.sun-right .ray img{left:auto;right:var(--len);transform:translate(50%,-50%) rotate(calc(-1 * var(--angle)))}
.symbol-hero-image{margin:1rem 0 2rem}
.symbol-hero-image figure{margin:0;display:grid;place-items:center}
.symbol-hero-image img{max-width:820px;width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow)}
.symbols-grid{display:grid;gap:var(--gap);grid-template-columns:1fr;margin:1rem 0 2rem}
@media (min-width:720px){.symbols-grid{grid-template-columns:repeat(3,1fr)}}
.symbol-card{background:var(--sand-100);border:1px solid var(--sand-300);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);padding:1rem;display:grid;gap:.8rem;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.symbol-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.14);background:#fff}
.symbol-img{border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9;position:relative;box-shadow:0 6px 16px rgba(0,0,0,.08)}
.symbol-img img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform .35s ease}
.symbol-card:hover .symbol-img img{transform:scale(1.035)}
.symbol-title{margin:0 .25rem .25rem;font-weight:700;color:var(--ink-800)}
.page-hero--symbolik{background:url("../img/symbolik/symbolik-schaf.png") center/cover no-repeat;position:relative}
.page-hero--symbolik::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.25) 40%,rgba(0,0,0,.35))}
.page-hero--symbolik .hero-inner{position:relative;z-index:1;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.85)}
.gallery{display:grid;gap:var(--gap);grid-template-columns:1fr;margin:1rem 0 2rem}
@media (min-width:860px){.gallery{grid-template-columns:1fr}}
.diptych{display:grid;gap:var(--gap);grid-template-columns:1fr 60px 1fr;align-items:center;background:var(--sand-100);border:1px solid var(--sand-300);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);padding:1rem}
.diptych .arrow{font-size:clamp(1.6rem,5vw,2.2rem);text-align:center;color:var(--bamboo-600);font-weight:800;letter-spacing:.02em}
.diptych figure{margin:0;border-radius:calc(var(--radius) + 2px);overflow:hidden;background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.08);display:grid;grid-template-rows:auto auto;gap:.5rem;border:1px solid var(--sand-300)}
.diptych figure .img{aspect-ratio:16/11;background:#fff;display:grid;place-items:center}
.diptych figure .img img{width:100%;height:100%;object-fit:cover;display:block}
.diptych figcaption{padding:.7rem .9rem .9rem;font-size:.95rem;color:var(--ink-700)}
.cards{display:grid;gap:var(--gap);grid-template-columns:1fr}
/* Symbolik-Karten: immer zwei nebeneinander (außer auf sehr schmalen Screens) */
.symbol-cards{
  display: grid;
  gap: var(--gap);
  grid-template-columns: 1fr 1fr; /* zwei Spalten */
  margin: 1rem 0 2rem;
}

/* Auf Phones: einspaltig für bessere Lesbarkeit */
@media (max-width: 720px){
  .symbol-cards{ grid-template-columns: 1fr; }
}
@media (min-width:760px){.cards{grid-template-columns:1fr 1fr}}
@media (min-width:1040px){.cards{grid-template-columns:1fr 1fr 1fr}}
.card{background:var(--sand-50);border:1px solid var(--sand-300);border-radius:var(--radius);box-shadow:var(--shadow);padding:.8rem;display:grid;gap:.6rem;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.14);background:#fff}
.card .img{border-radius:var(--radius);overflow:hidden;aspect-ratio:16/10;background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.08)}
.card .img img{width:100%;height:100%;object-fit:cover;display:block}
.spark{font-size:.92rem;color:var(--ink-600)}
details{background:#fff;border:1px dashed var(--bamboo-200);border-radius:12px;padding:.6rem .8rem}
details>summary{cursor:pointer;font-weight:600;color:var(--bamboo-600);list-style:none}
details>summary::-webkit-details-marker{display:none}
/* === Mobile Tweaks: Hero === */
@media (max-width: 560px){
  .hero-hub{ min-height: 58vh; }
  .hero-text{ padding: 1rem 1rem; border-radius: 12px; }
  .hero-headline{ font-size: clamp(1.35rem, 4.5vw, 1.9rem); }
  .hero-sub{ font-size: clamp(0.98rem, 3.4vw, 1.1rem); }
}
/* === Mobile Nav Stack === */
@media (max-width: 720px){
  .bar{ flex-wrap: wrap; gap: .5rem; }
  .logo{ flex: 1 1 100%; }
  .main-nav{ display: flex; flex-wrap: wrap; gap: .5rem .75rem; }
  .main-nav a{
    padding: .4rem .6rem;
    border-radius: 8px;
    background: rgba(0,0,0,.04);
    display: inline-block;
  }
}
/* === Mobile Grids & Spacing === */
@media (max-width: 900px){
  .angebot-grid,
  .resilience-layout,
  .content-grid,
  .content-grid.reverse,
  .flow-grid{ grid-template-columns: 1fr; }

  .wrap{ padding: 0 .9rem; } /* minimal schmaler Rand */
}

@media (max-width: 560px){
  .angebot-grid{ row-gap: calc(var(--gap) * .9); margin: 1rem 0 1.5rem; }
  .content-grid{ gap: calc(var(--gap) * .9); margin: 1.25rem 0 1.75rem; }
  .pillars,
  .symbols-grid,
  .cards{ gap: calc(var(--gap) * .9); }
}
/* === Touch Targets === */
.btn{ min-height: 44px; }
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea{ min-height: 44px; }

@media (max-width: 560px){
  .form-actions{ width: 100%; }
  .form-actions .btn{ width: 100%; text-align: center; }
}
/* === Symbolik Cards Mobile === */
@media (max-width: 720px){
  .symbol-img{ aspect-ratio: 16/10; }
  .diptych{ grid-template-columns: 1fr; }
  .diptych .arrow{ display: none; } /* Pfeil zwischen den Bildern ausblenden */
}
/* === Footer Mobile === */
@media (max-width: 560px){
  .site-footer .wrap{ gap: .35rem; }
  .site-footer p{ line-height: 1.4; }
  .site-footer a{ padding: .25rem .35rem; border-radius: 6px; display:inline-block; }
}

.coaching-experiences {
  background: var(--sand-100);
  border: 1px solid var(--sand-300);
  border-radius: var(--radius);
  padding: 2rem;
  margin: 2.5rem 0;
  box-shadow: var(--shadow);
}

.coaching-experiences h2 {
  margin-top: 0;
  color: var(--bamboo-600);
  font-size: 1.8rem;
}

.coaching-experiences p {
  margin: 0 0 1rem;
  color: var(--ink-800);
}

@keyframes pulseRay {
  0%,100% { filter: brightness(1); transform: rotate(var(--angle)) scaleX(1); }
  50% { filter: brightness(1.4); transform: rotate(var(--angle)) scaleX(1.05); }
}

.ray {
  animation: pulseRay 4s ease-in-out infinite;
}

/* ==== Stimmen & Wirkung ==== */
.voices{
  background: var(--sand-100);
  border: 1px solid var(--sand-300);
  border-radius: var(--radius);
  padding: 2rem;
  margin: 2.5rem 0;
  box-shadow: var(--shadow);
}
.voices h2{
  margin: 0 0 1rem;
  color: var(--bamboo-600);
  font-size: 1.8rem;
}
.quote-cards{
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
}
@media (min-width: 860px){
  .quote-cards{ grid-template-columns: repeat(3,1fr); }
}
.quote-card{
  background: #fff;
  border: 1px solid var(--sand-300);
  border-radius: calc(var(--radius) + 2px);
  padding: 1.1rem 1.2rem;
  box-shadow: var(--shadow);
}
.quote-card blockquote{ margin: 0; }
.quote-card p{
  margin: 0 0 .6rem;
  font-size: 1.05rem;
  color: var(--ink-800);
}
.quote-card cite{
  font-style: normal;
  color: var(--ink-600);
  font-size: .95rem;
}

/* ==== Zertifizierungen / Logos ==== */
.certs {
  margin: 3rem 0;
  text-align: center;
}

.certs h2 {
  margin-bottom: 1.5rem;
  color: var(--bamboo-700);
  font-size: 1.9rem;
  letter-spacing: 0.02em;
}

.logo-grid {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(2rem, 5vw, 4rem);
  flex-wrap: wrap;
}

.logo-grid li {
  list-style: none;
}

.logo-grid img {
  max-height: 70px;
  width: auto;
  transition: transform 0.2s ease, filter 0.2s ease;
}

.logo-grid a:hover img,
.logo-grid a:focus-visible img {
  transform: scale(1.05);
  filter: brightness(1.05) contrast(1.05);
}

.quote-cards {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* === Mobile Fix: kleinere Bildkreise bei der Sonne === */
@media (max-width: 900px){
  .ray img{
    width: 80px !important;
    height: 80px !important;
  }
}

@media (max-width: 560px){
  .ray img{
    width: 64px !important;
    height: 64px !important;
  }
}
/* === Tablet-Fix: 600–900px === */
@media (min-width: 600px) and (max-width: 900px){
  /* mehr Blau oben/unten */
  .sun-board{
    min-height: 120vmin;     /* mehr Gesamthöhe im Tablet-Bereich */
    padding: 14vmin 0 16vmin 0; /* extra Spielraum oben/unten */
  }

  /* Sonne minimal tiefer setzen, damit die oberen Kreise sichtbar sind */
  .sun-board .sun{
    top: 56%;                 /* vorher 50% */
    /* transform bleibt translateY(-50%) wie im Basis-CSS */
  }

  /* optional: Kreise leicht kleiner NUR auf Tablet */
  .sun-board .ray img{
    width: 84px !important;   /* vorher 100px */
    height: 84px !important;
  }
}
/* === Tablet Feinanpassung Sonne (ca. 700–900px Breite) === */
@media (min-width: 700px) and (max-width: 900px){
  .sun-board{
    min-height: 130vmin;         /* etwas mehr vertikale Fläche */
    padding: 10vmin 0 12vmin 0;  /* weniger oben, moderat unten */
  }

  .sun-board .sun{
    top: 50%;                    /* Sonne mittig zurücksetzen */
    transform: translateY(-50%); /* zentriert bleiben */
  }

  .sun-board .ray img{
    width: 90px !important;      /* leicht kleiner für harmonischere Proportion */
    height: 90px !important;
  }
}
