:root{color-scheme:light;--paper:#faf9f6;--text:#29292c;--muted:#626269;--cyan:#007f99;--magenta:#bd226c;--yellow:#f2ca36;--black:#29292c}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.page{min-height:100vh;min-height:100svh;max-width:1120px;margin:0 auto;padding:48px 32px 24px;display:flex;flex-direction:column}
.brand{text-align:center;margin-bottom:36px}
.logo{display:block;max-width:100%;width:280px;height:auto;margin:0 auto}
.location{margin:12px 0 0;color:var(--muted);font-size:12px;letter-spacing:.22em;text-transform:uppercase}
main{flex:1;display:grid;place-items:center}
.farewell{position:relative;width:100%;max-width:800px;padding:58px 64px 56px;background:#fff;border:1px solid #e9e7e2;border-radius:8px;text-align:center;box-shadow:0 14px 50px #29292c06;overflow:hidden}
.ink-line{position:absolute;top:0;left:0;right:0;height:5px;display:flex}
.ink-line span{flex:1;background:var(--cyan)}
.ink-line span:nth-child(2){background:var(--magenta)}
.ink-line span:nth-child(3){background:var(--yellow)}
.ink-line span:nth-child(4){background:var(--black)}
.eyebrow{margin:0 0 20px;font-size:12px;font-weight:650;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
h1{margin:0 0 26px;font-size:clamp(32px,5vw,54px);line-height:1.12;font-weight:700;letter-spacing:-.035em;text-wrap:balance}
h1 span{color:var(--cyan)}
.closure{max-width:500px;margin:0 auto;font-size:19px;line-height:1.65;text-wrap:pretty}
.closure strong{font-weight:650}
.divider{width:48px;height:1px;margin:30px auto;background:#d9d7d1}
.thanks{margin:0 auto;max-width:560px;font-size:17px;line-height:1.85;color:#515158;text-wrap:pretty}
.memory{margin:24px 0 0;font-size:17px;line-height:1.6}
.signature{margin:24px 0 0;font-size:15px;font-weight:650;line-height:1.6}
footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;padding-top:18px;color:var(--muted);font-size:12px;line-height:1.6}
footer nav{display:flex;gap:24px}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{color:var(--cyan)}
a:focus-visible{outline:2px solid var(--cyan);outline-offset:5px;border-radius:2px}
@media(max-width:600px){.page{padding:30px 18px 22px}.brand{margin-bottom:26px}.logo{width:230px}.farewell{padding:40px 24px}.closure{font-size:17px}.thanks,.memory{font-size:16px}footer{flex-direction:column;justify-content:center;text-align:center;margin-top:28px}h1{font-size:clamp(29px,7.5vw,40px)}}
@media print{body{background:white}.page{min-height:auto;padding:20px}.farewell{box-shadow:none}footer{margin-top:20px}}

.legal{text-align:left;max-width:900px;padding:40px 48px}.legal h1{font-size:clamp(28px,5vw,40px)}.legal h2{font-size:21px;line-height:1.4;margin:30px 0 12px}.legal p{font-size:16px;line-height:1.75}.legal mark{background:#fff0ba;color:#413618;overflow-wrap:anywhere}.draft{border-left:3px solid #b98400;background:#fff8e3;padding:12px 16px}.status{color:var(--muted)}@media(max-width:600px){.legal{padding:30px 22px}}
