@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&display=swap";.home-container{min-height:calc(100vh - 3.25rem);display:flex;align-items:center;justify-content:center;padding:2.25rem 1.25rem 4rem;background:transparent}.home-content{width:min(760px,100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2rem;color:#2f352e}.paper-card{width:min(100%,700px);background:#f9f6f0cc;border:1px solid rgba(176,142,80,.95);box-shadow:inset 0 0 0 2px #b08e5061;padding:2.5rem 2rem 2rem;position:relative}.paper-card:before,.paper-card:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(176,142,80,.4);pointer-events:none}.title-block{max-width:620px;margin:0 auto}.invitation-kicker{margin:0 0 .9rem;font-family:Montserrat,sans-serif;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:#5d655d;font-weight:500}.home-title{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(3.2rem,5vw,5.1rem);line-height:.9;font-weight:500;letter-spacing:.02em;color:#2f352e}.amp-symbol{display:inline-block;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:.9em;color:#2f352e;margin:0 .2rem}.home-subtitle{margin-top:.9rem;font-family:Montserrat,sans-serif;font-size:clamp(.72rem,1.2vw,.9rem);letter-spacing:.2em;text-transform:uppercase;color:#5d655d;font-weight:500}.home-nav{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.nav-button{display:inline-flex;align-items:center;justify-content:center;min-width:180px;padding:1rem 2rem;border-radius:999px;font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;transition:transform .2s ease,opacity .2s ease}.nav-button:hover{transform:translateY(-1px)}.rsvp-btn{background:linear-gradient(135deg,#90b17d,#5b7a57);color:#fff;box-shadow:0 10px 18px #4d644a29}.registry-btn{background:#ffffff2e;color:#2f352e;border:1px solid rgba(91,122,87,.25)}@media (max-width: 520px){.home-container{padding:2.25rem 1rem 2rem}.paper-card{padding:2rem 1.25rem 1.5rem}.home-content{gap:1.5rem}.home-title{font-size:clamp(2.6rem,13vw,3.8rem)}.home-subtitle{letter-spacing:.12em}.home-nav{flex-direction:column;width:100%}.nav-button{width:100%}}.rsvp-container{min-height:calc(100vh - 3.25rem);display:flex;flex-direction:column;justify-content:center;padding:2.25rem 1.25rem 3rem}.page-hero{max-width:820px;margin:0 auto;padding:2.5rem 1.5rem 1.75rem;text-align:center;background:#f9f6f0cc;border:1px solid rgba(195,157,90,.9);box-shadow:inset 0 0 0 2px #c39d5a47;width:100%}.page-eyebrow{display:block;font-family:Cormorant Garamond,Georgia,serif;font-size:.9rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sage-800);margin-bottom:.75rem}.amp-symbol{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:.9em;color:var(--sage-800)}.page-hero-title{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.9rem,5vw,4.5rem);font-weight:500;letter-spacing:.02em;color:var(--sage-800);margin:0}.rsvp-lookup,.rsvp-form{background:#ffffff1f;padding:1.5rem;width:min(100%,700px);margin:1.25rem auto 0;text-align:left}.rsvp-lookup{padding-top:1.1rem}.lookup-error{color:var(--sage-800);font-size:.9rem;margin:.5rem 0 1rem}.form-group{margin-bottom:1.4rem}.form-group label{display:block;margin-bottom:.5rem;font-family:Montserrat,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--sage-800)}.form-group input,.form-group select,.form-group textarea{width:100%;background:#ffffffb3;border:1.5px solid rgba(89,117,90,.18);border-radius:6px;color:var(--sage-800);font-family:inherit;font-size:1rem}.form-group textarea{resize:vertical}.search-input-row{display:flex;gap:.75rem}.search-input-row input{flex:1}.search-button{flex-shrink:0;padding:.8rem 1.25rem;background:linear-gradient(135deg,var(--sage-500),var(--sage-600));color:var(--white);border-radius:6px;font-family:Montserrat,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.search-button:hover:not(:disabled){background:linear-gradient(135deg,var(--sage-600),var(--sage-700))}.search-button:disabled{opacity:.6;cursor:not-allowed}.search-loading{display:inline-flex;align-items:center;gap:.6rem;margin-top:.85rem;color:var(--sage-800);font-size:.82rem;font-weight:600}.loading-spinner{width:14px;height:14px;border:2px solid rgba(89,117,90,.2);border-top-color:var(--sage-600);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-results{margin-top:1.25rem;display:flex;flex-direction:column;gap:.55rem}.search-results-label{margin:0 0 .2rem;font-family:Montserrat,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-800)}.result-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.9rem 1rem;background:#ffffff24;border:1px solid rgba(89,117,90,.14);cursor:pointer;text-align:left;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.result-card:hover{border-color:#59755a40;transform:translateY(-1px);box-shadow:0 10px 18px #506b4b0d}.result-name{font-family:Cormorant Garamond,Georgia,serif;font-size:1.3rem;color:var(--sage-800)}.result-more-button{padding:.6rem .8rem;border:1px solid rgba(89,117,90,.2);border-radius:10px;background:#fffc;color:var(--sage-800);font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;letter-spacing:.05em;cursor:pointer}.result-more-button:hover{border-color:#59755a59;color:var(--sage-800)}.invite-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid rgba(89,117,90,.12);background:#dfeccf3d;margin:1.2rem 0 1rem}.invite-summary p{margin:0;color:var(--sage-800);font-family:Cormorant Garamond,Georgia,serif;font-size:1.4rem;line-height:1.5}.change-name-btn{background:none;border:none;color:var(--sage-800);font-family:Montserrat,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:0;text-decoration:underline;text-underline-offset:3px}.change-name-btn:hover{color:var(--sage-700)}.event-section{padding:1.25rem;margin-bottom:1rem;border:1px solid rgba(89,117,90,.12);background:#ffffff1f}.event-section-header{margin-bottom:1rem}.event-section-meta{display:grid;gap:.18rem}.event-section-title{margin:0 0 .35rem;font-family:Montserrat,sans-serif;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-700)}.event-section-desc{margin:0;font-size:.84rem;color:var(--muted)}.event-section-desc strong{color:var(--sage-700)}.event-attendees{display:flex;flex-direction:column;gap:.7rem}.attendee-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.attendee-name{flex:1;min-width:0;color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yes-no-group{display:flex;gap:.35rem;padding:.2rem;border:1px solid rgba(89,117,90,.18);border-radius:3px;background:#f9f6f099;flex-shrink:0}.yes-no-group input[type=radio]{position:absolute;opacity:0;width:0;height:0}.yn-option{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:.45rem .7rem;border:1px solid transparent;border-radius:2px;color:var(--sage-700);font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.yn-option:hover{border-color:var(--gold-200);background:#e9dcc240;color:var(--sage-800)}.yn-option:has(input:focus-visible){outline:2px solid var(--sage-500);outline-offset:2px}.yn-selected{border-color:var(--gold-400);border-radius:2px;background:var(--sage-700);color:var(--white);box-shadow:0 2px 6px #2d3d2f29;font-weight:800}.yn-selected:after{content:"✓";margin-left:.3rem;color:var(--gold-400);font-size:.65rem}.meal-group{margin-bottom:.8rem}.meal-selections,.allergies-section{display:flex;flex-direction:column;gap:.8rem}.guest-info-section{display:flex;flex-direction:column;gap:1rem}.guest-entry-group{margin-bottom:0}.form-group label.checkbox-label{display:flex;align-items:center;gap:.9rem;margin-bottom:.8rem;text-transform:none;letter-spacing:normal;font-size:.93rem;font-weight:600}.form-group label.checkbox-label input[type=checkbox]{width:auto;margin:0;accent-color:var(--sage-600)}.submit-button{width:100%;margin-top:1rem;padding:1rem 1.2rem;background:linear-gradient(135deg,var(--sage-500),var(--sage-600));color:var(--white);border-radius:6px;font-family:Montserrat,sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,var(--sage-600),var(--sage-700))}.success-message{padding:2.5rem 1.5rem;text-align:center;animation:slideIn .3s ease}.success-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 auto 1rem;border-radius:50%;background:linear-gradient(135deg,var(--sage-500),var(--sage-600))}.success-icon svg{width:26px;height:26px}.success-icon svg path{fill:none;stroke:var(--white);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.success-message h2{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,4vw,2.7rem);color:var(--sage-700);margin:0 0 .75rem;font-weight:500}.success-message p{margin:0;color:var(--muted);line-height:1.6}.success-message-character{font-weight:600;color:var(--sage-700)}@keyframes slideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.rsvp-container{padding:2.25rem 1rem 2rem}.page-hero-title{font-size:2.5rem}.page-hero{padding:2rem 1rem 1.3rem}.search-input-row{flex-direction:column;align-items:stretch}.search-button{width:100%}}@media (max-width: 480px){.attendee-row{flex-wrap:wrap}.invite-summary{flex-direction:column;align-items:flex-start}}.checkbox-label-text{display:inline-block;margin-left:.1rem;line-height:1.35}.success-icon-fallback{display:none;font-family:Montserrat,sans-serif;font-size:1.2rem;line-height:1;color:var(--white)}.registry-container{min-height:calc(100vh - 3.25rem);display:flex;flex-direction:column;justify-content:center;background:transparent;padding:2.25rem 1.25rem 4rem}.page-hero{max-width:820px;margin:0 auto;padding:2.5rem 1.5rem 1.75rem;text-align:center;background:#f9f6f0cc;border:1px solid rgba(195,157,90,.9);box-shadow:inset 0 0 0 2px #c39d5a47}.page-hero-title{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.9rem,5vw,4.4rem);font-weight:500;letter-spacing:.03em;color:var(--sage-800);margin:0}.page-hero-divider{width:120px;height:2px;background:linear-gradient(90deg,#c39d5a99,#c39d5af2);margin:1rem auto 0}.registry-content{width:100%;margin:0 auto;padding:clamp(1.5rem,2vw,2.5rem)}.registry-grid{margin-top:2rem}.registry-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7rem;padding:2rem 1.5rem;background:#fff3;border:1px solid rgba(89,117,90,.12);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.registry-card:hover{transform:translateY(-2px);box-shadow:0 10px 18px #2f4b350f;border-color:#59755a33}.registry-cta{color:var(--sage-700);font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.registry-card:hover .registry-cta{color:var(--sage-800)}@media (max-width: 600px){.registry-container{padding:1rem .75rem 2.5rem}.page-hero{padding:1.5rem 1rem 1.25rem}.registry-card{padding:1.5rem 1rem}}:root{--sage-50: #f5f9f1;--sage-100: #edf4e8;--sage-200: #dfeccf;--sage-300: #d1e2c1;--sage-400: #bdd0a7;--sage-500: #9db987;--sage-600: #6c8d67;--sage-700: #40553f;--sage-800: #2d3d2f;--gold-200: #e9dcc2;--gold-400: #c39d5a;--paper: rgba(249, 246, 240, .82);--paper-strong: #f9f5ee;--ink: #2f352e;--muted: #58635a;--white: #ffffff;--shadow-soft: 0 12px 32px rgba(45, 61, 47, .08);--radius-lg: 18px;--radius-md: 14px;--radius-sm: 12px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;background-color:var(--sage-100);background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 6px,transparent 6px,transparent 18px),linear-gradient(135deg,#fff3,#bdd0a729);background-attachment:fixed;color:var(--ink);line-height:1.6}#root{min-height:100vh;display:flex;flex-direction:column}.app-header{width:100%;padding:1rem 1.25rem 0;background:#f9f6f0b8;border-bottom:1px solid rgba(195,157,90,.5)}.app-nav{display:flex;justify-content:center;gap:clamp(1.25rem,5vw,4rem);max-width:760px;margin:0 auto}.app-nav-link{position:relative;padding:.35rem .15rem .8rem;color:var(--sage-700);font-family:Montserrat,sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.app-nav-link:after{content:"";position:absolute;right:.15rem;bottom:0;left:.15rem;height:2px;background:var(--gold-400);transform:scaleX(0);transition:transform .2s ease}.app-nav-link:hover,.app-nav-link.active{color:var(--sage-800)}.app-nav-link.active:after,.app-nav-link:hover:after{transform:scaleX(1)}a{color:var(--sage-700);text-decoration:none;transition:color .2s ease,transform .2s ease}a:hover{color:var(--sage-800)}button{border:none;background:linear-gradient(135deg,var(--sage-500),var(--sage-600));color:var(--white);padding:.85rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;letter-spacing:.04em;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #4c624724}button:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}input,select,textarea{width:100%;padding:.8rem .95rem;border:1.5px solid rgba(89,117,90,.18);border-radius:6px;background:#fffc;font-family:inherit;font-size:1rem;color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sage-500);box-shadow:0 0 0 4px #9db98724;background:var(--white)}img{max-width:100%;display:block}p,label,span,button,input,select,textarea{font-family:inherit}@media (max-width: 480px){.app-header{padding-right:.75rem;padding-left:.75rem}.app-nav{gap:1.5rem}}
