:root{--primary:#28526A;--accent:#F3CB7B}*{box-sizing:border-box}
body{margin:0;color:#183345;background:#f3f4ef;font:17px/1.62 "Instrument Sans",system-ui,sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:var(--primary);text-underline-offset:.2em}
a:focus-visible,button:focus-visible{outline:3px solid #8c480b;outline-offset:4px}
.wrap{width:min(1110px,calc(100% - 32px));margin-inline:auto}
header{background:#fffdf6;border-bottom:1px solid #d5dcd9}
.mast,nav{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem}
.mast{justify-content:space-between;padding-block:.8rem}
nav{font-weight:650}
.skip{position:absolute;left:1rem;top:-10rem;background:white;padding:.5rem}.skip:focus{top:.5rem}
h1,h2,h3{font-family:"DM Serif Text",Georgia,serif;line-height:1.14;font-weight:500}
.hero{background:var(--primary);color:#fffdf6;padding:clamp(2rem,6vw,4.7rem) 0;border-bottom:5px solid var(--accent)}
.hero h1{font-size:clamp(2.4rem,7vw,5rem);max-width:15ch;margin:.2em 0}
.hero p{max-width:60ch}
.eyebrow{font-weight:750}.hero .eyebrow{color:var(--accent)}
.map{background:#fffdf6;padding:1.3rem;margin:1.5rem auto;border:1px solid #c9d6d7;border-radius:1.2rem}
.map-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}
.map-controls button{font:inherit;font-weight:650;cursor:pointer;border:1px solid #869ca5;background:#fffdf6;border-radius:1.4rem;padding:.35rem .8rem}
.map-controls button[aria-pressed=true]{background:var(--primary);color:white}
.map-controls button:disabled{opacity:.5;cursor:default}
.map-view{overflow:auto;overscroll-behavior:contain;border-radius:.6rem;background:#dae8eb;max-height:720px}
.map-canvas{position:relative;min-width:320px;aspect-ratio:3/2}
.map-canvas>img{width:100%;height:100%}
.pin{position:absolute;transform:translate(-50%,-50%);font-size:clamp(.62rem,1.55vw,.95rem);line-height:1.18;color:#183345;padding:.15rem .32rem;border:1px solid #526a74;border-radius:.27rem;background:#fffdf6;text-decoration:none;max-width:20ch;text-align:center;font-weight:700}
.pin[data-kind=boat]{background:var(--accent);border-color:#956928}
.pin[data-kind=region]{background:var(--primary);color:white}
.pin[data-kind=lodging]{border-radius:999px;background:#fffdf6}
.cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.cards a{display:block;height:100%;background:white;border-radius:.8rem;overflow:hidden;border:1px solid #d2dcd8;text-decoration:none;color:inherit}
.cards a:hover{border-color:var(--primary);background:#fdf6e7}
.cards img{width:100%;aspect-ratio:16/9;object-fit:cover}.cards div{padding:1rem}.cards h3,.cards p{margin:.32rem 0}
.article,.support{max-width:830px;padding-block:2rem}.article h1,.support h1{font-size:clamp(2rem,6vw,3.8rem);margin:.2em 0}
.location{background:#e6eef0;border-left:5px solid var(--accent);padding:.8rem 1.2rem;margin:1.5rem 0}
.location dt{font-weight:750}.location dd{margin:0 0 .45rem}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
figure{margin:0}figcaption{font-size:.86rem;overflow-wrap:anywhere;padding:.25rem 0}
.cta{display:inline-block;background:var(--primary);color:white;border-radius:.4rem;padding:.6em 1em;font-weight:750}
footer{background:#dee9eb;padding:1.5rem 0;margin-top:2rem}address{font-style:normal;overflow-wrap:anywhere}
@media(max-width:850px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cards,.gallery{grid-template-columns:1fr}.map{padding:.7rem}}
