@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Great+Vibes&display=swap";@font-face{font-family:Deluxe Edition;src:url(/assets/Deluxe%20Edition%20-%20Demo-C3rlF8R3.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:MaruBuri;src:url(/assets/MaruBuri-Regular-Ckg3Z5tE.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:MaruBuri;src:url(/assets/MaruBuri-Bold-DvjVjIB5.ttf) format("truetype");font-weight:700;font-style:normal}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body),"Noto Sans KR",-apple-system,BlinkMacSystemFont,sans-serif;background-color:#f5f5f5;color:var(--color-text);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}button{font-family:inherit}a{color:inherit;text-decoration:none}:root{--color-primary: #E8A87C;--color-secondary: #D4A574;--color-accent: #C89B6E;--color-bg: #FFF8F2;--color-bg-section: #FFF0E5;--color-text: #3D2C1E;--color-text-light: #8B7355;--font-heading: "MaruBuri", serif;--font-body: "MaruBuri", serif;--font-script: "Deluxe Edition", cursive}.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}::selection{background-color:var(--color-primary);color:#fff}::-moz-selection{background-color:var(--color-primary);color:#fff}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px;opacity:.5}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:12px 24px;border-radius:25px;font-size:.9em;z-index:9999;animation:toast-in .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.section-divider{width:40px;height:1px;background:var(--color-secondary);margin:0 auto;opacity:.4}.opening{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);cursor:pointer;transition:opacity .8s ease-out,visibility .8s ease-out}.opening--fade-out{opacity:0;visibility:hidden;pointer-events:none}.opening__content{position:relative;display:inline-block;padding:20px}.opening__text{font-family:var(--font-heading),"Noto Serif KR",serif;font-size:3.5rem;font-weight:400;color:var(--color-primary);margin:0;letter-spacing:.05em;display:flex;align-items:center}.opening__cursor{font-weight:200;color:var(--color-primary);opacity:1;animation:blink 1s step-end infinite;margin-left:2px}[data-theme=navy] .opening__text,[data-theme=burgundy] .opening__text,[data-theme=navy] .opening__cursor,[data-theme=burgundy] .opening__cursor{color:var(--color-text)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (max-width: 360px){.opening__text{font-size:2.8rem}}.hero{position:relative;width:100%;min-height:100vh;min-height:100svh;background-color:var(--color-bg);padding:40px 20px;display:flex;flex-direction:column;justify-content:center;align-items:center;animation:hero-fade-in 1.5s ease-out forwards}.hero__poster{width:100%;max-width:400px;display:flex;flex-direction:column;position:relative}.hero__header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;position:relative;z-index:2}.hero__title-area{flex:1}.hero__subtitle{font-family:var(--font-heading);font-size:.9rem;letter-spacing:.05em;color:var(--color-text-light);margin-bottom:8px;font-style:italic}.hero__title{font-family:var(--font-script);font-size:3.8rem;line-height:.9;font-weight:400;color:var(--color-text);margin:0;text-shadow:1px 1px 2px rgba(255,255,255,.8)}.hero__title-indent{display:inline-block;margin-left:30px}.hero__info-area{text-align:right;font-family:var(--font-heading);display:flex;flex-direction:column;gap:12px;padding-bottom:8px}.hero__info-item{font-size:.85rem;line-height:1.4;color:var(--color-text)}.hero__info-item p{margin:0}.hero__info-label{display:block;font-size:.65rem;letter-spacing:.1em;color:var(--color-text-light);margin-bottom:2px}.hero__image-wrapper{width:100%;aspect-ratio:3 / 4;position:relative;box-shadow:0 10px 30px #00000014;background-color:#eee;overflow:hidden;margin-bottom:30px}.hero__image{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 10s ease}.hero__poster:hover .hero__image{transform:scale(1.03)}.hero__decoration{position:absolute;bottom:-20px;right:-10px;width:60px;height:60px;z-index:3;animation:float 4s ease-in-out infinite;background:var(--color-bg);border-radius:50%;padding:5px;box-shadow:0 4px 10px #0000000d}.hero__footer{text-align:center;position:relative;z-index:2;margin-top:10px;padding-bottom:20px}.hero__couple-names{font-family:var(--font-heading);font-size:1.6rem;font-weight:400;color:var(--color-text);letter-spacing:.2em;margin:0}.hero__and{font-family:var(--font-script);font-size:1.4rem;color:var(--color-primary);margin:0 4px}.hero--parents .hero__couple-names{font-size:1.4rem}.hero__family-names{display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--font-heading);font-size:1.1rem;color:var(--color-text)}.hero__family-title{font-size:.85rem;color:var(--color-text-light);margin-right:6px}.hero__divider-dot{color:var(--color-primary);opacity:.5;font-size:.8rem}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8px) rotate(5deg)}}@media (max-width: 360px){.hero__title{font-size:3.2rem}.hero__title-indent{margin-left:20px}.hero__info-item{font-size:.75rem}}.hero--lettering{position:relative;width:100%;height:100vh;height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;background-color:var(--color-bg)}.hero-lettering__bg{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-size:cover;background-position:center;filter:grayscale(30%) blur(4px);animation:bg-pan 20s infinite alternate ease-in-out;z-index:1}.hero-lettering__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#ffffffbf;z-index:2}[data-theme=navy] .hero-lettering__overlay,[data-theme=burgundy] .hero-lettering__overlay{background-color:#000000a6}.hero-lettering__content{position:relative;z-index:3;text-align:center;display:flex;flex-direction:column;align-items:center;width:100%;padding:0 30px;animation:hero-fade-in 1.5s ease-out forwards}.hero-lettering__subtitle{font-family:var(--font-heading);font-size:.8rem;letter-spacing:.25em;color:var(--color-text-light);margin-bottom:30px;text-transform:uppercase}.hero-lettering__title-wrapper{display:flex;flex-direction:column;align-items:center;margin-bottom:40px}.hero-lettering__title{font-family:var(--font-script);font-size:5rem;font-weight:400;color:var(--color-text);line-height:1.1;margin:0;text-shadow:2px 2px 4px rgba(255,255,255,.5)}.hero-lettering__ampersand{font-family:var(--font-heading);font-style:italic;font-size:2.5rem;color:var(--color-primary);margin:-10px 0;z-index:1}.hero-lettering__title--groom{transform:translate(-20px)}.hero-lettering__title--bride{transform:translate(20px)}.hero-lettering__info{display:flex;flex-direction:column;align-items:center;gap:12px;font-family:var(--font-heading);font-size:1rem;color:var(--color-text);letter-spacing:.1em}.hero-lettering__divider{width:1px;height:30px;background-color:var(--color-primary);opacity:.5}.hero-lettering__venue{font-family:var(--font-body);font-size:.85rem;margin-top:5px;letter-spacing:.05em}.hero-lettering__family{margin-top:40px;font-family:var(--font-heading);font-size:.95rem;color:var(--color-text-light);line-height:1.8}@keyframes bg-pan{0%{transform:scale(1) translate(0)}to{transform:scale(1.05) translate(-1%,-1%)}}@media (max-width: 360px){.hero-lettering__title{font-size:4rem}.hero-lettering__ampersand{font-size:2rem}}.hero-parents{position:relative;width:100%;min-height:100vh;min-height:100svh;background-color:var(--color-bg);display:flex;flex-direction:column;align-items:center;padding-bottom:60px}.hero-parents__image-wrapper{width:100%;aspect-ratio:4 / 5;overflow:hidden;margin-bottom:40px;border-bottom-left-radius:30px;border-bottom-right-radius:30px;box-shadow:0 10px 30px #00000014}.hero-parents__image{width:100%;height:100%;object-fit:cover;object-position:center;animation:hero-image-zoom 15s infinite alternate ease-in-out}.hero-parents__content{display:flex;flex-direction:column;align-items:center;width:100%;padding:0 20px;text-align:center}.hero-parents__title{font-family:var(--font-script),"Cormorant Garamond",cursive;font-size:3.2rem;color:var(--color-primary);margin-bottom:30px;font-weight:400;line-height:1}.hero-parents__date-block{display:flex;flex-direction:column;align-items:center;margin-bottom:40px}.hero-parents__date-row{display:flex;align-items:center;gap:15px}.hero-parents__date-month,.hero-parents__date-dayname{font-family:var(--font-heading);font-size:1.3rem;color:var(--color-text-light)}.hero-parents__date-divider{width:1px;height:45px;background-color:var(--color-secondary);opacity:.5}.hero-parents__date-day{font-family:var(--font-heading);font-size:3.8rem;line-height:1;color:var(--color-text);font-weight:400;margin:0 5px}.hero-parents__date-year{font-family:var(--font-heading);font-size:1.2rem;color:var(--color-text-light);margin-top:8px;letter-spacing:2px}.hero-parents__names{font-family:var(--font-heading);font-size:1.7rem;color:var(--color-text);margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:15px}.hero-parents__names-and{font-size:1.2rem;color:var(--color-primary);font-family:var(--font-script),cursive}.hero-parents__venue{font-family:var(--font-heading);font-size:1.3rem;color:var(--color-text-light);text-align:center;line-height:1.6}[data-theme=navy] .hero-parents__image-wrapper,[data-theme=burgundy] .hero-parents__image-wrapper{box-shadow:0 10px 30px #00000080}[data-theme=navy] .hero-parents__names-and,[data-theme=burgundy] .hero-parents__names-and{color:var(--color-secondary)}@keyframes hero-image-zoom{0%{transform:scale(1)}to{transform:scale(1.08)}}.greeting{padding:64px 24px;background:var(--color-bg);text-align:center}.greeting__title{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;color:var(--color-text);letter-spacing:4px;margin:0 0 32px}.greeting__message{font-family:var(--font-heading);font-size:1rem;line-height:2;color:var(--color-text);white-space:pre-line;word-break:keep-all;max-width:360px;margin:0 auto;letter-spacing:.5px}.greeting--parents .greeting__message{font-size:1.3em;line-height:2.2;font-weight:300}.greeting--couple .greeting__message{font-size:1rem;line-height:2}.greeting__divider{display:flex;align-items:center;justify-content:center;gap:12px;margin:40px auto;max-width:200px}.greeting__divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:.4}.greeting__divider-ornament{color:var(--color-accent);font-size:.8rem;opacity:.6}.greeting__family{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:8px}.greeting__family-row{font-family:var(--font-heading);font-size:.95rem;color:var(--color-text);letter-spacing:1px;line-height:1.6}.greeting__family-child-name{font-weight:500;color:var(--color-text)}.greeting__family-deceased{font-size:.85em;color:var(--color-text-light)}.greeting__family-deceased--text:before{content:"故 "}.greeting__family-deceased--flower:before{content:"🏵️ "}.greeting__family-bracket{color:var(--color-accent);opacity:.5;font-size:1.1em}.greeting__family-dot{width:3px;height:3px;border-radius:50%;background:var(--color-accent);opacity:.3}.calendar{padding:64px 24px;background:var(--color-bg-section);text-align:center}.calendar__title{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;color:var(--color-text);letter-spacing:4px;margin:0 0 32px}.calendar__card{background:var(--color-bg);border-radius:16px;padding:32px 20px;max-width:360px;margin:0 auto;box-shadow:0 4px 24px #0000000f}.calendar__month-header{font-family:var(--font-heading);font-size:1.1rem;font-weight:400;color:var(--color-text);letter-spacing:2px;margin:0 0 20px}.calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.calendar__weekday{font-family:var(--font-body);font-size:.75rem;color:var(--color-text-light);padding:8px 0;text-align:center}.calendar__weekday--sun{color:#e74c3c}.calendar__weekday--sat{color:#3498db}.calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar__day{position:relative;font-family:var(--font-body);font-size:.9rem;color:var(--color-text);padding:8px 0;text-align:center;border-radius:50%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;line-height:1}.calendar__day--empty{visibility:hidden}.calendar__day--sun{color:#e74c3c}.calendar__day--sat{color:#3498db}.calendar__day--wedding{background:var(--color-accent);color:#fff;font-weight:600;box-shadow:0 2px 12px color-mix(in srgb,var(--color-accent) 40%,transparent)}.calendar__datetime{font-family:var(--font-heading);font-size:1rem;color:var(--color-text);margin-top:24px;padding-top:24px;border-top:1px solid color-mix(in srgb,var(--color-text-light) 20%,transparent);letter-spacing:1px;line-height:1.8}.calendar__countdown{display:flex;justify-content:center;gap:16px;margin-top:32px}.calendar__countdown-item{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:56px}.calendar__countdown-number{font-family:var(--font-heading);font-size:1.8rem;font-weight:300;color:var(--color-text);letter-spacing:-1px}.calendar__countdown-label{font-family:var(--font-body);font-size:.7rem;color:var(--color-text-light);letter-spacing:1px}.calendar__countdown-separator{font-family:var(--font-heading);font-size:1.6rem;color:var(--color-text-light);opacity:.3;align-self:flex-start;padding-top:4px}.calendar__dday-label{font-family:var(--font-body);font-size:.85rem;color:var(--color-accent);margin-top:16px;letter-spacing:1px}.gallery{padding:64px 24px;background:var(--color-bg);text-align:center}.gallery__title{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;color:var(--color-text);letter-spacing:4px;margin:0 0 32px}.gallery__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-width:420px;margin:0 auto}.gallery__thumb{position:relative;aspect-ratio:1;overflow:hidden;border-radius:8px;cursor:pointer;transition:transform .3s ease}.gallery__thumb:active{transform:scale(.96)}.gallery__thumb-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.gallery__thumb:hover .gallery__thumb-img{transform:scale(1.05)}.gallery__thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:.8rem;color:var(--color-text-light);background:linear-gradient(135deg,var(--color-bg-section),color-mix(in srgb,var(--color-secondary) 30%,var(--color-bg)))}.gallery__viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#000000f2;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.gallery__viewer--open{opacity:1;visibility:visible}.gallery__viewer-close{position:absolute;top:16px;right:16px;z-index:3;width:44px;height:44px;background:#ffffff1a;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .2s ease}.gallery__viewer-close:hover{background:#fff3}.gallery__viewer-counter{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:3;font-family:var(--font-body);font-size:.85rem;color:#ffffffb3;letter-spacing:2px}.gallery__viewer-image-area{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y}.gallery__viewer-img{max-width:100%;max-height:80vh;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:transform .3s ease}.gallery__viewer-img--swiping{transition:none}.gallery__viewer-placeholder{width:80%;max-width:360px;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:1rem;color:#ffffff80;background:linear-gradient(135deg,#ffffff0d,#ffffff1a);border-radius:8px}.gallery__viewer-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;background:#ffffff14;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#ffffffb3;font-size:1.2rem;transition:background .2s ease}.gallery__viewer-nav:hover{background:#ffffff26}.gallery__viewer-nav--prev{left:12px}.gallery__viewer-nav--next{right:12px}.video{padding:64px 24px;background:var(--color-bg-section);text-align:center}.video__title{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;color:var(--color-text);letter-spacing:4px;margin:0 0 32px}.video__container{position:relative;width:100%;max-width:420px;margin:0 auto;border-radius:12px;overflow:hidden;box-shadow:0 4px 24px #00000014;background:#000}.video__ratio-wrapper{position:relative;width:100%;padding-bottom:56.25%}.video__player{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.video__play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000004d;cursor:pointer;transition:background .3s ease;z-index:1}.video__play-overlay:hover{background:#0003}.video__play-overlay--hidden{opacity:0;pointer-events:none;transition:opacity .3s ease}.video__play-btn{width:64px;height:64px;border-radius:50%;background:#ffffffe6;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0003;transition:transform .3s ease}.video__play-overlay:hover .video__play-btn{transform:scale(1.08)}.video__play-icon{width:0;height:0;border-style:solid;border-width:12px 0 12px 22px;border-color:transparent transparent transparent var(--color-accent);margin-left:4px}.video__poster{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.video__poster--hidden{opacity:0;transition:opacity .3s ease}.location{padding:var(--section-padding);background-color:var(--color-bg)}.location__card{background-color:var(--color-bg-section);border:1px solid rgba(0,0,0,.06);border-radius:var(--border-radius);padding:var(--card-padding);box-shadow:var(--shadow-sm)}.location__venue-name{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--color-text);text-align:center;margin-bottom:4px}.location__floor{font-size:.875rem;color:var(--color-text-light);text-align:center;margin-bottom:12px}.location__address{font-size:.9rem;color:var(--color-text);text-align:center;margin-bottom:8px;line-height:1.5}.location__phone{text-align:center;margin-bottom:20px}.location__phone-link{font-size:.875rem;color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color var(--transition-base)}.location__phone-link:hover{color:var(--color-accent)}.location__map-buttons{display:flex;gap:8px;margin-bottom:16px}.location__map-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;background-color:var(--color-bg);border:1px solid rgba(0,0,0,.08);border-radius:var(--border-radius-sm);font-size:.75rem;color:var(--color-text);transition:all var(--transition-base);cursor:pointer;text-decoration:none}.location__map-btn:hover{background-color:var(--color-secondary);border-color:var(--color-primary)}.location__map-btn svg{width:20px;height:20px;color:var(--color-primary)}.location__copy-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background-color:transparent;border:1px solid var(--color-secondary);border-radius:var(--border-radius-sm);font-size:.85rem;color:var(--color-text-light);transition:all var(--transition-base);cursor:pointer}.location__copy-btn:hover{background-color:var(--color-secondary);color:var(--color-text)}.location__copy-btn svg{width:16px;height:16px}.notice{padding:var(--section-padding);background-color:var(--color-bg)}.notice__card{background-color:var(--color-bg-section);border:1px solid rgba(0,0,0,.06);border-radius:var(--border-radius);padding:var(--card-padding);box-shadow:var(--shadow-sm);text-align:center}.notice__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 auto 16px;background-color:var(--color-bg);border-radius:50%;color:var(--color-primary)}.notice__icon svg{width:20px;height:20px}.notice__content{font-size:.9rem;color:var(--color-text);line-height:1.8;margin-bottom:16px;white-space:pre-line}.notice__link-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background-color:var(--color-primary);color:#fff;border-radius:24px;font-size:.85rem;text-decoration:none;transition:all var(--transition-base)}.notice__link-btn:hover{background-color:var(--color-accent);transform:translateY(-1px)}.notice__link-btn svg{width:16px;height:16px}.contact{padding:var(--section-padding);background-color:var(--color-bg-section)}.contact__columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact__column{text-align:center}.contact__column-title{font-family:var(--font-heading);font-size:.9rem;font-weight:400;color:var(--color-text-light);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.06)}.contact__person{margin-bottom:16px}.contact__person:last-child{margin-bottom:0}.contact__person-name{font-size:.9rem;font-weight:500;color:var(--color-text);margin-bottom:8px}.contact__person-name--primary{font-size:1rem;font-weight:600;color:var(--color-primary)}.contact__person-relation{font-size:.75rem;color:var(--color-text-light);margin-bottom:4px}.contact__buttons{display:flex;gap:6px;justify-content:center}.contact__btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;border-radius:20px;font-size:.75rem;transition:all var(--transition-base);text-decoration:none}.contact__btn--phone{background-color:var(--color-primary);color:#fff}.contact__btn--phone:hover{background-color:var(--color-accent)}.contact__btn--sms{background-color:var(--color-bg);color:var(--color-text);border:1px solid var(--color-secondary)}.contact__btn--sms:hover{background-color:var(--color-secondary)}.contact__btn svg{width:14px;height:14px}.contact__divider{width:100%;height:1px;background-color:#0000000f;margin:12px 0}.contact.parents-view .contact__person-name--primary{font-size:1.15rem}.contact.parents-view .contact__btn{padding:10px 16px;font-size:.85rem}.account{padding:var(--section-padding);background-color:var(--color-bg)}.account__group{margin-bottom:12px;border:1px solid rgba(0,0,0,.06);border-radius:var(--border-radius);overflow:hidden;background-color:var(--color-bg-section);box-shadow:var(--shadow-sm)}.account__group:last-child{margin-bottom:0}.account__group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;background-color:var(--color-bg-section);border:none;cursor:pointer;font-family:var(--font-heading);font-size:.95rem;font-weight:400;color:var(--color-text);transition:background-color var(--transition-base)}.account__group-header:hover{background-color:var(--color-bg)}.account__toggle-icon{font-size:1.2rem;color:var(--color-text-light);transition:transform var(--transition-base);line-height:1}.account__toggle-icon--open{transform:rotate(45deg)}.account__group-body{max-height:0;overflow:hidden;transition:max-height .4s ease}.account__group-body--open{max-height:600px}.account__group-content{padding:0 20px 16px}.account__item{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.04)}.account__item:last-child{border-bottom:none;padding-bottom:0}.account__item-relation{font-size:.75rem;color:var(--color-text-light);margin-bottom:4px}.account__item-info{display:flex;align-items:center;justify-content:space-between;gap:8px}.account__item-details{flex:1;min-width:0}.account__bank{font-size:.8rem;color:var(--color-text-light)}.account__number{font-size:.9rem;color:var(--color-text);font-weight:500;word-break:break-all}.account__holder{font-size:.8rem;color:var(--color-text-light);margin-top:2px}.account__copy-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background-color:var(--color-bg);border:1px solid var(--color-secondary);border-radius:16px;font-size:.75rem;color:var(--color-text-light);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.account__copy-btn:hover{background-color:var(--color-secondary);color:var(--color-text)}.account__copy-btn svg{width:14px;height:14px}.account__pay-buttons{display:flex;gap:8px;margin-top:12px}.account__pay-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:var(--border-radius-sm);font-size:.8rem;font-weight:500;text-decoration:none;transition:all var(--transition-base)}.account__pay-btn--kakao{background-color:#fee500;color:#191919}.account__pay-btn--kakao:hover{background-color:#f5dc00}.account__pay-btn--toss{background-color:#0064ff;color:#fff}.account__pay-btn--toss:hover{background-color:#05d}.account.parents-view .account__number{font-size:1rem}.account.parents-view .account__copy-btn{padding:8px 16px;font-size:.85rem}.guestbook{padding:60px 20px;background-color:var(--color-bg)}.guestbook--parents{font-size:1.25em}.guestbook__title{font-family:var(--font-heading);font-size:1.4em;color:var(--color-text);text-align:center;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:8px}.guestbook__subtitle{text-align:center;color:var(--color-text-light);font-size:.9em;margin-bottom:30px}.guestbook__form{max-width:400px;margin:0 auto 30px}.guestbook__form-row{display:flex;gap:10px;margin-bottom:10px}.guestbook__input{flex:1;padding:12px 14px;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-family:var(--font-body);font-size:.9em;background:var(--color-bg-section);color:var(--color-text);outline:none;transition:border-color .3s}.guestbook__input:focus{border-color:var(--color-primary)}.guestbook__textarea{width:100%;padding:12px 14px;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-family:var(--font-body);font-size:.9em;background:var(--color-bg-section);color:var(--color-text);outline:none;resize:vertical;min-height:80px;margin-bottom:10px;transition:border-color .3s;box-sizing:border-box}.guestbook__textarea:focus{border-color:var(--color-primary)}.guestbook__submit{width:100%;padding:12px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-family:var(--font-body);font-size:.95em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:opacity .3s,transform .2s}.guestbook__submit:hover{opacity:.9}.guestbook__submit:active{transform:scale(.98)}.guestbook__submit:disabled{opacity:.6;cursor:not-allowed}.guestbook__list{max-width:400px;margin:0 auto}.guestbook__entry{background:var(--color-bg-section);border-radius:12px;padding:16px;margin-bottom:12px;transition:transform .2s}.guestbook__entry:hover{transform:translateY(-1px)}.guestbook__entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.guestbook__entry-name{font-weight:600;color:var(--color-text);font-size:.95em}.guestbook__entry-meta{display:flex;align-items:center;gap:8px}.guestbook__entry-date{font-size:.75em;color:var(--color-text-light)}.guestbook__entry-delete{background:none;border:none;color:var(--color-text-light);cursor:pointer;padding:4px;border-radius:4px;transition:color .2s,background .2s;display:flex;align-items:center}.guestbook__entry-delete:hover{color:#e74c3c;background:#e74c3c1a}.guestbook__entry-message{color:var(--color-text);font-size:.9em;line-height:1.6;white-space:pre-wrap;word-break:break-word}.guestbook__loading{text-align:center;padding:30px;color:var(--color-text-light)}.guestbook__spinner{width:30px;height:30px;border:3px solid var(--color-bg-section);border-top-color:var(--color-primary);border-radius:50%;animation:guestbook-spin .8s linear infinite;margin:0 auto 10px}@keyframes guestbook-spin{to{transform:rotate(360deg)}}.guestbook__empty{text-align:center;color:var(--color-text-light);padding:30px;font-size:.9em}.guestbook__notice{text-align:center;padding:30px;background:var(--color-bg-section);border-radius:12px;max-width:400px;margin:0 auto;color:var(--color-text-light)}.guestbook__notice-sub{font-size:.8em;margin-top:8px;opacity:.7}.photo-upload{padding:60px 20px;background-color:var(--color-bg-section)}.photo-upload--parents{font-size:1.25em}.photo-upload__title{font-family:var(--font-heading);font-size:1.4em;color:var(--color-text);text-align:center;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:8px}.photo-upload__subtitle{text-align:center;color:var(--color-text-light);font-size:.9em;margin-bottom:30px}.photo-upload__button-wrap{text-align:center;margin-bottom:20px}.photo-upload__btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:var(--color-primary);color:#fff;border:none;border-radius:25px;font-family:var(--font-body);font-size:.95em;cursor:pointer;transition:opacity .3s,transform .2s}.photo-upload__btn:hover{opacity:.9}.photo-upload__btn:active{transform:scale(.97)}.photo-upload__btn:disabled{opacity:.6;cursor:not-allowed}.photo-upload__file-input{display:none}.photo-upload__progress{max-width:300px;margin:0 auto 20px;height:4px;background:#0000001a;border-radius:2px;overflow:hidden}.photo-upload__progress-bar{height:100%;background:var(--color-primary);border-radius:2px;transition:width .3s ease}.photo-upload__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;max-width:400px;margin:0 auto}.photo-upload__item{aspect-ratio:1;overflow:hidden;border-radius:4px;cursor:pointer;transition:transform .2s}.photo-upload__item:hover{transform:scale(1.02)}.photo-upload__item img{width:100%;height:100%;object-fit:cover}.photo-upload__viewer{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center;animation:photo-fade-in .3s ease}.photo-upload__viewer img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px}.photo-upload__viewer-close{position:absolute;top:20px;right:20px;background:#fff3;border:none;color:#fff;padding:8px;border-radius:50%;cursor:pointer;z-index:10001;transition:background .2s}.photo-upload__viewer-close:hover{background:#ffffff4d}@keyframes photo-fade-in{0%{opacity:0}to{opacity:1}}.photo-upload__notice{text-align:center;padding:30px;background:var(--color-bg);border-radius:12px;max-width:400px;margin:0 auto;color:var(--color-text-light)}.photo-upload__notice-sub{font-size:.8em;margin-top:8px;opacity:.7}.footer{padding:40px 20px 60px;background-color:var(--color-bg);text-align:center;position:relative}.footer__share{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:30px}.footer__btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border:none;border-radius:25px;font-family:var(--font-body);font-size:.95em;cursor:pointer;transition:opacity .3s,transform .2s;min-width:200px;justify-content:center}.footer__btn:hover{opacity:.9}.footer__btn:active{transform:scale(.97)}.footer__btn--kakao{background:#fee500;color:#191919}.footer__btn--link{background:var(--color-primary);color:#fff}.footer__divider{width:40px;height:1px;background:var(--color-text-light);opacity:.3;margin:0 auto 20px}.footer__copyright{font-family:var(--font-heading);font-size:1em;color:var(--color-text);margin-bottom:6px;letter-spacing:1px}.footer__made-with{font-size:.8em;color:var(--color-text-light);opacity:.6}.footer__toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:12px 24px;border-radius:25px;font-size:.9em;display:flex;align-items:center;gap:8px;z-index:9999;animation:footer-toast-in .3s ease,footer-toast-out .3s 1.5s ease forwards;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@keyframes footer-toast-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes footer-toast-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(20px)}}.floating-music{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;z-index:9990;display:flex;align-items:center;justify-content:center;color:var(--color-primary);background:#ffffffbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 20px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.floating-music:hover{transform:scale(1.1);box-shadow:0 6px 25px #00000026}.floating-music:active{transform:scale(.95)}.floating-music--playing{animation:music-rotate 3s linear infinite;background:#ffffffe6;box-shadow:0 4px 20px #00000026}.floating-music--playing:hover{animation-play-state:paused}@keyframes music-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.floating-music--playing:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--color-primary);opacity:0;animation:music-pulse 2s ease-out infinite}@keyframes music-pulse{0%{opacity:.6;transform:scale(.9)}to{opacity:0;transform:scale(1.3)}}.scroll-reveal-wrapper{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out;will-change:opacity,transform}.scroll-reveal-wrapper--visible{opacity:1;transform:translateY(0)}.scroll-reveal-wrapper--delay-1{transition-delay:.1s}.scroll-reveal-wrapper--delay-2{transition-delay:.2s}.scroll-reveal-wrapper--delay-3{transition-delay:.3s}.scroll-reveal-wrapper--delay-4{transition-delay:.4s}.app{max-width:480px;margin:0 auto;min-height:100vh;background-color:var(--color-bg);position:relative;overflow-x:hidden}.app--parents{font-size:1.15em}.app--parents h2{font-size:1.5em}.app__main{width:100%}@media (min-width: 481px){.app{box-shadow:0 0 40px #00000014;border-left:1px solid rgba(0,0,0,.05);border-right:1px solid rgba(0,0,0,.05)}}
