:root{font-family:Arial,Helvetica,sans-serif;color:#fffdf6;background:#173c3c;font-synthesis:none;--edge:clamp(24px,5vw,80px)}
*{box-sizing:border-box}
body{margin:0}
.backdrop{position:fixed;inset:0;z-index:-1;background-image:url('bilder/collage-welcome.jpg');background-position:center center;background-size:cover;background-repeat:no-repeat}
.page{position:relative;isolation:isolate;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;padding:28px var(--edge);gap:24px}
.brand{justify-self:start;line-height:0;padding:9px 12px;background:rgba(14,42,45,.64);border-radius:4px}
.brand img{display:block;width:clamp(110px,10vw,145px);height:auto}
.welcome{align-self:center;justify-self:start;width:min(570px,100%);padding:28px 30px 30px;background:rgba(13,39,42,.86);border:1px solid rgba(248,240,223,.23);border-radius:5px;box-shadow:0 12px 35px #0002}
h1{font:400 clamp(29px,2.6vw,39px)/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.5px;margin:0 0 20px;text-wrap:balance}
.welcome p{font-size:15px;line-height:1.7;margin:0 0 25px;color:#fffdf6}
.booking-link,.archive-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;background:#f8f0df;color:#173c3c;border:1px solid #fff8;border-radius:3px;text-decoration:none;font-size:13px;font-weight:600;line-height:1.4;box-shadow:0 4px 18px #0001}
.booking-link span,.archive-link span{font-size:20px;line-height:1}
.booking-link:hover,.archive-link:hover{background:#fffdf7}
a:focus-visible{outline:3px solid #f3d394;outline-offset:5px}
footer{display:flex;justify-content:flex-end}
@media(min-width:850px){.welcome{transform:translateY(-26px)}}
@media(max-width:650px){.page{padding:20px var(--edge);gap:22px}.brand{padding:8px 10px}.brand img{width:115px}.welcome{padding:23px 22px 25px}.welcome p{font-size:14px;line-height:1.65}h1{font-size:30px;line-height:1.2;letter-spacing:-.3px}.wide-break{display:none}.booking-link,.archive-link{font-size:12px;padding:15px 16px;gap:14px}footer{padding-bottom:3px}}
@media(max-width:360px){.welcome{padding:20px 18px}h1{font-size:27px}.booking-link{width:100%;gap:10px;font-size:11px}}
@media(max-height:560px) and (min-width:651px){.page{padding-top:18px;padding-bottom:18px;gap:18px}.brand img{width:110px}.welcome{transform:none;padding:20px 24px}h1{font-size:30px;margin-bottom:14px}.welcome p{font-size:13px;margin-bottom:18px}}

/* Layoutkorrektur: freie Collage, Schatten an Konturen, beide Links unten. */
.brand{padding:0;background:none;border:0;border-radius:0}
.brand img{filter:drop-shadow(0 1px 2px #000) drop-shadow(0 2px 5px #000c) drop-shadow(0 0 10px #0009)}
.welcome{padding:0;background:none;border:0;border-radius:0;box-shadow:none;text-shadow:0 1px 2px #000,0 2px 5px #000e,0 0 12px #000c,0 0 24px #0008}
.welcome p{margin-bottom:0}
footer{justify-content:space-between;align-items:center;gap:16px}
.booking-link,.archive-link{max-width:calc(50% - 8px);min-height:40px;gap:12px;padding:8px 12px;background:rgba(20,48,50,.75);color:#fffdf6;border:1px solid #fff6;font-size:12px;font-weight:400;line-height:1.4;box-shadow:none;text-shadow:0 1px 2px #000,0 0 6px #000e,0 0 12px #0009}
.booking-link span,.archive-link span{font-size:15px;flex:none}
.booking-link:hover,.archive-link:hover{background:rgba(20,48,50,.90);border-color:#fffb}
@media(max-width:650px){.booking-link,.archive-link{font-size:11px;padding:8px 9px;gap:8px;min-height:44px}footer{gap:12px}}
@media(max-width:360px){.page{--edge:18px}.booking-link,.archive-link{padding:7px 8px;gap:6px;width:auto}}

/* Feste zwei Zeilen, auch auf schmalen Bildschirmen. */
h1{font-size:clamp(16px,5.8vw,39px);text-wrap:initial;letter-spacing:-.3px}
h1 span{display:block;white-space:nowrap}
body{isolation:isolate}.backdrop{z-index:0}.page{z-index:1}
