:root { --navy:#173551; --cream:#faf6f0; --blue:#d6e8f0; --sage:#7aab8a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
[id] { scroll-margin-top:24px; }
.contents { margin:24px 0; padding:20px 0; border-top:1px solid #bfcfd2; border-bottom:1px solid #bfcfd2; }
.contents h2 { font-size:22px; margin-top:0; }
.contents ol { columns:2; column-gap:30px; }
.contents li { break-inside:avoid; padding:4px 0; }
.contents a { text-decoration:none; }
.contents a:hover { text-decoration:underline; }
@media(max-width:600px) { .contents ol { columns:1; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
body { margin:0; background:#e5e9e8; color:var(--navy); font:16px/1.65 Arial,sans-serif; }
main { max-width:880px; margin:auto; }
.page { background:var(--cream); padding:40px 48px 30px; margin:24px 0; }
header { display:flex; align-items:center; justify-content:space-between; gap:16px; background:var(--blue); padding:14px 20px; border-radius:8px; margin-bottom:28px; }
header img { width:120px; height:40px; object-fit:contain; display:block; }
header span,.eyebrow,h3 { font:700 12px/1.5 Arial,sans-serif; text-transform:uppercase; letter-spacing:0; }
h1,h2 { font-family:Georgia,serif; line-height:1.25; }
h1 { font-size:42px; margin:24px 0 8px; }
h2 { font-size:28px; margin:24px 0 14px; }
h3,.eyebrow { color:#3f7657; margin:0 0 12px; }
p { margin:0 0 16px; }
a { color:inherit; text-underline-offset:3px; overflow-wrap:anywhere; }
a:focus-visible { outline:3px solid #188a9e; outline-offset:5px; }
.photo { display:block; width:100%; object-fit:cover; border:2px solid var(--navy); border-radius:8px; }
.cover-photo { aspect-ratio:1.35; margin:30px 0; }
.subtitle { color:#526b7e; }
.dark { background:var(--navy); color:white; padding:26px; border-radius:8px; }
.dark h2 { margin-top:0; }
.dark .eyebrow { color:#a8d1b6; }
.headshot { width:220px; height:220px; margin:0 0 22px; }
.two,.three,.four { display:grid; gap:18px; }
.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.note { background:white; border-radius:8px; padding:20px; margin:18px 0; }
.two .note { margin:0; }
.two { margin:20px 0; }
.sage,blockquote { background:#edf3ee; }
.peach { background:#fbeadb; }
ul,ol { padding-left:21px; margin:0; }
li { margin-bottom:8px; }
blockquote { margin:20px 0; padding:20px; font:italic 18px/1.6 Georgia,serif; text-align:center; }
.food-banner { width:78%; aspect-ratio:2.62; overflow:hidden; margin:26px 0 12px auto; border:2px solid var(--navy); border-radius:8px; position:relative; }
.food-banner img { position:absolute; width:110%; height:132%; object-fit:cover; left:-5%; top:-16%; }
.pumpkin-photo { width:36%; aspect-ratio:1.5; float:right; margin:0 0 22px 24px; }
.clear { clear:both; }
.soup-photo { width:88%; aspect-ratio:2; margin:24px auto 24px 0; }
.family-photo { width:83%; aspect-ratio:2.05; margin:34px 0 20px; }
.wind-down-photo { width:88%; aspect-ratio:2; margin:24px 0 24px auto; }
@media(max-width:600px) { .wind-down-photo { width:100%; } }
.chain { padding:22px 0; border-bottom:1px solid #ccd6d1; }
.chain h3 { font:700 21px Georgia,serif; text-transform:none; }
.chain span { display:block; font-size:11px; font-weight:bold; text-transform:uppercase; margin-bottom:12px; }
.chain .three p { background:white; padding:18px; border-radius:8px; margin:0; }
.contacts { margin:24px 0; }
.contacts a { padding:14px; border:1px solid #668297; border-radius:8px; text-decoration:none; background:#29485f; }
.contacts a:hover { background:#385c72; }
.contacts strong { display:block; font:700 18px Georgia,serif; margin-bottom:8px; }
.contacts span { display:block; font-size:13px; }
.button { display:inline-block; background:var(--sage); color:var(--navy); padding:13px 24px; border-radius:8px; font-size:13px; font-weight:bold; text-transform:uppercase; text-decoration:none; }
.button:hover { background:#95c3a4; }
.signoff { font:italic 20px Georgia,serif; margin:24px 0 16px; }
.small { font-size:12px; color:#c5d7e0; }
.closing { background:var(--blue); padding-top:60px; }
.download { margin:24px 0; text-align:center; font-size:14px; }
footer { clear:both; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:10px; color:#536b7b; margin-top:36px; }
@media(max-width:600px) { body { font-size:15px; } .page { margin:0; padding:26px 20px; border-bottom:1px solid #c9d5d7; } h1 { font-size:34px; } h2 { font-size:25px; } header { padding:12px; } header img { width:100px; } header span { font-size:10px; } .two,.three { grid-template-columns:1fr; } .four { grid-template-columns:repeat(2,minmax(0,1fr)); } .headshot { width:180px; height:180px; } .food-banner,.family-photo,.soup-photo { width:100%; } .pumpkin-photo { width:40%; margin-left:14px; } .dark { padding:22px 18px; } .contacts { gap:12px; } }
@media print { body { background:white; } main { max-width:none; } .page { margin:0; break-after:page; } a { text-decoration:none; } .download { display:none; } }
