:root{--ink:#192d3d;--cream:#fff7e5;--peach:#f5c6a5;--coral:#a44031;--mint:#dce7cd;--gold:#dcb887}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--ink);color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif}.symbols{position:absolute;width:0;height:0;overflow:hidden}.garden{position:fixed;inset:0;background:linear-gradient(0deg,rgba(15,33,44,.22),rgba(15,33,44,.08)),url('assets/enchanted-garden.png') center/cover no-repeat;z-index:-2}.garden:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 150px #09182655}header{display:flex;align-items:center;justify-content:space-between;padding:24px 4.2%;color:var(--cream);background:linear-gradient(#142639cc,transparent)}.wordmark{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:25px;letter-spacing:.025em}.wordmark svg{width:40px;height:35px}.header-note{font-size:17px;font-style:italic}.header-note span{padding-left:20px;font-size:25px}main{position:relative;max-width:1380px;margin:14px auto 60px;padding:0 6%;display:grid;grid-template-columns:1fr 1fr;gap:28px 80px;align-items:center}main>.eyebrow{grid-column:1/-1;justify-content:center;margin:8px 0;color:var(--cream);text-shadow:0 2px 10px #101e28}.eyebrow{display:flex;align-items:center;gap:18px;letter-spacing:.22em;font:10px/1.6 Georgia,serif}.eyebrow>span{height:1px;width:45px;background:currentColor}.panel{position:relative;box-shadow:0 24px 55px #07121c66,0 3px 9px #0a131f33;border:1px solid var(--gold)}.panel:before{content:"";position:absolute;inset:10px;border:1px solid currentColor;opacity:.3;pointer-events:none;border-radius:inherit}.hero{grid-column:1/-1;justify-self:center;text-align:center;width:min(620px,100%);padding:72px 48px 64px;background:#fff7e5f5;border-radius:160px 160px 14px 14px;animation:arrive 1.2s ease both}.brand{font-family:'Great Vibes',cursive;font-size:37px;color:var(--coral);margin:5px 0 22px}h1{font-weight:500;font-size:clamp(54px,5.9vw,86px);line-height:.97;letter-spacing:-.045em;margin:0}h1 em{font-weight:400;color:var(--coral)}.intro{font-size:20px;line-height:1.4;margin:27px 0 26px}.invite{display:inline-flex;gap:30px;align-items:center;text-decoration:none;background:var(--ink);color:var(--cream);font-size:17px;padding:14px 23px;border:1px solid var(--ink);transition:background .2s,transform .2s}.invite:hover{background:#304d5c;transform:translateY(-2px)}.invite:focus-visible,.wordmark:focus-visible{outline:3px solid var(--coral);outline-offset:6px}.ornament{position:absolute;width:190px;height:44px;left:50%;transform:translateX(-50%);color:var(--coral);pointer-events:none}.ornament.top{top:18px}.ornament.bottom{bottom:13px;transform:translateX(-50%) rotate(180deg)}.little-note{position:absolute;top:290px;left:3%;width:220px;text-align:center;padding:30px 20px 22px;background:var(--ink);color:var(--peach);transform:rotate(-7deg);animation:float-note 7s ease-in-out infinite}.little-note>svg{width:65px;height:53px}.little-note p{font-size:29px;line-height:1.08;margin:10px 0 18px}.little-note em{color:var(--mint)}.tiny-star{font-size:17px}.welcome{grid-column:1/-1;justify-self:end;margin-top:-78px;margin-right:1%;width:440px;max-width:100%;padding:65px 35px 57px;background:#192d3df7;color:var(--cream);text-align:center;transform:rotate(3deg);animation:arrive 1.5s ease both}.welcome .ornament{color:var(--gold)}.welcome .eyebrow{display:block;font-size:9px;color:var(--peach);margin:0 0 19px}.welcome h2{margin:0;font-size:35px;font-weight:400;line-height:1.1}.welcome h2 span{display:block;font:68px/1.2 'Great Vibes',cursive;color:var(--peach);margin-top:3px}.welcome p:not(.eyebrow){font-size:19px;line-height:1.45;margin:17px 0}.signature{font-size:16px;font-style:italic;color:var(--mint)}.signature span{margin-left:8px}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:27px 4.2%;color:var(--cream);background:#152837e8;border-top:1px solid #dec29a55}footer span:first-child{font:10px Georgia,serif;letter-spacing:.2em}footer span:nth-child(2){font-size:17px;font-style:italic}.stardust{pointer-events:none;position:fixed;inset:0;z-index:-1;color:#fff6cd}.stardust i{position:absolute;font-style:normal;animation:twinkle 5s ease-in-out infinite;font-size:25px}.stardust i:nth-child(1){top:21%;left:19%}.stardust i:nth-child(2){top:69%;left:14%;animation-delay:1s;font-size:14px}.stardust i:nth-child(3){top:33%;right:12%;animation-delay:2s}.stardust i:nth-child(4){top:77%;right:23%;animation-delay:3s;font-size:17px}.stardust i:nth-child(5){top:14%;right:26%;animation-delay:1.5s}.stardust i:nth-child(6){top:84%;left:40%;animation-delay:2.5s}@keyframes arrive{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes float-note{0%,100%{translate:0 0}50%{translate:0 -12px}}@keyframes twinkle{0%,100%{opacity:.3;translate:0 4px}50%{opacity:1;translate:0 -5px}}@media(min-width:1600px){main{margin-top:30px;margin-bottom:75px}.hero{width:650px}h1{font-size:92px}.little-note{left:1%;top:330px}}@media(max-width:1000px){main{gap:24px;padding:0 5%}.hero{width:570px}.little-note{width:170px;left:2%;top:335px;padding:26px 15px}.little-note p{font-size:24px}.welcome{margin-right:0;width:395px;margin-top:-30px}}@media(max-width:700px){header{padding:20px 6%}.wordmark{font-size:23px}.wordmark svg{width:32px}.header-note{display:none}.garden{background-position:48% center}main{display:flex;flex-direction:column;margin-top:12px;margin-bottom:36px;padding:0 6%;gap:25px}main>.eyebrow{font-size:8px;gap:10px;margin:9px 0 3px}.eyebrow>span{width:22px}.hero{padding:65px 23px 63px;border-radius:130px 130px 12px 12px}.brand{font-size:33px;margin-bottom:19px}h1{font-size:clamp(52px,13vw,76px)}.intro{font-size:18px}.little-note{position:relative;top:auto;left:auto;align-self:flex-start;width:185px;margin:1px 0 3px 10px;transform:rotate(-5deg)}.little-note p{font-size:26px}.welcome{align-self:flex-end;margin:0;transform:rotate(1.5deg);padding:60px 22px 54px;width:100%}.welcome h2 span{font-size:63px}footer{flex-wrap:wrap;padding:23px 6%;gap:14px}footer span:nth-child(2){font-size:15px}footer span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
