@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@500&display=swap";:root{--paper:#6c93c0;--ink:#fff;--muted:#ffffffdb;--accent:#d9e8f6;--blue-dark:#31577f;--surface:#f7fafc;--content-width:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}.site-header,main,footer{background:var(--paper)}.site-header{max-width:var(--content-width);border-bottom:1px solid #ffffff47;justify-content:space-between;align-items:center;margin:auto;padding:25px 30px;display:flex}.brand{color:#fff;letter-spacing:-.04em;text-shadow:2px 2px 0 var(--blue-dark);font-family:Trebuchet MS,sans-serif;font-size:25px;font-weight:800}.site-header nav{align-items:center;gap:25px;font-size:13px;display:flex}.site-header nav a{color:#ffffffe6}.section{max-width:var(--content-width);margin:auto;padding:85px 30px}.eyebrow{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;margin:0 0 17px;font-size:11px;font-weight:800}.photos{padding-top:75px;padding-bottom:95px}.section-title{justify-content:space-between;align-items:center;gap:45px;margin-bottom:45px;display:flex}.section-title>div:first-child{min-width:0}.section-title h1,.availability h2{color:#fff;letter-spacing:-.075em;text-shadow:3px 3px 0 var(--blue-dark);margin:0;font-family:Trebuchet MS,sans-serif;font-size:clamp(58px,8vw,104px);font-weight:800;line-height:.84}.section-title h1 em{color:#fff;font-style:normal}.section-title>div:first-child>p:not(.eyebrow){color:var(--muted);max-width:460px;margin:18px 0 0;font-size:14px}.section-title>div:nth-child(2)>p{margin:0}.location-link{color:#fff;background:#d9e8f633;border:1px solid #ffffffa6;border-radius:999px;align-items:center;gap:9px;padding:10px 14px 10px 12px;transition:background .2s,transform .2s;display:inline-flex;box-shadow:0 5px #31577f2e}.location-link:hover{background:#d9e8f65c;transform:translateY(-2px)}.location-link svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:19px;height:19px}.location-link circle{fill:currentColor;stroke:none}.location-link span{font-weight:700}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:26px 22px;display:grid}.photo{--tilt:0deg;aspect-ratio:4/5;transform:rotate(var(--tilt));background:#fff;border:0;border-radius:1px;grid-area:auto;width:100%;margin:0;padding:10px 10px 48px;transition:box-shadow .25s,transform .25s;position:relative;overflow:visible;box-shadow:0 10px 18px #233b5438,0 2px 4px #233b5429}.photo img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.photo figcaption{color:var(--blue-dark);text-align:center;width:calc(100% - 20px);font-family:Playfair Display,serif;font-size:11px;font-weight:500;line-height:1.15;position:absolute;bottom:13px;left:10px}.photo-1{--tilt:-2deg}.photo-2{--tilt:.9deg}.photo-3{--tilt:-1deg}.photo-4{--tilt:1.8deg}.photo-5{--tilt:-.7deg}.photo-6{--tilt:1.2deg;aspect-ratio:16/10;grid-area:2/2/auto/span 2;justify-self:center}.photo-7{--tilt:-1.6deg}.photo-8{--tilt:.6deg}.photo-9{--tilt:-1.4deg}.photo-10{--tilt:.8deg}.photo-11{--tilt:-.6deg}.photo:hover{transform:translateY(-6px) rotate(var(--tilt));z-index:1;box-shadow:0 16px 24px #233b5447,0 3px 6px #233b542e}.packages{border-top:1px solid #ffffff40;padding-top:45px;padding-bottom:105px}.packages-heading{text-align:center;max-width:560px;margin:0 auto 38px}.packages-heading .eyebrow{margin-bottom:10px}.packages-heading h2{color:#fff;letter-spacing:-.06em;margin:0;font-size:clamp(48px,6vw,76px);line-height:.9}.packages-heading>p:last-child,.section-heading p{color:var(--muted);margin:16px 0 0}.stay-section,.events-section{background:#31577f38;border:1px solid #ffffff80;border-radius:30px;margin-top:48px;padding:34px}.stay-section{margin-top:0}.stay-heading,.package-type-heading{color:#fff;text-align:center}.stay-heading>span,.package-type-heading span{color:#fff;letter-spacing:.12em;text-transform:uppercase;font-size:14px;font-weight:800}.stay-heading h3,.package-type-heading h3{letter-spacing:-.055em;margin:7px 0 10px;font-size:clamp(34px,4vw,52px);line-height:.95}.stay-heading p,.package-type-heading p{color:var(--muted);margin:0}.stay-rates,.package-grid{gap:18px;display:grid}.stay-rates{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;margin:28px auto 20px}.package-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px}.stay-rate,.package-card{color:var(--blue-dark);text-align:center;background:#d9e8f6e6;border:4px solid #ffffffbf;border-radius:22px 36px;flex-direction:column;align-items:center;display:flex;box-shadow:0 7px #31577f33}.stay-rate{padding:20px}.package-card{min-height:310px;padding:22px}.stay-rate-weekend,.package-2{border-radius:36px 22px;transform:rotate(.6deg)}.package-3{transform:rotate(-.5deg)}.stay-rate p{text-transform:uppercase;margin:0 0 7px;font-size:14px;font-weight:800}.stay-rate strong,.package-price strong{letter-spacing:-.08em;font-size:clamp(36px,5vw,54px);line-height:.9}.stay-rate span,.package-price span{margin-top:8px;font-size:13px;font-weight:700}.stay-note{color:#fff;text-align:center;margin:0;font-size:14px}.package-card h3{letter-spacing:-.04em;text-transform:uppercase;margin:0 0 12px;font-size:26px}.package-price{flex-direction:column;align-items:center;margin:0 0 14px;display:flex}.package-price span{margin-top:4px;font-weight:800}.package-card ul{text-align:left;align-self:stretch;margin:0;padding-left:18px;font-size:14px;line-height:1.35}.package-card li+li{margin-top:5px}.availability{background:var(--paper);max-width:none;padding:90px max(30px, calc((100vw - var(--content-width)) / 2 + 30px)) 95px;grid-template-columns:.72fr 1.28fr;gap:70px;display:grid;position:relative}.availability:before{content:"";height:1px;max-width:var(--content-width);background:#ffffff40;width:calc(100% - 60px);position:absolute;top:0;left:50%;transform:translate(-50%)}.availability h2{font-size:clamp(48px,6vw,82px)}.calendar-card{color:var(--blue-dark);background:#f7fafcf5;border-radius:22px;padding:30px 34px;box-shadow:0 12px 30px #31577f2e}.calendar-toolbar{border-bottom:1px solid #31577f2e;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:18px;display:flex}.calendar-toolbar strong{font-family:Playfair Display,serif;font-size:27px;font-weight:500}.calendar-toolbar button{color:var(--blue-dark);cursor:pointer;background:0 0;border:0;padding:3px 10px;font-size:25px}.weekdays,.calendar-days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.weekdays{color:#6c8094;margin-bottom:14px;font-size:12px}.calendar-days{gap:8px}.calendar-days>span{border-radius:50%;justify-content:center;justify-self:center;align-items:center;width:38px;height:38px;font-size:13px;display:flex}.calendar-days>span.occupied{background:var(--blue-dark);color:#fff}.calendar-days>span.today{border:1px solid var(--blue-dark)}.calendar-legend{border-top:1px solid #31577f29;justify-content:center;align-items:center;gap:22px;margin-top:26px;padding-top:18px;display:flex}.calendar-legend span{color:#6c8094;align-items:center;gap:7px;font-size:15px;display:flex}.calendar-legend i{border-radius:50%;width:15px;height:15px;display:inline-block}.calendar-legend .free{background:var(--surface);border:1px solid #b9c8d5}.calendar-legend .busy{background:var(--blue-dark)}.calendar-status{color:#6c8094;text-align:center;margin:26px 0 0;font-size:11px}.calendar-status[hidden]{display:none}.last-word{justify-content:center;align-items:center;gap:22px;padding-top:45px;padding-bottom:45px;display:flex}.last-word p{color:#fff;margin:0;font-size:15px}.button{color:var(--blue-dark);background:#fff;border-radius:18px;gap:20px;padding:14px 18px;font-size:13px;font-weight:700;display:inline-flex}footer{max-width:var(--content-width);border-top:1px solid #ffffff59;justify-content:center;align-items:center;margin:auto;padding:28px 30px;display:flex}footer strong{color:#fff;font-family:Playfair Display,serif;font-size:16px;font-weight:500}footer a,footer span{display:none}@media (width<=700px){.site-header{padding:20px}.brand{font-size:22px}.site-header nav{display:none}.section{padding:65px 20px}.photos{padding-top:70px;padding-bottom:70px}.section-title{margin-bottom:34px;display:block}.section-title h1{font-size:clamp(53px,16vw,78px)}.section-title>div:nth-child(2){padding-top:10px}.location-link{padding:9px 12px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.photo{padding:7px 7px 38px}.photo figcaption{width:calc(100% - 14px);font-size:9px;bottom:9px;left:7px}.photo-6{grid-area:auto/1/auto/-1}.packages{padding-top:20px;padding-bottom:75px}.stay-section,.events-section{margin-top:42px;padding:28px 18px}.stay-section{margin-top:0}.stay-rates,.package-grid{grid-template-columns:1fr}.package-grid{gap:30px}.package-card{min-height:0;padding:22px}.availability{padding:70px 20px 65px;display:block}.availability:before{width:calc(100% - 40px)}.calendar-card{margin-top:35px;padding:22px 14px}.calendar-days{gap:3px}.calendar-days>span{width:34px;height:34px}.last-word{align-items:start;padding:65px 20px;display:block}.last-word p{margin-bottom:20px}footer{padding:25px 20px}}
