:root{--bg-deep:#faf4e9;--bg-panel:#fffdf9;--bg-panel-2:#f6ecdd;--gold:#b8863f;--gold-bright:#a2701f;--gold-glow:#e7bd6a;--rose:#b9695f;--ink:#3d2f22;--muted:#8d795e;--line:rgba(184,134,63,.28);--font-heading:"Cormorant Garamond",serif;--font-body:"Poppins",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse 900px 500px at 50% -10%,hsla(7,39%,55%,.1),transparent 60%),radial-gradient(ellipse 700px 500px at 90% 20%,rgba(184,134,63,.1),transparent 60%),var(--bg-deep);color:var(--ink);font-family:var(--font-body);overflow-x:hidden}.lattice{height:26px;background-image:linear-gradient(45deg,var(--gold) 25%,transparent 25%),linear-gradient(-45deg,var(--gold) 25%,transparent 25%);background-size:16px 16px;opacity:.22;margin:0 auto;max-width:520px}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px 40px;position:relative}.hero-bg-illustration{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.hero-bg-illustration img{width:100%;height:100%;object-fit:cover;object-position:top center;opacity:.18;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 72%,transparent 96%);mask-image:linear-gradient(180deg,#000 0,#000 72%,transparent 96%)}.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.lamp-wrap{position:relative;width:150px;height:190px;margin-bottom:10px;filter:drop-shadow(0 0 20px rgba(231,189,106,.65))}.flame{transform-origin:75px 46px;animation:flicker 2.4s ease-in-out infinite}@keyframes flicker{0%,to{transform:scaleY(1) scaleX(1) rotate(0deg);opacity:1}25%{transform:scaleY(1.08) scaleX(.95) rotate(-1.5deg);opacity:.92}50%{transform:scaleY(.94) scaleX(1.05) rotate(1.5deg);opacity:1}75%{transform:scaleY(1.05) scaleX(.97) rotate(-1deg);opacity:.95}}.eyebrow{letter-spacing:.35em;text-transform:uppercase;margin:18px 0 6px}.eyebrow,.hero-wishes-jump{font-size:12px;color:var(--gold-bright);font-weight:500}.hero-wishes-jump{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;padding:7px 16px;letter-spacing:.03em;background:rgba(184,134,63,.08);text-decoration:none;margin-top:6px;transition:background .25s ease,transform .25s ease}.hero-wishes-jump:hover{background:rgba(184,134,63,.16);transform:translateY(-1px)}.names-en{font-family:var(--font-heading);font-size:clamp(42px,9vw,84px);font-weight:600;color:var(--gold-bright);text-shadow:0 0 30px hsla(40,72%,66%,.45);margin:0;line-height:1.05}.amp{padding:0 18px;font-size:1.05em}.amp,.amp-inline{font-family:Parisienne,cursive;font-style:normal;color:var(--rose);font-weight:400}.amp-inline{padding:0 4px;font-size:clamp(18px,1.4em,30px);line-height:1.4;vertical-align:-.1em}.tagline{max-width:520px;margin:26px auto 0;color:var(--ink);font-size:16px;line-height:1.8;font-family:var(--font-body);font-weight:400}.hero-dates{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.date-chip{border:1px solid var(--line);padding:10px 18px;border-radius:2px;font-size:13px;color:var(--gold-bright);background:rgba(184,134,63,.06)}.date-chip b{color:var(--ink);font-weight:500}.main-cd{margin-top:44px}.hero-date-display{margin-top:28px;display:inline-block;font-family:var(--font-heading);font-size:clamp(15px,2.4vw,18px);color:var(--ink);letter-spacing:.02em;font-weight:600;background:rgba(255,252,244,.72);border:1px solid rgba(184,134,63,.25);padding:8px 20px;border-radius:20px;box-shadow:0 2px 12px rgba(184,134,63,.12)}.main-cd-label{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-weight:500}.cd-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.cd-box{width:74px;padding:12px 0;border:1px solid var(--line);background:linear-gradient(180deg,hsla(40,72%,66%,.14),transparent);border-radius:3px}.cd-num{display:block;font-family:var(--font-heading);font-size:32px;font-weight:600;color:var(--gold-bright)}.cd-label{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-weight:500}.scroll-cue{margin-top:56px;font-size:11px;letter-spacing:.2em;color:var(--gold);animation:bob 2.4s ease-in-out infinite;font-weight:500}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}section{padding:70px 20px;max-width:900px;margin:0 auto}.sec-head{text-align:center;margin-bottom:50px}.sec-eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:500}.sec-title-en{font-family:var(--font-heading);font-size:clamp(28px,5vw,42px);color:var(--gold-bright);margin:8px 0 0}.sec-sub{font-size:14.5px;color:var(--muted);margin-top:8px;max-width:460px;margin-left:auto;margin-right:auto;line-height:1.7}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:29px;top:8px;bottom:8px;width:2px;background-image:repeating-linear-gradient(180deg,var(--gold) 0 5px,transparent 5px 12px);opacity:.55}.event-card{gap:22px;padding:16px 0}.event-card,.event-index{position:relative;display:flex}.event-index{flex:0 0 58px;height:58px;border-radius:50%;border:1px solid var(--gold);align-items:center;justify-content:center;font-family:var(--font-heading);font-size:20px;color:var(--gold-bright);background:var(--bg-deep);z-index:2;box-shadow:0 0 0 4px var(--bg-deep),0 0 0 5px rgba(184,134,63,.32)}.event-card.done .event-index{border-color:var(--muted);color:var(--muted);opacity:.6;box-shadow:none}.event-body{position:relative;overflow:hidden;flex:1 1;background:repeating-linear-gradient(45deg,rgba(184,134,63,.04) 0 2px,transparent 2px 18px),repeating-linear-gradient(-45deg,rgba(184,134,63,.04) 0 2px,transparent 2px 18px),var(--bg-panel);border:1px solid var(--line);border-radius:10px;padding:18px 20px 16px;box-shadow:0 4px 18px rgba(184,134,63,.07)}.event-body:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent)}.event-corner{position:absolute;top:10px;right:12px;opacity:.3;pointer-events:none}.event-card.done .event-body{opacity:.6}.ev-title-en{font-family:var(--font-heading);font-size:20px;color:var(--gold-bright);margin:0 0 10px;font-weight:600;padding-right:30px}.ev-row{align-items:center;justify-content:space-between;gap:10px}.ev-meta,.ev-row{display:flex;flex-wrap:wrap}.ev-meta{gap:8px}.ev-meta span{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--gold-bright);background:rgba(184,134,63,.08);border:1px solid var(--line);padding:5px 12px;border-radius:20px;font-weight:500}.tbd{font-size:12.5px;color:var(--gold);font-style:italic}.mini-cd{display:flex;gap:6px;flex-wrap:wrap;flex:0 0 auto}.mini-box{min-width:44px;text-align:center;padding:5px 3px;background:hsla(40,72%,66%,.1);border:1px solid var(--line);border-radius:6px}.mini-num{display:block;font-family:var(--font-heading);font-size:16px;color:var(--gold-bright);font-weight:600}.mini-lab{display:block;font-size:8px;letter-spacing:.05em;margin-top:1px;font-weight:500}.done-tag,.mini-lab{text-transform:uppercase;color:var(--muted)}.done-tag{display:inline-block;font-size:11px;letter-spacing:.15em;border:1px solid var(--muted);padding:4px 10px;border-radius:2px}.note-line{font-size:12.5px;color:var(--muted);margin-top:10px;font-style:italic}.rsvp-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:6px;padding:38px 30px;box-shadow:0 4px 24px rgba(184,134,63,.08)}.field{margin-bottom:20px}.field label{display:block;font-size:13px;color:var(--gold-bright);margin-bottom:5px;letter-spacing:.02em;font-weight:500}.field input,.field select,.field textarea{width:100%;background:var(--bg-panel-2);border:1px solid var(--line);color:var(--ink);padding:11px 13px;border-radius:3px;font-family:var(--font-body);font-size:14.5px}.field textarea{min-height:80px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold-bright);outline-offset:1px;border-color:transparent}.btn{width:100%;padding:14px;background:linear-gradient(180deg,var(--gold-glow),var(--gold-bright));color:#fffaf0;border:none;border-radius:3px;font-weight:500;font-size:14.5px;letter-spacing:.04em;cursor:pointer;transition:filter .15s ease,transform .15s ease}.btn:hover{filter:brightness(1.05)}.btn:active{transform:scale(.99)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.form-msg{text-align:center;font-size:13.5px;margin-top:16px;min-height:18px}.form-msg.ok{color:#5f8f5a}.form-msg.err{color:#b9695f}.table-results{margin-top:16px;display:flex;flex-direction:column;gap:8px}.table-suggestions{position:absolute;left:0;right:0;top:100%;margin-top:4px;background:var(--bg-panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:20;max-height:220px;overflow-y:auto}.table-suggestion-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:13.5px;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--line)}.table-suggestion-item:last-child{border-bottom:none}.table-suggestion-item:hover{background:rgba(184,134,63,.08)}.table-suggestion-info{display:flex;flex-direction:column;gap:1px;min-width:0}.table-suggestion-name{font-weight:500}.table-suggestion-phone{font-size:11.5px;color:var(--muted)}.table-suggestion-num{font-size:12px;color:var(--gold-bright);font-weight:600;flex:0 0 auto}.table-result-item{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:8px;padding:12px 16px;background:rgba(184,134,63,.06)}.table-result-info{display:flex;flex-direction:column;gap:2px}.table-result-name{font-size:14px;color:var(--ink);font-weight:500}.table-result-phone{font-size:12px;color:var(--muted)}.table-result-num{font-size:14px;color:var(--gold-bright);font-weight:600}footer{text-align:center;padding:50px 20px 70px;color:var(--gold);font-size:12.5px;letter-spacing:.08em;font-weight:500}footer a{color:var(--muted);text-decoration:none;font-size:11.5px}footer a:hover{color:var(--gold-bright)}.pin-row{display:flex;gap:10px}.pin-row input{flex:1 1;background:var(--bg-panel-2);border:1px solid var(--line);color:var(--ink);padding:11px 13px;border-radius:3px;font-size:14px}.pin-row button{flex:0 0 auto;padding:0 20px}.stat-row{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}.stat{flex:1 1;min-width:120px;background:var(--bg-panel);border:1px solid var(--line);border-radius:4px;padding:14px;text-align:center}.stat-num{font-family:var(--font-heading);font-size:28px;color:var(--gold-bright);display:block}.stat-lab{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}table.rsvp-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:10px}table.rsvp-table td,table.rsvp-table th{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line)}table.rsvp-table th{color:var(--gold-bright);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.03em}table.rsvp-table td{color:var(--ink)}.empty-note{color:var(--muted);font-size:13.5px;text-align:center;padding:20px 0}.intro-overlay{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse 700px 500px at 50% 0,hsla(7,39%,55%,.1),transparent 60%),var(--bg-deep);transition:opacity .55s ease,transform .55s ease}.intro-overlay.leaving{opacity:0;transform:scale(1.03);pointer-events:none}.guest-greeting{position:fixed;inset:0;z-index:1001;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;text-align:center;background:radial-gradient(circle at 50% 30%,hsla(40,72%,66%,.22),transparent 55%),radial-gradient(circle at 50% 80%,hsla(7,39%,55%,.16),transparent 55%),var(--bg-deep);transition:opacity .6s ease,transform .6s ease}.guest-greeting.leaving{opacity:0;transform:scale(1.04);pointer-events:none}.gg-circle{width:180px;height:180px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,hsla(40,72%,66%,.28),hsla(40,72%,66%,.06) 70%)}.gg-circle-bottom{width:130px;height:130px;background:radial-gradient(circle,hsla(7,39%,55%,.2),hsla(7,39%,55%,.05) 70%)}.gg-flower{font-size:44px}.gg-text{font-family:var(--font-heading);font-style:italic;font-size:clamp(26px,5vw,36px);color:var(--ink);max-width:90vw}.gg-name{font-family:Parisienne,cursive;font-style:normal;color:var(--gold-bright);font-size:1.15em}.gg-divider{width:56px;height:1px;background:var(--gold);opacity:.5}.gg-sub{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--rose);font-weight:500}.intro-card{position:relative;width:100%;max-width:380px;background:linear-gradient(180deg,#fbf6ec,#f2e6d2);border:1px solid var(--line);border-radius:170px 170px 20px 20px;padding:52px 28px 36px;text-align:center;box-shadow:0 24px 60px rgba(122,35,51,.14),0 0 0 1px rgba(184,134,63,.06);overflow:hidden}.intro-card:before{content:"";position:absolute;top:0;left:0;right:0;height:150px;background:radial-gradient(ellipse at center,hsla(40,72%,66%,.35),transparent 72%);pointer-events:none}.intro-bg-illustration{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.intro-bg-illustration img{width:100%;height:100%;object-fit:cover;object-position:top center;opacity:.16;-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent 92%);mask-image:linear-gradient(180deg,#000 40%,transparent 92%)}.intro-content{position:relative;z-index:1}.intro-corner{position:absolute;opacity:.85}.intro-corner.tl{top:14px;left:14px}.intro-corner.tr{top:14px;right:14px}.intro-corner.bl{bottom:14px;left:14px;transform:rotate(90deg) scaleX(-1)}.intro-corner.br{bottom:14px;right:14px;transform:rotate(-90deg)}.intro-monogram{position:relative;width:92px;height:92px;margin:0 auto 20px;border-radius:50%;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-style:italic;font-size:26px;color:var(--gold-bright);background:radial-gradient(circle,hsla(40,72%,66%,.22),transparent 70%)}.monogram-amp{font-family:Parisienne,cursive;font-style:normal;color:var(--rose);font-size:1.3em;padding:0 3px}.intro-badge{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:6px 16px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright);background:rgba(184,134,63,.08);margin-bottom:18px;font-weight:500}.intro-names{font-family:var(--font-heading);font-style:italic;font-size:40px;line-height:1.18;color:var(--ink);margin:0;display:flex;flex-direction:column;align-items:center}.intro-amp{font-family:Parisienne,cursive;font-style:normal;color:var(--rose);font-size:1.3em;line-height:1.3;display:block;margin:0;opacity:.95}.intro-divider{width:56px;height:1px;background:var(--gold);margin:20px auto;opacity:.5}.intro-tagline{font-family:var(--font-body);font-size:13.5px;color:var(--muted);line-height:1.8;max-width:280px;margin:0 auto 26px}.intro-cta{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(180deg,var(--gold-glow),var(--gold-bright));color:#fffaf0;border:none;border-radius:26px;padding:14px 30px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;cursor:pointer;box-shadow:0 10px 24px rgba(184,134,63,.35);transition:filter .15s ease,transform .15s ease}.intro-cta:hover{filter:brightness(1.05)}.intro-cta:active{transform:scale(.98)}.intro-cta:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}.intro-hint{margin-top:16px;font-size:11.5px;color:var(--muted);letter-spacing:.03em}@media (prefers-reduced-motion:reduce){.intro-overlay{transition:none}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.reveal.in-view{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{transition:none;opacity:1;transform:none}}.btn-glow{position:relative;overflow:hidden}.btn-glow:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(120deg,transparent,hsla(0,0%,100%,.55),transparent);transform:skewX(-20deg);animation:btnShine 3.2s ease-in-out infinite}@keyframes btnShine{0%{left:-60%}50%{left:130%}to{left:130%}}.wish-count-badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:var(--gold-bright);background:rgba(184,134,63,.08);border:1px solid var(--line);padding:6px 16px;border-radius:20px;margin-top:14px}.wish-count-dot{width:7px;height:7px;border-radius:50%;background:#5f8f5a;animation:pulseDot 1.6s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}.wish-card-form{background:linear-gradient(165deg,rgba(255,253,249,.95),hsla(39,70%,94%,.92));border:1px solid rgba(184,134,63,.22);border-radius:22px;padding:40px 34px;box-shadow:0 20px 50px rgba(184,134,63,.12),inset 0 1px 0 hsla(0,0%,100%,.6);margin-bottom:44px}.wish-field{margin-bottom:24px}.wish-field-label{display:flex;align-items:baseline;gap:6px;font-size:13px;font-weight:600;color:var(--gold-bright);letter-spacing:.02em;margin-bottom:9px}.wish-field-label span{font-weight:400;font-size:11.5px;color:var(--muted)}.wish-field input[type=text],.wish-field textarea{width:100%;background:hsla(0,0%,100%,.65);border:none;border-radius:16px;padding:15px 18px;font-family:var(--font-body);font-size:14.5px;color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(184,134,63,.18);transition:box-shadow .25s ease,background .25s ease}.wish-field textarea{min-height:96px;resize:vertical}.wish-field input:focus,.wish-field textarea:focus{outline:none;background:#fffefb;box-shadow:0 0 0 4px rgba(184,134,63,.14),inset 0 0 0 1.5px var(--gold-bright)}.photo-drop-modern{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:30px 16px;border-radius:18px;background:rgba(184,134,63,.05);border:1.5px dashed rgba(184,134,63,.32);cursor:pointer;text-align:center;transition:background .25s ease,border-color .25s ease,transform .2s ease}.photo-drop-modern:hover{background:rgba(184,134,63,.1);border-color:var(--gold-bright)}.photo-drop-modern.drag-active{background:rgba(184,134,63,.16);border-color:var(--gold-bright);transform:scale(1.015)}.photo-drop-icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(180deg,var(--gold-glow),var(--gold-bright));display:flex;align-items:center;justify-content:center;font-size:19px;box-shadow:0 8px 18px rgba(184,134,63,.32);margin-bottom:4px}.photo-drop-text{font-size:13.5px;color:var(--gold-bright);font-weight:600}.photo-drop-subtext{font-size:11px;color:var(--muted)}.btn-pill{width:100%;padding:16px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--gold-glow),var(--gold-bright));color:#fffaf0;font-weight:600;font-size:15px;letter-spacing:.03em;cursor:pointer;box-shadow:0 12px 28px rgba(184,134,63,.32);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;position:relative;overflow:hidden}.btn-pill:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(184,134,63,.4);filter:brightness(1.03)}.btn-pill:active{transform:translateY(0)}.btn-pill:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-pill:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}.photo-drop{display:flex;align-items:center;justify-content:center;gap:8px;border:1.5px dashed var(--line);border-radius:4px;padding:22px 12px;color:var(--muted);font-size:13.5px;cursor:pointer;background:rgba(184,134,63,.04);transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease}.photo-drop:hover{border-color:var(--gold);color:var(--gold-bright)}.photo-drop.drag-active{border-color:var(--gold-bright);background:rgba(184,134,63,.14);color:var(--gold-bright);transform:scale(1.015)}.wish-privacy-note{text-align:center;font-size:12px;color:var(--muted);margin-top:12px;font-style:italic}.media-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));grid-gap:10px;gap:10px;margin-bottom:12px}.media-preview-item{position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;border:1px solid var(--line)}.media-preview-item img,.media-preview-item video{width:100%;height:100%;object-fit:cover;display:block}.media-preview-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:rgba(30,20,10,.65);color:#fff;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center}.wish-grid{column-count:1;column-gap:14px}@media (min-width:640px){.wish-grid{column-count:2}}@media (min-width:960px){.wish-grid{column-count:3}}.wish-card{background:rgba(255,253,249,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(184,134,63,.25);border-radius:10px;padding:22px 20px 18px;box-shadow:0 4px 20px rgba(184,134,63,.08);display:inline-block;width:100%;page-break-inside:avoid;break-inside:avoid;margin-bottom:14px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .35s ease}.wish-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(184,134,63,.2);border-color:rgba(184,134,63,.45)}.wish-media-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:2px;gap:2px;margin:-22px -20px 14px;overflow:hidden;border-radius:10px 10px 0 0}.wish-media-grid.single{grid-template-columns:1fr}.wish-media-cell{position:relative;aspect-ratio:1;overflow:hidden}.wish-media-cell.single-cell{aspect-ratio:auto;height:auto}.wish-media-cell.single-cell .media-thumb{height:auto}.wish-media-cell.single-cell .media-thumb img,.wish-media-cell.single-cell .media-thumb video{width:100%;height:auto;object-fit:contain;max-height:70vh}.wish-media-cell.single-cell .media-thumb:hover img,.wish-media-cell.single-cell .media-thumb:hover video{transform:none}.media-thumb{width:100%;height:100%;border:none;padding:0;margin:0;cursor:pointer;position:relative;display:block;background:#000;overflow:hidden}.media-thumb img,.media-thumb video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.media-thumb:hover img,.media-thumb:hover video{transform:scale(1.09)}.media-play-icon{display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25);pointer-events:none}.media-more,.media-play-icon{position:absolute;inset:0;color:#fff;font-size:16px}.media-more{background:rgba(20,12,6,.6);border:none;font-weight:600;cursor:pointer}.wish-quote-mark{font-family:var(--font-heading);font-size:40px;line-height:.5;color:var(--gold);opacity:.6;margin-bottom:6px}.wish-message{font-family:var(--font-body);font-size:14.5px;color:var(--ink);line-height:1.65;margin:0 0 16px}.wish-foot{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:10px}.wish-name{font-size:13px;color:var(--gold-bright);font-weight:500}.wish-date{font-size:11px;color:var(--muted)}#thank-you{padding-top:10px}.thank-you-card{max-width:620px;margin:0 auto;text-align:center;background:linear-gradient(180deg,rgba(255,253,249,.92),hsla(36,58%,92%,.92));border:1px solid var(--line);border-radius:14px;padding:52px 36px;box-shadow:0 16px 50px rgba(184,134,63,.14)}.thank-you-mark{font-family:var(--font-heading);font-size:36px;color:var(--gold);margin-bottom:8px}.thank-you-message{font-size:15.5px;color:var(--ink);line-height:1.85;max-width:480px;margin:16px auto 22px}.thank-you-sign{font-family:var(--font-heading);font-style:italic;font-size:21px;color:var(--gold-bright)}.venue-card{max-width:560px;margin:0 auto;background:linear-gradient(165deg,rgba(255,253,249,.95),hsla(39,70%,94%,.92));border:1px solid rgba(184,134,63,.22);border-radius:20px;padding:32px;box-shadow:0 16px 44px rgba(184,134,63,.12);text-align:center}.venue-info{gap:14px;margin-bottom:20px;text-align:left}.venue-info,.venue-pin{display:flex;align-items:center;justify-content:center}.venue-pin{flex:0 0 auto;width:48px;height:48px;border-radius:50%;background:linear-gradient(180deg,var(--gold-glow),var(--gold-bright));font-size:20px;box-shadow:0 8px 18px rgba(184,134,63,.32)}.venue-hall{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-weight:500}.venue-name{font-family:var(--font-heading);font-size:22px;color:var(--gold-bright);margin:0 0 4px;font-weight:600}.venue-address{font-size:13.5px;color:var(--muted);margin:0}.venue-map-wrap{border-radius:14px;overflow:hidden;border:1px solid var(--line);margin-bottom:20px}.venue-cta{display:inline-flex;width:auto;padding:13px 28px}.calendar-card{max-width:560px;margin:24px auto 0;background:linear-gradient(165deg,rgba(255,253,249,.95),hsla(39,70%,94%,.92));border:1px solid rgba(184,134,63,.22);border-radius:16px;box-shadow:0 12px 34px rgba(184,134,63,.1);overflow:hidden}.calendar-header{width:100%;display:flex;align-items:center;gap:14px;padding:18px 20px;background:none;border:none;cursor:pointer;text-align:left}.calendar-icon{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:linear-gradient(180deg,var(--gold-glow),var(--gold-bright));display:flex;align-items:center;justify-content:center;font-size:19px;box-shadow:0 8px 18px rgba(184,134,63,.3)}.calendar-header-text{flex:1 1;display:flex;flex-direction:column;gap:2px}.calendar-title{font-family:var(--font-heading);font-size:19px;color:var(--gold-bright);font-weight:600}.calendar-subtitle{font-size:12px;color:var(--muted)}.calendar-chevron{flex:0 0 auto;font-size:16px;color:var(--muted)}.calendar-options{border-top:1px solid var(--line)}.calendar-option{width:100%;display:flex;align-items:center;gap:14px;padding:16px 20px;background:none;border:none;border-bottom:1px solid var(--line);cursor:pointer;text-decoration:none;text-align:left;color:var(--ink);font-size:14px;font-family:var(--font-body);transition:background .2s ease}.calendar-option:last-child{border-bottom:none}.calendar-option:hover{background:rgba(184,134,63,.06)}.calendar-option-icon{font-size:18px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:20px;color:var(--ink)}.calendar-option-label{flex:1 1;font-weight:500}.calendar-option-arrow{color:var(--muted);font-size:16px}.lightbox-overlay{position:fixed;inset:0;z-index:2000;background:rgba(10,6,4,.92);display:flex;align-items:center;justify-content:center;padding:30px}.lightbox-content{max-width:min(90vw,900px);max-height:85vh;position:relative}.lightbox-counter{position:absolute;bottom:-32px;left:50%;transform:translateX(-50%);color:hsla(0,0%,100%,.75);font-size:13px;letter-spacing:.05em}.lightbox-media{max-width:100%;max-height:85vh;display:block;border-radius:4px;margin:0 auto}.lightbox-close{top:18px;right:22px;background:none;font-size:22px}.lightbox-close,.lightbox-nav{position:absolute;border:none;color:#fff;cursor:pointer}.lightbox-nav{top:50%;transform:translateY(-50%);background:hsla(0,0%,100%,.1);font-size:32px;width:48px;height:48px;border-radius:50%}.lightbox-nav.prev{left:16px}.lightbox-nav.next{right:16px}.lightbox-nav:hover{background:hsla(0,0%,100%,.2)}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:0}.admin-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);padding:10px 4px;margin-right:14px;font-size:13.5px;font-weight:500;cursor:pointer}.admin-tab.active,.admin-tab:hover{color:var(--gold-bright)}.admin-tab.active{border-bottom-color:var(--gold-bright)}.admin-edit-form select{width:100%;background:var(--bg-panel-2);border:1px solid var(--line);color:var(--ink);padding:9px 12px;border-radius:4px;font-size:13.5px;font-family:Poppins,sans-serif;margin-bottom:6px}.theme-color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:10px;gap:10px;margin-bottom:14px}.theme-color-item{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--bg-panel-2);border:1px solid var(--line);border-radius:6px;padding:10px}.theme-color-item span{font-size:10.5px;color:var(--muted);text-align:center}.theme-color-item input[type=color]{width:44px;height:30px;border:none;border-radius:4px;cursor:pointer;padding:0;background:none}.admin-list{display:flex;flex-direction:column;gap:14px}.admin-item{display:flex;gap:14px;align-items:flex-start;background:var(--bg-panel);border:1px solid var(--line);border-radius:6px;padding:16px;flex-wrap:wrap}.admin-media-row{display:flex;gap:8px;flex-wrap:wrap;flex:0 0 auto}.admin-media-thumb{position:relative;width:64px;height:64px;border:1px solid var(--line);border-radius:4px;overflow:hidden;padding:0;cursor:pointer;background:#000}.admin-media-thumb img,.admin-media-thumb video{width:100%;height:100%;object-fit:cover;display:block}.admin-item-body{flex:1 1;min-width:180px}.admin-item-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(184,134,63,.15);color:var(--gold-bright);font-size:11.5px;font-weight:600;margin-right:8px}.admin-item-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.admin-item-body p{margin:0 0 4px;font-size:14px;color:var(--ink)}.admin-item-meta{font-size:11.5px;color:var(--muted)}.admin-item-actions{display:flex;gap:8px;flex:0 0 auto;align-items:flex-start;flex-wrap:wrap}.badge{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:12px;border:1px solid var(--line)}.badge-approved{color:#5f8f5a;border-color:#5f8f5a}.badge-pending{color:var(--gold-bright);border-color:var(--gold-bright)}.btn-small{padding:7px 14px;font-size:12.5px;border-radius:4px;border:1px solid var(--line);background:var(--bg-panel-2);color:var(--ink);cursor:pointer}.btn-small:hover{border-color:var(--gold)}.btn-approve{color:#5f8f5a;border-color:#5f8f5a}.btn-delete{color:var(--rose);border-color:var(--rose)}.admin-edit-form{display:flex;flex-direction:column;gap:10px;width:100%}.admin-edit-form input,.admin-edit-form textarea{width:100%;background:var(--bg-panel-2);border:1px solid var(--line);color:var(--ink);padding:9px 12px;border-radius:4px;font-size:13.5px;font-family:var(--font-body)}.admin-edit-form textarea{min-height:60px}.admin-edit-form label{font-size:12px;color:var(--gold-bright);margin-top:6px;font-weight:500}@media (max-width:560px){.event-card{gap:14px}.event-index{flex:0 0 44px;height:44px;font-size:16px}.timeline:before{left:22px}.cd-box{width:60px}}.admin-shell .rsvp-card{border-radius:18px;box-shadow:0 6px 28px rgba(184,134,63,.1)}.admin-shell .stat{border-radius:14px;box-shadow:0 3px 14px rgba(184,134,63,.07);transition:transform .18s ease,box-shadow .18s ease}.admin-shell .stat:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(184,134,63,.12)}.admin-shell .admin-tabs{display:inline-flex;gap:4px;border:none;background:var(--bg-panel-2);padding:5px;border-radius:14px;margin-bottom:8px}.admin-shell .admin-tab{border-bottom:none;border-radius:10px;padding:9px 16px;margin-right:0;transition:background .18s ease,color .18s ease}.admin-shell .admin-tab:hover{background:rgba(184,134,63,.08)}.admin-shell .admin-tab.active{background:var(--bg-panel);color:var(--gold-bright);box-shadow:0 2px 10px rgba(184,134,63,.12)}.admin-shell .admin-item{border-radius:16px;box-shadow:0 3px 14px rgba(184,134,63,.06);transition:box-shadow .18s ease}.admin-shell .admin-item:hover{box-shadow:0 6px 20px rgba(184,134,63,.1)}.admin-shell .btn{border-radius:12px}.admin-shell .btn-small{border-radius:10px;padding:8px 15px;transition:transform .15s ease,box-shadow .15s ease}.admin-shell .btn-small:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(184,134,63,.15)}.admin-shell .btn-small:active{transform:translateY(0)}.admin-shell .badge{border-radius:16px;padding:4px 11px}.admin-shell .admin-edit-form input,.admin-shell .admin-edit-form select,.admin-shell .admin-edit-form textarea,.admin-shell .field input,.admin-shell .field select,.admin-shell .field textarea,.admin-shell .pin-row input{border-radius:10px}.admin-shell .table-scroll{border:1px solid var(--line);border-radius:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;box-shadow:0 3px 14px rgba(184,134,63,.06)}.admin-shell table.rsvp-table{margin-top:0;min-width:820px}.admin-shell table.rsvp-table td:last-child,.admin-shell table.rsvp-table th:last-child{white-space:nowrap}.admin-shell table.rsvp-table th{background:var(--bg-panel-2);padding:12px 14px}.admin-shell table.rsvp-table td{padding:11px 14px}.admin-shell table.rsvp-table tr:last-child td{border-bottom:none}.admin-shell table.rsvp-table tbody tr{transition:background .15s ease}.admin-shell table.rsvp-table tbody tr:hover{background:rgba(184,134,63,.045)}.admin-shell .admin-media-thumb{border-radius:10px}.admin-shell .theme-color-item{border-radius:12px}.mobile-quicknav{display:none}@media (max-width:680px){body{padding-bottom:64px}.mobile-quicknav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:600;background:hsla(40,84%,95%,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -4px 18px rgba(184,134,63,.1);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.mobile-quicknav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;text-decoration:none;color:var(--ink);font-size:10.5px;font-weight:500;letter-spacing:.02em}.mobile-quicknav-icon{font-size:18px;line-height:1}.mobile-quicknav-item:active{opacity:.6}}.admin-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:12px 14px;background:var(--bg-panel);border:1px solid var(--line);border-radius:14px}.admin-filter-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--bg-panel-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23b8863f'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--line);color:var(--ink);font-size:13px;font-family:var(--font-body);padding:8px 32px 8px 14px;border-radius:20px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.admin-filter-select:hover{border-color:var(--gold)}.admin-filter-select:focus-visible{outline:2px solid var(--gold-bright);outline-offset:1px}.admin-filter-count{font-size:12px;color:var(--muted);margin-left:auto;white-space:nowrap}.petals-overlay{position:fixed;inset:0;z-index:500;overflow:hidden;pointer-events:none}.petal{position:absolute;top:-6%;border-radius:50% 0 50% 50%;background:linear-gradient(135deg,var(--gold-glow),var(--rose));opacity:0;animation-name:petal-fall;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes petal-fall{0%{transform:translate(0) rotate(var(--rot));opacity:0}8%{opacity:.6}90%{opacity:.45}to{transform:translate(var(--drift),112vh) rotate(calc(var(--rot) + 200deg));opacity:0}}@media (prefers-reduced-motion:reduce){.petal{animation:none;display:none}}