:root{
  /* Colors from request */
  --color-bg-primary: #f6f5ee;
  --color-text-primary: #6f695e;

  --color-bg-secondary: #a89f91;
  --color-text-secondary: #f6f5ee;

  --color-highlight: #6f695e;
  --color-cta: #b46b51;
  --color-cta-hover: #9a5b45;

  /* Fonts */
  --font-headline: 'Merriweather', serif;
  --font-body: 'Raleway', sans-serif;

  --container: 950px;
  --radius: 18px;
  --shadow: 0 8px 22px rgba(0,0,0,.12);
  --shadow-soft: 0 8px 18px rgba(0,0,0,.10);
}
/* Authenia Textured (downloaded from onlinewebfonts.com, CC BY 4.0) */
@font-face {
  font-family: 'Authenia Textured';
  font-style: normal;
  font-weight: normal;
  font-display: swap;
  src: url('../fonts/authenia-textured.woff2') format('woff2'),
       url('../fonts/authenia-textured.woff') format('woff');
}

/* Local fonts (downloaded from Google Fonts) */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/u-4D0qyriQwlOrhSvowK_l5UcA6zuSYEqOzpPe3HOZJ5eX1WtLaQwmYiScCmDxhtNOKl8yDr3icqEw.woff2') format('woff2'),
       url('../fonts/u-4D0qyriQwlOrhSvowK_l5UcA6zuSYEqOzpPe3HOZJ5eX1WtLaQwmYiScCmDxhtNOKl8yDr3icqEw.ttf') format('truetype');
}
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/u-4D0qyriQwlOrhSvowK_l5UcA6zuSYEqOzpPe3HOZJ5eX1WtLaQwmYiScCmDxhtNOKl8yDrACAqEw.woff2') format('woff2'),
       url('../fonts/u-4D0qyriQwlOrhSvowK_l5UcA6zuSYEqOzpPe3HOZJ5eX1WtLaQwmYiScCmDxhtNOKl8yDrACAqEw.ttf') format('truetype');
}
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/u-4D0qyriQwlOrhSvowK_l5UcA6zuSYEqOzpPe3HOZJ5eX1WtLaQwmYiScCmDxhtNOKl8yDrOSAqEw.woff2') format('woff2'),
       url('../fonts/u-4D0qyriQwlOrhSvowK_l5UcA6zuSYEqOzpPe3HOZJ5eX1WtLaQwmYiScCmDxhtNOKl8yDrOSAqEw.ttf') format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaooCP.woff2') format('woff2'),
       url('../fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaooCP.ttf') format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvoooCP.woff2') format('woff2'),
       url('../fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvoooCP.ttf') format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVsEpYCP.woff2') format('woff2'),
       url('../fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVsEpYCP.ttf') format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVs9pYCP.woff2') format('woff2'),
       url('../fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVs9pYCP.ttf') format('truetype');
}

*{ box-sizing: border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: var(--font-body);
  color: var(--color-text-primary);
  background: var(--color-bg-primary);
  line-height: 1.6;
}
img{ max-width:100%; height:auto; display:block; }
a{ color: inherit; }
.container{
  width: min(var(--container), calc(100% - 48px));
  margin: 0 auto;
}

/* Typography */
.kicker{
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 14px;
  color: var(--color-highlight);
  margin: 0 0 10px;
}
h1,h2,h3{
  font-family: var(--font-headline);
  line-height: 1.25;
  margin: 0 0 10px;
  color: var(--color-highlight);
}
h1{ font-size: clamp(26px, 3.2vw, 34px); }
p{ margin: 0 0 14px; font-size: 18px; }

.about-card p {
    margin: 0 0 14px;
    font-size: 20px;
}
.muted{
  opacity: .9;
  font-size: 14px;
  font-style: italic;
  margin-top: 30px;
}

/* Buttons */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-radius: 999px;
  padding: 12px 22px;
  font-family: var(--font-body);
  font-size: 16px;
  cursor: pointer;
  text-decoration: none;
  transition: transform .08s ease, background-color .2s ease, box-shadow .2s ease;
  user-select: none;
  white-space: nowrap;
}
.btn:active{ transform: translateY(1px); }
.btn-primary{
  background: var(--color-cta);
  color: var(--color-text-secondary);
  box-shadow: 0 10px 20px rgba(180,107,81,.22);
}
.btn-primary:hover{ background: var(--color-cta-hover); }
.btn-ghost{
  background: rgba(255,255,255,.6);
  color: var(--color-highlight);
  border: 1px solid rgba(111,105,94,.25);
}
.btn-ghost:hover{ background: rgba(255,255,255,.8); }

/* Sections */
section{ position: relative; }
.section-pad-lg{ padding: 100px 0; }
.section-pad-md{ padding: 80px 0; }
@media (max-width: 768px){
  .section-pad-lg{ padding: 70px 0; }
  .section-pad-md{ padding: 60px 0; }
  p{ font-size: 16px; }
}

/* Wave dividers */
.wave{
  position:absolute;
  left:0; right:0;
  width:100%;
  height:auto;
  pointer-events:none;
}
.wave.top{ top:-1px; transform: translateY(-100%); }
.wave.bottom{ bottom:-1px; transform: translateY(100%) scaleY(-1); }

/* HERO */
.hero{
  background: #ececec;
    padding-top:50px;
    padding-bottom:150px;
  display: grid;
  place-items: center;
  overflow: hidden;
position: relative;
}
.hero-inner{
  padding: 0 0;
  text-align: center;
}
.hero-copy{
  max-width: 860px;
  margin: 0 auto;
  padding: 0 40px;
}
.hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;         /* gegen kleine Anti-Aliasing-Spalten */
  height: clamp(60px, 10vw, 160px); /* Wave-Höhe responsive */
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% 100%;

  /* SVG als Data-URL (weiß als Flächenfarbe) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath d='M0,64 C240,160 480,0 720,64 C960,128 1200,64 1440,112 L1440,160 L0,160 Z' fill='%23f6f5ee'/%3E%3C/svg%3E");
}

@media (max-width: 768px){
  .hero-copy{ padding: 0 24px; }
}
.hero-lead{
  max-width: 760px;
  margin: 0 auto;
}
.hero-media{
  margin: 26px auto 0;
  width: min(620px, 120vw);

}
.hero-media{
  margin: 26px auto 0;
  width: min(620px, 120vw);
}
.down-indicator{
  display:flex;
  align-items:center;
  justify-content:center;
  margin: 16px 0 10px;
  opacity: .9;
}
.down-indicator svg{
  width: 28px;
  height: 28px;
  fill: var(--color-highlight);
  animation: bob 1.4s ease-in-out infinite;
}
@keyframes bob{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(6px); }
}

/* Benefits Card stack */
.panel{
  background: rgba(255,255,255,.65);
  border: 1px solid rgba(111,105,94,.18);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 34px 26px;
}
.benefits{
  background: var(--color-bg-primary);
}
.benefits .container{
  width: min(860px, calc(100% - 48px));
}
.benefit-card{
  display:flex;
  gap: 16px;
  align-items: flex-start;
  padding: 22px 22px;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow-soft);
  border: 1px solid rgba(111,105,94,.12);
  margin: 18px 0;
  text-align:left;
}
.benefit-icon{
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: rgba(180,107,81,.12);
  display:grid;
  place-items:center;
  margin-top: 2px;
}
.benefit-icon svg{
  width: 22px;
  height: 22px;
  fill: var(--color-cta);
}
.benefit-title{
  font-family: var(--font-headline);
  margin: 0 0 4px;
  font-size: 18px;
  color: var(--color-highlight);
}
.benefit-desc{
  margin: 0;
  font-size: 16px;
  opacity: .95;
}
.center{
  text-align:center;
}

/* Form section */
.signup{
  background: #ececec;
  overflow:hidden;
}
.form-wrap{
  width: min(640px, 100%);
  margin: 22px auto 0;
}
form{
  display:grid;
  gap: 14px;
  margin-top: 18px;
}
.field{
  display:grid;
  gap: 6px;
  text-align:left;
}
label{
  font-size: 14px;
  font-weight: 700;
  color: var(--color-highlight);
}

.form-actions{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 6px;
}
.success-hint{
  display:none;
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(116,112,78,.12);
  border: 1px solid rgba(116,112,78,.25);
  color: var(--color-highlight);
  font-size: 14px;
}

/* About section */
.about{
  background: #ffffff;
  overflow:hidden;
}
.about-card{
  border-radius: var(--radius);
  border: 1px solid rgba(111,105,94,.16);
  box-shadow: var(--shadow);
  background: #fff;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 0;
  max-width: 860px;
  margin: 0 auto;
}
.about-image{
  position: relative;
  min-height: 400px;
  background: #fff;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 20px;
}
.about-image img{
  width: 100%;
  object-fit: contain;
  display: block;
}
.about-content{
  padding: 40px 45px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.about-content h2{
  margin-top: 0;
  margin-bottom: 20px;
}
.about-content p:last-of-type{
  margin-bottom: 0;
}
@media (max-width: 900px){
  .about-card{
    grid-template-columns: 1fr;
    gap: 0;
  }
  .about-image{
    min-height: 300px;
  }
  .about-content{
    padding: 30px 28px;
  }
}

/* Utility */
.spacer-12{ height: 12px; }
.spacer-20{ height: 20px; }

/* Anchor offset for fixed headers (if any later) */
.anchor{
  position: relative;
  top: -14px;
}
