:root{--navy:#0b3554;--navy2:#0e466d;--cream:#f7f3ea;--paper:#fffdf8;--gold:#b79554;--ink:#153b59;--white:#fff;--muted:#647687}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Georgia,'Times New Roman',serif;background:var(--cream);color:var(--ink);line-height:1.55}a{color:inherit}.nav{height:80px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:20;box-shadow:0 2px 18px #0002}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}.brand-name{font-family:'Brush Script MT','Segoe Script',cursive;font-size:2rem}.brand-sub{font-family:Arial,sans-serif;font-size:.56rem;letter-spacing:.32em;text-transform:uppercase;margin-top:7px}.links{display:flex;gap:34px;align-items:center}.links a{color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.links a:hover{color:#e8cf9a}.pill{border:1px solid #e2c681;padding:10px 15px}.menu{display:none;background:none;border:0;color:#fff;font-size:1.6rem}.hero{min-height:0;aspect-ratio:16/9;position:relative;color:#fff;background:linear-gradient(90deg,rgba(6,32,52,.58) 0%,rgba(6,32,52,.30) 44%,rgba(6,32,52,.08) 72%),none center center/contain no-repeat;background-color:#0b3554;display:flex;align-items:center}.hero-copy{width:min(1180px,100%);margin:auto;padding:80px 28px}.hero-inner{max-width:560px}.eyebrow{letter-spacing:.22em;text-transform:uppercase;font-family:Arial,sans-serif;font-size:.72rem;color:var(--gold);font-weight:700}.hero .eyebrow{color:#fff}.hero h1{font-size:clamp(3.1rem,7vw,5.6rem);font-weight:400;line-height:.98;margin:.15em 0 .18em}.hero-meta{font-size:1.25rem;letter-spacing:.13em;text-transform:uppercase;margin:.4em 0}.hero-address{font-size:1.02rem;margin:.1em 0 1.6em}.ornament{display:flex;align-items:center;gap:12px;width:260px;margin:22px 0}.ornament:before,.ornament:after{content:'';height:1px;background:#fff;flex:1}.ornament span{font-size:1.45rem}.hero-quote{font-style:italic;font-size:1.4rem;max-width:370px}.btn{border:1px solid var(--gold);color:var(--ink)!important;background:transparent;padding:13px 22px;text-decoration:none;display:inline-block;text-transform:uppercase;letter-spacing:.12em;font-family:Arial,sans-serif;font-size:.72rem;font-weight:700;cursor:pointer}.hero .btn,.band .btn,.page-head .btn{color:#fff!important;border-color:#d9b96f}.btn:hover{background:var(--gold);color:#fff!important}.btn.secondary{border-color:#8ba0af}.section{max-width:1180px;margin:auto;padding:72px 28px}.center{text-align:center}.section h2{font-size:2.5rem;font-weight:400;margin:.15em 0 .1em}.lead{font-size:1.12rem;color:var(--muted);max-width:760px}.center .lead{margin-left:auto;margin-right:auto}.timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:46px;position:relative}.timeline:before{content:'';position:absolute;left:8%;right:8%;top:35px;height:1px;background:var(--gold)}.time{text-align:center;position:relative;padding:0 14px}.time-icon{width:70px;height:70px;margin:auto;background:var(--cream);position:relative;display:grid;place-items:center;font-size:1.7rem;color:var(--gold)}.time-icon:after{content:'';position:absolute;bottom:-4px;width:8px;height:8px;background:var(--gold);border-radius:50%}.time strong{display:block;font-size:1.12rem;margin-top:18px}.band{background:var(--navy);color:#fff;position:relative;overflow:hidden}.band:before,.page-head:before{content:'✥';position:absolute;font-size:320px;opacity:.045;left:-60px;top:-130px}.band .section{padding-top:62px;padding-bottom:62px;text-align:center}.band h2{font-size:2.65rem}.band p{font-family:Arial,sans-serif}.band-note{font-family:'Brush Script MT','Segoe Script',cursive!important;font-size:1.5rem;opacity:.9}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}.card{background:var(--paper);border:1px solid #d8d0c0;padding:28px;box-shadow:0 8px 26px #153b590c}.card h3{font-size:1.25rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;margin:.2em 0 .5em}.card-icon{width:58px;height:58px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:-58px auto 18px;background:var(--paper);font-size:1.35rem}.card p{font-family:Arial,sans-serif;color:#40596c}.card-link{text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;text-decoration:underline;text-underline-offset:4px}.hotel{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;margin-top:18px;border-left:3px solid var(--gold)}.hotel-actions{display:flex;gap:8px;flex-wrap:wrap}.form{max-width:720px;background:#fff;margin:46px auto;padding:38px;border:1px solid #ded6c7;box-shadow:0 12px 40px #102b4612;position:relative}.form:before{content:'♡';position:absolute;right:28px;top:22px;color:var(--gold);font-size:1.5rem}.form h1,.form h2{font-weight:400}.field{margin:18px 0;font-family:Arial,sans-serif}.field label{display:block;font-weight:700;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid #bac5ce;font:inherit;background:#fff}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #b7955438;border-color:var(--gold)}.field textarea{min-height:110px;resize:vertical}.radio{display:flex;gap:20px;flex-wrap:wrap}.notice{padding:14px 16px;background:#eef5f8;margin:16px 0;font-family:Arial,sans-serif;border-left:3px solid var(--gold)}.error{background:#fff0f0;color:#8c2525}.success{background:#edf8ef;color:#245f31}.hp{position:absolute;left:-9999px}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;background:#fff;font-family:Arial,sans-serif}.admin-table th,.admin-table td{padding:10px;border-bottom:1px solid #ddd;text-align:left;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:#fff;padding:20px;border-top:2px solid var(--gold)}.stat b{font-size:2rem;display:block}footer{text-align:center;padding:65px 20px 75px;background:var(--cream);color:var(--navy);border-top:1px solid #e1d9ca}footer .heart{font-size:2rem;color:var(--gold)}footer p{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem}footer strong{font-family:'Brush Script MT','Segoe Script',cursive;font-size:1.8rem;font-weight:400}.location-card .address{font-size:.95rem}.page-head{background:var(--navy);color:#fff;text-align:center;padding:72px 20px;position:relative;overflow:hidden}.page-head>*{position:relative;z-index:1}.page-head h1{font-size:2.9rem;font-weight:400;margin:.15em 0}.page-head p{font-family:Arial,sans-serif;max-width:700px;margin:12px auto 0}.page-head .eyebrow{color:#d9b96f}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:28px}.info-card{background:var(--paper);border:1px solid #d8d0c0;padding:34px}.info-card h3{font-size:1.35rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;margin-top:0}.info-symbol{font-size:1.8rem;color:var(--gold)}.subtle{font-family:Arial,sans-serif;color:var(--muted)}.code-hint{background:#f3eee3;border:1px solid #ded2bc;padding:14px 16px;font-family:Arial,sans-serif;margin:22px 0}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.empty{text-align:center;padding:36px;background:#fff;border:1px solid #ded6c7;color:var(--muted)}
@media(max-width:820px){.nav{height:70px}.brand-name{font-size:1.55rem}.brand-sub{display:none}.menu{display:block}.links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--navy);padding:22px;flex-direction:column}.links.open{display:flex}.hero{min-height:0;aspect-ratio:16/9;background-position:center center;background-size:contain}.hero-copy{padding:70px 22px}.hero-inner{max-width:430px}.hero h1{font-size:3.5rem}.timeline{grid-template-columns:1fr 1fr;gap:35px 8px}.timeline:before{display:none}.cards,.stats,.info-grid{grid-template-columns:1fr;gap:52px}.hotel{grid-template-columns:1fr}.section{padding:55px 20px}.band h2{font-size:2.2rem}.admin-head{align-items:flex-start;flex-direction:column}}
@media(max-width:500px){.hero{min-height:0;aspect-ratio:16/9;background:linear-gradient(rgba(5,31,50,.36),rgba(5,31,50,.42)),none center center/contain no-repeat;background-color:#0b3554}.hero h1{font-size:3.15rem}.hero-meta{font-size:1rem}.timeline{grid-template-columns:1fr}.section h2{font-size:2.05rem}.form{margin:25px 12px;padding:28px 18px}.page-head h1{font-size:2.3rem}}

.demo-banner{background:#ead9a9;color:#173b58;text-align:center;padding:8px 14px;font:700 .72rem Arial,sans-serif;letter-spacing:.08em}
.demo-note{max-width:760px;margin:18px auto;padding:14px 16px;background:#fff7dc;border-left:3px solid var(--gold);font-family:Arial,sans-serif}

@media(max-width:820px){.hero-copy{padding:16px}.hero-inner{max-width:46%}.hero h1{font-size:clamp(1.15rem,5vw,2.2rem)}.hero-meta{font-size:.65rem}.hero-address,.hero-quote,.hero .ornament{display:none}.hero .btn{padding:8px 10px;font-size:.55rem}}

/* Hero image already contains all title text: no HTML overlay */
.hero-copy,.hero-inner{display:none!important}
.hero{background-image:none!important;background-size:contain!important;background-position:center center!important;background-repeat:no-repeat!important}

/* Finales Titelbild: vollständig sichtbar auf Desktop und Smartphone, ohne Crop/Overlay */
.hero-final{width:100%;background:#f7f3ea;line-height:0;overflow:hidden}
.hero-final img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}
@media(max-width:720px){
  .hero-final{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .hero-final img{width:100%;height:auto;min-height:0;object-fit:contain}
}


/* === Finales, flacheres Titelbild ===
   Ausschließlich assets/hero-final.png wird verwendet.
   Keine feste Hero-Höhe und kein background-size:cover:
   dadurch wird das neue Panorama nicht unnötig hoch oder beschnitten.
*/
.hero,
.hero-final {
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    background: none !important;
    overflow: hidden;
    line-height: 0;
}
.hero::before,
.hero::after,
.hero-final::before,
.hero-final::after {
    content: none !important;
    display: none !important;
}
.hero-final img,
.hero img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center;
    margin: 0;
}
@media (max-width: 720px) {
    .hero,
    .hero-final {
        height: auto;
        min-height: 0;
    }
    .hero-final img,
    .hero img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }
}
