@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;500;600&family=Playfair+Display:wght@400;500;600;700&display=swap');:root{--green:#385b2a;--cream:#fffefa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f6f3;color:var(--green);font-family:'Playfair Display',Georgia,serif}.invitation{max-width:680px;margin:auto;overflow:hidden;position:relative;background:#fff;box-shadow:0 10px 60px #293a2512}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(21px,4.5vw,29px);font-weight:700;letter-spacing:.015em;margin-bottom:34px}p{line-height:1.85}.section{text-align:center;padding:64px 35px;position:relative}.section>*{position:relative;z-index:1}.flower{position:absolute;pointer-events:none;background:url('/static/floral/flowers.webp') center/contain no-repeat}.top-flower{top:-100px;right:-120px;width:450px;height:450px;opacity:.9}.floral-bg:before{content:'';position:absolute;inset:0;background:url('/static/floral/flowers.webp') center center/90% auto no-repeat;opacity:.14;pointer-events:none}.couple{height:850px;position:relative;padding-top:90px}.forest-band{position:absolute;top:330px;left:0;right:0;height:120px;background:linear-gradient(#24471bd8,#24471bd8),url('/static/floral/green.webp') center/cover}.person{position:absolute;display:flex;align-items:center;gap:22px}.person img{width:190px;height:275px;object-fit:cover;border:9px solid #b99c7d;box-shadow:0 8px 16px #15230b35}.person small,.big-names span{display:block;letter-spacing:2px;font-size:12px}.person h1{font-size:32px;font-weight:500;margin:5px 0}.groom{top:150px;left:15%}.groom img{transform:rotate(-13deg)}.bride{top:385px;right:11%}.bride img{transform:rotate(13deg)}.families{padding-top:50px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:25px}.two-col h3{font-size:19px;line-height:1.6}.two-col small{font-size:12px;line-height:1.7}.invite{margin-top:70px}.invite>p{font-size:15px;letter-spacing:1px}.big-names{font-size:clamp(33px,7vw,58px);line-height:1.4;margin:32px -20px}.big-names span{font-size:11px}.big-names em{display:block;font-size:37px;font-weight:400}.clock{font-size:26px;margin:22px}.date-line{display:flex;justify-content:center;align-items:center;gap:28px;margin:20px auto}.date-line strong{font-size:40px}.date-line span{font-size:13px}.album{padding-top:25px}.album-stage{height:350px;display:flex;align-items:center;justify-content:center;position:relative;perspective:700px}.album-photo{position:absolute;width:52%;height:310px;object-fit:cover;border-radius:16px;box-shadow:0 12px 25px #1a2b1640;transition:transform .6s,opacity .6s;opacity:0;pointer-events:none}.album-photo.active{transform:translateX(0) scale(1);opacity:1;z-index:3}.album-photo.before{transform:translateX(-57%) scale(.8) rotateY(22deg);opacity:.55;z-index:2}.album-photo.after{transform:translateX(57%) scale(.8) rotateY(-22deg);opacity:.55;z-index:2}.album-counter{display:flex;align-items:center;justify-content:center;gap:20px}.album-counter button{border:0;background:none;color:var(--green);font-size:32px;cursor:pointer}.mini{max-width:300px;margin:40px auto;font-size:12px}.mini h3{font-size:20px}.calendar{border:1px solid #d2d8cc;border-radius:8px;max-width:370px;margin:20px auto 30px;overflow:hidden;background:#ffffffd9}.calendar h3{padding:14px;margin:0;font-size:16px;border-bottom:1px solid #d2d8cc}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-grid>*{padding:12px 0;font-size:12px}.calendar-grid .dayhead{border-bottom:1px solid #66845b;font-weight:bold}.calendar-grid .selected{background:var(--green);color:white;border-radius:50%;font-weight:bold}.under-link{display:inline-block;color:var(--green);margin:15px auto;text-decoration:underline;text-underline-offset:4px}.countdown{margin:20px auto;font-size:13px}.location .map{display:block;margin:35px auto 12px;max-width:390px;text-decoration:none;color:var(--green);font-size:13px}.map img{width:100%;height:230px;object-fit:cover;border-radius:8px}.map span{display:block;padding:10px}.location h2:not(:first-child){margin-top:55px}.dress-dots{display:flex;justify-content:center;gap:16px}.dress-dots i{width:42px;height:42px;border-radius:50%;background:#d7ddc9;box-shadow:0 3px 8px #0001}.dress-dots i:nth-child(2){background:#f5f1e8}.dress-dots i:nth-child(3){background:#e6e6e6}.timeline-list{max-width:330px;margin:auto}.timeline-list>div{display:grid;grid-template-columns:80px 25px 1fr;gap:12px;align-items:center;text-align:left;margin:22px 0}.timeline-list p{margin:0}.guestbook form{padding:25px;border:1px solid #d7dcd2;border-radius:9px;box-shadow:0 2px 6px #0001;display:grid;gap:15px}.guestbook input,.guestbook textarea{width:100%;padding:17px;border:1px solid #69815e;border-radius:6px;font:inherit;font-size:14px;resize:vertical}.guestbook button{background:var(--green);border:0;color:white;padding:15px;cursor:pointer}.wish-list{max-height:410px;overflow:auto;margin-top:30px;text-align:left}.wish-list article{border:1px solid #d8dfd4;border-radius:7px;margin:12px 0;padding:17px;box-shadow:0 3px 7px #0001}.wish-list article div{display:flex;justify-content:space-between;gap:12px}.wish-list small{font-size:10px}.wish-list p{font-size:13px;margin:10px 0 0}.gift-button{display:flex;flex-direction:column;align-items:center;gap:12px;border:0;background:none;color:var(--green);margin:auto;cursor:pointer;font:inherit}.gift-button img{width:250px;max-width:100%;transition:transform .3s}.gift-button:hover img{transform:scale(1.06)}.gift-info{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin:30px 0}.gift-info[hidden]{display:none}.gift-info article{padding:20px;border:1px solid #d7dcd2;border-radius:10px;min-width:200px}.gift-info img{display:block;width:150px;margin:auto}.gift-info .copy{display:block;margin:10px auto;padding:8px 15px}.closing{margin-top:45px}.floating{position:fixed;right:18px;bottom:20px;display:grid;gap:8px;z-index:10}.floating a,.floating button{width:42px;height:42px;border-radius:50%;background:white;box-shadow:0 3px 15px #0002;border:0;display:grid;place-items:center;color:var(--green);text-decoration:none;font-size:21px;cursor:pointer}.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);padding:16px;background:#fff;box-shadow:0 4px 20px #0003;z-index:20}@media(max-width:480px){.couple{height:700px}.top-flower{width:320px;right:-90px}.forest-band{top:280px;height:100px}.person img{width:145px;height:210px;border-width:7px}.groom{top:145px;left:9%;gap:10px}.bride{top:335px;right:7%;gap:10px}.person h1{font-size:24px}.section{padding:55px 20px}.big-names{font-size:34px}.album-photo{height:250px}.album-stage{height:285px}.two-col{gap:10px}.two-col h3{font-size:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}