:root{--bg: #efe3d6;--paper: #f7ece1;--paper-2: #f1e1d1;--ink: #6b4a38;--ink-soft: #9a7a66;--gold: #b8936a;--line: #d9c0ab;--serif: "Cormorant Garamond", Georgia, serif;--script: "Pinyon Script", cursive}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-snap-type:y proximity}body{font-family:var(--serif);color:var(--ink);background:radial-gradient(circle at 50% 0%,#f6ebdf,var(--bg) 70%);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden;height:100svh}main{max-width:430px;margin:0 auto;background:var(--paper);box-shadow:0 0 60px #6b4a382e}.cover{position:fixed;inset:0;z-index:50;display:flex;justify-content:center;pointer-events:auto}.cover.open{pointer-events:none}.cover .frame{position:relative;width:100%;max-width:430px;height:100%;overflow:hidden}.door{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(180deg,#f8eee3,#efdfce);transition:transform 1.4s cubic-bezier(.7,0,.2,1)}.door.l{left:0;border-right:1px solid var(--line);box-shadow:inset -10px 0 20px #6b4a380f}.door.r{right:0;box-shadow:inset 10px 0 20px #6b4a380f}.door .florals-tl,.door .florals-br{width:150px}.door.l .florals-tl{left:-4px}.door.l .florals-br,.door.r .florals-tl{display:none}.door.r .florals-br{right:-4px}.cover.open .door.l{transform:translate(-102%)}.cover.open .door.r{transform:translate(102%)}.seal{display:grid;place-items:center;padding:0;line-height:1;position:absolute;left:50%;top:50%;translate:-50% -50%;width:100px;height:100px;border-radius:50%;border:0;cursor:pointer;background:radial-gradient(circle at 35% 30%,#fffaf3,#e4cdb8 70%);box-shadow:0 6px 16px #6b4a3859,inset 0 0 0 5px #fff6,inset 0 0 0 7px #b8936a80;font-family:var(--script);font-size:30px;color:var(--ink);transition:opacity .5s,scale .5s;animation:pulse 2.2s ease-in-out infinite}.seal .mono{display:block;transform:translate(-4px,3px);letter-spacing:0}.cover.open .seal{opacity:0;scale:1.4;animation:none}.hint{position:absolute;left:0;right:0;bottom:14%;text-align:center;letter-spacing:.3em;font-size:12px;text-transform:uppercase;color:var(--ink-soft);transition:opacity .4s}.cover.open .hint{opacity:0}@keyframes pulse{50%{scale:1.07}}.card{min-height:100svh;padding:22px 18px;display:flex;scroll-snap-align:start}.arch{position:relative;flex:1;overflow:hidden;border:1px solid var(--line);border-radius:200px 200px 22px 22px;background:linear-gradient(180deg,var(--paper),var(--paper-2));box-shadow:inset 0 0 0 6px var(--paper),inset 0 0 0 7px var(--line);display:flex;flex-direction:column}.florals-tl,.florals-br{position:absolute;width:150px;pointer-events:none;opacity:.95}.florals-tl{top:64px;left:-14px}.florals-br{bottom:28px;right:-6px;transform:rotate(180deg)}.florals{width:100%;height:auto;display:block}.inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:72px 34px 64px;gap:14px}.eyebrow{font-size:11px;letter-spacing:.38em;text-transform:uppercase;color:var(--gold)}h2{font-weight:500;font-size:30px;letter-spacing:.06em}.divider{width:70px;height:1px;background:var(--line);position:relative;margin:4px 0}.divider:after{content:"✦";position:absolute;left:50%;top:50%;translate:-50% -52%;background:var(--paper-2);padding:0 8px;font-size:10px;color:var(--gold)}.script{font-family:var(--script);font-size:54px;line-height:1.05;font-weight:400}.amp{font-family:var(--script);font-size:34px;color:var(--gold)}.lead{font-size:19px;line-height:1.5;color:var(--ink-soft);font-style:italic}p.small{font-size:15px;color:var(--ink-soft);line-height:1.5}.next{position:absolute;bottom:14px;left:0;right:0;z-index:3;text-align:center;text-decoration:none;color:var(--ink-soft);font-size:11px;letter-spacing:.3em;text-transform:uppercase}.next span{display:block;font-size:18px;animation:bob 1.6s ease-in-out infinite}@keyframes bob{50%{transform:translateY(4px)}}.big-date{display:grid;place-items:center;width:190px;height:230px;border:1px solid var(--line);border-radius:95px 95px 14px 14px;box-shadow:inset 0 0 0 5px var(--paper-2),inset 0 0 0 6px var(--line);background:#f9efe4}.big-date .m{font-size:12px;letter-spacing:.4em;color:var(--gold)}.big-date .d{font-size:78px;line-height:1;font-weight:500}.big-date .y{font-size:14px;letter-spacing:.4em;color:var(--ink-soft)}.pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:8px 24px;font-size:20px;background:#f9efe4;box-shadow:inset 0 0 0 3px var(--paper-2)}.count{display:flex;gap:16px}.count div{text-align:center;min-width:54px}.count b{display:block;font-size:38px;font-weight:500;line-height:1}.count small{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}.map{width:100%;height:190px;border:1px solid var(--line);border-radius:100px 100px 14px 14px;overflow:hidden;box-shadow:0 0 0 4px var(--paper-2),0 0 0 5px var(--line)}.map iframe{width:100%;height:100%;border:0;filter:sepia(.35) saturate(.8)}.btn{display:inline-block;text-decoration:none;cursor:pointer;border:1px solid var(--gold);background:linear-gradient(180deg,#c9a57d,#b8936a);color:#fffaf3;padding:12px 28px;border-radius:999px;font:600 14px var(--serif);letter-spacing:.18em;text-transform:uppercase;box-shadow:0 4px 10px #6b4a3840}.btn.ghost{background:transparent;color:var(--ink);box-shadow:none}.item{display:grid;gap:2px}.item .t{font-size:12px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase}.item .n{font-size:24px;font-weight:500}.item .d{font-size:15px;color:var(--ink-soft);font-style:italic}.list{display:grid;gap:14px;width:100%}.list .divider{margin:0 auto}form{display:grid;gap:12px;width:100%;text-align:left}label.f{display:grid;gap:4px;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}input[type=text],input[type=number],textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:8px 2px;font:19px var(--serif);color:var(--ink);outline:none;border-radius:0}input:focus,textarea:focus{border-bottom-color:var(--gold)}textarea{resize:none;height:56px}.choices{display:flex;gap:8px}.choices label{flex:1;text-align:center;border:1px solid var(--line);border-radius:999px;padding:9px 4px;font-size:15px;cursor:pointer;background:#f9efe4}.choices input{display:none}.choices input:checked+span,.choices label:has(input:checked){background:var(--gold);color:#fffaf3;border-color:var(--gold)}form .btn{width:100%;text-align:center;margin-top:4px}.reveal .inner>*{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s ease}.reveal.in .inner>*{opacity:1;transform:none}.reveal.in .inner>*:nth-child(2){transition-delay:.1s}.reveal.in .inner>*:nth-child(3){transition-delay:.2s}.reveal.in .inner>*:nth-child(4){transition-delay:.3s}.reveal.in .inner>*:nth-child(5){transition-delay:.4s}.reveal.in .inner>*:nth-child(n+6){transition-delay:.5s}@media(max-height:700px){.inner{padding-top:56px;gap:10px}.script{font-size:44px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
