@import"https://fonts.googleapis.com/css2?family=Cormorant+Garant:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Cinzel:wght@400;500&family=EB+Garamond:ital,wght@0,400;1,400&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ink: #0d0c0b;--deep: #141210;--surface: #1c1916;--card: #221f1b;--border: #3a342d;--muted: #7a6f62;--warm: #c8a96e;--gold: #e8c97a;--gold-dim: #a8893a;--cream: #f0e8d8;--error: #c0614a;--success: #7a9e6e;--font-display: "Cinzel", serif;--font-body: "Cormorant Garant", serif;--font-reading: "EB Garamond", serif}html{font-size:16px;scroll-behavior:smooth}body{background:var(--ink);color:var(--cream);font-family:var(--font-body);font-size:1.1rem;line-height:1.7;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:.35}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--deep)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.locale-switcher{position:fixed;top:1.5rem;right:1.75rem;z-index:100;display:flex;gap:.15rem;background:#141210d9;border:1px solid var(--border);border-radius:2px;padding:.2rem .25rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.locale-btn{background:none;border:none;color:var(--muted);font-family:var(--font-display);font-size:.65rem;letter-spacing:.1em;cursor:pointer;padding:.25rem .45rem;border-radius:1px;transition:color .2s,background .2s}.locale-btn:hover{color:var(--cream)}.locale-btn.active{color:var(--gold);background:#c8a96e1f}.ornament{display:flex;align-items:center;gap:1rem;color:var(--gold-dim);font-size:.75rem;letter-spacing:.3em;margin:0 auto;width:fit-content}.ornament:before,.ornament:after{content:"";display:block;width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim))}.ornament:after{background:linear-gradient(90deg,var(--gold-dim),transparent)}.landing{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative}@media(max-width:768px){.landing{grid-template-columns:1fr}.landing-image-panel{display:none}}.landing-form-panel{display:flex;flex-direction:column;justify-content:center;padding:4rem 3.5rem;background:var(--deep);position:relative;z-index:2}.landing-image-panel{position:relative;overflow:hidden}.landing-image-panel img{width:100%;height:100%;object-fit:cover;filter:brightness(.45) sepia(.3);transform:scale(1.04);transition:transform 12s ease}.landing-image-panel:hover img{transform:scale(1)}.landing-image-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--deep) 0%,transparent 40%)}.landing-eyebrow{font-family:var(--font-display);font-size:.65rem;letter-spacing:.35em;color:var(--gold);text-transform:uppercase;margin-bottom:1.5rem}.landing-title{font-family:var(--font-display);font-size:clamp(2.8rem,5vw,4.5rem);font-weight:400;letter-spacing:.05em;line-height:1.1;color:var(--cream);margin-bottom:.5rem;white-space:pre-line}.landing-subtitle{font-family:var(--font-reading);font-size:1rem;color:var(--muted);max-width:38ch;line-height:1.8;margin-bottom:3rem;font-style:italic}.divider-thin{width:2.5rem;height:1px;background:var(--gold-dim);margin:1.75rem 0}.field{margin-bottom:1.5rem}.field label{display:block;font-family:var(--font-display);font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:.6rem}.field input,.field textarea{width:100%;background:var(--card);border:1px solid var(--border);border-radius:1px;color:var(--cream);font-family:var(--font-body);font-size:1rem;padding:.75rem 1rem;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}.field input::placeholder,.field textarea::placeholder{color:var(--muted);font-style:italic}.field input:focus,.field textarea:focus{border-color:var(--gold-dim);box-shadow:0 0 0 3px #c8a96e14}.field textarea{resize:vertical;min-height:90px}.error-msg{color:var(--error);font-family:var(--font-reading);font-style:italic;font-size:.9rem;margin-top:.75rem}.btn-primary{display:inline-flex;align-items:center;gap:.75rem;background:transparent;border:1px solid var(--gold-dim);color:var(--gold);font-family:var(--font-display);font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;padding:.9rem 2rem;cursor:pointer;position:relative;overflow:hidden;transition:color .3s,border-color .3s}.btn-primary:before{content:"";position:absolute;inset:0;background:var(--gold-dim);transform:translate(-101%);transition:transform .35s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{color:var(--ink);border-color:var(--gold)}.btn-primary:hover:before{transform:translate(0)}.btn-primary span{position:relative;z-index:1}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-primary:disabled:before{display:none}.btn-ghost{background:none;border:1px solid var(--border);color:var(--muted);font-family:var(--font-display);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:.5rem 1rem;cursor:pointer;transition:border-color .2s,color .2s}.btn-ghost:hover{border-color:var(--gold-dim);color:var(--gold)}.btn-danger{background:none;border:none;color:var(--error);font-family:var(--font-display);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;opacity:.6;transition:opacity .2s;padding:.25rem 0}.btn-danger:hover{opacity:1}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:14px;height:14px;border:1.5px solid var(--gold-dim);border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.profile-layout{min-height:100vh;background:var(--ink)}.profile-header{border-bottom:1px solid var(--border);padding:1.5rem 12rem 1.5rem 2.5rem;display:flex;align-items:center;justify-content:space-between;background:var(--deep);position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.profile-header-logo{font-family:var(--font-display);font-size:.7rem;letter-spacing:.3em;color:var(--gold);text-transform:uppercase}.image-strip{width:100%;height:260px;overflow:hidden;position:relative;margin:3.5rem 0}.image-strip img{width:100%;height:100%;object-fit:cover;filter:brightness(.35) sepia(.4);transition:filter 4s ease}.image-strip:hover img{filter:brightness(.45) sepia(.25)}.image-strip:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--ink) 0%,transparent 30%,transparent 70%,var(--ink) 100%);z-index:1}.image-strip-caption{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:2;font-family:var(--font-display);font-size:.6rem;letter-spacing:.4em;color:var(--gold-dim);text-transform:uppercase;white-space:nowrap}.profile-content{max-width:720px;margin:0 auto;padding:3.5rem 2rem 6rem}.profile-greeting{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:400;letter-spacing:.05em;color:var(--cream);margin-bottom:.4rem}.profile-name{color:var(--gold);font-style:italic}.profile-section-title{font-family:var(--font-display);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:1.25rem;margin-top:2.5rem;display:flex;align-items:center;gap:1rem}.profile-section-title:after{content:"";flex:1;height:1px;background:var(--border)}.toggle-group{display:flex;gap:.75rem;margin-bottom:2rem}.toggle-option{flex:1;padding:.85rem 1rem;border:1px solid var(--border);background:var(--card);color:var(--muted);font-family:var(--font-display);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:all .2s;text-align:center}.toggle-option.active{border-color:var(--gold-dim);color:var(--gold);background:#c8a96e14}.toggle-option:hover:not(.active){border-color:var(--muted);color:var(--cream)}.guest-list{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.guest-row{display:flex;align-items:center;gap:.75rem;background:var(--card);border:1px solid var(--border);padding:.5rem .75rem;animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.guest-row input{flex:1;background:none;border:none;color:var(--cream);font-family:var(--font-body);font-size:1rem;outline:none}.guest-row input::placeholder{color:var(--muted);font-style:italic}.guest-number{font-family:var(--font-display);font-size:.55rem;color:var(--gold-dim);letter-spacing:.1em;min-width:1.5rem}.save-row{display:flex;align-items:center;gap:1.5rem;margin-top:2.5rem;flex-wrap:wrap}.save-status{font-family:var(--font-reading);font-style:italic;color:var(--success);font-size:.95rem;opacity:0;transition:opacity .4s}.save-status.visible{opacity:1}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .6s ease both}.fade-up-1{animation-delay:.05s}.fade-up-2{animation-delay:.15s}.fade-up-3{animation-delay:.28s}.fade-up-4{animation-delay:.42s}.fade-up-5{animation-delay:.55s}
