:root{--olive:#6b705c;--olive-dark:#4f5444;--olive-light:#a5a58d;--cream:#f7f5ef;--white:#fff;--text:#292b25}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:var(--cream);margin:0;font-family:Georgia,Times New Roman,serif;overflow-x:hidden}.hero{width:100%;height:120vh;min-height:650px;position:relative;overflow:hidden}.hero img{object-fit:cover;object-position:center 38%;width:100%;height:100%;animation:12s ease-out forwards heroZoom;display:block}.hero:after{content:"";background:linear-gradient(#00000059,#0000000d 45%,#0006);position:absolute;inset:0}.hero-overlay{z-index:2;text-align:center;color:#fff;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:clamp(120px,16vh,180px);display:flex;position:absolute;inset:0}.hero-overlay h1{letter-spacing:2px;margin:0;font-size:clamp(3rem,7vw,7rem);font-weight:400;animation:1.2s ease-out fadeUp}.hero-overlay p{letter-spacing:4px;margin-top:20px;font-size:clamp(1rem,2vw,1.5rem);animation:1.2s ease-out .3s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes heroZoom{0%{transform:scale(1.05)}to{transform:scale(1)}}.calendar{margin-top:25px;position:relative}.calendar-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;letter-spacing:1px;cursor:pointer;background:#ffffff1f;border:1px solid #ffffffb3;border-radius:30px;width:auto;padding:12px 26px;font-family:inherit;font-size:.95rem;transition:background .3s,color .3s,transform .3s}.calendar-button:hover{color:var(--olive-dark);background:#fff;transform:translateY(-2px)}.calendar-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:10px;width:210px;padding:7px;animation:.2s ease-out calendarMenuFade;position:absolute;top:calc(100% + 10px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 30px #0000002e}.calendar-menu button{width:100%;color:var(--olive-dark);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:11px 15px;font-family:inherit;font-size:.9rem;transition:background .2s}.calendar-menu button:hover{background:#6b705c1f}@keyframes calendarMenuFade{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.countdown{z-index:3;color:#fff;justify-content:center;align-items:center;animation:1.5s ease-out .7s both countdownFade;display:flex;position:absolute;bottom:45px;left:50%;transform:translate(-50%)}.countdown-item{text-align:center;min-width:110px;padding:0 25px}.countdown-item:not(:last-child){border-right:1px solid #fff6}.countdown-item span{font-size:clamp(1.8rem,3vw,3rem);font-weight:300;line-height:1;display:block}.countdown-item p{letter-spacing:2px;text-transform:uppercase;color:#fffc;margin:10px 0 0;font-size:.7rem}.countdown-finished{letter-spacing:2px;font-size:1.5rem}@keyframes countdownFade{0%{opacity:0;transform:translate(-50%,15px)}to{opacity:1;transform:translate(-50%)}}@media (width<=600px){.countdown{width:100%;bottom:30px}.countdown-item{flex:1;min-width:0;padding:0 10px}.countdown-item span{font-size:1.7rem}.countdown-item p{letter-spacing:1px;font-size:.55rem}}.rsvp{background:var(--olive);color:#fff;padding:120px 20px}.rsvp-container{max-width:600px;margin:0 auto}.rsvp h2{text-align:center;letter-spacing:1px;margin:0;font-size:3rem;font-weight:400}.rsvp p{text-align:center;color:#ffffffd9;margin:15px 0 50px}.form-group{margin-bottom:25px}.form-group>label{margin-bottom:8px;font-size:1rem;display:block}input[type=text],input[type=number],textarea{background:var(--cream);width:100%;color:var(--text);border:1px solid #ffffff4d;border-radius:5px;outline:none;padding:14px 16px;font-family:inherit;font-size:1rem;transition:border-color .3s,box-shadow .3s}input[type=text]:focus,input[type=number]:focus,textarea:focus{border-color:#fff;box-shadow:0 0 0 2px #ffffff26}textarea{resize:vertical;min-height:120px}.radio-group{gap:25px;display:flex}.radio-group label{cursor:pointer;align-items:center;gap:8px;display:flex}.radio-group input{accent-color:var(--cream)}button{background:var(--cream);width:100%;color:var(--olive-dark);cursor:pointer;border:none;border-radius:5px;padding:15px;font-family:inherit;font-size:1rem;font-weight:500;transition:transform .2s,background .2s,box-shadow .2s}button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #00000026}button:active{transform:translateY(0)}@media (width<=600px){.rsvp{padding:80px 20px}.rsvp h2{font-size:2.4rem}.radio-group{gap:20px}}.wedding-info{background:var(--olive);color:var(--cream);padding:120px 20px}.wedding-info-container{text-align:center;max-width:900px;margin:0 auto}.wedding-info h2{color:var(--cream);margin:0 0 20px;font-size:3rem;font-weight:400}.wedding-description{color:#f7f5efcc;max-width:600px;margin:0 auto 30px;line-height:1.7}.wedding-note{color:#f7f5efd9;border-top:1px solid #f7f5ef33;max-width:650px;margin:30px auto 0;padding-top:30px;font-size:1.05rem;font-style:italic;line-height:1.7}.wedding-details{grid-template-columns:repeat(3,1fr);gap:0;margin:65px auto 0;display:grid}.detail{padding:10px 35px}.detail:not(:last-child){border-right:1px solid #f7f5ef40}.detail h3{color:var(--cream);text-transform:uppercase;letter-spacing:2px;margin-top:0;font-size:.8rem;font-weight:400}.detail p{color:#f7f5efe6;margin:0;line-height:1.7}@media (width<=700px){.wedding-info{padding:80px 20px}.wedding-info h2{font-size:2.3rem}.wedding-details{grid-template-columns:1fr}.detail{padding:25px 0}.detail:not(:last-child){border-bottom:1px solid #f7f5ef40;border-right:none}}.footer{text-align:center;background:var(--olive-dark);color:var(--cream);padding:60px 20px 30px;position:relative}.footer h2{margin:0 0 8px;font-size:1.8rem;font-weight:400}.footer p{color:#f7f5efbf;margin:3px 0}.footer-message{margin-top:20px!important}.footer-credit{letter-spacing:1px;color:#f7f5ef73;font-size:.65rem;position:absolute;bottom:15px;right:20px}.navbar{box-sizing:border-box;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;width:100%;padding:20px 40px;animation:1s ease-out navbarFade;display:flex;position:absolute;top:0;left:0}.navbar>a{color:#fff;letter-spacing:1px;font-size:1.8rem;font-weight:400;text-decoration:none;transition:opacity .3s}.navbar-links{align-items:center;gap:35px;display:flex}.navbar-links a{color:#fff;letter-spacing:.5px;font-size:1.1rem;text-decoration:none;transition:opacity .3s}.navbar a:hover{opacity:.7}@media (width<=600px){.navbar{padding:18px 20px}.navbar>a{font-size:1.3rem}.navbar-links{gap:15px}.navbar-links a{font-size:.85rem}}@keyframes navbarFade{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}.navbar-links a{position:relative}.navbar-links a:after{content:"";background:#fff;width:0;height:1px;transition:width .3s;position:absolute;bottom:-6px;left:0}.navbar-links a:hover:after{width:100%}
