.email-panel,.email-invitation{--email-paper:var(--panel,#fffdf8);--email-ink:var(--ink,#283a37);--email-muted:var(--muted,#58655f);--email-line:var(--line,#d5dbd3);color:var(--email-ink);background:var(--email-paper);border:1px solid var(--email-line);border-radius:18px;padding:clamp(20px,4vw,36px);box-sizing:border-box;font:16px/1.55 system-ui,sans-serif;text-align:left}
.email-panel{max-width:880px;scroll-margin-top:100px}.email-panel *,.email-invitation *{box-sizing:border-box}.email-panel h2,.email-invitation h2{font:normal clamp(27px,4vw,36px)/1.2 Georgia,serif;margin:6px 0 12px;color:inherit}.email-panel p,.email-invitation p{margin:0 0 16px}.email-eyebrow{font-size:11px!important;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--email-muted);margin:0!important}.email-intro{max-width:62ch;color:var(--email-muted)}.email-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.email-mode{display:flex;gap:9px;padding:16px 12px;border:1px solid var(--email-line);border-radius:12px;cursor:pointer;align-items:flex-start}.email-mode:has(input:checked){border-color:#39756b;box-shadow:inset 0 0 0 1px #39756b;background:color-mix(in srgb,#8cbcab 13%,var(--email-paper))}.email-mode input{margin:5px 0 0;accent-color:#2c695e;width:18px;height:18px;flex:none}.email-mode strong{display:block;font-size:15px}.email-mode small{display:block;font-size:12px;margin-top:6px;line-height:1.5;color:var(--email-muted)}.email-panel fieldset,.email-invitation fieldset{border:0;padding:0;margin:22px 0}.email-panel legend,.email-invitation legend{font-weight:650;margin-bottom:12px}.email-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}.email-check{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer}.email-check input{width:20px;height:20px;accent-color:#2c695e;flex:none}.email-panel input[type=email],.email-invitation input[type=email]{width:100%;font:16px system-ui;padding:13px;border:1px solid var(--email-line);border-radius:9px;background:var(--email-paper);color:var(--email-ink);margin:8px 0 16px}.email-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}.email-button,.email-link-button{font:600 14px/1.4 system-ui;min-height:46px;border-radius:9px;padding:12px 20px;cursor:pointer;text-align:center;max-width:100%;text-decoration:none}.email-button{border:1px solid #285e55;background:#285e55;color:#fff}.email-link-button{border:1px solid var(--email-line);background:transparent;color:inherit}.email-button:disabled,.email-link-button:disabled{opacity:.65;cursor:wait}.email-essential{padding:16px 18px;border-radius:10px;background:color-mix(in srgb,#8cbcab 13%,var(--email-paper));font-size:13px;line-height:1.6;margin-top:18px!important}.email-status{font-size:14px;min-height:24px;margin:14px 0 0!important}.email-status[data-error=true]{color:#b73c35}.email-preview{font-size:13px;background:#fff0c7;color:#604615;padding:10px 12px;border-radius:8px}.email-panel a:not(.email-button){color:inherit;text-decoration:underline;text-underline-offset:3px}.email-panel :focus-visible,.email-invitation :focus-visible{outline:3px solid #bc8643;outline-offset:3px}.email-panel [hidden],.email-invitation [hidden]{display:none!important}.email-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.email-invitation{position:fixed;bottom:22px;right:22px;width:min(380px,calc(100vw - 32px));z-index:1200;box-shadow:0 12px 45px #0002;padding:24px}.email-invitation h2{font-size:28px;padding-right:15px}.email-invitation p{font-size:14px}.email-close{position:absolute;right:10px;top:8px;width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:24px;cursor:pointer}.email-page{margin:0;background:#f5f1e9;color:#283a37;min-height:100vh}.email-page-header{padding:24px clamp(20px,5vw,64px);display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #d5dbd3;font:15px system-ui}.email-page-header a{color:inherit;text-decoration:none}.email-page-header strong{font:24px Georgia,serif}.email-page-main{max-width:930px;margin:clamp(28px,6vw,72px) auto;padding:0 20px 70px}.email-page-foot{font:13px system-ui;margin-top:24px;color:#58655f}.email-page-foot a{color:inherit}.email-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.email-admin-stat{border:1px solid #ddd;padding:18px;border-radius:12px}.email-admin-stat strong{display:block;font-size:28px}.email-table{width:100%;border-collapse:collapse;font-size:14px}.email-table th,.email-table td{text-align:left;padding:12px 8px;border-bottom:1px solid #ddd;overflow-wrap:anywhere}.email-table-wrap{overflow-x:auto}.email-admin-form{display:grid;gap:12px;max-width:700px}.email-admin-form input,.email-admin-form textarea,.email-admin-form select{font:16px system-ui;padding:12px;width:100%;border:1px solid #bbb;border-radius:6px}.email-admin-form textarea{min-height:130px}
@media(max-width:600px){.email-modes{grid-template-columns:1fr}.email-mode{padding:13px}.email-mode small{margin-top:3px}.email-topics{grid-template-columns:1fr}.email-actions>*{flex:1 1 auto}.email-page-header strong{font-size:20px}.email-panel{border-radius:14px}.email-invitation{bottom:16px;right:16px}.email-page-main{padding:0 14px 40px}}

/* A quiet, nonmodal invitation. Full choices open only at the visitor's request. */
.email-welcome{--email-paper:var(--panel-solid,#fffdf8);width:min(410px,calc(100% - 32px));max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;border-radius:12px;padding:20px;bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right));z-index:80;border:2px solid color-mix(in srgb,var(--ink,#244b48) 30%,var(--email-paper));box-shadow:0 5px 0 -1px color-mix(in srgb,var(--ink,#244b48) 22%,transparent),0 9px 12px -7px #0005;background:var(--email-paper);scrollbar-width:thin;color-scheme:inherit}
.email-welcome-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;position:sticky;top:0;z-index:1;background:var(--email-paper);padding-block:4px}
.email-welcome .email-eyebrow{font-size:12px!important;letter-spacing:.09em}
.email-welcome .email-close{position:static;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:80px;min-height:44px;flex:none;padding:6px 10px;border:1px solid var(--email-line);border-radius:8px;font:600 14px/1.2 system-ui;background:transparent}
.email-welcome .email-close span{font-size:24px;font-weight:400}
.email-welcome h2{font:400 27px/1.18 var(--display,Georgia,serif);padding:0;margin:4px 0 12px}
.email-welcome p{font-size:16px;line-height:1.5;margin-bottom:14px}
.email-welcome .email-actions{gap:8px;margin-top:14px}
.email-welcome .email-actions>*{padding:10px 12px;flex:1 1 auto}
.email-welcome .email-button{background:var(--ink,#285e55);border-color:var(--ink,#285e55);color:var(--panel-solid,#fffdf8)}
.email-welcome .email-topics{grid-template-columns:1fr;gap:0}
.email-welcome fieldset{margin:8px 0 12px}
.email-welcome legend{font-size:15px;line-height:1.4;margin-bottom:4px}
.email-welcome .email-check{font-size:15px;line-height:1.4;min-height:44px;gap:10px}
.email-welcome input[type=checkbox]{accent-color:var(--accent,#39756b)}
.email-welcome input[type=email]{margin:6px 0 12px;min-height:46px}
.email-welcome-frequency{margin:8px 0 14px;font-size:14px}
.email-welcome-frequency summary{cursor:pointer;min-height:44px;padding:10px 0}
.email-welcome-frequency label{display:block;margin:4px 0}
.email-welcome-frequency select{width:100%;padding:10px;font:16px system-ui;min-height:44px;border:1px solid var(--email-line);border-radius:8px;color:var(--email-ink);background:var(--email-paper)}
.email-welcome .email-welcome-small,.email-welcome .email-preview{font-size:14px;line-height:1.5}
.email-welcome a{color:inherit;text-underline-offset:3px}
.email-welcome .email-status{font-size:15px}
.email-welcome .email-status[data-error=true]{color:var(--ink);font-weight:650}
@media(max-width:600px){.email-welcome{width:calc(100% - 24px);right:12px;padding:16px;max-height:calc(100vh - 112px);max-height:calc(100dvh - 112px)}.email-welcome h2{font-size:24px}.email-welcome .email-eyebrow{font-size:11px!important}.email-welcome-top{gap:8px}}
