@font-face{font-family:"PT Sans Narrow";src:url("../fonts/pt-sans-narrow-regular.ttf")}
@font-face{font-family:"PT Sans Narrow";src:url("../fonts/pt-sans-narrow-bold.ttf");font-weight:700}
:root{--nav:#09343e;--footer:#4fa6b8;--brand:#234c33}
*{box-sizing:border-box}
html,body{margin:0;min-width:320px;font-family:"PT Sans Narrow",Arial,sans-serif;color:#222}
.site-header{height:565px;position:relative;padding:28px 10%;display:flex;gap:28px;background:#fff}
.site-header:after{content:"";position:absolute;top:80px;left:0;right:0;height:485px;background:url('../images/replacements/header-hintergrund.jpg') center/cover fixed;z-index:0}
.logo,.brand{position:relative;z-index:1;top:210px}
.logo{width:150px;height:100px}
.brand{font-size:2rem;font-weight:700;color:var(--brand)}
.nav-toggle{display:none}
.main-nav{background:var(--nav);border-radius:8px;overflow:hidden}
.main-nav a{display:block;padding:16px 24px;color:#fff;text-decoration:none;transition:background-color .18s}
.main-nav a:hover,.main-nav a[aria-current=page]{background:var(--footer)}
main{padding:35px 70px 42px;background:#fff;min-height:520px}
main h1{margin:0 0 28px;color:#111;font-size:3rem;font-weight:400}
.outsourcing-content{min-height:0}
.outsourcing-content>ul{font-size:18px;font-weight:500;line-height:1.5}
.gastronomie-content{min-height:0;padding-bottom:28px}
.intro{display:grid;grid-template-columns:280px 1fr;gap:32px}
.placeholder{height:205px;display:grid;place-items:center;background:#d9dfd3;border:1px dashed #75846d}
.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:24px;border-bottom:2px solid #222;padding-bottom:28px}
.columns section{border-top:2px solid #222}
.columns h2{margin:12px 0;font-size:2rem;font-weight:400}
.portrait{width:75px;height:93px}
.closing{margin-top:16px;font-size:1.35rem;color:#355c2d}
.closing span{color:#7ead52}
.site-footer{background:var(--footer);padding:24px max(70px,calc((100vw - 980px)/2)) 0;text-align:center}
.banner{display:block;max-width:908px;width:100%;margin:0 auto 24px}
.footer-contact{display:grid;grid-template-columns:1fr 1fr;gap:36px;text-align:left;margin:auto auto 22px;max-width:908px;width:100%}
.footer-links{background:#000;color:#fff;margin:0 calc(-1 * max(70px,calc((100vw - 980px)/2)));padding:10px}
.footer-links a{color:#fff}
@media(min-width:701px){
  body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,780px) 360px minmax(0,1fr)}
  .shell{display:contents}
  .site-header,.site-footer{grid-column:1/-1}
  .site-header>a:first-child{position:absolute;z-index:1;left:calc(50% - 568px);top:232px}
  .logo{position:static;width:210px;height:140px;display:block}
  .brand{position:absolute;z-index:1;top:254px;left:50%;transform:translateX(-50%);font-size:3rem;line-height:1.05;font-weight:700;color:var(--brand);text-shadow:0 0 5px rgba(255,255,255,.68),0 0 13px rgba(255,255,255,.32)}
  .main-nav{grid-column:3;grid-row:2;position:sticky;top:7px;align-self:start;margin-top:-55px;z-index:10;box-shadow:0 4px 12px #05232a33}
  main{grid-column:2;grid-row:2}
}
@media(max-width:700px){
  body{display:block}
  .site-header{height:auto;padding:18px 22px}
  .site-header:after{display:none}
  .logo,.brand{position:static}
  .logo{width:102px;height:65px}
  .brand{font-size:.95rem}
  .nav-toggle{display:block;margin-left:auto}
  .main-nav{display:none}
  .main-nav.open{display:block}
  .intro,.columns,.footer-contact{grid-template-columns:1fr}
  main{padding:28px 22px}
  .columns{border:0}
  .site-footer{padding:22px 22px 0}
  .footer-links{margin:0 -22px}
}
