@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Italiana&family=Italianno&display=swap";:root{--burgundy: #571011;--burgundy-deep: #350708;--wine: #6f2526;--cream: #f5eee1;--paper: #fffaf1;--antique: #c9baa2;--gold: #a98242;--green: #355e4b;--ink: #321b1b;color:var(--cream);font-family:Cormorant Garamond,Georgia,serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--burgundy-deep)}body{margin:0;min-width:320px;background:var(--burgundy)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.invitation-shell{min-height:100vh;background:var(--burgundy)}.envelope-stage{position:fixed;z-index:30;inset:0;display:grid;place-items:center;min-height:100svh;background:var(--burgundy);transition:opacity .8s ease,visibility .8s ease,transform .9s cubic-bezier(.22,.84,.25,1)}.is-opened .envelope-stage{opacity:0;visibility:hidden;transform:translateY(-4%) scale(1.035);pointer-events:none}.envelope-button{position:relative;display:block;width:min(100vw,1366px);padding:0;border:0;background:transparent;cursor:pointer}.envelope-button img{display:block;width:100%;height:auto}.envelope-button:after{content:"";position:absolute;inset:35% 31% 24%;border-radius:50%;background:#ffffff03;box-shadow:0 0 #f5eee140;animation:envelopePulse 2.5s ease-out infinite}.envelope-button span{position:absolute;left:50%;bottom:10.6%;transform:translate(-50%);width:100%;color:#f3e8d9;font-family:Italiana,serif;font-size:clamp(.62rem,1.25vw,1.05rem);letter-spacing:.24em;text-transform:uppercase;opacity:.001}@keyframes envelopePulse{0%{box-shadow:0 0 #f5eee138}75%,to{box-shadow:0 0 0 24px #f5eee100}}.invitation-document{opacity:0;visibility:hidden;transform:translateY(28px);transition:opacity .75s .25s ease,transform .9s .2s ease,visibility .75s}.is-opened .invitation-document{opacity:1;visibility:visible;transform:none}.artwork-stack{width:min(100%,1366px);margin:0 auto;overflow:hidden;background:var(--burgundy)}.artwork-section{position:relative;margin:0;opacity:0;transform:translateY(24px);transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.16,.7,.2,1);line-height:0}.artwork-section.is-visible{opacity:1;transform:none}.artwork-section svg{display:block;width:100%;height:auto}.personalized-ribbon{position:fixed;z-index:12;top:max(14px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;gap:.5rem;align-items:center;max-width:calc(100vw - 120px);padding:.52rem .9rem;border:1px solid rgba(87,16,17,.14);border-radius:999px;background:#fffaf1eb;color:var(--burgundy);box-shadow:0 7px 28px #1f050629;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;font-size:.83rem;letter-spacing:.03em}.personalized-ribbon span{opacity:.68}.personalized-ribbon strong{overflow:hidden;text-overflow:ellipsis}.floating-rsvp{position:fixed;z-index:12;right:18px;bottom:max(18px,env(safe-area-inset-bottom));padding:.72rem 1.25rem;border:1px solid rgba(87,16,17,.12);border-radius:999px;background:#fffaf1f0;color:var(--burgundy);box-shadow:0 8px 32px #1f050638;font-family:Italiana,serif;font-size:.88rem;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.rsvp-hotspot{position:absolute;z-index:4;left:34%;right:34%;bottom:6%;height:34%;display:grid;place-items:center;text-decoration:none}.rsvp-hotspot span{position:absolute;opacity:.001}.general-invite-note{width:min(90%,720px);margin:0 auto;padding:1rem 1.5rem 2rem;color:var(--cream);text-align:center;font-style:italic}.rsvp-page{position:relative;min-height:100vh;overflow:hidden;padding:clamp(1rem,5vw,4.5rem) 1rem;background:radial-gradient(circle at 20% 15%,#761e20 0,transparent 34%),linear-gradient(145deg,#611314,#3c090a)}.rsvp-page:before,.couple-login-page:before{content:"";position:fixed;inset:0;opacity:.07;pointer-events:none;background-image:url(/images/invite/the-wedding.png);background-size:100% auto;background-position:center top;filter:grayscale(1)}.rsvp-background-mark{position:fixed;right:-4vw;bottom:-12vh;color:#f5eee109;font-family:Italianno,cursive;font-size:min(52vw,42rem);line-height:.7;pointer-events:none}.rsvp-background-mark span{margin-left:-.1em}.rsvp-card{position:relative;z-index:1;width:min(100%,780px);margin:0 auto;padding:clamp(1.4rem,5vw,4rem);border:1px solid rgba(245,238,225,.38);background:#530d0eeb;box-shadow:0 35px 90px #19000047}.rsvp-card:before,.rsvp-card:after{content:"";position:absolute;width:44px;height:44px;border-color:var(--antique);opacity:.55}.rsvp-card:before{left:12px;top:12px;border-left:1px solid;border-top:1px solid}.rsvp-card:after{right:12px;bottom:12px;border-right:1px solid;border-bottom:1px solid}.back-link{display:inline-flex;align-items:center;gap:.28rem;color:var(--cream);text-decoration:none;font-style:italic;opacity:.83}.swan-mark{display:grid;place-items:center;margin:1rem auto .2rem;color:var(--antique)}.eyebrow{margin:0 0 .5rem;color:var(--antique);font-family:Italiana,serif;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}.rsvp-card>.eyebrow{text-align:center}.rsvp-card h1{margin:.1rem 0 .8rem;font-family:Italianno,cursive;font-size:clamp(3.6rem,10vw,6.2rem);font-weight:400;line-height:.95;text-align:center}.rsvp-intro{width:min(100%,570px);margin:0 auto 2rem;font-size:clamp(1.05rem,2vw,1.3rem);font-style:italic;line-height:1.55;text-align:center}.household-banner{display:flex;flex-direction:column;gap:.1rem;margin-bottom:1.3rem;padding:1rem 1.2rem;border:1px solid rgba(245,238,225,.25);background:#f5eee112;text-align:center}.household-banner span{font-family:Italiana,serif;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;opacity:.68}.household-banner strong{font-size:1.15rem;font-weight:500}.success-message{display:flex;gap:.8rem;align-items:center;margin:1rem 0 1.5rem;padding:1rem;background:#355e4b47;border:1px solid rgba(153,196,175,.35)}.success-message div{display:flex;flex-direction:column}.success-message span{font-size:.9rem;opacity:.72}.guest-response{margin:0 0 1.2rem;padding:1.3rem;border:1px solid rgba(245,238,225,.24);background:#ffffff06}.guest-response legend{display:flex;gap:.8rem;align-items:center;padding:0 .5rem}.guest-response legend>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--cream);color:var(--burgundy);font-family:Italiana,serif;font-size:.7rem}.guest-response legend div{display:flex;flex-direction:column}.guest-response legend strong{font-size:1.25rem;font-weight:500}.guest-response legend em{font-size:.78rem;opacity:.62}.field-label{display:flex;gap:.45rem;align-items:center;margin:.8rem 0 .5rem;font-size:1.02rem;font-style:italic}.field-label span{margin-left:auto;font-size:.72rem;font-style:normal;letter-spacing:.1em;text-transform:uppercase;opacity:.6}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.choice-grid button{min-height:50px;padding:.7rem;border:1px solid rgba(245,238,225,.2);background:#f5eee11c;color:var(--cream);cursor:pointer}.choice-grid button:hover,.choice-grid button.selected{border-color:var(--cream);background:var(--cream);color:var(--burgundy)}.choice-grid button{display:inline-flex;justify-content:center;align-items:center;gap:.4rem}.attending-fields{margin-top:.8rem;animation:fieldReveal .35s ease}@keyframes fieldReveal{0%{opacity:0;transform:translateY(-7px)}}.guest-response select,.guest-response textarea{width:100%;border:1px solid rgba(245,238,225,.35);border-radius:0;background:#f5eee11a;color:var(--cream);outline:none}.guest-response select{height:50px;padding:0 .8rem}.guest-response option{color:var(--ink)}.guest-response textarea{padding:.8rem;resize:vertical}.guest-response select:focus,.guest-response textarea:focus{border-color:var(--cream);box-shadow:0 0 0 2px #f5eee114}.field-error{margin:.35rem 0;color:#ffd5cf;font-size:.86rem}.restriction-note{margin:1.1rem 0;text-align:center;font-size:.9rem;font-style:italic;opacity:.68}.submit-rsvp{width:100%;min-height:58px;border:0;border-radius:999px;background:var(--cream);color:var(--burgundy);font-family:Italiana,serif;font-size:.95rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}.submit-rsvp:disabled{cursor:not-allowed;opacity:.45}.couple-login-page{position:relative;display:grid;place-items:center;min-height:100svh;padding:1rem;overflow:hidden;background:var(--burgundy)}.couple-login-card{position:relative;z-index:1;width:min(100%,470px);padding:clamp(1.5rem,6vw,3.2rem);border:1px solid rgba(87,16,17,.16);background:#fffaf1f5;color:var(--ink);box-shadow:0 30px 100px #1800006b;text-align:center}.couple-login-card:before{content:"";position:absolute;inset:12px;border:1px solid rgba(87,16,17,.12);pointer-events:none}.login-monogram{font-family:Italianno,cursive;font-size:4rem;color:var(--burgundy);line-height:1}.login-monogram span{padding:0 .12em;font-size:.55em}.login-heart{color:var(--burgundy)}.couple-login-card h1{margin:.3rem 0;font-family:Italianno,cursive;font-size:3rem;font-weight:400;line-height:1}.couple-login-card>p:not(.eyebrow){margin:.5rem 0 1.7rem;color:#705d55}.couple-login-card form{position:relative;text-align:left}.couple-login-card label{display:block;margin:.8rem 0 .35rem;font-size:.9rem;font-weight:600}.input-with-icon{display:flex;align-items:center;gap:.5rem;padding:0 .8rem;border:1px solid #d8cbb8;background:#fff}.input-with-icon svg{color:var(--burgundy)}.input-with-icon input{width:100%;height:48px;border:0;outline:0;background:transparent}.couple-login-card .remember{display:flex;gap:.45rem;align-items:center;font-weight:400}.couple-login-card form>button{width:100%;min-height:52px;margin-top:.8rem;border:0;background:var(--burgundy);color:var(--cream);font-family:Italiana,serif;letter-spacing:.08em;cursor:pointer}.couple-dashboard{min-height:100vh;background:#f5f0e7;color:var(--ink)}.couple-header{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:78px;padding:.8rem clamp(1rem,4vw,4rem);border-bottom:1px solid #ded3c3;background:#fffaf1f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.couple-brand{display:flex;align-items:center;gap:.25rem;color:var(--burgundy);font-family:Italianno,cursive;font-size:2rem}.couple-brand>div{display:flex;flex-direction:column;margin-left:.65rem;color:var(--ink);font-family:Cormorant Garamond,serif}.couple-brand strong{font-size:1rem;font-weight:600}.couple-brand small{font-size:.72rem;letter-spacing:.08em;opacity:.6}.live-indicator{display:flex;gap:.4rem;align-items:center;color:var(--green);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.live-indicator i{width:8px;height:8px;border-radius:50%;background:#3db17d;box-shadow:0 0 0 4px #3db17d1f}.logout-button{justify-self:end;display:flex;gap:.4rem;align-items:center;padding:.55rem .8rem;border:1px solid #d8cbb8;background:transparent;color:var(--burgundy);cursor:pointer}.dashboard-content{width:min(100% - 2rem,1280px);margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem) 0 5rem}.dashboard-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.6rem}.dashboard-intro h1{margin:0;color:var(--burgundy);font-family:Italianno,cursive;font-size:clamp(3.8rem,7vw,6rem);font-weight:400;line-height:.85}.dashboard-intro>div>p:last-child{color:#73645d;font-size:1.06rem}.response-ring{--progress: 0deg;display:grid;place-items:center;width:120px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--burgundy) var(--progress),#e4dacb 0)}.response-ring:before{content:"";grid-area:1/1;width:91px;aspect-ratio:1;border-radius:50%;background:#f5f0e7}.response-ring div{z-index:1;grid-area:1/1;display:flex;flex-direction:column;align-items:center}.response-ring strong{color:var(--burgundy);font-size:1.65rem}.response-ring span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.summary-grid article{display:flex;gap:.85rem;align-items:center;min-height:112px;padding:1.1rem;border:1px solid #e1d7c8;background:#fffdf8;box-shadow:0 6px 24px #452a1d0b}.summary-grid article>div:last-child{display:flex;flex-direction:column}.summary-grid article span{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#7f716a}.summary-grid article strong{color:var(--burgundy);font-size:1.7rem;line-height:1.05}.summary-grid article small{color:#8d7f76}.metric-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:50%}.metric-icon.burgundy{background:#f0dedb;color:var(--burgundy)}.metric-icon.green{background:#dceae2;color:var(--green)}.metric-icon.gold{background:#eee3cc;color:#876421}.metric-icon.rose{background:#eedde1;color:#7d3b4a}.dashboard-visuals{display:grid;grid-template-columns:1.55fr .85fr;gap:1rem;margin-top:1rem}.dashboard-visuals article,.household-panel{padding:clamp(1.2rem,3vw,2rem);border:1px solid #e1d7c8;background:#fffdf8;box-shadow:0 6px 24px #452a1d0b}.dashboard-visuals h2,.household-panel h2{margin:0 0 1.3rem;color:var(--burgundy);font-family:Italianno,cursive;font-size:2.7rem;font-weight:400;line-height:.9}.meal-row{margin-top:1rem;text-transform:capitalize}.meal-row>div:first-child{display:flex;justify-content:space-between}.meal-row span{color:var(--burgundy);font-weight:600}.meal-track{height:8px;margin-top:.4rem;overflow:hidden;border-radius:999px;background:#eee6da}.meal-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--burgundy),#9b5657);transition:width .6s ease}.status-split{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.status-split>div{display:grid;grid-template-columns:auto 1fr;gap:0 .5rem;align-items:center;padding:.8rem;background:#f7f1e8}.status-split i{grid-row:span 2;width:11px;height:36px;border-radius:999px}.status-split i.responded{background:var(--green)}.status-split i.pending{background:var(--gold)}.status-split strong{font-size:1.45rem}.status-split span{font-size:.75rem;color:#776962}.updated-at{margin:1.2rem 0 0;color:#8e8178;font-size:.78rem}.household-panel{margin-top:1rem}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading>span{color:#7b6d65;font-size:.85rem}.household-tools{display:flex;gap:.8rem;justify-content:space-between;margin-bottom:1rem}.dashboard-search{display:flex;gap:.5rem;align-items:center;width:min(100%,420px);height:44px;padding:0 .8rem;border:1px solid #ded3c3;background:#fff;color:#7c6d65}.dashboard-search input{width:100%;height:100%;border:0;outline:none;background:transparent}.filter-tabs{display:flex;padding:3px;border:1px solid #ded3c3;background:#f4ede2}.filter-tabs button{padding:.45rem .8rem;border:0;background:transparent;color:#6f625b;text-transform:capitalize;cursor:pointer}.filter-tabs button.active{background:var(--burgundy);color:var(--cream)}.household-list{display:flex;flex-direction:column;gap:.55rem}.household-item{border:1px solid #e4dbcf;background:#fff}.household-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.8rem;align-items:center;width:100%;min-height:72px;padding:.7rem .9rem;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.household-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#efe3d3;color:var(--burgundy);font-family:Italianno,cursive;font-size:1.6rem}.household-title{min-width:0;display:flex;flex-direction:column}.household-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem}.household-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7c6e66;font-size:.82rem}.status-pill{padding:.32rem .62rem;border-radius:999px;font-size:.72rem}.status-pill.responded{background:#dfede5;color:var(--green)}.status-pill.pending{background:#f2e7d2;color:#7b5c20}.chevron{color:#8f8077;transition:transform .25s ease}.household-item.open .chevron{transform:rotate(180deg)}.household-details{padding:0 .9rem .9rem;animation:fieldReveal .3s ease}.link-controls{display:flex;justify-content:space-between;gap:.7rem;padding:.85rem;border-top:1px solid #ece4da;background:#faf6ef}.link-controls button,.link-controls label{display:flex;gap:.4rem;align-items:center;border:0;background:transparent;color:var(--burgundy);font-weight:600}.link-controls button{cursor:pointer}.link-controls select{height:34px;border:1px solid #d8cbb8;background:#fff;color:var(--ink)}.guest-table{border:1px solid #eee5da;border-top:0}.guest-row{display:grid;grid-template-columns:1.4fr .65fr .65fr 1fr;gap:.7rem;align-items:center;padding:.7rem .85rem;border-top:1px solid #eee5da;font-size:.87rem}.guest-row:first-child{border-top:0}.guest-row>div{display:flex;flex-direction:column}.guest-row>div span{color:#8a7b72;font-size:.72rem}.guest-status{justify-self:start;padding:.23rem .5rem;border-radius:999px;font-size:.7rem}.guest-status.yes{background:#dfede5;color:var(--green)}.guest-status.no{background:#eedfe1;color:#7d3b4a}.guest-status.pending{background:#eee7dc;color:#756961}.guest-row>span:nth-child(3){text-transform:capitalize}.guest-row>span:last-child{color:#786a62}@media(max-width:920px){.summary-grid{grid-template-columns:repeat(2,1fr)}.dashboard-visuals{grid-template-columns:1fr}.guest-row{grid-template-columns:1.2fr .8fr .7fr}.guest-row>span:last-child{grid-column:1 / -1;padding-top:.35rem;border-top:1px dashed #eadfd2}}@media(max-width:640px){.envelope-stage{align-items:center}.envelope-button{width:100vw}.envelope-button span{bottom:10%;font-size:.52rem}.personalized-ribbon{top:max(8px,env(safe-area-inset-top));left:8px;transform:none;max-width:calc(100vw - 104px);flex-direction:column;gap:0;align-items:flex-start;padding:.42rem .65rem;border-radius:5px;line-height:1.1}.personalized-ribbon span{font-size:.65rem}.personalized-ribbon strong{max-width:100%;font-size:.78rem}.floating-rsvp{right:10px;bottom:max(10px,env(safe-area-inset-bottom));padding:.62rem .95rem;font-size:.72rem}.artwork-section{transform:translateY(14px)}.rsvp-page{padding:0}.rsvp-card{min-height:100vh;padding:1.2rem 1rem 2rem;border:0}.rsvp-card:before,.rsvp-card:after{display:none}.rsvp-card h1{font-size:4rem}.choice-grid{grid-template-columns:1fr}.guest-response{padding:1rem .75rem}.couple-header{grid-template-columns:1fr auto;min-height:68px;padding:.65rem .8rem}.couple-brand{font-size:1.65rem}.couple-brand>div{margin-left:.45rem}.couple-brand strong{font-size:.86rem}.couple-brand small{font-size:.64rem}.live-indicator,.logout-button span{display:none}.logout-button{padding:.55rem}.dashboard-content{width:min(100% - 1rem,1280px);padding-top:1.5rem}.dashboard-intro{align-items:flex-end}.dashboard-intro h1{font-size:4rem}.dashboard-intro>div>p:last-child{margin-bottom:0;font-size:.9rem}.response-ring{flex:0 0 auto;width:82px}.response-ring:before{width:63px}.response-ring strong{font-size:1.15rem}.response-ring span{font-size:.53rem}.summary-grid{grid-template-columns:1fr;gap:.55rem}.summary-grid article{min-height:86px}.dashboard-visuals article,.household-panel{padding:1rem}.household-tools{flex-direction:column}.dashboard-search,.filter-tabs{width:100%}.filter-tabs button{flex:1}.household-summary{grid-template-columns:auto minmax(0,1fr) auto}.status-pill{grid-column:2;justify-self:start}.household-summary .chevron{grid-column:3;grid-row:1 / span 2}.link-controls{align-items:stretch;flex-direction:column}.link-controls label{justify-content:space-between}.guest-row{grid-template-columns:1fr auto}.guest-row>span:nth-child(3){grid-column:1}.guest-row>span:last-child{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.artwork-section{opacity:1;transform:none}}
