:root { --forest:#17362c; --forest-dark:#0d251e; --cream:#f3efe5; --paper:#faf8f2; --rust:#b65f3f; --ink:#173129; --muted:#6d786f; --font-display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif; --font-sans:Inter,"Segoe UI",Arial,sans-serif; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans),sans-serif} body,button,a{font-family:var(--font-sans),sans-serif} img{display:block;width:100%;object-fit:cover} a{text-decoration:none;color:inherit} button{color:inherit}
.section-wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.section-pad{padding-block:120px}.eyebrow{margin:0 0 20px;color:var(--rust);font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.eyebrow.light{color:#e5b697}h1,h2{font-family:var(--font-display),serif;font-weight:500;line-height:.92;letter-spacing:-.035em;margin:0}h2{font-size:clamp(52px,6vw,82px)}h1 em,h2 em{font-weight:400}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 22px;min-width:225px;background:var(--forest);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:.25s}.button:hover{background:var(--rust);transform:translateY(-2px)}.button-light{background:#f6f0e4;color:var(--forest)}.button-light:hover{background:#fff;color:var(--forest)}.text-link{display:inline-flex;gap:22px;align-items:center;padding-bottom:7px;border-bottom:1px solid currentColor;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.text-link.light{color:white}.text-link span{transition:.2s}.text-link:hover span{transform:translateX(5px)}
.contact-strip{position:absolute;z-index:22;top:0;left:0;width:100%;height:36px;padding:0 5vw;display:flex;align-items:center;justify-content:flex-end;gap:28px;background:var(--forest-dark);color:#f6f0e4;font-size:10px;letter-spacing:.035em}.contact-strip a,.contact-strip span{white-space:nowrap}.contact-strip a{transition:.2s}.contact-strip a:hover{color:#e5b697}.contact-strip b{color:#e5b697;font-weight:700}.nav-shell{position:absolute;z-index:20;top:36px;left:0;width:100%;height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid #ffffff2d}.brand{display:flex;align-items:center;gap:13px;font-size:15px;font-weight:700;letter-spacing:.16em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid currentColor;font-family:var(--font-display);font-size:25px;font-style:italic}.brand small{display:block;margin-top:4px;font-size:8px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;opacity:.65}.nav-shell nav{display:flex;align-items:center;gap:28px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.nav-shell nav>a:not(.nav-cta){padding:32px 0;border-bottom:2px solid transparent}.nav-shell nav>a:hover{border-bottom-color:#e1b69a}.nav-cta{padding:12px 17px;border:1px solid #ffffff73}.menu-button{display:none;background:none;border:0;padding:12px}.menu-button span{display:block;width:24px;height:1px;background:white;margin:6px}
.hero{position:relative;min-height:790px;height:100vh;max-height:950px;color:#fff;background:url('images/priveliste.jpg') center 58%/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,28,23,.82) 0%,rgba(7,28,23,.42) 48%,rgba(7,28,23,.1) 100%),linear-gradient(0deg,rgba(5,20,16,.65),transparent 35%)}.hero-content{position:absolute;z-index:2;left:max(7vw,calc((100% - 1180px)/2));top:55%;transform:translateY(-46%);max-width:750px}.hero h1{font-size:clamp(65px,8vw,112px)}.hero-copy{max-width:610px;margin:28px 0 36px;color:#f6f2e8d9;font-family:var(--font-display);font-size:22px;line-height:1.45}.hero-actions{display:flex;align-items:center;gap:32px}.hero-address{margin:20px 0 0;color:#ffffffb5;font-size:11px;letter-spacing:.08em}.quick-facts{position:absolute;z-index:2;right:5vw;bottom:40px;display:flex;align-items:center;gap:27px}.quick-facts div{display:flex;align-items:baseline;gap:8px}.quick-facts b{font-family:var(--font-display);font-size:35px;font-weight:500}.quick-facts span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#fff9}.quick-facts i{height:27px;width:1px;background:#fff4}
.story{display:grid;grid-template-columns:.85fr 1.15fr;gap:110px;align-items:center;padding-block:145px 175px}.story-copy p:not(.eyebrow){color:var(--muted);font-family:var(--font-display);font-size:19px;line-height:1.62}.story-copy .text-link{margin-top:16px}.story-images{position:relative;min-height:630px}.story-main{position:absolute;right:0;top:0;width:79%;height:570px}.story-float{position:absolute;left:0;bottom:0;width:43%;height:280px;border:12px solid var(--paper)}.year-stamp{position:absolute;right:35px;bottom:5px;width:155px;height:155px;border-radius:50%;background:var(--rust);color:white;display:grid;place-content:center;text-align:center}.year-stamp b{font-family:var(--font-display);font-size:38px;font-weight:400}.year-stamp span{font-size:8px;letter-spacing:.18em;line-height:1.5}
.rooms{background:var(--cream)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:65px}.section-head>p{max-width:400px;color:var(--muted);font-family:var(--font-display);font-size:18px;line-height:1.55}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.room-image{position:relative;overflow:hidden;height:460px}.room-image img{height:100%;transition:.7s}.room-card:hover img{transform:scale(1.04)}.room-image span{position:absolute;right:18px;bottom:16px;color:white;font-family:var(--font-display);font-size:28px}.room-card h3{margin:24px 0 8px;font-family:var(--font-display);font-size:30px;font-weight:500}.room-card p{margin:0;color:var(--muted);font-size:13px}
.experience{display:grid;grid-template-columns:1.1fr .9fr;padding:0;background:var(--forest);color:white}.experience-photo{min-height:720px;background:linear-gradient(0deg,#122a22b0,transparent 60%),url('images/jacuzzi.jpg') center/cover}.experience-photo>div{height:100%;min-height:720px;display:flex;flex-direction:column;justify-content:flex-end;padding:70px 7vw}.features{display:grid;grid-template-columns:1fr 1fr;align-content:center;padding:70px;gap:0}.feature{display:flex;gap:18px;padding:32px 20px;border-bottom:1px solid #ffffff1f}.feature:nth-child(odd){border-right:1px solid #ffffff1f}.feature:nth-last-child(-n+2){border-bottom:0}.feature>span{display:grid;place-items:center;flex:0 0 40px;height:40px;border:1px solid #d8b99d80;color:#e5b697;font-family:var(--font-display);font-size:19px}.feature h3{font-family:var(--font-display);font-size:22px;font-weight:500;margin:0 0 7px}.feature p{margin:0;color:#ffffff8c;font-size:11px;line-height:1.5}
.camping{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:center}.camping-image{position:relative}.camping-image img{height:570px}.camping-image span{position:absolute;bottom:20px;left:20px;background:var(--paper);padding:11px 16px;color:var(--rust);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.camping-copy>p:not(.eyebrow){color:var(--muted);font-family:var(--font-display);font-size:19px;line-height:1.6;margin:30px 0}.gallery-section{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:160px;gap:14px}.gallery-item{position:relative;overflow:hidden;border:0;padding:0;background:#ddd;cursor:pointer}.gallery-item img{height:100%;transition:.6s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item span{position:absolute;right:14px;bottom:14px;width:32px;height:32px;display:grid;place-items:center;background:#f8f4e9d9;font-size:17px;opacity:0;transition:.25s}.gallery-item:hover span{opacity:1}.item-1{grid-column:span 7;grid-row:span 3}.item-2{grid-column:span 5;grid-row:span 2}.item-3{grid-column:span 5;grid-row:span 2}.item-4{grid-column:span 4;grid-row:span 2}.item-5{grid-column:span 4;grid-row:span 2}.item-6{grid-column:span 4;grid-row:span 2}.item-7{grid-column:span 5;grid-row:span 2}.item-8{grid-column:span 7;grid-row:span 2}
.booking{position:relative;min-height:720px;display:grid;place-items:center;text-align:center;color:white;background:url('images/exterior.jpg') center/cover}.booking-bg{position:absolute;inset:0;background:#102c24d9}.booking-content{position:relative;z-index:2;padding:80px 24px}.booking-content h2{font-size:clamp(70px,9vw,115px)}.booking-content>p:not(.eyebrow){margin:25px 0 15px;color:#fff9;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.price{margin-bottom:30px}.price b{font-family:var(--font-display);font-size:38px;font-weight:500}.price span{font-size:11px;color:#fff8}.booking-actions{display:flex;flex-direction:column;align-items:center;gap:17px}.booking-content .button{margin:auto}.booking-email{padding-bottom:4px;border-bottom:1px solid #ffffff70;font-size:14px}.booking-email:hover{border-color:#fff}.booking-content address{margin-top:23px;color:#ffffffb8;font-family:var(--font-display);font-size:15px;font-style:normal}.booking-content>small{display:block;margin-top:12px;color:#ffffffd0;font-size:12px;letter-spacing:.08em}.footer{min-height:280px;display:grid;grid-template-columns:1.1fr 1.25fr .65fr;gap:40px;align-items:center;position:relative}.footer address{color:var(--muted);font-family:var(--font-display);font-size:15px;font-style:normal;line-height:1.7}.footer address b{color:var(--ink);font-weight:600}.footer address a{transition:.2s}.footer address a:hover{color:var(--rust)}.footer>div{display:flex;flex-direction:column;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.footer>small{position:absolute;bottom:25px;left:0;color:#9ca39d;font-size:9px}.lightbox{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:#071913ee;padding:5vw}.lightbox[hidden]{display:none}.lightbox img{max-width:1100px;max-height:85vh;object-fit:contain}.lightbox button{position:absolute;right:30px;top:20px;color:white;background:none;border:0;font-family:var(--font-display);font-size:48px;cursor:pointer}
@media(max-width:900px){.contact-strip{height:38px;padding:0 18px;justify-content:center;gap:24px}.contact-strip span{display:none}.nav-shell{top:38px;height:70px;padding:0 22px}.menu-button{display:block;z-index:2}.nav-shell nav{position:absolute;top:-38px;left:0;width:100%;height:100vh;background:var(--forest-dark);display:flex;flex-direction:column;justify-content:center;gap:30px;transform:translateY(-100%);transition:.4s}.nav-shell nav.open{transform:none}.nav-shell nav>a:not(.nav-cta){padding:5px;font-size:18px}.hero{min-height:760px}.hero-content{left:24px;right:24px;top:51%}.quick-facts{left:24px;right:auto;gap:14px}.quick-facts span{display:none}.quick-facts i{height:20px}.story{grid-template-columns:1fr;gap:60px;padding-block:90px}.story-images{min-height:500px}.section-pad{padding-block:85px}.section-head{display:block}.section-head>p{margin-top:25px}.room-grid{grid-template-columns:1fr}.room-image{height:460px}.experience{grid-template-columns:1fr}.features{padding:35px 20px}.camping{grid-template-columns:1fr;gap:55px}.gallery-grid{grid-auto-rows:110px}.footer{grid-template-columns:1fr 1fr;padding-block:60px}.footer>small{left:0}.section-wrap{width:min(100% - 36px,1180px)}}
@media(max-width:560px){.contact-strip{height:54px;flex-direction:column;gap:4px;align-items:flex-start;padding:6px 18px;font-size:9px}.nav-shell{top:54px}.nav-shell nav{top:-54px}.nav-shell nav.open{padding-top:50px}.hero{min-height:830px}.hero-content{top:52%}h2{font-size:50px}.hero h1{font-size:55px}.hero-copy{font-size:18px;margin-block:22px 26px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-address{max-width:300px;line-height:1.5}.quick-facts{bottom:25px}.story{padding-bottom:110px}.story-images{min-height:420px}.story-main{width:88%;height:385px}.story-float{width:50%;height:190px}.year-stamp{width:112px;height:112px;right:10px;bottom:-35px}.year-stamp b{font-size:28px}.room-image{height:380px}.experience-photo,.experience-photo>div{min-height:570px}.experience-photo>div{padding:45px 24px}.features{grid-template-columns:1fr}.feature:nth-child(odd){border-right:0}.feature:nth-last-child(2){border-bottom:1px solid #ffffff1f}.camping-image img{height:400px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:170px}.gallery-item[class*="item-"]{grid-column:span 1;grid-row:span 1}.gallery-item.item-1,.gallery-item.item-8{grid-column:span 2}.booking{min-height:650px}.footer{grid-template-columns:1fr;padding-bottom:85px}.footer>div{flex-direction:row;flex-wrap:wrap}.footer>small{bottom:25px}}
