:root{--cream:#fcf7ef;--ink:#472d33;--gold:#ac7944;--muted:#776b64;--peach:#eed5bd;--plum:#532f43}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.8 Georgia,'Times New Roman',serif}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #b58b4933;background:var(--cream)}a{color:inherit;text-decoration:none}.brand{font-size:27px;letter-spacing:5px}.brand span{font-style:italic;color:var(--gold);font-size:20px}nav{display:flex;gap:32px;font:12px Arial,sans-serif;letter-spacing:1px}.nav-rsvp{border-bottom:1px solid var(--gold);padding-bottom:5px}.hero{max-width:1400px;margin:auto;min-height:690px;display:grid;grid-template-columns:0.85fr 1.15fr;align-items:center;padding:35px 5% 45px;gap:40px}.eyebrow{font:11px/1.6 Arial,sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}h1{font-size:clamp(70px,8vw,120px);line-height:1.02;font-weight:400;margin:30px 0}h1 i{font-size:.65em;color:var(--gold)}.hero-line{font-size:23px;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--plum);background:var(--plum);color:white;padding:17px 26px;font:12px Arial,sans-serif;letter-spacing:1px;cursor:pointer;margin-top:15px}.button:hover{background:#75455c}.small{font:10px Arial,sans-serif;color:var(--muted);margin-top:25px;letter-spacing:1px}.logo-wrap img{width:100%;display:block;mix-blend-mode:multiply}.ribbon{display:flex;justify-content:center;align-items:center;gap:45px;background:#efdfcd;padding:23px;font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:2px}.ribbon b{color:var(--gold);font-size:20px}.section{padding:95px 7%;scroll-margin-top:0}h2{font-size:clamp(38px,4.4vw,62px);font-weight:400;line-height:1.15;margin:20px 0}h3{font-size:38px;line-height:1.25;font-weight:400;margin:15px 0 25px}.centered{text-align:center}.intro{color:var(--muted);font-size:17px}.person{max-width:1000px;margin:85px auto 0;display:grid;grid-template-columns:360px 1fr;gap:90px;align-items:center}.portrait{width:340px;height:340px;border-radius:50%;position:relative;outline:1px solid var(--gold);outline-offset:12px;overflow:hidden;background:var(--peach)}.portrait img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}.rutvi img{object-position:50% 36%}.meet img{object-position:45% 23%}.reverse{grid-template-columns:1fr 360px}.reverse .portrait{grid-column:2;grid-row:1}.reverse .bio{grid-column:1;grid-row:1}.bio p{color:var(--muted)}.bio .eyebrow{color:var(--gold)}.flourish{font-size:36px;color:var(--gold)}.story{background:#f2e8da}.chapters{max-width:790px;margin:65px auto 0;border-left:1px solid #b58b4966;padding-left:55px}.chapters article{position:relative;margin-bottom:65px}.chapters article:before{content:'✧';position:absolute;left:-65px;top:-7px;background:#f2e8da;color:var(--gold);font-size:25px}.chapter{font:10px Arial,sans-serif;letter-spacing:2px;color:#89633e}.chapters p,.story-end p{color:#716357}blockquote{font-size:31px;font-style:italic;color:var(--plum);margin:30px 0}.story-end{max-width:630px;margin:70px auto 0;text-align:center}.rsvp{display:grid;grid-template-columns:1fr 1fr;gap:9%;max-width:1200px;margin:auto}.rsvp h2 i{color:var(--gold)}form{background:#fffdf8;border:1px solid #d9c5a9;padding:35px}form h3{font-size:30px}form>label,legend{font:12px Arial,sans-serif;display:block;margin:20px 0 9px}input:not([type=radio]){width:100%;padding:14px 12px;border:1px solid #d9c5a9;background:#fffefc;font:14px Arial,sans-serif;border-radius:0}fieldset{border:0;padding:0;margin:15px 0}.choice{font-size:14px;display:block;margin:10px 0}.choice input{accent-color:var(--plum);margin-right:9px}.optional{color:#847970;font-size:10px;margin-left:5px}.form-note,.preview-note{font:12px/1.6 Arial,sans-serif;color:var(--muted)}.preview-note{max-width:260px;border-top:1px solid #d9c5a9;margin-top:35px;padding-top:20px}form .button{width:100%}#result{font-size:14px;color:var(--plum)}footer{text-align:center;padding:50px 20px;background:var(--plum);color:var(--cream)}footer span{font-size:34px}footer p{font-size:13px;color:#e2c5b8}footer a{font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:2px}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}@media(max-width:760px){header{height:75px;padding:0 6%}nav{gap:17px;font-size:10px}.hero{grid-template-columns:1fr;gap:10px;padding:25px 7% 50px;text-align:center}.logo-wrap{grid-row:1;max-width:430px;margin:auto}.hero h1{font-size:64px;margin:15px 0}.hero h1 br{display:none}.hero-line{font-size:19px}.hero .eyebrow{margin-top:20px}.ribbon{gap:12px;padding:20px 12px;font-size:8px;letter-spacing:.7px}.ribbon b{font-size:13px}.section{padding:65px 7%}.person,.reverse{grid-template-columns:1fr;gap:38px;margin-top:60px;text-align:center}.portrait{width:260px;height:260px;margin:auto}.reverse .portrait,.reverse .bio{grid-column:auto;grid-row:auto}.bio{max-width:480px;margin:auto}.chapters{padding-left:27px}.chapters article:before{left:-37px}.chapters h3{font-size:30px}.rsvp{grid-template-columns:1fr;gap:30px}.rsvp h2 br{display:none}.rsvp h2{max-width:500px}.rsvp form{padding:25px}.preview-note{max-width:none}h3{font-size:34px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand{position:relative;display:flex;align-items:center;justify-content:center;width:104px;height:68px;border:1px solid #ac794477;border-radius:50% 50% 8px 8px;box-shadow:0 0 0 4px var(--cream),0 0 0 5px #ac794433;font-family:'Bodoni MT',Didot,'Palatino Linotype',serif;letter-spacing:-7px}.brand .brand-r,.brand .brand-m{font-size:49px;line-height:1;color:#805225;font-style:italic;text-shadow:1px 1px 0 #ead1a7}.brand .brand-r{transform:translateY(-4px)}.brand .brand-m{transform:translateY(6px);margin-left:-3px}.brand .brand-and{font-size:21px;letter-spacing:0;margin:12px 3px 0 -2px;color:var(--plum)}header{height:108px;position:relative;z-index:2;background:#fcf7eff5}.toran{height:82px;background:url('assets/toran.svg') repeat-x top center;background-size:180px 94px;opacity:.85;position:absolute;top:108px;left:0;right:0;pointer-events:none;z-index:1}.hero{position:relative;background-image:url('assets/buta.svg');padding-top:95px;max-width:none;padding-left:max(6%,calc((100vw - 1280px)/2));padding-right:max(6%,calc((100vw - 1280px)/2))}.hero-copy{background:radial-gradient(ellipse,var(--cream) 48%,transparent 73%)}h1,h2,h3{font-family:'Bodoni MT',Didot,'Palatino Linotype',Georgia,serif}h1{font-style:italic;letter-spacing:-4px}.logo-wrap{position:relative;padding:12px;border:1px solid #ac794455;border-radius:48% 48% 6px 6px;background:#fcf7efcc;box-shadow:0 0 0 8px #fcf7ef,0 0 0 9px #ac794433}.ribbon{border-top:4px double #ac794477;border-bottom:4px double #ac794477}.couple{background-image:url('assets/buta.svg');background-size:180px 216px}.bio{background:radial-gradient(ellipse,var(--cream) 62%,transparent 76%);padding:18px}.portrait{outline:2px solid var(--gold);outline-offset:10px;box-shadow:0 0 0 18px var(--cream),0 0 0 19px #ac79444d,0 15px 45px #71451c22}.story{position:relative;border-top:1px solid #cbb48e;border-bottom:1px solid #cbb48e;background-image:linear-gradient(90deg,transparent 94%,#ac794414 94%,#ac794414 95%,transparent 95%),url('assets/buta.svg');background-size:100% 100%,180px 216px}.chapters,.story-end{background:#f2e8daf5}.chapters{padding-right:25px}.story-end{padding:25px}.story>.eyebrow,.story>h2,.story>.intro{position:relative;background:#f2e8da;width:fit-content;margin-left:auto;margin-right:auto}.section>h2:after{content:'❦';display:block;font-size:30px;line-height:1.6;color:var(--gold);font-style:normal;margin-top:12px}.rsvp{position:relative}.rsvp:before{content:'';position:absolute;inset:25px 15px;border:1px solid #ac794433;border-radius:120px 120px 0 0;pointer-events:none}.music-toggle{position:fixed;bottom:22px;right:22px;z-index:10;display:flex;align-items:center;gap:10px;border:1px solid #b58b49;background:#fcf7ef;color:var(--plum);box-shadow:0 4px 20px #472d331c;border-radius:40px;padding:12px 18px;font:12px Arial,sans-serif;cursor:pointer}.music-toggle>span:first-child{font-size:23px;color:#936431}.music-toggle[aria-pressed=true]>span:first-child{animation:sway 3s ease-in-out infinite}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes sway{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@media(max-width:760px){header{height:96px}.brand{width:83px;height:59px}.brand .brand-r,.brand .brand-m{font-size:41px}.toran{top:96px;background-size:140px 74px;height:70px}.hero{padding-top:78px}.logo-wrap{max-width:88%}.hero h1{letter-spacing:-2px}.bio{padding:8px}.rsvp:before{inset:14px 10px;border-radius:70px 70px 0 0}.music-toggle{bottom:14px;right:12px;padding:10px 14px}footer{padding-bottom:95px}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.music-toggle[aria-pressed=true]>span:first-child{animation:none}}

