:root{--shu:#b33b2e;--shu-deep:#8c2e24;--shu-soft:#c9564a;--kin:#b8952e;--kin-soft:#d4b856;--kin-pale:#e8d9a0;--sumi:#1e1a16;--sumi-soft:#3a342c;--kuro-cha:#2a2019;--washi:#f5efe3;--washi-warm:#ede5d4;--washi-dark:#e3d9c4;--tatami:#c8b88a;--matcha:#5a7a52;--gray-1:#8a847a;--gray-2:#a8a298;--border:#d8d0c0;--serif:var(--font-cormorant,"Cormorant Garamond", "Times New Roman", serif);--min:var(--font-shippori,"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif);--sans:var(--font-jost,"Jost", "Helvetica Neue", sans-serif);--bg-ivory:var(--washi);--bg-warm:var(--washi-warm);--accent-gold:var(--kin-soft);--text-main:var(--sumi);--text-muted:var(--gray-1);--footer-bg:var(--sumi);--border-soft:var(--border);--surface-white:#fff;--font-playfair:var(--serif);--font-mincho:var(--min);--font-sans:var(--sans)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;background:#111}body{font-family:var(--min);color:var(--sumi);background:#111;justify-content:center;line-height:1.6;display:flex}@media (min-width:500px){body{padding:40px 20px 80px}#__next{border-radius:2px}}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.landing-shell{place-items:center;width:100%;min-height:100vh;padding:24px;display:grid}.landing-card{text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf9d1;border:1px solid #b8952e47;width:min(100%,720px);padding:48px 32px;box-shadow:0 24px 80px #2c2c2c14}.landing-kicker{color:var(--kin-soft);letter-spacing:.24em;text-transform:uppercase;margin:0 0 12px;font-size:.85rem}.landing-title{font-family:var(--serif);letter-spacing:.08em;margin:0;font-size:clamp(2.8rem,8vw,5rem);font-weight:400}.landing-copy{max-width:36rem;color:var(--gray-1);margin:20px auto 0;line-height:1.9}.invitation-shell{background:var(--washi);width:100%;max-width:440px;min-height:100vh;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000080}.inv-intro{z-index:9999;background:var(--sumi);cursor:pointer;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.inv-intro.exit{animation:1.2s cubic-bezier(.76,0,.24,1) forwards introOut}@keyframes introOut{to{opacity:0;pointer-events:none}}.inv-intro-bg{z-index:0;position:absolute;inset:0}.inv-intro-bg img{-o-object-fit:cover;object-fit:cover;-o-object-position:center 30%;object-position:center 30%;filter:brightness(.2)saturate(.6);width:100%;height:100%}.inv-intro-crack{background:linear-gradient(180deg, transparent 0%, var(--kin-soft) 30%, var(--kin-soft) 70%, transparent 100%);width:2px;animation:.8s cubic-bezier(.16,1,.3,1) .3s forwards crackG;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)scaleY(0)}@keyframes crackG{0%{opacity:0;transform:translate(-50%)scaleY(0)}20%{opacity:1}to{opacity:1;transform:translate(-50%)scaleY(1)}}.inv-intro-door{background:var(--sumi);width:52%;animation-duration:1.4s;animation-timing-function:cubic-bezier(.76,0,.24,1);animation-delay:1s;animation-fill-mode:forwards;position:absolute;top:0;bottom:0}.inv-intro-door.left{animation-name:doorL;left:0}.inv-intro-door.right{animation-name:doorR;right:0}@keyframes doorL{to{transform-origin:0;transform:scaleX(0)}}@keyframes doorR{to{transform-origin:100%;transform:scaleX(0)}}.inv-intro-ctr{z-index:10;text-align:center;color:var(--washi);flex-direction:column;align-items:center;display:flex;position:relative}.inv-intro-ctr>*{opacity:0;animation:.9s forwards iRise;transform:translateY(8px)}.inv-intro-ctr>:first-child{animation-delay:1.5s}.inv-intro-ctr>:nth-child(2){animation-delay:1.75s}.inv-intro-ctr>:nth-child(3){animation-delay:2s}@keyframes iRise{to{opacity:1;transform:none}}.inv-intro-tap{z-index:10;color:#fff8e699;font-family:var(--min);letter-spacing:.4em;cursor:pointer;opacity:0;background:0 0;border:1px solid #fff8e64d;padding:10px 20px;font-size:11px;animation:.9s 2.2s forwards iRise;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.invite-hero{color:#fff;flex-direction:column;justify-content:center;align-items:center;height:100svh;min-height:680px;max-height:920px;padding:0 32px;display:flex;position:relative;overflow:hidden}.hero-slides{z-index:0;position:absolute;inset:0}.hero-slides .slide{opacity:0;transition:opacity 1.6s ease-in-out;position:absolute;inset:0}.hero-slides .slide.active{opacity:1}.hero-slides .slide img{-o-object-fit:cover;object-fit:cover;-o-object-position:center 30%;object-position:center 30%;width:100%;height:100%;display:block}.invite-hero:before{content:"";z-index:1;background:linear-gradient(#14100c40 0%,#14100c14 50%,#14100c26 70%,#14100c80 100%);position:absolute;inset:0}.hero-center-block{z-index:2;flex-direction:column;align-items:center;display:flex;position:relative}.hero-title-frame{justify-content:center;align-items:center;width:120px;height:200px;display:flex;position:relative}.hero-title-frame .corner{border-style:solid;border-color:#ffffffd9;width:22px;height:22px;position:absolute}.hero-title-frame .corner.tl{border-width:1.5px 0 0 1.5px;top:0;left:0}.hero-title-frame .corner.tr{border-width:1.5px 1.5px 0 0;top:0;right:0}.hero-title-frame .corner.bl{border-width:0 0 1.5px 1.5px;bottom:0;left:0}.hero-title-frame .corner.br{border-width:0 1.5px 1.5px 0;bottom:0;right:0}.hero-title-tate{writing-mode:vertical-rl;font-family:var(--min);letter-spacing:.35em;color:#fff;text-shadow:0 2px 20px #0006;font-size:44px;font-weight:400}.hero-names-row{z-index:2;justify-content:center;align-items:center;gap:24px;margin-top:36px;display:flex;position:relative}.hero-name-single{font-family:var(--min);letter-spacing:.2em;color:#fff;text-shadow:0 1px 12px #0006;font-size:26px;font-weight:400}.mizuhiki{opacity:.9;width:44px;height:44px}.hero-date{z-index:2;font-family:var(--sans);letter-spacing:.35em;color:#fff8e6cc;margin-top:18px;font-size:14px;font-weight:300;position:relative}.hero-scroll{z-index:2;color:#fff0d280;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.hero-scroll .sw{font-family:var(--min);letter-spacing:.4em;font-size:9px}.hero-scroll .sl{background:linear-gradient(#fff0d299,#0000);width:1px;height:36px;animation:2.4s ease-in-out infinite scrollP}@keyframes scrollP{0%,to{transform-origin:top;opacity:.3;transform:scaleY(.5)}50%{opacity:.8;transform:scaleY(1)}}.hero-dots{z-index:2;gap:8px;display:flex;position:absolute;bottom:110px;left:50%;transform:translate(-50%)}.hero-dots .dot{cursor:pointer;background:#ffffff4d;border:none;border-radius:50%;width:6px;height:6px;transition:all .4s}.hero-dots .dot.on{background:#ffffffe6;transform:scale(1.3)}.invite-section{padding:72px 32px;position:relative}.invite-section.bg-washi{background:var(--washi)}.invite-section.bg-warm{background:var(--washi-warm)}.invite-section.bg-sumi{background:var(--sumi);color:var(--washi)}.sec-head{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:40px;display:flex}.sec-title{font-family:var(--min);letter-spacing:.15em;font-size:22px;font-style:normal}.sec-orn{color:var(--kin);align-items:center;gap:10px;display:flex}.sec-orn .l{opacity:.5;background:currentColor;width:24px;height:1px}.sec-orn .d{background:currentColor;border-radius:50%;width:4px;height:4px}.invite-section.bg-sumi .sec-orn{color:var(--kin-soft)}.invite-section.bg-sumi .sec-title{color:var(--washi)}.inv-countdown-section{background:var(--washi);padding:72px 32px}.inv-countdown-grid{grid-template-columns:repeat(4,1fr);gap:12px;max-width:320px;margin:0 auto;display:grid}.inv-countdown-unit{text-align:center;border:1px solid var(--border);background:#fff;padding:18px 0}.inv-countdown-value{font-family:var(--serif);color:var(--shu);font-size:36px;font-style:italic;line-height:1}.inv-countdown-label{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gray-1);margin-top:6px;font-size:8px;display:block}.inv-countdown-kicker{text-align:center;font-family:var(--serif);letter-spacing:.1em;color:var(--sumi-soft);margin-top:24px;font-size:16px;font-style:italic}.photo-divider{width:100%;height:280px;position:relative;overflow:hidden}.photo-divider img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.inv-greeting-text{font-family:var(--min);letter-spacing:.08em;text-align:center;white-space:pre-line;color:var(--sumi-soft);font-size:13.5px;line-height:2.5}.inv-greeting-sig{text-align:center;margin-top:32px}.inv-greeting-sig .names{font-family:var(--min);letter-spacing:.4em;padding-left:.4em;font-size:20px}.inv-profiles{flex-direction:column;gap:48px;display:flex}.inv-profile-card{flex-direction:column;align-items:center;gap:20px;display:flex}.inv-profile-photo{border:3px solid var(--kin-pale);border-radius:50%;width:180px;height:180px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.inv-profile-photo img{-o-object-fit:cover;object-fit:cover;-o-object-position:center 20%;object-position:center 20%;width:100%;height:100%}.inv-profile-role{font-family:var(--sans);letter-spacing:.5em;text-transform:uppercase;color:var(--kin);font-size:9px}.inv-profile-name{font-family:var(--min);letter-spacing:.3em;padding-left:.3em;font-size:22px}.inv-profile-items{flex-direction:column;width:100%;max-width:280px;display:flex}.inv-profile-row{border-bottom:1px solid var(--border);grid-template-columns:72px 1fr;gap:12px;padding:10px 0;font-size:13px;display:grid}.inv-profile-row:last-child{border-bottom:none}.inv-profile-key{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gray-1);padding-top:2px;font-size:9px}.inv-profile-val{font-family:var(--min);letter-spacing:.05em;color:var(--sumi-soft);white-space:pre-line}.inv-profile-divider{color:var(--kin);justify-content:center;align-items:center;gap:16px;padding:8px 0;display:flex}.inv-profile-divider .l{background:var(--border);width:60px;height:1px}.inv-profile-divider .heart{font-family:var(--serif);color:var(--shu-soft);font-size:18px;font-style:italic}.inv-album-wrap{width:calc(100% + 64px);margin-left:-32px;position:relative;overflow:hidden}.inv-album-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:10px;padding:0 32px;display:flex;overflow-x:auto}.inv-album-track::-webkit-scrollbar{display:none}.inv-album-item{scroll-snap-align:center;aspect-ratio:3/4;border-radius:2px;flex:0 0 75%;position:relative;overflow:hidden}.inv-album-item img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.inv-album-dots{justify-content:center;gap:6px;margin-top:20px;display:flex}.inv-album-dots button{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:5px;height:5px;transition:all .3s}.inv-album-dots button.on{background:var(--shu);transform:scale(1.4)}.inv-event-card{border:1px solid var(--border);background:#fff;padding:40px 24px}.inv-ev-row{border-bottom:1px dashed var(--border);grid-template-columns:68px 1fr;align-items:start;gap:16px;padding:18px 0;display:grid}.inv-ev-row:last-child{border-bottom:none}.inv-ev-key{font-family:var(--min);letter-spacing:.4em;color:var(--shu);font-size:11px}.inv-ev-key .en{font-family:var(--serif);letter-spacing:.15em;color:var(--gray-2);margin-top:3px;font-size:10px;font-style:italic;display:block}.inv-ev-val{font-family:var(--min);letter-spacing:.06em;color:var(--sumi);font-size:14px;line-height:1.7}.inv-ev-val .sub{font-family:var(--sans);color:var(--gray-1);letter-spacing:.1em;margin-top:4px;font-size:11px;display:block}.inv-map-btn{background:var(--sumi);width:100%;color:var(--washi);cursor:pointer;font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;border:none;justify-content:center;align-items:center;gap:10px;margin-top:28px;padding:16px;font-size:11px;text-decoration:none;transition:background .2s;display:flex}.inv-map-btn:hover{background:var(--kuro-cha)}.inv-access-rows{margin-top:32px}.inv-acc-row{border-bottom:1px solid var(--border);grid-template-columns:80px 1fr;gap:16px;padding:16px 0;display:grid}.inv-acc-row:last-child{border-bottom:none}.inv-acc-key{font-family:var(--min);letter-spacing:.25em;text-transform:none;color:var(--shu);padding-top:2px;font-size:9px}.inv-acc-val{font-family:var(--min);letter-spacing:.04em;color:var(--sumi-soft);font-size:13px;line-height:1.9}.inv-acc-note{background:var(--washi-warm);border-left:2px solid var(--shu);font-family:var(--min);letter-spacing:.08em;color:var(--gray-1);margin-top:24px;padding:16px 18px;font-size:12px;line-height:1.9}.inv-rsvp-deadline{font-family:var(--sans);letter-spacing:.12em;background:#ffffff14;border:1px solid #fff0d226;align-items:center;gap:8px;margin-bottom:24px;padding:6px 14px;font-size:11px;display:inline-flex}.invite-section.bg-washi .inv-rsvp-deadline{border-color:var(--border);background:#0000000a}.inv-rsvp-deadline .dl{color:var(--kin-soft);font-family:var(--serif);font-style:italic}.rsvp-inline-form{width:100%;margin-top:8px}.rf-field{margin-bottom:22px}.rf-field label,.rf-field .rf-field-label{font-family:var(--sans);letter-spacing:.25em;text-transform:uppercase;color:#fff0d2b3;margin-bottom:8px;font-size:10px;display:block}.invite-section.bg-washi .rf-field label,.invite-section.bg-washi .rf-field .rf-field-label{color:var(--gray-1)}.rf-field label .req{color:var(--shu-soft);margin-left:3px}.rf-field input[type=text],.rf-field input[type=email],.rf-field input[type=tel],.rf-field textarea,.guest-input,.guest-textarea{width:100%;font-family:var(--serif);color:var(--washi);letter-spacing:.02em;background:0 0;border:none;border-bottom:1px solid #fff0d233;outline:none;padding:10px 0;font-size:16px;transition:border-color .2s}.invite-section.bg-washi .rf-field input[type=text],.invite-section.bg-washi .rf-field input[type=email],.invite-section.bg-washi .rf-field input[type=tel],.invite-section.bg-washi .rf-field textarea,.invite-section.bg-washi .guest-input,.invite-section.bg-washi .guest-textarea{color:var(--sumi);border-bottom-color:var(--border)}.rf-field input::-moz-placeholder{color:#fff0d24d;font-size:14px;font-style:italic}.rf-field textarea::-moz-placeholder{color:#fff0d24d;font-size:14px;font-style:italic}.guest-input::-moz-placeholder{color:#fff0d24d;font-size:14px;font-style:italic}.guest-textarea::-moz-placeholder{color:#fff0d24d;font-size:14px;font-style:italic}.rf-field input::placeholder,.rf-field textarea::placeholder,.guest-input::placeholder,.guest-textarea::placeholder{color:#fff0d24d;font-size:14px;font-style:italic}.invite-section.bg-washi .rf-field input::-moz-placeholder{color:var(--gray-2)}.invite-section.bg-washi .rf-field textarea::-moz-placeholder{color:var(--gray-2)}.invite-section.bg-washi .guest-input::-moz-placeholder{color:var(--gray-2)}.invite-section.bg-washi .guest-textarea::-moz-placeholder{color:var(--gray-2)}.invite-section.bg-washi .rf-field input::placeholder,.invite-section.bg-washi .rf-field textarea::placeholder,.invite-section.bg-washi .guest-input::placeholder,.invite-section.bg-washi .guest-textarea::placeholder{color:var(--gray-2)}.rf-field input:focus,.rf-field textarea:focus,.guest-input:focus,.guest-textarea:focus{border-bottom-color:var(--kin-soft)}.rf-field textarea,.guest-textarea{resize:vertical;min-height:80px;line-height:1.6}.rf-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.rf-seg{grid-template-columns:1fr 1fr;gap:8px;display:grid}.rf-seg button{appearance:none;font-family:var(--min);color:var(--washi);cursor:pointer;letter-spacing:.1em;background:#ffffff0a;border:1px solid #fff0d226;padding:16px 0;font-size:15px;transition:all .2s}.rf-seg button:hover{border-color:var(--kin-soft)}.invite-section.bg-washi .rf-seg button{border-color:var(--border);color:var(--sumi);background:#fff}.rf-seg button.active,.invite-section.bg-washi .rf-seg button.active{background:var(--shu);color:#fff;border-color:var(--shu)}.rf-submit,.rsvp-button{background:var(--kin);width:100%;color:var(--sumi);cursor:pointer;font-family:var(--serif);letter-spacing:.1em;border:none;margin-top:16px;padding:20px;font-size:17px;font-style:italic;transition:all .3s}.rf-submit:hover:not(:disabled),.rsvp-button:hover:not(:disabled){background:var(--kin-soft);letter-spacing:.14em}.rf-submit:disabled,.rsvp-button:disabled{opacity:.4;cursor:not-allowed}.rf-submit .arr{margin-left:10px;transition:transform .2s;display:inline-block}.rf-submit:hover:not(:disabled) .arr{transform:translate(4px)}.inv-rsvp-desc{font-family:var(--min);text-align:center;color:#fff0d2b3;font-size:13px;line-height:1.9}.invite-section.bg-washi .inv-rsvp-desc{color:var(--gray-1)}.inv-rsvp-btn{background:var(--kin);width:100%;color:var(--sumi);cursor:pointer;font-family:var(--serif);letter-spacing:.1em;border:none;justify-content:center;align-items:center;margin-top:16px;padding:20px;font-size:17px;font-style:italic;transition:all .3s;display:flex}.inv-rsvp-btn:hover{background:var(--kin-soft)}.rsvp-ok{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:40px 16px;display:flex}.rsvp-ok .chk{border:1px solid var(--kin-soft);width:56px;height:56px;font-family:var(--serif);color:var(--kin-soft);border-radius:50%;justify-content:center;align-items:center;font-size:26px;font-style:italic;display:flex}.rsvp-ok .msg{font-family:var(--serif);font-size:22px;font-style:italic}.rsvp-ok .smsg{font-family:var(--min);color:#fff0d2b3;font-size:13px;line-height:2}.invite-section.bg-washi .rsvp-ok .smsg{color:var(--gray-1)}.guest-field{flex-direction:column;gap:8px;display:flex}.guest-label{font-family:var(--sans);letter-spacing:.25em;text-transform:uppercase;color:#fff0d2b3;font-size:10px}.invite-section.bg-washi .guest-label{color:var(--gray-1)}.guest-companion-stack{flex-direction:column;gap:10px;display:flex}.guest-companion-card{background:#ffffff0a;border:1px solid #fff0d226;flex-direction:column;gap:8px;padding:14px;display:flex}.guest-companion-card input[type=text]{width:100%;font-family:var(--serif);color:var(--washi);letter-spacing:.02em;background:0 0;border:none;border-bottom:1px solid #fff0d233;outline:none;padding:8px 0;font-size:15px;transition:border-color .2s}.guest-companion-card input[type=text]::placeholder{color:#fff0d24d;font-size:13px;font-style:italic}.guest-companion-card input[type=text]:focus{border-bottom-color:var(--kin-soft)}.invite-section.bg-washi .guest-companion-card input[type=text]{color:var(--sumi);border-bottom-color:var(--border)}.invite-section.bg-washi .guest-companion-card input[type=text]::placeholder{color:var(--gray-2)}.guest-companion-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.invite-section.bg-washi .guest-companion-card{border-color:var(--border);background:#00000005}.guest-companion-card__header{color:#fff0d299;justify-content:space-between;align-items:center;font-size:13px;display:flex}.invite-section.bg-washi .guest-companion-card__header{color:var(--gray-1)}.add-companion-button{color:#fff0d280;font-family:var(--min);cursor:pointer;background:0 0;border:1px dashed #fff0d233;align-items:center;gap:6px;width:100%;padding:12px 14px;font-size:14px;display:flex}.invite-section.bg-washi .add-companion-button{border-color:var(--border);color:var(--gray-1)}.ghost-button-sm{color:#fff0d299;font:inherit;cursor:pointer;background:0 0;border:1px solid #fff0d233;padding:4px 10px;font-size:12px}.invite-section.bg-washi .ghost-button-sm{border-color:var(--border);color:var(--gray-1)}.rf-req-note{text-align:center;font-family:var(--sans);letter-spacing:.2em;color:#fff0d24d;text-transform:uppercase;margin-top:14px;font-size:9px}.invite-section.bg-washi .rf-req-note{color:var(--gray-2)}.invite-footer{text-align:center;background:var(--sumi);color:#f5efe380;padding:48px 32px}.invite-footer .fc{font-family:var(--min);color:var(--washi);letter-spacing:.3em;font-size:20px;font-style:normal}.invite-footer .fd{font-family:var(--sans);letter-spacing:.5em;margin-top:8px;font-size:10px}.invite-footer .fv{font-family:var(--sans);letter-spacing:.15em;color:#f5efe340;margin-top:20px;font-size:8px}.rev{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(14px)}.rev.vis{opacity:1;transform:none}.form-error{color:var(--shu-soft);margin:0;font-size:13px}.detail-card,.status-screen__card{background:#fffdf9e0;border:1px solid #c4a76c38;border-radius:28px;margin-top:24px;padding:28px;box-shadow:0 22px 60px #2c2c2c0f}.section-heading p,.admin-sidebar__eyebrow,.label{color:var(--kin-soft);letter-spacing:.24em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem}.section-heading h2,.admin-header h1{font-family:var(--serif);letter-spacing:.05em;margin:0;font-weight:400}.section-heading--center{text-align:center}.detail-list{gap:20px;display:grid}.detail-list dt{color:var(--gray-1);margin-bottom:8px;font-size:.92rem}.detail-list dd{margin:0;line-height:1.8}.access-url-box{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.access-url-box__text{color:var(--gray-1);word-break:break-all;font-family:monospace;font-size:.85rem}.map-link,.primary-button{color:#fffaf4;letter-spacing:.08em;background:linear-gradient(135deg,#d1b27a,#b99655);border:1px solid #c4a76c73;border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:0 22px;font-weight:600;display:inline-flex}.gallery-upload-area{flex-direction:column;gap:8px;margin-top:20px;display:flex}.gallery-upload-label{cursor:pointer}.gallery-upload-button{cursor:pointer;display:inline-flex}.gallery-manage-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.gallery-manage-item{flex-direction:column;gap:6px;display:flex}.gallery-manage-thumb{aspect-ratio:3/4;background:#f0ece6;border-radius:6px;position:relative;overflow:hidden}.gallery-manage-remove{color:#b99655;cursor:pointer;background:0 0;border:1px solid #c4a76c73;border-radius:999px;align-self:center;padding:4px 8px;font-size:12px}.secondary-button{min-height:40px;color:var(--kin-soft);letter-spacing:.05em;cursor:pointer;background:0 0;border:1px solid #c4a76c73;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-weight:500;display:inline-flex}.secondary-button:disabled{opacity:.4;cursor:not-allowed}.form-row{align-items:flex-end;gap:8px;display:flex}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.gallery-card{border-radius:20px;overflow:hidden}.gallery-card img{aspect-ratio:.85;-o-object-fit:cover;object-fit:cover}.status-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.status-screen__card{width:min(100%,780px)}.form-card--wide{max-width:960px}.stack-form{gap:18px;margin-top:24px;display:grid}.identify-mode-tabs{border:1px solid #c4a76c66;border-radius:8px;gap:0;margin-top:20px;display:flex;overflow:hidden}.identify-mode-tab{color:var(--kin-soft);font:inherit;letter-spacing:.05em;cursor:pointer;background:0 0;border:none;flex:1;padding:10px 0;font-size:13px;transition:background .15s}.identify-mode-tab+.identify-mode-tab{border-left:1px solid #c4a76c66}.identify-mode-tab--active{background:var(--kin-soft);color:#fff;font-weight:600}.form-grid{gap:16px;display:grid}.form-field{gap:8px;display:grid}.form-field span,.radio-card-group legend{color:var(--gray-1);font-size:.92rem}.form-field input,.form-field textarea{border:1px solid var(--border);width:100%;color:var(--sumi);font:inherit;background:#ffffffe6;border-radius:16px;padding:14px 16px}.radio-card-group{border:0;margin:0;padding:0}.radio-card-group__options{gap:12px;margin-top:10px;display:grid}.radio-card{border:1px solid var(--border);border-radius:18px;align-items:center;min-height:58px;padding:0 18px;display:flex;position:relative}.radio-card input{margin-right:12px}.companion-stack{gap:16px;display:grid}.companion-card{background:#f3ebe266;border:1px solid #c4a76c33;border-radius:20px;padding:18px}.guest-page{background:var(--washi);justify-content:center;min-height:100vh;display:flex}.guest-screen{flex-direction:column;width:100%;max-width:480px;min-height:100vh;display:flex}.verify-hero{text-align:center;background:linear-gradient(#70614a 0%,#b89e75 100%);flex-direction:column;justify-content:center;align-items:center;gap:14px;height:260px;padding:24px;display:flex}.verify-hero__eyebrow{color:#fff;font-family:var(--serif);letter-spacing:.24em;text-transform:uppercase;margin:0;font-size:12px;font-weight:400}.verify-hero__title{color:#fff;font-family:var(--min);letter-spacing:.08em;margin:0;font-size:28px;font-weight:400}.verify-hero__names{color:#fff;font-family:var(--serif);letter-spacing:.2em;margin:0;font-size:20px;font-weight:400}.verify-body{background:var(--washi-warm);flex-direction:column;flex:1;gap:24px;padding:32px 24px;display:flex}.verify-body__desc{color:var(--gray-1);font-family:var(--min);margin:0;font-size:13px;line-height:1.9}.verify-form{flex-direction:column;gap:14px;display:flex}.rsvp-header{background:var(--washi-warm);flex-direction:column;gap:10px;padding:28px 24px;display:flex}.rsvp-header__eyebrow{color:var(--kin-soft);font-family:var(--serif);letter-spacing:.25em;text-transform:uppercase;margin:0;font-size:12px;font-weight:400}.rsvp-header__title{color:var(--sumi);font-family:var(--min);letter-spacing:.06em;margin:0;font-size:24px;font-weight:400}.rsvp-header__sub{color:var(--gray-1);letter-spacing:.04em;margin:0;font-size:12px}.rsvp-body{background:var(--washi);flex-direction:column;flex:1;gap:14px;padding:20px;display:flex}.rsvp-done{background:var(--washi-warm);text-align:center;flex-direction:column;flex:1;align-items:center;gap:20px;padding:40px 24px;display:flex}.rsvp-done__title{font-family:var(--min);color:var(--sumi);margin:0;font-size:24px;font-weight:400}.rsvp-done__desc{color:var(--gray-1);margin:0;font-size:14px;line-height:1.8}.rsvp-group-code-box{border:1px solid var(--border);background:var(--washi);flex-direction:column;gap:8px;width:100%;padding:16px;display:flex}.rsvp-group-code-box__label{color:var(--gray-1);margin:0;font-size:12px}.rsvp-group-code-box__code{font-family:var(--serif);letter-spacing:.12em;color:var(--sumi);margin:0;font-size:22px}.verify-button{background:var(--sumi);color:#fff;width:100%;font:inherit;letter-spacing:.04em;cursor:pointer;border:none;border-radius:4px;padding:15px;font-size:15px}.verify-button:disabled{opacity:.55;cursor:not-allowed}.admin-shell{grid-template-columns:260px 1fr;width:100%;min-height:100vh;display:grid}body:has(.admin-shell){align-items:stretch;padding:0}.admin-sidebar{color:#fff8f0;background:#2a2621;padding:28px 20px}.admin-sidebar nav{gap:12px;margin-top:24px;display:grid}.admin-sidebar a{background:#ffffff0d;border-radius:14px;padding:12px 14px}.admin-content{color:var(--sumi);background:#faf8f5;padding:24px}.admin-header{margin-bottom:20px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.stats-card{background:#fffdf9e0;border:1px solid #c4a76c38;border-radius:24px;padding:22px}.stats-card span{color:var(--gray-1);display:block}.stats-card strong{font-size:2rem;font-family:var(--serif);margin-top:12px;font-weight:400;display:block}.admin-table-wrap{padding:12px 0;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #c4a76c2e;padding:16px 12px}.admin-empty-state{color:var(--gray-1);padding:24px 0}.admin-empty-state p{margin:0}.response-name-cell{gap:6px;display:grid}.response-name-cell strong{font-size:.98rem}.response-name-cell span{color:var(--gray-1);font-size:.86rem}.response-companion-list{gap:10px;margin:0;padding-left:18px;display:grid}.response-companion-list li{gap:4px;display:grid}.response-companion-list span{color:var(--gray-1);font-size:.86rem}@media (max-width:640px){.landing-card{padding:40px 24px}.gallery-grid,.form-grid,.admin-shell,.details-grid{grid-template-columns:1fr}.admin-shell{display:block}.admin-sidebar{border-radius:0 0 24px 24px}}@media (min-width:720px){.details-grid,.form-grid,.access-card,.detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}.status-screen__card{padding:36px}}.desktop-shell{width:100%}.desktop-photo-panel{display:none}@media (min-width:900px){body{background:#0e0c0a;align-items:flex-start;padding:0}.desktop-shell{align-items:flex-start;max-width:1120px;min-height:100vh;margin:0 auto;display:flex;box-shadow:0 0 120px #0009}.desktop-photo-panel{flex-shrink:0;width:460px;height:100vh;display:block;position:sticky;top:0;overflow:hidden}.dpp-slide{opacity:0;transition:opacity 1.8s ease-in-out;position:absolute;inset:0}.dpp-slide.active{opacity:1}.dpp-overlay{z-index:2;background:linear-gradient(#14100c38 0%,#14100c14 55%,#14100ca6 100%);flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:56px;display:flex;position:absolute;inset:0}.dpp-frame{pointer-events:none;position:absolute;inset:28px}.dpp-frame .corner{border-style:solid;border-color:#ffffff73;width:26px;height:26px;position:absolute}.dpp-frame .corner.tl{border-width:1.5px 0 0 1.5px;top:0;left:0}.dpp-frame .corner.tr{border-width:1.5px 1.5px 0 0;top:0;right:0}.dpp-frame .corner.bl{border-width:0 0 1.5px 1.5px;bottom:0;left:0}.dpp-frame .corner.br{border-width:0 1.5px 1.5px 0;bottom:0;right:0}.dpp-content{z-index:3;flex-direction:column;align-items:center;display:flex;position:relative}.dpp-names{font-family:var(--min);letter-spacing:.2em;color:#fff;text-shadow:0 2px 20px #00000080;align-items:center;gap:20px;font-size:28px;display:flex}.dpp-names .mizuhiki{width:48px;height:48px}.dpp-date{font-family:var(--sans);letter-spacing:.45em;color:#fff8e6a6;margin-top:14px;font-size:12px;font-weight:300}.dpp-venue{font-family:var(--sans);letter-spacing:.18em;color:#fff8e64d;text-transform:uppercase;margin-top:10px;font-size:8px}.invitation-shell{max-width:none;box-shadow:none;flex:1;overflow:visible}.invite-hero{display:none}}
