/* Shared visual system for the portfolio and development websites. */
body{font-family:Manrope,Arial,system-ui,sans-serif}
h1,h2,h3{font-weight:800}
.btn,.nav-cta{font-family:inherit;font-weight:700}
.topbar.wrap,.topbar>.wrap{width:min(1160px,calc(100% - 64px));margin-left:auto;margin-right:auto}
.topbar{top:16px}
.nav{min-height:72px;height:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 18px;border:1px solid #424957;border-radius:22px;background:rgba(16,18,23,.91);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 24px #0003,inset 0 1px 0 #ffffff05}
.nav>.brand{display:flex;align-items:center;gap:10px;min-height:44px;flex-shrink:0;max-width:none;font-family:inherit;font-size:14px;font-weight:800;line-height:1.25;letter-spacing:-.035em}
.nav>.brand>span:last-child{min-width:0;font-size:14px}
.nav .brand-mark{display:grid;place-items:center;flex:none;width:35px;height:35px;border-radius:11px;background:#c8ff4d;color:#11150a;transform:rotate(-7deg);font-family:inherit;font-size:21px;font-weight:800;line-height:1;letter-spacing:-.04em}
.nav>.brand small{display:block;margin-top:3px;color:#b0b5c2;font-size:14px;font-weight:400;line-height:1.25;letter-spacing:.02em}
.navlinks{display:flex;align-items:center;gap:24px;color:#e2e5ed;font-size:14px;font-weight:600;line-height:1.4}
.navlinks a{display:inline-flex;align-items:center;min-height:44px;transition:color .2s}
.navlinks a:hover{color:#c8ff4d}
.nav>.nav-cta,.nav>.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;min-height:44px;padding:11px 17px;border:1px solid transparent;border-radius:999px;background:#c8ff4d;color:#11150a;font-size:14px;font-weight:700;line-height:1.4;text-align:center;box-shadow:none}
.nav>.nav-cta:hover,.nav>.btn:hover{background:#d4ff79;transform:translateY(-2px);box-shadow:none}
.nav .desktop-label{display:inline}.nav .mobile-label{display:none}
.nav a:focus-visible,.mobile-nav a:focus-visible,.mobile-menu a:focus-visible,.mobile-menu summary:focus-visible{outline:3px solid #c8ff4d;outline-offset:4px}
.mobile-menu{display:none}
.mobile-nav,.mobile-menu{border:1px solid #424957;background:rgba(16,18,23,.91);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
@media(max-width:1100px) and (min-width:901px){.nav{gap:16px}.navlinks{gap:15px;font-size:13px}.nav>.brand,.nav>.brand>span:last-child{font-size:13px}.nav>.brand small{font-size:13px}.nav>.nav-cta,.nav>.btn{font-size:13px;padding:11px 15px}}
@media(max-width:1000px){.topbar.wrap,.topbar>.wrap{width:calc(100% - 48px)}}
@media(max-width:900px){
.navlinks{display:none}
.nav .desktop-label{display:none}.nav .mobile-label{display:inline}
.nav>.brand small{display:none}
.mobile-menu{display:block;margin-top:8px;border-radius:15px;padding:0 14px}
.mobile-menu summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;font-size:14px;list-style:none;cursor:pointer}
.mobile-menu summary:after{content:'+';font-size:21px;color:#c8ff4d}.mobile-menu[open] summary:after{content:'−'}.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu nav{display:flex;flex-direction:column;border-top:1px solid #343944;padding:8px 0}
.mobile-menu nav a{display:flex;align-items:center;min-height:44px;font-size:15px}
.mobile-nav{display:flex;align-items:center;justify-content:space-around;gap:8px;margin-top:8px;padding:4px 8px;border-radius:15px;font-size:14px;font-weight:600}
.mobile-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 5px}
}
@media(max-width:760px){.topbar{top:10px}.topbar.wrap,.topbar>.wrap{width:calc(100% - 36px)}.nav{min-height:66px;padding:9px 13px;gap:12px}.nav>.brand,.nav>.brand>span:last-child{font-size:14px}.nav>.nav-cta,.nav>.btn{font-size:14px;padding:10px 14px}.mobile-nav{font-size:13px}}
@media(max-width:380px){.topbar.wrap,.topbar>.wrap{width:calc(100% - 30px)}.nav{padding:9px 10px;gap:8px}.nav>.brand{gap:8px}.nav>.brand,.nav>.brand>span:last-child{font-size:12px}.nav .brand-mark{width:31px;height:31px;font-size:19px}.nav>.nav-cta,.nav>.btn{font-size:13px;padding:10px 12px}.mobile-nav{font-size:12px;gap:0}}
@media(prefers-reduced-motion:reduce){.nav a{transition:none!important}.nav>.nav-cta:hover,.nav>.btn:hover{transform:none}}
