*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#050816;background:radial-gradient(circle at top left,#f5e6d3 0,#f0ddd4 35%,#f4d4c4)}.page{min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(to bottom,#f5e6d3f2,#f0ddd4e6);border-bottom:1px solid rgba(212,175,55,.4)}.header-inner{max-width:960px;margin:0 auto;padding:.9rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-brand{display:flex;flex-direction:column;cursor:pointer}.brand-small{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:#64748b}.brand-names{font-family:Playfair Display,Times New Roman,serif;font-size:1.25rem;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(135deg,#1e3a8a,#000,#d4af37);-webkit-background-clip:text;background-clip:text;color:transparent}.nav{display:flex;align-items:center;gap:1.25rem;font-size:.9rem}.nav a,.nav-link{color:#020617;text-decoration:none;position:relative;padding-bottom:.2rem}.nav a:after,.nav-link:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:linear-gradient(90deg,#d4af37,#f4d03f);transition:width .15s ease-out}.nav a:hover:after,.nav-link:hover:after,.nav-link-active:after{width:100%}main{flex:1}.hero{min-height:72vh;display:flex;align-items:center;justify-content:center;padding:4rem 1.5rem 3rem;background-image:url(https://images.pexels.com/photos/1024993/pexels-photo-1024993.jpeg?auto=compress&cs=tinysrgb&w=1600);background-size:cover;background-position:center;position:relative}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top left,#f5e6d3db,#fffffff5),linear-gradient(to bottom right,#1e3a8a14,#d4af372e);display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem}.hero-card{max-width:720px;width:100%;background:#fffffffa;border-radius:1.5rem;padding:2.75rem 2.4rem 2.6rem;box-shadow:0 24px 60px #0f172a42;border:2px solid rgba(30,58,138,.2);text-align:center}.hero-tagline{letter-spacing:.28em;text-transform:uppercase;font-size:.75rem;color:#1e293b;margin-bottom:.9rem}.hero-guest{margin:0 0 .6rem;font-size:1rem;color:#1e293b}.hero-guest-name{font-weight:600;color:#1e3a8a;background:linear-gradient(90deg,#1e3a8a,#2563eb);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-names{font-family:Playfair Display,Times New Roman,serif;font-size:2.8rem;letter-spacing:.11em;text-transform:uppercase;margin:0;display:flex;flex-direction:column;align-items:center;line-height:1.2}.hero-name{background:linear-gradient(135deg,#1e3a8a,#000,#d4af37);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-ampersand{font-size:2rem;color:#d4af37;margin:.2rem 0;font-weight:400}.hero-date{margin-top:1.3rem;font-size:1rem;letter-spacing:.15em;text-transform:uppercase;color:#1e293b}.hero-location{margin-top:.3rem;font-size:.98rem;color:#334155}.hero-actions{margin-top:2.2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem}.btn{border-radius:999px;padding:.7rem 1.6rem;font-size:.9rem;font-weight:500;border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:transform .12s ease-out,box-shadow .12s ease-out,background-color .12s ease-out,color .12s ease-out;white-space:nowrap}.btn.primary{background:linear-gradient(135deg,#ec4899,#f97316);color:#fff;box-shadow:0 14px 30px #f9731659}.btn.primary:hover{transform:translateY(-1px);box-shadow:0 18px 45px #f9731673}.btn.secondary{background:#1e3a8a;color:#fff;box-shadow:0 14px 30px #1e3a8a4d}.btn.secondary:hover{background:#1e40af;transform:translateY(-1px);box-shadow:0 18px 45px #1e3a8a66}.btn.ghost{background:transparent;border:1px solid rgba(30,58,138,.6);color:#1e3a8a}.btn.ghost:hover{background:#f5e6d380;border-color:#1e3a8acc}.btn.full{width:100%}.section{padding:3.5rem 1.5rem}.section-light{background:#f5e6d3}.section-muted{background:#f0ddd4}.section-inner{max-width:860px;margin:0 auto}.section h2{font-family:Playfair Display,Times New Roman,serif;font-size:2rem;text-align:center;margin:0 0 .75rem;background:linear-gradient(135deg,#1e3a8a,#000);-webkit-background-clip:text;background-clip:text;color:transparent}.section-intro{max-width:620px;margin:0 auto 2.1rem;text-align:center;color:#1f2937;font-size:.98rem}.details-container{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto}.detail-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem;background:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 8px 30px #0f172a14;border:2px solid rgba(30,58,138,.1);transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.detail-item:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#d4af37,#1e3a8a);opacity:0;transition:opacity .3s ease}.detail-item:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0f172a1f;border-color:#1e3a8a33}.detail-item:hover:before{opacity:1}.detail-icon{flex-shrink:0;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#1e3a8a,#000);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 15px #1e3a8a4d;margin:0 auto}.detail-icon svg{width:28px;height:28px}.detail-content{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.detail-content h3{margin:0 0 .75rem;font-size:1.1rem;letter-spacing:.12em;text-transform:uppercase;color:#1e3a8a;font-weight:600;text-align:center;width:100%}.parents-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem;margin-top:2rem}.parent-info{background:#fffbf5;border-radius:1.5rem;padding:2rem 1.5rem;border:2px solid rgba(30,58,138,.15);box-shadow:0 8px 30px #0f172a14;text-align:center;position:relative;transition:transform .3s ease,box-shadow .3s ease}.parent-info:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0f172a1f}.parent-info:first-child{background:linear-gradient(135deg,#fffbf5,#e8f0fe);border-color:#1e3a8a4d}.parent-info:last-child{background:linear-gradient(135deg,#fffbf5,#e8f0fe);border-color:#1e3a8a4d}.parent-icon-bride,.parent-icon-groom{width:50px;height:50px;border-radius:50%;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #00000026}.parent-icon-bride,.parent-icon-groom{background:linear-gradient(135deg,#1e3a8a,#000);color:#fff}.parent-icon-bride svg,.parent-icon-groom svg{width:24px;height:24px}.parent-label{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:#1e3a8a;margin:0 0 .5rem;font-weight:600}.parent-names{font-size:.95rem;color:#1e293b;margin:0 0 .4rem;line-height:1.5}.parent-bride-name,.parent-groom-name{font-size:1.1rem;font-weight:600;color:#1e3a8a;margin:.5rem 0 0;font-family:Playfair Display,Times New Roman,serif}.detail-main{font-weight:600;color:#020617;margin-bottom:.5rem;font-size:1.05rem;line-height:1.4;text-align:center;width:100%}.detail-sub{font-size:.95rem;color:#475569;margin-bottom:1rem;line-height:1.5;text-align:center;width:100%}.detail-content .btn{margin-top:.75rem;align-self:center}.calendar-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem}.calendar-btn svg{width:18px;height:18px}.detail-body{font-size:.9rem;color:#4b5563}.story{background:#fff;border-radius:1.3rem;padding:1.8rem 1.7rem 1.9rem;border:1px solid rgba(203,213,225,.9);box-shadow:0 16px 40px #0f172a14;color:#4b5563;font-size:.98rem;line-height:1.7}.story p{margin:0 0 1.1rem}.story p:last-child{margin-bottom:0}.rsvp-section{position:relative}.rsvp-header{text-align:center;margin-bottom:3rem}.rsvp-icon-wrapper{width:80px;height:80px;margin:0 auto 1.5rem;border-radius:50%;background:linear-gradient(135deg,#1e3a8a,#000);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 25px #1e3a8a4d}.rsvp-icon-wrapper svg{width:40px;height:40px}.rsvp-form{background:#fff;border-radius:2rem;padding:2.5rem;border:2px solid rgba(30,58,138,.15);box-shadow:0 20px 60px #0f172a1a;max-width:800px;margin:0 auto;position:relative;overflow:hidden}.rsvp-form:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#d4af37,#1e3a8a,#d4af37)}.form-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(30,58,138,.1)}.form-section:last-of-type{border-bottom:none;margin-bottom:2rem}.form-section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.form-section-icon{width:45px;height:45px;border-radius:12px;background:linear-gradient(135deg,#1e3a8a,#000);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.form-section-icon svg{width:22px;height:22px}.form-section-header h3{margin:0;font-size:1.3rem;font-family:Playfair Display,Times New Roman,serif;background:linear-gradient(135deg,#1e3a8a,#000);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.form-field{display:flex;flex-direction:column;margin-bottom:1.5rem}.form-field label{font-size:.9rem;font-weight:600;color:#1e3a8a;margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem}.form-field label svg{width:18px;height:18px;color:#1e3a8a;opacity:.7}.form-field input,.form-field select,.form-field textarea{border-radius:.875rem;border:2px solid rgba(30,58,138,.2);padding:.85rem 1rem;font-size:.95rem;font-family:inherit;color:#020617;background:#fafbfc;transition:all .2s ease-out}.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:#1e3a8a4d;background:#fff}.form-field textarea{resize:vertical}.form-field select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231e3a8a' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:#1e3a8a;box-shadow:0 0 0 3px #1e3a8a1a;background:#fff;transform:translateY(-1px)}.attending-options{display:flex;gap:1rem;margin-top:.5rem}.attending-option{flex:1;position:relative;cursor:pointer}.attending-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.option-content{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 1.2rem;border:2px solid rgba(30,58,138,.2);border-radius:.875rem;background:#fafbfc;transition:all .2s ease-out;font-size:.9rem;font-weight:500;color:#475569}.option-content svg{width:20px;height:20px;opacity:.6;transition:all .2s ease-out}.attending-option:hover .option-content{border-color:#1e3a8a66;background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #1e3a8a1a}.attending-option.active .option-content{border-color:#1e3a8a;background:linear-gradient(135deg,#1e3a8a1a,#0000000d);color:#1e3a8a;box-shadow:0 4px 15px #1e3a8a26}.attending-option.active .option-content svg{opacity:1;color:#1e3a8a}.form-status-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;border-radius:1rem;margin-bottom:1.5rem;border:2px solid}.form-status-card.error{background:#b91c1c0d;border-color:#b91c1c4d;color:#b91c1c}.form-status-card.success{background:#1665340d;border-color:#1665344d;color:#166534}.status-icon{flex-shrink:0;width:24px;height:24px}.status-icon svg{width:100%;height:100%}.form-status-card p{margin:0;font-size:.95rem;line-height:1.5}.form-submit-wrapper{margin-top:2.5rem;text-align:center}.recaptcha-wrapper{display:flex;justify-content:center;margin-bottom:1.5rem}.recaptcha-wrapper>div{margin:0 auto}.honeypot-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.rsvp-submit-btn{min-width:200px;padding:1rem 2.5rem;font-size:1rem;font-weight:600;display:inline-flex;align-items:center;gap:.75rem;position:relative;overflow:hidden}.rsvp-submit-btn svg{width:20px;height:20px;transition:transform .3s ease}.rsvp-submit-btn:hover svg{transform:translate(4px)}.footer{text-align:center;padding:1.3rem 1rem 1.7rem;font-size:.86rem;color:#4b5563}.footer-names{font-weight:600;color:#020617}.footer-note a{color:#ec4899;text-decoration:none}.footer-note a:hover{text-decoration:underline}@media(max-width:768px){.header-inner{flex-direction:column;align-items:flex-start}.nav{width:100%;justify-content:flex-start;flex-wrap:wrap}.hero{padding-top:5rem;padding-bottom:2.5rem}.hero-card{padding:2.1rem 1.6rem 2rem}.hero-names{font-size:2.2rem}.section{padding:3rem 1.1rem}.details-container{gap:1.5rem}.detail-item{padding:1.75rem 1.5rem}.parents-section{grid-template-columns:1fr;gap:1.5rem}.form-row{grid-template-columns:1fr}.rsvp-form{padding:1.8rem 1.5rem}.form-section-header{flex-direction:column;text-align:center;gap:.75rem}.attending-options{flex-direction:column}.rsvp-submit-btn{width:100%;min-width:auto}}
