@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Inter:wght@300;400;500;600&family=Alex+Brush&display=swap";:root{--bg-primary:#fdfbf7;--bg-secondary:#f1f0e2;--text-main:#2c302e;--text-muted:#5d6360;--gold:#7a9b76;--gold-hover:#678463;--gold-light:#7a9b761f;--border-gold:#7a9b7640;--border-gold-double:4px double #7a9b7659;--blush:#c2cbb2;--sage:#dff2e1;--error:#af443b;--error-bg:#fdf2f1;--success:#3c7a5a;--success-bg:#f2f7f4;--font-serif:"Cinzel", serif;--font-serif-sub:"Cormorant Garamond", serif;--font-sans:"Inter", sans-serif;--font-cursive:"Alex Brush", cursive;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--transition-smooth:all .3s cubic-bezier(.25, .8, .25, 1);--shadow-subtle:0 4px 20px #2d33360a;--shadow-medium:0 10px 30px #2d333614;scroll-behavior:smooth}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:300;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);letter-spacing:.03em;font-weight:400;line-height:1.25}h1{color:var(--text-main);font-size:clamp(2.5rem,5vw,4rem)}h2{margin-bottom:1.5rem;padding-bottom:.75rem;font-size:clamp(1.8rem,4vw,2.5rem);position:relative}h2:after{content:"";background-color:var(--gold);width:40px;height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}h3{color:var(--text-main);margin-bottom:.75rem;font-size:1.5rem}p{color:var(--text-muted);margin-bottom:1.25rem;font-size:1rem}a{color:var(--gold);transition:var(--transition-smooth);text-decoration:none}a:hover{color:var(--gold-hover)}.cursive-text{font-family:var(--font-cursive);color:var(--gold);font-size:clamp(2rem,6vw,3.5rem);line-height:1}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-padding{padding:6rem 0}.text-center{text-align:center}.flex{display:flex}.grid{display:grid}.btn{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid var(--gold);cursor:pointer;transition:var(--transition-smooth);justify-content:center;align-items:center;min-height:48px;padding:.85rem 2rem;font-size:.85rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--gold);color:#fff}.btn-primary:hover{background-color:var(--gold-hover);border-color:var(--gold-hover);transform:translateY(-1px);box-shadow:0 4px 12px #c5a46e33}.btn-secondary{color:var(--gold);background-color:#0000}.btn-secondary:hover{background-color:var(--gold-light);transform:translateY(-1px)}.btn-danger{color:var(--error);border-color:var(--error);background-color:#0000}.btn-danger:hover{background-color:var(--error-bg)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.invitation-card{border:var(--border-gold-double);border-radius:var(--radius-sm);box-shadow:var(--shadow-medium);background-color:#fff;width:100%;max-width:550px;margin:0 auto;padding:3rem;position:relative;overflow:hidden}.form-group{flex-direction:column;margin-bottom:1.5rem;display:flex}label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-main);margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:block}.input-hint{color:var(--text-muted);margin-top:-.25rem;margin-bottom:.5rem;font-size:.8rem;display:block}input[type=text],input[type=email],input[type=password],textarea,select{width:100%;font-family:var(--font-sans);color:var(--text-main);border-radius:var(--radius-sm);min-height:48px;transition:var(--transition-smooth);appearance:none;background-color:#fff;border:1px solid #0000001f;padding:.8rem 1rem;font-size:1rem}input:focus,textarea:focus,select:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c5a46e26}:is(input:user-invalid,textarea:user-invalid,select:user-invalid){border-color:var(--error);background-color:var(--error-bg)}:is(input:user-invalid:focus,textarea:user-invalid:focus,select:user-invalid:focus){box-shadow:0 0 0 3px #af443b26}.error-message{color:var(--error);margin-top:.35rem;font-size:.825rem;font-weight:400;display:none}:is(input:user-invalid+.error-message,textarea:user-invalid+.error-message,select:user-invalid+.error-message){display:block}:is(input:user-valid,textarea:user-valid,select:user-valid){border-color:var(--success)}.glass-panel{-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-subtle);border-radius:var(--radius-md);background:#ffffffbf;border:1px solid #fff6;padding:2.5rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.8s cubic-bezier(.25,.8,.25,1) forwards fadeInUp}dialog{border-radius:var(--radius-md);box-shadow:var(--shadow-medium);opacity:0;width:90%;max-width:500px;transition:opacity .3s ease, transform .3s ease, display .3s allow-discrete;background:#fff;border:none;margin:auto;padding:0;transform:translateY(20px)}dialog[open]{opacity:1;transform:translateY(0)}@starting-style{dialog[open]{opacity:0;transform:translateY(20px)}}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s ease, display .3s allow-discrete;background:#2d333666}dialog[open]::backdrop{opacity:1}@starting-style{dialog[open]::backdrop{opacity:0}}.dialog-header{border-bottom:1px solid var(--bg-secondary);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.dialog-body{padding:2rem}.dialog-footer{background-color:var(--bg-secondary);justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;display:flex}.lang-toggle{color:var(--gold);cursor:pointer;font-family:var(--font-sans);letter-spacing:.05em;text-transform:uppercase;transition:var(--transition-smooth);background:0 0;border:none;padding:.5rem 1rem;font-size:.8rem;font-weight:500}.lang-toggle:hover{color:var(--gold-hover);background-color:var(--gold-light);border-radius:var(--radius-sm)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
