 :root{--ink:#422819;--ink-soft:#6f4b35;--coffee:#7d563d;--cream:#f8f0e4;--shadow:rgba(64,38,23,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font-family:Georgia,"Times New Roman",serif;background:#eadcc8;overflow-x:hidden}.paper-bg{position:fixed;inset:0;z-index:-3;background:linear-gradient(rgba(242,232,215,.72),rgba(242,232,215,.9)),url("assets/images/bg-paper.jpg") center/cover no-repeat}.grain{position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.28;background-image:radial-gradient(circle at 20% 20%,rgba(80,45,25,.12) 0 1px,transparent 1px),radial-gradient(circle at 80% 30%,rgba(255,255,255,.5) 0 1px,transparent 1px);background-size:34px 34px,42px 42px}.section{width:min(1040px,calc(100% - 32px));margin:0 auto;padding:clamp(44px,7vw,86px) 0;text-align:center}.hero{min-height:100vh;display:grid;align-content:center}.eyebrow,.section-kicker{margin:0 0 12px;color:var(--coffee);font-size:13px;text-transform:uppercase;letter-spacing:.28em}h1{margin:0;font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(64px,13vw,154px);line-height:.9;font-weight:400;letter-spacing:-.04em;text-shadow:0 10px 28px rgba(73,45,28,.08)}.hero-subtitle{width:min(720px,92%);margin:24px auto 0;font-size:clamp(21px,3vw,32px);line-height:1.35;color:var(--ink-soft)}.heart-row{margin:24px 0 10px;display:flex;justify-content:center;gap:18px;color:var(--coffee);font-size:25px}.heart-row span:nth-child(2){transform:translateY(8px) scale(1.2)}.wedding-date{display:inline-block;margin:8px auto 0;font-size:clamp(32px,5vw,54px);font-weight:700;letter-spacing:.02em;border-top:1px solid rgba(91,59,38,.22);border-bottom:1px solid rgba(91,59,38,.22);padding:10px 30px}.photo-collage{position:relative;margin:clamp(42px,6vw,70px) auto 0;display:flex;justify-content:center;align-items:center;min-height:430px}.photo-collage:before,.photo-collage:after{content:"";position:absolute;border:1.5px solid rgba(73,45,28,.3);border-radius:999px;width:min(520px,70vw);height:190px;transform:rotate(-11deg);z-index:-1}.photo-collage:after{transform:rotate(10deg);width:min(430px,64vw);height:150px}.polaroid{position:relative;width:min(310px,42vw);background:#fffaf1;padding:15px 15px 82px;box-shadow:0 18px 45px var(--shadow);border:1px solid rgba(82,50,30,.08);transition:transform .3s ease}.polaroid:hover{transform:translateY(-4px) rotate(var(--rot))}.polaroid img{display:block;width:100%;height:330px;object-fit:cover;background:#e5d2bd;filter:sepia(.08) contrast(.96) saturate(.9)}.photo-name{position:absolute;left:0;right:0;bottom:22px;font-family:"Brush Script MT","Segoe Script",cursive;font-size:34px;color:var(--coffee)}.polaroid-bride{--rot:-7deg;transform:rotate(-7deg);margin-right:-18px;z-index:2}.polaroid-groom{--rot:7deg;transform:rotate(7deg);margin-left:-18px;z-index:1}.tape{position:absolute;top:-16px;left:50%;width:112px;height:34px;background:rgba(221,203,178,.75);transform:translateX(-50%) rotate(-3deg);box-shadow:0 4px 10px rgba(70,40,20,.08)}.tape-two{transform:translateX(-50%) rotate(5deg)}.separator{margin:-8px auto;text-align:center;color:var(--coffee);font-size:34px}.info-card,.rsvp-card{position:relative;width:min(860px,calc(100% - 32px));padding:clamp(34px,6vw,66px) clamp(20px,5vw,70px);background:rgba(255,250,242,.74);border:1px solid rgba(92,56,33,.14);border-radius:34px;box-shadow:0 18px 48px rgba(64,38,23,.08);backdrop-filter:blur(2px)}.info-card:before,.rsvp-card:before{content:"♥";position:absolute;top:18px;right:24px;color:rgba(126,86,61,.32);font-size:25px}h2{margin:0 0 18px;font-size:clamp(42px,6vw,74px);font-weight:400;line-height:1;font-family:"Brush Script MT","Segoe Script",cursive}.place,.time,.deadline{margin:0 auto 14px;font-size:clamp(21px,2.8vw,30px);line-height:1.42;color:var(--ink-soft)}.time{font-weight:700;color:var(--ink)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;margin-top:18px;padding:14px 28px;border:0;border-radius:999px;background:var(--ink);color:#fffaf2;text-decoration:none;font:700 18px/1 Georgia,"Times New Roman",serif;cursor:pointer;box-shadow:0 12px 22px rgba(66,40,25,.18);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(66,40,25,.22);background:#2f1b10}.rsvp-form{display:grid;gap:17px;width:min(640px,100%);margin:28px auto 0;text-align:left}.rsvp-form label span{display:block;margin:0 0 7px;color:var(--coffee);font-size:18px}input,select,textarea{width:100%;border:1px solid rgba(98,60,37,.25);border-radius:18px;padding:15px 17px;color:var(--ink);background:rgba(255,253,248,.92);font:20px/1.2 Georgia,"Times New Roman",serif;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}input:focus,select:focus,textarea:focus{border-color:rgba(66,40,25,.7);box-shadow:0 0 0 4px rgba(126,86,61,.12)}textarea{min-height:118px;resize:vertical}.submit-button{width:100%}.thanks{margin-top:24px;padding:18px;border-radius:20px;background:rgba(245,231,212,.78);font-size:27px;color:var(--ink)}.footer{padding-top:20px;padding-bottom:70px;font-size:clamp(28px,4vw,42px);font-family:"Brush Script MT","Segoe Script",cursive}.music-btn{position:fixed;top:18px;right:18px;z-index:20;padding:12px 18px;border:1px solid rgba(92,56,33,.20);border-radius:999px;background:rgba(255,250,242,.92);color:var(--ink);box-shadow:0 12px 28px rgba(64,38,23,.14);font:700 15px Georgia,"Times New Roman",serif;cursor:pointer}.hidden{display:none!important}@media(prefers-reduced-motion:no-preference){.hero,.info-card,.rsvp-card,.footer{animation:fadeUp .9s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:760px){.section{width:min(100% - 24px,1040px);padding:42px 0}.hero{min-height:auto;padding-top:78px}.photo-collage{min-height:auto;flex-direction:column;gap:24px}.photo-collage:before,.photo-collage:after{display:none}.polaroid{width:min(310px,82vw)}.polaroid img{height:300px}.polaroid-bride,.polaroid-groom{margin:0}.polaroid-bride{transform:rotate(-3deg)}.polaroid-groom{transform:rotate(3deg)}.info-card,.rsvp-card{width:min(100% - 24px,860px);border-radius:26px}input,select,textarea{font-size:18px}.music-btn{top:12px;right:12px}} 