:root{--wine:#54203f;--plum:#3b112d;--lilac:#d9bfd2;--gold:#ba8b36;--cream:#faf7f2;--ink:#4a3340}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Montserrat,sans-serif;font-size:14px}.envelope-screen{min-height:100svh;display:grid;place-items:center;padding:24px;background:linear-gradient(125deg,rgba(49,12,38,.68),rgba(84,32,63,.4)),url('floral.jpeg') center/cover}.envelope-card{width:min(490px,100%);min-height:530px;padding:70px 32px 42px;text-align:center;display:flex;flex-direction:column;justify-content:center;border:1px solid rgba(255,255,255,.65);background:rgba(255,253,250,.9);box-shadow:0 22px 65px #1e06184d;position:relative}.envelope-card:before,.envelope-card:after{content:"";position:absolute;inset:14px;border:1px solid #c6a35f80;pointer-events:none}.envelope-card:after{inset:auto 52px 26px;height:1px;background:#c6a35f}.wings{color:var(--gold);font-size:44px;margin-bottom:24px}.eyebrow{margin:0 0 16px;color:var(--gold);font-size:10px;letter-spacing:3px;font-weight:600}.envelope-card h1,.hero h1,.closing h2{font:500 clamp(52px,12vw,83px)/.92 'Great Vibes',cursive;color:var(--wine);margin:0}.envelope-card h1 span,.hero h1 em,.closing em{font-style:normal;color:var(--gold);font-size:.65em}.to{margin:50px 0 23px;line-height:1.8;font-size:12px}.to strong{font-size:16px}.gold-button,.outline-button{border:0;cursor:pointer;align-self:center;padding:15px 24px;color:#fff;background:linear-gradient(110deg,#a87826,#d3ae66,#9c7028);font:600 11px Montserrat,sans-serif;letter-spacing:1.2px;text-transform:uppercase;transition:.25s}.gold-button:hover{transform:translateY(-2px);filter:brightness(1.06)}.gold-button i{font-size:18px;font-style:normal;margin-left:10px}.hero{min-height:100svh;position:relative;display:grid;place-items:center;text-align:center;color:white;background:url('hero.jpeg') center 25%/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#26061887,#26061830 45%,#260618a8)}.hero-content{z-index:1;padding:30px;display:flex;flex-direction:column;align-items:center}.hero .eyebrow{color:#fff}.hero h1{font-size:clamp(58px,13vw,100px);color:white;text-shadow:0 3px 22px #2205189b}.hero-date{letter-spacing:2px;margin:32px 0;font-size:11px}.scroll-hint{position:absolute;bottom:35px;font-size:8px;letter-spacing:2px}.scroll-hint span{display:block;font-size:20px;margin-top:8px}.section{padding:78px max(24px,7vw);text-align:center}.intro{background:radial-gradient(circle at 0 30%,#eddfe9 0,transparent 31%),#fff}.section h2{margin:0 0 14px;font:600 clamp(36px,7vw,52px)/1.05 'Cormorant Garamond',serif;color:var(--wine)}.copy{max-width:560px;margin:0 auto 37px;line-height:1.9;font-size:12px}.couple{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(13px,4vw,48px);max-width:870px;margin:auto;align-items:center}.couple article{font-size:11px;line-height:1.8}.couple img{width:min(100%,250px);aspect-ratio:1/1.2;object-fit:cover;object-position:top;border-radius:130px 130px 0 0;border:8px solid white;box-shadow:0 8px 30px #5b1c3d1c}.couple h2{font-size:27px;margin:21px 0 9px}.ampersand{font:50px 'Great Vibes',cursive;color:var(--gold)}.event{padding-top:40px;padding-bottom:40px;background:linear-gradient(135deg,#4c183c,#240b26);background-attachment:fixed}.event-card{max-width:650px;margin:auto;padding:54px 28px;color:#fff;border:1px solid #e2c68190;background:#ffffff0b}.event-card h2{color:#f7e5ce}.date-line{display:flex;justify-content:center;align-items:center;gap:14px;font-size:10px;letter-spacing:1px}.date-line strong{font:600 55px/1 'Cormorant Garamond',serif;color:#e5bd70}.divider{color:var(--gold);margin:21px}.time{font-size:17px;letter-spacing:2px;color:#e8c886}.event-card span{font-size:10px}.outline-button{display:inline-block;margin-top:25px;text-decoration:none;background:transparent;border:1px solid #d6ae61;color:#fff}.rsvp{background:radial-gradient(circle at 100% 0,#ead9e6,transparent 32%),#fff}.attendance{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:28px 0}.attendance button{background:#fff;border:1px solid #d9c3cf;color:var(--wine);padding:13px 17px;cursor:pointer;font:500 11px Montserrat,sans-serif}.attendance button.active{background:var(--wine);border-color:var(--wine);color:#fff}.form-fields{max-width:480px;margin:auto;text-align:left}.form-fields label{display:block;margin:14px 0;color:var(--wine);font-size:11px;font-weight:600}.form-fields small{font-weight:400}input,select,textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #ddcfda;background:#fdfafc;color:var(--ink);font:13px Montserrat,sans-serif}textarea{height:85px;resize:vertical}.submit{display:block;margin:27px auto 0}.result-card{max-width:430px;margin:33px auto 0;padding:28px;background:#fbf5ee;border:1px solid #e1c284}.result-card h3{font:600 31px 'Cormorant Garamond',serif;color:var(--wine);margin:0 0 10px}.result-card img{display:block;width:200px;height:200px;margin:18px auto}.result-card code{padding:7px 9px;background:#fff;letter-spacing:1px}.bank{margin:18px 0;padding:13px;background:#fff;border-left:3px solid var(--gold);font-size:12px;line-height:1.7}.closing{min-height:330px;display:grid;place-items:center;text-align:center;color:white;background:linear-gradient(#3611299e,#3611299e),url('couple-3.jpeg') center/cover}.closing h2{color:#fff}.closing .eyebrow{color:#efcc8f}.music-button{position:fixed;right:18px;bottom:18px;width:42px;height:42px;border-radius:50%;border:1px solid #d8b46a;color:#fff;background:var(--wine);font-size:19px;z-index:3}.scanner-page{min-height:100svh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#3b112d,#7d3d67)}.scanner{width:min(530px,100%);padding:38px 25px;text-align:center;background:#fffcfa;border:1px solid #e6c980;box-shadow:0 18px 50px #1d06247d}.scanner h1{font:600 42px 'Cormorant Garamond',serif;color:var(--wine);margin:0}.scanner>p:not(.eyebrow){font-size:11px;margin:9px 0 24px}.scanner #reader{overflow:hidden;border:0!important}.manual{display:flex;gap:8px;margin-top:15px}.manual input{margin:0}.checkin-card{margin-top:22px;padding:23px;background:#faf3eb}.checkin-card h2{font:600 26px 'Cormorant Garamond',serif;color:var(--wine);margin:0}.badge{width:142px;height:142px;border-radius:50%;display:grid;place-items:center;margin:15px auto;color:#fff;font:600 68px/1 'Cormorant Garamond',serif;box-shadow:inset 0 0 0 7px #ffffff70,0 8px 20px #0002}.badge small{display:block;font:8px Montserrat,sans-serif;letter-spacing:1px}.color-1{background:#bf2535}.color-2{background:#e78021}.color-3{background:#d5b329}.color-4{background:#419253}.color-5{background:#3376b8}.color-6{background:#d35c8d}.color-7{background:#5c3775}.color-8{background:#ab8ccb}.color-9{background:#be943c}.color-10{background:#81502f}@media(max-width:560px){.envelope-card{min-height:480px}.section{padding:60px 20px}.couple{gap:9px}.couple img{border-width:4px}.couple h2{font-size:22px}.couple article{font-size:9px}.ampersand{font-size:37px}.event-card{padding:44px 17px}.manual{flex-direction:column}.manual .gold-button{width:100%}}
