/* PrimeNexa site theme — shared design layer matching /card. Loaded after Tailwind on every page. */
@font-face{font-family:Manrope;src:url('../showcase/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--pn-bg:#070f1b;--pn-surface:#0f1a2a;--pn-surface2:#142236;--pn-line:#1f2d44;--pn-line2:#2b3c58;--pn-text:#eef2f6;--pn-muted:#98a6b8;--pn-dim:#6d7d92;--pn-acc:#34d399;--pn-acc-ink:#04261a;--pn-cyan:#22d3ee;--pn-teal:#42b9c7;--pn-ease:cubic-bezier(.22,1,.36,1);--pn-font:Manrope,Inter,system-ui,sans-serif;--sab:env(safe-area-inset-bottom,0px)}
html{color-scheme:dark;scroll-padding-top:96px}
html,body{overflow-x:hidden}
body,button,input,select,textarea,.font-sans,[class*="font-[Outfit]"],.font-heading,h1,h2,h3,h4,h5,h6{font-family:var(--pn-font)!important}
body.dark,.dark body,body{background-color:var(--pn-bg)!important;color:var(--pn-text)}
h1,h2{letter-spacing:-.025em}h1.font-black,h1.font-extrabold,h2.font-black,h2.font-extrabold{font-weight:600!important}h1.font-bold,h2.font-bold{font-weight:600!important}
::selection{background:var(--pn-acc);color:var(--pn-bg)}
/* surfaces: retint Tailwind dark utilities to the navy palette */
.dark [class*="dark:bg-black"],.dark [class*="dark:bg-dark"],.dark [class*="dark:bg-[#0"],.dark [class*="dark:bg-[#1"],.dark .bg-black,.dark .bg-dark{background-color:var(--pn-bg)!important}
.dark [class*="dark:bg-card"],.dark .bg-card{background-color:var(--pn-surface)!important}
.dark [class*="dark:bg-gray-9"],.dark [class*="dark:bg-slate-9"],.dark [class*="dark:bg-gray-8"]{background-color:var(--pn-surface2)!important}
.dark [class*="dark:border-white/5"],.dark [class*="dark:border-white/10"],.dark [class*="dark:border-gray-8"],.dark [class*="dark:border-white/8"]{border-color:var(--pn-line)!important}
.dark .hero-bg{background:radial-gradient(ellipse at 20% 30%,#123a2f55,transparent 55%),radial-gradient(ellipse at 80% 20%,#1e3a5f55,transparent 55%),var(--pn-bg)!important}
.dark [class*="dark:bg-[#0d1f38]"]{background-color:var(--pn-bg)!important}
.dark .dark\:bg-\[\#0a0f1c\]\/95{background:transparent!important}
/* type colours */
.dark [class*="dark:text-gray-400"]{color:var(--pn-muted)!important}.dark [class*="dark:text-gray-500"]{color:var(--pn-dim)!important}
.dark [class*="text-emerald-400"],.dark [class*="dark:text-emerald-400"]{color:var(--pn-acc)!important}
/* buttons */
.rounded-full[class*="bg-gradient"],a.rounded-xl[class*="bg-gradient"],.rounded-xl[class*="from-emerald"]{background:var(--pn-acc)!important;color:var(--pn-acc-ink)!important;background-image:none!important}
/* hide legacy chrome replaced by the shell */
#navbar,button[onclick="toggleTheme()"],[class*="md:hidden"][class*="fixed"][class*="bottom-0"]{display:none!important}
/* footer from footer.js */
.dark footer{background:var(--pn-bg)!important;border-color:var(--pn-line)!important}
@media(max-width:900px){body{padding-bottom:calc(92px + var(--sab))}#pn-wa-widget{display:none!important}}

/* ───────── shell: header ───────── */
.pn-header{position:fixed;top:0;left:0;right:0;z-index:60;height:calc(84px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 20px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(7,15,27,.72);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border-bottom:1px solid var(--pn-line);transition:height .35s var(--pn-ease),background .35s,box-shadow .35s var(--pn-ease);font-family:var(--pn-font)}
.pn-header.is-scrolled{height:calc(62px + env(safe-area-inset-top,0px));background:rgba(7,15,27,.92);box-shadow:0 12px 32px -14px #000c}
.pn-header .pn-in{width:min(1280px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}
.pn-brand{display:flex;align-items:center;gap:10px;min-height:48px;text-decoration:none;color:var(--pn-text)}
.pn-brand img{width:34px;height:34px;object-fit:contain;transform-origin:center;transition:transform .35s var(--pn-ease)}
.pn-brand-text{display:block;font-size:23px;letter-spacing:-1.1px;font-weight:800;line-height:1;transition:transform .35s var(--pn-ease)}
.pn-brand-text .w1,.pn-brand-text .w2{display:inline-block}
.pn-brand-text .w2{font-weight:400;color:var(--pn-teal);background:linear-gradient(100deg,var(--pn-teal) 30%,#d6fbff 50%,var(--pn-teal) 70%);background-size:220% 100%;background-position:120% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pn-brand small{display:block;font-size:6px;letter-spacing:3px;font-weight:500;margin-top:6px;color:var(--pn-muted);transition:opacity .3s var(--pn-ease),transform .3s var(--pn-ease)}
.pn-header.is-scrolled .pn-brand img{transform:scale(.8)}.pn-header.is-scrolled .pn-brand-text{transform:translateY(3px)}.pn-header.is-scrolled .pn-brand small{opacity:0;transform:translateY(-6px)}
.pn-nav{display:none;align-items:center;gap:32px;font-size:12.5px}
.pn-nav a{color:var(--pn-muted);padding:14px 0;display:flex;align-items:center;gap:8px;text-decoration:none;transition:color .2s}.pn-nav a:hover,.pn-nav a.active{color:var(--pn-text)}
.pn-nav a.active::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--pn-acc)}
.pn-cta{display:flex;align-items:center;gap:14px;border:1px solid var(--pn-line2);border-radius:100px;padding:11px 15px;min-height:44px;font-size:11px;font-weight:600;color:var(--pn-text);text-decoration:none;transition:background .2s,color .2s,padding .3s var(--pn-ease)}
.pn-cta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pn-cta:hover{background:var(--pn-acc);color:var(--pn-acc-ink);border-color:var(--pn-acc)}.pn-header.is-scrolled .pn-cta{padding:9px 13px;min-height:40px}
@media(min-width:901px){.pn-header{height:96px;padding-inline:32px}.pn-header.is-scrolled{height:68px}.pn-nav{display:flex}.pn-brand img{width:37px;height:37px}.pn-brand-text{font-size:25px}.pn-brand small{font-size:7px;letter-spacing:3.6px}.pn-cta{padding:12px 20px;font-size:12px;gap:20px}}
/* entrance */
.pn-header:not(.entered) .pn-brand img{animation:pn-logo-in .9s var(--pn-ease) both}
.pn-header:not(.entered) .w1{animation:pn-word-in .7s var(--pn-ease) .18s both}
.pn-header:not(.entered) .w2{animation:pn-word-in .7s var(--pn-ease) .3s both,pn-shimmer 1.6s ease-in-out 1s 1 both}
.pn-header:not(.entered) .pn-brand small{animation:pn-track-in .9s var(--pn-ease) .42s both}
.pn-header:not(.entered) .pn-cta{animation:pn-word-in .7s var(--pn-ease) .5s both}
.pn-header:not(.entered) .pn-nav a{animation:pn-word-in .6s var(--pn-ease) both}.pn-header:not(.entered) .pn-nav a:nth-child(1){animation-delay:.24s}.pn-header:not(.entered) .pn-nav a:nth-child(2){animation-delay:.32s}.pn-header:not(.entered) .pn-nav a:nth-child(3){animation-delay:.4s}.pn-header:not(.entered) .pn-nav a:nth-child(4){animation-delay:.48s}
@keyframes pn-logo-in{from{opacity:0;transform:scale(.55) rotate(-14deg)}60%{opacity:1;transform:scale(1.06) rotate(2deg)}to{opacity:1;transform:none}}
@keyframes pn-word-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes pn-track-in{from{opacity:0;letter-spacing:9px;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes pn-shimmer{0%{background-position:120% 0}100%{background-position:-120% 0}}

/* ───────── shell: bottom mobile menu ───────── */
.pn-bottom{display:none}
@media(max-width:900px){
.pn-bottom{display:flex;position:fixed;left:16px;right:16px;bottom:calc(13px + var(--sab));height:66px;padding:7px;background:#0b1526ee;border:1px solid #5f7a9a4d;border-radius:19px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:50;box-shadow:0 8px 35px #000a;gap:4px;font-family:var(--pn-font)}
.pn-bottom a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:13px;font-size:9px;font-weight:600;letter-spacing:.02em;color:#b6c2d1;text-decoration:none;min-height:44px;transition:transform .15s,background .2s,color .2s;-webkit-tap-highlight-color:transparent}
.pn-bottom a:active{transform:scale(.95)}
.pn-bottom a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pn-bottom a.active{background:#34d39918;color:var(--pn-acc)}
.pn-bottom a.pri{background:var(--pn-acc);color:var(--pn-acc-ink)}
}
@media(prefers-reduced-motion:reduce){.pn-header *{animation:none!important}.pn-header{transition:none}}
