.footer{margin-top:56px;border-top:1px solid var(--border);padding:32px 0 28px;color:var(--text);font-size:.95rem;line-height:1.5}.footer a{color:var(--text-h);text-decoration:none}.footer a:hover{text-decoration:underline}.footer-content{max-width:860px;margin:0 auto}.footer-top{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,auto);align-items:start;gap:48px;padding-bottom:36px}.footer-intro{min-width:0}.footer-brand{display:inline-block;color:var(--accent)!important;font-size:1.08rem;font-weight:700;letter-spacing:-.02em}.footer-brand span{color:var(--text-h)}.footer-intro p{margin:2px 0 0;max-width:280px;color:var(--text);font-size:.88rem;line-height:1.65}.footer-intro p a{color:var(--accent);font-weight:600}.footer-intro p .footer-built{display:block;margin-top:10px;line-height:1.4;text-align:justify}.footer-intro p .footer-labs-x{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;margin:-3px 0 -3px 2px;color:var(--text-h);background:var(--code-bg);border:1px solid var(--border);border-radius:6px;vertical-align:middle;transition:color .15s ease,border-color .15s ease,transform .15s ease}.footer-intro p .footer-labs-x:hover{color:var(--accent);border-color:var(--accent-border);text-decoration:none;transform:translateY(-1px)}.footer-labs-x svg{width:11px;height:11px}.footer-nav{display:flex;flex-wrap:wrap;gap:40px;min-width:0}.footer-nav-group{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.footer-nav-title{font-size:.85rem;font-weight:400;color:var(--text);opacity:.7;margin-bottom:4px}.footer-nav-links{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.footer-nav-link{display:inline-flex;align-items:center;color:var(--text-h);font-size:.98rem;font-weight:550;padding:4px 0;text-decoration:none}.footer-signup{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px 0 0;border-top:1px solid var(--border)}.footer-signup-copy{max-width:410px}.footer-signup-copy h2{margin:0 0 3px;color:var(--text-h);font-size:.95rem;font-weight:650}.footer-signup-copy p{margin:0;color:var(--text);font-size:.83rem;line-height:1.5}.footer-signup-copy .footer-signup-privacy{margin-top:2px;font-size:.77rem;opacity:.78}.footer-signup-action{flex:0 1 350px}.footer-signup-form{display:flex;align-items:center;gap:8px}.footer-signup-input{min-width:0;flex:1;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--code-bg);color:var(--text-h);font:inherit;font-size:.84rem}.footer-signup-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.footer-signup-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.footer-signup-button{padding:9px 12px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-size:.82rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.footer-signup-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.footer-signup-button:disabled{cursor:default;opacity:.6}.footer-signup-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.footer-signup-feedback{margin:6px 0 0;color:var(--error);font-size:.78rem}.footer-signup-success{display:flex;align-items:center;gap:7px;color:var(--text-h);font-size:.86rem;font-weight:600}.footer-signup-success svg{color:var(--accent)}@media (hover: none) and (pointer: coarse){.footer-signup-input{min-height:44px;font-size:16px}}@media (max-width: 600px){.footer-top{display:flex;flex-direction:column;gap:28px}.footer-nav{gap:32px}.footer-signup{align-items:stretch;flex-direction:column;gap:16px}.footer-signup-action{flex-basis:auto}.footer-signup-form{align-items:stretch;flex-direction:column}.footer-signup-input{min-height:44px;font-size:16px}.footer-signup-button{min-height:44px}}.footer-intro p .footer-fast{display:block;margin:10px 0 12px;padding:10px 12px;background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:8px;color:var(--text);font-weight:400;line-height:1.4;text-align:center;text-decoration:none}.footer-fast-name{color:var(--accent);font-weight:600}.footer-brand-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;max-width:280px}.footer-legal{display:flex;gap:0 16px;font-size:.85rem}.footer .footer-legal a{color:var(--text-h);font-weight:550}
