  :root{
    --bg:#FAF6F3;
    --surface:#FFFFFF;
    --surface-alt:#F1E6EC;
    --surface-alt-2:#E9DEE6;
    --ink:#2B1F29;
    --ink-soft:#6E5D69;
    --ink-faint:#9A8A93;
    --berry:#8D2471;
    --berry-strong:#701C5B;
    --berry-tint:#F5E8F0;
    --blue:#2177AB;
    --blue-tint:#E4EFF5;
    --green:#62932C;
    --green-tint:#EDF3E4;
    --sand:#F8F0DF;
    --border:rgba(43,31,41,0.13);
    --border-soft:rgba(43,31,41,0.08);
    --on-berry:#FDF3F9;
    --shadow:0 1px 2px rgba(43,31,41,0.06), 0 12px 32px -16px rgba(43,31,41,0.18);
    --radius-lg:28px;
    --radius-md:18px;
    --radius-sm:12px;
    color-scheme: light; /* enjoyfamily bleibt bewusst immer im hellen, warmen Design – unabhängig vom Systemmodus der Besucher:innen */
  }

  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}
  }
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Nunito Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block}
  a{color:inherit}
  h1,h2,h3,h4{font-family:'Fraunces',Georgia,'Times New Roman',serif;color:var(--ink);margin:0;text-wrap:balance;font-weight:600}
  p{margin:0}
  ul{margin:0;padding:0;list-style:none}
  button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
  section{padding:clamp(3.5rem,7vw,6.5rem) 0}
  .wrap{max-width:1180px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
  .narrow{max-width:760px}

  .eyebrow{
    display:inline-flex;align-items:center;gap:.4rem;
    padding:.4rem .9rem;border-radius:999px;
    background:var(--surface-alt);color:var(--berry);
    font:800 .72rem/1 'Nunito Sans';letter-spacing:.09em;text-transform:uppercase;
  }
  .rule{width:46px;height:4px;border-radius:2px;background:var(--berry);margin:1.1rem 0 1.4rem}
  .rule.center{margin-left:auto;margin-right:auto}

  h2.section-title{font-size:clamp(1.7rem,3.2vw,2.5rem);letter-spacing:-.01em}
  .section-head{max-width:640px}
  .section-head.center{max-width:620px;margin:0 auto;text-align:center}
  .lede{color:var(--ink-soft);font-size:1.05rem;max-width:60ch}

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
    padding:.85rem 1.5rem;border-radius:999px;
    font:700 .96rem/1 'Nunito Sans';white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
    border:1.5px solid transparent;
  }
  .btn:active{transform:translateY(1px)}
  .btn-primary{background:var(--berry);color:var(--on-berry);box-shadow:var(--shadow)}
  .btn-primary:hover{background:var(--berry-strong)}
  .btn-ghost{border-color:var(--border);color:var(--ink)}
  .btn-ghost:hover{border-color:var(--berry);color:var(--berry)}
  .btn-sm{padding:.6rem 1.1rem;font-size:.85rem}
  .btn:focus-visible, a:focus-visible, button:focus-visible, summary:focus-visible{outline:2.5px solid var(--blue);outline-offset:3px;border-radius:8px}

  .icon{width:22px;height:22px;flex:none}
  .icon-stroke{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

  /* ---------- Header ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border-soft);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem clamp(1.25rem,4vw,2.5rem)}
  .brand{display:flex;align-items:center;gap:.6rem;font-family:'Fraunces',serif;font-weight:600;font-size:1.28rem;letter-spacing:-.01em;text-decoration:none}
  .brand img.brand-icon{width:34px;height:37px;flex:none;object-fit:contain;display:block}
  .nav-links{display:flex;align-items:center;gap:1.3rem;font-weight:700;font-size:.9rem}
  .nav-links a{text-decoration:none;color:var(--ink-soft);padding:.3rem 0;border-bottom:2px solid transparent;white-space:nowrap}
  .nav-links a:hover{color:var(--ink);border-color:var(--berry)}
  .nav-links a[aria-current="page"]{color:var(--ink);border-color:var(--berry)}
  .nav-actions{display:flex;align-items:center;gap:.75rem}
  .nav-toggle{display:none}
  @media (max-width: 1040px){
    .nav-links{display:none}
    .nav-toggle{display:inline-flex;padding:.5rem;border-radius:10px;border:1.5px solid var(--border)}
    .nav-actions .btn-ghost{display:none}
  }
  .mobile-menu{display:none;flex-direction:column;gap:.15rem;padding:.5rem clamp(1.25rem,4vw,2.5rem) 1.1rem;border-top:1px solid var(--border-soft)}
  .mobile-menu a{padding:.7rem 0;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--border-soft)}
  .mobile-menu a[aria-current="page"]{color:var(--berry)}
  .mobile-menu.open{display:flex}

  /* ---------- Bereiche ---------- */
  .bereiche{padding-top:clamp(1rem,2.5vw,1.75rem);padding-bottom:clamp(3rem,7vw,5rem)}
  .bereich-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
  @media (max-width:760px){.bereich-grid{grid-template-columns:1fr}}
  .bereich-card{
    display:flex;flex-direction:column;align-items:center;text-align:center;
    background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);
    padding:clamp(1.8rem,3vw,2.4rem) clamp(1.4rem,3vw,2rem);box-shadow:var(--shadow);
    text-decoration:none;color:inherit;transition:transform .18s ease, box-shadow .18s ease;
  }
  a.bereich-card:hover{transform:translateY(-3px);box-shadow:0 4px 10px rgba(43,31,41,.08),0 22px 44px -20px rgba(43,31,41,.26)}
  .bereich-card .brand-icon-lg{width:60px;height:65px;object-fit:contain;margin-bottom:1.1rem}
  .bereich-card .betreuung-logo{width:100%;max-width:200px;height:auto;margin-bottom:1rem}
  .bereich-status{display:inline-flex;padding:.35rem .85rem;border-radius:999px;font:800 .68rem/1 'Nunito Sans';letter-spacing:.06em;text-transform:uppercase;margin-bottom:.7rem}
  .bereich-card.beratung .bereich-status{background:var(--berry-tint);color:var(--berry)}
  .bereich-card.betreuung .bereich-status{background:var(--green-tint);color:var(--green)}
  .bereich-card h3{font-size:1.35rem}
  .bereich-card p{color:var(--ink-soft);margin-top:.6rem;font-size:.94rem;max-width:36ch}
  .bereich-card .card-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.2rem;font-weight:800;font-size:.9rem;color:var(--berry)}
  .bereich-card.betreuung .card-link{color:var(--green);text-decoration:none}
  .bereich-card.betreuung .card-link:hover{color:var(--berry)}

  /* ---------- Hero ---------- */
  .hero{padding-top:clamp(2.5rem,6vw,4.5rem)}
  .hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(2rem,5vw,4rem);align-items:center}
  @media (max-width:960px){.hero-grid{grid-template-columns:1fr}}

  .switcher{
    display:inline-flex;padding:.3rem;border-radius:999px;background:var(--surface-alt);
    border:1px solid var(--border-soft);gap:.2rem;
  }
  .switcher button{
    padding:.55rem 1.1rem;border-radius:999px;font:700 .84rem/1 'Nunito Sans';
    color:var(--ink-soft);transition:background .2s ease,color .2s ease;
  }
  .switcher button[aria-pressed="true"]{background:var(--berry);color:var(--on-berry)}
  .switcher a{padding:.55rem 1.1rem;border-radius:999px;font:700 .84rem/1 'Nunito Sans';color:var(--ink-soft);text-decoration:none;transition:background .2s ease,color .2s ease;display:inline-block}
  .switcher a[aria-current="page"]{background:var(--berry);color:var(--on-berry)}
  .switcher .switch-short{display:none}
  @media (max-width:480px){
    .switcher{width:100%}
    .switcher a{flex:1;text-align:center;padding:.55rem .6rem;font-size:.8rem}
    .switcher .switch-full{display:none}
    .switcher .switch-short{display:inline}
  }
  .bereich-card.gemeinde .bereich-status{background:var(--blue-tint);color:var(--blue)}
  .bereich-card.gemeinde .card-link{color:var(--blue)}

  .hero h1{font-size:clamp(2.35rem,4.6vw,3.6rem);line-height:1.08;margin-top:1.1rem}
  .hero h1 em{font-style:italic;color:var(--berry);font-weight:500}
  .hero .lede{margin-top:1.15rem;font-size:1.12rem}
  .hero-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
  .hero-meta{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:2.4rem}
  .hero-meta-item{display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:.85rem;color:var(--ink-soft)}
  .hero-meta-item .icon{color:var(--berry)}

  .hero-art{
    position:relative;aspect-ratio:3/2;border-radius:var(--radius-lg);overflow:hidden;
    background:var(--surface-alt-2);
    box-shadow:var(--shadow);
    align-self:center;
  }
  .hero-art .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%}
  .hero-art .tint{position:absolute;inset:0;background:linear-gradient(155deg, rgba(141,36,113,.22) 0%, rgba(33,119,171,.06) 45%, rgba(98,147,44,.14) 100%);mix-blend-mode:soft-light}
  .hero-art .scrim{position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(to top, rgba(43,31,41,.6), rgba(43,31,41,0))}
  .hero-art .logo-mini{position:absolute;top:1rem;left:1rem;width:36px;height:36px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border-radius:10px;display:flex;align-items:center;justify-content:center}
  .hero-art .logo-mini img{width:22px;height:24px;object-fit:contain;display:block}
  .hero-art .tag{position:absolute;left:1.2rem;bottom:1.2rem;right:1.2rem;color:#FBF2F8;font-weight:700;font-size:.8rem;letter-spacing:.03em;text-shadow:0 2px 12px rgba(0,0,0,.5)}

  /* ---------- Für wen ---------- */
  .audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem}
  @media (max-width:760px){.audience-grid{grid-template-columns:1fr}}
  .audience-card{
    background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);
    padding:clamp(1.6rem,3vw,2.4rem);box-shadow:var(--shadow);
  }
  .audience-card .icon-badge{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem}
  .audience-card.familien .icon-badge{background:var(--berry-tint);color:var(--berry)}
  .audience-card.gemeinde .icon-badge{background:var(--blue-tint);color:var(--blue)}
  .audience-card h3{font-size:1.35rem}
  .audience-card p{color:var(--ink-soft);margin-top:.6rem}
  .audience-card .taglist{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
  .tag-chip{font:700 .78rem/1 'Nunito Sans';padding:.4rem .75rem;border-radius:999px;background:var(--surface-alt);color:var(--ink-soft)}
  .audience-card .card-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.4rem;font-weight:800;font-size:.92rem;color:var(--berry);text-decoration:none}
  .audience-card.gemeinde .card-link{color:var(--blue)}

  /* ---------- Werte strip ---------- */
  .values{background:var(--surface-alt)}
  .values-row{display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem}
  @media (max-width:900px){.values-row{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:520px){.values-row{grid-template-columns:1fr}}
  .value-item{display:flex;gap:.85rem;align-items:flex-start}
  .value-item .icon-badge{width:40px;height:40px;border-radius:12px;background:var(--surface);color:var(--berry);display:flex;align-items:center;justify-content:center;flex:none;box-shadow:var(--shadow)}
  .value-item h4{font-family:'Nunito Sans';font-weight:800;font-size:.98rem}
  .value-item p{color:var(--ink-soft);font-size:.87rem;margin-top:.25rem}

  /* ---------- Leistungen ---------- */
  .filter-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
  .service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:2.4rem}
  @media (max-width:760px){.service-grid{grid-template-columns:1fr}}
  .service-card{
    background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);
    padding:1.7rem;display:flex;flex-direction:column;gap:.9rem;transition:opacity .25s ease, transform .25s ease;
  }
  .service-card[hidden]{display:none}
  .service-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
  .service-card .icon-badge{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center}
  .service-card.c-berry .icon-badge{background:var(--berry-tint);color:var(--berry)}
  .service-card.c-blue .icon-badge{background:var(--blue-tint);color:var(--blue)}
  .service-card.c-green .icon-badge{background:var(--green-tint);color:var(--green)}
  .service-price{font:800 .95rem/1 'Nunito Sans';color:var(--ink);white-space:nowrap;text-align:right}
  .service-price small{display:block;font-weight:600;color:var(--ink-faint);font-size:.72rem;margin-top:.2rem}
  .service-card h3{font-size:1.18rem}
  .service-card p.desc{color:var(--ink-soft);font-size:.94rem}
  .service-card .details{display:flex;flex-direction:column;gap:.4rem;margin-top:.2rem}
  .service-card .details li{display:flex;gap:.5rem;font-size:.87rem;color:var(--ink-soft)}
  .service-card .details li .icon{width:16px;height:16px;color:var(--green);margin-top:.2rem}
  .service-card .audience-tag{align-self:flex-start;font:800 .68rem/1 'Nunito Sans';letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
  .service-card .price-detail{margin-top:.2rem;padding-top:.8rem;border-top:1px solid var(--border-soft);font-size:.82rem;line-height:1.6;color:var(--ink-soft)}
  .service-card .price-detail strong{color:var(--ink)}
  .service-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.6rem}

  /* ---------- Ablauf ---------- */
  .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1.1rem;margin-top:2.6rem;position:relative}
  @media (max-width:920px){.steps{grid-template-columns:1fr;gap:0}}
  .step{position:relative;padding:0 .2rem}
  .step .num{
    width:40px;height:40px;border-radius:50%;background:var(--berry);color:var(--on-berry);
    display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:600;font-size:1.05rem;
    box-shadow:var(--shadow);
  }
  .steps > .step:not(:last-child)::after{content:"";position:absolute;top:20px;left:calc(50% + 30px);width:calc(100% - 20px);height:2px;background:var(--border);}
  @media (max-width:920px){
    .step{display:grid;grid-template-columns:40px 1fr;column-gap:1rem;row-gap:.3rem;align-items:start;padding:1rem 0}
    .step .num{grid-row:1 / 3;grid-column:1}
    .step h4{grid-row:1;grid-column:2}
    .step p{grid-row:2;grid-column:2}
    .steps > .step:not(:last-child)::after{display:none}
    .step:not(:last-child){border-bottom:1px dashed var(--border)}
  }
  .step h4{font-family:'Nunito Sans';font-weight:800;font-size:1rem;margin-top:.9rem}
  @media (max-width:920px){.step h4{margin-top:0}}
  .step p{color:var(--ink-soft);font-size:.87rem;margin-top:.35rem}

  /* ---------- Über mich ---------- */
  .about-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(2rem,5vw,3.5rem);align-items:start}
  @media (max-width:860px){.about-grid{grid-template-columns:1fr}}
  .about-card{
    background:linear-gradient(155deg, var(--berry-tint) 0%, var(--sand) 60%, var(--blue-tint) 100%);
    border-radius:var(--radius-lg);padding:2rem;color:var(--ink);box-shadow:var(--shadow);border:1px solid var(--border-soft);
  }
  .about-card .avatar{width:84px;height:84px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:600;font-size:1.7rem;border:1.5px solid #fff;box-shadow:var(--shadow);object-fit:cover}
  .about-card h3{color:var(--ink);font-size:1.3rem;margin-top:1rem}
  .about-card .role{color:var(--berry);opacity:1;font-weight:700;font-size:.85rem;margin-top:.15rem}
  .about-card ul{margin-top:1.3rem;display:flex;flex-direction:column;gap:.6rem}
  .about-card ul li{display:flex;gap:.55rem;font-size:.86rem;color:var(--ink-soft);opacity:1}
  .about-card ul li .icon{width:16px;height:16px;margin-top:.15rem;flex:none;color:var(--green)}
  .about-text p{color:var(--ink-soft);margin-top:1rem;font-size:1.02rem}
  .about-text blockquote{
    font-family:'Fraunces';font-style:italic;font-weight:500;color:var(--ink);
    font-size:clamp(1.25rem,2.2vw,1.55rem);line-height:1.4;margin:1.6rem 0;
    border-left:3px solid var(--berry);padding-left:1.2rem;
  }

  /* ---------- Schulung ---------- */
  .schulung{background:linear-gradient(155deg, var(--berry-tint) 0%, var(--sand) 55%, var(--blue-tint) 100%);color:var(--ink);border-radius:var(--radius-lg);margin:0 clamp(1.25rem,4vw,2.5rem);padding:clamp(2rem,5vw,3.5rem);border:1px solid var(--border-soft)}
  .schulung .eyebrow{background:var(--surface);color:var(--berry)}
  .schulung h2{color:var(--ink)}
  .schulung .lede{color:var(--ink-soft)}
  .schulung-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2.2rem}
  @media (max-width:860px){.schulung-grid{grid-template-columns:1fr}}
  .schulung ul.syllabus{display:flex;flex-direction:column;gap:.7rem}
  .schulung ul.syllabus li{display:flex;gap:.6rem;font-size:.95rem;color:var(--ink-soft)}
  .schulung ul.syllabus li .icon{color:var(--green);width:18px;height:18px;margin-top:.15rem;flex:none}
  .price-tiers{display:flex;flex-direction:column;gap:1rem}
  .tier{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:1.3rem 1.4rem;box-shadow:var(--shadow)}
  .tier-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
  .tier-top h4{font-family:'Nunito Sans';font-weight:800;font-size:1rem;color:var(--ink)}
  .tier-top .price{font-family:'Fraunces';font-weight:600;font-size:1.3rem;color:var(--berry)}
  .tier p{color:var(--ink-soft);font-size:.85rem;margin-top:.4rem}
  .tier .badge{display:inline-block;margin-top:.5rem;font:800 .68rem/1 'Nunito Sans';letter-spacing:.05em;text-transform:uppercase;color:var(--berry);background:var(--berry-tint);padding:.3rem .6rem;border-radius:999px}
  .schulung-foot{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
  .schulung .btn-primary{background:var(--berry);color:var(--on-berry)}
  .schulung-note{color:var(--ink-faint);font-size:.82rem}

  /* ---------- Einrichtung ---------- */
  .einrichtung{background:linear-gradient(155deg, var(--green-tint) 0%, var(--sand) 55%, var(--blue-tint) 100%);border-radius:var(--radius-lg);margin:0 clamp(1.25rem,4vw,2.5rem);padding:clamp(2.2rem,5vw,3.5rem);border:1px solid var(--border-soft);text-align:center}
  .einrichtung .eyebrow{background:var(--surface);color:var(--green)}
  .einrichtung-logo{width:100%;max-width:240px;height:auto;margin:0 auto 1.4rem}
  .einrichtung .lede{max-width:54ch;margin:.8rem auto 0;color:var(--ink-soft);font-size:1.05rem;line-height:1.65}
  .einrichtung .btn-primary{background:var(--green);color:#fff;margin-top:1.7rem}

  /* ---------- Testimonial ---------- */
  .testimonial{text-align:center;max-width:780px;margin:0 auto}
  .testimonial blockquote{font-family:'Fraunces';font-style:italic;font-weight:500;font-size:clamp(1.4rem,3vw,2rem);line-height:1.45;color:var(--ink)}
  .testimonial cite{display:block;margin-top:1.4rem;font-style:normal;font-weight:800;color:var(--ink-soft);font-size:.9rem}
  .stars{display:flex;justify-content:center;gap:.3rem;margin-top:1.6rem;color:var(--green)}
  .stars .icon{width:18px;height:18px}

  /* ---------- Testimonial carousel (multiple references, clickable) ---------- */
  .testimonial-carousel{max-width:760px;margin:2.4rem auto 0;text-align:center}
  .tc-slide{display:none}
  .tc-slide.is-active{display:block}
  .tc-slide .t-topic{font:800 .68rem/1 'Nunito Sans';letter-spacing:.05em;text-transform:uppercase;color:var(--berry);background:var(--berry-tint);padding:.35rem .7rem;border-radius:999px;display:inline-block}
  .tc-slide .stars{justify-content:center;margin-top:1.1rem}
  .tc-slide blockquote{font-family:'Fraunces';font-style:italic;font-weight:500;font-size:clamp(1.1rem,2.3vw,1.4rem);line-height:1.55;color:var(--ink);margin:1.1rem auto 0;max-width:58ch}
  .tc-slide cite{display:block;margin-top:1.3rem;font-style:normal;font-weight:800;color:var(--ink-soft);font-size:.85rem}
  .tc-controls{display:flex;justify-content:center;align-items:center;gap:1.2rem;margin-top:2.2rem}
  .tc-arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-soft);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-soft);box-shadow:var(--shadow);flex:none;padding:0}
  .tc-arrow:hover{color:var(--berry);border-color:var(--berry)}
  .tc-arrow .icon{width:18px;height:18px}
  .tc-dots{display:flex;gap:.5rem}
  .tc-dot{width:8px;height:8px;padding:0;border-radius:999px;border:none;background:var(--border-soft);cursor:pointer;transition:width .2s,background .2s}
  .tc-dot.is-active{width:22px;background:var(--berry)}

  /* ---------- FAQ ---------- */
  .faq-list{max-width:780px;margin:2.4rem auto 0;display:flex;flex-direction:column;gap:.8rem}
  details.faq{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:.2rem 1.3rem}
  details.faq summary{list-style:none;cursor:pointer;padding:1.1rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-weight:800;font-size:1rem}
  details.faq summary::-webkit-details-marker{display:none}
  details.faq summary .chev{transition:transform .2s ease;color:var(--berry);flex:none}
  details.faq[open] summary .chev{transform:rotate(45deg)}
  details.faq .faq-a{color:var(--ink-soft);padding-bottom:1.2rem;font-size:.95rem;max-width:64ch}

  /* ---------- Kontakt ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:2.4rem}
  @media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
  .contact-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:clamp(1.6rem,3vw,2.2rem);box-shadow:var(--shadow)}
  .contact-line{display:flex;align-items:center;gap:.8rem;padding:.85rem 0;border-bottom:1px solid var(--border-soft);text-decoration:none;color:var(--ink)}
  .contact-line:last-child{border-bottom:none}
  .contact-line .icon-badge{width:38px;height:38px;border-radius:11px;background:var(--berry-tint);color:var(--berry);display:flex;align-items:center;justify-content:center;flex:none}
  .contact-line .label{font-size:.78rem;color:var(--ink-faint);font-weight:700}
  .contact-line .value{font-weight:800}
  .contact-form{display:flex;flex-direction:column;gap:.9rem}
  .field label{display:block;font-weight:800;font-size:.85rem;margin-bottom:.4rem}
  .field select,.field input,.field textarea{
    width:100%;padding:.75rem .9rem;border-radius:12px;border:1.5px solid var(--border);
    background:var(--bg);color:var(--ink);font:500 .95rem/1.4 'Nunito Sans';
  }
  .field select:focus,.field input:focus,.field textarea:focus{outline:none;border-color:var(--berry)}
  .field textarea{resize:vertical;min-height:90px}

  /* ---------- Footer ---------- */
  footer{border-top:1px solid var(--border-soft);padding:3rem 0 2rem}
  .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
  @media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}}
  @media (max-width:480px){.footer-grid{grid-template-columns:1fr}}
  .footer-grid h5{font-family:'Nunito Sans';font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-bottom:.9rem}
  .footer-grid a{display:block;color:var(--ink-soft);text-decoration:none;font-size:.92rem;padding:.35rem 0}
  .footer-grid a:hover{color:var(--berry)}
  .footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--border-soft);color:var(--ink-faint);font-size:.82rem}
  .footer-bottom .heart{color:var(--green)}

  .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease, transform .6s ease}
  .reveal.in{opacity:1;transform:none}
