@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Poppins:wght@300;400;500&display=swap');
:root{--ink:#414934;--paper:#f7f4e9;--olive:#50583d;--gold:#b39a68;--drift:0px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Poppins,sans-serif;font-size:13px}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}body:after{content:'';position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}.eyebrow{font-size:9px;letter-spacing:.24em;line-height:1.9}.cover{position:fixed;inset:0;z-index:50;overflow:hidden;perspective:1600px;display:grid;place-items:center;background:transparent}.cover[hidden]{display:none}.door{position:absolute;inset:0;width:50.1%;height:100%;background-image:url('doors.jpg');background-size:200% 100%;backface-visibility:hidden;will-change:transform;transition:transform 2.7s cubic-bezier(.22,.61,.16,1) .65s,filter 2s .65s;box-shadow:0 0 45px #1118}.door-left{left:0;transform-origin:0 50%;background-position:left}.door-right{left:50%;transform-origin:100% 50%;background-position:right}.cover-caption{position:absolute;top:13%;left:15%;right:15%;text-align:center;color:#f4eddb;text-shadow:0 2px 14px #142115;transition:opacity .65s,transform 1s}.cover-names{font:clamp(45px,8vw,72px)/1.3 'Playfair Display',serif;margin:18px 0 0}.cover-caption p{font:italic 18px 'Playfair Display',serif;letter-spacing:.1em}.seal{position:absolute;top:52%;left:50%;width:100px;height:100px;transform:translate(-50%,-50%);border-radius:48% 52% 47% 53%;border:2px solid #c7ae7c;background:radial-gradient(circle at 30% 20%,#e2c99b,#b29157 55%,#816532);box-shadow:inset 0 0 0 5px #b8996355,inset 0 0 0 7px #efd6a5aa,0 7px 20px #18221680;color:#f7e7c5;transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .7s .1s;animation:breathe 4s ease-in-out infinite}.seal>span{font:italic 30px 'Playfair Display',serif;filter:drop-shadow(0 1px #705123)}.seal-amp{font-size:17px;margin:0 3px}.cover-bottom{position:absolute;bottom:12%;left:12%;right:12%;text-align:center;color:#eee7d6;transition:opacity .6s,transform 1s}.cover-bottom p{font:italic 17px 'Playfair Display',serif}.cover-bottom>span{font-size:8px;letter-spacing:.22em}.opening .seal{animation:none;transform:translate(-50%,-70%) rotate(-12deg) scale(1.2);opacity:0}.opening .cover-caption{opacity:0;transform:translateY(-20px)}.opening .cover-bottom{opacity:0;transform:translateY(15px)}.opening .door-left{transform:rotateY(-100deg);filter:brightness(.7)}.opening .door-right{transform:rotateY(100deg);filter:brightness(.7)}.draft{position:absolute;top:0;left:0;right:0;text-align:center;font-size:8px;letter-spacing:.08em;padding:9px 15px;z-index:3;color:#737865}.hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;padding:95px 25px 100px;background:radial-gradient(ellipse at 50% 40%,#fffdf5,#efeedf)}.halo{position:absolute;width:min(76vw,420px);height:75%;border:1px solid #b29b6460;border-radius:50% 50% 42% 42%;transform:rotate(-5deg)}.halo:after{content:'';position:absolute;inset:10px;border:1px solid #b29b6430;border-radius:inherit;transform:rotate(9deg)}.hero-content{position:relative;z-index:2;text-align:center;width:min(100%,500px)}.hero-line{opacity:0;transform:translateY(30px);filter:blur(5px);transition:opacity 1.7s,transform 2s cubic-bezier(.16,1,.3,1),filter 1.6s}.invitation-open .hero-line{opacity:1;transform:none;filter:blur(0)}.hero-line:nth-child(1){transition-delay:.4s}.hero-line:nth-child(2){transition-delay:.6s}.hero-line:nth-child(3){transition-delay:.9s}.hero-line:nth-child(4){transition-delay:1.1s}.hero-line:nth-child(5){transition-delay:1.3s}.hero-line:nth-child(6){transition-delay:1.5s}.save{font:clamp(57px,14vw,94px)/1.05 'Playfair Display',serif;margin:30px 0}.save span{font:italic 24px 'Playfair Display',serif;display:block;margin:4px}.monogram{font:italic 28px 'Playfair Display',serif;border-top:1px solid #b39a6860;border-bottom:1px solid #b39a6860;width:95px;margin:26px auto;padding:14px 0}.monogram i{font-size:16px;margin:0 5px}.names{font:clamp(48px,11vw,78px)/1.2 'Playfair Display',serif;font-weight:400;margin:28px 0}.names span{font-size:.55em}.hero-date{font:32px 'Playfair Display',serif;display:flex;gap:15px;align-items:center;justify-content:center}.hero-date span{font:9px Poppins,sans-serif;letter-spacing:.18em}.hero-content>p{font:italic 18px 'Playfair Display',serif}.botanical{position:absolute;width:clamp(230px,43vw,580px);pointer-events:none;z-index:1;filter:drop-shadow(0 10px 14px #4b533c18)}.bot-left{bottom:-65px;left:-100px;transform:translateY(var(--drift)) rotate(12deg)}.bot-right{top:-110px;right:-110px;transform:rotate(180deg)}.scroll{position:absolute;bottom:30px;z-index:3;text-decoration:none;color:var(--ink);font-size:8px;letter-spacing:.22em;text-align:center}.scroll span{display:block;font-size:24px;margin-top:9px;animation:float 2.8s ease-in-out infinite}.section{position:relative;text-align:center;padding:100px 28px;max-width:900px;margin:auto}.section h2{font:clamp(41px,9vw,65px)/1.1 'Playfair Display',serif;font-weight:400;margin:20px auto 28px}.section p{font-size:12px;line-height:2;max-width:520px;margin:0 auto 24px}.floral-divider{width:85px;height:55px;color:#919d7a}.floral{position:absolute;width:210px;opacity:.2;pointer-events:none}.floral.left{left:-50px;bottom:0}.floral.right{right:-50px;top:0;transform:rotate(180deg)}.date{font:clamp(55px,12vw,90px) 'Playfair Display',serif;margin:40px 0 24px}.date small{display:block;font:9px Poppins,sans-serif;letter-spacing:.22em;margin-top:14px}.countdown{display:flex;justify-content:center;gap:28px;margin:35px 0 0}.countdown strong{display:block;font:38px 'Playfair Display',serif}.countdown span{font-size:7px;text-transform:uppercase;letter-spacing:.15em}.split{padding:70px 30px;display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:960px;margin:auto}.split>div{text-align:center;border:1px solid #acb094;padding:65px 25px;border-radius:50% 50% 3px 3px;background:#eeeee1;box-shadow:0 15px 35px #4149340a}.split h3{font:italic 48px 'Playfair Display',serif;margin:20px 0}.split p{line-height:1.9;font-size:12px}.pending{font-size:10px!important;color:#858976}.story{max-width:none;background:#50583d;color:#f8f4e7;overflow:hidden;padding:110px 32px}.story h2{max-width:500px}.story p{font:italic 25px/1.65 'Playfair Display',serif;max-width:620px}.story .floral{color:#e9e8d5}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:45px auto 20px;max-width:600px}.photo{aspect-ratio:3/4;border-radius:48% 48% 3px 3px;background:#e4e7d8;border:8px solid #fdfbf5;outline:1px solid #b8bba4;display:grid;place-items:center;font:italic 19px 'Playfair Display',serif;color:#7c8667}.photo:nth-child(2){margin-top:45px;background:#d6dbc9}.rsvp .button{padding:16px 30px;border:1px solid #87916d;border-radius:35px;background:transparent;color:#5a6447;font-size:9px;letter-spacing:.15em}.footer{text-align:center;padding:60px 20px;background:#e6e8da}.footer .names{font-size:44px}.footer small{font-size:9px;letter-spacing:.12em}.reveal{opacity:0;transform:translateY(35px);transition:opacity 1.4s,transform 1.8s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:none}.replay{position:fixed;right:15px;bottom:15px;border:1px solid #afb69a;background:#f7f4e9dd;color:#50583d;border-radius:50%;width:36px;height:36px;z-index:5;font-size:23px}.ornament{display:none}@keyframes float{50%{transform:translateY(7px)}}@keyframes breathe{50%{box-shadow:inset 0 0 0 5px #b8996355,inset 0 0 0 7px #efd6a5aa,0 7px 30px #f2d8a83a}}@media(min-width:700px){.cover .door{background-size:200% auto;background-color:#637258}.cover-caption{top:12%}.hero{min-height:950px}.bot-left{left:calc(50% - 580px)}.bot-right{right:calc(50% - 580px)}}@media(max-width:600px){.split{grid-template-columns:1fr;gap:30px;padding:45px 45px}.section{padding:80px 28px}.countdown{gap:22px}.hero{min-height:850px;min-height:100svh}.cover-caption{top:15%}.cover-bottom{bottom:13%}.bot-left{width:290px;left:-135px;bottom:-25px}.bot-right{width:260px;right:-125px;top:-60px}.gallery{gap:16px}.photo{font-size:16px}.halo{height:70%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01s!important;transition-delay:0s!important;scroll-behavior:auto!important}}
