@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#342b25;background:#f8f4ed;font-synthesis:none;text-rendering:optimizeLegibility;font-weight:400;--ink:#342b25;--muted:#82766a;--gold:#b18a51;--gold-dark:#8c6939;--cream:#f8f4ed;--line:#e6dccd;--serif:"Cormorant Garamond",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}.site-shell{overflow:hidden;background:var(--cream)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #a9824b;outline-offset:4px}.topbar{height:76px;padding:0 clamp(20px,6vw,92px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9dfd1;background:#faf7f1f2;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#544332;font-size:10px;letter-spacing:2px;font-weight:700}.brand-mark{width:34px;height:34px;border:1px solid #c8aa7a;border-radius:50%;display:grid;place-items:center;color:var(--gold-dark)}.nav-links{display:flex;align-items:center;gap:30px}.nav-links button{border:0;background:none;color:#75695d;font-size:12px}.nav-links button:hover{color:var(--gold-dark)}.nav-links .nav-cta{display:flex;gap:9px;align-items:center;border:1px solid #c7a878;padding:11px 16px;color:#87653a}.menu-toggle{display:none;background:none;border:0;color:var(--ink)}.welcome-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:radial-gradient(ellipse at 50% 42%,#5c4733 0,#30251f 54%,#1d1714);display:grid;place-items:center;padding:25px;animation:welcomeIn .7s ease both}.welcome-screen:before{content:"";position:absolute;top:13px;right:13px;bottom:13px;left:13px;border:1px solid #c5a36d66;pointer-events:none}.invitation{width:min(540px,100%);min-height:620px;padding:45px 35px 35px;text-align:center;color:#f8efdf;border:1px solid #c5a36d66;position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#ffffff08,transparent 50%)}.invitation-rule{position:absolute;top:22px;left:12%;right:12%;height:1px;background:#c5a36d66}.invitation-rule span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#382b23;padding:0 12px;color:#d7b77e}.invitation-rule.bottom{top:auto;bottom:22px}.invitation-crown{color:#d8b980;margin:4px 0 22px}.invitation .eyebrow{color:#d8bd91}.invitation h1{font:500 clamp(54px,9vw,78px)/.92 var(--serif);margin:25px 0 14px}.invitation h1 em{color:#d9b980;font-weight:400}.invitation-copy{font:italic 19px/1.6 var(--serif);color:#ddcfbd;margin:0}.invitation-foot{font-size:8px;letter-spacing:3px;color:#c5a36d;margin:27px 0 0}.envelope-art{height:105px;width:145px;margin:30px 0 18px;display:grid;place-items:center}.envelope{width:118px;height:75px;background:#e9d8b9;position:relative;box-shadow:0 12px 25px #100b0866;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.envelope:before,.envelope:after{content:"";position:absolute;bottom:0;width:0;height:0;border-style:solid;z-index:1}.envelope:before{left:0;border-width:38px 59px 0 0;border-color:#d4bc96 transparent transparent transparent}.envelope:after{right:0;border-width:38px 0 0 59px;border-color:#c9ae84 transparent transparent transparent}.envelope-flap{position:absolute;top:0;left:0;width:0;height:0;border-left:59px solid transparent;border-right:59px solid transparent;border-top:44px solid #f2e4ca;z-index:2}.envelope-seal{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-5%);width:34px;height:34px;border-radius:50%;background:#a77e48;color:#f8e9ce;display:grid;place-items:center}.invitation-button{margin-top:5px}.welcome-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;color:#d8bd91}.welcome-stars i{position:absolute;font-style:normal;opacity:.5}.welcome-stars i:nth-child(1){left:12%;top:20%}.welcome-stars i:nth-child(2){right:15%;top:28%;font-size:23px}.welcome-stars i:nth-child(3){left:20%;bottom:18%;font-size:12px}.welcome-stars i:nth-child(4){right:12%;bottom:17%}.welcome-stars i:nth-child(5){left:50%;top:9%;font-size:12px}@keyframes welcomeIn{0%{opacity:0}to{opacity:1}}.eyebrow,.section-kicker{font-size:10px;letter-spacing:2.6px;color:var(--gold-dark);font-weight:700;display:flex;align-items:center;justify-content:center;gap:12px}.eyebrow span{height:1px;width:27px;background:#c8a878}.gold-button,.light-button{border:0;background:#a9824b;color:#fff;padding:14px 21px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:11px;letter-spacing:.5px;transition:transform .2s,background .2s}.gold-button:hover{background:#87643a;transform:translateY(-2px)}.light-button{background:#d8bd91;color:#392d23}.light-button:hover{background:#ebd6b3;transform:translateY(-2px)}.section-pad{padding:105px clamp(22px,10vw,150px)}.hero{min-height:730px;display:grid;place-items:center;position:relative;text-align:center;padding:90px 20px 110px;background:radial-gradient(ellipse at 50% 35%,#fffdf9 0,#f8f2e8 47%,#eee3d2);isolation:isolate}.hero:before,.hero:after{content:"";position:absolute;top:25px;right:25px;bottom:25px;left:25px;border:1px solid rgba(177,138,81,.27);pointer-events:none}.hero:after{top:33px;right:33px;bottom:33px;left:33px;border-color:#b18a5121}.hero-content{position:relative;z-index:2;max-width:760px}.hero .eyebrow{font-size:9px}.crest{margin:30px auto 17px;width:70px;height:70px;border:1px solid #c9aa78;border-radius:50%;display:grid;place-items:center;color:var(--gold-dark);box-shadow:0 0 0 7px #c9aa7815}.small-overline{font-size:9px;letter-spacing:4px;color:#9b8567;margin:0 0 8px}.hero h1{font:500 clamp(58px,8vw,100px)/.86 var(--serif);letter-spacing:-2px;margin:0;color:#3c3028}.hero h1 em,h2 em{font-weight:400;color:#a67e46}.age-line{display:flex;align-items:center;justify-content:center;gap:20px;margin:27px 0 17px;color:var(--gold-dark)}.age-line strong{font:500 48px var(--serif)}.age-line .line{width:62px;height:1px;background:#c7aa7a}.hero-copy{font:400 18px/1.9 var(--serif);color:#776b60;margin:0 0 26px}.signature{font:italic 17px var(--serif);color:#9d896e;margin-top:24px}.hero-side-note{position:absolute;right:clamp(20px,5vw,70px);top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font-size:8px;letter-spacing:2px;color:#aa9678}.hero-side-note span{margin:10px 0;color:var(--gold)}.hero-bottom-mark{position:absolute;bottom:45px;font-size:8px;letter-spacing:2.5px;color:#aa9678}.hero-orbit{position:absolute;border:1px solid #b18a511b;border-radius:50%;z-index:-1}.orbit-one{width:570px;height:570px}.orbit-two{width:690px;height:690px}.intro{text-align:center;max-width:1000px;margin:auto}.intro h2,.section-heading h2,.letter-card h2,.wishes h2,.surprise h2{font:500 clamp(42px,5vw,64px)/.98 var(--serif);letter-spacing:-.8px;color:#3c3028;margin:23px 0}.intro-text{max-width:610px;margin:0 auto;color:#807468;font-size:13px;line-height:2.1}.ornament{color:var(--gold);margin-top:35px}.ornament span{display:inline-block;width:75px;height:1px;background:#d5c3a8;vertical-align:middle;margin:0 10px}.intro-signature{font:italic 19px var(--serif);color:#9b805a;margin-top:20px}.intro-signature em{color:#a67e46}.story-band{background:#392d25;color:#f8f0e4;text-align:center;padding:65px 20px 70px;position:relative}.story-band:before,.story-band:after{content:"";position:absolute;left:50%;width:1px;height:25px;background:#b8955f}.story-band:before{top:0}.story-band:after{bottom:0}.story-number{font-size:9px;letter-spacing:3px;color:#d4b47f}.story-number span{padding:0 7px}.story-quote{font:italic clamp(25px,4vw,39px)/1.25 var(--serif);margin:22px auto 13px}.story-quote em{color:#d8b980}.story-band p{font-size:11px;color:#c8b9a7;letter-spacing:.3px}.memories{background:#f0e9dd}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-heading .section-kicker{justify-content:flex-start}.section-heading h2{margin:17px 0 0}.section-heading>p{font:italic 17px/1.6 var(--serif);color:#8b7d6c;margin:0 0 8px}.photo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #ded2c0;border-bottom:1px solid #ded2c0;padding:15px 0;margin-bottom:25px;color:#8c7e6d;font-size:11px}.outline-button{border:1px solid #b99b6e;color:#86643a;background:transparent;padding:10px 14px;display:flex;align-items:center;gap:9px;font-size:11px}.empty-gallery{min-height:290px;border:1px dashed #cbb99f;background:#ffffff57;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.empty-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#e9decd;color:#a17c49}.empty-gallery h3{font:500 29px var(--serif);margin:16px 0 4px}.empty-gallery p{font-size:11px;color:#8b7d70;max-width:370px;line-height:1.7}.text-button{background:none;border:0;color:#926e3e;font-size:11px;margin-top:12px}.text-button span{font-size:16px;margin-left:5px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo-card{margin:0;background:#fff;padding:10px 10px 14px;box-shadow:0 9px 25px #4b392012;transform:rotate(-.5deg)}.photo-card:nth-child(2n){transform:rotate(.7deg);margin-top:18px}.photo-card img{width:100%;height:270px;object-fit:cover;display:block}.photo-card figcaption{font:italic 16px var(--serif);color:#8c7658;text-align:center;padding-top:11px}.photo-card figcaption span{font:700 8px DM Sans,sans-serif;letter-spacing:2px;margin-right:7px;color:#b59a73}.privacy-note{font-size:10px;color:#938675;margin-top:19px}.privacy-note code{background:#e8ddcc;padding:2px 5px}.letter-section{background:#fbf8f2;display:grid;place-items:center;position:relative}.letter-card{max-width:700px;width:100%;text-align:center;padding:65px 50px;border:1px solid #ddc9a8;outline:1px solid #eadfce;outline-offset:8px;position:relative;background:#fffdf9;box-shadow:0 20px 60px #4c38200b}.letter-card:before,.letter-card:after{content:"✦";position:absolute;color:#c4a16d;font-size:13px}.letter-card:before{top:17px;left:19px}.letter-card:after{bottom:17px;right:19px}.letter-flower{color:#b28b53;margin-bottom:17px}.letter-card .section-kicker{justify-content:center}.letter-card h2{margin:17px 0}.letter-preview{font:italic 21px/1.7 var(--serif);color:#847566;max-width:490px;margin:0 auto 28px}.letter-sign{font:italic 17px var(--serif);color:#9c896e;margin-top:25px}.letter-sign span{color:#b58a56}.letter-side{position:absolute;left:clamp(22px,7vw,100px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;color:#b49a72}.letter-side span{font:italic 35px var(--serif)}.letter-side i{font-style:normal;font-size:8px;letter-spacing:2px;writing-mode:vertical-rl}.wishes{text-align:center}.wishes h2{margin-bottom:10px}.section-subtitle{font:italic 17px var(--serif);color:#8b7d6c;margin:0 0 40px}.wishes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;text-align:left}.wish-card{background:#fffdf9;border:1px solid #e9dfd1;padding:28px 24px;min-height:235px;display:flex;flex-direction:column;position:relative}.wish-quote-icon{color:#c2a274}.wish-card p{font:italic 17px/1.65 var(--serif);color:#716457;margin:17px 0 25px;flex:1}.wish-author{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#94764e;display:flex;align-items:center;gap:9px}.wish-author span{width:22px;height:1px;background:#c7a777}.message-form{max-width:700px;margin:55px auto 0;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:30px;background:#f5efe5;border:1px solid #e5d8c4}.message-form>div{grid-column:1/-1}.message-form h3{font:500 31px var(--serif);margin:8px 0 4px}.message-form>div>p{font-size:11px;color:#8b7d70;margin:0 0 7px}.message-form input,.message-form textarea{width:100%;border:1px solid #e0d3c0;background:#fffdf9;padding:13px;color:var(--ink);font-size:12px;outline-color:#b18a51}.message-form textarea{grid-column:1/-1;resize:vertical}.message-form .gold-button{justify-self:start}.surprise{background:#342a25;color:#f9f2e7;text-align:center;position:relative;overflow:hidden}.surprise:before,.surprise:after{content:"";position:absolute;width:350px;height:350px;border:1px solid #b38a4a22;border-radius:50%;top:50%;transform:translateY(-50%)}.surprise:before{left:-210px}.surprise:after{right:-210px}.surprise .section-kicker{color:#d4b47f;justify-content:center}.surprise h2{color:#fff7ec;margin:23px 0}.surprise h2 em{color:#d5b47d}.surprise>p{font:italic 19px/1.8 var(--serif);color:#d0c1ad;max-width:570px;margin:0 auto 30px}.surprise-stars{display:flex;justify-content:center;align-items:center;gap:25px;color:#c6a16a;margin-bottom:25px}.surprise-stars svg{width:13px}.surprise-bottom{font-size:8px;letter-spacing:2px;color:#c3a879;margin-top:55px}.surprise-bottom span{margin:0 12px}.footer{text-align:center;padding:60px 20px 40px;background:#f3ece1}.footer-crown{color:#a9814a}.footer-title{font:italic 29px var(--serif);margin:12px 0 3px;color:#49392c}.footer>p:not(.footer-title){font-size:11px;color:#938575}.footer-heart{display:block;color:#b58a56;margin:17px}.footer small{font-size:8px;letter-spacing:2px;color:#9c886b}.music-button{position:fixed;bottom:22px;right:22px;width:46px;height:46px;border-radius:50%;border:1px solid #c8aa7a;background:#fbf7ef;color:#89673d;display:grid;place-items:center;z-index:19;box-shadow:0 5px 20px #30241920}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#211a16c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;display:grid;place-items:center;padding:20px;overflow:auto}.letter-modal,.surprise-modal{position:relative;max-width:610px;width:100%;max-height:90vh;overflow:auto;background:#fcf8f0;border:1px solid #c5a779;outline:1px solid #c5a779;outline-offset:5px;padding:48px 42px;text-align:center}.modal-close{position:absolute;right:14px;top:14px;background:none;border:0;color:#80613a}.modal-flower{color:#b38b54;margin-bottom:12px}.letter-modal h2{font:500 45px var(--serif);margin:15px 0;color:#47372a}.letter-editor{width:100%;min-height:210px;border:1px solid #e1d3bf;background:#fffdf8;padding:18px;font:italic 17px/1.7 var(--serif);color:#756557;resize:vertical;outline-color:#b18a51}.letter-modal-sign{font:italic 18px/1.5 var(--serif);color:#806e58;margin:20px 0}.letter-modal-sign em{color:#a17b49}.surprise-backdrop{background:#1b1513ed}.surprise-modal{background:#382b24;color:#fff5e8;border-color:#c6a16b;outline-color:#c6a16b}.surprise-crown{color:#d6b77f;margin:5px 0 22px}.surprise-modal .eyebrow{color:#d5b47d}.surprise-modal h2{font:500 54px/.95 var(--serif);margin:20px 0;color:#fff5e8}.surprise-modal h2 em{color:#d9b980}.surprise-modal>p:not(.eyebrow){font:italic 19px/1.7 var(--serif);color:#d9cbb8}.surprise-hearts{color:#d4b17b;margin:25px}.surprise-modal .modal-close{color:#e2c99e}@media(max-width:900px){.letter-side{display:none}.photo-card img{height:230px}}@media(max-width:760px){.topbar{height:66px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:65px;left:0;right:0;background:#faf7f1;padding:18px 24px 23px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:18px}.nav-links.open{display:flex}.nav-links button{padding:8px;text-align:left}.nav-links .nav-cta{justify-content:center}.hero{min-height:650px;padding:75px 25px}.hero:before{top:13px;right:13px;bottom:13px;left:13px}.hero:after{top:20px;right:20px;bottom:20px;left:20px}.hero-side-note{display:none}.hero h1{font-size:clamp(56px,14vw,78px)}.hero-copy{font-size:16px}.hero-bottom-mark{font-size:7px}.orbit-one{width:420px;height:420px}.orbit-two{width:510px;height:510px}.section-pad{padding:75px 23px}.section-heading{display:block}.section-heading>p{margin-top:15px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:11px}.photo-card img{height:190px}.wishes-grid{grid-template-columns:1fr}.wish-card{min-height:unset}.message-form{grid-template-columns:1fr;padding:20px}.message-form>div,.message-form textarea{grid-column:auto}.letter-card{padding:48px 22px}.letter-modal,.surprise-modal{padding:42px 23px}.surprise:before,.surprise:after{opacity:.5}.photo-toolbar{align-items:flex-start;flex-direction:column}.intro h2,.section-heading h2,.letter-card h2,.wishes h2,.surprise h2{font-size:47px}.invitation{min-height:570px;padding:40px 20px}.invitation h1{font-size:61px}}@media(max-width:390px){.photo-grid{grid-template-columns:1fr}.photo-card img{height:260px}.brand{font-size:8px;letter-spacing:1.4px}.hero-copy{font-size:15px}.invitation{min-height:540px}.invitation h1{font-size:55px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
