@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#24342c;--green:#445c4b;--sage:#a7b6a5;--cream:#f7f5ef;--sand:#e9e5d9;--white:#fff;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}.site-header{height:86px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:var(--cream)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--green);border-radius:50%;font:italic 24px var(--serif);color:var(--green)}.brand strong,.brand small{display:block}.brand strong{font:600 15px var(--serif);letter-spacing:.04em}.brand small{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#768178}.site-header nav{display:flex;gap:34px;font-size:12px}.site-header nav a:hover,.footer-links a:hover{color:#819581}.menu-toggle{display:none}.hero{position:relative;min-height:660px;background:#526b5a;color:white;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:70px 10vw}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,47,37,.87),rgba(28,47,37,.55) 55%,rgba(28,47,37,.12))}.hero-copy{position:relative;z-index:1;max-width:540px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:600;color:#869783;margin:0 0 16px}.hero .eyebrow,.contact .eyebrow{color:#d5ddcf}.hero h1{font:500 clamp(54px,7vw,91px)/1.04 var(--serif);margin:0 0 24px;letter-spacing:-.04em}.hero h1 em,h2 em{font-weight:500}.hero-intro{max-width:390px;color:#e3e8e0;font-size:15px;margin-bottom:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:15px 19px;border:0;font:600 11px var(--sans);letter-spacing:.04em;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:#f5f3ed;color:var(--ink)}.button-dark{background:var(--green);color:white}.hero-photo{position:absolute;inset:0;background:linear-gradient(110deg,#5c705e,#849176 45%,#c1b999);background-image:linear-gradient(90deg,rgba(22,41,31,.75),rgba(22,41,31,.06)),url('https://www.wastlhuber-ferienhaus.de/images/');background-size:cover;background-position:center;opacity:.95}.photo-note{position:absolute;right:8%;bottom:8%;font:italic 15px var(--serif);color:#f4f1e9}.hero-stamp{position:absolute;z-index:2;right:10%;bottom:13%;width:132px;height:132px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-10deg);font:italic 12px var(--serif)}.hero-stamp strong{font:500 19px var(--serif)}.section-wrap{padding-left:12vw;padding-right:12vw}.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:6vw;padding-top:118px;padding-bottom:130px}.section-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#788379}.section-label span{display:block;margin-top:12px;color:#b1b7ac}.intro h2,.stays h2,.location h2,.contact h2{font:500 clamp(35px,4vw,53px)/1.15 var(--serif);letter-spacing:-.025em;margin:0 0 25px}.intro p:not(.eyebrow),.location-copy>p:not(.eyebrow){max-width:620px;font-size:14px;color:#68736a}.stays{background:#eeece4;padding:95px 6vw 100px}.stays-heading{display:grid;grid-template-columns:1fr 2fr;margin-bottom:50px}.stays h2{margin-bottom:0}.stay-grid{max-width:1250px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:26px}.stay-card{background:var(--cream);display:grid;grid-template-columns:1fr}.stay-card-wide{grid-column:1/-1;grid-template-columns:1fr 1fr}.stay-image{height:260px;background-color:#c6c7b4;background-size:cover;background-position:center;position:relative}.photo-eg{background:linear-gradient(135deg,#9a9c84,#d4cdbb);background-position:center 80%}.photo-og{background:linear-gradient(135deg,#84937f,#d0c5ad);background-position:center 72%}.photo-alm{background:linear-gradient(135deg,#71816c,#b9ae90)}.image-index{position:absolute;top:18px;left:18px;color:white;font:italic 20px var(--serif)}.stay-content{padding:28px 30px 32px}.stay-content .eyebrow{margin-bottom:7px}.stay-content h3{font:500 27px var(--serif);margin:0 0 3px}.stay-meta{font-size:11px;color:#7d867d;margin:0 0 16px}.stay-meta span{padding:0 7px}.stay-content>p:not(.eyebrow):not(.stay-meta){font-size:12px;color:#667168;min-height:56px}.amenities{list-style:none;padding:0;margin:20px 0;display:flex;gap:8px;flex-wrap:wrap}.amenities li{background:#eae9e0;padding:6px 9px;font-size:9px;color:#59665b}.availability{display:flex;align-items:center;gap:8px;border-top:1px solid #e5e2d8;padding:16px 0 10px;font-size:10px}.availability-dot{width:7px;height:7px;background:#c49b59;border-radius:50%}.calendar-source{margin-left:auto;color:#929990;font-size:9px}.price{font:500 19px var(--serif);margin:4px 0 15px}.stay-content .button{width:100%}.calendar-disclaimer{max-width:1250px;margin:20px auto 0;font-size:10px;color:#80877f}.perks{padding:55px 8vw;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;border-bottom:1px solid var(--sand)}.perk{display:flex;flex-direction:column}.perk>span{font:italic 14px var(--serif);color:#91a08f;margin-bottom:19px}.perk strong{font:500 16px var(--serif);margin-bottom:5px}.perk small{font-size:10px;color:#858c83}.location{padding-top:130px;padding-bottom:130px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw}.location-image{height:480px;background:linear-gradient(145deg,#89967d,#d7cdb3);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}.location-copy .section-label{margin-bottom:48px}.location-copy h2{margin-bottom:22px}.text-link{display:inline-flex;gap:30px;border-bottom:1px solid #9ba797;padding:11px 0;margin-top:20px;font-size:11px}.contact{text-align:center;padding:90px 20px 75px;background:#415a49;color:white}.contact h2{font-size:clamp(38px,5vw,62px);margin-bottom:18px}.contact>p:not(.eyebrow){font-size:12px;color:#d7dfd5;margin:0 auto 27px}.contact-details{display:flex;justify-content:center;gap:38px;border-top:1px solid rgba(255,255,255,.2);max-width:740px;margin:70px auto 0;padding-top:25px;font-size:11px;color:#e1e6dd}footer{padding:33px 6vw;display:flex;align-items:center;justify-content:space-between;gap:24px}footer address{font-style:normal;font-size:10px;color:#778178}.brand-footer .brand-mark{color:var(--green)}.footer-links{display:flex;gap:20px;font-size:10px}.copyright{font-size:9px;color:#92988f}dialog{border:0;padding:38px;max-width:540px;width:calc(100% - 28px);background:var(--cream);color:var(--ink);box-shadow:0 20px 100px #1f322a55}dialog::backdrop{background:#17261eb8}.dialog-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:28px;cursor:pointer;color:var(--green)}dialog h2{font:500 34px var(--serif);margin:0 0 25px}#booking-form{display:grid;gap:13px}#booking-form label{display:grid;gap:5px;font-size:10px;color:#657168}#booking-form input,#booking-form select,#booking-form textarea{width:100%;border:1px solid #d9d9cf;background:#fffefa;padding:11px;font:12px var(--sans);color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}#booking-form small{font-size:9px;color:#7d867e;line-height:1.5}
@media(max-width:760px){.site-header{height:72px;padding:0 6vw}.menu-toggle{display:block;border:1px solid #d8dacf;background:none;padding:9px 12px;font:11px var(--sans);color:var(--ink)}.site-header nav{display:none;position:absolute;z-index:5;top:72px;left:0;right:0;padding:20px 6vw;background:var(--cream);flex-direction:column;gap:16px}.site-header nav.open{display:flex}.hero{min-height:620px;padding:65px 8vw;display:block}.hero-copy{padding-top:90px}.hero-stamp{width:100px;height:100px;right:7%;bottom:7%}.hero-stamp strong{font-size:15px}.section-wrap{padding-left:8vw;padding-right:8vw}.intro,.stays-heading{grid-template-columns:minmax(0,1fr);gap:35px}.intro{padding-top:75px;padding-bottom:80px}.stays{padding:70px 6vw}.stay-grid{grid-template-columns:1fr}.stay-card-wide{grid-column:auto;grid-template-columns:1fr}.stay-image{height:220px}.perks{grid-template-columns:1fr 1fr;padding:40px 8vw}.location{padding-top:75px;padding-bottom:75px;grid-template-columns:1fr;gap:38px}.location-image{height:300px}.location-copy .section-label{margin-bottom:32px}.contact{padding:70px 8vw 55px}.contact-details{flex-direction:column;gap:10px;margin-top:45px}.footer-links{flex-direction:column;gap:6px}footer{flex-wrap:wrap;padding:28px 7vw}footer address{order:3;width:100%}.copyright{order:4}.stay-content>p:not(.eyebrow):not(.stay-meta){min-height:0}}

.intro-visual{display:flex;flex-direction:column;gap:14px;min-width:0}.intro-photo{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1/0.78;object-fit:cover;border-radius:3px}html,body{max-width:100%;overflow-x:clip}

.legal-page{padding:70px 8vw 100px;background:var(--cream)}.legal-content{max-width:860px;margin:0 auto}.legal-content h1{font:500 clamp(38px,5vw,58px)/1.12 var(--serif);margin:0 0 38px}.legal-content h2{font:500 25px/1.25 var(--serif);margin:38px 0 12px}.legal-content h3{font:600 14px/1.45 var(--sans);margin:26px 0 8px}.legal-content p{font-size:14px;color:#59665d;line-height:1.8;margin:0 0 15px;overflow-wrap:anywhere}.legal-content a{color:var(--green);text-decoration:underline}.legal-content .legal-back{margin-top:48px}.legal-content .text-link{text-decoration:none}

.legal-header .legal-home-link{font-size:11px;border-bottom:1px solid #9ba797;padding:8px 0}.legal-page{padding:70px 8vw 100px;background:var(--cream)}.legal-content{max-width:860px;margin:0 auto}.legal-content h1{font:500 clamp(38px,5vw,58px)/1.12 var(--serif);margin:0 0 38px}.legal-content h2{font:500 25px/1.25 var(--serif);margin:38px 0 12px}.legal-content h3{font:600 14px/1.45 var(--sans);margin:26px 0 8px}.legal-content p{font-size:14px;color:#59665d;line-height:1.8;margin:0 0 15px;overflow-wrap:anywhere}.legal-content a{color:var(--green);text-decoration:underline}.legal-content .legal-back{margin-top:48px}.legal-content .text-link{text-decoration:none}
