.cover{position:relative;min-height:100svh;overflow:hidden}.cover .cover-bg{position:absolute;inset:0}.cover .cover-bg img{width:100%;height:100%;object-fit:cover;object-position:center 28%;transform:scale(1.02)}.cover .cover-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#00000073,#00000014 40%,#0000008f),linear-gradient(180deg,transparent 70%,rgba(0,0,0,.28) 100%)}.cover .petal-layer{position:absolute;inset:0;pointer-events:none}.cover .petal-layer .petal{position:absolute;top:-6%;left:var(--petal-x);width:10px;height:10px;background:url(/assets/petal-BGeFFE1n.png) center/contain no-repeat;animation:petal-fall var(--petal-duration) linear infinite;animation-delay:var(--petal-delay);opacity:.9}.cover .cover-content{position:relative;z-index:2;min-height:100svh;padding:2.1rem 1.3rem 2.4rem;display:flex;flex-direction:column;justify-content:space-between;color:#fff}.cover .cover-title{margin:10;text-align:center;font-family:var(--heading-serif);font-weight:100;letter-spacing:.03em;font-size:clamp(1.05rem,9vw,1.7rem);color:#fffffff2}.cover .cover-bottom{display:flex;justify-content:center}.cover .cover-meta{text-align:center;font-size:1.02rem;line-height:1.75;color:#ffffffeb;text-shadow:0 2px 10px rgba(0,0,0,.2)}@keyframes petal-fall{0%{transform:translateZ(0) rotate(0)}to{transform:translate3d(-24px,110svh,0) rotate(360deg)}}.invitation{background:var(--section-bg-light);border-radius:var(--radius-card);padding:3.3rem 1.45rem;text-align:center}.invitation .heart-mark{font-size:1.8rem;color:#9aac78;margin-bottom:.8rem;text-align:center}.invitation .section-title{margin:0;text-transform:uppercase}.invitation .poem,.invitation .message{padding:.5rem 0}.invitation .poem .poem-line,.invitation .poem .message-line,.invitation .message .poem-line,.invitation .message .message-line{color:var(--text-body);font-size:1.02rem;line-height:1.95;text-align:center;opacity:0;transform:translateY(10px);transition:opacity var(--motion-base) var(--ease-cinematic),transform var(--motion-base) var(--ease-cinematic);transition-delay:calc(var(--line, 0) * 80ms)}.invitation .poem .poem-line.author,.invitation .poem .message-line.author,.invitation .message .poem-line.author,.invitation .message .message-line.author{margin-top:1rem;color:var(--text-main);font-size:1rem}.invitation.lazy-active .poem-line,.invitation.lazy-active .message-line,.invitation.lazy-active .name{opacity:1;transform:translateY(0)}.invitation .middle-cut{margin:2rem -1.45rem 0;height:360px}.invitation .middle-cut img{width:100%;height:100%;object-fit:cover;border-radius:8px}.invitation .name{margin:.95rem 0;font-size:1.2rem;color:var(--text-main);text-align:center;opacity:0;transform:translateY(10px);transition:opacity var(--motion-base) var(--ease-cinematic),transform var(--motion-base) var(--ease-cinematic)}.invitation .name .relation{color:var(--text-sub);font-size:.9rem;margin:0 .1rem}.invitation .contact-trigger{width:100%;margin-top:1rem}.contact-modal{width:min(22rem,92vw);border-radius:12px!important;background:#f4f4ef!important;border:1px solid rgba(47,47,47,.14)!important}.contact-modal .header .title-group{text-align:center;border-bottom:1px solid rgba(47,47,47,.12);padding-bottom:.7rem}.contact-modal .header .title-group .title{font-family:var(--text-sans);text-transform:uppercase;letter-spacing:.08em;font-size:1.12rem;color:var(--text-main);margin-bottom:.35rem}.contact-modal .header .title-group .subtitle{color:var(--text-sub);font-size:.86rem;line-height:1.55}.contact-modal .content{padding:.9rem}.contact-modal .content .contact-info{padding:.72rem .25rem;display:grid;grid-template-columns:5.2rem 1fr auto;align-items:center;row-gap:.7rem;border-bottom:1px solid rgba(47,47,47,.06)}.contact-modal .content .contact-info:last-child{border-bottom:0}.contact-modal .content .contact-info .relation{color:var(--text-sub);font-size:.88rem}.contact-modal .content .contact-info .name-text{color:var(--text-main)}.contact-modal .content .contact-info .contact-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.5rem}.contact-modal .content .contact-info .icon{width:1.05rem;height:1.05rem;opacity:.72;cursor:pointer}.contact-modal .content .contact-info .icon.flip{transform:scaleX(-1)}button.button{font-family:var(--text-sans);border:1px solid rgba(47,47,47,.16);border-radius:var(--radius-button);min-height:3rem;padding:.65rem 1.1rem;font-size:1rem;line-height:1.2;color:#2f2f2f;background:#f6f6f6;transition:background var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease}button.button.button-style-1{background:#f6f6f6}button.button.button-style-2,button.button.button-variant-primary{background:#a8bd81;color:#fff;border-color:#a8bd81}button.button.button-variant-secondary{background:#efefef;color:#273246;border-color:#2f2f2f1f}button.button.button-variant-ghost{background:transparent;border-color:transparent;color:#666}button.button.button-density-compact{min-height:2.2rem;font-size:.86rem;padding:.4rem .72rem;border-radius:8px}button.button:focus-visible{outline:2px solid rgba(47,47,47,.5);outline-offset:2px}.calendar-modern{background:var(--section-bg-light);border-radius:var(--radius-card);padding:3.4rem .9rem 2.3rem}.calendar-modern h2{margin:0}.calendar-modern .date-meta{color:var(--text-main);margin-top:1.4rem;font-size:1.15rem;line-height:1.8;text-align:center}.calendar-modern .date-meta .sub-meta{margin-top:.15rem;font-size:.95rem;color:var(--text-sub)}.calendar-modern .calendar-wrapper{margin-top:1.9rem;padding:0 .6rem}.calendar-modern .calendar-wrapper .divider{height:1px;color:#2f2f2f2e;margin-bottom:1rem}.calendar-modern .calendar-head,.calendar-modern .calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem}.calendar-modern .calendar-head .head{color:var(--text-main);font-size:.9rem;height:2.1rem;display:grid;place-items:center}.calendar-modern .calendar-head .head:first-child{color:#f77}.calendar-modern .calendar-grid .day{height:2.9rem;display:grid;place-items:center;position:relative;color:#1f2430}.calendar-modern .calendar-grid .day.holiday{color:#ff7c7c}.calendar-modern .calendar-grid .day.wedding span{width:2rem;height:2rem;border-radius:999px;background:#a4b97a;color:#fff;display:grid;place-items:center}.calendar-modern .calendar-grid .day .dot{display:none}.calendar-modern .countdown-strip{margin:1.6rem 0 1.1rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.calendar-modern .countdown-strip .pill{background:#f6f6f6;border-radius:10px;border:1px solid rgba(47,47,47,.08);padding:.8rem .25rem;box-shadow:0 8px 18px #0000000f;text-align:center}.calendar-modern .countdown-strip .value{color:#17203a;font-size:1.35rem;font-weight:200;line-height:1;margin-top:.35rem;margin-bottom:.35rem}.calendar-modern .countdown-strip .label{color:var(--text-sub);font-size:.76rem;letter-spacing:.06em}.calendar-modern .message{margin-top:.9rem;color:#1b243a;font-size:1.05rem;line-height:1.6;text-align:center}.calendar-modern .message .d-day{color:#a4b97a;font-weight:500}.gallery{border-radius:var(--radius-card);padding:3.3rem 0 2.6rem;background:var(--section-bg-light)}.gallery h2{margin-bottom:1rem}.gallery .gallery-description{margin:0 0 1.4rem;color:var(--text-sub);font-size:.88rem;padding:0 1rem;text-align:center}.gallery .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}.gallery .thumb{border:0;padding:0;margin:0;background:#ddd;aspect-ratio:1;opacity:0;transform:translateY(14px) scale(.98)}.gallery .thumb img{width:100%;height:100%;object-fit:cover;image-orientation:from-image}.gallery.lazy-active .thumb{animation:thumb-in calc(var(--motion-base) + 40ms) var(--ease-cinematic) both;animation-delay:calc(var(--i, 0) * 55ms)}.gallery .gallery-more{margin:1rem auto 0;width:100%;display:flex;justify-content:center}.gallery .gallery-more .gallery-toggle{color:var(--text-body);font-size:1rem;display:inline-flex;align-items:center;gap:.28rem;padding:.3rem .8rem}.gallery .gallery-more .gallery-toggle .toggle-icon{width:.9rem;height:.9rem;fill:currentColor;transform:rotate(-90deg);transition:transform var(--motion-fast) var(--ease-cinematic)}.gallery .gallery-more .gallery-toggle.expanded .toggle-icon{transform:rotate(90deg)}@keyframes thumb-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0)}}.location{background:var(--section-bg-light);border-radius:var(--radius-card);padding:3.2rem 0}.location h2{margin-bottom:1rem}.location .addr{color:var(--text-main);font-size:1.15rem;font-family:var(--text-sans);letter-spacing:.01em;text-align:center;margin-top:1.4rem}.location .addr .detail{margin-top:.45rem;color:var(--text-sub);font-size:1.02rem;font-family:var(--text-sans);text-align:center}.location .map-wrapper{margin-top:1.6rem;border-radius:0;border:0;height:17rem;overflow:hidden;position:relative}.location .map-wrapper .lock{position:absolute;inset:0;z-index:11;background:transparent}.location .map-wrapper .lock-button{position:absolute;top:.7rem;left:.7rem;width:2rem;height:2rem;z-index:12;border-radius:8px;border:1px solid rgba(47,47,47,.14);background:#f7f7f7eb;display:grid;place-items:center;color:#2f2f2fbf}.location .map-wrapper .lock-button svg{width:.95rem;height:.95rem;fill:currentColor}.location .map-wrapper .lock-button.unlocked{opacity:.7}.location .map-wrapper .map-inner{width:100%;height:100%;filter:none}.location .navigation{padding:.8rem 1.3rem 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.location .navigation>button{border-radius:8px;box-shadow:none;border:1px solid rgba(47,47,47,.12);min-height:3rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.18rem;font-size:.75rem}.location .navigation>button img{width:1.05rem;height:1.05rem}.location .route-view-button{width:calc(100% - 2.6rem);margin:.75rem 1.3rem 0;min-height:2.8rem;border-radius:10px;border:1px solid rgba(47,47,47,.12);background:#f7f7f7;color:#273246}.transport-card{margin-top:.9rem;padding:.5rem 1.4rem 1rem}.transport-card .transport-list{display:flex;flex-direction:column;gap:0}.transport-card .transport-row{position:relative;border-bottom:0;border-radius:0;padding:1.35rem 0;display:grid;grid-template-columns:1.75rem 1fr;gap:.6rem}.transport-card .transport-row:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#c7d1b0;transform:scaleX(0);transform-origin:center;transition:transform var(--motion-slow) var(--ease-cinematic)}.transport-card .transport-row .icon-col{width:1.75rem;height:1.75rem;border-radius:.5rem;background:#ececec;display:grid;place-items:center;margin-top:.16rem;color:#676767}.transport-card .transport-row .transportation-icon{width:1.1rem;height:1.1rem;opacity:.88;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.transport-card .transport-row .heading{margin-bottom:.52rem;font-family:var(--text-sans);font-size:1.08rem;color:#4e4e4e;letter-spacing:.01em}.transport-card .transport-row .content{color:#6b6b6b;font-size:1rem;line-height:1.7}.transport-card .subway-badges,.transport-card .bus-badges{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-bottom:.28rem}.transport-card .badge{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .5rem;border-radius:999px;font-size:.78rem;letter-spacing:.03em;color:#fff}.transport-card .subway.line7{background:#7e9d00}.transport-card .subway.line9{background:#b8ab88}.transport-card .bus.bus-3{background:#2b6cb0}.transport-card .bus.bus-4{background:#65a673}.transport-card.lazy-active .transport-row:after{transform:scaleX(1);transition-delay:calc(var(--row-i, 0) * 90ms)}.information{background:#dce4d1;border-radius:var(--radius-card);padding:3.4rem 1.3rem;text-align:center}.information .tracking{margin-bottom:1rem}.information .info-caption{color:var(--text-main);font-size:1.15rem;margin-bottom:.45rem;text-align:center}.information .info-description{color:var(--text-sub);font-size:.98rem;margin-bottom:1.4rem;text-align:center}.information .info-hero-card{background:#efefef;border-radius:var(--radius-card);padding:1.3rem;border:1px solid rgba(47,47,47,.08);text-align:center}.information .info-hero-card img{width:100%;height:220px;object-fit:cover;border-radius:10px;margin-bottom:1.1rem}.information .info-hero-card h3{margin:0 0 .8rem;color:#a0b67a;font-size:1.4rem;font-weight:500}.information .info-hero-card p{margin:0;color:var(--text-body);line-height:1.85;font-size:.92rem}.information .account-title-wrap{margin:1rem 0 1.2rem;text-align:center;opacity:0;transform:translateY(10px);transition:opacity var(--motion-base) var(--ease-cinematic),transform var(--motion-base) var(--ease-cinematic)}.information .account-title-wrap .section-line{width:5rem;height:1px;color:#2f2f2f80;margin:0 auto 2rem}.information .account-title-wrap h3{margin:0;font-size:1.7rem;font-family:var(--text-sans);font-weight:400;color:var(--text-main);text-align:center}.information .account-title-wrap p{margin:.9rem 0 0;color:var(--text-sub);line-height:1.65;font-size:.96rem;text-align:center}.information .account-accordion{border-radius:12px;border:1px solid rgba(47,47,47,.1);background:#f3f3f3;overflow:hidden;text-align:left;opacity:0;transform:translateY(10px);transition:opacity var(--motion-base) var(--ease-cinematic),transform var(--motion-base) var(--ease-cinematic);box-shadow:0 4px 10px #0000000a}.information .account-accordion.expanded{box-shadow:0 10px 22px #00000014;transform:translateY(-1px)}.information .account-accordion-trigger{width:100%;min-height:3.5rem;border:0;background:#f7f7f7;display:flex;justify-content:space-between;align-items:center;padding:.8rem .9rem;color:#273246;font-size:1.08rem}.information .account-accordion-trigger .account-arrow{color:#8e8e8e;width:.95rem;height:.95rem;transform:rotate(-90deg);transition:transform var(--motion-fast) var(--ease-cinematic);fill:currentColor}.information .account-accordion-trigger .account-arrow.expanded{transform:rotate(90deg)}.information .account-panel{padding:.8rem;background:#e5ebd9}.information .account-item-card{background:#f7f7f7;border-radius:12px;padding:.95rem;border:1px solid rgba(47,47,47,.08)}.information .account-item-card+.account-item-card{margin-top:.7rem}.information .account-item-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.65rem}.information .account-item-head span{color:var(--text-main);font-size:1.03rem}.information .account-item-head strong{font-size:1.04rem;color:#273246;font-weight:500}.information .account-item-body{border-radius:10px;background:#ececec;padding:.62rem .7rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.information .account-text{display:grid;gap:.12rem;text-align:left}.information .account-bank{color:#9a9a9a;font-size:.78rem;line-height:1.2}.information .account-number{color:#4f4f4f;font-size:1.02rem;line-height:1.3}.information .account-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap}.information .account-actions .icon-action{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:8px;background:transparent;width:2rem;height:2rem;color:#5d5d5d;padding:0;cursor:pointer}.information .account-actions .icon-action:focus-visible{outline:2px solid rgba(47,47,47,.45);outline-offset:2px}.information .account-actions .copy-icon-button svg{width:1.2rem;height:1.2rem}.information .account-actions .pay-link{width:auto;padding:0 .15rem}.information .account-actions .pay-link img{display:block;height:1rem;width:auto}.information.lazy-active .account-title-wrap,.information.lazy-active .account-accordion{opacity:1;transform:translateY(0)}.attendance-modal,.attendance-info-modal{width:min(22rem,92vw);border-radius:10px!important}.attendance-modal .header .title-group{text-align:center;border-bottom:1px solid rgba(47,47,47,.12);padding-bottom:.8rem}.attendance-modal .header .title-group .title{font-size:1.35rem;margin-bottom:.5rem}.attendance-modal .header .title-group .subtitle{color:var(--text-sub);font-size:.82rem;line-height:1.6;display:grid;gap:.2rem}.attendance-modal .header .title-group .subtitle>div{display:inline-flex;align-items:center;justify-content:center;gap:.32rem}.attendance-modal .header .title-group .subtitle svg{width:.82rem;height:.82rem;flex:0 0 .82rem}.attendance-modal .content{padding:1rem}.attendance-modal .content .attendance-form{display:flex;flex-direction:column;gap:1rem}.attendance-modal .content .attendance-form .form-message{color:var(--text-sub);text-align:center;line-height:1.7}.attendance-modal .content .attendance-form .status-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.attendance-modal .content .attendance-form .status-row .status-btn{min-height:2.8rem;border-radius:12px;border:1px solid rgba(47,47,47,.15);background:#f4f4f4;color:#555}.attendance-modal .content .attendance-form .status-row .status-btn.active{border-color:#2f2f2fe6;color:#1f1f1f;background:#fefefe}.attendance-modal .content .attendance-form .input-group{text-align:left}.attendance-modal .content .attendance-form .input-group label{display:block;margin-bottom:.35rem;color:#606060}.attendance-modal .content .attendance-form .input-group input{width:100%;padding:.7rem .25rem;border-radius:6px;border:0;border-bottom:1px solid #d8d8d8;background:transparent}.attendance-modal .content .attendance-form .side-options{display:flex;gap:.45rem}.attendance-modal .content .attendance-form .side-options>button{flex:1;min-height:2.5rem;border-radius:10px;border:1px solid rgba(47,47,47,.14);background:#ececec}.attendance-modal .content .attendance-form .side-options>button.active{border-color:#2f2f2fb3;background:#f7f7f7}.attendance-modal .content .attendance-form .count-box{display:flex;align-items:center;justify-content:space-between}.attendance-modal .content .attendance-form .count-box>button{width:2rem;height:2rem;border-radius:999px;border:1px solid rgba(47,47,47,.15);background:#f5f5f5}.attendance-modal .content .attendance-form .button{width:100%}.attendance-modal .content .attendance-static{display:grid;gap:.85rem;text-align:center}.attendance-modal .content .attendance-static p{margin:0;color:var(--text-sub);line-height:1.7}.attendance-info-modal .header .title{text-align:center;border-bottom:1px solid rgba(47,47,47,.12);padding-bottom:.8rem}.attendance-info-modal .content{padding:1.2rem 1rem}.attendance-info-modal .content .info-message{text-align:center;color:var(--text-body);line-height:1.6;border-bottom:1px dotted rgba(47,47,47,.25);padding-bottom:1.1rem}.attendance-info-modal .content .wedding-info{padding-top:1rem;line-height:1.8;color:var(--text-main);text-align:left}.attendance-info-modal .content .wedding-info svg{width:.8rem;height:.8rem}.attendance-info-modal .footer{display:flex}.attendance-info-modal .footer button{width:100%}.guestbook{background:#dce4d1;border-radius:var(--radius-card);padding:3.2rem 1.25rem;text-align:center}.guestbook .guestbook-sub{margin:1rem 0 1.6rem;color:var(--text-sub);font-size:1.05rem;text-align:center}.guestbook .post{background:#f8f8f8;border-radius:12px;border:1px solid rgba(47,47,47,.08);box-shadow:0 8px 16px #0000000f;margin-bottom:.98rem;text-align:left}.guestbook .post .heading{display:flex;justify-content:flex-end;min-height:1.5rem;padding:.45rem .68rem 0}.guestbook .post .heading .close-button{color:#bbb;font-size:1.08rem;border:0;background:transparent;padding:0}.guestbook .post .body{padding:0 1rem 1rem}.guestbook .post .body .content{color:#273246;line-height:1.62;font-size:1.02rem}.guestbook .post .body .meta{margin-top:.8rem;display:flex;justify-content:space-between;align-items:baseline}.guestbook .post .body .name{color:#9eb27d;font-size:.95rem}.guestbook .post .body .date{color:#7d7d7d;font-size:.9rem}.guestbook .guestbook-action{width:100%;margin-top:.7rem}.guestbook .button.button-variant-secondary.guestbook-action{background:transparent;border:0;color:#7d7d7d;min-height:2.2rem;margin-top:.2rem}.guestbook .pagination{margin-top:.8rem;display:flex;gap:.35rem;justify-content:center}.guestbook .pagination .page{border:1px solid rgba(47,47,47,.2);border-radius:7px;min-width:2rem;min-height:2rem;color:var(--text-main);background:#f4f4f4}.guestbook .pagination .page.current{background:#a8bd81;color:#fff;border-color:#a8bd81}.write-guestbook-modal,.delete-guestbook-modal,.all-guestbook-modal{width:min(24rem,94vw)}.write-guestbook-modal .title,.delete-guestbook-modal .title,.all-guestbook-modal .title{text-align:center;font-family:var(--heading-serif);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.4rem}.write-guestbook-modal .content,.delete-guestbook-modal .content,.all-guestbook-modal .content{padding:.5rem .9rem .9rem;max-height:75vh;overflow:auto}.write-guestbook-modal .form,.delete-guestbook-modal .form,.all-guestbook-modal .form{display:flex;flex-direction:column;gap:.7rem}.write-guestbook-modal .form label,.delete-guestbook-modal .form label,.all-guestbook-modal .form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text-sub)}.write-guestbook-modal .form input,.write-guestbook-modal .form textarea,.delete-guestbook-modal .form input,.delete-guestbook-modal .form textarea,.all-guestbook-modal .form input,.all-guestbook-modal .form textarea{width:100%;border:1px solid #d8d8d8;border-radius:7px;padding:.55rem;font-size:.95rem;font-family:inherit}.write-guestbook-modal .form textarea,.delete-guestbook-modal .form textarea,.all-guestbook-modal .form textarea{min-height:92px;resize:vertical}.write-guestbook-modal .footer,.delete-guestbook-modal .footer,.all-guestbook-modal .footer{display:flex;gap:.5rem}.write-guestbook-modal .footer button,.delete-guestbook-modal .footer button,.all-guestbook-modal .footer button{flex:1;width:auto}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-content-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-background{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#1113126b;animation:modal-backdrop-in var(--motion-base) var(--ease-cinematic) both;display:flex;justify-content:center;align-items:center}.modal-background>.modal{background:#f7f7f3;border:1px solid rgba(17,19,18,.12);border-radius:var(--radius-modal);box-shadow:0 24px 48px #11131233;animation:modal-content-in var(--motion-base) var(--ease-cinematic) both;view-transition-name:modal}.modal-background>.modal .header{padding:.6rem;background:transparent;z-index:7}.modal-background>.modal .header .close-button-wrapper{display:flex;justify-content:flex-end}.modal-background>.modal .header .close-button-wrapper .close-button{font-family:var(--font-latin-ui);font-size:1.45rem;line-height:1;color:#1113129e;background:transparent;border:0;padding:0;cursor:pointer;transition:color var(--motion-fast) ease}.modal-background>.modal .header .close-button-wrapper .close-button:hover{color:#111312e6}.modal-background>.modal .header .close-button-wrapper .close-button:focus-visible{outline:1px solid rgba(17,19,18,.55);outline-offset:2px}.modal-background>.modal .content{max-height:80vh;overflow:auto}::view-transition-old(modal),::view-transition-new(modal){animation-duration:var(--motion-slow);animation-timing-function:var(--ease-cinematic)}@media(prefers-reduced-motion:reduce){::view-transition-old(modal),::view-transition-new(modal){animation-duration:1ms}}@media(max-width:768px),(hover:none),(pointer:coarse){.modal-background>.modal{box-shadow:0 18px 36px #1113122e}}.share-button{display:grid;gap:.7rem}.share-button .share-cta{width:100%;min-height:48px;border-radius:12px;padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;color:#273246;border:1px solid rgba(47,47,47,.1);transition:background var(--motion-fast) ease}.share-button .share-cta.kakao{background:#f3de72}.share-button .share-cta.copy{background:#a8bd81;color:#fff}.share-button .share-cta .left{display:inline-flex;align-items:center;gap:.45rem}.share-button .share-cta img{width:.95rem;height:.95rem}.share-button .share-cta .arrow,.share-button .share-cta .copy-icon{font-size:1.2rem;line-height:1;opacity:.9}.share-button .brand-mark{text-align:center;color:#b6b6b6;font-size:.74rem;letter-spacing:.18em;margin-top:.55rem}@keyframes intro-exit{0%{opacity:1;filter:blur(0);transform:translate(-50%) scale(1)}to{opacity:0;filter:blur(6px);transform:translate(-50%) scale(1.04)}}.intro-overlay{position:fixed;top:0;left:50%;transform:translate(-50%);width:min(var(--page-max-width),100vw);height:100vh;height:100dvh;display:grid;place-items:center;background:radial-gradient(circle at 18% 22%,rgba(0,0,0,.04),transparent 36%),radial-gradient(circle at 82% 78%,rgba(0,0,0,.025),transparent 34%),linear-gradient(180deg,#fbfbf7,#f4f4ee);z-index:6;pointer-events:none}.intro-overlay *{pointer-events:none}.intro-overlay.fade-out{animation:intro-exit .9s cubic-bezier(.16,1,.3,1) forwards}.intro-ink{width:min(var(--page-max-width) - 24px,92vw);opacity:0;animation:intro-ink-enter .6s cubic-bezier(.16,1,.3,1) .1s forwards}@keyframes intro-ink-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.intro-text{font-family:Allura;font-size:clamp(3.6rem,9vw,6rem);fill:transparent;stroke:#11131299;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw-stroke 1.8s cubic-bezier(.4,0,.2,1) forwards .2s,fill-in .7s ease forwards 1.4s}@keyframes draw-stroke{to{stroke-dashoffset:0}}@keyframes fill-in{to{fill:#111312e0;stroke:#1113121f}}@media(prefers-reduced-motion:reduce){.intro-overlay.fade-out{animation:none;opacity:0}.intro-ink{animation:none;opacity:1}.intro-text{animation:none;fill:#111312e0;stroke-dashoffset:0}}@keyframes audio-chip-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes audio-pulse{0%,to{box-shadow:0 8px 24px #1113120f,0 0 #11131214}50%{box-shadow:0 8px 24px #1113120f,0 0 0 6px #11131200}}.audio-toggle{position:fixed;top:max(1.2rem,env(safe-area-inset-top));right:max(1.2rem,env(safe-area-inset-right));z-index:10;animation:audio-chip-enter var(--motion-base) var(--ease-cinematic) 2.2s both}.audio-toggle .audio-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .85rem;border-radius:999px;background:#fbfbf7b8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(17,19,18,.06);box-shadow:0 8px 24px #1113120f;font-size:.78rem;font-family:var(--font-sans);letter-spacing:.06em;color:var(--dark-color);cursor:pointer;transition:transform var(--motion-base) var(--ease-cinematic),box-shadow var(--motion-base) var(--ease-cinematic),background var(--motion-fast) ease,border-color var(--motion-fast) ease}.audio-toggle .audio-chip .icon{width:1rem;height:1rem;fill:currentColor;transition:transform var(--motion-fast) var(--ease-cinematic)}.audio-toggle .audio-chip.on{background:#fbfbf7d1;border-color:#11131224}.audio-toggle .audio-chip.on .icon{transform:scale(1.08)}.audio-toggle .audio-chip.needs-interaction{animation:audio-pulse 2s ease-in-out infinite}.audio-toggle .audio-chip:hover{transform:translateY(-1px);box-shadow:0 12px 32px #1113121a}.audio-toggle .audio-chip:active{transform:translateY(0) scale(.97)}@media(max-width:768px),(hover:none),(pointer:coarse){.audio-toggle .audio-chip{backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-reduced-motion:reduce){.audio-toggle{animation-duration:1ms}.audio-chip.needs-interaction{animation:none}}.date-reveal-card{min-height:100svh;width:100%;display:grid;place-items:center;background:var(--section-bg-sage);border-radius:0;opacity:1;transform:none}.date-reveal-card .content{width:100%;min-height:100svh;display:grid;place-items:center;padding:2rem 1rem}.date-reveal-card .big-date{display:grid;gap:0;justify-items:center;color:#fffffff0}.date-reveal-card .monthday,.date-reveal-card .year{font-family:var(--heading-serif);font-size:clamp(4rem,17vw,5rem);line-height:1.95;letter-spacing:.03em}.date-reveal-card .year{margin-top:-.2rem}.date-reveal-card .text-split .split-unit{color:inherit;opacity:0;transform:translateY(.8em) scale(.92);filter:blur(3px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i, 0) * 56ms)}.date-reveal-card.lazy-active .text-split .split-unit{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.text-split{overflow:hidden;position:relative;z-index:2}.text-split .split-unit{display:inline-block;opacity:0;transform:translateY(.55em);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i, 0) * 32ms);will-change:opacity,transform}.text-split .split-unit.space{width:.28em}.text-split.tracking{overflow:visible}.lazy-active .text-split .split-unit,.text-split.revealed .split-unit{opacity:1;transform:translateY(0)}.text-split.stately .split-unit{transition-duration:.9s;transition-delay:calc(var(--i, 0) * 50ms)}.lazy-active .text-split.stately .split-unit,.text-split.stately.revealed .split-unit{opacity:1;transform:translateY(0)}.text-split.tracking .split-unit{transform:translateY(.35em);letter-spacing:.18em;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),letter-spacing 1s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i, 0) * 40ms)}.lazy-active .text-split.tracking .split-unit,.text-split.tracking.revealed .split-unit{letter-spacing:.05em}.rsvp-section{background:var(--section-bg-light);border-radius:var(--radius-card);padding:3.5rem 1.5rem;text-align:center}.rsvp-section h2{margin:0 0 1rem}.rsvp-section .rsvp-subtitle{margin:0 0 1.6rem;color:var(--text-sub);font-size:.92rem;text-align:center}.rsvp-section .info-card{margin:0;padding:1.5rem 1.2rem;border-radius:calc(var(--radius-card) - 6px);background:#e3e8d8;border:0}.rsvp-section .info-card .label{position:static;transform:none;display:block;margin-bottom:.7rem;font-size:1.2rem;font-family:var(--heading-serif);letter-spacing:.06em;border:0;background:transparent;padding:0}.rsvp-section .info-card .content{line-height:1.8;margin-bottom:1rem;text-align:center}.rsvp-section .info-card .button{width:100%}.reception-section{background:var(--section-bg-light);border-radius:var(--radius-card);padding:3.5rem 1.4rem}.reception-section h2{margin-bottom:1.3rem}.reception-section .reception-card{background:#ececec;border-radius:calc(var(--radius-card) - 6px);padding:1.4rem 1rem;color:var(--text-main);line-height:1.8;border:1px solid rgba(47,47,47,.08)}.reception-section .reception-card p{margin:.25rem 0;font-size:.97rem}.reception-section .reception-card .host{color:#96a96f;font-weight:600;margin-bottom:.5rem}.reception-section .reception-card .address{color:var(--text-sub);margin-top:.35rem}.reception-section .reception-card .check-btn{margin-top:.9rem}.reception-section .note{margin:1.4rem 0 0;color:var(--text-sub);line-height:1.7;font-size:.92rem}.image-viewer-modal{width:min(95vw,420px);background:transparent!important;border:0!important;box-shadow:none!important}.image-viewer-modal .header,.image-viewer-modal .footer{display:none}.image-viewer-modal .content{padding:0!important}.image-viewer{min-height:62vh;background:#0b0d0cf0;border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;isolation:isolate}.image-viewer .viewer-image-wrap{width:100%;height:100%;display:grid;place-items:center;padding:.8rem 2.2rem}.image-viewer .viewer-image{max-width:100%;max-height:80vh;object-fit:contain;image-orientation:from-image}.image-viewer .viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:1.9rem;height:1.9rem;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center}.image-viewer .viewer-nav.prev{left:.55rem}.image-viewer .viewer-nav.next{right:.55rem}.image-viewer .viewer-nav.next .arrow{transform:rotate(180deg)}.image-viewer .viewer-nav .arrow{width:.9rem;height:.9rem;fill:#ffffffe0}.image-viewer .viewer-close{position:absolute;top:.55rem;right:.7rem;color:#fff;font-size:1.2rem;line-height:1;background:transparent;border:0}.image-viewer .viewer-meta{position:absolute;right:.8rem;bottom:.75rem;color:#ffffffe0;font-size:.77rem;letter-spacing:.03em}.admin-page{min-height:100vh;width:100%;background:#1e1e2e;color:#e0e0e0;font-family:inherit}.admin-page--auth{display:flex;justify-content:center;align-items:center;padding:1.5rem}.admin-page--dashboard{display:grid;grid-template-columns:220px 1fr}.admin-auth-card{width:min(400px,100%);background:#2a2a3c;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:2rem}.admin-auth-card h1{margin:0 0 1.2rem;font-size:1.3rem;letter-spacing:.04em;color:#e0e0e0}.admin-auth-card .auth-form{display:grid;gap:.8rem}.admin-auth-card .auth-form label{display:grid;gap:.3rem;font-size:.9rem;color:#a0a0b0}.admin-auth-card .auth-form input{border:1px solid rgba(255,255,255,.12);border-radius:8px;min-height:2.4rem;padding:.35rem .6rem;background:#232336;color:#e0e0e0;font-family:inherit}.admin-auth-card .auth-form input:focus{outline:1px solid #8ab4f8;border-color:#8ab4f8}.admin-auth-card .status{margin:0 0 .4rem;color:#a0a0b0;font-size:.9rem}.admin-sidebar{position:sticky;top:0;height:100vh;background:#181825;border-right:1px solid rgba(255,255,255,.08);padding:1.2rem 0;display:flex;flex-direction:column}.admin-sidebar h1{padding:0 1.2rem;margin:0 0 1.5rem;font-size:1.1rem;letter-spacing:.08em;color:#707080}.admin-sidebar nav{display:flex;flex-direction:column;gap:.2rem}.admin-sidebar nav button{display:block;width:100%;text-align:left;padding:.7rem 1.2rem;background:transparent;border:none;color:#a0a0b0;font-size:.9rem;font-family:inherit;cursor:pointer;border-left:3px solid transparent;transition:background .15s,color .15s}.admin-sidebar nav button:hover{background:#2a2a3c;color:#e0e0e0}.admin-sidebar nav button.active{background:#2a2a3c;color:#8ab4f8;border-left-color:#8ab4f8}.admin-main{padding:1.5rem 2rem;max-width:1000px;overflow-x:hidden}.admin-main h3{margin:0 0 .6rem;font-size:.95rem;color:#a0a0b0}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.admin-toolbar h2{margin:0;font-size:1.2rem;color:#e0e0e0}.btn{border:1px solid rgba(255,255,255,.12);border-radius:8px;min-height:2.2rem;padding:.2rem .8rem;background:#313145;color:#e0e0e0;font-family:inherit;cursor:pointer}.btn:hover{background:#3c3c52}.status{margin:.8rem 0;color:#a0a0b0}.status.error{color:#f28b82}.pager{margin-top:.8rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.pager button{border:1px solid rgba(255,255,255,.12);border-radius:8px;min-height:2rem;min-width:3rem;background:#313145;color:#e0e0e0;font-family:inherit;cursor:pointer}.pager button:hover{background:#3c3c52}.pager button:disabled{opacity:.35;cursor:default}.pager span{color:#707080;font-size:.85rem}.side-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.side-card{background:#2a2a3c;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:1.2rem}.side-card h3{margin:0 0 .8rem;font-size:1rem}.side-card.groom h3{color:#8ab4f8}.side-card.bride h3{color:#f4a8c0}.side-card .side-stats{display:flex;gap:1.2rem}.side-card .side-stat{display:flex;flex-direction:column;gap:.15rem}.side-card .side-stat.yes .side-stat-value{color:#81c995}.side-card .side-stat.no .side-stat-value{color:#f28b82}.side-card .side-stat-label{font-size:.8rem;color:#707080}.side-card .side-stat-value{font-size:1.5rem;font-weight:700}.side-card .side-total{margin-top:.7rem;padding-top:.7rem;border-top:1px solid rgba(255,255,255,.08);color:#a0a0b0;font-size:.85rem}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.88rem}.admin-table th{text-align:left;padding:.6rem .8rem;color:#707080;font-weight:500;border-bottom:1px solid rgba(255,255,255,.12);font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.admin-table td{padding:.55rem .8rem;border-bottom:1px solid rgba(255,255,255,.08);color:#e0e0e0;white-space:nowrap}.admin-table tbody tr:hover td{background:#313145}.admin-table .status-yes{color:#81c995}.admin-table .status-no{color:#f28b82}.inline-delete{border:1px solid rgba(242,139,130,.45);border-radius:6px;min-height:1.9rem;min-width:3.2rem;background:transparent;color:#f28b82;font-family:inherit;font-size:.8rem;cursor:pointer}.inline-delete:hover{background:#f28b821f}.inline-delete:disabled{opacity:.45;cursor:default}.guestbook-summary{margin-bottom:1.5rem}.guestbook-summary .metric-card{display:inline-flex;flex-direction:column;background:#2a2a3c;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:1.2rem 2rem}.guestbook-summary .metric-value{font-size:2rem;font-weight:700;color:#8ab4f8}.guestbook-summary .metric-label{font-size:.85rem;color:#a0a0b0;margin-top:.3rem}.list{display:grid;gap:.5rem}.item{background:#2a2a3c;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.7rem .9rem;display:grid;gap:.3rem}.item .item-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.item .item-meta-actions{display:flex;align-items:center;gap:.5rem}.item .item-name{font-weight:500;color:#e0e0e0}.item .item-date{color:#707080;font-size:.78rem;white-space:nowrap}.item .item-content{color:#a0a0b0;font-size:.88rem;line-height:1.4}.item-delete{border:1px solid rgba(242,139,130,.45);border-radius:6px;min-height:1.8rem;padding:0 .45rem;background:transparent;color:#f28b82;font-family:inherit;font-size:.78rem;cursor:pointer}.item-delete:hover{background:#f28b821f}.item-delete:disabled{opacity:.45;cursor:default}@media(max-width:768px){.admin-page--dashboard{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;flex-direction:row;align-items:center;padding:.8rem 1rem;border-right:none;border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto}.admin-sidebar h1{margin:0 1rem 0 0;white-space:nowrap}.admin-sidebar nav{flex-direction:row;gap:0}.admin-sidebar nav button{border-left:none;border-bottom:3px solid transparent;white-space:nowrap;padding:.5rem 1rem}.admin-sidebar nav button.active{border-left-color:transparent;border-bottom-color:#8ab4f8}.admin-main{padding:1rem}.side-cards{grid-template-columns:1fr}}:root{--page-max-width: 400px;--section-bg-light: #efefef;--section-bg-sage: #b8c58f;--text-main: #2f2f2f;--text-body: #535353;--text-sub: #8f8f8f;--radius-card: 16px;--radius-button: 12px;--space-section: 56px;--motion-fast: .18s;--motion-base: .28s;--motion-slow: .34s;--ease-cinematic: cubic-bezier(.16, 1, .3, 1);--font-ko-body: "Pretendard", "Pretendard Variable", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-latin-ui: "Manrope", "Pretendard", system-ui, -apple-system, "Segoe UI", sans-serif;--heading-serif: "Cormorant Garamond", "DM Serif Display", serif;--text-sans: var(--font-ko-body);--font-sans: var(--font-latin-ui);--radius-modal: 12px;--surface-alpha: 1;--font-heading-center-size: clamp(2.05rem, 8.8vw, 2.55rem);--section-header-align: center;color:var(--text-main);font-family:var(--text-sans);line-height:1.6;font-size:16px}*{box-sizing:border-box}html,body{margin:0;width:100%;overflow-x:hidden;background:#d9d9d9}body{touch-action:pan-y}body.modal-open{overflow:hidden}body.motion-lite{--motion-fast: .14s;--motion-base: .22s;--motion-slow: .28s}button{font-family:inherit}img,svg,canvas{display:block;max-width:100%}.background{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:0}.page-shell{width:min(var(--page-max-width),100vw);background:var(--section-bg-light);position:relative;z-index:2}.section{position:relative;width:100%;min-height:auto;padding:var(--space-section) 24px;background:var(--section-bg-light)}.section.hero,.section.outro-photo-block{padding:0}.section.date-reveal-block,.section.message-block,.section.info-block,.section.rsvp-block,.section.reception-block{background:#dce4d1}.section.date-reveal-block{padding:0}.card{opacity:0;transform:translateY(14px);transition:opacity var(--motion-base) var(--ease-cinematic),transform var(--motion-base) var(--ease-cinematic)}.card.lazy-active{opacity:1;transform:translateY(0)}h2{margin:0;font-family:var(--heading-serif);font-size:var(--font-heading-center-size);line-height:1;letter-spacing:.03em;color:var(--text-main);font-weight:400;text-align:var(--section-header-align);position:relative;z-index:2}.section .tracking{font-family:var(--heading-serif);font-size:var(--font-heading-center-size);line-height:1;letter-spacing:.02em;font-weight:400;text-align:var(--section-header-align);position:relative;z-index:2}.section-heading-center{text-align:var(--section-header-align)}.section-sub-center{text-align:center;font-size:clamp(.8rem,3.2vw,.9rem);color:var(--text-sub)}.section-line-animated{position:relative;overflow:hidden}.section-line-animated:after{content:"";position:absolute;inset:0;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform var(--motion-slow) var(--ease-cinematic)}.lazy-active .section-line-animated:after,.section-line-animated.lazy-active:after{animation:line-grow var(--motion-slow) var(--ease-cinematic) both;transform:scaleX(1)}.section-divider{position:relative;z-index:1;width:100%;display:flex;justify-content:center;padding:1.8rem 0}.section-divider:after{content:"";width:3.2rem;height:1px;background:#2f2f2f40;transform:scaleX(0);transform-origin:center;transition:transform var(--motion-slow) var(--ease-cinematic)}.lazy-active .section-divider:after,.section-divider.lazy-active:after{animation:line-grow var(--motion-slow) var(--ease-cinematic) both;transform:scaleX(1)}@keyframes line-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.break{height:.9rem}.footer-area{width:min(var(--page-max-width),100vw);background:var(--section-bg-light);padding:1.2rem 1.3rem 2.2rem;border-bottom-left-radius:20px;border-bottom-right-radius:20px}.share-card{border-radius:var(--radius-card)}.outro-photo-card{width:100%;height:780px;background:linear-gradient(180deg,transparent 62%,rgba(184,197,143,.95) 72%),url(/assets/image1-Bfv_pTW_.jpg) center 30%/cover no-repeat;opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
