@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Noto+Serif+KR:wght@400;600;700&display=swap";:root{color:#17382d;font-synthesis:none;background:#e8e6e1;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #f0c777}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}main{background:#f6f1e7;width:min(100%,480px);min-height:100vh;margin:0 auto;padding-bottom:74px;overflow:hidden;box-shadow:0 0 80px #1a3b2b24}section{padding:76px 30px}.cream-section{background:#f6f1e7}.white-section{background:#fffdf9}.hero{color:#fff;background:#066247;flex-direction:column;align-items:center;padding:48px 18px 34px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";border:1px solid #ffffff1f;border-radius:50%;width:360px;height:360px;position:absolute;top:-170px;right:-155px}.hero-copy{z-index:2;text-align:center;width:100%;position:relative}.hero-kicker,.section-title span{letter-spacing:.14em;font-size:11px;font-weight:600}.hero-kicker{color:#f3d8a5}.hero-copy h1{margin:12px 0 15px;font-family:Noto Serif KR,serif;font-size:clamp(32px,9vw,43px);line-height:1.25}.hero-names{letter-spacing:.06em;margin:0 0 12px;font-family:Noto Serif KR,serif;font-size:18px;font-weight:600}.hero-names i{color:#f4c978;margin:0 7px;font-size:12px;font-style:normal}.hero-date{letter-spacing:.06em;color:#f6e7c9;margin:0 0 7px;font-size:13px}.hero-venue{color:#cde0d8;margin:0;font-size:12px}.hero-picture{z-index:1;aspect-ratio:1;background:#fff;border-radius:220px 220px 18px 18px;width:100%;margin-top:25px;position:relative;overflow:hidden;box-shadow:0 22px 46px #003d2d66}.hero-picture img{object-fit:contain;width:100%;height:100%;display:block}.section-title{text-align:center;margin-bottom:30px}.section-title span{color:#a96838}.section-title h2{margin:10px 0 0;font-family:Noto Serif KR,serif;font-size:25px;line-height:1.45}.body-copy{text-align:center;color:#4d5f58;font-family:Noto Serif KR,serif;font-size:15px;line-height:2}.family-list{text-align:center;border-top:1px solid #c5ccc7;margin-top:42px;padding-top:25px;font-family:Noto Serif KR,serif}.family-list p{margin:13px 0;font-size:15px}.family-list span{color:#687871;margin-right:9px}.date-display{color:#086145;justify-content:center;align-items:center;gap:16px;margin:32px 0 14px;display:flex}.date-display strong{font-size:68px;font-weight:500;line-height:1}.date-display span{border-left:1px solid #98b2a8;padding-left:16px;font-size:13px;line-height:1.6}.venue-summary{text-align:center;color:#4e625a;font-family:Noto Serif KR,serif;font-size:15px;line-height:1.9}.calendar{text-align:center;grid-template-columns:repeat(7,1fr);gap:8px 2px;max-width:355px;margin:36px auto 28px;display:grid}.calendar b{color:#707d77;padding-bottom:9px;font-size:12px}.calendar b:first-child{color:#aa5044}.calendar span{place-items:center;height:38px;font-size:14px;display:grid}.calendar .wedding-day{color:#fff;background:#0a694c;border-radius:50%;position:relative}.calendar .wedding-day:after{content:"♥";color:#f8d09c;font-size:7px;position:absolute;top:2px;right:3px}.dday{border-top:1px solid #d2d9d4;border-bottom:1px solid #d2d9d4;justify-content:space-between;align-items:center;gap:12px;padding:19px 4px;font-family:Noto Serif KR,serif;font-size:13px;display:flex}.dday strong{color:#a84637;flex:none;font-family:DM Sans,sans-serif;font-size:16px}.calendar-button{color:#fff;cursor:pointer;background:#086145;border:0;justify-content:center;align-items:center;gap:9px;width:100%;min-height:50px;margin-top:18px;font-weight:600;display:flex}.gallery-coming-soon{color:#fff;text-align:center;background:#0c5742;border-radius:180px 180px 18px 18px;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:55px 25px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 40px #173d2e24}.gallery-coming-soon:before,.gallery-coming-soon:after{content:"";border:1px solid #f5d9a63d;border-radius:50%;position:absolute}.gallery-coming-soon:before{width:230px;height:230px;top:-90px;right:-70px}.gallery-coming-soon:after{width:160px;height:160px;bottom:-70px;left:-50px}.gallery-coming-soon span{z-index:1;color:#f3cf8c;letter-spacing:.22em;font-size:10px;font-weight:600;position:relative}.gallery-coming-soon strong{z-index:1;margin-top:18px;font-family:Noto Serif KR,serif;font-size:25px;line-height:1.55;position:relative}.gallery-coming-soon p{z-index:1;color:#c8ddd5;margin:18px 0 0;font-size:13px;line-height:1.7;position:relative}.location-section>h3,.location-section>p{text-align:center;margin:5px}.location-section>h3{font-family:Noto Serif KR,serif;font-size:18px}.location-section>p{color:#596b64;font-size:14px}.venue-map-card{color:#17382d;background:#fff;border:1px solid #d8dfda;grid-template-columns:42px 1fr 21px;align-items:center;gap:13px;margin:28px 0 26px;padding:19px 17px;text-decoration:none;display:grid;box-shadow:0 8px 22px #1c45351a}.naver-mark{color:#fff;background:#03c75a;border-radius:50%;place-items:center;width:42px;height:42px;font-size:18px;font-weight:700;display:grid}.venue-map-card b,.venue-map-card small,.photo-directions b,.photo-directions small{display:block}.venue-map-card b{margin-bottom:5px;font-size:14px}.venue-map-card small,.photo-directions small{color:#60716a;font-size:12px;line-height:1.45}.venue-map-card>svg{color:#087150}.travel-tabs{border-bottom:1px solid #bfc9c3;grid-template-columns:repeat(3,1fr);display:grid}.travel-tabs button{color:#64746d;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:13px 5px;font-size:13px;font-weight:600}.travel-tabs button[aria-selected=true]{color:#086145;border-bottom-color:#086145}.travel-panel{min-height:190px;padding:25px 4px 8px}.travel-summary{align-items:center;gap:7px;margin-bottom:18px;display:flex}.travel-summary strong{margin-left:6px;font-family:Noto Serif KR,serif;font-size:16px}.line{color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.line-2{background:#3b9b3f}.line-8{background:#e75788}.route-icon{color:#fff;background:#086145;border-radius:99px;place-items:center;min-width:43px;height:28px;padding:0 8px;font-size:11px;font-weight:700;display:grid}.compact-route{color:#43564e;margin:0;font-size:14px;line-height:1.75}.bus-details{border-top:1px solid #d7ded9;border-bottom:1px solid #d7ded9}.bus-details summary{cursor:pointer;color:#086145;padding:13px 2px;font-size:13px;font-weight:700}.bus-routes{margin:0 0 9px}.bus-routes div{border-top:1px solid #e2e7e4;grid-template-columns:48px 1fr;padding:9px 2px;display:grid}.bus-routes dt{color:#086145;font-size:12px;font-weight:700}.bus-routes dd{color:#43564e;margin:0;font-size:12px;line-height:1.55}.travel-note{color:#66766f;margin:12px 0 0;font-size:11px;line-height:1.6}.parking-box{color:#285043;background:#e2ebe6;flex-direction:column;gap:6px;margin-top:16px;padding:15px;display:flex}.parking-box strong{font-size:14px}.parking-box span{font-size:12px;line-height:1.5}.photo-directions{color:#17382d;border:1px solid #086145;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:17px;text-decoration:none;display:flex}.photo-directions b{color:#086145;margin-bottom:4px;font-size:14px}.address-copy{color:#086145;cursor:pointer;background:#e5ece8;border:0;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:9px;font-size:13px;font-weight:600;display:flex}.account-intro{text-align:center;color:#596b64;margin:-8px 0 36px;font-family:Noto Serif KR,serif;font-size:13px;line-height:1.9}.account-group{margin-top:24px}.account-group h3{color:#086145;margin:0 0 10px;font-family:Noto Serif KR,serif;font-size:15px}.account-row{background:#fff;border:1px solid #d9dfdb;grid-template-columns:96px 1fr auto;align-items:center;gap:10px;min-height:76px;padding:15px 14px;display:grid}.account-row+.account-row{border-top:0}.account-person small,.account-person strong,.account-number small,.account-number span{display:block}.account-person small{color:#8a7461;margin-bottom:4px;font-size:10px}.account-person strong{font-family:Noto Serif KR,serif;font-size:14px}.account-number{min-width:0}.account-number small{color:#66766f;margin-bottom:3px;font-size:10px}.account-number span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.account-row button{color:#086145;cursor:pointer;background:#e2ebe6;border:0;align-items:center;gap:5px;height:38px;padding:0 10px;font-size:11px;font-weight:600;display:flex}.account-row button svg{width:15px;height:15px}.account-pending{text-align:right;color:#829089;grid-column:2/4;font-size:12px}footer{color:#fff;text-align:center;background:#063e2f;padding:76px 30px 46px}.footer-mark{color:#f0cc89;letter-spacing:.08em;font-family:Noto Serif KR,serif;font-size:13px}footer h2{margin:20px 0 32px;font-family:Noto Serif KR,serif;font-size:27px;line-height:1.5}footer button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;padding:14px 24px}footer small{color:#a9c0b7;letter-spacing:.08em;margin-top:48px;font-size:10px;display:block}.bottom-nav{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdfbf2;border-top:1px solid #d5ddd8;grid-template-columns:repeat(3,1fr);width:min(100%,480px);height:70px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a,.bottom-nav button{color:#155d46;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;text-decoration:none;display:flex}.bottom-nav svg{width:20px;height:20px}.bottom-nav span{font-size:11px;font-weight:500}.toast{z-index:30;color:#fff;white-space:nowrap;background:#182f28ef;border-radius:99px;padding:12px 18px;font-size:12px;position:fixed;bottom:88px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0003}@media (width<=360px){section{padding-left:22px;padding-right:22px}.hero{padding-left:12px;padding-right:12px}.hero-copy h1{font-size:31px}.family-list p{font-size:14px}.travel-tabs button{font-size:12px}.account-row{grid-template-columns:86px 1fr auto;padding-left:10px;padding-right:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
