:root{color-scheme:light;--ink:#402719;--muted:#7b6d60;--accent:#ac6249;--line:#dccdbd;--paper:#fcf9f3}*{box-sizing:border-box}body{margin:0;background:#f8f4ec;color:var(--ink);font:18px/1.65 Georgia,serif}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #9d6244;outline-offset:5px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid #b99e87;margin:0 4.3vw}.logo{font:48px/1.2 Georgia,serif;letter-spacing:-2px;text-decoration:none}.return{font-size:16px;text-decoration:none}main{max-width:1450px;margin:auto;padding:50px 4.3vw 35px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:45px}.intro{padding-top:35px}.eyebrow{font:11px/1.8 Arial,sans-serif;text-transform:uppercase;letter-spacing:2.7px;color:#965039}h1{font:clamp(40px,4.8vw,70px)/1.12 Georgia,serif;letter-spacing:-1.8px;margin:20px 0 40px}h2{font:clamp(28px,3vw,39px)/1.25 Georgia,serif;margin:0 0 25px}.invitation{font-size:22px;line-height:1.65}.personal{margin-top:45px;max-width:360px}.personal p:last-child{font-size:19px}.signature{font:italic 38px/1.3 'Brush Script MT','Segoe Script',cursive;color:#a3553b;margin:0 0 15px}.paper{padding:35px 40px 25px;border:1px solid var(--line);border-radius:9px;background:var(--paper);box-shadow:0 7px 20px #4d341508}.salutation{display:block;font:italic 42px/1.4 'Brush Script MT','Segoe Script',Georgia,cursive;margin-bottom:25px}textarea{display:block;resize:vertical;width:100%;min-height:250px;border:0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(transparent,transparent 43px,#e8dfd3 44px,transparent 45px);color:var(--ink);font:18px/45px Georgia,serif;padding:0 2px 5px}textarea::placeholder{color:#897e75}label{display:block;font-size:16px}.field-help{font:12px/1.6 Arial,sans-serif;color:#76695d;margin:10px 0 20px}.name-row{display:flex;gap:20px;align-items:center;margin:7px 0 20px}input[type=text],input:not([type]){min-width:0;width:100%;padding:12px 14px;border:1px solid #bcae9e;border-radius:4px;background:transparent;font-size:16px;color:var(--ink)}.text-button{background:none;border:0;padding:8px 0;color:#9b5239;font:14px/1.4 Georgia,serif;text-decoration:underline;text-underline-offset:5px}.name-row .text-button{flex-shrink:0}.permission{display:flex;align-items:flex-start;gap:12px;font-size:15px}.permission input{accent-color:#a65c43;width:20px;height:20px;flex:none;margin:3px 0}.send,.back-button{display:block;width:100%;border:0;border-radius:4px;background:#b56850;color:#fff7ed;padding:13px 20px;text-align:center;text-decoration:none;font-size:19px}.send:hover,.back-button:hover{background:#9e573f}.send:disabled{opacity:.7;cursor:wait}.reply-note{text-align:center;font-size:12px;color:var(--muted);margin-bottom:0}#formStatus{font:14px/1.5 Arial,sans-serif;color:#943d2c;margin:12px 0 0;min-height:21px}#letterSuccess{padding:65px 0}#letterSuccess .back-button{margin:30px 0 15px}footer{border-top:1px solid #b99e87;margin:0 4.3vw;padding:15px 0;display:flex;justify-content:space-between;gap:20px;font-size:13px}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}[hidden]{display:none!important}@media(max-width:760px){body{font-size:17px}header{margin:0 6vw;padding:20px 0}.logo{font-size:36px}.return{font-size:13px}main{grid-template-columns:1fr;padding:24px 6vw 30px;gap:24px}.intro{padding:0}h1{font-size:45px;margin:14px 0 24px}h2{font-size:29px;margin-bottom:16px}.invitation{font-size:18px}.personal{margin-top:20px;max-width:none}.personal p:last-child{font-size:16px}.signature{font-size:30px;margin-bottom:5px}.paper{padding:25px 22px 20px}.salutation{font-size:34px}textarea{min-height:270px}.name-row{flex-wrap:wrap;gap:0}footer{margin:0 6vw;font-size:11px}.eyebrow{font-size:10px;letter-spacing:1.9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* v4.2.2: shared wordmark scale and a quieter introduction. */
.logo{font:38px Georgia,serif;letter-spacing:-2px}
.logo sup{font:19px Georgia,serif;vertical-align:top;position:relative;top:5px;margin-left:2px}
.intro{padding-top:25px}
.intro .eyebrow{font-size:10px;letter-spacing:2px}
.intro h1{font-size:clamp(32px,3.6vw,48px);letter-spacing:-1.2px;margin:18px 0 28px}
.intro h2{font-size:clamp(23px,2.2vw,29px);margin-bottom:20px}
.invitation{font-size:18px;line-height:1.7}
.personal{margin-top:32px}
.personal p:last-child{font-size:16px;line-height:1.7}
.signature{font-size:30px;margin-bottom:10px}
@media(max-width:760px){.intro{padding-top:0}.intro h1{font-size:36px;margin:12px 0 22px}.intro h2{font-size:25px}.invitation{font-size:17px}.personal{margin-top:22px}.personal p:last-child{font-size:15px}.signature{font-size:28px}}
@media(max-width:600px){.logo{font-size:30px}}
