html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}:root{--color-bg: #e9dfcd;--color-paper: #f6f1e6;--color-paper-soft: rgba(246, 241, 230, .86);--color-ink: #2f2823;--color-ink-soft: #6a5f54;--color-heading: #3a312a;--color-muted: #7a6e60;--color-wine: #7c1f2b;--color-wine-deep: #5b141e;--color-wine-tint: rgba(124, 31, 43, .1);--color-rose: #b98a86;--color-rule: rgba(58, 49, 42, .18);--color-rule-soft: rgba(58, 49, 42, .1);--font-serif-en: "Cormorant Garamond", "Times New Roman", serif;--font-script: "Pinyon Script", "Cormorant Garamond", cursive;--font-serif-ja: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--paper-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E");--section-max: 640px;--section-max-wide: 880px;--paper-max: 960px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto}body{font-family:var(--font-serif-ja);color:var(--color-ink);background:var(--color-bg);line-height:2.05;letter-spacing:.07em;font-feature-settings:"palt";overflow-x:hidden;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}[hidden]{display:none!important}#gl{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}main,.footer,.nav{position:relative;z-index:1}.loader{display:none;position:fixed;inset:0;z-index:100;place-content:center;gap:18px;background:var(--color-bg);background-image:var(--paper-grain);text-align:center;transition:opacity .9s ease,visibility .9s}html.js .loader{display:grid}.loader.is-done{opacity:0;visibility:hidden}.loader__monogram{width:clamp(96px,20vw,124px);height:clamp(96px,20vw,124px);margin:0 auto;border-radius:50%;background:radial-gradient(circle at 38% 32%,#93303c 0%,var(--color-wine) 52%,var(--color-wine-deep) 100%);box-shadow:inset 0 0 0 1.5px #f4e3dc59,0 10px 26px #5b141e3d;font-family:var(--font-script);font-size:clamp(34px,7vw,44px);color:#f4e3dc;display:flex;align-items:center;justify-content:center;gap:.04em;line-height:1}.loader__amp{font-size:.62em;opacity:.78}.loader__text{font-family:var(--font-serif-en);letter-spacing:.46em;text-indent:.46em;text-transform:uppercase;font-size:11px;color:var(--color-ink-soft);animation:loader-pulse 1.8s ease-in-out infinite}@keyframes loader-pulse{0%,to{opacity:.3}50%{opacity:1}}html.is-populated .fallback{display:none}.fallback{position:relative;z-index:1;padding:8px 24px 72px}.fallback__inner{max-width:560px;margin:0 auto;padding:36px clamp(22px,5vw,44px);border:1px solid var(--color-rule);outline:1px solid var(--color-rule-soft);outline-offset:5px;background:var(--color-paper);background-image:var(--paper-grain)}.fallback__note{font-family:var(--font-serif-en);font-size:11px;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:var(--color-muted);text-align:center;margin-bottom:22px}.fallback__list div+div{margin-top:18px}.fallback__list dt{font-size:12px;letter-spacing:.22em;color:var(--color-wine)}.fallback__list dd{font-size:15px;line-height:1.95}.fallback__map{margin-top:26px;text-align:center}.fallback a{color:var(--color-wine);text-decoration:underline;text-underline-offset:4px}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,4vw,44px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .8s ease .2s,visibility .8s ease .2s,transform .8s ease .2s,background .4s ease}.nav.is-visible,html.no-enhance .nav{opacity:1;visibility:visible;pointer-events:auto;transform:none}.nav.is-scrolled{background:linear-gradient(#e9dfcdf5,#e9dfcdf0 62%,#e9dfcd00)}.nav__monogram{font-family:var(--font-script);font-size:30px;line-height:1;color:var(--color-wine)}.nav__links{display:flex;align-items:center;gap:clamp(14px,2.4vw,30px);font-family:var(--font-serif-en);font-size:12px;letter-spacing:.24em;text-indent:.24em;text-transform:uppercase;color:var(--color-ink-soft)}.nav__links a{position:relative;padding:4px 0;transition:color .3s ease}.nav__links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--color-wine);transform:scaleX(0);transform-origin:right;transition:transform .4s ease}.nav__links a:hover{color:var(--color-wine)}.nav__links a:hover:after{transform:scaleX(1);transform-origin:left}.nav__rsvp{color:var(--color-wine)}.nav__rsvp:before{content:"";display:inline-block;width:4px;height:4px;margin-right:9px;border-radius:50%;background:var(--color-wine);vertical-align:2px}.nav__burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin:-6px -12px -6px 0;background:transparent;border:0;cursor:pointer}.nav__burger i{width:20px;height:1px;background:var(--color-heading);transition:transform .3s ease,opacity .3s ease}.nav.is-open .nav__burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav.is-open .nav__burger i:nth-child(2){opacity:0}.nav.is-open .nav__burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav__burger:focus-visible{outline:2px solid var(--color-wine);outline-offset:2px}.nav__ja,.nav__menu-ornament,.nav__menu-date{display:none}@media (max-width: 720px){html:not(.no-enhance) .nav__burger{display:flex}html:not(.no-enhance) .nav__links{position:fixed;inset:0;z-index:-1;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:76px 24px 44px;background-image:var(--paper-grain),radial-gradient(120% 90% at 50% 0%,#f6f1e6eb,#e9dfcdfa);background-color:var(--color-bg);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s ease}html:not(.no-enhance) .nav.is-open .nav__links{opacity:1;visibility:visible;pointer-events:auto}html:not(.no-enhance) .nav__links>*{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}html:not(.no-enhance) .nav.is-open .nav__links>*{opacity:1;transform:none;transition-delay:calc(.1s + var(--i, 0) * 55ms)}html:not(.no-enhance) .nav__links a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 40px;font-size:16px;line-height:1.5;letter-spacing:.34em;text-indent:.34em;color:var(--color-heading)}html:not(.no-enhance) .nav__links a:after{display:none}html:not(.no-enhance) .nav__ja{display:block;font-family:var(--font-serif-ja);font-size:10.5px;letter-spacing:.3em;text-indent:.3em;text-transform:none;color:var(--color-ink-soft)}html:not(.no-enhance) .nav__rsvp:before{display:none}html:not(.no-enhance) .nav__rsvp .nav__ja{color:var(--color-wine);opacity:.75}html:not(.no-enhance) .nav__menu-ornament{display:block;position:relative;width:168px;height:1px;margin:30px 0 20px;background:linear-gradient(90deg,transparent,var(--color-rule) 22%,var(--color-rule) 78%,transparent)}html:not(.no-enhance) .nav__menu-ornament:after{content:"";position:absolute;left:50%;top:-3px;width:7px;height:7px;margin-left:-3.5px;background:var(--color-wine);transform:rotate(45deg)}html:not(.no-enhance) .nav__menu-date{display:block;font-family:var(--font-serif-en);font-size:10.5px;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:var(--color-muted)}.nav__monogram{padding:7px 10px;margin:-7px -10px}html.no-enhance .nav__links{flex-wrap:wrap;justify-content:flex-end;gap:6px 12px}}.hero{min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:96px 24px 72px;position:relative}.hero__content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.hero__hint{position:absolute;bottom:34px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:6px 10px;border:0;background:transparent;cursor:pointer;font-family:var(--font-serif-en);font-size:10.5px;letter-spacing:.4em;text-indent:.4em;text-transform:uppercase;color:var(--color-ink-soft);white-space:nowrap;transition:color .4s ease}.hero__hint:hover{color:var(--color-wine)}.hero__hint:focus-visible{outline:1px solid var(--color-wine);outline-offset:4px}body.is-seal-hover{cursor:pointer}.hero__eyebrow{font-family:var(--font-serif-en);font-size:clamp(10px,1.5vw,12px);letter-spacing:.58em;text-indent:.58em;text-transform:uppercase;color:var(--color-ink-soft);margin-bottom:clamp(22px,4.5vh,40px)}.hero__names{font-family:var(--font-serif-en);font-style:italic;font-weight:300;font-size:clamp(58px,12.5vw,132px);line-height:1.06;color:var(--color-heading);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.16em}.hero__name,.hero__name .char{display:inline-block}.hero__amp{font-family:var(--font-script);font-style:normal;font-size:.42em;color:var(--color-wine);transform:translateY(-.28em)}.hero__rule{width:clamp(190px,32vw,280px);color:var(--color-wine);margin:clamp(20px,3.8vh,34px) 0;opacity:.75}.hero__rule-path{stroke-dasharray:300;stroke-dashoffset:300}.hero__date{display:flex;flex-direction:column;gap:6px}.hero__date-num{font-family:var(--font-serif-en);font-size:clamp(22px,3.6vw,32px);letter-spacing:.34em;text-indent:.34em;color:var(--color-ink)}.hero__date-day{font-family:var(--font-serif-en);font-size:clamp(11px,1.5vw,13px);letter-spacing:.44em;text-indent:.44em;text-transform:uppercase;color:var(--color-ink-soft)}.hero__venue{margin-top:clamp(16px,2.6vh,24px);font-family:var(--font-serif-en);font-size:clamp(10.5px,1.4vw,12px);letter-spacing:.38em;text-indent:.38em;color:var(--color-muted)}.hero__scroll{position:absolute;bottom:34px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;font-family:var(--font-serif-en);font-size:10.5px;letter-spacing:.4em;text-indent:.4em;text-transform:uppercase;color:var(--color-ink-soft)}.hero__scroll-line{width:1px;height:46px;background:var(--color-wine);opacity:.5;transform-origin:top;animation:scroll-line 2.2s ease-in-out infinite}@keyframes scroll-line{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.hero__eyebrow,.hero__date-day,.hero__venue,.hero__scroll,.hero__hint{color:#57493e;text-shadow:0 0 8px rgba(233,223,205,.9),0 0 2px rgba(233,223,205,.85)}.paper{position:relative;max-width:var(--paper-max);margin:0 auto;padding:clamp(28px,5vw,56px) 0;background-color:var(--color-paper);background-image:var(--paper-grain);box-shadow:0 1px 2px #2f28230f,0 26px 70px #2f28231f}.paper:before,.paper:after{content:"";position:absolute;pointer-events:none;border:1px solid var(--color-rule)}.paper:before{inset:clamp(14px,2.4vw,26px)}.paper:after{inset:clamp(20px,3.1vw,34px);border-color:var(--color-rule-soft)}@media (max-width: 760px){.paper{box-shadow:none;padding-top:20px}.paper:before{inset:10px}.paper:after{display:none}}.section{padding:clamp(76px,12vh,126px) clamp(28px,6vw,56px)}.section__inner{max-width:var(--section-max);margin:0 auto}.section__inner--wide{max-width:var(--section-max-wide)}.section__head{text-align:center;margin-bottom:clamp(40px,7vh,66px)}.section__label{font-family:var(--font-serif-en);font-size:clamp(10px,1.5vw,12px);letter-spacing:.46em;text-indent:.46em;text-transform:uppercase;color:var(--color-wine);margin-bottom:16px}.section__title{position:relative;padding-bottom:34px;font-size:clamp(20px,3.1vw,25px);font-weight:400;letter-spacing:.3em;text-indent:.3em;color:var(--color-heading)}.section__title:after{content:"";position:absolute;left:50%;bottom:8px;width:148px;height:1px;margin-left:-74px;background:linear-gradient(90deg,transparent 0%,var(--color-rule) 14%,var(--color-rule) 42%,transparent 44%,transparent 56%,var(--color-rule) 58%,var(--color-rule) 86%,transparent 100%)}.section__title:before{content:"";position:absolute;left:50%;bottom:5px;width:7px;height:7px;margin-left:-3.5px;background:var(--color-wine);transform:rotate(45deg)}.greeting__body{text-align:center;font-size:clamp(14px,2vw,15.5px);line-height:2.5;color:var(--color-ink)}.greeting__body p+p{margin-top:.35em}@media (max-width: 380px){.greeting__body{letter-spacing:.04em}}.greeting__body .salutation{font-size:1.02em;letter-spacing:.38em;text-indent:.38em;color:var(--color-wine);margin:1em 0}.greeting__names{margin-top:clamp(40px,6.5vh,58px);padding-top:clamp(28px,4.5vh,40px);border-top:1px solid var(--color-rule-soft);text-align:center;font-size:clamp(17px,2.6vw,21px);letter-spacing:.3em;text-indent:.3em;color:var(--color-heading);display:flex;align-items:baseline;justify-content:center;gap:.7em}.greeting__amp{font-family:var(--font-script);color:var(--color-wine);font-size:1.15em;text-indent:0}.countdown{padding-top:0}.countdown .section__inner{text-align:center;padding:clamp(30px,4.6vh,44px) 8px;border-top:1px solid var(--color-rule-soft);border-bottom:1px solid var(--color-rule-soft)}.countdown__label{font-size:13px;letter-spacing:.4em;text-indent:.4em;color:var(--color-ink-soft);margin-bottom:22px}.countdown__grid{display:flex;justify-content:center;align-items:stretch}.countdown__cell{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 0;max-width:110px;padding:0 clamp(6px,2vw,18px)}.countdown__cell+.countdown__cell{border-left:1px solid var(--color-rule-soft)}.countdown__num{font-family:var(--font-serif-en);font-size:clamp(32px,5.6vw,48px);font-weight:400;color:var(--color-wine);font-variant-numeric:tabular-nums;line-height:1.15}.countdown__unit{font-family:var(--font-serif-en);font-size:11px;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:var(--color-ink-soft)}.countdown__done{font-family:var(--font-script);font-size:clamp(26px,5vw,38px);color:var(--color-wine);line-height:1.4}.story__profiles{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-bottom:clamp(56px,9vh,92px)}.profile-card+.profile-card{border-left:1px solid var(--color-rule-soft)}@media (max-width: 640px){.story__profiles{grid-template-columns:1fr}.profile-card+.profile-card{border-left:0;border-top:1px solid var(--color-rule-soft)}}.profile-card{padding:clamp(8px,2vw,20px) clamp(18px,3.4vw,34px) clamp(20px,3vw,28px);text-align:center}.profile-card__role{font-family:var(--font-serif-en);font-size:11px;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:var(--color-wine);margin-bottom:14px}.profile-card__name{font-size:clamp(19px,2.6vw,22px);font-weight:400;letter-spacing:.26em;text-indent:.26em;color:var(--color-heading)}.profile-card__kana{font-size:10.5px;letter-spacing:.34em;text-indent:.34em;color:var(--color-muted);margin-top:6px;margin-bottom:20px}.profile-card__lines{font-size:13.5px;line-height:2.2;color:var(--color-ink-soft);list-style:none}.story__timeline{display:grid;gap:0;margin:0 auto}.story-item{display:grid;grid-template-columns:1fr 7px 1fr;column-gap:16px;align-items:baseline}.story-item:before{content:"";grid-row:1;grid-column:1 / -1;justify-self:center;width:1px;height:clamp(18px,2.6vh,26px);margin:9px 0;background:linear-gradient(var(--color-rule-soft),var(--color-rule))}.story-item:first-child:before{display:none}.story-item:after{content:"";grid-row:2;grid-column:2;align-self:center;width:7px;height:7px;background:var(--color-wine);transform:rotate(45deg)}.story-item__date{grid-row:2;grid-column:1;justify-self:end;font-family:var(--font-serif-en);font-size:13px;letter-spacing:.22em;color:var(--color-wine);font-variant-numeric:tabular-nums}.story-item__title{grid-row:2;grid-column:3;justify-self:start;font-size:16px;font-weight:400;letter-spacing:.2em;color:var(--color-heading)}.story-item:last-child .story-item__title{color:var(--color-wine);font-size:17px}.gallery__line{position:relative;overflow:hidden;margin-top:clamp(52px,8vh,84px);padding-bottom:26px;cursor:grab;touch-action:pan-y pinch-zoom;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.gallery__line:focus-visible{outline:1px solid var(--color-wine);outline-offset:6px}.gallery__line.is-dragging{cursor:grabbing}.gallery__track{display:flex;align-items:flex-start;width:max-content;will-change:transform}.gallery__hang{position:relative;flex:0 0 auto;display:flex;justify-content:center;padding:22px clamp(10px,1.4vw,20px) 0;transform:translate3d(0,var(--rope-dy, 0px),0) rotate(var(--rope-tilt, 0deg));transform-origin:50% calc(var(--drop, 0px) + 20px);will-change:transform}.gallery__rope{position:absolute;top:0;left:0;width:100%;height:90px;pointer-events:none}.gallery__line.is-offscreen .gallery__card{animation-play-state:paused}.gallery__card{position:relative;width:clamp(132px,17vw,186px);margin-top:var(--drop, 0px);padding:9px 9px 26px;background:#fffdf8;box-shadow:0 1px 2px #2f28231a,0 14px 28px #2f282321;transform:rotate(var(--tilt, 0deg));transform-origin:50% -14px;animation:gallery-sway 7s ease-in-out infinite;animation-delay:calc(var(--i, 0) * -.83s)}.gallery__card--wide{width:clamp(178px,23vw,248px)}@keyframes gallery-sway{0%,to{transform:rotate(calc(var(--tilt, 0deg) - .5deg))}50%{transform:rotate(calc(var(--tilt, 0deg) + .5deg))}}.gallery__card img{width:100%;aspect-ratio:3 / 4;object-fit:cover;background:#ece5d8;-webkit-user-drag:none;user-select:none;pointer-events:none}.gallery__card--wide img{aspect-ratio:4 / 3}.gallery__peg{position:absolute;top:-15px;left:50%;margin-left:-6px;width:12px;height:27px;border-radius:2px;background:linear-gradient(#93303c,var(--color-wine) 52%,var(--color-wine-deep));box-shadow:0 1px 3px #2f282366}.gallery__peg:after{content:"";position:absolute;left:-1px;right:-1px;top:12px;height:1px;background:#f4e3dc80;box-shadow:0 2px #2f28232e}.gallery__hint{margin-top:6px;text-align:center;font-family:var(--font-serif-en);font-size:10px;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:var(--color-muted)}.gallery__hint:before,.gallery__hint:after{content:"";display:inline-block;width:26px;height:1px;margin:0 12px 4px;background:var(--color-rule)}.info__card{padding:clamp(34px,5vw,52px) clamp(24px,4vw,44px);border:1px solid var(--color-rule);outline:1px solid var(--color-rule-soft);outline-offset:6px;text-align:center}.info__date{display:flex;flex-direction:column;gap:6px;margin-bottom:30px}.info__date span:first-child{font-family:var(--font-serif-en);font-size:clamp(26px,4.4vw,36px);letter-spacing:.28em;text-indent:.28em;color:var(--color-heading)}.info__day{font-size:13.5px;letter-spacing:.34em;text-indent:.34em;color:var(--color-ink-soft)}.info__rows{display:grid;gap:12px;max-width:360px;margin:0 auto 30px}.info__row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;border-bottom:1px solid var(--color-rule-soft);padding-bottom:10px}.info__row dt{font-size:13px;letter-spacing:.24em;text-indent:.24em;color:var(--color-ink-soft)}.info__row dd{font-family:var(--font-serif-en);font-size:20px;letter-spacing:.16em;color:var(--color-wine)}.info__fee{max-width:360px;margin:-18px auto 30px}.info__fee-amount{display:flex;align-items:baseline;justify-content:space-between;gap:18px;border-bottom:1px solid var(--color-rule-soft);padding-bottom:10px;font-size:13px;letter-spacing:.24em;text-indent:.24em;color:var(--color-ink-soft)}.info__fee-amount strong{font-family:var(--font-serif-en);font-size:20px;font-weight:400;letter-spacing:.16em;text-indent:0;color:var(--color-wine);font-variant-numeric:tabular-nums}.info__fee-note{font-size:13px;color:var(--color-ink-soft);margin-top:10px}.info__venue-name{font-size:clamp(16px,2.4vw,19px);font-weight:400;letter-spacing:.24em;text-indent:.24em;color:var(--color-heading)}.info__venue-address{font-size:12.5px;color:var(--color-ink-soft);margin-top:8px}.info__schedule{margin-top:clamp(48px,8vh,76px)}.info__schedule-title{text-align:center;font-size:14px;font-weight:400;letter-spacing:.34em;text-indent:.34em;color:var(--color-heading);margin-bottom:34px}.timeline{list-style:none;max-width:460px;margin:0 auto;position:relative;padding-left:22px}.timeline:before{content:"";position:absolute;left:3px;top:15px;bottom:15px;width:1px;background:var(--color-rule-soft)}.timeline__item{position:relative;padding:0 0 26px 28px}.timeline__item:last-child{padding-bottom:0}.timeline__item:before{content:"";position:absolute;left:0;top:15px;width:6px;height:6px;background:var(--color-rose);transform:rotate(45deg)}.timeline__time{font-family:var(--font-serif-en);font-size:18px;color:var(--color-wine);letter-spacing:.14em;margin-right:16px}.timeline__title{font-size:14.5px;font-weight:400;letter-spacing:.22em;text-indent:.22em;color:var(--color-heading)}.timeline__note{display:block;font-size:13px;color:var(--color-ink-soft);margin-top:4px}.access__grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(26px,4vw,44px);align-items:start}@media (max-width: 760px){.access__grid{grid-template-columns:1fr}}.access__map{overflow:hidden;aspect-ratio:4 / 3;padding:clamp(7px,1vw,10px);background:#fffdf8;box-shadow:0 1px 2px #2f282314,0 12px 30px #2f282317}.access__map iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.62) sepia(.14) contrast(.96)}.access__venue-name{font-size:17px;font-weight:400;letter-spacing:.24em;text-indent:.24em;color:var(--color-heading)}.access__address{font-size:13px;color:var(--color-ink-soft);margin:10px 0 22px}.access__routes{list-style:none;display:grid;gap:12px;margin-bottom:30px;border-top:1px solid var(--color-rule-soft);padding-top:22px}.access__routes li{font-size:14px;line-height:1.95;padding-left:20px;position:relative}.access__routes li:before{content:"";position:absolute;left:0;top:.85em;width:5px;height:5px;background:var(--color-rose);transform:rotate(45deg)}.button,.faq__item summary,.rsvp__toggle-face,.nav__links a,.nav__monogram,.nav__burger,.hero__hint{touch-action:manipulation}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-serif-ja);font-size:13px;letter-spacing:.3em;text-indent:.3em;padding:15px 36px;border-radius:1px;border:1px solid var(--color-wine);background:transparent;cursor:pointer;transition:background .4s ease,color .4s ease,box-shadow .4s ease}.button--ghost{color:var(--color-wine)}.button--ghost:hover,.button--primary{background:var(--color-wine);color:#f7f1e7}.button--primary:hover{background:var(--color-wine-deep);border-color:var(--color-wine-deep);box-shadow:0 10px 24px #5b141e3d}.button--primary:disabled{opacity:.55;cursor:wait;box-shadow:none}.faq__list{display:grid;gap:0;border-top:1px solid var(--color-rule-soft)}.faq__item{border-bottom:1px solid var(--color-rule-soft)}.faq__item summary{list-style:none;cursor:pointer;padding:20px 44px 20px 4px;font-size:14px;font-weight:400;letter-spacing:.12em;color:var(--color-heading);position:relative;user-select:none;transition:color .3s ease}.faq__item summary:hover{color:var(--color-wine)}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:before{content:"Q";font-family:var(--font-serif-en);font-style:italic;color:var(--color-wine);margin-right:14px;font-size:17px}.faq__item summary:after{content:"";position:absolute;right:6px;top:50%;width:11px;height:1px;background:var(--color-wine);transform:translateY(-50%)}.faq__item:not([open])>summary{background-image:linear-gradient(var(--color-wine),var(--color-wine));background-size:1px 11px;background-position:right 11px center;background-repeat:no-repeat}.faq__answer{padding:0 24px 24px 4px;font-size:14px;color:var(--color-ink-soft);line-height:2.15}.faq__answer:before{content:"A";font-family:var(--font-serif-en);font-style:italic;color:var(--color-rose);margin-right:14px;font-size:17px}.rsvp__intro{text-align:center;font-size:13.5px;line-height:2.4;color:var(--color-ink-soft);margin-bottom:clamp(38px,6vh,56px)}html:not(.is-populated) .rsvp__form{display:none}.rsvp__form{padding:clamp(30px,5vw,50px) clamp(22px,4vw,44px);border:1px solid var(--color-rule);outline:1px solid var(--color-rule-soft);outline-offset:6px;display:grid;gap:28px}.rsvp__attendance{border:0}.rsvp__legend{font-size:13px;letter-spacing:.2em;text-indent:.2em;color:var(--color-heading);margin-bottom:14px}.rsvp__required{display:inline-block;font-size:10.5px;letter-spacing:.14em;color:var(--color-wine);border:1px solid currentColor;border-radius:1px;padding:0 6px;margin-left:10px;vertical-align:2px;line-height:1.7}.rsvp__toggle{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rsvp__toggle-option input{position:absolute;opacity:0;pointer-events:none}.rsvp__toggle-face{position:relative;display:grid;justify-items:center;gap:2px;padding:9px 10px 8px;border-radius:1px;border:1px solid var(--color-rule);cursor:pointer;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;background:transparent}.rsvp__toggle-en{font-family:var(--font-serif-en);font-size:10px;line-height:1.2;letter-spacing:.34em;text-indent:.34em;text-transform:uppercase;color:var(--color-muted);transition:color .35s ease}.rsvp__toggle-ja{font-size:15px;line-height:1.5;letter-spacing:.24em;text-indent:.24em;color:var(--color-ink-soft);transition:color .35s ease}.rsvp__toggle-face:before{content:"";position:absolute;top:-4px;left:50%;width:7px;height:7px;margin-left:-3.5px;background:var(--color-wine);transform:rotate(45deg) scale(0);transition:transform .35s ease}.rsvp__toggle-face:hover{border-color:var(--color-wine)}.rsvp__toggle-option input:checked+.rsvp__toggle-face{background:var(--color-wine-tint);border-color:var(--color-wine);box-shadow:0 0 0 3px var(--color-paper),0 0 0 4px #7c1f2b66,inset 0 1px 2px #2f282312}.rsvp__toggle-option input:checked+.rsvp__toggle-face:before{transform:rotate(45deg) scale(1)}.rsvp__toggle-option input:checked+.rsvp__toggle-face .rsvp__toggle-en,.rsvp__toggle-option input:checked+.rsvp__toggle-face .rsvp__toggle-ja{color:var(--color-wine)}.rsvp__toggle-face--decline:before{background:var(--color-ink-soft)}.rsvp__toggle-face--decline:hover{border-color:var(--color-ink-soft)}.rsvp__toggle-option input:checked+.rsvp__toggle-face--decline{background:#3a312a0f;border-color:var(--color-ink-soft);box-shadow:0 0 0 3px var(--color-paper),0 0 0 4px #3a312a59,inset 0 1px 2px #2f282312}.rsvp__toggle-option input:checked+.rsvp__toggle-face--decline .rsvp__toggle-en,.rsvp__toggle-option input:checked+.rsvp__toggle-face--decline .rsvp__toggle-ja{color:var(--color-ink-soft)}.rsvp__toggle-option input:focus-visible+.rsvp__toggle-face{outline:2px solid var(--color-wine);outline-offset:2px}.rsvp__field{display:grid;gap:10px}.rsvp__pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rsvp__field label{font-size:13.5px;letter-spacing:.18em;text-indent:.18em;color:var(--color-ink-soft)}.rsvp__field input,.rsvp__field select,.rsvp__field textarea{font-family:var(--font-serif-ja);font-size:16px;color:var(--color-ink);background:transparent;border:0;border-bottom:1px solid rgba(58,49,42,.42);border-radius:0;padding:10px 2px;letter-spacing:.05em;transition:border-color .3s ease;width:100%;appearance:none;-webkit-appearance:none}.rsvp__field select{background-image:linear-gradient(45deg,transparent 50%,var(--color-wine) 50%),linear-gradient(135deg,var(--color-wine) 50%,transparent 50%);background-position:right 10px center,right 5px center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:26px}.rsvp__field textarea{resize:vertical;border:1px solid rgba(58,49,42,.42);padding:12px 14px}.rsvp__field input:focus,.rsvp__field select:focus,.rsvp__field textarea:focus{outline:none;border-color:var(--color-wine)}.rsvp__field input:focus-visible,.rsvp__field select:focus-visible,.rsvp__field textarea:focus-visible{outline:2px solid var(--color-wine);outline-offset:3px}.rsvp__field input::placeholder,.rsvp__field textarea::placeholder{color:#9a8d7c}.rsvp__deadline{text-align:center;font-size:13.5px;color:var(--color-ink-soft);padding-top:6px}.rsvp__deadline strong{color:var(--color-wine);font-weight:500;letter-spacing:.1em}.rsvp__error{text-align:center;font-size:12.5px;color:#a33b2c}.rsvp__field input[aria-invalid=true],.rsvp__field textarea[aria-invalid=true]{border-color:#a33b2c}.rsvp__toggle-option input[aria-invalid=true]+.rsvp__toggle-face{border-color:#a33b2c}.rsvp__note{font-size:13px;color:var(--color-ink-soft);margin-top:-2px}.rsvp__submit{justify-self:center;min-width:230px;position:relative}.rsvp__photos-add{justify-self:start;min-width:0}.rsvp__photos-list{list-style:none;display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}.rsvp__photos-list li{position:relative}.rsvp__photos-list img{width:84px;height:84px;object-fit:cover;padding:4px;background:#fffdf8;border:1px solid var(--color-rule);box-shadow:0 2px 6px #2f28231f}.rsvp__photos-remove{position:absolute;top:-9px;right:-9px;width:24px;height:24px;border:0;border-radius:50%;background:var(--color-wine);color:#f7f1e7;font-size:15px;line-height:1;cursor:pointer;touch-action:manipulation}.rsvp__photos-remove:focus-visible{outline:2px solid var(--color-wine);outline-offset:2px}.rsvp__thanks{text-align:center;outline:none;padding:clamp(44px,7vw,68px) clamp(24px,4vw,44px);border:1px solid var(--color-rule)}.rsvp__thanks:before{content:"";display:block;width:44px;height:44px;margin:0 auto 26px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#93303c 0%,var(--color-wine) 55%,var(--color-wine-deep) 100%);box-shadow:inset 0 0 0 1px #f4e3dc59}.rsvp__thanks-title{font-size:clamp(17px,2.6vw,21px);font-weight:400;letter-spacing:.26em;text-indent:.26em;color:var(--color-heading);margin-bottom:20px}.rsvp__thanks-body{font-size:13.5px;line-height:2.4;color:var(--color-ink-soft)}.footer{text-align:center;padding:clamp(64px,10vh,104px) 24px clamp(44px,6vh,68px)}.footer__names{font-family:var(--font-script);font-size:clamp(34px,5.6vw,46px);line-height:1.5;color:var(--color-wine)}.footer__date{font-family:var(--font-serif-en);font-size:12px;letter-spacing:.38em;text-indent:.38em;color:var(--color-ink-soft);margin:10px 0 22px}.footer__thanks{font-family:var(--font-serif-en);font-style:italic;font-size:13px;color:var(--color-muted)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero__scroll-line{animation:none;transform:scaleY(1)}.gallery__card{animation:none}.hero__rule-path{stroke-dashoffset:0}}
