:root{--bg:#123f33;--bg2:#082a22;--ink:#fbf3df;--accent:#d8bd81;--paper:#f6efdf;--dark:#153c32;--serif:Georgia,'Times New Roman',serif;--sans:Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg2);font-family:var(--sans)}button,a{font:inherit}.invite{width:min(100%,520px);margin:auto;overflow:hidden;background:linear-gradient(180deg,var(--bg),var(--bg2));box-shadow:0 0 80px rgba(0,0,0,.28)}.panel{position:relative;display:flex;min-height:100svh;padding:72px 30px;align-items:center;flex-direction:column;justify-content:center;text-align:center;border-bottom:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.panel::before{content:'';position:absolute;inset:20px;border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:100px 100px 28px 28px;pointer-events:none}.kicker{margin:0 0 22px;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.25em}.ornament{display:grid;place-items:center;width:45px;height:45px;margin-bottom:24px;border:1px solid var(--accent);border-radius:50%;color:var(--accent)}h1,h2,h3{font-family:var(--serif)}h1{display:grid;gap:6px;margin:0;font-size:clamp(56px,19vw,92px);font-weight:400;line-height:.84}h1 small,h2 small{color:var(--accent);font-size:.34em;font-style:italic;font-weight:400}h2{max-width:420px;margin:0 0 18px;font-size:clamp(35px,10vw,54px);font-weight:400;line-height:1}.hero{min-height:100svh;padding-top:max(92px,env(safe-area-inset-top))}.hero-copy{max-width:360px;margin:30px auto;color:color-mix(in srgb,var(--ink) 80%,transparent);font:italic 18px/1.5 var(--serif)}.hero-date{display:grid;gap:7px;padding:16px 26px;border-block:1px solid var(--accent);text-transform:uppercase}.hero-date strong{font:400 21px var(--serif)}.hero-date span{color:var(--accent);font-size:10px;letter-spacing:.18em}.scroll-cue{position:absolute;bottom:34px;display:flex;gap:10px;align-items:center;color:color-mix(in srgb,var(--ink) 65%,transparent);font-size:11px;text-decoration:none}.scroll-cue i{color:var(--accent);font-size:18px}.countdown{display:grid;width:100%;grid-template-columns:repeat(4,1fr);margin-bottom:40px}.countdown p{display:grid;gap:4px;margin:0;border-right:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}.countdown p:last-child{border:0}.countdown b{font:400 31px var(--serif)}.countdown span{font-size:9px;opacity:.65}.couple-photo,.venue figure,.look{width:100%;margin:0 0 34px;overflow:hidden;border-radius:160px 160px 28px 28px;border:1px solid var(--accent)}.couple-photo img,.venue img,.look img{display:block;width:100%;height:100%;object-fit:cover}.couple-photo{height:430px}.welcome>p:last-child,.dress>p,.rsvp>p{max-width:380px;margin:0;color:color-mix(in srgb,var(--ink) 76%,transparent);font:italic 17px/1.55 var(--serif)}.venue figure{height:340px;border-radius:26px;margin-top:24px}.venue>p:not(.kicker){margin:0 0 4px;opacity:.72}.button{display:flex;min-height:56px;width:min(100%,350px);align-items:center;justify-content:center;padding:14px 24px;border:1px solid var(--accent);border-radius:999px;color:var(--dark);background:var(--paper);font-weight:800;text-decoration:none;cursor:pointer}.schedule ol{width:100%;margin:20px 0 0;padding:0;list-style:none}.schedule li{display:grid;grid-template-columns:82px 1fr;align-items:start;padding:22px 2px;border-bottom:1px solid color-mix(in srgb,var(--accent) 28%,transparent);text-align:left}.schedule time{color:var(--accent);font:400 23px var(--serif)}.schedule li span{display:grid;gap:5px}.schedule li b{font:400 21px var(--serif)}.schedule li small{opacity:.62;line-height:1.4}.palette{display:flex;gap:12px;margin:28px 0}.palette i{width:38px;height:38px;border:2px solid color-mix(in srgb,var(--ink) 60%,transparent);border-radius:50%;background:#5c0d1d}.palette i:nth-child(2){background:#a77a7c}.palette i:nth-child(3){background:#d7b47c}.palette i:nth-child(4){background:#efe3c4}.palette i:nth-child(5){background:#2f3433}.dress-switch{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:16px;padding:5px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:99px}.dress-switch button{height:46px;border:0;border-radius:99px;color:var(--ink);background:transparent;font-weight:800}.dress-switch button.active{color:var(--dark);background:var(--paper)}.look{height:500px;border-radius:28px;background:var(--paper)}.look img{height:445px}.look figcaption{display:grid;height:55px;place-items:center;color:var(--dark);font-size:11px;font-weight:800}.detail-grid{display:grid;gap:14px;width:100%}.detail-grid article{padding:28px 24px;border:1px solid color-mix(in srgb,var(--accent) 36%,transparent);border-radius:26px;text-align:left;background:color-mix(in srgb,var(--ink) 6%,transparent)}.detail-grid span{display:grid;width:46px;height:46px;margin-bottom:18px;place-items:center;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font:700 14px var(--serif)}.detail-grid h3{margin:0 0 9px;font-size:24px}.detail-grid p{margin:0;opacity:.7;line-height:1.5}.rsvp .button{margin-top:32px}.end{gap:20px}.end>p{margin:0;color:var(--accent);font:italic 22px var(--serif)}.end h2{display:grid;gap:5px;font-size:49px}.modal{position:fixed;z-index:10;inset:0;display:grid;padding:18px;place-items:end center;background:rgba(2,18,14,.7);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:.2s}.modal.open{opacity:1;visibility:visible}.dialog{position:relative;width:min(100%,500px);padding:33px 24px calc(24px + env(safe-area-inset-bottom));border-radius:30px 30px 0 0;color:var(--dark);background:var(--paper);transform:translateY(30px);transition:.2s}.modal.open .dialog{transform:none}.dialog h2{margin-bottom:24px}.dialog label{display:grid;gap:8px;margin:13px 0;font-weight:700}.dialog input:not([type=radio]),.dialog select{width:100%;height:52px;padding:0 14px;border:1px solid #bfc9c2;border-radius:14px;background:#fff}.dialog fieldset{margin:0 0 16px;padding:16px;border:1px solid #c8d1cb;border-radius:16px}.dialog fieldset label{display:flex}.dialog .button{width:100%;color:#fff;background:var(--dark)}.close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:0;border-radius:50%;background:#fff;font-size:24px}.privacy{margin:12px 0 0;color:#6a766f;font-size:10px;text-align:center}
body[data-theme="velvet"]{--bg:#71142c;--bg2:#260c17;--accent:#ebca8d;--paper:#fbf0d7;--dark:#4b1020}body[data-theme="silk"]{--bg:#f0dcda;--bg2:#c9aaa4;--ink:#54453f;--accent:#9b746b;--paper:#fffaf5;--dark:#604c45}body[data-theme="moon"]{--bg:#273755;--bg2:#0a1428;--accent:#d6d3c9;--paper:#f3f1ec;--dark:#22314d}body[data-theme="estate"]{--bg:#64725b;--bg2:#263d34;--accent:#e4d5a3;--paper:#f5efdf;--dark:#33483d}body[data-theme="editorial"]{--bg:#474843;--bg2:#171d1b;--accent:#e5c98f;--paper:#f4eddd;--dark:#303632}body[data-theme="editorial"] h1,body[data-theme="editorial"] h2{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:-.06em}body[data-theme="editorial"] .panel::before{border-radius:4px}
/* Six deliberately different visual systems share the same accessible content structure. */
body[data-theme="sacred"] .panel{background:radial-gradient(circle at 50% -10%,rgba(216,189,129,.13),transparent 32%)}
body[data-theme="sacred"] .hero::after{content:'◇';position:absolute;top:18%;left:50%;color:var(--accent);font:28px var(--serif);opacity:.45;transform:translateX(-50%)}
body[data-theme="velvet"] .panel{background:linear-gradient(145deg,rgba(255,255,255,.025),transparent 48%),radial-gradient(circle at 100% 0,rgba(235,202,141,.12),transparent 36%)}
body[data-theme="velvet"] .panel::before{inset:16px;border-width:1px 1px 3px;border-radius:24px}
body[data-theme="velvet"] h1,body[data-theme="velvet"] h2{font-style:italic;text-shadow:0 10px 34px rgba(0,0,0,.25)}
body[data-theme="velvet"] .ornament{transform:rotate(45deg);border-radius:9px}body[data-theme="velvet"] .ornament::first-letter{display:inline-block;transform:rotate(-45deg)}
body[data-theme="silk"] .panel{justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,.34),transparent 46%),radial-gradient(circle at 15% 15%,rgba(255,255,255,.4),transparent 28%)}
body[data-theme="silk"] .panel::before{inset:14px 22px;border-radius:48% 48% 28px 28px;opacity:.7}
body[data-theme="silk"] h1{gap:12px;line-height:.9}body[data-theme="silk"] .kicker{letter-spacing:.32em}body[data-theme="silk"] .couple-photo{border-radius:260px}
body[data-theme="moon"] .panel{background:radial-gradient(circle at 50% 14%,rgba(214,211,201,.12) 0 1px,transparent 2px),radial-gradient(circle at 18% 28%,rgba(214,211,201,.16) 0 1px,transparent 2px),radial-gradient(circle at 80% 36%,rgba(214,211,201,.12) 0 1px,transparent 2px),radial-gradient(circle at 50% 40%,rgba(64,83,122,.2),transparent 52%);background-size:77px 83px,113px 97px,139px 127px,auto}
body[data-theme="moon"] .panel::before{inset:18px;border-radius:260px 260px 30px 30px}body[data-theme="moon"] h1,body[data-theme="moon"] h2{letter-spacing:.015em}body[data-theme="moon"] .ornament{border-style:dashed}
body[data-theme="estate"] .panel{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),radial-gradient(ellipse at 0 100%,rgba(228,213,163,.12),transparent 32%)}
body[data-theme="estate"] .panel::before{inset:24px 18px;border-radius:130px 18px 130px 18px}body[data-theme="estate"] .couple-photo,body[data-theme="estate"] .venue figure{border-radius:18px 130px 18px 130px}body[data-theme="estate"] h1{font-size:clamp(52px,17vw,84px)}
body[data-theme="editorial"] .panel{align-items:flex-start;padding-inline:36px;text-align:left;background:linear-gradient(90deg,rgba(229,201,143,.08) 0 1px,transparent 1px);background-size:25% 100%}
body[data-theme="editorial"] .panel::before{inset:16px;border-radius:4px}body[data-theme="editorial"] .ornament{border-radius:4px}body[data-theme="editorial"] h1{gap:0;font-size:clamp(46px,15vw,76px);line-height:.88}body[data-theme="editorial"] .scroll-cue{align-self:center}body[data-theme="editorial"] .countdown,body[data-theme="editorial"] .detail-grid,body[data-theme="editorial"] .dress-switch,body[data-theme="editorial"] .look,body[data-theme="editorial"] .schedule ol{align-self:stretch}
.scroll-cue{bottom:22px;min-height:44px;padding:10px 14px}
.look{position:relative;height:auto}.look img{height:auto;aspect-ratio:614/1024;object-fit:contain;object-position:center;background:var(--paper)}.look figcaption{display:grid;grid-template-columns:44px 1fr 44px;height:55px;align-items:center;padding:5px 8px}.look figcaption button{display:grid;width:44px;height:44px;place-items:center;padding:0;border:0;border-radius:50%;color:var(--dark);background:transparent;font:34px/1 var(--serif);cursor:pointer}.look figcaption span{font-size:11px;font-weight:900;text-align:center}.dialog{max-height:calc(100svh - 18px);overflow:auto;overscroll-behavior:contain}.dialog input[type=radio]{width:22px;height:22px}.dialog fieldset label{min-height:44px;align-items:center}.close{width:44px;height:44px}.companion-label{animation:field-in .18s ease both}@keyframes field-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(min-width:700px){body{padding:34px 0}.invite{border-radius:45px}.panel{min-height:780px}.modal{place-items:center}.dialog{border-radius:30px}}
@media(max-width:360px){.panel{padding-inline:22px}.panel::before{inset:12px}.countdown b{font-size:26px}.countdown span{font-size:8px}.palette{gap:7px}.palette i{width:34px;height:34px}}

/* 2026 author collection — the content stays accessible, the art direction changes completely. */
.invite{isolation:isolate}
.panel{overflow:hidden}
.panel>*{z-index:2}
.panel::after{content:'';position:absolute;z-index:0;pointer-events:none}
.hero h1 span{overflow-wrap:anywhere}

/* 01 · Sacred Garden — deep emerald, aged gold and botanical arches. */
body[data-theme="sacred"]{--bg:#17493b;--bg2:#061f19;--ink:#fff4db;--accent:#dfc174;--paper:#fbf2df;--dark:#113c31}
body[data-theme="sacred"] .panel::before{inset:19px;border-radius:220px 220px 26px 26px;border-color:rgba(223,193,116,.46)}
body[data-theme="sacred"] .panel::after{right:-90px;bottom:-70px;width:230px;height:230px;border:1px solid rgba(223,193,116,.2);border-radius:50%;box-shadow:-440px -580px 0 -1px transparent}
body[data-theme="sacred"] .hero{background:radial-gradient(circle at 50% 23%,rgba(223,193,116,.17),transparent 24%),linear-gradient(180deg,#17493b,#0a2b23)}
body[data-theme="sacred"] .hero .ornament{border-style:double}
body[data-theme="sacred"] .hero h1{font-size:clamp(58px,19vw,94px);line-height:.82}
body[data-theme="sacred"] .couple-photo{border-radius:260px 260px 30px 30px}
body[data-theme="sacred"] .detail-grid article{border-radius:80px 18px 80px 18px}

/* 02 · Velvet Nocturne — cinematic oxblood and geometric art deco. */
body[data-theme="velvet"]{--bg:#76142f;--bg2:#250811;--ink:#fff0d5;--accent:#efcd91;--paper:#fff1d5;--dark:#511126}
body[data-theme="velvet"] .panel{background:radial-gradient(circle at 92% 3%,rgba(173,46,80,.5),transparent 30%),linear-gradient(160deg,rgba(255,255,255,.025),transparent 44%)}
body[data-theme="velvet"] .panel::before{inset:18px;border-radius:24px;clip-path:polygon(50% 0,100% 8%,100% 92%,50% 100%,0 92%,0 8%)}
body[data-theme="velvet"] .panel::after{top:50%;left:50%;width:340px;height:340px;border:1px solid rgba(239,205,145,.1);transform:translate(-50%,-50%) rotate(45deg)}
body[data-theme="velvet"] .hero .ornament{border-radius:7px;transform:rotate(45deg)}
body[data-theme="velvet"] .hero h1{font-style:italic;line-height:.88;text-shadow:0 18px 48px rgba(0,0,0,.42)}
body[data-theme="velvet"] .hero-date{border:1px solid var(--accent);clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px)}
body[data-theme="velvet"] .couple-photo,body[data-theme="velvet"] .venue figure,body[data-theme="velvet"] .look{border-radius:24px}
body[data-theme="velvet"] .detail-grid article{border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.06),transparent)}

/* 03 · Airy Silk — warm pearl, powder and flowing organza. */
body[data-theme="silk"]{--bg:#f3e3df;--bg2:#d4b9b3;--ink:#51423d;--accent:#966e64;--paper:#fffaf3;--dark:#614d46}
body[data-theme="silk"] .invite{background:linear-gradient(180deg,#fffaf5,#dcc3bd)}
body[data-theme="silk"] .panel{background:radial-gradient(ellipse at -24% 10%,rgba(255,255,255,.95),transparent 44%),radial-gradient(ellipse at 124% 78%,rgba(255,255,255,.48),transparent 50%)}
body[data-theme="silk"] .panel::before{inset:17px 23px;border-radius:52% 52% 30px 30px;border-color:rgba(150,110,100,.28)}
body[data-theme="silk"] .panel::after{top:-105px;right:-180px;width:520px;height:250px;border:1px solid rgba(150,110,100,.18);border-radius:50%;transform:rotate(-17deg)}
body[data-theme="silk"] .ornament{background:rgba(255,255,255,.27)}
body[data-theme="silk"] .hero h1{gap:12px;line-height:.91}
body[data-theme="silk"] .hero-copy{font-size:19px}
body[data-theme="silk"] .couple-photo{border-radius:300px}
body[data-theme="silk"] .venue figure{border-radius:180px 180px 26px 26px}
body[data-theme="silk"] .detail-grid article{border-radius:120px 120px 28px 28px;background:rgba(255,255,255,.25);text-align:center}
body[data-theme="silk"] .detail-grid span{margin-inline:auto}

/* 04 · Moon Garden — navy, lunar silver and a restrained star map. */
body[data-theme="moon"]{--bg:#283a61;--bg2:#071126;--ink:#f1eee6;--accent:#d8d6d0;--paper:#f2f0ea;--dark:#223250}
body[data-theme="moon"] .panel{background:radial-gradient(circle at 15% 14%,#fff 0 1px,transparent 2px),radial-gradient(circle at 82% 27%,#fff 0 1px,transparent 2px),radial-gradient(circle at 48% 66%,#fff 0 1px,transparent 2px),radial-gradient(circle at 50% 22%,rgba(109,134,185,.24),transparent 42%);background-size:71px 79px,101px 109px,137px 149px,auto}
body[data-theme="moon"] .panel::before{inset:18px;border-style:dashed;border-radius:260px 260px 30px 30px;border-color:rgba(216,214,208,.43)}
body[data-theme="moon"] .panel::after{top:76px;right:58px;width:78px;height:78px;border-radius:50%;box-shadow:21px -8px 0 -8px rgba(216,214,208,.92)}
body[data-theme="moon"] .hero .ornament{border-style:dashed}
body[data-theme="moon"] .hero h1{letter-spacing:.01em;text-shadow:0 0 36px rgba(216,214,208,.2)}
body[data-theme="moon"] .couple-photo,body[data-theme="moon"] .venue figure{border-radius:260px 260px 32px 32px}
body[data-theme="moon"] .detail-grid article{border-style:dashed;border-radius:80px 80px 24px 24px;background:rgba(4,13,31,.22)}

/* 05 · Russian Estate — herbarium, linen and quiet family heritage. */
body[data-theme="estate"]{--bg:#6c7b63;--bg2:#28453a;--ink:#fff5dd;--accent:#eadca8;--paper:#f6eedc;--dark:#344a3e}
body[data-theme="estate"] .panel{background:linear-gradient(90deg,rgba(234,220,168,.05) 0 1px,transparent 1px),radial-gradient(ellipse at 0 100%,rgba(234,220,168,.11),transparent 36%);background-size:18px 100%,auto}
body[data-theme="estate"] .panel::before{inset:22px 17px;border-radius:155px 18px 155px 18px;border-color:rgba(234,220,168,.42)}
body[data-theme="estate"] .panel::after{right:-85px;bottom:30px;width:210px;height:210px;border:1px solid rgba(234,220,168,.22);border-radius:50% 16px 50% 16px;transform:rotate(18deg)}
body[data-theme="estate"] .hero h1{font-size:clamp(52px,17vw,84px);line-height:.91}
body[data-theme="estate"] .ornament{border-radius:50% 10px 50% 10px}
body[data-theme="estate"] .couple-photo,body[data-theme="estate"] .venue figure,body[data-theme="estate"] .look{border-radius:22px 150px 22px 150px}
body[data-theme="estate"] .detail-grid article{border-radius:20px 90px 20px 90px;background:rgba(255,255,255,.035)}

/* 06 · Editorial Vow — ivory paper, graphite and oversized magazine typography. */
body[data-theme="editorial"]{--bg:#faf9f4;--bg2:#deded8;--ink:#171b19;--accent:#ae8a42;--paper:#f8f4e9;--dark:#171b19}
body[data-theme="editorial"]{background:#dadad5}
body[data-theme="editorial"] .invite{background:linear-gradient(90deg,#bd9951 0 8px,transparent 8px),linear-gradient(180deg,#fbfaf5,#dfdfd9)}
body[data-theme="editorial"] .panel{align-items:flex-start;padding-inline:38px;text-align:left;background:linear-gradient(90deg,rgba(23,27,25,.06) 0 1px,transparent 1px);background-size:25% 100%}
body[data-theme="editorial"] .panel::before{inset:16px;border-color:rgba(23,27,25,.25);border-radius:0}
body[data-theme="editorial"] .panel::after{top:42px;right:28px;width:43%;height:28%;background:#171b19}
body[data-theme="editorial"] .hero{justify-content:flex-end;padding-bottom:84px}
body[data-theme="editorial"] .hero .ornament{position:absolute;top:42px;left:38px;border:0;border-radius:0;color:#171b19;background:transparent;font:900 12px Arial,sans-serif}
body[data-theme="editorial"] .hero .ornament::after{content:'ISSUE 06';white-space:nowrap}
body[data-theme="editorial"] .hero .ornament{font-size:0}
body[data-theme="editorial"] .hero h1{display:block;color:#171b19;font-family:Arial,sans-serif;font-size:clamp(48px,15vw,78px);font-weight:900;line-height:.76;letter-spacing:-.085em;text-transform:uppercase}
body[data-theme="editorial"] .hero h1 span,body[data-theme="editorial"] .hero h1 small{display:block}
body[data-theme="editorial"] .hero h1 small{margin-block:8px;color:#ad8942;font-family:Georgia,serif;font-size:.28em;letter-spacing:0;text-transform:none}
body[data-theme="editorial"] .hero-copy{margin:24px 0;color:#363b38;font-family:Arial,sans-serif;font-size:15px;font-style:normal}
body[data-theme="editorial"] .hero-date{width:100%;border-color:#171b19}
body[data-theme="editorial"] .kicker{color:#785f2f}
body[data-theme="editorial"] h2{max-width:100%;font-size:clamp(38px,11vw,60px);line-height:.86;text-align:left}
body[data-theme="editorial"] .couple-photo,body[data-theme="editorial"] .venue figure,body[data-theme="editorial"] .look{border-radius:0;border-color:#171b19}
body[data-theme="editorial"] .schedule li{grid-template-columns:92px 1fr;border-color:rgba(23,27,25,.25)}
body[data-theme="editorial"] .detail-grid article{border-radius:0;border-color:rgba(23,27,25,.25);background:transparent}
body[data-theme="editorial"] .detail-grid span{border-radius:0;color:#fff;background:#171b19}
body[data-theme="editorial"] .button{border-radius:0;color:#fff;background:#171b19}
body[data-theme="editorial"] .scroll-cue{right:38px;left:auto}

@media(max-width:380px){body[data-theme="editorial"] .panel{padding-inline:28px}body[data-theme="editorial"] .hero .ornament{left:28px}.hero h1{font-size:clamp(50px,18vw,78px)}}
.end-note{display:block;max-width:320px;color:color-mix(in srgb,var(--ink) 72%,transparent);font-size:13px;line-height:1.5}
.picker-mode .end{min-height:100svh;padding-bottom:max(44px,env(safe-area-inset-bottom))}
.picker-mode #collection-cta{box-shadow:0 14px 38px rgba(0,0,0,.22)}

/* Bespoke editorial hero art — every invitation opens as a different world. */
body[data-theme="sacred"] .hero{background:linear-gradient(180deg,rgba(4,20,15,.3),rgba(4,20,15,.2) 44%,rgba(4,20,15,.78)),url('assets/themes/sacred-hero.webp') center/cover no-repeat}
body[data-theme="velvet"] .hero{background:linear-gradient(180deg,rgba(31,4,12,.12),rgba(31,4,12,.05) 46%,rgba(31,4,12,.72)),url('assets/themes/velvet-hero.webp') center/cover no-repeat}
body[data-theme="silk"] .hero{background:linear-gradient(180deg,rgba(255,250,245,.18),rgba(255,250,245,.06) 54%,rgba(240,220,216,.68)),url('assets/themes/silk-hero.webp') center/cover no-repeat}
body[data-theme="moon"] .hero{background:linear-gradient(180deg,rgba(5,12,28,.16),rgba(5,12,28,.03) 48%,rgba(5,12,28,.72)),url('assets/themes/moon-hero.webp') center/cover no-repeat}
body[data-theme="estate"] .hero{background:linear-gradient(180deg,rgba(17,37,30,.31),rgba(17,37,30,.17) 42%,rgba(17,37,30,.76)),url('assets/themes/estate-hero.webp') center/cover no-repeat}
body[data-theme="editorial"] .hero{background:linear-gradient(90deg,rgba(250,249,244,.96) 0 42%,rgba(250,249,244,.28) 68%,rgba(250,249,244,.04)),url('assets/themes/editorial-hero.webp') center/cover no-repeat}
body:not([data-theme="silk"]):not([data-theme="editorial"]) .hero h1,body:not([data-theme="silk"]):not([data-theme="editorial"]) .hero-copy{text-shadow:0 8px 30px rgba(0,0,0,.42)}
body[data-theme="silk"] .hero h1,body[data-theme="silk"] .hero-copy{color:#4b3e39;text-shadow:0 2px 22px rgba(255,255,255,.8)}
body[data-theme="editorial"] .hero{justify-content:flex-end;padding-bottom:88px}
body[data-theme="editorial"] .hero-copy{max-width:330px;padding:11px 13px;border-left:3px solid var(--accent);background:rgba(250,249,244,.82);box-shadow:0 12px 34px rgba(23,27,25,.08);backdrop-filter:blur(5px)}

/* Six complete invitation systems: the theme now continues through every section. */
.invite{counter-reset:invite-section}
.panel{isolation:isolate;overflow:hidden}
.panel>*{position:relative;z-index:2}
.panel:not(.hero){counter-increment:invite-section}
.panel:not(.hero)>.kicker::before{content:"0" counter(invite-section) "  /  ";opacity:.62}
.venue .button,.rsvp .button,.end .button{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
.venue .button:hover,.rsvp .button:hover,.end .button:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(0,0,0,.18)}
.look img{transition:opacity .22s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.look:hover img{transform:scale(1.015)}

/* The invitation opens as a short ceremony, with a distinct motion language per collection. */
body.opening-lock{overflow:hidden}
.opening{position:fixed;z-index:80;inset:0 auto 0 50%;display:grid;width:min(100%,520px);min-height:100svh;place-items:center;overflow:hidden;color:var(--ink);background:var(--bg2);transform:translateX(-50%);transition:opacity .35s ease,visibility .35s ease}
.opening.is-gone{opacity:0;visibility:hidden;pointer-events:none}
.opening-scene,.opening-left,.opening-right,.opening-flap,.opening-orbit{position:absolute;inset:0;display:block;pointer-events:none}
.opening-scene{z-index:0}
.opening-card{position:relative;z-index:3;display:flex;width:calc(100% - 54px);min-height:540px;padding:48px 32px;align-items:center;flex-direction:column;justify-content:center;text-align:center;transition:opacity .5s ease,transform .75s cubic-bezier(.2,.8,.2,1)}
.opening-number{position:absolute;top:25px;color:color-mix(in srgb,var(--ink) 58%,transparent);font-size:10px;font-weight:800;letter-spacing:.22em}
.opening-eyebrow{margin:0 0 26px;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.28em}
.opening-card h2{display:grid;gap:7px;margin:0 0 42px;font-size:clamp(46px,15vw,74px);font-weight:400;line-height:.82}
.opening-card h2 span,.opening-card h2 small{display:block}
.opening-card h2 small{font-size:.3em}
.opening-card button{display:flex;min-height:60px;width:min(100%,320px);align-items:center;justify-content:space-between;padding:14px 20px 14px 26px;border:1px solid var(--accent);border-radius:99px;color:var(--dark);background:var(--paper);font-weight:800;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}
.opening-card button:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(0,0,0,.2)}
.opening-card button i{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:var(--paper);background:var(--dark);font-style:normal}
.opening-card button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.opening-hint{margin-top:15px;color:color-mix(in srgb,var(--ink) 50%,transparent);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.opening.is-opening .opening-card{opacity:0;transform:scale(.94)}
body.opening-lock .hero>*{opacity:0;transform:translateY(20px)}
body.opening-revealed .hero>*{animation:hero-arrival .85s both cubic-bezier(.18,.76,.2,1)}
body.opening-revealed .hero>*:nth-child(2){animation-delay:.08s}body.opening-revealed .hero>*:nth-child(3){animation-delay:.16s}body.opening-revealed .hero>*:nth-child(4){animation-delay:.24s}body.opening-revealed .hero>*:nth-child(5){animation-delay:.32s}body.opening-revealed .hero>*:nth-child(6){animation-delay:.4s}
@keyframes hero-arrival{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

body[data-theme="sacred"] .opening{background:linear-gradient(rgba(3,25,18,.72),rgba(3,25,18,.9)),url('assets/themes/sacred-hero.webp') center/cover}
body[data-theme="sacred"] .opening-left,body[data-theme="sacred"] .opening-right{width:54%;background:linear-gradient(90deg,#082a21,#16483a);transition:transform 1.2s cubic-bezier(.76,0,.24,1)}
body[data-theme="sacred"] .opening-left{right:auto;border-right:1px solid rgba(223,193,116,.42);border-radius:0 55% 55% 0}
body[data-theme="sacred"] .opening-right{left:auto;border-left:1px solid rgba(223,193,116,.42);border-radius:55% 0 0 55%;background:linear-gradient(90deg,#16483a,#082a21)}
body[data-theme="sacred"] .opening-card{min-height:610px;border:1px solid rgba(223,193,116,.46);border-radius:260px 260px 26px 26px;background:rgba(4,31,24,.5);backdrop-filter:blur(6px)}
body[data-theme="sacred"] .opening-card button{width:178px;height:178px;padding:22px;justify-content:center;border:4px double var(--accent);color:#f9e9bd;background:radial-gradient(circle,#315d4b,#0d3329);box-shadow:0 0 0 12px rgba(223,193,116,.08),0 24px 60px rgba(0,0,0,.35)}
body[data-theme="sacred"] .opening-card button i{display:none}
body[data-theme="sacred"] .opening-hint{margin-top:24px}
body[data-theme="sacred"] .opening.is-opening .opening-left{transform:translateX(-120%)}
body[data-theme="sacred"] .opening.is-opening .opening-right{transform:translateX(120%)}

body[data-theme="velvet"] .opening{background:#230711}
body[data-theme="velvet"] .opening-left,body[data-theme="velvet"] .opening-right{width:50%;transition:transform 1.05s cubic-bezier(.83,0,.17,1);background:radial-gradient(circle at 100% 50%,#8b2945,#320915 67%);border-right:3px double rgba(239,205,145,.58)}
body[data-theme="velvet"] .opening-right{left:auto;background:radial-gradient(circle at 0 50%,#8b2945,#320915 67%);border-right:0;border-left:3px double rgba(239,205,145,.58)}
body[data-theme="velvet"] .opening-card{min-height:570px;border:3px double rgba(239,205,145,.62);clip-path:polygon(50% 0,96% 9%,100% 50%,96% 91%,50% 100%,4% 91%,0 50%,4% 9%);background:rgba(49,6,19,.64)}
body[data-theme="velvet"] .opening-card h2{font-style:italic;text-shadow:0 16px 40px rgba(0,0,0,.4)}
body[data-theme="velvet"] .opening-card button{border-radius:7px;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);background:linear-gradient(135deg,#f7e0b2,#c99d4d)}
body[data-theme="velvet"] .opening.is-opening .opening-left{transform:translateX(-105%) perspective(700px) rotateY(-16deg)}
body[data-theme="velvet"] .opening.is-opening .opening-right{transform:translateX(105%) perspective(700px) rotateY(16deg)}

body[data-theme="silk"] .opening{color:#51423d;background:#f6e8e3}
body[data-theme="silk"] .opening-left,body[data-theme="silk"] .opening-right{width:72%;filter:blur(1px);background:linear-gradient(125deg,rgba(255,255,255,.97),rgba(228,201,195,.72));border-radius:0 70% 44% 0;box-shadow:0 0 80px rgba(96,76,69,.1);transition:transform 1.3s cubic-bezier(.65,0,.2,1),opacity 1s}
body[data-theme="silk"] .opening-right{left:auto;border-radius:70% 0 0 44%;background:linear-gradient(235deg,rgba(255,255,255,.97),rgba(228,201,195,.72))}
body[data-theme="silk"] .opening-card{min-height:560px;border:1px solid rgba(150,110,100,.28);border-radius:280px;background:rgba(255,255,255,.25);backdrop-filter:blur(10px)}
body[data-theme="silk"] .opening-card h2{font-style:italic}
body[data-theme="silk"] .opening-card button{width:auto;min-width:230px;border:0;color:#fff;background:linear-gradient(120deg,#8d675f,#bd9389);box-shadow:0 22px 55px rgba(96,76,69,.16)}
body[data-theme="silk"] .opening.is-opening .opening-left{opacity:0;transform:translate(-105%,-8%) rotate(-14deg)}
body[data-theme="silk"] .opening.is-opening .opening-right{opacity:0;transform:translate(105%,8%) rotate(14deg)}

body[data-theme="moon"] .opening{background:linear-gradient(rgba(5,12,28,.5),rgba(5,12,28,.88)),url('assets/themes/moon-hero.webp') center/cover}
body[data-theme="moon"] .opening-orbit{inset:50% auto auto 50%;width:310px;height:310px;border:1px dashed rgba(216,214,208,.62);border-radius:50%;box-shadow:0 0 80px rgba(119,148,207,.22),inset 0 0 55px rgba(119,148,207,.12);transform:translate(-50%,-50%);transition:transform 1.25s cubic-bezier(.7,0,.2,1),opacity .8s}
body[data-theme="moon"] .opening-orbit::before,body[data-theme="moon"] .opening-orbit::after{content:"";position:absolute;border-radius:50%;background:#ece9df;box-shadow:0 0 18px #ece9df}
body[data-theme="moon"] .opening-orbit::before{top:28px;right:28px;width:8px;height:8px}
body[data-theme="moon"] .opening-orbit::after{bottom:46px;left:8px;width:5px;height:5px}
body[data-theme="moon"] .opening-card{min-height:570px;border:1px dashed rgba(216,214,208,.38);border-radius:280px;background:rgba(4,12,28,.34)}
body[data-theme="moon"] .opening-card button{width:170px;height:170px;justify-content:center;padding:20px;border-style:dashed;color:#1a2948;background:radial-gradient(circle,#f4f1e8,#c7cedc);box-shadow:0 0 55px rgba(216,214,208,.25)}
body[data-theme="moon"] .opening-card button i{display:none}
body[data-theme="moon"] .opening.is-opening .opening-orbit{opacity:0;transform:translate(-50%,-50%) scale(5) rotate(90deg)}

body[data-theme="estate"] .opening{background:linear-gradient(180deg,#76836e,#29483c)}
body[data-theme="estate"] .opening-scene{inset:14% 7%;border:1px solid rgba(234,220,168,.5);border-radius:28px 155px 28px 155px;background:#eee3cc;box-shadow:0 38px 80px rgba(10,31,24,.34);transition:transform 1.1s cubic-bezier(.7,0,.2,1),opacity .7s}
body[data-theme="estate"] .opening-flap{height:51%;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(165deg,#fbf3e2,#d9c9a8);transform-origin:top;transition:transform .85s cubic-bezier(.55,0,.2,1)}
body[data-theme="estate"] .opening-card{min-height:520px;width:calc(100% - 96px);color:#31483c;border:1px solid rgba(90,105,88,.38);border-radius:20px 100px 20px 100px;background:rgba(250,244,229,.93);box-shadow:0 24px 55px rgba(19,48,38,.2)}
body[data-theme="estate"] .opening-eyebrow,body[data-theme="estate"] .opening-number{color:#7c704d}
body[data-theme="estate"] .opening-hint{color:#7c704d}
.hero h1:focus{outline:none}
body[data-theme="estate"] .opening-card button{width:156px;height:156px;padding:20px;justify-content:center;border:5px double #dec886;color:#f9edcc;background:radial-gradient(circle,#53705e,#244a3c);box-shadow:0 14px 45px rgba(31,71,56,.3)}
body[data-theme="estate"] .opening-card button i{display:none}
body[data-theme="estate"] .opening.is-opening .opening-flap{transform:perspective(800px) rotateX(175deg)}
body[data-theme="estate"] .opening.is-opening .opening-scene{opacity:0;transform:translateY(112%) scale(.9)}
body[data-theme="estate"] .opening.is-opening .opening-card{transform:translateY(-118vh)}

body[data-theme="editorial"] .opening{color:#171b19;background:#e4e4df}
body[data-theme="editorial"] .opening-left,body[data-theme="editorial"] .opening-right{width:50%;background:#f8f7f1;border-right:1px solid #171b19;transition:transform .9s cubic-bezier(.83,0,.17,1)}
body[data-theme="editorial"] .opening-left::after{content:"WEDDING / 06";position:absolute;top:25px;left:22px;font:900 10px Arial,sans-serif;letter-spacing:.2em}
body[data-theme="editorial"] .opening-right{left:auto;border:0;background:linear-gradient(rgba(23,27,25,.18),rgba(23,27,25,.18)),url('assets/themes/editorial-hero.webp') 66% center/cover}
body[data-theme="editorial"] .opening-card{width:100%;min-height:100svh;padding:45px 38px;align-items:flex-start;justify-content:flex-end;text-align:left;background:transparent}
body[data-theme="editorial"] .opening-number{top:44px;right:38px;color:#171b19;font-family:Arial,sans-serif}
body[data-theme="editorial"] .opening-eyebrow{color:#886b32;font-family:Arial,sans-serif}
body[data-theme="editorial"] .opening-card h2{display:block;margin-bottom:34px;color:#171b19;font-family:Arial,sans-serif;font-size:clamp(52px,17vw,88px);font-weight:900;line-height:.76;letter-spacing:-.09em;text-transform:uppercase}
body[data-theme="editorial"] .opening-card h2 small{margin-block:9px;color:#a47e35;font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:0;text-transform:none}
body[data-theme="editorial"] .opening-card button{width:100%;border-radius:0;color:#fff;background:#171b19;text-transform:uppercase}
body[data-theme="editorial"] .opening-hint{color:#5e625f;font-family:Arial,sans-serif}
body[data-theme="editorial"] .opening.is-opening .opening-left{transform:translateX(-102%)}
body[data-theme="editorial"] .opening.is-opening .opening-right{transform:translateX(102%)}

@media(prefers-reduced-motion:reduce){.opening *{transition-duration:.01ms!important}.opening.is-opening{opacity:0}.opening.is-opening .opening-left,.opening.is-opening .opening-right,.opening.is-opening .opening-scene,.opening.is-opening .opening-card{transform:none!important}}
.section-copy{max-width:390px;margin:0 0 28px;color:color-mix(in srgb,var(--ink) 74%,transparent);font:italic 17px/1.55 var(--serif)}
.story-photo{width:100%;height:420px;margin:18px 0 30px;overflow:hidden;border:1px solid var(--accent);border-radius:220px 220px 28px 28px}
.story-photo img{display:block;width:100%;height:100%;object-fit:cover}
.story blockquote{max-width:390px;margin:0;color:color-mix(in srgb,var(--ink) 82%,transparent);font:italic 19px/1.55 var(--serif)}
.story-sign{margin:25px 0 0;color:var(--accent);font:italic 21px var(--serif)}
.gift-rail{display:grid;width:calc(100% + 30px);grid-auto-flow:column;grid-auto-columns:84%;gap:14px;align-self:flex-start;overflow-x:auto;padding:4px 30px 18px 0;scroll-snap-type:x mandatory;scrollbar-width:none;text-align:left}
.gift-rail::-webkit-scrollbar{display:none}
.gift-rail article{display:flex;min-height:390px;padding:30px 26px;flex-direction:column;scroll-snap-align:start;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:28px;background:color-mix(in srgb,var(--ink) 7%,transparent)}
.gift-icon{display:grid;width:76px;height:76px;margin-bottom:auto;place-items:center;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font:400 30px var(--serif)}
.gift-rail small,.stay-card>small{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.18em}
.gift-rail h3,.stay-card h3{margin:14px 0 10px;font-size:28px;line-height:1.05}
.gift-rail p,.stay-card p{margin:0 0 24px;opacity:.7;line-height:1.5}
.gift-rail button{min-height:50px;border:1px solid var(--accent);border-radius:99px;color:var(--dark);background:var(--paper);font-weight:800}
.gift-rail button.reserved{color:var(--ink);background:transparent}
.swipe-note{display:flex;width:100%;margin:8px 0 0;align-items:center;justify-content:space-between;color:color-mix(in srgb,var(--ink) 60%,transparent);font-size:11px}
.swipe-note span{font-size:22px}
.stay-card{width:100%;padding:34px 28px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:36px;text-align:left;background:color-mix(in srgb,var(--ink) 7%,transparent)}
.stay-mark{display:grid;width:58px;height:58px;margin-bottom:28px;place-items:center;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font:italic 24px var(--serif)}
.stay-card .button{width:100%;color:var(--dark);background:var(--paper)}
.faq-list{display:grid;width:100%;gap:12px;text-align:left}
.faq-list details{border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:22px;background:color-mix(in srgb,var(--ink) 6%,transparent)}
.faq-list summary{position:relative;padding:22px 55px 22px 22px;cursor:pointer;font:400 20px/1.25 var(--serif);list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;top:50%;right:22px;color:var(--accent);font:26px var(--serif);transform:translateY(-50%);transition:transform .2s}
.faq-list details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-list details p{margin:0;padding:0 22px 22px;opacity:.72;line-height:1.5}
.button:focus-visible,.gift-rail button:focus-visible,.dress-switch button:focus-visible,.look figcaption button:focus-visible,.faq-list summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* 01 — SACRED GARDEN: living arches, botanical rhythm, ceremonial gold. */
body[data-theme="sacred"]{--serif:Baskerville,"Iowan Old Style",Georgia,serif}
body[data-theme="sacred"] .welcome::after,body[data-theme="sacred"] .venue::after,body[data-theme="sacred"] .dress::after{content:"";position:absolute;z-index:0;width:330px;height:460px;border:1px solid rgba(223,193,116,.14);border-radius:50% 50% 18px 18px;transform:rotate(24deg)}
body[data-theme="sacred"] .welcome::after{right:-245px;top:90px}
body[data-theme="sacred"] .venue::after{left:-260px;bottom:30px;transform:rotate(-18deg)}
body[data-theme="sacred"] .couple-photo{height:460px;box-shadow:0 26px 65px rgba(0,0,0,.25)}
body[data-theme="sacred"] .venue figure{height:380px;border-radius:240px 240px 26px 26px}
body[data-theme="sacred"] .schedule ol{position:relative;padding-left:22px}
body[data-theme="sacred"] .schedule ol::before{content:"";position:absolute;top:28px;bottom:28px;left:58px;width:1px;background:linear-gradient(var(--accent),rgba(223,193,116,.08))}
body[data-theme="sacred"] .schedule li{position:relative;grid-template-columns:74px 1fr;gap:25px;border:0}
body[data-theme="sacred"] .schedule time{display:grid;z-index:1;width:58px;height:58px;place-items:center;border:1px solid var(--accent);border-radius:50%;background:var(--bg2);font-size:17px}
body[data-theme="sacred"] .palette{padding:12px 14px;border:1px solid rgba(223,193,116,.28);border-radius:99px;background:rgba(0,0,0,.12)}
body[data-theme="sacred"] .dress-switch{border-radius:99px;background:rgba(0,0,0,.1)}
body[data-theme="sacred"] .detail-grid article:nth-child(2){margin-left:28px}
body[data-theme="sacred"] .detail-grid article:nth-child(3){margin-right:28px}
body[data-theme="sacred"] .rsvp{background:radial-gradient(circle at 50% 48%,rgba(223,193,116,.16),transparent 36%),linear-gradient(180deg,#0c3128,#061f19)}
body[data-theme="sacred"] .rsvp .button{color:#143b31;background:linear-gradient(110deg,#f8e7ba,#d9b762)}
body[data-theme="sacred"] .story-photo{border-radius:260px 260px 30px 30px;box-shadow:0 26px 65px rgba(0,0,0,.22)}
body[data-theme="sacred"] .gift-rail article{border-radius:95px 24px 95px 24px;background:rgba(0,0,0,.1)}
body[data-theme="sacred"] .stay-card{border-radius:120px 24px 120px 24px;background:rgba(0,0,0,.1)}
body[data-theme="sacred"] .faq-list details{border-radius:70px 18px 70px 18px}

/* 02 — VELVET NOCTURNE: symmetrical Art Deco, facets and theatrical contrast. */
body[data-theme="velvet"]{--serif:Didot,"Bodoni 72",Bodoni,Georgia,serif}
body[data-theme="velvet"] .welcome .kicker,body[data-theme="velvet"] .venue .kicker,body[data-theme="velvet"] .schedule .kicker{padding:8px 18px;border:1px solid rgba(239,205,145,.45);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%)}
body[data-theme="velvet"] .couple-photo{height:440px;box-shadow:0 34px 65px rgba(9,0,3,.45)}
body[data-theme="velvet"] .venue figure{height:330px;border:6px double rgba(239,205,145,.72)}
body[data-theme="velvet"] .schedule ol{display:grid;gap:12px}
body[data-theme="velvet"] .schedule li{grid-template-columns:82px 1fr;padding:22px;border:1px solid rgba(239,205,145,.3);background:linear-gradient(120deg,rgba(255,255,255,.06),transparent);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
body[data-theme="velvet"] .schedule time{display:grid;height:62px;place-items:center;border-right:1px solid rgba(239,205,145,.45);font-style:italic}
body[data-theme="velvet"] .palette i{border-radius:8px;transform:rotate(45deg)}
body[data-theme="velvet"] .dress-switch{border-radius:8px;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)}
body[data-theme="velvet"] .dress-switch button{border-radius:4px}
body[data-theme="velvet"] .detail-grid{grid-template-columns:1fr 1fr}
body[data-theme="velvet"] .detail-grid article{min-height:230px}
body[data-theme="velvet"] .detail-grid article:last-child{grid-column:1/-1;min-height:auto}
body[data-theme="velvet"] .rsvp::after{content:"";position:absolute;z-index:0;inset:65px 45px;border:3px double rgba(239,205,145,.32);clip-path:polygon(50% 0,100% 12%,100% 88%,50% 100%,0 88%,0 12%)}
body[data-theme="velvet"] .rsvp .button{color:#4b1020;background:linear-gradient(135deg,#f9e3b7,#c99d4d)}
body[data-theme="velvet"] .story-photo{border:6px double var(--accent);border-radius:24px;clip-path:polygon(5% 0,95% 0,100% 5%,100% 95%,95% 100%,5% 100%,0 95%,0 5%)}
body[data-theme="velvet"] .story blockquote::before{content:"“";display:block;height:52px;color:var(--accent);font:76px/1 var(--serif)}
body[data-theme="velvet"] .gift-rail article,body[data-theme="velvet"] .stay-card{border-radius:18px;clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px);background:linear-gradient(145deg,rgba(255,255,255,.07),transparent)}
body[data-theme="velvet"] .gift-icon,body[data-theme="velvet"] .stay-mark{border-radius:8px;transform:rotate(45deg)}
body[data-theme="velvet"] .gift-icon,body[data-theme="velvet"] .stay-mark{font-style:normal}
body[data-theme="velvet"] .faq-list details{border-radius:8px;clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px)}

/* 03 — AIRY SILK: soft couture, floating cards and generous white space. */
body[data-theme="silk"]{--serif:"Iowan Old Style",Baskerville,Georgia,serif}
body[data-theme="silk"] .panel{padding-block:92px}
body[data-theme="silk"] .welcome h2,body[data-theme="silk"] .venue h2,body[data-theme="silk"] .schedule h2{font-style:italic;font-weight:400}
body[data-theme="silk"] .couple-photo{height:430px;border:0;box-shadow:0 28px 80px rgba(96,76,69,.18)}
body[data-theme="silk"] .venue figure{height:360px;border:10px solid rgba(255,255,255,.46);box-shadow:0 25px 55px rgba(96,76,69,.12)}
body[data-theme="silk"] .schedule ol{display:grid;gap:14px}
body[data-theme="silk"] .schedule li{grid-template-columns:78px 1fr;padding:24px;border:0;border-radius:32px 80px 32px 80px;background:rgba(255,255,255,.38);box-shadow:0 16px 42px rgba(96,76,69,.08)}
body[data-theme="silk"] .schedule li:nth-child(even){border-radius:80px 32px 80px 32px}
body[data-theme="silk"] .schedule time{font-style:italic}
body[data-theme="silk"] .palette{gap:8px;padding:10px 16px;border-radius:99px;background:rgba(255,255,255,.3)}
body[data-theme="silk"] .palette i{border-color:#fff;box-shadow:0 7px 18px rgba(96,76,69,.13)}
body[data-theme="silk"] .dress-switch{border:0;background:rgba(255,255,255,.36);box-shadow:0 12px 38px rgba(96,76,69,.08)}
body[data-theme="silk"] .look{border:8px solid rgba(255,255,255,.45);box-shadow:0 24px 60px rgba(96,76,69,.12)}
body[data-theme="silk"] .detail-grid{gap:22px}
body[data-theme="silk"] .detail-grid article{padding:42px 30px;border:0;box-shadow:0 18px 50px rgba(96,76,69,.09)}
body[data-theme="silk"] .rsvp{background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.72),transparent 58%)}
body[data-theme="silk"] .rsvp .button{color:#fff;border:0;background:linear-gradient(120deg,#8d675f,#bd9389)}
body[data-theme="silk"] .story-photo{border:10px solid rgba(255,255,255,.48);border-radius:300px;box-shadow:0 28px 80px rgba(96,76,69,.14)}
body[data-theme="silk"] .story blockquote{max-width:340px}
body[data-theme="silk"] .gift-rail article,body[data-theme="silk"] .stay-card{border:0;border-radius:120px 120px 32px 32px;background:rgba(255,255,255,.38);box-shadow:0 20px 58px rgba(96,76,69,.1)}
body[data-theme="silk"] .gift-icon,body[data-theme="silk"] .stay-mark{margin-inline:auto;background:rgba(255,255,255,.32)}
body[data-theme="silk"] .gift-rail article{text-align:center}
body[data-theme="silk"] .faq-list{gap:18px}
body[data-theme="silk"] .faq-list details{border:0;border-radius:99px;background:rgba(255,255,255,.36);box-shadow:0 14px 38px rgba(96,76,69,.08)}

/* 04 — MOON GARDEN: constellations, orbiting details and luminous night. */
body[data-theme="moon"]{--serif:Optima,"Iowan Old Style",Georgia,serif}
body[data-theme="moon"] .couple-photo{height:455px;box-shadow:0 0 0 10px rgba(216,214,208,.035),0 32px 80px rgba(0,0,0,.38)}
body[data-theme="moon"] .venue figure{height:370px;box-shadow:0 0 45px rgba(119,148,207,.16)}
body[data-theme="moon"] .schedule ol{position:relative;margin-top:38px}
body[data-theme="moon"] .schedule ol::before{content:"";position:absolute;top:8px;bottom:8px;left:48px;border-left:1px dashed rgba(216,214,208,.5)}
body[data-theme="moon"] .schedule li{position:relative;grid-template-columns:92px 1fr;gap:17px;border:0}
body[data-theme="moon"] .schedule li::before{content:"✦";position:absolute;top:25px;left:41px;color:var(--accent);font-size:12px}
body[data-theme="moon"] .schedule time{padding-left:20px;font-size:18px}
body[data-theme="moon"] .schedule li span{padding:20px 22px;border:1px dashed rgba(216,214,208,.3);border-radius:90px 24px 90px 24px;background:rgba(3,10,25,.22)}
body[data-theme="moon"] .palette{position:relative;gap:15px;padding:12px}
body[data-theme="moon"] .palette::before{content:"";position:absolute;inset:0;border:1px dashed rgba(216,214,208,.26);border-radius:50%}
body[data-theme="moon"] .palette i{z-index:1;border-color:rgba(255,255,255,.65);box-shadow:0 0 22px rgba(216,214,208,.16)}
body[data-theme="moon"] .dress-switch{border-style:dashed;background:rgba(2,9,23,.18)}
body[data-theme="moon"] .look{box-shadow:0 0 50px rgba(119,148,207,.17)}
body[data-theme="moon"] .detail-grid article:nth-child(2){margin-inline:24px}
body[data-theme="moon"] .rsvp{background:radial-gradient(circle at 50% 42%,rgba(116,142,196,.3),transparent 30%),#08142a}
body[data-theme="moon"] .rsvp .button{border-color:#ece9df;color:#17233e;background:#ece9df;box-shadow:0 0 35px rgba(236,233,223,.15)}
body[data-theme="moon"] .story-photo{border-style:dashed;border-radius:260px 260px 32px 32px;box-shadow:0 0 55px rgba(119,148,207,.16)}
body[data-theme="moon"] .story blockquote{position:relative;padding:34px 25px;border:1px dashed rgba(216,214,208,.35);border-radius:50%}
body[data-theme="moon"] .gift-rail article,body[data-theme="moon"] .stay-card{border-style:dashed;border-radius:100px 25px 100px 25px;background:rgba(3,10,25,.25);box-shadow:0 0 42px rgba(119,148,207,.09)}
body[data-theme="moon"] .gift-icon,body[data-theme="moon"] .stay-mark{border-style:dashed;box-shadow:0 0 28px rgba(216,214,208,.12)}
body[data-theme="moon"] .faq-list details{border-style:dashed;border-radius:90px 24px 90px 24px;background:rgba(3,10,25,.2)}

/* 05 — RUSSIAN ESTATE: heritage paper, archival frames and warm hospitality. */
body[data-theme="estate"]{--serif:Palatino,"Book Antiqua",Georgia,serif}
body[data-theme="estate"] .kicker{padding-bottom:9px;border-bottom:1px solid rgba(234,220,168,.38)}
body[data-theme="estate"] .couple-photo{height:450px;padding:8px;background:rgba(246,238,220,.12);box-shadow:0 25px 65px rgba(14,37,29,.27)}
body[data-theme="estate"] .venue figure{height:360px;padding:8px;background:rgba(246,238,220,.12)}
body[data-theme="estate"] .schedule ol{padding:14px;border:1px solid rgba(234,220,168,.28);border-radius:24px 115px 24px 115px;background:rgba(19,48,38,.22)}
body[data-theme="estate"] .schedule li{grid-template-columns:88px 1fr;padding:24px 12px}
body[data-theme="estate"] .schedule time{font-style:italic}
body[data-theme="estate"] .schedule li b{font-size:23px}
body[data-theme="estate"] .palette{padding:10px 18px;border-block:1px solid rgba(234,220,168,.34)}
body[data-theme="estate"] .dress-switch{border-radius:18px 70px 18px 70px}
body[data-theme="estate"] .dress-switch button{border-radius:15px 60px 15px 60px}
body[data-theme="estate"] .detail-grid article{padding:34px 28px}
body[data-theme="estate"] .detail-grid article:nth-child(even){border-radius:90px 20px 90px 20px}
body[data-theme="estate"] .rsvp{background:linear-gradient(rgba(40,69,58,.92),rgba(23,51,41,.96)),url('assets/themes/estate-hero.webp') center/cover}
body[data-theme="estate"] .rsvp .button{color:#31483c;background:#f6eedc}
body[data-theme="estate"] .story-photo{padding:8px;border-radius:22px 150px 22px 150px;background:rgba(246,238,220,.12);box-shadow:0 24px 60px rgba(14,37,29,.24)}
body[data-theme="estate"] .story blockquote{padding-left:22px;border-left:1px solid var(--accent)}
body[data-theme="estate"] .gift-rail article,body[data-theme="estate"] .stay-card{border-radius:22px 110px 22px 110px;background:rgba(19,48,38,.22)}
body[data-theme="estate"] .faq-list details{border-radius:20px 80px 20px 80px;background:rgba(19,48,38,.18)}

/* 06 — MODERN VOW: fashion editorial, modular grid and uncompromising type. */
body[data-theme="editorial"]{--sans:"Helvetica Neue",Arial,sans-serif}
body[data-theme="editorial"] .panel:not(.hero)>.kicker::before{content:"SECTION 0" counter(invite-section) "  /  "}
body[data-theme="editorial"] .welcome{justify-content:flex-start;padding-top:110px}
body[data-theme="editorial"] .welcome .countdown{order:4;margin-top:34px;border-block:2px solid #171b19;padding-block:18px}
body[data-theme="editorial"] .welcome .couple-photo{height:500px;margin-left:-38px;width:calc(100% + 76px);border-inline:0}
body[data-theme="editorial"] .welcome h2{font-weight:900}
body[data-theme="editorial"] .venue figure{height:430px;margin-left:-38px;width:calc(100% + 76px);border-inline:0}
body[data-theme="editorial"] .venue .button{width:100%;justify-content:flex-start;padding-left:22px}
body[data-theme="editorial"] .schedule ol{display:grid;grid-auto-flow:column;grid-auto-columns:82%;grid-template-columns:none;gap:1px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:#171b19;border:1px solid #171b19}
body[data-theme="editorial"] .schedule ol::-webkit-scrollbar{display:none}
body[data-theme="editorial"] .schedule li{display:flex;min-height:230px;padding:18px;flex-direction:column;justify-content:space-between;border:0;color:#171b19;background:#f5f2e8}
body[data-theme="editorial"] .schedule li{scroll-snap-align:start}
body[data-theme="editorial"] .schedule time{font:900 30px/1 Arial,sans-serif}
body[data-theme="editorial"] .schedule li b{font:900 18px/1.05 Arial,sans-serif;text-transform:uppercase}
body[data-theme="editorial"] .palette{gap:0;width:100%;margin-block:30px;border:1px solid #171b19}
body[data-theme="editorial"] .palette i{width:20%;height:62px;border:0;border-radius:0}
body[data-theme="editorial"] .dress-switch{padding:0;border:1px solid #171b19;border-radius:0}
body[data-theme="editorial"] .dress-switch button{border-radius:0;text-transform:uppercase}
body[data-theme="editorial"] .dress-switch button.active{color:#fff;background:#171b19}
body[data-theme="editorial"] .look figcaption{font-family:Arial,sans-serif}
body[data-theme="editorial"] .detail-grid{grid-template-columns:1fr 1fr;gap:0;border:1px solid #171b19}
body[data-theme="editorial"] .detail-grid article{min-height:240px;border:0;border-right:1px solid #171b19;border-bottom:1px solid #171b19}
body[data-theme="editorial"] .detail-grid article:last-child{grid-column:1/-1;min-height:auto;border-bottom:0}
body[data-theme="editorial"] .rsvp{align-items:stretch;color:#f8f5eb;background:#171b19}
body[data-theme="editorial"] .rsvp::after{display:none}
body[data-theme="editorial"] .rsvp .ornament{color:#171b19;background:#d0aa5a}
body[data-theme="editorial"] .rsvp .kicker{color:#d0aa5a}
body[data-theme="editorial"] .rsvp h2{color:#fff;font-size:clamp(52px,15vw,82px)}
body[data-theme="editorial"] .rsvp>p{color:#d3d3cd;font-family:Arial,sans-serif;font-style:normal}
body[data-theme="editorial"] .rsvp .button{width:100%;color:#171b19;background:#d0aa5a}
body[data-theme="editorial"] .end{align-items:flex-start;text-align:left}
body[data-theme="editorial"] .story-photo{height:520px;margin-left:-38px;width:calc(100% + 76px);border-inline:0;border-radius:0;filter:grayscale(1) contrast(1.04)}
body[data-theme="editorial"] .story blockquote{margin:0;border-top:5px solid #171b19;padding-top:24px;color:#171b19;font-family:Arial,sans-serif;font-size:22px;font-style:normal;font-weight:800;line-height:1.25}
body[data-theme="editorial"] .story-sign{font-family:Arial,sans-serif;font-style:normal;text-transform:uppercase}
body[data-theme="editorial"] .gift-rail{width:calc(100% + 38px)}
body[data-theme="editorial"] .gift-rail article,body[data-theme="editorial"] .stay-card{border-color:#171b19;border-radius:0;color:#171b19;background:#f5f2e8}
body[data-theme="editorial"] .gift-icon,body[data-theme="editorial"] .stay-mark{border-radius:0;color:#fff;background:#171b19}
body[data-theme="editorial"] .gift-rail button{border-color:#171b19;border-radius:0;color:#fff;background:#171b19;text-transform:uppercase}
body[data-theme="editorial"] .gift-rail button.reserved{color:#171b19;background:#d0aa5a}
body[data-theme="editorial"] .stay-card .button{color:#fff;background:#171b19}
body[data-theme="editorial"] .faq-list{gap:0;border:1px solid #171b19}
body[data-theme="editorial"] .faq-list details{border:0;border-bottom:1px solid #171b19;border-radius:0;color:#171b19;background:transparent}
body[data-theme="editorial"] .faq-list details:last-child{border-bottom:0}
body[data-theme="editorial"] .faq-list summary{font-family:Arial,sans-serif;font-weight:800;text-transform:uppercase}

/* A restrained entrance: premium motion without hiding information or slowing the page. */
body.motion-ready .panel:not(.hero)>.kicker,body.motion-ready .panel:not(.hero)>h2,body.motion-ready .panel:not(.hero)>figure,body.motion-ready .panel:not(.hero)>ol,body.motion-ready .panel:not(.hero)>.detail-grid{opacity:.01;transform:translateY(24px);transition:opacity .65s ease,transform .75s cubic-bezier(.18,.76,.2,1)}
body.motion-ready .panel.is-visible>*{opacity:1!important;transform:none!important}
body[data-theme="editorial"].motion-ready .panel:not(.hero)>h2{transform:translateX(-26px)}
body[data-theme="silk"].motion-ready .panel:not(.hero)>figure{transform:translateY(18px) scale(.985)}
body[data-theme="editorial"] .panel:not(.hero)::after{display:none}
@media(prefers-reduced-motion:reduce){body.motion-ready .panel:not(.hero)>*{opacity:1!important;transform:none!important;transition:none!important}}
@media(max-width:380px){body[data-theme="velvet"] .detail-grid,body[data-theme="editorial"] .detail-grid{grid-template-columns:1fr}body[data-theme="velvet"] .detail-grid article:last-child,body[data-theme="editorial"] .detail-grid article:last-child{grid-column:auto}body[data-theme="editorial"] .schedule ol{grid-auto-columns:88%}body[data-theme="editorial"] .schedule li{min-height:180px}}
body[data-theme="editorial"] .hero::after{display:none}

/* Keep the RSVP form usable when the mobile keyboard reduces the viewport. */
.modal{overflow-y:auto;overscroll-behavior:contain}
.dialog{max-height:calc(100svh - 36px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:520px){.modal{padding:8px}.dialog{max-height:calc(100svh - 16px);border-radius:24px 24px 0 0}}

/* Sequential RSVP demo: one decision per screen, thumb-sized controls and no backend. */
body.rsvp-open{overscroll-behavior:none}.rsvp-flow{z-index:100;padding:20px;place-items:center;background:rgba(2,14,11,.82)}
.rsvp-dialog{display:grid;width:min(100%,720px);height:min(820px,calc(100dvh - 40px));max-height:none;grid-template-rows:auto auto minmax(0,1fr) auto auto;padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 45%,#fff);border-radius:34px;color:#153c32;background:#fbf8f0;box-shadow:0 40px 100px rgba(0,0,0,.38)}
.rsvp-dialog-head{display:flex;min-height:84px;padding:20px 24px 14px;align-items:center;justify-content:space-between;border-bottom:1px solid #dde4df}.rsvp-dialog-head p{margin:7px 0 0;color:#67736d;font-size:13px;font-weight:800}.rsvp-demo-label{color:#a87b28;font-size:10px;font-weight:900;letter-spacing:.14em}.rsvp-dialog .close{position:static;flex:0 0 46px;width:46px;height:46px;border:1px solid #d4ddd7;color:#153c32;background:#fff;cursor:pointer}.rsvp-progress{height:5px;background:#e2e8e4}.rsvp-progress i{display:block;width:14.28%;height:100%;border-radius:0 10px 10px 0;background:linear-gradient(90deg,#b98b35,#0c503f);transition:width .3s ease}
.rsvp-step{padding:clamp(26px,5vh,48px) clamp(22px,6vw,62px);overflow-y:auto;overscroll-behavior:contain}.rsvp-step h2{max-width:600px;margin:0 0 13px;color:#113d32;font-size:clamp(36px,6vw,56px);line-height:1.02}.rsvp-eyebrow{margin:0 0 12px;color:#ac7c28;font-size:11px;font-weight:900;letter-spacing:.2em}.rsvp-lead{max-width:570px;margin:0 0 28px;color:#66736c;font-size:16px;line-height:1.5}.rsvp-choice-grid,.messenger-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rsvp-choice{position:relative;display:grid;min-width:0;min-height:152px;padding:20px 16px;align-content:start;border:1px solid #ccd8d1;border-radius:22px;color:#153c32;background:#fff;text-align:left;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.rsvp-choice:hover{transform:translateY(-2px);border-color:#a98745}.rsvp-choice>span{display:grid;width:42px;height:42px;margin-bottom:20px;place-items:center;border-radius:50%;color:#fff;background:#174b3e;font:800 12px Arial,sans-serif}.rsvp-choice b{font:700 20px var(--serif)}.rsvp-choice small{margin-top:7px;color:#748078;font-size:12px;line-height:1.35}.rsvp-choice>i{position:absolute;top:15px;right:15px;display:none;width:25px;height:25px;place-items:center;border-radius:50%;color:#fff;background:#0d503f;font-style:normal}.rsvp-choice.selected{border-color:#b5842d;box-shadow:0 0 0 3px rgba(181,132,45,.15)}.rsvp-choice.selected>i{display:grid}.rsvp-choice-grid.two{grid-template-columns:repeat(2,1fr)}
.rsvp-field{display:grid;gap:9px;margin-top:22px;color:#153c32;font-weight:800}.rsvp-field input,.rsvp-field textarea{width:100%;min-height:58px;padding:15px 17px;border:1px solid #b9c9c0;border-radius:16px;color:#153c32;background:#fff;font:400 16px/1.4 Arial,sans-serif;outline:none}.rsvp-field textarea{min-height:126px;resize:vertical}.rsvp-field input:focus,.rsvp-field textarea:focus{border-color:#a97c2f;box-shadow:0 0 0 4px rgba(169,124,47,.13)}.rsvp-field small{color:#78847d;font-size:11px;font-weight:400}.messenger-contact{animation:rsvpReveal .25s ease}.rsvp-select-hint{margin:22px 0 0;padding:14px 17px;border-radius:14px;color:#69766f;background:#eef2ef;font-size:13px}
.rsvp-count{display:flex;gap:10px;margin-bottom:24px}.rsvp-count button{width:58px;height:58px;border:1px solid #bdcbc3;border-radius:50%;color:#153c32;background:#fff;font-weight:900;cursor:pointer}.rsvp-count button.selected{border-color:#c08b31;color:#fff;background:#164b3e;box-shadow:0 0 0 4px rgba(192,139,49,.16)}.rsvp-toggle{display:flex;min-height:74px;margin-top:22px;padding:15px 17px;align-items:center;justify-content:space-between;border:1px solid #cbd6d0;border-radius:18px;background:#fff}.rsvp-toggle>span{display:grid;gap:5px}.rsvp-toggle small{color:#748078;font-size:11px}.rsvp-toggle input{position:absolute;opacity:0}.rsvp-toggle>i{position:relative;width:54px;height:32px;border-radius:99px;background:#cad4ce;transition:.2s}.rsvp-toggle>i::after{content:'';position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.2s}.rsvp-toggle input:checked+i{background:#14503f}.rsvp-toggle input:checked+i::after{transform:translateX(22px)}.child-count{margin:14px 0 0}
.rsvp-error{margin:0 24px 12px;padding:12px 15px;border-radius:13px;color:#8f2431;background:#f9e4e6;font-size:13px;font-weight:700}.rsvp-actions{display:flex;gap:12px;padding:16px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid #d9e1dc;background:rgba(251,248,240,.97)}.rsvp-actions .button{width:auto;flex:1;color:#fff;background:linear-gradient(110deg,#b88a35,#0d503f)}.rsvp-back{min-width:116px;min-height:56px;padding:0 20px;border:1px solid #b9c8bf;border-radius:999px;color:#153c32;background:#fff;font-weight:800;cursor:pointer}.rsvp-success{display:grid;min-height:100%;place-items:center;align-content:center;text-align:center}.rsvp-success>span{display:grid;width:74px;height:74px;margin-bottom:24px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,#b98a34,#0d503f);font-size:32px}.rsvp-success p:not(.rsvp-eyebrow){max-width:480px;margin:0;color:#65726b;line-height:1.55}.rsvp-success>small{margin:14px 0 28px;color:#8a938e}.rsvp-success .button{color:#fff;background:#104c3c}@keyframes rsvpReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rsvp-actions[hidden]{display:none!important}
@media(max-width:620px){.rsvp-flow{padding:0}.rsvp-dialog{width:100%;height:100dvh;border:0;border-radius:0}.rsvp-dialog-head{min-height:74px;padding:calc(12px + env(safe-area-inset-top)) 16px 11px}.rsvp-dialog-head .close{width:44px;height:44px}.rsvp-step{padding:25px 18px}.rsvp-step h2{font-size:37px}.rsvp-lead{margin-bottom:22px;font-size:15px}.rsvp-choice-grid,.messenger-grid{grid-template-columns:1fr;gap:9px}.rsvp-choice{min-height:88px;padding:14px 48px 14px 70px;justify-content:center}.rsvp-choice>span{position:absolute;top:50%;left:14px;width:42px;height:42px;margin:0;transform:translateY(-50%)}.rsvp-choice b{font-size:18px}.rsvp-choice small{margin-top:3px}.rsvp-choice>i{top:50%;transform:translateY(-50%)}.rsvp-choice-grid.two{grid-template-columns:1fr 1fr}.rsvp-choice-grid.two .rsvp-choice{min-height:124px;padding:58px 12px 12px;text-align:center}.rsvp-choice-grid.two .rsvp-choice>span{top:13px;left:50%;transform:translateX(-50%)}.rsvp-choice-grid.two .rsvp-choice>i{top:12px;right:12px;transform:none}.rsvp-actions{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.rsvp-back{min-width:94px;padding:0 14px}.rsvp-error{margin:0 14px 8px}}
