*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#21313a;background:#faf8f3;line-height:1.65}.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(20px,5vw,72px);background:rgba(250,248,243,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.08)}.brand{text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#183440;text-decoration:none}nav{display:flex;gap:22px;flex-wrap:wrap}nav a,footer a,.contact-box a{color:#183440;text-decoration:none}nav a:hover,.contact-box a:hover{text-decoration:underline}.hero{min-height:76vh;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,70px);align-items:center;padding:clamp(60px,9vw,120px) clamp(20px,5vw,72px);background:linear-gradient(135deg,#183440,#315d66);color:white;overflow:hidden}.hero-content{max-width:720px}.hero-image{margin:0;justify-self:center;width:min(100%,560px);padding:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:30px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.hero-image img{display:block;width:100%;max-width:390px;height:auto;margin:auto;border-radius:20px;box-shadow:0 18px 45px rgba(0,0,0,.22)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;color:#6d8c8c;margin:0 0 10px}.hero .eyebrow{color:#d9eee9}h1,h2,h3{line-height:1.1;margin:0 0 20px;color:#183440}h1{font-size:clamp(3rem,7vw,6.8rem);color:white;letter-spacing:-.06em}h2{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.045em}h3{font-size:1.2rem}.lead{font-size:clamp(1.1rem,2vw,1.45rem);max-width:620px}.button{display:inline-block;margin-top:22px;background:#fff;color:#183440;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:700}.text-link{display:inline-block;margin-top:4px;color:#183440;font-weight:700;text-underline-offset:4px}.section{padding:clamp(56px,8vw,110px) clamp(20px,5vw,72px)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,70px);align-items:center}.intro img{width:100%;border-radius:26px;box-shadow:0 28px 70px rgba(0,0,0,.14)}.highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:0}.highlights article,.cards article,.contact-box{background:white;border-radius:22px;padding:24px;box-shadow:0 16px 40px rgba(0,0,0,.06)}.highlights strong{display:block;color:#183440;font-size:1.08rem}.highlights span{color:#65727a}.section-heading{max-width:760px;margin-bottom:34px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery figure{margin:0;background:white;border-radius:20px;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.07)}.gallery img{width:100%;height:260px;object-fit:cover;display:block;transition:transform .35s ease}.gallery figure:hover img{transform:scale(1.04)}figcaption{padding:12px 14px;font-size:.95rem;color:#506069}.rental{background:#eef3f1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:start}footer{display:flex;justify-content:space-between;gap:20px;padding:28px clamp(20px,5vw,72px);background:#183440;color:white}footer a{color:white}@media(max-width:900px){.hero,.intro,.contact{grid-template-columns:1fr}.gallery,.cards,.highlights{grid-template-columns:1fr 1fr}.site-header{align-items:flex-start;gap:12px;flex-direction:column}.hero{min-height:auto}.hero-image{width:100%}}@media(max-width:560px){.gallery,.cards,.highlights{grid-template-columns:1fr}nav{gap:12px;font-size:.95rem}.gallery img{height:230px}footer{flex-direction:column}}
.page-title{font-size:clamp(2.8rem,6vw,5.5rem);color:#183440}.lead-dark{font-size:1.25rem;max-width:760px;color:#506069}.text-page{max-width:1040px;margin:auto}.long-text{background:white;border-radius:28px;padding:clamp(26px,5vw,58px);box-shadow:0 18px 55px rgba(0,0,0,.07)}.long-text h2{font-size:clamp(1.45rem,2.4vw,2.25rem);margin-top:34px}.long-text h2:first-child{margin-top:0}.long-text ul{padding-left:1.2rem}.long-text li{margin:.45rem 0}
.booking-form{background:white;border-radius:28px;padding:clamp(24px,4vw,38px);box-shadow:0 18px 55px rgba(0,0,0,.08)}.booking-form label{display:block;margin-bottom:16px}.booking-form span{display:block;margin-bottom:6px;font-weight:700;color:#183440}.booking-form input,.booking-form textarea{width:100%;border:1px solid rgba(24,52,64,.18);border-radius:14px;padding:13px 14px;font:inherit;background:#fbfaf7;color:#21313a}.booking-form input:focus,.booking-form textarea:focus{outline:2px solid rgba(49,93,102,.25);border-color:#315d66}.form-row.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.submit-button{border:0;cursor:pointer;background:#183440;color:white;margin-top:4px}.form-note{margin:14px 0 0;font-size:.92rem;color:#65727a}.small-contact{margin-top:24px}@media(max-width:560px){.form-row.two-columns{grid-template-columns:1fr}}

/* Deutscher Flatpickr-Kalender */
.flatpickr-calendar{font-family:Inter,Arial,sans-serif;border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.18);border:1px solid rgba(24,52,64,.12);overflow:hidden}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected:hover{background:#183440;border-color:#183440}.flatpickr-day.today{border-color:#315d66}.flatpickr-day:hover{background:#eef3f1;border-color:#eef3f1}.flatpickr-months .flatpickr-month{background:#faf8f3;color:#183440}.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year{font-weight:700;color:#183440}.flatpickr-weekdays{background:#faf8f3}.span.flatpickr-weekday,.flatpickr-weekday{color:#6d8c8c;font-weight:700}.datepicker{cursor:pointer;background:#fbfaf7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23183440' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:44px!important}


/* Galerie-Lightbox */
.gallery figure{cursor:pointer}.gallery figure:focus{outline:3px solid rgba(49,93,102,.35);outline-offset:4px}.lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:clamp(18px,4vw,48px);background:rgba(8,18,24,.88);backdrop-filter:blur(8px)}.lightbox.is-open{display:flex}.lightbox-open{overflow:hidden}.lightbox-frame{margin:0;max-width:min(96vw,1200px);max-height:90vh;text-align:center}.lightbox-frame img{display:block;max-width:100%;max-height:82vh;margin:auto;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.45);background:white;object-fit:contain}.lightbox-frame figcaption{padding:14px 10px 0;color:white;font-size:1rem}.lightbox button{appearance:none;border:0;cursor:pointer;color:white;background:rgba(255,255,255,.16);box-shadow:0 12px 35px rgba(0,0,0,.25);transition:background .2s ease,transform .2s ease}.lightbox button:hover,.lightbox button:focus{background:rgba(255,255,255,.28);outline:none;transform:scale(1.04)}.lightbox-close{position:absolute;top:20px;right:20px;width:48px;height:48px;border-radius:999px;font-size:2rem;line-height:1}.lightbox-nav{position:absolute;top:50%;width:52px;height:72px;border-radius:999px;font-size:3rem;line-height:.7;transform:translateY(-50%)}.lightbox-nav:hover,.lightbox-nav:focus{transform:translateY(-50%) scale(1.04)}.lightbox-prev{left:20px}.lightbox-next{right:20px}@media(max-width:700px){.lightbox{padding:16px}.lightbox-nav{top:auto;bottom:18px;width:48px;height:48px;font-size:2.4rem;transform:none}.lightbox-nav:hover,.lightbox-nav:focus{transform:scale(1.04)}.lightbox-prev{left:calc(50% - 62px)}.lightbox-next{right:calc(50% - 62px)}.lightbox-close{top:14px;right:14px}.lightbox-frame img{max-height:74vh}.lightbox-frame figcaption{padding-bottom:58px}}

/* Logo, Header und Infoleiste */
.main-header{position:sticky;top:0;z-index:20;background:rgba(250,248,243,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.08)}
.top-info{display:flex;justify-content:center;align-items:center;gap:14px;padding:7px clamp(16px,4vw,72px);font-size:.92rem;color:#49606a;border-bottom:1px solid rgba(0,0,0,.07);background:rgba(255,255,255,.54)}
.top-info a{color:#183440;text-decoration:none;font-weight:700}.top-info a:hover{text-decoration:underline;text-underline-offset:3px}.top-info span{white-space:nowrap}.site-header{position:static;border-bottom:0;background:transparent;backdrop-filter:none;padding-top:12px;padding-bottom:12px}.brand-logo{display:inline-flex;align-items:center;letter-spacing:0;text-transform:none}.brand-logo img{display:block;width:clamp(150px,17vw,230px);height:auto;max-height:112px;object-fit:contain}.site-header nav{align-items:center}.site-header nav a{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.86rem}.site-header nav a[href="#kontakt"],.site-header nav a[href="index.html#kontakt"]{background:#183440;color:white;padding:10px 16px;border-radius:999px;text-decoration:none}.site-header nav a[href="#kontakt"]:hover,.site-header nav a[href="index.html#kontakt"]:hover{background:#315d66;text-decoration:none}
footer .footer-logo{max-width:170px;height:auto;display:block;margin-bottom:12px}
@media(max-width:900px){.top-info{justify-content:flex-start;overflow-x:auto}.site-header{align-items:center}.brand-logo img{width:170px}.site-header nav a[href="#kontakt"],.site-header nav a[href="index.html#kontakt"]{padding:8px 13px}}
@media(max-width:560px){.top-info{font-size:.84rem;gap:10px}.brand-logo img{width:145px}.site-header nav a{font-size:.8rem;letter-spacing:.04em}}

.weather-live{font-weight:700;color:#183440;white-space:nowrap}.weather-live a{color:#183440;text-decoration:none}.weather-live a:hover{text-decoration:underline;text-underline-offset:3px}

/* Feinschliff v8: elegante Infoleiste, Logo-Proportionen, Galerie-Überschrift */
.main-header{
  box-shadow:0 10px 35px rgba(24,52,64,.08);
}
.top-info{
  justify-content:center;
  gap:16px;
  padding:9px clamp(16px,4vw,72px);
  font-size:.9rem;
  line-height:1.2;
  color:#405862;
  background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(238,243,241,.82),rgba(255,255,255,.72));
  border-bottom:1px solid rgba(24,52,64,.09);
}
.top-info .info-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.info-separator{
  width:1px;
  height:18px;
  background:rgba(24,52,64,.18);
  flex:0 0 auto;
}
.weather-live,.sunset-live,.webcam-link{
  font-weight:700;
  color:#183440;
}
.top-info a.webcam-link{
  padding:6px 11px;
  border:1px solid rgba(24,52,64,.14);
  border-radius:999px;
  background:rgba(255,255,255,.55);
  text-decoration:none;
}
.top-info a.webcam-link:hover{
  background:#fff;
  text-decoration:none;
}
.site-header{
  padding-top:10px;
  padding-bottom:10px;
}
.brand-logo img{
  width:clamp(170px,18vw,255px);
  max-height:124px;
}
.site-header nav{
  gap:clamp(14px,2vw,26px);
}
@media(max-width:900px){
  .top-info{
    justify-content:flex-start;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .top-info::-webkit-scrollbar{display:none}
  .brand-logo img{width:185px;max-height:105px}
}
@media(max-width:560px){
  .top-info{font-size:.82rem;gap:10px;padding-block:8px}
  .info-separator{height:16px}
  .brand-logo img{width:160px;max-height:92px}
}

.footer-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.footer-links a{font-weight:700}.imprint-list{display:grid;gap:0;margin:24px 0 34px}.imprint-list div{display:grid;grid-template-columns:minmax(160px,.35fr) 1fr;border-bottom:1px solid rgba(24,52,64,.12)}.imprint-list dt,.imprint-list dd{padding:14px 0;margin:0}.imprint-list dt{font-weight:800;color:#183440}.imprint-list dd{color:#506069}.imprint-list a{color:#183440;font-weight:700}.small-note{font-size:.9rem;color:#65727a;margin-top:28px}@media(max-width:650px){.imprint-list div{grid-template-columns:1fr}.imprint-list dt{padding-bottom:2px}.imprint-list dd{padding-top:0}}


/* Persönlicher Abschluss unter dem Einführungstext */
.personal-signoff{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid rgba(24,52,64,.12);
}
.personal-signoff p{
  margin:.2rem 0;
}
.personal-signoff img{
  display:block;
  width:min(280px,80%);
  height:auto;
  margin:6px 0 2px -8px;
}
.personal-signoff span{
  color:#65727a;
  font-size:.95rem;
}

.form-note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* Feinschliff v13: Favicon & dezente Animationen */
.button,
.submit-button,
.text-link,
.top-info a.webcam-link,
.site-header nav a{
  transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, opacity .22s ease;
}
.button:hover,
.submit-button:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(24,52,64,.18);
}
.text-link:hover{
  transform:translateX(3px);
}
.hero-content{
  animation:heroTextIn .85s ease-out both;
}
.hero-image{
  animation:heroImageIn 1s .12s ease-out both;
}
.brand-logo img{
  transition:transform .28s ease, filter .28s ease;
}
.brand-logo:hover img{
  transform:translateY(-1px) scale(1.015);
}
.gallery figure,
.highlights article,
.cards article,
.contact-box,
.long-text,
.intro img,
.booking-form{
  transition:transform .28s ease, box-shadow .28s ease, opacity .55s ease;
}
.gallery figure:hover,
.highlights article:hover,
.cards article:hover,
.contact-box:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 52px rgba(0,0,0,.1);
}
.js-reveal{
  opacity:0;
  transform:translateY(22px);
}
.js-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
.js-reveal:nth-child(2){transition-delay:.04s}
.js-reveal:nth-child(3){transition-delay:.08s}
.js-reveal:nth-child(4){transition-delay:.12s}
.js-reveal:nth-child(5){transition-delay:.16s}
.js-reveal:nth-child(6){transition-delay:.2s}
@keyframes heroTextIn{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes heroImageIn{
  from{opacity:0;transform:translateY(18px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js-reveal{opacity:1;transform:none}
}

/* v14: hochauflösende Bilder und ruhiger Hero-Bildwechsel */
.hero{
  grid-template-columns:.92fr 1.08fr;
  background:linear-gradient(135deg,#183440 0%,#315d66 100%);
}
.hero-image{
  position:relative;
  width:min(100%,720px);
  aspect-ratio:4/3;
  padding:0;
  overflow:hidden;
  background:rgba(255,255,255,.1);
}
.hero-image::after{
  content:"Willkommen am Ledrosee";
  position:absolute;
  left:22px;
  bottom:20px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#183440;
  font-weight:800;
  font-size:.9rem;
  letter-spacing:.02em;
  box-shadow:0 12px 32px rgba(0,0,0,.18);
  animation:welcomeFade 5.5s ease forwards;
}
.hero-image img.hero-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  margin:0;
  object-fit:cover;
  border-radius:30px;
  opacity:0;
  transform:scale(1.025);
  transition:opacity 1.3s ease, transform 7s ease;
  box-shadow:none;
}
.hero-image img.hero-slide.is-active{
  opacity:1;
  transform:scale(1);
}
.intro > img{
  aspect-ratio:4/3;
  object-fit:cover;
}
.gallery img{
  height:280px;
}
@keyframes welcomeFade{
  0%{opacity:0;transform:translateY(8px)}
  18%{opacity:1;transform:translateY(0)}
  72%{opacity:1;transform:translateY(0)}
  100%{opacity:0;transform:translateY(8px)}
}
@media(max-width:900px){
  .hero{grid-template-columns:1fr}
  .hero-image{width:100%;max-width:760px;justify-self:start}
}
@media(max-width:560px){
  .hero-image{aspect-ratio:4/3;border-radius:24px}
  .hero-image img.hero-slide{border-radius:24px}
  .hero-image::after{left:14px;bottom:14px;font-size:.82rem}
  .gallery img{height:240px}
}
@media (prefers-reduced-motion: reduce){
  .hero-image::after{animation:none;opacity:1}
  .hero-image img.hero-slide{transition:none;transform:none}
}
