/* Shared navigation on the home, legal and property pages. */
@font-face{font-family:Inter;src:url('/immobilien/assets/inter-400.ttf') format('truetype');font-display:swap;font-style:normal;font-weight:400}
@font-face{font-family:Inter;src:url('/immobilien/assets/inter-700.ttf') format('truetype');font-display:swap;font-style:normal;font-weight:700}
.site-header.hoffmann-header,.site-footer.hoffmann-footer{font:400 16px/1.6 Inter,Arial,sans-serif;color:#fff;background:#0b646b;box-sizing:border-box}
.site-header.hoffmann-header *,.site-footer.hoffmann-footer *{box-sizing:border-box}
.site-header.hoffmann-header a,.site-footer.hoffmann-footer a{color:inherit;text-decoration:none}
.site-header.hoffmann-header .shell,.site-footer.hoffmann-footer .shell{width:min(1240px,calc(100% - 40px));margin-inline:auto}
.site-header.hoffmann-header{position:sticky;top:0;z-index:50}
.site-header.hoffmann-header .utility-bar{background:#414141}
.site-header.hoffmann-header .utility-inner{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}
.site-header.hoffmann-header .utility-inner p{margin:0;display:flex;align-items:center;gap:7px}
.site-header.hoffmann-header .utility-inner svg{width:14px;height:14px}
.site-header.hoffmann-header .utility-inner nav{display:flex;gap:22px}
.site-header.hoffmann-header .header-inner{display:flex;align-items:center;position:relative;height:100px;min-height:100px;gap:24px;flex-wrap:nowrap}
.site-header.hoffmann-header .brand{display:block;flex:0 0 185px;min-width:0;margin-right:auto}
.site-header.hoffmann-header .brand img{display:block;width:185px;height:80px;max-width:100%;object-fit:contain}
.site-header.hoffmann-header .desktop-nav{display:flex;align-items:center;gap:22px;white-space:nowrap;font-size:14px;font-weight:700}
.site-header.hoffmann-header .header-phone{display:flex;align-items:center;gap:9px;flex:0 0 auto;background:#fff;color:#0b646b;border-radius:30px;padding:12px 16px;font-size:14px;font-weight:700;white-space:nowrap}
.site-header.hoffmann-header .header-phone svg{width:18px;height:18px}
.site-header.hoffmann-header .mobile-nav{display:none;position:relative;flex:0 0 auto}
.site-header.hoffmann-header .mobile-nav summary{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid #fff9;border-radius:50%;list-style:none;cursor:pointer}
.site-header.hoffmann-header .mobile-nav summary::-webkit-details-marker{display:none}
.site-header.hoffmann-header .mobile-nav summary svg{width:25px;height:25px}
.site-header.hoffmann-header .mobile-nav>div{position:absolute;top:calc(100% + 12px);right:0;width:min(330px,calc(100vw - 40px));max-height:70vh;overflow:auto;background:#0b646b;border:1px solid #fff8;border-radius:8px;padding:10px;box-shadow:0 14px 28px #0003;z-index:60}
.site-header.hoffmann-header .mobile-nav:not([open])>div{display:none}
.site-header.hoffmann-header .mobile-nav[open]>div{display:flex;flex-direction:column;gap:0}
.site-header.hoffmann-header .mobile-nav a{display:block;min-height:44px;padding:10px 12px;white-space:normal;font-size:15px;font-weight:700}
.site-header.hoffmann-header a:hover,.site-header.hoffmann-header a[aria-current],.site-footer.hoffmann-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.site-header.hoffmann-header a:focus-visible,.site-header.hoffmann-header summary:focus-visible,.site-footer.hoffmann-footer a:focus-visible{outline:3px solid #fff;outline-offset:4px}
.site-footer.hoffmann-footer{margin-top:80px;padding:60px 0 20px}
.site-footer.hoffmann-footer .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.site-footer.hoffmann-footer .footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.site-footer.hoffmann-footer .brand img{display:block;width:185px;height:90px;object-fit:contain}
.site-footer.hoffmann-footer p{margin:0;max-width:350px}
.site-footer.hoffmann-footer h2{font:700 18px/1.4 Inter,Arial,sans-serif;letter-spacing:normal;margin:0 0 8px;color:#fff}
.site-footer.hoffmann-footer .ivd-badge{width:150px;height:auto}
.site-footer.hoffmann-footer a{overflow-wrap:anywhere}
.site-footer.hoffmann-footer a svg{width:18px;height:18px;margin-right:8px;vertical-align:middle}
.site-footer.hoffmann-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-top:40px;padding-top:20px;border-top:1px solid #fff5;font-size:13px}
.site-footer.hoffmann-footer .footer-bottom p{max-width:none}
.site-footer.hoffmann-footer .footer-bottom nav{display:flex;gap:20px}
#weg-verwaltung,#mietverwaltung,#vermittlung,#kontakt{scroll-margin-top:150px}
@media(max-width:1200px){.site-header.hoffmann-header .desktop-nav{display:none}.site-header.hoffmann-header .mobile-nav{display:block}}
@media(max-width:650px){.site-header.hoffmann-header .utility-inner p{display:none}.site-header.hoffmann-header .utility-inner{justify-content:flex-end}.site-header.hoffmann-header .header-inner{height:86px;min-height:86px;gap:12px}.site-header.hoffmann-header .brand{flex-basis:150px}.site-header.hoffmann-header .brand img{width:150px;height:70px}.site-header.hoffmann-header .header-phone{display:none}.site-footer.hoffmann-footer .footer-grid{grid-template-columns:1fr;gap:32px}.site-footer.hoffmann-footer{padding-top:40px}#weg-verwaltung,#mietverwaltung,#vermittlung,#kontakt{scroll-margin-top:130px}}

/* Freigegebene Logo-Plakette – zentral fuer alle Seiten. */
.site-header.hoffmann-header{
  border-bottom:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 30px rgba(0,50,54,.12);
}
.site-header.hoffmann-header .utility-bar{height:32px;min-height:32px;color:rgba(255,255,255,.88)}
.site-header.hoffmann-header .utility-inner{height:32px;min-height:32px}
.site-header.hoffmann-header .header-inner{isolation:isolate;height:100px;min-height:100px;gap:24px;padding:0}
.site-header.hoffmann-header .desktop-nav{display:flex;align-items:center;gap:22px;margin-left:auto;white-space:nowrap}
.site-header.hoffmann-header .desktop-nav a{
  position:relative;
  font-family:Inter,Arial,sans-serif;
  color:#fff;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:0;
  text-decoration:none!important;
}
.site-header.hoffmann-header .header-phone{
  width:154px;
  height:46px;
  margin:0;
  padding:0 16px;
  justify-content:flex-start;
  font-family:Inter,Arial,sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:1;
  letter-spacing:0;
}
.site-header.hoffmann-header .header-phone svg{width:18px;height:18px;flex:0 0 18px}
.site-header.hoffmann-header .desktop-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-7px;
  height:2px;
  background:#fff;
  transition:right .2s ease;
}
.site-header.hoffmann-header .desktop-nav a:hover::after,
.site-header.hoffmann-header .desktop-nav a:focus-visible::after,
.site-header.hoffmann-header .desktop-nav a[aria-current]::after{right:0}
.site-header.hoffmann-header .desktop-nav a:hover,
.site-header.hoffmann-header .desktop-nav a:focus-visible,
.site-header.hoffmann-header .desktop-nav a[aria-current],
.site-header.hoffmann-header .header-phone:hover{text-decoration:none!important}
.site-header.hoffmann-header .header-inner>.brand{
  align-self:stretch;
  position:relative;
  z-index:22;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 clamp(205px,18vw,250px);
  width:clamp(205px,18vw,250px);
  height:116px;
  margin:0 auto 0 0;
  padding:11px 20px 15px;
  overflow:hidden;
  background:#fff;
  border-radius:0 0 16px 16px;
  box-shadow:0 0 18px 3px rgba(0,35,38,.20),0 12px 26px 3px rgba(0,25,28,.28);
}
.site-header.hoffmann-header .header-inner>.brand img{
  position:relative;
  z-index:0;
  width:min(100%,206px);
  height:auto;
  max-width:100%;
  object-fit:contain;
  opacity:0;
}
.site-header.hoffmann-header .header-inner>.brand::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:11px 20px 15px;
  background:url('/hoffmann-header-logo.png') center/contain no-repeat;
  pointer-events:none;
}
@media(max-width:1200px){
  .site-header.hoffmann-header .desktop-nav{display:none}
  .site-header.hoffmann-header .mobile-nav{display:block}
  .site-header.hoffmann-header .header-inner>.brand{flex-basis:205px;width:205px;height:113px;padding-inline:18px}
  .site-header.hoffmann-header .header-inner>.brand::before{inset:11px 18px 15px}
}
@media(max-width:650px){
  .site-header.hoffmann-header .utility-bar,.site-header.hoffmann-header .utility-inner{height:30px;min-height:30px}
  .site-header.hoffmann-header .header-inner{height:86px;min-height:86px;gap:12px;padding:0}
  .site-header.hoffmann-header .header-inner>.brand{flex-basis:min(47vw,220px);width:min(47vw,220px);height:98px;padding:8px 15px 12px;border-radius:0 0 16px 16px}
  .site-header.hoffmann-header .header-inner>.brand img{width:min(100%,188px)}
  .site-header.hoffmann-header .header-inner>.brand::before{inset:8px 15px 12px}
}
@media(max-width:420px){
  .site-header.hoffmann-header .header-inner>.brand{flex-basis:47vw;width:47vw;height:92px;padding:7px 12px 11px}
  .site-header.hoffmann-header .header-inner>.brand::before{inset:7px 12px 11px}
}
