:root{--night:#0e1f24;--night-2:#132b2e;--night-deep:#0a1619;--water:#20464a;--water-soft:#2c5a5c;--gold:#e6b44c;--gold-soft:#ebc677;--coral:#e68a6a;--sage:#8fb0a3;--green:#7fb08a;--parch:#f3ebdb;--parch-dim:rgba(243,235,219,0.68);--parch-faint:rgba(243,235,219,0.42);--line:rgba(143,176,163,0.22);--line-strong:rgba(143,176,163,0.34);--surface:#11262b;--surface-2:#152f35;--field:#0c2025;--bar-bg:rgba(10,22,25,0.92);--on-gold:#10201f;--danger:#b4645a;--st-yes:#2fa37a;--st-pend:#b98722;--st-no:#c9506a;--mag:#4e8c93;--mag-track:rgba(143,176,163,0.13);--serif:var(--font-serif),"Cormorant Garamond",Georgia,serif;--script:var(--font-script),"Great Vibes",cursive;--sans:var(--font-sans),"Jost","Helvetica Neue",system-ui,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--maxw:52rem;color-scheme:dark}html[data-theme=light]{--night:#f4f7f3;--night-2:#e9efea;--night-deep:#dfe8e2;--water:#cbd9d1;--water-soft:#b4c7bc;--gold:#b0781f;--gold-soft:#946018;--coral:#bc5a3a;--sage:#5c7d72;--green:#3f7a52;--parch:#15302c;--parch-dim:rgba(21,48,44,0.72);--parch-faint:rgba(21,48,44,0.48);--line:rgba(21,48,44,0.16);--line-strong:rgba(21,48,44,0.26);--surface:#ffffff;--surface-2:#f7f9f6;--field:#eef3ee;--bar-bg:rgba(255,255,255,0.94);--on-gold:#fff9ec;--danger:#a84a3e;--st-yes:#0f7f63;--st-pend:#be8410;--st-no:#ae2e63;--mag:#3c7078;--mag-track:rgba(21,48,44,0.1);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--night-deep)}body{margin:0;font-family:var(--sans);font-weight:300;font-size:16.5px;letter-spacing:.012em;color:var(--parch);-webkit-font-smoothing:antialiased;line-height:1.62;overflow-x:hidden;transition:color .4s ease}b,strong{font-weight:500}body:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}a{color:inherit}.sky{position:fixed;inset:0;z-index:-2;transition:opacity .4s ease;background:radial-gradient(120% 60% at 50% 88%,rgba(230,138,106,.2) 0,rgba(230,138,106,0) 55%),radial-gradient(90% 45% at 50% 96%,rgba(230,180,76,.22) 0,rgba(230,180,76,0) 60%),linear-gradient(180deg,#16333a,#0e1f24 42%,#0a1619)}html[data-theme=light] .sky{background:radial-gradient(120% 55% at 50% 92%,rgba(230,138,106,.16) 0,rgba(230,138,106,0) 55%),radial-gradient(95% 45% at 50% 100%,rgba(200,150,60,.2) 0,rgba(200,150,60,0) 62%),linear-gradient(180deg,#eef3ed,#e5ede7 48%,#dee8e1)}.stars{position:fixed;inset:0;z-index:-1;opacity:.5;pointer-events:none;transition:opacity .5s ease}html[data-theme=light] .stars{opacity:0}section{padding:clamp(4.5rem,11vh,7.5rem) 1.5rem;scroll-margin-top:5rem;position:relative;z-index:1}.wrap{max-width:var(--maxw);margin:0 auto}.narrow{max-width:40rem}.eyebrow{font-family:var(--sans);font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--sage);margin:0 0 1.5rem}.eyebrow,h2.sh{font-weight:500}h2.sh{font-family:var(--serif);font-size:clamp(2.4rem,6.5vw,3.4rem);line-height:1.08;letter-spacing:.01em;margin:0 0 2.4rem;text-wrap:balance;text-align:center;position:relative;padding-bottom:1.5rem}h2.sh:after{bottom:0;transform:translateX(-50%);width:150px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--gold) 65%,transparent) 18%,color-mix(in srgb,var(--gold) 65%,transparent) 82%,transparent)}h2.sh:after,h2.sh:before{content:"";position:absolute;left:50%}h2.sh:before{bottom:-3.5px;width:8px;height:8px;transform:translateX(-50%) rotate(45deg);background:var(--gold)}h2.sh.mid{margin-bottom:3rem}.lead{font-size:1.08rem;font-weight:300;color:var(--parch-dim);text-wrap:pretty;margin:0 0 1.5rem}.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 1.5rem 9rem;position:relative}.hero .names{font-family:var(--serif);font-weight:500;font-size:clamp(3.6rem,16vw,8.2rem);line-height:.96;margin:0;letter-spacing:.01em;text-wrap:balance;color:var(--parch)}.hero .amp{font-size:.72em;color:var(--gold);vertical-align:-.06em;margin:0 .04em}.astor-line,.hero .amp{font-family:var(--script)}.astor-line{font-size:clamp(2.4rem,10vw,4.2rem);line-height:1.2;color:var(--gold-soft);margin:.6rem 0 0}.hero .sub{max-width:34rem;margin:2.2rem auto 0;font-size:1.06rem;font-weight:300;color:var(--parch-dim);text-wrap:pretty}.scrollcue{position:absolute;bottom:1.4rem;left:50%;transform:translateX(-50%);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--parch-faint);display:flex;flex-direction:column;align-items:center;gap:.5rem}.scrollcue .dot{width:1px;height:30px;background:linear-gradient(var(--sage),transparent)}.status-chip{display:inline-flex;align-items:center;gap:.55rem;margin-top:2.2rem;font-family:var(--sans);font-size:.82rem;text-decoration:none;border-radius:999px;padding:.5rem 1.05rem;cursor:pointer;border:1px solid rgba(230,180,76,.34);background:rgba(230,180,76,.1);color:var(--gold-soft);transition:background .2s}.status-chip:hover{background:rgba(230,180,76,.18)}.status-chip:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}.status-chip .pip{width:.45rem;height:.45rem;border-radius:50%;background:var(--gold)}.status-chip.ok{border-color:rgba(127,176,138,.42);background:rgba(127,176,138,.12);color:var(--green)}.status-chip.ok .pip{background:var(--green)}.count{display:flex;gap:clamp(.8rem,4vw,2.4rem);justify-content:center;margin-top:2.6rem}.count .u{display:flex;flex-direction:column;align-items:center;min-width:3.2rem}.count .n{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,8vw,3.2rem);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--parch);line-height:1}.count .l{font-size:.62rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--sage);margin-top:.55rem}.story p{font-size:1.14rem;font-weight:300;line-height:1.75;color:var(--parch-dim);margin:0 0 1.2rem;text-wrap:pretty}.story .sig{font-family:var(--script);font-size:2.5rem;color:var(--gold-soft);margin-top:1.8rem}.tl{position:relative;max-width:34rem;margin:0 auto;padding-left:6.1rem}.tl:before{content:"";position:absolute;left:4.15rem;top:.4rem;bottom:.4rem;width:1px;background:linear-gradient(var(--gold),var(--water-soft) 45%,var(--line))}.ev{position:relative;padding:0 0 2.2rem}.ev:last-child{padding-bottom:0}.ev:before{content:"";position:absolute;left:-2.225rem;top:.42rem;width:.55rem;height:.55rem;border-radius:1px;transform:rotate(45deg);background:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 14%,transparent)}.ev-ico{position:absolute;left:-6.1rem;top:-.3rem;width:3.4rem;height:3.4rem;color:color-mix(in srgb,var(--gold-soft) 92%,transparent);display:flex;align-items:center;justify-content:center}.ev-ico svg{width:100%;height:100%}.ev.morning .ev-ico{color:color-mix(in srgb,var(--coral) 80%,transparent)}button.ev-ico{background:none;border:1px dashed transparent;border-radius:8px;cursor:pointer;padding:.2rem}button.ev-ico:hover{border-color:color-mix(in srgb,var(--gold) 45%,transparent)}button.ev-ico.empty{color:var(--parch-faint);font-size:1rem}.ico-pop{position:absolute;left:-2.6rem;top:2.6rem;z-index:6;display:grid;grid-template-columns:repeat(4,2.4rem);grid-gap:.3rem;gap:.3rem;padding:.5rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.35)}.ico-pop button{width:2.4rem;height:2.4rem;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:7px;color:var(--parch-dim);cursor:pointer;padding:.3rem}.ico-pop button svg{width:100%;height:100%}.ico-pop button:hover{border-color:var(--line);color:var(--parch)}.ico-pop button.on{border-color:var(--gold);color:var(--gold-soft)}.ev .t{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft)}.ev .h{font-family:var(--serif);font-weight:600;font-size:1.55rem;margin:.2rem 0 .25rem;color:var(--parch)}.ev .d{font-size:.98rem;color:var(--parch-dim)}.ev.morning:before{background:var(--coral);box-shadow:0 0 0 4px rgba(230,138,106,.16)}.ev.morning .t{color:var(--coral)}.cards{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.box{background:color-mix(in srgb,var(--surface) 72%,transparent);border:1px solid var(--line);border-radius:6px;padding:1.6rem 1.5rem;position:relative}.box:before{content:"";position:absolute;inset:5px;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);border-radius:3px;pointer-events:none}.box h3{font-family:var(--serif);font-weight:600;font-size:1.45rem;margin:0 0 .5rem}.box p{margin:0 0 .6rem;font-size:.97rem;color:var(--parch-dim)}.box p:last-child{margin-bottom:0}.box .k{font-size:.62rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--sage);margin:0 0 .7rem}.box.accent{border-color:rgba(230,138,106,.4)}.box.accent h3{color:var(--coral)}.mapbox{border:1px dashed var(--line);border-radius:16px;background:var(--night-2);min-height:11rem;display:grid;place-items:center;text-align:center;padding:1.5rem;color:var(--parch-faint);font-size:.86rem;letter-spacing:.04em}.btnline{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.place-photos{display:grid;grid-template-columns:1fr;grid-gap:1.1rem;gap:1.1rem;margin:1.6rem 0 .4rem}@media (min-width:46rem){.place-photos:not(.solo){grid-template-columns:1fr 1fr}}.pph{margin:0;display:flex;flex-direction:column;gap:.5rem}.pph-img{display:block;border:1px solid var(--line-strong);border-radius:14px;overflow:hidden;background:var(--night-2);box-shadow:0 14px 38px rgba(0,0,0,.22);aspect-ratio:4/3}a.pph-img{transition:border-color .2s}a.pph-img:hover{border-color:var(--gold)}a.pph-img:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.pph-img img{width:100%;height:100%;object-fit:cover;display:block}.place-photos.solo .pph-img{aspect-ratio:16/10}.pph-cap{font-family:var(--sans);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--parch-dim);text-align:center;display:flex;justify-content:center;gap:.5rem;align-items:center}.pph-cap input{flex:1 1;max-width:22rem;background:var(--night-2);border:1px solid var(--line);border-radius:8px;color:var(--parch);font-size:.8rem;padding:.45rem .6rem}.ghost{font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--parch);text-decoration:none;background:transparent;border:1px solid var(--line-strong);border-radius:3px;padding:.75rem 1.2rem;cursor:pointer;transition:.2s;display:inline-block}.ghost:hover{border-color:var(--gold);color:var(--gold-soft)}.ghost:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}.facts-grid .cell{background:var(--night);padding:1.6rem 1.3rem}.facts-grid .k{font-size:.62rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--sage);margin:0 0 .55rem}.facts-grid .v{font-family:var(--serif);font-weight:600;font-size:1.4rem;color:var(--parch);margin:0;line-height:1.25}.facts-grid .v small{display:block;font-family:var(--sans);font-size:.82rem;color:var(--parch-dim);margin-top:.4rem;letter-spacing:0;text-transform:none;line-height:1.4}.rsvp-hd{text-align:center;margin-bottom:1.8rem}.rsvp-hd h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,6vw,2.6rem);margin:0 0 .6rem;line-height:1.05;text-wrap:balance}.rsvp-intro{color:var(--parch-dim);max-width:30rem;margin:.4rem auto 0;text-wrap:pretty;font-size:1.02rem}.deadline{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.1rem;font-size:.82rem;color:var(--gold-soft);background:rgba(230,180,76,.1);border:1px solid rgba(230,180,76,.28);border-radius:999px;padding:.4rem .9rem}.deadline b{color:var(--parch);font-weight:600}.sectitle{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin:2rem 0 .8rem;display:flex;align-items:center;gap:.7rem}.sectitle:after{content:"";flex:1 1;height:1px;background:var(--line)}.person{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem;margin-bottom:.8rem;transition:border-color .3s,opacity .3s}.person.coming{border-color:rgba(127,176,138,.45)}.person.declined{opacity:.62}.person .top{display:flex;align-items:center;gap:.85rem}.avatar{width:2.7rem;height:2.7rem;flex:none;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.15rem;color:var(--night-deep);background:linear-gradient(150deg,var(--gold-soft),var(--coral))}.person.child .avatar{background:linear-gradient(150deg,var(--sage),var(--water-soft));color:var(--parch);font-size:1.3rem}.person.plus{border-style:dashed}.person.plus.coming{border-style:solid}.person.plus .avatar{background:none;border:1px dashed var(--line);color:var(--sage);font-size:1.3rem}.person.plus.coming .avatar{background:linear-gradient(150deg,var(--gold-soft),var(--coral));border:0;color:var(--night-deep)}.person .pid{flex:1 1;min-width:0}.person .nm{font-family:var(--serif);font-size:1.2rem;line-height:1.2}.person .tag{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--parch-faint)}.yn{display:flex;gap:3px;background:var(--field);padding:3px;border-radius:11px;flex:none}.yn button{font-family:var(--sans);font-size:.82rem;font-weight:600;color:var(--parch-dim);background:transparent;border:0;cursor:pointer;padding:.5rem .8rem;border-radius:8px;transition:.18s}.yn button.y.on{background:var(--green);color:#0c1e12}.yn button.n.on{background:var(--danger);color:#fff}.yn button:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.detail{max-height:0;overflow:hidden;opacity:0;transition:max-height .45s ease,opacity .3s ease,margin .45s ease}.person.coming .detail{max-height:44rem;opacity:1;margin-top:.9rem}.detail .dl{font-size:.78rem;color:var(--parch-dim);margin:0 0 .5rem}.detail .sub-q{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line)}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{font-family:var(--sans);font-size:.8rem;color:var(--parch-dim);background:var(--field);border:1px solid var(--line);border-radius:999px;padding:.36rem .75rem;cursor:pointer;transition:.18s}.chip.on{background:var(--gold-soft);color:var(--on-gold);border-color:var(--gold-soft);font-weight:600}.chip:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.veghint{font-size:.74rem;color:var(--parch-faint);margin:.5rem 0 0}.kidnote{font-size:.78rem;color:var(--sage);margin-top:.7rem}.plusname{font-family:var(--serif);font-size:1.1rem;color:var(--parch);background:var(--field);border:1px solid var(--line);border-radius:9px;padding:.4rem .6rem;width:100%;max-width:16rem}.plusname:focus{outline:none;border-color:var(--gold)}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.1rem}.card p.q{margin:0 0 .8rem;font-size:1rem}textarea.msg{width:100%;font-family:var(--sans);font-size:.95rem;color:var(--parch);background:var(--field);border:1px solid var(--line);border-radius:10px;padding:.65rem .8rem;min-height:4rem;resize:vertical}textarea.msg:focus{outline:none;border-color:var(--gold)}.recap{background:var(--surface);border:1px solid rgba(127,176,138,.4);border-radius:16px;padding:1.2rem 1.3rem}.recap .rl{padding:.3rem 0;font-size:.98rem}.recap .note{color:var(--parch-dim);font-size:.9rem;margin:.9rem 0 0}.tickline{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}.tick{width:2rem;height:2rem;border-radius:50%;border:1.5px solid var(--green);display:grid;place-items:center;color:var(--green);font-size:1rem;flex:none}.tickline .th{font-family:var(--serif);font-size:1.25rem}.mark-yes{color:var(--green)}.mark-no,.mark-yes{font-family:var(--sans);font-weight:700}.mark-no{color:var(--parch-faint)}.cbu{display:flex;align-items:center;gap:.7rem;justify-content:space-between;flex-wrap:wrap;background:var(--field);border:1px solid var(--line);border-radius:11px;padding:.6rem .8rem;margin-top:.5rem}.cbu code{font-family:var(--mono);font-size:.85rem;color:var(--parch);letter-spacing:.02em}.cbu button{font-family:var(--sans);font-size:.76rem;color:var(--gold-soft);background:transparent;border:1px solid var(--line);border-radius:8px;padding:.35rem .7rem;cursor:pointer;transition:.18s}.cbu button:hover{border-color:var(--gold)}.fixedbar{position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--bar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:.8rem 1.1rem calc(.8rem + env(safe-area-inset-bottom))}.fixedbar .in{max-width:40rem;margin:0 auto;display:flex;align-items:center;gap:1rem}.fixedbar .sum{flex:1 1;min-width:0}.fixedbar .sum .big{font-family:var(--serif);font-size:1.05rem}.fixedbar .sum .sub{font-size:.76rem;color:var(--parch-faint)}.fixedbar .go{flex:none;font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--on-gold);background:var(--gold);border:0;border-radius:3px;padding:.9rem 1.35rem;cursor:pointer;transition:.2s}.fixedbar .go:disabled{opacity:.4;cursor:not-allowed}.fixedbar .go:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.fixedbar.ok .go{background:transparent;color:var(--parch);border:1px solid var(--line);font-weight:600}body.has-bar{padding-bottom:6.5rem}.foot{text-align:center;padding:5rem 1.5rem 3rem;border-top:1px solid var(--line);background:var(--night-deep)}.foot .three{font-family:var(--script);font-size:clamp(2.6rem,8vw,4rem);color:var(--gold-soft);margin:0 0 .8rem}.foot .m{color:var(--parch-faint);font-size:.85rem;letter-spacing:.03em}.theme-toggle{position:fixed;top:12px;right:12px;z-index:50;font-family:var(--sans);font-size:.76rem;color:var(--parch-dim);background:var(--bar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;cursor:pointer}.theme-toggle:hover{color:var(--gold-soft);border-color:var(--gold)}.admin-page{max-width:74rem;margin:0 auto;padding:1.4rem clamp(.9rem,3vw,1.8rem) 4rem;font-size:15px}.topbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-bottom:1.1rem;border-bottom:1px solid var(--line);margin-bottom:1.4rem}.brand{display:flex;flex-direction:column;gap:.15rem;margin-right:auto}.brand .t{font-family:var(--serif);font-weight:600;font-size:1.7rem;line-height:1.05}.brand .s{font-size:.64rem;letter-spacing:.3em;color:var(--sage)}.brand .s,.btn{font-weight:500;text-transform:uppercase}.btn{font-family:var(--sans);font-size:.68rem;letter-spacing:.14em;color:var(--parch);background:transparent;border:1px solid var(--line-strong);border-radius:3px;padding:.6rem 1rem;cursor:pointer;transition:.18s;text-decoration:none;display:inline-block}.btn:hover{color:var(--gold-soft)}.btn.primary,.btn:hover{border-color:var(--gold)}.btn.primary{background:var(--gold);color:var(--on-gold)}.btn.primary:hover{opacity:.9;color:var(--on-gold)}.btn:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.acols,.agrid{display:grid;grid-gap:.9rem;gap:.9rem}.acols{grid-template-columns:1fr}@media (min-width:900px){.acols{grid-template-columns:1.55fr 1fr;align-items:start}}.acard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem}.acard h2{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin:0 0 .9rem}.heronum .n{font-family:var(--serif);font-size:clamp(2.6rem,8vw,3.6rem);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.heronum .n small{font-family:var(--sans);font-size:.9rem;color:var(--parch-dim);letter-spacing:0;margin-left:.5rem}.heronum .sub{color:var(--parch-dim);font-size:.92rem;margin:.45rem 0 1.2rem}.stack{display:flex;gap:2px;height:.85rem}.stack span{display:block;min-width:2px}.stack span:first-child{border-radius:4px 0 0 4px}.stack span:last-child{border-radius:0 4px 4px 0}.s-yes{background:var(--st-yes)}.s-no{background:var(--st-no)}.s-pend{background:var(--st-pend)}.leg{flex-wrap:wrap;gap:.4rem 1.3rem;margin-top:.95rem}.leg,.lg{display:flex}.lg{align-items:baseline;gap:.5rem;font-size:.86rem}.lg .sw{width:.62rem;height:.62rem;border-radius:3px;flex:none;transform:translateY(1px)}.lg .nm{color:var(--parch-dim)}.lg .vl{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.tiles{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr))}.tile{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1.05rem 1.15rem}.tile .k{font-size:.6rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--sage);margin:0 0 .5rem}.tile .v{font-family:var(--serif);font-weight:600;font-size:2.2rem;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile .d{font-size:.78rem;color:var(--parch-faint);margin-top:.4rem}.bars{display:flex;flex-direction:column;gap:.75rem}.brow{display:grid;grid-template-columns:1fr auto;grid-gap:.2rem .8rem;gap:.2rem .8rem;align-items:baseline}.brow .bl{font-size:.88rem;color:var(--parch-dim)}.brow .bv{font-size:.88rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.brow .track{grid-column:1/-1;height:.5rem;background:var(--mag-track);border-radius:4px;overflow:hidden}.brow .fill{height:100%;background:var(--mag);border-radius:4px}.alertcard{border-color:color-mix(in srgb,var(--st-pend) 45%,var(--line))}.alertcard .ttl{display:flex;align-items:center;gap:.55rem;font-family:var(--serif);font-size:1.15rem;margin-bottom:.4rem}.alertcard .ico{width:1.1rem;height:1.1rem;border-radius:50%;border:1.5px solid var(--st-pend);color:var(--st-pend);font-size:.72rem;display:grid;place-items:center;flex:none;font-family:var(--sans);font-weight:700}.alertcard p{color:var(--parch-dim);font-size:.9rem;margin:0 0 .9rem}.msgs{display:flex;flex-direction:column;gap:.75rem;max-height:15rem;overflow-y:auto}.msgitem{border-left:2px solid var(--line-strong);padding-left:.75rem}.msgitem .who{font-size:.76rem;color:var(--sage);letter-spacing:.04em}.msgitem .tx{font-size:.88rem;color:var(--parch-dim)}.tools{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1.6rem 0 .9rem}.search{font-family:var(--sans);font-size:.88rem;color:var(--parch);background:var(--field);border:1px solid var(--line);border-radius:9px;padding:.55rem .8rem;min-width:13rem;flex:1 1}.search:focus{outline:none;border-color:var(--gold)}.fchip{font-family:var(--sans);font-size:.8rem;color:var(--parch-dim);background:var(--field);border:1px solid var(--line);border-radius:999px;padding:.4rem .8rem;cursor:pointer;transition:.16s;display:inline-flex;align-items:center;gap:.4rem}.fchip .sw{width:.5rem;height:.5rem;border-radius:2px}.fchip.on{background:var(--surface-2);border-color:var(--gold);color:var(--parch);font-weight:600}.fchip:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.tablecard{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden}.scroller{overflow-x:auto}table.gt{width:100%;border-collapse:collapse;font-size:.88rem;min-width:44rem}.gt thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--surface-2);text-align:left;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--sage);font-weight:500;padding:.8rem .95rem;white-space:nowrap}.gt tbody td,.gt thead th{border-bottom:1px solid var(--line)}.gt tbody td{padding:.65rem .9rem;vertical-align:top}.gt tbody tr.g{cursor:pointer}.gt tbody tr.g:hover{background:var(--surface-2)}.gt tbody tr.g:focus-visible{outline:2px solid var(--gold-soft);outline-offset:-2px}.gname{font-family:var(--serif);font-weight:600;font-size:1.15rem}.gsub{font-size:.76rem;color:var(--parch-faint)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:600;border-radius:999px;padding:.22rem .6rem;white-space:nowrap}.pill .sw{width:.45rem;height:.45rem;border-radius:50%;flex:none}.p-yes{color:var(--st-yes);background:color-mix(in srgb,var(--st-yes) 14%,transparent)}.p-yes .sw{background:var(--st-yes)}.p-no{color:var(--st-no);background:color-mix(in srgb,var(--st-no) 14%,transparent)}.p-no .sw{background:var(--st-no)}.p-pend{color:var(--st-pend);background:color-mix(in srgb,var(--st-pend) 14%,transparent)}.p-pend .sw{background:var(--st-pend)}.flags-row{display:flex;flex-wrap:wrap;gap:.25rem}.fl{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--parch-faint);border:1px solid var(--line);border-radius:5px;padding:.1rem .38rem;white-space:nowrap}.fl.hi{color:var(--gold-soft);border-color:color-mix(in srgb,var(--gold) 40%,transparent)}tr.rowdetail td{background:var(--field);padding:.9rem 1.1rem}.plist{display:flex;flex-direction:column;gap:.4rem}.prow{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.85rem}.prow .pn{font-weight:600;min-width:9rem}.dmsg,.prow .pd{color:var(--parch-dim)}.dmsg{margin-top:.8rem;font-size:.85rem;font-style:italic}.copybtn{margin-left:.5rem}.emptyrow{padding:2.4rem 1rem;font-size:.9rem}.emptyrow,.tfoot{text-align:center;color:var(--parch-faint)}.tfoot{margin-top:1rem;font-size:.76rem}.login-wrap{min-height:100svh;display:grid;place-items:center;padding:1.5rem}.login-card{position:relative;width:100%;max-width:22rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;padding:2.2rem 1.9rem}.login-card:before{content:"";position:absolute;inset:7px;border:1px solid color-mix(in srgb,var(--line) 60%,transparent);border-radius:3px;pointer-events:none}.login-card>*{position:relative}.login-card h1{font-family:var(--serif);font-weight:500;font-size:2rem;line-height:1.1;margin:0 0 .4rem}.login-card .s{color:var(--parch-dim);font-size:.88rem;margin:0 0 1.4rem}.login-card label{display:block;font-size:.64rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--sage);margin:1rem 0 .4rem}.login-card input{width:100%;font-family:var(--sans);font-size:.98rem;color:var(--parch);background:transparent;border:1px solid var(--line);border-radius:3px;padding:.7rem .85rem;transition:border-color .15s}.login-card input:focus{outline:none;border-color:var(--gold)}.login-card .err{color:var(--st-no);font-size:.84rem;margin-top:.9rem}.login-card button[type=submit]{width:100%;margin-top:1.5rem;font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--on-gold);background:var(--gold);border:0;border-radius:3px;padding:.95rem;cursor:pointer;transition:.2s}.login-card button[type=submit]:hover{filter:brightness(1.06)}.landing{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem}.landing h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,8vw,4rem);margin:0 0 1rem;text-wrap:balance}.landing h1 em{color:var(--gold);font-style:italic}.landing p{color:var(--parch-dim);max-width:34rem;font-size:1.05rem;text-wrap:pretty}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}.cfg{display:flex;flex-direction:column;gap:1rem}.cfg-sec h2{margin-bottom:.6rem}.cfg-sec-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.cfg-sec-head h2{margin:0}.cfg-help{color:var(--parch-faint);font-size:.84rem;margin:.2rem 0 .9rem}.cfg-field{display:flex;flex-direction:column;gap:.3rem;margin-top:.7rem}.cfg-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);display:block}.cfg-label em{font-style:normal;text-transform:none;letter-spacing:0;color:var(--parch-faint)}.cfg input,.cfg textarea{font-family:var(--sans);font-size:.92rem;color:var(--parch);background:var(--field);border:1px solid var(--line);border-radius:9px;padding:.55rem .75rem;width:100%}.cfg input:focus,.cfg textarea:focus{outline:none;border-color:var(--gold)}.cfg textarea{min-height:4rem;resize:vertical}.cfg-grid2{display:grid;grid-gap:0 1rem;gap:0 1rem;grid-template-columns:1fr}@media (min-width:720px){.cfg-grid2{grid-template-columns:1fr 1fr}}.cfg-row{display:flex;gap:.5rem;align-items:flex-start;margin-top:.5rem;flex-wrap:wrap}.cfg-row input,.cfg-row textarea{width:auto}.cfg-w-s{flex:0 1 8rem;min-width:6rem}.cfg-w-m{flex:0 1 14rem;min-width:10rem}.cfg-grow{flex:1 1 14rem;min-width:12rem}.cfg-del{color:var(--st-no)}.cfg-toggle-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0 .4rem}.cfg-voice{border-top:1px dashed var(--line);margin-top:1rem;padding-top:.6rem}.cfg-voice h3{font-family:var(--serif);font-weight:500;font-size:1.1rem;margin:.4rem 0 0}.cfg-savebar{position:-webkit-sticky;position:sticky;bottom:.8rem;z-index:30;display:flex;align-items:center;justify-content:flex-end;gap:1rem;background:var(--bar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem}.cfg-err{color:var(--st-no);font-size:.86rem}.cfg-ok{color:var(--st-yes);font-size:.86rem}.bld-head{margin:.6rem 0 .2rem}.bld-title{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:0 0 .3rem}.bld-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;transition:border-color .2s,opacity .2s,transform .15s}.bld-card.off{opacity:.55}.bld-card.dragging{border-color:var(--gold);transform:scale(1.01)}.bld-row{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;cursor:pointer}.bld-handle{color:var(--parch-faint);font-size:1.1rem;cursor:-webkit-grab;cursor:grab;padding:.2rem .3rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bld-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.bld-id{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.bld-label{font-family:var(--serif);font-size:1.1rem}.bld-desc{font-size:.78rem;color:var(--parch-faint);display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.bld-aud{font-size:.62rem}.bld-caret{color:var(--parch-faint);font-size:.8rem;transition:transform .2s}.bld-caret.open{transform:rotate(180deg)}.bld-switch{position:relative;width:2.6rem;height:1.45rem;flex:none;border-radius:999px;border:1px solid var(--line-strong);background:var(--field);cursor:pointer;transition:background .2s,border-color .2s}.bld-switch .knob{position:absolute;top:2px;left:2px;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--parch-faint);transition:left .2s,background .2s}.bld-switch.on{background:color-mix(in srgb,var(--st-yes) 30%,var(--field));border-color:var(--st-yes)}.bld-switch.on .knob{left:calc(100% - 1.1rem - 2px);background:var(--st-yes)}.bld-switch:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.bld-body{border-top:1px solid var(--line);padding:.4rem 1.1rem 1.1rem}.cfg-import{width:100%;min-height:9rem;font-family:var(--mono);font-size:.82rem;color:var(--parch);background:var(--field);border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;resize:vertical;white-space:pre;overflow-x:auto}.cfg-import:focus{outline:none;border-color:var(--gold)}.import-preview{margin-top:.7rem}.import-list{display:flex;flex-direction:column;gap:.3rem;max-height:14rem;overflow-y:auto;border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;background:var(--field)}.import-row{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.84rem}.import-row span{color:var(--parch-dim)}.editor-root{padding-top:3.4rem;padding-bottom:5rem}.ed-topbar{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;background:var(--bar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:.5rem .9rem}.ed-mode{font-size:.78rem;color:var(--gold-soft);letter-spacing:.04em;margin-right:auto}.ed-voice{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--parch-faint)}.ed-savebar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:flex-end;gap:1rem;background:var(--bar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom))}.ed-savebar.dirty{border-top-color:var(--gold)}.ed-pending{font-size:.82rem;color:var(--st-pend)}.editable{cursor:text;border-radius:6px;outline:none;transition:box-shadow .15s,background .15s}.editable:hover{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--gold) 45%,transparent)}.editable:focus{box-shadow:0 0 0 2px var(--gold);background:color-mix(in srgb,var(--gold) 8%,transparent)}.editable:empty:before{content:attr(data-placeholder);color:var(--parch-faint);font-style:italic}.edsec{position:relative;border-top:1px dashed transparent;transition:opacity .2s}.edsec:hover{border-top-color:var(--line)}.edsec.off>section{opacity:.35;filter:saturate(.4)}.edsec-bar{position:-webkit-sticky;position:sticky;top:3.2rem;z-index:20;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 1.6rem);margin:0 auto;transform:translateY(1.4rem);background:var(--bar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;padding:.25rem .4rem .25rem .9rem;opacity:.35;transition:opacity .15s}.edsec-bar:focus-within,.edsec:hover .edsec-bar{opacity:1}.edsec-name{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);white-space:nowrap}.edsec-btns{display:inline-flex;gap:2px}.edsec-btns button{font-family:var(--sans);font-size:.8rem;color:var(--parch-dim);background:transparent;border:1px solid var(--line);border-radius:999px;width:1.7rem;height:1.7rem;cursor:pointer;transition:.15s;display:grid;place-items:center}.edsec-btns button:hover{border-color:var(--gold);color:var(--gold-soft)}.edsec-btns .edsec-power.on{color:var(--st-yes);border-color:color-mix(in srgb,var(--st-yes) 50%,transparent)}.edsec-btns button:focus-visible{outline:2px solid var(--gold-soft);outline-offset:1px}.edsec.fixed .edsec-bar{opacity:.35}.edsec.fixed:hover .edsec-bar{opacity:1}.ed-parrow{position:relative}.ed-parrow .ed-del{position:absolute;right:-1.9rem;top:.2rem}.ed-del{font-family:var(--sans);font-size:.7rem;color:var(--st-no);background:transparent;border:1px solid color-mix(in srgb,var(--st-no) 35%,transparent);border-radius:999px;width:1.4rem;height:1.4rem;cursor:pointer;margin-left:.4rem;vertical-align:middle;opacity:.5;transition:.15s}.ed-del:hover{opacity:1}.ed-addrow{display:flex;gap:.5rem;justify-content:center;margin-top:1.2rem}.ed-stay{font-size:.62rem;padding:.2rem .55rem;margin-left:.5rem;opacity:.7}.ed-stay.on{opacity:1}.hero-photo{position:absolute;inset:0;overflow:hidden;z-index:-1}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-veil{position:absolute;inset:0;background:radial-gradient(130% 95% at 50% 42%,color-mix(in srgb,var(--night-deep) 34%,transparent) 0,color-mix(in srgb,var(--night-deep) 68%,transparent) 100%),linear-gradient(180deg,color-mix(in srgb,var(--night-deep) 72%,transparent) 0,color-mix(in srgb,var(--night-deep) 52%,transparent) 46%,var(--night-deep) 100%)}.hero.with-photo{position:relative;isolation:isolate}.hero.with-photo .astor-line,.hero.with-photo .eyebrow,.hero.with-photo .names,.hero.with-photo .sub{text-shadow:0 1px 18px color-mix(in srgb,var(--night-deep) 65%,transparent)}.design-panel{position:fixed;top:3.4rem;right:.8rem;z-index:70;width:min(21rem,calc(100vw - 1.6rem));max-height:calc(100dvh - 4.2rem);overflow-y:auto;overscroll-behavior:contain;background:var(--bar-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line-strong);border-radius:14px;padding:.9rem 1rem 1.1rem;box-shadow:0 18px 50px rgba(0,0,0,.4)}.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.dp-title{font-family:var(--serif);font-size:1.15rem}.dp-label{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin:.9rem 0 .45rem}.dp-palettes{display:grid;grid-template-columns:1fr 1fr;grid-gap:.45rem;gap:.45rem}.dp-palette{display:flex;align-items:center;gap:.5rem;font-family:var(--sans);font-size:.8rem;color:var(--parch-dim);text-align:left;background:var(--field);border:1px solid var(--line);border-radius:10px;padding:.45rem .6rem;cursor:pointer;transition:.15s}.dp-palette.on{border-color:var(--gold);color:var(--parch);font-weight:600}.dp-palette:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.dp-swatches{display:inline-flex;flex:none}.dp-swatches span{width:.85rem;height:.85rem;border-radius:50%;border:1px solid rgba(127,127,127,.35);margin-left:-.25rem}.dp-swatches span:first-child{margin-left:0}.dp-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dp-hint{font-size:.72rem;color:var(--parch-faint);margin:.35rem 0 0}.dp-thumb{width:3.4rem;height:2.4rem;object-fit:cover;border-radius:7px;border:1px solid var(--line)}.dp-rainbow span:first-child{background:conic-gradient(#e6b44c,#e68a6a,#8fb0a3,#e6b44c)}.dp-rainbow span:nth-child(2){background:conic-gradient(#c9506a,#4e8c93,#cda75b,#c9506a)}.dp-rainbow span:nth-child(3){background:conic-gradient(#8fb0a3,#d9a05b,#b39aa4,#8fb0a3)}.dp-custom{margin-top:.6rem;display:flex;flex-direction:column;gap:.4rem}.dp-color{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--parch-dim);background:var(--field);border:1px solid var(--line);border-radius:10px;padding:.35rem .6rem}.dp-color input[type=color]{width:2rem;height:2rem;padding:0;border:none;background:none;cursor:pointer;border-radius:7px}.dp-color input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.dp-color input[type=color]::-webkit-color-swatch{border:1px solid var(--line-strong);border-radius:6px}.dp-color span{flex:1 1}.dp-color code{font-family:var(--mono);font-size:.72rem;color:var(--parch-faint)}.liveday .ev.live-past{opacity:.45}.liveday .ev.live-past:before{background:var(--sage);box-shadow:none}.liveday .ev.live-now:before{background:var(--gold);box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 25%,transparent);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 30%,transparent)}50%{box-shadow:0 0 0 9px color-mix(in srgb,var(--gold) 10%,transparent)}}.liveday .here{margin-left:.6rem;font-size:.62rem;letter-spacing:.12em;color:var(--on-gold);background:var(--gold);border-radius:999px;padding:.15rem .55rem}.liveday .past-mark{margin-left:.5rem;color:var(--green);font-size:.8rem}.wall-actions{display:flex;justify-content:center}.wall-up{font-family:var(--sans);font-size:.82rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--on-gold);background:var(--gold);border:0;border-radius:3px;padding:1rem 1.8rem;cursor:pointer;transition:.2s}.wall-up:hover{filter:brightness(1.06)}.wall-up:disabled{opacity:.5}.wall-up:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}.wall-empty{text-align:center;color:var(--parch-faint);margin-top:2rem}.wall-grid{margin-top:2rem;display:grid;grid-gap:.6rem;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr))}.wall-item{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:0;background:var(--surface);cursor:zoom-in;aspect-ratio:1}.wall-item img{width:100%;height:100%;object-fit:cover;display:block}.wall-by{position:absolute;left:0;right:0;bottom:0;font-family:var(--sans);font-size:.68rem;color:#fff;text-align:left;padding:.9rem .55rem .35rem;background:linear-gradient(transparent,rgba(0,0,0,.65))}.wall-item:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.lightbox{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;padding:1rem}.lightbox img{max-width:94vw;max-height:80vh;border-radius:10px}.lb-bar{display:flex;align-items:center;gap:.8rem;color:#eee;font-size:.9rem}.mem-list{display:flex;flex-direction:column;gap:1rem}.mem{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.3rem}.mem p{margin:0 0 .5rem;font-size:1.02rem;color:var(--parch-dim);font-style:italic}.mem footer{font-family:var(--script);font-size:1.3rem;color:var(--gold-soft)}.padm-grid{display:grid;grid-gap:.7rem;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.padm-item{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.padm-item img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.padm-bar{display:flex;align-items:center;gap:.35rem;padding:.4rem .55rem;font-size:.76rem;color:var(--parch-dim)}.padm-bar span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesa{padding-top:1rem;padding-bottom:1rem}.mesa-card{background:var(--surface);border:1.5px solid var(--gold);border-radius:18px;padding:1.4rem 1.6rem;text-align:center}.mesa-card .k{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);margin:0 0 .3rem}.mesa-name{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,6vw,2.4rem);margin:0;color:var(--gold-soft)}.mesa-con{color:var(--parch-dim);font-size:.95rem;margin:.5rem 0 0}.frase-form{display:flex;flex-direction:column;gap:.7rem;align-items:center}.frase-form textarea{max-width:30rem}.song-form{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.song-input{flex:1 1 16rem;max-width:22rem;font-family:var(--sans);font-size:.95rem;color:var(--parch);background:var(--field);border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem}.song-input:focus{outline:none;border-color:var(--gold)}.song-list{margin-top:1.6rem;display:flex;flex-direction:column;gap:.5rem;max-width:32rem;margin-left:auto;margin-right:auto}.song-row{display:flex;align-items:center;gap:.7rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.6rem .9rem}.song-rank{font-family:var(--serif);font-size:1.1rem;color:var(--parch-faint);min-width:1.4rem;text-align:right}.song-title{flex:1 1;font-size:.95rem}.song-title small{display:block;color:var(--parch-faint);font-size:.72rem}.song-vote{font-family:var(--sans);font-size:.85rem;font-weight:600;color:var(--parch-dim);background:var(--field);border:1px solid var(--line);border-radius:999px;padding:.35rem .75rem;cursor:pointer;transition:.15s;white-space:nowrap}.song-vote.on{color:var(--coral);border-color:color-mix(in srgb,var(--coral) 50%,transparent);background:color-mix(in srgb,var(--coral) 12%,transparent)}.song-vote:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.screen{position:fixed;inset:0;display:flex;flex-direction:column;overflow:hidden;background:var(--night-deep)}.scr-head{text-align:center;padding:1.2rem}.scr-names{font-family:var(--serif);font-size:clamp(1.6rem,3.5vw,2.6rem);color:var(--parch)}.scr-names .amp{color:var(--gold);font-style:italic}.scr-stage{flex:1 1;display:grid;place-items:center;padding:0 3vw 3vh;min-height:0}.scr-waiting{text-align:center}.scr-cta{font-family:var(--serif);font-size:clamp(1.8rem,4vw,3rem);margin:0 0 .5rem}.scr-sub{color:var(--parch-dim);font-size:1.1rem}.scr-photo{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:.8rem;animation:scr-in .8s ease}.scr-photo img{max-width:90vw;max-height:72vh;border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.5)}.scr-photo figcaption{font-family:var(--sans);font-size:1.15rem;color:var(--parch-dim)}.scr-post{margin:0;max-width:60rem;text-align:center;animation:scr-in .8s ease}.scr-post p{font-family:var(--serif);font-size:clamp(1.8rem,4.5vw,3.4rem);line-height:1.25;color:var(--parch);margin:0 0 1.2rem;text-wrap:balance}.scr-post footer{font-family:var(--script);font-size:clamp(1.4rem,3vw,2.2rem);color:var(--gold-soft)}@keyframes scr-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.scr-qr{position:fixed;right:1.4rem;bottom:1.4rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;background:rgba(255,255,255,.94);border-radius:12px;padding:.6rem}.scr-qr img{width:7.5rem;height:7.5rem;display:block}.scr-qr span{font-family:var(--sans);font-size:.7rem;color:#222;font-weight:600}.kiosk{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.2rem}.kiosk h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,8vw,3.4rem);margin:0 0 .4rem}.kiosk-sub{color:var(--parch-dim);margin:0 0 1.6rem}.kiosk-search{width:100%;max-width:26rem}.kiosk-search input{width:100%;font-family:var(--sans);font-size:1.15rem;color:var(--parch);background:var(--surface);border:1.5px solid var(--line-strong);border-radius:14px;padding:.9rem 1.1rem;text-align:center}.kiosk-search input:focus{outline:none;border-color:var(--gold)}.kiosk-results{margin-top:.8rem;gap:.5rem}.kiosk-hit,.kiosk-results{display:flex;flex-direction:column}.kiosk-hit{gap:.1rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;text-decoration:none;transition:border-color .15s}.kiosk-hit:hover{border-color:var(--gold)}.kh-name{font-family:var(--serif);font-size:1.15rem}.kh-people{font-size:.8rem}.kh-people,.kiosk-none{color:var(--parch-faint)}.kiosk-none{font-size:.9rem}.tp-pool{background:var(--surface);border:1px dashed var(--line-strong);border-radius:14px;padding:.9rem 1.1rem;margin-bottom:.9rem}.tp-pool.droppable,.tp-table.droppable{border-color:var(--gold)}.tp-title{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin:0 0 .6rem}.tp-grid{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.tp-table{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.8rem 1rem;min-height:7rem}.tp-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.tp-name{flex:1 1;min-width:0;font-family:var(--serif);font-size:1.1rem;color:var(--parch);background:transparent;border:1px solid transparent;border-radius:7px;padding:.15rem .4rem}.tp-name:focus,.tp-name:hover{border-color:var(--line);outline:none;background:var(--field)}.tp-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--gold-soft)}.tp-chips{display:flex;flex-wrap:wrap;gap:.35rem}.tp-chip{font-family:var(--sans);font-size:.78rem;color:var(--parch);background:var(--field);border:1px solid var(--line);border-radius:999px;padding:.32rem .7rem;cursor:-webkit-grab;cursor:grab;transition:.15s}.tp-chip b{color:var(--gold-soft);margin-left:.25rem}.tp-chip.pend{border-style:dashed;color:var(--parch-dim)}.tp-chip.sel{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,transparent)}.tp-chip:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.tp-empty{font-size:.82rem;color:var(--parch-faint)}.qr-poster{background:#fff;color:#1a1a1a;border-radius:18px;max-width:34rem;margin:0 auto;padding:3rem 2.5rem;text-align:center}.qr-eyebrow{font-size:.8rem;letter-spacing:.26em;text-transform:uppercase;color:#8a8a80;margin:0 0 .5rem}.qr-names{font-family:var(--serif);font-weight:500;font-size:2.6rem;margin:0 0 1.6rem;color:#14211f}.qr-names .amp{color:#a5791f;font-style:italic}.qr-code{width:15rem;height:15rem}.qr-cta{font-family:var(--serif);font-size:1.5rem;margin:1.4rem 0 .4rem}.qr-sub{color:#5a5a52;font-size:.95rem;margin:0 0 1rem}.qr-url{font-family:var(--mono);font-size:.8rem;color:#8a8a80}@media print{body *{visibility:hidden}.qr-poster,.qr-poster *{visibility:visible}.qr-poster{position:absolute;inset:0;margin:0;border-radius:0;max-width:none}.no-print{display:none!important}}.tp-chipwrap{display:inline-flex;align-items:center;gap:2px}.tp-divide{font-family:var(--sans);font-size:.72rem;color:var(--sage);background:transparent;border:1px solid var(--line);border-radius:999px;width:1.5rem;height:1.5rem;cursor:pointer;transition:.15s;flex:none}.tp-divide:hover{border-color:var(--gold);color:var(--gold-soft)}.tp-split{display:inline-flex;flex-wrap:wrap;gap:.3rem;align-items:center;padding:.25rem;border:1px dashed var(--line-strong);border-radius:12px}.tp-split-head{border-style:dashed;color:var(--parch-faint)}.tp-chip.tp-person{border-color:color-mix(in srgb,var(--gold) 35%,var(--line))}.tp-chip small{color:var(--parch-faint);font-size:.66rem}.tp-splitmark{font-style:normal;color:var(--coral);font-size:.7rem}.mesa-row{padding:.6rem 0;border-top:1px dashed var(--line)}.mesa-row:first-of-type{border-top:0}.checkin-head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.checkin-count{display:flex;align-items:baseline;gap:.5rem}.checkin-count .n{font-family:var(--serif);font-size:2.4rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--st-yes)}.checkin-count .of{color:var(--parch-dim);font-size:.9rem}.checkin-search{flex:1 1;min-width:14rem;font-size:1.05rem;padding:.75rem 1rem}.checkin-list{display:flex;flex-direction:column;gap:.45rem}.checkin-row{display:flex;align-items:center;gap:.9rem;text-align:left;width:100%;font-family:var(--sans);color:var(--parch);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;cursor:pointer;transition:.15s}.checkin-row:hover{border-color:var(--gold)}.checkin-row.in{opacity:.55}.checkin-row.in .ck-mark{color:var(--st-yes)}.ck-mark{width:1.4rem;font-size:1.1rem;font-weight:700;flex:none;text-align:center}.ck-name{flex:1 1;font-size:1rem}.ck-name small{display:block;color:var(--parch-faint);font-size:.74rem}.ck-action{font-size:.8rem;font-weight:600;color:var(--gold-soft);white-space:nowrap}.checkin-row.in .ck-action{color:var(--parch-faint);font-weight:400}.looks{margin-top:1.4rem}.looks-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.look{margin:0 auto;display:flex;flex-direction:column;gap:.45rem;flex:1 1 16rem;max-width:36rem}.look-img{position:relative;border-radius:10px;overflow:hidden}.look-img img{width:100%;height:auto;display:block}html:not([data-theme=light]) .look-img{background:color-mix(in srgb,var(--parch) 94%,transparent)}html[data-theme=light] .look-img{background:color-mix(in srgb,var(--night) 96%,transparent)}.look-no .look-img img{filter:grayscale(.35)}.look-badge{position:absolute;top:.5rem;left:.5rem;font-family:var(--sans);font-size:.72rem;font-weight:700;border-radius:999px;padding:.25rem .65rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.look-badge.si{background:color-mix(in srgb,var(--green) 88%,#000);color:#fff}.look-badge.no{background:color-mix(in srgb,var(--danger) 88%,#000);color:#fff}.look-cap{font-size:.82rem;color:var(--parch-dim);text-align:center}.look-cap input{width:100%;font-family:var(--sans);font-size:.8rem;color:var(--parch);background:var(--field);border:1px solid var(--line);border-radius:8px;padding:.35rem .55rem;text-align:center}.look-cap input:focus{outline:none;border-color:var(--gold)}.look-tools{display:flex;justify-content:center;gap:.35rem;margin-top:.35rem}section.rv{opacity:0;transform:translateY(46px)}section.rv-in{opacity:1;transform:none;transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.16,.6,.2,1)}.confetti{position:fixed;inset:0;z-index:90;pointer-events:none}.ics-btn{display:inline-flex;align-items:center;gap:.4rem;margin-top:.8rem;font-family:var(--sans);font-size:.78rem;color:var(--parch-dim);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:.4rem .9rem;transition:.2s}.ics-btn:hover{border-color:var(--gold);color:var(--gold-soft)}.story-open{position:fixed;bottom:5.6rem;right:.9rem;z-index:44;font-family:var(--sans);font-size:.8rem;font-weight:600;color:var(--on-gold);background:var(--gold);border:0;border-radius:999px;padding:.6rem 1.05rem;cursor:pointer;box-shadow:0 8px 26px rgba(0,0,0,.35)}.story-open:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}html[data-theme=light] .storymode{--night:#0e1f24;--night-deep:#0a1619;--gold:#e6b44c;--gold-soft:#ebc677;--coral:#e68a6a;--parch:#f3ebdb;--parch-dim:rgba(243,235,219,0.68);--parch-faint:rgba(243,235,219,0.42);--on-gold:#10201f}.storymode{position:fixed;inset:0;z-index:100;overflow:hidden;cursor:pointer;background:radial-gradient(120% 60% at 50% 92%,color-mix(in srgb,var(--coral) 22%,transparent) 0,transparent 55%),radial-gradient(90% 45% at 50% 100%,color-mix(in srgb,var(--gold) 22%,transparent) 0,transparent 60%),linear-gradient(180deg,var(--night) 0,var(--night-deep) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;-moz-user-select:none;user-select:none;-webkit-user-select:none}.story-photo{position:absolute;inset:0}.story-photo img{width:100%;height:100%;object-fit:cover}.storymode[data-slide=historia] .story-photo img{object-position:26% center}.story-veil{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--night-deep) 74%,transparent) 0,color-mix(in srgb,var(--night-deep) 48%,transparent) 45%,color-mix(in srgb,var(--night-deep) 84%,transparent) 100%)}.story-bars{position:absolute;top:calc(.6rem + env(safe-area-inset-top));left:.7rem;right:.7rem;display:flex;gap:4px;z-index:3}.story-bar{flex:1 1;height:3px;border-radius:2px;background:color-mix(in srgb,var(--parch) 25%,transparent);overflow:hidden}.story-fill{display:block;height:100%;background:var(--parch);transition:width .1s linear}.story-close{position:absolute;top:calc(1.3rem + env(safe-area-inset-top));right:.9rem;z-index:3;width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid color-mix(in srgb,var(--parch) 35%,transparent);background:color-mix(in srgb,var(--night-deep) 55%,transparent);color:var(--parch);font-size:.95rem;cursor:pointer}.story-body{position:relative;z-index:2;max-width:34rem;padding:2rem 2.2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.55rem}.story-greet{font-family:var(--script);font-size:clamp(1.8rem,7vw,2.4rem);color:var(--parch);margin:0 0 1.2rem;animation:story-in .5s ease both}.story-eyebrow{font-family:var(--sans);font-weight:500;font-size:clamp(.7rem,2.8vw,.82rem);letter-spacing:.4em;text-transform:uppercase;color:var(--gold-soft);margin:0 0 .3rem;animation:story-in .5s ease .08s both}.story-title{font-weight:500;font-size:clamp(2.6rem,10vw,4.4rem);line-height:1.02;color:var(--parch);margin:0;text-wrap:balance;animation:story-in .55s ease .24s both}.story-big,.story-title{font-family:var(--serif)}.story-big{font-size:clamp(1.3rem,5vw,1.8rem);color:var(--gold-soft);margin:0 0 .45rem;animation:story-in .55s ease .16s both}.story-line{font-size:clamp(1rem,3.6vw,1.15rem);color:var(--parch-dim);margin:.2rem 0 0;text-wrap:pretty;animation:story-in .5s ease both}.story-sig{font-family:var(--script);font-size:1.9rem;color:var(--gold-soft);margin-top:.9rem;animation:story-in .5s ease .5s both}.story-cta{margin-top:1.4rem;animation:story-in .5s ease .4s both}.story-hint{position:absolute;bottom:calc(.9rem + env(safe-area-inset-bottom));left:0;right:0;text-align:center;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--parch-faint);z-index:2}@keyframes story-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.story-big,.story-cta,.story-eyebrow,.story-greet,.story-line,.story-sig,.story-title{animation:none}}.story-skip{position:absolute;bottom:calc(3.4rem + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:3;font-family:var(--sans);font-size:.82rem;color:var(--parch-dim);background:color-mix(in srgb,var(--night-deep) 45%,transparent);border:1px solid color-mix(in srgb,var(--parch) 25%,transparent);border-radius:999px;padding:.45rem 1rem;cursor:pointer}.story-skip:hover{color:var(--parch)}.gift-card{display:flex;flex-direction:column;gap:.5rem}.gift-img{border-radius:8px;overflow:hidden;border:1px solid var(--line-strong);aspect-ratio:16/10;background:var(--field);display:grid;place-items:center;padding:6px}.gift-img img{border-radius:5px;width:100%;height:100%;object-fit:cover;display:block}.gift-amount{font-family:var(--serif);color:var(--gold-soft);font-size:1.05rem}.gift-mp{display:inline-block;text-align:center;font-family:var(--sans);font-size:.9rem;font-weight:700;color:#fff;background:#009ee3;border-radius:10px;padding:.65rem 1rem;text-decoration:none;transition:.2s}.gift-mp:hover{opacity:.9}.gift-in{width:100%;font-family:var(--sans);font-size:.85rem;color:var(--parch);background:var(--field);border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;resize:vertical}.gift-in:focus{outline:none;border-color:var(--gold)}.gift-amounts{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.gift-pick{font-family:var(--sans);font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);background:none;cursor:pointer;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:999px;padding:.55rem 1.2rem;margin-top:.2rem;transition:.2s}.gift-open .gift-pick,.gift-pick:hover{border-color:var(--gold);color:var(--gold)}.gift-how{border-top:1px solid var(--line);margin-top:.7rem;padding-top:.8rem;text-align:left}.gift-how-title{font-family:var(--serif);font-style:italic;color:var(--gold-soft);font-size:1rem;margin-bottom:.5rem}.gift-acc{margin-bottom:.6rem}.gift-acc .k{margin-bottom:.25rem}.gift-alias{margin-top:.4rem;font-size:.9rem}.gift-note{font-size:.85rem;color:color-mix(in srgb,var(--parch) 72%,transparent);font-style:italic;margin-top:.6rem;line-height:1.45}.gift-free{margin-top:1.6rem}.gift-free>summary{cursor:pointer;list-style:none;text-align:center;font-family:var(--serif);font-style:italic;font-size:.95rem;color:color-mix(in srgb,var(--parch) 70%,transparent);text-decoration:underline;text-underline-offset:4px;-webkit-text-decoration-color:color-mix(in srgb,var(--gold) 40%,transparent);text-decoration-color:color-mix(in srgb,var(--gold) 40%,transparent)}.gift-free>summary::-webkit-details-marker{display:none}.gift-free>summary:hover{color:var(--parch)}.gift-free[open]>summary{margin-bottom:1rem}.envelope-veil{position:fixed;inset:0;z-index:110;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:radial-gradient(120% 85% at 50% 42%,transparent 52%,color-mix(in srgb,var(--night) 55%,transparent) 125%),radial-gradient(90% 45% at 50% 96%,color-mix(in srgb,var(--gold) 18%,transparent) 0,transparent 60%),linear-gradient(180deg,var(--night) 0,var(--night-deep) 100%);transition:opacity .5s ease .65s}.env-orn{position:absolute;width:clamp(80px,24vw,120px);height:clamp(80px,24vw,120px);fill:none;stroke:var(--gold);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;opacity:.3;pointer-events:none}.env-orn-a{top:max(1.3rem,env(safe-area-inset-top));left:1.1rem}.env-orn-b{bottom:max(1.3rem,env(safe-area-inset-bottom));right:1.1rem;transform:rotate(180deg)}.envelope-veil.opening{opacity:0;pointer-events:none}.envelope{position:relative;width:min(74vw,21rem);aspect-ratio:10/6.6;filter:drop-shadow(0 26px 44px rgba(0,0,0,.28));animation:env-float 5s ease-in-out infinite}@keyframes env-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.env-body{position:absolute;inset:0;border-radius:6px;background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 10%,var(--surface)),color-mix(in srgb,var(--parch) 5%,var(--surface)));border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line-strong))}.env-frame{position:absolute;inset:.55rem;z-index:2;pointer-events:none;border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:3px}.env-frame:after{content:"";position:absolute;inset:3px;border:1px solid color-mix(in srgb,var(--gold) 20%,transparent);border-radius:2px}.env-to{position:absolute;left:1rem;right:1rem;top:69.5%;z-index:2;margin:0;text-align:center;font-family:var(--script);font-size:clamp(1.3rem,5.6vw,1.85rem);line-height:1.1;color:var(--gold-soft)}.env-fold{position:absolute;inset:0;border-radius:6px;pointer-events:none}.env-fold-l{-webkit-clip-path:polygon(0 0,54% 50%,0 100%);clip-path:polygon(0 0,54% 50%,0 100%);background:linear-gradient(105deg,color-mix(in srgb,var(--parch) 10%,var(--surface)) 0,color-mix(in srgb,var(--parch) 3%,var(--surface)) 80%)}.env-fold-r{-webkit-clip-path:polygon(100% 0,46% 50%,100% 100%);clip-path:polygon(100% 0,46% 50%,100% 100%);background:linear-gradient(255deg,color-mix(in srgb,var(--parch) 10%,var(--surface)) 0,color-mix(in srgb,var(--parch) 3%,var(--surface)) 80%)}.env-fold-b{-webkit-clip-path:polygon(0 100%,50% 42%,100% 100%);clip-path:polygon(0 100%,50% 42%,100% 100%);background:linear-gradient(0deg,color-mix(in srgb,var(--gold) 10%,var(--surface)) 0,color-mix(in srgb,var(--parch) 9%,var(--surface)) 100%);filter:drop-shadow(0 -1px 1px rgba(0,0,0,.12))}.env-flap{position:absolute;top:0;left:0;right:0;height:56%;-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(180deg,color-mix(in srgb,var(--parch) 6%,var(--surface)) 0,color-mix(in srgb,var(--parch) 15%,var(--surface)) 100%);border-radius:6px 6px 0 0;transform-origin:top center;transition:transform .6s ease;z-index:3;filter:drop-shadow(0 1px 0 color-mix(in srgb,var(--gold) 45%,transparent)) drop-shadow(0 2px 3px rgba(0,0,0,.14))}.envelope-veil.opening .env-flap{transform:rotateX(180deg)}.env-seal{position:absolute;left:50%;top:55%;z-index:4;transform:translate(-50%,-50%) rotate(-6deg);width:3.1rem;height:3.1rem;border-radius:46% 54% 51% 49%/53% 47% 55% 45%;background:radial-gradient(circle at 35% 30%,var(--gold-soft),var(--gold) 58%,color-mix(in srgb,var(--gold) 55%,#000));color:var(--on-gold);font-family:var(--serif);font-size:1rem;font-weight:600;letter-spacing:.06em;display:grid;place-items:center;box-shadow:0 3px 10px rgba(0,0,0,.3),inset 0 1px 2px rgba(255,255,255,.22),inset 0 -2px 4px rgba(0,0,0,.2);transition:transform .4s ease,opacity .4s ease}.env-seal:after{content:"";position:absolute;inset:4px;border-radius:inherit;border:1px solid color-mix(in srgb,var(--on-gold) 32%,transparent)}.envelope-veil.opening .env-seal{transform:translate(-50%,-50%) scale(.2);opacity:0}.env-bow{width:min(58vw,16rem);margin-top:1.7rem;fill:none;stroke:var(--gold);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.env-date{font-family:var(--sans);font-size:.66rem;letter-spacing:.32em;color:var(--parch-dim);margin:1rem 0 0;text-align:center}.env-date,.env-hint{font-weight:500;text-transform:uppercase}.env-hint{display:flex;align-items:center;gap:.85rem;font-size:.64rem;letter-spacing:.3em;color:var(--parch-faint);margin-top:2.6rem;animation:env-pulse 2s ease-in-out infinite}.env-hint:after,.env-hint:before{content:"";width:2.4rem;height:1px;background:color-mix(in srgb,var(--parch-faint) 55%,transparent)}@keyframes env-pulse{0%,to{opacity:.5}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.env-hint,.envelope{animation:none}}.music-btn{position:fixed;top:12px;right:7.2rem;z-index:50;width:2.4rem;height:2.4rem;border-radius:50%;font-size:1rem;color:var(--parch-dim);background:var(--bar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);cursor:pointer;transition:.2s}.music-btn.on{color:var(--gold-soft);border-color:var(--gold);animation:music-spin 4s linear infinite}@keyframes music-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.music-btn.on{animation:none}}.preview-ribbon{position:fixed;top:0;left:0;right:0;z-index:95;text-align:center;font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--on-gold);background:var(--gold);padding:.4rem;text-decoration:none}.type-picker{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.5rem;gap:.5rem;margin:1.1rem 0 .5rem}.login-card .type-card{display:flex;flex-direction:column;gap:.2rem;align-items:center;text-align:center;font-family:var(--sans);background:transparent;border:1px solid var(--line);border-radius:3px;padding:.85rem .4rem .7rem;cursor:pointer;transition:.15s;color:var(--parch-dim);width:auto;margin:0}.login-card .type-card:hover{border-color:var(--line-strong)}.login-card .type-card.on{border-color:var(--gold);color:var(--parch);box-shadow:inset 0 0 0 1px var(--gold)}.tc-label{font-family:var(--serif);font-size:1.15rem;font-weight:600}.type-card.on .tc-label{color:var(--gold-soft)}.tc-desc{font-size:.6rem;letter-spacing:.06em;color:var(--parch-faint)}.faq{display:flex;flex-direction:column;gap:.5rem}.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 1.1rem}.faq-item summary{cursor:pointer;font-family:var(--serif);font-size:1.05rem;list-style:none;position:relative;padding:.9rem 1.6rem .9rem 0}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:.2rem;color:var(--gold-soft);font-size:1.2rem}.faq-item[open] summary:after{content:"–"}.faq-item p{color:var(--parch-dim);font-size:.95rem;margin:0 0 1rem}.lp-hero{position:relative;z-index:1;max-width:74rem;margin:0 auto;min-height:94svh;padding:clamp(4rem,10vh,7rem) 1.5rem 3rem;display:grid;grid-template-columns:1fr;grid-gap:3.2rem;gap:3.2rem;align-items:center}@media (min-width:900px){.lp-hero{grid-template-columns:1.15fr .85fr}}.lp-title{font-family:var(--serif);font-weight:500;font-size:clamp(3rem,8.5vw,5.8rem);line-height:1.02;letter-spacing:.005em;margin:0;color:var(--parch);text-wrap:balance}.lp-title em{font-family:var(--script);font-style:normal;font-size:.92em;color:var(--gold)}.lp-sub{max-width:32rem;margin-top:1.6rem;font-size:1.1rem;font-weight:300;color:var(--parch-dim);text-wrap:pretty}.lp-phone-wrap{display:flex;flex-direction:column;align-items:center;gap:.7rem}.lp-phone{position:relative;width:min(310px,78vw);aspect-ratio:9/19;border-radius:44px;background:#0b0b0d;border:1px solid color-mix(in srgb,var(--parch) 18%,transparent);padding:10px;box-shadow:0 40px 90px -20px rgba(0,0,0,.6),0 0 0 6px rgba(0,0,0,.35)}.lp-notch{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:32%;height:17px;background:#0b0b0d;border-radius:999px;z-index:2}.lp-phone iframe{width:100%;height:100%;border:0;border-radius:34px;background:var(--night-deep)}.lp-phone-cap{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--parch-faint)}.dp-fonts{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.45rem;gap:.45rem}.dp-font{display:flex;flex-direction:column;align-items:center;gap:.05rem;background:var(--field);border:1px solid var(--line);border-radius:10px;padding:.55rem .3rem .4rem;cursor:pointer;transition:.15s;color:var(--parch)}.dp-font.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--field))}.dp-font:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.dp-font-preview{font-size:1.5rem;line-height:1}.dp-font-script{font-size:1.05rem;color:var(--gold-soft);line-height:1.3}.gal{margin-bottom:2.4rem}.gal-stage{position:relative;display:flex;justify-content:center;align-items:center}.gal-ph{margin:0;background:var(--surface);border:1px solid var(--line-strong);padding:7px;box-shadow:0 18px 44px -18px rgba(0,0,0,.5);position:relative}.gal-ph img{display:block;object-fit:cover;width:100%;height:100%}.gal-ph-0{width:min(58vw,250px);aspect-ratio:3/3.9;border-radius:999px 999px 8px 8px;z-index:2}.gal-ph-0 img{border-radius:992px 992px 4px 4px}.gal-ph-1{order:-1;transform:rotate(-5deg) translateX(18%);margin-right:-6%}.gal-ph-1,.gal-ph-2{width:min(34vw,150px);aspect-ratio:3/4;z-index:1;border-radius:4px}.gal-ph-2{order:1;transform:rotate(5deg) translateX(-18%);margin-left:-6%}.gal-1 .gal-ph-0{width:min(70vw,300px)}.gal-del{position:absolute;top:-.5rem;right:-.5rem;opacity:1;background:var(--night-deep)}.pstrip-wrap{position:relative}.pstrip{display:flex;gap:1.15rem;overflow-x:auto;padding:1.1rem .5rem 1.7rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;mask-image:linear-gradient(90deg,transparent,#000 5% 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5% 95%,transparent)}.pstrip::-webkit-scrollbar{display:none}.pstrip-ph{margin:0;flex:0 0 auto;scroll-snap-align:center;width:min(62vw,250px);aspect-ratio:3/4;background:var(--surface);border:1px solid var(--line-strong);padding:7px 7px 2.1rem;box-shadow:0 18px 44px -18px rgba(0,0,0,.5);transform:rotate(var(--tilt,0deg));position:relative}.pstrip-ph img{display:block;width:100%;height:100%;object-fit:cover}.pstrip-nav{display:flex;justify-content:center;gap:.7rem}.pstrip-nav button{width:2.3rem;height:2.3rem;border-radius:50%;border:1px solid var(--line-strong);background:var(--field);color:var(--parch-dim);font-size:1.15rem;line-height:1;cursor:pointer;transition:.16s}.pstrip-nav button:hover{color:var(--parch);border-color:var(--gold)}section.has-bg{isolation:isolate}.sec-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}.sec-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) blur(2px);transform:scale(1.05)}.sec-bgveil{position:absolute;inset:0;background:linear-gradient(180deg,var(--night-deep),color-mix(in srgb,var(--night-deep) 86%,transparent) 22% 78%,var(--night-deep))}section.dress-sec .sec-bg img,section.story .sec-bg img{filter:saturate(.9)}section.dress-sec .sec-bgveil{background:linear-gradient(180deg,var(--night-deep),color-mix(in srgb,var(--night-deep) 62%,transparent) 25% 75%,var(--night-deep))}section.story .sec-bgveil{background:linear-gradient(180deg,var(--night-deep),color-mix(in srgb,var(--night-deep) 58%,transparent) 18% 42%,color-mix(in srgb,var(--night-deep) 88%,transparent) 60% 82%,var(--night-deep))}.lp-steps{display:grid;grid-template-columns:1fr;grid-gap:2.4rem;gap:2.4rem;max-width:46rem;margin:0 auto}@media (min-width:820px){.lp-steps{grid-template-columns:repeat(3,1fr);gap:2.8rem}}.lp-step{display:flex;gap:1.1rem;align-items:flex-start}.lp-step-n{font-weight:400;font-style:italic;font-size:3.2rem;line-height:.9;color:color-mix(in srgb,var(--gold) 75%,transparent)}.lp-step h3,.lp-step-n{font-family:var(--serif)}.lp-step h3{font-weight:600;font-size:1.35rem;margin:0 0 .35rem}.lp-step p{margin:0;font-size:.94rem;color:var(--parch-dim)}.chap{padding:clamp(3.5rem,9vh,6rem) 1.5rem}.chap-alt{background:color-mix(in srgb,var(--surface) 45%,transparent)}.chap-in{max-width:66rem;margin:0 auto;display:grid;grid-template-columns:1fr;grid-gap:2.6rem;gap:2.6rem;align-items:center}@media (min-width:860px){.chap-in{grid-template-columns:.9fr 1.1fr;gap:4.5rem}.chap-alt .chap-photo{order:2}}.chap-photo{margin:0 auto;width:min(72vw,330px);border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:999px 999px 8px 8px;padding:9px;background:color-mix(in srgb,var(--surface) 60%,transparent);box-shadow:0 30px 70px -30px rgba(0,0,0,.45)}.chap-photo img{width:100%;aspect-ratio:3/3.7;object-fit:cover;display:block;border-radius:992px 992px 4px 4px}.chap-pre{font-family:var(--script);font-size:2rem;color:var(--gold);margin:0 0 .3rem}.chap-title{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,5vw,2.9rem);line-height:1.1;margin:0 0 1.5rem;text-wrap:balance}.chap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.95rem}.chap-list li{position:relative;padding-left:1.5rem;font-size:1.02rem;font-weight:300;color:var(--parch-dim)}.chap-list li:before{content:"";position:absolute;left:.15rem;top:.52em;width:.42rem;height:.42rem;transform:rotate(45deg);background:var(--gold)}.chap-list b{font-weight:500;color:var(--parch)}.brandmark{position:fixed;top:10px;left:18px;z-index:50;font-family:var(--script);font-size:1.5rem;color:var(--gold-soft);text-decoration:none;opacity:.9}.brandmark:hover{opacity:1}