/* Footer newsletter signup */
.foot-sub{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;border:1px solid var(--border);border-radius:22px;padding:36px 40px;margin-bottom:64px;position:relative;overflow:hidden;
  background-color:var(--surface);
  background-image:radial-gradient(rgba(17,17,17,.09) 1px,transparent 1.2px);background-size:22px 22px}
.foot-sub::after{content:"";position:absolute;right:-10%;top:-60%;width:60%;height:200%;background:radial-gradient(closest-side,rgba(var(--accent-rgb,124,58,237),.10),transparent);pointer-events:none}
.foot-sub > *{position:relative;z-index:1}
.foot-sub .k{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.foot-sub .k::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.foot-sub h3{font-size:clamp(24px,2.6vw,32px);font-weight:800;color:var(--ink);letter-spacing:-.03em;line-height:1.1;margin:12px 0 8px}
.foot-sub p{font-size:15px;color:var(--body);margin:0}
.sub-form{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:6px 6px 6px 8px;transition:border-color .2s;flex-wrap:wrap}
.sub-form:focus-within{border-color:var(--accent)}
.sub-form img{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none}
.sub-form input[type=email]{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:15.5px;color:var(--ink);padding:0 8px;height:44px}
.sub-form input[type=email]::placeholder{color:var(--muted)}
.sub-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.sub-form button{height:44px;padding:0 20px;border:0;border-radius:999px;background:var(--accent);color:#fff;font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .2s}
.sub-form button:hover{background:var(--accent-hover)}
.sub-form button[disabled]{opacity:.65;cursor:wait}
.sub-wrap .sub-msg{margin:10px 0 0 18px;font-size:13.5px;min-height:20px;color:var(--muted)}
.sub-wrap .sub-msg.ok{color:#15803d;font-weight:600}
.sub-wrap .sub-msg.err{color:#b42318}
.sub-wrap .sub-msg a{color:var(--accent);font-weight:600;text-decoration:underline}
.sub-wrap.done .sub-form{border-color:#15803d}
@media (max-width:980px){.foot-sub{grid-template-columns:1fr;gap:24px;padding:30px}}
@media (max-width:640px){
  .foot-sub{padding:24px 20px;border-radius:18px}
  .sub-form{border-radius:18px;padding:8px}
  .sub-form img{display:none}
  .sub-form input[type=email]{flex-basis:100%;height:46px}
  .sub-form button{width:100%;justify-content:center;height:48px}
}
