:root{--bg: #ffffff;--text: #2b2b2b;--muted: #6f6f6f;--accent: #8a8a8a;--line: #eaeaea;--serif: Georgia, "Playfair Display", "Times New Roman", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2;letter-spacing:-.01em;color:var(--text)}h1{font-size:2.6rem}h2{font-size:1.9rem}h3{font-size:1.15rem}p{margin-bottom:1.1rem}a{color:var(--text)}img{max-width:100%;display:block}.wrap{max-width:1240px;margin:0 auto;padding:0 24px}.wrap-narrow{max-width:720px;margin:0 auto;padding:0 24px}.section{padding:72px 0}.center{text-align:center}.label{font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.lede{font-size:1.12rem;color:var(--muted);max-width:640px}.center .lede{margin-left:auto;margin-right:auto}.text-link{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px;text-decoration-thickness:1px}.text-link:hover{color:var(--accent)}.site-header{background:var(--bg);padding:36px 0 8px;text-align:center}.wordmark{text-decoration:none;color:var(--text);display:inline-block}.wordmark .wm-top{font-family:var(--serif);font-size:1.6rem;font-weight:400;letter-spacing:.16em}.wordmark .wm-bottom{font-size:.62rem;letter-spacing:.34em;color:var(--accent);margin-top:3px}.main-nav{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px 30px;justify-content:center}.main-nav a{color:var(--text);text-decoration:none;font-size:.78rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase}.main-nav a:hover{color:var(--accent)}.hero{padding-top:28px}.hero img{width:100%;height:min(76vh,680px);min-height:380px;object-fit:cover}.hero-text{text-align:center;padding:56px 24px 8px;max-width:820px;margin:0 auto}.hero-text h1{margin-bottom:16px}.hero-note{font-size:.98rem;color:var(--muted);letter-spacing:.02em;margin-bottom:0}.intro{max-width:680px;margin:0 auto;text-align:center;color:var(--muted);font-size:1.08rem}.gallery-section{padding:48px 0}.gallery-section .label{text-align:center;margin-bottom:28px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem}.gallery-grid figure{margin:0}.gallery-grid img{width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 3}.gallery-grid .wide{grid-column:1 / -1}.gallery-grid .wide img{aspect-ratio:16 / 8}.gallery-caption{margin-top:12px;font-size:.9rem;color:var(--muted);text-align:center}.closing{text-align:center;padding:56px 0 80px}.closing a{font-family:var(--serif);font-size:1.35rem;color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px;text-decoration-thickness:1px}.closing a:hover{color:var(--accent)}.about-image img{width:100%;aspect-ratio:16 / 9;object-fit:cover}.prose{color:var(--muted)}.prose strong{color:var(--text);font-weight:500}.prose h2{margin:36px 0 12px}.notes{border-top:1px solid var(--line);margin-top:56px;padding-top:8px}.note{padding:22px 0;border-bottom:1px solid var(--line)}.note:last-child{border-bottom:none}.note h3{margin-bottom:6px}.note p{color:var(--muted);margin-bottom:0}.email-link{font-family:var(--serif);font-size:1.4rem;color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px;text-decoration-thickness:1px;overflow-wrap:anywhere}.email-link:hover{color:var(--accent)}.contact-note{color:var(--muted);max-width:560px;margin-left:auto;margin-right:auto}.site-footer{border-top:1px solid var(--line);background:var(--bg);margin-top:20px;padding:40px 0 36px;text-align:center;color:var(--muted);font-size:.88rem;line-height:1.7}.site-footer .footer-wordmark{font-family:var(--serif);color:var(--text);letter-spacing:.16em;font-size:1rem;margin-bottom:10px}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.site-footer p{margin-bottom:4px}.towns{max-width:640px;margin:0 auto 4px}@media(max-width:760px){h1{font-size:2rem}h2{font-size:1.55rem}.section{padding:48px 0}.gallery-section{padding:32px 0}.gallery-grid{grid-template-columns:1fr;gap:2rem}.gallery-grid .wide img{aspect-ratio:4 / 3}.hero img{min-height:300px;height:52vh}.hero-text{padding-top:40px}.main-nav{gap:8px 20px}.email-link{font-size:1.15rem}}
