.william-newsletter { padding: clamp(64px, 8vw, 110px) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.william-newsletter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 7vw, 90px); align-items: center; }
.william-newsletter-copy h2 { font-size: clamp(3rem, 5.5vw, 5.5rem); }
.william-newsletter-copy > p:not(.eyebrow) { max-width: 470px; color: var(--muted); }
.william-newsletter-signature { display: block; max-width: 410px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--gold); font: italic 1.4rem/1.4 var(--display); color: #77531f; }
.william-newsletter-panel { min-width: 0; padding: clamp(24px, 4vw, 44px); border: 1px solid #a9782c70; background: #e9e2d870; }
.william-newsletter-panel h3 { font: 500 2rem/1.1 var(--display); margin-bottom: 28px; }
#newsletterForm label { display: block; margin-bottom: 10px; font-size: .65rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
#newsletterForm input[type=email] { display: block; width: 100%; min-width: 0; height: 54px; border: 1px solid #70685e80; border-radius: 0; padding: 0 16px; background: var(--ivory); color: var(--text); }
#newsletterForm input::placeholder { color: var(--muted); }
#newsletterForm .button { width: 100%; margin-top: 14px; gap: 16px; }
#newsletterForm .button:disabled { opacity: .65; cursor: wait; transform: none; }
#newsletter-note { color: var(--muted); margin: 16px 0 0; font-size: .72rem; line-height: 1.7; }
#newsletter-status { min-height: 1.6em; margin: 12px 0 0; font-size: .8rem; overflow-wrap: anywhere; }
#newsletter-status[data-state=error] { color: #853c2b; }
#newsletter-status[data-state=success] { color: #485b37; }
.newsletter-honey { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.william-newsletter-thanks { box-sizing: border-box; margin: auto; width: min(560px, calc(100% - 32px)); max-height: calc(100dvh - 40px); overflow: auto; padding: 46px 30px 36px; border: 1px solid var(--gold); background: var(--ivory); color: var(--text); text-align: center; box-shadow: var(--shadow); }
.william-newsletter-thanks::backdrop { background: #10100fb3; }
.william-newsletter-thanks h2 { font-size: clamp(2.8rem, 7vw, 4rem); }
.william-newsletter-thanks > p:not(.eyebrow) { color: var(--muted); margin-bottom: 26px; }
.william-newsletter-mark { margin-bottom: 20px; color: var(--gold); font: 3rem/1 var(--display); }
.newsletter-close { position: absolute; right: 8px; top: 8px; width: 44px; height: 44px; border: 0; background: transparent; color: var(--charcoal); font-size: 28px; cursor: pointer; }
@media (max-width: 800px) { .william-newsletter-grid { grid-template-columns: 1fr; } }
