:root { --blue: #0044f2; --navy: #172033; --line: #dfe4ea; --muted: #687386; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: linear-gradient(135deg, #f3f6fa, #e8eef6); color: var(--navy); font-family: "DM Sans", sans-serif; }
.newsletter-page { min-height: 100vh; display: grid; place-items: center; padding: 32px 16px; }
.newsletter-card { width: min(620px, 100%); padding: 38px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 18px 50px rgba(20, 32, 51, .12); }
.newsletter-logo { display: block; width: 210px; height: 82px; margin: 0 auto 28px; padding: 10px; border-radius: 8px; background: #fff; }
.newsletter-logo img { width: 100%; height: 100%; object-fit: contain; }
.eyebrow { margin: 0 0 8px; color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: 1.4px; }
h1 { margin: 0; font: 800 30px/1.2 Manrope, sans-serif; }
.intro { margin: 10px 0 26px; color: var(--muted); line-height: 1.55; }
form, label { display: grid; gap: 7px; }
form { gap: 17px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
label > span { font-size: 13px; font-weight: 700; }
label b { color: #df2e38; }
input { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 8px; padding: 0 13px; color: var(--navy); font: 16px "DM Sans", sans-serif; }
input:focus { outline: 0; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0, 68, 242, .12); }
input[aria-invalid="true"] { border-color: #cf2934; box-shadow: 0 0 0 3px rgba(207,41,52,.1); }
label small, .consent-error { color: #cf2934; font-size: 12px; }
.client-error { display: block; }
.consent { display: flex; align-items: flex-start; gap: 10px; }
.consent input { width: 18px; min-height: 18px; margin-top: 2px; }
.consent span { font-size: 12px; line-height: 1.5; }
button { min-height: 48px; border: 0; border-radius: 8px; background: var(--blue); color: #fff; font: 700 14px "DM Sans", sans-serif; cursor: pointer; }
button:hover { background: #003bd1; }
.newsletter-success { padding: 18px; border-radius: 8px; background: #ecfdf5; color: #047857; font-weight: 700; }
.back-link { margin: 24px 0 0; text-align: center; font-size: 13px; }
.back-link a { color: var(--blue); text-decoration: none; font-weight: 700; }
.honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; }
.confirmation-modal { width: min(500px, calc(100% - 28px)); border: 0; border-radius: 14px; padding: 30px; color: var(--navy); box-shadow: 0 24px 70px rgba(20,32,51,.28); font-family: "DM Sans", sans-serif; }
.confirmation-modal::backdrop { background: rgba(16,24,40,.6); backdrop-filter: blur(3px); }
.confirmation-modal h2 { margin: 0 0 12px; font: 800 24px Manrope, sans-serif; }
.confirmation-modal > p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.5; }
.confirmed-company { display: grid; gap: 4px; margin: 18px 0; padding: 16px; border: 1px solid #cbd8ff; border-radius: 8px; background: #f3f6ff; }
.confirmed-company strong { font-size: 17px; }
.confirmed-company span { color: var(--muted); font-size: 13px; }
.confirmation-note { font-size: 12px !important; }
.confirmation-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.confirmation-actions button { padding: 0 16px; }
.confirmation-actions .secondary { border: 1px solid var(--line); background: #fff; color: var(--navy); }
@media (max-width: 560px) { .newsletter-card { padding: 26px 20px; } .form-grid { grid-template-columns: 1fr; } h1 { font-size: 25px; } }
.site-footer{position:fixed;right:0;bottom:0;left:0;z-index:3;padding:10px 18px;text-align:center;background:#fff;color:#6f748a;font:11px "DM Sans",sans-serif}.site-footer a{color:#6c55d9;font-weight:700;text-decoration:none}.site-footer a:hover{text-decoration:underline}
