@font-face{font-family:Manrope;src:url('fonts/Manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url('fonts/Inter.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--red:#ac4944;--ink:#353432;--muted:#706a65;--paper:#f6f3ee;--line:#ded8d1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 "Inter",sans-serif}a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ac4944;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"Inter",sans-serif;font-weight:400}h1{font-size:clamp(42px,5.1vw,76px);line-height:1.08;letter-spacing:-2px}h2{font-size:clamp(32px,3.5vw,48px);line-height:1.15;letter-spacing:-1px}h3{font-size:25px;line-height:1.25}.wrap{width:min(1240px,90%);margin:auto}.eyebrow{font-size:11px;letter-spacing:2.8px;text-transform:uppercase;display:block;margin-bottom:20px}.eyebrow:after{content:'';display:inline-block;width:40px;height:1px;background:var(--red);vertical-align:middle;margin-left:15px}.btn{display:inline-flex;gap:22px;align-items:center;justify-content:center;background:var(--red);color:white;border:1px solid var(--red);padding:14px 23px;text-decoration:none;font-size:14px;transition:background .2s}.btn:hover{background:#8b3734}.textlink{font-size:14px;text-decoration:none;border-bottom:1px solid #bfa49c;padding:8px 0}.top{background:#393735;color:#f6f3ee;text-align:center;padding:7px 15px;font-size:11px;letter-spacing:.6px}.header{background:#fff;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}.header-inner{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{width:250px;height:auto}.nav{display:flex;align-items:center;gap:30px;font-size:13px}.nav a{text-decoration:none}.nav a:hover{color:var(--red)}.nav .btn:hover{color:white}.menu{display:none;background:none;border:1px solid var(--line);padding:9px 13px}.hero{padding:34px 0 0}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;min-height:565px;position:relative}.hero-copy{padding:38px 40px 40px 0;z-index:1}.hero-copy p{margin:26px 0 30px;max-width:420px;color:var(--muted);font-size:17px}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.hero-photo{height:565px;width:100%;object-fit:cover;object-position:52% center}.hero-caption{position:absolute;bottom:18px;right:18px;color:white;background:#353432d9;padding:5px 12px;font-size:11px;letter-spacing:1px}.facts{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0;border-bottom:1px solid var(--line);gap:15px}.fact{display:flex;align-items:center;justify-content:center;gap:16px;border-right:1px solid var(--line);font-size:13px}.fact:last-child{border:0}.fact b{font:28px "Inter",sans-serif;color:var(--red)}.intro{padding:85px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}.intro p{color:var(--muted);margin:25px 0;max-width:370px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.picture{border:0;padding:0;text-align:left;color:var(--ink);background:white;width:100%;overflow:hidden}.picture img{width:100%;height:235px;object-fit:cover;transition:transform .4s}.picture:hover img{transform:scale(1.03)}.picture .caption{display:flex;justify-content:space-between;align-items:center;padding:20px;font:22px "Inter",sans-serif}.picture small{font:16px Arial;color:var(--red)}.gallery-section{background:#fff;padding:75px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:32px}.section-head p{max-width:390px;color:var(--muted);font-size:14px}.gallery{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:17px}.gallery .picture img{height:255px}.gallery .picture .caption{font-size:19px;padding:18px 0}.gallery .picture{background:transparent}.experience{padding:80px 0;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.experience>img{width:100%;height:400px;object-fit:cover}.experience p{color:var(--muted);margin:25px 0}.quiet-list{padding:0;list-style:none;margin:25px 0}.quiet-list li{padding:13px 0;border-top:1px solid var(--line);font-size:14px;display:flex;justify-content:space-between}.quiet-list span{color:var(--red)}.booking{background:#3d3a38;color:#fff;padding:65px 0}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.booking p{color:#ded8d1;margin-top:20px}.booking .actions{margin-top:25px}.booking .textlink{color:white}.booking-note{border-left:1px solid #77706a;padding-left:45px;font-size:14px}.booking-note strong{display:block;font-size:16px;font-weight:400;margin-bottom:15px}.footer{background:#fff;padding:45px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer .logo{width:220px;margin-bottom:18px}.footer p,.footer a{font-size:13px;color:var(--muted)}.footer-links{display:flex;flex-direction:column;gap:8px}.footer-links strong{font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px}.legal{margin-top:35px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.preview-note{padding:14px 5%;text-align:center;background:#eee9e2;font-size:12px;color:#5f5750}.skip{position:absolute;left:10px;top:-100px;background:#fff;padding:10px;z-index:20}.skip:focus{top:10px}dialog{padding:0;border:0;max-width:min(1050px,94vw);max-height:92vh;background:#f6f3ee;color:#353432}dialog::backdrop{background:#171513df}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 22px}.close,.arrow{background:transparent;border:1px solid #c4bbb3;padding:6px 16px}.modal-image{width:100%;max-height:68vh;object-fit:contain;background:#e9e3dd}.dialog-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 22px;font-size:13px}.notice{padding:25px;max-width:560px}.notice p{margin:15px 0;color:var(--muted)}
@media(min-width:1500px){.hero-photo{object-position:center}}
@media(max-width:950px){.nav{gap:15px}.logo{width:210px}.hero-grid{grid-template-columns:1fr 1fr}.hero-photo{height:520px}.hero-copy{padding-right:25px}h1{font-size:49px}.intro{gap:30px}.picture img{height:195px}.experience{gap:35px}.booking-grid{gap:35px}}
@media(max-width:700px){html{scroll-padding-top:85px}.wrap{width:90%}.top{font-size:10px}.header-inner{min-height:80px}.logo{width:205px}.menu{display:block;white-space:nowrap;flex-shrink:0;padding:9px 10px}.header-inner{gap:12px}.logo{max-width:calc(100vw - 135px)}.nav{display:none;position:absolute;left:0;right:0;top:80px;background:white;border-bottom:1px solid var(--line);padding:24px 5%;align-items:stretch;flex-direction:column;gap:20px}.nav.open{display:flex}.hero{padding-top:0}.hero-grid{display:flex;flex-direction:column}.hero-copy{padding:35px 0;width:100%}h1{font-size:clamp(36px,10vw,46px);letter-spacing:-1.4px}.hero-copy p{margin:20px 0 25px;font-size:15px}.hero-photo{height:310px}.hero-caption{bottom:12px;right:12px;font-size:10px}.eyebrow{font-size:10px;letter-spacing:2px}.facts{grid-template-columns:1fr 1fr;gap:23px 8px;padding:26px 0}.fact{justify-content:flex-start;gap:12px;font-size:12px}.fact:nth-child(2){border:0}.fact b{font-size:23px}.intro{display:block;padding:50px 0}.intro p{max-width:none}.cards{margin-top:32px;gap:12px}.picture img{height:165px}.picture .caption{font-size:18px;padding:14px;gap:6px}.gallery-section{padding:45px 0}.section-head{display:block}.section-head p{margin-top:20px}.gallery{grid-template-columns:1fr}.gallery .picture img{height:240px}.experience{display:flex;flex-direction:column;padding:45px 0;gap:30px}.experience>img{height:290px}.booking{padding:45px 0}.booking-grid{display:block}.booking-note{margin-top:35px;padding-left:22px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.dialog-foot{padding:12px;gap:10px}.arrow{padding:7px 12px}.actions{gap:18px}.preview-note{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.page-head{padding:65px 0 45px}.page-head p{max-width:720px;margin-top:24px;color:var(--muted);font-size:18px}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:30px}.breadcrumb a{text-decoration:none}.page-body{padding-bottom:75px}.subnav{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.subnav a{border:1px solid var(--line);padding:9px 18px;text-decoration:none;font-size:13px;background:#fff}.subnav a[aria-current=page]{border-color:var(--red);color:var(--red)}.room{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:45px 0;border-top:1px solid var(--line)}.room:nth-child(even) .room-pictures{order:2}.room h2{font-size:37px}.room p{margin-top:20px;color:var(--muted)}.room ul{padding-left:20px;font-size:14px}.room-pictures>img{width:100%;height:330px;object-fit:cover}.thumbs{display:flex;gap:10px;margin-top:12px}.thumbs button{border:0;background:none;padding:0;flex:1;max-width:145px}.thumbs img{width:100%;height:80px;object-fit:cover}.hint{font-size:12px;color:var(--muted);margin:12px 0}.feature-links{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:35px 0 65px}.feature-link{background:white;text-decoration:none}.feature-link>img{width:100%;height:220px;object-fit:cover}.feature-link>div{padding:25px}.feature-link p{font-size:14px;color:var(--muted);margin:15px 0}.feature-link span{color:var(--red);font-size:13px;border-bottom:1px solid #d8b1aa;padding-bottom:4px}.price-table{width:100%;border-collapse:collapse;background:white;margin:25px 0 12px;font-size:15px}.price-table th,.price-table td{text-align:left;padding:23px;border-bottom:1px solid var(--line);vertical-align:top}.price-table th{font-weight:400;background:#eae4dd;font-size:12px;text-transform:uppercase;letter-spacing:1px}.price-table td:not(:first-child){font-variant-numeric:tabular-nums;white-space:nowrap}.price-table small{display:block;font-size:12px;white-space:normal;color:var(--muted)}.price-table strong{font-weight:400;font:22px "Inter",sans-serif}.table-wrap{overflow-x:auto}.price-sections{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:50px}.price-sections h2{font-size:32px}.costs{margin:25px 0}.costs>div{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.costs dt{max-width:75%}.costs dd{margin:0;white-space:nowrap}.costs small{display:block;color:var(--muted)}.map-shell{background:#e8e3dc;padding:35px;text-align:center;border:1px solid var(--line)}#map{height:520px;background:#e8e3dc;z-index:0}.map-wrap{position:relative}.map-help{margin:15px 0;color:var(--muted);font-size:12px}.map-layout{display:grid;grid-template-columns:1fr 270px;gap:24px}.poi-list{display:flex;flex-direction:column;gap:9px}.poi-list button{display:flex;gap:12px;align-items:center;text-align:left;padding:14px;border:1px solid var(--line);background:white;color:var(--ink);font-size:13px}.poi-list button span,.map-marker{background:var(--red);color:white;display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;border-radius:50%;font:13px "Inter",sans-serif}.map-marker{border:2px solid white;box-shadow:0 1px 5px #0005}.map-marker.home{background:#353432}.leaflet-popup-content a{color:#ac4944}.destination-list{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:45px}.destination-list article{border-top:1px solid var(--line);padding:25px 0}.destination-list h3{margin-bottom:15px}.destination-list p{color:var(--muted);font-size:14px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.contact-panel{background:white;padding:35px}.contact-panel h2{font-size:32px}.contact-panel p{margin:20px 0}.callout{background:#eee7df;padding:25px;margin:25px 0;font-size:14px}.room-link{color:var(--red);font-size:14px;display:inline-block;margin-top:20px}.nav a[aria-current=page]{color:var(--red)}.notice p{color:var(--muted)}.picture{text-decoration:none;display:block}.plain-link{font-size:14px;color:var(--red);text-underline-offset:5px}.room-more{border:1px solid var(--line);background:white;color:var(--ink);font-size:13px;padding:8px 13px;margin-top:15px}.hero-caption{pointer-events:none}.preview-note a{color:inherit}.top{letter-spacing:.5px}
@media(max-width:800px){.map-layout{grid-template-columns:1fr}.poi-list{display:grid;grid-template-columns:1fr 1fr}.room{gap:25px}.feature-links{gap:13px}.feature-link>div{padding:17px}.feature-link>img{height:180px}}
@media(max-width:600px){.page-head{padding:35px 0}.page-head h1{font-size:39px}.page-head p{font-size:16px}.room{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding:30px 0}.room:nth-child(even) .room-pictures{order:0}.room-pictures>img{height:250px}.room h2{font-size:31px}.feature-links{grid-template-columns:1fr}.feature-link>img{height:250px}.price-sections,.destination-list,.contact-grid{grid-template-columns:1fr;gap:25px}.price-table th,.price-table td{padding:15px 12px}.price-table{font-size:13px}.price-table strong{font-size:18px}.price-sections{margin-top:35px}.map-shell{padding:25px 18px}#map{height:410px}.poi-list{grid-template-columns:1fr 1fr}.poi-list button{padding:10px;font-size:12px}.subnav{gap:8px}.subnav a{padding:8px 12px}.contact-panel{padding:25px}.costs dd{white-space:normal;text-align:right}.footer a{overflow-wrap:anywhere}}

:root{--type-title:33px;--type-section:24px;--type-subheading:19px;--type-body:14px;--type-small:13px;--type-label:11px}
body{font-family:Inter,sans-serif;font-size:var(--type-body);font-weight:400;line-height:1.75}
h1,h2,h3{font-family:Manrope,Inter,sans-serif;font-weight:500;margin:0;letter-spacing:-.025em}
h1,.page-head h1{font-size:var(--type-title);line-height:1.22}
h2,.room h2,.price-sections h2,.contact-panel h2,.booking h2{font-size:var(--type-section);line-height:1.3}
h3,.feature-link h3{font-size:var(--type-subheading);line-height:1.4}
p,.hero-copy p,.page-head p,.intro p,.room p,.experience p,.booking p,.destination-list p,.feature-link p,.notice p{font-size:var(--type-body);line-height:1.75;font-weight:400}
.hero-copy p{margin:24px 0 28px;max-width:410px}.page-head p{margin-top:22px;max-width:680px}.intro p,.experience p,.room p{margin-top:20px}
.eyebrow{font-family:inherit;font-size:var(--type-label);font-weight:500;line-height:1.5;letter-spacing:.13em;margin-bottom:16px}.eyebrow:after{width:28px;margin-left:12px}
.nav{font-size:var(--type-small);font-weight:400;gap:24px}.btn,.textlink,.plain-link,.subnav a,.room-more{font-family:inherit;font-size:var(--type-small);font-weight:500;line-height:1.5}
.picture .caption,.gallery .picture .caption{font-family:inherit;font-size:16px;font-weight:500;line-height:1.4;letter-spacing:-.015em}
.fact{font-size:var(--type-small)}.fact b{font-family:inherit;font-size:21px;line-height:1.25;font-weight:500;letter-spacing:-.02em}
.price-table{font-size:var(--type-body)}.price-table strong{font-family:inherit;font-size:17px;line-height:1.5;font-weight:500}.price-table th{font-size:var(--type-label);font-weight:500;letter-spacing:.06em}.price-table small,.hint,.map-help{font-size:12px;line-height:1.65}
.footer p,.footer a,.quiet-list li,.costs>div,.room ul,.booking-note{font-size:var(--type-small);line-height:1.75}.footer-links strong{font-size:var(--type-label);font-weight:500;letter-spacing:.08em}.booking-note strong{font-size:var(--type-body);font-weight:500}
.section-head{align-items:start}.section-head p{font-size:var(--type-body);line-height:1.75}.hero-grid{min-height:520px}.hero-photo{height:520px}.hero-copy{padding-top:30px;padding-bottom:30px}.page-head{padding-top:52px;padding-bottom:40px}.intro{padding-top:65px;padding-bottom:65px}.gallery-section{padding-top:60px;padding-bottom:60px}
@media(max-width:950px){.nav{gap:14px}.hero-photo{height:490px}}
@media(max-width:700px){:root{--type-title:28px;--type-section:22px;--type-subheading:18px;--type-body:14px}.nav{gap:20px}.hero-copy{padding:32px 0}.hero-copy p{margin:20px 0 24px}.hero-photo{height:310px}.page-head{padding:32px 0}.intro{padding:42px 0}.picture .caption,.gallery .picture .caption{font-size:16px}.hero-grid{min-height:0}.fact b{font-size:21px}.feature-link>div{padding:20px}}
.fact-icon{display:flex;align-items:center;justify-content:center;flex:0 0 30px}.fact-icon svg{display:block;width:29px;height:29px}.facts{gap:12px}.fact{gap:15px}@media(max-width:700px){.fact{gap:10px}.fact-icon{flex-basis:26px}.fact-icon svg{width:25px;height:27px}}
/* Editorial typography and panoramic composition from the approved red concept. */
h1,h2,h3,.picture .caption,.gallery .picture .caption{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
h1,.page-head h1{font-size:46px;line-height:1.1}h2,.room h2,.price-sections h2,.contact-panel h2,.booking h2{font-size:35px;line-height:1.16}h3,.feature-link h3{font-size:25px;line-height:1.25}.picture .caption,.gallery .picture .caption{font-size:23px;line-height:1.3}.price-table strong{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:400}
.hero{padding:0;background:#fff}.hero-grid{width:100%;max-width:none;margin:0;min-height:620px;display:flex;align-items:flex-end;position:relative;padding:90px max(5%,calc((100% - 1240px)/2)) 0;isolation:isolate}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%;z-index:-1}.hero-copy{background:#f8f5f0;max-width:630px;width:55%;padding:44px 44px 38px;margin:0;box-shadow:0 0 0 1px #f8f5f020}.hero-copy h1{font-size:clamp(40px,4.1vw,62px);line-height:1.03;letter-spacing:-.045em}.hero-copy p{font-size:15px;line-height:1.7;max-width:490px;margin:24px 0}.hero-copy .eyebrow{font-size:10px;margin-bottom:22px;letter-spacing:.22em}.hero-copy .actions{gap:22px}.hero-caption{bottom:14px;right:24px;font-size:10px;background:#353432a6}.facts{padding:26px 0;border-bottom:0}.intro{padding-top:65px;padding-bottom:65px;grid-template-columns:.8fr 1.2fr;gap:60px}.intro h2{font-size:40px}.intro .cards .picture img{height:245px}.booking{padding:40px 0}.booking h2{font-size:34px}.btn{border-radius:2px}.top{background:#f1ece5;color:#5f5750}.header-inner{min-height:90px}
@media(min-width:1700px){.hero-grid{min-height:680px}}
@media(max-width:950px){.hero-grid{min-height:560px;padding-top:85px}.hero-copy{width:64%;padding:32px}.hero-copy h1{font-size:46px}.hero-copy .actions{gap:14px}.intro{gap:30px}.intro .cards .picture img{height:195px}}
@media(max-width:700px){h1,.page-head h1{font-size:34px}h2,.room h2,.price-sections h2,.contact-panel h2,.booking h2{font-size:29px}.intro h2{font-size:32px}h3,.feature-link h3{font-size:23px}.picture .caption,.gallery .picture .caption{font-size:20px}.header-inner{min-height:80px}.hero-grid{min-height:0;padding:240px 5% 0;display:block}.hero-photo{height:370px;object-position:58% 45%}.hero-copy{width:100%;max-width:none;padding:28px 24px 30px}.hero-copy h1{font-size:39px}.hero-copy p{font-size:14px;margin:20px 0}.hero-copy .eyebrow{font-size:9px;letter-spacing:.14em}.hero-caption{display:none}.hero-copy .actions{gap:15px}.intro{display:block;padding:42px 0}.intro .cards .picture img{height:175px}.facts{border-bottom:1px solid var(--line)}.booking{padding:35px 0}}

.hero-copy h1{font-size:clamp(36px,3vw,44px);line-height:1.12;letter-spacing:-.035em}
.facts{padding:30px 0}.fact{font-size:15px;gap:17px}.fact-icon{flex-basis:36px}.fact-icon svg{width:34px;height:34px}
.gallery-section .section-head{display:block;max-width:760px;margin-bottom:30px}.gallery-section .section-head p{max-width:640px;margin-top:18px}.gallery-section .feature-links{padding-top:10px}
.feature-link{display:flex;flex-direction:column}.feature-link>div{display:flex;flex-direction:column;align-items:flex-start;flex:1}.feature-link p{margin:16px 0 24px;flex:1}.feature-link span{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:11px 18px;background:var(--red);border:1px solid var(--red);border-radius:3px;color:#fff;font-family:Inter,sans-serif;font-size:13px;font-weight:500;line-height:1.5;text-decoration:none;transition:background .2s,border-color .2s}.feature-link:hover span{background:#8b3734;border-color:#8b3734}.feature-link:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.footer p,.footer a{font-size:12px;line-height:1.7}.footer-links strong{font-size:10px;letter-spacing:.08em}.footer .legal{font-size:10px}.footer-links{gap:7px}
@media(max-width:700px){.hero-copy h1{font-size:33px}.facts{padding:26px 0;gap:22px 10px}.fact{font-size:13px;gap:11px}.fact-icon{flex-basis:30px}.fact-icon svg{width:29px;height:29px}.gallery-section .section-head p{margin-top:16px}.feature-link span{font-size:13px}.footer p,.footer a{font-size:12px}}
.price-page .page-head h1{font-size:36px}.price-page h2,.price-page .price-sections h2{font-size:28px}.price-page .page-head p,.price-page .price-table{font-size:13px}.price-page .price-table strong{font-size:19px}.price-page .costs>div{font-size:12px}.price-page .hint,.price-page .costs small,.price-page .price-table small{font-size:11px;line-height:1.7}.price-page .price-table th{font-size:10px}.price-page .page-head{padding-top:42px;padding-bottom:32px}@media(max-width:700px){.price-page .page-head h1{font-size:30px}.price-page h2,.price-page .price-sections h2{font-size:25px}.price-page .page-head p,.price-page .price-table{font-size:13px}}.nav{font-family:Georgia,'Times New Roman',serif;font-size:16px;letter-spacing:-.01em;font-weight:400;gap:26px}.nav .btn{font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:400}.home-map-section{padding:55px 0;background:#eee8e0}.home-map-section .section-head{display:block;margin-bottom:28px}.home-map-section .section-head p{max-width:640px;margin-top:16px}.home-map-section .map-shell{background:#f8f5f0}.home-map-section .map-help{margin-bottom:0}@media(max-width:950px){.nav{font-size:15px;gap:16px}.nav .btn{font-size:15px}}@media(max-width:700px){.nav,.nav .btn{font-size:17px}.nav{gap:20px}.home-map-section{padding:38px 0}}.nav,.nav .btn{font-family:Manrope,Inter,sans-serif;font-size:14px;font-weight:500;letter-spacing:.005em}.price-page .price-table{margin-top:0}@media(max-width:950px){.nav,.nav .btn{font-size:13px}}@media(max-width:700px){.nav,.nav .btn{font-size:15px}}.price-page .page-head p{width:100%;max-width:none}.price-page .price-sections .costs>div{font-size:13px;line-height:1.75}.price-page .price-sections .costs small{font-size:12px;line-height:1.7}.footer-contact{display:flex;flex-direction:column;gap:12px;font-style:normal;margin-top:20px}.footer-contact>div,.footer-contact>a{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.7;text-decoration:none;color:var(--muted)}.footer-contact svg{color:var(--red);flex:0 0 18px;margin-top:1px}.footer-contact a:hover span{text-decoration:underline;text-underline-offset:3px}.footer-contact span{min-width:0;overflow-wrap:anywhere}.footer{padding-top:48px}.footer-grid{column-gap:55px}.footer-links{gap:0}.footer-links strong{font-family:Georgia,'Times New Roman',serif;font-size:19px;font-weight:400;text-transform:none;letter-spacing:-.015em;margin-bottom:15px;color:var(--ink)}.footer-links strong:after{content:'';display:block;width:27px;height:1px;background:var(--red);margin-top:12px}.footer-links>a{display:flex;align-items:flex-start;gap:10px;padding:7px 0;text-decoration:none;font-size:12px;line-height:1.6;transition:color .2s}.footer-links>a svg{flex:0 0 17px;color:var(--red);margin-top:1px}.footer-links>a:hover{color:var(--red)}.footer-links>a:hover span{text-decoration:underline;text-underline-offset:4px}.aside-contact{display:flex;flex-direction:column;gap:15px;margin-top:22px;font-style:normal}.aside-contact>a{display:flex;align-items:flex-start;gap:12px;text-decoration:none;color:var(--ink);font-size:13px;line-height:1.7}.aside-contact svg{color:var(--red);flex:0 0 18px;margin-top:2px}.aside-contact span{min-width:0;overflow-wrap:anywhere}.aside-contact a:hover span{text-decoration:underline;text-underline-offset:4px}@media(max-width:700px){.footer-grid{column-gap:24px}.footer-links strong{font-size:18px}.footer-links>a{padding:8px 0}.aside-contact>a{font-size:13px}}.request-quicklinks{display:flex;flex-direction:column;gap:10px;margin:26px 0 30px}.request-quicklinks a{display:flex;align-items:center;gap:13px;min-height:50px;padding:13px 17px;background:#fff;border:1px solid #ddd3ca;border-radius:3px;color:var(--ink);font-size:13px;font-weight:450;line-height:1.6;text-decoration:none;transition:background .2s,border-color .2s}.request-quicklinks svg{color:var(--red);flex:0 0 18px}.request-quicklinks a:hover{background:#f0e6df;border-color:#be8d82}.request-quicklinks a:focus-visible{outline:2px solid var(--red);outline-offset:3px}.house-tour .tour-chapter{padding:32px 0 26px;border-top:1px solid var(--line);scroll-margin-top:110px}.house-tour .tour-chapter:not(:first-child){margin-top:45px}.house-tour .tour-chapter h2{font-size:32px}.house-tour .tour-chapter p{color:var(--muted);margin-top:14px}.house-tour .room{padding-top:35px;padding-bottom:35px}.house-tour .room h2{font-size:27px}.house-tour .tour-chapter+.room{border-top:0;padding-top:0}.house-tour .tour-chapter .eyebrow{margin-bottom:12px}@media(max-width:700px){.house-tour .tour-chapter h2{font-size:28px}.house-tour .room h2{font-size:25px}.house-tour .tour-chapter:not(:first-child){margin-top:28px}}.compact-chapter{scroll-margin-top:110px;margin-bottom:45px}.compact-chapter-head{margin-bottom:24px}.compact-chapter-head h2{font-size:30px}.compact-chapter-head p{margin-top:10px;color:var(--muted);font-size:13px}.room-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.room-card{min-width:0;background:#fff}.room-card>img{width:100%;height:200px;object-fit:cover}.room-card-body{padding:22px}.room-card h3{font-size:23px;line-height:1.25}.room-summary{color:var(--muted);font-size:13px;line-height:1.7;margin-top:13px;min-height:44px}.room-details{margin-top:18px;border-top:1px solid var(--line)}.room-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0 0;color:var(--red);font-size:12px;font-weight:500;cursor:pointer}.room-details summary::-webkit-details-marker{display:none}.detail-mark{width:14px;height:14px;position:relative;flex:none}.detail-mark:before,.detail-mark:after{content:'';position:absolute;background:currentColor}.detail-mark:before{height:1px;left:0;right:0;top:6px}.detail-mark:after{width:1px;top:0;bottom:0;left:6px}.room-details[open] .detail-mark:after{display:none}.room-details .when-open{display:none}.room-details[open] .when-open{display:inline}.room-details[open] .when-closed{display:none}.room-detail-content{padding-top:3px}.room-detail-content>p{font-size:13px;line-height:1.75;color:var(--muted);margin-top:17px}.room-detail-content ul{font-size:12px;padding-left:18px;margin-top:15px}.room-detail-content .thumbs{flex-wrap:wrap;margin-top:20px}.room-detail-content .thumbs button{flex:0 0 calc(50% - 5px);max-width:none}.room-detail-content .thumbs img{height:85px}.room-detail-content .hint{font-size:11px}.room-details summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}.compact-tour>.callout{font-size:12px}.compact-chapter:last-of-type .room-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-chapter:last-of-type .room-card>img{height:235px}@media(max-width:950px){.room-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.room-card-body{padding:20px}}@media(max-width:600px){.room-card-grid,.compact-chapter:last-of-type .room-card-grid{grid-template-columns:1fr}.room-card>img,.compact-chapter:last-of-type .room-card>img{height:210px}.room-card h3{font-size:22px}.room-summary{min-height:0}.compact-chapter-head h2{font-size:27px}.compact-chapter{margin-bottom:35px}}.house-page .page-head p{width:100%;max-width:none}.compact-tour>.callout,.compact-tour>.callout p{font-size:11px;line-height:1.7}.compact-tour>.callout strong{font-size:11px;font-weight:500}.amenities-section{padding:50px 0 55px;background:#eee8e0}.amenities-heading{margin-bottom:30px}.amenities-heading h2{font-size:32px}.amenities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 36px}.amenity{display:flex;gap:15px;align-items:flex-start;min-width:0}.amenity>svg{color:var(--red);flex:0 0 29px;margin-top:2px}.amenity h3{font-family:Manrope,Inter,sans-serif;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:0;margin:0 0 7px}.amenity p{font-size:12px;line-height:1.75;color:var(--muted);margin:0}.amenities-heading .eyebrow{margin-bottom:13px}@media(max-width:950px){.amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 30px}}@media(max-width:600px){.amenities-section{padding:38px 0}.amenities-heading h2{font-size:27px}.amenities-grid{grid-template-columns:1fr;gap:23px}.amenity p{font-size:13px}}.home-introduction{padding:58px 0 50px}.home-introduction-head{max-width:780px;margin-bottom:28px}.home-introduction-head h2{font-size:36px}.home-introduction-head p{color:var(--muted);font-size:14px;line-height:1.8;margin-top:18px}.home-introduction .feature-links{padding:0;gap:24px}.home-introduction .feature-link>img{height:235px}.home-introduction .feature-link>div{padding:24px}.amenities-grid{gap:34px 38px}.amenity{gap:17px}.amenity>svg{width:34px;height:34px;flex-basis:34px}.amenity h3{font-size:16px;margin-bottom:9px}.amenity p{font-size:14px;line-height:1.75}.amenities-heading{margin-bottom:34px}@media(max-width:950px){.home-introduction .feature-link>img{height:195px}.home-introduction .feature-link>div{padding:20px}.amenities-grid{gap:30px}}@media(max-width:600px){.home-introduction{padding:40px 0}.home-introduction-head h2{font-size:30px}.home-introduction .feature-link>img{height:230px}.amenity h3{font-size:16px}.amenity p{font-size:14px}.amenities-grid{gap:26px}.amenity>svg{width:31px;height:31px;flex-basis:31px}}.static-home-map{padding-bottom:0}.static-map-figure{margin:0;width:100%}.static-map-figure>img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover}.static-map-figure figcaption{padding:8px 5%;background:#eeebe6;text-align:right;color:var(--muted);font-size:10px}.static-map-figure figcaption a{color:inherit;text-decoration:none}@media(max-width:700px){.static-map-figure>img{height:300px;object-fit:cover;object-position:45% center}}.static-map-figure{position:relative}.static-map-figure>img{height:clamp(220px,24.3vw,373px);max-height:373px;object-fit:cover;object-position:50% 60%}.static-map-figure figcaption{position:absolute;right:12px;bottom:7px;padding:3px 7px;background:#ffffffe0;font-size:10px;line-height:1.4}.legal-copy{max-width:940px}.legal-copy p{font-size:14px;line-height:1.85;margin:0 0 18px;overflow-wrap:anywhere}.legal-copy h2{font-size:26px;line-height:1.3;margin:35px 0 16px}.legal-copy a{color:var(--red);text-underline-offset:3px}.legal-draft{padding:20px 24px;background:#eee8e0;border-left:2px solid var(--red);margin-bottom:30px}.legal-draft strong{font-size:13px;font-weight:500}.legal-draft p{font-size:12px;margin:8px 0 0}@media(max-width:700px){.static-map-figure>img{height:200px;max-height:200px}.legal-copy h2{font-size:23px}.legal-copy p{font-size:13px}.static-map-figure figcaption{font-size:9px;right:6px;bottom:5px}}/* Three heading alternatives for direct comparison on the house page. */
.compact-chapter-head.chapter-editorial{display:flex;align-items:center;gap:22px;padding:7px 0 14px;margin-bottom:23px}.chapter-editorial .chapter-code{font-family:Manrope,Inter,sans-serif;font-size:16px;font-weight:500;letter-spacing:.12em;color:var(--red);flex:none}.chapter-editorial .chapter-copy{flex:none;max-width:75%}.chapter-editorial h2{font-size:29px}.chapter-editorial p{margin-top:7px;font-size:13px}.chapter-editorial .chapter-rule{height:1px;flex:1;min-width:30px;background:var(--line);margin-left:9px}
.compact-chapter-head.chapter-band{background:#eae2d8;padding:24px 28px;margin-bottom:24px}.chapter-band h2{font-size:29px}.chapter-band p{margin-top:8px;font-size:13px;color:#665e57}
.compact-chapter-head.chapter-minimal{display:flex;align-items:center;gap:16px;padding:8px 0 10px;margin-bottom:23px}.chapter-minimal h2{font-size:29px}.chapter-minimal .chapter-accent{width:30px;height:2px;background:var(--red);flex:none}
@media(max-width:600px){.compact-chapter-head.chapter-editorial{gap:14px;flex-wrap:wrap}.chapter-editorial .chapter-code{font-size:14px}.chapter-editorial .chapter-copy{flex:1;max-width:none}.chapter-editorial .chapter-rule{display:none}.chapter-editorial h2,.chapter-band h2,.chapter-minimal h2{font-size:26px}.compact-chapter-head.chapter-band{padding:20px}.chapter-editorial p,.chapter-band p{font-size:12px}.compact-chapter-head.chapter-minimal{gap:13px}}
.chapter-minimal h2{flex:none}.chapter-minimal .chapter-rule{display:block;flex:1;min-width:24px;height:1px;background:var(--line);margin-left:8px}@media(max-width:600px){.chapter-minimal .chapter-rule{min-width:16px;margin-left:3px}}.chapter-minimal .chapter-accent{height:1px;background:var(--line)}.chapter-minimal .chapter-accent{background:var(--red)}.nav,.nav .btn{font-family:Inter,sans-serif;font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.13em;text-transform:uppercase}.nav{gap:25px}@media(max-width:950px){.nav{gap:15px}.nav,.nav .btn{font-size:10px;letter-spacing:.1em}}@media(max-width:700px){.nav{gap:20px}.nav,.nav .btn{font-size:12px;letter-spacing:.13em}}.nav,.nav .btn{font-size:13px}@media(max-width:950px){.nav,.nav .btn{font-size:12px}}@media(max-width:700px){.nav,.nav .btn{font-size:14px}}h1,.page-head h1{font-size:40px}.hero-copy h1{font-size:38px}h2,.room h2,.price-sections h2,.contact-panel h2,.booking h2{font-size:31px}.home-introduction-head h2{font-size:32px}.amenities-heading h2{font-size:29px}.compact-chapter-head.chapter-minimal h2{font-size:26px}.room-card h3{font-size:21px}.feature-link h3{font-size:23px}.price-page .page-head h1{font-size:32px}.price-page h2,.price-page .price-sections h2{font-size:25px}.request-aside h2{font-size:20px}.legal-copy h2{font-size:23px}@media(max-width:700px){h1,.page-head h1{font-size:30px}.hero-copy h1{font-size:30px}h2,.room h2,.price-sections h2,.contact-panel h2,.booking h2{font-size:26px}.home-introduction-head h2{font-size:27px}.amenities-heading h2{font-size:25px}.compact-chapter-head.chapter-minimal h2{font-size:24px}.room-card h3{font-size:20px}.price-page .page-head h1{font-size:28px}.price-page h2,.price-page .price-sections h2{font-size:23px}.legal-copy h2{font-size:21px}}#garten .room-card-grid{grid-template-columns:minmax(0,1fr)}#garten .room-card{display:grid;grid-template-columns:1fr 1fr;align-items:start}#garten .room-card>img{height:100%;min-height:300px;max-height:470px;object-fit:cover}#garten .room-card-body{padding:30px}#garten .room-summary{min-height:0}@media(max-width:600px){#garten .room-card{display:block}#garten .room-card>img{height:230px;min-height:0}#garten .room-card-body{padding:22px}}.slide-enlarge{display:block;width:100%;padding:0;border:0;background:none}.slide-enlarge img{width:100%;height:200px;object-fit:cover}.slider-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line)}.slider-count,.slider-caption{font-size:10px;color:var(--muted)}.photo-dots{display:flex;gap:3px}.photo-dot{width:25px;height:25px;padding:0;border:0;background:none;position:relative}.photo-dot:after{content:'';position:absolute;top:9px;left:9px;width:7px;height:7px;border-radius:50%;background:#d3c7be}.photo-dot[aria-pressed=true]:after{background:var(--red)}.kitchen-open{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:15px 0 0;margin-top:18px;border:0;border-top:1px solid var(--line);color:var(--red);background:transparent;font:500 12px/1.5 Inter,sans-serif;text-align:left}.kitchen-open span{font-size:19px;font-weight:300}#kitchen-detail{width:min(1100px,94vw);max-width:1100px;max-height:90vh;background:#f8f5f0;overflow:auto}.kitchen-close{padding:7px 13px;border:1px solid var(--line);background:transparent;font-size:12px}.kitchen-detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;padding:10px 28px 32px}.kitchen-photos>img{width:100%;height:330px;object-fit:contain;background:#ece6de}.kitchen-photo-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:15px 0;font-size:11px}.kitchen-photo-controls button{font-size:11px;padding:8px;border:1px solid var(--line);background:transparent}.kitchen-thumbs{display:flex;gap:10px}.kitchen-thumbs button{border:1px solid transparent;padding:0;background:none;width:calc(33.33% - 6px)}.kitchen-thumbs button[aria-pressed=true]{border-color:var(--red)}.kitchen-thumbs img{width:100%;height:70px;object-fit:cover}.kitchen-description h2{font-size:28px;margin-bottom:20px}.kitchen-description p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:20px}@media(max-width:600px){.slide-enlarge img{height:210px}.kitchen-detail-grid{grid-template-columns:1fr;padding:5px 20px 24px;gap:22px}.kitchen-photos>img{height:240px}.kitchen-description h2{font-size:25px}.photo-dot{width:32px;height:32px}.photo-dot:after{left:12px;top:12px}.slider-caption{font-size:10px}}.room-card-photo{display:block;border:0;padding:0;margin:0;background:none;width:100%}.room-card-photo>img{width:100%;height:200px;object-fit:cover}.room-open-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-top:1px solid var(--line);background:none;color:var(--red);padding:15px 0 0;margin-top:18px;font:500 12px/1.5 Inter,sans-serif;text-align:left}.room-open-button>span{font-size:20px;font-weight:300}.room-dialog{width:min(1120px,94vw);max-width:1120px;max-height:90dvh;padding:0;overflow-y:auto;overscroll-behavior:contain;background:#f8f5f0;border:0}.room-dialog::backdrop{background:#272321d9}.room-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 25px;background:#f8f5f0;position:sticky;top:0;z-index:2;border-bottom:1px solid var(--line)}.room-dialog-head h2{font-size:27px;line-height:1.2;margin:0}.room-dialog-close{display:flex;align-items:center;justify-content:center;gap:13px;min-height:44px;padding:9px 15px;flex:none;border:1px solid #c9bfb4;background:#fff;color:var(--ink);font:13px/1.5 Inter,sans-serif;border-radius:3px}.room-dialog-close span{font-size:24px;line-height:1}.room-dialog-content{display:grid;grid-template-columns:1.2fr 1fr;gap:34px;padding:27px}.room-dialog-main{display:block;width:100%;height:345px;object-fit:contain;background:#eee8e0;touch-action:pan-y pinch-zoom}.room-photo-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.room-photo-controls button{min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink);font-size:12px}.room-photo-count{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.room-dialog-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.room-dialog-thumbs button{padding:2px;background:none;border:1px solid transparent;min-height:44px}.room-dialog-thumbs button[aria-pressed=true]{border-color:var(--red)}.room-dialog-thumbs img{width:100%;height:65px;object-fit:cover}.room-dialog-description p{font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 20px}.room-open-button:focus-visible,.room-card-photo:focus-visible{outline:2px solid var(--red);outline-offset:4px}#garten .room-card-photo{height:100%;min-height:300px}#garten .room-card-photo>img{height:100%;min-height:300px;max-height:470px;object-fit:cover}@media(max-width:700px){.room-dialog{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0}.room-dialog-head{padding:calc(12px + env(safe-area-inset-top)) 16px 12px;gap:12px}.room-dialog-head h2{font-size:23px;overflow-wrap:anywhere}.room-dialog-close{padding:8px 12px}.room-dialog-content{display:block;padding:18px 18px calc(24px + env(safe-area-inset-bottom))}.room-dialog-main{height:auto;aspect-ratio:4/3;max-height:340px;object-fit:contain}.room-dialog-description{margin-top:24px}.room-dialog-description p{font-size:14px}.room-dialog-thumbs img{height:59px}.room-card-photo>img{height:210px}}@media(max-width:600px){#garten .room-card-photo{min-height:0;height:auto}#garten .room-card-photo>img{height:230px;min-height:0}}.hero-copy{width:63%;max-width:745px;padding:30px 40px 28px}.hero-copy .eyebrow{margin-bottom:17px}.hero-copy p{max-width:650px;margin:18px 0 21px}.hero-copy .actions{gap:24px}@media(max-width:950px){.hero-copy{width:76%;padding:27px 30px}}@media(max-width:700px){.hero-copy{width:100%;max-width:none;padding:25px 24px}.hero-copy .eyebrow{margin-bottom:16px}.hero-copy p{margin:17px 0 20px}.hero-copy .actions{gap:16px}}.house-page .page-head p{background:#eee8e0;padding:24px 28px;margin-top:24px;max-width:none;width:100%;font-size:14px;line-height:1.9;border-left:2px solid #d5c5b9}.house-page .page-head{padding-bottom:28px}@media(max-width:700px){.house-page .page-head p{padding:20px;font-size:14px;line-height:1.8;margin-top:20px}}.hero-photo{object-position:50% 64%}@media(max-width:700px){.hero-photo{object-position:52% 62%}}.compact-tour>.callout{background:#eee8e0;border-left:2px solid #d5c5b9;padding:24px 28px;color:var(--muted);font-size:14px;line-height:1.9}.compact-tour>.callout p{font-size:14px;line-height:1.9;margin:8px 0 0}.compact-tour>.callout strong{font-size:14px;font-weight:500;color:var(--ink)}@media(max-width:700px){.compact-tour>.callout{padding:20px}.compact-tour>.callout,.compact-tour>.callout p{font-size:14px;line-height:1.8}}.room-to-room{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.room-step{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;min-height:78px;padding:13px 15px;border:1px solid #d6c7bd;background:#fff;border-radius:3px;color:var(--ink);text-align:left}.room-step:hover:not(:disabled){border-color:var(--red);background:#f3e9e3}.room-step-label{font:500 10px/1.5 Inter,sans-serif;color:var(--red);letter-spacing:.03em}.room-step-title{font:13px/1.5 Inter,sans-serif;overflow-wrap:anywhere}.room-step:disabled{opacity:.45;cursor:default}.room-dialog-description .room-tour-count{font-size:11px;color:var(--muted);margin:12px 0 0}.room-photo-controls button{font-size:11px;padding:8px 11px}@media(max-width:700px){.room-to-room{gap:10px;margin-top:24px}.room-step{padding:12px;min-height:78px}.room-step-title{font-size:13px}.room-dialog-description .room-tour-count{font-size:11px}}.house-page .page-head{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.5fr);align-items:start;gap:60px;padding-top:52px;padding-bottom:42px}.house-page .page-head h1{margin:0;line-height:1.2}.house-page .page-head p{background:transparent;border:0;padding:0;margin:0;width:auto;max-width:none;font-size:14px;line-height:1.85;color:var(--muted)}@media(max-width:950px){.house-page .page-head{gap:35px;grid-template-columns:.7fr 1.3fr}}@media(max-width:700px){.house-page .page-head{display:block;padding-top:32px;padding-bottom:32px}.house-page .page-head p{margin-top:20px;padding:0;font-size:14px;line-height:1.8}}.house-page .page-head{display:block}.house-page .page-head p{max-width:820px;margin-top:20px}.compact-tour>.callout{padding:16px 20px;font-size:12px;line-height:1.7}.compact-tour>.callout p{font-size:12px;line-height:1.7;margin-top:5px}.compact-tour>.callout strong{font-size:12px}.house-page main{position:relative;isolation:isolate;overflow:clip}.house-page main::before{content:'';position:absolute;z-index:-1;pointer-events:none;top:42px;right:-150px;width:660px;height:1060px;box-sizing:border-box;border:64px solid #e9e0d6;border-bottom:0;border-radius:360px 360px 0 0;opacity:.65}@media(max-width:950px){.house-page main::before{right:-200px;width:530px;height:1100px;border-width:48px}}@media(max-width:700px){.house-page main::before{top:30px;right:-190px;width:360px;height:1100px;border-width:34px;opacity:.45}}.weather-bar{display:flex;align-items:center;justify-content:center;gap:9px;min-height:32px;padding:5px 12px;font-size:11px;line-height:1.5;flex-wrap:wrap}.weather-bar [data-weather-icon]{font-size:17px;line-height:1;color:var(--red)}.weather-source{font-size:9px;color:inherit;opacity:.75;text-underline-offset:2px;margin-left:5px}.house-page main::before{width:660px;height:1060px;top:42px;right:-150px;border:1px solid #cdbcae;border-left:0;border-radius:0 540px 540px 0;opacity:.75}@media(max-width:950px){.house-page main::before{right:-200px;width:530px;border-width:1px}}@media(max-width:700px){.house-page main::before{right:-190px;width:360px;border-width:1px;opacity:.55}.weather-bar{gap:7px;font-size:10px}}.house-page main::before{content:none;display:none}.weather-forecast{display:inline-flex;align-items:center;gap:24px;margin-left:18px}.weather-day{display:inline-flex;align-items:center;gap:9px;padding-left:24px;border-left:1px solid #d6cdc3;white-space:nowrap}.weather-day-icon{font-size:17px;color:var(--red);line-height:1}.weather-credit{float:right}.footer .weather-credit a{font-size:10px}@media(max-width:700px){.weather-forecast{gap:12px;margin-left:5px}.weather-day{padding-left:12px;gap:6px}.weather-credit{float:none;display:block;margin-top:8px}}@media(max-width:480px){.weather-forecast{width:100%;justify-content:center;margin:2px 0 0}.weather-day:first-child{border-left:0;padding-left:0}}.house-page .page-head{display:grid;grid-template-columns:minmax(0,1fr) 340px;column-gap:55px;align-items:center}.house-page .page-head h1{grid-column:1;grid-row:1;align-self:end}.house-page .page-head p{grid-column:1;grid-row:2;align-self:start;max-width:720px}.house-illustration{grid-column:2;grid-row:1 / 3;pointer-events:none}.house-illustration svg{display:block;width:100%;height:auto}@media(max-width:950px){.house-page .page-head{grid-template-columns:minmax(0,1fr) 260px;column-gap:28px}}@media(max-width:700px){.house-page .page-head{display:block}.house-illustration{max-width:250px;margin:12px auto -12px}}.house-page .page-head{display:block}.house-page .page-head p{max-width:820px}.price-included{padding:16px 20px;background:#eee8e0;border-left:2px solid var(--red);font-size:13px;line-height:1.7;margin-bottom:22px;color:var(--muted)}.price-page .price-table{margin:0;border-top:1px solid var(--line)}.price-page .price-table thead th{background:#eae3da;padding:18px 22px;font:500 10px/1.6 Inter,sans-serif;letter-spacing:.08em}.price-page .price-table thead small{font:11px/1.6 Inter,sans-serif;text-transform:none;letter-spacing:0;margin-top:3px}.price-page .price-table tbody th{background:#fff;font:13px/1.7 Inter,sans-serif;letter-spacing:0;text-transform:none;width:43%}.price-page .price-table tbody td{font-size:14px;vertical-align:middle}.price-page .price-table tbody th,.price-page .price-table tbody td{padding:24px 22px}.price-page .season-table tbody tr:nth-child(even)>*{background:#faf8f4}.price-page .season-table .package-price{font:24px/1.4 Georgia,serif;color:var(--red);background:#faf5ef;width:27%}.price-page .season-table tbody small{margin-top:5px}.price-page .price-extra-section{margin-top:48px}.price-section-intro{font-size:13px;color:var(--muted);line-height:1.8;margin:14px 0 22px}.price-page .extras-table tbody th{width:26%;font-weight:500}.price-page .extras-table tbody td:nth-child(2){width:26%;white-space:normal}.price-page .extras-table tbody td:last-child{white-space:normal;font-size:13px;line-height:1.8;color:var(--muted)}.extras-table b{font-size:16px;font-weight:500}.price-page .extras-table small{font-size:12px;line-height:1.6;margin-top:4px}.booking-terms{margin-top:48px}.booking-facts{display:grid;grid-template-columns:1fr 1fr;column-gap:38px;margin-top:22px}.booking-facts>div{padding:22px 0;border-top:1px solid var(--line)}.booking-facts dt{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.booking-facts dd{margin:0}.booking-facts strong{font:21px/1.4 Georgia,serif;font-weight:400}.booking-facts p{font-size:13px;line-height:1.8;margin-top:10px;color:var(--muted)}@media(max-width:600px){.price-page .season-table{min-width:510px}.price-page .price-table tbody th,.price-page .price-table tbody td{padding:18px 16px}.price-page .extras-table thead{display:none}.price-page .extras-table tbody tr{display:block;background:#fff;border-bottom:1px solid var(--line);padding:18px}.price-page .extras-table tbody th,.price-page .extras-table tbody td{display:block;width:100%;border:0;padding:0;text-align:left}.price-page .extras-table tbody th{font-size:16px;margin-bottom:12px}.price-page .extras-table tbody td:nth-child(2){width:100%;margin-bottom:12px}.extras-table td[data-label]::before{content:attr(data-label);display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.booking-facts{grid-template-columns:1fr}.price-page .price-extra-section,.booking-terms{margin-top:34px}}.price-overview .price-included{margin-top:18px;margin-bottom:0}.social-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}.footer-contact>.social-links{display:flex;gap:12px 24px}.social-links .social-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--muted);font-size:12px;line-height:1.7}.social-links .social-link svg{flex:0 0 18px;color:var(--red)}.social-links .social-link:hover span{text-decoration:underline;text-underline-offset:3px}.social-links a[href*="facebook.com"] svg{color:#1877f2;fill:#1877f2;stroke:#1877f2}.social-links a[href*="instagram.com"] svg{display:none}.social-links a[href*="instagram.com"]::before{content:"";display:block;width:20px;height:20px;flex:0 0 20px;background:url("instagram-farbig.svg") center/contain no-repeat}.social-links .social-link{min-height:24px}.booking-tool{margin-bottom:42px}.booking-tool-heading{display:flex;align-items:flex-end;gap:40px;justify-content:space-between;margin-bottom:26px}.booking-tool-heading h2{font-size:30px;margin-top:10px}.booking-tool-heading>p{max-width:480px;font-size:13px;line-height:1.8;color:var(--muted)}.booking-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);gap:24px;align-items:start}.booking-calendar-panel,.booking-price-panel{background:#fff;border:1px solid #e5ddd3;padding:28px}.booking-tool h3{font-size:23px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.calendar-toolbar>div{display:flex;gap:8px}.calendar-toolbar button{width:38px;height:38px;border:1px solid var(--line);color:var(--ink);background:#fff;font-size:18px}.calendar-toolbar button:disabled{opacity:.35;cursor:default}.calendar-instruction{font-size:12px;color:var(--muted);margin:14px 0 24px;min-height:20px}.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:24px}.calendar-month h4{font:400 20px/1.4 Georgia,serif;text-transform:capitalize;text-align:center;margin-bottom:18px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-weekday{font-size:10px;text-align:center;padding-bottom:8px;color:var(--muted)}.calendar-day{position:relative;isolation:isolate;border:0;background:#f7f5f0;color:var(--ink);padding:0;min-width:0;min-height:34px;aspect-ratio:1;font:12px/1 Inter,sans-serif;border-radius:2px}.calendar-day:hover:enabled{outline:1px solid var(--red);outline-offset:0}.calendar-day:disabled{cursor:default}.calendar-day.is-past{background:transparent;color:#b5b0a9}.calendar-day.is-unknown{background:#f1f0ee;color:#aaa}.calendar-day.is-booked{background:#e6e0d9;color:#9c9086}.calendar-day.is-booked:not(.is-checkout)::after{content:'';position:absolute;top:50%;left:27%;right:27%;height:1px;background:#a79a8c;transform:rotate(-30deg);z-index:-1}.calendar-day.is-change{background:linear-gradient(135deg,#e6e0d9 0 48%,#f7f5f0 49%)}.calendar-day.is-checkout{background:linear-gradient(135deg,#f7f5f0 0 48%,#e6e0d9 49%);color:var(--ink)}.calendar-day.is-range{background:#f3dfda;color:#862e2a}.calendar-day.is-selected{background:var(--red);color:#fff}.calendar-day.is-today{box-shadow:inset 0 0 0 1px #c6b9ab}.calendar-day:focus-visible,.booking-tool button:focus-visible{outline:2px solid var(--red);outline-offset:3px}.calendar-legend{display:flex;gap:12px 18px;flex-wrap:wrap;margin-top:24px;font-size:10px;color:var(--muted)}.calendar-legend>span{display:flex;gap:6px;align-items:center}.calendar-legend i{display:inline-block;width:12px;height:12px;border-radius:2px}.legend-free{background:#f7f5f0;border:1px solid #d7d0c7}.legend-booked{background:#e6e0d9}.legend-selected{background:var(--red)}.legend-change{background:linear-gradient(135deg,#e6e0d9 0 48%,#fff 49%);border:1px solid #d7d0c7}.calendar-status{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:11px;line-height:1.7;color:var(--muted)}.calendar-help{font-size:11px;color:var(--muted);line-height:1.8;margin-top:8px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;margin-top:24px}.booking-fields label{display:block;font-size:11px;margin-bottom:8px;font-weight:500}.booking-fields input,.booking-fields select{width:100%;min-width:0;min-height:42px;border:1px solid #d7ccc0;background:#fff;color:var(--ink);border-radius:2px;padding:10px;font:12px Inter,sans-serif}.booking-full,.booking-ages{grid-column:1/-1}.booking-ages{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-tool [hidden]{display:none!important}.quote-summary{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;line-height:1.8}.quote-summary p{color:var(--muted)}.quote-lines{margin:16px 0 0}.quote-lines>div{display:flex;justify-content:space-between;gap:18px;margin-bottom:9px}.quote-lines dt{color:var(--muted)}.quote-lines dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}.quote-total{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.quote-total strong{font:400 28px/1.3 Georgia,serif;color:var(--red)}.quote-total span{font-size:13px}.quote-deposit{margin-top:12px;font-size:11px}.quote-alert{padding:12px;background:#f8ede8;border-left:2px solid var(--red);margin-top:12px}.booking-continue{width:100%;margin-top:22px;font-size:12px}.booking-continue:disabled{opacity:.45;cursor:default}.booking-nonbinding{font-size:10px;line-height:1.8;color:var(--muted);margin-top:12px}.booking-local{padding:18px 22px;border:1px dashed #cebbac;margin-bottom:22px;font-size:12px;line-height:1.7}.booking-local p{color:var(--muted);margin:8px 0 12px}.booking-import-label{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px}.booking-import-label input{max-width:100%;font-size:12px}.booking-request-details{scroll-margin-top:110px}.booking-selection-note{padding:16px 20px;background:#eee8e0;border-left:2px solid var(--red);margin-bottom:22px;font-size:13px;line-height:1.8}.request-form [data-synced]{background:#f6f3ee}.booking-tool-heading .eyebrow::after{display:none}.price-booking-link{margin-top:18px}.quote-error{color:#9f302b!important}@media(max-width:1100px){.booking-layout{grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:18px}.calendar-months{gap:14px}.booking-calendar-panel,.booking-price-panel{padding:22px}.calendar-day{min-height:29px;font-size:11px}}@media(max-width:850px){.booking-layout{grid-template-columns:1fr}.calendar-day{min-height:42px}.booking-tool-heading{display:block}.booking-tool-heading>p{margin-top:15px;max-width:650px}.booking-price-panel{padding:26px}.booking-tool{margin-bottom:32px}}@media(max-width:520px){.calendar-months{grid-template-columns:1fr}.calendar-month:nth-child(2){display:none}.booking-calendar-panel,.booking-price-panel{padding:20px 16px}.calendar-day{min-height:40px;font-size:13px}.booking-tool h3{font-size:21px}.booking-tool-heading h2{font-size:26px}.booking-fields input,.booking-fields select{font-size:13px}.calendar-legend{gap:12px}.quote-total strong{font-size:26px}.booking-fields{gap:15px 10px}}

/* Softer contrast within the existing warm neutral palette. */
.calendar-day{border-radius:3px;transition:background-color .15s,box-shadow .15s}.calendar-day:not(.is-past):not(.is-unknown):not(.is-booked):not(.is-range):not(.is-selected){background:#faf9f5;box-shadow:inset 0 0 0 1px #eee8df;color:#39342f}.calendar-day.is-booked{background:#d8cbbd;color:#6a5b4e}.calendar-day.is-booked:not(.is-checkout)::after{background:#8a7664;z-index:0;opacity:.5}.calendar-day.is-change{background:linear-gradient(135deg,#d8cbbd 0 32%,#faf9f5 33%)!important;color:#39342f}.calendar-day.is-checkout{background:linear-gradient(135deg,#faf9f5 0 67%,#d8cbbd 68%);color:#39342f}.calendar-day.is-range{background:#f4e5e0;color:#813d37}.calendar-day.is-selected{background:var(--red)!important;color:#fff}.legend-free{background:#faf9f5;border-color:#d8cec1}.legend-booked{background:#d8cbbd}.legend-change{background:linear-gradient(135deg,#d8cbbd 0 48%,#faf9f5 49%);border-color:#cabaa8}.calendar-toolbar button{border-radius:50%;border-color:#e9e0d5;background:#fcfaf7}.booking-calendar-panel,.booking-price-panel{border-color:#e9e1d7;border-radius:5px;box-shadow:0 5px 22px #57433306}.booking-price-panel{background:linear-gradient(150deg,#fff 55%,#fcfaf6)}.calendar-month h4{color:#52483f}.booking-fields input,.booking-fields select{border-radius:3px;border-color:#e1d6c9;background:#fffdfb}.booking-fields input:focus,.booking-fields select:focus{outline:2px solid #b54b4429;outline-offset:2px;border-color:#bfa38f}.quote-alert,.booking-local{border-radius:4px}.booking-continue{border-radius:3px}.booking-local{background:#fbf8f2;border-color:#ded1c1}.calendar-status{border-color:#eee6dd}.calendar-legend i{border-radius:3px}
/* A single date selection, followed by guests, pricing, then contact details. */
.booking-step-index{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#eee5da;color:var(--red);font:500 12px/1 Inter,sans-serif;vertical-align:middle;margin-right:5px;flex:none}.booking-period{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 18px;background:#f7f3ed;border-radius:3px;margin:0 0 22px}.booking-period>div{display:flex;flex-direction:column;gap:6px}.booking-period>div>span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.booking-period strong{font:400 15px/1.5 Inter,sans-serif;color:var(--ink)}.booking-reset{grid-column:1/-1;justify-self:start;border:0;background:none;padding:0;color:var(--red);font:11px/1.7 Inter,sans-serif;text-decoration:underline;text-underline-offset:3px}.booking-reset:disabled{display:none}.booking-field-heading{font:500 11px/1.6 Inter,sans-serif;letter-spacing:.04em;color:var(--muted);margin:22px 0 -10px}.booking-fields>.booking-field-heading{margin:7px 0 -3px;padding-top:17px;border-top:1px solid var(--line)}.booking-estimate-panel{margin-top:24px;padding:26px 28px;background:#fff;border:1px solid #e9e1d7;border-radius:5px;box-shadow:0 5px 22px #57433306}.booking-estimate-panel .quote-summary{margin-top:18px;padding-top:0;border-top:0}.booking-estimate-panel .quote-lines{max-width:780px}.booking-estimate-panel .quote-lines>div{padding:7px 0;border-bottom:1px solid #f0eae3;margin:0}.booking-estimate-panel .quote-total{max-width:780px;border-top:0;margin-top:12px;padding-top:10px}.booking-estimate-panel .booking-continue{width:auto;min-width:260px}.booking-estimate-panel .booking-nonbinding{max-width:780px}.request-address{margin-top:26px;padding:20px 0 0;border:0;border-top:1px solid var(--line);min-width:0}.request-address legend{padding:0 10px 0 0;font:500 14px/1.5 Inter,sans-serif}.request-address legend span{font-size:12px;font-weight:400;color:var(--muted)}.request-message{margin-top:26px}.booking-request-details .form-intro h2{font-size:29px}.booking-selection-note{margin-top:20px}.booking-fields{margin-top:22px}@media(max-width:850px){.booking-estimate-panel{padding:24px}}@media(max-width:520px){.booking-estimate-panel{padding:20px 16px}.booking-estimate-panel .booking-continue{width:100%;min-width:0}.booking-period{padding:14px}.booking-period strong{font-size:14px}.booking-request-details .form-intro h2{font-size:25px}}

/* Full-width date selection with guest preferences below. */
.booking-layout{grid-template-columns:minmax(0,1fr);gap:24px}.calendar-months{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.calendar-day{min-height:32px}.booking-period{grid-template-columns:1fr 1fr auto;align-items:center;max-width:620px}.booking-period .booking-reset{grid-column:auto;justify-self:end}.booking-price-panel>.booking-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 22px}.booking-price-panel>.booking-fields>.booking-ages{grid-column:3/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-price-panel>.booking-fields>.booking-full{grid-column:span 2}.booking-price-panel>.booking-fields>h4.booking-full{grid-column:1/-1}.booking-price-panel>.booking-fields>.booking-ages[hidden]+h4{margin-top:4px}.booking-price-panel{background:#fff}.calendar-month h4{font-size:20px}@media(max-width:1150px){.calendar-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.calendar-month:nth-child(n+4){display:none}}@media(max-width:850px){.calendar-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.calendar-month:nth-child(n+3){display:none}.calendar-day{min-height:38px}.booking-price-panel>.booking-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-price-panel>.booking-fields>.booking-ages{grid-column:1/-1}.booking-price-panel>.booking-fields>.booking-full{grid-column:1/-1}}@media(max-width:520px){.calendar-months{grid-template-columns:1fr}.calendar-month:nth-child(n+2){display:none}.calendar-day{min-height:40px}.booking-period{grid-template-columns:1fr 1fr}.booking-period .booking-reset{grid-column:1/-1;justify-self:start}.booking-price-panel>.booking-fields{gap:16px 12px}}

.calendar-month-navigation{display:flex;justify-content:flex-end;margin:0 0 12px}.calendar-month-navigation>div{display:flex;gap:8px}.calendar-month-navigation button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #e9e0d5;border-radius:50%;background:#fcfaf7;color:var(--ink);font-size:18px}.calendar-month-navigation button:disabled{opacity:.35;cursor:default}.calendar-month-navigation+.calendar-months{margin-top:0}.booking-estimate-panel .quote-alert{max-width:780px;margin:14px 0 18px}

.calendar-selection-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin:14px 0 18px}.calendar-selection-line .calendar-instruction{margin:0;min-height:0}.calendar-selection-line .booking-reset{flex:none;font-size:11px}.calendar-selection-line+.calendar-month-navigation{margin-top:0}@media(max-width:520px){.calendar-selection-line{gap:8px;margin-bottom:14px}}
/* Compact calendar header: navigation shares the month-title line. */
.booking-calendar-panel{padding:24px}.calendar-selection-line{margin:10px 0 14px;gap:8px 20px}.booking-calendar-panel>.calendar-month-navigation{position:relative;height:0;min-height:0;margin:0;padding:0;z-index:1;overflow:visible}.booking-calendar-panel>.calendar-month-navigation>div{position:absolute;right:0;top:0;gap:6px}.booking-calendar-panel>.calendar-month-navigation button{width:31px;height:31px;font-size:16px}.booking-calendar-panel .calendar-month h4{display:flex;align-items:center;min-height:32px;margin:0 0 10px;padding-right:70px;text-align:left;font-size:19px}.booking-calendar-panel .calendar-weekday{padding-bottom:6px}.booking-calendar-panel .calendar-legend{margin-top:18px}.booking-calendar-panel .calendar-status{margin-top:15px;padding-top:13px}.booking-calendar-panel .calendar-help{margin-top:6px}@media(max-width:520px){.booking-calendar-panel{padding:20px 16px}.booking-calendar-panel .calendar-month h4{font-size:20px}.calendar-selection-line{margin:9px 0 12px}}
.request-form .required-note{text-align:right;font-size:10px;line-height:1.6;color:#898079;margin:12px 0 19px;font-weight:400}.request-address #country{width:100%}

.booking-import-fallback{padding:10px 14px;border:1px solid #e9e1d7;background:transparent;font-size:11px}.booking-import-fallback .booking-import-label{font-size:11px}
/* Gentle edges and warm, restrained depth; layout and brand colours retained. */
.btn{border-radius:3px;box-shadow:0 3px 9px #a3443e0b;transition:background-color .2s,box-shadow .2s}.header{box-shadow:0 3px 16px #55433304}.room-card,.feature-link{border-radius:4px;box-shadow:0 4px 20px #57433305;overflow:hidden}.room-card-photo{border-radius:4px 4px 0 0}.room-card:has(.room-dialog[open]){overflow:visible}.hero-copy{border-radius:5px 5px 0 0;box-shadow:0 -4px 24px #51402e06}.contact-panel,.request-form{border-radius:5px;box-shadow:0 5px 22px #57433305}.request-form input,.request-form select,.request-form textarea{border-radius:3px;border-color:#e1d6c9;background:#fffdfb}.request-quicklinks a{border-radius:4px;border-color:#e8ded2;background:#fffdfb}.callout,.price-included{border-radius:3px}.room-dialog{border-radius:5px;box-shadow:0 12px 60px #30282026}.room-dialog-head{border-radius:5px 5px 0 0}.room-dialog-close,.room-photo-controls button,.room-step{border-radius:3px}.price-overview>.table-wrap,.price-extra-section>.table-wrap{border-radius:4px;box-shadow:0 4px 18px #57433304}.room-summary,.price-section-intro,.page-head p{color:#655e57}@media(max-width:700px){.room-dialog{border-radius:0}.room-dialog-head{border-radius:0}.hero-copy{border-radius:4px 4px 0 0}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.price-page .season-matrix{table-layout:fixed;margin:0;min-width:620px}.price-page .season-matrix thead th{width:25%;padding:18px 16px;text-align:center;vertical-align:top;text-transform:none;letter-spacing:0;font:500 12px/1.5 Inter,sans-serif}.price-page .season-matrix thead th:first-child{text-align:left;vertical-align:middle;color:var(--muted);font-size:11px}.price-page .season-matrix thead strong{display:block;font:400 20px/1.2 Georgia,serif;letter-spacing:-.025em;color:var(--ink)}.price-page .season-matrix thead small{font:11px/1.6 Inter,sans-serif;margin-top:9px;color:var(--muted)}.price-page .season-matrix tbody th{width:25%;padding:18px 16px;background:#faf8f4;font:500 13px/1.6 Inter,sans-serif;vertical-align:middle;text-transform:none;letter-spacing:0}.price-page .season-matrix tbody th small{font-size:11px;margin-top:4px;font-weight:400}.price-page .season-matrix tbody td{padding:18px 16px;background:#fff;font:500 19px/1.4 Inter,sans-serif;text-align:center;vertical-align:middle;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink)}.price-page .season-matrix th:not(:first-child),.price-page .season-matrix td{border-left:1px solid #e6dfd5}.price-page .season-matrix tbody tr:last-child>*{border-bottom:0}.price-page .season-matrix-wrap{border:1px solid #e6dfd5;box-shadow:0 3px 15px #57433304}.price-page .season-matrix{border-top:0}.price-overview .price-included{padding:13px 18px;margin-top:15px;font-size:12px}.price-page .price-extra-section{margin-top:36px}@media(max-width:700px){.price-page .season-matrix thead th,.price-page .season-matrix tbody th,.price-page .season-matrix tbody td{padding:15px 12px}.price-page .season-matrix thead strong{font-size:18px}.price-page .season-matrix tbody td{font-size:17px}.season-matrix-wrap{scrollbar-width:thin}.price-page .season-matrix{min-width:570px}}
/* Uniform, restrained price typography and a shared table treatment. */
.price-page .season-matrix tbody td{font-size:16px;font-weight:400;line-height:1.5;color:#514a43}.price-page .extras-table{table-layout:fixed;border-top:0}.price-page .extras-table thead th{text-transform:none;letter-spacing:0;font:400 19px/1.3 Georgia,serif;padding:18px 16px;text-align:left}.price-page .extras-table thead th:nth-child(1){width:26%}.price-page .extras-table thead th:nth-child(2){width:25%;text-align:center}.price-page .extras-table thead th:nth-child(3){width:49%}.price-page .extras-table tbody th{background:#faf8f4;font-size:13px;font-weight:500;vertical-align:middle;padding:18px 16px}.price-page .extras-table tbody td{padding:18px 16px;vertical-align:middle}.price-page .extras-table tbody td:nth-child(2){text-align:center}.price-page .extras-table b{font-size:16px;font-weight:400;color:#514a43}.price-page .extras-table th:not(:first-child),.price-page .extras-table td{border-left:1px solid #e6dfd5}.price-page .extras-table tbody tr:last-child>*{border-bottom:0}.price-page .price-extra-section>.table-wrap{border:1px solid #e6dfd5}.price-page .extras-table tbody td:last-child{font-size:12px;line-height:1.75}.price-page .extras-table small{font-size:11px;line-height:1.6}.booking-terms{margin-top:36px}.booking-terms h2{margin-bottom:20px}.booking-facts{display:block;margin:0;background:#fff;border:1px solid #e6dfd5;border-radius:4px;overflow:hidden}.booking-facts>div{display:grid;grid-template-columns:26% minmax(0,1fr);gap:0;padding:0;border-top:0;border-bottom:1px solid #e6dfd5}.booking-facts>div:last-child{border-bottom:0}.booking-facts dt{margin:0;padding:19px 20px;background:#eee8e0;color:var(--ink);font:400 19px/1.35 Georgia,serif;text-transform:none;letter-spacing:-.02em;display:flex;align-items:center}.booking-facts dd{padding:17px 22px;border-left:1px solid #e6dfd5}.booking-facts strong{font:500 14px/1.6 Inter,sans-serif;color:#514a43}.booking-facts p{font-size:12px;line-height:1.75;margin-top:5px}@media(max-width:700px){.price-page .season-matrix tbody td{font-size:15px}.booking-facts>div{grid-template-columns:30% minmax(0,1fr)}.booking-facts dt{font-size:17px;padding:16px}.booking-facts dd{padding:16px}.price-page .extras-table thead th{font-size:17px}}@media(max-width:600px){.price-page .extras-table tbody th,.price-page .extras-table tbody td{border-left:0;padding:0;background:transparent}.price-page .extras-table tbody td:nth-child(2){text-align:left}.price-page .extras-table tbody tr{padding:18px}.price-page .extras-table tbody tr:nth-child(even){background:#faf8f4}.booking-facts>div{display:block}.booking-facts dt{padding:13px 16px;font-size:18px}.booking-facts dd{border-left:0;padding:14px 16px}}

.price-included p{margin:0;font-size:12px;line-height:1.85}.price-included p+p{margin-top:8px}.booking-prose-content{max-width:870px}.booking-prose-content article{margin-top:24px}.booking-prose-content article:first-child{margin-top:0}.booking-prose-content h3{font:400 21px/1.4 Georgia,serif;color:var(--ink);margin:0 0 9px}.booking-prose-content p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.booking-prose h2{margin-bottom:20px}

.booking-bullets{padding-left:18px;margin:0;color:var(--muted);font-size:13px;line-height:1.85}.booking-bullets li{padding-left:3px;margin:7px 0}.booking-bullets li::marker{color:var(--red);font-size:10px}

.booking-info-panels{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:none}.booking-info-panels article,.booking-info-panels article:first-child{margin:0;padding:24px 26px;background:#f0ebe3;border-radius:4px}.booking-info-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.booking-info-heading svg{width:24px;height:24px;flex:none;color:var(--red)}.booking-info-panels .booking-info-heading h3{margin:0;font-size:23px}.booking-info-panels .booking-bullets{padding-left:15px;margin:0}.booking-info-panels .booking-bullets li{margin:0 0 17px;padding-left:5px;line-height:1.7}.booking-info-panels .booking-bullets li:last-child{margin-bottom:0}.booking-info-panels .booking-bullets strong{display:block;font:500 13px/1.7 Inter,sans-serif;color:#514a43}.booking-info-panels .booking-bullets span{display:block;font-size:12px;line-height:1.8;margin-top:4px;color:var(--muted)}@media(max-width:650px){.booking-info-panels{grid-template-columns:1fr;gap:16px}.booking-info-panels article,.booking-info-panels article:first-child{padding:22px}.booking-info-panels .booking-info-heading h3{font-size:21px}}
.booking-info-panels a{color:var(--red);text-underline-offset:3px}.calendar-preview{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,1.55fr);gap:44px;margin-top:36px;padding:28px;background:#fff;border:1px solid #e9e1d7;border-radius:4px}.calendar-preview-copy{align-self:center}.calendar-preview-copy h2{margin-top:10px}.calendar-preview-copy>p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:14px}.calendar-preview-copy .btn{margin-top:20px;font-size:12px}.calendar-preview-copy .calendar-preview-status{font-size:10px;line-height:1.7;margin-top:14px}.calendar-preview-months{display:grid;grid-template-columns:1fr 1fr;gap:22px}.calendar-preview-month h3{font:400 20px/1.4 Georgia,serif;text-align:center;margin-bottom:15px;text-transform:capitalize}.calendar-preview .calendar-day{display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:27px;font-size:11px;aspect-ratio:1}.calendar-preview a.calendar-day:hover{outline:1px solid var(--red)}.calendar-preview span.calendar-day{cursor:default}.calendar-preview .calendar-month-navigation{margin-bottom:8px}.calendar-preview .calendar-month-navigation button{width:31px;height:31px;font-size:15px}.calendar-preview [hidden]{display:none!important}.mini-import{display:block;font-size:10px;color:var(--muted);margin-top:12px;line-height:1.7}.mini-import input{display:block;max-width:100%;font-size:10px;margin-top:6px}@media(max-width:850px){.calendar-preview{grid-template-columns:1fr;gap:20px;padding:24px}.calendar-preview-copy h2{font-size:27px}.calendar-preview-months{gap:24px}.calendar-preview .calendar-day{min-height:35px}}@media(max-width:480px){.calendar-preview{padding:20px 16px}.calendar-preview-months{grid-template-columns:1fr}.calendar-preview-month:nth-child(2){display:none}}

.extra-info-panels .booking-info-heading{margin-bottom:17px}.extra-card-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}.extra-card-price strong{font:400 16px/1.5 Inter,sans-serif;color:#514a43}.extra-card-price span{font-size:11px;color:var(--muted)}.extra-info-panels article>p{font-size:12px;line-height:1.85;color:var(--muted);margin:0}.extra-info-panels .booking-info-heading h3{font-size:22px}@media(max-width:650px){.extra-info-panels .booking-info-heading h3{font-size:21px}}

.price-overview .price-included{background:#fff}
.room-image-frame{position:relative}.room-image-arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:52px;padding:0;border:1px solid #ffffff8c;border-radius:3px;background:#f8f5f0ed;box-shadow:0 2px 10px #30282013;color:#514a43;opacity:0;pointer-events:none;transition:opacity .18s,background .18s}.room-image-arrow span{font:300 36px/1 Georgia,serif;margin-top:-3px}.room-image-prev{left:12px}.room-image-next{right:12px}.room-image-frame:hover .room-image-arrow,.room-image-frame:focus-within .room-image-arrow{opacity:1;pointer-events:auto}.room-image-arrow:hover{background:#fff;color:var(--red)}.room-image-arrow:focus-visible{outline:2px solid var(--red);outline-offset:3px}.room-photo-controls{justify-content:center;margin:10px 0}.room-step{flex-direction:row;align-items:center;justify-content:space-between;min-height:54px;gap:12px;padding:13px 15px}.room-step-back{grid-column:1}.room-step-forward{grid-column:2}.room-step-arrow{font-size:19px;color:var(--red);flex:none}.room-step-title{font-size:13px}.room-step-forward .room-step-title{text-align:left}.room-step-back .room-step-title{text-align:right}@media(hover:none),(pointer:coarse){.room-image-arrow{opacity:1;pointer-events:auto;width:40px;height:46px;background:#f8f5f0df}}@media(prefers-reduced-motion:reduce){.room-image-arrow{transition:none}}@media(max-width:700px){.room-image-prev{left:8px}.room-image-next{right:8px}.room-step{min-height:54px;padding:12px}.room-step-title{font-size:12px}}

/* Light image controls and a shared footer row for thumbnails / room links. */
.room-image-arrow{width:36px;height:44px;border:0;background:#f8f5f04d;box-shadow:none;color:#fff;text-shadow:0 1px 3px #30282085}.room-image-arrow span{font-size:30px}.room-image-arrow:hover{background:#f8f5f099;color:#514a43;text-shadow:none}.room-image-prev{left:8px}.room-image-next{right:8px}.room-dialog-content{column-gap:34px;row-gap:18px;align-items:start}.room-dialog-photos{grid-column:1;grid-row:1}.room-dialog-description{grid-column:2;grid-row:1}.room-gallery-footer{grid-column:1;grid-row:2}.room-navigation-footer{grid-column:2;grid-row:2}.room-gallery-footer .room-dialog-thumbs{margin:0}.room-gallery-footer .room-photo-controls{margin:10px 0 0;min-height:18px}.room-navigation-footer .room-to-room{margin:0;padding:0;border:0}.room-navigation-footer .room-tour-count{font-size:11px;line-height:18px;color:var(--muted);margin:10px 0 0}.room-navigation-footer .room-step{height:71px}.room-gallery-footer .room-dialog-thumbs button{height:71px}.room-gallery-footer .room-dialog-thumbs img{height:65px}@media(hover:none),(pointer:coarse){.room-image-arrow{width:40px;height:44px;background:#f8f5f05c}}@media(max-width:700px){.room-dialog-content{display:flex;flex-direction:column;gap:18px}.room-dialog-content>div{width:100%;min-width:0}.room-dialog-photos{order:1}.room-gallery-footer{order:2}.room-dialog-description{order:3;margin-top:4px}.room-navigation-footer{order:4}.room-navigation-footer .room-step{height:auto;min-height:54px}.room-gallery-footer .room-dialog-thumbs button{height:65px}.room-gallery-footer .room-dialog-thumbs img{height:59px}}

.room-image-arrow{width:40px;height:46px;background:#f8f5f0c7;color:#51463e;text-shadow:none;border:1px solid #ffffff7a;box-shadow:0 1px 7px #30282014}.room-image-arrow svg{display:block;width:22px;height:22px;flex:none}.room-image-arrow:hover{background:#f8f5f0ed;color:var(--red)}@media(hover:none),(pointer:coarse){.room-image-arrow{width:42px;height:46px;background:#f8f5f0c7;color:#51463e}}

.room-heading-group{min-width:0}.room-area-label{display:block;font:500 10px/1.5 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:5px}.room-step-text{display:flex;flex-direction:column;gap:3px;min-width:0;text-align:left}.room-transition-label{font:500 10px/1.3 Inter,sans-serif;color:var(--red)}.room-step-transition{border-color:#c9aca0;background:#fcf6f1;padding:10px 12px}.room-step-transition .room-step-title{font-size:12px;line-height:1.4}.room-step-transition .room-step-arrow svg{display:block;width:22px;height:22px}.room-step-back .room-step-text{align-items:flex-end;text-align:right}@media(max-width:700px){.room-area-label{font-size:9px;margin-bottom:4px}.room-step-transition{min-height:65px!important}.room-transition-label{font-size:9px}}

.house-sketch-backdrop{opacity:.32}

/* Lockerer botanischer Akzent in der Einführung. */
.house-page .house-intro-background{position:relative;isolation:isolate;overflow:visible}
.house-page .house-intro-background>p{max-width:70%;position:relative;z-index:1}
.house-botanical-decoration{position:absolute;right:-28px;top:12px;width:300px;height:210px;object-fit:contain;opacity:.7;transform:rotate(-12deg);pointer-events:none;z-index:0}
@media(max-width:900px){.house-botanical-decoration{right:0;width:220px;height:180px;opacity:.45}.house-page .house-intro-background>p{max-width:74%}}
@media(max-width:600px){.house-botanical-decoration{right:0;top:4px;width:155px;height:125px;opacity:.16}.house-page .house-intro-background>p{max-width:100%}}

/* Kleine Fotokarten statt botanischem Motiv. */
.house-page .house-intro-background{min-height:250px;padding-right:350px}
.house-page .house-intro-background>p{max-width:100%}
.house-postcard-collage{position:absolute;right:12px;top:27px;width:290px;height:210px;pointer-events:none}
.house-postcard{position:absolute;width:192px;padding:8px 8px 10px;margin:0;background:#fffdf8;box-shadow:0 5px 15px #493c2920;border:1px solid #e9e2d7}
.house-postcard img{display:block;width:100%;height:116px;object-fit:cover}
.house-postcard figcaption{text-align:center;font:11px/1.5 Montserrat,Arial,sans-serif;color:#777065;padding-top:7px;letter-spacing:.03em}
.postcard-house{left:0;top:0;transform:rotate(-9deg)}
.postcard-garden{right:0;top:63px;transform:rotate(8deg)}
@media(max-width:900px){.house-page .house-intro-background{padding-right:280px;min-height:260px}.house-postcard-collage{right:0;transform:scale(.83);transform-origin:top right}}
@media(max-width:600px){.house-page .house-intro-background{padding-right:0;min-height:0}.house-postcard-collage{position:relative;right:auto;top:auto;margin:26px auto 0;height:230px;transform:none}.house-page .house-intro-background>p{max-width:100%}}

/* Freigestellter gezeichneter Hausschlüssel. */
.house-key-decoration{position:absolute;right:15px;top:30px;width:270px;height:190px;object-fit:contain;opacity:.55;pointer-events:none;transform:rotate(-8deg)}
@media(max-width:900px){.house-key-decoration{width:220px;height:170px;right:0;top:35px}}
@media(max-width:600px){.house-key-decoration{width:130px;height:95px;right:0;top:8px;opacity:.13}}
/* Größerer, zurückhaltender Schlüsselakzent. */
.house-key-decoration{width:315px;height:220px;top:17px;right:0;opacity:.24}
@media(max-width:900px){.house-key-decoration{width:250px;height:195px;top:25px;opacity:.24}}
@media(max-width:600px){.house-key-decoration{width:150px;height:110px;top:8px;opacity:.1}}
.nav a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px;text-decoration-skip-ink:auto}.nav a[aria-current=location]{color:var(--red)}.nav .btn[aria-current]{color:#fff;text-decoration-color:#fff;text-underline-offset:5px}.apartment-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:0;background:#fff;border-radius:4px;overflow:hidden;align-items:stretch}.apartment-intro>img{width:100%;height:100%;min-height:325px;object-fit:cover}.apartment-copy{padding:30px}.apartment-copy h2,.apartment-more h2{font-size:29px}.apartment-copy p,.apartment-more p{font-size:14px;line-height:1.85;color:var(--muted);margin-top:18px}.apartment-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:34px 0;margin-bottom:20px;border-bottom:1px solid var(--line)}.apartment-highlights>div{display:flex;align-items:flex-start;gap:14px}.apartment-highlights svg{width:27px;height:27px;flex:none;color:var(--red)}.apartment-highlights p{font-size:13px;color:var(--muted);line-height:1.8}.apartment-more{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:24px 0 0}.apartment-more img{width:100%;height:300px;object-fit:cover;border-radius:4px}.apartment-more .btn{margin-top:24px;font-size:13px}.language-switch{display:flex;align-items:center;gap:8px;flex:none;white-space:nowrap}.language-switch button{display:inline-flex;align-items:center;gap:5px;border:0;background:none;padding:6px 2px;color:var(--muted);font:500 10px/1.4 Inter,sans-serif;letter-spacing:.05em}.language-switch .language-current{color:var(--red);border-bottom:1px solid var(--red)}.language-switch .language-preview{cursor:default;opacity:.55}.language-switch svg{width:20px;height:14px;display:block;border-radius:1px;box-shadow:0 0 0 1px #35343215}.header-inner{gap:20px}.header-inner>.nav{margin-left:auto;gap:19px}.header-inner .logo{width:235px}.amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 52px}.amenity p{max-width:440px}@media(max-width:1200px) and (min-width:1001px){.header-inner{gap:14px}.header-inner .logo{width:190px}.header-inner>.nav{gap:14px}.nav,.nav .btn{font-size:11px;letter-spacing:.1em}.nav .btn{padding:12px 16px}.language-switch{gap:6px}.language-switch button{font-size:9px;gap:4px}.language-switch svg{width:17px;height:12px}}@media(max-width:1000px){.header-inner{min-height:80px}.header-inner .logo{width:210px}.header-inner>.menu{display:block;order:3}.header-inner>.language-switch{margin-left:auto;order:2}.header-inner>.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:24px 5%;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;margin:0;gap:20px}.header-inner>.nav.open{display:flex}.nav,.nav .btn{font-size:13px}.apartment-intro{grid-template-columns:1fr 1fr}.apartment-copy{padding:24px}.apartment-copy h2,.apartment-more h2{font-size:26px}}@media(max-width:700px){.apartment-intro{display:block}.apartment-intro>img{height:240px;min-height:0}.apartment-highlights{grid-template-columns:1fr;gap:22px}.apartment-more{display:flex;flex-direction:column;gap:26px;align-items:stretch}.apartment-more img{height:240px}.amenities-grid{grid-template-columns:1fr;gap:24px}.header-inner{gap:12px}.header-inner .logo{width:180px}.language-switch{gap:7px}.language-switch button{font-size:9px}.language-switch svg{width:17px;height:12px}}@media(max-width:380px){.header-inner .logo{width:145px}.header-inner{gap:9px}.header-inner>.menu{font-size:12px;padding:7px 10px}}

.apartment-invitation{grid-template-columns:minmax(0,1fr) auto;gap:36px;margin-top:30px;padding:28px 30px;background:#eee8e0;border-radius:4px}.apartment-invitation h2{font-size:27px}.apartment-invitation p{max-width:750px;margin-top:12px;font-size:13px}.apartment-invitation .btn{margin:0;align-self:center;font-size:12px}@media(max-width:850px){.apartment-invitation{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding:24px}.apartment-invitation .btn{align-self:flex-start}}

.weather-strip{padding:0}.weather-strip-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}.weather-strip .weather-bar{justify-content:center;min-width:0;padding:5px 0}.weather-strip .language-switch{justify-self:end;margin:0}.weather-strip .language-switch button{padding:4px 2px}.weather-strip .language-current{border-bottom:0}.weather-strip .language-current span{text-decoration:underline;text-underline-offset:4px}.weather-strip .weather-forecast{gap:18px;margin-left:12px}.weather-strip .weather-day{padding-left:18px}.weather-strip .language-switch svg{width:18px;height:12px}@media(max-width:700px){.weather-strip-inner{gap:10px}.weather-strip .weather-bar{font-size:10px;gap:6px}.weather-strip .weather-forecast{gap:10px;margin-left:5px}.weather-strip .weather-day{padding-left:10px;gap:5px}.weather-strip .language-switch{gap:6px}.weather-strip .language-switch button{font-size:9px}}@media(max-width:480px){.weather-strip-inner{align-items:start}.weather-strip .language-switch{padding-top:4px}.weather-strip .weather-forecast{width:100%;margin:2px 0 0}.weather-strip .weather-day:first-child{border:0;padding-left:0}.weather-strip .weather-bar{justify-content:flex-start}.weather-strip .weather-day{font-size:9px}.weather-strip .weather-day-icon{font-size:14px}}

.apartment-gallery{position:relative;border-radius:13px;overflow:hidden;background:#eee8e0}
.apartment-gallery figure{margin:0}.apartment-gallery figure[hidden]{display:none!important}
.apartment-gallery img{display:block;width:100%;height:clamp(280px,38vw,540px);object-fit:cover}
.apartment-gallery figcaption{position:absolute;bottom:22px;left:26px;padding:8px 13px;border-radius:6px;background:#fffdfbe6;font-size:14px}
.apartment-gallery button{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:48px;border:0;border-radius:7px;background:#fffdfbd9;color:#39393b;display:grid;place-items:center;cursor:pointer}
.apartment-gallery-prev{left:18px}.apartment-gallery-next{right:18px}.apartment-gallery button svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.apartment-gallery-count{position:absolute;right:24px;bottom:25px;background:#fffdfbd9;border-radius:6px;padding:5px 10px;font-size:12px}
.apartment-intro.apartment-intro-text{display:block;background:none;overflow:visible;margin-top:30px}.apartment-intro-text .apartment-copy{padding:0;max-width:900px}.apartment-intro-text .apartment-copy p{margin-top:12px}

/* Kompakte Wohnungspräsentation: Einführung vor Bildern und Einladung. */
.apartment-page-content .apartment-intro-text{margin-top:0;margin-bottom:26px;border:0;border-radius:0;background:none;box-shadow:none}
.apartment-page-content .apartment-copy{max-width:100%;padding:0;background:none}
.apartment-page-content .apartment-copy p{max-width:900px}
.apartment-discovery{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:26px;align-items:stretch}
.apartment-discovery .apartment-gallery img{height:270px;object-position:center}
.apartment-discovery .apartment-invitation{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;margin:0;padding:26px;border-radius:13px;background:#eee8e0}
.apartment-discovery .apartment-invitation h2{font-size:var(--h3,19px);line-height:1.4}
.apartment-discovery .apartment-invitation p{margin-top:12px}
.apartment-discovery .apartment-invitation .btn{align-self:flex-start;white-space:normal}
.apartment-discovery .apartment-gallery figcaption{left:18px;bottom:16px;font-size:12px}
.apartment-discovery .apartment-gallery-count{right:18px;bottom:18px}
@media(max-width:800px){.apartment-discovery{grid-template-columns:1fr;gap:18px}.apartment-discovery .apartment-gallery img{height:250px}.apartment-discovery .apartment-invitation{padding:24px}}
/* Visual language shared with the local holiday-home management application.
   Only presentation is shared: no bookings, guest records or application code. */
:root{--tile:#fffdfb;--tile-warm:#f8f3ed;--tile-line:#e4d9cf;--tile-radius:11px;--panel-radius:13px}
.btn{border-radius:7px;box-shadow:none}.header{box-shadow:0 3px 15px #57433304}.room-card,.feature-link{border:1px solid var(--tile-line);border-radius:var(--tile-radius);background:var(--tile);box-shadow:0 3px 14px #57433304}.room-card-photo{border-radius:10px 10px 0 0}.room-card-body,.feature-link>div{background:var(--tile)}.hero-copy{background:var(--tile-warm);border-radius:13px 13px 0 0;box-shadow:0 -3px 24px #57433308}.home-introduction .feature-link{transition:border-color .18s,box-shadow .18s}.home-introduction .feature-link:hover{border-color:#bc827a;box-shadow:0 5px 16px #57433312}.amenities-section{background:#f1ebe3}.amenities-grid{gap:18px 22px}.amenity{padding:20px;border:1px solid var(--tile-line);border-radius:var(--tile-radius);background:var(--tile-warm)}.amenity>svg{padding:6px;width:40px;height:40px;flex-basis:40px;background:#efe0da;border-radius:10px}.amenity h3{font-size:15px}.amenity p{font-size:13px;line-height:1.8}.booking-info-panels article,.booking-info-panels article:first-child{border:1px solid var(--tile-line);border-radius:var(--tile-radius);background:var(--tile-warm);padding:24px}.booking-info-heading svg{width:35px;height:35px;padding:6px;border-radius:10px;background:#efe0da}.booking-info-heading{gap:12px}.booking-info-panels .booking-info-heading h3{font-size:23px}.price-overview .price-included{border:1px solid var(--tile-line);border-left:2px solid var(--red);border-radius:9px;background:var(--tile)}.price-page .season-matrix-wrap{border-radius:var(--tile-radius);border-color:var(--tile-line);box-shadow:none}.price-page .season-matrix tbody td{background:var(--tile)}.price-page .season-matrix thead th{background:#f1ebe3}.calendar-preview,.booking-calendar-panel,.booking-price-panel,.booking-estimate-panel{border:1px solid var(--tile-line);border-radius:var(--panel-radius);background:var(--tile);box-shadow:0 3px 16px #57433304}.calendar-preview-copy .btn{border-radius:7px}.request-form,.contact-panel{background:var(--tile);border:1px solid var(--tile-line);border-radius:var(--panel-radius);box-shadow:none}.booking-fields input,.booking-fields select,.request-form input:not([type=checkbox]),.request-form select,.request-form textarea{border:1px solid #ded8d1;border-radius:7px;background:var(--tile)}.booking-fields input:focus-visible,.booking-fields select:focus-visible,.request-form input:focus-visible,.request-form select:focus-visible,.request-form textarea:focus-visible{outline:2px solid #ac494447;outline-offset:2px;border-color:#b77d75}.request-quicklinks a{border:1px solid var(--tile-line);border-radius:9px;background:var(--tile)}.booking-selection-note,.quote-alert,.callout{border-radius:9px;background:#f1ebe3}.quote-total{border-color:var(--tile-line)}.quote-total strong{color:var(--ink)}.quote-alert{background:#f3e5e2;border-left-color:var(--red)}.booking-step-index{border-radius:9px;background:#efe0da;color:#a3443e}.apartment-intro{border:1px solid var(--tile-line);border-radius:var(--panel-radius);background:var(--tile)}.apartment-copy{background:var(--tile)}.apartment-invitation{border:1px solid var(--tile-line);border-radius:var(--tile-radius);background:var(--tile-warm)}.room-dialog{background:var(--tile);border-radius:14px;box-shadow:0 12px 50px #35343226}.room-dialog::backdrop{background:#35343299}.room-dialog-head{background:var(--tile);border-radius:14px 14px 0 0}.room-step,.room-dialog-close{border-radius:7px;background:var(--tile);border-color:var(--tile-line)}.room-step-transition{background:#f3e5e2;border-color:#d8b6af}.room-dialog-main{border-radius:7px;background:#f1ebe3}.room-dialog-thumbs img{border-radius:4px}.room-dialog-thumbs button{border-radius:6px}.room-image-arrow{border-radius:6px}.booking-import-fallback{border-radius:8px}
/* Occupied nights use the same muted rose hatching as the administration calendar. */
.calendar-day{border-radius:6px}.calendar-day:not(.is-past):not(.is-unknown):not(.is-booked):not(.is-range):not(.is-selected){background:var(--tile);box-shadow:inset 0 0 0 1px #e6dfd7;color:var(--ink)}.calendar-day.is-booked{background:repeating-linear-gradient(135deg,#ead3cf,#ead3cf 4px,#f1dfdc 4px,#f1dfdc 8px);color:#804b46;box-shadow:inset 0 0 0 1px #e5c9c3}.calendar-day.is-booked:not(.is-checkout)::after{content:none}.calendar-day.is-change{background:linear-gradient(135deg,transparent 0 46%,#fffdfb 48%),repeating-linear-gradient(135deg,#ead3cf,#ead3cf 4px,#f1dfdc 4px,#f1dfdc 8px)!important;color:var(--ink);box-shadow:inset 0 0 0 1px #e6dfd7}.calendar-day.is-checkout{background:linear-gradient(135deg,#fffdfb 0 52%,transparent 54%),repeating-linear-gradient(135deg,#ead3cf,#ead3cf 4px,#f1dfdc 4px,#f1dfdc 8px);color:var(--ink);box-shadow:inset 0 0 0 1px #e6dfd7}.calendar-day.is-range{background:#efe5dc;color:#574333;box-shadow:inset 0 0 0 1px #e5d6c8}.calendar-day.is-selected{background:#f3e5e2!important;color:#753e38;box-shadow:inset 0 0 0 2px #ac4944;font-weight:600}.calendar-day.is-today:not(.is-selected){outline:1px solid #c98e87;outline-offset:-1px}.calendar-day.is-past{background:transparent;color:#b7ada4;box-shadow:none}.calendar-day.is-unknown{background:#f1efeb;color:#a49b92;box-shadow:none}.legend-free{background:var(--tile);border:1px solid #d8cec1}.legend-booked{background:repeating-linear-gradient(135deg,#ead3cf,#ead3cf 3px,#f1dfdc 3px,#f1dfdc 6px);border:1px solid #e1bfb8}.legend-selected{background:#f3e5e2;border:2px solid #ac4944}.legend-change{background:linear-gradient(135deg,transparent 0 46%,#fffdfb 48%),repeating-linear-gradient(135deg,#ead3cf,#ead3cf 3px,#f1dfdc 3px,#f1dfdc 6px);border-color:#ded0c6}.calendar-month-navigation button{background:var(--tile);border-radius:7px;border-color:#ded8d1}.calendar-legend i{border-radius:3px}.booking-continue{border-radius:7px}
@media(max-width:700px){.hero-copy{border-radius:11px 11px 0 0}.room-dialog{border-radius:0}.room-dialog-head{border-radius:0}.amenity{padding:18px}.booking-info-panels article,.booking-info-panels article:first-child{padding:22px}.booking-info-panels .booking-info-heading h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.home-introduction .feature-link{transition:none}}
/* Compact amenities: ten complete tiles, without a mostly empty final row. */
.amenities-section{padding:34px 0 38px}.amenities-heading{margin-bottom:22px}.amenities-heading .eyebrow{margin-bottom:10px}.amenities-heading h2{font-size:27px}.amenities-grid{gap:12px}.amenity{padding:14px 16px;gap:12px;border-radius:10px}.amenity>svg{width:32px;height:32px;flex-basis:32px;padding:5px;border-radius:8px;margin-top:0}.amenity h3{font-size:13px;line-height:1.5;margin-bottom:4px}.amenity p{font-size:12px;line-height:1.7;max-width:none}@media(min-width:1100px){.amenities-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.amenity{flex-direction:column;gap:9px;padding:16px}.amenity>svg{flex-basis:32px}.amenity h3{font-size:13px;margin-bottom:5px}.amenity p{font-size:11px;line-height:1.7}}@media(min-width:850px) and (max-width:1099px){.amenities-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.amenity{flex-direction:column;gap:9px;padding:14px}.amenity:nth-last-child(-n+2){grid-column:span 2}.amenity p{font-size:11px}}@media(min-width:600px) and (max-width:849px){.amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:599px){.amenities-section{padding:28px 0}.amenities-grid{grid-template-columns:1fr;gap:9px}.amenity{padding:12px 14px;gap:12px}.amenity h3{font-size:13px}.amenity p{font-size:12px}.amenities-heading h2{font-size:25px}}

/* Compact hero caption leaves the central house visible. */
@media(min-width:701px){
 .hero-grid{padding-left:clamp(24px,4vw,76px);padding-bottom:26px}
 .hero-copy{width:350px;max-width:350px;padding:23px 25px;background:rgba(248,245,240,.93);border-radius:11px;box-shadow:0 3px 18px #4535290a}
 .hero-copy h1{font-size:32px;line-height:1.09}
 .hero-copy .eyebrow{font-size:8px;letter-spacing:.15em;margin-bottom:13px}
 .hero-copy p{font-size:12px;line-height:1.65;margin:15px 0 18px}
 .hero-copy .actions{gap:12px;flex-wrap:wrap}
 .hero-copy .btn{font-size:11px;padding:10px 13px;min-height:37px}
 .hero-copy .textlink{font-size:11px}
}
@media(max-width:700px){
 .hero-copy{padding:22px 22px 24px}
 .hero-copy h1{font-size:30px}
 .hero-copy .eyebrow{margin-bottom:12px}
 .hero-copy p{font-size:12px;margin:14px 0 18px}
}

@media(min-width:701px){.hero-grid{padding-left:max(5%,calc((100% - 1240px)/2))}}

.house-intro-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:65px;align-items:center}
.house-layout-overview{color:var(--muted);padding-left:25px;border-left:1px solid var(--line)}
.layout-level{padding:12px 0;border-bottom:1px solid var(--line)}
.layout-level a{display:flex;justify-content:space-between;text-decoration:none;color:var(--red);font-size:13px;font-weight:500}
.house-layout-overview .layout-level p{font-size:11px;line-height:1.7;margin-top:5px}
.house-layout-overview small{display:block;font-size:9px;margin-top:12px}
#erdgeschoss .room-card-grid,#obergeschoss .room-card-grid{align-items:stretch;grid-auto-rows:1fr}
#erdgeschoss .room-card,#obergeschoss .room-card{display:flex;flex-direction:column}
#erdgeschoss .room-card-body,#obergeschoss .room-card-body{display:flex;flex-direction:column;flex:1}
#erdgeschoss .room-open-button,#obergeschoss .room-open-button{margin-top:auto}
#erdgeschoss .room-summary,#obergeschoss .room-summary{margin-bottom:20px}
@media(max-width:800px){.house-intro-layout{grid-template-columns:1fr;gap:22px}.house-layout-overview{padding-left:0;border-left:0;max-width:400px}}

/* Hero card meets the lower edge; city panorama spans the viewport. */
@media(min-width:701px){
 .hero-grid{padding-bottom:0}
 .hero-copy{width:402.5px;max-width:402.5px;padding:20px 25px;border-radius:11px 11px 0 0;background:rgba(248,245,240,.96)}
 .hero-copy p{margin:13px 0 16px}
}
section.wrap.experience{width:100%;max-width:none;display:flex;flex-direction:column;gap:0;padding:0;margin:0;background:var(--paper)}
section.wrap.experience>div{order:0;width:min(1240px,90%);margin:0 auto;padding:42px 0 30px}
section.wrap.experience>div h2 br{display:none}
section.wrap.experience>div h2 br:after{content:' '}
section.wrap.experience>div p{max-width:760px;margin:16px 0 22px}
section.wrap.experience>img{order:1;width:100%;max-width:none;height:clamp(280px,32vw,560px);object-fit:cover;object-position:50% 52%;border-radius:0;display:block}
@media(max-width:700px){section.wrap.experience>div{padding:30px 0 24px}section.wrap.experience>img{height:300px}}

.booking-tool-heading{display:block}.booking-tool-heading>p{margin-top:16px;max-width:760px}

.calendar-day.is-booked.is-arrival-day:not(.is-past):not(.is-selected){background:linear-gradient(135deg,#fffdfb 0 50%,transparent 51%),repeating-linear-gradient(135deg,#ead3cf,#ead3cf 4px,#f1dfdc 4px,#f1dfdc 8px);color:var(--ink);box-shadow:inset 0 0 0 1px #e6dfd7}
.architecture-illustration{border:0;padding:0}.architecture-illustration img{width:100%;max-width:400px}.architecture-illustration small{font-size:9px;text-align:center;opacity:.8}

.house-intro-background{position:relative;isolation:isolate;overflow:hidden}
.house-intro-background h1,.house-intro-background>p{position:relative;z-index:1;max-width:67%}
.house-intro-background:after{content:'';position:absolute;z-index:-1;pointer-events:none;right:-35px;top:0;bottom:0;width:38%;background:url('architektur-hintergrund.svg') center/contain no-repeat;opacity:.18}
@media(max-width:800px){.house-intro-background h1,.house-intro-background>p{max-width:100%}.house-intro-background:after{width:65%;right:-80px;opacity:.07}}

.calendar-day.is-full-day:not(.is-past):not(.is-selected){background:repeating-linear-gradient(135deg,#ead3cf,#ead3cf 4px,#f1dfdc 4px,#f1dfdc 8px)!important;color:#804b46;box-shadow:inset 0 0 0 1px #e5c9c3}

/* Oversized pencil study extends behind the ground-floor section. */
.house-page main{position:relative;isolation:isolate}
.house-page main:before{content:'';position:absolute;pointer-events:none;z-index:-1;top:5px;right:max(0px,calc((100% - 1430px)/2));width:min(850px,65vw);height:610px;background:url('architektur-hintergrund.svg') top right/contain no-repeat;opacity:.18}
.house-intro-background{overflow:visible;isolation:auto}
.house-intro-background:after{display:none}
@media(max-width:800px){.house-page main:before{width:90vw;height:440px;right:-7vw;opacity:.08}}

/* Translucent invitation sits within the Berlin panorama. */
section.wrap.experience{position:relative;display:block;isolation:isolate;min-height:clamp(390px,34vw,580px);padding:50px max(5%,calc((100% - 1240px)/2));overflow:hidden}
section.wrap.experience>img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:50% 46%}
section.wrap.experience>div{width:460px;max-width:100%;margin:0;padding:28px 30px;background:rgba(248,245,240,.82);border:1px solid rgba(255,255,255,.3);border-radius:13px;box-shadow:0 5px 25px #27222014}
section.wrap.experience>div h2{font-size:30px;line-height:1.16}
section.wrap.experience>div .eyebrow{margin-bottom:14px;font-size:9px}
section.wrap.experience>div p{font-size:13px;line-height:1.7;margin:17px 0 22px;color:#514b45}
section.wrap.experience>div .btn{font-size:12px}
@media(max-width:700px){section.wrap.experience{min-height:460px;padding:28px 5% 130px}section.wrap.experience>div{width:390px;padding:23px}section.wrap.experience>div h2{font-size:27px}section.wrap.experience>img{height:100%;object-position:60% 50%}}

/* Keep the decorative drawing above the page surface and below its content. */
.house-page main:before{z-index:0;opacity:.27;background-image:url('architektur-hintergrund.svg?v=2');width:min(900px,68vw);height:650px}
.house-page main>.page-head,.house-page main>.page-body{position:relative;z-index:1}
.house-intro-background{background:transparent}
@media(max-width:800px){.house-page main:before{width:90vw;height:440px;opacity:.12}}

/* Equal breathing room above and below the invitation; retain the tower tip. */
section.wrap.experience{min-height:0;padding-top:40px;padding-bottom:40px}
section.wrap.experience>img{object-position:50% 0%}
@media(max-width:700px){section.wrap.experience{min-height:0;padding-top:28px;padding-bottom:28px}section.wrap.experience>img{object-position:68% 0%}}

.house-page main:before{display:none}
.house-sketch-backdrop{display:block!important;position:absolute!important;top:0;right:max(0px,calc((100% - 1450px)/2));width:min(900px,68vw);height:650px;object-fit:contain;object-position:top right;opacity:.32;z-index:0;pointer-events:none;max-width:none}
@media(max-width:800px){.house-sketch-backdrop{width:90vw;height:440px;right:0;opacity:.13}}

/* Show the city and the complete tower together, across the full width. */
section.wrap.experience{width:100%;min-height:50vw;padding-top:40px;padding-bottom:40px;display:flex;flex-direction:column;justify-content:center}
section.wrap.experience>img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
@media(max-width:700px){section.wrap.experience{min-height:620px;padding-top:28px;padding-bottom:28px;justify-content:flex-end}section.wrap.experience>img{object-position:70% 25%}}

/* Faint architectural texture, secondary to the house content. */
.house-sketch-backdrop{width:min(740px,56vw);height:535px;opacity:.09;top:12px}
@media(max-width:800px){.house-sketch-backdrop{width:78vw;height:370px;opacity:.055}}

/* Keep the panorama's scale and upper crop; trim only its lower portion. */
section.wrap.experience{min-height:0;padding-top:40px;padding-bottom:40px;overflow:hidden}
section.wrap.experience>img{top:0;bottom:auto;width:100%;height:50vw;min-height:100%;object-fit:cover;object-position:50% 22%}
@media(max-width:700px){section.wrap.experience{min-height:0;padding-top:28px;padding-bottom:28px}section.wrap.experience>img{height:620px;object-position:70% 25%}}

/* Preserve the banner dimensions and emphasize street-level Berlin. */
section.wrap.experience>img{top:auto;bottom:0;object-position:50% 78%}
@media(max-width:700px){section.wrap.experience>img{top:auto;bottom:0;object-position:70% 78%}}

/* More prominent header branding with room for the navigation. */
.header .logo{width:290px;max-width:290px;height:auto}
.header-inner>a{flex-shrink:0}
@media(min-width:1001px) and (max-width:1200px){.header .logo{width:225px;max-width:225px}}
@media(max-width:1000px){.header .logo{width:255px;max-width:255px}}
@media(max-width:500px){.header .logo{width:230px;max-width:min(230px,65vw)}}

/* Center the photo crop and align its caption with the shared content edge. */
section.wrap.experience{align-items:flex-start}
section.wrap.experience>div{align-self:flex-start;margin-left:0;margin-right:0}
section.wrap.experience>img{top:50%;bottom:auto;transform:translateY(-50%);object-position:50% 50%}
@media(max-width:700px){section.wrap.experience>img{object-position:50% 50%}}

.google-map-panel{width:100%;overflow:hidden;border-radius:13px;border:1px solid var(--line);background:#eee8df}
.google-map-panel .map-shell{min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;border:0}
.google-map-panel .map-shell p{max-width:560px;font-size:13px;color:var(--muted)}
.google-map-canvas,.google-map-panel iframe{display:block;width:100%;height:620px;border:0}
.google-map-panel .map-help{padding:0 20px}
.footer .footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:50px;align-items:start}
.footer-brand{padding:26px;background:#f6f3ee;border:1px solid #e9e0d6;border-radius:13px}
.footer-brand .logo{width:225px;max-width:100%;height:auto;margin-bottom:24px}
.footer-brand .footer-contact{margin:0;font-style:normal;display:flex;flex-direction:column;gap:15px}
.footer-brand .footer-contact>div:not(.social-links),.footer-brand .footer-contact>a{padding:0;display:flex;gap:12px;align-items:center;font-size:12px}
.footer-brand .social-links{display:flex;gap:24px;padding-top:18px;margin-top:4px;border-top:1px solid #ded8d1}
.footer-links{padding-top:8px}
@media(max-width:800px){.footer .footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.google-map-canvas,.google-map-panel iframe{height:480px}}
@media(max-width:500px){.footer .footer-grid{gap:25px}.footer-brand{padding:22px}.google-map-canvas,.google-map-panel iframe{height:400px}}

/* Three compact months in the price-page preview. */
.calendar-preview{grid-template-columns:minmax(220px,.75fr) minmax(0,1.8fr);gap:30px}
.calendar-preview-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.calendar-preview-month h3{font-size:18px;margin-bottom:12px}
.calendar-preview .calendar-day{min-height:23px;font-size:10px}
.calendar-preview .calendar-weekday{font-size:9px}
@media(max-width:850px){.calendar-preview{grid-template-columns:1fr;gap:22px}.calendar-preview .calendar-day{min-height:27px}}
@media(max-width:600px){.calendar-preview-months{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-preview-month:nth-child(3){display:none}}
@media(max-width:480px){.calendar-preview-months{grid-template-columns:1fr}.calendar-preview-month:nth-child(n+2){display:none}.calendar-preview .calendar-day{min-height:35px}}

/* Raise the visible crop by twenty percentage points without resizing. */
section.wrap.experience>img{transform:translateY(-38%);object-position:50% 50%}

.general-contact-layout{align-items:start}.general-contact-layout .request-form{padding:32px}.general-contact-layout textarea{width:100%}.general-contact-address{font-style:normal;display:flex;flex-direction:column;gap:15px;margin:24px 0 32px;font-size:13px}.general-contact-address a{overflow-wrap:anywhere}.general-contact-booking{border-top:1px solid var(--line);padding-top:26px;margin-bottom:28px}.general-contact-booking h3{font-size:23px}.general-contact-booking p{font-size:13px;margin:15px 0 20px;color:var(--muted)}
@media(max-width:600px){.general-contact-layout .request-form{padding:22px}}

.facts{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:700px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts .fact:nth-child(even){border-right:0}.facts .fact:last-child{grid-column:1/-1;border:0}}

.contact-side-panels{display:flex;flex-direction:column;gap:22px;padding:0}
.contact-side-card{padding:27px;background:var(--tile-warm);border:1px solid var(--tile-line);border-radius:var(--panel-radius)}
.contact-side-card h2,.contact-side-card h3{font-size:25px;line-height:1.2;margin:0}
.contact-side-details{display:flex;flex-direction:column;gap:20px;margin:24px 0;font-style:normal}
.contact-side-details>div,.contact-side-details>a{display:flex;align-items:flex-start;gap:13px;font-size:12px;line-height:1.8;text-decoration:none}
.contact-side-details svg{color:var(--red);flex:0 0 20px;margin-top:2px}
.contact-side-details span{min-width:0;overflow-wrap:anywhere}.contact-side-details a:hover span{text-decoration:underline;text-underline-offset:4px}
.contact-side-route{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--tile-line);padding-top:18px;font-size:12px;text-decoration:none;color:var(--red)}
.contact-side-heading{display:flex;align-items:center;gap:12px}.contact-side-heading svg{color:var(--red);width:27px;height:27px;flex:none}
.contact-side-stay p{font-size:13px;color:var(--muted);line-height:1.8;margin:18px 0 22px}.contact-side-stay .btn{font-size:12px}
@media(max-width:600px){.contact-side-card{padding:23px}}

/* Full-width surroundings photo, eighteen percent lower than before. */
.travel-panorama.travel-panorama-full{width:100vw;max-width:none;position:relative;left:50%;margin-left:-50vw;height:clamp(196.8px,26.24vw,385.4px);object-fit:cover;object-position:center;border-radius:0}
@media(max-width:700px){.travel-panorama.travel-panorama-full{height:205px}}
.travel-panorama.travel-panorama-full{object-position:50% 55%}

.booking-side-facts{list-style:none;padding:0;margin:23px 0}.booking-side-facts li{position:relative;padding-left:15px;margin:0 0 18px;font-size:13px;line-height:1.7;color:var(--ink)}.booking-side-facts li:before{content:'•';position:absolute;left:0;color:var(--red)}.booking-side-facts strong{font-weight:500}.booking-side-facts li>span{display:block;margin-top:5px;color:var(--muted);font-size:12px}.booking-side-note{font-size:12px!important;line-height:1.8!important;color:var(--muted);margin:0 0 23px!important}.booking-side-links{border-top:1px solid var(--tile-line);padding-top:7px;display:flex;flex-direction:column}.booking-side-links a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;color:var(--red);font-size:12px;text-decoration:none}.booking-side-links a+a{border-top:1px solid var(--tile-line)}.booking-side-panels .social-links{padding-top:17px;border-top:1px solid var(--tile-line);gap:23px}.booking-side-panels .contact-side-details{margin-bottom:20px}

/* Put each amenity title beside its icon, with copy on a full-width row. */
.amenities-grid .amenity{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;row-gap:8px;align-content:start;align-items:center;padding:15px}
.amenities-grid .amenity>svg{grid-column:1;grid-row:1;width:30px;height:30px;margin:0;padding:5px}
.amenities-grid .amenity>div{display:contents}
.amenities-grid .amenity h3{grid-column:2;grid-row:1;margin:0;font-size:13px;line-height:1.4}
.amenities-grid .amenity p{grid-column:1/-1;grid-row:2;margin:0}

.house-sketch-backdrop{width:min(620px,49vw);height:480px;top:5px;opacity:.11;object-position:top right}
@media(max-width:800px){.house-sketch-backdrop{width:75vw;height:370px;opacity:.065}}
.house-sketch-backdrop{width:min(480px,38vw);height:370px}
@media(max-width:800px){.house-sketch-backdrop{width:60vw;height:290px}}
.house-sketch-backdrop{width:min(422.4px,33.44vw);height:325.6px}
@media(max-width:800px){.house-sketch-backdrop{width:52.8vw;height:255.2px}}
.house-sketch-backdrop{right:max(5%,calc((100% - 1240px)/2));width:min(409.728px,32.4368vw);height:315.832px}
@media(max-width:800px){.house-sketch-backdrop{right:5%;width:51.216vw;height:247.544px}}

/* Open footer with one shared branding row and three aligned columns. */
.footer{padding-top:38px}
.footer-top-brand{display:inline-block;margin-bottom:30px;text-decoration:none}
.footer-top-brand .logo{width:220px;max-width:100%;height:auto}
.footer .footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:50px;align-items:start}
.footer .footer-brand{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.footer-contact-title{display:block;font-family:Montserrat,Arial,sans-serif;font-size:18px;font-weight:600;line-height:1.3;letter-spacing:-.025em;margin:0 0 15px}
.footer-contact-title:after{content:'';display:block;width:27px;height:1px;background:var(--red);margin-top:12px}
.footer .footer-links{padding-top:0}
.footer-brand .footer-contact{gap:14px}
.footer-brand .social-links{border:0;padding-top:5px;margin-top:3px;gap:15px}
.footer-brand .social-link{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;padding:0!important}
.footer-brand .social-link span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.footer .footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer .footer-brand{grid-column:1/-1}.footer-top-brand{margin-bottom:26px}}

.footer .legal{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-copyright{display:flex;align-items:center;gap:16px}.footer-copyright img{width:125px;height:auto;filter:grayscale(1);opacity:.7}.footer-copyright>span{font:11px/1.7 Montserrat,Arial,sans-serif;color:var(--muted)}
@media(max-width:800px){.footer .legal{flex-direction:column;align-items:flex-start;gap:18px}.footer-copyright{flex-wrap:wrap;gap:12px}}

.footer .legal{display:flex;justify-content:center;align-items:center;text-align:center;padding-top:24px;padding-bottom:10px}.footer .footer-copyright{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.footer-copyright img{width:210px;max-width:70vw}.weather-attribution{margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}
/* Einheitliche Social-Symbole im Footer. */
.footer .social-links a[href*="facebook.com"] svg{color:var(--red);fill:var(--red);stroke:var(--red)}
.footer .social-links a[href*="instagram.com"]::before{display:none}
.footer .social-links a[href*="instagram.com"] svg{display:block;color:var(--red);fill:none;stroke:var(--red)}
.footer .social-links a:hover{opacity:.7}
/* Social-Links mit ausgeschriebenen Namen. */
.footer-brand .social-links{gap:22px;padding-top:8px}
.footer-brand .social-link{width:auto;height:auto;min-height:30px;justify-content:flex-start;gap:8px;color:#77736e}
.footer-brand .social-link span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;font-size:12px}
.footer .social-links a[href*="facebook.com"] svg{width:20px;height:20px;flex-basis:20px;color:#77736e;fill:#77736e;stroke:#77736e}
.footer .social-links a[href*="instagram.com"] svg{width:20px;height:20px;flex-basis:20px;color:#77736e;fill:none;stroke:#77736e}
.travel-panorama{width:100%;height:clamp(240px,32vw,470px);object-fit:cover;display:block;border-radius:13px}.travel-jumps{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 38px}.travel-jumps a{padding:8px 15px;border:1px solid var(--line);border-radius:24px;background:#fffdfb;text-decoration:none;font-size:12px}.travel-section{margin-top:48px;scroll-margin-top:110px}.travel-section>p{color:var(--muted);max-width:760px;margin:14px 0 25px}.trip-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.trip-card{overflow:hidden;background:#fffdfb;border:1px solid #e4d9cf;border-radius:13px}.trip-card>img{width:100%;height:245px;object-fit:cover;display:block}.trip-copy{padding:25px}.trip-copy h3{font-size:25px}.trip-copy p{color:var(--muted);margin:13px 0;font-size:13px}.trip-copy a,.travel-text-grid a{color:var(--red);text-underline-offset:4px;font-size:12px}.travel-text-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.travel-text-grid article{padding:24px;background:#fffdfb;border:1px solid #e4d9cf;border-radius:11px}.travel-text-grid h3{font-size:22px}.travel-text-grid p{font-size:13px;color:var(--muted);margin:12px 0}.arrival-plan{display:grid;grid-template-columns:1fr 1.3fr;gap:32px;padding:32px;background:#fffdfb;border:1px solid #e4d9cf;border-radius:13px}.arrival-plan address{font-style:normal;margin:18px 0;font-size:16px}.route-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}.route-form label:first-child,.route-form .route-note{grid-column:1/-1}.route-form label{font-size:12px;display:grid;gap:7px}.route-form input,.route-form select{font:inherit;font-size:14px;background:white;border:1px solid #d5c6b9;border-radius:7px;padding:12px;width:100%;min-width:0}.route-note{color:var(--muted);font-size:11px;margin:0}.arrival-options{grid-template-columns:1fr 1fr}.arrival-last{margin-top:30px;padding:26px;background:#efe8df;border-radius:13px}.arrival-last p{margin-top:12px;color:var(--muted)}@media(max-width:700px){.trip-grid,.travel-text-grid,.arrival-plan,.arrival-options{grid-template-columns:1fr}.arrival-plan{padding:22px}.trip-card>img{height:220px}.travel-section{margin-top:34px}.route-form{grid-template-columns:1fr}.route-form>*{grid-column:1!important}.travel-panorama{height:250px}}

.arrival-transport-icon{display:block;width:58px;height:58px;color:var(--red);margin-bottom:18px}.arrival-transport-icon svg{display:block;width:58px;height:58px}

@media(min-width:701px){.hero-photo{object-position:50% 50%}}

.surroundings-intro{display:grid;grid-template-columns:minmax(0,1fr) 320px;column-gap:55px;align-items:start}
.surroundings-intro>h1,.surroundings-intro>p{grid-column:1}
.surroundings-arrival{grid-column:2;grid-row:1/3;padding:23px 25px;background:#eee8e0;border:1px solid #e4d9cf;border-radius:13px}
.surroundings-arrival h2{font-size:18px;margin:0 0 10px}.surroundings-arrival p{font-size:13px;line-height:1.8;margin:0 0 12px}.surroundings-arrival a{font-size:13px}
img.surroundings-bottom-panorama{display:block;width:100%;max-width:none;margin:0;left:auto;position:static;border-radius:0;height:clamp(196.8px,26.24vw,385.4px);object-fit:cover;object-position:50% 55%}
@media(max-width:750px){.surroundings-intro{display:block}.surroundings-arrival{margin-top:24px}.surroundings-arrival h2{font-size:18px}}

.surroundings-intro{grid-template-rows:auto auto;row-gap:18px;align-content:start}
.surroundings-local-copy{grid-column:1;grid-row:2;max-width:850px}
.surroundings-local-copy p{font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 15px}
.surroundings-local-copy p:last-child{margin-bottom:0}
.surroundings-intro .surroundings-arrival{grid-row:2;align-self:start;margin-top:0}
.surroundings-intro>h1{margin-bottom:0}
@media(max-width:750px){.surroundings-local-copy{margin-top:20px}.surroundings-intro .surroundings-arrival{margin-top:24px}}

.surroundings-photo-rows{display:grid;gap:17px}
.surroundings-photo-rows article{display:grid;grid-template-columns:95px minmax(0,1fr);gap:18px;align-items:center}
.surroundings-photo-rows article>img{width:95px;height:95px;object-fit:cover;border-radius:9px}
.surroundings-photo-rows h2{font-size:16px;line-height:1.4;margin:0 0 5px}
.surroundings-photo-rows p{font-size:13px;line-height:1.7;margin:0}
@media(max-width:500px){.surroundings-photo-rows article{grid-template-columns:75px minmax(0,1fr);gap:13px}.surroundings-photo-rows article>img{width:75px;height:90px}}

.local-tabs{margin-top:25px}.local-tab-list{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto}
.local-tab-list button{font:500 14px/1.5 Montserrat,Arial,sans-serif;background:none;color:var(--muted);border:0;border-bottom:2px solid transparent;padding:10px 0;white-space:nowrap;cursor:pointer}
.local-tab-list button[aria-selected=true]{color:var(--red);border-bottom-color:var(--red)}
.local-tab-panel{display:grid;grid-template-columns:270px minmax(0,1fr);gap:36px;align-items:center;min-height:260px}
.local-tab-panel[hidden]{display:none!important}.local-tab-panel>img{width:270px;height:260px;object-fit:cover;border-radius:12px}
.local-tab-panel h2{font-size:21px;margin:0 0 14px}.local-tab-panel p{font-size:14px;line-height:1.85;max-width:650px;margin:0}.local-tab-panel .plain-link{display:inline-block;margin-top:20px;font-size:13px}
@media(max-width:650px){.local-tab-panel{grid-template-columns:125px minmax(0,1fr);gap:20px;min-height:300px}.local-tab-panel>img{width:125px;height:210px}.local-tab-panel h2{font-size:18px}.local-tab-panel p{font-size:13px}.local-tab-list{gap:20px}}
@media(max-width:400px){.local-tab-panel{grid-template-columns:1fr;min-height:420px;align-content:start}.local-tab-panel>img{width:100%;height:170px}}
/* Original website font families, hosted locally in this preview. */
@font-face{font-family:Candal;src:url('fonts/Candal-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/Montserrat-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/Montserrat-Semibold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/Montserrat-Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Swanky and Moo Moo';src:url('fonts/SwankyAndMooMoo-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
body,p,a,button,input,select,textarea,label,legend,small,li,dt,dd,th,td,address,.eyebrow,.calendar-day,.calendar-weekday,.fact,.room-step-title{font-family:Montserrat,Arial,sans-serif!important}
h1,h3,h4,h5,h6,.room-card h3,.feature-link h3,.trip-copy h3,.travel-text-grid h3,.booking-info-heading h3,.amenity h3,.contact-side-card h3{font-family:Candal,Arial,sans-serif!important;font-weight:400!important;letter-spacing:0!important}
h2,.room h2,.section-head h2,.compact-chapter-head h2,.calendar-preview-copy h2,.contact-side-card h2,.footer-links strong{font-family:'Swanky and Moo Moo',cursive!important;font-weight:400!important;letter-spacing:0!important}
.calendar-month h4,.calendar-preview-month h3{font-family:Candal,Arial,sans-serif!important;font-weight:400!important;letter-spacing:0!important}
.price-table strong,.season-matrix thead th,.picture .caption{font-family:Candal,Arial,sans-serif!important;font-weight:400!important;letter-spacing:0!important}

/* Calm intermediate headings complement Candal titles and Montserrat copy. */
h2,.room h2,.section-head h2,.compact-chapter-head h2,.calendar-preview-copy h2,.contact-side-card h2,.footer-links strong{font-family:Montserrat,Arial,sans-serif!important;font-weight:600!important;letter-spacing:-.025em!important;line-height:1.3!important}

/* Slightly smaller intermediate headings across the site. */
h2,.room h2,.section-head h2,.compact-chapter-head h2,.calendar-preview-copy h2,.contact-side-card h2,.experience>div h2{font-size:26px!important}
.footer-links strong{font-size:18px!important}
@media(max-width:700px){h2,.room h2,.section-head h2,.compact-chapter-head h2,.calendar-preview-copy h2,.contact-side-card h2,.experience>div h2{font-size:23px!important}}

/* Use the same numeral design in all amounts, dates and booking facts. */
.extra-card-price,.extra-card-price strong,.extra-card-price span,.booking-info-panels .booking-bullets strong,.booking-info-panels .booking-bullets span,.season-matrix tbody th,.season-matrix tbody td,.season-matrix small,.quote-total strong,.quote-total span,.quote-breakdown strong,.booking-step-index,.calendar-day,.calendar-weekday,.fact span,.costs dd,.price-table td,.price-table small{font-family:Montserrat,Arial,sans-serif!important;font-variant-numeric:lining-nums tabular-nums}
/* One size per semantic role, including booking and contact forms. */
:root{--text-main:15px;--text-label:14px;--text-note:12px;--title-main:38px;--title-section:26px;--title-card:21px}
body{font-size:var(--text-main);line-height:1.75}
h1,.page-head h1,.hero-copy h1{font-size:var(--title-main)!important;line-height:1.18!important}
h2,.room h2,.section-head h2,.compact-chapter-head h2,.calendar-preview-copy h2,.contact-side-card h2,.experience>div h2,.booking-tool h2{font-size:var(--title-section)!important;line-height:1.3!important}
h3,.room-card h3,.trip-copy h3,.travel-text-grid h3,.booking-info-heading h3,.contact-side-card h3,.feature-link h3,.booking-calendar-panel h3,.booking-price-panel h3,.booking-estimate-panel h3{font-size:var(--title-card)!important;line-height:1.35!important}
p,.page-head p,.hero-copy p,.room-summary,.feature-link p,.trip-copy p,.travel-text-grid p,.experience>div p,.room-dialog-description p,.room-detail-content>p,.extra-info-panels article>p,.price-included p,.request-form>p,.booking-info-panels li,.booking-info-panels .booking-bullets strong,.booking-info-panels .booking-bullets span,.booking-side-facts li,.booking-side-facts li>span,.booking-side-note,.contact-side-stay p,.general-contact-booking p,.contact-side-details>a,.contact-side-details>div,.general-contact-address,.arrival-last p{font-size:var(--text-main)!important;line-height:1.75!important}
input:not([type=checkbox]):not([type=radio]),select,textarea,.request-form input,.request-form select,.request-form textarea,.booking-fields input,.booking-fields select{font-family:Montserrat,Arial,sans-serif!important;font-size:var(--text-main)!important;line-height:1.5!important}
label,legend,.form-field label,.request-form label,.request-address legend,.booking-fields label,.booking-field-heading,.check-row,.check-row span,.btn,.textlink,.room-open-button,.room-step-title,.booking-side-links a,.contact-side-route,.fact span{font-size:var(--text-label)!important;line-height:1.6!important}
.required-note,.form-note,.request-form .form-note,.request-form .required-note,.calendar-help,.calendar-status,.calendar-preview-status,.map-help,.route-note,.hint,.booking-disclaimer,.booking-import-label,.calendar-legend,.price-table small,.season-matrix small,.extra-card-price span,.footer a,.footer p,.footer-contact span,.footer .legal,.preview-note{font-size:var(--text-note)!important;line-height:1.7!important}
.eyebrow{font-size:11px!important;line-height:1.5!important}
.extra-card-price strong,.season-matrix tbody td,.price-table td,.costs dd{font-size:16px!important;line-height:1.6!important}
.calendar-month h4,.calendar-preview-month h3{font-size:18px!important;line-height:1.5!important}
.calendar-day{font-size:12px!important}.calendar-weekday{font-size:11px!important}
.amenities-grid .amenity h3{font-size:var(--text-label)!important;line-height:1.4!important}.amenities-grid .amenity p{font-size:var(--text-note)!important;line-height:1.7!important}
.footer-links strong{font-size:18px!important}
@media(max-width:700px){:root{--title-main:32px;--title-section:24px;--title-card:20px}.calendar-month h4,.calendar-preview-month h3{font-size:16px!important}}

/* Smaller type in the homepage hero card. */
.hero-copy h1{font-size:32px!important}
.hero-copy p{font-size:14px!important}
.hero-copy .btn,.hero-copy .textlink{font-size:12px!important}
.hero-copy .eyebrow{font-size:10px!important}
.hero-copy .btn{padding:9px 12px;min-height:34px}
@media(max-width:700px){.hero-copy h1{font-size:28px!important}.hero-copy p{font-size:14px!important}}
.guestbook-intro{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:28px;background:var(--tile-warm);border:1px solid var(--tile-line);border-radius:13px}.guestbook-intro>div{max-width:750px}.guestbook-intro p{margin-top:15px}.guestbook-intro .btn{flex:none}.guestbook-reviews{margin:40px 0}.guestbook-empty{margin-top:20px;display:flex;align-items:center;gap:20px;padding:25px;border:1px solid var(--line);border-radius:13px;color:var(--muted)}.guestbook-empty svg{color:var(--red);flex:none}.guestbook-layout{scroll-margin-top:120px}.guestbook-layout .request-form{padding:30px}.guestbook-layout small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:7px}.guestbook-layout .contact-side-card p{margin:16px 0;color:var(--muted)}.review-rating{border:0;padding:0;margin:20px 0 25px;min-width:0}.review-rating legend{margin-bottom:9px}.review-stars{display:flex;gap:9px}.review-stars label{position:relative;cursor:pointer;display:block}.review-stars input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.review-stars label>span[aria-hidden]{font:34px/1.4 Arial,sans-serif;color:#cfc4b8;display:block;padding:0 3px}.review-stars label.is-filled>span[aria-hidden]{color:var(--red)}.review-stars label:focus-within{outline:2px solid var(--red);outline-offset:3px;border-radius:5px}.review-rating-label{font-size:12px!important;color:var(--muted);margin-top:9px}.guestbook-layout textarea{width:100%}@media(max-width:700px){.guestbook-intro{display:block;padding:23px}.guestbook-intro .btn{margin-top:22px}.guestbook-layout .request-form{padding:22px}}

.guestbook-count{margin:15px 0 24px;color:var(--muted);font-size:13px!important}.guest-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.guest-review{padding:26px;border:1px solid var(--tile-line);border-radius:13px;background:var(--tile)}.guest-review header{display:flex;flex-direction:column;gap:7px}.guest-review header h3{font-family:Montserrat,Arial,sans-serif!important;font-weight:600!important;font-size:17px!important;line-height:1.5!important}.guest-review time{font:12px/1.6 Montserrat,Arial,sans-serif;color:var(--muted)}.guest-review-stars{color:var(--red);letter-spacing:3px;font-size:18px;margin-top:14px}.guest-star-empty{color:#bca99c}.guest-review-text{margin-top:18px}.guest-review-text p{font-size:14px!important;line-height:1.85!important;margin:0 0 14px}.guest-review-text p:last-child{margin-bottom:0}.guest-review-more{margin-top:14px}.guest-review-more summary{cursor:pointer;color:var(--red);font:500 12px/1.6 Montserrat,Arial,sans-serif;text-underline-offset:4px}.guest-review-more[open] summary{margin-bottom:14px}.guest-review-pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:28px}.guest-review-pagination p,.guestbook-source-note{font-size:12px!important;color:var(--muted)}.guestbook-source-note{max-width:780px;margin-top:25px}.guest-review[hidden],.guest-review-pagination[hidden],.guest-review-pagination button[hidden]{display:none!important}@media(max-width:750px){.guest-review-grid{grid-template-columns:1fr}.guest-review{padding:23px}.guest-review-pagination{flex-direction:column;gap:14px}}

/* Classic guestbook: one complete entry after another. */
.guest-review-grid{display:block}.guest-review{padding:28px 0;background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--line);box-shadow:none}.guest-review:first-child{border-top:1px solid var(--line)}.guest-review header{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:20px}.guest-review-text{max-width:1040px}.guest-review-text p{margin:0 0 15px}.guest-review-stars{margin-top:10px}.guest-review-pagination{margin-top:25px}
.review-dialog{width:min(1100px,94vw);max-width:1100px;max-height:90vh;padding:0;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 15px 60px #35343230;overflow:auto}
.review-dialog::backdrop{background:#35343299}
.review-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 28px;border-bottom:1px solid var(--line);background:var(--tile)}
.review-dialog-header h2{margin:0}.review-dialog-close{display:flex;gap:15px;align-items:center;padding:9px 14px;border:1px solid var(--line);border-radius:7px;background:var(--tile);font-size:13px}.review-dialog-close span{font-size:24px;line-height:1}
.review-dialog .guestbook-layout{margin:0;padding:28px;gap:25px;grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr)}.review-dialog .request-form{padding:25px}.review-dialog .contact-side-card{padding:22px}.review-dialog .contact-side-card h3{font-size:19px!important}
@media(max-width:800px){.review-dialog .guestbook-layout{grid-template-columns:1fr;padding:22px}.guest-review header{flex-direction:column;gap:5px}.review-dialog-header{padding:20px}.review-dialog .request-form{padding:20px}}

/* Individual review cards in a single calm column. */
.guest-review-grid{display:flex;flex-direction:column;gap:20px}
.guest-review,.guest-review:first-child{width:100%;padding:26px 28px;background:var(--tile);border:1px solid var(--tile-line);border-radius:13px;box-shadow:0 3px 14px #57433304}
@media(max-width:750px){.guest-review,.guest-review:first-child{padding:22px}}
/* Inner pages follow the restrained scale of the homepage introduction. */
body:not(.home-page){--text-main:14px;--text-label:13px;--text-note:12px;--title-main:32px;--title-section:24px;--title-card:19px}
body:not(.home-page) .page-head h1{font-size:32px!important}
body:not(.home-page) .room-dialog-head h2{font-size:24px!important}
body:not(.home-page) .contact-side-card h3,body:not(.home-page) .review-dialog .contact-side-card h3{font-size:19px!important}
body:not(.home-page) .extra-card-price strong,body:not(.home-page) .season-matrix tbody td,body:not(.home-page) .price-table td,body:not(.home-page) .costs dd{font-size:15px!important}
body:not(.home-page) .guest-review header h3{font-size:16px!important}
body:not(.home-page) .guest-review-text p{font-size:14px!important}
@media(max-width:700px){body:not(.home-page){--title-main:28px;--title-section:22px;--title-card:18px}body:not(.home-page) .page-head h1{font-size:28px!important}body:not(.home-page) input:not([type=checkbox]):not([type=radio]),body:not(.home-page) select,body:not(.home-page) textarea{font-size:16px!important}}
.review-carousel.booking{padding:40px 0;background:#39393b;color:#fff}
.review-carousel-inner{max-width:900px;text-align:center}
.review-carousel-track{display:grid;align-items:center;min-height:150px}
.review-carousel figure{grid-area:1/1;margin:0;min-width:0}
.review-carousel figure[hidden]{display:none!important}
.review-carousel blockquote{margin:0;font-family:Montserrat,Arial,sans-serif;font-weight:400;font-size:17px;line-height:1.9;color:#f8f5f0}
.review-carousel figcaption{margin-top:19px;font-family:Montserrat,Arial,sans-serif;font-size:13px;font-weight:600;color:#e6d4ca}
.review-carousel-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:22px}
.review-carousel-controls button{background:transparent;border:1px solid #ffffff30;color:#f8f5f0;border-radius:6px;font-family:Montserrat,Arial,sans-serif;font-size:12px;padding:5px 11px;min-height:32px}
.review-carousel-controls button:hover{background:#ffffff10}.review-carousel-controls span{font-size:11px;color:#dbd3cd;min-width:36px}
@media(max-width:700px){.review-carousel.booking{padding:32px 0}.review-carousel blockquote{font-size:15px;line-height:1.8}.review-carousel-track{min-height:190px}}
/* Zentrierte Gastzitate ohne sichtbare Navigation. */
.review-carousel.booking{padding:32px 0}
.review-carousel-track{min-height:0}
.review-carousel blockquote{font-style:italic;line-height:1.8}
.review-carousel blockquote::before{content:'„'}
.review-carousel blockquote::after{content:'“'}
.review-carousel figcaption{margin-top:14px}
@media(max-width:700px){.review-carousel-track{min-height:0}}
/* Fester Platz für drei Textzeilen und den Namen. */
.review-carousel-track{height:128px;min-height:128px}
.review-carousel blockquote{height:91.8px;box-sizing:border-box}
.review-carousel figcaption{line-height:22px;margin-top:14px}
@media(max-width:700px){.review-carousel-track{height:117px;min-height:117px}.review-carousel blockquote{height:81px}}

.form-field[hidden]{display:none}.request-form{max-width:760px;background:white;padding:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.full{grid-column:1/-1}.form-field label,.check-row{font-size:13px;font-weight:500}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #cfc7bf;border-radius:2px;background:#fff;color:#353432;padding:12px;font:15px/1.5 Inter,sans-serif;min-height:46px}.form-field textarea{resize:vertical;min-height:140px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #ac4944;outline-offset:2px}.form-field small{font-size:12px;color:#706a65}.form-field fieldset{border:0;padding:0;margin:0}.check-row{display:flex;gap:11px;align-items:flex-start;font-weight:400;margin:22px 0}.check-row input{width:18px;height:18px;flex:none;margin-top:3px}.form-intro{margin-bottom:26px}.form-intro p{margin-top:15px}.form-result{font-size:14px;margin-top:20px;white-space:pre-line}.form-result:empty{display:none}.request-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,.7fr);gap:45px;align-items:start}.request-aside{padding:10px 0}.request-aside p{margin:20px 0}.request-aside h2{font-size:22px}.request-aside a{overflow-wrap:anywhere}.required-note{font-size:12px;color:#706a65;margin:0 0 22px}@media(max-width:800px){.request-layout{grid-template-columns:1fr}}@media(max-width:600px){.request-form{padding:22px}.form-grid{grid-template-columns:1fr;gap:18px}.form-field.full{grid-column:auto}.form-field input,.form-field select,.form-field textarea{font-size:16px}}
