.mobile-nav{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:420px;background:var(--color-white);z-index:var(--z-overlay);transform:translateX(100%);transition:transform var(--duration-slow) cubic-bezier(.32,.72,0,1);overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.mobile-nav--open{transform:translateX(0)}.mobile-nav-overlay{position:fixed;inset:0;background:rgb(15 23 42 / .6);z-index:var(--z-overlay);opacity:0;visibility:hidden;transition:opacity var(--duration-slow) var(--ease-default),visibility var(--duration-slow) var(--ease-default);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.mobile-nav-overlay--visible{opacity:1;visibility:visible}.mobile-nav__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);background:var(--color-dark);flex-shrink:0}.mobile-nav__header .site-header__logo-img{height:36px;width:auto}.mobile-nav__close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgb(255 255 255 / .1);border:none;cursor:pointer;font-size:22px;color:var(--color-white);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-default)}.mobile-nav__close:hover{background:rgb(255 255 255 / .2)}.mobile-nav__body{padding:var(--space-5) var(--space-5) 80px;flex:1;display:flex;flex-direction:column}.mobile-nav__group{border-bottom:1px solid var(--color-line);padding-bottom:var(--space-2);margin-bottom:var(--space-2)}.mobile-nav__group:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.mobile-nav__group-title{font-size:11px;font-weight:var(--font-weight-black);text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);margin:var(--space-3) 0 var(--space-1);padding:0 var(--space-3)}.mobile-nav__group-title:first-child{margin-top:var(--space-1)}.mobile-nav__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) var(--space-3);font-size:var(--text-base);font-weight:var(--font-weight-bold);color:var(--color-ink);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default);min-height:48px}.mobile-nav__trigger:hover{background:var(--color-soft)}.mobile-nav__trigger[aria-expanded="true"]{color:var(--color-primary)}.mobile-nav__trigger-arrow{font-size:10px;color:var(--color-muted);transition:transform var(--duration-normal) var(--ease-default)}.mobile-nav__trigger[aria-expanded="true"] .mobile-nav__trigger-arrow{transform:rotate(180deg);color:var(--color-primary)}.mobile-nav__sub{overflow:hidden;max-height:0;opacity:0;transition:max-height var(--duration-normal) var(--ease-default),opacity var(--duration-fast) var(--ease-default);padding-left:var(--space-2)}.mobile-nav__sub--open{max-height:800px;opacity:1}.mobile-nav__link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:15px;font-weight:var(--font-weight-semibold);color:var(--color-ink);text-decoration:none;min-height:44px;transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.mobile-nav__link:hover,.mobile-nav__link:active{background:var(--color-soft);color:var(--color-primary)}.mobile-nav__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mobile-nav__dot--dm{background:#4F46E5}.mobile-nav__dot--dev{background:#16A34A}.mobile-nav__dot--sol{background:#EA580C}.mobile-nav__dot--ind{background:#DB2777}.mobile-nav__dot--gen{background:var(--color-muted)}.mobile-nav__cta{display:block;width:100%;text-align:center;background:var(--color-primary);color:var(--color-white);padding:var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-weight-bold);font-size:var(--text-base);text-decoration:none;margin-top:auto;min-height:48px;line-height:48px;transition:background var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.mobile-nav__cta:hover{background:var(--color-primary-dark)}.mobile-nav__cta:active{transform:scale(.98)}@media (max-width:420px){.mobile-nav{max-width:100%}}@media (min-width:1024px){.mobile-nav,.mobile-nav-overlay{display:none!important}}