:root{--color-bg: #fff;--color-text: #1a1a1a;--color-text-muted: #555;--color-accent: #c00;--color-accent-hover: #a00;--color-border: #ddd;--color-success: #0a5;--color-error: #c00;--font-serif: "Libre Baskerville", Georgia, serif;--font-sans: "Source Sans 3", -apple-system, BlinkMacSystemFont, sans-serif;--max-width: 640px;--spacing: 1.5rem}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.5;color:var(--color-text);background:var(--color-bg)}.app{min-height:100vh;display:flex;flex-direction:column}.header{border-bottom:2px solid var(--color-text);padding:var(--spacing) 0}.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing)}.header-brand{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.header-logo{height:28px;width:auto;display:block;vertical-align:middle}.logo{margin:0;font-family:var(--font-serif);font-size:1.75rem;font-weight:700;letter-spacing:.02em}.tagline{margin:.25rem 0 0;font-size:.9rem;color:var(--color-text-muted)}.main{flex:1;max-width:var(--max-width);margin:0 auto;padding:2rem var(--spacing);width:100%}.subscription-form-wrapper{margin:0 auto}.form-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.form-intro{color:var(--color-text-muted);margin:0 0 1.5rem;font-size:.95rem}.subscription-form{display:flex;flex-direction:column;gap:1.25rem}.field label{display:block;font-weight:600;margin-bottom:.35rem;font-size:.9rem}.field input[type=text],.field input[type=email]{width:100%;max-width:320px;padding:.6rem .75rem;font:inherit;border:1px solid var(--color-border);border-radius:2px}.field input[type=text]:focus,.field input[type=email]:focus{outline:2px solid var(--color-accent);outline-offset:2px;border-color:var(--color-accent)}.field input[type=text][aria-invalid=true],.field input[type=email][aria-invalid=true]{border-color:var(--color-error)}.field-error{margin:.35rem 0 0;font-size:.875rem;color:var(--color-error)}.newsletters-fieldset{border:none;margin:0;padding:0}.newsletters-fieldset legend{font-weight:600;margin-bottom:.75rem;font-size:.9rem}.newsletter-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.newsletter-item{padding:1rem;border:1px solid var(--color-border);border-radius:2px;background:#fafafa}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-weight:600}.checkbox-label input{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{flex-shrink:0;width:1.25rem;height:1.25rem;border:2px solid var(--color-border);border-radius:2px;background:#fff;position:relative;top:2px}.checkbox-label input:checked+.checkbox-custom{background:var(--color-accent);border-color:var(--color-accent)}.checkbox-label input:checked+.checkbox-custom:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label input:focus-visible+.checkbox-custom{outline:2px solid var(--color-accent);outline-offset:2px}.label-text{flex:1}.newsletter-desc{margin:.35rem 0 0 1.95rem;font-size:.875rem;font-weight:400;color:var(--color-text-muted)}.form-message{margin:0;padding:.75rem;border-radius:2px;font-size:.9rem}.form-message--error{background:#fff0f0;color:var(--color-error);border:1px solid #fcc}.form-message--success{background:#f0fff0;color:#064;border:1px solid #cfc}.submit-btn{align-self:flex-start;padding:.65rem 1.5rem;font:inherit;font-weight:600;color:#fff;background:var(--color-accent);border:none;border-radius:2px;cursor:pointer;transition:background .2s}.submit-btn:hover:not(:disabled){background:var(--color-accent-hover)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.footer{margin-top:auto;padding:var(--spacing) 0;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.875rem}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing)}.footer-inner p{margin:0}
