:root{--sumi:#17140f;--kinari:#f2efe7;--shiro:#fbfaf7;--seiheki:#41645c;--seiheki-d:#2c453f;--usuzumi:#6b655c;--keisen:#d8d2c4;--bg:var(--kinari);--bg-alt:var(--shiro);--surface:var(--shiro);--text:var(--sumi);--text-sub:var(--usuzumi);--rule:var(--keisen);--accent:var(--seiheki);--accent-strong:var(--seiheki-d);--on-accent:var(--shiro);--hero-overlay:linear-gradient(to bottom, #f2efe74d 0%, #f2efe775 46%, #f2efe7b8 100%);--hero-text:var(--sumi);--hero-text-sub:var(--usuzumi);--hero-rule:#17140f73;--font-mincho:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;--font-gothic:"Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--page-px:clamp(20px, 6vw, 56px);--section-py:clamp(72px, 13vw, 136px);--measure:34em;--tap:44px;--shadow-1:0 1px 2px #17140f0d, 0 2px 6px #17140f0d;--shadow-2:0 2px 4px #17140f0f, 0 6px 16px #17140f14;--shadow-3:0 4px 10px #17140f14, 0 14px 32px #17140f1f;--shadow-press:0 1px 2px #17140f1a;--shadow-accent:0 2px 6px #2c453f3d, 0 8px 20px #2c453f2e;--shadow-accent-lift:0 5px 12px #2c453f47, 0 16px 34px #2c453f38;--notch:clamp(11px, 2.8vw, 20px);--card-inset:clamp(12px, 4vw, 56px);--radius:2px;--radius-control:8px;--title-align:center;--title-rule-mx:auto}
:root{--kin:#b08d4f;--kin-l:#d8c091;--mon-seigaiha:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M0 30 A30 30 0 0 1 60 30'/%3E%3Cpath d='M7.5 30 A22.5 22.5 0 0 1 52.5 30'/%3E%3Cpath d='M15 30 A15 15 0 0 1 45 30'/%3E%3Cpath d='M22.5 30 A7.5 7.5 0 0 1 37.5 30'/%3E%3Cpath d='M-30 60 A30 30 0 0 1 30 60'/%3E%3Cpath d='M-22.5 60 A22.5 22.5 0 0 1 22.5 60'/%3E%3Cpath d='M-15 60 A15 15 0 0 1 15 60'/%3E%3Cpath d='M-7.5 60 A7.5 7.5 0 0 1 7.5 60'/%3E%3Cpath d='M30 60 A30 30 0 0 1 90 60'/%3E%3Cpath d='M37.5 60 A22.5 22.5 0 0 1 82.5 60'/%3E%3Cpath d='M45 60 A15 15 0 0 1 75 60'/%3E%3Cpath d='M52.5 60 A7.5 7.5 0 0 1 67.5 60'/%3E%3C/g%3E%3C/svg%3E");--mon-shippo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.5'%3E%3Ccircle cx='0' cy='0' r='28.284'/%3E%3Ccircle cx='40' cy='0' r='28.284'/%3E%3Ccircle cx='0' cy='40' r='28.284'/%3E%3Ccircle cx='40' cy='40' r='28.284'/%3E%3Ccircle cx='20' cy='20' r='28.284'/%3E%3C/g%3E%3C/svg%3E");--mon-asanoha:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='104' viewBox='0 0 60 104'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.4'%3E%3Cpath d='M30 0 L60 17.32 L60 51.96 L30 69.28 L0 51.96 L0 17.32 Z'/%3E%3Cpath d='M30 0 L30 69.28 M0 17.32 L60 51.96 M60 17.32 L0 51.96'/%3E%3Cpath d='M0 17.32 L30 34.64 L60 17.32 M0 51.96 L30 34.64 L60 51.96'/%3E%3Cpath d='M30 69.28 L60 86.6 L60 104 M30 69.28 L0 86.6 L0 104'/%3E%3Cpath d='M0 86.6 L30 104 L60 86.6'/%3E%3C/g%3E%3C/svg%3E");--mon-koushi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M0 0.5 H24 M0.5 0 V24'/%3E%3C/g%3E%3C/svg%3E");--washi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");--mon:var(--mon-asanoha);--mon-size:60px 104px}.mon{background-color:var(--mon-color,var(--rule));-webkit-mask-image:var(--mon,var(--mon-seigaiha));-webkit-mask-image:var(--mon,var(--mon-seigaiha));mask-image:var(--mon,var(--mon-seigaiha));-webkit-mask-size:var(--mon-size,60px 60px);-webkit-mask-size:var(--mon-size,60px 60px);mask-size:var(--mon-size,60px 60px);pointer-events:none;-webkit-mask-repeat:repeat;mask-repeat:repeat}.mon--fade{-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:var(--mon,var(--mon-seigaiha)), var(--mon-fade,radial-gradient(circle at 50% 50%, #000 20%, transparent 72%));-webkit-mask-image:var(--mon,var(--mon-seigaiha)), var(--mon-fade,radial-gradient(circle at 50% 50%, #000 20%, transparent 72%));mask-image:var(--mon,var(--mon-seigaiha)), var(--mon-fade,radial-gradient(circle at 50% 50%, #000 20%, transparent 72%));-webkit-mask-size:var(--mon-size,60px 60px), 100% 100%;-webkit-mask-size:var(--mon-size,60px 60px), 100% 100%;mask-size:var(--mon-size,60px 60px), 100% 100%;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--bg)}body{color:var(--text);font-family:var(--font-gothic);font-feature-settings:"palt" 1;letter-spacing:.04em;overflow-wrap:break-word;word-break:normal;line-break:strict;background:0 0;margin:0;font-size:17px;line-height:1.9;transition:background-color .4s,color .4s}h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,svg,iframe{max-width:100%;display:block}img{height:auto}a{color:var(--accent);text-underline-offset:.25em;text-decoration-thickness:1px}button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}.container{width:100%;max-width:960px;padding-inline:var(--page-px);margin-inline:auto}.container--wide{max-width:1100px}.section{width:min(100% - 2 * var(--card-inset), 1180px);padding-block:var(--section-py);background:color-mix(in srgb, var(--surface) 90%, transparent);clip-path:polygon(var(--notch) 0%, calc(100% - var(--notch)) 0%, 100% var(--notch), 100% calc(100% - var(--notch)), calc(100% - var(--notch)) 100%, var(--notch) 100%, 0% calc(100% - var(--notch)), 0% var(--notch));margin-block:clamp(24px,5vw,46px);margin-inline:auto;position:relative;overflow:clip}.section:before{content:"";z-index:0;aspect-ratio:1;background-color:color-mix(in srgb, var(--accent) 16%, transparent);-webkit-mask-composite:source-in;width:min(58vw,320px);-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:var(--mon), radial-gradient(circle at 72% 28%, #000 4%, transparent 62%);-webkit-mask-image:var(--mon), radial-gradient(circle at 72% 28%, #000 4%, transparent 62%);mask-image:var(--mon), radial-gradient(circle at 72% 28%, #000 4%, transparent 62%);-webkit-mask-size:var(--mon-size), 100% 100%;-webkit-mask-size:var(--mon-size), 100% 100%;mask-size:var(--mon-size), 100% 100%;pointer-events:none;position:absolute;top:-5%;right:-14%;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat}.section:nth-of-type(2n):before{background-color:color-mix(in srgb, var(--kin) 22%, transparent);-webkit-mask-image:var(--mon), radial-gradient(circle at 28% 72%, #000 4%, transparent 62%);-webkit-mask-image:var(--mon), radial-gradient(circle at 28% 72%, #000 4%, transparent 62%);mask-image:var(--mon), radial-gradient(circle at 28% 72%, #000 4%, transparent 62%);inset:auto auto -5% -16%}.section>.container{z-index:1;position:relative}.section__title{font-family:var(--font-mincho);letter-spacing:.16em;text-align:var(--title-align);margin:0 0 clamp(28px,5vw,48px);font-size:clamp(1.25rem,4.6vw,1.6rem);font-weight:500}.lead{max-width:var(--measure);margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.mizuhiki{background-color:currentColor;display:block;-webkit-mask-image:url(/images/mizuhiki.svg);mask-image:url(/images/mizuhiki.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.crest{aspect-ratio:1;background-color:currentColor;display:block;-webkit-mask-image:url(/images/crest.svg);mask-image:url(/images/crest.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (forced-colors:active){.btn,.choice__face,.companion,.companion__remove,.photos__item,.rsvp__done,.rsvp__closed,.rsvp__status,.venue__map,.menu__toggle{border:1px solid}}
.backdrop{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:clip}.backdrop__wash{background:radial-gradient(120% 80% at 10% -8%, color-mix(in srgb, var(--kin) 9%, transparent), transparent 58%), radial-gradient(100% 72% at 96% 16%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 60%), radial-gradient(92% 62% at 46% 110%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 58%), var(--bg);position:absolute;inset:-12%}.backdrop__grain{background-image:var(--washi);opacity:.26;mix-blend-mode:multiply;background-size:180px 180px;position:absolute;inset:0}.backdrop__mon{aspect-ratio:1;position:absolute}.backdrop__mon--top{--mon-color:color-mix(in srgb, var(--accent) 22%, transparent);--mon-fade:radial-gradient(circle at 74% 22%, #000 6%, transparent 64%);width:min(74vw,460px);top:-8vh;right:-18vw}.backdrop__mon--bottom{--mon-color:color-mix(in srgb, var(--kin) 30%, transparent);--mon-fade:radial-gradient(circle at 26% 78%, #000 6%, transparent 64%);width:min(82vw,520px);bottom:-12vh;left:-22vw}.backdrop__kasumi{width:min(112vw,660px);height:auto;color:var(--kin);opacity:.16;filter:blur(4px);position:absolute;-webkit-mask-image:radial-gradient(58% 74%,#000 22%,#0000 82%);mask-image:radial-gradient(58% 74%,#000 22%,#0000 82%)}.backdrop__kasumi--a{top:4vh;left:-34vw}.backdrop__kasumi--b{opacity:.13;bottom:6vh;right:-38vw;transform:scaleX(-1)}@supports (animation-timeline:scroll()){.backdrop__kasumi--a,.backdrop__kasumi--b,.backdrop__mon--top,.backdrop__mon--bottom{animation:none;animation-timeline:scroll(root)}.backdrop__kasumi--a{animation-name:drift-kasumi-a}.backdrop__kasumi--b{animation-name:drift-kasumi-b}.backdrop__mon--top{animation-name:drift-mon-top}.backdrop__mon--bottom{animation-name:drift-mon-bottom}}@keyframes drift-kasumi-a{0%{transform:translate(-4%,6vh)}to{transform:translate(16%,-34vh)}}@keyframes drift-kasumi-b{0%{transform:scaleX(-1)translate(-6%,12vh)}to{transform:scaleX(-1)translate(10%,-26vh)}}@keyframes drift-mon-top{0%{opacity:1;transform:translate(0,0)rotate(0)}to{opacity:.55;transform:translate(-8%,14vh)rotate(-6deg)}}@keyframes drift-mon-bottom{0%{opacity:.6;transform:translateY(6vh)rotate(3deg)}to{opacity:1;transform:translate(7%,-12vh)rotate(-2deg)}}@media (prefers-reduced-motion:reduce){.backdrop__kasumi,.backdrop__mon{animation:none!important}}
:root{--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-curtain:cubic-bezier(.62, 0, .24, 1)}[data-reveal]{transition-property:opacity,transform,clip-path;transition-duration:.85s;transition-timing-function:var(--ease-out);transition-delay:var(--reveal-delay,0s)}[data-reveal=up]{opacity:0;transform:translateY(22px)}[data-reveal=up][data-revealed]{opacity:1;transform:none}[data-reveal=mask]>*{clip-path:inset(0 0 100%);transition:clip-path .95s var(--ease-out) var(--reveal-delay,0s)}[data-reveal=mask][data-revealed]>*{clip-path:inset(0)}[data-reveal=mask] img{transition:scale 1.4s var(--ease-out) var(--reveal-delay,0s);scale:1.09}[data-reveal=mask][data-revealed] img{scale:1}[data-reveal=curtain]>*{clip-path:inset(0 50%);transition:clip-path 1.15s var(--ease-curtain) var(--reveal-delay,0s)}[data-reveal=curtain][data-revealed]>*{clip-path:inset(0)}[data-reveal=curtain-y]>*{clip-path:inset(50% 0);transition:clip-path 1.3s var(--ease-curtain) var(--reveal-delay,0s)}[data-reveal=curtain-y][data-revealed]>*{clip-path:inset(0)}[data-reveal=curtain] img,[data-reveal=curtain-y] img{transition:clip-path 1.2s var(--ease-curtain) var(--reveal-delay,0s), scale 2s var(--ease-out) var(--reveal-delay,0s), transform .6s var(--ease-out)}[data-reveal=curtain] img{scale:1.18}[data-reveal=curtain][data-revealed] img{scale:1}[data-reveal=curtain-y] img{scale:1.24}[data-reveal=curtain-y][data-revealed] img{scale:1}[data-reveal=wash]{opacity:0;transition:opacity 1.5s ease var(--reveal-delay,0s)}[data-reveal=wash][data-revealed]{opacity:1}[data-reveal=wash] img{transition:scale 2.8s var(--ease-out) var(--reveal-delay,0s);scale:1.14}[data-reveal=wash][data-revealed] img{scale:1}[data-reveal=rise] img{clip-path:inset(100% 0 0);transition:clip-path 1.25s var(--ease-curtain) var(--reveal-delay,0s), scale 2.2s var(--ease-out) var(--reveal-delay,0s);scale:1.16}[data-reveal=rise][data-revealed] img{clip-path:inset(0);scale:1}[data-reveal=circle] img{clip-path:circle(0%);transition:clip-path 1.15s var(--ease-curtain) var(--reveal-delay,0s), scale 2s var(--ease-out) var(--reveal-delay,0s);scale:1.22}[data-reveal=circle][data-revealed] img{clip-path:circle(75%);scale:1}[data-reveal=mask-x]>*{clip-path:inset(0 100% 0 0);transition:clip-path .95s var(--ease-out) var(--reveal-delay,0s)}[data-reveal=mask-x][data-revealed]>*{clip-path:inset(0)}.split{display:inline-block}.split__char{opacity:0;transition:opacity .6s ease var(--char-delay,0s), transform .75s var(--ease-out) var(--char-delay,0s);display:inline-block;transform:translateY(.5em)}[data-revealed] .split__char{opacity:1;transform:none}.progress{z-index:60;background:var(--accent);transform-origin:0;pointer-events:none;width:100%;height:2px;transition:opacity .4s;position:fixed;inset-block-start:0;inset-inline-start:0;transform:scaleX(0)}[data-stage=sealed] .progress{opacity:0}@supports (animation-timeline:scroll()){.progress{animation:linear both progress-grow;animation-timeline:scroll(root)}}@keyframes progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.lightbox[open]{animation:lightbox-in .4s var(--ease-out)}.lightbox::backdrop{animation:.4s lightbox-fade}@keyframes lightbox-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){[data-reveal],[data-reveal]>*,[data-reveal] img,.split__char{opacity:1!important;clip-path:none!important;transform:scale(1)!important}.carousel__track{animation:none!important}}
.hero{background:var(--bg);min-height:100svh;display:grid;position:relative;overflow:clip}.hero__media{z-index:0;position:absolute;inset:0}.hero__img{object-fit:cover;object-position:center 35%;opacity:0;width:100%;height:100%;transition:opacity 1.8s;animation:18s ease-in-out infinite alternate hero-kenburns;position:absolute;inset:0}.hero__img[data-active=true]{opacity:1}@keyframes hero-kenburns{0%{scale:1.02}to{scale:1.1}}.hero__scrim{background:var(--hero-overlay);position:absolute;inset:0}.hero__scrim:after{content:"";background:radial-gradient(ellipse 62% 46% at 52% 52%, color-mix(in srgb, var(--bg) 46%, transparent), transparent 72%);position:absolute;inset:0}.hero__stage{z-index:1;padding:clamp(64px, 14vh, 120px) var(--page-px);place-items:center;display:grid;position:relative}.hero__inner{color:var(--hero-text);flex-direction:row-reverse;justify-content:center;align-items:stretch;gap:clamp(18px,4.5vw,40px);display:flex}.hero__names{writing-mode:vertical-rl;font-family:var(--font-mincho);letter-spacing:.22em;text-indent:0;margin:0;font-size:clamp(1.65rem,7.2vw,2.75rem);font-weight:400;line-height:1.9}.hero__name{display:block}.hero__name-given{margin-inline-start:.55em}.hero__rule{background:var(--hero-rule);transform-origin:top;flex:0 0 1px;align-self:stretch;width:1px;animation:.55s cubic-bezier(.22,.61,.36,1) both hero-rule}.hero__date{writing-mode:vertical-rl;font-family:var(--font-mincho);letter-spacing:.34em;color:var(--hero-text-sub);align-self:flex-start;padding-block-start:.4em;font-size:clamp(.9rem,3.6vw,1.15rem);line-height:1.9}.hero__date-latin{display:none}.hero__names,.hero__date{animation:.5s ease-out both hero-fade}.hero__names{animation-delay:.5s}.hero__date{animation-delay:.66s}[data-stage=sealed] .hero__rule,[data-stage=sealed] .hero__names,[data-stage=sealed] .hero__date{animation-name:none}[data-stage=sealed] .hero__scroll{opacity:0}.hero__scroll{transition:opacity .6s .9s}@keyframes hero-rule{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes hero-fade{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:none}}.hero__scroll{z-index:1;inset-inline:0;color:var(--hero-text-sub);justify-items:center;gap:10px;display:grid;position:absolute;bottom:clamp(20px,4vh,36px)}.hero__scroll-line{background:color-mix(in srgb, currentColor 28%, transparent);width:1px;height:46px;position:relative;overflow:hidden}.hero__scroll-line:after{content:"";inset-inline:0;background:currentColor;height:16px;animation:2.1s ease-in-out infinite hero-scroll;position:absolute;top:0}@keyframes hero-scroll{0%{transform:translateY(-100%)}60%,to{transform:translateY(300%)}}@media (prefers-reduced-motion:reduce){.hero__rule{transform:none}.hero__scroll-line:after{display:none}}.hero__compose{justify-items:center;gap:clamp(16px,3.5vh,32px);display:grid}.hero__radiate{aspect-ratio:1;z-index:-1;--mon-color:var(--hero-text-sub);-webkit-mask-composite:source-in;width:min(165vw,940px);-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:var(--mon), radial-gradient(circle, #000 8%, transparent 60%);-webkit-mask-image:var(--mon), radial-gradient(circle, #000 8%, transparent 60%);mask-image:var(--mon), radial-gradient(circle, #000 8%, transparent 60%);-webkit-mask-size:var(--mon-size), 100% 100%;-webkit-mask-size:var(--mon-size), 100% 100%;mask-size:var(--mon-size), 100% 100%;opacity:.18;animation:1.7s cubic-bezier(.16,.82,.3,1) both hero-radiate;position:absolute;top:50%;left:50%;translate:-50% -50%;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat}@keyframes hero-radiate{0%{opacity:0;scale:.15}40%{opacity:.4}to{opacity:.18;scale:1}}.hero__mizuhiki{aspect-ratio:50/49;width:clamp(74px,19vw,104px);color:var(--hero-text-sub);opacity:0;clip-path:inset(0 50%);transition:opacity .5s .72s,clip-path .9s cubic-bezier(.62,0,.24,1) .72s}[data-stage=open] .hero__mizuhiki{opacity:.92;clip-path:inset(0)}[data-stage=sealed] .hero__radiate{animation-name:none}@supports (animation-timeline:view()){.hero__compose{animation:linear both hero-exit;animation-timeline:view();animation-range:exit exit 90%}.hero__media{animation:linear both hero-media-exit;animation-timeline:view();animation-range:exit}}@keyframes hero-exit{0%{opacity:1;translate:0}to{opacity:0;translate:0 -22%}}@keyframes hero-media-exit{0%{scale:1}to{scale:1.14}}@media (prefers-reduced-motion:reduce){.hero__compose,.hero__media,.hero__img{animation:none!important}}
#page{display:contents}[data-stage=sealed] body{overflow:hidden}.envelope{z-index:100;padding:var(--page-px);background:var(--bg);place-content:center;justify-items:center;gap:clamp(22px,4.5vh,36px);transition:opacity .7s .45s,visibility .7s linear .45s;display:grid;position:fixed;inset:0}.envelope:before{content:"";background-color:color-mix(in srgb, var(--accent) 15%, transparent);-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:var(--mon), radial-gradient(ellipse at center, #000 6%, transparent 68%);-webkit-mask-image:var(--mon), radial-gradient(ellipse at center, #000 6%, transparent 68%);mask-image:var(--mon), radial-gradient(ellipse at center, #000 6%, transparent 68%);-webkit-mask-size:var(--mon-size), 100% 100%;-webkit-mask-size:var(--mon-size), 100% 100%;mask-size:var(--mon-size), 100% 100%;pointer-events:none;position:absolute;inset:0;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat}.envelope:after{content:"";background-image:repeating-linear-gradient(90deg, transparent 0 38px, color-mix(in srgb, var(--rule) 45%, transparent) 38px 39px);pointer-events:none;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 12%,#0000 74%);mask-image:radial-gradient(#000 12%,#0000 74%)}.envelope--opening{opacity:0;visibility:hidden;pointer-events:none}.envelope__card{aspect-ratio:5/7;perspective:1500px;width:min(78vw,320px);animation:.9s cubic-bezier(.22,.61,.36,1) both envelope-in;position:relative}@keyframes envelope-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:none}}.envelope__door{background:var(--surface);border:1px solid var(--rule);backface-visibility:hidden;width:50%;transition:transform 1.05s cubic-bezier(.62,0,.28,1),opacity .55s .55s;position:absolute;inset-block:0;overflow:hidden;box-shadow:0 12px 44px #17140f21}.envelope__door--left{transform-origin:0;border-inline-end:0;left:0}.envelope__door--right{transform-origin:100%;right:0}.envelope--opening .envelope__door--left{opacity:0;transform:rotateY(-112deg)}.envelope--opening .envelope__door--right{opacity:0;transform:rotateY(112deg)}.envelope__title{writing-mode:vertical-rl;font-family:var(--font-mincho);letter-spacing:.3em;font-size:clamp(1rem,4.2vw,1.16rem);position:absolute;top:clamp(24px,7%,40px);right:clamp(16px,8%,26px)}.envelope__date{writing-mode:vertical-rl;font-family:var(--font-mincho);letter-spacing:.26em;color:var(--text-sub);font-size:.74rem;position:absolute;bottom:clamp(22px,7%,38px);right:clamp(16px,8%,26px)}.envelope__names{writing-mode:vertical-rl;font-family:var(--font-mincho);letter-spacing:.2em;font-size:clamp(.84rem,3.4vw,.94rem);line-height:2.4;position:absolute;bottom:clamp(22px,7%,38px);left:clamp(16px,8%,26px)}.envelope__names span{display:block}.envelope__seal{--seal-at:translate(-50%, -50%);z-index:2;aspect-ratio:1;cursor:pointer;width:clamp(98px,26vw,124px);transform:var(--seal-at);background:0 0;border:0;place-items:center;padding:0;transition:transform .45s cubic-bezier(.4,0,.2,1),opacity .4s;display:grid;position:absolute;top:50%;left:50%}.envelope__seal:hover{transform:var(--seal-at) scale(1.05)}.envelope__ripple{border:1px solid var(--kin);opacity:0;pointer-events:none;border-radius:50%;animation:.62s cubic-bezier(.22,.61,.36,1) seal-tap;position:absolute;inset:-6%}@keyframes seal-tap{0%{opacity:.85;transform:scale(.88)}to{opacity:0;transform:scale(2.2)}}.envelope__crest{filter:drop-shadow(0 3px 9px #17140f38);background-image:linear-gradient(148deg,#e2cb96 0%,#c8a45c 26%,#a87f34 52%,#d8bc82 74%,#8f6a2c 100%);width:100%;height:100%}.envelope__seal:after{content:"";border:1px solid var(--kin);pointer-events:none;border-radius:50%;animation:2.6s cubic-bezier(.22,.61,.36,1) infinite seal-pulse;position:absolute;inset:-6%}@keyframes seal-pulse{0%{opacity:.55;transform:scale(.94)}70%,to{opacity:0;transform:scale(1.7)}}.envelope--opening .envelope__seal{transform:var(--seal-at) scale(1.7) rotate(-16deg);opacity:0;transition-duration:.55s}.envelope--opening .envelope__seal:after,.envelope--opening .envelope__ripple{display:none}.envelope__hint{letter-spacing:.18em;color:var(--text-sub);font-size:.84rem;animation:1.1s .75s both envelope-hint;position:relative}@keyframes envelope-hint{0%{opacity:0;transform:translateY(8px)}to{opacity:.92;transform:none}}.envelope--opening .envelope__hint{opacity:0;transition:opacity .3s;animation:none}
.btn{min-height:var(--tap);border-radius:var(--radius-control);background:var(--accent);color:var(--on-accent);letter-spacing:.1em;cursor:pointer;box-shadow:var(--shadow-accent);border:0;justify-content:center;align-items:center;padding:.8em 1.8em;font-size:1rem;text-decoration:none;transition:background-color .2s,box-shadow .25s,translate .16s;display:inline-flex}.btn:hover{background:var(--accent-strong);box-shadow:var(--shadow-accent-lift);translate:0 -1px}.btn:active{box-shadow:var(--shadow-press);translate:0 1px}.btn:disabled{background:var(--accent);box-shadow:none;opacity:.42;cursor:not-allowed;translate:none}.btn--ghost{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow-2)}.btn--ghost:hover{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow-3)}.btn--ghost:disabled{background:var(--surface);box-shadow:none}.btn--block{width:100%}.greeting{max-width:28em;font-family:var(--font-mincho);letter-spacing:.08em;text-align:center;margin-inline:auto;font-size:clamp(.9rem,3.7vw,1rem);line-height:2.05}.greeting__line{display:block}.greeting p+p{margin-block-start:1.7em}.greeting__closing{color:var(--text-sub);margin-block-start:2.8em;font-size:.9rem;line-height:2.3}.greeting__names{letter-spacing:.22em;text-indent:.22em;color:var(--text);margin-block-start:1.5em;font-size:1.12rem;line-height:2}.countdown{text-align:center}.countdown__list{justify-content:center;align-items:baseline;gap:clamp(20px,6vw,52px);display:flex}.countdown__unit{gap:6px;min-width:3.5em;display:grid}.countdown__value{font-family:var(--font-mincho);font-variant-numeric:tabular-nums;letter-spacing:.02em;order:1;font-size:clamp(2.2rem,11vw,3.4rem);line-height:1}.countdown__label{letter-spacing:.18em;color:var(--text-sub);order:2;font-size:.82rem}.countdown__caption{color:var(--text-sub);margin-block-start:clamp(20px,4vw,32px);font-size:.92rem}.countdown__today{font-family:var(--font-mincho);letter-spacing:.1em;font-size:clamp(1.1rem,4.6vw,1.5rem);line-height:2}.timeline{max-width:30em;margin-inline:auto;padding-inline-start:.5em;position:relative}.timeline:before{content:"";background:var(--rule);transform-origin:top;width:1px;transition:transform 1.3s cubic-bezier(.22,.61,.36,1);position:absolute;inset-block:1.7em;inset-inline-start:.5em;transform:scaleY(0)}[data-reveal=line][data-revealed]:before{transform:scaleY(1)}.timeline__item{grid-template-columns:4.6em 1fr;align-items:baseline;gap:0 1.4em;padding-block:1.15em;padding-inline-start:1.6em;display:grid;position:relative}.timeline__item:before{content:"";inset-inline-start:-2.5px;background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:1.7em}.timeline__item:last-child{padding-block-end:0}.timeline__time{font-family:var(--font-mincho);letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:1.12rem}.timeline__label{letter-spacing:.08em;font-size:1rem}.venue{max-width:40em;margin-inline:auto}.venue__name{font-family:var(--font-mincho);letter-spacing:.14em;text-align:center;font-size:clamp(1.2rem,5vw,1.5rem)}.venue__facts{grid-template-columns:5.5em 1fr;gap:.9em 1.4em;margin-block-start:1.6em;font-size:.97rem;display:grid}@media (max-width:560px){.venue__facts{grid-template-columns:1fr;gap:.2em}.venue__facts dt{margin-block-start:1em}.venue__facts dt:first-child{margin-block-start:0}}.venue__facts dt{color:var(--text-sub);font-size:.9rem}.venue__facts dd{margin:0}.venue__map{border-radius:var(--radius-control);box-shadow:var(--shadow-2);aspect-ratio:16/11;border:0;margin-block-start:clamp(24px,5vw,36px);overflow:clip}.venue__map iframe{filter:saturate(.9);border:0;width:100%;height:100%}.venue__actions{flex-wrap:wrap;gap:12px;margin-block-start:1.2em;display:flex}.venue__access{margin-block-start:clamp(28px,5vw,40px)}.venue__access h3{font-family:var(--font-mincho);letter-spacing:.12em;margin:0 0 .7em;font-size:1.02rem;font-weight:500}.venue__access li{padding-inline-start:1.1em;font-size:.97rem;position:relative}.venue__access li:before{content:"";inset-inline-start:0;background:var(--rule);width:6px;height:1px;position:absolute;top:.95em}.venue__note{color:var(--text-sub);margin-block-start:1.4em;font-size:.92rem}.band{grid-template-columns:minmax(0,1fr);margin-block:clamp(8px,3vw,32px);display:grid}.band__media{grid-area:1/1;height:clamp(240px,50vh,440px);overflow:clip}.band__media img{object-fit:cover;width:100%;height:100%}.band--phrase .band__media:after{content:"";background:linear-gradient(#17140f2e,#17140f75);position:absolute;inset:0}.band--phrase .band__media{position:relative}.band__phrase{z-index:1;padding-inline:var(--page-px);font-family:var(--font-mincho);letter-spacing:.16em;text-align:center;color:var(--shiro);text-shadow:0 1px 24px #17140f8c;grid-area:1/1;place-self:center;font-size:clamp(1rem,4.3vw,1.28rem);line-height:2.2}.footer{border-block-start:1px solid var(--rule);text-align:center;padding-block:clamp(72px,13vw,128px);position:relative;overflow:clip}.footer>.container{z-index:2;position:relative}.footer__names{font-family:var(--font-mincho);letter-spacing:.2em;font-size:clamp(1.05rem,4.4vw,1.3rem)}.footer__contact{color:var(--text-sub);margin-block-start:1.4em;font-size:.9rem;line-height:2.1}.mark{justify-content:center;align-items:center;gap:clamp(10px,3vw,20px);display:flex}.mark__rule{height:7px;color:var(--accent);opacity:.42;background:repeating-linear-gradient(currentColor 0 1px,#0000 1px 3px);flex:0 clamp(26px,13vw,96px);transition:transform .9s cubic-bezier(.22,.61,.36,1) .1s;transform:scaleX(0)}.mark__rule--left{transform-origin:100%}.mark__rule--right{transform-origin:0}[data-revealed] .mark__rule{transform:scaleX(1)}.mark__body{white-space:nowrap;align-items:center;gap:.62em;display:inline-flex}.mark__mon{width:.98em;height:.98em;color:var(--kin);opacity:0;flex:none;transition:opacity .6s .22s,transform .8s cubic-bezier(.22,.61,.36,1) .22s;transform:rotate(-50deg)scale(.55)}[data-revealed] .mark__mon{opacity:.9;transform:none}@supports (animation-timeline:view()){.section-photo img{animation:linear both photo-parallax;animation-timeline:view();animation-range:cover}.band__media img{animation:linear both band-parallax;animation-timeline:view();animation-range:cover}}@keyframes photo-parallax{0%{object-position:50% 32%}to{object-position:50% 68%}}@keyframes band-parallax{0%{object-position:50% 18%}to{object-position:50% 82%}}@media (prefers-reduced-motion:reduce){.section-photo img,.band__media img{animation:none!important}}.countdown__value{perspective:320px}.countdown__digit{display:inline-block}.countdown__digit--flip{animation:.55s cubic-bezier(.22,.61,.36,1) digit-flip}@keyframes digit-flip{0%{opacity:0;transform:translateY(-.34em)rotateX(72deg)}to{opacity:1;transform:none}}.venue-head{justify-items:center;gap:clamp(28px,6vw,48px);margin-block-end:clamp(40px,8vw,64px);display:grid}@media (min-width:820px){.venue-head{grid-template-columns:auto 1fr;place-items:center start;gap:clamp(36px,6vw,72px)}}.venue-head__body{text-align:center}@media (min-width:820px){.venue-head__body{text-align:start}}.venue-head__style{letter-spacing:.32em;color:var(--text-sub);font-size:.82rem}.venue-head__name{font-family:var(--font-mincho);letter-spacing:.22em;text-indent:.22em;margin-block-start:.4em;font-size:clamp(1.5rem,7vw,2rem)}.venue-head .venue__facts{justify-content:center;margin-block-start:clamp(20px,4vw,28px)}@media (min-width:820px){.venue-head .venue__facts{justify-content:start}}
.section-photo{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:clip}.section-photo img{object-fit:cover;filter:saturate(.78);width:100%;height:100%}.section-photo__veil{background:var(--photo-veil);position:absolute;inset:0}.section-photo--full{-webkit-mask-image:linear-gradient(#0000,#000 16% 84%,#0000);mask-image:linear-gradient(#0000,#000 16% 84%,#0000)}.section-photo--top{-webkit-mask-image:linear-gradient(#000 0% 34%,#0000 78%);mask-image:linear-gradient(#000 0% 34%,#0000 78%)}.section-photo--bottom{-webkit-mask-image:linear-gradient(#0000 22%,#000 66% 100%);mask-image:linear-gradient(#0000 22%,#000 66% 100%)}:root{--photo-veil:linear-gradient(to bottom, color-mix(in srgb, var(--bg) 76%, transparent), color-mix(in srgb, var(--bg) 84%, transparent));--photo-veil-soft:linear-gradient(to bottom, color-mix(in srgb, var(--bg) 62%, transparent), color-mix(in srgb, var(--bg) 76%, transparent))}.section-photo--soft .section-photo__veil{background:var(--photo-veil-soft)}.section>.container{z-index:2}.section--photo.section--tinted{background:0 0}
.frame{width:var(--frame-w,min(62vw, 250px));aspect-ratio:var(--frame-ratio,5 / 7);flex:none;margin:0;position:relative}.frame__mon{--mon-color:color-mix(in srgb, var(--kin) 34%, transparent);-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:var(--mon), radial-gradient(circle at 80% 22%, #000 6%, transparent 58%);-webkit-mask-image:var(--mon), radial-gradient(circle at 80% 22%, #000 6%, transparent 58%);mask-image:var(--mon), radial-gradient(circle at 80% 22%, #000 6%, transparent 58%);-webkit-mask-size:var(--mon-size), 100% 100%;-webkit-mask-size:var(--mon-size), 100% 100%;mask-size:var(--mon-size), 100% 100%;pointer-events:none;position:absolute;inset:-16% -22% -10% -14%;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat}.frame__edge,.frame__photo{clip-path:polygon(var(--notch) 0%, calc(100% - var(--notch)) 0%, 100% var(--notch), 100% calc(100% - var(--notch)), calc(100% - var(--notch)) 100%, var(--notch) 100%, 0% calc(100% - var(--notch)), 0% var(--notch))}.frame__edge{background:var(--kin);opacity:0;transition:opacity .8s .6s;position:absolute;inset:-1px}.frame[data-revealed] .frame__edge{opacity:.55}.frame__photo{display:block;position:absolute;inset:0;overflow:clip}.frame__photo img{object-fit:cover;width:100%;height:100%}.frame--portrait{--frame-ratio:5 / 7}.frame--square{--frame-ratio:1 / 1;--frame-w:min(64vw, 264px)}.frame--landscape{--frame-ratio:4 / 3;--frame-w:min(78vw, 320px)}
.profile{gap:clamp(52px,10vw,76px);display:grid}@media (min-width:780px){.profile{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(32px,5vw,64px)}}.profile__card{text-align:center}.profile__figure{aspect-ratio:1;width:min(58vw,230px);margin-block-end:clamp(20px,4vw,30px);margin-inline:auto;position:relative}.profile__mon{--mon-color:color-mix(in srgb, var(--kin) 42%, transparent);-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:var(--mon), radial-gradient(circle at 78% 24%, #000 8%, transparent 58%);-webkit-mask-image:var(--mon), radial-gradient(circle at 78% 24%, #000 8%, transparent 58%);mask-image:var(--mon), radial-gradient(circle at 78% 24%, #000 8%, transparent 58%);-webkit-mask-size:var(--mon-size), 100% 100%;-webkit-mask-size:var(--mon-size), 100% 100%;mask-size:var(--mon-size), 100% 100%;position:absolute;inset:-22% -26% -14% -18%;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat}.profile__ring{border:1px solid var(--kin);opacity:0;transition:opacity .7s ease var(--reveal-delay,0s), transform 1s cubic-bezier(.22, .61, .36, 1) var(--reveal-delay,0s);border-radius:50%;position:absolute;inset:-11px;transform:scale(.9)rotate(-24deg)}[data-revealed].profile__ring{opacity:.55;transform:none}.profile__photo{border-radius:50%;display:block;position:absolute;inset:0;overflow:clip}.profile__photo img{object-fit:cover;width:100%;height:100%}.profile__role{letter-spacing:.28em;color:var(--text-sub);font-size:.82rem}.profile__name{font-family:var(--font-mincho);letter-spacing:.16em;margin-block-start:.4em;font-size:clamp(1.25rem,5.4vw,1.55rem);font-weight:500}.profile__romaji{letter-spacing:.3em;color:var(--text-sub);text-transform:uppercase;margin-block-start:.5em;font-size:.76rem}.profile__message{font-family:var(--font-mincho);letter-spacing:.06em;margin-block-start:clamp(16px,3vw,24px);font-size:.96rem;line-height:2.2}.profile__message span{display:block}
.menu{z-index:90;pointer-events:none;position:fixed;inset:0}[data-stage=sealed] .menu{opacity:0;visibility:hidden}.menu{transition:opacity .5s .6s,visibility .5s linear .6s}[data-menu=open] body{overflow:hidden}.menu__toggle{z-index:2;top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:48px;height:48px;box-shadow:var(--shadow-2);cursor:pointer;pointer-events:auto;border:0;border-radius:50%;place-items:center;padding:0;transition:background-color .25s,box-shadow .25s,transform .2s;display:grid;position:absolute}.menu__toggle:hover{box-shadow:var(--shadow-3)}.menu__toggle:active{transform:scale(.94)}.menu__bars{width:18px;height:12px;display:block;position:relative}.menu__bars span{background:var(--text);height:1px;transition:transform .35s cubic-bezier(.62,0,.24,1),opacity .2s;position:absolute;inset-inline:0}.menu__bars span:first-child{top:0}.menu__bars span:nth-child(2){top:50%}.menu__bars span:nth-child(3){top:100%}[aria-expanded=true] .menu__bars span:first-child{transform:translateY(5.5px)rotate(45deg)}[aria-expanded=true] .menu__bars span:nth-child(2){opacity:0}[aria-expanded=true] .menu__bars span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.menu__panel{z-index:1;padding:var(--page-px);background:color-mix(in srgb, var(--bg) 96%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;clip-path:circle(0% at calc(100% - 38px) 38px);align-content:center;justify-items:center;gap:clamp(28px,6vh,52px);transition:clip-path .62s cubic-bezier(.62,0,.24,1),opacity .3s 20ms,visibility .62s linear;display:grid;position:absolute;inset:0}.menu__panel[data-open=true]{opacity:1;visibility:visible;pointer-events:auto;clip-path:circle(150% at calc(100% - 38px) 38px)}.menu__mon{--mon-color:color-mix(in srgb, var(--accent) 22%, transparent);-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:var(--mon), radial-gradient(circle at 88% 6%, #000 2%, transparent 46%);-webkit-mask-image:var(--mon), radial-gradient(circle at 88% 6%, #000 2%, transparent 46%);mask-image:var(--mon), radial-gradient(circle at 88% 6%, #000 2%, transparent 46%);-webkit-mask-size:var(--mon-size), 100% 100%;-webkit-mask-size:var(--mon-size), 100% 100%;mask-size:var(--mon-size), 100% 100%;position:absolute;inset:0;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat}.menu__nav{width:min(100%,22em);position:relative}.menu__nav li{border-block-end:1px solid color-mix(in srgb, var(--rule) 70%, transparent);opacity:0;transition:opacity .5s,transform .6s cubic-bezier(.22,.61,.36,1);transform:translateY(14px)}[data-open=true] .menu__nav li{opacity:1;transition-delay:var(--menu-delay,0s);transform:none}.menu__link{width:100%;min-height:60px;color:var(--text);font-family:var(--font-mincho);letter-spacing:.2em;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:.9em;padding:.4em .2em;font-size:clamp(1.05rem,4.6vw,1.25rem);transition:color .2s,padding-inline-start .3s cubic-bezier(.22,.61,.36,1);display:flex}.menu__link:hover{color:var(--accent-strong);padding-inline-start:.8em}.menu__mon{width:.72em;height:.72em;color:var(--kin);opacity:.75;flex:none;transition:transform .4s cubic-bezier(.22,.61,.36,1),opacity .2s}.menu__link:hover .menu__mon{opacity:1;transform:rotate(72deg)}.menu__foot{font-family:var(--font-mincho);letter-spacing:.18em;color:var(--text-sub);opacity:0;font-size:.9rem;transition:opacity .5s,transform .6s cubic-bezier(.22,.61,.36,1);position:relative;transform:translateY(10px)}[data-open=true] .menu__foot{opacity:1;transition-delay:var(--menu-delay,0s);transform:none}
:root{--error:#97372b;--field-bg:var(--shiro)}.rsvp{max-width:34em;margin-inline:auto}.rsvp__intro{color:var(--text-sub);text-align:center;font-size:.94rem;line-height:2.1}.rsvp__deadline{text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.2em .85em;margin-block:1em clamp(30px,6vw,44px);display:flex}.rsvp__deadline-label{letter-spacing:.24em;text-indent:.24em;color:var(--text-sub);font-size:.78rem}.rsvp__deadline-date{font-family:var(--font-mincho);letter-spacing:.1em;color:var(--text);font-size:clamp(1.08rem,4.6vw,1.2rem);font-weight:500}.rsvp__form>*+*{margin-block-start:1.6em}.field__label,.fieldset__legend{letter-spacing:.08em;margin-block-end:.5em;font-size:.93rem;display:block}.field__req,.field__opt{letter-spacing:.06em;vertical-align:.1em;border-radius:999px;margin-inline-start:.6em;padding:.16em .62em;font-size:.72rem}.field__req{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent-strong)}.field__opt{background:color-mix(in srgb, var(--usuzumi) 12%, transparent);color:var(--text-sub)}.field__input,.field__textarea{width:100%;min-height:var(--tap);border:1px solid var(--rule);border-radius:var(--radius-control);background:var(--field-bg);padding:.74em .92em;font-size:16px;line-height:1.7;transition:border-color .2s}.field__textarea{resize:vertical;min-height:6em}.field__input:hover,.field__textarea:hover{border-color:var(--text-sub)}.field__input:focus,.field__textarea:focus{border-color:var(--accent)}.field__input[aria-invalid=true],.field__textarea[aria-invalid=true]{border-color:var(--error);background:color-mix(in srgb, var(--error) 5%, var(--field-bg))}.field__hint{color:var(--text-sub);margin-block-start:.45em;font-size:.82rem;line-height:1.7}.field__error{color:var(--error);margin-block-start:.45em;font-size:13px;line-height:1.7}.field__error:before{content:"";vertical-align:-.12em;background:currentColor;width:.85em;height:.85em;margin-inline-end:.4em;display:inline-block;-webkit-mask:radial-gradient(circle,#0000 38%,#000 40%) 50%/contain no-repeat;mask:radial-gradient(circle,#0000 38%,#000 40%) 50%/contain no-repeat}.field-row{grid-template-columns:1fr 1fr;gap:.9em;display:grid}.field-row .field{margin-block-start:0}.fieldset{border:0;margin:0;padding:0}.choice{grid-template-columns:1fr 1fr;gap:.7em;display:grid}.choice__item{cursor:pointer;display:block;position:relative}.choice__input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice__face{pointer-events:none;border-radius:var(--radius-control);background:var(--surface);min-height:3.6em;box-shadow:var(--shadow-1);font-family:var(--font-mincho);letter-spacing:.16em;border:0;place-items:center;padding:.6em;font-size:1.05rem;transition:background-color .2s,color .2s,box-shadow .25s,translate .16s;display:grid}.choice__input:hover+.choice__face{box-shadow:var(--shadow-2);translate:0 -1px}.choice__input:checked+.choice__face{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-accent);translate:0 -1px}.choice__input:focus-visible+.choice__face{outline:2px solid var(--accent);outline-offset:3px}.companions{border-block-start:1px solid var(--rule);padding-block-start:1.6em}.companion{border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow-1);border:0;margin-block-start:1em;padding:1.1em}.companion__head{justify-content:space-between;align-items:center;gap:12px;margin-block-end:.8em;display:flex}.companion__title{letter-spacing:.1em;color:var(--text-sub);font-size:.9rem}.companion__remove{background:color-mix(in srgb, var(--rule) 26%, transparent);min-height:36px;color:var(--text-sub);cursor:pointer;border:0;border-radius:999px;padding-inline:1em;font-size:.85rem;transition:background-color .2s,color .2s}.companion__remove:hover{background:color-mix(in srgb, var(--error) 12%, transparent);color:var(--error)}.rsvp__submit{margin-block-start:2.2em}.rsvp__status{border-radius:var(--radius-control);background:color-mix(in srgb, var(--error) 9%, var(--surface));box-shadow:var(--shadow-1);color:var(--error);border:0;margin-block-start:1em;padding:1em 1.1em;font-size:.92rem;line-height:1.9}.rsvp__status a{color:inherit}.rsvp__done{border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow-2);text-align:center;border:0;padding:clamp(28px,6vw,44px) clamp(20px,5vw,36px)}.rsvp__done h3{font-family:var(--font-mincho);letter-spacing:.14em;margin:0 0 .9em;font-size:clamp(1.1rem,4.6vw,1.35rem);font-weight:500}.rsvp__done p{color:var(--text-sub);font-size:.95rem;line-height:2.1}.rsvp__closed{border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow-2);text-align:center;border:0;padding:clamp(28px,6vw,44px) clamp(20px,5vw,36px);line-height:2.1}.photos{border-block-start:1px solid var(--rule);padding-block-start:1.6em}.photos__list{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;margin-block-start:1.1em;display:grid}.photos__item{aspect-ratio:1;border-radius:var(--radius-control);box-shadow:var(--shadow-1);background:color-mix(in srgb, var(--rule) 20%, transparent);border:0;position:relative;overflow:clip}.photos__item img{object-fit:contain;width:100%;height:100%}.photos__remove{background:color-mix(in srgb, var(--sumi) 62%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:26px;height:26px;box-shadow:var(--shadow-2);color:var(--shiro);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;font-size:.72rem;line-height:1;transition:background-color .2s;display:grid;position:absolute;top:4px;right:4px}.photos__remove:hover{background:color-mix(in srgb, var(--sumi) 82%, transparent)}.photos__remove:before{content:"";position:absolute;inset:-9px}
.reseal{z-index:200;bottom:max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#6b655c;min-height:36px;font-family:var(--font-gothic);letter-spacing:.06em;cursor:pointer;background:#fbfaf7db;border:1px solid #17140f1f;border-radius:999px;padding-inline:16px;font-size:13px;position:fixed;left:50%;translate:-50%;box-shadow:0 6px 24px #17140f24}.reseal:hover{color:#17140f}

