:root{--rose:#e8aeb8;--soft-rose:#fdf2f3;--wine:#884e5b;--ink:#4b3339;--cream:#fffaf8;--line:#eacbd0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:1.7;overflow-x:hidden}.hero{min-height:100svh;background:url('../img/images.jfif') center/cover no-repeat;position:relative;color:white;display:grid;place-items:center;text-align:center;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(78,35,44,.22),rgba(64,24,35,.42))}.hero-content{z-index:1;padding:40px 24px;animation:appear 1.2s ease both}.branch{position:absolute;z-index:1;font:180px/1 'Cormorant Garamond',serif;color:rgba(255,235,239,.75);text-shadow:0 2px 15px rgba(86,30,44,.16);animation:branchIn 1.8s cubic-bezier(.17,.67,.25,1) both}.branch-left{left:-55px;top:-38px;transform:rotate(-28deg)}.branch-right{right:-55px;bottom:-42px;transform:rotate(150deg);animation-delay:.22s}.eyebrow{letter-spacing:.24em;text-transform:uppercase;font-size:10px;font-weight:600;margin:0 0 13px;color:var(--rose)}.hero .eyebrow,.date-hero{color:white}.flourish{font-size:20px;margin-bottom:4px}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:.95;margin:0}h1{font-size:clamp(69px,16vw,120px);letter-spacing:-.03em;text-shadow:0 2px 10px rgba(54,19,27,.18)}h1 em{font-size:.52em}.hero-line{height:1px;width:68px;background:#fff;margin:28px auto 17px}.date-hero{letter-spacing:.13em;text-transform:uppercase;font-size:10px}.scroll-link{margin-top:74px;display:block;text-transform:uppercase;letter-spacing:.16em;font-size:9px;color:white;text-decoration:none}.scroll-link span{display:block;font-size:20px;margin-top:4px;animation:bounce 2s infinite}.countdown-section{position:relative;overflow:hidden;text-align:center;background:#f8e3e6;padding:47px 20px 43px}.countdown-section .eyebrow{color:var(--wine);margin-bottom:12px}.countdown{display:flex;justify-content:center;align-items:center;gap:clamp(5px,2vw,19px);color:var(--wine)}.countdown div{min-width:48px}.countdown strong{display:block;font:clamp(37px,8vw,58px)/.9 'Cormorant Garamond',serif;font-weight:600}.countdown span{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.13em;margin-top:7px}.countdown b{font:24px 'Cormorant Garamond',serif;margin-top:-13px;color:var(--rose)}.countdown-note{font:italic 21px 'Cormorant Garamond',serif;margin:18px 0 0}.countdown-leaf{position:absolute;font:72px/1 'Cormorant Garamond',serif;color:rgba(184,101,119,.26);animation:sway 4s ease-in-out infinite}.leaf-one{left:5%;top:14px}.leaf-two{right:5%;bottom:4px;animation-delay:-2s}.section{text-align:center;padding:88px 24px}.intro{max-width:660px;margin:auto}.intro h2,.rsvp h2,.closing h2{font-size:clamp(42px,9vw,64px);color:var(--wine)}.copy{max-width:470px;margin:27px auto 0}.signature{font-family:'Cormorant Garamond',serif;font-size:23px;font-style:italic;color:var(--wine);margin-top:15px}.ornament{color:var(--rose);font-size:28px;margin-top:27px}.details{background:var(--soft-rose);display:grid;grid-template-columns:repeat(2,minmax(0,360px));gap:22px;justify-content:center;padding-top:68px;padding-bottom:68px}.detail-card{border:1px solid var(--line);padding:38px 26px;background:rgba(255,255,255,.35)}.detail-icon{font-family:Georgia,serif;font-size:31px;color:var(--rose);display:block;margin-bottom:13px}.detail-card h3{font-size:31px;color:var(--wine);margin-bottom:13px}.detail-card p{margin:4px}.detail-card .small{font-size:12px;margin-top:18px}.text-link{color:var(--wine);font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--rose);padding-bottom:3px;display:inline-block;margin-top:19px}.quote-section{background:var(--wine);color:white;text-align:center;padding:76px 25px}.quote-section p{font:italic 30px/1.12 'Cormorant Garamond',serif;max-width:570px;margin:0 auto}.rsvp{max-width:600px;margin:auto}.rsvp-form{text-align:left;margin:35px auto 0;max-width:430px}.rsvp-form label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;display:block;margin:17px 0;color:var(--wine);font-weight:600}.optional{text-transform:none;letter-spacing:0;font-weight:400}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:11px 0;font:14px Montserrat,sans-serif;color:var(--ink);outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--wine)}.primary-button{margin:14px auto 0;display:block;border:0;background:var(--wine);color:white;cursor:pointer;font:600 11px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.17em;padding:15px 28px;transition:transform .2s,background .2s}.primary-button:hover{background:#6d3744;transform:translateY(-2px)}.form-status{text-align:center;color:var(--wine);font-size:12px;min-height:22px;margin:19px 0 0}.closing{background:var(--soft-rose);padding:70px 24px}.closing .ornament{margin:0 0 20px}.closing p{font:italic 25px 'Cormorant Garamond',serif;color:var(--wine);margin:18px}.music-button{position:fixed;z-index:4;right:17px;top:17px;border:1px solid rgba(255,255,255,.75);border-radius:40px;background:rgba(89,43,52,.44);backdrop-filter:blur(8px);color:white;padding:9px 14px;cursor:pointer;font:500 10px Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase}.music-icon{font-size:17px;vertical-align:-2px;margin-right:5px}.music-button.playing .music-icon{display:inline-block;animation:spin 3s linear infinite}.petals{pointer-events:none;position:fixed;inset:0;z-index:3;overflow:hidden}.petal{position:absolute;color:rgba(190,101,121,.32);font-style:normal;animation:fall linear infinite}.petal-1{left:8%;font-size:16px;animation-duration:12s;animation-delay:-5s}.petal-2{left:27%;font-size:24px;animation-duration:17s;animation-delay:-12s}.petal-3{left:52%;font-size:13px;animation-duration:14s;animation-delay:-2s}.petal-4{left:73%;font-size:27px;animation-duration:19s;animation-delay:-15s}.petal-5{left:90%;font-size:17px;animation-duration:13s;animation-delay:-7s}.petal-6{left:42%;font-size:20px;animation-duration:18s;animation-delay:-10s}@keyframes appear{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes branchIn{from{opacity:0}to{opacity:1}}@keyframes bounce{50%{transform:translateY(5px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sway{50%{transform:rotate(9deg) translateY(4px)}}@keyframes fall{0%{transform:translate3d(-18px,-12vh,0) rotate(0);opacity:0}10%,85%{opacity:1}100%{transform:translate3d(42px,110vh,0) rotate(220deg);opacity:0}}.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:600px){.details{grid-template-columns:1fr;padding-left:24px;padding-right:24px}.section{padding-top:70px;padding-bottom:70px}.hero-content{padding-top:76px}.scroll-link{margin-top:58px}.branch{font-size:126px}.branch-left{left:-42px}.branch-right{right:-42px}.countdown-leaf{font-size:49px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}
