:root{color:#241913;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--cream:#fff8ee;--paper:#fffdf8;--coffee:#5b321f;--coffee-dark:#2f1b13;--caramel:#c47d38;--sage:#6c8a72;--rose:#e8b6a7;--muted:#6e5b50;--line:#5b321f29;--shadow:0 24px 80px #4f2d1c29;background:#fff8ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}main{overflow:hidden}.hero{background:radial-gradient(circle at 15% 20%,#e8b6a78c,#0000 30%),radial-gradient(circle at 82% 16%,#c47d3847,#0000 28%),linear-gradient(135deg,#fff8ee 0%,#f4e3cd 100%);min-height:100vh;padding:28px clamp(20px,5vw,72px) 72px}.nav{justify-content:flex-start;align-items:center;gap:24px;max-width:1120px;margin:0 auto;display:flex}.brand{color:var(--coffee-dark);letter-spacing:-.03em;align-items:center;gap:12px;font-weight:800;display:inline-flex}.brand-mark{border:1px solid var(--line);background:#fffdf8c2;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 10px 30px #5b321f1a}.brand-mark img{border-radius:50%;width:32px;height:32px;display:block}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);align-items:center;gap:clamp(36px,8vw,96px);width:100%;max-width:1120px;min-height:calc(100vh - 116px);margin:0 auto;display:grid}.hero-copy{max-width:680px}.tagline{color:var(--caramel);letter-spacing:-.01em;margin:0 0 8px;font-size:clamp(.92rem,1.8vw,1.05rem);font-weight:850}.hero-meta{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 22px;font-size:.88rem;font-weight:700}.eyebrow{color:var(--caramel);letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;font-size:.78rem;font-weight:900}h1,h2,h3,p{margin-top:0}h1{max-width:760px;color:var(--coffee-dark);letter-spacing:-.08em;margin-bottom:24px;font-size:clamp(3.2rem,9vw,7.4rem);line-height:.9}h2{color:var(--coffee-dark);letter-spacing:-.06em;margin-bottom:18px;font-size:clamp(2rem,4vw,4rem);line-height:.98}h3{color:var(--coffee-dark);margin-bottom:12px;font-size:1.25rem}.hero-text{max-width:580px;color:var(--muted);margin-bottom:34px;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.button,.rsvp-form button{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:52px;font-weight:850;display:inline-flex}.button{padding:0 24px}.primary,.rsvp-form button{background:var(--coffee-dark);color:#fff8ee;box-shadow:0 16px 30px #2f1b1340}.secondary{border:1px solid var(--line);color:var(--coffee);background:#fffdf8b3}.hero-card{border:1px solid var(--line);min-height:480px;box-shadow:var(--shadow);background:linear-gradient(145deg,#fffdf8eb,#fff8eea3),radial-gradient(circle,#6c8a721f,#0000 45%);border-radius:42px;justify-content:center;align-items:center;padding:clamp(16px,3vw,28px);display:flex}.hero-art{object-fit:contain;filter:drop-shadow(0 20px 40px #2f1b1324);border-radius:28px;width:100%;max-width:100%;height:auto;max-height:min(432px,58vh);display:block}.section{width:min(1120px,100% - 40px);margin:0 auto;padding:clamp(56px,10vw,96px) 0}.section-heading{max-width:700px;margin-bottom:clamp(20px,4vw,36px)}.section-heading h2{margin-bottom:0}.meeting-section>div:first-child>h2{margin-bottom:12px}.cards{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.info-card,.meeting-card,.rsvp-section,.contact-card{border:1px solid var(--line);background:var(--paper);border-radius:30px;box-shadow:0 16px 50px #4f2d1c14}.info-card{padding:28px}.info-card p,.meeting-card p,.rsvp-copy p,.contact-card p{color:var(--muted);line-height:1.7}.rsvp-copy h2{margin-bottom:14px}.meeting-section{grid-template-columns:minmax(0,.9fr) minmax(300px,.7fr);align-items:stretch;gap:22px;display:grid}.meeting-time{color:var(--coffee);font-size:1.4rem;font-weight:850}.meeting-card{padding:32px}.label{color:var(--caramel);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:.78rem;font-weight:900}.note{margin-top:24px;margin-bottom:0}.rsvp-section{grid-template-columns:minmax(0,.75fr) minmax(320px,1fr);gap:32px;margin-bottom:72px;padding:clamp(28px,5vw,48px);display:grid}.rsvp-form{align-content:center;gap:12px;display:grid}.rsvp-form label{color:var(--coffee-dark);font-weight:850}.form-row{gap:10px;display:flex}.rsvp-form input{border:1px solid var(--line);width:100%;min-height:56px;color:var(--coffee-dark);background:#fff;border-radius:999px;outline:none;padding:0 20px}.rsvp-form input:focus{border-color:var(--caramel);box-shadow:0 0 0 4px #c47d3829}.rsvp-recaptcha-host{margin-bottom:4px}.rsvp-recaptcha-host .g-recaptcha{vertical-align:top}.rsvp-form button{padding:0 26px}.rsvp-form button:disabled{cursor:wait;opacity:.75}.hidden-field{display:none}.form-status{margin:2px 0 0;font-weight:800}.form-status.success{color:#4c7553}.form-status.error{color:#a24632}.contact-section{grid-template-columns:minmax(0,.75fr) minmax(320px,1fr);align-items:center;gap:32px;padding-top:0;display:grid}.contact-card{padding:clamp(28px,5vw,40px)}.contact-card p{margin-bottom:22px}.contact-link{min-height:52px;color:var(--coffee-dark);background:#c47d3824;border-radius:999px;align-items:center;padding:0 22px;font-weight:850;display:inline-flex}@media (width<=860px){.hero-grid,.meeting-section,.rsvp-section,.contact-section{grid-template-columns:1fr}.hero-grid{min-height:auto;padding-top:40px;padding-bottom:clamp(32px,6vw,48px)}.hero-card{min-height:380px}.meeting-section{gap:clamp(16px,4vw,22px)}.cards{grid-template-columns:1fr;gap:14px}}@media (width<=560px){.section{width:min(1120px,100% - 32px);padding:48px 0}.section.rsvp-section{padding-inline:clamp(20px,5vw,28px)}.section-heading{margin-bottom:20px}.eyebrow{margin-bottom:8px}.meeting-section>div:first-child .eyebrow{margin-bottom:6px}.rsvp-section{gap:24px;margin-bottom:48px}.contact-section{gap:20px;padding-bottom:8px}.contact-heading-wrap{margin-bottom:0}.info-card h3{margin-bottom:8px}.hero{padding-inline:18px;padding-bottom:clamp(28px,8vw,40px)}.nav{align-items:flex-start}.brand{font-size:.95rem}.hero-card{border-radius:28px;min-height:280px;padding:12px}.hero-art{border-radius:22px;max-height:min(320px,44vh)}.form-row{flex-direction:column}.rsvp-form button{width:100%}}
