:root{
  --ink:#1f2924;--muted:#68726d;--paper:#f5f3ee;--white:#fff;--sage:#8fa495;
  --accent:#b46f43;--line:#d9ddd8;--dark:#25332c;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(245,243,238,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(31,41,36,.08);backdrop-filter:blur(10px)}
.brand{display:flex;flex-direction:column;line-height:1}.brand span{font-weight:700;letter-spacing:.22em;font-size:15px}.brand small{margin-top:7px;color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
nav{display:flex;gap:34px;font-size:13px;color:#4c5651}nav a:hover{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 21px;border-radius:2px;font-weight:600;font-size:13px;transition:.2s;border:1px solid transparent}.btn-dark{background:var(--dark);color:white}.btn-dark:hover{transform:translateY(-2px)}.btn-accent{background:var(--accent);color:white}.btn-accent:hover{background:#985d37;transform:translateY(-2px)}.btn-outline{border-color:rgba(31,41,36,.3);background:transparent}.btn-outline:hover{background:white}.btn-big{padding:17px 25px}.menu{display:none;border:0;background:none;font-size:22px}
.hero{min-height:650px;display:grid;grid-template-columns:1.08fr .92fr}.hero-photo{min-height:650px;background:#d8ded9;position:relative;overflow:hidden}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(25,42,34,.18),transparent 60%)}.hero-copy{padding:95px 9vw 70px 7vw;display:flex;flex-direction:column;justify-content:center}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.19em;font-weight:700;color:var(--accent);text-transform:uppercase}.hero h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.08;margin:20px 0 25px}.hero h1{font-size:clamp(50px,6vw,88px);letter-spacing:-.03em}.hero h1 em,h2 em{font-style:italic;color:#617568}.lead{font-size:17px;color:#59645f;max-width:540px}.hero-actions{display:flex;align-items:center;gap:28px;margin:26px 0 34px}.text-link{font-size:13px;border-bottom:1px solid #9ca49f;padding-bottom:3px}.rating{display:flex;gap:14px;align-items:center;border-top:1px solid var(--line);padding-top:22px;max-width:300px}.rating b{font-family:Georgia,"Times New Roman",serif;font-size:35px}.rating span{font-size:11px;color:var(--muted);line-height:1.35}.rating strong{color:var(--ink)}
.photo-placeholder{height:100%;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;background:linear-gradient(145deg,#cfd8d1,#e9e4d9 55%,#b7c5ba);position:relative;overflow:hidden}.photo-placeholder:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.24);top:-80px;right:-40px}.photo-placeholder span{font-size:10px;letter-spacing:.2em;color:rgba(31,41,36,.6);font-weight:700;position:relative}.photo-placeholder strong{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:500;position:relative}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--dark);color:white;padding:28px 8vw}.trust-strip div{padding:5px 20px;border-right:1px solid rgba(255,255,255,.16);display:flex;align-items:baseline;gap:12px}.trust-strip div:last-child{border:0}.trust-strip b{font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:500}.trust-strip span{font-size:11px;color:#cbd2cd;text-transform:uppercase;letter-spacing:.08em}
.section{padding:115px 8vw}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin-top:35px}.intro h2,.section-head h2,.elbe h2,.booking h2,.host h2{font-size:clamp(38px,4.5vw,62px)}.large{font-size:20px;color:#46534c;line-height:1.7}.intro p:not(.large){color:var(--muted)}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-head>p{max-width:310px;color:var(--muted);font-size:14px}
.gallery{background:#ebe9e2}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:290px 290px;gap:12px}.g-card:first-child{grid-row:span 2}.g-card{min-height:0}.g-card .photo-placeholder{min-height:100%}.g-card:nth-child(2) .photo-placeholder{background:linear-gradient(145deg,#c8d2cc,#ede7de)}.g-card:nth-child(3) .photo-placeholder{background:linear-gradient(145deg,#d8cfc0,#a9b7ac)}.g-card:nth-child(4) .photo-placeholder{background:linear-gradient(145deg,#d8ddd8,#c4c8c1)}
.amenities{background:white}.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:45px}.amenity{background:white;padding:35px;min-height:190px}.amenity span{font-size:10px;color:var(--accent);font-weight:700;letter-spacing:.15em}.amenity b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:500;margin:14px 0 8px}.amenity p{font-size:13px;color:var(--muted);margin:0}
.elbe{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#e2e8e2}.elbe-copy>p{max-width:560px;color:#536159}.distances{display:grid;grid-template-columns:1fr 1fr;gap:20px 35px;margin-top:40px}.distances div{border-top:1px solid rgba(31,41,36,.18);padding-top:12px}.distances b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:25px}.distances span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.map-card{min-height:430px;background:#d5ddd6;position:relative;overflow:hidden}.map-lines{position:absolute;inset:-10%;background:repeating-linear-gradient(120deg,transparent 0 55px,rgba(255,255,255,.55) 56px 58px),repeating-linear-gradient(30deg,transparent 0 82px,rgba(116,139,126,.18) 83px 86px)}.map-pin{position:absolute;left:52%;top:45%;font-size:38px;color:var(--accent);text-shadow:0 2px 8px rgba(0,0,0,.15)}.map-label{position:absolute;left:57%;top:54%;font-weight:700;letter-spacing:.12em;font-size:12px}.map-label small{font-weight:400;color:var(--muted);letter-spacing:0}
.quote{text-align:center;background:var(--dark);color:white}.quote-mark{font-family:Georgia,"Times New Roman",serif;font-size:90px;line-height:.5;color:#b8c5bb}.quote blockquote{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,4vw,52px);line-height:1.25;max-width:900px;margin:45px auto 22px}.quote-source{font-size:10px;letter-spacing:.18em;color:#b8c4bc}.review-row{max-width:800px;margin:60px auto 0;border-top:1px solid rgba(255,255,255,.16);display:grid;grid-template-columns:repeat(4,1fr);padding-top:28px}.review-row div{border-right:1px solid rgba(255,255,255,.12)}.review-row div:last-child{border:0}.review-row b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:27px}.review-row span{font-size:10px;color:#b8c4bc;text-transform:uppercase;letter-spacing:.08em}
.host{background:#f0eee8}.host-card{max-width:1050px;margin:auto;display:grid;grid-template-columns:160px 1fr;gap:60px;align-items:center}.avatar{width:130px;height:130px;border-radius:50%;background:#b8c6bc;display:grid;place-items:center;font-family:Georgia,"Times New Roman",serif;font-size:54px;color:white}.host p{max-width:700px;color:#5b6760;font-size:16px}
.booking{background:#d7e0d9}.booking-card{background:white;padding:65px 70px;display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center;box-shadow:0 25px 60px rgba(31,41,36,.08)}.booking-card p{color:var(--muted);max-width:600px}.booking-actions{display:flex;flex-direction:column;gap:12px}.booking-actions small{font-size:10px;color:#8a928e;margin-top:8px}
footer{background:#1c2722;color:#c6cec9;display:flex;justify-content:space-between;align-items:center;padding:40px 8vw;font-size:11px}footer .brand{color:white}footer a{color:white}
@media(max-width:900px){nav{display:none}.nav-cta{display:none}.menu{display:block}.hero{grid-template-columns:1fr}.hero-photo{min-height:480px}.hero-copy{padding:70px 8vw}.trust-strip{grid-template-columns:1fr 1fr}.trust-strip div{border-bottom:1px solid rgba(255,255,255,.16)}.intro-grid,.elbe,.booking-card{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:250px 250px}.g-card:first-child{grid-row:span 1}.g-card:nth-child(3){grid-column:span 1}.amenities-grid{grid-template-columns:1fr 1fr}.section{padding:85px 7vw}.section-head{display:block}.section-head>p{margin-top:20px}.host-card{grid-template-columns:1fr;gap:25px}}
@media(max-width:600px){.nav{height:74px;padding:0 6vw}.hero-photo{min-height:380px}.hero h1{font-size:52px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.trust-strip{padding:22px 6vw}.trust-strip div{padding:14px 8px;display:block}.trust-strip b{font-size:25px;display:block}.gallery-grid{grid-template-columns:1fr;grid-template-rows:240px 240px 240px 240px}.g-card:first-child{grid-row:auto}.amenities-grid{grid-template-columns:1fr}.amenity{min-height:150px;padding:27px}.distances{grid-template-columns:1fr 1fr}.map-card{min-height:320px}.review-row{grid-template-columns:1fr 1fr;gap:22px}.review-row div:nth-child(2){border:0}.booking-card{padding:40px 28px;gap:30px}.section{padding:70px 6vw}footer{padding:30px 6vw;display:block}footer>div{margin:12px 0}}


/* Photography layer */
.hero-photo{background:#cbd4cd}.hero-img{width:100%;height:100%;object-fit:cover;display:block}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,31,26,.22),transparent 62%),linear-gradient(0deg,rgba(20,31,26,.20),transparent 40%);z-index:1}
.gallery-grid{grid-template-columns:1.45fr 1fr 1fr;grid-template-rows:260px 260px 260px}
.g-card{border:0;padding:0;position:relative;overflow:hidden;cursor:pointer;background:#ddd;min-height:0;text-align:left}.g-card:first-child{grid-row:span 2}.g-card:nth-child(4){grid-column:2}.g-card:nth-child(5){grid-column:3}.g-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease,filter .55s ease}.g-card:hover img{transform:scale(1.035);filter:brightness(.86)}.photo-caption{position:absolute;left:18px;right:18px;bottom:16px;color:#fff;font-size:12px;letter-spacing:.04em;text-shadow:0 1px 12px rgba(0,0,0,.6);display:flex;justify-content:space-between;align-items:center}.photo-caption i{font-style:normal;font-size:18px}.gallery-more{display:flex;justify-content:space-between;align-items:center;margin-top:22px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#6a736e}.gallery-more a{color:var(--ink);border-bottom:1px solid #aeb5b0;padding-bottom:4px}
.all-photos{background:#f8f7f3}.all-photo-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-auto-rows:250px;gap:12px}.all-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}.all-photo-grid img:first-child{grid-row:span 2}.all-photo-grid img:nth-child(4){grid-column:2}.all-photo-grid img:nth-child(5){grid-column:3}
.lightbox{position:fixed;inset:0;background:rgba(13,19,16,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:5vw}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:84vh;object-fit:contain}.lightbox-close{position:absolute;right:30px;top:20px;border:0;background:none;color:#fff;font-size:42px;cursor:pointer}.lightbox div:last-child{position:absolute;bottom:25px;color:#fff;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:900px){.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:250px 250px 250px 250px}.g-card:first-child{grid-row:auto}.g-card:nth-child(4),.g-card:nth-child(5){grid-column:auto}.all-photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:230px}.all-photo-grid img:first-child{grid-row:auto}.all-photo-grid img:nth-child(4),.all-photo-grid img:nth-child(5){grid-column:auto}}
@media(max-width:600px){.gallery-grid{grid-template-columns:1fr;grid-template-rows:260px 260px 260px 260px 260px 260px 260px 260px}.all-photo-grid{grid-template-columns:1fr;grid-auto-rows:260px}.all-photo-grid img:first-child,.all-photo-grid img:nth-child(4),.all-photo-grid img:nth-child(5){grid-row:auto;grid-column:auto}.gallery-more{display:block}.gallery-more a{display:inline-block;margin-top:10px}}

.contact-details{display:flex;flex-direction:column;gap:4px;margin-top:8px;font-size:11px;color:var(--muted)}.contact-details a:hover{color:var(--accent)}

.legal{max-width:850px;margin:0 auto;padding:70px 24px}.legal a{color:var(--accent)}.legal h1{font-size:clamp(42px,6vw,72px);line-height:1.1;margin:35px 0}.legal h2{font-size:28px;margin-top:38px}.legal p{max-width:760px;color:#59645f}
.sleeping{background:#efe9df}.sleeping .large{font-size:1.2rem}.sleeping strong{font-weight:700}
