:root{--ink:#463934;--muted:#726965;--line:#ded9d5;--paper:#fff;--cream:#f4f1eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #80694f;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}h2{font-size:clamp(36px,4vw,62px);line-height:1.12}h3{font-size:29px}p{color:var(--muted)}.wrap{width:83.4%;max-width:1440px;margin:auto}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:25px}.line-link{display:inline-block;background:none;border:0;border-bottom:1px solid;padding:0 0 7px;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.skip{position:fixed;top:8px;left:8px;padding:12px;background:white;z-index:100;transform:translateY(-150%)}.skip:focus{transform:none}header{position:absolute;top:34px;left:8.3%;right:8.3%;z-index:2;display:flex;justify-content:space-between;align-items:center;color:white}.brand{display:flex;flex-direction:column;align-items:center;font:46px/.9 Georgia,serif;letter-spacing:-.08em}.brand span{font:19px/1.4 Georgia,serif;letter-spacing:-.02em;margin-top:10px}.brand small{font:8px/2 Arial,sans-serif;letter-spacing:.32em}.header-book{font-size:12px;border-bottom:1px solid #ffffff70;padding-bottom:6px}.hero{position:relative;min-height:720px;height:95svh;background:#615348;color:white;overflow:hidden}.hero-art{position:absolute;inset:0;background:linear-gradient(130deg,#54483f,#887260 60%,#bca28b);overflow:hidden}.arch{position:absolute;bottom:14%;height:85%;width:32%;border:1px solid #eadfce30;border-radius:48% 48% 0 0;background:linear-gradient(90deg,#3f352d60,#cfbda620,#342d2660);box-shadow:20px 0 70px #291e2333}.arch.a{left:-10%;height:105%;width:40%}.arch.b{left:34%;height:92%;width:30%}.arch.c{right:-10%;height:110%;width:35%}.sun{position:absolute;right:21%;top:18%;width:100px;height:100px;border-radius:50%;background:#dfc7a44a;filter:blur(1px)}.river{position:absolute;bottom:0;width:100%;height:23%;background:linear-gradient(#8a857950,#383a36aa);border-top:1px solid #eadfce50}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#2a251f60,transparent)}.hero-copy{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);width:90%;text-align:center}.hero-copy h1{font-size:clamp(42px,5.4vw,82px);line-height:1.08}.hero-copy p{color:#f2ebe3;margin:24px auto 30px}.hero-copy .eyebrow{margin-bottom:30px}.hero-caption,.hero-number{position:absolute;bottom:55px;color:#e8e0d7;font-size:11px;letter-spacing:.15em}.hero-caption{left:8.3%}.hero-number{right:8.3%}.intro{padding:130px 0}.intro-bottom{margin:45px 0 0 36%;display:grid;grid-template-columns:1fr 1fr;gap:55px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px}.section-head p{max-width:330px}.apartments{padding:20px 0 140px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:40px}.photo{position:relative;border:0;width:100%;height:420px;display:block;overflow:hidden;background:#dad2c5}.photo-one{background:linear-gradient(120deg,#b9ab94,#e5dfd3)}.photo-two{background:linear-gradient(130deg,#a7aaa3,#d9d5cb)}.photo-frame{display:block;position:absolute;inset:13% 22%;border:1px solid #ffffffb0;border-radius:50% 50% 0 0;background:linear-gradient(90deg,#ffffff20,#ffffff70,#ffffff20);box-shadow:25px 20px 50px #64574920;transition:transform .7s}.photo:hover .photo-frame{transform:scale(1.04)}.photo-label{position:absolute;bottom:25px;left:25px;font-size:11px;letter-spacing:.13em}.photo-index{position:absolute;right:28px;top:12px;font:75px Georgia,serif;color:#ffffff60}.card-copy{padding:30px;background:#f8f7f5}.card-copy .eyebrow{margin-bottom:12px}.card-copy p:not(.eyebrow){margin:18px 0 35px}.card-actions{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px}.city{display:grid;grid-template-columns:1.1fr 1fr;background:var(--cream)}.city-art{height:630px;background:linear-gradient(#d9d4c8,#b5b5a6);position:relative;overflow:hidden}.city-art p{position:absolute;top:45px;left:12%;font:56px/1.1 Georgia,serif;letter-spacing:-.04em;color:#5b625c}.tower{position:absolute;width:16px;height:360px;left:68%;bottom:100px;background:#6c72696b}.tower:before{content:'';position:absolute;top:55px;left:-38px;width:92px;height:28px;border-radius:50%;background:#6c72696b}.buildings{position:absolute;bottom:110px;left:0;right:0;height:80px;background:repeating-linear-gradient(90deg,#8b8d7e 0 50px,#b6b7aa 50px 65px);clip-path:polygon(0 40%,10% 40%,10% 0,25% 0,25% 30%,38% 30%,38% 15%,55% 15%,55% 60%,80% 60%,80% 20%,100% 20%,100% 100%,0 100%)}.water{position:absolute;bottom:0;left:0;right:0;height:110px;background:repeating-linear-gradient(#89948b80 0 1px,#c0c6ba 1px 14px)}.city-copy{padding:100px 14%;align-self:center}.city-copy p:not(.eyebrow){margin:30px 0}.booking{padding:140px 0;text-align:center}.lead{margin:30px 0 55px}form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:25px;align-items:end;text-align:left}label{font-size:11px;letter-spacing:.1em}input,select{display:block;width:100%;min-height:46px;border:0;border-bottom:1px solid var(--ink);background:none;padding:6px 0;font-size:16px;letter-spacing:0;min-width:0}.solid{background:var(--ink);color:white;border:1px solid var(--ink);min-height:52px;padding:12px 25px;font-size:12px}.booking #booking-status{font-size:13px;margin:28px auto 22px;max-width:670px}.booking-link{margin-top:8px}.faq{padding-bottom:110px;max-width:900px}.faq h2{margin-bottom:45px}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:16px}.faq details p{padding-top:20px;max-width:730px}.closing{padding:100px 20px 120px;background:var(--cream);text-align:center}.outline{display:inline-block;padding:14px 30px;border:1px solid var(--ink);font-size:12px;margin-top:35px}footer{padding:60px 0 140px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px}footer nav{display:flex;gap:25px;align-items:center;font-size:12px}footer button{border:0;background:none;padding:0;font-size:12px}footer>p{width:100%;font-size:11px}.dock{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:8px;padding:9px;border-radius:40px;background:#625d56dc;backdrop-filter:blur(15px);color:white;z-index:5;white-space:nowrap;box-shadow:0 5px 25px #0002}.dock button,.dock a{border:0;background:#ffffff15;border-radius:30px;padding:14px 22px;color:white;font-size:11px;letter-spacing:.12em}.dock button{display:flex;gap:12px}.dock a{background:#ffffff25}dialog{border:0;padding:70px;max-width:700px;width:90%;color:var(--ink);max-height:90svh}dialog::backdrop{background:#201c1880;backdrop-filter:blur(8px)}.close{position:absolute;top:15px;right:20px;background:none;border:0;font-size:32px}dialog p:not(.eyebrow){margin-top:24px}#menu nav{display:grid;gap:20px;font:36px/1.2 Georgia,serif}#menu{max-width:800px}body:has(dialog[open]){overflow:hidden}@media(max-width:760px){.wrap{width:88%}header{left:6%;right:6%;top:25px}.header-book{font-size:10px}.brand{font-size:36px}.brand span{font-size:16px}.hero{min-height:630px;height:90svh}.hero-copy h1{font-size:44px}.hero-copy .eyebrow{font-size:9px}.hero-caption,.hero-number{bottom:95px}.intro{padding:80px 0}.intro-bottom{margin:30px 0 0;grid-template-columns:1fr;gap:22px}.section-head{display:block}.section-head p{margin-top:25px}.cards{grid-template-columns:1fr;gap:35px}.photo{height:340px}.apartments{padding-bottom:80px}.card-copy{padding:25px}.card-actions{flex-wrap:wrap}.city{grid-template-columns:1fr}.city-art{height:380px}.city-art p{font-size:44px}.tower{height:250px}.city-copy{padding:65px 6%}.booking{padding:80px 0}form{grid-template-columns:1fr 1fr;gap:25px 18px}.solid{grid-column:1/-1}form label:nth-child(3){grid-column:1/-1}.faq{padding-bottom:70px}.closing{padding:70px 20px 80px}footer nav{flex-wrap:wrap;gap:20px}dialog{padding:55px 26px}.dock button,.dock a{padding:13px 16px;font-size:10px}.dock{bottom:15px}#menu nav{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* UPDATE 02 — Fotografie und Seitenaufbau nach der gelieferten Referenz */
img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0;position:relative;overflow:hidden}figcaption,.image-note{position:absolute;bottom:15px;right:18px;z-index:1;background:#ffffffd9;color:#463934;padding:4px 10px;font-size:10px;letter-spacing:.06em}.brand{letter-spacing:normal}.brand-wordmark{display:block!important;font:400 20px/1.1 Arial,Helvetica,sans-serif!important;letter-spacing:.22em!important;text-align:center;margin:0!important}.brand-wordmark>span{display:block;font:400 13px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.43em;margin:5px 0 0 5px}.brand small{font-size:8px;margin-top:8px;letter-spacing:.35em}.header-menu{display:flex;align-items:center;gap:14px;background:none;border:1px solid #ffffff70;color:inherit;padding:13px 19px;font-size:11px;letter-spacing:.18em}.menu-lines{width:19px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;display:block}.hero{height:100svh;min-height:650px}.hero-image{position:absolute;inset:0}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(#18130d45,#18130d40 40%,#18130d70)}.hero-image img{object-position:50% 55%}.hero-copy h1{font-size:clamp(40px,4.3vw,68px);line-height:1.15;letter-spacing:-.04em}.hero-copy{top:49%}.hero>.image-note{bottom:27px}.hero-caption,.hero-number{bottom:105px}.hero-number{display:none}.location-story{padding:130px 0}.land-story{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto auto;gap:40px 24px;align-items:start}.story-copy{grid-column:1/6;grid-row:1;padding-top:35px;max-width:490px}.story-copy p:not(.eyebrow){margin-top:28px;max-width:420px}.story-copy .line-link{margin-top:28px}.story-small{grid-column:8/12;grid-row:1;aspect-ratio:4/5}.story-landscape{grid-column:3/11;grid-row:2;margin-top:30px;aspect-ratio:1.75}.centered{text-align:center}.section-intro{margin-bottom:65px}.section-intro>p:not(.eyebrow){margin-top:25px}.apartments{padding-top:0}.cards{gap:28px;max-width:1150px;margin:auto}.room-list-image{display:block;position:relative;aspect-ratio:1.5;overflow:hidden}.room-list-image img{transition:transform .8s}.room-list-image:hover img{transform:scale(1.04)}.room-list-copy{padding:32px 30px;background:#f7f7f7}.room-list-copy h3{margin-bottom:22px}.room-facts{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px}.room-facts li{display:flex;gap:8px;align-items:center}.room-facts span{font-size:22px}.stay-form{display:block;text-align:left}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stay-form input{font-size:14px;border-color:#aaa;min-height:40px}.quote-note{font-size:12px;margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.room-actions{display:flex;gap:10px;margin-top:25px}.room-actions .outline,.room-actions .solid{flex:1;margin:0;min-height:48px;text-align:center;padding:13px 14px;font-size:10px;letter-spacing:.09em}.form-status{font-size:11px;margin-top:14px;min-height:18px}.city-photo{height:620px}.city-copy{padding:90px 13%}.booking>.stay-form{max-width:840px;margin:auto}.booking>.stay-form>label{display:block;margin-top:25px}.booking .room-actions{justify-content:center}.booking .room-actions .solid{flex:0 1 340px}.booking-notice{font-size:12px;max-width:650px;margin:28px auto}.booking-dock{padding:10px 14px;gap:5px}.booking-dock a{background:none;font-size:10px;letter-spacing:.15em}.booking-dock .dock-book{background:#fff;color:#463934;margin-left:8px}.dock-divider{height:20px;width:1px;background:#ffffff45;align-self:center}.apartment-page header{position:relative;top:auto;left:auto;right:auto;justify-content:center;padding:40px 8.3%;height:145px;color:var(--ink)}.apartment-page header .header-menu{position:absolute;right:8.3%;top:45px;border-color:var(--line)}.page-intro{text-align:center;padding:70px 0 60px;max-width:800px}.page-intro h1{font-size:clamp(45px,4.5vw,72px);line-height:1.15}.page-intro>p:not(.eyebrow){margin:30px auto;max-width:640px}.room-detail-facts{display:flex;gap:50px;justify-content:center;font-size:13px;padding-bottom:45px}.page-wide-image{aspect-ratio:1.8}.room-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.room-gallery figure{aspect-ratio:1.35}.room-booking-section{max-width:950px}.room-booking-section>.stay-form{border:1px solid var(--line);padding:35px 40px}.room-details{padding:0 0 100px}.detail-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.detail-columns article{border-top:1px solid var(--line);padding-top:30px}.detail-columns h3{font-size:25px;margin-bottom:25px}.detail-columns p{font-size:14px;margin-bottom:15px}.other-apartment{border-top:1px solid var(--line);padding:80px 0 110px;text-align:center}.other-apartment .line-link{margin-top:30px}.dock{bottom:max(20px,env(safe-area-inset-bottom))}#menu nav{font-size:clamp(25px,3vw,38px);gap:15px}
@media(max-width:760px){.brand-wordmark{font-size:15px!important;letter-spacing:.17em!important}.brand-wordmark>span{font-size:11px;letter-spacing:.32em}.brand small{font-size:7px}.header-menu{padding:12px;font-size:10px;gap:10px}.hero{height:100svh;min-height:600px}.hero-copy h1{font-size:38px}.hero-copy{top:49%}.hero-copy p{font-size:14px}.hero-caption{bottom:110px;font-size:10px}.hero>.image-note{bottom:24px}.location-story{padding:75px 0}.land-story{grid-template-columns:repeat(6,1fr);gap:30px 15px}.story-copy{grid-column:1/7;padding-top:0}.story-small{grid-column:3/7;grid-row:2;aspect-ratio:1.05}.story-landscape{grid-column:1/6;grid-row:3;aspect-ratio:1.3;margin-top:0}.section-intro{margin-bottom:35px}.cards{gap:30px}.room-list-copy{padding:25px 22px}.room-facts{gap:15px;font-size:11px}.date-fields{gap:16px}.room-actions{flex-wrap:wrap}.room-actions .solid{grid-column:auto}.city-photo{height:380px}.booking-dock .dock-home{display:none}.booking-dock .dock-divider{display:none}.booking-dock a{padding:13px 12px;font-size:10px}.booking-dock{max-width:calc(100% - 24px);padding:8px}.booking-dock .dock-book{margin-left:0}.apartment-page header{height:120px;justify-content:flex-start;padding:30px 6%}.apartment-page header .header-menu{right:6%;top:35px}.page-intro{padding:50px 0 40px}.room-detail-facts{gap:22px;font-size:11px;padding-bottom:30px}.page-wide-image{aspect-ratio:1.2}.room-gallery{gap:12px;margin-top:12px}.room-gallery figure{aspect-ratio:.9}.room-gallery figcaption{right:6px;bottom:6px;font-size:8px;max-width:90%;padding:3px 5px}.room-booking-section>.stay-form{padding:25px 20px}.detail-columns{grid-template-columns:1fr;gap:25px}.room-details{padding-bottom:70px}.other-apartment{padding:65px 0 80px}footer{padding-bottom:150px}}
/* UPDATE 03 — Hintergrund bei 50 %, Buchungsdock nach neuer HTML-Referenz */
.hero{background:#211d19}.hero-image img{opacity:.5}.hero-image:after{background:none}
.room-booking-dock{width:min(1120px,calc(100% - 40px));max-width:none;padding:10px 14px;border-radius:60px;align-items:center;gap:18px;background:rgba(74,73,67,.88);bottom:max(24px,env(safe-area-inset-bottom));color:white}.room-booking-dock>.dock-menu{flex:0 0 auto;padding:0 20px;min-height:46px;height:46px;align-self:center;border-radius:40px;background:#27292370;color:white;font-size:12px;letter-spacing:.14em;display:flex;gap:12px;align-items:center}.dock-menu>span{font-size:20px}.dock-booking.stay-form{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,.9fr) minmax(0,.8fr) auto;gap:18px;align-items:center;flex:1;min-width:0;position:relative;margin:0;text-align:left}.dock-booking .date-fields{gap:18px}.dock-booking label{font:10px/1.2 Arial,sans-serif;display:flex;flex-direction:column;gap:2px;color:#fff;min-width:0;letter-spacing:0}.dock-booking input,.dock-booking select{min-width:0;width:100%;height:24px;min-height:24px;font:12px/1.3 Arial,sans-serif;color:white;border:0;border-bottom:1px solid #ffffff55;background:transparent;border-radius:0;padding:2px 0;color-scheme:dark}.dock-booking select option{color:#171817;background:white}.dock-booking input::-webkit-date-and-time-value{text-align:left}.floating-dock .dock-submit{background:white;color:#23231f;padding:5px 20px;min-height:46px;height:46px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:11px;letter-spacing:.12em;border:0;border-radius:35px;white-space:nowrap}.dock-submit>span:first-child{font-size:9px;letter-spacing:.04em}.dock-booking>.form-status{display:none;margin:0}.dock-booking>.form-status:not(:empty){display:block;position:absolute;bottom:calc(100% + 20px);left:0;right:0;padding:12px 16px;color:white;background:#463934;border-radius:8px;box-shadow:0 4px 18px #0002;font-size:12px;white-space:normal}.floating-dock .dock-mobile{display:none}.menu-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:70px 8.3% 120px;background:white}.menu-dialog>.eyebrow{text-align:center}.menu-content{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;margin-top:55px}.menu-photo{height:55vh;position:relative}.menu-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0007,transparent)}.menu-photo>span{position:absolute;z-index:1;bottom:45px;left:30px;font:32px/1.2 Georgia,serif;color:white}.menu-photo figcaption{z-index:2}.menu-dialog .close{position:fixed;bottom:25px;left:50%;right:auto;top:auto;transform:translateX(-50%);border-radius:40px;background:#686965;color:white;width:60px;height:46px;font-size:28px}
@media(max-width:1000px){.room-booking-dock{width:calc(100% - 24px);gap:12px}.dock-booking.stay-form{grid-template-columns:minmax(0,2fr) minmax(0,.65fr) minmax(0,.8fr) auto;gap:10px}.dock-booking .date-fields{gap:10px}.floating-dock .dock-submit{padding-left:12px;padding-right:12px}.room-booking-dock>.dock-menu{padding:0 14px;font-size:10px}}
@media(max-width:760px){.room-booking-dock{width:auto;max-width:calc(100% - 24px);bottom:max(24px,env(safe-area-inset-bottom));gap:8px;padding:10px}.room-booking-dock>.dock-menu{padding:0 20px;font-size:12px;height:44px;min-height:44px}.dock-booking.stay-form{display:block;flex:none}.dock-booking>.date-fields,.dock-booking>label{display:none}.floating-dock .dock-desktop{display:none}.floating-dock .dock-mobile{display:flex;padding:5px 16px;font-size:10px;letter-spacing:.12em;height:44px;min-height:44px}.menu-dialog{padding:60px 6% 100px}.menu-content{display:block;margin-top:45px}.menu-photo{display:none}.menu-dialog .close{bottom:25px}#menu nav{gap:23px}}
#menu.menu-dialog{max-width:none;width:100%;max-height:none}#menu.menu-dialog .menu-content nav{font:400 clamp(29px,3.2vw,52px)/1.2 Georgia,serif;letter-spacing:-.04em}
/* UPDATE 04 */
.hero-image img{opacity:.32}.hero-image:after{background:rgba(10,9,8,.12)}.hero .image-note,.hero-caption{display:none}.header-menu{border:0;background:transparent;padding:12px 0;gap:13px}.menu-lines{width:25px;height:13px}.header-menu{font-size:12px}.apartment-page header .header-menu{border:0}
.room-booking-dock{gap:20px}.dock-apartment-choice{display:flex;flex:0 0 155px;flex-direction:column;gap:5px;color:white;padding:4px 12px;border-right:1px solid #ffffff35}.dock-apartment-choice>span{font-size:8px;letter-spacing:.13em}.dock-apartment-choice select{margin:0;border:0;min-height:24px;height:24px;padding:0;color:white;font-size:13px;color-scheme:dark}.dock-apartment-choice option{background:white;color:#463934}.dock-booking.stay-form{grid-template-columns:minmax(0,2.3fr) minmax(0,.9fr) auto}.dock-submit>span:first-child{font-size:11px;letter-spacing:.12em}
.icon-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 16px;padding:6px 0 14px}.icon-facts li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:11px}.icon-facts svg{width:40px;height:40px;flex-shrink:0}.icon-facts li>span{font-size:12px;display:flex;flex-direction:column;gap:3px}.icon-facts strong{font-weight:400;font-size:12px}.icon-facts small{font-size:10px;line-height:1.4;color:var(--muted)}
.image-banner{position:relative;display:block;margin:0 180px;height:720px;background:#211d19;overflow:hidden}.image-banner .city-photo{position:absolute;inset:0;width:100%;height:100%}.image-banner .city-photo img{opacity:.32}.image-banner .city-photo:after{content:'';position:absolute;inset:0;background:rgba(10,9,8,.12)}.image-banner .city-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:60px;color:white}.image-banner .city-copy p{color:#f1ece6;max-width:560px}.image-banner h2{font-size:clamp(38px,4vw,66px)}.image-banner .line-link{color:white}.location-story{padding-top:220px;padding-bottom:220px}.apartments{padding-bottom:230px}.booking{padding-top:230px;padding-bottom:230px}.faq{padding-bottom:200px}.closing{padding-top:190px;padding-bottom:210px}.room-details{padding-bottom:190px}.other-apartment{padding-top:170px;padding-bottom:200px}.room-reference-gallery{margin-top:90px}.room-list-copy{padding:36px 30px}
@media(max-width:1100px){.image-banner{margin:0 70px}.dock-apartment-choice{flex-basis:135px;padding-left:5px}.dock-booking.stay-form{grid-template-columns:minmax(0,2fr) minmax(0,.7fr) auto}}
@media(max-width:760px){.image-banner{margin:0 6%;height:560px}.image-banner .city-copy{padding:35px 22px}.image-banner h2{font-size:37px}.room-booking-dock{gap:10px;max-width:calc(100% - 20px)}.dock-apartment-choice{flex-basis:auto;padding:0 10px 0 6px;max-width:150px;gap:3px}.dock-apartment-choice>span{font-size:8px}.dock-apartment-choice select{font-size:12px}.dock-booking.stay-form{display:block}.icon-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 10px}.icon-facts svg{width:36px;height:36px}.icon-facts strong{font-size:11px}.icon-facts small{font-size:9px}.location-story{padding:165px 0}.apartments{padding-bottom:170px}.booking{padding:170px 0}.faq{padding-bottom:160px}.closing{padding:160px 20px 170px}.room-details{padding-bottom:160px}.other-apartment{padding:155px 0 170px}.room-reference-gallery{margin-top:90px}}
/* UPDATE 05 — runde Container und feste Faktenkacheln */
:root{--radius:26px;--radius-small:16px}.header-menu{border:1px solid #ffffff28;background:rgba(66,66,62,.68);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:50px;padding:15px 23px;color:white;box-shadow:0 5px 24px #00000012}.apartment-page header{justify-content:flex-start}.apartment-page header .header-menu{border:1px solid #ffffff28;color:white;background:rgba(66,66,62,.68)}
.room-list-card{border-radius:var(--radius);overflow:hidden;background:#f7f7f7}.room-list-image{border-radius:var(--radius) var(--radius) 0 0}.room-list-copy{border-radius:0 0 var(--radius) var(--radius)}.icon-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:0 0 14px;align-items:stretch}.icon-facts li{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;margin:0;padding:19px 9px 18px;background:#fff;border:1px solid #e7e2dc;border-radius:var(--radius-small);min-height:144px;overflow:hidden}.fact-icon-box{height:46px;width:46px;flex:0 0 46px;display:flex;align-items:center;justify-content:center}.icon-facts svg{display:block;width:36px;height:36px;flex:0 0 36px}.icon-facts li>span{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;width:100%;line-height:1.35}.icon-facts strong{font-size:11px;font-weight:400}.icon-facts small{font-size:10px;max-width:130px;overflow-wrap:anywhere}.draft-facts{font-size:11px!important;color:#8b8178!important;line-height:1.5;margin:16px 0 25px!important}.apartment-facts{padding:0 0 45px;max-width:1150px}.apartment-facts .icon-facts{grid-template-columns:repeat(6,minmax(0,1fr))}.apartment-facts>.draft-facts{text-align:center}
.story-small,.story-landscape,.city-photo,.page-wide-image,.room-gallery figure,.menu-photo,.image-banner{border-radius:var(--radius)}.image-banner .city-photo{border-radius:inherit}.outline,.solid{border-radius:50px}.stay-form input,.stay-form select{border:1px solid #ded9d5;border-radius:12px;padding:8px 12px;background:white;min-height:44px}.dock-booking input,.dock-booking select{background:transparent;border:0;border-bottom:1px solid #ffffff55;border-radius:0;padding:2px 0;min-height:24px}.dock-apartment-choice select{border:0;border-radius:0;background:transparent;padding:0}
.booking{padding:65px 60px;background:#f4f1eb;border-radius:var(--radius);margin-top:90px;margin-bottom:180px}.room-booking-section>.stay-form{border-radius:20px;background:white;border:1px solid #e3ddd5}.faq{background:#f4f1eb;padding:55px;border-radius:var(--radius);margin-bottom:180px}.faq h2{margin-bottom:36px}.faq details{background:white;border:1px solid #e3ddd5;border-radius:var(--radius-small);padding:20px 24px;margin-top:14px}.faq details:last-child{border:1px solid #e3ddd5}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:25px;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{padding-top:16px}.closing{border-radius:var(--radius);margin:0 4%}.description-container{background:#f4f1eb;border-radius:var(--radius);padding:65px;display:grid;grid-template-columns:1.2fr 1fr;gap:60px}.description-copy>p:not(.eyebrow){margin-top:25px}.description-facts{background:white;padding:32px;border-radius:20px}.description-facts h3{margin-bottom:24px}.description-facts dl{margin:0}.description-facts dl>div{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;padding:13px 0;border-bottom:1px solid #e9e4dd;font-size:13px}.description-facts dt{color:#8b8178}.description-facts dd{margin:0}.other-apartment{border-radius:var(--radius);background:#f8f6f2;border:0;padding:90px 35px;margin-bottom:90px}dialog:not(.menu-dialog){border-radius:var(--radius)}
@media(max-width:1100px){.apartment-facts .icon-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.description-container{padding:40px;gap:35px}}
@media(max-width:760px){.header-menu{padding:13px 18px;font-size:10px}.icon-facts{gap:9px}.icon-facts li{padding:15px 6px;min-height:145px;gap:8px}.icon-facts small{font-size:9px}.icon-facts strong{font-size:10px}.booking{padding:45px 22px;margin-top:90px;margin-bottom:180px}.faq{padding:35px 22px;margin-bottom:160px}.faq details{padding:17px}.faq summary{font-size:14px}.description-container{padding:28px 22px;grid-template-columns:1fr;gap:30px}.description-facts{padding:25px 20px}.description-facts dl>div{font-size:12px}.closing{padding:90px 20px;margin:0 6%}.other-apartment{padding:70px 25px}.apartment-page header .brand{align-items:flex-start}.apartment-page header .brand-wordmark{text-align:left}}
/* UPDATE 06: framed hero and side drawer */
.menu-icon{display:block;width:22px;height:22px;flex:0 0 22px}.header-menu{gap:12px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.hero{margin:24px;border-radius:28px;min-height:600px;height:calc(100svh - 48px);overflow:hidden}.hero-image img{opacity:.22}.hero-image:after{background:none}body:not(.apartment-page)>header{top:58px;left:calc(24px + 6%);right:calc(24px + 6%)}
#menu.menu-dialog{position:fixed;inset:16px 16px 16px auto;margin:0;width:min(480px,calc(100% - 32px));height:calc(100dvh - 32px);max-width:480px;max-height:calc(100dvh - 32px);border:1px solid #ffffff70;border-radius:28px;padding:65px 40px 35px;background:rgba(247,245,240,.86);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:-15px 0 80px #201c1826;overflow:auto;color:#463934}#menu.menu-dialog::backdrop{background:rgba(28,25,22,.28);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}#menu.menu-dialog>.eyebrow{text-align:left;margin-bottom:32px}#menu.menu-dialog .menu-content{display:block;margin-top:0}#menu.menu-dialog .menu-content nav{display:grid;font:400 30px/1.25 Georgia,serif;gap:8px;letter-spacing:-.035em}#menu.menu-dialog nav a{padding:12px 8px;border-radius:12px;transition:background .2s,transform .2s}#menu.menu-dialog nav a:hover{background:#ffffff75;transform:translateX(4px)}#menu.menu-dialog .menu-photo{display:block;height:190px;margin-top:30px;border-radius:18px}#menu.menu-dialog .menu-photo>span{font-size:25px;bottom:25px;left:22px}#menu.menu-dialog .close{position:absolute;top:20px;right:20px;bottom:auto;left:auto;transform:none;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#ffffffa0;color:#463934;font-size:26px;line-height:1}#menu.menu-dialog[open]{animation:drawer-in .3s ease-out}@keyframes drawer-in{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:760px){.hero{margin:24px;min-height:570px;height:calc(100svh - 48px);border-radius:24px}.hero-copy h1{font-size:clamp(29px,7vw,38px)}.hero-copy .eyebrow{font-size:8px}.hero-copy p{max-width:260px}body:not(.apartment-page)>header{top:47px;left:44px;right:44px}.header-menu{padding:12px 15px;font-size:9px}.menu-icon{width:19px;height:19px;flex-basis:19px}.brand-wordmark{font-size:12px!important}.brand-wordmark>span{font-size:9px}.brand small{font-size:6px}#menu.menu-dialog{padding:65px 25px 25px}#menu.menu-dialog .menu-content nav{font-size:28px}}
@media(prefers-reduced-motion:reduce){#menu.menu-dialog[open]{animation:none}#menu.menu-dialog nav a:hover{transform:none}}
/* UPDATE 07 — Textmodule, Burgplatz-Karten und Abstände */
.hero{margin:16px;height:calc(100svh - 32px);border-radius:26px}body:not(.apartment-page)>header{top:32px;left:32px;right:32px}.apartment-page header{padding-left:32px;padding-right:32px}.apartment-page header .header-menu{top:32px;right:32px}
.room-booking-dock{bottom:max(32px,env(safe-area-inset-bottom));width:min(1120px,calc(100% - 64px));max-width:calc(100% - 64px)}
.text-story{max-width:950px;text-align:center;margin:0 auto 180px;padding:0 20px}.text-story h2{font-size:clamp(35px,3.5vw,56px)}.text-story>p{max-width:700px;margin:32px auto 0;font-size:17px;line-height:1.75}.apartment-story{width:83.4%;max-width:1150px;margin-top:90px;margin-bottom:90px;padding:65px 70px;background:#f4f1eb;border-radius:26px}.location-map{max-width:1150px;margin:0 auto 160px}.map-intro{text-align:center;margin:0 auto 50px;max-width:700px}.map-intro>p:not(.eyebrow){margin-top:30px}.map-frame{width:100%;height:480px;overflow:hidden;border-radius:26px;border:1px solid #e4ddd4;background:#f4f1eb}.map-frame iframe{display:block;width:100%;height:100%}.location-map>.line-link{display:block;width:fit-content;margin:25px auto 0}.apartment-map{background:#f4f1eb;padding:55px;border-radius:26px;width:83.4%}.apartment-map .map-intro h2{font-size:clamp(35px,3.5vw,56px)}.home-map{margin-top:0}.apartment-map .map-frame{height:450px;background:#fff}
@media(max-width:760px){.hero{margin:16px;height:calc(100svh - 32px);min-height:570px}.header-menu{padding:12px 15px}body:not(.apartment-page)>header{top:32px;left:32px;right:32px}.apartment-page header{padding-left:32px;padding-right:32px}.apartment-page header .header-menu{top:32px;right:32px}.room-booking-dock{bottom:max(32px,env(safe-area-inset-bottom));width:auto;max-width:calc(100% - 64px)}.text-story{margin-bottom:160px;padding:0 10px}.text-story>p{font-size:15px;margin-top:25px}.apartment-story{width:88%;padding:40px 24px;margin-top:90px;margin-bottom:90px}.location-map{width:88%;margin-bottom:120px}.map-frame{height:380px;border-radius:22px}.apartment-map{width:88%;padding:35px 22px}.apartment-map .map-frame{height:360px}.map-intro{margin-bottom:35px}}
/* UPDATE 08 — geprüfte Abstände und schmale Bildschirmbreiten */
body:not(.apartment-page)>header{align-items:flex-start}
.header-menu,.apartment-page header .header-menu{border:8px solid rgba(143,141,132,.36);background:rgba(48,48,42,.76);background-clip:padding-box;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:13px 20px;border-radius:50px}
.room-booking-dock{left:32px;right:32px;bottom:32px;transform:none;width:auto;max-width:none}
@media(max-width:760px){
 .header-menu,.apartment-page header .header-menu{border-width:6px;padding:11px 15px}
 .room-booking-dock{left:32px;right:32px;bottom:32px;width:auto;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px}
 .dock-apartment-choice{min-width:0;max-width:none;padding:0 8px 0 4px}
 .dock-apartment-choice>span{font-size:7px;letter-spacing:.08em;white-space:normal}
 .dock-apartment-choice select{font-size:11px;width:100%}
 .floating-dock .dock-mobile{font-size:9px;letter-spacing:.08em;padding:5px 12px}
 .dock-booking.stay-form{min-width:0}
 .dock-booking>.form-status:not(:empty){left:auto;right:0;width:calc(100vw - 64px)}
}
/* UPDATE 09 — zusätzlicher Text unter dem Umgebungsmodul */
.surroundings-story{margin-top:180px;margin-bottom:180px}
.form-status:empty{display:none}
.room-list-copy .date-fields{margin-top:26px}
@media(max-width:760px){.surroundings-story{margin-top:160px;margin-bottom:160px}}
/* UPDATE 10 — Menü-Kacheln, freie Texte und Gästeauswahl */
#menu.menu-dialog{box-shadow:none}
#menu.menu-dialog::backdrop{background:rgba(16,14,12,.68);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#menu.menu-dialog .menu-content nav{font-size:27px}
.menu-apartments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}
#menu.menu-dialog a.menu-apartment{display:block;overflow:hidden;background:#fff;border:1px solid #e3ddd5;border-radius:18px;padding:0;box-shadow:none}
#menu.menu-dialog .menu-apartment img{display:block;aspect-ratio:1.35;width:100%;height:auto;object-fit:cover;opacity:1;filter:none}
#menu.menu-dialog .menu-apartment>span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px;font:400 17px/1.25 Georgia,serif;color:#463934}
.menu-contacts{margin-top:26px;padding-top:24px;border-top:1px solid #bfb6ad75}
.menu-contacts>.eyebrow{margin-bottom:15px;font-size:10px}
#menu.menu-dialog a.menu-contact{display:flex;align-items:center;gap:13px;padding:12px 0;line-height:1.3}
.menu-contact svg{width:22px;height:22px;flex:0 0 22px}
.menu-contact>span{display:flex;flex-direction:column;gap:5px;min-width:0}
.menu-contact strong{font-size:12px;font-weight:400}.menu-contact small{font-size:13px;color:#726965;overflow-wrap:anywhere}
.menu-contact[aria-disabled="true"]{cursor:default}
.text-story.apartment-story{background:none;border:0;border-radius:0;box-shadow:none;padding:0 20px;margin-top:90px;margin-bottom:180px}
.stay-form>.guest-field{display:block;margin-top:20px}
.dock-booking.stay-form>.guest-field{display:flex;margin-top:0}
@media(max-width:760px){
 .text-story.apartment-story{padding:0 10px;margin-top:90px;margin-bottom:160px}
 #menu.menu-dialog .menu-content nav{font-size:25px}
 .menu-apartments{gap:10px}#menu.menu-dialog .menu-apartment>span{padding:12px;font-size:16px}
 .room-booking-dock{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:8px}
 .dock-booking.stay-form{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:8px}
 .dock-booking.stay-form>.dock-guest-field{display:flex;margin:0}
 .dock-guest-field select{width:44px;min-width:0}
 .floating-dock .dock-mobile{padding:5px 8px;font-size:8px;letter-spacing:.03em}
 .dock-apartment-choice{padding-right:5px}.dock-apartment-choice select{font-size:10px}
}
/* Kompaktere, zentrierte Buchungsleiste */
.room-booking-dock{left:50%;right:auto;transform:translateX(-50%);width:min(1000px,calc(100% - 64px));max-width:1000px;bottom:32px}
/* Buchungsstrecke */
[hidden]{display:none!important}
.checkout-intro{text-align:center;padding:60px 0 45px;max-width:1000px}.checkout-intro h1{font-size:clamp(40px,4.5vw,68px)}.checkout-intro>p:not(.eyebrow){margin-top:24px}.checkout-steps{list-style:none;display:flex;justify-content:center;gap:38px;padding:0;margin:40px 0 0;font-size:13px}.checkout-steps li{display:flex;align-items:center;gap:10px;color:#827a72}.checkout-steps span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;border:1px solid #cbc2b8}.checkout-steps [aria-current=step]{color:#463934}.checkout-steps [aria-current=step] span{background:#463934;border-color:#463934;color:white}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px;max-width:1150px;align-items:start}.checkout-panel{background:#f4f1eb;border-radius:26px;padding:42px}.checkout-panel h2{font-size:36px;margin-bottom:30px}.checkout-panel form{display:block}.checkout-panel form>label{display:block;margin-bottom:24px}.checkout-panel input,.checkout-panel select{background:white;border:1px solid #ded9d5;border-radius:12px;padding:10px 12px;min-height:48px;font-size:15px}.checkout-panel .date-fields{margin-bottom:24px}.checkout-panel .solid{width:100%;margin-top:10px}.journey-error{font-size:13px;color:#934c34;margin:0 0 20px}.journey-error:empty{display:none}.checkout-summary{background:#f8f6f2;border:1px solid #e7e0d7;border-radius:26px;overflow:hidden}.checkout-summary>img{height:235px}.summary-body{padding:30px}.summary-body h2{font-size:29px;margin-bottom:8px}.summary-body>.eyebrow{margin-bottom:15px}.summary-body dl{margin:25px 0}.summary-body dl>div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #e0d8ce;font-size:14px}.summary-body dd{margin:0}.summary-body dt{color:#82786e}.checkout-small{font-size:12px;line-height:1.6;margin-top:25px}.provider-status{background:white;border:1px solid #e2dacf;border-radius:16px;padding:20px;margin:26px 0;font-size:14px;color:#726965}.provider-link{display:block;text-align:center}.checkout-panel .outline{margin-top:20px}.checkout-help{padding:60px 0 100px;text-align:center}.booking-page footer{padding-bottom:70px}
@media(max-width:760px){.checkout-intro{padding-top:35px}.checkout-steps{gap:18px;font-size:11px}.checkout-steps span{width:28px;height:28px}.checkout-layout{grid-template-columns:1fr}.checkout-panel{padding:30px 22px}.checkout-panel h2{font-size:30px}.checkout-summary>img{height:220px}.summary-body{padding:25px}.checkout-intro h1{font-size:38px}}
/* UPDATE 11 — einheitlicher Sektionsrhythmus unterhalb der Einstiegsbereiche.
   Nur Außenabstände normalisieren; Hero und Container-Innenabstände erhalten. */
:root{--section-gap:180px}
#main>section+section{margin-top:var(--section-gap);margin-bottom:0}
#main>:is(.location-story,.apartments,.apartment-facts,.room-details,.checkout-help){padding-top:0;padding-bottom:0}
#main>:is(.location-story,.apartments,.apartment-facts,.room-details,.text-story,.checkout-help){display:flow-root}
#main+footer{margin-top:var(--section-gap);padding-top:0}
@media(max-width:760px){:root{--section-gap:120px}}
/* UPDATE 12 — Originalfotos und vollständige Apartmentnamen */
.room-list-copy h3{min-height:2.4em;line-height:1.2}
.room-reference-gallery .room-gallery figure{aspect-ratio:3/4}
.gallery-more{margin-top:28px}
.gallery-more>summary{width:fit-content;margin:auto;padding:14px 26px;border:1px solid var(--line);border-radius:40px;font-size:13px;list-style:none}
.gallery-more>summary::-webkit-details-marker{display:none}
.gallery-more>summary:after{content:' +';margin-left:12px}
.gallery-more[open]>summary:after{content:' −'}
.property-license,.property-policy{font-size:12px;line-height:1.65;margin-top:24px}
.description-copy>.property-license{font-size:11px;overflow-wrap:anywhere}
.summary-apartment-details{font-size:13px;margin-top:12px}
.room-reference-gallery .page-wide-image img{object-position:50% 52%}
.image-banner .city-photo img{object-position:50% 40%}
@media(max-width:760px){.room-list-copy h3{min-height:0}.menu-apartment>span{overflow-wrap:anywhere}}

/* UPDATE 14 — official Smoobu booking form, loaded after an explicit action. */
.checkout-layout.provider-active{grid-template-columns:1fr;max-width:1150px}
.provider-active .checkout-summary{order:-1;display:grid;grid-template-columns:190px 1fr}
.provider-active .checkout-summary>img{height:100%;min-height:210px}
.provider-active .summary-body{padding:24px 30px}
.provider-active .summary-body h2{font-size:24px}
.provider-active .summary-body dl{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:15px 0}
.provider-active .summary-body dl>div{display:block;padding:8px 0}
.provider-active .summary-body dd{margin-top:4px}
.provider-active .summary-body .checkout-small{margin-top:10px}
.provider-active .checkout-panel{padding:35px}
.provider-active #provider-panel>h2{font-size:34px;margin-bottom:18px}
.provider-active .provider-status{margin:20px 0;padding:16px 20px}
.smoobu-embed-shell{background:#fff;border:1px solid #e5ded5;border-radius:22px;padding:16px;margin:24px 0;min-height:360px;overflow:hidden}
.smoobu-embed-shell[hidden]{display:none}
#apartmentIframeAll{width:100%;min-width:0}
#apartmentIframeAll iframe{display:block;width:100%;border:0;min-height:680px;margin:auto;background:white}
.embed-loading{padding:18px;color:#726965;font-size:14px}
.provider-selection-note{max-width:760px}
.provider-link{width:fit-content;max-width:100%;white-space:normal}
@media(max-width:760px){.provider-active .checkout-panel{padding:25px 14px}.provider-active .checkout-summary{grid-template-columns:1fr}.provider-active .checkout-summary>img{height:170px;min-height:0}.provider-active .summary-body{padding:22px}.provider-active .summary-body dl{grid-template-columns:1fr 1fr;gap:10px 18px}.smoobu-embed-shell{padding:4px;border-radius:16px}#apartmentIframeAll iframe{min-height:850px}.provider-active #provider-panel>h2{font-size:28px}}
