/* Hauptmenü mit Aufklappmenüs – gemeinsam für alle Seiten */
header .bar{position:relative}
.snav{display:flex;align-items:center;gap:32px}
.snav-item{position:static}
.snav-top{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;padding:8px 0;color:var(--paper);position:relative;background:none;border:0;font-family:inherit;cursor:pointer;opacity:1;margin:0}
.snav-top::after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.snav-top:hover::after,.snav-item.open .snav-top::after,.snav-top.cur::after{transform:scaleX(1)}
.snav-top .chev{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s;opacity:.75}
.snav .snav-cta{border:1px solid var(--gold);background:var(--gold);color:var(--ink);border-radius:30px;padding:10px 22px;font-size:14px;font-weight:600;transition:background .25s,border-color .25s;display:inline-block;margin:0;opacity:1}
.snav .snav-cta:hover{background:var(--gold-2);border-color:var(--gold-2)}

/* Aufklappfläche (Desktop) */
.snav-drop{position:absolute;top:100%;left:50%;width:min(860px,calc(100vw - 48px));transform:translate(-50%,10px);padding-top:14px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,transform .28s cubic-bezier(.2,.7,.2,1),visibility 0s linear .28s;z-index:5}
.snav-item.open .snav-drop{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition:opacity .28s ease,transform .28s cubic-bezier(.2,.7,.2,1),visibility 0s}
.snav-item.open .snav-top .chev{transform:translateY(1px) rotate(-135deg)}
@media (hover:hover) and (min-width:901px){
  .snav-item:hover .snav-drop,.snav-item:focus-within .snav-drop{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition:opacity .28s ease,transform .28s cubic-bezier(.2,.7,.2,1),visibility 0s}
  .snav-item:hover .snav-top .chev{transform:translateY(1px) rotate(-135deg)}
  .snav-item:hover .snav-top::after{transform:scaleX(1)}
}
.snav-panel{background:rgba(15,13,11,.97);border:1px solid rgba(245,241,234,.12);border-radius:14px;padding:22px 22px 18px;box-shadow:0 40px 80px -30px rgba(0,0,0,.75);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.snav-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 6px 14px;margin-bottom:10px;border-bottom:1px solid rgba(245,241,234,.1)}
.snav-head span{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600}
.snav-head a,.snav-all{font-size:13px;color:rgba(245,241,234,.7);transition:color .2s}
.snav-head a:hover,.snav-all:hover{color:var(--gold-2)}
.snav-all{display:none}

/* Leistungen: zwei Spalten mit Schild-Vorschau */
.snav-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
.snav-link{display:flex;align-items:center;gap:14px;padding:9px 8px;border-radius:9px;transition:background .2s}
.snav-link img{width:46px;height:46px;border-radius:7px;object-fit:cover;flex:0 0 auto;background:#221d18}
.snav-link span{display:flex;flex-direction:column;gap:3px;min-width:0}
.snav-link em{font-style:normal;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);font-weight:600}
.snav-link b{font-weight:500;font-size:14.5px;color:var(--paper);line-height:1.3}
.snav-link:hover,.snav-link:focus-visible,.snav-link.cur{background:rgba(199,154,91,.1)}
.snav-link:hover b,.snav-link.cur b{color:var(--gold-2)}

/* Projekte: Karten mit Bild */
.snav-proj{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.snav-pc{display:block;border-radius:10px;padding:6px;transition:background .2s}
.snav-pc .im{display:block;aspect-ratio:16/10;border-radius:7px;overflow:hidden;background:#221d18;margin-bottom:10px}
.snav-pc img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.snav-pc em{display:block;font-style:normal;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);font-weight:600;margin:0 2px 3px}
.snav-pc b{display:block;font-weight:500;font-size:14.5px;color:var(--paper);margin:0 2px 2px}
.snav-pc:hover,.snav-pc:focus-visible,.snav-pc.cur{background:rgba(199,154,91,.1)}
.snav-pc:hover img{transform:scale(1.06)}
.snav-pc:hover b,.snav-pc.cur b{color:var(--gold-2)}

/* Burger */
.sburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:0;cursor:pointer;padding:10px;position:relative;z-index:3;margin-right:-10px}
.sburger span{display:block;width:24px;height:2px;background:var(--paper);transition:transform .3s,opacity .3s}
.sburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.sburger.open span:nth-child(2){opacity:0}
.sburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:1100px) and (min-width:901px){.snav{gap:24px}}

/* Handy und Tablet hochkant: Vollbild-Menü mit Akkordeon */
@media(max-width:900px){
  header .logo{position:relative;z-index:3}
  .sburger{display:flex}
  .snav{position:fixed;inset:0;z-index:2;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;background:rgba(13,11,9,.985);padding:calc(var(--hd,64px) + 34px) 7vw 48px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;transform:translateX(100%);visibility:hidden;transition:transform .42s cubic-bezier(.2,.7,.2,1),visibility 0s linear .42s}
  .snav.open{transform:none;visibility:visible;transition:transform .42s cubic-bezier(.2,.7,.2,1),visibility 0s}
  .snav-item{border-bottom:1px solid rgba(245,241,234,.12)}
  .snav>.snav-top{border-bottom:1px solid rgba(245,241,234,.12)}
  .snav-top{width:100%;justify-content:space-between;font-family:'Fraunces',Georgia,serif;font-size:26px;font-weight:500;padding:16px 0;text-align:left}
  .snav-top::after{display:none}
  .snav-top .chev{width:9px;height:9px;border-width:2px;color:var(--gold);opacity:1}
  .snav-drop{position:static;width:auto;transform:none;padding:0;opacity:1;visibility:visible;pointer-events:auto;display:none;transition:none}
  .snav-item.open .snav-drop{display:block;transform:none}
  .snav-panel{background:none;border:0;border-radius:0;box-shadow:none;padding:0 0 18px;-webkit-backdrop-filter:none;backdrop-filter:none}
  .snav-head{display:none}
  .snav-grid{grid-template-columns:1fr;gap:2px}
  .snav-link{padding:9px 6px}
  .snav-link img{width:42px;height:42px}
  .snav-proj{grid-template-columns:1fr;gap:2px}
  .snav-pc{display:flex;align-items:center;gap:14px;padding:8px 6px}
  .snav-pc .im{width:74px;flex:0 0 auto;margin:0}
  .snav-pc em,.snav-pc b{margin:0}
  .snav-all{display:inline-block;margin:10px 6px 0;color:var(--gold-2)}
  .snav .snav-cta{align-self:flex-start;margin-top:30px;padding:14px 28px;font-size:15px}
  html.snav-lock,html.snav-lock body{overflow:hidden}
  html.snav-lock header{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:transparent!important;border-bottom-color:transparent!important}
}
@media(max-width:900px) and (min-width:600px){
  .snav-grid,.snav-proj{grid-template-columns:1fr 1fr;gap:4px 16px}
}
@media(prefers-reduced-motion:reduce){.snav,.snav-drop,.snav-pc img{transition:none!important}}

/* Originallogo (Wortmarke hell, 2024) statt Textlogo */
.logo .logo-img{display:block;height:40px;width:auto}
#loader .logo .logo-img{height:56px}
footer .logo .logo-img{height:30px}
@media (max-width:600px){.logo .logo-img{height:32px}}
