:root{--off-white: #f7f5f2;--black: #111010;--mid: #6b6b6b;--light: #c8c4be;--accent: #7a6e5f;--max-w: 720px;--gutter: 20px;--gap-section: 40px;--gap-hero-top: 40px;--gap-hero-bottom: 24px}@media(min-width:540px){:root{--gutter: 32px;--gap-section: 48px;--gap-hero-top: 48px;--gap-hero-bottom: 32px}}@media(min-width:720px){:root{--gutter: 48px;--gap-section: 56px;--gap-hero-top: 64px;--gap-hero-bottom: 40px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{scroll-behavior:smooth}body{background:var(--off-white);color:var(--black);font-family:Inter,sans-serif;font-weight:300;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}section{padding:var(--gap-section) 0}.section-heading{font-family:Cormorant Garamond,Georgia,serif;font-size:20px;font-weight:400;color:var(--black);padding-bottom:6px;border-bottom:1px solid var(--light);margin-bottom:24px}@media(min-width:540px){.section-heading{font-size:24px;margin-bottom:28px}}@media(min-width:720px){.section-heading{font-size:28px;margin-bottom:32px}}#hero{max-width:var(--max-w);margin:0 auto;padding:var(--gap-hero-top) var(--gutter) var(--gap-hero-bottom)}.hero-image{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:24px}@media(min-width:540px){.hero-image{margin-bottom:28px}}@media(min-width:720px){.hero-image{margin-bottom:32px}}.hero-names{font-family:Cormorant Garamond,Georgia,serif;font-size:36px;font-weight:300;font-style:italic;letter-spacing:.02em;line-height:1;color:var(--black);white-space:nowrap}@media(min-width:540px){.hero-names{font-size:44px}}@media(min-width:720px){.hero-names{font-size:52px}}.hero-names .hero-ampersand{color:var(--accent)}.hero-date{font-size:13px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--mid);margin-top:16px}@media(min-width:540px){.hero-date{font-size:13px;margin-top:20px}}.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:72px 1fr;gap:0 16px;align-items:start;padding:16px 0}@media(min-width:540px){.timeline-item{grid-template-columns:80px 1fr;gap:0 24px;padding:20px 0}}@media(min-width:720px){.timeline-item{grid-template-columns:96px 1fr;gap:0 32px;padding:24px 0}}.timeline-time{font-size:13px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);padding-top:4px}.timeline-content h3{font-family:Cormorant Garamond,serif;font-weight:400;font-size:20px;line-height:1.2;color:var(--black);text-wrap:balance}@media(min-width:720px){.timeline-content h3{font-size:22px}}.timeline-content .venue-name{font-size:14px;color:var(--mid);margin-top:4px;text-wrap:balance}.timeline-content .venue-name a{border-bottom:1px solid var(--light);transition:color .15s,border-color .15s}.timeline-content .venue-name a:hover{color:var(--accent);border-bottom-color:var(--accent)}#footer{padding:var(--gap-section) 0 48px}.footer-closing{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:300;font-size:24px;color:var(--black);line-height:1.3;margin-bottom:16px}@media(min-width:540px){.footer-closing{font-size:28px}}@media(min-width:720px){.footer-closing{font-size:32px}}.footer-meta{font-size:11px;font-weight:400;letter-spacing:.12em;color:var(--light);text-transform:uppercase}.rsvp-form{display:grid;gap:28px}@media(min-width:540px){.rsvp-form{gap:32px}}.form-field{display:flex;flex-direction:column;gap:8px}.form-label{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.form-input,.form-textarea{background:#f0ede9;border:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:15px;font-weight:300;color:var(--black);width:100%;outline:none;transition:background .15s}.form-input::placeholder,.form-textarea::placeholder{color:var(--light)}.form-input:focus,.form-textarea:focus{background:#e8e4df}.form-textarea{resize:vertical;min-height:72px}.form-radio-group{display:flex;gap:24px}.form-radio{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:15px;font-weight:300;color:var(--black)}.form-radio input[type=radio]{appearance:none;margin:0;width:16px;height:16px;border:1px solid var(--light);border-radius:50%;flex-shrink:0;position:relative;cursor:pointer;transition:border-color .15s}.form-radio input[type=radio]:checked{border-color:var(--accent)}.form-radio input[type=radio]:checked:after{content:"";position:absolute;inset:3px;background:var(--accent);border-radius:50%}.form-submit{appearance:none;background:var(--black);color:var(--off-white);border:none;padding:14px 32px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;align-self:flex-start;transition:background .15s}.form-submit:hover{background:var(--accent)}.form-submit:disabled{opacity:.4;cursor:not-allowed}.form-message{font-size:13px;font-weight:300;padding:12px 0}.form-message.success{color:var(--accent)}.form-message.error{color:#b04040}.attending-section{display:grid;gap:32px}.guest-group{display:grid;gap:16px}.guest-group-label{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);padding-bottom:8px;border-bottom:1px solid var(--light)}.guest-group-label-optional{font-weight:300;letter-spacing:0;text-transform:none;color:var(--light)}.guest-entry{display:grid;grid-template-columns:1fr;gap:16px}.guest-entry+.guest-entry{margin-top:32px}.guest-remove-btn{appearance:none;background:none;border:1px solid #c9a09a;font-family:Inter,sans-serif;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#b04040;cursor:pointer;padding:8px 16px;justify-self:end;white-space:nowrap}.guest-remove-btn:hover{background:#b04040;border-color:#b04040;color:#fff}.guest-add-btn{appearance:none;background:none;border:1px solid var(--accent);font-family:Inter,sans-serif;font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);cursor:pointer;padding:10px 20px;justify-self:start;margin-top:4px}.guest-add-btn:hover{background:var(--accent);color:var(--off-white)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:360px){.hero-names{white-space:normal}.timeline-item{grid-template-columns:1fr;gap:2px 0;padding:12px 0}.timeline-time{padding-top:0}}
