@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root { --ink:#17241f; --forest:#23382f; --moss:#667961; --clay:#b56f4d; --cream:#f3f0e8; --paper:#faf9f5; --line:rgba(23,36,31,.16); --serif:'Playfair Display', Georgia, serif; --sans:'DM Sans', Arial, sans-serif; --mono:'DM Mono', monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:16px; line-height:1.55; }
a { color:inherit; }
a:focus-visible { outline:2px solid var(--clay); outline-offset:5px; }
.site-header { min-height:86px; padding:0 clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; gap:24px; background:var(--paper); position:relative; z-index:5; }
.brand { text-decoration:none; font-family:var(--serif); font-size:1.36rem; letter-spacing:-.04em; white-space:nowrap; }.brand span { font-style:italic; }
.site-nav ul { padding:0; margin:0; list-style:none; display:flex; gap:28px; }.site-nav a { color:rgba(23,36,31,.73); text-decoration:none; font-size:.8rem; letter-spacing:.04em; }.site-nav a:hover,.site-nav a[aria-current="page"] { color:var(--ink); }
.nav-book { text-decoration:none; font-size:.76rem; font-weight:600; letter-spacing:.05em; border-bottom:1px solid currentColor; padding-bottom:3px; }.nav-book span,.text-link span,.cabin-info span { margin-left:5px; }
.hero { height:min(820px,calc(100vh - 86px)); min-height:630px; position:relative; overflow:hidden; color:#fff; }.hero-image,.hero-shade { position:absolute; inset:0; }.hero-image { background:url('https://images.unsplash.com/photo-1519681393784-d120267933ba?auto=format&fit=crop&w=2200&q=88') center 54%/cover; transform:scale(1.01); }.hero-shade { background:linear-gradient(90deg,rgba(8,18,14,.56),rgba(8,18,14,.13) 65%,rgba(8,18,14,.2)); }.hero-content { position:absolute; left:clamp(24px,11vw,170px); bottom:clamp(88px,13vh,135px); max-width:660px; }.eyebrow { margin:0 0 22px; text-transform:uppercase; font:500 .67rem/1.2 var(--mono); letter-spacing:.14em; color:var(--moss); }.eyebrow.light { color:rgba(255,255,255,.72); }.hero h1,.contact-hero h1 { margin:0; font:600 clamp(3.5rem,7vw,7.2rem)/.9 var(--serif); letter-spacing:-.065em; }.hero h1 em,.contact-hero h1 em,.closing-cta h2 em { font-weight:500; }.hero-copy { margin:28px 0 29px; max-width:390px; font-size:1.03rem; line-height:1.6; color:rgba(255,255,255,.88); }.text-link { display:inline-block; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:5px; font:500 .76rem var(--mono); letter-spacing:.04em; }.light-link { color:#fff; }.hero-foot { position:absolute; left:clamp(24px,5vw,76px); bottom:25px; color:rgba(255,255,255,.76); font:400 .63rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.section-space { padding:clamp(80px,12vw,180px) clamp(24px,9vw,140px); }.intro { display:grid; grid-template-columns:.65fr 1.35fr; gap:clamp(35px,10vw,150px); max-width:1500px; margin:auto; }.intro-mark { color:var(--clay); font:italic 1.4rem var(--serif); border-top:1px solid var(--line); padding-top:13px; }.intro-copy { max-width:735px; }.intro h2,.section-heading h2,.gather h2,.journal h2,.contact-details h2,.contact-note h2 { margin:0 0 29px; font:500 clamp(2.9rem,5.1vw,5.7rem)/.98 var(--serif); letter-spacing:-.06em; }.large-copy { max-width:595px; margin:0 0 31px; font:400 clamp(1.18rem,1.8vw,1.55rem)/1.55 var(--serif); }.image-break { height:clamp(450px,56vw,760px); background:url('https://images.unsplash.com/photo-1520984032042-162d526883e0?auto=format&fit=crop&w=2200&q=85') center/cover; }
.stay { background:#e4e5db; }.section-heading { display:grid; grid-template-columns:.93fr 1.07fr; column-gap:8%; max-width:1270px; margin:0 auto 65px; }.section-heading .eyebrow { grid-column:1; }.section-heading h2 { grid-column:1; margin-bottom:0; }.section-heading > p:last-child { grid-column:2; align-self:end; max-width:420px; color:rgba(23,36,31,.76); }.cabins-grid { max-width:1270px; margin:auto; display:grid; grid-template-columns:1.07fr .93fr .93fr; gap:18px; }.cabin-image { height:430px; background-size:cover; background-position:center; }.cabin-one .cabin-image { background-image:url('https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=1000&q=85'); }.cabin-two .cabin-image { background-image:url('https://images.unsplash.com/photo-1449158743715-0a90ebb6d2d8?auto=format&fit=crop&w=1000&q=85'); }.cabin-three .cabin-image { background-image:url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=1000&q=85'); }.cabin-info { padding:18px 0 6px; }.cabin-info p,.journal-posts p { margin:0 0 7px; color:var(--moss); font:400 .61rem var(--mono); text-transform:uppercase; letter-spacing:.09em; }.cabin-info h3 { margin:0 0 9px; font:500 1.8rem var(--serif); letter-spacing:-.045em; }.cabin-info a { font:500 .7rem var(--mono); text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px; }
.quote-section { display:grid; grid-template-columns:1.08fr .92fr; }.quote-image { min-height:630px; background:url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1400&q=85') center/cover; }.quote-panel { min-height:630px; padding:clamp(45px,8vw,130px); background:var(--forest); color:var(--cream); display:flex; align-items:center; }.quote-mark { display:block; color:#bd8a67; font:5rem/.5 var(--serif); margin-bottom:20px; }.quote-panel blockquote { margin:0 0 32px; font:500 clamp(2rem,3.2vw,3.65rem)/1.09 var(--serif); letter-spacing:-.05em; }.quote-panel p { margin:0; color:rgba(255,255,255,.66); font:.65rem var(--mono); text-transform:uppercase; letter-spacing:.09em; }
.gather { display:grid; grid-template-columns:.89fr 1.11fr; gap:clamp(45px,9vw,145px); max-width:1500px; margin:auto; }.gather-content { max-width:485px; }.gather-content > p:not(.eyebrow) { max-width:420px; margin-bottom:40px; }.activity-list { border-top:1px solid var(--line); }.activity-list div { padding:14px 0; border-bottom:1px solid var(--line); font-size:.92rem; }.activity-list span { display:inline-block; width:40px; color:var(--clay); font:.61rem var(--mono); }.gather-images { min-height:620px; position:relative; }.gather-image-main { position:absolute; width:78%; height:84%; right:0; top:0; background:url('https://images.unsplash.com/photo-1540541338287-41700207dee6?auto=format&fit=crop&w=1200&q=85') center/cover; }.gather-image-small { position:absolute; width:45%; height:39%; left:0; bottom:0; border:10px solid var(--paper); background:url('https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=800&q=85') center/cover; }
.journal { background:#f0ede4; padding:clamp(80px,11vw,155px) clamp(24px,9vw,140px); }.journal-head { max-width:1270px; margin:0 auto 58px; display:grid; grid-template-columns:1fr 1fr; }.journal-head h2 { margin-bottom:0; }.journal-head .text-link { align-self:end; justify-self:end; }.journal-posts { max-width:1270px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:27px; }.post-image { aspect-ratio:1.14/1; margin-bottom:21px; background-position:center; background-size:cover; }.post-one { background-image:url('https://images.unsplash.com/photo-1519681393784-d120267933ba?auto=format&fit=crop&w=900&q=85'); }.post-two { background-image:url('https://images.unsplash.com/photo-1504674900247-0877df9cc836?auto=format&fit=crop&w=900&q=85'); }.post-three { background-image:url('https://images.unsplash.com/photo-1500051638674-ff996a0ec29e?auto=format&fit=crop&w=900&q=85'); }.journal-posts h3 { margin:0; max-width:340px; font:500 1.55rem/1.2 var(--serif); letter-spacing:-.04em; }
.closing-cta { min-height:645px; position:relative; display:grid; place-items:center; text-align:center; color:#fff; background:linear-gradient(rgba(18,39,30,.44),rgba(18,39,30,.44)),url('https://images.unsplash.com/photo-1454496522488-7a8e488e8606?auto=format&fit=crop&w=2200&q=88') center/cover; }.closing-content { padding:45px 24px; }.closing-cta h2 { margin:0 0 35px; font:500 clamp(3.3rem,6.6vw,6.9rem)/.93 var(--serif); letter-spacing:-.065em; }.button { display:inline-block; text-decoration:none; padding:15px 22px; font:500 .7rem var(--mono); letter-spacing:.05em; }.button-light { color:var(--ink); background:var(--cream); }.button:hover { background:white; }
.site-footer { color:var(--cream); background:#16241e; padding:54px clamp(24px,5vw,76px) 22px; }.footer-top { max-width:1400px; margin:auto; padding-bottom:70px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:start; }.footer-brand { font-size:1.8rem; }.footer-top p { margin:4px 0 0; color:rgba(255,255,255,.7); font:1.15rem/1.4 var(--serif); }.footer-contact { justify-self:end; display:flex; flex-direction:column; gap:5px; }.footer-contact a { color:var(--cream); font:.71rem var(--mono); text-decoration:none; }.footer-bottom { max-width:1400px; margin:auto; padding-top:18px; border-top:1px solid rgba(255,255,255,.2); display:flex; justify-content:space-between; gap:15px; color:rgba(255,255,255,.55); font:.58rem var(--mono); letter-spacing:.06em; text-transform:uppercase; }.footer-bottom a { color:inherit; text-decoration:none; }
.site-header-dark { background:var(--forest); color:var(--cream); }.site-header-dark .site-nav a { color:rgba(255,255,255,.7); }.site-header-dark .site-nav a:hover,.site-header-dark .site-nav a[aria-current="page"] { color:#fff; }.contact-hero { min-height:600px; display:grid; grid-template-columns:1fr 1fr; background:var(--forest); color:var(--cream); }.contact-hero-copy { padding:clamp(75px,10vw,150px) clamp(24px,9vw,140px); align-self:center; }.contact-hero-copy > p:not(.eyebrow) { max-width:390px; margin:30px 0 0; color:rgba(255,255,255,.72); }.contact-hero-image { background:url('https://images.unsplash.com/photo-1464278533981-50106e6176b1?auto=format&fit=crop&w=1500&q=85') center/cover; }.contact-details { max-width:1500px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:10%; }.details-list { border-top:1px solid var(--line); }.details-list > div { padding:18px 0 22px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:145px 1fr; }.details-list span { color:var(--moss); font:.64rem var(--mono); text-transform:uppercase; letter-spacing:.08em; }.details-list a { text-decoration:none; font:500 1.2rem var(--serif); }.details-list p,.details-list address { margin:0; font-style:normal; }.contact-note { display:grid; grid-template-columns:1fr 1fr; background:#dedfd4; }.contact-note-image { min-height:590px; background:url('https://images.unsplash.com/photo-1443632864897-14973fa006cf?auto=format&fit=crop&w=1500&q=85') center/cover; }.contact-note-copy { padding:clamp(65px,10vw,150px); align-self:center; max-width:670px; }.contact-note-copy > p:not(.eyebrow) { max-width:400px; margin:0 0 32px; }
@media (max-width:800px) { .site-header { min-height:auto; padding:20px 24px; flex-wrap:wrap; }.site-nav { order:3; width:100%; }.site-nav ul { justify-content:space-between; gap:10px; }.nav-book { display:none; }.hero { height:calc(100vh - 126px); min-height:580px; }.hero-content { left:24px; right:24px; bottom:95px; }.intro,.section-heading,.gather,.contact-details { grid-template-columns:1fr; }.intro-mark { max-width:100%; }.section-heading > p:last-child { grid-column:1; margin:25px 0 0; }.cabins-grid,.journal-posts { grid-template-columns:1fr; gap:35px; }.cabin-image { height:350px; }.quote-section,.contact-hero,.contact-note { grid-template-columns:1fr; }.quote-image { min-height:380px; }.quote-panel { min-height:440px; }.gather-images { min-height:480px; }.journal-head { grid-template-columns:1fr; gap:24px; }.journal-head .text-link { justify-self:start; }.footer-top { grid-template-columns:1fr; gap:30px; }.footer-contact { justify-self:start; }.footer-bottom { flex-direction:column; }.contact-hero-image { min-height:380px; }.details-list > div { grid-template-columns:1fr; gap:8px; }.contact-note-image { min-height:390px; } }
@media (max-width:460px) { .site-nav a { font-size:.72rem; }.hero h1,.contact-hero h1 { font-size:3.35rem; }.section-space,.journal { padding-left:24px; padding-right:24px; }.gather-image-main { width:87%; }.gather-image-small { width:55%; }.footer-bottom { font-size:.54rem; } }