:root{--paper:#f4efe8;--ink:#292722;--muted:#766e64;--accent:#9b7b6d;--dark:#2d322e;--line:rgba(41,39,34,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-weight:300}.grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}.hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;color:#fff}.hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;transform:scale(1.02)}.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.48))}.hero__content{position:relative;text-align:center;padding:40px 20px;max-width:1000px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.32em;font-size:11px;font-weight:600}.monogram{font:500 27px/1 'Cormorant Garamond',serif;letter-spacing:.16em}.monogram span{font-style:italic;font-weight:400}.hero h1,.section h2,footer h2{font-family:'Cormorant Garamond',serif;font-weight:400}.hero h1{margin:18px 0 6px;font-size:clamp(58px,10vw,128px);line-height:.82}.hero h1 em{font-weight:400}.hero__date{font:500 clamp(22px,3vw,36px)/1.2 'Cormorant Garamond',serif;letter-spacing:.08em}.hero__place{font-size:13px;letter-spacing:.05em}.scroll-link{display:inline-flex;gap:14px;margin-top:48px;color:#fff;text-decoration:none;font-size:12px;letter-spacing:.12em}.section{position:relative;max-width:1040px;margin:auto;padding:110px 24px;text-align:center}.section-number{font:italic 54px/1 'Cormorant Garamond',serif;color:rgba(41,39,34,.16)}.kicker{margin:8px 0 20px;color:var(--accent)}.section h2{font-size:clamp(46px,7vw,82px);line-height:.95;margin:0 auto 30px;max-width:820px}.letter__text,.wishes>p,.details__note{max-width:690px;margin:0 auto;font:400 clamp(22px,3vw,31px)/1.45 'Cormorant Garamond',serif}.letter__text p{margin:0 0 22px}.details{border-top:1px solid var(--line)}.weekday{letter-spacing:.18em;text-transform:uppercase;font-size:12px}.details__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:50px 0}.detail-card{border:1px solid var(--line);padding:36px 20px;min-height:160px;display:grid;align-content:center}.detail-card span{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.detail-card h3{font:500 28px/1.15 'Cormorant Garamond',serif;margin:15px 0 0}.details__note{font-size:24px;margin-bottom:35px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:0 30px;border:1px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:11px;cursor:pointer;transition:.25s}.button:hover{background:var(--ink);color:#fff}.countdown-section{background:var(--dark);color:#fff;text-align:center;padding:100px 24px}.light{color:rgba(255,255,255,.55)!important}.countdown-photo{max-width:620px;margin:42px auto 0}.countdown-photo__frame{position:relative;max-width:480px;margin:0 auto;padding:12px;border:1px solid rgba(255,255,255,.28);box-shadow:0 28px 70px rgba(0,0,0,.28)}.countdown-photo__frame:before,.countdown-photo__frame:after{content:"";position:absolute;width:54px;height:54px;border-color:rgba(255,255,255,.55)}.countdown-photo__frame:before{left:-10px;top:-10px;border-left:1px solid;border-top:1px solid}.countdown-photo__frame:after{right:-10px;bottom:-10px;border-right:1px solid;border-bottom:1px solid}.countdown-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.countdown-photo p{max-width:500px;margin:28px auto 0;font:italic 400 25px/1.35 'Cormorant Garamond',serif;color:rgba(255,255,255,.82)}.countdown{max-width:1050px;margin:50px auto 0;display:flex;align-items:center;justify-content:center;gap:28px}.countdown div{min-width:145px}.countdown strong{display:block;font:400 clamp(58px,9vw,110px)/.9 'Cormorant Garamond',serif}.countdown span{display:block;margin-top:14px;font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.6)}.countdown b{font:300 42px/1 'Cormorant Garamond',serif;color:rgba(255,255,255,.25)}.timeline{max-width:760px;margin:55px auto 0;text-align:left}.timeline__item{display:grid;grid-template-columns:130px 1fr;gap:35px;padding:30px 0;border-top:1px solid var(--line)}.timeline__item:last-child{border-bottom:1px solid var(--line)}.timeline time{font:500 42px/1 'Cormorant Garamond',serif}.timeline h3{font:500 30px/1 'Cormorant Garamond',serif;margin:0 0 8px}.timeline p{margin:0;color:var(--muted)}.dresscode{background:#e9e1d7;max-width:none}.palette{max-width:900px;margin:50px auto;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.palette i{display:block;aspect-ratio:1;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.palette span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-top:16px}.wishes>p{font-size:27px;margin-bottom:24px}.rsvp{max-width:760px}#rsvpForm{text-align:left;margin-top:45px}fieldset{border:0;padding:0;margin:0 0 34px}legend,.field>span{display:block;font:500 24px/1.2 'Cormorant Garamond',serif;margin-bottom:16px}.choice{display:block;border-top:1px solid var(--line)}.choice:last-child{border-bottom:1px solid var(--line)}.choice input{position:absolute;opacity:0}.choice span{display:block;padding:17px 38px 17px 0;position:relative;cursor:pointer}.choice span:after{content:'';position:absolute;right:2px;top:50%;width:18px;height:18px;border:1px solid var(--ink);border-radius:50%;transform:translateY(-50%)}.choice input:checked+span:after{box-shadow:inset 0 0 0 5px var(--paper);background:var(--ink)}.field{display:block;margin-bottom:34px}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:15px 0;font:400 16px Manrope;color:var(--ink);outline:none}.field textarea{resize:vertical}.field small{display:block;margin-top:8px;color:var(--muted)}.button--submit{width:100%;background:var(--ink);color:#fff}.button--submit:hover{opacity:.85}.form-status{text-align:center;min-height:24px;margin-top:18px}.form-status.success{color:#426343}.form-status.error{color:#9a3c3c}footer{background:#20231f;color:#fff;text-align:center;padding:100px 20px}footer p{letter-spacing:.28em;font-size:12px;margin:30px 0}footer h2{font-size:56px;font-weight:400;margin:0}.monogram--small{font-size:34px}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:760px){.countdown-photo{margin-top:32px}.countdown-photo__frame{max-width:330px;padding:8px}.countdown-photo p{font-size:21px;padding:0 8px}.hero__photo{object-position:55% 45%}.hero h1{font-size:64px}.section{padding:80px 20px}.details__grid{grid-template-columns:1fr}.countdown{gap:8px}.countdown div{min-width:64px}.countdown strong{font-size:46px}.countdown b{font-size:26px}.timeline__item{grid-template-columns:88px 1fr;gap:18px}.timeline time{font-size:34px}.palette{grid-template-columns:repeat(5,1fr);gap:7px}.palette span{font-size:8px;letter-spacing:.05em}.section h2{font-size:49px}footer h2{font-size:44px}}
#musicBtn{
    position:fixed;
    right:20px;
    bottom:20px;
    width:60px;
    height:60px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.85);
    backdrop-filter:blur(10px);
    box-shadow:0 10px 30px rgba(0,0,0,.15);
    cursor:pointer;
    font-size:24px;
    transition:.3s;
    z-index:9999;
}

#musicBtn:hover{
    transform:scale(1.08);
}