.bs-hauschka{
  --cream:#FAF7F2;
  --beige:#F0EAE0;
  --beige-mid:#E2D9CC;
  --sand:#C8B99A;
  --brown:#5C4A38;
  --brown-dark:#3A2E22;
  --gold:#A8894A;
  --gold-light:#C9A96E;
  --muted:#8A7A6A;
  --text:#3A2E22;
  --rule:rgba(168,137,74,.28);
  --max:920px;
  --max-narrow:640px;
  --pad-v:6rem;
  --pad-v-sm:3.5rem;
  background:var(--cream);
  color:var(--text);
  font-family:Georgia,serif;
  font-weight:300;
  font-size:16px;
  line-height:1.75;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow:hidden;
}

.bs-hauschka,
.bs-hauschka *{
  box-sizing:border-box;
}

.bs-hauschka img{
  display:block;
  max-width:100%;
  height:auto;
}

.bs-hauschka a{
  color:inherit;
  text-decoration:none;
}

.bs-hauschka .wrap{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  padding-left:2rem;
  padding-right:2rem;
}

.bs-hauschka .wrap--narrow{
  max-width:var(--max-narrow);
}

.bs-hauschka section{
  padding:var(--pad-v) 0;
}

.bs-hauschka section + section{
  border-top:1px solid var(--rule);
}

.bs-hauschka .eyebrow{
  display:block;
  font-family:inherit;
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1.5rem;
}

.bs-hauschka h1,
.bs-hauschka h2,
.bs-hauschka h3,
.bs-hauschka p{
  margin-top:0;
}

.bs-hauschka h1{
  font-family:Georgia,serif;
  font-size:clamp(2.6rem,5vw,4rem);
  font-weight:300;
  line-height:1.1;
  color:var(--brown-dark);
}

.bs-hauschka h2{
  font-family:Georgia,serif;
  font-size:clamp(1.8rem,3vw,2.6rem);
  font-weight:300;
  line-height:1.2;
  color:var(--brown-dark);
  margin-bottom:1.75rem;
}

.bs-hauschka h3{
  font-family:Georgia,serif;
  font-size:clamp(1.2rem,2vw,1.6rem);
  font-weight:300;
  color:var(--brown-dark);
  margin-bottom:.75rem;
}

.bs-hauschka p{
  font-size:clamp(.95rem,1.5vw,1.05rem);
  line-height:1.9;
  color:var(--text);
  margin-bottom:1.25rem;
  max-width:62ch;
}

.bs-hauschka p:last-child{
  margin-bottom:0;
}

.bs-hauschka p.muted{
  color:var(--muted);
  font-size:.9rem;
  line-height:1.8;
}

.bs-hauschka .gold-rule{
  display:block;
  width:36px;
  height:1px;
  background:var(--gold);
  margin-bottom:2rem;
}

.bs-hauschka .btn{
  display:inline-block;
  font-family:inherit;
  font-size:.65rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  padding:.9rem 2.25rem;
  border:1px solid var(--gold);
  color:var(--brown-dark);
  background:transparent;
  cursor:pointer;
  transition:background .3s,color .3s,border-color .3s;
  text-decoration:none;
}

.bs-hauschka .btn:hover{
  background:var(--gold);
  color:#fff;
}

.bs-hauschka .btn--filled{
  background:var(--gold);
  color:#fff;
}

.bs-hauschka .btn--filled:hover{
  background:var(--brown);
  border-color:var(--brown);
}

.bs-hauschka .btn--sm{
  font-size:.6rem;
  padding:.65rem 1.5rem;
}

.bs-hauschka .btn--light{
  border-color:var(--cream);
  color:var(--cream);
}

.bs-hauschka .btn--light:hover{
  background:var(--cream);
  color:var(--brown-dark);
}

/* ═══════════════════════════════════════════
   HERO — Signature Style
═══════════════════════════════════════════ */
.bs-hauschka .hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  background:var(--cream);
  position:relative;
  overflow:hidden;
  border-top:none;
  padding:0;
}

.bs-hauschka .hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(
    ellipse 80% 60% at 30% 50%,
    rgba(240,234,224,.55) 0%,
    rgba(247,243,238,.2) 50%,
    transparent 100%
  );
  pointer-events:none;
  z-index:0;
}

.bs-hauschka .hero::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events:none;
  opacity:.35;
}

.bs-hauschka .hero__gold-line{
  position:absolute;
  left:0;
  top:15%;
  width:3px;
  height:40%;
  background:linear-gradient(to bottom,transparent,var(--gold-light),transparent);
  z-index:1;
}

.bs-hauschka .hero__inner{
  position:relative;
  z-index:2;
  max-width:var(--max);
  margin:0 auto;
  padding:6rem 2rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  align-items:center;
  width:100%;
}

.bs-hauschka .hero__label{
  font-family:inherit;
  font-size:.65rem;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1.5rem;
  display:flex;
  align-items:center;
  gap:1rem;
}

.bs-hauschka .hero__label::before{
  content:'';
  display:inline-block;
  width:24px;
  height:1px;
  background:var(--gold);
}

.bs-hauschka .hero__title{
  font-size:clamp(2.8rem,5.5vw,4.5rem);
  line-height:1.1;
  color:var(--brown-dark);
  margin-bottom:.5rem;
  max-width:11ch;
}

.bs-hauschka .hero__title-sub{
  font-family:Georgia,serif;
  font-size:clamp(1.4rem,2.5vw,2rem);
  font-style:italic;
  font-weight:300;
  color:var(--gold);
  margin-bottom:2rem;
  display:block;
  line-height:1.4;
}

.bs-hauschka .hero__lead{
  max-width:42ch;
  font-size:1rem;
  line-height:1.85;
  color:var(--muted);
  margin-bottom:2.5rem;
}

.bs-hauschka .hero__cta-group{
  display:flex;
  gap:1.25rem;
  flex-wrap:wrap;
  align-items:center;
}

.bs-hauschka .hero__detail{
  font-size:.7rem;
  letter-spacing:.08em;
  color:var(--sand);
  text-transform:uppercase;
  margin-top:1.5rem;
}

.bs-hauschka .hero__visual{
  position:relative;
}

.bs-hauschka .hero__img-frame{
  position:relative;
  aspect-ratio:3/4;
  overflow:hidden;
}

.bs-hauschka .hero__img-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 30%;
  filter:sepia(8%) saturate(90%);
}

.bs-hauschka .hero__img-frame::after{
  content:'';
  position:absolute;
  inset:12px -12px -12px 12px;
  border:1px solid var(--gold-light);
  pointer-events:none;
  opacity:.5;
}

.bs-hauschka .hero__badge{
  position:absolute;
  bottom:1.5rem;
  left:-2rem;
  background:var(--brown-dark);
  color:var(--cream);
  padding:1.25rem 1.5rem;
  font-family:Georgia,serif;
}

.bs-hauschka .hero__badge-label{
  font-size:.6rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold-light);
  display:block;
  margin-bottom:.25rem;
}

.bs-hauschka .hero__badge-price{
  font-size:1.5rem;
  font-weight:300;
}

@media(max-width:900px){

  .bs-hauschka .hero__inner{
    grid-template-columns:1fr;
    padding:4rem 1.5rem;
    gap:3rem;
  }

  .bs-hauschka .hero__visual{
    order:-1;
  }

  .bs-hauschka .hero__img-frame::after{
    display:none;
  }

  .bs-hauschka .hero__badge{
    left:0;
    bottom:1rem;
  }
}

@media(max-width:480px){

  .bs-hauschka .hero__cta-group{
    flex-direction:column;
    align-items:flex-start;
  }
}

.bs-hauschka .philosophie{
  background:var(--beige);
  text-align:center;
}

.bs-hauschka .philosophie .wrap{
  max-width:var(--max-narrow);
}

.bs-hauschka .philosophie__quote{
  font-family:Georgia,serif;
  font-size:clamp(1.15rem,2.2vw,1.5rem);
  font-style:italic;
  font-weight:300;
  color:var(--brown-dark);
  line-height:1.55;
  margin-bottom:2.5rem;
}

.bs-hauschka .philosophie p{
  margin:0 auto 1.25rem;
}

.bs-hauschka .philosophie__sigmund{
  margin-top:2.5rem;
  padding-top:2rem;
  border-top:1px solid var(--rule);
}

.bs-hauschka .philosophie__sigmund-text{
  font-size:.82rem;
  font-style:italic;
  color:var(--muted);
  line-height:1.7;
  max-width:52ch;
  margin:0 auto;
}

.bs-hauschka .fuer-wen{
  background:var(--cream);
}

.bs-hauschka .fuer-wen__inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  align-items:start;
}

.bs-hauschka .fuer-wen__list{
  list-style:none;
  border-top:1px solid var(--rule);
  margin:0;
  padding:0;
}

.bs-hauschka .fuer-wen__list li{
  display:grid;
  grid-template-columns:1.25rem 1fr;
  gap:.75rem;
  align-items:baseline;
  padding:1rem 0;
  border-bottom:1px solid var(--rule);
  font-size:clamp(.88rem,1.3vw,.98rem);
  line-height:1.6;
  color:var(--text);
}

.bs-hauschka .fuer-wen__list li::before{
  content:"◇";
  color:var(--gold);
  font-size:.65rem;
}

.bs-hauschka .behandlungen{
  background:var(--beige);
}

.bs-hauschka .behandlungen__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5px;
  background:var(--beige-mid);
  border:1.5px solid var(--beige-mid);
  margin-top:3rem;
}

.bs-hauschka .behandlung-card{
  background:var(--cream);
  padding:2.5rem 2.25rem;
  display:flex;
  flex-direction:column;
  gap:0;
  transition:background .25s;
  position:relative;
}

.bs-hauschka .behandlung-card:hover{
  background:#fff;
}

.bs-hauschka .behandlung-card--featured{
  grid-column:1 / -1;
  background:var(--brown-dark);
}

.bs-hauschka .behandlung-card--featured:hover{
  background:var(--brown);
}

.bs-hauschka .behandlung-card__badge{
  position:absolute;
  top:0;
  right:2rem;
  background:var(--gold);
  color:#fff;
  font-family:inherit;
  font-size:.55rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:.28rem .75rem;
}

.bs-hauschka .behandlung-card__meta{
  display:flex;
  align-items:baseline;
  gap:1rem;
  margin-bottom:1rem;
}

.bs-hauschka .behandlung-card__dauer{
  font-family:inherit;
  font-size:.6rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gold);
}

.bs-hauschka .behandlung-card__dauer--light{
  color:var(--gold-light);
}

.bs-hauschka .behandlung-card__name{
  font-family:Georgia,serif;
  font-size:clamp(1.2rem,2vw,1.55rem);
  font-weight:300;
  color:var(--brown-dark);
  line-height:1.2;
  margin-bottom:.6rem;
}

.bs-hauschka .behandlung-card__name--light{
  color:var(--cream);
}

.bs-hauschka .behandlung-card__price{
  font-family:Georgia,serif;
  font-size:2.2rem;
  font-weight:300;
  color:var(--brown-dark);
  line-height:1;
  margin-bottom:1.25rem;
}

.bs-hauschka .behandlung-card__price--light{
  color:var(--gold-light);
}

.bs-hauschka .behandlung-card__price span{
  font-size:.85rem;
  color:var(--muted);
  font-family:inherit;
  margin-left:.25rem;
}

.bs-hauschka .behandlung-card__price--light span{
  color:var(--sand);
}

.bs-hauschka .behandlung-card__desc{
  font-size:.88rem;
  line-height:1.75;
  color:var(--muted);
  margin-bottom:1.5rem;
  max-width:none;
}

.bs-hauschka .behandlung-card__desc--light{
  color:var(--beige-mid);
}

.bs-hauschka .behandlung-card__benefits{
  list-style:none;
  border-top:1px solid var(--rule);
  margin:0 0 1.75rem;
  padding:0;
  flex:1;
}

.bs-hauschka .behandlung-card__benefits--light{
  border-top-color:rgba(200,185,154,.2);
}

.bs-hauschka .behandlung-card__benefit{
  display:flex;
  align-items:baseline;
  gap:.6rem;
  padding:.6rem 0;
  border-bottom:1px solid var(--rule);
  font-size:.8rem;
  color:var(--text);
  line-height:1.5;
}

.bs-hauschka .behandlung-card__benefit--light{
  border-bottom-color:rgba(200,185,154,.2);
  color:var(--beige-mid);
}

.bs-hauschka .behandlung-card__benefit::before{
  content:"—";
  color:var(--gold);
  font-size:.7rem;
  flex-shrink:0;
}

.bs-hauschka .behandlung-card__benefit--light::before{
  color:var(--gold-light);
}

.bs-hauschka .zusatz{
  background:var(--cream);
  padding:3rem 0;
}

.bs-hauschka .zusatz__inner{
  border-top:1px solid var(--rule);
  padding-top:2rem;
  display:flex;
  align-items:baseline;
  gap:3rem;
  flex-wrap:wrap;
}

.bs-hauschka .zusatz__label{
  font-family:inherit;
  font-size:.6rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  flex-shrink:0;
  white-space:nowrap;
}

.bs-hauschka .zusatz__items{
  display:flex;
  gap:2rem;
  flex-wrap:wrap;
}

.bs-hauschka .zusatz__item{
  font-size:.82rem;
  color:var(--muted);
  font-family:inherit;
  font-weight:300;
}

.bs-hauschka .trust{
  background:var(--brown-dark);
  color:var(--cream);
}

.bs-hauschka .trust .wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  align-items:start;
}

.bs-hauschka .trust h2{
  color:var(--cream);
}

.bs-hauschka .trust .eyebrow{
  color:var(--gold-light);
}

.bs-hauschka .trust p{
  color:var(--beige-mid);
  font-size:.92rem;
}

.bs-hauschka .trust__pillars{
  border-top:1px solid rgba(200,185,154,.2);
}

.bs-hauschka .trust__pillar{
  display:flex;
  gap:1.25rem;
  padding:1.25rem 0;
  border-bottom:1px solid rgba(200,185,154,.15);
  align-items:flex-start;
}

.bs-hauschka .trust__pillar-marker{
  font-family:Georgia,serif;
  font-size:1rem;
  font-style:italic;
  color:var(--gold);
  flex-shrink:0;
  padding-top:.1rem;
  min-width:1.5rem;
}

.bs-hauschka .trust__pillar-body{
  flex:1;
}

.bs-hauschka .trust__pillar-title{
  font-family:Georgia,serif;
  font-size:1rem;
  font-weight:300;
  color:var(--cream);
  display:block;
  margin-bottom:.2rem;
}

.bs-hauschka .trust__pillar-desc{
  font-size:.78rem;
  color:var(--sand);
  line-height:1.6;
  margin:0;
  max-width:none;
}

.bs-hauschka .cta-final{
  background:var(--beige);
  text-align:center;
}

.bs-hauschka .cta-final .wrap{
  max-width:var(--max-narrow);
}

.bs-hauschka .cta-final p{
  margin:0 auto 2rem;
}

.bs-hauschka .cta-final h2{
  text-align:center;
}

@media(max-width:900px){
  .bs-hauschka{
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
  }

  .bs-hauschka .hero{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .bs-hauschka .hero__image{
    min-height:55vw;
    order:-1;
  }

  .bs-hauschka .hero__text{
    padding:3.5rem 2rem;
  }

  .bs-hauschka .hero__text::before{
    display:none;
  }

  .bs-hauschka .trust .wrap,
  .bs-hauschka .fuer-wen__inner{
    grid-template-columns:1fr;
    gap:2.5rem;
  }
}

@media(max-width:640px){
  .bs-hauschka{
    --pad-v:var(--pad-v-sm);
  }

  .bs-hauschka .wrap{
    padding-left:1.35rem;
    padding-right:1.35rem;
  }

  .bs-hauschka .behandlungen__grid{
    grid-template-columns:1fr;
  }

  .bs-hauschka .behandlung-card--featured{
    grid-column:1;
  }

  .bs-hauschka .zusatz__inner{
    flex-direction:column;
    gap:1rem;
  }

  .bs-hauschka h2{
    font-size:1.6rem;
  }
}