/* Blog index + posts: natural-flow long-form layout (same family as the legal pages). No fixed-frame class, no height rules. */
:root { --acid:#b2ff34; --cream:#f4ead7; }
* { box-sizing: border-box; }
html { scroll-padding-top: 90px; }
body { margin:0; background:#020604; color:rgba(244,234,215,.84); font:16px/1.65 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif; }
.skip { position:absolute; left:-9999px; }
.skip:focus { left:12px; top:12px; background:#fff; color:#000; padding:8px 12px; z-index:2000; }
.cx-blog { width:min(1080px, calc(100% - 48px)); margin:0 auto; padding:clamp(40px,6vw,80px) 0 clamp(48px,6vw,88px); }
.cx-blog h1 { margin:0 0 24px; color:var(--cream); font:700 clamp(2rem,4vw,3rem)/1.1 Georgia,"Times New Roman",serif; overflow-wrap:anywhere; }
.cx-blog a { color:var(--acid); }
.cx-post { width:min(760px,100%); margin:0 auto; }
.cx-post h2 { margin:34px 0 8px; color:var(--cream); font:700 clamp(1.35rem,2.4vw,1.75rem)/1.25 Georgia,"Times New Roman",serif; }
.cx-post h3 { margin:26px 0 6px; color:var(--acid); font-size:1.05rem; line-height:1.35; }
.cx-post p, .cx-post li { overflow-wrap:anywhere; }
.cx-post p { margin:0 0 14px; }
.cx-post ul, .cx-post ol { margin:0 0 14px; padding-left:22px; }
.cx-post figure { margin:24px 0; }
.cx-post img { display:block; max-width:100%; height:auto; border-radius:4px; }
.cx-crumb { margin:0 0 18px; font-size:14px; }
.cx-meta { display:block; margin:0 0 22px; font-size:14px; color:rgba(244,234,215,.62); }
.cx-cards { list-style:none; margin:0 0 40px; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:24px; }
.cx-card a { display:block; height:100%; color:inherit; text-decoration:none; border:1px solid rgba(244,234,215,.16); background:rgba(244,234,215,.04); }
.cx-card a:hover, .cx-card a:focus-visible { border-color:var(--acid); }
.cx-card img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.cx-card-body { display:block; padding:16px 18px 20px; }
.cx-card-title { display:block; margin-bottom:8px; color:var(--cream); font:700 1.1rem/1.3 Georgia,"Times New Roman",serif; overflow-wrap:anywhere; }
.cx-card .cx-meta { margin:0; }
.cx-blog-sub { width:min(760px,100%); margin:48px auto 0; padding:22px 24px; border:1px solid rgba(178,255,52,.35); background:rgba(244,234,215,.04); }
.cx-blog-sub h2 { margin:0 0 8px; color:var(--acid); font-size:13px; letter-spacing:.14em; text-transform:uppercase; }
.cx-blog-sub p { margin:0 0 10px; }
.cx-blog-row { display:flex; flex-wrap:wrap; gap:8px; }
.cx-blog-sub input[type="email"] { flex:1 1 220px; min-width:0; padding:11px 12px; border:1px solid rgba(244,234,215,.28); border-radius:0; background:rgba(244,234,215,.06); color:var(--cream); font:inherit; }
.cx-blog-sub button { padding:11px 18px; border:0; border-radius:0; background:var(--acid); color:#07100b; font:800 12px/1 ui-sans-serif,system-ui,sans-serif; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.cx-blog-sub button:disabled { opacity:.6; cursor:progress; }
.cx-blog-note { font-size:12px; color:rgba(244,234,215,.62); }
.cx-blog-sub .cx-form-status { min-height:1.4em; font-size:13px; font-weight:600; }
.cx-blog-sub .cx-form-status.ok { color:#59ebdc; }
.cx-blog-sub .cx-form-status.err { color:#ff8a70; }
