
  *{box-sizing:border-box;}
  body{margin:0;background:#FBF4EC;font-family:'Inter',sans-serif;color:#2E2820;overflow-x:hidden;}
  ::selection{background:#B98D4B;color:#FBF4EC;}
  a{text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  img{max-width:100%;display:block;}
  .serif{font-family:'Cormorant Garamond',serif;}

  /* HEADER */
  header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 18px;background:rgba(251,244,236,0.95);backdrop-filter:blur(8px);border-bottom:1px solid rgba(185,141,75,0.25);}
  header .logo img{height:88px;width:auto;object-fit:contain;}
  header nav{display:flex;gap:22px;align-items:center;}
  .nav-flat{display:inline-flex;}
  .burger{display:none;width:40px;height:40px;border:1px solid rgba(185,141,75,0.4);border-radius:10px;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;flex:none;}
  .burger span{display:block;width:20px;height:2px;background:#2E2820;border-radius:2px;transition:transform .28s,opacity .2s;}
  .has-drop{position:relative;}
  .has-drop>a{display:inline-flex;align-items:center;gap:5px;cursor:pointer;}
  .has-drop>a::after{content:"";width:5px;height:5px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg);margin-top:-2px;transition:transform .25s;}
  .has-drop:hover>a::after,.has-drop.open>a::after{transform:rotate(225deg);margin-top:2px;}
  .drop{position:absolute;top:100%;right:0;transform:translateY(8px);min-width:190px;background:#FBF4EC;border:1px solid rgba(185,141,75,0.3);border-radius:12px;padding:8px;box-shadow:0 14px 40px rgba(46,40,32,0.14);opacity:0;visibility:hidden;transition:opacity .22s,transform .22s;display:flex;flex-direction:column;gap:2px;}
  .has-drop:hover .drop{opacity:1;visibility:visible;transform:translateY(6px);}
  .drop a{display:block;padding:10px 14px;border-radius:8px;font-size:12px;letter-spacing:0.07em;text-transform:uppercase;color:#2E2820;transition:background .18s,color .18s;}
  .drop a:hover{background:rgba(185,141,75,0.12);color:#7A5A24;}
  header nav a{font-size:13px;letter-spacing:0.09em;text-transform:uppercase;color:#2E2820;}
  .book-btn{border:1px solid #B98D4B;border-radius:999px;padding:11px 20px;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:#7A5A24;white-space:nowrap;}
  .header-right{display:flex;align-items:center;gap:14px;}
  .insta-btn{width:34px;height:34px;border-radius:999px;border:1px solid rgba(46,40,32,0.25);display:none;align-items:center;justify-content:center;color:#2E2820;flex:none;}
  .eyebrow{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:#9c7a3f;margin:0 0 12px;}
  .back-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:#9c7a3f;}

  /* INTRO */
  .intro{padding:36px 20px 48px;}
  .back-wrap{padding:0 0 18px;}
  .portrait-frame{position:relative;margin-bottom:28px;}
  .portrait-frame::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid rgba(185,141,75,0.45);border-radius:8px;pointer-events:none;}
  .portrait-slot{width:100%;aspect-ratio:4/5;border-radius:8px;position:relative;overflow:hidden;border:1px solid rgba(185,141,75,0.3);}
  .portrait-slot img{width:100%;height:100%;object-fit:cover;}
  .intro h1{font-weight:600;font-size:34px;margin:0 0 18px;color:#241f19;line-height:1.15;letter-spacing:0.01em;}
  .brand-rule{display:flex;align-items:center;gap:14px;margin:0 0 20px;}
  .brand-rule::before,.brand-rule::after{content:"";height:1px;flex:0 0 44px;background:linear-gradient(90deg,transparent,#B98D4B);}
  .brand-rule::after{background:linear-gradient(90deg,#B98D4B,transparent);}
  .brand-rule .diamond{width:6px;height:6px;background:#B98D4B;transform:rotate(45deg);flex:none;}
  .intro p{font-size:14.5px;line-height:1.8;color:#5c5348;margin:0 0 16px;}
  .signature{font-style:italic;font-size:22px;color:#8a6a34;margin-top:8px;}

  /* DIFFERENTIATORS */
  .diff{background:#F6EBDC;padding:44px 20px;}
  .diff h2{text-align:center;font-weight:600;font-size:26px;margin:0 0 36px;color:#241f19;line-height:1.25;}
  .diff-grid{display:flex;flex-direction:column;gap:20px;}
  .diff-card{background:#FFFDF9;border:1px solid rgba(185,141,75,0.28);border-radius:10px;padding:22px 20px;display:flex;gap:16px;align-items:flex-start;}
  .diff-card svg{flex:none;color:#B98D4B;margin-top:2px;}
  .diff-card b{display:block;font-size:14.5px;color:#241f19;margin-bottom:6px;}
  .diff-card span{font-size:13px;line-height:1.6;color:#5c5348;}

  /* CERTIFICATION */
  .cert{background:radial-gradient(130% 160% at 50% -20%, #2e2720 0%, #241f19 60%);padding:56px 20px;text-align:center;}
  .cert h2{font-weight:600;font-size:28px;margin:0 0 16px;color:#FBF4EC;line-height:1.25;}
  .cert-badge{display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(185,141,75,0.6);background:rgba(185,141,75,0.08);border-radius:999px;padding:14px 26px;margin-bottom:24px;}
  .cert-badge b{font-size:13px;letter-spacing:0.1em;text-transform:uppercase;color:#d9b06d;}
  .cert p{font-size:14px;line-height:1.8;color:rgba(251,244,236,0.65);max-width:620px;margin:0 auto;}

  /* VISIT */
  .visit{padding:0 20px 48px;}
  .visit-card{border-radius:10px;overflow:hidden;border:1px solid rgba(185,141,75,0.28);}
  .visit-card img{width:100%;aspect-ratio:4/3;object-fit:cover;}
  .visit-info{background:#FFFDF9;padding:26px 22px;text-align:center;}
  .visit-info h2{font-weight:600;font-size:24px;margin:0 0 10px;color:#241f19;}
  .visit-info address{font-style:normal;font-size:14px;line-height:1.7;color:#5c5348;}

  /* CTA */
  .cta{background:#241f19;padding:56px 22px;text-align:center;}
  .cta h2{font-weight:600;font-size:29px;color:#FBF4EC;margin:0 0 12px;line-height:1.2;}
  .cta p{font-size:14px;color:rgba(251,244,236,0.65);margin:0 0 26px;}
  .cta-btn{display:inline-flex;align-items:center;gap:8px;background:#B98D4B;color:#241f19;font-size:13px;letter-spacing:0.07em;text-transform:uppercase;padding:16px 30px;border-radius:999px;font-weight:600;}

  footer{background:#1c1811;padding:44px 20px 26px;}
  .foot-brand{font-size:24px;color:#F1E4D2;letter-spacing:0.1em;text-transform:uppercase;text-align:center;margin-bottom:30px;}
  .foot-cols{display:flex;flex-direction:column;gap:24px;text-align:center;margin-bottom:32px;}
  .foot-cols b{display:block;font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:#B98D4B;margin-bottom:8px;font-weight:600;}
  .foot-cols span{font-size:13px;line-height:1.75;color:rgba(251,244,236,0.6);}
  .foot-cols a{color:rgba(251,244,236,0.75);}
  .foot-cols a:hover{color:#B98D4B;}
  .foot-legal{border-top:1px solid rgba(251,244,236,0.12);padding-top:18px;display:flex;flex-direction:column;gap:6px;align-items:center;font-size:11px;color:rgba(251,244,236,0.35);}
  .foot-legal a{color:rgba(251,244,236,0.45);}
  .foot-legal a:hover{color:#B98D4B;}
  @media (max-width:899px){footer{padding-bottom:110px;}}

  /* ================= DESKTOP ================= */
  @media (min-width:900px){
    .visit{max-width:1280px;margin:0 auto;padding:0 56px 90px;}
    .visit > h2{font-size:32px;}
    .visit-card{display:grid;grid-template-columns:1.3fr 1fr;align-items:stretch;}
    .visit-card img{aspect-ratio:auto;height:100%;}
    .visit-info{display:flex;flex-direction:column;justify-content:center;padding:48px;text-align:left;}
    .visit h2{font-size:32px;}
    .visit-info address{font-size:15px;}

    header{padding:6px 56px;}
    header .logo img{height:130px;}
    header{justify-content:space-between;}
    header nav{position:absolute;left:50%;transform:translateX(-50%);gap:40px;margin:0;}
    .nav-flat{display:inline-flex;}
    header nav .has-drop{display:none;}
    .has-drop{display:none;}
    .header-right{gap:14px;}
    .insta-btn{display:flex;}

    .intro{max-width:1280px;margin:0 auto;padding:60px 56px 90px;display:grid;grid-template-columns:0.8fr 1.2fr;gap:72px;align-items:center;}
    .back-wrap{grid-column:1 / -1;padding:0;}
    .portrait-slot{margin-bottom:0;}
    .intro h1{font-size:46px;}
    .intro p{font-size:15.5px;max-width:560px;}

    .diff{padding:90px 56px;}
    .diff .inner{max-width:1280px;margin:0 auto;}
    .diff h2{font-size:34px;}
    .diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}

    .cert{padding:96px 56px;}
    .cert h2{font-size:36px;}

    .cta{padding:90px 56px;}
    .cta h2{font-size:38px;}

    footer{padding:64px 56px 30px;}
    .foot-inner{max-width:1280px;margin:0 auto;}
    .foot-brand{text-align:left;font-size:28px;}
    .foot-cols{flex-direction:row;gap:90px;text-align:left;}
    .foot-legal{flex-direction:row;justify-content:space-between;}
  }

  /* ===== PREMIUM POLISH ===== */
  html{scroll-behavior:smooth;}
  a{transition:color .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .35s ease,transform .35s ease;}
  header nav a{position:relative;padding-bottom:4px;}
  header nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:#B98D4B;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.22,1,.36,1);}
  header nav a:hover::after{transform:scaleX(1);transform-origin:left;}
  .book-btn:hover{background:#B98D4B;color:#FBF4EC;border-color:#B98D4B;}
  .insta-btn:hover{border-color:#B98D4B;color:#8a6a34;}
  .cta-btn:hover{background:#c39a55;transform:translateY(-2px);box-shadow:0 14px 34px -12px rgba(185,141,75,0.55);}
  header{transition:box-shadow .4s ease;}
  header.scrolled{box-shadow:0 10px 34px -20px rgba(36,31,25,0.3);}
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);}
  .reveal.in{opacity:1;transform:translateY(0);}
  .reveal.d2{transition-delay:.12s;}
  .reveal.d3{transition-delay:.24s;}
  .reveal.d4{transition-delay:.36s;}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.reveal{opacity:1;transform:none;transition:none;}}

  .diff-card{transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease,border-color .5s ease;}
  .diff-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -26px rgba(36,31,25,0.25);border-color:rgba(185,141,75,0.5);}

  /* STICKY MOBILE CTA */
  .sticky-cta{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;display:flex;align-items:center;justify-content:center;gap:8px;background:#B98D4B;color:#241f19;font-weight:600;font-size:13px;letter-spacing:0.07em;text-transform:uppercase;padding:17px;border-radius:999px;box-shadow:0 14px 36px -8px rgba(36,31,25,0.5);transform:translateY(120px);transition:transform .55s cubic-bezier(.22,1,.36,1);}
  .sticky-cta.show{transform:translateY(0);}
  @media (min-width:900px){.sticky-cta{display:none;}}
  @media (max-width:899px){
    .burger{display:flex;}
    header nav{position:fixed;top:0;right:0;height:100dvh;width:min(80vw,320px);flex-direction:column;align-items:stretch;gap:2px;background:#FBF4EC;padding:92px 22px 32px;box-shadow:-18px 0 50px rgba(46,40,32,0.18);transform:translateX(105%);transition:transform .32s cubic-bezier(.4,0,.2,1);z-index:80;}
    body.nav-open header nav{transform:translateX(0);}
    header nav>a{padding:13px 6px;font-size:15px;border-bottom:1px solid rgba(185,141,75,0.15);}
    .has-drop>a{padding:13px 6px;font-size:15px;justify-content:space-between;border-bottom:1px solid rgba(185,141,75,0.15);}
    .drop{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;background:transparent;padding:2px 0 6px 12px;min-width:0;max-height:0;overflow:hidden;transition:max-height .3s ease;}
    .has-drop.open .drop{max-height:220px;}
    .has-drop:hover .drop{transform:none;}
    .drop a{font-size:13px;padding:10px 12px;}
    body.nav-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
    body.nav-open .burger span:nth-child(2){opacity:0;}
    body.nav-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
    .nav-scrim{position:fixed;inset:0;background:rgba(46,40,32,0.18);opacity:0;visibility:hidden;transition:opacity .3s;z-index:75;}
    body.nav-open .nav-scrim{opacity:1;visibility:visible;}
  }
  /* ===== TEAM SLIDER ===== */
  .team{background:#F6EBDC;padding:52px 0 56px;overflow:hidden;}
  .team-head{text-align:center;padding:0 20px;margin-bottom:30px;}
  .team-head h2{font-weight:600;font-size:28px;margin:0;color:#241f19;line-height:1.15;}
  .team-head p{font-size:13px;color:#5c5348;max-width:520px;margin:12px auto 0;line-height:1.65;}
  .team-wrap{position:relative;max-width:1180px;margin:0 auto;padding:0 20px;}
  .team-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:14px 4px 26px;}
  .team-track::-webkit-scrollbar{display:none;}
  .team-card{flex:0 0 78%;max-width:320px;scroll-snap-align:center;background:#FFFDF9;border:1px solid rgba(185,141,75,0.28);border-radius:12px;overflow:hidden;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,border-color .4s ease;}
  .team-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 28px 55px -28px rgba(36,31,25,0.35);border-color:rgba(185,141,75,0.55);}
  .team-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(135deg,#F6EBDC 0%,#EFDFC8 45%,#E9D5B8 100%);display:flex;align-items:center;justify-content:center;}
  .team-photo::before{content:"";position:absolute;inset:10px;border:1px solid rgba(185,141,75,0.35);border-radius:7px;pointer-events:none;z-index:1;}
  .team-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .team-photo .ph-mono{font-family:'Cormorant Garamond',serif;font-size:38px;color:rgba(122,90,36,0.5);letter-spacing:0.12em;}
  .team-photo .ph-label{position:absolute;bottom:16px;font-size:9.5px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(122,90,36,0.55);}
  .team-info{padding:20px 20px 24px;text-align:center;}
  .team-info b{display:block;font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:600;color:#241f19;line-height:1.2;}
  .team-info small{display:block;font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:#9c7a3f;margin-top:6px;}
  .team-info span{display:block;font-size:12.5px;color:#5c5348;margin-top:10px;line-height:1.55;}
  .team-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:2px;}
  .team-arrow{width:42px;height:42px;border-radius:999px;border:1px solid rgba(185,141,75,0.45);background:#FFFDF9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s,border-color .3s,transform .3s;}
  .team-arrow:hover{background:#B98D4B;border-color:#B98D4B;}
  .team-arrow:hover svg path{stroke:#FBF4EC;}
  .team-arrow:focus-visible{outline:2px solid #B98D4B;outline-offset:2px;}
  .team-dots{display:flex;gap:8px;}
  .team-dots button{width:8px;height:8px;border-radius:999px;border:none;background:rgba(185,141,75,0.3);cursor:pointer;padding:0;transition:background .3s,transform .3s;}
  .team-dots button.active{background:#B98D4B;transform:scale(1.25);}
  .team-dots button:focus-visible{outline:2px solid #B98D4B;outline-offset:2px;}
  @media (min-width:900px){
    .team{padding:90px 0 90px;}
    .team-head h2{font-size:32px;}
    .team-head p{font-size:14px;}
    .team-wrap{padding:0 56px;}
    .team-track{gap:24px;padding:16px 8px 30px;}
    .team-card{flex:0 0 calc((100% - 48px)/3);max-width:none;}
  }
  @media (prefers-reduced-motion:reduce){
    .team-track{scroll-behavior:auto;}
    .team-card,.team-card:hover{transform:none;transition:none;}
  }

@media (max-width:899px){body.nav-open .sticky-cta{opacity:0;pointer-events:none;}}


/* ============================================================
   MOBILES MENÜ – ROBUSTER FIX (überschreibt alles Vorherige)
   ============================================================ */
@media (max-width:899px){
  /* Menü liegt garantiert ganz oben und ist klickbar */
  body.nav-open header nav{
    transform:translateX(0) !important;
    z-index:2147483000 !important;
    pointer-events:auto !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  header nav{
    pointer-events:auto !important;
  }
  /* Links im Menü sicher anklickbar */
  body.nav-open header nav a{
    position:relative !important;
    z-index:2147483001 !important;
    pointer-events:auto !important;
    display:block !important;
    width:100% !important;
  }
  /* Der Unterstrich-Effekt darf keine Klicks abfangen */
  header nav a::after{
    pointer-events:none !important;
  }
  /* Abdunkelung unter dem Menü */
  .nav-scrim{
    z-index:2147482000 !important;
  }
  /* WhatsApp-Button darf das Menü niemals überlagern */
  body.nav-open .sticky-cta{
    opacity:0 !important;
    pointer-events:none !important;
    visibility:hidden !important;
    z-index:1 !important;
  }
  /* Header selbst unter dem Menü halten */
  body.nav-open header{
    z-index:50 !important;
  }
  /* Kategorie-Leiste ist KEIN Slide-Menü */
  .cat-nav{
    position:static !important;
    transform:none !important;
    height:auto !important;
    width:auto !important;
    flex-direction:row !important;
    background:transparent !important;
    box-shadow:none !important;
    padding:20px 18px 6px !important;
    z-index:auto !important;
  }
}


/* ============================================================
   MOBILES MENÜ v2 – das Panel wird per JavaScript erzeugt.
   Das alte CSS-Slide-Menü wird hier vollständig abgeschaltet,
   damit es keine Konflikte gibt.
   ============================================================ */
@media (max-width:899px){
  /* Alte Navigation im Header komplett ausblenden (JS baut ein eigenes Panel) */
  header nav{
    display:none !important;
  }
  /* Alter Scrim wird nicht mehr gebraucht */
  .nav-scrim{
    display:none !important;
  }
  /* WhatsApp-Button bei offenem Menü ausblenden */
  body.nav-open .sticky-cta{
    opacity:0 !important;
    pointer-events:none !important;
    visibility:hidden !important;
  }
  /* Kategorie-Leiste ist KEIN Menü – normal darstellen */
  .cat-nav{
    position:static !important;
    transform:none !important;
    height:auto !important;
    width:auto !important;
    flex-direction:row !important;
    background:transparent !important;
    box-shadow:none !important;
    padding:20px 18px 6px !important;
    z-index:auto !important;
    display:flex !important;
  }
  /* Burger sichtbar halten */
  .burger{
    display:flex !important;
  }
}
