:root{--red:#e63a2e;--red-dark:#b82a20;--river:#3552c9;--green:#0a8a4a;--ink:#2b2b2b;--muted:#6a665e;--paper:#f8f5ee;--cream:#efe9db;--line:#dcd5c5;--gutter:clamp(1.2rem,5vw,5rem);--max:1360px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Alegreya Sans","Gill Sans","Segoe UI",Arial,sans-serif;font-size:1.06rem;line-height:1.6}
a{color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}
h1,h2,h3,p,figure,dl,dd,blockquote,address{margin:0}
h1,h2,h3,.voices p,.intro p:not(.index){font-family:Alegreya,Georgia,"Times New Roman",serif}
h1{font-weight:800;font-size:clamp(2.8rem,6.4vw,5.6rem);line-height:1;letter-spacing:-.02em}h1 em{font-style:italic;font-weight:500;color:var(--red)}
h2{font-weight:700;font-size:clamp(1.9rem,3.8vw,3.1rem);line-height:1.1;letter-spacing:-.01em}h3{font-weight:700;font-size:1.3rem}
.skip{position:fixed;left:1rem;top:1rem;z-index:200;transform:translateY(-200%);background:#fff;padding:.7rem 1rem}.skip:focus{transform:none}
.index,.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:.9rem}
.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.4rem;border:2px solid transparent;border-radius:999px;text-decoration:none;font-weight:700;font-size:.95rem;transition:.18s ease}.button:hover{transform:translateY(-2px)}
.red{background:var(--red);color:#fff}.red:hover{background:var(--red-dark)}.line{border-color:currentColor}.line:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.hero .line{color:#fff}.hero .line:hover{background:#fff;color:var(--ink);border-color:#fff}
.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.8rem}
.nav{position:sticky;top:0;z-index:100;min-height:84px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:.6rem var(--gutter);background:rgba(248,245,238,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.brand img{width:200px;height:auto;object-fit:contain}
.nav nav{display:flex;justify-content:center;gap:1.6rem}.nav nav a{font-weight:700;text-decoration:none;font-size:.95rem}.nav nav a:hover{color:var(--red)}
.nav-actions{display:flex;align-items:center;gap:1.2rem}.nav-actions .text{font-weight:700;text-decoration:none}.nav-actions .book{padding:.7rem 1.3rem;border-radius:999px;background:var(--red);color:#fff;font-weight:700;text-decoration:none}
.hero{position:relative;min-height:min(86vh,800px);display:flex;align-items:flex-end;color:#fff;isolation:isolate}
.hero figure{position:absolute;inset:0;z-index:-1}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,20,40,.1) 30%,rgba(10,20,40,.78))}
.hero-copy{width:min(100%,var(--max));margin:0 auto;padding:clamp(4rem,10vw,8rem) var(--gutter) clamp(3rem,6vw,5rem)}.hero .eyebrow{color:#fff;opacity:.9}.hero .lede{max-width:38rem;margin-top:1.3rem;font-size:clamp(1.1rem,1.6vw,1.35rem)}
.intro{max-width:52rem;margin:0 auto;padding:clamp(4rem,8vw,7rem) var(--gutter) clamp(3rem,6vw,5rem);text-align:center}
.intro p:not(.index){margin-top:1.5rem;font-size:1.15rem;line-height:1.7;color:#3d3a34}
.mosaic{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:260px;gap:.6rem;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.mosaic .a{grid-column:span 3;grid-row:span 2}.mosaic .b{grid-column:span 3}.mosaic .c{grid-column:span 2}.mosaic .d{grid-column:span 1}.mosaic .e{grid-column:span 6;grid-row:span 1}
.rates{max-width:var(--max);margin:0 auto;padding:clamp(4rem,8vw,7rem) var(--gutter)}
.rates header{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:end;margin-bottom:2rem}.rates header p:last-child{color:var(--muted)}
.table-wrap{overflow-x:auto;border-top:3px solid var(--ink)}table{width:100%;border-collapse:collapse;font-size:1rem}th,td{padding:1rem .8rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}thead th{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}tbody th{font-family:Alegreya,serif;font-size:1.2rem;font-weight:700}td{font-weight:700;font-size:1.15rem;white-space:nowrap}td small{display:block;font-size:.72rem;font-weight:400;color:var(--muted);white-space:nowrap}.season td{color:var(--red)}
.store{margin-top:2rem;padding:1.6rem 2rem;border-left:6px solid var(--green);background:#fff}.store p{margin-top:.5rem;color:var(--muted)}
.land{display:grid;grid-template-columns:1fr 1fr;max-width:var(--max);margin:0 auto;background:var(--river);color:#fff}
.land figure{min-height:600px}.land>div{padding:clamp(3rem,7vw,6rem) var(--gutter)}.land .index{color:#fff;opacity:.85}.land p:not(.index){margin-top:1.2rem;color:rgba(255,255,255,.9)}
.land .note{margin-top:2rem;padding:1.2rem 1.4rem;border-left:4px solid #fff;background:rgba(255,255,255,.1);font-family:Alegreya,serif;font-style:italic;font-size:1.1rem}
.map{max-width:var(--max);margin:0 auto;padding:clamp(4rem,8vw,7rem) var(--gutter)}.map header{margin-bottom:2rem}
.map-frame{position:relative;display:block;padding:clamp(.5rem,1vw,1rem);border:1px solid var(--line);background:#fff}.map-frame img{height:auto;object-fit:contain}.map-frame span{position:absolute;right:1.5rem;bottom:1.5rem;padding:.6rem 1rem;border-radius:999px;background:var(--red);color:#fff;font-size:.85rem;font-weight:700}
.respect{max-width:var(--max);margin:0 auto;padding:0 var(--gutter) clamp(4rem,8vw,7rem)}.respect header{margin-bottom:2rem}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem)}.cols dl{border-top:2px solid var(--ink)}.cols dl div{padding:.9rem 0;border-bottom:1px solid var(--line)}.cols dt{font-weight:700}.cols dd{margin-top:.15rem;color:var(--muted);font-size:.97rem}
.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:var(--max);margin:0 auto;background:var(--line)}
.voices blockquote{padding:2.5rem var(--gutter);background:var(--cream)}.voices p{font-size:1.25rem;font-style:italic;line-height:1.45}.voices cite{display:block;margin-top:1.2rem;font-style:normal;font-weight:700;font-size:.85rem;color:var(--red)}
.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem);max-width:var(--max);margin:0 auto;padding:clamp(4rem,8vw,7rem) var(--gutter)}
.faq-copy>p:not(.index){margin-top:1.2rem;color:var(--muted)}.faq-copy figure{margin-top:2rem;aspect-ratio:4/3}
.faq-list{border-top:2px solid var(--ink)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:1.1rem 0;font-family:Alegreya,serif;font-weight:700;font-size:1.25rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}summary::-webkit-details-marker{display:none}summary::after{content:"+";color:var(--red);font-weight:400;font-size:1.5rem;line-height:1}details[open] summary::after{content:"–"}details p{padding:0 0 1.3rem;color:#3d3a34}
.find{display:grid;grid-template-columns:1fr 1fr;max-width:var(--max);margin:0 auto;background:var(--ink);color:#fff}
.find>div{padding:clamp(3rem,7vw,6rem) var(--gutter)}.find .index{color:#f7b1aa}.find address{margin-top:.5rem;font-style:normal;font-weight:700;font-size:1.2rem}.find p:not(.index){margin-top:1.2rem;color:rgba(255,255,255,.8)}.find .line{color:#fff}.find figure{min-height:520px}
footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;max-width:var(--max);margin:0 auto;padding:2rem var(--gutter);font-size:.9rem}footer img{width:150px;height:auto;object-fit:contain}footer p{text-align:center;color:var(--muted)}footer>div{justify-self:end;display:flex;gap:1.2rem}footer>div a{font-weight:700;text-decoration:none}
@media(max-width:980px){.nav{grid-template-columns:auto 1fr;gap:1rem}.nav nav{display:none}.brand img{width:160px}.mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:240px}.mosaic .a,.mosaic .b,.mosaic .c,.mosaic .d,.mosaic .e{grid-column:span 1;grid-row:span 1}.mosaic .a,.mosaic .e{grid-column:span 2}.rates header{grid-template-columns:1fr}.land,.find{grid-template-columns:1fr}.land figure,.find figure{min-height:400px}.voices{grid-template-columns:1fr}.faq{grid-template-columns:1fr}.cols{grid-template-columns:1fr}}
@media(max-width:640px){h1{font-size:2.8rem}h2{font-size:1.9rem}.nav{min-height:70px;padding:.5rem 1rem}.brand img{width:130px}.nav-actions .text{display:none}.nav-actions .book{padding:.6rem 1rem;font-size:.9rem}.hero{min-height:600px}.hero-copy{padding:4rem 1.2rem 3rem}.intro,.rates,.map,.faq{padding-left:1.2rem;padding-right:1.2rem}.mosaic{padding:0 1.2rem;grid-auto-rows:200px}.land>div,.find>div{padding:3.5rem 1.2rem}.respect{padding:0 1.2rem 3.5rem}.voices blockquote{padding:2rem 1.2rem}.map-frame span{right:1rem;bottom:1rem}td{font-size:1rem}footer{grid-template-columns:1fr;justify-items:start}footer p{text-align:left}footer>div{justify-self:start}}

/* September review: arrival, public visits and accessible interaction. */
:focus-visible{outline:3px solid var(--river);outline-offset:5px}
.hero :focus-visible,.commons :focus-visible,.find :focus-visible{outline-color:#fff}
.arrival{max-width:var(--max);margin:0 auto;padding:1.2rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line);background:var(--cream)}
.arrival p{font-size:1rem}.arrival strong{font-weight:700}.arrival a{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;font-weight:700;white-space:nowrap;text-underline-offset:4px}
.commons{max-width:var(--max);margin:clamp(4rem,8vw,7rem) auto 0;background:#205a3e;color:#fff;display:grid;grid-template-columns:1.1fr .9fr}
.commons-copy{padding:clamp(3rem,6vw,5rem) var(--gutter)}.commons .index{color:#c8e7cb}.commons h2{font-size:clamp(2rem,3.9vw,3.5rem)}.commons p:not(.index){margin-top:1.3rem;color:#eef4ed}.commons .commons-lede{font-family:Alegreya,Georgia,serif;font-size:1.5rem;line-height:1.4}.commons .button{margin-top:1.8rem}.commons .button:hover{background:#fff;color:#205a3e;border-color:#fff}.commons figure{min-width:0;min-height:450px}.commons figure img{object-position:center}
.visit-info{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;padding:2.5rem var(--gutter);border-top:1px solid #ffffff40;background:#173f2f;scroll-margin-top:100px}.visit-info h3{font-size:1.35rem}.visit-info p:not(.index){margin-top:.6rem;font-size:1rem}
.nav nav{gap:1.2rem}.nav nav a,.nav-actions .text{min-height:44px;display:inline-flex;align-items:center}.nav-actions .book{min-height:44px;display:inline-flex;align-items:center}.nav-actions{justify-content:flex-end}
@media(max-width:1100px){.nav{gap:1rem}.nav nav{gap:.8rem}.nav nav a{font-size:.85rem}.brand img{width:170px}.nav-actions{gap:.8rem}}
@media(max-width:980px){.commons{grid-template-columns:1fr 1fr}.commons-copy{padding:3rem 2rem}.visit-info{gap:1.5rem;padding:2rem}.commons figure{min-height:400px}}
@media(max-width:640px){.arrival{display:block;padding:1.2rem}.arrival a{margin-top:.45rem}.commons{grid-template-columns:1fr}.commons-copy{padding:3rem 1.2rem}.commons figure{height:310px;min-height:0}.visit-info{grid-template-columns:1fr;padding:2rem 1.2rem;gap:1.8rem}.commons h2 br{display:none}.nav .brand img{width:130px}.table-wrap{margin-top:1.5rem}table{min-width:470px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

.rates header{gap:1rem clamp(2rem,5vw,5rem)}.rates header .index{grid-column:1/-1;margin-bottom:0}

html{scroll-padding-top:112px}
@media(max-width:640px){html{scroll-padding-top:84px}}

/* Keep the existing photo treatment legible over bright water. */
:root{--red:#cd3328}
.hero figure{z-index:-2}.hero::before{background:linear-gradient(180deg,rgba(10,20,30,.08) 20%,rgba(10,20,30,.82) 100%)}
@media(max-width:640px){.nav-actions .text{display:none}.hero::before{background:linear-gradient(180deg,rgba(10,20,30,.04) 15%,rgba(10,20,30,.78) 100%)}}

/* Call review: seasonal stays, the public walk and clear ways to visit. */
.seasonal{max-width:var(--max);margin:0 auto;padding:clamp(3rem,6vw,5rem) var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);background:#eee7d6;border-bottom:1px solid var(--line)}
.seasonal h2{font-size:clamp(2.2rem,4.4vw,3.7rem)}.seasonal-copy>p{max-width:34rem}.seasonal-copy>p+p{margin-top:1rem;color:#514e45}.seasonal .button{margin-top:1.5rem;gap:1rem}.seasonal-short{display:block;width:fit-content;margin-top:.7rem;min-height:44px;align-content:center;font-weight:700;text-underline-offset:4px}
.store{padding:1.6rem 2rem}.store p{max-width:66rem}.commons{grid-template-columns:1.15fr .85fr}.commons h2{font-size:clamp(2.4rem,4.5vw,4rem)}.commons .commons-lede{font-size:1.5rem}.commons .actions{align-items:center;gap:1.2rem}.commons .button{margin:0;gap:1rem}.commons .light{background:#f3efde;color:#173f2f}.commons .light:hover{background:#fff;color:#173f2f}.walk-visit{min-height:44px;display:inline-flex;align-items:center;font-weight:700;text-underline-offset:4px}.commons figure img{object-position:60% center}
.elements{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding:2rem var(--gutter);border-top:1px solid #ffffff40}.elements>div{position:relative;padding-left:2.4rem}.elements span{position:absolute;left:0;top:.15rem;color:#bdd3be;font-size:.75rem;font-weight:700;letter-spacing:.08em}.elements h3{font-size:1.6rem}.elements p:not(.index){margin-top:.3rem;font-size:1rem;line-height:1.5}
.mobile-menu{display:none}.nav nav a{white-space:nowrap}.nav-actions .text{white-space:nowrap}.nav-actions .book{white-space:nowrap}.hero .actions .line{color:white}.arrival strong{display:block}.arrival p{line-height:1.5}
@media(max-width:1100px){.nav{gap:.8rem}.nav nav{gap:.8rem}.nav nav a{font-size:.85rem}.brand img{width:150px}.nav-actions{gap:.7rem}}
@media(max-width:980px){.nav{grid-template-columns:auto 1fr auto}.nav>nav{display:none}.mobile-menu{display:block;border:0}.mobile-menu summary{font:700 .95rem/1.2 "Alegreya Sans",sans-serif;min-height:44px;min-width:44px;padding:.6rem;align-items:center}.mobile-menu summary::after{display:none}.mobile-menu nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:.6rem var(--gutter) 1rem;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 18px #2b2b2b12}.mobile-menu nav a{min-height:44px;padding:.35rem 0;font-size:1.05rem;border-bottom:1px solid var(--line)}.seasonal{gap:2rem}.commons{grid-template-columns:1fr 1fr}.elements{grid-template-columns:1fr 1fr}.commons-copy{padding:3rem 2rem}.nav-actions .text{display:inline-flex}}
@media(max-width:640px){.nav{gap:.35rem;padding:.5rem .8rem;min-height:70px}.nav .brand img{width:108px}.nav-actions{gap:.6rem}.nav-actions .text{display:inline-flex;font-size:.9rem}.nav-actions .book{padding:.6rem .8rem;font-size:.9rem}.mobile-menu summary{font-size:.85rem;padding:.3rem}.seasonal{grid-template-columns:1fr;padding:2.8rem 1.2rem;gap:1.3rem}.seasonal h2 br{display:none}.seasonal h2{font-size:2.3rem}.seasonal .button{width:100%}.seasonal-short{margin-left:auto;margin-right:auto;text-align:center}.commons{grid-template-columns:1fr}.commons-copy{padding:3rem 1.2rem}.commons h2{font-size:2.7rem}.commons h2 br{display:none}.commons figure{height:350px}.commons figure img{object-position:center}.elements{padding:2rem 1.2rem;gap:1.7rem 1.2rem}.elements>div{padding-left:0}.elements span{position:static;display:block;margin-bottom:.25rem}.elements h3{font-size:1.5rem}.store{padding:1.4rem 1.2rem}.commons .actions{display:block}.commons .actions .button{width:100%}.walk-visit{margin-top:.7rem}.arrival a{margin-top:.5rem}}

.hero-support{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;margin-top:.6rem;color:#fff;font-weight:700;text-underline-offset:4px}.commons .giving-note{font-size:.9rem;margin-top:.8rem;color:#d6e5d5}.hero-support:focus-visible{outline-color:#fff}

/* Visible seasonal reservation rates, with deadlines readable at every width. */
.seasonal-offer{grid-column:1/-1;border-top:1px solid #c6beab;padding-top:2rem}.seasonal-offer-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.seasonal-offer-heading h3{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.2}.seasonal-offer-heading>p{color:#514e45;font-weight:700}.seasonal-tiers{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #c6beab}.seasonal-tiers>li{padding:1.5rem clamp(1rem,2vw,2rem);background:var(--paper)}.seasonal-tiers>li+li{border-left:1px solid #c6beab}.seasonal-tiers .tier-first{background:#205a3e;color:#fff}.tier-label{font-size:.9rem;font-weight:700}.tier-price{font-family:Alegreya,Georgia,serif;font-weight:800;font-size:clamp(2.5rem,4vw,3.8rem);line-height:1.15;margin-top:.7rem}.tier-price span{display:block;font:400 1rem/1.5 "Alegreya Sans",sans-serif;margin-top:.2rem}.tier-deadline{font-size:1.05rem;line-height:1.5;margin-top:1.2rem}.tier-deadline strong{display:block}.tier-saving{margin-top:.65rem;font-size:.95rem}.tier-terms{margin-top:1rem;font-size:.95rem;color:#514e45;max-width:62rem}
@media(max-width:640px){.seasonal-offer{padding-top:1.5rem}.seasonal-offer-heading{display:block}.seasonal-offer-heading>p{margin-top:.5rem}.seasonal-tiers{grid-template-columns:1fr}.seasonal-tiers>li{padding:1.5rem}.seasonal-tiers>li+li{border-left:0;border-top:1px solid #c6beab}.tier-price{font-size:3.3rem}.tier-deadline{margin-top:.9rem}.seasonal-offer-heading h3{font-size:1.8rem}}

/* Owner-confirmed simplified rates, October 3, 2026. */
.rate-terms{margin-top:1.1rem;max-width:60rem;font-size:1.05rem}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:640px){.rates th,.rates td{padding:.85rem .5rem}.rates tbody th{font-size:1.08rem}.rates td{font-size:1.05rem}.rates thead th{font-size:.7rem;letter-spacing:.04em}.table-wrap:focus-visible{outline:2px solid var(--red);outline-offset:4px}}

@media(max-width:640px){.rates table{table-layout:fixed;min-width:0}.rates th,.rates td{padding:.85rem .2rem}.rates thead th{font-size:.65rem;letter-spacing:0}.rates tbody th,.rates td{font-size:1rem}.rates th:first-child{width:15%}.rates th:last-child{width:24%}}
