*{box-sizing:border-box}
html{background:#e3e181;color:#000;font-family:"neue-haas-grotesk-text";font-weight:400;font-style:normal;font-synthesis:none;letter-spacing:.01em}
body{margin:0;min-height:100svh}
main{width:100%;margin:0 auto;padding:3.75vw 5.05vw 4.5vw;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));font-size:clamp(20px,1.415vw,32px);line-height:1.25}
main>*{min-width:0}
header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.65vw;font-size:clamp(32px,2.83vw,64px);line-height:1.1}
h1,p,h2{margin:0}h1{font-size:inherit;font-weight:400}header p{font-size:inherit;font-weight:400;line-height:inherit;white-space:nowrap}
.photo{display:block;width:100%;overflow:hidden;border:1px solid #282822}
.desktop-photos{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:minmax(0,1fr);grid-column:1/-1;aspect-ratio:3103/1062;box-sizing:border-box;width:100%;height:auto}
.desktop-photos img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover}
.desktop-photos img+img{border-left:1px solid #282822}
.desktop-photos .mirror{object-position:35% center}
.mobile-lake,.mobile-couple{display:none;object-fit:cover}
.mobile-lake{object-position:center bottom}
h2{font-size:.82em;line-height:1.3;font-weight:700;text-transform:uppercase;margin-bottom:4px}
.details{grid-column:1/-1;margin-top:2.8vw}
.accommodations{grid-column:1;max-width:620px;margin-top:2.9vw}
.details,.accommodations,footer{border:1px solid #282822}
.details,.accommodations{padding:16px;align-self:start}
footer{padding:8px 12px}
.hotel{margin-top:24px}
.hotel h3{margin:0;font-size:inherit;font-weight:700}
.hotel p{margin-top:8px}
.hotel-notes{margin-top:24px}
a{color:#008aff;text-decoration:underline;text-underline-offset:.075em;overflow-wrap:anywhere}
a:focus-visible{outline:2px solid #000;outline-offset:4px}
footer{grid-column:2;align-self:end;justify-self:end;max-width:100%;text-align:right;white-space:normal}
footer svg{width:.7em;height:.7em;vertical-align:.025em}
@media(min-width:2200px){.accommodations{max-width:36vw}}
/* Arrange desktop information below the full-height photo strip. */
@media(min-width:701px){
 main{width:100%;max-width:100%;padding:clamp(24px,4.2svh,40px) 4.65% 32px;grid-template-columns:minmax(0,.85fr) minmax(0,2.1fr) minmax(0,calc(25% - 17.5px));column-gap:18px;align-content:start;font-size:clamp(16px,1.333vw,20px);line-height:1.25}
 header{font-size:clamp(28px,2.8vw,42px);margin-bottom:10px;flex-wrap:wrap}
 .desktop-photos{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);height:auto;aspect-ratio:3103/1062}
 .details{grid-column:1;grid-row:3;margin-top:20px}
 .accommodations{grid-column:2;grid-row:3;max-width:none;margin-top:20px}
 footer{grid-column:3;grid-row:3;align-self:start;justify-self:stretch;width:100%;margin-top:20px;text-align:left}
}
@media(min-width:701px) and (max-width:1100px){
 main{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);column-gap:24px}
 footer{grid-column:1/-1;grid-row:4;margin-top:20px}
}
@media(max-width:700px){
 body{border:0}
 main{display:flex;flex-direction:column;padding:23px 18px;font-size:20px;line-height:1.25}
 header{display:block;font-size:28px;line-height:1.2;margin-bottom:12px}
 .desktop-photos{display:none}
 .mobile-lake,.mobile-couple{display:block;height:auto}
 .mobile-lake{aspect-ratio:355/162}
 .details{margin-top:18px}
 h2{font-size:16px;line-height:1.3;margin-bottom:4px}
 .mobile-couple{margin-top:20px;aspect-ratio:357/201}
 .accommodations{margin-top:20px;max-width:none}
 footer{align-self:flex-start;text-align:left;white-space:normal;margin-top:21px;font-size:inherit;line-height:inherit}
}

.closing-photo{grid-column:1/-1;grid-row:5;width:100%;height:auto;aspect-ratio:12/5;object-fit:cover;object-position:center 65%;margin-top:24px}
