.footer{z-index:1;background:var(--brand-blue-700);color:var(--brand-white);box-shadow:0 100vh 0 0 var(--brand-blue-700);flex-direction:column;display:flex;position:sticky;bottom:0}.footer-cta{align-items:center;gap:var(--space-2xl);text-align:center;border-bottom:1px solid #ffffff26;flex-direction:column;padding:clamp(56px,8vw,88px) clamp(20px,6vw,40px);display:flex}.footer-cta h2{max-width:780px;color:var(--brand-white);letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,3.8vw,2.75rem);font-weight:900;line-height:1.12}.footer-cta p{color:#ffffffd9;font-size:var(--font-body);letter-spacing:-.02em;max-width:600px;margin:0;font-weight:650}.footer-cta-action button,.footer-cta-action a,.footer-cta button,.footer-cta .rui-button{cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;background:var(--brand-white)!important;color:var(--brand-blue-700)!important;font-weight:800!important;font-size:var(--text-size-md)!important;padding:var(--space-md) var(--space-3xl)!important;border-radius:var(--radius-full)!important;border:none!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important;box-shadow:0 6px 20px #0003!important}.footer-cta-action button:hover,.footer-cta-action a:hover,.footer-cta button:hover,.footer-cta .rui-button:hover{transform:translateY(-2px);background:var(--brand-slate-50)!important;box-shadow:0 10px 28px #0000004d!important}.footer-bottom{gap:var(--space-4xl);flex-direction:column;width:100%;max-width:100%;margin:0 auto;padding:clamp(32px,6vw,56px) 20px;display:flex}@media (min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between;gap:60px;padding:clamp(36px,6vw,56px) clamp(40px,8vw,120px)}}@media (min-width:1200px){.footer-bottom{padding:clamp(36px,6vw,56px) clamp(80px,12vw,200px)}}.footer-brand{gap:var(--space-md);flex-direction:column;max-width:320px;display:flex}.footer-brand .brand{color:var(--brand-white);display:inline-block}.footer-brand .brand-logo--lockup{background:var(--brand-white);border-radius:var(--radius-sm);width:182px;padding:var(--space-3xs) var(--space-2xs)}.footer-tagline{color:#ffffffd9;font-size:var(--text-size-sm);margin:0;line-height:1.5}.footer-links{grid-template-columns:repeat(3,1fr);gap:24px;width:100%;max-width:580px;display:grid}@media (min-width:640px){.footer-links{gap:40px}}.footer-link-group{gap:var(--space-sm);text-align:left;flex-direction:column;display:flex}@media (min-width:640px){.footer-link-group{gap:var(--space-xl)}}.footer-link-group h3{color:var(--brand-white);font-size:var(--text-size-xs);letter-spacing:.06em;text-transform:uppercase;margin:0;font-weight:800}.footer-link-group a{color:#ffffffbf;font-size:var(--text-size-sm);font-weight:500;line-height:1.4;text-decoration:none;transition:color .2s}@media (min-width:640px){.footer-link-group h3{font-size:var(--text-size-sm)}.footer-link-group a{font-size:var(--text-size-md)}}.footer-link-group a:hover,.footer-link-group a:focus-visible{color:var(--brand-white)}.footer-legal{padding:var(--space-2xl) 20px;text-align:left;color:#fff9;font-size:var(--text-size-xs);border-top:1px solid #ffffff26;font-weight:500}@media (min-width:640px){.footer-legal{padding:var(--space-3xl) clamp(40px, 8vw, 120px);font-size:var(--text-size-sm)}}@media (min-width:1200px){.footer-legal{padding:var(--space-3xl) clamp(80px, 12vw, 200px)}}:root[data-theme=dark] .footer{background:var(--brand-teal-950);border-top:1px solid var(--brand-teal-border);box-shadow:0 100vh 0 0 var(--brand-teal-950)}:root[data-theme=dark] .footer-cta{border-bottom-color:var(--brand-teal-border)}:root[data-theme=dark] .footer-cta h2,:root[data-theme=dark] .footer-link-group h3{color:var(--brand-slate-50)}:root[data-theme=dark] .footer-cta-action button,:root[data-theme=dark] .footer-cta-action a,:root[data-theme=dark] .footer-cta button,:root[data-theme=dark] .footer-cta .rui-button{background:var(--blue)!important;color:var(--brand-teal-950)!important}:root[data-theme=dark] .footer-cta-action button:hover,:root[data-theme=dark] .footer-cta-action a:hover,:root[data-theme=dark] .footer-cta button:hover,:root[data-theme=dark] .footer-cta .rui-button:hover{background:var(--brand-white)!important}:root[data-theme=dark] .footer-tagline,:root[data-theme=dark] .footer-link-group a{color:var(--brand-teal-muted)}.footer .footer-brand .brand-logo-frame--theme .brand-logo--lockup{background:0 0;padding:0}:root:not([data-theme=dark]) .footer .footer-brand .brand-logo-frame--theme:after{background:var(--brand-white);clip-path:inset(0 0 0 55%);content:"";pointer-events:none;position:absolute;inset:0;-webkit-mask:url(/brand/askralph-logo.png) 50%/contain no-repeat;mask:url(/brand/askralph-logo.png) 50%/contain no-repeat}:root[data-theme=dark] .footer-link-group a:is(:hover,:focus-visible){color:var(--brand-cyan-400)}:root[data-theme=dark] .footer-legal{border-top-color:var(--brand-teal-border);color:var(--brand-teal-muted)}
.auth-overlay{z-index:1200;-webkit-backdrop-filter:blur(8px);will-change:opacity, transform, filter;backface-visibility:hidden;background:#14100a61;animation:.2s authOverlayIn;display:flex;position:fixed;inset:0;transform:translateZ(0)}@keyframes authOverlayIn{0%{opacity:0}to{opacity:1}}.auth-modal{background:var(--surface);border:1px solid var(--line);border-radius:22px;width:min(460px,100% - 32px);max-height:92vh;margin:auto;padding:28px;animation:.25s cubic-bezier(.2,.7,.2,1) authModalIn;position:relative;overflow-y:auto;box-shadow:0 28px 80px #14100a38}@keyframes authModalIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}.auth-drawer{background:var(--surface);border-left:1px solid var(--line);align-self:flex-start;width:min(430px,100%);height:100dvh;margin-top:0;margin-left:auto;padding:28px;animation:.28s cubic-bezier(.2,.7,.2,1) authDrawerIn;position:relative;overflow-y:auto;box-shadow:-20px 18px 60px #14100a2e}@keyframes authDrawerIn{0%{transform:translate(100%)}to{transform:none}}.auth-dialog-close{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:12px;place-items:center;display:grid;position:absolute;top:18px;right:18px}.auth-dialog-close:hover{background:var(--soft)}@media (max-width:768px){.auth-drawer{border-top:none;width:100%;height:100dvh;margin-top:0;padding:22px 18px 28px}.auth-modal{padding:24px 20px}}