  @font-face{
    font-family:'Fraunces';
    font-style:normal;
    font-weight:500;
    font-display:swap;
    src:url('fonts/fraunces-variable-latin.woff2') format('woff2');
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  @font-face{
    font-family:'Fraunces';
    font-style:normal;
    font-weight:600;
    font-display:swap;
    src:url('fonts/fraunces-variable-latin.woff2') format('woff2');
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  @font-face{
    font-family:'Inter';
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:url('fonts/inter-variable-latin.woff2') format('woff2');
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  @font-face{
    font-family:'Inter';
    font-style:normal;
    font-weight:500;
    font-display:swap;
    src:url('fonts/inter-variable-latin.woff2') format('woff2');
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  @font-face{
    font-family:'Inter';
    font-style:normal;
    font-weight:600;
    font-display:swap;
    src:url('fonts/inter-variable-latin.woff2') format('woff2');
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }

  :root{
    --cream:#FBF6EF;
    --sand:#EFE1CE;
    --terracotta:#C1704F;
    --terracotta-dark:#A85C3E;
    --sage:#8C9A7B;
    --sage-dark:#71805F;
    --ink:#3A342C;
    --ink-soft:#6B6155;
    --white:#FFFFFF;
    --radius-lg:24px;
    --radius-md:16px;
    --shadow:0 10px 30px rgba(58,52,44,0.08);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Inter', sans-serif;
    color:var(--ink);
    background:var(--cream);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Fraunces', serif;
    font-weight:600;
    line-height:1.2;
    margin:0 0 .6em;
    color:var(--ink);
  }
  p{margin:0 0 1em;}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  section{padding:96px 24px;}
  .container{max-width:1080px;margin:0 auto;}
  .eyebrow{
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.78rem;
    font-weight:600;
    color:var(--terracotta-dark);
    margin-bottom:.8em;
    display:inline-block;
  }

  /* Header */
  header{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(251,246,239,0.85);
    backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(58,52,44,0.06);
  }
  .nav{
    max-width:1080px;
    margin:0 auto;
    padding:18px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .logo{
    font-family:'Fraunces', serif;
    font-weight:600;
    font-size:1.25rem;
    letter-spacing:.01em;
  }
  .logo span{color:var(--terracotta);}
  .nav-links{
    display:flex;
    align-items:center;
    gap:32px;
    list-style:none;
    margin:0;
    padding:0;
  }
  .nav-links a{
    text-decoration:none;
    font-size:.95rem;
    font-weight:500;
    color:var(--ink-soft);
    transition:color .2s ease;
  }
  .nav-links a:hover{color:var(--terracotta-dark);}
  .nav-cta{
    display:inline-block;
    background:var(--terracotta);
    color:#fff !important;
    padding:10px 20px;
    border-radius:999px;
    font-size:.9rem;
    font-weight:600;
    text-decoration:none;
    transition:background .2s ease, transform .2s ease;
  }
  .nav-cta:hover{background:var(--terracotta-dark);transform:translateY(-1px);}
  .menu-toggle{display:none;background:none;border:none;font-size:1.6rem;color:var(--ink);cursor:pointer;}

  /* Hero */
  .hero{
    padding:80px 24px 60px;
  }
  .hero-grid{
    max-width:1080px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:56px;
    align-items:center;
  }
  .hero h1{
    font-size:clamp(2.2rem, 4vw, 3.2rem);
    margin-bottom:.4em;
  }
  .hero p.lead{
    font-size:1.15rem;
    color:var(--ink-soft);
    max-width:46ch;
  }
  .hero-actions{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    margin-top:32px;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:15px 28px;
    border-radius:999px;
    font-weight:600;
    text-decoration:none;
    font-size:1rem;
    cursor:pointer;
    border:none;
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  }
  .btn-primary{
    background:var(--terracotta);
    color:#fff;
    box-shadow:0 8px 20px rgba(193,112,79,0.3);
  }
  .btn-primary:hover{background:var(--terracotta-dark);transform:translateY(-2px);}
  .btn-secondary{
    background:transparent;
    color:var(--ink);
    border:1.5px solid rgba(58,52,44,0.2);
  }
  .btn-secondary:hover{border-color:var(--sage-dark);color:var(--sage-dark);}

  .hero-visual{
    aspect-ratio:4/5;
    border-radius:var(--radius-lg);
    background:linear-gradient(155deg, var(--sand) 0%, #E3CBAE 55%, var(--terracotta) 140%);
    position:relative;
    overflow:hidden;
    box-shadow:var(--shadow);
  }
  .hero-visual::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 30% 20%, rgba(255,255,255,0.35), transparent 45%),
      radial-gradient(circle at 75% 80%, rgba(140,154,123,0.35), transparent 50%);
  }
  .hero-visual .icon-wrap{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .hero-visual .icon-wrap svg{width:38%;height:38%;opacity:.9;}
  .hero-visual img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .hero-visual figcaption{
    position:absolute;
    bottom:20px;
    left:20px;
    right:20px;
    background:rgba(255,255,255,0.75);
    backdrop-filter:blur(6px);
    border-radius:var(--radius-md);
    padding:12px 16px;
    font-size:.85rem;
    color:var(--ink-soft);
  }

  /* Section headers */
  .section-head{
    max-width:640px;
    margin:0 auto 48px;
    text-align:center;
  }
  .section-head h2{font-size:clamp(1.7rem, 3vw, 2.3rem);}
  .section-head p{color:var(--ink-soft);}

  /* About */
  .about{
    background:var(--white);
    border-radius:var(--radius-lg);
    margin:0 24px;
    max-width:1080px;
    margin-inline:auto;
    box-shadow:var(--shadow);
  }
  .about-grid{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:48px;
    align-items:center;
  }
  .about-portrait{
    aspect-ratio:1/1;
    border-radius:var(--radius-md);
    background:linear-gradient(160deg, var(--sage) 0%, var(--sage-dark) 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    overflow:hidden;
  }
  .about-portrait svg{width:42%;height:42%;opacity:.95;}
  .about-portrait img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 20%;
  }
  .about blockquote{
    font-family:'Fraunces', serif;
    font-size:1.25rem;
    font-style:italic;
    color:var(--ink);
    border-left:3px solid var(--terracotta);
    padding-left:18px;
    margin:24px 0 0;
  }
  .about .signature{
    margin-top:18px;
    font-weight:600;
    color:var(--terracotta-dark);
  }
  .advisor-link{
    display:inline-block;
    margin-top:6px;
    font-size:.9rem;
    font-weight:500;
    color:var(--sage-dark);
    text-decoration:none;
    border-bottom:1px solid rgba(113,128,95,0.4);
    transition:color .2s ease, border-color .2s ease;
  }
  .advisor-link:hover{
    color:var(--terracotta-dark);
    border-color:var(--terracotta-dark);
  }

  /* Beratung / Ablauf */
  .steps{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
  }
  .step-card{
    background:var(--white);
    border-radius:var(--radius-md);
    padding:32px 28px;
    box-shadow:var(--shadow);
    position:relative;
  }
  .step-num{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border-radius:50%;
    background:var(--sand);
    color:var(--terracotta-dark);
    font-weight:700;
    font-family:'Fraunces', serif;
    margin-bottom:16px;
  }
  .step-card h3{font-size:1.15rem;}
  .step-card p{color:var(--ink-soft);font-size:.95rem;margin-bottom:0;}

  .note-card{
    margin-top:40px;
    background:var(--sand);
    border-radius:var(--radius-md);
    padding:28px 32px;
    display:flex;
    gap:18px;
    align-items:flex-start;
  }
  .note-card svg{flex-shrink:0;width:28px;height:28px;color:var(--terracotta-dark);margin-top:2px;}
  .note-card p{margin:0;color:var(--ink);}

  /* Termine */
  .event-card{
    max-width:720px;
    margin:0 auto;
    background:var(--white);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow);
    padding:32px;
    display:flex;
    align-items:center;
    gap:28px;
    flex-wrap:wrap;
  }
  .event-date{
    flex-shrink:0;
    width:76px;
    height:76px;
    border-radius:16px;
    background:var(--terracotta);
    color:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    line-height:1.1;
  }
  .event-date .event-day{font-family:'Fraunces', serif;font-size:1.7rem;font-weight:600;}
  .event-date .event-month{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;}
  .event-details{flex:1;min-width:200px;}
  .event-details h3{font-size:1.15rem;margin-bottom:.3em;}
  .event-details p{color:var(--ink-soft);margin:0;font-size:.95rem;}
  @media (max-width:520px){
    .event-card{flex-direction:column;text-align:center;padding:28px 24px;}
    .event-card .btn{width:100%;justify-content:center;}
  }

  /* Vorteile */
  .benefits-section{background:var(--white);}
  .benefits-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:24px;
  }
  .benefit-card{
    display:flex;
    gap:18px;
    padding:26px;
    border-radius:var(--radius-md);
    background:var(--cream);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .benefit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
  .benefit-icon{
    flex-shrink:0;
    width:52px;
    height:52px;
    border-radius:14px;
    background:var(--terracotta);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
  }
  .benefit-icon svg{width:26px;height:26px;}
  .benefit-card h3{font-size:1.05rem;margin-bottom:.3em;}
  .benefit-card p{font-size:.92rem;color:var(--ink-soft);margin:0;}

  /* Contact */
  .contact-section{
    background:linear-gradient(180deg, var(--cream), var(--sand));
  }
  .contact-wrap{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:48px;
    background:var(--white);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow);
    overflow:hidden;
  }
  .contact-info{
    background:linear-gradient(165deg, var(--sage-dark), var(--sage));
    color:#fff;
    padding:48px 40px;
  }
  .contact-info h2{color:#fff;}
  .contact-info p{color:rgba(255,255,255,0.85);}
  .contact-info ul{list-style:none;padding:0;margin:28px 0 0;}
  .contact-info li{
    display:flex;
    gap:12px;
    align-items:center;
    margin-bottom:16px;
    font-size:.95rem;
  }
  .contact-info li svg{width:20px;height:20px;flex-shrink:0;}

  .contact-form{padding:48px 40px;}
  .form-row{margin-bottom:20px;}
  label{
    display:block;
    font-size:.9rem;
    font-weight:600;
    margin-bottom:6px;
    color:var(--ink);
  }
  input, textarea{
    width:100%;
    padding:13px 16px;
    border-radius:12px;
    border:1.5px solid #E3D9CB;
    background:var(--cream);
    font-family:inherit;
    font-size:.98rem;
    color:var(--ink);
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  input:focus, textarea:focus{
    outline:none;
    border-color:var(--terracotta);
    box-shadow:0 0 0 3px rgba(193,112,79,0.15);
  }
  textarea{resize:vertical;min-height:120px;}
  .form-hint{
    font-size:.85rem;
    color:var(--ink-soft);
    margin-top:14px;
    text-align:center;
  }
  .form-success{
    display:none;
    background:linear-gradient(155deg, var(--sand), #E3CBAE);
    border:1.5px solid var(--terracotta);
    border-radius:var(--radius-md);
    padding:36px 32px;
    color:var(--ink);
    text-align:center;
    box-shadow:var(--shadow);
  }
  .form-success.visible{
    display:flex;
    flex-direction:column;
    align-items:center;
    animation:pop-in .4s ease;
  }
  .form-success .success-icon{
    width:56px;
    height:56px;
    border-radius:50%;
    background:var(--terracotta);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:16px;
  }
  .form-success .success-icon svg{width:28px;height:28px;color:#fff;}
  .form-success .success-title{
    font-family:'Fraunces', serif;
    font-size:1.3rem;
    font-weight:600;
    margin-bottom:8px;
    color:var(--terracotta-dark);
  }
  .form-success .success-text{
    color:var(--ink-soft);
    font-size:.98rem;
    margin:0;
  }
  @keyframes pop-in{
    from{opacity:0;transform:scale(.94) translateY(8px);}
    to{opacity:1;transform:scale(1) translateY(0);}
  }
  .form-error{
    display:none;
    background:#F3D9CE;
    border-radius:12px;
    padding:16px 20px;
    color:var(--terracotta-dark);
    font-weight:500;
    margin-bottom:20px;
  }
  .form-error.visible{display:block;}
  .btn:disabled{opacity:.6;cursor:not-allowed;}

  /* Footer */
  footer{
    background:var(--ink);
    color:#EDE7DE;
    padding:56px 24px 32px;
  }
  .footer-grid{
    max-width:1080px;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:24px;
    border-bottom:1px solid rgba(255,255,255,0.12);
    padding-bottom:32px;
  }
  footer .logo{color:#fff;}
  .footer-address{font-size:.92rem;color:#C9C1B4;line-height:1.8;}
  .footer-legal{
    max-width:1080px;
    margin:24px auto 0;
    font-size:.8rem;
    color:#9C9384;
    line-height:1.7;
  }

  /* Reveal animation */
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.visible{opacity:1;transform:translateY(0);}

  /* Responsive */
  @media (max-width:860px){
    .hero-grid{grid-template-columns:1fr;}
    .hero-visual{order:-1;max-width:420px;margin:0 auto;}
    .about-grid{grid-template-columns:1fr;}
    .about-portrait{max-width:280px;margin:0 auto;}
    .steps{grid-template-columns:1fr;}
    .benefits-grid{grid-template-columns:1fr;}
    .contact-wrap{grid-template-columns:1fr;}
    .nav-links{
      position:fixed;
      top:68px;
      left:0;
      right:0;
      background:var(--cream);
      flex-direction:column;
      padding:24px;
      gap:18px;
      box-shadow:var(--shadow);
      transform:translateY(-130%);
      transition:transform .3s ease;
    }
    .nav-links.open{transform:translateY(0);}
    .menu-toggle{display:block;}
  }
  @media (max-width:480px){
    section{padding:64px 18px;}
    .contact-info, .contact-form{padding:36px 24px;}
  }

  /* Legal pages */
  .legal-hero{padding:64px 24px 24px;}
  .legal-hero .container{max-width:760px;}
  .legal-content{
    max-width:760px;
    margin:0 auto;
    padding:0 24px 96px;
  }
  .legal-content h2{font-size:1.4rem;margin-top:2.2em;}
  .legal-content h2:first-child{margin-top:0;}
  .legal-content p, .legal-content li{color:var(--ink-soft);}
  .legal-content ul{padding-left:1.2em;}
  .legal-content a{color:var(--terracotta-dark);text-decoration:underline;}
  .back-link{
    display:inline-block;
    margin-bottom:24px;
    font-size:.9rem;
    font-weight:500;
    color:var(--sage-dark);
    text-decoration:none;
    border-bottom:1px solid rgba(113,128,95,0.4);
  }
  .back-link:hover{color:var(--terracotta-dark);border-color:var(--terracotta-dark);}
  .footer-legal a{color:#C9C1B4;text-decoration:underline;}
  .footer-legal a:hover{color:#fff;}
