:root{--wine:#4b0e1d;--paper:#fbf7ef;--ink:#332c29;--serif:Georgia,'Times New Roman',serif;color-scheme:light}
*{box-sizing:border-box}
html{text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased}
::selection{background:#e2cbb9;color:var(--wine)}
.cover{background:var(--wine);color:var(--paper);padding:60px 6vw}
.cover-inner{max-width:1160px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:center}
.cover-copy{padding:20px 0}
h1{margin:0;font-size:clamp(3rem,5.5vw,5.25rem);font-weight:400;line-height:1.08;letter-spacing:-.045em;overflow-wrap:break-word}
.byline{margin:27px 0 0;font:400 .8125rem/1.8 Arial,Helvetica,sans-serif;color:#decab0}
.byline span{margin:0 .5em}
.wedding-photo{margin:0}
.wedding-photo img{width:100%;height:auto;display:block}
.reflection{max-width:870px;margin:auto;padding:90px 56px 88px}
.prose{font-size:1.225rem;line-height:1.83}
.prose p{margin:0 0 1.35em;overflow-wrap:break-word}
.prose p:last-child{margin-bottom:0}
@media(min-width:1500px){.cover{padding:66px 6vw}.cover-inner{max-width:1220px;gap:9%}}
@media(max-width:760px){.cover{padding:36px 7vw}.cover-inner{display:block;max-width:510px}.cover-copy{padding:0 0 30px}h1{font-size:clamp(2.5rem,10.4vw,3.8rem);line-height:1.12;letter-spacing:-.04em}.byline{margin-top:14px;font-size:.75rem}.reflection{padding:48px 7vw 60px;max-width:670px}.prose{font-size:1.125rem;line-height:1.8}}
@media print{body{background:white;color:black}.cover{background:none;color:black;padding:0}.cover-inner{display:block}.cover-copy{padding:0 0 24px}h1{font-size:28pt;letter-spacing:-.5pt}.byline{margin-top:10px;color:black;font-size:10pt}.wedding-photo{display:none}.reflection{max-width:none;padding:0}.prose{font-size:11pt;line-height:1.6}.prose p{orphans:3;widows:3}}

