*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{width:100%;height:100%;overflow-x:hidden;background:#e8e4e0}button,input[type=button],input[type=submit]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:inherit;font:inherit;padding:0;margin:0;cursor:pointer;outline:none}button:focus-visible,input[type=button]:focus-visible,input[type=submit]:focus-visible{outline:2px solid #b27085;outline-offset:2px}a:focus-visible{outline:2px solid #b27085;outline-offset:2px}.splash-screen{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:clamp(480px,36vw,700px);height:100vh;display:flex;align-items:center;justify-content:center;z-index:9999;overflow:hidden;box-shadow:0 0 60px rgba(0,0,0,.08),0 0 20px rgba(0,0,0,.04)}.splash-screen .splash-skip{position:absolute;top:20px;right:20px;z-index:10;background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 20px;border-radius:20px;font-size:.8rem;letter-spacing:.15em;cursor:pointer;transition:all .3s}.splash-screen .splash-skip:hover{background:rgba(255,255,255,.3)}.splash-screen .splash-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.splash-screen .splash-background .splash-background-image{width:100%;height:100%;object-fit:cover;filter:brightness(.5)}.splash-screen .splash-content{position:relative;z-index:1;text-align:center;width:100%;padding:0 30px}.splash-screen .splash-content .splash-text-group .splash-main-text{font-family:Cormorant Garamond,serif;font-size:clamp(2rem,8vw,3.2rem);font-weight:300;color:#fff;letter-spacing:.15em;white-space:nowrap;text-shadow:0 0 20px rgba(255,255,255,.9),0 0 40px rgba(255,255,255,.5),0 0 80px rgba(255,220,200,.35),0 4px 24px rgba(0,0,0,.6);margin-bottom:1rem;line-height:1.2}.splash-screen .splash-content .splash-text-group .splash-sub-text{font-family:Cormorant Garamond,serif;font-size:clamp(.9rem,3.5vw,1.3rem);font-weight:300;color:rgba(255,255,255,.88);letter-spacing:.3em;white-space:nowrap;text-transform:uppercase;text-shadow:0 0 12px rgba(255,255,255,.7),0 0 30px rgba(255,220,200,.3),0 2px 12px rgba(0,0,0,.5)}.splash-screen .splash-content .splash-final .splash-title{font-family:Cormorant Garamond,serif;font-size:clamp(1.4rem,7.5vw,2.5rem);line-height:1.15;font-weight:300;letter-spacing:.2em;white-space:nowrap;text-transform:uppercase;color:rgba(255,255,255,.82);margin-bottom:2rem;text-shadow:0 0 10px rgba(255,255,255,.6),0 0 24px rgba(255,220,200,.3),0 2px 14px rgba(0,0,0,.5)}.splash-screen .splash-content .splash-final .splash-names{font-family:"Noto Serif KR",serif;font-size:2.4rem;font-weight:200;color:#fff;display:flex;align-items:center;justify-content:center;gap:1rem;letter-spacing:.15em;text-shadow:0 0 18px rgba(255,255,255,.95),0 0 40px rgba(255,255,255,.55),0 0 80px rgba(255,210,190,.4),0 4px 20px rgba(0,0,0,.55)}.splash-screen .splash-content .splash-final .splash-names .heart{color:rgba(255,200,190,.95);font-size:2rem;text-shadow:0 0 14px rgba(255,150,130,.8),0 0 30px rgba(255,120,100,.4)}.splash-screen .splash-content .splash-final .splash-date{font-family:"Noto Serif KR",serif;font-size:1.3rem;color:#fff;margin-top:2rem;font-weight:200;letter-spacing:.2em;text-shadow:0 0 10px rgba(255,255,255,.6),0 0 24px rgba(255,220,200,.25),0 2px 10px rgba(0,0,0,.45)}@media(min-width:769px){body{background:linear-gradient(135deg,#f0ebe4,#f5f0eb 40%,#ede8e3 70%,#f0ebe4);min-height:100vh}}.wedding-invitation{font-family:Gowun Dodum,"Noto Serif KR",sans-serif;color:#1a1a1a;background:#fafafa}@media(min-width:769px){.wedding-invitation{max-width:clamp(480px,36vw,700px);margin:0 auto;min-height:100vh;box-shadow:0 0 60px rgba(0,0,0,.08),0 20px 80px rgba(0,0,0,.06);position:relative}}section{padding:80px 20px;max-width:425px;margin:0 auto}@media(max-width:425px){section{padding:60px 20px}}.section-header{text-align:center;margin-bottom:40px}.section-header .section-title{font-size:2.5rem;font-weight:300;font-family:inherit;letter-spacing:.4em;color:#b27085;margin-bottom:15px}.section-header .section-subtitle{font-size:1.1rem;color:#888;font-weight:300;letter-spacing:.1em}.cover-section{position:relative;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:0 20px;max-width:425px;margin:0 auto}@media(min-width:769px){.cover-section{max-width:clamp(480px,36vw,700px);padding:0;width:100%}}@media(max-width:425px){.cover-section{padding:0;max-width:none}}.cover-section .cover-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}.cover-section .cover-background .cover-image{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}.cover-section .cover-background .sparkles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.cover-section .cover-background .sparkles .sparkle{position:absolute;border-radius:50%;animation:sparkle-float linear infinite;opacity:0}.cover-section .cover-background .sparkles .sparkle:first-child{width:5px;height:5px;left:18%;top:95%;animation-duration:11s;animation-delay:8s;filter:blur(1px);background:radial-gradient(circle,hsla(83,60%,80%,.95) 0,hsla(83,50%,70%,.4) 40%,hsla(83,40%,60%,0) 70%);box-shadow:0 0 10px rgba(199,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(2){width:8px;height:8px;left:97%;top:66%;animation-duration:11s;animation-delay:8s;filter:blur(3px);background:radial-gradient(circle,hsla(108,60%,80%,.95) 0,hsla(108,50%,70%,.4) 40%,hsla(108,40%,60%,0) 70%);box-shadow:0 0 16px rgba(172,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(3){width:5px;height:5px;left:4%;top:51%;animation-duration:11s;animation-delay:9s;filter:blur(1px);background:radial-gradient(circle,hsla(135,60%,80%,.95) 0,hsla(135,50%,70%,.4) 40%,hsla(135,40%,60%,0) 70%);box-shadow:0 0 10px rgba(159,223,175,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(4){width:11px;height:11px;left:64%;top:54%;animation-duration:9s;animation-delay:1s;filter:blur(3px);background:radial-gradient(circle,hsla(108,60%,80%,.95) 0,hsla(108,50%,70%,.4) 40%,hsla(108,40%,60%,0) 70%);box-shadow:0 0 22px rgba(172,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(5){width:11px;height:11px;left:10%;top:84%;animation-duration:12s;animation-delay:7s;filter:blur(2px);background:radial-gradient(circle,hsla(112,60%,80%,.95) 0,hsla(112,50%,70%,.4) 40%,hsla(112,40%,60%,0) 70%);box-shadow:0 0 22px rgba(168,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(6){width:12px;height:12px;left:19%;top:62%;animation-duration:9s;animation-delay:4s;filter:blur(2px);background:radial-gradient(circle,hsla(93,60%,80%,.95) 0,hsla(93,50%,70%,.4) 40%,hsla(93,40%,60%,0) 70%);box-shadow:0 0 24px rgba(188,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(7){width:8px;height:8px;left:73%;top:70%;animation-duration:8s;animation-delay:4s;filter:blur(3px);background:radial-gradient(circle,hsla(118,60%,80%,.95) 0,hsla(118,50%,70%,.4) 40%,hsla(118,40%,60%,0) 70%);box-shadow:0 0 16px rgba(162,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(8){width:10px;height:10px;left:24%;top:99%;animation-duration:9s;animation-delay:3s;filter:blur(3px);background:radial-gradient(circle,hsla(91,60%,80%,.95) 0,hsla(91,50%,70%,.4) 40%,hsla(91,40%,60%,0) 70%);box-shadow:0 0 20px rgba(190,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(9){width:9px;height:9px;left:52%;top:92%;animation-duration:9s;animation-delay:2s;filter:blur(3px);background:radial-gradient(circle,hsla(83,60%,80%,.95) 0,hsla(83,50%,70%,.4) 40%,hsla(83,40%,60%,0) 70%);box-shadow:0 0 18px rgba(199,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(10){width:8px;height:8px;left:7%;top:96%;animation-duration:8s;animation-delay:2s;filter:blur(3px);background:radial-gradient(circle,hsla(129,60%,80%,.95) 0,hsla(129,50%,70%,.4) 40%,hsla(129,40%,60%,0) 70%);box-shadow:0 0 16px rgba(159,223,169,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(11){width:12px;height:12px;left:9%;top:80%;animation-duration:9s;animation-delay:1s;filter:blur(3px);background:radial-gradient(circle,hsla(83,60%,80%,.95) 0,hsla(83,50%,70%,.4) 40%,hsla(83,40%,60%,0) 70%);box-shadow:0 0 24px rgba(199,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(12){width:11px;height:11px;left:84%;top:57%;animation-duration:9s;animation-delay:6s;filter:blur(3px);background:radial-gradient(circle,hsla(124,60%,80%,.95) 0,hsla(124,50%,70%,.4) 40%,hsla(124,40%,60%,0) 70%);box-shadow:0 0 22px rgba(159,223,164,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(13){width:9px;height:9px;left:98%;top:97%;animation-duration:7s;animation-delay:1s;filter:blur(2px);background:radial-gradient(circle,hsla(94,60%,80%,.95) 0,hsla(94,50%,70%,.4) 40%,hsla(94,40%,60%,0) 70%);box-shadow:0 0 18px rgba(187,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(14){width:8px;height:8px;left:87%;top:74%;animation-duration:6s;animation-delay:9s;filter:blur(1px);background:radial-gradient(circle,hsla(135,60%,80%,.95) 0,hsla(135,50%,70%,.4) 40%,hsla(135,40%,60%,0) 70%);box-shadow:0 0 16px rgba(159,223,175,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(15){width:9px;height:9px;left:34%;top:48%;animation-duration:10s;animation-delay:1s;filter:blur(1px);background:radial-gradient(circle,hsla(121,60%,80%,.95) 0,hsla(121,50%,70%,.4) 40%,hsla(121,40%,60%,0) 70%);box-shadow:0 0 18px rgba(159,223,160,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(16){width:12px;height:12px;left:93%;top:73%;animation-duration:8s;animation-delay:4s;filter:blur(2px);background:radial-gradient(circle,hsla(85,60%,80%,.95) 0,hsla(85,50%,70%,.4) 40%,hsla(85,40%,60%,0) 70%);box-shadow:0 0 24px rgba(197,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(17){width:12px;height:12px;left:4%;top:65%;animation-duration:6s;animation-delay:7s;filter:blur(3px);background:radial-gradient(circle,hsla(82,60%,80%,.95) 0,hsla(82,50%,70%,.4) 40%,hsla(82,40%,60%,0) 70%);box-shadow:0 0 24px rgba(200,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(18){width:6px;height:6px;left:78%;top:74%;animation-duration:6s;animation-delay:5s;filter:blur(2px);background:radial-gradient(circle,hsla(119,60%,80%,.95) 0,hsla(119,50%,70%,.4) 40%,hsla(119,40%,60%,0) 70%);box-shadow:0 0 12px rgba(160,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(19){width:6px;height:6px;left:37%;top:55%;animation-duration:9s;animation-delay:9s;filter:blur(1px);background:radial-gradient(circle,hsla(116,60%,80%,.95) 0,hsla(116,50%,70%,.4) 40%,hsla(116,40%,60%,0) 70%);box-shadow:0 0 12px rgba(164,223,159,.5)}.cover-section .cover-background .sparkles .sparkle:nth-child(20){width:12px;height:12px;left:65%;top:49%;animation-duration:8s;animation-delay:2s;filter:blur(3px);background:radial-gradient(circle,hsla(92,60%,80%,.95) 0,hsla(92,50%,70%,.4) 40%,hsla(92,40%,60%,0) 70%);box-shadow:0 0 24px rgba(189,223,159,.5)}@keyframes sparkle-float{0%{opacity:0;transform:translate(0) scale(.6)}15%{opacity:1}50%{opacity:.9}85%{opacity:.5}to{opacity:0;transform:translate(-100px,-160px) scale(.3)}}.cover-section .cover-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;color:#fff}.cover-section .cover-overlay .cover-top-text{position:absolute;top:50px;left:0;right:0;display:flex;justify-content:space-between;padding:0 40px;font-size:1.3rem;font-weight:300;letter-spacing:.25em;text-shadow:0 2px 8px rgba(0,0,0,.3)}@media(max-width:425px){.cover-section .cover-overlay .cover-top-text{font-size:1rem;padding:0 25px;top:35px;letter-spacing:.2em}}.cover-section .cover-overlay .date-display-large{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.cover-section .cover-overlay .date-display-large .date-number{display:flex;align-items:baseline;line-height:1;text-shadow:0 4px 12px rgba(0,0,0,.3)}.cover-section .cover-overlay .date-display-large .date-number .number{font-size:140px;font-weight:700;font-family:Bona Nova SC,Cormorant Garamond,serif;letter-spacing:.1em}@media(max-width:425px){.cover-section .cover-overlay .date-display-large .date-number .number{font-size:100px}}.cover-section .cover-overlay .date-display-large .date-number .unit{font-size:2rem;font-weight:400;font-family:"Noto Serif KR",serif;margin-left:.3rem}@media(max-width:425px){.cover-section .cover-overlay .date-display-large .date-number .unit{font-size:1.5rem}}.cover-section .cover-overlay .cover-bottom-text{position:absolute;bottom:80px;left:0;right:0;display:flex;justify-content:space-between;padding:0 40px;font-size:1.3rem;font-weight:300;letter-spacing:.25em;text-shadow:0 2px 8px rgba(0,0,0,.3)}@media(max-width:425px){.cover-section .cover-overlay .cover-bottom-text{font-size:1rem;padding:0 25px;bottom:50px;letter-spacing:.2em}}.invitation-section{background:#f9f9f9}.invitation-section .invitation-message{text-align:center;margin:40px 0}.invitation-section .invitation-message .message-text{white-space:pre-line;line-height:2;color:#555;font-size:1.05rem;font-weight:300;letter-spacing:.02em}.invitation-section .parents-info{display:flex;flex-direction:column;gap:30px;margin:50px 0}.invitation-section .parents-info .family-info{text-align:center}.invitation-section .parents-info .family-info .parents{display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:10px;font-size:.95rem;color:#666;font-weight:300;letter-spacing:.05em}.invitation-section .parents-info .family-info .child-name{font-size:1.4rem;font-weight:400;color:#333;letter-spacing:.1em}.invitation-section .contact-button{text-align:center;margin-top:40px}.invitation-section .contact-button .btn-contact{padding:12px 40px;background:#b27085;color:#fff;border:none;border-radius:30px;font-size:1rem;font-weight:300;letter-spacing:.1em;cursor:pointer;transition:background .3s}.invitation-section .contact-button .btn-contact:hover{background:#9b5a70}.gallery-section .gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;padding:0 16px;margin-bottom:24px}.gallery-section .gallery-grid .gallery-item{aspect-ratio:3/4;overflow:hidden;border-radius:6px;cursor:pointer}.gallery-section .gallery-grid .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-section .gallery-grid .gallery-item img:hover{transform:scale(1.05)}.gallery-section .gallery-grid .gallery-item--hero{grid-column:span 2;aspect-ratio:3/4;border-radius:8px}.gallery-section .gallery-grid .gallery-item--full{grid-column:span 2;aspect-ratio:4/3;border-radius:8px}.gallery-section .gallery-more{text-align:center}.gallery-section .gallery-more .btn-more{padding:10px 30px;background:rgba(0,0,0,0);color:#b27085;border:1px solid #b27085;border-radius:30px;cursor:pointer;transition:all .3s}.gallery-section .gallery-more .btn-more:hover{background:#b27085;color:#fff}.calendar-section{background:#f9f9f9}.calendar-section .calendar-container{max-width:400px;margin:0 auto}.calendar-section .calendar-container .calendar-date-info{text-align:center;margin-bottom:30px}.calendar-section .calendar-container .calendar-date-info .date-display{font-size:1.6rem;font-weight:400;color:#333;margin-bottom:10px;letter-spacing:.05em}.calendar-section .calendar-container .calendar-date-info .time-display{font-size:1.05rem;font-weight:300;color:#666;letter-spacing:.05em}.calendar-section .calendar-container .calendar .calendar-table{width:100%;border-collapse:collapse;table-layout:fixed}.calendar-section .calendar-container .calendar .calendar-table td,.calendar-section .calendar-container .calendar .calendar-table th{padding:8px 5px;text-align:center;height:45px;vertical-align:middle}.calendar-section .calendar-container .calendar .calendar-table th{color:#888;font-weight:400;font-size:.9rem;border-bottom:1px solid #eee}.calendar-section .calendar-container .calendar .calendar-table th.sunday{color:#c0392b}.calendar-section .calendar-container .calendar .calendar-table th.saturday{color:#2980b9}.calendar-section .calendar-container .calendar .calendar-table td{color:#666}.calendar-section .calendar-container .calendar .calendar-table td.sunday{color:#c0392b}.calendar-section .calendar-container .calendar .calendar-table td.saturday{color:#2980b9}.calendar-section .calendar-container .calendar .calendar-table td.wedding-day{padding:4px 5px}.calendar-section .calendar-container .calendar .calendar-table td.wedding-day .day-marker{background:#b27085;color:#fff;border-radius:50%;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.calendar-section .countdown-timer{margin-top:50px;text-align:center}.calendar-section .countdown-timer .timer-display{display:flex;align-items:flex-start;justify-content:center;gap:10px;margin-bottom:20px}.calendar-section .countdown-timer .timer-display .timer-unit{display:flex;flex-direction:column;align-items:center;width:70px}.calendar-section .countdown-timer .timer-display .timer-unit .timer-label{font-size:.8rem;color:#888;margin-bottom:5px}.calendar-section .countdown-timer .timer-display .timer-unit .timer-value{font-size:26px;font-weight:400;font-family:inherit;color:#b27085;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;width:100%}.calendar-section .countdown-timer .timer-display .timer-separator{font-size:2rem;color:#ddd;line-height:1;align-self:flex-end;margin-bottom:.25em}.calendar-section .countdown-timer .countdown-message{color:#666;font-size:.9rem}.location-section .venue-info{text-align:center;margin-bottom:30px}.location-section .venue-info .venue-name{font-size:1.3rem;font-weight:500;color:#333;margin-bottom:10px}.location-section .venue-info .venue-address{color:#666;margin-bottom:10px}.location-section .venue-info .venue-tel{color:#b27085;text-decoration:none}.location-section .venue-info .venue-tel:hover{text-decoration:underline}.location-section .map-container{margin:30px 0;border-radius:8px;overflow:hidden}.location-section .navigation-buttons{margin:30px 0;text-align:center}.location-section .navigation-buttons h4{margin-bottom:10px;font-weight:500}.location-section .navigation-buttons p{color:#888;font-size:.9rem;margin-bottom:20px}.location-section .navigation-buttons .nav-button-group{display:flex;gap:10px;justify-content:center}.location-section .navigation-buttons .nav-button-group button{padding:10px 20px;background:#fff;border:1px solid #ddd;border-radius:20px;cursor:pointer;transition:all .3s}.location-section .navigation-buttons .nav-button-group button:hover{background:#b27085;color:#fff;border-color:#b27085}.location-section .transportation-info{margin-top:50px;display:grid;grid-gap:20px;gap:20px}.location-section .transportation-info .transport-item{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s}.location-section .transportation-info .transport-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.location-section .transportation-info .transport-item .transport-header{display:flex;align-items:center;gap:12px;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.location-section .transportation-info .transport-item .transport-header .transport-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f9f9f9}.location-section .transportation-info .transport-item .transport-header h4{font-weight:600;font-size:1.1rem;color:#333;margin:0}.location-section .transportation-info .transport-item .transport-content{padding-left:52px}.location-section .transportation-info .transport-item .transport-content p{color:#666;line-height:1.8;font-size:.95rem;margin:8px 0}.location-section .transportation-info .transport-item .transport-content p:first-child{margin-top:0}.location-section .transportation-info .transport-item .transport-content p:last-child{margin-bottom:0}.location-section .transportation-info .transport-item .transport-content p:empty{display:none}.location-section .transportation-info .transport-item .transport-content .bus-info,.location-section .transportation-info .transport-item .transport-content .subway-info{margin:12px 0}.location-section .transportation-info .transport-item .transport-content .bus-info:first-child,.location-section .transportation-info .transport-item .transport-content .subway-info:first-child{margin-top:0}.location-section .transportation-info .transport-item .transport-content .bus-info:last-child,.location-section .transportation-info .transport-item .transport-content .subway-info:last-child{margin-bottom:0}.location-section .transportation-info .transport-item .transport-content .bus-badges,.location-section .transportation-info .transport-item .transport-content .subway-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.location-section .transportation-info .transport-item .transport-content .transport-description{color:#888;font-size:.88rem;line-height:1.6;margin-top:6px;font-weight:300}.location-section .transportation-info .transport-item .transport-content .subway-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:16px;color:#fff;font-weight:600;font-size:.95rem;white-space:nowrap}.location-section .transportation-info .transport-item .transport-content .bus-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:14px;color:#fff;font-weight:600;font-size:.9rem;min-width:48px;white-space:nowrap}.location-section .transportation-info .transport-item.subway .transport-icon{background:#e8f5e9}.location-section .transportation-info .transport-item.shuttle .transport-icon{background:#fff3e0}.location-section .transportation-info .transport-item.bus .transport-icon{background:#e3f2fd}.location-section .transportation-info .transport-item.parking .transport-icon{background:#f3e5f5}@media(max-width:425px){.location-section .transportation-info .transport-item{padding:16px}.location-section .transportation-info .transport-item .transport-header .transport-icon{width:36px;height:36px;font-size:1.3rem}.location-section .transportation-info .transport-item .transport-header h4{font-size:1rem}.location-section .transportation-info .transport-item .transport-content{padding-left:48px}.location-section .transportation-info .transport-item .transport-content p{font-size:.9rem}.location-section .transportation-info .transport-item .transport-content .bus-badges,.location-section .transportation-info .transport-item .transport-content .subway-badges{gap:6px}.location-section .transportation-info .transport-item .transport-content .subway-badge{padding:5px 12px;font-size:.85rem}.location-section .transportation-info .transport-item .transport-content .bus-badge{padding:5px 10px;font-size:.8rem;min-width:44px}.location-section .transportation-info .transport-item .transport-content .transport-description{font-size:.82rem}}.guestbook-section{background:#f9f9f9}.guestbook-section .guestbook-carousel{position:relative;display:flex;align-items:center;justify-content:center;padding:0 50px;margin-bottom:20px}.guestbook-section .guestbook-carousel .carousel-btn{position:absolute;background:rgba(0,0,0,0);border:none;font-size:2rem;color:#b27085;cursor:pointer;transition:color .3s;z-index:2}.guestbook-section .guestbook-carousel .carousel-btn:hover{color:#9b5a70}.guestbook-section .guestbook-carousel .carousel-btn.prev{left:0}.guestbook-section .guestbook-carousel .carousel-btn.next{right:0}.guestbook-section .guestbook-carousel .guestbook-card-wrapper{width:100%;max-width:500px;overflow:hidden}.guestbook-section .guestbook-carousel .guestbook-card{width:100%;background:#faf8f5;border-radius:12px;padding:40px 30px 32px;border:1px solid rgba(178,112,133,.14);box-shadow:0 4px 20px rgba(178,112,133,.08);position:relative}.guestbook-section .guestbook-carousel .guestbook-card:before{content:"“";position:absolute;top:12px;left:22px;font-size:4.5rem;line-height:1;color:rgba(178,112,133,.18);font-family:Georgia,serif;pointer-events:none}.guestbook-section .guestbook-carousel .guestbook-card .card-content{text-align:center}.guestbook-section .guestbook-carousel .guestbook-card .card-content .author-icon{display:none}.guestbook-section .guestbook-carousel .guestbook-card .card-content .message{line-height:2.2;color:#666;margin-bottom:20px;white-space:pre-line;font-size:1rem;font-weight:300;letter-spacing:.02em;font-style:italic}.guestbook-section .guestbook-carousel .guestbook-card .card-content .author{color:#999;font-style:normal;font-weight:300;letter-spacing:.08em;font-size:.88rem;text-align:right}.guestbook-section .guestbook-pagination{display:flex;gap:8px;justify-content:center;margin-bottom:30px}.guestbook-section .guestbook-pagination .dot{display:none}.guestbook-section .guestbook-pagination .pagination-text{font-size:.85rem;color:#bbb;letter-spacing:.12em;font-weight:300}.guestbook-section .guestbook-actions{display:flex;gap:12px;justify-content:center}.guestbook-section .guestbook-actions button{padding:10px 28px;border-radius:22px;cursor:pointer;transition:all .25s;font-weight:300;letter-spacing:.08em;font-size:.88rem}.guestbook-section .guestbook-actions .btn-write{background:#b27085;color:#fff;border:1px solid #b27085}.guestbook-section .guestbook-actions .btn-write:hover{background:#9b5a70;border-color:#9b5a70}.guestbook-section .guestbook-actions .btn-view-all{background:rgba(0,0,0,0);color:#b27085;border:1px solid rgba(178,112,133,.45)}.guestbook-section .guestbook-actions .btn-view-all:hover{background:rgba(178,112,133,.08);border-color:#b27085}.guestbook-section .guestbook-empty,.guestbook-section .guestbook-error,.guestbook-section .guestbook-loading{text-align:center;padding:40px 20px;color:#888;font-size:.95rem;font-weight:300}.guestbook-section .guestbook-error{color:#e74c3c}.guestbook-section .guestbook-error .btn-retry{margin-top:12px;padding:8px 20px;background:rgba(0,0,0,0);border:1px solid #e74c3c;border-radius:16px;color:#e74c3c;cursor:pointer;font-size:.85rem;transition:all .2s}.guestbook-section .guestbook-error .btn-retry:hover{background:#e74c3c;color:#fff}.guestbook-section .guestbook-success{text-align:center;padding:12px 20px;color:#b27085;font-size:.9rem;background:rgba(178,112,133,.08);border-radius:8px;margin-top:15px}.guestbook-section .guestbook-form{max-width:500px;margin:30px auto 0;background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.guestbook-section .guestbook-form form{display:flex;flex-direction:column;gap:15px}.guestbook-section .guestbook-form form input,.guestbook-section .guestbook-form form textarea{padding:12px;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:.95rem}.guestbook-section .guestbook-form form input:focus,.guestbook-section .guestbook-form form textarea:focus{outline:none;border-color:#b27085}.guestbook-section .guestbook-form form .form-error{color:#e74c3c;font-size:.85rem;margin:0}.guestbook-section .guestbook-form form button{padding:12px;background:#b27085;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .3s}.guestbook-section .guestbook-form form button:hover{background:#9b5a70}.guestbook-section .guestbook-form form button:disabled{opacity:.6;cursor:default}.delete-confirm{display:flex;flex-direction:column;gap:15px}.delete-confirm .delete-confirm-text{color:#555;font-size:.95rem;line-height:1.6;text-align:center}.delete-confirm .delete-password-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:.95rem;box-sizing:border-box}.delete-confirm .delete-password-input:focus{outline:none;border-color:#b27085}.delete-confirm .form-error{color:#e74c3c;font-size:.85rem;margin:0}.delete-confirm .delete-actions{display:flex;gap:10px;justify-content:flex-end}.delete-confirm .delete-actions .btn-cancel{padding:10px 20px;background:rgba(0,0,0,0);border:1px solid #ddd;border-radius:8px;color:#666;cursor:pointer;transition:all .2s}.delete-confirm .delete-actions .btn-cancel:hover{background:#f5f5f5}.delete-confirm .delete-actions .btn-confirm-delete{padding:10px 20px;background:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:background .2s}.delete-confirm .delete-actions .btn-confirm-delete:hover{background:#c0392b}.delete-confirm .delete-actions .btn-confirm-delete:disabled{opacity:.6;cursor:default}.guide-section .guide-content .guide-image{display:block;width:100%;height:auto;border-radius:10px}.notice-section{background:#f9f9f9}.notice-section .notice-content{text-align:center;margin:40px 0}.notice-section .notice-content .notice-text{white-space:pre-line;line-height:2;color:#555;font-size:1.05rem;font-weight:300;letter-spacing:.02em}.account-section .account-description{text-align:center;color:#666;line-height:2;margin-bottom:30px;font-weight:300;letter-spacing:.02em}.account-section .account-description p{margin:5px 0;font-size:1.05rem}.account-section .account-tabs{display:flex;gap:10px;justify-content:center;margin-bottom:30px}.account-section .account-tabs .tab{padding:10px 30px;background:#f9f9f9;border:1px solid #ddd;border-radius:20px;cursor:pointer;transition:all .3s;font-weight:300;letter-spacing:.05em}.account-section .account-tabs .tab.active{background:#b27085;color:#fff;border-color:#b27085}.account-section .account-tabs .tab:hover:not(.active){background:#fff}.account-section .account-list{max-width:400px;margin:0 auto;display:flex;flex-direction:column;gap:16px;padding:0 20px}.account-section .account-card{background:#fff;padding:24px;border-radius:12px;text-align:center;border:1px solid #f0ece8}.account-section .account-card .account-holder{font-size:1.1rem;font-weight:400;margin-bottom:16px;color:#333;letter-spacing:.05em}.account-section .account-card .account-info{margin-bottom:16px}.account-section .account-card .account-info .account-number-section{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9f7f5;border-radius:8px;cursor:pointer;transition:background .2s}.account-section .account-card .account-info .account-number-section:hover{background:#f3eeea}.account-section .account-card .account-info .account-number-section .account-detail{display:flex;align-items:center;gap:10px}.account-section .account-card .account-info .account-number-section .bank-name{color:#888;font-weight:300;font-size:.9rem;letter-spacing:.05em}.account-section .account-card .account-info .account-number-section .account-number{color:#333;font-weight:400;letter-spacing:.08em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.account-section .account-card .account-info .account-number-section .copy-btn{background:rgba(0,0,0,0);border:none;color:#b27085;cursor:pointer;font-size:.9rem}.account-section .account-card .account-info .account-number-section .copy-btn:hover{color:#9b5a70}.account-section .account-card .kakaopay-link{text-decoration:none;display:block}.account-section .account-card .kakaopay-link .kakaopay-btn{padding:10px 24px;background:#fee500;color:#3c1e1e;border-radius:8px;display:inline-block;font-size:.9rem;font-weight:500;transition:background .2s}.account-section .account-card .kakaopay-link .kakaopay-btn:hover{background:#f5dc00}.footer-section{text-align:center;padding:60px 20px 80px;background:#f9f9f9}.footer-section .footer-thanks{font-size:1.4rem;font-weight:300;letter-spacing:.3em;color:#888;font-family:"Noto Serif KR",serif}.footer-section .btn-kakao-share{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 40px);max-width:340px;margin:30px auto 0;padding:14px 24px;background:#fee500;color:#3c1e1e;font-size:.95rem;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:background .2s ease,transform .1s ease}.footer-section .btn-kakao-share:hover{background:#f5dc00}.footer-section .btn-kakao-share:active{transform:scale(.98)}.footer-section .btn-kakao-share .kakao-icon{width:20px;height:20px}@media(max-width:425px){.cover-section .cover-overlay .cover-title h1,.splash-screen .splash-content .splash-names{font-size:2rem}.cover-section .cover-info .couple-names .name-group,.cover-section .cover-overlay .cover-title h2{font-size:1.5rem}.calendar-section .countdown-timer .timer-display{gap:5px}.calendar-section .countdown-timer .timer-display .timer-unit .timer-value{font-size:1.5rem}.location-section .navigation-buttons .nav-button-group{flex-direction:row}.location-section .navigation-buttons .nav-button-group button{flex:1 1;padding:10px 8px;font-size:.85rem}.guestbook-section .guestbook-carousel{padding:0 40px}.guestbook-section .guestbook-carousel .carousel-btn{font-size:1.5rem}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay .modal-content{background:#fff;border-radius:12px;padding:40px 30px;width:90%;max-height:80vh;overflow-y:auto;position:relative;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-overlay .modal-content .modal-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:5px;transition:color .3s}.modal-overlay .modal-content .modal-close:hover{color:#333}.modal-overlay .modal-content .modal-title{font-size:1.5rem;font-weight:500;text-align:center;margin-bottom:30px;color:#333}.contact-list .contact-group .contact-group-title{font-size:.85rem;font-weight:400;color:#b27085;letter-spacing:.1em;margin-bottom:8px}.contact-list .contact-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f5f2f0}.contact-list .contact-row:last-child{border-bottom:none}.contact-list .contact-row .contact-info{display:flex;align-items:baseline;gap:8px}.contact-list .contact-row .contact-info .contact-label{font-size:.8rem;color:#aaa;min-width:65px;font-weight:300}.contact-list .contact-row .contact-info .contact-name{font-size:.95rem;color:#333;font-weight:400}.contact-list .contact-row .contact-actions{display:flex;gap:8px;flex-shrink:0}.contact-list .contact-row .contact-actions .action-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;text-decoration:none;transition:all .2s}.contact-list .contact-row .contact-actions .action-btn svg{width:14px!important;height:14px!important}.contact-list .contact-row .contact-actions .action-btn.call,.contact-list .contact-row .contact-actions .action-btn.sms{background:#f0ece8;color:#b27085;border:1px solid #b27085}.contact-list .contact-row .contact-actions .action-btn.call:hover,.contact-list .contact-row .contact-actions .action-btn.sms:hover{background:#b27085;color:#fff;border-color:#b27085}.contact-list .contact-divider{height:1px;background:#f0ece8;margin:12px 0}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-out}.lightbox-overlay .lightbox-close{position:absolute;top:20px;right:20px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;z-index:2001;padding:10px;transition:opacity .3s}.lightbox-overlay .lightbox-close:hover{opacity:.7}.lightbox-overlay .lightbox-next,.lightbox-overlay .lightbox-prev{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:none;color:#fff;font-size:2rem;cursor:pointer;padding:20px;z-index:2001;transition:background .3s}.lightbox-overlay .lightbox-next:hover,.lightbox-overlay .lightbox-prev:hover{background:rgba(255,255,255,.2)}.lightbox-overlay .lightbox-prev{left:20px}.lightbox-overlay .lightbox-next{right:20px}.lightbox-overlay .lightbox-content{max-width:90%;max-height:90%;display:flex;flex-direction:column;align-items:center;gap:20px}.lightbox-overlay .lightbox-content img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px}.lightbox-overlay .lightbox-content .lightbox-counter{color:#fff;font-size:1rem;text-align:center}@media(max-width:425px){.lightbox-overlay .lightbox-next,.lightbox-overlay .lightbox-prev{padding:15px;font-size:1.5rem}.lightbox-overlay .lightbox-prev{left:10px}.lightbox-overlay .lightbox-next{right:10px}.lightbox-overlay .lightbox-close{top:10px;right:10px;font-size:1.5rem}}.gallery-item{cursor:pointer;transition:transform .3s ease}.gallery-item:hover{transform:scale(1.05)}.all-entries{display:flex;flex-direction:column;gap:0}.all-entries .entry-item{padding:18px 4px;background:rgba(0,0,0,0);border-radius:0;border-left:none;border-bottom:1px solid rgba(0,0,0,.07)}.all-entries .entry-item:last-child{border-bottom:none}.all-entries .entry-item .entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.all-entries .entry-item .entry-header .entry-name{font-weight:400;color:#1a1a1a;font-size:.95rem;letter-spacing:.04em}.all-entries .entry-item .entry-header .entry-header-right{display:flex;align-items:center;gap:8px}.all-entries .entry-item .entry-header .entry-date{font-size:.78rem;color:#bbb;letter-spacing:.02em}.all-entries .entry-item .entry-header .btn-delete-entry{padding:2px 8px;font-size:.7rem;color:#ccc;background:rgba(0,0,0,0);border:1px solid #e8e8e8;border-radius:10px;cursor:pointer;transition:all .2s}.all-entries .entry-item .entry-header .btn-delete-entry:hover{color:#e74c3c;border-color:rgba(231,76,60,.4)}.all-entries .entry-item .entry-header .btn-delete-entry:disabled{opacity:.4;cursor:default}.all-entries .entry-item .entry-message{color:#666;line-height:1.8;white-space:pre-wrap;font-size:.92rem;font-style:italic;font-weight:300}