.tooltip-wrapper{display:inline-flex;position:relative}.tooltip-text{visibility:hidden;opacity:0;background:var(--background-secondary);border:1px solid var(--border);color:var(--text);white-space:nowrap;z-index:9999;pointer-events:none;box-shadow:0 4px 12px var(--shadow);border-radius:6px;padding:6px 12px;font-size:.75rem;font-weight:500;transition:opacity .2s,visibility .2s,transform .2s;position:absolute}.tooltip-text:before{content:"";border:6px solid #0000;position:absolute}.tooltip-bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-4px)}.tooltip-bottom:before{border-bottom-color:var(--border);bottom:100%;left:50%;transform:translate(-50%)}.tooltip-top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.tooltip-top:before{border-top-color:var(--border);top:100%;left:50%;transform:translate(-50%)}.tooltip-left{top:50%;right:calc(100% + 8px);transform:translateY(-50%)translate(4px)}.tooltip-left:before{border-left-color:var(--border);top:50%;left:100%;transform:translateY(-50%)}.tooltip-right{top:50%;left:calc(100% + 8px);transform:translateY(-50%)translate(-4px)}.tooltip-right:before{border-right-color:var(--border);top:50%;right:100%;transform:translateY(-50%)}.tooltip-wrapper:hover .tooltip-text{visibility:visible;opacity:1}.tooltip-wrapper:has(:focus-visible) .tooltip-text{visibility:visible;opacity:1}.tooltip-wrapper:hover .tooltip-bottom{transform:translate(-50%)translateY(0)}.tooltip-wrapper:has(:focus-visible) .tooltip-bottom{transform:translate(-50%)translateY(0)}.tooltip-wrapper:hover .tooltip-top{transform:translate(-50%)translateY(0)}.tooltip-wrapper:has(:focus-visible) .tooltip-top{transform:translate(-50%)translateY(0)}.tooltip-wrapper:hover .tooltip-left{transform:translateY(-50%)translate(0)}.tooltip-wrapper:has(:focus-visible) .tooltip-left{transform:translateY(-50%)translate(0)}.tooltip-wrapper:hover .tooltip-right{transform:translateY(-50%)translate(0)}.tooltip-wrapper:has(:focus-visible) .tooltip-right{transform:translateY(-50%)translate(0)}.tooltip-wrapper.tooltip-dismissed .tooltip-text{visibility:hidden;opacity:0}@media (hover:none){.tooltip-text{display:none}}
.logo{font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;color:var(--text);font-weight:700;line-height:1;transition:color .2s}.logo--lg{font-size:2rem}.logo--md{font-size:1.6rem}a:hover>.logo{color:var(--primary)}.logo-dot{background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}
.footer-outer{border-top:1px solid var(--border);background:var(--background-secondary);padding:56px 7rem 96px}.footer-grid{grid-template-columns:2fr 1fr 1.3fr;gap:48px;display:grid}.footer-logo{text-decoration:none;display:inline-flex}.footer-brand p{max-width:26rem;color:var(--text-secondary);margin:14px 0 20px;font-size:.95rem;line-height:1.7}.footer-socials{gap:10px;display:flex}.footer-socials a{width:40px;height:40px;color:var(--text-secondary);background:var(--overlay);border:1px solid var(--border);border-radius:10px;justify-content:center;align-items:center;font-size:1.1rem;transition:color .2s,border-color .2s,transform .2s;display:inline-flex}.footer-socials a:hover{color:var(--primary);border-color:rgba(var(--primary-rgb), .6);transform:translateY(-2px)}.footer-col h2{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px;font-size:.8rem;font-weight:500}.footer-col ul{flex-direction:column;gap:12px;list-style:none;display:flex}.footer-col a,.footer-col span{color:var(--text-secondary);overflow-wrap:anywhere;align-items:center;gap:10px;font-size:.95rem;text-decoration:none;transition:color .2s;display:inline-flex}.footer-col a:hover{color:var(--primary)}.footer-col svg{color:var(--primary);flex-shrink:0}.footer-bottom{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;gap:16px;margin-top:40px;padding-top:20px;font-size:.85rem;display:flex}@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media (max-width:768px){.footer-outer{padding:40px 1rem 88px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{text-align:center;flex-direction:column;align-items:center}}@media (min-width:769px) and (max-width:1100px){.footer-outer{padding-left:2.5rem;padding-right:2.5rem}}
