@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700;800&family=Great+Vibes&display=swap');
:root{color-scheme:light;--sans:'DM Sans',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif;--script:'Great Vibes',cursive;--rose:#ae697e;--gold:#ae9162}
*{box-sizing:border-box}html,body{margin:0}body{background:radial-gradient(ellipse at 50% 0,#f6e9e6 0,#f0e5e1 44%,#dfd1ca 100%);font-family:var(--sans);color:#3d3440;overflow:hidden}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b28847;outline-offset:4px}p{line-height:1.7}figure{margin:0}img{display:block;max-width:100%}
.demo-toolbar{height:70px;display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:1040px;padding:0 24px;margin:auto;position:relative;z-index:30}.toolbar-brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:#5f3049}.brand-emblem{display:grid;place-items:center;width:37px;height:37px;border:1px solid #aa8793;border-radius:50%;font-family:var(--serif);font-size:15px;font-weight:700;letter-spacing:-.08em}.brand-name{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.brand-sub{display:block;color:#967582;font-size:10px;letter-spacing:.12em;font-weight:600;margin-top:3px}.toolbar-meta{display:flex;align-items:center;gap:10px}.sample-label{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#936f7c}.tier-tag{border:1px solid #d7bfa7;background:#fff9f5;border-radius:50px;color:#714354;padding:9px 14px;font-size:11px;letter-spacing:.08em;font-weight:800}.back-link{font-size:12px;font-weight:700;color:#75435a;text-decoration:none;border-bottom:1px solid currentColor;padding:5px 0}
.stage{height:calc(100dvh - 70px);display:grid;grid-template-columns:minmax(210px,300px) 400px minmax(210px,300px);align-items:center;justify-content:center;gap:36px;max-width:1080px;margin:auto;padding:0 20px 14px}.stage-aside{min-width:0;align-self:center}.stage-aside small{letter-spacing:.24em;font-weight:800;text-transform:uppercase;color:#9e6c80;font-size:10px}.stage-aside h1{font-family:var(--serif);font-size:clamp(39px,4.2vw,58px);line-height:.96;font-weight:500;margin:15px 0;color:#663a50}.stage-aside h1 em{display:block;font-weight:500;color:#b88e7e}.stage-aside p{font-size:13px;color:#786d70;max-width:240px}.feature-chips{display:flex;gap:7px;flex-wrap:wrap;margin:22px 0}.feature-chips span{padding:7px 9px;border-radius:100px;border:1px solid #d6beb9;color:#785766;font-size:10px;font-weight:700;background:#fff8f477}.hint{font-size:12px;line-height:1.7;color:#a08587}.hint strong{color:#773d59}.stage-right{text-align:left}.stage-right .tier-price{font-family:var(--serif);font-size:62px;color:#87546d}.stage-right .disclaimer{font-size:11px;line-height:1.65;color:#8d7d7e}.stage-right .step-bullet{display:flex;gap:9px;align-items:center;font-size:12px;margin:16px 0;color:#775c68}.stage-right .step-bullet b{display:grid;place-items:center;border:1px solid #bda39d;width:24px;height:24px;border-radius:50%;font-weight:600;font-size:11px}.stage-right .small-action{text-decoration:none;display:inline-block;background:#693d56;color:white;border-radius:100px;padding:12px 18px;font-size:11px;font-weight:700;letter-spacing:.08em;margin-top:14px}
.phone-frame{width:min(100%,400px);height:min(760px,calc(100dvh - 90px));min-height:510px;position:relative;background:#1f1720;border:7px solid #29252d;padding:5px;border-radius:47px;box-shadow:0 22px 70px #31232e50,0 0 0 1px #9d8d94,0 0 0 3px #eee5e8;justify-self:center;overflow:hidden}.phone-screen{height:100%;width:100%;position:relative;overflow:hidden;border-radius:35px;background:#fdf9f5}.phone-notch{position:absolute;top:10px;left:50%;width:99px;height:18px;transform:translateX(-50%);border-radius:15px;background:#251f27;z-index:22}.screen-content{height:100%;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#c8acb1 transparent}.screen-content::-webkit-scrollbar{width:3px}.screen-content::-webkit-scrollbar-thumb{background:#c8acb1}.inside-top{height:47px;position:absolute;left:0;right:0;top:0;z-index:18;display:flex;justify-content:space-between;align-items:flex-end;padding:0 21px 5px;pointer-events:none}.inside-top .small-monogram{font:700 12px var(--serif);color:#b19484;opacity:.8;letter-spacing:.14em}.inside-top .tools{pointer-events:auto;display:flex;gap:4px}.inside-top button{background:#fffcf0e8;backdrop-filter:blur(5px);border:1px solid #decdc1;color:#714056;border-radius:30px;padding:5px 7px;font-weight:800;font-size:9px;letter-spacing:.07em}.inside-top button.active{background:#70364f;color:#fff}.inside-top button[hidden]{display:none}
.cover{position:absolute;z-index:19;inset:0;overflow:hidden;transition:transform 850ms cubic-bezier(.7,0,.2,1),opacity 800ms ease;display:flex;align-items:center;justify-content:center;text-align:center}.phone-screen.is-open .cover{transform:translateY(-105%);opacity:0;pointer-events:none}.cover .cover-inner{padding:45px 22px;position:relative;z-index:2;width:100%}.cover .cover-ornament{font-size:30px;color:var(--gold);display:block;margin:24px 0}.cover .cover-kicker{text-transform:uppercase;letter-spacing:.28em;font-weight:700;font-size:10px}.cover h2{font:400 clamp(72px,16vw,100px)/.9 var(--script);margin:15px 0 0}.cover h2 small{font:600 38px/1 var(--serif);display:block;letter-spacing:.03em;margin-top:8px}.cover .cover-event{font:500 27px/1 var(--serif);margin:28px 0 12px;letter-spacing:.04em}.cover .cover-date{letter-spacing:.24em;text-transform:uppercase;font-size:10px;font-weight:700;margin:14px 0 28px}.open-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid currentColor;background:transparent;color:inherit;padding:15px 21px;min-width:210px;font-size:11px;text-transform:uppercase;letter-spacing:.17em;font-weight:800;border-radius:99px}.open-button:hover{transform:translateY(-2px)}
.cover-essential{background:radial-gradient(circle at center,#fffaf6 12%,#f7eae8 100%);color:#84576a;border:13px solid #f2d9d7}.cover-essential:before,.cover-essential:after{content:'';position:absolute;inset:19px;border:1px solid #c6a9a6;border-radius:160px 160px 8px 8px;pointer-events:none}.cover-essential:after{inset:25px;opacity:.45}.cover-essential h2{color:#985875}.cover-essential .cover-flower{position:absolute;color:#c8999b;font-size:75px;line-height:1;filter:opacity(.2);top:6%;left:-15px;transform:rotate(-20deg)}
.cover-plus{color:#6d364b;background:linear-gradient(#faeae8d9,#f5e5e4c9),url('../../assets/rose-ornament.webp') center/cover;box-shadow:inset 0 0 0 14px #f3ded6}.cover-plus:before{content:'';position:absolute;inset:24px;border:1px solid #a6767f;border-radius:170px 170px 7px 7px}.cover-plus .cover-inner{background:#fbeae3bb;border-radius:130px 130px 9px 9px;max-width:310px;min-height:75%;display:flex;flex-direction:column;align-items:center;justify-content:center}.cover-plus .cover-event{margin-bottom:0}.cover-plus h2{color:#8c315b}.cover-plus .open-button{background:#813e5d;color:white;border-color:#813e5d}
.cover-premium{background:linear-gradient(#1b0a13b9,#1b0911db),url('../../assets/premium-ballroom.webp') center/cover;color:#f0d3a0}.cover-premium:before{content:'';position:absolute;inset:18px;border:1px solid #c5a063;box-shadow:inset 0 0 0 5px #c29e5633}.cover-premium:after{content:'✦';position:absolute;top:53px;left:50%;transform:translateX(-50%);font-size:32px;color:#eac98e}.cover-premium h2{font-size:101px;color:#ffe5af;text-shadow:0 0 35px #ddb37388}.cover-premium .cover-event{color:#eed1a0;font-size:32px}.cover-premium .open-button{background:#c8aa75;color:#2a1722;border:0;box-shadow:0 0 25px #d0a5685e}.cover-premium .cover-inner{padding-top:80px}.cover-premium .cover-ornament{font-size:44px}
.screen-content{--bg:#fffcf9;--ink:#5f4250;--muted:#876e78;--line:#decac5;--highlight:#955b76;--card:#fcf1ef;background:var(--bg);color:var(--ink)}.tier-plus .screen-content{--bg:#fff7f5;--ink:#6d3c52;--muted:#956d7a;--line:#e3c8c8;--highlight:#8b425d;--card:#ffefeb}.tier-premium .screen-content{--bg:#230d1b;--ink:#f9e8cf;--muted:#cfb994;--line:#725943;--highlight:#f1cf91;--card:#321522}
.inv-section{position:relative;padding:75px 27px;min-height:390px;text-align:center;overflow:hidden}.inv-section:nth-of-type(1){padding-top:88px}.inv-section h2{font:500 42px/1.05 var(--serif);margin:8px 0 19px}.inv-section h2.script{font:400 67px/.9 var(--script)}.inv-section p{font-size:12px;line-height:1.9;margin:12px auto;max-width:305px}.inv-section .caps{font:800 9px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.23em;color:var(--highlight)}.inv-section .elegant{font:500 22px/1.3 var(--serif)}.section-ruled:before{content:'✦ ── ❦ ── ✦';font-size:15px;letter-spacing:6px;color:#be9f91;display:block;margin:0 auto 23px}.ornate-rule{font-size:17px;color:#cba477;letter-spacing:10px;margin:16px 0}.inv-hero{background:radial-gradient(circle at center,#fff7f3,#f7e7e2);color:#6c4257;min-height:650px;display:flex;align-items:center;justify-content:center;flex-direction:column}.inv-hero .hero-photo{width:209px;height:290px;object-fit:cover;object-position:center 19%;border:6px solid #fffdfb;box-shadow:0 7px 25px #9b697e39;border-radius:130px 130px 4px 4px;margin:19px auto}.inv-hero .hero-script{font:400 82px/.8 var(--script);color:#915676;margin:17px 0}.inv-hero .hero-subtitle{font:600 24px/1.2 var(--serif);margin:12px 0}.inv-hero .hero-date{font:800 10px var(--sans);letter-spacing:.2em;text-transform:uppercase;margin:10px 0}.inv-hero .flower-corner{position:absolute;width:150px;opacity:.32;pointer-events:none}.inv-hero .flower-corner.top{top:0;left:-35px;transform:rotate(-34deg)}.inv-hero .flower-corner.bottom{right:-32px;bottom:0;transform:rotate(149deg)}
.tier-essential .inv-hero{background:linear-gradient(150deg,#fff9f2,#f8e5e3)}.tier-plus .inv-hero{background:linear-gradient(180deg,#fff6f0,#f5d9df)}.tier-plus .inv-section:nth-of-type(2){background:#fff4f0}.tier-premium .inv-hero{background:linear-gradient(#2e0b1bd1,#290b1aec),url('../../assets/premium-ballroom.webp') center/cover;color:#f5dbaa;min-height:680px}.tier-premium .inv-hero .hero-photo{height:250px;width:190px;border:5px solid #c9ae7c;box-shadow:0 0 0 10px #dabd8f20,0 20px 30px #14060b}.tier-premium .inv-hero .hero-script{color:#f4d6ad;text-shadow:0 0 20px #d9a36d}.tier-premium .inv-hero .flower-corner{opacity:.5}
.info-card{padding:19px 16px;background:var(--card);border:1px solid var(--line);border-radius:9px;margin:18px auto;max-width:302px}.info-card h3{font:500 28px/1.1 var(--serif);margin:10px 0}.info-card p{margin:8px auto;font-size:11px}.location-icon{font-size:26px;color:var(--highlight)}.small-outline{display:inline-flex;border:1px solid var(--line);border-radius:30px;color:var(--ink);background:transparent;font-size:10px;letter-spacing:.13em;padding:12px 17px;font-weight:800;text-transform:uppercase}.small-outline:hover{background:var(--card)}.minor-note{font-size:10px!important;opacity:.7}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:23px auto 0;max-width:320px}.countdown .num{border:1px solid var(--line);background:var(--card);padding:12px 3px;border-radius:5px}.countdown strong{display:block;font:600 28px var(--serif)}.countdown span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:8px;font-weight:800;margin-top:7px}.timeline{max-width:280px;margin:28px auto;display:grid;gap:15px}.timeline .event{border-left:1px solid var(--highlight);padding:0 0 1px 19px;text-align:left;position:relative}.timeline .event:before{content:'';position:absolute;left:-4px;top:4px;width:7px;height:7px;background:var(--highlight);border-radius:50%}.timeline strong{font:600 19px var(--serif);display:block}.timeline span{font-size:10px;opacity:.8}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px auto;max-width:320px}.photo-grid img{height:180px;width:100%;object-fit:cover;border-radius:5px}.photo-grid img:first-child{height:270px;grid-row:span 2}.tier-plus .photo-grid img:first-child{object-position:51% 19%}.tier-premium .photo-grid img{border:1px solid #876c50}.photo-grid .gallery-tile{background:var(--card);border:1px solid var(--line);display:grid;place-items:center;font:italic 23px var(--serif);padding:10px;border-radius:4px}
.rsvp-form{max-width:320px;margin:18px auto;text-align:left;background:var(--card);padding:23px;border:1px solid var(--line);border-radius:8px}.rsvp-form label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;display:block;font-weight:800;margin:11px 0 5px}.rsvp-form input,.rsvp-form select{display:block;width:100%;border:1px solid var(--line);border-radius:5px;padding:11px;background:#fffaf8;color:#5d394c;font-size:12px}.rsvp-form .row{display:flex;align-items:center;gap:9px;margin:15px 0}.rsvp-form .row input{width:auto}.rsvp-form .row label{margin:0;letter-spacing:0;text-transform:none;font-size:11px}.rsvp-form button{width:100%;background:#7f4660;color:white;border:0;padding:14px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;margin-top:18px;border-radius:5px}.tier-premium .rsvp-form button{background:#be9a63;color:#27121a}.tier-premium .rsvp-form input,.tier-premium .rsvp-form select{background:#fff5e9}.rsvp-result{margin:15px auto;text-align:center;font-size:12px;line-height:1.7;border:1px solid var(--line);padding:15px;border-radius:8px;max-width:320px}.rsvp-result[hidden]{display:none}.guest-fields label{margin-top:12px}.guest-fields[hidden]{display:none}
.premium-inlay{background:linear-gradient(160deg,#4b1b31,#25101d);border-block:1px solid #ab8459}.premium-inlay:before,.premium-inlay:after{content:'✦';position:absolute;color:#b78f5a;font-size:40px;top:15px;left:14px}.premium-inlay:after{left:auto;right:14px}.premium-cinematic{background:linear-gradient(#15081088,#150810dd),url('../../assets/premium-ballroom.webp') center/cover;min-height:430px;display:flex;justify-content:center;flex-direction:column;color:#f7e3bc}.cinema-frame{height:156px;position:relative;margin:20px auto;width:100%;max-width:280px;border:1px solid #c6a570;box-shadow:0 0 0 6px #c3a37426;background:linear-gradient(#230a1570,#1f071495),url('../../assets/premium-ballroom.webp') center/cover;display:flex;align-items:center;justify-content:center}.cinema-frame>span{font-size:35px;border:1px solid #f1d3a3;border-radius:50%;width:66px;height:66px;display:grid;place-items:center;padding-left:5px}.ticket{position:relative;border:1px solid #c7aa76;max-width:310px;background:linear-gradient(145deg,#553447,#301627);margin:25px auto;padding:21px;color:#f0d7af}.ticket:before{content:'✦';position:absolute;left:9px;top:9px;color:#d6b179}.ticket small{display:block;letter-spacing:.22em;font-size:9px}.ticket strong{font:500 33px var(--serif);display:block;margin:9px}.fake-qr{height:86px;width:86px;display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:4px;background:#f7e9d3;margin:14px auto}.fake-qr i{background:#38232b}.fake-qr i:nth-child(4n),.fake-qr i:nth-child(9n),.fake-qr i:nth-child(13n){background:transparent}.sparkle{position:absolute;border-radius:50%;background:#f2d0a0;box-shadow:0 0 10px #edc48c;animation:glimmer 4s ease-in-out infinite;pointer-events:none;opacity:.7}.sparkle.a{width:3px;height:3px;top:20%;left:11%}.sparkle.b{width:4px;height:4px;top:30%;right:10%;animation-delay:1.1s}.sparkle.c{width:3px;height:3px;bottom:19%;left:20%;animation-delay:1.8s}@keyframes glimmer{0%,100%{opacity:.2;transform:translateY(0)}45%{opacity:.95;transform:translateY(-12px)}}
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}[data-reveal].visible{opacity:1;transform:translateY(0)}.demo-bottom{padding:32px 25px 55px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-align:center;opacity:.7}.notice-layer{position:absolute;inset:0;z-index:25;display:none;align-items:center;justify-content:center;padding:25px;background:#2f1028cc}.notice-layer.open{display:flex}.notice-panel{padding:30px 22px;background:#fff9f4;box-shadow:0 16px 50px #2110204d;border-radius:8px;text-align:center;color:#673b53;max-width:300px}.notice-panel h3{font:500 32px/1 var(--serif);margin:7px 0 15px}.notice-panel p{font-size:12px;line-height:1.75}.notice-panel button{padding:13px 28px;border:0;background:#793f5a;color:white;border-radius:50px;font-size:11px;font-weight:700;margin-top:8px}
@media (max-width:1020px){.stage{grid-template-columns:1fr 400px;gap:28px;max-width:790px}.stage-right{display:none}}@media (max-width:680px){body{background:#fff8f4}.demo-toolbar{height:50px;background:#faf0eae6;border-bottom:1px solid #dbc7c0;padding:0 14px}.brand-emblem{height:29px;width:29px;font-size:12px}.brand-name{font-size:10px}.brand-sub{display:none}.sample-label{display:none}.tier-tag{font-size:9px;padding:7px 9px}.back-link{font-size:10px}.stage{display:block;height:calc(100dvh - 50px);padding:0;max-width:none}.stage-aside,.stage-right{display:none}.phone-frame{width:100%;height:100%;max-height:none;min-height:0;border:0;padding:0;border-radius:0;box-shadow:none}.phone-screen{border-radius:0}.phone-notch{display:none}.screen-content{overscroll-behavior:auto}.inside-top{padding-top:6px;align-items:center;height:35px;position:sticky;z-index:18;background:linear-gradient(#fff5f09c,transparent)}.tier-premium .inside-top{background:linear-gradient(#2c1226b8,transparent)}.inv-section{min-height:calc(100dvh - 50px)}.cover{position:absolute}.cover h2{font-size:95px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}}
