@import url('fonts.css');
:root{--red:#ce3036;--ink:#303a31;--olive:#65705b;--muted:#6b7169;--line:#dce0d7;--wash:#f6f7f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--ink);font-family:'Tenor Sans',sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ce3036;outline-offset:5px}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5}h1,h2,h3,p{margin-top:0}h2{font-weight:400;font-size:clamp(32px,3.5vw,48px);line-height:1.25;letter-spacing:-.03em;margin-bottom:26px}h3{font-weight:400;line-height:1.4;font-size:23px}p{margin-bottom:24px}button{color:inherit}figure{margin:0}img{display:block;max-width:100%;object-fit:cover}[hidden]{display:none!important}.hero{position:relative;min-height:780px;height:96svh;max-height:1150px;color:white;background:linear-gradient(180deg,rgba(17,30,24,.52),rgba(17,30,24,.26) 45%,rgba(17,30,24,.5)),url('images/home-achtergrond.png') center/cover}.header{margin:0 3.5%;display:grid;grid-template-columns:minmax(60px,1fr) minmax(270px,3fr) 140px minmax(270px,3fr) minmax(100px,1fr);align-items:center;gap:20px;min-height:132px;border-bottom:1px dotted #ffffff99;font-family:'Dosis',sans-serif;letter-spacing:.14em;text-transform:uppercase;font-size:15px}.header nav{display:flex;justify-content:space-evenly;gap:15px}.header nav a{position:relative;white-space:nowrap;padding:16px 0}.header nav a:after{content:'';position:absolute;height:3px;background:#f0353f;bottom:7px;left:0;right:0;transform:scaleX(0);transition:transform .2s}.header nav a:hover:after,.header nav a:focus-visible:after{transform:scaleX(1)}.logo{justify-self:center}.logo img{width:120px;height:80px;object-fit:contain}.socials{display:flex;gap:20px;align-items:center;font-family:Arial,sans-serif;font-size:23px}.socials a{min-width:24px;min-height:44px;display:flex;align-items:center}.contact-top{border:1px solid white;text-align:center;padding:8px 15px;justify-self:end}.languages{display:flex;justify-content:flex-end;gap:2px;padding:14px 3.5%}.languages button{background:none;border:0;color:white;font-family:'Dosis',sans-serif;font-size:14px;letter-spacing:.1em;padding:9px;min-height:44px}.languages button[aria-pressed=true]{text-decoration:underline;text-underline-offset:7px}.hero-copy{position:absolute;top:48%;left:5%;right:5%;transform:translateY(-30%);text-align:center}.eyebrow{font-family:'Dosis',sans-serif;text-transform:uppercase;font-weight:500;font-size:14px;letter-spacing:.2em;color:var(--olive);margin-bottom:22px}.hero .eyebrow{color:white;font-size:15px}.hero h1{font-family:'Montserrat',sans-serif;font-weight:400;font-size:clamp(30px,4.4vw,68px);letter-spacing:.14em;line-height:1.3;margin:0 0 38px}.hero-subtitle{width:max-content;max-width:100%;margin:auto;font-size:clamp(12px,1.3vw,18px);letter-spacing:.12em;line-height:1.9}.spread{display:flex;justify-content:space-between;letter-spacing:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--red);color:white;border:1px solid var(--red);padding:15px 24px;font-family:'Dosis',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:15px;line-height:1.5;min-height:52px;transition:background .2s}.button:hover{background:#ad2028}.button:disabled{background:#777;border-color:#777;cursor:not-allowed}.hero-subtitle .button{display:flex;margin-top:28px;width:100%;font-size:14px;padding-inline:14px;letter-spacing:.1em}.scroll-cue{position:absolute;bottom:28px;left:0;right:0;display:flex;align-items:center;flex-direction:column;font-family:'Dosis',sans-serif;letter-spacing:.1em;font-size:13px}.scroll-cue span+span{font-size:28px}.facts{max-width:1160px;margin:auto;display:flex;justify-content:center;gap:80px;padding:28px 24px;border-bottom:1px solid var(--line);font-size:14px;color:var(--olive)}.section{max-width:1160px;margin:auto;padding:100px 30px}.intro{text-align:center;max-width:850px}.intro .lead{font-size:20px;line-height:1.8}.intro p:not(.eyebrow){color:var(--muted)}.small-rule{height:1px;width:50px;background:var(--red);margin:32px auto}.text-link{display:inline-block;font-family:'Dosis',sans-serif;text-transform:uppercase;letter-spacing:.15em;font-size:15px;border-bottom:1px solid var(--red);padding-bottom:6px;margin-top:10px}.text-link:after{content:' ↗';padding-left:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-top:15px}.split img{width:100%;height:560px}.split figcaption{font-size:11px;color:var(--muted);margin-top:10px}.split-copy p:not(.eyebrow){color:var(--muted)}.amenities{text-align:center;border-top:1px solid var(--line)}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;text-align:left;margin:50px 0 30px}.number{font-family:'Dosis',sans-serif;color:var(--olive);display:block;font-size:14px;letter-spacing:.2em;border-top:1px solid var(--line);padding-top:24px;margin-bottom:20px}.amenity-grid p{color:var(--muted)}.muted{font-size:13px;color:var(--muted)}.landscape{position:relative;min-height:470px;color:white;display:grid;place-items:center;text-align:center;padding:80px 24px;isolation:isolate}.landscape img{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.landscape:after{content:'';position:absolute;inset:0;background:#12261f88;z-index:-1}.landscape>div{max-width:640px}.landscape .eyebrow{color:white}.landscape p:last-child{margin:0}.region-details{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding-block:70px}.region-details p:not(.eyebrow){color:var(--muted)}.booking{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--line);align-items:center}.price-note{background:var(--wash);padding:45px}.price-note p:last-child{margin:0;color:var(--muted)}.availability{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;border-top:1px solid var(--line);align-items:start}.calendar-wrap{padding:24px;border:1px solid var(--line)}.calendar-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-controls h3{margin:0;font-size:21px}.calendar-controls button{border:0;background:var(--wash);width:44px;height:44px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekday{text-align:center;font-size:12px;color:var(--muted);padding:10px 0}.day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-size:13px;position:relative;background:#eef2e9;color:#3c4934}.day.busy{background:repeating-linear-gradient(135deg,#f3d9d9,#f3d9d9 4px,#f9eaea 4px,#f9eaea 8px);color:#942a30;text-decoration:line-through}.day.past{opacity:.5}.day.unknown{background:#eee;color:#666}.day.today{outline:1px solid var(--ink);outline-offset:-2px}.legend{display:flex;gap:24px;font-size:12px;margin-top:20px}.legend>span{display:flex;gap:7px;align-items:center}.legend i{width:12px;height:12px;display:inline-block}.legend .free{background:#dbe4d2}.legend .busy{background:#e9bcbc}#calendar-status{font-size:12px;margin:15px 0 0;color:var(--muted)}.contact-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.1fr;gap:70px}label{display:block;font-size:13px;margin-bottom:18px}label>span{display:block;margin-bottom:6px}input,select,textarea{border:1px solid #c8cfc3;border-radius:0;background:#fff;width:100%;padding:11px 12px;color:var(--ink);min-width:0;font-size:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}textarea{resize:vertical}footer{padding:48px 25px;text-align:center;background:var(--wash)}footer>a{display:block;font-family:'Montserrat',sans-serif;font-size:20px;letter-spacing:.12em}footer>span{font-size:11px;letter-spacing:.15em}footer p{font-size:12px;margin:22px auto 0;max-width:600px;color:var(--muted)}.menu-toggle{display:none}.skip{position:absolute;top:-100px;left:20px;z-index:10;background:white;color:var(--ink);padding:10px}.skip:focus{top:15px}
@media(min-width:1450px){.header{gap:30px;font-size:17px}}
@media(max-width:1100px){.header{grid-template-columns:1fr 120px 1fr;min-height:108px}.header .nav-left,.header .nav-right{display:none}.socials{grid-column:1;grid-row:1}.logo{grid-column:2;grid-row:1}.contact-top{grid-column:3;grid-row:1;margin-right:75px}.menu-toggle{display:block;grid-column:3;grid-row:1;justify-self:end;background:none;border:0;color:white;text-transform:uppercase;letter-spacing:.1em;min-height:44px}.header{position:relative;z-index:4}#mobile-menu{position:absolute;top:108px;left:0;right:0;z-index:5;background:#293c32;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:8px}#mobile-menu a{padding:10px;text-transform:uppercase;font-family:'Dosis',sans-serif;letter-spacing:.1em}.split{gap:50px}.booking,.availability,.contact-section{gap:40px}.hero{min-height:700px}.hero-copy{top:46%}}
@media(max-width:700px){body{font-size:15px}.hero{min-height:680px;height:92svh;max-height:850px}.header{margin-inline:20px;grid-template-columns:1fr 100px 1fr;gap:10px}.logo img{width:95px}.contact-top{display:none}.socials{gap:12px}.hero h1{font-size:32px;letter-spacing:.08em;max-width:360px;margin:0 auto 30px;line-height:1.5}.hero-copy{left:20px;right:20px;top:45%}.hero .eyebrow{font-size:12px}.hero-subtitle{font-size:12px;letter-spacing:.1em;min-width:250px}.hero-subtitle .button{font-size:12px}.facts{gap:15px;font-size:11px;padding-inline:15px;justify-content:space-between;text-align:center}.section{padding:65px 24px}.intro .lead{font-size:18px}.split,.booking,.availability,.contact-section{grid-template-columns:1fr;gap:35px}.split img{height:420px}.split-copy{padding-top:15px}.amenity-grid,.region-details{grid-template-columns:1fr;gap:16px}.amenity-grid{margin-top:35px}.amenity-grid article p{margin-bottom:20px}.landscape{min-height:400px}.region-details{padding-block:50px}.region-details article{padding-block:12px}.price-note{padding:30px}.calendar-wrap{padding:18px}.form-row{gap:12px}.calendar-controls h3{font-size:19px}.scroll-cue{bottom:20px}footer>a{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Persistent navigation: transparent at the top, readable on white after scrolling. */
:root{--header-offset:132px}
html{scroll-padding-top:calc(var(--header-offset) + 20px)}
.header{position:fixed;inset:0 0 auto;z-index:50;margin:0;padding:0 3.5%;color:white;transition:background-color .2s,color .2s,box-shadow .2s}
.header.is-scrolled{background:white;color:var(--ink);min-height:96px;border-bottom:1px solid var(--line);box-shadow:0 3px 16px #2433260d}
.header.is-scrolled .logo img{filter:brightness(0);opacity:.8}
.header .contact-top{border-color:currentColor}
.header .menu-toggle{color:inherit}
.languages{padding-top:146px}
#mobile-menu{position:fixed;top:var(--header-offset);z-index:49;max-height:calc(100dvh - var(--header-offset));overflow-y:auto}
.header.is-scrolled + #mobile-menu{background:white;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 8px 15px #24332610}
.skip{position:fixed;z-index:60}
@media(max-width:1100px){:root{--header-offset:108px}.header{min-height:108px}.header.is-scrolled{min-height:80px}.header.is-scrolled .logo img{height:64px}.languages{padding-top:122px}}
@media(max-width:700px){.header{padding-inline:20px}}
@media(min-width:1101px){#mobile-menu{display:none}}

.contact-details{border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.contact-person a{display:inline-block;padding:5px 0;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-location{font-style:normal;border-top:1px solid var(--line);padding-top:24px;margin-top:24px;font-size:14px}.contact-location .muted{margin-top:16px;margin-bottom:5px}.contact-details .eyebrow,.contact-location .eyebrow{margin-bottom:12px}.tourism-link{text-align:center;padding:0 24px 55px}

.gallery-section{text-align:center;border-top:1px solid var(--line)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}
.gallery-tile{border:0;padding:0;background:var(--wash);overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}
.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.gallery-tile:hover img{transform:scale(1.035)}
.gallery-dialog{border:0;padding:0;width:96vw;max-width:1400px;max-height:96dvh;background:transparent;color:white;overflow:auto}
.gallery-dialog::backdrop{background:rgba(12,19,15,.94)}
.gallery-viewer{position:relative;padding:58px 10px 5px}
#gallery-photo{width:100%;height:70vh;height:70dvh;object-fit:contain;touch-action:pan-y;user-select:none}
.gallery-close{position:absolute;top:0;right:10px}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:32px;margin:12px 0}
.gallery-viewer button{width:48px;height:48px;background:#ffffff15;border:1px solid #ffffff77;color:white;font-size:24px}
.gallery-viewer button:hover{background:#ffffff30}.gallery-viewer button:disabled{opacity:.3;cursor:default}
#gallery-counter{min-width:70px;font-family:'Montserrat',sans-serif;text-align:center}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gallery-grid{grid-template-columns:1fr;gap:16px}.gallery-viewer{padding-top:52px}#gallery-photo{height:65vh;height:65dvh}}

/* Full portrait/landscape photos in equal, quiet tiles. */
.gallery-tile{background:#f1f2ed;touch-action:pan-y}
.gallery-tile img{object-fit:contain}
.gallery-tile:hover img{transform:none}
.gallery-pagination{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:28px}
.gallery-pagination button{width:48px;height:48px;background:white;border:1px solid var(--line);font-size:22px}
.gallery-pagination button:disabled{opacity:.35;cursor:default}
.gallery-pagination span{min-width:110px;font-size:14px}

/* Reserve one row and controls before discovery finishes; no paging layout jumps. */
.gallery-grid{--gallery-row-height:280px;min-height:var(--gallery-row-height);grid-auto-rows:var(--gallery-row-height);align-content:start}
.gallery-tile{height:100%;aspect-ratio:auto}
#gallery-status{min-height:1.8em}
.gallery-pagination-slot{min-height:76px;display:flow-root}
@media(max-width:1000px){.gallery-grid{--gallery-row-height:300px}}
@media(max-width:600px){.gallery-grid{--gallery-row-height:clamp(240px,75vw,390px)}}
