body{font-family:var(--font-body),sans-serif;background:var(--secondary);color:var(--dark)}section{scroll-margin-top:90px}.btn-primary{background-color:var(--primary);border-color:var(--primary)}.btn-primary:hover{background-color:var(--primary);border-color:var(--primary);color:var(--secondary)}.btn-outline-primary{color:var(--primary);border-color:var(--primary)}.btn-outline-primary:hover{background:var(--primary);color:#fff}.navbar-custom{background-color:var(--primary)}.navbar-custom .navbar-brand,.navbar-custom .nav-link{color:#fff!important}.navbar-custom .nav-link:hover{color:var(--gold)}.navbar-custom .navbar-toggler{border-color:#ffffff4d}.navbar-custom .navbar-toggler-icon{filter:invert(1)}.navbar-brand,.section-title,.hero-title,.couple-name{font-family:var(--font-heading),sans-serif}.btn-rose{background:var(--rose);border-color:var(--rose);color:#fff}.btn-rose:hover,.btn-rose:focus{background:#0a0348;border-color:#a19eee;color:#fff}.btn-outline-rose{border-color:var(--primary);color:var(--primary)}.btn-outline-rose:hover{background:var(--primary);border-color:var(--primary);color:#fff}.text-rose{color:var(--primary)!important}.text-gold{color:var(--gold)!important}.hero{min-height:100vh;background:linear-gradient(#0006,#0009),var(--bg) center/cover no-repeat;color:#fff;display:flex;align-items:center;position:relative}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:#ffffff26;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.65rem 1rem;margin-bottom:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-title{font-family:var(--font-heading),sans-serif;font-size:clamp(2.5rem,5vw,5rem);line-height:1.05;margin-bottom:1rem}.hero-subtitle{font-size:1.1rem;max-width:700px;color:#ffffffeb}.section-padding{padding:90px 0}.section-label{letter-spacing:.15em;text-transform:uppercase;font-size:.8rem;color:var(--primary);font-weight:700;margin-bottom:.75rem}.section-title{font-size:clamp(2rem,3vw,3rem);margin-bottom:1rem}.story-card,.info-card,.gift-card,.countdown-card{border:0;border-radius:1.25rem;box-shadow:0 12px 35px #453b3d14}.story-card,.info-card,.countdown-card{background:#fff}.gift-card{overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;background:#fff;height:100%}.gift-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #453b3d1f}.gift-thumb{height:220px;-o-object-fit:cover;object-fit:cover;width:100%}.price-tag{background:var(--rose-soft);color:var(--rose);border-radius:999px;padding:.35rem .8rem;font-weight:700;font-size:.95rem;display:inline-block}.gift-status{position:absolute;top:1rem;right:1rem;background:#ffffffeb;border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:700}.timeline-item{position:relative;padding-left:2.5rem;margin-bottom:1.75rem}.timeline-item:last-child{margin-bottom:0}.timeline-item:before{content:"";position:absolute;left:.45rem;top:.15rem;width:14px;height:14px;border-radius:50%;background:var(--rose);box-shadow:0 0 0 6px var(--rose-soft)}.timeline-item:after{content:"";position:absolute;left:.85rem;top:1.1rem;width:2px;height:calc(100% + 1rem);background:#ead3d8}.timeline-item:last-child:after{display:none}.countdown-box{background:linear-gradient(135deg,#f6f6f6,#dee9f6);border-radius:1rem;padding:1.25rem;text-align:center;border:1px solid rgba(183,110,121,.12)}.countdown-number{font-size:2rem;font-weight:800;color:var(--rose);line-height:1}.countdown-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);margin-top:.5rem}.event-icon{width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#031f3d;color:#f2f5f9;font-size:1.35rem;margin-bottom:1rem}.rsvp-box{background:linear-gradient(135deg,var(--accent) 0%,var(--primary) 100%);color:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 18px 40px #b76e7938}.gallery-img{border-radius:1rem;width:100%;height:250px;-o-object-fit:cover;object-fit:cover;box-shadow:0 12px 30px #453b3d14}footer{background:#fff;border-top:1px solid rgba(183,110,121,.12)}.anchor-offset{scroll-margin-top:55px}
