:root{--color-background:#faf7f2;--color-border:#78716c;--color-border-subtle:#a8a29e;--color-error:#b91c1c;--color-muted:#57534e;--color-primary:#405747;--color-primary-hover:#304236;--color-surface:#fff;--color-text:#292524}*{box-sizing:border-box}[hidden]{display:none!important}body{color:var(--color-text);background:var(--color-background);margin:0;font-family:system-ui,sans-serif;font-size:16px;line-height:1.5}main{width:100%;max-width:600px;margin:0 auto;padding:32px 20px}h1{margin:0 0 12px;font-size:clamp(2rem,6vw,2.75rem);line-height:1.15}p{margin:0 0 12px}form{gap:24px;margin-top:32px;display:grid}.contribution-flow{gap:32px;display:grid}.note-review,.note-result{overflow-wrap:anywhere;gap:16px;min-width:0;margin-top:32px;display:grid}.note-review h2,.note-result h2{margin:0}.note-actions{flex-wrap:wrap;gap:12px;display:flex}.note-actions button,.note-result button{width:fit-content;max-width:100%}.button-secondary{color:var(--color-primary);background:var(--color-surface);border:2px solid var(--color-primary)}.button-secondary:hover:not(:disabled){color:var(--color-surface)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}label{margin-bottom:8px;font-weight:600;display:block}input,textarea,button{font:inherit}input,textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:var(--color-surface);border-radius:8px;padding:12px;display:block}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-error);border-width:2px}textarea{resize:vertical;min-height:150px}form>div>p{color:var(--color-muted);margin:8px 0 0;font-size:.875rem}button{min-height:48px;color:var(--color-surface);background:var(--color-primary);cursor:pointer;border:none;border-radius:8px;padding:12px 20px}button:hover:not(:disabled){background:var(--color-primary-hover)}button:disabled{opacity:.65;cursor:wait}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.form-error{color:var(--color-error);font-size:1rem}.photo-selection{border:1px solid var(--color-border-subtle);border-radius:12px;margin:12px 0 0;padding:16px}.photo-submission{min-width:0;margin-top:40px}.photo-submission input[type=file]{min-width:0}.photo-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:12px 0 16px;padding:0;list-style:none;display:grid}.photo-card{background:var(--color-surface);border:3px solid #0000;border-radius:10px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.photo-card__image{aspect-ratio:1;object-fit:cover;width:100%;display:block}.photo-picker,.photo-selection,.photo-batch-card,.photo-batch-result,.photo-batch-actions,.photo-batch-summary{min-width:0}.guest-header{margin-bottom:28px}.guest-couple{color:var(--color-primary);letter-spacing:.04em;font-weight:600}.guest-page h1:focus{outline:none}.guest-choices,.guest-finished,.guest-navigation{gap:16px;min-width:0;display:grid}.guest-finished>button,.guest-navigation>button{width:fit-content;max-width:100%}.guest-help{color:var(--color-muted);overflow-wrap:anywhere;font-size:.875rem}.guest-navigation{margin-bottom:28px}.photo-picker,.photo-batch p,.photo-batch h3{overflow-wrap:anywhere}.photo-grid--batch{grid-template-columns:minmax(0,1fr)}.photo-grid--batch .photo-card{border:1px solid var(--color-border-subtle);min-width:0}.photo-batch-card{padding:12px}.photo-batch-card textarea{min-height:88px}.photo-batch-state{margin:12px 0;font-weight:600}.photo-batch-state--failed,.photo-batch-state--rejected{color:var(--color-error)}.photo-batch-state--saved{color:var(--color-primary)}.photo-batch-help{font-size:.875rem}.photo-retry-choice{align-items:flex-start;gap:10px;min-height:48px;margin:12px 0 0;padding:8px 0;display:flex}.photo-retry-choice input{width:20px;height:20px;accent-color:var(--color-primary);flex:0 0 20px;margin:3px 0 0;padding:0}.photo-batch-actions{flex-wrap:wrap;gap:12px;display:flex}.photo-batch-actions button{overflow-wrap:anywhere;max-width:100%}.photo-batch-result h3{margin:0 0 12px}@media (width>=560px){.photo-grid--batch{grid-template-columns:repeat(2,minmax(0,1fr))}}.audio-memory-actions{flex-wrap:wrap;gap:12px;margin:12px 0;display:flex}.audio-memory audio,.inbox-audio{width:min(100%,480px);margin:16px 0;display:block}.audio-memory-preview p{overflow-wrap:anywhere}.contribution-flow{min-width:0}.contribution-flow .note-compose,.contribution-flow .note-result{background:#fffefa;border:1px solid #dfded4;border-radius:20px;min-width:0;margin:0;padding:clamp(22px,3vw,28px);box-shadow:0 6px 24px #3d42310a}.contribution-flow .note-compose{gap:20px}.note-compose .note-compose-introduction{color:var(--color-muted);margin:0;font-size:.95rem;line-height:1.75}.note-compose label{margin-bottom:10px;font-size:.95rem}.note-compose .message-starters{color:var(--color-muted);margin:0 0 12px;font-size:.85rem;line-height:1.65}.note-compose input,.note-compose textarea{background:var(--color-surface);border-color:#b9b8ad;border-radius:12px}.note-compose textarea{min-height:170px;line-height:1.75}.note-compose input:disabled,.note-compose textarea:disabled{color:var(--color-muted);background:#f0f2eb}.note-compose input[aria-invalid=true],.note-compose textarea[aria-invalid=true]{border-color:var(--color-error)}.note-compose #message-count{text-align:right;font-variant-numeric:tabular-nums;margin-top:8px;font-size:.78rem}.note-compose .form-error{color:var(--color-error);margin:0}.note-compose .note-pending{color:var(--color-primary);background:#eef2e8;border-radius:12px;margin:0;padding:14px 16px;font-size:.9rem;line-height:1.65}.note-compose .note-compose-footer{border-top:1px solid #e6e5dc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;display:flex}.note-compose-footer .note-privacy{max-width:340px;color:var(--color-muted);align-items:flex-start;gap:8px;margin:0;font-size:.8rem;line-height:1.6;display:flex}.note-privacy svg{fill:none;width:17px;height:19px;stroke:var(--color-primary);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 17px}.note-compose-footer button{border-radius:10px;flex:none;min-height:48px;padding:12px 26px}.contribution-flow .note-result{gap:20px}.note-result h2{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,4vw,1.9rem);font-weight:500;line-height:1.4}.note-result>p{color:var(--color-muted);margin:0;line-height:1.75}.contribution-flow .note-actions{gap:12px;margin:4px 0 0}@media (width<=520px){.note-compose textarea{min-height:165px}.note-compose .note-compose-footer{gap:16px}.note-compose-footer button{width:100%}.contribution-flow .note-actions{flex-direction:column;align-items:stretch}.contribution-flow .note-actions button{width:100%}}.photo-batch--success{justify-items:start;gap:20px;display:grid}.photo-batch-success-mark{width:56px;height:56px;color:var(--color-primary);background:#edf2e7;border-radius:50%;place-items:center;display:grid}.guest-page .photo-submission.photo-batch.photo-batch--success>h2{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;line-height:1.4;position:static;overflow:visible}.photo-batch--success>p{margin:0}.photo-batch--success .photo-batch-actions{width:100%}.guest-gallery{overflow-wrap:anywhere;min-width:0;margin-top:36px}.guest-gallery h2{margin:0 0 12px;font-size:clamp(1.3rem,4vw,1.5rem)}.guest-gallery h2:focus{outline:none}.guest-gallery header>p{color:var(--color-muted)}.guest-gallery-frame{aspect-ratio:4/3;border:1px solid var(--color-border-subtle);background:#eee8df;border-radius:16px;align-items:center;min-width:0;margin-top:20px;padding:12px;display:grid;overflow:hidden}.guest-gallery-photo{align-items:center;height:100%;min-height:0;margin:0;display:grid}.guest-gallery-photo img{object-fit:contain;border-radius:8px;width:100%;height:100%;min-height:0;max-height:660px;margin:0 auto;display:block}.guest-gallery-enlarge{cursor:zoom-in;background:0 0;border:0;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:grid}.guest-gallery-enlarge:hover:not(:disabled){background:0 0}.guest-gallery-enlarge:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}.guest-gallery-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.guest-gallery-position{color:var(--color-muted);font-variant-numeric:tabular-nums;margin:0;font-size:.875rem}.guest-gallery-arrow{min-width:48px;padding:8px 14px;font-size:1.25rem}.guest-gallery-frame:focus{outline:none}.guest-gallery-playback{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:20px;display:flex}.guest-gallery-play{flex:none;font-size:.875rem}.guest-gallery-playback-status{color:var(--color-muted);margin:0;font-size:.8rem}.guest-gallery-browse{justify-content:center;margin-top:20px;display:flex}.guest-gallery-browse>button{max-width:100%}.guest-gallery-return{text-align:center;margin:24px 0 0}.guest-gallery-return a{min-height:44px;color:var(--color-primary);text-underline-offset:4px;align-items:center;gap:8px;font-weight:600;display:inline-flex}.guest-gallery-return a:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;border-radius:4px}.guest-gallery-overview{margin-top:24px}.guest-gallery-overview-help{color:var(--color-muted);margin-bottom:16px;font-size:.9rem}.guest-gallery-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.guest-gallery-thumbnails li{min-width:0}.guest-gallery-thumbnail{aspect-ratio:1;border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:10px;width:100%;padding:6px;display:block;position:relative;overflow:hidden}.guest-gallery-thumbnail img{object-fit:cover;border-radius:5px;width:100%;height:100%;display:block}.guest-gallery-thumbnail:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-primary)}.guest-gallery-thumbnail[aria-current=true]{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.guest-gallery-overview-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;display:flex}.guest-gallery-dialog{box-sizing:border-box;border:1px solid var(--color-border-subtle);width:min(1120px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--color-text);background:var(--color-background);overscroll-behavior:contain;border-radius:12px;padding:48px 16px 16px}.guest-gallery-dialog::backdrop{background:#28251dbf}.guest-gallery-dialog .guest-gallery-photo{height:auto}.guest-gallery-dialog .guest-gallery-photo img{height:auto;max-height:max(120px,100dvh - 230px)}.guest-gallery-dialog-close{width:48px;min-width:0;height:48px;color:var(--color-primary);background:0 0;border:0;padding:0;font:28px/1 Arial,sans-serif;position:absolute;top:0;right:0}.guest-gallery-dialog-close:hover:not(:disabled){color:var(--color-primary);background:var(--color-surface)}@media (width<=600px){.guest-gallery-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.guest-gallery-thumbnail{padding:4px}}@media (width<=380px){.guest-gallery-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))}}.guest-gallery-photo[hidden],.guest-gallery-photo img[hidden],.guest-gallery-image-status:empty{display:none}.guest-gallery-image-status{text-align:center;margin-top:12px}.couple-scrapbook{isolation:isolate;width:88%;max-width:294px;margin:0 auto 26px;position:relative}.couple-scrapbook:before{z-index:-1;content:"";background:#ede5d7;border:1px solid #d9cbb8;position:absolute;inset:5px -5px -5px 2px;transform:rotate(1.8deg)}.scrapbook-print{background:#fffefa;border:1px solid #e4dbce;margin:0;padding:8px 8px 12px;transform:rotate(-1.5deg);box-shadow:0 5px 13px #4035291a}.guest-page .scrapbook-enlarge{cursor:zoom-in;background:0 0;border:0;border-radius:0;width:100%;min-width:0;min-height:0;padding:0;display:block}.scrapbook-enlarge img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;display:block}.scrapbook-dialog{max-width:min(90vw,680px);max-height:90dvh;color:var(--color-text);overscroll-behavior:contain;background:#f7f2e8;border:1px solid #d5caba;border-radius:4px;padding:48px 16px 16px}.scrapbook-dialog::backdrop{background:#28251db3}.scrapbook-dialog img{object-fit:contain;width:100%;height:auto;max-height:calc(90dvh - 66px);display:block}.guest-page .scrapbook-dialog-close{color:#34312c;background:0 0;border:0;border-radius:0;width:48px;height:48px;padding:0;font:26px/1 Arial,sans-serif;position:absolute;top:0;right:0}.guest-page .scrapbook-dialog-close:hover{background:#ede5d7}@media (width<=360px){.couple-scrapbook{width:92%}}@media (width>=800px){.couple-scrapbook{width:100%;max-width:360px;margin-bottom:0}}.guest-page{--color-background:#f7f2e8;--color-primary:#596447;--color-primary-hover:#424d32;--color-text:#302c29;--color-muted:#665e56;--color-surface:#fffdf8;--color-border-subtle:#c5b8a5;--guest-wine:#702f46;--guest-parchment:#e8ddcb;max-width:1100px;color:var(--color-text);padding:clamp(24px,5vw,56px)}body:has(.guest-page){background:#f7f2e8}.guest-page--note,.guest-page--photos,.guest-page--audio{max-width:820px}.guest-page--note{padding-top:32px}.guest-page .guest-header{margin-bottom:24px}.guest-page .guest-couple{margin-bottom:24px;font-size:.9rem}.guest-page h1{letter-spacing:-.035em;max-width:780px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.15rem,5vw,3.3rem);font-weight:500;line-height:1.12}.guest-choices>p{max-width:620px;color:var(--color-muted)}.guest-page .guest-header--welcome{text-align:center;border-bottom:1px solid var(--guest-parchment);margin-bottom:32px;padding:12px 0 36px}.guest-eyebrow{color:var(--color-primary);letter-spacing:.13em;text-transform:uppercase;margin:0 0 22px;font-size:.72rem;font-weight:650}.guest-header--welcome h1{gap:10px;max-width:none;margin:0;display:grid}.guest-ampersand{color:var(--guest-wine);font-style:italic}.guest-choices-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;display:flex}.guest-choices-heading h2{color:var(--guest-wine);letter-spacing:-.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-weight:500}.guest-choices-heading .guest-help{margin:0;font-size:.8rem}.guest-page .guest-privacy{max-width:none;margin:0;font-size:.8rem;line-height:1.7}.guest-choices-heading h2:focus-visible{outline:3px solid var(--color-primary);outline-offset:5px}.memory-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0;display:grid}.memory-choice{min-width:0;color:var(--color-text);text-align:left;background:var(--color-surface);border:1px solid #deded3;border-radius:20px;flex-direction:column;align-items:flex-start;gap:20px;padding:26px;transition:border-color .16s,box-shadow .16s;display:flex;box-shadow:0 5px 20px #3d42310a}.memory-choice:hover:not(:disabled){color:var(--color-text);border-color:var(--color-primary);background:#fffef9;box-shadow:0 8px 26px #3d423117}.memory-choice-icon{width:48px;height:48px;color:var(--color-primary);background:#eef2ea;border-radius:15px;place-items:center;display:grid}.memory-choice svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.memory-choice-copy{flex:1;gap:9px;display:grid}.memory-choice-title{font-size:1.25rem;font-weight:650;line-height:1.3}.memory-choice-description{color:var(--color-muted);font-size:.9rem;line-height:1.7}.memory-choice .memory-choice-arrow{width:22px;height:22px;color:var(--color-primary);align-self:flex-end}.guest-page .memory-choices--three{grid-template-columns:repeat(3,minmax(0,1fr))}.guest-page .memory-choice{background:var(--color-surface);border-color:#d7cbb8;border-radius:18px;gap:18px;padding:25px;box-shadow:0 5px 18px #302c2908}.guest-page .memory-choice:hover:not(:disabled){border-color:var(--color-primary);background:#fffefb;box-shadow:0 7px 22px #302c2914}.guest-page .memory-choice-icon{color:var(--color-primary);background:#edf0e5;border-radius:12px}.guest-page .memory-choice--note .memory-choice-icon{color:var(--guest-wine);background:#f3e8eb}.guest-page .memory-choice--audio .memory-choice-icon{color:var(--color-primary);background:#efe5d5}.guest-page .memory-choice-copy{gap:9px}.guest-page .memory-choice-prompt{color:var(--guest-wine);font-family:Georgia,Times New Roman,serif;font-size:1.03rem;font-style:italic;line-height:1.4}.guest-page .memory-choice-title{color:var(--color-primary);font-size:1.15rem}.guest-page .memory-choice-description{font-size:.85rem;line-height:1.7}.guest-page .memory-choice:hover:not(:disabled) .memory-choice-title{text-underline-offset:4px;text-decoration:underline}.guest-page--welcome .guest-gallery{border-top:1px solid var(--guest-parchment);margin-top:48px;padding-top:30px}.guest-page--welcome .guest-gallery h2{color:var(--guest-wine);letter-spacing:-.025em;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-weight:500}.guest-page--welcome .guest-gallery-frame{background:var(--guest-parchment);border-color:#d7cbb8}.guest-navigation{gap:8px;margin:0 0 22px}.guest-navigation>button{background:0 0;border:none;min-height:40px;padding:8px 0;font-weight:600}.guest-navigation>button:hover:not(:disabled){color:var(--color-primary);text-underline-offset:4px;background:0 0;text-decoration:underline}.guest-navigation .guest-help{max-width:560px;margin:0;font-size:.8rem}.guest-finished{background:var(--color-surface);border:1px solid #deded3;border-radius:20px;padding:28px}@media (width<=800px){.guest-page .memory-choices,.guest-page .memory-choices--three{grid-template-columns:minmax(0,1fr);gap:12px}.guest-page .memory-choice{grid-template-columns:44px minmax(0,1fr) 18px;align-items:start;gap:16px;padding:20px;display:grid}.guest-page .memory-choice-icon{width:44px;height:44px}.guest-page .memory-choice .memory-choice-arrow{align-self:center;width:18px;height:18px}}@media (width<=560px){.memory-choices{grid-template-columns:minmax(0,1fr);gap:12px}.memory-choice{grid-template-columns:44px minmax(0,1fr) 18px;align-items:start;gap:14px;padding:20px;display:grid}.memory-choice-icon{border-radius:13px;width:44px;height:44px}.memory-choice-title{font-size:1.1rem}.memory-choice-description{font-size:.85rem}.memory-choice .memory-choice-arrow{align-self:center;width:18px;height:18px}.guest-page .guest-couple{margin-bottom:20px}.guest-page .guest-header--welcome{margin-bottom:26px;padding:4px 0 28px}.guest-eyebrow{letter-spacing:.09em;margin-bottom:20px;font-size:.65rem}.guest-choices-heading{gap:8px;display:grid}.guest-page .memory-choice{gap:12px;padding:18px 16px}.guest-page .memory-choice-copy{gap:6px}.guest-page .memory-choice-prompt{font-size:.95rem}.guest-page .memory-choice-title{font-size:1.05rem}.guest-page .memory-choice-description{font-size:.8rem}.guest-page--welcome .guest-gallery{margin-top:34px;padding-top:26px}}@media (prefers-reduced-motion:reduce){.memory-choice{transition:none}}:is(.guest-page,.private-inbox) .memory-form{background:#fffefa;border:1px solid #dfded4;border-radius:20px;min-width:0;margin:0;padding:clamp(20px,3vw,28px);box-shadow:0 6px 24px #3d42310a}:is(.guest-page,.private-inbox) .memory-form form{gap:22px;margin-top:24px}:is(.guest-page,.private-inbox) form.memory-form{gap:22px;display:grid}:is(.guest-page,.private-inbox) .memory-form h2{margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500}.guest-page .photo-submission:not(.note-review)>h2{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}:is(.guest-page,.private-inbox) .memory-form>p,:is(.guest-page,.private-inbox) .memory-form-introduction{color:var(--color-muted);margin:0;font-size:.95rem;line-height:1.75}:is(.guest-page,.private-inbox) .memory-form label{font-size:.95rem}:is(.guest-page,.private-inbox) .memory-form input,:is(.guest-page,.private-inbox) .memory-form textarea{background:var(--color-surface);border-color:#b9b8ad;border-radius:12px}:is(.guest-page,.private-inbox) .memory-form textarea{min-height:88px;line-height:1.65}:is(.guest-page,.private-inbox) .memory-form input:disabled,:is(.guest-page,.private-inbox) .memory-form textarea:disabled{color:var(--color-muted);background:#f0f2eb}:is(.guest-page,.private-inbox) .memory-form [aria-invalid=true]{border-color:var(--color-error)}:is(.guest-page,.private-inbox) .memory-form .form-error{color:var(--color-error)}:is(.guest-page,.private-inbox) .memory-form button{border-radius:10px}.memory-form-footer{border-top:1px solid #e6e5dc;gap:16px;padding-top:20px;display:grid}.memory-privacy{color:var(--color-muted);align-items:flex-start;gap:8px;margin:0;font-size:.8rem;line-height:1.6;display:flex}.memory-privacy svg{fill:none;width:17px;height:19px;stroke:var(--color-primary);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 17px}:is(.guest-page,.private-inbox) .memory-pending{color:var(--color-primary);background:#eef2e8;border-radius:12px;margin:0;padding:14px 16px;font-size:.9rem;line-height:1.65}:is(.guest-page,.private-inbox) .memory-success h3{margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500;line-height:1.4}:is(.guest-page,.private-inbox) .photo-picker__upload{text-align:center;background:#f1f4ed;border:1px dashed #9ba594;border-radius:14px;justify-items:center;gap:8px;padding:22px 16px;display:grid;position:relative}:is(.guest-page,.private-inbox) .photo-picker__upload:focus-within{outline:3px solid var(--color-primary);outline-offset:3px}:is(.guest-page,.private-inbox) .photo-picker__icon{width:30px;height:30px;color:var(--color-primary);fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}:is(.guest-page,.private-inbox) .photo-picker__input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}:is(.guest-page,.private-inbox) .photo-picker__trigger{color:#fff;background:var(--color-primary);cursor:pointer;border-radius:10px;min-height:48px;margin:0;padding:12px 24px;display:inline-block}:is(.guest-page,.private-inbox) .photo-picker__upload[data-disabled=true]{opacity:.7}:is(.guest-page,.private-inbox) .photo-picker__upload[data-disabled=true] .photo-picker__trigger{cursor:default}:is(.guest-page,.private-inbox) .photo-picker__hint,:is(.guest-page,.private-inbox) .photo-picker__guidance{color:var(--color-muted);margin:0;font-size:.8rem;line-height:1.6}:is(.guest-page,.private-inbox) .photo-picker__guidance{margin-top:12px}:is(.guest-page,.private-inbox) .photo-picker__help{margin-top:8px}:is(.guest-page,.private-inbox) .photo-picker__help summary{min-height:44px;color:var(--color-primary);cursor:pointer;padding:12px 0;font-size:.8rem}:is(.guest-page,.private-inbox) .photo-picker__help .photo-picker__guidance{margin:0 0 10px}:is(.guest-page,.private-inbox) .photo-picker__count{color:var(--color-primary);margin:14px 0 0;font-size:.85rem;font-weight:600;display:block}:is(.guest-page,.private-inbox) .photo-picker .form-error:empty{display:none}:is(.guest-page,.private-inbox) .photo-selection{border:none;margin-top:16px;padding:0}:is(.guest-page,.private-inbox) .photo-selection legend{font-size:.9rem;font-weight:600}:is(.guest-page,.private-inbox) .photo-grid--compact{grid-template-columns:minmax(0,1fr);margin:12px 0 0}:is(.guest-page,.private-inbox) .photo-card--compact{border:1px solid #dfded4;border-radius:14px;grid-template-columns:80px minmax(0,1fr);align-items:start;gap:14px;padding:12px;display:grid}:is(.guest-page,.private-inbox) .photo-card__preview{border-radius:8px;min-width:0;overflow:hidden}:is(.guest-page,.private-inbox) .photo-card__preview img{object-fit:cover;width:100%;height:80px;display:block}:is(.guest-page,.private-inbox) .photo-card__content{min-width:0}:is(.guest-page,.private-inbox) .photo-review-caption{color:var(--color-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-size:.85rem;line-height:1.6}:is(.guest-page,.private-inbox) .photo-batch.note-review{gap:20px}:is(.guest-page,.private-inbox) .photo-card__heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;display:flex}:is(.guest-page,.private-inbox) .photo-card__heading>span{font-size:.875rem;font-weight:600}:is(.guest-page,.private-inbox) .photo-card__remove{min-height:44px;color:var(--color-muted);text-underline-offset:3px;background:0 0;border:none;padding:6px 8px;font-size:.8rem;text-decoration:underline}:is(.guest-page,.private-inbox) .photo-card__remove:hover:not(:disabled){color:var(--color-error);background:#fdf0ec}:is(.guest-page,.private-inbox) .photo-batch-card{padding:0}:is(.guest-page,.private-inbox) .photo-batch-state{margin:8px 0 0;font-size:.85rem}:is(.guest-page,.private-inbox) .photo-batch-actions{border-top:1px solid #e6e5dc;padding-top:20px}:is(.guest-page,.private-inbox) .photo-batch-actions>button{flex:180px}:is(.guest-page,.private-inbox) .memory-form-footer .photo-batch-actions{border-top:0;padding-top:0}:is(.guest-page,.private-inbox) .photo-batch-summary:empty{display:none}:is(.guest-page,.private-inbox) .photo-caption summary,:is(.guest-page,.private-inbox) .memory-caption-option summary{color:var(--color-primary);cursor:pointer;padding:10px 0;font-size:.85rem}:is(.guest-page,.private-inbox) .photo-caption__body{padding-top:8px}:is(.guest-page,.private-inbox) .photo-caption__body label{font-size:.8rem}:is(.guest-page,.private-inbox) .photo-caption__optional{color:var(--color-muted);font-weight:400}:is(.guest-page,.private-inbox) .audio-recording-panel{text-align:center;background:#f1f4ed;border:1px solid #dce3d6;border-radius:16px;justify-items:center;gap:14px;padding:24px 16px;display:grid}:is(.guest-page,.private-inbox) .audio-recording-icon{box-sizing:content-box;width:44px;height:44px;color:var(--color-primary);background:#e3eadc;border-radius:50%;padding:10px}:is(.guest-page,.private-inbox) .audio-recording-timer{color:var(--color-primary);font-variant-numeric:tabular-nums;margin:0;font-size:2rem;line-height:1.2}:is(.guest-page,.private-inbox) .audio-recording-timer span{color:var(--color-muted);font-size:.875rem}:is(.guest-page,.private-inbox) .audio-recording-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}:is(.guest-page,.private-inbox) .audio-recording-panel .guest-help{max-width:380px;margin:0;font-size:.8rem}:is(.guest-page,.private-inbox) .audio-recording-panel.is-recording{border-color:var(--color-primary)}:is(.guest-page,.private-inbox) .audio-recording-panel .audio-stop-button{background:#963e34}:is(.guest-page,.private-inbox) .audio-file-option{border:1px solid #dfded4;border-radius:12px}:is(.guest-page,.private-inbox) .audio-file-option>summary{min-height:48px;color:var(--color-primary);cursor:pointer;padding:14px 16px;font-size:.9rem}:is(.guest-page,.private-inbox) .audio-file-option>div{padding:0 16px 16px}:is(.guest-page,.private-inbox) .audio-file-option input{max-width:100%;font-size:.85rem}:is(.guest-page,.private-inbox) .audio-file-option .guest-help{margin:12px 0 0;font-size:.8rem}:is(.guest-page,.private-inbox) .audio-capture-status:empty,:is(.guest-page,.private-inbox) .audio-submit-status:empty{display:none}:is(.guest-page,.private-inbox) .audio-memory-preview{background:#f1f4ed;border:1px solid #dce3d6;border-radius:12px;padding:16px}:is(.guest-page,.private-inbox) .audio-memory-preview h3{margin:0;font-size:1rem}:is(.guest-page,.private-inbox) .audio-memory-preview audio{width:100%;margin:14px 0}:is(.guest-page,.private-inbox) .audio-memory-preview p{margin-bottom:0}:is(.guest-page,.private-inbox) .memory-optional-fields{gap:16px;display:grid}:is(.guest-page,.private-inbox) .audio-note-fallback{justify-self:start}:is(.guest-page,.private-inbox) summary:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;border-radius:4px}.guest-page--photos,.guest-page--audio{padding-top:32px}.guest-page--photos h1,.guest-page--audio h1{font-size:clamp(2rem,5vw,2.65rem)}.guest-draft-notice{color:var(--color-primary);background:#eef2e8;border-radius:12px;margin:0;padding:14px 16px;font-size:.85rem;line-height:1.6}@media (width<=560px){:is(.guest-page,.private-inbox) .memory-form-footer>button{width:100%}:is(.guest-page,.private-inbox) .audio-memory-actions{flex-direction:column}:is(.guest-page,.private-inbox) .audio-memory-actions>button{width:100%}}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fraunces-latin-6IfK1voy.woff2)format("woff2")}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fraunces-italic-latin-ChpO6tcr.woff2)format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/manrope-latin-DHIcAJRg.woff2)format("woff2")}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/caveat-latin-D6LQsQ_v.woff2)format("woff2")}.guest-page{--color-primary:#3f594c;--color-primary-hover:#31463b;--color-text:#34312c;--color-muted:#6c655b;--guest-wine:#77434c;--guest-heading-font:"Fraunces", Georgia, "Times New Roman", serif;font-family:Manrope,Arial,sans-serif}.guest-page h1,.guest-page .guest-choices-heading h2,.guest-page .guest-gallery h2,.guest-page .memory-form h2,.guest-page .memory-success h3{font-family:var(--guest-heading-font);font-weight:400}.guest-page--welcome{padding-top:36px}.guest-opening{max-width:390px;margin:0 auto}.guest-page .guest-header--welcome{text-align:center;border:0;margin:0;padding:0}.guest-page--welcome .guest-eyebrow{color:var(--color-muted);letter-spacing:1.7px;margin:0;font-size:11px;font-weight:500}.guest-page .guest-header--welcome h1{color:var(--color-text);letter-spacing:-1.6px;text-wrap:balance;margin:10px -8px 25px;font-size:42px;line-height:1.12;display:block}.guest-invitation{text-align:center}.guest-invitation-copy{margin:0;font-size:14px;line-height:1.65}.guest-choices--welcome{margin-top:32px}.guest-page .guest-gallery h2{color:var(--color-text)}.guest-page .memory-choice-prompt{font-family:var(--guest-heading-font)}.guest-registry{isolation:isolate;filter:drop-shadow(0 5px 5px #40352917);grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:32px;max-width:820px;margin:48px auto 0;padding:42px 36px 35px 48px;display:grid;position:relative}.guest-registry:before{z-index:-1;clip-path:polygon(0 0,100% 0,100% calc(100% - 6px),98% calc(100% - 2px),95% calc(100% - 5px),92% 100%,89% calc(100% - 4px),86% calc(100% - 2px),83% calc(100% - 6px),80% calc(100% - 1px),77% calc(100% - 4px),74% 100%,71% calc(100% - 3px),68% calc(100% - 2px),65% calc(100% - 6px),62% calc(100% - 2px),59% calc(100% - 4px),56% 100%,53% calc(100% - 4px),50% calc(100% - 1px),47% calc(100% - 5px),44% calc(100% - 2px),41% calc(100% - 4px),38% 100%,35% calc(100% - 4px),32% calc(100% - 2px),29% calc(100% - 5px),26% 100%,23% calc(100% - 3px),20% calc(100% - 2px),17% calc(100% - 6px),14% calc(100% - 2px),11% calc(100% - 4px),8% 100%,5% calc(100% - 4px),2% calc(100% - 2px),0 calc(100% - 6px));pointer-events:none;content:"";background:radial-gradient(circle at 12px 12px,#f7f2e8 3px,#0000 3.5px) 0 0/24px 24px repeat-x,linear-gradient(90deg,#0000 28px,#bf8e8f55 28px 29px,#0000 29px),repeating-linear-gradient(0deg,#0000 0 27px,#dcd8ce66 27px 28px),#fffefa;position:absolute;inset:0}.guest-registry:after{clip-path:polygon(2% 0,98% 3%,96% 18%,100% 35%,97% 57%,99% 80%,96% 100%,1% 96%,3% 76%,0 52%,3% 28%);pointer-events:none;content:"";background:#ddd0b6b8;width:96px;height:28px;position:absolute;top:-10px;left:calc(50% - 48px);transform:rotate(-5deg)}.guest-page .guest-registry h2{color:var(--guest-wine);text-wrap:balance;margin:0 0 12px;font-family:Caveat,Segoe Print,cursive;font-size:2.1rem;font-weight:400;line-height:1.1}.guest-registry-description{max-width:430px;color:var(--color-text);margin:0;font-size:.8rem;line-height:1.9}.guest-registry-signature{color:var(--guest-wine);margin:12px 0 0;font-family:Caveat,Segoe Print,cursive;font-size:1.4rem;line-height:1.3}.guest-registry-signature span{white-space:nowrap}.guest-registry-actions{justify-items:center;gap:13px;display:grid}.guest-registry-invitation{max-width:200px;color:var(--color-muted);font-family:var(--guest-heading-font);text-align:center;text-wrap:balance;margin:0;font-size:.85rem;font-style:italic;line-height:1.5}.guest-registry-link{border:1px solid var(--color-primary);color:#fffefa;background:var(--color-primary);border-radius:10px;justify-content:center;align-items:center;gap:14px;min-height:46px;padding:12px 18px;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .16s,box-shadow .16s;display:inline-flex}.guest-registry-link:hover{background:var(--color-primary-hover);box-shadow:0 4px 10px #3f594c26}.guest-registry-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}.guest-registry-link svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}.guest-registry-password{color:var(--color-muted);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px;margin:0;font-size:.7rem;display:flex}.guest-registry-password span{color:var(--guest-wine);letter-spacing:.06em;-webkit-user-select:all;user-select:all;font-size:.75rem}@media (width<=680px){.guest-registry{grid-template-columns:minmax(0,1fr);gap:24px;max-width:440px;margin-top:42px;padding:38px 28px 34px 42px}.guest-page .guest-registry h2{font-size:2rem}.guest-registry-actions{gap:12px}.guest-registry-invitation{max-width:240px}}@media (prefers-reduced-motion:reduce){.guest-registry-link{transition:none}}@media (width<=560px){.guest-page--welcome{padding:29px 26px 32px}}@media (width<=360px){.guest-page--welcome{padding:25px 20px 30px}}@media (width>=800px){.guest-page--welcome{padding-top:64px}.guest-opening{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:clamp(42px,6vw,80px);max-width:920px;min-height:540px;padding:12px 12px 30px;display:grid}.guest-opening>.guest-header{align-self:end}.guest-page .guest-header--welcome h1{letter-spacing:-.045em;margin:18px 0 30px;font-size:clamp(3.4rem,5vw,4.4rem)}.guest-opening>.couple-scrapbook{grid-area:1/2/3}.guest-opening>.guest-invitation{align-self:start}.guest-invitation-copy{font-size:15px}}
