:root{--color-bg:#0a0808;--color-surface:#141111;--color-surface-hover:#1c1818;--color-border:#ffffff14;--color-red:#801313;--color-red-light:#a31a1a;--color-red-deep:#4a0707;--color-text:#f7f5f0;--color-text-muted:#a3a099;--color-text-dim:#6e6a64;--color-gold:#c2a773;--shadow-glass:0 8px 32px #00000080;--shadow-glow:0 0 40px #8013134d;--radius-lg:1rem;--radius-md:.5rem;--radius-sm:.25rem;--font-serif:"Cormorant Garamond",serif;--font-sans:"Jost",sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}::selection{background:var(--color-red);color:#fff}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--color-text);font-weight:500;line-height:1.1}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}.text-gradient{background:linear-gradient(135deg,#fff 0%,#d4cec4 50%,#fff 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-red{background:linear-gradient(135deg,var(--color-red-light)0%,var(--color-red)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.section-padding{padding:8rem 0}@media (max-width:768px){.section-padding{padding:5rem 0}}.btn-primary{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--color-red);border:1px solid var(--color-red);cursor:pointer;border-radius:100px;justify-content:center;align-items:center;gap:.6rem;padding:1rem 2.2rem;font-size:.85rem;font-weight:600;transition:all .4s cubic-bezier(.23,1,.32,1);display:inline-flex;position:relative;overflow:hidden}.btn-primary:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.btn-primary:hover:before{left:100%}.btn-primary:hover{background:var(--color-red-light);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-outline{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:100px;justify-content:center;align-items:center;gap:.6rem;padding:.95rem 2.2rem;font-size:.85rem;font-weight:500;transition:all .3s;display:inline-flex}.btn-outline:hover{background:#ffffff0d;border-color:#fff6}.reveal{opacity:0;will-change:opacity,transform;transition:opacity 1s cubic-bezier(.25,.46,.45,.94),transform 1s cubic-bezier(.25,.46,.45,.94);transform:translateY(30px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.input-field{width:100%;color:var(--color-text);font-family:var(--font-sans);border-radius:var(--radius-sm);background:#ffffff08;border:1px solid #ffffff1a;padding:1rem 1.2rem;font-size:1rem;transition:all .3s}.input-field:focus{border-color:var(--color-red);background:#8013130d;outline:none}.input-field::placeholder{color:var(--color-text-dim)}.label-text{font-family:var(--font-sans);color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:block}.modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:100;background:#000000d9;justify-content:center;align-items:center;padding:1rem;animation:.4s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:90vh;box-shadow:var(--shadow-glass);padding:2.5rem;animation:.5s cubic-bezier(.23,1,.32,1) slideUp;position:relative;overflow-y:auto}.modal-close{color:var(--color-text-muted);cursor:pointer;background:#ffffff0d;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{color:var(--color-text);background:#ffffff1a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.marquee-container{white-space:nowrap;width:100vw;margin-left:calc(50% - 50vw);padding:2rem 0;position:relative;overflow:hidden}.marquee-track{gap:1.5rem;padding-left:1.5rem;animation:40s linear infinite marqueeScroll;display:inline-flex}.marquee-track:hover{animation-play-state:paused}.marquee-item{border-radius:var(--radius-sm);flex-shrink:0;width:280px;height:380px;position:relative;overflow:hidden}.marquee-item img{object-fit:cover;filter:grayscale(20%)brightness(.9);width:100%;height:100%;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}.marquee-item:hover img{filter:grayscale(0%)brightness();transform:scale(1.05)}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.wishes-masonry{columns:1;column-gap:1.5rem;padding:0 1rem}@media (min-width:640px){.wishes-masonry{columns:2}}@media (min-width:1024px){.wishes-masonry{columns:3}}.wish-card{break-inside:avoid;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:1.25rem;padding:1rem 1.25rem;transition:transform .4s,border-color .4s}.wish-card:hover{border-color:#80131366;transform:translateY(-4px)}.avatar-initial{width:44px;height:44px;color:var(--color-text);font-family:var(--font-serif);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;font-weight:600;display:flex}.drop-cap:first-letter{float:left;font-family:var(--font-serif);color:var(--color-red);padding-top:.4rem;padding-right:.6rem;font-size:5rem;line-height:.8}.floating-action{z-index:50;animation:1s 2s backwards fadeIn;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 40px #00000080}@media (max-width:639px){.floating-action{bottom:1.5rem;right:1.5rem}}.footer{background:var(--color-surface);text-align:center;border-top:1px solid var(--color-border);padding:4rem 1.5rem}
