
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=Montserrat:wght@400;500;600;700&display=swap');
:root{--blue:#781f2c;--blue2:#982c3d;--ink:#40252a;--sky:#faf3f4;--line:#eadadd;--green:#1b9654;--shadow:0 12px 35px rgba(86,31,42,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:#3f3033;background:#fff;line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container-v4{width:min(1440px,calc(100% - 56px));margin:auto}
.site-header{position:absolute;top:0;left:0;right:0;z-index:1000;background:linear-gradient(to bottom,rgba(255,255,255,.93),rgba(255,255,255,.78));backdrop-filter:blur(7px);border-bottom:1px solid rgba(255,255,255,.55)}.nav-wrap{height:78px;display:flex;align-items:center;gap:34px}.brand{width:250px;flex:0 0 auto;background:#781f2c;padding:8px 16px;border-radius:7px;box-shadow:0 5px 20px rgba(45,15,21,.32);border:1px solid rgba(255,255,255,.18)}.brand img{width:220px;max-height:57px;object-fit:contain;filter:brightness(0) invert(1)}.main-nav{margin-left:auto;display:flex;align-items:center;gap:31px;font-size:14px;font-weight:500;color:#641a27}.main-nav a{position:relative;padding:29px 0 24px;white-space:nowrap}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:17px;height:2px;background:var(--blue2);transition:.25s}.main-nav a:hover:after,.main-nav a.active:after{right:0}.langs{display:flex;gap:12px;margin-left:18px}.langs a{font-size:23px;padding:20px 0}.langs a:after{display:none}.mobile-toggle{display:none;margin-left:auto;border:0;background:transparent;font-size:29px;color:var(--blue)}
.hero{height:610px;position:relative;overflow:hidden;background:#222}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease}.hero-slide.active{opacity:1}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,34,54,.18),rgba(4,34,54,.08) 46%,rgba(4,34,54,.18))}.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center;padding-top:72px}.hero-copy{margin-left:6%;color:#fff;text-shadow:0 2px 15px rgba(0,0,0,.3)}.hero-copy h1{font-family:Caveat,cursive;font-weight:600;font-size:72px;line-height:1;margin:0 0 4px}.hero-copy p{font-size:22px;margin:0 0 21px}.button{display:inline-flex;align-items:center;gap:12px;background:var(--blue);color:#fff;border:1px solid rgba(255,255,255,.55);padding:13px 25px;border-radius:3px;font-weight:600;font-size:13px;transition:.2s}.button:hover{background:#5f1723;transform:translateY(-1px)}.hero-arrow{position:absolute;z-index:4;top:53%;transform:translateY(-50%);border:0;background:transparent;color:#fff;font-size:56px;font-weight:200;text-shadow:0 2px 7px #000;cursor:pointer;padding:18px}.hero-prev{left:12px}.hero-next{right:12px}.hero-dots{position:absolute;z-index:4;left:50%;bottom:26px;transform:translateX(-50%);display:flex;gap:9px}.hero-dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0}.hero-dot.active{background:#fff}
.section{padding:74px 0}.section-soft{background:linear-gradient(180deg,#fff,#faf3f4)}.section-heading{text-align:center;margin:0 0 34px}.section-heading h2{font-family:Caveat,cursive;color:var(--blue);font-size:55px;line-height:1;margin:0}.section-heading .eyebrow{font-size:12px;letter-spacing:5px;text-transform:uppercase;color:#76555b;margin-left:18px}.section-heading p{max-width:800px;margin:10px auto 0;color:#76656a}
.apartment-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:17px}.apt-card{background:white;border-radius:3px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #e7eef4;position:relative}.apt-cover{height:210px;width:100%;object-fit:cover}.apt-body{padding:16px 16px 19px}.apt-chip{position:absolute;top:191px;left:14px;transform:translateY(-50%);background:var(--blue2);color:white;padding:4px 10px;border-radius:14px;font-size:10px;font-weight:700}.apt-chip.new{background:var(--green)}.apt-body h3{font-size:17px;margin:0 0 6px;color:#172f43}.apt-meta{font-size:12px;color:#775d63;margin-bottom:13px}.apt-more{display:block;text-align:center;border:1px solid var(--blue2);color:var(--blue);padding:8px;border-radius:3px;font-size:11px;font-weight:700}.apt-more:hover{background:var(--blue);color:#fff}.apt-detail{margin-top:18px;padding-top:15px;border-top:1px solid #e9eef3}.apt-detail ul{margin:0 0 13px;padding-left:18px;font-size:12px;color:#78656a}.gallery-label{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;font-weight:700;color:#75565d;margin-bottom:7px}.apt-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.apt-gallery a{overflow:hidden;border-radius:2px;background:#e9eef3}.apt-gallery img{height:52px;width:100%;object-fit:cover;transition:.2s}.apt-gallery a:hover img{transform:scale(1.06)}
.rates-wrap{background:#fff;border:1px solid #e0eaf2;box-shadow:var(--shadow);overflow:hidden}.rates-wrap table{width:100%;border-collapse:collapse;font-size:13px}.rates-wrap th{background:var(--blue);color:#fff;text-align:left;padding:14px}.rates-wrap td{padding:12px 14px;border-bottom:1px solid #e7eef4}.rates-note{text-align:center;color:#587083;font-size:12px;margin-top:15px}
.region-feature{position:relative;background:linear-gradient(180deg,#fcf7f8,#f7ecee);overflow:hidden}.region-feature:before{content:"";position:absolute;inset:auto 0 0;height:65%;background:url('../img/region_landschaft.jpg') center 70%/cover;opacity:.10}.region-content{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:34px}.polaroid-group{display:flex;align-items:center;justify-content:center}.polaroid{background:white;padding:9px;box-shadow:0 10px 25px rgba(27,75,111,.2);width:54%;transform:rotate(-5deg)}.polaroid+.polaroid{margin-left:-6%;transform:rotate(5deg);margin-top:40px}.polaroid img{height:190px;width:100%;object-fit:cover}.polaroid-group.right .polaroid{transform:rotate(-4deg)}.polaroid-group.right .polaroid+.polaroid{transform:rotate(6deg)}.region-text{text-align:center}.region-text h2{font-family:Caveat,cursive;font-size:52px;color:var(--blue);margin:0 0 6px}.region-text p{font-size:14px;color:#705c61;margin:0 auto 18px;max-width:620px}.region-cards{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.region-card{display:grid;grid-template-columns:180px 1fr;background:#fff;border:1px solid #e1ebf2;box-shadow:var(--shadow)}.region-card.reverse{grid-template-columns:1fr 180px}.region-card img{height:100%;min-height:175px;width:100%;object-fit:cover}.region-card .text{padding:23px}.region-card h3{color:var(--blue);margin:0 0 8px;font-size:19px}.region-card p{font-size:13px;color:#756267;margin:0}
.contact-section{padding:68px 0;background:#fcf8f9}.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:30px}.contact-card,.map-card{background:#fff;box-shadow:var(--shadow);border:1px solid #e1ebf2;padding:30px}.contact-card h3{font-family:Caveat,cursive;color:var(--blue);font-size:37px;margin:0 0 10px}.contact-card p{font-size:14px}.map-card{display:flex;flex-direction:column;justify-content:center;text-align:center;background:linear-gradient(145deg,#fff,#f6e9ec)}.map-pin{font-size:44px;color:var(--blue2)}
.footer{background:linear-gradient(90deg,#55131e,#862638);color:#fff;padding:28px 0}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;align-items:center;gap:30px}.footer-logo img{height:54px;width:auto;filter:brightness(0) invert(1)}.footer p{margin:0;font-size:12px;color:#f3dfe3}.footer-title{font-family:Caveat,cursive;font-size:31px;text-align:center}.footer-links{text-align:right}.footer-links a{font-size:11px;margin-left:15px}.social{font-size:22px;text-align:right}.social span{margin-left:13px}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:5000;display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:88vw;max-height:86vh}.lb-btn{position:absolute;border:0;background:rgba(255,255,255,.13);color:#fff;font-size:40px;cursor:pointer}.lb-close{right:25px;top:20px;width:50px;height:50px}.lb-prev,.lb-next{top:50%;transform:translateY(-50%);width:56px;height:70px}.lb-prev{left:18px}.lb-next{right:18px}
@media(max-width:1200px){.apartment-grid{grid-template-columns:repeat(3,1fr)}.main-nav{gap:17px}.brand{width:190px}.brand img{width:180px}.region-content{grid-template-columns:1fr 1.2fr 1fr}.polaroid img{height:150px}.region-cards{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.site-header{position:fixed}.nav-wrap{height:68px}.brand img{width:170px}.mobile-toggle{display:block}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:15px 28px;box-shadow:0 12px 30px rgba(0,0,0,.12);flex-direction:column;align-items:flex-start;gap:0}.main-nav.open{display:flex}.main-nav a{padding:10px 0}.langs{margin:5px 0}.hero{height:570px}.hero-copy{margin-left:4%}.hero-copy h1{font-size:57px}.apartment-grid{grid-template-columns:repeat(2,1fr)}.region-content{grid-template-columns:1fr}.polaroid-group{display:none}.region-cards{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}}
@media(max-width:600px){.container-v4{width:min(100% - 30px,1440px)}.hero{height:525px}.hero-copy h1{font-size:45px}.hero-copy p{font-size:16px;max-width:280px}.hero-arrow{font-size:40px}.section{padding:55px 0}.section-heading h2{font-size:45px}.section-heading .eyebrow{display:block;margin:8px 0 0;letter-spacing:3px}.apartment-grid{grid-template-columns:1fr}.apt-cover{height:250px}.apt-chip{top:231px}.apt-gallery img{height:65px}.region-card,.region-card.reverse{display:block}.region-card img{height:190px}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-logo img{margin:auto}.footer-title,.footer-links,.social{text-align:center}.footer-links a{margin:0 8px}}

.hero-contact{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}.hero-contact a{display:flex;align-items:center;gap:9px;background:rgba(120,31,44,.94);border:1px solid rgba(255,255,255,.7);color:#fff;padding:11px 16px;border-radius:4px;font-size:14px;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.22);text-shadow:none;backdrop-filter:blur(4px)}.hero-contact a:hover{background:#5f1723;transform:translateY(-1px)}
@media(max-width:600px){.hero-contact{display:grid;gap:7px}.hero-contact a{font-size:12px;padding:9px 12px}}

/* Additional apartment photos stay available in the lightbox without adding a third thumbnail row. */
.gallery-hidden{display:none!important;}

/* v6.3: Apartments 1 & 2 share one wider card */
@media(min-width:1201px){.apt-card-double{grid-column:span 1}.apartment-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:901px) and (max-width:1200px){.apt-card-double{grid-column:span 1}}

/* Intro section */
.intro-section{padding-bottom:36px}.intro-copy{max-width:980px;margin:0 auto;font-size:1.05rem;line-height:1.75}.intro-copy p{margin:0 0 1.15em}.intro-copy a{font-weight:700}

/* v6.6 – excursion section */
.excursion-intro{position:relative;z-index:1;text-align:center;max-width:900px;margin:58px auto 26px}.excursion-intro h2{font-size:34px;color:var(--blue);margin:0 0 12px}.excursion-intro p{color:#705c61;line-height:1.7}.excursion-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding-bottom:10px}.excursion-card{background:#fff;border:1px solid #e1ebf2;box-shadow:var(--shadow);overflow:hidden}.excursion-card img{width:100%;height:185px;object-fit:cover}.excursion-card .text{padding:22px}.excursion-card h3{color:var(--blue);margin:0 0 9px;font-size:19px}.excursion-card p{font-size:13px;line-height:1.65;color:#756267;margin:0}@media(max-width:1100px){.excursion-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.excursion-grid{grid-template-columns:1fr}.excursion-intro{margin-top:42px}.excursion-intro h2{font-size:29px}}

/* v6.8: excursion heading matches the site's handwritten section headings */
.excursion-intro{text-align:center;margin:0 0 34px}
.excursion-intro h2{font-family:Caveat,cursive;color:var(--blue);font-size:55px;line-height:1;margin:0}
.excursion-intro p{max-width:800px;margin:10px auto 0;color:#76656a}
@media(max-width:600px){.excursion-intro h2{font-size:45px}}
