.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:var(--ink)}.title-block{max-width:620px;margin:0 auto}.invitation-kicker{margin:0 0 1.1rem;font-family:var(--font-primary);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600}.home-title{margin:0;padding:20px;font-size:clamp(3.2rem,5vw,5.3rem);line-height:.9;font-weight:400;letter-spacing:.04em;color:var(--ink)}.home-name{font-family:var(--font-script)}.amp-symbol{display:inline-block;font-family:var(--font-script);font-size:.9em;color:var(--gold-400);margin:0 .2rem}.home-subtitle{margin-top:.6rem;font-family:var(--font-primary);font-size:clamp(.82rem,1.2vw,1rem);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}.home-divider{width:50px;height:2px;background:var(--gold-400);margin:1.75rem auto 0}.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:8px;font-family:var(--font-primary);font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:transform .2s ease,opacity .2s ease,background .2s ease}.nav-button:hover{transform:translateY(-1px)}.rsvp-btn,.rsvp-btn:hover{background:var(--sage-600);color:var(--white)}.registry-btn{background:transparent;color:var(--ink);border:1px solid var(--sage-500)}@media (max-width: 520px){.home-container{padding:2.25rem 1rem 2rem}.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;width:100%}.page-hero-title{font-family:var(--font-primary);font-size:clamp(2.9rem,5vw,4.5rem);font-weight:600;letter-spacing:.02em;color:var(--sage-700);margin:0}.invite-detail-note{color:var(--sage-700);font-family:var(--font-primary);font-size:1.2rem;line-height:1.3}.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-700);font-size:.9rem;margin:.5rem 0 1rem}.form-group{margin-bottom:1.4rem}.form-group label{display:block;margin-bottom:.5rem;font-family:var(--font-primary);font-size:.8rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--sage-700)}.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-700);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:var(--sage-600);color:var(--white);border-radius:8px;font-family:var(--font-primary);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.search-button:hover:not(:disabled){background: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-700);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:var(--font-primary);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-700)}.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:box-shadow .2s ease}.result-card:hover{box-shadow:0 10px 18px #506b4b1f}.result-name{font-family:var(--font-primary);font-size:1.4rem;color:var(--sage-700)}.result-more-button{padding:.6rem .8rem;border:1px solid rgba(89,117,90,.2);border-radius:10px;background:#fffc;color:var(--sage-700);font-family:var(--font-primary);font-size:1.1rem;letter-spacing:.05em;cursor:pointer}.result-more-button:hover{border-color:#59755a59;color:var(--sage-700)}.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-700);font-family:var(--font-primary);font-size:1.3rem;line-height:1.5}.change-name-btn{background:none;border:none;color:var(--sage-700);font-family:var(--font-primary);font-size:.75rem;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:var(--font-primary);font-size:.82rem;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:var(--font-primary);font-size:.8rem;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-700)}.yn-option:has(input:focus-visible){outline:2px solid var(--sage-500);outline-offset:2px}.yn-selected{border-color:transparent;border-radius:2px;background:transparent;color:var(--sage-700);box-shadow:none;font-weight:800}.yn-selected:after{content:"✓";margin-left:.3rem;color:var(--sage-700);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:var(--sage-600);color:var(--white);border-radius:8px;font-family:var(--font-primary);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase}.submit-button:hover:not(:disabled){background: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: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:var(--font-primary);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:var(--font-primary);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}.page-eyebrow{display:block;font-family:var(--font-primary);font-size:1.2rem;font-weight:600;letter-spacing:.08em;text-transform:none;color:var(--sage-700)}.page-hero-title{font-family:var(--font-primary);font-size:clamp(2.9rem,5vw,4.4rem);font-weight:600;letter-spacing:.03em;color:var(--sage-700);margin:0}.page-hero-divider{width:50px;height:2px;background:var(--gold-400);margin:1.5rem auto 0}.registry-content{width:100%;margin:0 auto}.registry-grid{margin-top:2rem;display:flex;justify-content:center}.registry-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7rem;width:100%;max-width:220px;padding:1rem 2rem;background:var(--sage-600);border:1px solid rgba(89,117,90,.12);border-radius:10px;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(--white);font-family:var(--font-primary);font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.registry-card:hover .registry-cta{color:var(--white)}@media (max-width: 600px){.registry-container{padding:1rem .75rem 2.5rem}.page-hero{padding:1.5rem 1rem 1.25rem}}@font-face{font-family:Antura Script;src:url(/fonts/antura-script/Antura%20Script.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}: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: var(--sage-700);--muted: #58635a;--white: #ffffff;--font-primary: "Nicole Fally", "Cormorant Garamond", Georgia, serif;--font-script: "Antura Script", "Segoe Script", cursive;--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:var(--font-primary);background-color:var(--sage-100);background-attachment:fixed;color:var(--ink);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-style:normal;font-weight:600;letter-spacing:.02em}#root{min-height:100vh;display:flex;flex-direction:column}.app-header{width:100%;padding:1rem 1.25rem 0;background:var(--sage-600);border-bottom:1px solid var(--sage-700)}.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(--gold-200);font-family:var(--font-primary);font-size:.9rem;font-weight:600;letter-spacing:.12em;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(--white)}.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:var(--sage-600);color:var(--white);padding:.85rem 1.5rem;border-radius:8px;cursor:pointer;font-family:var(--font-primary);font-size:1rem;font-weight:600;letter-spacing:.04em;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease,background .2s ease}button:hover{background:var(--sage-100);transform:translateY(-1px)}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:var(--font-primary)}@media (max-width: 480px){.app-header{padding-right:.75rem;padding-left:.75rem}.app-nav{gap:1.5rem}}
