*{box-sizing:border-box}:root{--sage:#78866e;--cream:#fbf6ee;--sand:#d6b78e;--terracotta:#b97747;--ink:#4c4b43;--paper:#fffdf8;--line:#decfbc}html{scroll-behavior:smooth}body{margin:0;background:#f2e9dd;color:var(--ink);font-family:Montserrat,sans-serif;overflow-x:hidden}body.locked{overflow:hidden}img{display:block;width:100%}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;text-align:center;background:linear-gradient(#fbf6ee,#e8ddce);overflow:hidden;transition:1s}.intro.out{opacity:0;visibility:hidden;transform:scale(1.03)}.intro-copy{z-index:3}.intro span,.count>span,.parents-copy>span,.details header>span,.gallery header>span,.wishbox>span,.rsvpbox>span,.modal span,.quote>span{font-size:9px;letter-spacing:.3em}.intro h1{font:400 76px "Cormorant Garamond";color:#66745e;margin:12px}.intro p{font:400 35px Sacramento;color:#af7042;margin:5px}.intro button,.interaction button{border:0;background:var(--sage);color:white;padding:15px 26px;font-size:8px;letter-spacing:.17em;margin-top:20px}.intro-plane{position:absolute;left:10%;top:25%;font-size:100px;color:#b7794744;animation:fly 6s ease-in-out infinite alternate}@keyframes fly{to{transform:translate(80px,-30px) rotate(8deg)}}.cloud{position:absolute;width:260px;height:80px;border-radius:50%;background:#fff8;filter:blur(12px)}.cloud-a{left:-60px;bottom:18%}.cloud-b{right:-70px;top:18%}.site{opacity:0;transition:1s}.site.ready{opacity:1}.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--terracotta);z-index:100}.music{position:fixed;right:18px;bottom:18px;z-index:90;width:44px;height:44px;border-radius:50%;border:1px solid var(--sage);background:#fffddd;color:#66745d}.hero{min-height:760px;display:grid;grid-template-columns:1fr 1fr;position:relative;background:#fbf6ee}.hero nav{position:absolute;left:0;right:0;top:0;padding:26px 5vw;display:flex;justify-content:space-between;z-index:4}.hero nav strong{font:400 20px "Cormorant Garamond";letter-spacing:.15em;color:#68775e}.hero nav div{display:flex;gap:26px}.hero nav a{font-size:8px;letter-spacing:.17em;text-transform:uppercase}.hero-copy{align-self:center;text-align:center;padding:105px 7vw 70px}.hero-copy>span{font-size:9px;letter-spacing:.3em;color:#77856c}.hero-copy>p{font:400 39px Sacramento;color:#af7042;margin:0}.hero-copy h1{font:400 clamp(70px,9vw,120px)/.8 "Cormorant Garamond";color:#6c7a60;margin:12px}.hero-copy h1 em{font:400 1.1em Sacramento;color:#b57543}.hero-copy h2{font:400 21px "Cormorant Garamond";letter-spacing:.06em}.hero-copy i{display:block;font:400 14px "Cormorant Garamond";margin:22px}.hero-copy a{display:inline-block;background:#74836a;color:white;padding:15px 24px;font-size:8px;letter-spacing:.17em}.hero-art{padding:75px 35px 35px;display:flex;align-items:center;justify-content:center}.hero-art img{max-height:670px;object-fit:contain;filter:drop-shadow(0 15px 28px #6f5a3f22)}.card{margin:12px 3.5%;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 28px #77654e12}.count{text-align:center;padding:55px 5vw}.clock{display:flex;justify-content:center;margin-top:30px}.clock div{width:180px;border-right:1px solid #decfbc}.clock div:last-child{border:0}.clock b{display:block;font:400 72px "Cormorant Garamond";color:#68775f}.clock small{font-size:7px;letter-spacing:.18em}.parents{display:grid;grid-template-columns:.9fr 1.25fr .85fr;align-items:center;padding:40px 6vw;text-align:center}.parents-art img,.adventure-art img{height:280px;object-fit:contain}.parents-copy{padding:25px}.parents-copy h2{font:400 54px Sacramento;color:#6d7b61;margin:10px}.parents-copy p{font:400 15px/1.8 "Cormorant Garamond"}.details{padding:65px 5vw;text-align:center}.details h2,.gallery h2{font:400 48px "Cormorant Garamond";margin:10px}.detail-grid{display:grid;grid-template-columns:repeat(5,1fr);max-width:1200px;margin:45px auto 30px}.detail-grid article{padding:25px 18px;border-right:1px solid #decfbc}.detail-grid article:last-child{border:0}.detail-grid small{font-size:7px;letter-spacing:.18em}.detail-grid b{display:block;font:400 52px "Cormorant Garamond";color:#50564b;margin:12px 0}.detail-grid b.place{font-size:25px}.detail-grid p{font-size:9px;line-height:1.6}.map{font-size:8px;letter-spacing:.17em;border-bottom:1px solid #718064;padding-bottom:7px}.route{position:relative;padding:100px 10vw;background:#e4d2bd;display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.route-line{position:absolute;left:15%;right:15%;top:132px;height:1px;background:#b88458}.route-item{text-align:center;position:relative;z-index:2}.route-item span{display:grid;place-items:center;margin:auto;width:58px;height:58px;border-radius:50%;background:#f9f2e8;border:1px solid #b88458;font:400 25px "Cormorant Garamond"}.route-item h3{font:400 32px "Cormorant Garamond";margin:20px 0 8px}.route-item p{font-size:11px;line-height:1.7}.quote{min-height:340px;background:linear-gradient(115deg,#6f7e65,#a6947a);color:white;display:grid;place-items:center;text-align:center;padding:50px;position:relative}.quote h2{font:400 56px/.92 "Cormorant Garamond";margin:16px}.quote h2 em{color:#f0d7b2}.gallery{padding:65px 2vw;text-align:center}.gallery h2 em{color:#b57543}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:40px;align-items:center}.photo{border:0;padding:0;height:250px;overflow:hidden;background:#eee;cursor:pointer}.photo.tall{height:340px}.photo img{height:100%;object-fit:cover;transition:.7s}.photo:hover img{transform:scale(1.06)}.interaction{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 3.5% 0}.interaction article{background:#fffdf9;border:1px solid var(--line);border-radius:18px;padding:35px 55px 55px;text-align:center}.mini-art{height:150px;display:flex;justify-content:center;margin-bottom:15px}.mini-art img{height:100%;width:auto;object-fit:contain}.interaction h2{font:400 44px "Cormorant Garamond";color:#64725a}.interaction p{font:400 15px/1.7 "Cormorant Garamond"}.modal{position:fixed;inset:0;z-index:1100;background:#4d5d4bd1;backdrop-filter:blur(7px);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.3s}.modal.open{opacity:1;visibility:visible}.modal form{position:relative;width:min(530px,92vw);background:#fffdf9;padding:45px;border-radius:18px}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:34px}.modal h2{font:400 45px "Cormorant Garamond";color:#66775d}.modal label{display:block;font-size:8px;letter-spacing:.13em;margin-top:16px}.modal input,.modal select,.modal textarea{width:100%;border:1px solid #d8cab8;background:white;padding:12px;margin-top:7px}.modal textarea{height:90px}.send{width:100%;border:0;background:#718064;color:white;padding:15px;margin-top:20px;font-size:8px;letter-spacing:.16em}.thanks{display:none;text-align:center;font:400 30px Sacramento;color:#66775d}.modal form.sent>*:not(.close):not(.thanks){display:none}.modal form.sent .thanks{display:block}.lightbox{position:fixed;inset:0;z-index:1200;background:#344032ed;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.3s}.lightbox.open{opacity:1;visibility:visible}.lightbox img{width:auto;max-width:88vw;max-height:86vh}.lightbox button{position:absolute;right:25px;top:15px;border:0;background:none;color:white;font-size:40px}footer{text-align:center;padding:65px;background:#6e7d65;color:white;margin-top:12px}footer strong{display:block;font:400 65px Sacramento;color:#f0dfbd}footer span,footer small{display:block;font-size:8px;letter-spacing:.2em;margin-top:10px}.reveal{opacity:0;transform:translateY(30px);transition:.9s}.reveal.visible{opacity:1;transform:none}@media(max-width:800px){.hero{grid-template-columns:1fr;min-height:auto}.hero nav div{display:none}.hero-copy{padding-top:120px;padding-bottom:55px}.hero-copy h1{font-size:18vw}.hero-art{padding:25px 20px 70px}.parents{grid-template-columns:1fr}.parents-art,.adventure-art{max-width:300px;margin:auto}.detail-grid{grid-template-columns:1fr 1fr}.detail-grid article:nth-child(2),.detail-grid article:nth-child(4){border-right:0}.detail-grid article:last-child{grid-column:1/3}.route{grid-template-columns:1fr;padding:70px 25px}.route-line{display:none}.grid{grid-template-columns:1fr 1fr}.photo,.photo.tall{height:280px}.photo:last-child{grid-column:1/3}.interaction{grid-template-columns:1fr}.interaction article{padding:35px 25px 45px}}