*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #D2691E;--primary-dark: #A0522D;--primary-light: #DEB887;--secondary: #F4A460;--secondary-dark: #CD853F;--secondary-light: #FFDEAD;--background: #FFF8DC;--surface: #FFFFFF;--surface-hover: #F5F5DC;--text: #2F1B14;--text-secondary: #5D4037;--accent: #FF6347;--error: #DC143C;--success: #228B22;--warning: #FF8C00;--info: #4682B4;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--border-radius: .375rem;--border-radius-lg: .5rem;--border-radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}body[data-theme=wedding]{--primary: #D4AF37;--primary-dark: #B8941F;--primary-light: #E4C441;--secondary: #8B7355;--secondary-dark: #6B5637;--secondary-light: #A0826D;--background: #FFF9F5;--surface: #FFFFFF;--surface-hover: #FAF7F5;--text: #2D2D2D;--text-secondary: #666666;--accent: #E75480}@media (prefers-color-scheme: dark){:root{--background: #1A1A1A;--surface: #2D2D2D;--surface-hover: #3A3A3A;--text: #E0E0E0;--text-secondary: #B0B0B0}}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-sans);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin-bottom:var(--spacing-md);font-weight:600;line-height:1.25;color:var(--text)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-md)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark);text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);font-size:1rem;font-weight:500;line-height:1.5;color:#fff;background-color:var(--primary);border:none;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;user-select:none;-webkit-user-select:none}.btn:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background-color:var(--secondary)}.btn-secondary:hover{background-color:var(--secondary-dark)}.btn-outline{color:var(--primary);background-color:transparent;border:2px solid var(--primary)}.btn-outline:hover{color:#fff;background-color:var(--primary)}.btn-icon{padding:var(--spacing-sm);border-radius:var(--border-radius-full)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1.125rem}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.875rem}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text)}.form-control{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--surface);border:2px solid #E0E0E0;border-radius:var(--border-radius);transition:all var(--transition-fast)}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #d2691e1a}.form-control:disabled{background-color:var(--surface-hover);cursor:not-allowed}.card{background-color:var(--surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-body{padding:var(--spacing-lg)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}.flex{display:flex}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:var(--spacing-xs)}.gap-2{gap:var(--spacing-sm)}.gap-3{gap:var(--spacing-md)}.gap-4{gap:var(--spacing-lg)}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.w-full{width:100%}.h-full{height:100%}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.pointer-events-none{pointer-events:none}.cursor-pointer{cursor:pointer}.transition-all{transition:all var(--transition-base)}.transition-none{transition:none}.spinner{display:inline-block;width:2rem;height:2rem;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:var(--primary);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.container{padding:0 var(--spacing-sm)}.hide-mobile{display:none}}@media (min-width: 769px){.hide-desktop{display:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}.fade-in{animation:fadeIn var(--transition-base) ease-out}.fade-out{animation:fadeOut var(--transition-base) ease-out}.slide-in{animation:slideIn var(--transition-base) ease-out}.slide-out{animation:slideOut var(--transition-base) ease-out}.glass{background:#ffffff1a;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000001a}.glass-dark{background:#0000004d;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 32px #0000004d}.glass-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-hover:hover{background:#ffffff26;border-color:#ffffff40;transform:translateY(-2px);box-shadow:0 12px 48px #00000026}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(-3deg)}66%{transform:translateY(-5px) rotate(3deg)}}@keyframes pulse{0%{box-shadow:0 0 #6366f166}70%{box-shadow:0 0 0 20px #6366f100}to{box-shadow:0 0 #6366f100}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.scroll-animate{opacity:0;transform:translateY(50px);transition:all .8s cubic-bezier(.4,0,.2,1)}.scroll-animate.in-view{opacity:1;transform:translateY(0)}.stagger-item{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.4,0,.2,1)}.stagger-item.in-view{opacity:1;transform:translateY(0)}.hover-lift{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001a}.hover-glow{transition:all .3s ease;position:relative;overflow:hidden}.hover-glow:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.hover-glow:hover:before{left:100%}.btn-magnetic{position:relative;transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.ripple{position:relative;overflow:hidden}.ripple-effect{position:absolute;border-radius:50%;background:#ffffff80;transform:scale(0);animation:ripple-animation .6s ease-out;pointer-events:none}@keyframes ripple-animation{to{transform:scale(4);opacity:0}}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:1000px 100%;animation:shimmer 2s infinite}.skeleton-text{height:14px;margin-bottom:8px;border-radius:4px}.skeleton-image{aspect-ratio:1;border-radius:8px}.blur-load{background-size:cover;background-position:center;filter:blur(10px);transition:filter .3s ease-out}.blur-load.loaded{filter:blur(0)}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent}.animated-gradient-text{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:400% 400%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;animation:gradient-shift 3s ease infinite}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.neon-glow{text-shadow:0 0 5px rgba(99,102,241,.5),0 0 10px rgba(99,102,241,.5),0 0 20px rgba(99,102,241,.5),0 0 40px rgba(99,102,241,.5)}.card-3d{transform-style:preserve-3d;transition:transform .3s cubic-bezier(.4,0,.2,1)}.card-3d:hover{transform:perspective(1000px) rotateY(-10deg) rotateX(10deg)}.morph{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:morph 8s ease-in-out infinite}@keyframes morph{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}}.glitch{position:relative}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch:before{animation:glitch-1 .5s infinite;color:#f0f;z-index:-1}.glitch:after{animation:glitch-2 .5s infinite;color:#0ff;z-index:-2}@keyframes glitch-1{0%,to{clip-path:inset(0 0 0 0);transform:translate(0)}20%{clip-path:inset(20% 0 60% 0);transform:translate(-2px,2px)}40%{clip-path:inset(50% 0 20% 0);transform:translate(2px,-2px)}60%{clip-path:inset(10% 0 80% 0);transform:translate(-1px,1px)}80%{clip-path:inset(80% 0 10% 0);transform:translate(1px,-1px)}}@keyframes glitch-2{0%,to{clip-path:inset(0 0 0 0);transform:translate(0)}20%{clip-path:inset(80% 0 10% 0);transform:translate(2px,-2px)}40%{clip-path:inset(10% 0 80% 0);transform:translate(-2px,2px)}60%{clip-path:inset(50% 0 20% 0);transform:translate(1px,-1px)}80%{clip-path:inset(20% 0 60% 0);transform:translate(-1px,1px)}}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:all .5s cubic-bezier(.4,0,.2,1)}.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-20px);transition:all .5s cubic-bezier(.4,0,.2,1)}.float-1{animation:float 6s ease-in-out infinite}.float-2{animation:float 6s ease-in-out 1s infinite}.float-3{animation:float 6s ease-in-out 2s infinite}.aurora{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:-1}.aurora:before,.aurora:after{content:"";position:absolute;width:200%;height:200%;top:-50%;left:-50%;background-image:radial-gradient(ellipse at center,rgba(99,102,241,.1) 0%,transparent 50%),radial-gradient(ellipse at center,rgba(236,72,153,.1) 0%,transparent 50%);animation:aurora-animation 15s ease-in-out infinite}.aurora:after{animation-delay:-7.5s}@keyframes aurora-animation{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.5)}}@-moz-document url-prefix(){}*,*:before,*:after{box-sizing:border-box}html{overflow-y:scroll}img{max-width:100%;height:auto}.flex{display:-webkit-box;display:-ms-flexbox;display:flex}
