:root{
  --violet:#3B0B4F;
  --violet-dark:#23052F;
  --coral:#D41468;
  --orange:#FF7A00;
  --orange-soft:#FFB02E;
  --cream:#FFF9F5;
  --white:#FFFFFF;
  --text:#2A1534;
  --muted:#745F78;
  --line:rgba(59,11,79,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--cream);
  color:var(--text);
  line-height:1.55;
}
a{text-decoration:none}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:Georgia,"Times New Roman",serif;color:var(--violet)}
h1{
  font-size:clamp(3.5rem,8vw,8.5rem);
  line-height:.9;
  letter-spacing:-.07em;
  max-width:980px;
}
h2{
  font-size:clamp(2.4rem,5vw,5rem);
  line-height:.95;
  letter-spacing:-.055em;
}
h3{font-size:1.45rem;color:var(--violet)}
p{color:var(--muted)}
ul{padding-left:1.1rem;color:var(--muted)}
li{margin:.35rem 0}

.hero{
  min-height:100vh;
  padding:22px clamp(24px,6vw,82px);
  background:
    radial-gradient(circle at 88% 14%,rgba(255,122,0,.16),transparent 28%),
    radial-gradient(circle at 8% 88%,rgba(212,20,104,.13),transparent 30%),
    linear-gradient(145deg,#fff 0%,#fff9f5 60%,#fce8ef 100%);
}
.nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  padding:14px 0;
}

.logo {
    width: min(390px, 58vw);
	height: auto;
}


.nav-links{
  display:flex;
  align-items:center;
  gap:18px;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.nav-links a{
  color:var(--violet);
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  transition:color .2s ease;
}

.nav-links a:hover{
  color:var(--coral);
}
.nav-button{
  background:var(--violet);
  color:white;
  padding:13px 24px;
  border-radius:999px;
  font-weight:800;
}
.hero-content{
  padding-top:clamp(70px,12vw,145px);
  padding-left:clamp(24px,6vw,82px);
  padding-right:clamp(24px,6vw,82px);
}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.78rem;
  font-weight:900;
  color:var(--coral);
}
.lead{
  max-width:820px;
  font-size:clamp(1.18rem,2vw,1.55rem);
}
.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:35px;
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 25px;
  border-radius:999px;
  font-weight:850;
}
.primary{background:var(--violet);color:white}
.secondary{border:1px solid rgba(59,11,79,.35);color:var(--violet);background:rgba(255,255,255,.55)}
.button.light{background:white!important;color:var(--violet)!important}

.section{
  max-width:1320px;
  margin:0 auto;
  padding:clamp(75px,9vw,130px) clamp(22px,6vw,86px);
}
.section-head{
  max-width:900px;
  margin-bottom:42px;
}
.section-head.light h2,.section-head.light p{color:white}
.cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:22px;
  justify-items:stretch;
}
.cards .card:nth-child(4),
.cards .card:nth-child(5) {
  grid-column: auto;
  transform: none;

}
.card{
  background:white;
  border:1px solid var(--line);
  border-radius:34px;
  padding:30px;
  box-shadow:0 24px 70px rgba(59,11,79,.08);
  position:relative;
  overflow:hidden;
}
.card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg,var(--violet),var(--coral),var(--orange));
}
.card.featured{
  background:linear-gradient(145deg,#fff,#fff1e4);
}
.icon{
  font-size:2rem;
  display:block;
  margin-bottom:18px;
}
.price{
  font-size:1.95rem;
  font-weight:900;
  color:var(--coral);
}
.price span{
  font-size:1rem;
  color:var(--orange);
}
.note{
  font-weight:850;
  color:var(--violet);
}

.dark{
  max-width:none;
  background:
    radial-gradient(circle at 88% 10%,rgba(255,122,0,.24),transparent 30%),
    linear-gradient(135deg,var(--violet-dark),var(--violet));
}
.dark>.section-head,
.dark>.two-cards{
  max-width:1320px;
  margin-left:auto;
  margin-right:auto;
}
.two-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.glass-card{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  border-radius:34px;
  padding:34px;
}
.glass-card h3,.glass-card p,.glass-card li{color:white}
.light-price{color:var(--orange-soft)}

.package-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.package{
  background:white;
  border:1px solid var(--line);
  border-radius:34px;
  padding:32px;
  box-shadow:0 24px 70px rgba(59,11,79,.08);
}
.package.highlighted{
  border:2px solid var(--coral);
  
}
.tag{
  display:inline-flex;
  background:#fce8ef;
  color:var(--coral);
  padding:7px 12px;
  border-radius:999px;
  font-weight:850;
  font-size:.85rem;
}
.package-price{
  font-size:2.5rem;
  font-weight:950;
  color:var(--violet);
}
.app-box{
  margin-top:28px;
  background:linear-gradient(135deg,#fff,#fff1e4);
  border-radius:34px;
  padding:34px;
  border:1px solid var(--line);
}
.cta{
  margin:0 clamp(22px,6vw,86px) 70px;
  padding:65px 28px;
  border-radius:46px;
  text-align:center;
 background:
  radial-gradient(circle at 15% 20%, rgba(255,176,46,.35), transparent 30%),
  linear-gradient(135deg,
    var(--violet) 0%,
    #5A1A68 45%,
    var(--orange) 100%);
}
.cta h2{color:white;max-width:900px;margin-left:auto;margin-right:auto}
.cta-logo{width:min(320px,72vw);background:white;border-radius:26px;padding:16px;margin-bottom:22px}

@media(max-width:980px){
  .cards,.package-grid,.two-cards{grid-template-columns:1fr}
  .package.highlighted{transform:none}
  .nav{align-items:flex-start;flex-direction:column}
}

.section.dark {
  background-color: #2C0A14 !important;
  }

.glass-card {
  background: rgba(255, 255, 255, 0.06); 
  border: 1px solid rgba(255, 255, 255, 0.12); 
  border-radius: 34px;
  padding: 34px;
  backdrop-filter: blur(15px); 
  -webkit-backdrop-filter: blur(15px);
  
  }

.two-cards .glass-card, 
section.dark .glass-card {
  background: rgba(255, 255, 255, 0.08) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow: none !important; 
  
    }

div.two-cards article.glass-card, 
section#begleitung .glass-card,
.glass-card {
  background: rgba(255, 255, 255, 0.08) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow: none !important;
  
   }
  
.hero-content {
  max-width: 980px;
  padding-left: 0;
  padding-right: 0;
}  
  
.nav-button {
  background: var(--violet);
  color: white;
}
.nav-links a:last-child{
    background: var(--violet);
    color: #fff !important;
    padding: 11px 18px;
    border-radius: 999px;
}

.nav-links a:last-child:hover{
    color:#fff !important;
    background: var(--violet);
}
.footer{

    padding:40px 20px;
    background:#f8f5ef;
    text-align:center;
    border-top:1px solid rgba(0,0,0,.08);

}

.footer p{

    margin-bottom:12px
    color:#555;
    font-size:.9rem;

}

.footer-links{

    display:flex;
    justify-content:center;

    gap:30px;

}

.footer-links a{

    color:#5A3B7C;
    text-decoration:none;
    font-weight:500;

}

.footer-links a:hover{
    color:#F58B2B;
  
  }
.legal-page h1{

    font-size:40px !important;

    line-height:1.2 !important;

    max-width:100%;

    word-break:break-word;

}

.legal-page h2{

    font-size:28px !important;

    line-height:1.3 !important;

}

.legal-page p,

.legal-page li{

    font-size:18px !important;

    line-height:1.8;

}

.legal-box{

    max-width:900px;

    margin:60px auto;

    padding:50px;

}

@media (max-width:768px){

    .legal-page h1{

        font-size:32px !important;

    }

    .legal-page h2{

        font-size:24px !important;
       }
  }
  
  .footer-links .fa-instagram {
  font-size: 1.4rem;
  color: var(--violet);
  transition: 0.3s;
}

.footer-links .fa-instagram:hover {
  color: var(--orange);
}
  .footer-links i {
    font-size: 1.5rem;
}
  .footer-links a i.fa-instagram {
    font-size: 28px !important;
    line-height: 1;
    vertical-align: middle;
    
    }
    
    
@media (max-width: 768px) {

  body{
    overflow-x:hidden;
  }

  /* Navigation */

  .nav{
    flex-direction:column;
    align-items:center;
    gap:18px;
    padding:18px 20px;
  }

  .logo{
    width:190px;
    height:auto;
  }

  .nav-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px 18px;
  }

  .nav-links a{
    font-size:15px;
  }

  /* Hero */

  .hero{
    min-height:auto;
    padding:30px 20px 60px;
  }

  .hero-content{
    padding-top:30px;
    padding-left:0;
    padding-right:0;
  }

  h1{
    font-size:clamp(2.8rem,11vw,4rem);
    line-height:.95;
  }

  h2{
    font-size:clamp(2rem,8vw,3rem);
  }

  .lead{
    font-size:1.1rem;
  }

  /* Buttons */

  .hero-actions{
    flex-direction:column;
  }

  .button{
    width:100%;
  }

  /* Karten */

  .cards,
  .package-grid,
  .two-cards{
    grid-template-columns:1fr;
  }

  .cards .card:nth-child(4),
  .cards .card:nth-child(5){
    grid-column:auto;
    transform:none;
}
  .package.highlighted{
    transform:none;
  }

  /* Allgemeine Abstände */

  .section{
    padding:60px 20px;
  }

  /* Bilder */

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

}
