@font-face{font-family:ChosunMyungjo;src:url(https://cdn.salondeletter.com/cdn/font/ChosunMyungjo.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--common-font-color: #383838;--btn-font-color: #ffffff;--point-color1: #6b5933;--point-color2: #b7a989;--background: #ffffff;--main-section-background-color: #f5f3ed;--line-color: #eeeeee;--font-family: "ChosunMyungjo", serif;--font-small: 12px;--font-medium: 14px;--font-regular: 15px;--font-large: 17px;--font-xlarge: 21px;--section-margin: 80px 25px;--box-shadow: 1px 1px 4px 1px rgba(0, 0, 0, .08);color:var(--common-font-color);background:#f4f4f4;font-family:var(--font-family);font-size:14px;font-synthesis:none;text-rendering:optimizeLegibility}html,body,div,span,h1,h2,h3,h4,p,img,ol,ul,li,table,caption,tbody,thead,tr,th,td,section,button{margin:0;padding:0;border:0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{min-width:320px;min-height:100%;background:#f4f4f4}button{color:inherit;background:transparent;font:inherit;cursor:pointer}img{display:block;width:100%;height:auto}ul{list-style:none}table{border-collapse:collapse;border-spacing:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.invitation{width:min(100%,420px);min-height:100vh;margin:0 auto;overflow:hidden;background:var(--background);box-shadow:0 0 18px #00000014}.user-music-box{position:fixed;top:0;left:50%;z-index:30;width:min(100%,420px);padding:13px 44px 13px 20px;color:#fff;background:#33333359;font-size:var(--font-small);line-height:1.3;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,-100%);transition:opacity .35s ease,transform .35s ease}.user-music-box.is-visible{opacity:1;transform:translate(-50%)}.music-button-box{position:fixed;top:0;left:50%;z-index:40;width:min(100%,420px);height:0;pointer-events:none;transform:translate(-50%)}.music-button{position:absolute;top:0;right:0;display:block;padding:10px;border:none;color:#595959;background:transparent;font-size:var(--font-regular);line-height:1;pointer-events:all}.music-button i{display:block}.music-button.is-playing{color:var(--point-color1)}.hero{position:relative;min-height:100svh;margin-bottom:30px;overflow:hidden;color:#fff0d0;background:var(--main-section-background-color)}.hero__image{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;object-fit:cover;object-position:center;transform:scale(1.02);transition:transform .12s linear}.hero__shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000005,#0000000f 46%,#00000057)}.hero__logo{position:absolute;top:7%;left:50%;z-index:2;width:min(88%,360px);height:auto;overflow:visible;transform:translate(-50%,-7%);animation:titleRise 1s ease-out both}.hero__logo .svg-main path{fill:none;stroke:#fff0d0;stroke-width:7.2;stroke-dasharray:0 10000;stroke-dashoffset:0;stroke-linecap:round;stroke-linejoin:round}.hero__logo.is-writing .svg-main path{animation:drawHeroLogo 9.6s .2s ease-out both}.hero__bottom{position:absolute;left:0;bottom:32px;z-index:2;width:100%;padding:0 20px;color:#fff0d0;text-align:center;text-shadow:0 1px 8px rgba(0,0,0,.28);animation:fadeUp .95s .35s ease-out both}.hero__bottom p{margin-bottom:12px;font-size:15px;line-height:1.25}.section,.intro,.quote,.profile,.wedding-info,.gallery,.location,.account{padding:var(--section-margin)}.section h1,.section h2,.gallery h2,.location h2,.account h2{margin-bottom:35px;color:var(--point-color1);font-size:var(--font-xlarge);font-weight:500;line-height:1.45;text-align:center}.section__eyebrow{display:none}.intro{padding-top:42px;background:var(--background);text-align:center}.intro h1{margin-bottom:28px;color:var(--point-color1);font-size:var(--font-xlarge);font-weight:500}.intro__copy{font-size:var(--font-medium);line-height:2.1}.intro__copy p:nth-child(5){margin-top:24px}.photo-block{margin:0;background:var(--background);font-size:0}.photo-block img{height:auto;object-fit:contain}.quote{padding:86px 25px;background:var(--background);text-align:center}.quote p{font-size:var(--font-medium);line-height:1.9}.profile{padding:80px 0;background:var(--background)}.profile__photos{display:flex;gap:5px;padding:0 12px;margin-bottom:22px}.profile__photo{flex:1;height:230px;overflow:hidden;font-size:0}.profile__photo img{height:100%;object-fit:cover;object-position:center}.profile__names{display:flex;gap:5px;padding:0 25px;margin-bottom:20px}.profile__names div{flex:1;display:flex;align-items:baseline;justify-content:center;gap:8px;font-size:var(--font-medium)}.profile__names span{font-size:var(--font-small)}.profile__names strong{color:var(--common-font-color);font-size:var(--font-large);font-weight:500}.parents{display:flex;gap:5px;padding:0 25px;margin-top:20px;text-align:center}.parents p{flex:1;font-size:var(--font-small);line-height:1.65}.parents strong{font-weight:400}.wedding-info{position:relative;background:var(--background);text-align:center}.calendar__title{margin-bottom:10px;color:var(--point-color1);font-size:var(--font-regular);font-weight:500}.wedding-info h2{margin-bottom:6px;color:var(--common-font-color);font-size:var(--font-medium);font-weight:400}.wedding-info>p{margin-bottom:28px;font-size:var(--font-medium);line-height:1.7}.calendar__image{width:calc(100% - 80px);height:300px;margin:0 auto 30px;overflow:hidden;border-radius:8px;box-shadow:var(--box-shadow)}.calendar__image img{height:100%;object-fit:cover;object-position:center bottom}.calendar{width:80%;min-width:310px;margin:0 auto;color:#4b4b4b;table-layout:fixed;text-align:center}.calendar caption{padding-bottom:8px;margin-bottom:16px;color:var(--point-color1);font-size:var(--font-large);font-weight:500}.calendar thead{line-height:3}.calendar th{font-size:var(--font-medium);font-weight:400}.calendar th:first-child{color:var(--point-color1)}.calendar td{position:relative;height:42px;font-size:var(--font-medium);vertical-align:middle}.calendar .is-wedding-day{color:var(--btn-font-color);font-size:11px;line-height:1.18;z-index:1}.calendar .is-wedding-day:before{position:absolute;top:50%;left:50%;z-index:-1;width:38px;height:38px;border-radius:50%;background:var(--point-color2);box-shadow:var(--box-shadow);content:"";transform:translate(-50%,-50%)}.gallery{padding-right:0;padding-left:0;background:var(--background)}.gallery h2{padding:0 25px;margin-bottom:30px}.gallery__grid{display:flex;flex-wrap:wrap;gap:2px}.gallery__item{flex:1 0 32.9%;height:130px;overflow:hidden;background:#eee;font-size:0}.gallery__item img{width:100%;height:100%;object-fit:cover}.gallery__item.is-hidden{display:none}.more-button{display:flex;align-items:center;justify-content:center;margin:20px auto 0;width:44px;height:44px;padding:0;color:var(--common-font-color);background:transparent;font-family:var(--font-family);font-size:20px}.location{background:var(--background);text-align:center}.venue{margin-bottom:30px}.venue strong,.venue span{display:block;text-align:center}.venue strong{font-size:var(--font-regular);font-weight:500}.venue span{margin-top:12px;font-size:var(--font-medium);line-height:1.45}.map-placeholder{display:grid;height:300px;margin-top:30px;place-content:center;border-radius:5px;color:#fff;background:linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),#7e7e7e;background-size:30px 30px;box-shadow:var(--box-shadow)}.map-placeholder span{font-size:26px}.map-placeholder p{margin-top:8px;font-size:var(--font-small)}.route-list{width:calc(100% - 40px);margin:40px auto 0;text-align:left}.route-list article{margin-bottom:40px}.route-list article:last-child{margin-bottom:0}.route-list h3{margin-bottom:20px;color:var(--point-color1);font-size:var(--font-regular);font-weight:600}.route-list h4{margin:24px 0 12px;color:var(--point-color1);font-size:var(--font-medium);font-weight:600}.route-list p{font-size:var(--font-medium);font-weight:500;line-height:1.7}.account{background:var(--background);text-align:center}.account p{font-size:var(--font-medium);line-height:1.7}.account__columns{margin-top:55px}.account__columns button{position:relative;display:block;width:100%;margin-bottom:15px;padding:10px 20px;border:1px solid #cacaca;border-radius:5px;box-shadow:var(--box-shadow);color:var(--common-font-color);font-size:var(--font-regular);font-weight:500;cursor:default}.closing{position:relative;padding:80px 0 max(72px,calc(48px + env(safe-area-inset-bottom)));background:var(--background)}.closing img{height:auto;object-fit:contain}.closing-message{margin:34px 25px 0;color:#625c50;font-size:var(--font-medium);line-height:2.05;text-align:center}.closing-message p:last-child{margin-top:28px;color:var(--point-color1);font-size:var(--font-regular);line-height:2}.closing-footer{display:flex;align-items:center;justify-content:center;gap:14px;margin:34px 25px 0;color:#b7a989}.closing-footer span{width:42px;height:1px;background:currentColor;opacity:.55}.closing-footer em{color:#9a8d70;font-size:11px;font-style:normal;letter-spacing:0;line-height:1}.lightbox{width:min(100%,420px);max-width:420px;height:100svh;max-height:100svh;padding:0;border:0;margin:auto;overflow:hidden;color:#fff;background:#111}.lightbox::backdrop{background:#000000d1}.lightbox__stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:calc(100svh - 45px)}.lightbox__image{width:100%;height:100%;object-fit:contain}.lightbox__close,.lightbox__nav{position:absolute;z-index:2;color:#fff;font-family:Arial,sans-serif;text-shadow:0 2px 8px rgba(0,0,0,.5)}.lightbox__close{top:30px;right:5px;width:44px;height:44px;font-size:28px;line-height:1}.lightbox__nav{top:50%;width:34px;height:54px;padding:5px;transform:translateY(-50%);font-size:34px;font-weight:400}.lightbox__nav--prev{left:4px}.lightbox__nav--next{right:4px}.lightbox__bottom{position:fixed;bottom:0;left:50%;width:min(100%,420px);transform:translate(-50%)}.lightbox__fraction{margin:15px auto;color:#8d8e90;font-size:var(--font-small);text-align:center}.reveal{opacity:0;transform:translate3d(0,50px,0);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:translateZ(0)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes titleRise{0%{opacity:0;transform:translate(-50%,calc(-7% + 18px))}to{opacity:1;transform:translate(-50%,-7%)}}@keyframes drawHeroLogo{0%{stroke-dasharray:0 10000}to{stroke-dasharray:10000 0}}@media(max-width:370px){:root{--section-margin: 72px 20px}.calendar{width:100%;min-width:0}.calendar__image{width:calc(100% - 42px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}.reveal{opacity:1;transform:none}}
