:root{--ink: #3e1e1e;--muted: #8b6f47;--cream: #fffaf0;--paper: #fffefd;--blush: #f5e6e8;--maroon: #6b2020;--maroon-deep: #3e1414;--maroon-soft: #8a3535;--gold: #c9a14a;--gold-light: #f0dfa8;--gold-rich: #d4af37;--line: #e8d5c4;--danger: #a13e3e;--ease-smooth: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.22, 1, .36, 1);--ease-in-out-soft: cubic-bezier(.65, 0, .35, 1);font-family:Outfit,system-ui,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);line-height:1.65}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Cormorant Garamond,serif;line-height:1.08}.cover{min-height:100svh;display:grid;place-items:center;padding:28px;position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 50% 12%,#7a2a2a,#4a1818,#2a0e0e);transition:opacity .9s var(--ease-smooth),transform .9s var(--ease-smooth),clip-path .9s var(--ease-smooth),filter .9s var(--ease-smooth)}.cover.cover-exit-fade{opacity:0;transform:scale(1.06);filter:blur(6px);pointer-events:none}.cover.cover-exit-slide{transform:translateY(-100%) scale(.98);pointer-events:none}.cover.cover-exit-curtain{clip-path:circle(0% at 50% 50%);filter:blur(2px);pointer-events:none}@media (prefers-reduced-motion: reduce){.cover{transition:none!important}}.cover-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-1}.particle-overlay-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.cover-corner{position:absolute;width:180px;height:180px;opacity:.35;pointer-events:none;z-index:1}.cover-corner-tl{top:0;left:0;animation:floatSoft 7s ease-in-out infinite}.cover-corner-tr{top:0;right:0;transform:scaleX(-1);animation:floatSoft 7s ease-in-out infinite .4s}.cover-corner-bl{bottom:0;left:0;transform:scaleY(-1);animation:floatSoft 7s ease-in-out infinite .8s}.cover-corner-br{bottom:0;right:0;transform:scale(-1);animation:floatSoft 7s ease-in-out infinite 1.2s}@keyframes floatSoft{0%,to{transform:var(--float-base, none) translate(0)}50%{transform:var(--float-base, none) translate(3px,-6px)}}.cover-corner-tr{--float-base: scaleX(-1)}.cover-corner-bl{--float-base: scaleY(-1)}.cover-corner-br{--float-base: scale(-1, -1)}@media (prefers-reduced-motion: reduce){.cover-corner-tl,.cover-corner-tr,.cover-corner-bl,.cover-corner-br{animation:none}}.cover-overlay{position:absolute;top:16px;right:16px;bottom:16px;left:16px;border:1px solid rgba(212,175,55,.5);border-radius:3px;pointer-events:none}.cover-content{position:relative;z-index:2;text-align:center;max-width:680px;padding:clamp(30px,7vw,68px) clamp(22px,6vw,70px);border:1px solid rgba(212,175,55,.4);background:linear-gradient(145deg,#fffaf01a,#3e141426);box-shadow:0 24px 90px #0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:coverFrameIn 1s var(--ease-smooth) both}.cover-content>*{opacity:0;animation:coverItemIn .9s var(--ease-smooth) both}.cover-content>*:nth-child(1){animation-delay:.15s}.cover-content>*:nth-child(2){animation-delay:.28s}.cover-content>*:nth-child(3){animation-delay:.42s}.cover-content>*:nth-child(4){animation-delay:.55s}.cover-content>*:nth-child(5){animation-delay:.66s}.cover-content>*:nth-child(6){animation-delay:.76s}.cover-content>*:nth-child(7){animation-delay:.86s}.cover-content>*:nth-child(8){animation-delay:.96s}@keyframes coverFrameIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes coverItemIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.cover-content,.cover-content>*{animation:none!important;opacity:1!important;transform:none!important}}.cover-photo-single-wrapper{display:flex;justify-content:center;align-items:center;margin:0 0 16px}.cover-photo-arch{width:clamp(120px,30vw,180px);aspect-ratio:3 / 4;border-radius:50% 50% 0 0/60% 60% 0 0;background-color:#3e141459;border:3px solid rgba(212,175,55,.7);border-bottom:none;box-shadow:0 14px 30px #00000059;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.cover-photo-arch img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}.cover-photo-arch.is-placeholder{background:linear-gradient(150deg,#d9c19680,#6b202073)}.cover-photo-arch.is-placeholder span{font-family:Cormorant Garamond,serif;font-size:clamp(1.1rem,3.5vw,1.5rem);color:#f0dfa8;text-shadow:0 2px 8px rgba(0,0,0,.4);text-align:center;padding:0 4px}.cover-ornament{position:absolute;z-index:1;color:var(--gold-rich);opacity:.8;pointer-events:none}.cover-ornament-top{top:38px;left:50%;transform:translate(-50%);animation:pulseGlow 3.6s ease-in-out infinite}.cover-ornament-bottom{bottom:38px;left:50%;transform:translate(-50%);animation:pulseGlow 3.6s ease-in-out infinite 1.2s}@keyframes pulseGlow{0%,to{opacity:.6;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.12)}}@media (prefers-reduced-motion: reduce){.cover-ornament-top,.cover-ornament-bottom{animation:none}}.eyebrow{letter-spacing:.25em;font-size:.69rem;color:var(--gold);font-weight:600}.cover .eyebrow,.cover .guest-label{color:#f0dfa8}.cover h1{font-size:clamp(2.4rem,7vw,4.2rem);font-weight:300;margin:14px 0}.cover h1 span,.ampersand{font-style:italic;color:#d4af37}.cover h2{font-size:clamp(1.3rem,3.5vw,1.8rem);font-weight:400;margin-bottom:8px}.cover-divider{display:flex;align-items:center;justify-content:center;gap:12px;color:#d4af37;margin:14px 0}.cover-divider svg{width:24px;height:24px}.cover-divider .line{width:40px;height:1px;background:linear-gradient(90deg,transparent,#d4af37,transparent)}.cover-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.guest-label{margin:18px 0 0;font-size:.82rem}.cover-copy{max-width:440px;margin:18px auto 27px;color:#f5eee5;font-size:.94rem}.btn-open,.btn-primary,.btn-outline{display:inline-block;border:0;text-decoration:none;transition:transform .35s var(--ease-smooth),background .35s var(--ease-smooth),box-shadow .35s var(--ease-smooth)}.btn-open,.btn-primary{padding:13px 24px;background:linear-gradient(135deg,#c9a14a,#a67c2e);color:#fff;box-shadow:0 10px 24px #3e14144d}.btn-open{border-radius:999px;padding:14px 31px;opacity:0;animation:coverItemIn .9s var(--ease-smooth) .96s both,breathe 2.6s ease-in-out infinite 1.9s}.btn-open:hover,.btn-primary:hover{background:linear-gradient(135deg,#d4af37,#b88a30);transform:translateY(-2px) scale(1.03);box-shadow:0 14px 26px #3e141459}.btn-open:active,.btn-primary:active{transform:translateY(0) scale(.97)}@keyframes breathe{0%,to{box-shadow:0 10px 24px #3e14144d,0 0 #d4af3766}50%{box-shadow:0 10px 24px #3e14144d,0 0 0 8px #d4af3700}}@media (prefers-reduced-motion: reduce){.btn-open{animation:none;opacity:1}}.btn-sm{border:1px solid var(--gold);color:#8c6236;background:#fffdf9;padding:7px 10px;margin-top:8px;font-size:.85rem;border-radius:5px}.hero-section{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 20px;position:relative;overflow:hidden;background:linear-gradient(155deg,#fffaf0,#f5e6e8)}.hero-section:before{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid var(--gold-light);opacity:.7;pointer-events:none}.hero-border-frame{position:absolute;top:30px;right:30px;bottom:30px;left:30px;border:1px solid rgba(201,161,74,.5);pointer-events:none;z-index:1}.hero-border-frame:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(201,161,74,.25)}.hero-photo-arch{width:clamp(140px,32vw,210px);aspect-ratio:3 / 4;margin:10px auto 18px;border-radius:50% 50% 0 0/60% 60% 0 0;border:3px solid var(--gold);border-bottom:none;overflow:hidden;box-shadow:0 16px 34px #6b202038}.hero-photo-arch img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}.hero-frame{position:relative;z-index:2;max-width:850px}.hero-section h1{font-size:clamp(3rem,9vw,5.5rem);font-weight:300;max-width:900px;margin:14px 0}.hero-section h1 span{font-style:italic;color:var(--maroon)}.hero-date{letter-spacing:.16em;font-size:.78rem;color:var(--maroon)}.hero-guest{font-size:.9rem;color:var(--muted);margin:14px 0}.scroll-link{font-size:2rem;color:var(--gold);text-decoration:none;margin-top:42px;z-index:2;animation:bounce 2s infinite}.ornament{color:var(--gold);font-size:1.8rem;margin-bottom:12px}.section-floral-divider{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold);margin:20px 0}.section-floral-divider .line{width:50px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.section-floral-divider svg{width:28px;height:28px;opacity:.7}.section,.gallery-section{max-width:1060px;margin:auto;padding:88px 24px;text-align:center}.intro-section{max-width:900px}.arabic{font-size:1.5rem;color:var(--maroon)}.intro-copy{max-width:660px;margin:20px auto 55px;color:var(--muted)}.couple-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.couple-card{padding:18px;transition:transform .5s var(--ease-smooth)}.couple-card:hover{transform:translateY(-8px)}.couple-card:hover .portrait{transform:scale(1.035);box-shadow:0 20px 44px #6b202047}.couple-grid article h2{font-size:2.6rem;font-weight:400;margin:18px 0 6px;color:var(--maroon)}.couple-grid article p{color:var(--muted);font-size:.9rem}.portrait{width:min(258px,100%);aspect-ratio:1;margin:auto;border-radius:50% 50% 45% 45%;border:8px solid #fff;border-bottom-color:var(--gold-light);box-shadow:0 14px 36px #6b202033;background:linear-gradient(140deg,#d9c196,#9b7659);background-size:cover;background-position:center;transition:transform .5s var(--ease-smooth),box-shadow .5s var(--ease-smooth)}.bride-portrait{background:linear-gradient(140deg,#e8d4c8,#9b766f)}.ampersand{font:italic 4.5rem Cormorant Garamond,serif;color:var(--gold)}.event-section{background:linear-gradient(180deg,#fffaf0,#f5e6e8);max-width:none}.event-section>h2,.gallery-section>h2,.gift-section h2,.rsvp-section h2,.guestbook-section h2{font-size:3.1rem;font-weight:400;color:var(--maroon)}.event-card{width:min(540px,100%);margin:21px auto;border:1px solid var(--line);padding:32px;background:#ffffffd1;box-shadow:0 8px 25px #6b20200f}.event-card-highlight{border-top:3px solid var(--gold)}.event-card h3{font-size:2rem;font-weight:400;margin-bottom:7px;color:var(--maroon)}.event-card small,.event-card span{display:block;color:var(--muted);margin:5px}.countdown{display:flex;justify-content:center;gap:14px;margin:38px auto}.countdown-unit{min-width:68px;padding:12px 7px;border-bottom:1px solid var(--gold-light);transition:transform .3s var(--ease-smooth),border-color .3s ease}.countdown-unit:hover{transform:translateY(-3px);border-color:var(--gold)}.countdown-unit strong{font:2.1rem Cormorant Garamond,serif;color:var(--maroon);display:inline-block;animation:countPop .4s var(--ease-smooth)}@keyframes countPop{0%{opacity:.4;transform:translateY(-6px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.countdown-unit strong{animation:none}}.countdown-unit span{display:block;font-size:.68rem;text-transform:uppercase;color:var(--muted)}.btn-outline{margin-top:18px;padding:10px 17px;border:1px solid var(--gold);color:#8c6236;background:transparent}.btn-outline:hover{background:var(--gold);color:#fff}.section-ornament{padding:18px 0}.section-divider{color:var(--gold);font-size:1rem;letter-spacing:1rem}.gallery-section{padding-bottom:48px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.gallery-item{overflow:hidden;background:#eee;border-radius:4px}.gallery-item img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;transition:transform .35s ease;cursor:pointer}.gallery-item:hover img{transform:scale(1.05)}.gallery-item p{padding:8px;margin:0;text-align:center;font-size:.9rem;color:var(--muted)}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity .3s ease;pointer-events:none}.lightbox-overlay.visible{opacity:1;pointer-events:all}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;text-align:center}.lightbox-close{position:absolute;top:10px;right:15px;width:35px;height:35px;background:#fff3;border:none;border-radius:50%;color:#fff;font-size:1.5rem;cursor:pointer;z-index:1001;transition:background .2s}.lightbox-nav{position:absolute;top:50%;width:100%;display:flex;justify-content:space-between;transform:translateY(-50%);pointer-events:none}.lightbox-prev,.lightbox-next{background:#00000080;border:none;color:#fff;padding:10px 15px;cursor:pointer;border-radius:4px;font-size:1.5rem;pointer-events:all;transition:background .2s}.lightbox-prev:hover,.lightbox-next:hover{background:#000000b3}.lightbox-img-container{max-height:80vh;overflow:hidden;border-radius:8px;box-shadow:0 4px 20px #0000004d}.lightbox-img-container img{max-width:100%;max-height:100%;object-fit:contain;display:block}.lightbox-title{margin:15px 0 10px;font-size:1.2rem;color:var(--cream);max-width:80%;text-align:center}.lightbox-counter{display:block;margin-top:10px;color:var(--gold-light);font-size:.9rem}.rsvp-section,.guestbook-section{max-width:640px;margin:auto}.rsvp-section>p,.guestbook-section>p,.gift-section>p{color:var(--muted)}.rsvp-form,.guestbook-form{margin-top:28px;text-align:left}.form-group{display:block;margin:14px 0;text-align:left}.form-group span,.form-group label{display:block;margin-bottom:6px;font-size:.85rem;font-weight:600;color:var(--maroon)}.form-group input,.form-group textarea,.form-inline input{width:100%;padding:12px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink)}textarea{resize:vertical}.selection-group label{font-size:.85rem}.radio-options{display:flex;gap:20px}.radio-label{display:flex!important;align-items:center;gap:7px;font-weight:400!important}.alert{max-width:960px;margin:16px auto;padding:12px 16px;border-radius:5px}.alert-success{background:#e8f1e8;color:#2d6433}.alert-error{background:#f9e9e7;color:#913c35}.guestbook-messages,.messages-list{margin-top:32px;text-align:left;display:grid;gap:12px}.guestbook-item,.message-card{padding:18px;background:#fff;border:1px solid var(--line);border-radius:5px}.guestbook-item p,.message-card p{margin:8px 0}.guestbook-item small{color:var(--muted)}.bank-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:14px;margin:28px auto;max-width:720px}.bank-card{padding:24px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:6px;border-radius:5px;border-top:3px solid var(--gold)}.bank-card strong{font-size:.8rem;color:var(--maroon)}.bank-card b{font-size:1.25rem;letter-spacing:.06em}.bank-card button{border:1px solid var(--gold);color:#8c6236;background:transparent;padding:7px 10px;margin-top:12px;cursor:pointer;border-radius:5px}.music-player{position:fixed;z-index:10;right:18px;bottom:18px;border:0;border-radius:50%;width:48px;height:48px;color:#fff;background:var(--maroon);font-size:1.4rem;box-shadow:0 8px 18px #3e14144d}footer{text-align:center;padding:75px 24px;background:linear-gradient(180deg,var(--maroon-deep),#2a0e0e);color:#fff}footer p{max-width:560px;margin:0 auto 22px;color:#e8d5c4}footer h2{font-size:2.6rem;font-weight:400;color:var(--gold-light)}.loading-indicator{text-align:center;padding:12px;color:var(--muted)}.auth-container{min-height:100svh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f5e6e8,#e8d5c4)}.auth-card{width:min(430px,100%);padding:38px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 15px 35px #6b20201a;border-top:4px solid var(--gold)}.auth-card h1{font-size:2.8rem;font-weight:400;color:var(--maroon)}.auth-card>p{color:var(--muted)}.auth-form .btn-primary{width:100%;margin-top:8px}.admin-container{min-height:100svh;background:linear-gradient(135deg,#faf7f3,#f2eee8)}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px max(24px,calc((100% - 1120px)/2));background:linear-gradient(115deg,var(--maroon-deep),var(--maroon));color:#fff}.admin-header .eyebrow{margin-bottom:4px;color:var(--gold-light)}.admin-header h1{margin:0;font-size:2.35rem;font-weight:400}.btn-logout{border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;padding:8px 14px;cursor:pointer;border-radius:5px}.admin-nav{display:flex;gap:6px;overflow:auto;padding:12px max(24px,calc((100% - 1120px)/2));background:#fff;border-bottom:1px solid var(--line)}.admin-nav button{padding:9px 14px;border:0;background:transparent;color:var(--muted);cursor:pointer;transition:.2s;border-radius:5px}.admin-nav button.active{background:#f5e6e8;color:var(--maroon)}.admin-main{max-width:1120px;margin:auto;padding:38px 24px}.admin-main h2{font-size:2.35rem;font-weight:400;color:var(--maroon)}.admin-main h3{font-size:1.6rem;margin-top:26px;color:var(--maroon)}.admin-main h4{font-size:1.08rem;color:var(--muted)}.admin-title{margin-top:40px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 7px 20px #6b20200a;border-top:3px solid var(--gold)}.stat-card strong{display:block;font:2.5rem Cormorant Garamond,serif;color:var(--maroon)}.stat-card span{font-size:.85rem;color:var(--muted)}.table-container{overflow:auto;background:#fff;border:1px solid var(--line);margin-top:15px;border-radius:7px}.admin-table{width:100%;border-collapse:collapse;text-align:left}.admin-table th,.admin-table td{padding:13px;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table th{font-size:.75rem;text-transform:uppercase;color:var(--muted);background:#faf7f3}.guest-actions{display:flex;gap:10px;margin:15px 0;flex-wrap:wrap}.settings-form{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px;max-width:780px;margin-bottom:25px}.settings-form .btn-primary{width:max-content;margin-top:12px;border-radius:5px}.photo-settings{margin-top:35px;padding:22px;background:#fffaf0;border:1px dashed var(--gold-light);border-radius:7px}.photo-upload-group{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:15px}.photo-upload-item{text-align:left}.photo-upload-item label{display:block;margin-bottom:8px;font-size:.85rem;font-weight:600;color:var(--maroon)}.photo-upload-item input{width:100%;margin-bottom:8px}.photo-preview{max-width:150px;display:block;margin-top:10px;border:1px solid var(--line);border-radius:5px}.music-settings{margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}.music-settings form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.music-settings audio{display:block;width:min(400px,100%);margin-top:18px}.form-inline{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;margin-bottom:25px}.gallery-grid.admin{grid-template-columns:repeat(4,1fr)}.gallery-item.admin{position:relative}.gallery-item.admin .btn-delete{position:absolute;bottom:8px;right:8px;margin:0;background:#fff}.btn-delete{border-color:var(--danger);color:var(--danger)}.message-card button{margin-right:8px}.qr-modal,.analytics-modal{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:7px;background:#fff}.qr-modal h3,.analytics-modal h3{margin-top:0;color:var(--maroon)}.qr-modal img{max-width:300px}.analytics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:15px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}[data-reveal]{opacity:0;transform:translateY(38px);transition:opacity .9s var(--ease-smooth),transform .9s var(--ease-smooth);will-change:transform,opacity}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){[data-reveal]{transition:none;opacity:1;transform:none}}.couple-grid>*,.event-card,.bank-list>*,.gallery-masonry-item,.countdown-unit,.timeline-item{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease-smooth),transform .8s var(--ease-smooth)}[data-reveal].is-visible .couple-grid>*,[data-reveal].is-visible .event-card,[data-reveal].is-visible .bank-list>*,[data-reveal].is-visible .countdown-unit,[data-reveal].is-visible .timeline-item,.gallery-section.is-visible .gallery-masonry-item{opacity:1;transform:translateY(0)}.couple-grid>*:nth-child(1){transition-delay:.05s}.couple-grid>*:nth-child(2){transition-delay:.16s}.couple-grid>*:nth-child(3){transition-delay:.27s}.event-card:nth-of-type(1){transition-delay:.05s}.event-card:nth-of-type(2){transition-delay:.18s}.countdown-unit:nth-child(1){transition-delay:0s}.countdown-unit:nth-child(2){transition-delay:.08s}.countdown-unit:nth-child(3){transition-delay:.16s}.countdown-unit:nth-child(4){transition-delay:.24s}.bank-list>*:nth-child(1){transition-delay:.05s}.bank-list>*:nth-child(2){transition-delay:.14s}.bank-list>*:nth-child(3){transition-delay:.23s}.gallery-masonry-item:nth-child(1){transition-delay:.03s}.gallery-masonry-item:nth-child(2){transition-delay:.09s}.gallery-masonry-item:nth-child(3){transition-delay:.15s}.gallery-masonry-item:nth-child(4){transition-delay:.21s}.gallery-masonry-item:nth-child(5){transition-delay:.27s}.gallery-masonry-item:nth-child(6){transition-delay:.33s}.timeline-item:nth-child(1){transition-delay:.05s}.timeline-item:nth-child(2){transition-delay:.2s}.timeline-item:nth-child(3){transition-delay:.35s}.timeline-item:nth-child(4){transition-delay:.5s}@media (prefers-reduced-motion: reduce){.couple-grid>*,.event-card,.bank-list>*,.gallery-masonry-item,.countdown-unit,.timeline-item{transition:none;opacity:1;transform:none}}.scroll-progress-track{position:fixed;top:0;left:0;width:100%;height:3px;background:#6b202014;z-index:60}.scroll-progress-bar{height:100%;background:linear-gradient(90deg,var(--gold),var(--maroon));transition:width .15s linear}.floating-nav{position:fixed;left:50%;bottom:18px;transform:translate(-50%,140%);display:flex;gap:4px;background:#fffaf0eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;padding:6px;box-shadow:0 14px 34px #3e14142e;z-index:55;transition:transform .5s var(--ease-smooth),opacity .5s var(--ease-smooth);opacity:0}.floating-nav.is-visible{transform:translate(-50%);opacity:1}.floating-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:transparent;color:var(--muted);padding:8px 10px;border-radius:999px;cursor:pointer;transition:color .25s ease,background .25s ease,transform .25s var(--ease-smooth)}.floating-nav button:hover{transform:translateY(-2px);color:var(--maroon)}.floating-nav button.active{background:linear-gradient(135deg,var(--gold),var(--maroon-soft));color:#fff}.floating-nav-icon{font-size:1rem;line-height:1}.floating-nav-label{font-size:.58rem;letter-spacing:.02em}@media (max-width: 640px){.floating-nav-label{display:none}.floating-nav button{padding:9px}}.love-story-section{max-width:900px}.timeline{position:relative;margin-top:50px;padding:10px 0}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--gold-light) 8%,var(--gold-light) 92%,transparent);transform:translate(-50%)}.timeline-item{position:relative;width:50%;padding:0 42px 56px;text-align:left}.timeline-item:last-child{padding-bottom:0}.timeline-left{left:0;text-align:right}.timeline-right{left:50%}.timeline-dot{position:absolute;top:4px;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px #d4af372e}.timeline-left .timeline-dot{right:-6px}.timeline-right .timeline-dot{left:-6px}.timeline-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px 26px;box-shadow:0 10px 28px #6b202012}.timeline-year{display:inline-block;font-size:.68rem;letter-spacing:.14em;color:var(--gold);font-weight:600;text-transform:uppercase;margin-bottom:6px}.timeline-card h3{font-size:1.5rem;font-weight:400;color:var(--maroon);margin:0 0 8px}.timeline-card p{color:var(--muted);font-size:.9rem;margin:0}@media (max-width: 640px){.timeline:before{left:18px}.timeline-item,.timeline-left,.timeline-right{width:100%;left:0;text-align:left;padding:0 0 40px 46px}.timeline-left .timeline-dot,.timeline-right .timeline-dot{left:12px;right:auto}}.petal-burst-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:90;overflow:hidden}.petal{position:absolute;top:-10%;will-change:transform,opacity;animation:petalFall var(--duration, 3s) var(--ease-in-out-soft, ease-in-out) var(--delay, 0s) forwards;opacity:.95}@keyframes petalFall{0%{transform:translateY(-10vh) rotate(0);opacity:0}10%{opacity:1}to{transform:translate(var(--drift, 0px),115vh) rotate(340deg);opacity:0}}.gallery-count{text-align:center;color:var(--gold);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin:-8px 0 28px}.gallery-masonry{columns:3;column-gap:22px;max-width:1000px;margin:0 auto}.gallery-masonry-item{break-inside:avoid;margin-bottom:26px;position:relative;cursor:pointer;transition:transform .4s var(--ease-smooth)}.gallery-frame-0{transform:rotate(-1.6deg)}.gallery-frame-1{transform:rotate(1.4deg)}.gallery-frame-2{transform:rotate(-.8deg)}.gallery-masonry-item:hover{transform:rotate(0) translateY(-6px) scale(1.02);z-index:2}.gallery-frame-inner{position:relative;padding:10px 10px 0;background:#fffdf8;border:1px solid var(--gold-light);border-radius:3px;box-shadow:0 10px 24px #6b202024,0 0 0 1px #d4af371f inset;overflow:hidden}.gallery-frame-inner img{display:block;width:100%;height:auto;border-radius:2px}.gallery-zoom-hint{position:absolute;top:18px;right:18px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#1408088c;color:#fff;font-size:.9rem;opacity:0;transform:scale(.8);transition:opacity .3s ease,transform .3s ease}.gallery-masonry-item:hover .gallery-zoom-hint{opacity:1;transform:scale(1)}.gallery-caption{text-align:center;padding:10px 6px 14px;font-family:Cormorant Garamond,serif;font-style:italic;font-size:.95rem;color:var(--maroon);background:#fffdf8;border:1px solid var(--gold-light);border-top:none;border-radius:0 0 3px 3px;box-shadow:0 10px 24px #6b202024;margin-top:-1px}@media (prefers-reduced-motion: reduce){.gallery-frame-0,.gallery-frame-1,.gallery-frame-2{transform:none}}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140808eb;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .25s ease}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.lightbox-close{position:absolute;top:-45px;right:-10px;width:40px;height:40px;background:#ffffff26;border:none;border-radius:50%;color:#fff;font-size:1.6rem;cursor:pointer;z-index:10001;transition:background .2s;display:flex;align-items:center;justify-content:center}.lightbox-close:hover{background:#ffffff4d}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1f;border:none;color:#fff;padding:12px 18px;cursor:pointer;border-radius:50%;font-size:1.3rem;z-index:10001;transition:background .2s;display:flex;align-items:center;justify-content:center}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-prev:hover,.lightbox-next:hover{background:#d4af3766}.lightbox-img-container{max-width:85vw;max-height:80vh;display:flex;flex-direction:column;align-items:center;border-radius:8px;overflow:hidden}.lightbox-img-container img{max-width:100%;max-height:75vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px #00000080}.lightbox-title{margin:12px 0 4px;font-size:1.1rem;color:var(--gold-light);font-family:Cormorant Garamond,serif}.lightbox-counter{color:#fff9;font-size:.8rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#ccc;border-radius:24px;transition:.3s}.toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background:var(--maroon)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.intro-video-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000;animation:introFadeOut 2.6s ease forwards}.intro-video{width:100%;height:100%;object-fit:cover}.intro-video-fade{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,transparent 40%,rgba(0,0,0,.5) 100%);pointer-events:none}@keyframes introFadeOut{0%,78%{opacity:1}to{opacity:0}}.bloom-flower{position:absolute;width:clamp(70px,12vw,110px);height:clamp(70px,12vw,110px);color:var(--gold);z-index:1;pointer-events:none;opacity:.85}.bloom-flower-tl{top:14px;left:14px}.bloom-flower-br{bottom:14px;right:14px}.bloom-flower svg{width:100%;height:100%}.bloom-petal{transform-origin:10px 10px;animation:petalOpen 1.1s var(--ease-smooth) both}@keyframes petalOpen{0%{transform:scale(0) rotate(var(--r, 0deg));opacity:0}to{transform:scale(1);opacity:.55}}@media (prefers-reduced-motion: reduce){.bloom-petal{animation:none;opacity:.55}}.closing-section{text-align:center;padding:80px 24px 100px;background:linear-gradient(180deg,#fffaf0,#f7ece2);position:relative}.closing-flourish{width:46px;height:46px;margin:0 auto 12px;color:var(--gold)}.closing-message{max-width:560px;margin:18px auto 26px;color:var(--muted);line-height:1.8}.closing-names{font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,5vw,2.6rem);color:var(--maroon);display:flex;gap:14px;justify-content:center;align-items:baseline}.closing-names em{font-style:italic;color:var(--gold)}.closing-family{margin-top:10px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.loop-to-top{display:flex;justify-content:center;padding:10px 0 34px;background:#f7ece2}.loop-to-top button{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--gold-light);background:transparent;color:var(--maroon);padding:12px 26px;border-radius:999px;cursor:pointer;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;transition:background .3s ease,transform .3s var(--ease-smooth)}.loop-to-top button:hover{background:#d4af371a}.loop-arrow{font-size:1.1rem;animation:loopBounce 1.6s ease-in-out infinite}.loop-to-top button.is-looping{transform:scale(.96);opacity:.7}@keyframes loopBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (prefers-reduced-motion: reduce){.loop-arrow{animation:none}}.section{position:relative}.section:before,.section:after{content:"";position:absolute;top:50%;width:26px;height:90px;background:radial-gradient(ellipse at center,rgba(212,175,55,.35),transparent 70%);border-radius:50%;opacity:0;transform:translateY(-50%) scale(.6);transition:opacity 1s var(--ease-smooth) .2s,transform 1s var(--ease-smooth) .2s;pointer-events:none;display:none}.section:before{left:6px}.section:after{right:6px}.section.is-visible:before,.section.is-visible:after{opacity:1;transform:translateY(-50%) scale(1)}@media (min-width: 900px){.section:before,.section:after{display:block}}@media (max-width: 650px){.cover{padding:16px}.cover-content{padding:36px 20px}.cover-corner{width:100px;height:100px}.couple-grid{grid-template-columns:1fr}.ampersand{margin:-6px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-masonry{columns:2}.stats-grid{grid-template-columns:repeat(2,1fr)}.settings-form,.form-inline,.photo-upload-group,.analytics-grid{grid-template-columns:1fr}.admin-header{align-items:flex-start}.event-section>h2,.gallery-section>h2,.gift-section h2,.rsvp-section h2,.guestbook-section h2{font-size:2.5rem}.cover h1{font-size:2.8rem}.admin-nav button{font-size:.8rem;padding:6px 8px}.lightbox-prev,.lightbox-next{padding:8px 12px;font-size:1rem}}
