:root{--rose:#d86f7b;--dark:#b85060;--blush:#f6cfd0;--peach:#f6d7bd;--cream:#fffaf4;--ink:#5a3b40;--muted:#8c6d71;--gold:#c69a5a;--wine:#693b47}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif}button,input,select,textarea{font:inherit}button{cursor:pointer}header{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf4d9;border-bottom:1px solid #d86f7b1f;justify-content:space-between;align-items:center;height:66px;padding:0 5vw;display:flex;position:fixed;top:0;left:0;right:0}.brand{color:var(--dark);letter-spacing:.12em;background:0 0;border:0;font-weight:700}.brand span{color:var(--rose);margin:0 4px}nav{gap:22px;display:flex}nav button{color:var(--ink);background:0 0;border:0;font-size:13px}.actions{gap:8px;display:flex}.circle{width:38px;height:38px;color:var(--dark);background:#fff;border:1px solid #d86f7b44;border-radius:50%;place-items:center;display:grid}.menu{display:none}.opening{z-index:99;background:radial-gradient(circle at 20% 20%,#f6cfd0aa,transparent 28%),radial-gradient(circle at 80% 80%,#f6d7bdcc,transparent 28%),var(--cream);place-items:center;height:100svh;display:grid;position:fixed;inset:0;overflow:hidden}.openCard{text-align:center;background:#fffdf9d0;border:1px solid #c69a5a55;width:min(620px,90vw);padding:60px 28px;box-shadow:0 30px 80px #693b4720}.openCard h1{color:var(--wine);margin:6px 0;font-size:clamp(48px,9vw,76px);font-weight:400;line-height:.9}.openCard>b{color:var(--gold);font-size:28px}.openCard i,.quote i{background:var(--gold);width:70px;height:1px;margin:20px auto;display:block}.openCard p:not(.eyebrow):not(.script){color:var(--muted);line-height:1.8}.eyebrow{letter-spacing:.2em;color:var(--dark);font-size:10px}.script{color:var(--dark);font-size:22px;font-style:italic}.openCard button,.hero button,.final button,.music button{background:linear-gradient(135deg,var(--rose),var(--dark));color:#fff;border:0;border-radius:999px;align-items:center;gap:8px;padding:13px 20px;display:inline-flex;box-shadow:0 10px 25px #d86f7b38}.mini,.flower{color:var(--rose);font-size:40px}.float1,.float2{color:#d86f7b30;font-size:100px;position:absolute}.float1{top:8%;left:8%}.float2{bottom:8%;right:8%}.hero{background:radial-gradient(circle at 20% 25%,#f6cfd0aa,transparent 30%),radial-gradient(circle at 90% 80%,#f6d7bdcc,transparent 32%),var(--cream);grid-template-columns:1fr minmax(300px,470px);align-items:center;gap:7vw;min-height:100svh;padding:100px 7vw 60px;display:grid;position:relative;overflow:hidden}.heroText{max-width:700px}.heroText h2{color:var(--wine);margin:10px 0;font-size:clamp(55px,8vw,100px);font-weight:400;line-height:.88}.heroText h2 em{color:var(--gold);font-weight:400}.heroText h2 span{color:var(--dark)}.sub{letter-spacing:.24em;margin:25px 0 12px;font-size:11px}.heroText>strong{letter-spacing:.25em;color:var(--dark);font-weight:400}.heroPic{aspect-ratio:4/5;border-radius:220px 220px 24px 24px;position:relative;box-shadow:0 35px 90px #693b4730}.heroPic:after{content:"";border:1px solid #c69a5a99;border-radius:225px 225px 30px 30px;position:absolute;inset:-9px}.heroPic img,.storyPic img,.g img,.music>img{object-fit:cover}.heroPic img,.storyPic img{border-radius:inherit}.heroText button{margin-top:28px}.scroll{letter-spacing:.2em;color:var(--muted);font-size:9px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.section{max-width:1100px;margin:auto;padding:105px 5vw}.title{text-align:center;margin-bottom:52px}.title>div{letter-spacing:.2em;color:var(--dark);align-items:center;gap:8px;font-size:10px;display:inline-flex}.title h2{color:var(--wine);max-width:760px;margin:13px auto 0;font-size:clamp(35px,5vw,58px);font-weight:400;line-height:1.08}.title.light>div{color:#e8cfa1}.title.light h2{color:#fff}.story{grid-template-columns:minmax(300px,1fr) minmax(280px,.9fr);align-items:center;gap:70px;display:grid}.storyPic{aspect-ratio:4/5;border-radius:210px 210px 22px 22px;position:relative;box-shadow:0 25px 60px #693b4724}.storyPic span{text-align:center;color:var(--dark);background:#fffdf9e8;border:1px solid #c69a5a66;padding:16px 22px;position:absolute;bottom:18px;right:18px}.storyPic span b{font-size:20px;font-style:italic}.item{grid-template-columns:42px 1fr;gap:18px;padding:0 0 35px;display:grid}.item>b{width:42px;height:42px;color:var(--dark);border:1px solid #d86f7b66;border-radius:50%;place-items:center;font-size:10px;display:grid}.item h3{color:var(--wine);margin:2px 0 6px;font-size:24px;font-weight:400}.item p,.note{color:var(--muted);line-height:1.7}.note{text-align:center;margin-top:25px;font-style:italic}.count{color:#fff;text-align:center;background:linear-gradient(135deg,#c45d6d,#df8490);padding:100px 5vw}.counts{grid-template-columns:repeat(4,125px);justify-content:center;gap:14px;display:grid}.box{background:#ffffff1e;border:1px solid #fff5;padding:22px 12px}.box b{font-size:42px;font-weight:400;display:block}.box small{letter-spacing:.12em;text-transform:uppercase;font-size:9px}.events{grid-template-columns:1fr 1fr;gap:25px;display:grid}.event{background:#ffffffb8;border:1px solid #d86f7b2d;padding:34px;position:relative;box-shadow:0 18px 45px #693b4712}.eventIcon{width:42px;height:42px;color:var(--rose);border:1px solid #d86f7b66;border-radius:50%;place-items:center;display:grid}.event label{text-transform:uppercase;letter-spacing:.12em;color:var(--dark);margin:18px 0 10px;font-size:10px;display:block}.event h3{color:var(--wine);margin:0 0 20px;font-size:30px;font-weight:400}.event p{color:var(--muted);align-items:flex-start;gap:8px;font-size:14px;line-height:1.6;display:flex}.event p svg{color:var(--rose);flex:none}.event a{color:#fff;background:var(--rose);border-radius:999px;align-items:center;gap:7px;margin-top:10px;padding:10px 15px;font-size:13px;text-decoration:none;display:inline-flex}.quote{text-align:center;background:#fff0ed;padding:90px 20px}.quote .script{margin:7px 0;font-size:clamp(25px,4vw,40px)}.quote small{color:var(--muted);letter-spacing:.08em}.gallery{grid-template-columns:2fr 1fr 1fr;grid-auto-rows:240px;gap:12px;display:grid}.g{position:relative;overflow:hidden}.g.large{grid-row:span 2}.g img{transition:transform .5s}.g:hover img{transform:scale(1.05)}.hint{text-align:center;color:var(--muted);font-size:13px}.families{color:#fff;background:linear-gradient(135deg,#5e3843,#7a4855)}.familyGrid{grid-template-columns:1fr 1fr;gap:25px;display:grid}.family{text-align:center;background:#ffffff0a;border:1px solid #e8cfa155;padding:40px 25px}.family>div{color:#e8cfa1;font-size:40px}.family h3{font-size:27px;font-weight:400}.family i{background:var(--gold);width:60px;height:1px;margin:15px auto;display:block}.family p{color:#f6e9e4;margin:7px}.family small{color:#dbc7c4}.familyNote{text-align:center;color:#f1dede;margin-top:35px;font-style:italic}.rsvp{max-width:800px}.rsvpCard{background:#fff;border:1px solid #d86f7b2d;padding:35px;box-shadow:0 18px 50px #693b4714}.rsvp form{grid-template-columns:1fr 1fr;gap:18px;display:grid}.rsvp label{color:var(--dark);gap:7px;font-size:12px;display:grid}.rsvp input,.rsvp select,.rsvp textarea{width:100%;color:var(--ink);background:#fffaf8;border:1px solid #ead9d4;outline:0;padding:12px 13px}.full{grid-column:1/-1}.rsvp form button{background:var(--rose);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 20px;display:inline-flex}.success{color:#55734c;background:#f1f8ef;align-items:center;gap:7px;margin-bottom:18px;padding:11px;font-size:13px;display:flex}.music{text-align:center;color:#fff;place-items:center;min-height:560px;display:grid;position:relative;overflow:hidden}.music>img{filter:blur(1px);width:100%;height:100%;position:absolute;inset:0}.shade{background:#35171eb8;position:absolute;inset:0}.music>div:last-child{z-index:1;max-width:600px;padding:40px 20px;position:relative}.music h2{margin:15px 0;font-size:clamp(38px,5vw,58px);font-weight:400}.music p{color:#f0dfe0;line-height:1.7}.music .gold{color:#e8cfa1}.music button{background:var(--cream);color:var(--dark)}.final{text-align:center;background:radial-gradient(circle at 20% 20%,#f6cfd0b3,transparent 25%),radial-gradient(circle at 80% 80%,#f6d7bdb3,transparent 25%),var(--cream);padding:125px 20px}.final h2{color:var(--wine);max-width:750px;margin:15px auto;font-size:clamp(42px,6vw,70px);font-weight:400}.final>p:not(.eyebrow){color:var(--muted);max-width:520px;margin:0 auto 20px;line-height:1.8}.names{color:var(--dark);margin:25px 0 8px;font-size:34px;font-style:italic}.names span{color:var(--rose);margin:0 8px;font-size:22px}.final .flower{font-size:38px}.final button{margin-top:10px}footer{text-align:center;background:var(--wine);color:#ead9d8;padding:45px 20px}footer span{color:#f3a1ad}footer small{opacity:.7;margin-top:10px;display:block}@media (max-width:900px){nav{background:#fffaf4f7;flex-direction:column;padding:18px 5vw;display:none;position:absolute;top:66px;left:0;right:0}nav.show{display:flex}.menu{display:grid}.hero{text-align:center;grid-template-columns:1fr}.heroText{margin:auto}.heroPic{width:min(440px,86vw);margin:auto}.story{grid-template-columns:1fr}.storyPic{width:min(460px,90vw);margin:auto}.events{grid-template-columns:1fr}}@media (max-width:650px){.hero{padding:100px 20px 55px}.heroText h2{font-size:58px}.section{padding:78px 20px}.counts{grid-template-columns:repeat(2,105px)}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.familyGrid,.rsvp form{grid-template-columns:1fr}.full{grid-column:auto}.names{font-size:27px}.openCard{padding:48px 22px}}
