*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9e5df;color:#292621;font-family:"Gowun Batang",serif}.page{width:min(100%,520px);margin:0 auto;background:#f7f3ee;overflow:hidden;box-shadow:0 0 40px rgba(0,0,0,.06)}img{display:block;width:100%;-webkit-user-drag:none;user-select:none}.cover{min-height:100svh;position:relative;padding:50px 22px 34px;display:flex;flex-direction:column;justify-content:center;background:#f7f3ee}.cover-copy{text-align:center;margin-bottom:22px}.eyebrow,.section-kicker{font-family:"Italiana",serif;letter-spacing:.22em;font-size:11px}.cover h1{font-family:"Cormorant Garamond",serif;font-size:30px;font-weight:500;letter-spacing:.03em;margin:12px 0 3px}.cover h1 span{font-style:italic;font-weight:400;font-size:.65em;margin:0 6px}.date{font-family:"Cormorant Garamond",serif;letter-spacing:.08em;font-size:15px;margin:0}.cover-photo{margin:0;aspect-ratio:2/2.7;overflow:hidden;border-radius:48% 48% 5px 5px}.cover-photo img{height:100%;object-fit:cover}.cover-bottom{text-align:center;padding-top:19px;display:flex;flex-direction:column;gap:4px}.cover-bottom strong{font-size:15px;letter-spacing:.12em}.cover-bottom span{font-size:12px;color:#746d65}.scroll-mark{position:absolute;right:7px;bottom:16px;font-family:"Cormorant Garamond",serif;font-size:9px;letter-spacing:.18em;writing-mode:vertical-rl;display:flex;align-items:center;gap:8px;color:#857c72}.scroll-mark i{display:block;width:1px;height:46px;background:#b9b0a6}.section{padding:96px 28px;text-align:center}.section-kicker{color:#8d8174;margin-bottom:20px}.serif{font-family:"Cormorant Garamond","Gowun Batang",serif;font-size:34px;font-weight:500;line-height:1.25;margin:0 0 25px}.body-copy{font-size:14px;line-height:2.15;color:#59534d}.family{margin-top:42px;border-top:1px solid #ddd4c9;border-bottom:1px solid #ddd4c9;padding:27px 0;display:grid;gap:17px}.family div{display:grid;grid-template-columns:1fr auto 72px;align-items:center;font-size:13px}.family span{text-align:right}.family em{font-style:normal;font-size:11px;color:#968b7f;margin:0 12px}.family strong{text-align:left}.full-photo{position:relative}.full-photo img{height:78svh;max-height:760px;object-fit:cover}.photo-quote{position:absolute;left:0;right:0;bottom:26px;text-align:center;color:white;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:16px;text-shadow:0 1px 12px rgba(0,0,0,.35)}.day .sub{margin-top:-16px;color:#7a7268;font-size:13px}.calendar{margin-top:45px}.week,.days{display:grid;grid-template-columns:repeat(7,1fr)}.week span{font-family:"Cormorant Garamond",serif;font-size:11px;color:#a09588;padding:8px 0}.days span{height:46px;display:flex;align-items:center;justify-content:center;font-family:"Cormorant Garamond",serif;font-size:14px}.days span:nth-child(7n+1){color:#a36f69}.wedding-date{position:relative!important;color:white!important;z-index:1}.wedding-date:before{content:"";position:absolute;width:31px;height:31px;border-radius:50%;background:#a88973;z-index:-1}.wedding-date:after{content:"♥";position:absolute;font-size:8px;color:#a88973;bottom:0}.countdown{margin:30px auto 0;font-size:12px;color:#7b7168;letter-spacing:.04em}.gallery-section{padding-left:14px;padding-right:14px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:38px}.g{border:0;padding:0;background:none;aspect-ratio:1/1.23;overflow:hidden;cursor:pointer}.g.tall{aspect-ratio:1/1.5}.g.wide{grid-column:1/-1;aspect-ratio:1.55/1}.g img{height:100%;object-fit:cover;transition:transform .5s ease}.g:active img{transform:scale(.98)}.place{display:flex;flex-direction:column;gap:7px}.place strong{font-size:16px}.place span{font-size:12px;color:#756e67}.map-card{margin-top:34px;border:1px solid #ddd4ca;text-align:left}.map-faux{height:245px;background:linear-gradient(135deg,#ece7df,#dcd6cc);display:flex;align-items:center;justify-content:center;gap:12px}.map-faux .pin{width:42px;height:42px;border-radius:50% 50% 50% 10%;transform:rotate(-45deg);background:#9d7c68;color:white;display:grid;place-items:center}.map-faux .pin{font-size:14px}.map-faux .pin::first-letter{transform:rotate(45deg)}.map-faux div:last-child{display:flex;flex-direction:column}.map-faux strong{font-family:"Cormorant Garamond",serif;letter-spacing:.08em}.map-faux span{font-size:11px;color:#736d66}.map-buttons{display:grid;grid-template-columns:1fr 1fr}.map-buttons a{text-decoration:none;color:#3d3934;text-align:center;padding:14px;font-size:12px;border-top:1px solid #ddd4ca}.map-buttons a+a{border-left:1px solid #ddd4ca}.transport{margin-top:20px;text-align:left}.transport details{border-bottom:1px solid #ded6cc;padding:14px 2px}.transport summary{cursor:pointer;font-size:13px}.transport p{font-size:12px;line-height:1.8;color:#736b63;padding-right:8px}.account-wrap{margin-top:35px;text-align:left}.account-toggle{width:100%;padding:18px 16px;background:#eee7df;border:0;border-bottom:1px solid #d9d0c6;display:flex;justify-content:space-between;font-family:inherit;font-size:13px}.accounts{display:none}.accounts.open{display:block}.account{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #e3dbd1;background:#fbf8f4}.account div{display:flex;flex-direction:column;gap:5px}.account b{font-size:12px}.account span{font-size:11px;color:#80776e}.account button{border:1px solid #cfc4b8;background:transparent;border-radius:99px;padding:7px 10px;font-family:inherit;font-size:10px}.ending{height:75svh;min-height:570px;position:relative}.ending img{height:100%;object-fit:cover}.ending-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,17,14,.55),rgba(20,17,14,.04) 60%)}.ending-copy{position:absolute;left:0;right:0;bottom:52px;color:white;text-align:center}.ending-copy span{font-family:"Italiana",serif;letter-spacing:.22em;font-size:10px}.ending-copy strong{display:block;font-size:16px;margin:10px 0 4px}.ending-copy p{font-family:"Cormorant Garamond",serif;margin:0;letter-spacing:.1em}.footer{padding:28px 22px 34px;background:#2f2b27;display:grid;gap:8px}.footer button{border:1px solid #5a534c;background:transparent;color:#efe8e0;padding:14px;font-family:inherit;font-size:12px}.footer small{text-align:center;color:#8f867d;font-family:"Cormorant Garamond",serif;letter-spacing:.12em;margin-top:12px}.modal{position:fixed;inset:0;background:rgba(10,10,10,.94);z-index:50;display:none;align-items:center;justify-content:center}.modal.open{display:flex}.modal img{max-width:100%;max-height:88svh;object-fit:contain}.modal-close,.modal-prev,.modal-next{position:absolute;border:0;background:none;color:white;z-index:2}.modal-close{right:14px;top:10px;font-size:35px}.modal-prev,.modal-next{top:50%;font-size:48px;transform:translateY(-50%);padding:10px}.modal-prev{left:2px}.modal-next{right:2px}.modal-count{position:absolute;bottom:16px;color:#ddd;font-family:"Cormorant Garamond",serif;font-size:12px}.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,20px);background:#27231f;color:white;padding:10px 15px;border-radius:99px;font-size:11px;opacity:0;pointer-events:none;transition:.25s;z-index:99}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}.reveal.on{opacity:1;transform:none}@media(max-width:370px){.cover h1{font-size:26px}.section{padding-left:20px;padding-right:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}