:root{font:17px/1.55 system-ui,sans-serif;color:#23392e;background:#f7f5ee}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1120px;margin:auto;padding:1.6rem}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ced3c8;gap:2rem}.wordmark{font-size:1.6rem;font-weight:750;letter-spacing:-.06em;text-decoration:none}.wordmark span{display:block;font-size:.75rem;font-weight:400;letter-spacing:0}nav{display:flex;flex-wrap:wrap;gap:1.5rem}a{color:inherit}h1{font-family:Georgia,serif;font-size:clamp(2.5rem,7vw,5.5rem);font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:1rem 0 1.5rem}h2{font-family:Georgia,serif;font-size:2rem;font-weight:400;line-height:1.2}h3{font-size:1.2rem}.hero{padding:2rem 0 4rem;max-width:750px}.hero p:not(.eyebrow){font-size:1.2rem;max-width:620px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.button,button{display:inline-block;background:#294e38;color:white;padding:.8rem 1.3rem;border:0;border-radius:4px;text-decoration:none;font:inherit;cursor:pointer}.hours{display:block;font-size:.85rem;margin-top:1.3rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.cards article{background:#eaece1;padding:1.5rem;border-top:2px solid #8b9f83}.room-letter{display:block;font:4rem Georgia,serif;color:#718363}section{margin-bottom:3rem}.note{padding:2rem;background:#ece7da;margin-top:3rem}footer{display:flex;flex-wrap:wrap;gap:1.5rem;border-top:1px solid #ced3c8;font-size:.85rem}footer small{flex-basis:100%}form{max-width:630px}label{display:block;margin:.9rem 0 .35rem}input,select,textarea{font:inherit;padding:.6rem;max-width:100%;width:100%;border:1px solid #8b9f83;background:white;border-radius:3px}input[type=checkbox]{width:auto}form button{margin-top:.7rem}form [role=status]{overflow-wrap:anywhere}pre,code{white-space:pre-wrap;overflow-wrap:anywhere}#owner-panel{margin-top:2rem}#owner-panel form{padding-bottom:1.5rem;border-bottom:1px solid #ced3c8}#events article{border:1px solid #8b9f83;padding:1rem;margin-top:1rem}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b58431;outline-offset:3px}@media(max-width:650px){header{align-items:flex-start;flex-direction:column;gap:1rem}nav{gap:1rem}.cards{grid-template-columns:1fr}.hero{padding-top:1rem}header,main,footer{padding:1rem}}
