@font-face{font-family:"Fraunces";src:url("assets/Fraunces_72pt-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Outfit";src:url("assets/outfit-regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Outfit";src:url("assets/outfit-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
:root{--beige:#f8f4e6;--green:#438b59;--black:#000;--gap:24px;--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#000;background:#fff;font-family:"Outfit",Arial,sans-serif}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.site-header{height:180px;display:flex;align-items:center;justify-content:center;position:relative}.brand{width:205px;display:block}.brand img,.footer-logo{display:block;width:100%;height:auto}.quicklinks{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:18px}.quicklinks a{display:grid;place-items:center;width:40px;height:40px}.quicklinks img{display:block;width:40px;height:auto;max-height:40px}.hero{position:relative}.hero>img,.wide-image>img{display:block;width:100%;height:auto}.hero h1,.wide-image h2{font-family:"Fraunces",Georgia,serif;font-weight:400;position:absolute;margin:0;color:#fff;text-align:center;line-height:1.02}.hero h1{left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(34px,4.1vw,62px);width:80%}.grid{display:grid;gap:var(--gap);margin-top:var(--gap)}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.tile{position:relative;overflow:hidden}.tile-image{display:block;width:100%;height:auto}.rounded{border-radius:var(--radius)}.animated-logo .rotating-logo{position:absolute;inset:0;margin:auto;width:92%;height:92%;object-fit:contain;animation:slowSpin 28s linear infinite;transform-origin:50% 50%;pointer-events:none}@keyframes slowSpin{to{transform:rotate(360deg)}}.text-tile{aspect-ratio:1023/1537;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:9%;color:#fff}.text-tile.green{background:var(--green)}.text-tile.black{background:#000}.text-tile h2,.wide-image h2{font-family:"Fraunces",Georgia,serif;font-size:clamp(32px,3vw,52px);line-height:1.05;font-weight:400}.text-tile h2{margin:0}.text-tile .down{margin:clamp(28px,4vw,56px) 0}.text-tile p{font-size:clamp(17px,1.55vw,23px);line-height:1.35;margin:0;max-width:17em}.wide-image{position:relative;margin-top:var(--gap)}.wide-image h2{left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(36px,4.4vw,66px)}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);padding:80px 5% 95px}.footer-contact,.footer-hours{display:flex;flex-direction:column;align-items:center;text-align:center}.footer-logo{width:min(310px,70%)}.down{font-family:"Outfit";font-size:24px;line-height:1}.footer-contact>.down{margin:42px 0 30px}.footer-hours>.down:first-child{margin:0 0 30px}.footer-hours>.down:nth-of-type(2){margin:34px 0 28px}address{display:flex;flex-direction:column;font-style:normal;font-size:18px;line-height:1.35}a{color:inherit}.footer-contact a{text-decoration:none}.footer-contact a:hover{text-decoration:underline}.footer-hours p{font-size:18px;line-height:1.35;margin:0}.pill{font:400 16px/1 "Outfit",Arial,sans-serif;text-transform:uppercase;background:#fff;border:1.5px solid #000;border-radius:999px;padding:8px 18px;cursor:pointer;color:#000}.pill:hover,.pill:focus-visible{background:#000;color:#fff}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}.modal-panel{position:relative;z-index:1;background:var(--beige);width:min(760px,100%);max-height:min(84vh,900px);overflow:auto;padding:clamp(30px,5vw,64px);box-shadow:0 20px 70px rgba(0,0,0,.25)}.modal-close{position:sticky;float:right;top:0;z-index:2;background:var(--beige)}.legal-content{padding-top:25px}.legal-content h2,.legal-content h3{font-family:"Fraunces",Georgia,serif;font-weight:400}.legal-content h2{font-size:42px;margin:0 0 38px}.legal-content h3{font-size:27px;margin:30px 0 10px}.legal-content p{font-size:17px;line-height:1.55}.modal-open{overflow:hidden}
@media(max-width:760px){:root{--gap:12px;--radius:14px}.shell{width:calc(100% - 28px)}.site-header{height:120px}.brand{width:145px}.quicklinks{gap:10px}.quicklinks a,.quicklinks img{width:32px}.hero h1{font-size:clamp(26px,7.4vw,44px);width:92%}.grid.two,.grid.three{grid-template-columns:1fr}.grid{gap:var(--gap)}.text-tile{aspect-ratio:1023/1537}.gallery-row{grid-template-columns:1fr 1fr 1fr!important}.gallery-row .tile{min-width:0}.wide-image h2{font-size:clamp(30px,9vw,50px)}.footer-grid{grid-template-columns:1fr;padding:60px 0 70px;gap:65px}.footer-logo{width:230px}.footer-hours>.down:first-child{margin-top:0}.modal{padding:14px}.modal-panel{padding:26px 20px}.legal-content h2{font-size:34px;padding-right:60px}.legal-content h3{font-size:24px}}
@media(max-width:480px){.site-header{justify-content:flex-start}.brand{width:135px}.hero h1{font-size:clamp(23px,7.1vw,34px)}.gallery-row{gap:8px}.rounded{border-radius:10px}.text-tile h2{font-size:clamp(31px,10vw,44px)}.text-tile p{font-size:17px}.footer-hours p,address{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.animated-logo .rotating-logo{animation:none}}

/* Verbindliche Seitenverhältnisse */
.hero,
.wide-image {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.hero > img,
.wide-image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.grid .tile,
.grid .text-tile {
  aspect-ratio: 3 / 4;
}

.grid .tile > .tile-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
