:root{--bg-primary:#fff9f0;--bg-card:#f3e5ce;--ornament:#c6a66b;--secondary:#d8c2a5;--text-primary:#3f332a;--btn-primary:#76572f;--btn-hover:#5d4423;--font-serif:"Playfair Display", Georgia, serif;--font-title:"Cinzel", serif;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-script:"Alex Brush", cursive;--gold-foil:linear-gradient(135deg, #c6a66b 0%, #f3e5ce 45%, #b88e44 80%, #76572f 100%);--gold-glow:0 8px 32px #c6a66b38;--shadow-sm:0 2px 8px #3f332a14;--shadow-md:0 8px 24px #3f332a1f;--shadow-lg:0 16px 36px #3f332a29;--radius-sm:8px;--radius-md:16px;--radius-lg:24px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6}h1,h2,h3,.serif-font{font-family:var(--font-serif);color:var(--text-primary);font-weight:600}.title-font{font-family:var(--font-title);letter-spacing:.15em;text-transform:uppercase}button,input,select,textarea,.btn,a.btn-touch{min-height:44px;font-size:16px}button{cursor:pointer;border-radius:var(--radius-sm);font-family:var(--font-sans);border:none;font-weight:500;transition:all .2s}.btn-primary{background-color:var(--btn-primary);color:#fff9f0;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:8px;padding:12px 24px;text-decoration:none;display:inline-flex}.btn-primary:hover{background-color:var(--btn-hover);transform:translateY(-1px)}.btn-outline{color:var(--btn-primary);border:1.5px solid var(--btn-primary);background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 20px;text-decoration:none;display:inline-flex}.btn-outline:hover{background:var(--bg-card)}.container{width:100%;max-width:680px;margin:0 auto;padding:0 16px}.card{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--secondary);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:24px}.ornament-divider{color:var(--ornament);justify-content:center;align-items:center;gap:12px;margin:24px 0;display:flex}.ornament-divider:before,.ornament-divider:after{content:"";background-color:var(--ornament);width:60px;height:1px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.parallax-banner{border-radius:var(--radius-md);height:280px;box-shadow:var(--shadow-md);border:1px solid var(--ornament);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;justify-content:center;align-items:center;margin:28px 0;display:flex;position:relative;overflow:hidden}.parallax-banner:before{content:"";background:linear-gradient(#3f332a73 0%,#3f332aa6 100%);position:absolute;inset:0}.parallax-text{z-index:2;color:#fff9f0;text-align:center;padding:0 20px;position:relative}.parallax-text h3{color:#fff9f0;text-shadow:0 2px 8px #0006;margin-bottom:6px;font-size:1.5rem}.parallax-text p{color:#f3e5ce;text-shadow:0 1px 4px #0006;font-size:13px}.gallery-grid{grid-templateColumns:repeat(auto-fill, minmax(130px, 1fr));gap:12px;display:grid}.photo-card{aspect-ratio:1;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:1px solid var(--secondary);cursor:pointer;background:#e8dccb;position:relative;overflow:hidden}.photo-card img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.photo-card:hover img{transform:scale(1.05)}.lightbox-overlay{z-index:1000;background:#000000e0;flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.lightbox-img{object-fit:contain;border-radius:var(--radius-sm);max-width:90vw;max-height:80vh;box-shadow:0 8px 32px #0009}.script-font{font-family:var(--font-script);font-weight:400}.gold-text{background:linear-gradient(135deg,#a47c38 0%,#d4b370 40%,#76572f 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.arch-card{background:var(--bg-card);border:1px solid var(--ornament);border-radius:140px 140px var(--radius-md) var(--radius-md);box-shadow:var(--gold-glow);margin-bottom:28px;padding:40px 24px 30px;position:relative}.arch-card:after{content:"";border-radius:134px 134px calc(var(--radius-md) - 6px) calc(var(--radius-md) - 6px);pointer-events:none;border:1px solid #c6a66b73;position:absolute;inset:6px}.royal-box{background:var(--bg-card);border:1.5px solid var(--ornament);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:24px;position:relative}.royal-box:before{content:"";border-radius:calc(var(--radius-md) - 4px);pointer-events:none;border:1px solid #c6a66b66;position:absolute;inset:4px}.corner-ornament{width:24px;height:24px;color:var(--ornament);position:absolute}.corner-tl{top:8px;left:8px}.corner-tr{top:8px;right:8px;transform:scaleX(-1)}.corner-bl{bottom:8px;left:8px;transform:scaleY(-1)}.corner-br{bottom:8px;right:8px;transform:scale(-1)}@keyframes floatPetal{0%{opacity:0;transform:translateY(-10px)rotate(0)}20%{opacity:.6}80%{opacity:.6}to{opacity:0;transform:translateY(100vh)rotate(360deg)}}.petal-particle{pointer-events:none;z-index:10;animation:12s linear infinite floatPetal;position:fixed}.countdown-grid{justify-content:center;gap:12px;margin:20px 0;display:flex}.countdown-card{border:1px solid var(--ornament);border-radius:var(--radius-sm);text-align:center;background:#fff9f0;min-width:64px;padding:10px 14px;box-shadow:0 2px 8px #3f332a0f}.countdown-card .num{font-size:1.5rem;font-weight:700;font-family:var(--font-title);color:var(--btn-primary);line-height:1.1}.countdown-card .lbl{text-transform:uppercase;letter-spacing:.1em;color:#6e5644;margin-top:4px;font-size:10px}
