:root{--ink:#18231d;--cream:#f5f0e7;--white:#fff;--sage:#748478;--accent:#993c36;--line:#dfd9cf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fff;margin:0;font-family:DM Sans,sans-serif}img{object-fit:cover;width:100%;display:block}a{color:inherit;text-decoration:none}.nav{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:18px 5vw;display:flex;position:fixed;top:0;left:0;right:0}.brand{font-family:Playfair Display,serif;font-size:1.55rem;font-weight:700}.nav nav{align-items:center;gap:26px;font-size:.94rem;display:flex}.hero{align-items:flex-end;height:94vh;min-height:680px;display:flex;position:relative;overflow:hidden}.hero>img{object-position:center 55%;height:100%;position:absolute;inset:0}.overlay{background:linear-gradient(#07130f0d,#07130fa8);position:absolute;inset:0}.hero-content{z-index:2;color:#fff;max-width:1020px;padding:0 7vw 9vh;position:relative}.eyebrow{letter-spacing:.18em;margin:0 0 18px;font-size:.76rem;font-weight:700}.eyebrow.dark{color:var(--sage)}h1,h2,h3{margin:0;font-family:Playfair Display,serif}h1{letter-spacing:-.035em;font-size:clamp(3.6rem,7.4vw,7.4rem);line-height:.93}h2{font-size:clamp(2.4rem,4vw,4.6rem);line-height:1.05}h3{font-size:1.65rem;line-height:1.13}.hero-copy{max-width:720px;margin:24px 0 30px;font-size:1.2rem;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.btn{color:var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:15px 22px;font-weight:700;display:inline-flex}.btn-small{background:var(--ink);color:#fff;padding:10px 16px}.btn-ghost{color:#fff;background:0 0;border:1px solid #ffffffa6}.dark-btn{background:var(--ink);color:#fff}.section{padding:110px 7vw}.intro{background:var(--cream);grid-template-columns:1fr 1fr;align-items:end;gap:8vw;display:grid}.lead{color:#56635b;font-size:1.16rem;line-height:1.8}.feature-grid{grid-template-columns:1.1fr .9fr;gap:24px;display:grid}.feature{background:var(--cream);border-radius:24px;overflow:hidden}.feature-wide{grid-row:span 2}.feature img{height:360px}.feature-wide img{height:660px}.card-copy{padding:28px}.card-copy p:last-child,.activity-card p{color:#5d665f;line-height:1.65}.gallery-section{background:#fafafa}.section-title{justify-content:space-between;align-items:end;margin-bottom:40px;display:flex}.gallery{grid-template-columns:repeat(12,1fr);gap:18px;display:grid}.gallery img{border-radius:18px;height:360px}.gallery img:first-child,.gallery img:nth-child(4){grid-column:span 7}.gallery img:nth-child(2),.gallery img:nth-child(3),.gallery img:nth-child(5),.gallery img:nth-child(6){grid-column:span 5}.activities{background:#edf1ed}.activities-head{grid-template-columns:1fr 1fr;align-items:end;gap:7vw;margin-bottom:42px;display:grid}.activity-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.activity-card{background:#fff;border:1px solid #0000000a;border-radius:20px;grid-template-columns:50px 1fr;gap:16px;min-height:265px;padding:28px;display:grid}.activity-card.featured{background:var(--ink);color:#fff}.activity-card.featured p{color:#d8e0db}.activity-card.featured a{color:#fff}.activity-number{color:var(--accent);padding-top:4px;font-size:.78rem;font-weight:700}.tag{letter-spacing:.14em;color:var(--sage);margin-bottom:12px;font-size:.68rem;font-weight:700;display:inline-block}.activity-card h3{margin-bottom:10px}.activity-card p{margin:0 0 18px}.activity-card a{color:var(--accent);font-size:.92rem;font-weight:700}.tip-box{background:#dfe7df;border-radius:20px;grid-template-columns:220px 1fr;align-items:center;gap:25px;margin-top:22px;padding:28px 32px;display:grid}.tip-box span{letter-spacing:.14em;font-size:.76rem;font-weight:700}.tip-box p{margin:0;line-height:1.65}.benefit-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;display:grid}.benefit-grid>div{border:1px solid var(--line);border-radius:18px;padding:28px}.benefit-grid span{color:var(--accent);font-size:.8rem;font-weight:700}.benefit-grid h3{margin:12px 0}.benefit-grid p{color:#5d665f;line-height:1.6}.quote{color:#fff;text-align:center;background:linear-gradient(#18251e8c,#18251e8c),url(/hero.jpg) 50%/cover;place-items:center;min-height:560px;padding:80px 20px;display:grid}.quote-inner{max-width:900px}.quote p:last-child{font-size:1.2rem}.contact{background:var(--cream);justify-content:space-between;align-items:center;gap:40px;display:flex}.contact>div{max-width:780px}.reservation{background:var(--cream)}.reservation-heading{grid-template-columns:1fr auto;align-items:end;gap:50px;margin-bottom:44px;display:grid}.reservation-heading>div:first-child{max-width:780px}.reservation-heading .lead{margin-bottom:0}.rate-card{border:1px solid var(--line);background:#fff;border-radius:20px;min-width:210px;padding:25px 28px}.rate-card span,.rate-card small{color:#677269;display:block}.rate-card span{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700}.rate-card strong{margin:8px 0;font-family:Playfair Display,serif;font-size:2.2rem;display:block}.rate-card small{font-size:.74rem}.booking-panel{grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);align-items:start;gap:22px;display:grid}.calendar-card,.booking-summary{border:1px solid var(--line);background:#fff;border-radius:24px}.calendar-card{padding:26px}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.calendar-toolbar button{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;font-size:1.15rem}.calendar-legend{color:#677269;gap:20px;font-size:.76rem;display:flex}.calendar-legend span{align-items:center;gap:7px;display:flex}.dot{border-radius:50%;width:9px;height:9px;display:inline-block}.dot.available{background:var(--sage)}.dot.unavailable{background:#d7d3cd}.calendar-pair{grid-template-columns:1fr 1fr;gap:34px;display:grid}.calendar-month h3{text-align:center;letter-spacing:0;margin:0 0 18px;font-family:DM Sans,sans-serif;font-size:1rem}.weekdays,.days-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.weekdays{color:#7b857d;text-align:center;margin-bottom:7px;font-size:.68rem;font-weight:700}.days-grid button{aspect-ratio:1;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:.82rem}.days-grid button:hover:not(:disabled){background:#e8eee9}.days-grid button.outside{visibility:hidden}.days-grid button:disabled{cursor:not-allowed;color:#b9b7b2}.days-grid button.busy{color:#aaa6a0;background:#ebe8e3;text-decoration:line-through}.days-grid button.in-range{background:#dce6dd;border-radius:3px}.days-grid button.selected{background:var(--ink);color:#fff;font-weight:700}.calendar-status{text-align:center;color:#667168;margin:0 0 16px;font-size:.82rem}.calendar-status.error{color:var(--accent)}.booking-summary{padding:30px;position:sticky;top:100px}.date-summary{border-bottom:1px solid var(--line);padding:17px 0}.date-summary span,.date-summary strong{display:block}.date-summary span{letter-spacing:.12em;text-transform:uppercase;color:#788279;margin-bottom:6px;font-size:.7rem}.date-summary strong{font-size:.95rem}.price-summary{justify-content:space-between;gap:20px;padding:22px 0;font-size:1rem;display:flex}.price-summary strong{font-family:Playfair Display,serif;font-size:1.3rem}.booking-button{cursor:pointer;border:0;width:100%;margin-top:22px}.booking-button:disabled,.booking-button.disabled{opacity:.45;pointer-events:none}.booking-note,.setup-note{color:#707a72;margin:16px 0 0;font-size:.75rem;line-height:1.5}.setup-note{color:#8b633d;background:#f5eee2;border-radius:10px;padding:10px 12px;font-weight:700}footer{background:var(--ink);color:#fff;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:34px 7vw;display:flex}.admin-page{background:var(--cream);min-height:100vh;padding:60px max(6vw,24px)}.admin-header{justify-content:space-between;align-items:flex-end;gap:35px;max-width:1250px;margin:0 auto 45px;display:flex}.admin-header h1,.admin-gate h1{font-size:clamp(3rem,6vw,5.5rem)}.admin-header>div:first-child>p:last-child{color:#5d695f;font-size:1.05rem}.admin-account{text-align:right;font-size:.84rem}.admin-account span,.admin-account a{display:block}.admin-account a{color:var(--accent);margin-top:8px;font-weight:700}.admin-grid{gap:22px;max-width:1250px;margin:auto;display:grid}.admin-card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:32px}.admin-card h2{font-size:clamp(2rem,3vw,3rem)}.admin-card-head{justify-content:space-between;align-items:center;gap:25px;margin-bottom:28px;display:flex}.admin-form{grid-template-columns:1fr 1fr;align-items:end;gap:18px;display:grid}.admin-form label,.feed-form label{color:#5e695f;text-transform:uppercase;letter-spacing:.1em;gap:8px;font-size:.76rem;font-weight:700;display:grid}.admin-form .full{grid-column:span 2}.admin-form input,.admin-form select,.feed-form input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);font:inherit;text-transform:none;letter-spacing:0;background:#fbfaf7;border-radius:11px;padding:11px 13px}.admin-form .btn{border:0;justify-self:start}.feed-form{background:var(--cream);border-radius:16px;grid-template-columns:.65fr 1.35fr auto;align-items:end;gap:14px;padding:22px;display:grid}.feed-form .btn{border:1px solid var(--line)}.feed-list{border-top:1px solid var(--line);margin-top:20px}.feed-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;padding:20px 4px;display:flex}.feed-list article>div{grid-template-columns:auto auto;align-items:center;gap:6px 12px;display:grid}.feed-list small{color:#778078;grid-column:span 2}.feed-list article>button{color:var(--accent);cursor:pointer;background:0 0;border:0;font-weight:700}.feed-status{background:#eee;border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:700}.feed-status.ok{color:#396341;background:#dce9dd}.feed-status.error{color:#8b3b35;background:#f3dfdd}.admin-help,.empty-state{color:#6e786f;margin:20px 0 0;font-size:.8rem;line-height:1.6}.admin-message{z-index:5;background:var(--ink);color:#fff;border-radius:12px;padding:14px 18px;position:sticky;top:18px;box-shadow:0 8px 30px #00000029}.admin-gate{background:var(--cream);place-items:center;min-height:100vh;padding:30px;display:grid}.admin-gate>div{text-align:center;border:1px solid var(--line);background:#fff;border-radius:24px;max-width:720px;padding:55px}.admin-gate p{color:#5d695f;margin:25px 0}@media (max-width:950px){.nav nav a:not(.btn){display:none}.hero{min-height:620px}.intro,.feature-grid,.activities-head{grid-template-columns:1fr}.feature-wide{grid-row:auto}.feature-wide img,.feature img{height:430px}.activity-grid,.tip-box{grid-template-columns:1fr}.benefit-grid{grid-template-columns:1fr 1fr}.contact{flex-direction:column;align-items:flex-start}.reservation-heading,.booking-panel{grid-template-columns:1fr}.booking-summary{position:static}.admin-header{flex-direction:column;align-items:flex-start}.admin-account{text-align:left}.feed-form{grid-template-columns:1fr}}@media (max-width:620px){.section{padding:78px 6vw}.hero-content{padding:0 6vw 8vh}h1{font-size:3.2rem}.gallery img{height:300px;grid-column:span 12!important}.benefit-grid,.activity-card,.calendar-pair{grid-template-columns:1fr}.calendar-month:nth-child(2){display:none}.calendar-legend{gap:10px}.rate-card{min-width:0}.admin-page{padding:42px 18px}.admin-card{padding:24px 18px}.admin-card-head{flex-direction:column;align-items:flex-start}.admin-form{grid-template-columns:1fr}.admin-form .full{grid-column:auto}.feed-list article{flex-direction:column;align-items:flex-start}}.views{background:#fff}.views-intro{grid-template-columns:1fr 1fr;align-items:end;gap:7vw;margin-bottom:42px;display:grid}.view-story{grid-template-columns:1.15fr .85fr;gap:18px;display:grid}.view-story figure{background:#eee;border-radius:22px;min-height:330px;margin:0;position:relative;overflow:hidden}.view-story .view-large{grid-row:span 2;min-height:680px}.view-story img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.view-story figcaption{color:#fff;background:linear-gradient(#0000,#000000a6);padding:32px;position:absolute;bottom:0;left:0;right:0}.view-story figcaption span{letter-spacing:.15em;margin-bottom:8px;font-size:.68rem;font-weight:700;display:block}.view-story figcaption strong{font-family:Playfair Display,serif;font-size:1.55rem;line-height:1.15}.pool-feature{border-top:1px solid var(--line);grid-template-columns:.8fr 1.2fr;align-items:center;gap:5vw;margin-top:80px;padding-top:60px;display:grid}.pool-copy p:last-child{color:#5d665f;font-size:1.08rem;line-height:1.7}.pool-images{grid-template-columns:1.3fr .7fr;gap:16px;display:grid}.pool-images img{object-fit:cover;border-radius:20px;height:420px}.pool-images img:last-child{align-self:end;height:340px}@media (max-width:950px){.views-intro,.pool-feature,.view-story{grid-template-columns:1fr}.view-story .view-large{grid-row:auto;min-height:480px}.view-story figure{min-height:380px}.pool-images{grid-template-columns:1fr 1fr}}@media (max-width:620px){.pool-images{grid-template-columns:1fr}.pool-images img,.pool-images img:last-child{height:320px}.view-story .view-large,.view-story figure{min-height:360px}}
