:root{--green:#173e32;--deep:#103126;--cream:#faf6ed;--gold:#c5a468;--ink:#253d33;--muted:#526056;--line:#d8d4c5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:20px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible{outline:3px solid #996b21;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3,.wordmark,.calendar-day,.calendar-month{font-family:Georgia,"Times New Roman",serif;font-weight:400}h2{font-size:clamp(2rem,4vw,3rem);line-height:1.18;letter-spacing:-.025em}h3{font-size:1.5rem;line-height:1.35}.masthead{max-width:1280px;margin:auto;padding:25px 48px;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{font-size:1.5rem;font-weight:700;text-decoration:none}.nav-link{font-size:1rem;font-weight:650}.hero{background:var(--green);color:var(--cream);padding:75px max(48px,calc((100vw - 1184px)/2));display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:center;border-bottom:7px solid var(--gold)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:750;margin-bottom:20px}.hero .eyebrow{color:#e1c38e}h1{font-size:clamp(3rem,5.8vw,5.2rem);line-height:1.03;letter-spacing:-.04em;margin-bottom:28px}h1 span{color:#e1c38e}.intro{font-family:Georgia,serif;font-size:1.5rem;line-height:1.45;margin-bottom:22px}.hero-copy>p:not(.eyebrow):not(.intro){max-width:590px;color:#e3e9e2;font-size:1.08rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:60px;background:var(--green);color:white;padding:17px 26px;border:2px solid transparent;border-radius:4px;text-decoration:none;font:700 1.05rem/1.4 system-ui,sans-serif;text-align:center;max-width:100%}.button:hover{background:var(--deep)}.button.cream{background:var(--cream);color:var(--green);margin-top:32px}.button.cream:hover{background:#eee3ce}.button:disabled{background:#e8e4d9;border-color:#b0b5a9;color:#525b52;cursor:not-allowed}.invitation{padding:38px 25px;text-align:center;border:1px solid #b89a62;outline:1px solid #b89a6270;outline-offset:9px;background:#1d473a}.calendar-day{font-size:6.5rem;line-height:1;color:#e1c38e}.calendar-month{font-size:1.9rem;margin-top:8px}.rule{height:1px;background:#b89a6270;width:70px;margin:25px auto}.date-detail{font-weight:700}.place{font-size:1.25rem;margin-top:15px}.invitation>p:not(.calendar-day):not(.calendar-month):not(.eyebrow):not(.place){font-size:1rem}.card-note{font-family:Georgia,serif;font-style:italic;color:#e1c38e;margin-top:26px}.section{max-width:1184px;margin:auto;padding:75px 0}.section .eyebrow{color:#6b512b}.welcome{text-align:center;max-width:820px}.welcome>p:last-child{margin-top:24px}.food{border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1.25fr;gap:90px}.food p:last-child{max-width:390px;margin-top:24px}.menu{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-content:center}.menu li{padding:15px 0;border-bottom:1px solid var(--line);font-size:1.12rem}.menu li:before{content:'✦';color:#806134;font-size:.8rem;margin-right:12px}.menu li:last-child{grid-column:1/-1}.details dl{display:grid;grid-template-columns:1.1fr 1.2fr 1fr;gap:35px;margin:36px 0 0}.details dt{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;font-weight:750;margin-bottom:14px}.details dd{margin:0}.details dd a{display:inline-block;font-size:1rem;margin-top:10px}.details strong{font-size:1.75rem;font-weight:650}.small{font-size:.95rem}.registration{text-align:center;max-width:none;background:#eee9dd;padding:65px 24px}.registration>p:not(.eyebrow){max-width:680px;margin:22px auto}.registration .button{margin-top:28px}.registration .status{font-weight:650;color:#4d574c}.telephone{border-top:1px solid #c9c9b9;max-width:660px;padding-top:30px;margin:35px auto 0}.telephone p{margin-top:12px}.phone{font-weight:700;font-size:1.4rem}footer{text-align:center;background:var(--deep);color:var(--cream);padding:45px 24px}footer>p+ p{margin-top:10px}footer nav{margin-top:20px}footer .small{max-width:710px;margin:24px auto 0;color:#d0dace}.skip{position:absolute;left:16px;top:-100px;background:white;color:var(--green);padding:12px;z-index:5}.skip:focus{top:12px}@media(max-width:1280px){.section:not(.registration){margin-inline:48px}.welcome{max-width:none}.hero{gap:60px}}@media(max-width:760px){body{font-size:18px}.masthead{padding:20px 24px;flex-wrap:wrap;gap:8px}.wordmark{font-size:1.3rem}.nav-link{font-size:1rem;min-height:44px;display:inline-flex;align-items:center}.hero{padding:48px 25px 50px;grid-template-columns:1fr;gap:48px}h1{font-size:clamp(2.9rem,12vw,4.5rem)}.intro{font-size:1.4rem}.invitation{margin-inline:10px;padding:28px 16px}.calendar-day{font-size:5.3rem}.section:not(.registration){margin-inline:24px;padding-block:48px}.food{grid-template-columns:1fr;gap:28px}.food h2 br{display:none}.menu{column-gap:20px}.menu li{font-size:1rem}.details dl{grid-template-columns:1fr;gap:28px}.details dl>div{border-top:1px solid var(--line);padding-top:20px}.details dt{margin-bottom:8px}.registration{padding:48px 24px}.button{width:100%;padding-inline:16px;gap:12px;font-size:1rem}.registration .button{max-width:560px}footer{padding:35px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.hero,footer{background:white;color:black}.hero p,.hero .eyebrow,h1 span,.card-note{color:black!important}.invitation{background:white}.button,.nav-link{display:none}.section{padding-block:24px}.hero{padding:25px;gap:30px}footer{padding:20px}.registration{break-inside:avoid}}
.legal-page{max-width:900px;overflow-wrap:anywhere}.legal-page h1{font-size:clamp(2.6rem,6vw,4rem)}.legal-page h2{font-size:1.65rem;margin:35px 0 16px}.legal-page p+p{margin-top:20px}.legal-page p{max-width:78ch}
