:root{--gap:1.5rem;--max:1200px;--bg:#fff;--fg:#333;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:system-ui,sans-serif;line-height:1.6;color:var(--fg);background:var(--bg);}
.portfolio-grid{padding:clamp(1rem,4vw,3rem);max-width:var(--max);margin:0 auto;}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--gap);}
.grid-item{position:relative;overflow:hidden;border-radius:8px;transition:transform .3s ease;}
.grid-item:hover{transform:translateY(-4px);}
.grid-item img{width:100%;height:auto;display:block;}
.trip-hero{position:relative;height:60vh;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:#fff;}
.service-section{max-width:var(--max);margin:3rem auto;padding:0 1rem;}
.service-content{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05);}
.lb-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);z-index:9999;display:flex;align-items:center;justify-content:center;}
.lb-overlay img{max-width:90vw;max-height:90vh;border-radius:4px;}
.lb-close{position:absolute;top:2rem;right:2rem;font-size:2.5rem;line-height:1;color:#fff;cursor:pointer;background:none;border:0;padding:.25rem .5rem;}
.grid-item:focus-visible,.lb-close:focus-visible{outline:3px solid #B8860B;outline-offset:2px;}
.related-themenfeld{max-width:var(--max);margin:3rem auto;padding:0 1rem;}
.related-themenfeld h2{margin-bottom:1rem;}
.related-themenfeld ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;}
.related-themenfeld a{color:inherit;text-decoration:none;font-weight:600;}
.related-themenfeld a:hover,.related-themenfeld a:focus-visible{text-decoration:underline;}
@media(max-width:768px){.grid{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.grid-item{transition:none;}.grid-item:hover{transform:none;}}