/* Shared newsletter block and download dialog, using AO's existing palette. */
.ao-updates { color:var(--fg,#dde7fa); font-family:Inter,'Segoe UI',system-ui,sans-serif; }
.ao-updates-inline { position:relative; z-index:2; max-width:1112px; margin:0 auto 64px; padding:30px 34px; display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; border:1px solid rgba(61,123,255,.25); border-radius:18px; background:linear-gradient(120deg,#14213b,#0e1729); }
.ao-updates .ao-updates-kicker { margin:0 0 10px; color:#8eb2ff; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.ao-updates h2 { margin:0 0 12px; font-size:clamp(26px,3vw,34px); line-height:1.14; letter-spacing:-.035em; font-weight:800; color:#eaf1ff; }
.ao-updates .ao-updates-copy { margin:0; color:#b4c2d9; font-size:15px; line-height:1.65; max-width:460px; }
.ao-updates label { display:block; margin:0 0 8px; font-size:13px; font-weight:600; color:#dce6f9; }
.ao-updates-fields { display:flex; gap:10px; }
.ao-updates input[type=email] { min-width:0; width:100%; min-height:48px; padding:12px 14px; border:1px solid #495b79; border-radius:10px; background:#091222; color:#eaf1ff; font:inherit; font-size:16px; }
.ao-updates input::placeholder { color:#93a3bd; opacity:1; }
.ao-updates .btn { min-height:48px; flex-shrink:0; justify-content:center; padding:12px 20px; border-radius:10px; font:inherit; font-size:14px; font-weight:650; cursor:pointer; }
.ao-updates .btn.primary { background:#386ef4; border:1px solid #5a90ff; color:#fff; }
.ao-updates .btn.primary:hover { background:#467bff; }
.ao-updates .btn:disabled { opacity:.7; cursor:default; }
.ao-updates .ao-updates-note { margin:12px 0 0; color:#a4b3cb; font-size:12px; line-height:1.6; }
.ao-updates-note a { color:#b5ccff; text-decoration:underline; text-underline-offset:3px; }
.ao-updates [role=status]:not(:empty) { margin:16px 0 0; padding:12px 14px; border:1px solid #354e76; border-radius:10px; background:#152540; color:#dce6f9; font-size:14px; line-height:1.55; }
.ao-updates [data-state=error] { border-color:#95645d; }
.ao-updates .bot-field { position:absolute; left:-10000px; visibility:hidden; }
.ao-updates :is(a,button,input):focus-visible { outline:3px solid #b5ceff; outline-offset:4px; }
dialog.ao-updates-dialog { box-sizing:border-box; width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:36px; overflow:auto; border:1px solid #3b5278; border-radius:20px; background:linear-gradient(145deg,#15233d,#0b1425 75%); box-shadow:0 24px 100px #0009; }
.ao-updates-dialog::backdrop { background:rgba(3,8,17,.78); backdrop-filter:blur(6px); }
.ao-updates-dialog .ao-updates-brand { display:flex; align-items:center; gap:10px; margin:0 36px 28px 0; color:#c2d0e8; font-size:12px; font-weight:600; }
.ao-updates-brand img { width:30px; height:30px; border-radius:6px; }
.ao-updates-dialog h2 { font-size:36px; max-width:340px; }
.ao-updates-dialog form { margin-top:26px; }
.ao-updates-dialog .ao-updates-fields { flex-direction:column; gap:12px; }
.ao-updates-dialog .ao-updates-close { position:absolute; top:16px; right:16px; display:grid; place-items:center; width:36px; height:36px; border:1px solid #435570; border-radius:9px; background:transparent; color:#c2d0e8; font:inherit; font-size:24px; cursor:pointer; }
.ao-updates-dialog .ao-updates-skip { display:block; width:100%; min-height:44px; margin-top:12px; border:0; background:transparent; color:#c2d0e8; font:inherit; font-size:14px; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.ao-updates-dialog .ao-updates-download-note { margin-top:20px; padding-top:18px; border-top:1px solid #293952; color:#a4b3cb; font-size:12px; line-height:1.6; text-align:center; }
.ao-updates-download-note a { color:#c0d4ff; text-decoration:underline; }
html.ao-updates-open { overflow:hidden; }
@media(max-width:1160px) { .ao-updates-inline { margin-inline:24px; } }
@media(max-width:800px) { .ao-updates-inline { grid-template-columns:1fr; gap:24px; } }
@media(max-width:480px) { .ao-updates-inline { margin:0 16px 44px; padding:24px; } .ao-updates-fields { flex-direction:column; } dialog.ao-updates-dialog { padding:26px 22px; } .ao-updates-dialog h2 { font-size:32px; } .ao-updates-dialog .ao-updates-brand { margin-bottom:22px; font-size:11px; } }
