@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,400&family=Montserrat:wght@300;400;500;600&display=swap";:root{--color-primary: #722F37;--color-secondary: #D4AF37;--color-background: #F9F5F0;--color-text-dark: #2C2C2C;--color-text-light: #FFFFFF;--color-glass: rgba(255, 255, 255, .1);--color-glass-border: rgba(255, 255, 255, .2);--font-serif: "Cormorant Garamond", serif;--font-sans: "Montserrat", sans-serif;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;line-height:1.5;font-weight:400;color-scheme:light;color:var(--color-text-dark);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);min-height:100vh;width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:1.2;color:var(--color-primary)}a{text-decoration:none;color:inherit;transition:opacity .3s ease}a:hover{opacity:.8}button{cursor:pointer;border:none;background:transparent;font-family:var(--font-sans)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#5a232b}.text-center{text-align:center}.text-white{color:var(--color-text-light)}.bg-primary{background-color:var(--color-primary)}.bg-light{background-color:#f8f9fa}.section{padding:5rem 0}.section-title{font-size:3rem;margin-bottom:1rem;text-align:center}.section-subtitle{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:3px;font-size:1rem;margin-bottom:3rem;text-align:center;color:#666}@keyframes fadeInPage{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:fadeInPage .6s cubic-bezier(.16,1,.3,1) forwards}.login-container{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--color-background);color:var(--color-text);padding:2rem;text-align:center;position:relative;overflow:hidden}.login-content{background:#fff;padding:4rem 3rem;border-radius:20px;box-shadow:0 10px 40px #0000000d;max-width:450px;width:100%;position:relative;z-index:10;border:1px solid rgba(0,0,0,.05)}.login-title{font-family:var(--font-serif);font-size:2.5rem;color:var(--color-primary);margin-bottom:1rem}.login-subtitle{font-family:var(--font-sans);color:#666;margin-bottom:2.5rem;line-height:1.6}.google-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px;background:#fff;border:1px solid #ddd;border-radius:8px;font-family:var(--font-sans);font-size:1rem;font-weight:500;color:#333;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 5px #0000000d}.google-btn:hover{background:#f8f9fa;box-shadow:0 4px 10px #0000001a;transform:translateY(-1px)}.google-btn img{width:24px;height:24px}.navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:1.5rem 0;transition:all .3s ease;background:transparent}.navbar.scrolled{background:#fffffff2;padding:1rem 0;box-shadow:0 4px 30px #0000001a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.navbar-content{display:flex;justify-content:space-between;align-items:center}.logo{font-family:var(--font-serif);font-size:1.8rem;font-weight:700;color:var(--color-text-light);letter-spacing:2px}.navbar.scrolled .logo{color:var(--color-primary)}.nav-links{display:flex;gap:3rem}.nav-links a{font-family:var(--font-sans);font-weight:500;color:var(--color-text-light);text-transform:uppercase;font-size:.9rem;letter-spacing:1px;position:relative}.nav-links a:after{content:"";position:absolute;width:0;height:2px;bottom:-4px;left:0;background-color:var(--color-secondary);transition:width .3s ease}.nav-links a:hover:after{width:100%}.navbar.scrolled .nav-links a{color:var(--color-text-dark)}.menu-toggle{display:none;color:var(--color-text-light)}.navbar.scrolled .menu-toggle{color:var(--color-text-dark)}@media(max-width:768px){.menu-toggle{display:block;font-size:1.5rem}.nav-links{position:fixed;top:0;right:-100%;height:100vh;width:70%;background:var(--color-background);flex-direction:column;justify-content:center;align-items:center;transition:right .3s ease;box-shadow:-5px 0 15px #0000001a}.nav-links.active{right:0}.nav-links a{color:var(--color-text-dark);font-size:1.2rem}}.hero{height:100vh;width:100%;position:relative;display:flex;justify-content:center;align-items:center;text-align:center;background-size:cover;background-position:50% 20%;color:var(--color-text-light)}.hero-content{z-index:2;position:relative;width:100%;padding:0 1rem}.sub-headline{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:4px;font-size:1.2rem;margin-bottom:1rem;color:#ffffffe6;font-weight:400}.headline{font-family:var(--font-serif);font-size:5rem;font-weight:500;margin-bottom:1.5rem;line-height:1.1;color:var(--color-text-light)}.headline .amp{font-family:var(--font-serif);font-style:italic;color:var(--color-secondary);font-weight:400;margin:0 .5rem}.date{font-family:var(--font-sans);font-size:1.2rem;margin-bottom:4rem;letter-spacing:1px}.countdown{display:flex;justify-content:center;gap:2rem}.time-box{background:#ffffff26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);padding:1.5rem 2rem;border-radius:12px;display:flex;flex-direction:column;align-items:center;min-width:100px;box-shadow:0 8px 32px #0003}.time-box .time{font-family:var(--font-serif);font-size:2.5rem;font-weight:600;line-height:1;margin-bottom:.5rem;color:var(--color-secondary)}.time-box .label{font-family:var(--font-sans);font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:#fffc}.hero-cta{margin-top:3.5rem;animation:fadeInUp 1s ease-out 1.2s both}.btn-hero-rsvp{display:inline-block;padding:1.2rem 4rem;background:var(--color-secondary);border:none;color:var(--color-primary);font-family:var(--font-sans);font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;border-radius:50px;transition:all .3s ease;box-shadow:0 4px 15px #0000004d}.btn-hero-rsvp:hover{background:#fff;color:var(--color-primary);transform:translateY(-2px);box-shadow:0 8px 25px #0006}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.headline{font-size:4rem}.countdown{gap:1.5rem}}@media(max-width:768px){.hero{background-position:center;min-height:100svh;padding-top:60px}.headline{font-size:3rem}.countdown{gap:1rem;flex-wrap:wrap}.time-box{min-width:70px;padding:1rem}.time-box .time{font-size:1.8rem}.btn-hero-rsvp{padding:1rem 3rem;width:80%}}.celebration-section{background-color:var(--color-primary);padding-top:5rem;padding-bottom:8rem;overflow:hidden;color:#fff}.celebration-header{margin-bottom:5rem}.celebration-section .section-title{color:#fff}.celebration-section .section-subtitle{color:#fffc}.venue-location{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem;font-family:var(--font-sans);color:#ffffffe6;font-size:1rem;letter-spacing:1px;text-transform:uppercase}.timeline-container{max-width:1200px;margin:0 auto;position:relative;padding:2rem 1rem;display:flex;justify-content:space-between;align-items:flex-start}.timeline-container:before{content:"";position:absolute;top:5rem;left:40px;right:40px;height:2px;background-color:#fff3;z-index:0}.timeline-item{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;position:relative;z-index:1;min-width:150px}.timeline-time{font-family:var(--font-sans);font-size:1.1rem;color:#d4af37;font-weight:600;margin-bottom:1rem;display:flex;flex-direction:column;align-items:center;gap:.3rem}.time-icon{opacity:.8;color:#d4af37;margin-bottom:.2rem}.timeline-marker{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:1.5rem}.timeline-dot{width:3.5rem;height:3.5rem;border-radius:50%;background-color:var(--color-primary);border:2px solid #d4af37;display:flex;align-items:center;justify-content:center;color:#d4af37;box-shadow:0 4px 15px #0000004d;transition:all .3s ease}.timeline-item:hover .timeline-dot{transform:scale(1.1);background-color:#d4af37;color:var(--color-primary);box-shadow:0 0 20px #d4af3766}.timeline-line{display:none}.timeline-content{padding:0 .5rem}.timeline-title{font-family:var(--font-serif);font-size:1.25rem;color:#fff;margin-bottom:.5rem}.timeline-description{font-family:var(--font-sans);font-size:.95rem;color:#ffffffb3;line-height:1.5}@media(max-width:900px){.timeline-container{flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:100%;padding-left:1rem}.timeline-container:before{top:2rem;bottom:2rem;left:3.5rem;right:auto;width:2px;height:auto}.timeline-item{flex-direction:row;text-align:left;align-items:flex-start;margin-bottom:2.5rem}.timeline-time{width:80px;text-align:right;align-items:flex-end;margin-right:1rem;margin-bottom:0;padding-top:.8rem}.timeline-marker{margin-bottom:0;margin-right:1.5rem}.timeline-dot{width:3rem;height:3rem}.timeline-content{padding-top:.5rem;flex:1}.timeline-title{font-size:1.3rem}}.guidelines-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;text-align:center;margin-top:3rem}.guideline-item h3{font-size:1.5rem;margin-bottom:1rem;color:var(--color-primary)}.guideline-icon{display:flex;justify-content:center;margin-bottom:1rem;color:var(--color-secondary)}.guideline-item p{font-family:var(--font-sans);color:var(--color-text-dark)}.getting-there-content{max-width:900px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000000d;overflow:hidden;padding-bottom:2rem}.map-container{width:100%;height:450px;background-color:#eee}.google-map{width:100%;height:100%;border:0}.location-details{padding:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.btn-directions{display:inline-flex;align-items:center;background-color:var(--color-primary);color:#fff;padding:1rem 2.5rem;border-radius:50px;text-transform:uppercase;letter-spacing:2px;font-size:.9rem;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #722f3733}.btn-directions:hover{background-color:#5a232b;transform:translateY(-2px);box-shadow:0 6px 20px #722f374d;opacity:1}.address-text{font-size:1.5rem;color:var(--color-text-dark)}.transit-info{text-align:center;display:flex;flex-direction:column;gap:.5rem;margin-top:-.5rem}.transit-text{font-family:var(--font-serif);font-size:1.2rem;color:var(--color-text-dark)}.transit-subtext{font-size:.9rem;color:#666;font-style:italic}.rsvp-text{font-size:1.2rem;margin-bottom:2rem;font-family:var(--font-serif)}.btn-rsvp{background-color:var(--color-secondary);color:#fff;padding:1rem 3rem;font-size:1.1rem;text-transform:uppercase;letter-spacing:2px;border-radius:50px;transition:all .3s ease;box-shadow:0 5px 15px #0003}.btn-rsvp:hover{transform:translateY(-3px);background-color:#c59f2b;box-shadow:0 8px 20px #0000004d}.traditions-page{padding-top:var(--nav-height);min-height:100vh;background-color:#faf8f5;font-family:var(--font-secondary)}.traditions-hero{text-align:center;padding:4rem 2rem 2rem}.traditions-hero h1{font-family:var(--font-primary);color:#d6336c;font-size:2.8rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:2px}.traditions-hero p{color:var(--text-color);max-width:700px;margin:0 auto;font-size:1.1rem;line-height:1.6}.pamphlet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;max-width:1100px;margin:0 auto;padding:2rem}.pamphlet-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem;border-radius:1.5rem;background:#ffffffb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(0,0,0,.05);box-shadow:0 4px 15px #0000000a;transition:transform .3s ease,box-shadow .3s ease}.last-odd-item{grid-column:1 / -1;max-width:600px;margin:0 auto}.pamphlet-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #d6336c26}.step-number{position:absolute;top:-1rem;left:-1rem;width:3rem;height:3rem;border-radius:50%;background-color:#d6336c;color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-primary);font-size:1.25rem;font-weight:700;box-shadow:0 4px 10px #0000001a;z-index:10;transition:transform .3s}.pamphlet-card:hover .step-number{transform:scale(1.1)}.card-image-container{margin-bottom:2rem;position:relative;width:10rem;height:10rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#d6336c0d;transition:transform .5s ease;box-shadow:0 4px 6px #0000001a;cursor:pointer;border:none;outline:none;padding:0}.card-image-container:hover{transform:scale(1.05)}.image-glow{position:absolute;inset:0;background:#d6336c33;border-radius:50%;filter:blur(20px);opacity:0;transition:opacity .5s ease;z-index:0}.card-image-container:hover .image-glow{opacity:1}.image-wrapper{position:relative;z-index:10;width:100%;height:100%;border-radius:50%;overflow:hidden;border:4px solid #faf8f5;transition:transform .5s ease;background-color:#fcfcfc}.card-image-container:hover .image-wrapper{transform:scale(1.1)}.tradition-image{width:100%;height:100%;object-fit:cover}.card-content{position:relative;z-index:10;display:flex;flex-direction:column;width:100%}.card-content h3{font-family:var(--font-primary);color:#d6336c;font-size:1.5rem;margin-bottom:0}.title-divider{width:3rem;height:2px;background-color:#d6336c4d;margin:1rem auto;border-radius:9999px}.description{color:#000c;font-size:1rem;line-height:1.6;margin-bottom:0}.significance-box{padding-top:1rem;margin-top:1rem;border-top:1px solid rgba(0,0,0,.1);background:transparent}.sig-label{display:inline;font-weight:600;color:#d6336c;font-size:.9rem;margin-right:.3rem}.significance-box p{color:var(--text-color);font-size:.9rem;margin:0;font-style:italic;line-height:1.5;display:inline}.thank-you-section{max-width:800px;margin:4rem auto;padding:3rem 2rem;text-align:center;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1)}.thank-you-section h3{font-family:var(--font-primary);color:#d6336c;font-size:2rem;margin-bottom:1rem;text-transform:uppercase}.thank-you-section p{color:var(--text-color);font-size:1.1rem;line-height:1.7}.image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#d6336c66;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}.card-image-container:hover .image-overlay{opacity:1}.expand-text{color:#fff;font-family:var(--font-primary);font-size:1.1rem;padding:.5rem 1rem;border:2px solid white;border-radius:20px;text-transform:uppercase;letter-spacing:1px}.image-lightbox{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:2rem}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;justify-content:center;align-items:center}.enlarged-image{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 10px 30px #00000080}.close-button{position:absolute;top:-40px;right:-40px;background:#fff;color:#d6336c;border:none;width:40px;height:40px;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 4px 10px #0000004d;transition:transform .2s}.close-button:hover{transform:scale(1.1)}@media(max-width:900px){.pamphlet-grid{grid-template-columns:1fr;gap:2rem}}@media(max-width:600px){.traditions-hero h1{font-size:2.2rem}.card-image-container{height:200px}.close-button{top:-10px;right:10px}}.wishlist-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--color-background);padding:4rem 1rem;background-image:linear-gradient(135deg,#f9f5f0,#efe9e2)}.wishlist-container{position:relative;width:100%;max-width:500px;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000014;padding:3rem 2rem;border:1px solid rgba(212,175,55,.2);overflow:hidden}.decorative{position:absolute;width:100px;height:100px;background-size:contain;background-repeat:no-repeat;opacity:.15;pointer-events:none}.decorative-tl{top:10px;left:10px;border-top:1px solid var(--color-secondary);border-left:1px solid var(--color-secondary);border-top-left-radius:8px}.decorative-tr{top:10px;right:10px;border-top:1px solid var(--color-secondary);border-right:1px solid var(--color-secondary);border-top-right-radius:8px}.decorative-bl{bottom:10px;left:10px;border-bottom:1px solid var(--color-secondary);border-left:1px solid var(--color-secondary);border-bottom-left-radius:8px}.decorative-br{bottom:10px;right:10px;border-bottom:1px solid var(--color-secondary);border-right:1px solid var(--color-secondary);border-bottom-right-radius:8px}.wishlist-header{position:relative;text-align:center;margin-bottom:2rem;padding-top:1rem}.wreath-svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0}.wishlist-title{font-family:var(--font-serif);font-size:2.5rem;color:#333;margin:0;line-height:1.1;position:relative;z-index:1}.wishlist-body{text-align:center;position:relative;z-index:1}.wishlist-text{font-family:var(--font-sans);color:#555;font-size:1rem;line-height:1.6;margin-bottom:2.5rem}.wishlist-actions{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.copy-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:1px solid var(--color-secondary);color:var(--color-text-dark);border-radius:30px;font-size:.9rem;font-family:var(--font-sans);transition:all .3s ease;box-shadow:inset 0 0 10px #d4af371a}.copy-btn:hover{background:#d4af371a;transform:translateY(-2px)}.copy-btn.copied{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.divider{width:80%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.4),transparent)}.wishlist-subtitle{font-family:var(--font-serif);color:#722f37;font-size:1.25rem;margin:-.5rem 0 0;font-weight:500}.payment-options{width:100%;max-width:300px;display:flex;flex-direction:column;gap:1rem}.payment-card{width:100%;border-radius:12px;background:#fff;overflow:hidden;transition:all .3s ease;cursor:pointer;box-shadow:0 4px 15px #0000000d;text-decoration:none;display:flex;flex-direction:column}.payment-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001a}.payment-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5em;color:#fff;font-family:var(--font-sans);font-weight:500;font-size:1.1rem}.payment-title{display:flex;align-items:center;gap:.75rem}.swish-card .payment-header{background:linear-gradient(135deg,#1aa246,#009235)}.wise-card .payment-header{background:linear-gradient(135deg,#9fe870,#163300 150%);color:#163300}.payment-expanded{max-height:0;opacity:0;overflow:hidden;transition:all .4s ease;background:#f8fbf9;border-left:2px solid #1aa246;border-right:2px solid #1aa246;border-bottom:2px solid #1aa246;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.payment-expanded.show{max-height:300px;opacity:1;padding:1.5rem}.payment-instruction{font-size:.9rem;color:#555;margin:0 0 .5rem}.swish-number-container{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.swish-number{font-size:1.25rem;font-weight:600;color:#333;letter-spacing:1px}.copy-icon-btn{background:transparent;border:none;color:#1aa246;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:5px;transition:background .2s}.copy-icon-btn:hover{background:#1aa2461a}.swish-qr-placeholder{background:#fff;padding:.5rem;border-radius:8px;box-shadow:0 2px 10px #0000000d;font-size:.9rem;color:#1aa246;font-weight:500}.wise-tag{font-size:.95rem;opacity:.9;font-weight:600}.primary-gift-link{width:100%;max-width:300px;display:block}.primary-gift-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1.1rem;background:linear-gradient(135deg,#dbb8bbcc,#cea1a5cc);color:var(--color-primary);border-radius:30px;font-size:1.1rem;font-weight:500;font-family:var(--font-serif);border:1px solid rgba(114,47,55,.3);transition:all .3s ease;box-shadow:0 4px 15px #722f371a}.primary-gift-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #722f3733;background:linear-gradient(135deg,#dbb8bb,#cea1a5)}.secondary-gift-link{width:100%;max-width:300px;display:block;margin-top:-.5rem}.secondary-gift-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1.1rem;background:#fff;color:#333;border-radius:30px;font-size:1.1rem;font-weight:500;font-family:var(--font-serif);border:1px solid rgba(212,175,55,.5);transition:all .3s ease}.secondary-gift-btn:hover{transform:translateY(-3px);box-shadow:0 4px 15px #d4af3726;background:#fdfaf6}.upload-page{min-height:100vh;display:flex;justify-content:center;background-color:var(--color-background);padding:8rem 1rem 4rem;background-image:linear-gradient(135deg,#f9f5f0,#efe9e2)}.upload-container{position:relative;width:100%;max-width:800px;background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000014;padding:3rem 2.5rem;border:1px solid rgba(212,175,55,.2);height:fit-content}.upload-header{text-align:center;margin-bottom:2.5rem}.upload-title{font-family:var(--font-serif);font-size:2.5rem;color:#333;margin:0 0 1rem;line-height:1.1}.upload-text{font-family:var(--font-sans);color:#555;font-size:1rem;line-height:1.6}.status-message{padding:1.5rem;border-radius:12px;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;font-family:var(--font-sans)}.status-success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.status-error{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b}.upload-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:flex;gap:1.5rem;width:100%}@media(max-width:600px){.form-row{flex-direction:column}}.flex-1{flex:1}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-family:var(--font-sans);font-size:.9rem;font-weight:600;color:#333}.form-input,.form-select{padding:.8rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-family:var(--font-sans);font-size:1rem;background-color:#fff;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #d4af371a}.flex-between{display:flex;justify-content:space-between;align-items:center}.file-count-badge{background-color:#d4af371a;color:var(--color-secondary);padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600}.file-dropzone{position:relative;border:2px dashed rgba(212,175,55,.4);border-radius:12px;padding:2.5rem 1rem;text-align:center;background-color:#f9f5f080;transition:all .2s ease}.file-dropzone:hover{border-color:var(--color-secondary);background-color:#f9f5f0}.file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:10}.file-input:disabled{cursor:not-allowed}.dropzone-content{display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.upload-icon{color:var(--color-secondary);opacity:.8;margin-bottom:.75rem}.dropzone-text{font-family:var(--font-sans);font-size:1rem;color:#333}.dropzone-subtext{font-family:var(--font-sans);font-size:.85rem;color:#666;margin-top:.25rem}.thumbnail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-top:1.5rem}.thumbnail-card{position:relative;aspect-ratio:1 / 1;border-radius:12px;overflow:hidden;background-color:#f1f5f9;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center}.thumbnail-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.thumbnail-card:hover .thumbnail-img{transform:scale(1.05)}.remove-btn{position:absolute;top:.5rem;right:.5rem;background-color:#00000080;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;opacity:0;transition:opacity .2s,background-color .2s}.thumbnail-card:hover .remove-btn{opacity:1}.remove-btn:hover{background-color:#ef4444}.thumbnail-overlay{position:absolute;inset:0;background-color:#00000026;pointer-events:none}.thumbnail-progress-container{position:absolute;bottom:0;left:0;right:0;height:6px;background-color:#0000004d}.thumbnail-progress-bar{height:100%;transition:width .3s ease-out,background-color .3s ease}.thumbnail-progress-bar.pending{width:0%}.thumbnail-progress-bar.uploading{background-color:var(--color-secondary)}.thumbnail-progress-bar.success{background-color:#22c55e}.thumbnail-progress-bar.error{background-color:#ef4444}.thumbnail-status-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.status-icon-uploading{color:#fff}.status-icon-success{background-color:#22c55e;color:#fff;border-radius:50%;padding:4px}.status-icon-error{background-color:#ef4444;color:#fff;border-radius:50%;padding:4px}.overall-progress-wrapper{padding-top:.5rem}.overall-progress-header{display:flex;justify-content:space-between;font-size:.8rem;font-weight:600;color:#64748b;margin-bottom:.5rem;padding:0 .25rem}.overall-progress-track{width:100%;height:8px;background-color:#f1f5f9;border-radius:999px;overflow:hidden}.overall-progress-fill{height:100%;background-color:var(--color-secondary);transition:width .5s ease-out}.submit-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1.1rem;background:var(--color-secondary);background:linear-gradient(135deg,#dbb8bbe6,#cea1a5e6);color:var(--color-primary);border-radius:8px;font-size:1.1rem;font-weight:600;font-family:var(--font-serif);border:none;cursor:pointer;transition:all .3s ease;margin-top:1rem}.submit-btn:hover:not(:disabled){transform:translateY(-2px);background:linear-gradient(135deg,#dbb8bb,#cea1a5);box-shadow:0 10px 15px -3px #0000001a}.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}.footer{position:relative;padding:6rem 1.5rem;overflow:hidden;min-height:400px;display:flex;align-items:center;justify-content:center;color:#fff}.footer-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;transition:transform .7s ease;z-index:0}.footer:hover .footer-bg{transform:scale(1.05)}.footer-overlay{position:absolute;inset:0;background-color:#00000080;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1}.footer-content{position:relative;z-index:10;max-width:56rem;margin:0 auto;text-align:center;width:100%}.footer-message{font-family:var(--font-serif);font-size:2.25rem;color:#fff;margin-bottom:1.5rem;animation:fadeUp 1s ease-out}@media(min-width:768px){.footer-message{font-size:3rem}}.footer-separator{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:2rem;color:var(--color-secondary)}.separator-line{width:3rem;height:1px;background-color:var(--color-secondary)}.heart-icon{width:1.5rem;height:1.5rem;fill:var(--color-secondary);animation:pulse 2s infinite}.footer-names{font-family:var(--font-serif);font-size:1.5rem;color:#ffffffe6;font-style:italic;letter-spacing:.025em;margin-bottom:3rem}@media(min-width:768px){.footer-names{font-size:1.875rem}}.footer-date{font-family:var(--font-sans);font-size:.875rem;color:#fff9;letter-spacing:.3em;text-transform:uppercase;margin-top:1rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.section{padding:6rem 0}.bg-light{background-color:var(--color-background)}.bg-white{background-color:#fff}.bg-primary{background-color:var(--color-primary);color:#fff}.section-title{text-align:center;font-size:3rem;margin-bottom:.5rem}.section-title.text-white{color:#fff}.section-subtitle{text-align:center;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:2px;color:#666;margin-bottom:4rem}
