/*
Theme Name: NOUNUniversity
Theme URI: https://noununiversity.com
Author: NOUNUniversity
Author URI: https://noununiversity.com
Description: A unified, conversion-focused public experience for NOUNUniversity.com with a modern homepage, student-service discovery, accessible editorial templates, Student Portal integration, dark mode, schema, LiteSpeed and advertising compatibility.
Version: 17.1.3
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: noununiversity
Tags: blog, education, one-column, two-columns, custom-menu, featured-images, theme-options, translation-ready, accessibility-ready
*/

:root{--f:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--fh:"Georgia","Times New Roman",serif;--bg:#fff;--bg2:#f5f6f5;--fg:#111;--fg2:#444;--mt:#595959;--ac:#0a6e2c;--ac2:#085521;--acl:#e6f4ec;--lk:#0a6e2c;--lkh:#085521;--bd:#d4d8d6;--bd2:#e8ecea;--cd:#fff;--sh1:0 1px 3px rgba(0,0,0,.06);--sh2:0 4px 16px rgba(0,0,0,.08);--r:8px;--mx:1140px;--hd:#0a6e2c;--hf:#fff;--ft:#0e1012;--ftf:#aaa;--co:#f2f4f3}
[data-theme="dark"]{--bg:#0f1114;--bg2:#171a1e;--fg:#e5e5e5;--fg2:#bbb;--mt:#9a9a9a;--ac:#4ade80;--ac2:#38c96c;--acl:rgba(74,222,128,.1);--lk:#4ade80;--lkh:#38c96c;--bd:#2c3038;--bd2:#22262c;--cd:#171a1e;--sh1:0 1px 3px rgba(0,0,0,.2);--sh2:0 4px 16px rgba(0,0,0,.25);--hd:#0d1117;--hf:#e5e5e5;--ft:#0a0c0e;--ftf:#999;--co:#1a1d22}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;line-height:1.5}
body{font-family:var(--f);font-size:1rem;line-height:1.75;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--lk);text-decoration:underline;text-underline-offset:3px}
a:hover,a:focus{color:var(--lkh)}
a:focus-visible{outline:3px solid var(--ac);outline-offset:2px;border-radius:2px}
h1,h2,h3,h4,h5,h6{font-family:var(--fh);color:var(--fg);line-height:1.3;font-weight:700}
h1{font-size:clamp(1.6rem,4vw,2.1rem);margin-bottom:.6rem}
h2{font-size:clamp(1.25rem,3vw,1.6rem);margin-bottom:.5rem}
h3{font-size:clamp(1.05rem,2.5vw,1.25rem);margin-bottom:.4rem}
h4{font-size:1rem;margin-bottom:.35rem}
p{margin-bottom:1rem}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
ul,ol{padding-left:1.25rem;margin-bottom:1rem}
blockquote{border-left:4px solid var(--ac);padding:.7rem 1.15rem;margin:1.5rem 0;background:var(--bg2);border-radius:0 var(--r) var(--r) 0;font-style:italic;color:var(--mt)}
pre,code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:.875rem}
pre{background:var(--co);padding:1rem;border-radius:var(--r);overflow-x:auto;margin-bottom:1.5rem}
code{background:var(--co);padding:.12em .3em;border-radius:3px}
pre code{background:none;padding:0}
table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}
th,td{padding:.5rem .7rem;text-align:left;border:1px solid var(--bd2);color:var(--fg)}
th{font-weight:600;background:var(--bg2)}
td{background:var(--cd)}
[data-theme="dark"] th{color:#e5e5e5;background:#1a1d22}
[data-theme="dark"] td{color:#ccc;background:var(--bg)}
[data-theme="dark"] table{border-color:var(--bd2)}
hr{border:0;height:1px;background:var(--bd2);margin:1.75rem 0}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{background:var(--ac);color:#fff;display:block;font-size:.875rem;font-weight:600;padding:.7rem 1.4rem;position:fixed;top:5px;left:5px;width:auto;height:auto;clip:auto;z-index:100001;border-radius:var(--r)}
.ns-w{max-width:var(--mx);margin:0 auto;padding:0 1.25rem}
.ns-hdr{background:var(--hd);color:var(--hf);position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(255,255,255,.06)}
.ns-hdr.ns-menu-open{z-index:10000}
.ns-hdr-in{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;gap:.7rem}
.ns-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--hf);font-weight:700;font-size:1rem;flex-shrink:0}
.ns-logo img{width:auto;height:auto;border-radius:4px;max-height:40px}
.ns-tagline{display:none;font-size:.68rem;color:rgba(255,255,255,.45);margin-left:.25rem}
@media(min-width:769px){.ns-tagline{display:inline}}
.ns-logo span{font-family:var(--fh)}
.ns-nav-ul{display:flex;align-items:center;gap:.1rem;list-style:none;padding:0;margin:0}
.ns-nav-ul li{margin:0;padding:0;border:none}
.ns-nav-ul a{color:var(--hf);text-decoration:none;padding:.32rem .55rem;border-radius:var(--r);font-size:.82rem;font-weight:500;transition:background .15s;white-space:nowrap;display:block}
.ns-nav-ul a:hover,.ns-nav-ul a:focus,.ns-nav-ul .current-menu-item>a,.ns-nav-ul .current_page_item>a{background:rgba(255,255,255,.14)}
.ns-nav-toggle{display:none;background:none;border:none;color:var(--hf);cursor:pointer;padding:.4rem;border-radius:var(--r);line-height:1}
.ns-nav-toggle svg{width:24px;height:24px;display:block}
.ns-nav-x{display:none}
.ns-nav-dm{display:none}
.ns-nav-head{display:none}
.ns-nav-search{display:none}
.ns-nav-stats{display:none}
.ns-nav-dm-icon{display:none}
.ns-nav-ul a::after{display:none}

/* ======== DESKTOP DROPDOWN / MEGA MENU ======== */
@media(min-width:769px){
.ns-nav-ul{position:relative;display:flex;align-items:center;gap:.15rem}
.ns-nav-ul>li{position:relative;align-self:center}
.ns-nav-ul>li>a{position:relative;padding:.4rem .55rem;font-size:.82rem;font-weight:600;color:var(--hf);text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:.3rem;transition:background .15s;border-radius:6px}
.ns-nav-ul>li>a:hover{background:rgba(255,255,255,.1)}
.ns-nav-ul>li.is-open>a{background:rgba(255,255,255,.14)}
.ns-nav-ul>li.current-menu-item>a{background:rgba(255,255,255,.08);color:#fff}

/* Chevron indicator for parents */
.ns-nav-ul>.menu-item-has-children>a .ns-dd-chev{width:14px;height:14px;opacity:.45;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .2s;flex-shrink:0}
.ns-nav-ul>.menu-item-has-children.is-open>a .ns-dd-chev{transform:rotate(180deg);opacity:.8}

/* ---- STANDARD DROPDOWN ---- */
.ns-nav-ul .sub-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:.5rem;min-width:20rem;opacity:0;visibility:hidden;pointer-events:none;z-index:100;transition:opacity .2s cubic-bezier(.22,1,.36,1),visibility .2s;list-style:none;margin:0;background:none;border:none;box-shadow:none}
/* Visible card panel */
.ns-nav-ul .sub-menu::before{content:"";display:block;position:absolute;inset:0;top:.5rem;background:var(--bg);border:1px solid var(--bd2);border-radius:.75rem;box-shadow:0 20px 40px -8px rgba(0,0,0,.12),0 8px 16px -4px rgba(0,0,0,.06);transform-origin:top center;pointer-events:none;z-index:-1}
[data-theme="dark"] .ns-nav-ul .sub-menu::before{background:#1e2028;border-color:#2c3038;box-shadow:0 20px 40px rgba(0,0,0,.45)}

/* Open via .is-open (set by JS on hover/click) */
.ns-nav-ul>li.is-open>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%)}

/* Items */
.ns-nav-ul .sub-menu li{position:relative;margin:0;padding:.0625rem .375rem}
.ns-nav-ul .sub-menu li:first-child{padding-top:.375rem}
.ns-nav-ul .sub-menu li:last-child{padding-bottom:.375rem}
.ns-nav-ul .sub-menu a{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border-radius:.5rem;color:var(--fg);text-decoration:none;transition:background .15s}
.ns-nav-ul .sub-menu a:hover{background:var(--acl)}

/* Icon */
.ns-mi-icon{width:1.5rem;height:1.5rem;min-width:1.5rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s}
.ns-mi-icon svg{width:.75rem;height:.75rem;display:block}
.ns-nav-ul .sub-menu a:hover .ns-mi-icon{transform:scale(1.08)}
/* Text */
.ns-mi-wrap{flex:1;min-width:0}
.ns-mi-title{display:block;font-size:.8125rem;font-weight:600;color:var(--fg);margin-bottom:.1rem;transition:color .15s;line-height:1.3}
.ns-mi-desc{display:block;font-size:.6875rem;color:var(--mt);line-height:1.4}
.ns-nav-ul .sub-menu a:hover .ns-mi-title{color:var(--ac)}
.ns-nav-ul .sub-menu a:hover .ns-mi-desc{color:var(--ac)}

/* Sub-submenu fly-out */
.ns-nav-ul .sub-menu .sub-menu{top:-.5rem;left:100%;transform:none;padding-top:0;padding-left:.375rem}
.ns-nav-ul .sub-menu .sub-menu::before{top:0;border-radius:.75rem;transform-origin:top left}
.ns-nav-ul .sub-menu li:hover>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none}

/* ---- MEGA MENU ---- */
.ns-nav-ul>.ns-mega{position:static}
.ns-nav-ul>.ns-mega>.sub-menu{left:50%;right:auto;transform:translateX(-50%) scale(.97);min-width:56rem;max-width:var(--mx);padding-top:.5rem;transition:opacity .25s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1),visibility .25s}
.ns-nav-ul>.ns-mega>.sub-menu::before{display:none}
/* Open via .is-open (JS handles hover + click) */
.ns-nav-ul>.ns-mega.is-open>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) scale(1)}
/* Mega grid */
.ns-nav-ul>.ns-mega>.sub-menu{background:var(--bg);border:1px solid var(--bd2);border-radius:1rem;box-shadow:0 20px 40px -8px rgba(0,0,0,.12),0 8px 16px -4px rgba(0,0,0,.06);display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0;overflow:hidden}
[data-theme="dark"] .ns-nav-ul>.ns-mega>.sub-menu{background:#1e2028;border-color:#2c3038;box-shadow:0 20px 40px rgba(0,0,0,.45)}
/* Columns */
.ns-nav-ul>.ns-mega>.sub-menu>li{padding:.75rem;margin:0;border-right:1px solid var(--bd2)}
.ns-nav-ul>.ns-mega>.sub-menu>li:last-child{border-right:none}
/* Column headings */
.ns-nav-ul>.ns-mega>.sub-menu>li>a{display:block;font-size:.625rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--mt);padding:.5rem .75rem .375rem;border-radius:0;background:none;gap:0}
.ns-nav-ul>.ns-mega>.sub-menu>li>a:hover{background:none;color:var(--mt)}
.ns-nav-ul>.ns-mega>.sub-menu>li>a .ns-mi-icon{display:none}
.ns-nav-ul>.ns-mega>.sub-menu>li>a .ns-dd-chev{display:none}
.ns-nav-ul>.ns-mega>.sub-menu>li>a .ns-mi-wrap{display:inline}
.ns-nav-ul>.ns-mega>.sub-menu>li>a .ns-mi-title{display:inline;font-size:.625rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:inherit}
.ns-nav-ul>.ns-mega>.sub-menu>li>a .ns-mi-desc{display:none}
/* Column items */
.ns-nav-ul>.ns-mega>.sub-menu .sub-menu{position:static;opacity:1;visibility:visible;pointer-events:auto;background:none;border:none;box-shadow:none;padding:0;min-width:auto;transform:none;display:flex;flex-direction:column;gap:0;border-radius:0;list-style:none;margin:0}
.ns-nav-ul>.ns-mega>.sub-menu .sub-menu::before{display:none}
.ns-nav-ul>.ns-mega>.sub-menu .sub-menu li{padding:.0625rem 0;margin:0}
.ns-nav-ul>.ns-mega>.sub-menu .sub-menu li:first-child{padding-top:.125rem}
.ns-nav-ul>.ns-mega>.sub-menu .sub-menu a{padding:.375rem .625rem;border-radius:.5rem;gap:.45rem}
.ns-nav-ul>.ns-mega>.sub-menu .sub-menu .ns-mi-icon{width:1.375rem;height:1.375rem;min-width:1.375rem;border-radius:.3rem}
.ns-nav-ul>.ns-mega>.sub-menu .sub-menu .ns-mi-icon svg{width:11px;height:11px}
.ns-nav-ul>.ns-mega>.sub-menu .sub-menu .ns-mi-title{font-size:.8125rem;font-weight:600}
.ns-nav-ul>.ns-mega>.sub-menu .sub-menu .ns-mi-desc{font-size:.6875rem}
}
@media(max-width:900px){.ns-nav-ul>.ns-mega>.sub-menu{min-width:22rem}.ns-nav-ul>.ns-mega>.sub-menu>li{border-right:none;border-bottom:1px solid var(--bd2)}.ns-nav-ul>.ns-mega>.sub-menu>li:last-child{border-bottom:none}}


/* ======== NAVIGATION DRAWER ======== */
.ns-drawer-btn{display:none}
.ns-drawer-enabled .ns-drawer-btn{display:flex}
@media(max-width:768px){.ns-drawer-enabled .ns-drawer-btn{display:none}}
/* Base panel */
.ns-drawer{position:fixed;top:0;right:0;width:400px;max-width:94vw;height:100vh;height:100dvh;background:var(--bg);z-index:1100;transform:translateX(100%);transition:transform .38s cubic-bezier(.32,.72,.32,1),box-shadow .38s ease;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;will-change:transform}
.ns-drawer.open{transform:translateX(0);box-shadow:-16px 0 64px rgba(0,0,0,.18)}
[data-theme="dark"] .ns-drawer{background:#111419}
[data-theme="dark"] .ns-drawer.open{box-shadow:-16px 0 64px rgba(0,0,0,.55)}
/* Overlay */
.ns-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:1099;opacity:0;visibility:hidden;transition:opacity .35s ease}
.ns-drawer-overlay.active{opacity:1;visibility:visible}
/* Header */
.ns-drawer-hd{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:1px solid var(--bd2);position:sticky;top:0;background:inherit;z-index:3;min-height:56px}
.ns-drawer-hd h3{font-size:1.05rem;font-weight:800;margin:0;color:var(--fg);font-family:var(--f);letter-spacing:-.015em}
.ns-drawer-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg2);border:1px solid var(--bd2);cursor:pointer;color:var(--fg2);border-radius:10px;transition:all .2s}
.ns-drawer-close:hover{background:var(--bd2);color:var(--fg);border-color:var(--fg2)}
.ns-drawer-close svg{width:18px;height:18px;display:block}
/* Body */
.ns-drawer-body{padding:1.15rem 1.4rem 2.5rem}
/* Section */
.ns-drawer-sec{margin-bottom:2rem}
.ns-drawer-sec-title{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--mt);margin:0 0 .85rem;display:flex;align-items:center;gap:.6rem}
.ns-drawer-sec-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--bd2),transparent)}
/* Nav links */
.ns-drawer-nav{list-style:none;padding:0;margin:0}
.ns-drawer-nav li{position:relative}
.ns-drawer-nav li+li{margin-top:1px}
.ns-drawer-nav a{display:flex;align-items:center;gap:.7rem;padding:.7rem .6rem;color:var(--fg);text-decoration:none;font-size:.88rem;font-weight:600;border-radius:10px;transition:all .18s;position:relative}
.ns-drawer-nav a:hover{color:var(--ac);background:var(--acl);padding-left:.85rem}
.ns-drawer-nav a::after{content:"\203A";position:absolute;right:.6rem;font-size:1.2rem;font-weight:300;color:var(--mt);opacity:0;transform:translateX(-4px);transition:all .2s}
.ns-drawer-nav a:hover::after{opacity:.7;transform:translateX(0);color:var(--ac)}
/* CTA */
.ns-drawer-cta{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;padding:.8rem;background:linear-gradient(135deg,var(--ac),#065a22);color:#fff;border:none;border-radius:12px;font-size:.88rem;font-weight:700;text-decoration:none;transition:all .25s;font-family:var(--f);cursor:pointer;box-shadow:0 4px 16px rgba(10,110,44,.2);position:relative;overflow:hidden}
.ns-drawer-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent);pointer-events:none}
.ns-drawer-cta:hover{color:#fff;transform:translateY(-2px);box-shadow:0 8px 28px rgba(10,110,44,.28)}
/* Social */
.ns-drawer-social{display:flex;gap:.5rem;flex-wrap:wrap}
.ns-drawer-social a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg2);border:1px solid var(--bd2);border-radius:12px;color:var(--fg2);text-decoration:none;transition:all .2s}
.ns-drawer-social a:hover{border-color:var(--ac);color:var(--ac);background:var(--acl);transform:translateY(-2px);box-shadow:0 6px 16px rgba(10,110,44,.1)}
.ns-drawer-social svg{width:17px;height:17px}

/* ---- Style 1: Default (clean light) — base above ---- */

/* ---- Style 2: Midnight ---- */
.ns-drawer-dark .ns-drawer{background:linear-gradient(180deg,#0c0e14 0%,#12151c 100%);border-left:1px solid rgba(255,255,255,.04)}
.ns-drawer-dark .ns-drawer-hd{background:rgba(12,14,20,.96);border-color:rgba(255,255,255,.06)}
.ns-drawer-dark .ns-drawer-hd h3{color:#f4f4f5}
.ns-drawer-dark .ns-drawer-close{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08);color:#777}
.ns-drawer-dark .ns-drawer-close:hover{background:rgba(255,255,255,.1);color:#ccc;border-color:rgba(255,255,255,.15)}
.ns-drawer-dark .ns-drawer-nav a{color:#d4d4d8}
.ns-drawer-dark .ns-drawer-nav a:hover{color:#4ade80;background:rgba(74,222,128,.06)}
.ns-drawer-dark .ns-drawer-nav a::after{color:#444}
.ns-drawer-dark .ns-drawer-nav a:hover::after{color:#4ade80}
.ns-drawer-dark .ns-drawer-sec-title{color:#555}
.ns-drawer-dark .ns-drawer-sec-title::after{background:linear-gradient(90deg,rgba(255,255,255,.06),transparent)}
.ns-drawer-dark .ns-drawer-social a{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.07);color:#666}
.ns-drawer-dark .ns-drawer-social a:hover{color:#4ade80;border-color:rgba(74,222,128,.25);background:rgba(74,222,128,.06)}
.ns-drawer-dark .ns-drawer-cta{background:linear-gradient(135deg,#4ade80,#22c55e);color:#0c0e14;box-shadow:0 4px 20px rgba(74,222,128,.2)}
.ns-drawer-dark .ns-drawer-cta:hover{box-shadow:0 8px 32px rgba(74,222,128,.28)}

/* ---- Style 3: Branded ---- */
.ns-drawer-branded .ns-drawer{background:linear-gradient(170deg,#0b7a30 0%,#065a22 35%,#043a16 100%)}
.ns-drawer-branded .ns-drawer-hd{background:transparent;border-color:rgba(255,255,255,.08)}
.ns-drawer-branded .ns-drawer-hd h3{color:#fff}
.ns-drawer-branded .ns-drawer-close{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.7)}
.ns-drawer-branded .ns-drawer-close:hover{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.25)}
.ns-drawer-branded .ns-drawer-nav a{color:rgba(255,255,255,.92)}
.ns-drawer-branded .ns-drawer-nav a:hover{color:#fff;background:rgba(255,255,255,.1)}
.ns-drawer-branded .ns-drawer-nav a::after{color:rgba(255,255,255,.25)}
.ns-drawer-branded .ns-drawer-nav a:hover::after{color:#fff}
.ns-drawer-branded .ns-drawer-sec-title{color:rgba(255,255,255,.35)}
.ns-drawer-branded .ns-drawer-sec-title::after{background:linear-gradient(90deg,rgba(255,255,255,.08),transparent)}
.ns-drawer-branded .ns-drawer-cta{background:#fff;color:#0a6e2c;box-shadow:0 4px 20px rgba(0,0,0,.18)}
.ns-drawer-branded .ns-drawer-cta::before{background:none}
.ns-drawer-branded .ns-drawer-cta:hover{background:rgba(255,255,255,.92);box-shadow:0 8px 32px rgba(0,0,0,.22)}
.ns-drawer-branded .ns-drawer-social a{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:rgba(255,255,255,.55)}
.ns-drawer-branded .ns-drawer-social a:hover{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.25)}

/* ---- Style 4: Glass ---- */
.ns-drawer-glass .ns-drawer{background:rgba(255,255,255,.78);backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border-left:1px solid rgba(255,255,255,.5)}
[data-theme="dark"] .ns-drawer-glass .ns-drawer{background:rgba(17,20,25,.78);border-left-color:rgba(255,255,255,.04)}
.ns-drawer-glass .ns-drawer-hd{background:rgba(255,255,255,.45);border-color:rgba(0,0,0,.04)}
[data-theme="dark"] .ns-drawer-glass .ns-drawer-hd{background:rgba(17,20,25,.45);border-color:rgba(255,255,255,.05)}
.ns-drawer-glass .ns-drawer-close{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.06);backdrop-filter:blur(10px)}
[data-theme="dark"] .ns-drawer-glass .ns-drawer-close{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08)}
.ns-drawer-glass .ns-drawer-social a{backdrop-filter:blur(10px);background:rgba(0,0,0,.025)}
[data-theme="dark"] .ns-drawer-glass .ns-drawer-social a{background:rgba(255,255,255,.04)}
.ns-drawer-glass .ns-drawer-cta{backdrop-filter:blur(10px)}

/* ---- Style 5: Compact ---- */
.ns-drawer-compact .ns-drawer{width:320px}
.ns-drawer-compact .ns-drawer-hd{padding:.85rem 1.1rem;min-height:48px}
.ns-drawer-compact .ns-drawer-hd h3{font-size:.9rem}
.ns-drawer-compact .ns-drawer-body{padding:.85rem 1.1rem 1.75rem}
.ns-drawer-compact .ns-drawer-nav a{padding:.55rem .45rem;font-size:.82rem;border-radius:8px}
.ns-drawer-compact .ns-drawer-sec{margin-bottom:1.25rem}
.ns-drawer-compact .ns-drawer-cta{padding:.65rem;font-size:.82rem;border-radius:8px}
.ns-drawer-compact .ns-drawer-social a{width:34px;height:34px;border-radius:8px}
.ns-drawer-compact .ns-drawer-social svg{width:14px;height:14px}

/* ======== ANNOUNCEMENT BAR ======== */
.ns-announce{--ann-bg:#0f172a;--ann-fg:#f1f5f9;--ann-cta-bg:#f59e0b;--ann-cta-fg:#0f172a;background:var(--ann-bg);color:var(--ann-fg);font-size:.78rem;font-weight:600;text-align:center;padding:.5rem 2.5rem .5rem 1rem;position:relative;z-index:1001;line-height:1.45;overflow:hidden}
/* Shimmer — only when class present */
.ns-ann-shimmer::before{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:ns-ann-shimmer 4s ease-in-out infinite}
@keyframes ns-ann-shimmer{0%{left:-100%}50%{left:100%}100%{left:100%}}
.ns-announce-inner{display:inline;position:relative;z-index:1}
/* CTA button */
.ns-announce-cta{display:inline-flex;align-items:center;gap:.2rem;background:var(--ann-cta-bg);border:none;padding:.2rem .8rem;border-radius:2rem;font-size:.72rem;font-weight:800;color:var(--ann-cta-fg);text-decoration:none;white-space:nowrap;margin-left:.5rem;vertical-align:middle;position:relative;z-index:1;transition:filter .15s,box-shadow .15s}
/* Pulse — only when class present */
.ns-ann-pulse .ns-announce-cta{animation:ns-ann-pulse 2s ease-in-out infinite;box-shadow:0 0 0 0 var(--ann-cta-bg)}
@keyframes ns-ann-pulse{0%,100%{box-shadow:0 0 0 0 var(--ann-cta-bg)}50%{box-shadow:0 0 0 6px transparent}}
.ns-announce-cta:hover{filter:brightness(1.1);animation:none;box-shadow:0 2px 12px rgba(0,0,0,.2)}
/* Text link fallback */
.ns-announce-link{color:var(--ann-fg);font-weight:700;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:2px;position:relative;z-index:1;opacity:.85}
.ns-announce-link:hover{opacity:1;text-decoration-color:var(--ann-fg)}
/* Close */
.ns-announce-close{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:none;color:var(--ann-fg);opacity:.45;cursor:pointer;padding:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.85rem;line-height:1;transition:all .15s;z-index:1}
.ns-announce-close:hover{opacity:1;background:rgba(255,255,255,.15)}
.ns-announce-hidden{display:none}

.ns-hdr-act{display:flex;align-items:center;gap:.35rem}
.ns-icon-btn{background:none;border:2px solid rgba(255,255,255,.22);color:var(--hf);cursor:pointer;padding:.28rem;border-radius:50%;width:33px;height:33px;display:flex;align-items:center;justify-content:center;transition:opacity .15s}
.ns-icon-btn:hover{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.08)}
.ns-icon-btn svg{width:16px;height:16px;display:block}
.ns-search-ov{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:10000;display:none;align-items:flex-start;justify-content:center;padding-top:14vh}
.ns-search-ov.active{display:flex}
.ns-search-bx{background:var(--bg);padding:1.4rem;border-radius:var(--r);width:90%;max-width:520px;box-shadow:0 8px 25px rgba(0,0,0,.2)}
.ns-search-bx form{display:flex;gap:.45rem}
.ns-search-bx input[type="search"]{flex:1;padding:.5rem .7rem;border:2px solid var(--bd);border-radius:var(--r);font-size:1rem;background:var(--bg);color:var(--fg);font-family:var(--f)}
.ns-search-bx input:focus{border-color:var(--ac);outline:none}
.ns-search-bx button[type="submit"]{background:var(--ac);color:#fff;border:none;padding:.5rem 1.1rem;border-radius:var(--r);font-size:.875rem;font-weight:600;cursor:pointer}
.ns-search-bx button:hover{background:var(--ac2)}
.ns-bc{font-size:.77rem;color:var(--fg2);padding:.65rem 0;border-bottom:1px solid var(--bd2)}
.ns-bc a{color:var(--lk);font-weight:500}
.ns-bc span,.ns-bc .breadcrumb_last,.ns-bc .breadcrumb_sep,.ns-bc .separator{color:var(--fg2)}
.ns-bc-bar--blend{background:var(--hd);border-bottom:1px solid rgba(255,255,255,.06)}
.ns-bc-bar--blend .ns-bc{color:#ffffff;border:none;padding:.45rem 0}
.ns-bc-bar--blend .ns-bc a{color:#ffffff}
.ns-bc-bar--blend .ns-bc a:hover{color:#ffffff;text-decoration:underline}
.ns-bc-bar--blend .ns-bc span,.ns-bc-bar--blend .ns-bc .breadcrumb_last,.ns-bc-bar--blend .ns-bc .breadcrumb_sep,.ns-bc-bar--blend .ns-bc .separator{color:#ffffff}
.ns-hero{background:linear-gradient(160deg,#0a6e2c 0%,#075a22 40%,#064a1c 70%,#0d3d1a 100%);color:#fff;padding:3.5rem 0 3.25rem;text-align:center;position:relative;overflow:hidden}
.ns-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 80%,rgba(255,255,255,.07) 0%,transparent 55%),radial-gradient(ellipse at 70% 20%,rgba(255,255,255,.05) 0%,transparent 55%);pointer-events:none}
.ns-hero::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:45px;background:var(--bg);clip-path:ellipse(55% 100% at 50% 100%);pointer-events:none}
[data-theme="dark"] .ns-hero{background:linear-gradient(160deg,#0d1117 0%,#111d14 40%,#162a1e 70%,#0d1117 100%)}
[data-theme="dark"] .ns-hero::after{background:var(--bg)}
.ns-hero .ns-w{position:relative;z-index:1}
.ns-hero-badge{display:inline-block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:.22rem .8rem;border-radius:2rem;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.85rem;color:rgba(255,255,255,.85)}
.ns-hero h1{color:#fff;font-size:clamp(1.85rem,5.5vw,2.65rem);margin-bottom:.45rem;letter-spacing:-.02em}
.ns-hero p{color:rgba(255,255,255,.75);font-size:.98rem;max-width:490px;margin:0 auto .5rem;line-height:1.6}
.ns-hero em{font-style:italic;color:#fff}
.ns-hero-actions{display:flex;gap:.6rem;justify-content:center;align-items:center;margin-top:1.1rem;flex-wrap:wrap}
.ns-hero-btn{display:inline-flex;align-items:center;background:#fff;color:#0a6e2c;font-weight:700;padding:.58rem 1.5rem;border-radius:var(--r);text-decoration:none;font-size:.86rem;transition:transform .15s,box-shadow .15s}
.ns-hero-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.2);color:#0a6e2c}
.ns-hero-btn-alt{display:inline-flex;align-items:center;background:transparent;color:#fff;font-weight:600;padding:.52rem 1.3rem;border-radius:var(--r);text-decoration:none;border:2px solid rgba(255,255,255,.28);font-size:.86rem;transition:opacity .15s}
.ns-hero-btn-alt:hover{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.07);color:#fff}
.ns-hero-stats{display:flex;justify-content:center;gap:2.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}
.ns-hero-stat{text-align:center}
.ns-hero-stat strong{display:block;font-size:1.35rem;font-weight:800;color:#fff;line-height:1.2}
.ns-hero-stat span{font-size:.68rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.04em}
.ns-quicknav{background:var(--bg);padding:.9rem 0;border-bottom:1px solid var(--bd2);position:relative;z-index:2}
.ns-qn-row{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.ns-qn-item{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:2rem;border:1px solid var(--bd2);background:var(--cd);text-decoration:none;color:var(--fg);font-size:.78rem;font-weight:600;transition:box-shadow .15s}
.ns-qn-item:hover{border-color:var(--ac);box-shadow:var(--sh1);color:var(--ac)}
.ns-qn-icon{font-size:.95rem;line-height:1}
.ns-qn-label{white-space:nowrap}
.ns-sec{padding:2.5rem 0}
.ns-sec-title{text-align:center;margin-bottom:.25rem}
.ns-sec-sub{text-align:center;color:var(--mt);font-size:.88rem;max-width:540px;margin:0 auto 1.5rem;line-height:1.6}
.ns-sec-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.ns-sec-header .ns-sec-title{text-align:left;margin-bottom:0}
.ns-view-all{font-size:.82rem;font-weight:600;color:var(--ac);text-decoration:none;white-space:nowrap}
.ns-view-all:hover{text-decoration:underline}
.ns-feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}
.ns-fc{background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);padding:1rem;text-decoration:none;color:var(--fg);transition:box-shadow .2s,transform .15s;display:flex;gap:.8rem;align-items:flex-start}
.ns-fc:hover{box-shadow:var(--sh2);transform:translateY(-2px);color:var(--fg)}
.ns-fc-icon{font-size:1.25rem;width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ns-fc-body{flex:1;min-width:0}
.ns-fc h3{font-size:.9rem;margin-bottom:.12rem;font-family:var(--fh);color:var(--fg)}
.ns-fc p{font-size:.78rem;color:var(--mt);margin-bottom:.25rem;line-height:1.45}
.ns-fc-meta{font-size:.72rem;font-weight:600;color:var(--ac)}
.ns-trust{background:var(--bg2);padding:2rem 0;border-top:1px solid var(--bd2);border-bottom:1px solid var(--bd2)}
.ns-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:center}
.ns-trust-icon{display:block;font-size:1.75rem;margin-bottom:.45rem}
.ns-trust-item h3{font-size:.92rem;margin-bottom:.2rem}
.ns-trust-item p{font-size:.8rem;color:var(--mt);line-height:1.5;margin:0;max-width:280px;margin-inline:auto}
.ns-svc{background:var(--bg);padding:2.5rem 0}
.ns-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.ns-sc{background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);padding:.9rem;display:flex;gap:.65rem;align-items:flex-start;transition:box-shadow .15s}
.ns-sc:hover{box-shadow:var(--sh2);border-color:var(--ac)}
.ns-sc-icon{font-size:1.25rem;line-height:1;flex-shrink:0;margin-top:.1rem}
.ns-sc-body{flex:1;min-width:0}
.ns-sc h3{font-size:.83rem;margin-bottom:0;color:var(--fg)}
.ns-sc-sub{font-size:.68rem;color:var(--ac);font-weight:600;display:block;margin-bottom:.2rem}
.ns-sc p{font-size:.75rem;color:var(--mt);line-height:1.45;margin:0}
.ns-svc-cta-wrap{text-align:center;margin-top:1.5rem}
.ns-svc-cta{display:inline-block;background:var(--ac);color:#fff;padding:.55rem 1.5rem;border-radius:var(--r);text-decoration:none;font-weight:600;font-size:.86rem;transition:background .15s}
[data-theme="dark"] .ns-svc-cta{background:#065f46}
.ns-svc-cta:hover{background:var(--ac2);color:#fff}
[data-theme="dark"] .ns-svc-cta:hover{background:#047857;color:#fff}
.ns-main{padding:2rem 0}
.ns-grid{display:grid;grid-template-columns:1fr 290px;gap:1.75rem;align-items:start}
@media(max-width:900px){.ns-grid{grid-template-columns:1fr}}
.ns-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}
.ns-card{background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);overflow:hidden;transition:box-shadow .2s,transform .15s}
.ns-card:hover{box-shadow:var(--sh2);transform:translateY(-2px)}
.ns-card-img{aspect-ratio:16/9;overflow:hidden;background:var(--bg2)}
.ns-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.ns-card:hover .ns-card-img img{transform:scale(1.03)}
.ns-card-body{padding:.8rem 1rem 1rem}
.ns-card-cat{display:inline-block;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ac);margin-bottom:.2rem;text-decoration:none}
.ns-card-cat:hover{text-decoration:underline}
.ns-card-title{font-size:.93rem;line-height:1.35;margin-bottom:.25rem}
.ns-card-title a{color:var(--fg);text-decoration:none}
.ns-card-title a:hover{color:var(--ac)}
.ns-card-meta{font-size:.72rem;color:var(--mt);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.ns-card-exc{font-size:.82rem;color:var(--mt);margin-top:.3rem;line-height:1.5}
.ns-cta-banner{background:linear-gradient(135deg,#0a6e2c 0%,#064a1c 100%);padding:2.5rem 0;margin-top:0}
[data-theme="dark"] .ns-cta-banner{background:linear-gradient(135deg,#162a1e 0%,#0d1117 100%)}
.ns-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.ns-cta-text{flex:1}
.ns-cta-text h2{color:#fff;font-size:clamp(1.15rem,3vw,1.45rem);margin-bottom:.25rem}
.ns-cta-text p{color:rgba(255,255,255,.7);font-size:.88rem;margin:0;line-height:1.5;max-width:480px}
.ns-cta-btn{display:inline-flex;align-items:center;background:#fff;color:#0a6e2c;font-weight:700;padding:.6rem 1.6rem;border-radius:var(--r);text-decoration:none;font-size:.86rem;transition:transform .15s,box-shadow .15s;flex-shrink:0}
.ns-cta-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2);color:#0a6e2c}
.ns-entry-hdr{margin-bottom:1.25rem;padding-bottom:.8rem;border-bottom:1px solid var(--bd2)}
.ns-entry-title{margin-bottom:.4rem}
.ns-entry-meta{font-size:.78rem;color:var(--mt);display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.ns-entry-meta a{color:var(--mt);font-weight:500}
.ns-entry-meta a:hover{color:var(--ac)}
.ns-fi{margin-bottom:1.25rem;border-radius:var(--r);overflow:hidden}
.ns-fi img{width:100%;height:auto;display:block}
.ns-content{font-size:1rem;line-height:1.8;color:var(--fg)}
.ns-content p{margin-bottom:1.15rem}
.ns-content h2{margin-top:1.65rem;margin-bottom:.6rem;padding-top:.35rem}
.ns-content h3{margin-top:1.25rem;margin-bottom:.45rem}
.ns-content a{font-weight:500}
.ns-content img{margin:.85rem 0;border-radius:var(--r)}
.ns-content table{font-size:.88rem}
.ns-content table th{background:var(--ac);color:#fff;border-color:var(--ac2)}
[data-theme="dark"] .ns-content table th{background:var(--acl);color:var(--fg)}
.ns-content .ns-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1.5rem}
.ns-content .ns-table-wrap table{margin-bottom:0}
.ns-entry-tags{margin-top:1.65rem;padding-top:.8rem;border-top:1px solid var(--bd2);display:flex;flex-wrap:wrap;gap:.3rem}
.ns-tag{display:inline-block;background:var(--bg2);color:var(--mt);padding:.15rem .5rem;border-radius:3px;font-size:.74rem;text-decoration:none;border:1px solid var(--bd2);transition:opacity .15s}
.ns-tag:hover{background:var(--ac);color:#fff;border-color:var(--ac)}
.ns-author-box{background:var(--bg2);border:1px solid var(--bd2);border-radius:var(--r);padding:1.1rem;margin-top:1.65rem;display:flex;gap:.8rem;align-items:flex-start}
.ns-author-box img{width:52px;height:52px;border-radius:50%;flex-shrink:0}
.ns-author-nm{font-weight:700;font-size:.9rem;margin-bottom:.15rem}
.ns-author-nm a{color:var(--fg);text-decoration:none}
.ns-author-bio{font-size:.83rem;color:var(--mt);line-height:1.5}
.ns-sidebar{position:sticky;top:60px}
.ns-widget{background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);padding:1rem;margin-bottom:1.1rem}
.ns-widget-title{font-size:.9rem;font-weight:700;margin-bottom:.6rem;padding-bottom:.35rem;border-bottom:2px solid var(--ac);font-family:var(--fh)}
.ns-widget ul{list-style:none;padding:0}
.ns-widget li{padding:.28rem 0;border-bottom:1px solid var(--bd2);font-size:.86rem}
.ns-widget li:last-child{border-bottom:none}
.ns-widget li a{text-decoration:none;color:var(--fg)}
.ns-widget li a:hover{color:var(--ac)}
.ns-load-more{text-align:center;margin-top:1.65rem;padding-top:1.15rem}
.ns-load-more-btn{display:inline-flex;align-items:center;gap:.4rem;background:#085521;color:#fff;border:none;padding:.6rem 1.8rem;border-radius:var(--r);font-size:.88rem;font-weight:600;cursor:pointer;font-family:var(--f);transition:opacity .15s}
[data-theme="dark"] .ns-load-more-btn{background:#065f46;color:#fff}
.ns-load-more-btn span{color:#fff}
.ns-load-more-btn:hover{opacity:.9}
.ns-load-more-btn:disabled{opacity:.5;cursor:not-allowed}
.ns-load-more-btn svg{width:16px;height:16px}
.ns-load-more-btn.loading svg{animation:ns-spin .8s linear infinite}
@keyframes ns-spin{to{transform:rotate(360deg)}}
.ns-load-more-end{font-size:.82rem;color:var(--mt);margin-top:.5rem}
.ns-ftr{background:var(--ft);color:var(--ftf);margin-top:0}
.ns-ftr-top{padding:2rem 0 1.5rem}
.ns-ftr-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}
.ns-ftr-brand{display:flex;flex-direction:column;gap:.35rem}
.ns-ftr-logo{display:flex;align-items:center;gap:.4rem;text-decoration:none;color:#fff;font-size:1rem;margin-bottom:.15rem}
.ns-ftr-logo img{max-height:28px;width:auto;height:auto;border-radius:4px}
.ns-ftr-logo strong{font-family:var(--fh);font-size:1rem}
.ns-ftr-brand>p{font-size:.85rem;color:#b0b3b8;line-height:1.55;margin:0}
/* Social links */
.ns-ftr-social{display:flex;gap:.5rem;margin-top:.5rem}
.ns-ftr-si{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);color:#b0b3b8;transition:all .2s;text-decoration:none}
.ns-ftr-si:hover{background:rgba(255,255,255,.15);color:#fff;transform:translateY(-2px)}
.ns-ftr-col h3{font-size:.88rem;color:#e0e0e0;margin-bottom:.6rem;font-family:var(--f);text-transform:uppercase;letter-spacing:.08em;font-weight:800}
[data-theme="dark"] .ns-ftr-col h3{color:#ddd}
.ns-ftr-chev{display:none}
/* Plus icon for mobile accordion */
.ns-ftr-plus{display:none;margin-left:auto;font-size:1.3rem;font-weight:300;color:rgba(255,255,255,.35);transition:transform .25s,color .25s;line-height:1}
.ns-ftr-panel{max-height:none;overflow:visible}
.ns-ftr-col ul{list-style:none;padding:0;margin:0}
.ns-ftr-col li{margin-bottom:.25rem}
.ns-ftr-col a{color:#c8cad0;text-decoration:none;font-size:.88rem;font-weight:500;display:block;padding:.1rem 0}
.ns-ftr-col a:hover{color:#fff}
.ns-disclaimer{border-top:1px solid rgba(255,255,255,.06);padding:.85rem 0;font-size:.73rem;color:#b0b3b8;line-height:1.6;text-align:center}
.ns-disclaimer p{margin:0}
.ns-disclaimer strong{color:#e5e5e5;font-weight:700}
.ns-disclaimer a{color:#4ade80;font-weight:600;text-decoration:none}
.ns-disclaimer a:hover{text-decoration:underline}
.ns-disclaimer-pill{display:inline-block;padding:3px 10px;background:#dc2626;color:#fff;border-radius:20px;font-size:.6rem;font-weight:800;letter-spacing:.05em;vertical-align:middle;margin-right:4px;text-transform:uppercase}
.ns-ftr-app-section{border-top:1px solid rgba(255,255,255,.06);padding:1rem 0}
.ns-ftr-app-inner{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}
.ns-ftr-app-text{flex:1}
.ns-ftr-app-text strong{color:#fff;font-size:.85rem;display:block;margin-bottom:.1rem}
.ns-ftr-app-text p{font-size:.76rem;color:#b0b3b8;margin:0}
.ns-app-btns{display:flex;gap:.4rem;flex-shrink:0}
.ns-app-btn{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:.35rem .65rem;text-decoration:none;color:#fff;transition:background .15s}
.ns-app-btn:hover{background:rgba(255,255,255,.12);color:#fff}
.ns-app-btn svg{flex-shrink:0;opacity:.8}
.ns-app-btn span{display:flex;flex-direction:column;line-height:1.15;font-size:.76rem;font-weight:600}
.ns-app-btn small{font-size:.55rem;opacity:.55;text-transform:uppercase;letter-spacing:.03em;font-weight:400}
.ns-ftr-btm{border-top:1px solid rgba(255,255,255,.06);padding:.6rem 0;text-align:center;font-size:.72rem;color:#999}



.ns-post-grid{display:grid;grid-template-columns:1fr 290px;gap:1.5rem;align-items:start}
@media(max-width:900px){.ns-post-grid{grid-template-columns:1fr}.ns-post-sidebar{position:static}.ns-post-grid .ns-sidebar{position:static}}
@media(max-width:900px){.ns-hide-mobile-sb .ns-post-sidebar,.ns-hide-mobile-sb .ns-sidebar{display:none}}
.ns-post-col{min-width:0}
.ns-post-card{background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);padding:1.5rem 1.65rem 1.25rem;margin-bottom:1.25rem}
.ns-post-sidebar{position:sticky;top:60px}
.ns-cat-label{display:inline-block;background:var(--acl);color:var(--ac);padding:.15rem .55rem;border-radius:2rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;margin-bottom:.45rem}
.ns-cat-label:hover{background:var(--ac);color:#fff}
.ns-av{width:28px;height:28px;min-width:28px;min-height:28px;border-radius:50%;flex-shrink:0;aspect-ratio:1}
.ns-meta-name{color:var(--fg);font-weight:600;text-decoration:none;font-size:.82rem}
.ns-meta-name:hover{color:var(--ac)}
.ns-meta-sep{color:var(--bd)}
.ns-share{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:1.25rem;padding:24px 28px;border:1px solid var(--bd2);border-radius:var(--r);background:var(--cd);text-align:center}
.ns-share__header{font-size:.88rem;font-weight:600;color:var(--fg)}
.ns-share__buttons{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.ns-share__btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r);font-size:.8rem;font-weight:600;text-decoration:none;color:#fff;border:none;cursor:pointer;font-family:var(--f);transition:opacity .15s,transform .15s}
.ns-share__btn:hover{opacity:.88;transform:translateY(-1px);color:#fff}
.ns-share__icon{width:18px;height:18px;fill:currentColor;flex-shrink:0}
.ns-share__name{white-space:nowrap}
.ns-share__btn--whatsapp{background:#075E54}
.ns-share__btn--x{background:#000}
[data-theme="dark"] .ns-share__btn--x{background:#333}
.ns-share__btn--facebook{background:#0B5EB5}
.ns-share__btn--copy{background:var(--bg2);color:var(--fg);border:1px solid var(--bd2)}
.ns-share__btn--copy:hover{color:var(--fg)}
.ns-share__btn--copy.copied{background:var(--ac);color:#fff;border-color:var(--ac)}
.ns-community-box{margin-bottom:1.25rem}
.ns-cb-decoration{height:4px;background:linear-gradient(90deg,var(--ac) 0%,#4ade80 50%,var(--ac) 100%);border-radius:var(--r) var(--r) 0 0}
.ns-cb-content{background:var(--cd);border:1px solid var(--bd2);border-top:none;border-radius:0 0 var(--r) var(--r);padding:1.35rem 1.5rem;text-align:center}
.ns-cb-emoji{font-size:2rem;display:block;margin-bottom:.35rem}
.ns-cb-content strong{font-size:.95rem;display:block;margin-bottom:.2rem;color:var(--fg)}
.ns-cb-content p{font-size:.82rem;color:var(--mt);max-width:420px;margin:0 auto .85rem;line-height:1.5}
.ns-cb-btns{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap}
.ns-cb-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 1rem;border-radius:var(--r);font-size:.8rem;font-weight:600;text-decoration:none;color:#fff;transition:opacity .15s}
.ns-cb-btn:hover{opacity:.88;color:#fff}
.ns-cb-tg{background:#006494}
.ns-cb-wa{background:#075E54}
.ns-cmt-open{width:100%;display:flex;align-items:center;justify-content:center;gap:.7rem;padding:1.75rem 1.5rem;background:var(--cd);border:2px dashed var(--bd2);border-radius:var(--r);cursor:pointer;font-family:var(--f);font-size:1.05rem;font-weight:700;color:var(--ac);transition:all .2s;margin-bottom:1.25rem}
.ns-cmt-open:hover{border-color:var(--ac);background:var(--acl)}
.ns-cmt-open svg{flex-shrink:0}
.ns-cmt-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:100000;display:none;padding:0;opacity:0;transition:opacity .3s}
.ns-cmt-overlay.active{display:block;opacity:1}
/* Blur page behind comments */
.ns-cmt-blur>.ns-hdr,.ns-cmt-blur>.ns-main,.ns-cmt-blur>.ns-ftr,.ns-cmt-blur>.ns-bc-bar,.ns-cmt-blur>.ns-backdrop,.ns-cmt-blur>.ns-lb,.ns-cmt-blur>.ns-btt,.ns-cmt-blur>.ns-search-ov{filter:blur(6px);pointer-events:none;transition:filter .3s}
.ns-cmt-blur .ns-cmt-overlay{filter:none;pointer-events:auto}
.ns-cmt-modal{background:var(--bg);width:100%;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden}
.ns-cmt-modal-hdr{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.5rem;padding-top:max(1.15rem,env(safe-area-inset-top,1.15rem));border-bottom:1px solid var(--bd2);flex-shrink:0;background:var(--bg2)}
.ns-cmt-modal-hdr h3{font-size:1.1rem;margin:0;font-weight:800}
.ns-cmt-close{background:none;border:1px solid var(--bd2);font-size:.85rem;cursor:pointer;color:var(--mt);padding:.5rem 1rem;line-height:1;border-radius:var(--r);transition:all .15s;display:inline-flex;align-items:center;gap:.35rem;font-family:var(--f);font-weight:600;min-height:38px}
.ns-cmt-close:hover{color:var(--fg);background:var(--bg2);border-color:var(--bd)}
.ns-cmt-modal-body{overflow-y:auto;padding:1.5rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom,1.5rem));flex:1;min-height:0}
/* Comment list */
.ns-cmt-modal-body .ns-comment-list{list-style:none;padding:0;margin:0}
.ns-cmt-modal-body .comment{padding:1rem;margin-bottom:.75rem;background:var(--bg2);border-radius:var(--r);border:1px solid var(--bd2)}
.ns-cmt-modal-body .comment:last-child{margin-bottom:0}
/* Nested replies */
.ns-cmt-modal-body .children{list-style:none;padding:.6rem 0 0 1rem;margin:0;border-left:3px solid var(--ac);margin-top:.65rem}
.ns-cmt-modal-body .children .comment{background:var(--bg);border-color:var(--bd2);margin-bottom:.5rem}
.ns-cmt-modal-body .children .children{border-color:var(--bd)}
/* Author header */
.ns-cmt-modal-body .comment-author{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.88rem;margin-bottom:.1rem}
.ns-cmt-modal-body .comment-author img{width:34px;height:34px;border-radius:50%;border:2px solid var(--bd2)}
.ns-cmt-modal-body .comment-author .fn{color:var(--fg)}
.ns-cmt-modal-body .comment-author .says{display:none}
/* Metadata */
.ns-cmt-modal-body .comment-metadata{font-size:.7rem;color:var(--mt);margin-bottom:.35rem;padding-left:calc(34px + .5rem)}
.ns-cmt-modal-body .comment-metadata a{color:var(--mt);text-decoration:none}
.ns-cmt-modal-body .comment-metadata a:hover{color:var(--ac)}
/* Content */
.ns-cmt-modal-body .comment-content{font-size:.88rem;line-height:1.65;color:var(--fg2);padding-left:calc(34px + .5rem)}
.ns-cmt-modal-body .comment-content p{margin:0 0 .4rem}
.ns-cmt-modal-body .comment-content p:last-child{margin:0}
/* Reply link */
.ns-cmt-modal-body .reply{padding-left:calc(34px + .5rem);margin-top:.35rem}
.ns-cmt-modal-body .reply a,.ns-cmt-modal-body .comment-reply-link{font-size:.75rem;font-weight:700;color:var(--ac);text-decoration:none;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .5rem;border:1px solid var(--ac);border-radius:4px;transition:all .15s}
.ns-cmt-modal-body .reply a:hover,.ns-cmt-modal-body .comment-reply-link:hover{background:var(--ac);color:#fff}
/* No comments state */
.ns-cmt-modal-body .no-comments,.ns-cmt-modal-body .ns-cmt-empty{text-align:center;padding:2rem 1rem;color:var(--mt);font-size:.9rem}
/* Comment form */
.ns-cmt-modal-body .comment-respond{margin-top:1.25rem;padding-top:1.25rem;border-top:2px solid var(--bd2);padding-bottom:max(.5rem,env(safe-area-inset-bottom,.5rem))}
.ns-cmt-modal-body .comment-respond .comment-reply-title{font-size:1rem;font-weight:700;margin-bottom:.75rem}
.ns-cmt-modal-body .comment-respond .comment-reply-title small{font-size:.75rem;font-weight:400;margin-left:.5rem}
.ns-cmt-modal-body .comment-respond .comment-reply-title small a{color:var(--ac);text-decoration:none}
.ns-cmt-modal-body .comment-respond label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.2rem;color:var(--fg)}
.ns-cmt-modal-body .comment-respond .comment-form-cookies-consent{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--mt);margin-bottom:.65rem}
.ns-cmt-modal-body .comment-respond input[type="text"],.ns-cmt-modal-body .comment-respond input[type="email"],.ns-cmt-modal-body .comment-respond input[type="url"],.ns-cmt-modal-body .comment-respond textarea{width:100%;padding:.55rem .75rem;border:2px solid var(--bd2);border-radius:var(--r);font-family:var(--f);font-size:.88rem;margin-bottom:.65rem;background:var(--bg);color:var(--fg);transition:border-color .15s}
.ns-cmt-modal-body .comment-respond input:focus,.ns-cmt-modal-body .comment-respond textarea:focus{border-color:var(--ac);outline:none}
.ns-cmt-modal-body .comment-respond textarea{min-height:100px;resize:vertical}
.ns-cmt-modal-body .comment-respond input[type="submit"]{background:var(--ac);color:#fff;border:none;padding:.65rem 1.5rem;border-radius:var(--r);font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s;width:100%;margin-bottom:1rem}
.ns-cmt-modal-body .comment-respond input[type="submit"]:hover{background:var(--ac2)}
/* Loading state */
.ns-cmt-loading{text-align:center;padding:2.5rem 1rem;color:var(--mt);font-size:.9rem}
/* === Comment Style 1: Center Modal (default) === */
.ns-cmt-center .ns-cmt-overlay{display:none;align-items:center;justify-content:center;padding:1.5rem}
.ns-cmt-center .ns-cmt-overlay.active{display:flex}
.ns-cmt-center .ns-cmt-modal{max-width:620px;max-height:85vh;border-radius:12px;transform:scale(.95) translateY(10px);transition:transform .3s cubic-bezier(.4,0,.2,1)}
.ns-cmt-center .ns-cmt-overlay.active .ns-cmt-modal{transform:scale(1) translateY(0)}
/* === Comment Style 2: Slide from Right === */
.ns-cmt-right .ns-cmt-overlay{display:block;pointer-events:none;opacity:0}
.ns-cmt-right .ns-cmt-overlay.active{pointer-events:auto;opacity:1}
.ns-cmt-right .ns-cmt-modal{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:90vw;max-height:100vh;height:100vh;border-radius:0;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:100001}
.ns-cmt-right .ns-cmt-overlay.active .ns-cmt-modal{transform:translateX(0)}
/* === Comment Style 3: Bottom Sheet === */
.ns-cmt-bottom .ns-cmt-overlay{display:block;pointer-events:none;opacity:0}
.ns-cmt-bottom .ns-cmt-overlay.active{pointer-events:auto;opacity:1}
.ns-cmt-bottom .ns-cmt-modal{position:fixed;left:0;right:0;bottom:0;max-height:80vh;border-radius:16px 16px 0 0;transform:translateY(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:100001}
.ns-cmt-bottom .ns-cmt-overlay.active .ns-cmt-modal{transform:translateY(0)}
.ns-cmt-bottom .ns-cmt-modal-hdr::before{content:"";display:block;width:36px;height:4px;background:var(--bd);border-radius:2px;margin:0 auto .65rem;flex-basis:100%}
.ns-cmt-bottom .ns-cmt-modal-hdr{flex-wrap:wrap}
/* === Comment Style 4: Full Screen === */
.ns-cmt-full .ns-cmt-overlay{display:block;pointer-events:none;opacity:0;background:none}
.ns-cmt-full .ns-cmt-overlay.active{pointer-events:auto;opacity:1}
.ns-cmt-full .ns-cmt-modal{position:fixed;inset:0;max-width:100%;max-height:100vh;height:100vh;border-radius:0;transform:translateY(20px);opacity:0;transition:transform .3s,opacity .3s;z-index:100001}
.ns-cmt-full .ns-cmt-overlay.active .ns-cmt-modal{transform:translateY(0);opacity:1}
.ns-cmt-full .ns-cmt-modal-hdr{padding:1rem 1.5rem}
.ns-cmt-full .ns-cmt-modal-body{padding:1.5rem;max-width:700px;margin:0 auto;width:100%}
/* === Comment Style 5: Inline Expand === */
.ns-cmt-inline .ns-cmt-overlay{position:static;display:none;background:none;padding:0;opacity:1;z-index:auto;margin-bottom:1.25rem}
.ns-cmt-inline .ns-cmt-overlay.active{display:block}
.ns-cmt-inline .ns-cmt-modal{max-width:100%;max-height:none;border-radius:var(--r);border:1px solid var(--bd2);box-shadow:none;animation:ns-expand .3s ease}
.ns-cmt-inline .ns-cmt-modal-body{max-height:500px;overflow-y:auto}
@keyframes ns-expand{from{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}
/* === Comment Style 6: Slide from Left === */
.ns-cmt-left .ns-cmt-overlay{display:block;pointer-events:none;opacity:0}
.ns-cmt-left .ns-cmt-overlay.active{pointer-events:auto;opacity:1}
.ns-cmt-left .ns-cmt-modal{position:fixed;top:0;left:0;bottom:0;width:420px;max-width:90vw;max-height:100vh;height:100vh;border-radius:0;transform:translateX(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:100001;border-right:1px solid var(--bd2)}
.ns-cmt-left .ns-cmt-overlay.active .ns-cmt-modal{transform:translateX(0)}
/* === Comment Style 7: Top Drop === */
.ns-cmt-top .ns-cmt-overlay{display:block;pointer-events:none;opacity:0}
.ns-cmt-top .ns-cmt-overlay.active{pointer-events:auto;opacity:1}
.ns-cmt-top .ns-cmt-modal{position:fixed;top:0;left:0;right:0;max-height:75vh;border-radius:0 0 16px 16px;transform:translateY(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:100001;box-shadow:0 12px 40px rgba(0,0,0,.2)}
.ns-cmt-top .ns-cmt-overlay.active .ns-cmt-modal{transform:translateY(0)}
/* === Comment Style 8: Floating Card === */
.ns-cmt-float .ns-cmt-overlay{display:block;pointer-events:none;opacity:0;background:rgba(0,0,0,.3)}
.ns-cmt-float .ns-cmt-overlay.active{pointer-events:auto;opacity:1}
.ns-cmt-float .ns-cmt-modal{position:fixed;bottom:1.5rem;right:1.5rem;width:400px;max-width:calc(100vw - 2rem);max-height:70vh;border-radius:16px;transform:translateY(20px) scale(.95);opacity:0;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;z-index:100001;box-shadow:0 16px 48px rgba(0,0,0,.2),0 0 0 1px var(--bd2)}
.ns-cmt-float .ns-cmt-overlay.active .ns-cmt-modal{transform:translateY(0) scale(1);opacity:1}
@media(max-width:480px){.ns-cmt-float .ns-cmt-modal{bottom:0;right:0;width:100%;max-width:100%;border-radius:16px 16px 0 0}}
/* === Comment Style 9: Wide Cinema === */
.ns-cmt-wide .ns-cmt-overlay{display:none;align-items:center;justify-content:center;padding:2rem}
.ns-cmt-wide .ns-cmt-overlay.active{display:flex}
.ns-cmt-wide .ns-cmt-modal{max-width:900px;max-height:80vh;border-radius:16px;transform:scale(.92);opacity:0;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .25s}
.ns-cmt-wide .ns-cmt-overlay.active .ns-cmt-modal{transform:scale(1);opacity:1}
.ns-cmt-wide .ns-cmt-modal-body{padding:2rem;columns:2;column-gap:2rem}
.ns-cmt-wide .ns-cmt-modal-body .comment{break-inside:avoid}
.ns-cmt-wide .ns-cmt-modal-body .comment-respond{column-span:all}
@media(max-width:700px){.ns-cmt-wide .ns-cmt-modal{max-width:100%;border-radius:0;max-height:100vh}.ns-cmt-wide .ns-cmt-modal-body{columns:1;padding:1.25rem}.ns-cmt-wide .ns-cmt-overlay{padding:0}}
/* === Comment Style 10: Split Screen === */
.ns-cmt-split .ns-cmt-overlay{display:block;pointer-events:none;opacity:0;background:none}
.ns-cmt-split .ns-cmt-overlay.active{pointer-events:auto;opacity:1}
.ns-cmt-split .ns-cmt-modal{position:fixed;top:0;right:0;bottom:0;width:50vw;max-width:50vw;max-height:100vh;height:100vh;border-radius:0;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:100001;border-left:3px solid var(--ac);box-shadow:-8px 0 40px rgba(0,0,0,.15)}
.ns-cmt-split .ns-cmt-overlay.active .ns-cmt-modal{transform:translateX(0)}
.ns-cmt-split .ns-cmt-modal-hdr{padding:1.15rem 1.5rem;background:linear-gradient(135deg,var(--ac),var(--ac2));border-bottom:none}
.ns-cmt-split .ns-cmt-modal-hdr h3{color:#fff}
.ns-cmt-split .ns-cmt-close{border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.8)}
.ns-cmt-split .ns-cmt-close:hover{background:rgba(255,255,255,.15);color:#fff}
@media(max-width:768px){.ns-cmt-split .ns-cmt-modal{width:100%;max-width:100%}}
.ns-cmt-modal-body .comment-notes{font-size:.8rem;color:var(--mt);margin-bottom:.65rem}
.ns-cmt-loading{text-align:center;padding:2rem 0;color:var(--mt);font-size:.88rem}
.ns-cmt-title{font-size:1rem;margin-bottom:.85rem}
.ns-toc{background:var(--bg2);border:1px solid var(--bd2);border-radius:var(--r);padding:.8rem 1rem;margin-bottom:1.25rem}
.ns-toc-hd{font-weight:700;font-size:.88rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none}
.ns-toc-hd span{font-size:.7rem;transition:transform .2s;display:inline-block}
.ns-toc.open .ns-toc-hd span{transform:rotate(180deg)}
.ns-toc-list{list-style:decimal;padding-left:1.1rem;font-size:.83rem;margin-top:.4rem;display:none}
.ns-toc.open .ns-toc-list{display:block}
.ns-toc-list li{margin-bottom:.18rem}
.ns-toc-list a{text-decoration:none;color:var(--mt)}
.ns-toc-list a:hover{color:var(--ac)}
.ns-toc-list .ns-toc-h3{margin-left:.9rem}
.ns-lb-trigger{position:relative;cursor:zoom-in;display:inline-block}
.ns-lb-trigger::after{content:"";position:absolute;top:7px;right:7px;width:25px;height:25px;background:rgba(0,0,0,.5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 1a.5.5 0 0 0-.5.5v4a.5.5 0 0 1-1 0v-4A1.5 1.5 0 0 1 1.5 0h4a.5.5 0 0 1 0 1h-4zM10 .5a.5.5 0 0 1 .5-.5h4A1.5 1.5 0 0 1 16 1.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5zM.5 10a.5.5 0 0 1 .5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 0 14.5v-4a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v4a1.5 1.5 0 0 1-1.5 1.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E") no-repeat center;border-radius:4px;opacity:0;transition:opacity .2s;pointer-events:none}
.ns-lb-trigger:hover::after{opacity:1}
.ns-lb{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:100000;display:none;align-items:center;justify-content:center;cursor:zoom-out}
.ns-lb.active{display:flex}
.ns-lb img{max-width:92vw;max-height:90vh;border-radius:var(--r);box-shadow:0 8px 35px rgba(0,0,0,.4)}
.ns-lb-x{position:absolute;top:.9rem;right:1.1rem;background:rgba(255,255,255,.1);border:none;color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.15rem;display:flex;align-items:center;justify-content:center;transition:background .15s}
.ns-lb-x:hover{background:rgba(255,255,255,.22)}
.ns-rel{margin-top:1.5rem;padding-top:1.15rem;border-top:1px solid var(--bd2)}
.ns-rel h2{margin-bottom:.8rem;font-size:1.1rem}
.ns-rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.8rem}
.ns-cat-hero{position:relative;overflow:hidden;text-align:center}
.ns-cat-hero-bg{position:absolute;inset:0;background:linear-gradient(145deg,var(--cg1) 0%,var(--cg2) 100%);z-index:0}
.ns-cat-hero-bg::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.035'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E")}
[data-theme="dark"] .ns-cat-hero-bg{background:linear-gradient(145deg,var(--cdg1) 0%,var(--cdg2) 100%)}
.ns-cat-hero-glow{position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);z-index:0;pointer-events:none}
[data-theme="dark"] .ns-cat-hero-glow{background:radial-gradient(circle,rgba(255,255,255,.03) 0%,transparent 60%)}
.ns-cat-hero-inner{position:relative;z-index:1;padding:1.5rem 0 1.75rem;color:#fff}
.ns-cat-bc{font-size:.72rem;margin-bottom:.85rem;opacity:.55}
.ns-cat-bc,.ns-cat-bc a{color:#fff !important}
.ns-cat-bc a{text-decoration:none;font-weight:500}
.ns-cat-bc a:hover{opacity:.8}
.ns-cat-icon-ring{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.15);border-radius:50%;margin:0 auto .65rem;backdrop-filter:blur(8px);box-shadow:0 4px 24px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.1)}
.ns-cat-icon{font-size:1.7rem;line-height:1}
.ns-cat-hero h1{color:#fff;font-size:clamp(1.65rem,4.5vw,2.2rem);margin-bottom:.2rem;font-weight:800;letter-spacing:-.02em;text-shadow:0 2px 12px rgba(0,0,0,.2)}
.ns-cat-desc{font-size:.9rem;color:rgba(255,255,255,.72);max-width:500px;margin:0 auto .55rem;line-height:1.55}
.ns-cat-meta{display:flex;justify-content:center;gap:.45rem;margin-bottom:.65rem;flex-wrap:wrap}
.ns-cat-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .65rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:2rem;font-size:.72rem;color:rgba(255,255,255,.8)}
.ns-cat-pill svg{opacity:.6}
.ns-cat-pill strong{color:#fff;font-weight:800}
.ns-cat-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;margin-top:.25rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.08)}
.ns-cat-tab{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .7rem;border-radius:2rem;font-size:.72rem;font-weight:600;text-decoration:none;transition:background .15s,transform .1s}
.ns-cat-tab--active{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.25);cursor:default}
a.ns-cat-tab{color:rgba(255,255,255,.6);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
a.ns-cat-tab:hover{background:rgba(255,255,255,.15);color:#fff;transform:translateY(-1px)}
a.ns-cat-tab small{font-size:.6rem;opacity:.5;margin-left:.1rem}
@media(max-width:768px){.ns-cat-hero-inner{padding:1.25rem 0 1.35rem}.ns-cat-icon-ring{width:52px;height:52px}.ns-cat-icon{font-size:1.35rem}.ns-cat-tabs{gap:.25rem}.ns-cat-tab{padding:.2rem .55rem;font-size:.68rem}}
.ns-empty{text-align:center;padding:2rem 0;color:var(--mt)}
.search-form{display:flex;gap:.4rem}
.search-form input[type="search"]{flex:1;padding:.45rem .65rem;border:2px solid var(--bd);border-radius:var(--r);font-family:var(--f);font-size:.88rem;background:var(--bg);color:var(--fg)}
.search-form input[type="search"]:focus{border-color:var(--ac);outline:none}
.alignleft{float:left;margin:.25rem 1.25rem .75rem 0;max-width:50%}
.alignright{float:right;margin:.25rem 0 .75rem 1.25rem;max-width:50%}
.aligncenter{display:block;margin-left:auto;margin-right:auto;clear:both}
.alignwide{margin-left:-1rem;margin-right:-1rem;max-width:calc(100% + 2rem)}
.alignfull{margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);max-width:100vw;width:100vw}
.has-text-align-center{text-align:center}
.has-text-align-right{text-align:right}
.has-text-align-left{text-align:left}
figcaption,.wp-caption-text,.wp-element-caption{font-size:.76rem;color:var(--fg);text-align:center;margin-top:.35rem;padding:.25rem .5rem;background:var(--cd);border-radius:0 0 var(--r) var(--r)}
.wp-block-image{margin-bottom:1.25rem}
.wp-block-image img{border-radius:var(--r)}
.wp-block-image figcaption{margin-top:.3rem;color:var(--fg)}
.ns-content figcaption,.ns-content .wp-element-caption{color:var(--fg)}
.wp-block-image.alignleft,.wp-block-image.alignright{margin-top:.25rem}
.wp-block-gallery{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;list-style:none;padding:0}
.wp-block-gallery .wp-block-image{margin:0;flex-grow:1;min-width:120px}
.wp-block-gallery .wp-block-image img{width:100%;height:100%;object-fit:cover;border-radius:var(--r)}
.wp-block-gallery.has-nested-images.columns-2 .wp-block-image{width:calc(50% - .25rem)}
.wp-block-gallery.has-nested-images.columns-3 .wp-block-image{width:calc(33.33% - .34rem)}
.wp-block-separator{border:0;height:1px;background:var(--bd2);margin:1.75rem 0}
.wp-block-separator.is-style-wide{margin-left:0;margin-right:0}
.wp-block-separator.is-style-dots{background:none;border:none;text-align:center;height:auto;line-height:1;margin:1.75rem 0}
.wp-block-separator.is-style-dots::before{content:"···";color:var(--mt);font-size:1.5em;letter-spacing:2em;padding-left:2em}
.wp-block-columns{display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:1.25rem}
.wp-block-column{flex-grow:1;flex-basis:0;min-width:0}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
.wp-block-button__link{display:inline-block;padding:.6rem 1.25rem;border-radius:var(--r);font-size:.88rem;font-weight:600;text-decoration:none;background:var(--ac);color:#fff;border:none;cursor:pointer}
.wp-block-button__link:hover{opacity:.9;color:#fff}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border:2px solid var(--ac);color:var(--ac)}
.wp-block-cover{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px;padding:2rem;margin-bottom:1.25rem;background-size:cover;background-position:center;border-radius:var(--r);overflow:hidden}
.wp-block-cover__inner-container{position:relative;z-index:1;color:#fff;max-width:var(--mx);width:100%}
.wp-block-group{margin-bottom:1.25rem}
.wp-block-group.has-background{padding:1.25rem;border-radius:var(--r)}
.wp-block-pullquote{border-top:4px solid var(--ac);border-bottom:4px solid var(--ac);padding:1.5rem 0;margin:1.5rem 0;text-align:center}
.wp-block-pullquote blockquote{border:none;padding:0;margin:0;font-size:1.15rem}
.wp-block-pullquote cite{font-size:.82rem;color:var(--mt);font-style:normal}
.wp-block-verse{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:.88rem;white-space:pre-wrap;margin-bottom:1.25rem}
.wp-block-code{margin-bottom:1.25rem}
.wp-block-code code{display:block;padding:1rem;background:var(--co);border-radius:var(--r);overflow-x:auto;font-size:.85rem}
.wp-block-preformatted{font-family:"SFMono-Regular",Consolas,monospace;font-size:.85rem;white-space:pre-wrap;background:var(--co);padding:1rem;border-radius:var(--r);margin-bottom:1.25rem;overflow-x:auto}
.wp-block-embed{margin-bottom:1.25rem}
.wp-block-embed__wrapper{position:relative}
.wp-block-embed iframe{max-width:100%;border-radius:var(--r)}
.wp-block-video{margin-bottom:1.25rem}
.wp-block-video video{max-width:100%;border-radius:var(--r)}
.wp-block-audio{margin-bottom:1.25rem}
.wp-block-audio audio{width:100%}
.wp-block-details{margin-bottom:1rem}
.wp-block-details summary{cursor:pointer;font-weight:600;padding:.3rem 0}
.wp-block-spacer{display:block}
.sticky .ns-card{border-left:3px solid var(--ac)}
.page-links{margin:1.25rem 0;font-weight:600}
.page-links a{padding:.18rem .4rem;background:var(--bg2);border-radius:3px;text-decoration:none;margin:0 .1rem}
@media(max-width:768px){.alignleft,.alignright{float:none;margin-left:0;margin-right:0;max-width:100%}.wp-block-columns{flex-direction:column}.wp-block-column{flex-basis:100%}}
/* Reading progress bar */
.ns-rp{position:absolute;bottom:0;left:0;right:0;height:3px;background:transparent;z-index:10}
.ns-rp-bar{height:100%;width:0;background:linear-gradient(90deg,#4ade80,#22d3ee,#a78bfa,#f472b6);border-radius:0 2px 2px 0;transition:width .1s linear}
/* Back to top */
.ns-btt{position:fixed;bottom:1.5rem;right:1.5rem;width:42px;height:42px;border-radius:50%;background:var(--ac);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.2);z-index:90;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s}
.ns-btt-show{opacity:1;transform:translateY(0);pointer-events:auto}
.ns-btt:hover{opacity:.9}
[data-theme="dark"] .ns-btt{background:#065f46;box-shadow:0 4px 16px rgba(0,0,0,.4)}
/* 404 page */
.ns-404-hero{position:relative;overflow:hidden;text-align:center;padding:3.5rem 0 2.5rem}
.ns-404-bg{position:absolute;inset:0;background:linear-gradient(145deg,#0a6e2c 0%,#043d18 100%);z-index:0}
.ns-404-bg::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E")}
[data-theme="dark"] .ns-404-bg{background:linear-gradient(145deg,#0d1117 0%,#162a1e 100%)}
.ns-404-inner{position:relative;z-index:1;color:#fff}
.ns-404-code{font-size:clamp(5rem,15vw,9rem);font-weight:900;line-height:1;letter-spacing:-.04em;color:rgba(255,255,255,.1);margin-bottom:-.5rem}
.ns-404-hero h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:800;margin-bottom:.35rem;color:#fff}
.ns-404-desc{font-size:.92rem;color:rgba(255,255,255,.85);max-width:480px;margin:0 auto 1.25rem;line-height:1.6}
.ns-404-search{max-width:480px;margin:0 auto 1.25rem}
.ns-404-search form{display:flex;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.15);border-radius:var(--r);overflow:hidden;align-items:center;padding-left:.75rem}
.ns-404-search svg{color:rgba(255,255,255,.7);flex-shrink:0}
.ns-404-search input{flex:1;background:none;border:none;color:#fff;padding:.6rem .5rem;font-size:.88rem;font-family:var(--f);outline:none}
.ns-404-search input::placeholder{color:rgba(255,255,255,.55)}
.ns-404-search button{background:rgba(255,255,255,.18);color:#fff;border:none;padding:.6rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer;font-family:var(--f)}
.ns-404-search button:hover{background:rgba(255,255,255,.28)}
.ns-404-actions{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.ns-404-section{padding:2rem 0}
.ns-404-section h2{font-size:1.1rem;margin-bottom:1rem;text-align:center}
.ns-404-cats{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}
.ns-404-cat{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;background:var(--cd);border:1px solid var(--bd2);border-radius:2rem;text-decoration:none;color:var(--fg);font-size:.82rem;font-weight:600;transition:border-color .15s}
.ns-404-cat:hover{border-color:var(--ac);color:var(--fg)}
.ns-404-cat span{font-size:.7rem;color:var(--mt);background:var(--bg2);padding:.05rem .35rem;border-radius:2rem}
@media(max-width:480px){.ns-404-actions{flex-direction:column}.ns-404-actions .ns-btn{width:100%;justify-content:center}}
/* Magazine layout */
.ns-mag-layout{display:flex;flex-direction:column;gap:1.25rem}
.ns-mag-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:1.25rem;background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);overflow:hidden}
.ns-mag-hero-img{display:block;overflow:hidden;aspect-ratio:16/10;background:var(--bg2)}
.ns-mag-hero-img img{width:100%;height:100%;object-fit:cover}
.ns-mag-hero-body{padding:1.25rem 1.25rem 1.25rem 0;display:flex;flex-direction:column;justify-content:center}
.ns-mag-hero-body h2{font-size:1.2rem;margin-bottom:.3rem}
.ns-mag-hero-body h2 a{color:var(--fg);text-decoration:none}
.ns-mag-hero-body h2 a:hover{color:var(--ac)}
.ns-mag-hero-body p{font-size:.84rem;color:var(--mt);line-height:1.55;margin:0 0 .4rem}
.ns-mag-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.ns-mag-card{background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);overflow:hidden}
.ns-mag-card-img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--bg2)}
.ns-mag-card-img img{width:100%;height:100%;object-fit:cover}
.ns-mag-card-body{padding:.75rem .85rem}
.ns-mag-card-body h3{font-size:.88rem;margin-bottom:.15rem}
.ns-mag-card-body h3 a{color:var(--fg);text-decoration:none}
.ns-mag-card-body h3 a:hover{color:var(--ac)}
@media(max-width:768px){.ns-mag-hero{grid-template-columns:1fr}.ns-mag-hero-body{padding:1rem}.ns-mag-grid{grid-template-columns:1fr}}
/* Timeline layout */
.ns-tl-layout{position:relative;padding-left:2rem;max-width:700px;margin:0 auto}
.ns-tl-layout::before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--bd2)}
.ns-tl-marker{position:relative;padding:.5rem 0 .35rem;margin-left:1rem}
.ns-tl-marker span{display:inline-block;background:var(--ac);color:#fff;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .6rem;border-radius:2rem}
.ns-tl-item{display:flex;gap:1rem;padding:.75rem 0;position:relative}
.ns-tl-dot{position:absolute;left:-2rem;top:1rem;width:16px;height:16px;background:var(--cd);border:3px solid var(--ac);border-radius:50%;z-index:1}
.ns-tl-content{flex:1;min-width:0}
.ns-tl-title{font-size:.95rem;margin-bottom:.1rem}
.ns-tl-title a{color:var(--fg);text-decoration:none}
.ns-tl-title a:hover{color:var(--ac)}
.ns-tl-exc{font-size:.8rem;color:var(--mt);margin:.1rem 0 .2rem;line-height:1.45}
.ns-tl-thumb{flex-shrink:0;width:80px;height:60px;border-radius:var(--r);overflow:hidden;background:var(--bg2)}
.ns-tl-thumb img{width:100%;height:100%;object-fit:cover}
/* Minimal layout */
.ns-min-layout{max-width:680px;margin:0 auto}
.ns-min-item{border-bottom:1px solid var(--bd2)}
.ns-min-link{display:flex;align-items:center;gap:.85rem;padding:.85rem 0;text-decoration:none;color:var(--fg);transition:background .1s}
.ns-min-link:hover{color:var(--ac)}
.ns-min-date{flex-shrink:0;font-size:.72rem;font-weight:700;color:var(--mt);text-transform:uppercase;width:50px;text-align:center}
.ns-min-title{flex:1;font-size:.95rem;font-weight:600;margin:0}
.ns-min-arrow{flex-shrink:0;color:var(--bd);transition:color .15s}
.ns-min-link:hover .ns-min-arrow{color:var(--ac)}
/* Horizontal Cards layout */
.ns-hz-layout{display:flex;flex-direction:column;gap:1rem}
.ns-hz-card{display:grid;grid-template-columns:200px 1fr;gap:1rem;background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);overflow:hidden;transition:box-shadow .15s}
.ns-hz-card:hover{box-shadow:var(--sh2)}
.ns-hz-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--bg2)}
.ns-hz-img img{width:100%;height:100%;object-fit:cover}
.ns-hz-body{padding:.85rem .85rem .85rem 0;display:flex;flex-direction:column;justify-content:center}
.ns-hz-title{font-size:.95rem;margin-bottom:.15rem}
.ns-hz-title a{color:var(--fg);text-decoration:none}
.ns-hz-title a:hover{color:var(--ac)}
.ns-hz-exc{font-size:.8rem;color:var(--mt);margin:.1rem 0 .3rem;line-height:1.45}
@media(max-width:600px){.ns-hz-card{grid-template-columns:1fr}.ns-hz-img{aspect-ratio:16/9}.ns-hz-body{padding:.75rem}}
/* Overlay Cards layout */
.ns-ov-layout{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.ns-ov-card{border-radius:var(--r);overflow:hidden}
.ns-ov-link{display:block;position:relative;aspect-ratio:4/3;text-decoration:none;color:#fff}
.ns-ov-img{position:absolute;inset:0;background:var(--bg2)}
.ns-ov-img img{width:100%;height:100%;object-fit:cover}
.ns-ov-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1rem;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 60%);z-index:1}
.ns-ov-cat{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ac);margin-bottom:.2rem}
.ns-ov-title{font-size:.9rem;font-weight:700;line-height:1.3;margin:0}
.ns-ov-meta{font-size:.7rem;color:rgba(255,255,255,.6);margin-top:.15rem}
@media(max-width:600px){.ns-ov-layout{grid-template-columns:1fr}}
/* Headline Focus layout */
.ns-hl-layout{max-width:720px;margin:0 auto}
.ns-hl-item{display:flex;gap:1.25rem;padding:1.15rem 0;border-bottom:1px solid var(--bd2);align-items:flex-start}
.ns-hl-first{padding-bottom:1.5rem}
.ns-hl-body{flex:1;min-width:0}
.ns-hl-title{font-size:.98rem;line-height:1.35;margin-bottom:.15rem}
.ns-hl-first .ns-hl-title{font-size:1.3rem}
.ns-hl-title a{color:var(--fg);text-decoration:none}
.ns-hl-title a:hover{color:var(--ac)}
.ns-hl-exc{font-size:.82rem;color:var(--mt);margin:.15rem 0 .3rem;line-height:1.5}
.ns-hl-thumb{flex-shrink:0;width:120px;height:85px;border-radius:var(--r);overflow:hidden;background:var(--bg2)}
.ns-hl-first .ns-hl-thumb{width:200px;height:140px}
.ns-hl-thumb img{width:100%;height:100%;object-fit:cover}
@media(max-width:600px){.ns-hl-thumb{width:90px;height:65px}.ns-hl-first .ns-hl-thumb{width:120px;height:85px}.ns-hl-first .ns-hl-title{font-size:1.1rem}}
/* Board (Pinterest) layout */
.ns-bd-layout{columns:3;column-gap:1rem}
.ns-bd-card{break-inside:avoid;margin-bottom:1rem;background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);overflow:hidden;transition:box-shadow .15s}
.ns-bd-card:hover{box-shadow:var(--sh2)}
.ns-bd-img{display:block;background:var(--bg2)}
.ns-bd-img img{width:100%;height:auto;display:block}
.ns-bd-body{padding:.65rem .75rem .75rem}
.ns-bd-title{font-size:.86rem;line-height:1.35;margin-bottom:.15rem}
.ns-bd-title a{color:var(--fg);text-decoration:none}
.ns-bd-title a:hover{color:var(--ac)}
@media(max-width:900px){.ns-bd-layout{columns:2}}
@media(max-width:600px){.ns-bd-layout{columns:1}}
/* Explore more articles */
.ns-explore-more{margin-top:1.25rem;border-radius:var(--r);overflow:hidden}
.ns-explore-inner{background:var(--cd);border:1px solid var(--bd2);border-top:none;border-radius:0 0 var(--r) var(--r);padding:1.25rem 1.5rem;text-align:center}
.ns-explore-icon{font-size:1.8rem;display:block;margin-bottom:.25rem}
.ns-explore-inner strong{font-size:.95rem;display:block;margin-bottom:.15rem}
.ns-explore-inner p{font-size:.82rem;color:var(--mt);margin:0 0 .85rem;max-width:400px;margin-left:auto;margin-right:auto;line-height:1.5}
.ns-explore-btn{display:inline-block;background:var(--ac);color:#fff;padding:.5rem 1.25rem;border-radius:var(--r);text-decoration:none;font-weight:600;font-size:.85rem;transition:opacity .15s}
.ns-explore-btn:hover{opacity:.9;color:#fff}
[data-theme="dark"] .ns-explore-btn{background:#065f46}
/* Inline related posts (mid-content) */
.ns-inline-rel{margin:2rem 0;padding:1.15rem 1.25rem;background:var(--bg2);border:1px solid var(--bd2);border-radius:var(--r)}
.ns-inline-rel-title{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ac);margin-bottom:.55rem}
.ns-inline-rel-title svg{flex-shrink:0}
.ns-inline-rel-list{list-style:none;padding:0;margin:0}
.ns-inline-rel-list li{padding:.35rem 0;border-bottom:1px solid var(--bd2)}
.ns-inline-rel-list li:last-child{border:none}
.ns-inline-rel-list a{color:var(--fg);text-decoration:none;font-size:.88rem;font-weight:600;display:block}
.ns-inline-rel-list a:hover{color:var(--ac)}
/* End-of-post related posts */
.ns-end-rel{margin-top:1.25rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r)}
.ns-end-rel-title{display:block;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--mt);margin-bottom:.65rem;padding-bottom:.4rem;border-bottom:2px solid var(--ac)}
.ns-end-rel-list{list-style:none;padding:0;margin:0}
.ns-end-rel-item{padding:.4rem 0;border-bottom:1px solid var(--bd2)}
.ns-end-rel-item:last-child{border:none}
.ns-end-rel-item a{color:var(--fg);text-decoration:none;font-size:.88rem;font-weight:500;display:block;padding:.1rem 0}
.ns-end-rel-item a:hover{color:var(--ac)}
/* External link icon */
.ns-ext-icon{display:inline-block;vertical-align:middle;margin-left:.25rem;opacity:.45;flex-shrink:0}
a:hover .ns-ext-icon{opacity:.7}
/* ======== TMA QUIZ SYSTEM ======== */

/* TMA page resets — kill ns-main padding */
.tma-landing.ns-main,.tma-select-page.ns-main{padding:0}

/* Hero */
.tma-hero{position:relative;overflow:hidden;padding:3rem 0 2.5rem;text-align:center}
.tma-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#064e1e 0%,#0a6e2c 40%,#043d18 100%);z-index:0}
.tma-hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(74,222,128,.08) 0%,transparent 50%)}
[data-theme="dark"] .tma-hero-bg{background:linear-gradient(135deg,#0d1117 0%,#162a1e 50%,#0d1117 100%)}
.tma-hero-inner{position:relative;z-index:1;color:#fff}
.tma-hero-badge{display:inline-block;padding:.3rem .85rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:2rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem;color:rgba(255,255,255,.7)}
.tma-hero h1{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:900;margin-bottom:.5rem;line-height:1.15}
.tma-hero h1 span{background:linear-gradient(90deg,#4ade80,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tma-hero>div>p{font-size:.88rem;color:rgba(255,255,255,.55);max-width:480px;margin:0 auto 1.25rem;line-height:1.6}
.tma-hero-features{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap;font-size:.78rem;color:rgba(255,255,255,.5)}

/* Hero — Full variant for landing */
.tma-hero-full{padding:4rem 0 3.5rem}
.tma-hero-full h1{font-size:clamp(1.8rem,5vw,2.8rem);margin-bottom:.65rem}
.tma-hero-full h1 br{display:none}
@media(min-width:600px){.tma-hero-full h1 br{display:block}}
.tma-hero-deco{position:absolute;top:-50%;right:-20%;width:500px;height:500px;background:radial-gradient(circle,rgba(74,222,128,.06),transparent 70%);z-index:0;border-radius:50%}
.tma-hero-cta{margin-bottom:1.5rem}
.tma-hero-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.8rem 2rem;background:#fff;color:#064e1e;font-weight:800;font-size:.95rem;border-radius:12px;text-decoration:none;transition:all .2s;box-shadow:0 4px 16px rgba(0,0,0,.15)}
.tma-hero-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2)}
[data-theme="dark"] .tma-hero-btn{background:#4ade80;color:#0d1117}

/* How It Works — flush strip */
.tma-how-strip{background:var(--bg2);border-top:1px solid var(--bd2);border-bottom:1px solid var(--bd2);padding:2rem 0}
.tma-how-strip .tma-how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
@media(max-width:768px){.tma-how-strip .tma-how-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}
@media(max-width:480px){.tma-how-strip .tma-how-grid{grid-template-columns:1fr}}
.tma-how-step{position:relative;text-align:center;padding:1.25rem .85rem;background:var(--bg);border:1px solid var(--bd2);border-radius:14px}
.tma-how-num{position:absolute;top:-.6rem;left:50%;transform:translateX(-50%);width:26px;height:26px;background:var(--ac);color:#fff;border-radius:50%;font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(10,110,44,.2)}
.tma-how-icon{font-size:1.75rem;margin:.4rem 0 .35rem}
.tma-how-step h3{font-size:.82rem;font-weight:700;margin:0 0 .2rem;color:var(--fg)}
.tma-how-step p{font-size:.72rem;color:var(--fg2);margin:0;line-height:1.45}

/* Features grid */
.tma-features{padding:2rem 0 3rem}
.tma-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
@media(max-width:768px){.tma-feat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.tma-feat-grid{grid-template-columns:1fr}}
.tma-feat{padding:1.5rem;background:var(--bg);border:1px solid var(--bd2);border-radius:14px;transition:all .2s}
.tma-feat:hover{border-color:var(--ac);box-shadow:0 4px 16px rgba(10,110,44,.06)}
.tma-feat-icon{font-size:1.75rem;margin-bottom:.5rem}
.tma-feat h3{font-size:.88rem;font-weight:700;margin:0 0 .3rem;color:var(--fg)}
.tma-feat p{font-size:.78rem;color:var(--fg2);margin:0;line-height:1.5}

/* Quiz standalone page */
.tma-quiz-page{margin:0;padding:0}
.tma-quiz-page .tma-immersive-app{position:relative;min-height:100vh;overflow:visible}

/* Selection page hero */
.tma-select-hero{position:relative;overflow:hidden;padding:2rem 0 1.75rem;text-align:center}
.tma-select-hero .tma-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#064e1e 0%,#0a6e2c 40%,#043d18 100%);z-index:0}
[data-theme="dark"] .tma-select-hero .tma-hero-bg{background:linear-gradient(135deg,#0d1117 0%,#162a1e 50%,#0d1117 100%)}
.tma-select-hero .tma-hero-inner{position:relative;z-index:1;color:#fff}
.tma-select-hero h1{font-size:clamp(1.3rem,3vw,1.8rem);font-weight:800;margin:0 0 .3rem}
.tma-select-hero h1 span{color:#4ade80}
.tma-select-hero p{font-size:.85rem;color:rgba(255,255,255,.55);margin:0}
.tma-back-link{display:inline-block;color:rgba(255,255,255,.5);font-size:.78rem;font-weight:600;text-decoration:none;margin-bottom:.75rem;transition:color .15s}
.tma-back-link:hover{color:#fff}

/* Why Practise section */
.tma-section-alt{background:var(--bg2);padding:3rem 0;border-top:1px solid var(--bd2);border-bottom:1px solid var(--bd2)}
.tma-why-head{text-align:center;margin-bottom:2rem}
.tma-why-head h2{font-size:1.5rem;font-weight:800;margin:0;color:var(--fg)}
.tma-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:768px){.tma-why-grid{grid-template-columns:1fr;gap:1rem}}
.tma-why-card{background:var(--bg);border:1px solid var(--bd2);border-radius:16px;padding:2rem 1.5rem;text-align:center}
.tma-why-num{font-size:2.5rem;font-weight:900;color:var(--ac);line-height:1;margin-bottom:.5rem}
.tma-why-card h3{font-size:1rem;font-weight:700;margin:0 0 .5rem;color:var(--fg)}
.tma-why-card p{font-size:.82rem;color:var(--fg2);margin:0;line-height:1.55}

/* Faculty showcase */
.tma-fac-showcase{padding:3rem 0}
.tma-fac-show-head{text-align:center;margin-bottom:1.5rem}
.tma-fac-show-head h2{font-size:1.35rem;font-weight:800;margin:0 0 .3rem;color:var(--fg)}
.tma-fac-show-head p{font-size:.85rem;color:var(--fg2);margin:0}
.tma-fac-show-grid{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;max-width:700px;margin:0 auto}
.tma-fac-pill{padding:.55rem 1.15rem;background:var(--bg2);border:1px solid var(--bd2);border-radius:10px;font-size:.82rem;font-weight:600;color:var(--fg);transition:all .2s}
.tma-fac-pill:hover{border-color:var(--ac);background:var(--acl)}

/* Features section head */
.tma-feat-head{text-align:center;margin-bottom:2rem}
.tma-feat-head h2{font-size:1.35rem;font-weight:800;margin:0 0 .3rem;color:var(--fg)}
.tma-feat-head p{font-size:.85rem;color:var(--fg2);margin:0}


/* Final CTA */
.tma-final-cta{padding:3.5rem 0}
.tma-cta-inner{text-align:center;max-width:550px;margin:0 auto}
.tma-cta-inner h2{font-size:1.5rem;font-weight:800;margin:0 0 .5rem;color:var(--fg)}
.tma-cta-inner p{font-size:.88rem;color:var(--fg2);margin:0 0 1.25rem;line-height:1.6}

/* App */
.tma-app{min-height:400px;padding-bottom:2rem}
.tma-section{padding:2rem 0;animation:tma-in .35s ease}
@keyframes tma-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.tma-section-head{text-align:center;margin-bottom:2rem}
.tma-section-head h2{font-size:1.5rem;font-weight:800;margin:0 0 .3rem;color:var(--fg)}
.tma-section-head p{margin:0;color:var(--fg2);font-size:.88rem}
.tma-loading{text-align:center;padding:3rem 1rem;color:var(--fg2)}
.tma-spinner{width:36px;height:36px;border:3px solid var(--bd2);border-top-color:var(--ac);border-radius:50%;animation:tma-spin .6s linear infinite;margin:0 auto .75rem}
@keyframes tma-spin{to{transform:rotate(360deg)}}

/* Breadcrumbs */
.tma-crumbs{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--fg2);margin-bottom:1.5rem;flex-wrap:wrap;justify-content:center}
.tma-crumb{background:none;border:none;color:var(--ac);cursor:pointer;font-size:.78rem;font-weight:600;padding:0;font-family:var(--f)}
.tma-crumb:hover{text-decoration:underline}
.tma-crumb-sep{color:var(--fg2);opacity:.5}

/* Faculty grid */
.tma-fac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;max-width:900px;margin:0 auto}
.tma-fac-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;background:var(--bg);border:2px solid var(--bd2);border-radius:16px;cursor:pointer;transition:all .25s;font-family:var(--f);text-align:center}
.tma-fac-card:hover{border-color:var(--ac);transform:translateY(-3px);box-shadow:0 8px 30px rgba(10,110,44,.12)}
.tma-fac-icon{font-size:2rem;line-height:1}
.tma-fac-name{font-size:.82rem;font-weight:700;color:var(--fg);line-height:1.3}
.tma-fac-meta{font-size:.72rem;color:var(--fg2)}

/* Programme grid */
.tma-prog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;max-width:900px;margin:0 auto}
.tma-prog-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.3rem 1rem;background:var(--bg);border:2px solid var(--bd2);border-radius:14px;cursor:pointer;transition:all .25s;font-family:var(--f);text-align:center}
.tma-prog-card:hover{border-color:var(--ac);transform:translateY(-2px);box-shadow:0 6px 24px rgba(10,110,44,.1)}
.tma-prog-icon{font-size:1.6rem}
.tma-prog-card strong{font-size:.82rem;color:var(--fg);line-height:1.3}

/* Config */
.tma-config{max-width:500px;margin:0 auto;text-align:center}
.tma-config-group{margin-bottom:1.5rem}
.tma-config-group label{display:block;font-weight:700;font-size:.82rem;color:var(--fg);margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.05em}
.tma-pills{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}
.tma-pill{padding:.75rem 1.5rem;border:2px solid var(--bd2);border-radius:12px;background:var(--bg);color:var(--fg);font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:var(--f);min-width:80px;text-align:center}
.tma-pill:hover{border-color:var(--ac)}
.tma-pill.active{background:var(--ac);color:#fff;border-color:var(--ac);box-shadow:0 4px 12px rgba(10,110,44,.2)}
@media(max-width:480px){.tma-pill{padding:.7rem 1.2rem;font-size:.88rem;flex:1;min-width:0}}

/* Buttons */
.tma-btn-main{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 2rem;background:var(--ac);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:var(--f);margin-top:1rem}
.tma-btn-main:hover{background:var(--ac2);transform:translateY(-1px);box-shadow:0 4px 16px rgba(10,110,44,.2)}
.tma-btn-ghost{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.5rem;background:transparent;color:var(--ac);border:2px solid var(--bd2);border-radius:12px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--f);margin-top:.5rem}
.tma-btn-ghost:hover{border-color:var(--ac);background:var(--acl)}
.tma-btn-back{display:inline-flex;align-items:center;gap:.3rem;padding:.5rem 1rem;background:transparent;color:var(--fg2);border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--f);margin-bottom:1rem}
.tma-btn-back:hover{color:var(--ac);background:var(--acl)}

/* Course cards */
.tma-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;max-width:900px;margin:0 auto}
.tma-course-card{display:flex;flex-direction:column;padding:1.2rem;background:var(--bg);border:2px solid var(--bd2);border-radius:14px;cursor:pointer;transition:all .25s;font-family:var(--f);text-align:left}
.tma-course-card:hover{border-color:var(--ac);transform:translateY(-2px);box-shadow:0 6px 24px rgba(10,110,44,.1)}
.tma-cc-code{font-size:.9rem;font-weight:800;color:var(--ac);margin-bottom:.2rem}
.tma-cc-name{font-size:.82rem;color:var(--fg);font-weight:600;line-height:1.35;margin-bottom:.4rem}
.tma-cc-units{font-size:.72rem;color:var(--fg2)}

/* Suggestions */
.tma-suggest-box{max-width:900px;margin:1.5rem auto 0;padding:1rem 1.25rem;background:var(--bg2);border:1px solid var(--bd2);border-radius:12px}
.tma-suggest-title{font-size:.82rem;font-weight:700;color:var(--fg);margin:0 0 .6rem}
.tma-suggest-chips{display:flex;gap:.5rem;flex-wrap:wrap}
.tma-suggest-chip{padding:.35rem .75rem;background:var(--bg);border:1px solid var(--bd2);border-radius:8px;font-size:.75rem;font-weight:600;color:var(--ac);cursor:pointer;transition:all .2s;font-family:var(--f)}
.tma-suggest-chip:hover{border-color:var(--ac);background:var(--acl)}
.tma-suggest-chip span{color:var(--fg2);font-weight:400}

/* Empty / msg */
.tma-empty-state{text-align:center;padding:3rem 1rem}
.tma-empty-icon{font-size:2.5rem;margin-bottom:.5rem}
.tma-empty-state p{color:var(--fg2);font-size:.9rem;margin:.25rem 0}
.tma-sub{font-size:.78rem;color:var(--fg2)}
.tma-empty-msg{text-align:center;padding:2rem;color:var(--fg2);font-size:.88rem}

/* Briefing */
.tma-briefing{max-width:600px;margin:0 auto;text-align:center}
.tma-brief-icon{font-size:3rem;margin-bottom:.5rem}
.tma-briefing h2{font-size:1.5rem;font-weight:800;margin:0 0 .4rem}
.tma-brief-course{font-size:.88rem;color:var(--ac);font-weight:700;margin-bottom:1.5rem}
.tma-brief-rules{text-align:left;display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.5rem}
.tma-rule{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;background:var(--bg2);border-radius:12px;border:1px solid var(--bd2)}
.tma-rule-icon{font-size:1.4rem;flex-shrink:0;line-height:1}
.tma-rule strong{display:block;font-size:.85rem;color:var(--fg);margin-bottom:.15rem}
.tma-rule p{margin:0;font-size:.78rem;color:var(--fg2);line-height:1.45}
.tma-brief-actions{display:flex;flex-direction:column;align-items:center;gap:.25rem}

/* ======== IMMERSIVE MODE ======== */
body.tma-immersive{overflow:hidden}
body.tma-immersive .ns-header,body.tma-immersive .ns-rp,body.tma-immersive footer,body.tma-immersive .tma-hero{display:none!important}
body.tma-immersive main{padding:0!important;margin:0!important}
/* Standalone quiz page — body scrolls naturally, app is not fixed */
body.tma-quiz-page{overflow:auto!important}
body.tma-quiz-page .tma-immersive-app{position:relative;overflow:visible}
.tma-immersive-app{position:fixed;inset:0;z-index:99999;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch}
.tma-immersive-wrap{max-width:640px;margin:0 auto;padding:env(safe-area-inset-top,12px) 1.25rem 0;min-height:100vh;display:flex;flex-direction:column;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 100px)}

/* Immersive top bar */
.tma-im-top{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;gap:.5rem}
.tma-im-course{font-size:.82rem;font-weight:700;color:var(--ac)}
.tma-im-progress-mini{font-size:.75rem;color:var(--fg2);font-weight:600}
.tma-im-quit{background:none;border:2px solid var(--bd2);width:36px;height:36px;border-radius:50%;font-size:1rem;color:var(--fg2);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-family:var(--f);flex-shrink:0}
.tma-im-quit:hover{border-color:#ef4444;color:#ef4444;background:rgba(239,68,68,.08)}

/* Progress */
.tma-im-progress{height:4px;background:var(--bd2);border-radius:2px;overflow:hidden;margin-bottom:1.25rem}
.tma-im-progress-bar{height:100%;background:linear-gradient(90deg,var(--ac),#22d3ee);border-radius:2px;transition:width .4s ease}

/* Timer */
.tma-im-timer{display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;position:relative;width:64px;height:64px}
.tma-timer-svg{width:64px;height:64px}
#tma-timer-num{position:absolute;font-size:1.2rem;font-weight:800;color:var(--fg);font-family:var(--f)}

/* Question */
.tma-im-question{text-align:center;margin-bottom:1.5rem}
.tma-im-qnum{font-size:.72rem;color:var(--fg2);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:.4rem}
.tma-im-qtext{font-size:1.1rem;font-weight:700;line-height:1.45;color:var(--fg);margin:0}

/* Options */
.tma-im-options{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1rem;flex:1}
.tma-im-opt{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;background:var(--bg2);border:2px solid var(--bd2);border-radius:14px;cursor:pointer;transition:all .2s;font-family:var(--f);text-align:left;width:100%}
.tma-im-opt:not([disabled]):hover{border-color:var(--ac);background:var(--acl)}
.tma-im-opt.selected{border-color:var(--ac);background:var(--acl)}
.tma-im-opt.correct{border-color:#22c55e;background:rgba(34,197,94,.08)}
.tma-im-opt.wrong{border-color:#ef4444;background:rgba(239,68,68,.06)}
.tma-im-opt.dim{opacity:.5}
.tma-im-opt-letter{width:32px;height:32px;border-radius:50%;background:var(--bg);border:2px solid var(--bd2);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.78rem;color:var(--fg2);flex-shrink:0;transition:all .2s}
.tma-im-opt.correct .tma-im-opt-letter{background:#22c55e;color:#fff;border-color:#22c55e}
.tma-im-opt.wrong .tma-im-opt-letter{background:#ef4444;color:#fff;border-color:#ef4444}
.tma-im-opt-text{font-size:.88rem;font-weight:500;color:var(--fg);line-height:1.35;flex:1}
.tma-im-opt-badge{font-size:.85rem;font-weight:800;flex-shrink:0}
.correct-badge{color:#22c55e}
.wrong-badge{color:#ef4444}

/* Feedback */
.tma-im-feedback{padding:1rem 1.25rem;border-radius:14px;margin-bottom:1rem;animation:tma-fade .3s ease}
@keyframes tma-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.fb-correct{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2)}
.fb-wrong{background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.15)}
.tma-im-fb-head{font-size:1rem;font-weight:800;margin-bottom:.3rem}
.fb-correct .tma-im-fb-head{color:#16a34a}
.fb-wrong .tma-im-fb-head{color:#dc2626}
.tma-im-feedback p{font-size:.82rem;color:var(--fg2);margin:.2rem 0;line-height:1.5}
.tma-im-fb-answer{font-size:.82rem}
.tma-im-fb-answer strong{color:#16a34a}
.tma-im-next-wrap{text-align:center;padding:1rem 0 1.5rem}
.tma-im-next-btn{width:100%;max-width:400px;padding:1rem;font-size:1rem;border-radius:14px;font-weight:800}
@media(max-width:768px){
.tma-im-next-wrap{position:sticky;bottom:0;left:0;right:0;padding:1rem 1rem calc(env(safe-area-inset-bottom,0px) + 12px);background:linear-gradient(transparent,var(--bg) 25%);z-index:10}
.tma-im-next-btn{max-width:100%;padding:1.1rem;font-size:1.05rem;box-shadow:0 -4px 20px rgba(0,0,0,.1)}
}

/* Results (also immersive) */
.tma-results-wrap{max-width:640px;margin:0 auto;padding:1rem 1.25rem 2rem}
.tma-results-card{text-align:center;padding:1.5rem;background:var(--bg);border:1px solid var(--bd2);border-radius:20px;box-shadow:0 4px 24px rgba(0,0,0,.05);margin-bottom:1.5rem}
.tma-res-header{font-size:1.2rem;font-weight:900;margin-bottom:.2rem;color:var(--fg)}
.tma-res-course{font-size:.78rem;color:var(--ac);font-weight:600;margin-bottom:.85rem}
.tma-score-ring{position:relative;width:100px;height:100px;margin:0 auto .6rem}
.tma-score-ring svg{width:100px;height:100px}
.tma-score-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:900;color:var(--fg)}
.tma-score-grade{font-size:.95rem;font-weight:700;margin-bottom:.25rem;color:var(--fg)}
.tma-res-stats{display:flex;justify-content:center;gap:1.5rem;margin:.85rem 0}
.tma-res-stat{text-align:center}
.tma-res-stat-num{font-size:1.2rem;font-weight:800;display:block}
.tma-res-stat-num.green{color:#22c55e}
.tma-res-stat-num.red{color:#ef4444}
.tma-res-stat span:last-child{font-size:.68rem;color:var(--fg2);text-transform:uppercase;letter-spacing:.04em}

/* Share */
.tma-share{margin:1rem 0}
.tma-share-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fg2);margin-bottom:.5rem}
.tma-share-btns{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap}
.tma-share-btn{padding:.4rem .75rem;border-radius:8px;font-size:.72rem;font-weight:700;text-decoration:none;cursor:pointer;transition:all .2s;border:none;font-family:var(--f)}
.tma-share-btn.wa{background:#25D366;color:#fff}
.tma-share-btn.tw{background:#0f1419;color:#fff}
[data-theme="dark"] .tma-share-btn.tw{background:#e7e9ea;color:#0f1419}
.tma-share-btn.fb{background:#1877F2;color:#fff}
.tma-share-btn.cp{background:var(--bg2);color:var(--fg);border:1px solid var(--bd2)}
.tma-share-btn:hover{opacity:.88;transform:translateY(-1px)}

/* Result actions — always visible */
.tma-res-actions{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin-top:.75rem}
.tma-res-actions .tma-btn-main,.tma-res-actions .tma-btn-ghost{width:100%;max-width:320px;text-align:center;justify-content:center;display:flex;text-decoration:none}
.tma-res-actions .tma-btn-main{padding:.85rem;font-size:.95rem;font-weight:800}
.tma-res-actions .tma-btn-ghost{padding:.65rem;font-size:.82rem}


/* Answer review */
.tma-review{max-width:640px;margin:0 auto 2rem}
.tma-review h3{font-size:1rem;font-weight:800;margin-bottom:1rem;text-align:center;color:var(--fg)}
.tma-rev-item{display:flex;gap:.75rem;padding:.85rem;border-radius:12px;margin-bottom:.6rem;border:1px solid var(--bd2);background:var(--bg)}
.tma-rev-item.rev-correct{border-left:4px solid #22c55e}
.tma-rev-item.rev-wrong{border-left:4px solid #ef4444}
.tma-rev-item.rev-timeout{border-left:4px solid #f59e0b}
.tma-rev-marker{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;flex-shrink:0}
.rev-correct .tma-rev-marker{background:rgba(34,197,94,.1);color:#16a34a}
.rev-wrong .tma-rev-marker{background:rgba(239,68,68,.1);color:#dc2626}
.rev-timeout .tma-rev-marker{background:rgba(245,158,11,.1);color:#d97706}
.tma-rev-body{flex:1;min-width:0}
.tma-rev-q{font-size:.82rem;font-weight:600;color:var(--fg);margin-bottom:.3rem;line-height:1.35}
.tma-rev-ans{font-size:.78rem;color:var(--fg2);margin:.1rem 0}
.tma-rev-ans.green,.green{color:#16a34a}
.tma-rev-ans.red,.red{color:#dc2626}
.tma-rev-ans.wrong{color:#d97706}
.tma-rev-exp{font-size:.75rem;color:var(--fg2);margin-top:.3rem;line-height:1.4;font-style:italic}

/* ======== DARK MODE WCAG AAA (7:1 on #0f1114) ======== */
/* --fg2 in dark is #bbb (≈7.2:1). Using #c0c4cc (≈8.0:1) for anything that was --mt (#909090, only 4:1) */
[data-theme="dark"] .tma-section-head p,
[data-theme="dark"] .tma-fac-meta,
[data-theme="dark"] .tma-cc-units,
[data-theme="dark"] .tma-crumb-sep,
[data-theme="dark"] .tma-im-qnum,
[data-theme="dark"] .tma-im-progress-mini,
[data-theme="dark"] .tma-rule p,
[data-theme="dark"] .tma-im-feedback p,
[data-theme="dark"] .tma-rev-ans,
[data-theme="dark"] .tma-rev-exp,
[data-theme="dark"] .tma-share-label,
[data-theme="dark"] .tma-res-stat span:last-child,
[data-theme="dark"] .tma-suggest-chip span,
[data-theme="dark"] .tma-sub,
[data-theme="dark"] .tma-empty-msg,
[data-theme="dark"] .tma-loading,
[data-theme="dark"] .tma-im-opt-letter,
[data-theme="dark"] .tma-im-quit,
[data-theme="dark"] .tma-btn-back{color:#c0c4cc}
[data-theme="dark"] .tma-im-opt.dim{opacity:.4}
[data-theme="dark"] .fb-correct{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.3)}
[data-theme="dark"] .fb-wrong{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.2)}
[data-theme="dark"] .tma-results-card{box-shadow:0 4px 24px rgba(0,0,0,.15)}
[data-theme="dark"] .tma-im-opt{background:var(--bg2)}
[data-theme="dark"] .tma-im-opt:not([disabled]):hover{background:rgba(74,222,128,.08)}
[data-theme="dark"] .tma-score-ring circle:first-child{stroke:rgba(255,255,255,.08)}

/* ======== WCAG AAA Hero Fix (light theme) ======== */
/* Badge: was .7 opacity → now solid white for 7:1+ on #064e1e */
.tma-hero-badge{color:rgba(255,255,255,.92)}
/* Description: was .55 → bump to .85 for AAA on green bg */
.tma-hero>div>p{color:rgba(255,255,255,.85)}
/* Hero features: was .5 → .8 */
.tma-hero-features{color:rgba(255,255,255,.8)}
/* Selection hero: was .55 → .85 */
.tma-select-hero p{color:rgba(255,255,255,.85)}
.tma-back-link{color:rgba(255,255,255,.75)}

/* Bigger Start Button */
.tma-hero-btn{padding:1.1rem 3rem;font-size:1.15rem;font-weight:800;border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.2)}
.tma-hero-btn:hover{box-shadow:0 10px 32px rgba(0,0,0,.25);transform:translateY(-3px)}
@media(max-width:480px){.tma-hero-btn{padding:.95rem 2rem;font-size:1rem;width:100%;justify-content:center;text-align:center}}

/* ======== TESTIMONIALS CAROUSEL ======== */
.tma-testimonials{padding:3rem 0;background:var(--bg2);border-top:1px solid var(--bd2);border-bottom:1px solid var(--bd2)}
.tma-test-head{text-align:center;margin-bottom:1.5rem}
.tma-test-head h2{font-size:1.35rem;font-weight:800;margin:0;color:var(--fg)}
.tma-test-scroll{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.5rem;scrollbar-width:none}
.tma-test-scroll::-webkit-scrollbar{display:none}
.tma-test-card{flex:0 0 300px;scroll-snap-align:start;background:var(--bg);border:1px solid var(--bd2);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}
@media(max-width:480px){.tma-test-card{flex:0 0 85vw}}
.tma-test-stars{color:#f59e0b;font-size:.9rem;letter-spacing:2px}
.tma-test-card p{font-size:.85rem;color:var(--fg);line-height:1.55;margin:0;flex:1}
.tma-test-author{border-top:1px solid var(--bd2);padding-top:.6rem}
.tma-test-author strong{display:block;font-size:.82rem;color:var(--fg)}
.tma-test-author span{font-size:.72rem;color:var(--fg2)}
.tma-test-nav{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}
.tma-test-prev,.tma-test-next{width:40px;height:40px;border-radius:50%;border:2px solid var(--bd2);background:var(--bg);color:var(--fg);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-family:var(--f)}
.tma-test-prev:hover,.tma-test-next:hover{border-color:var(--ac);color:var(--ac);background:var(--acl)}

/* ======== FAQ ACCORDIONS ======== */
.tma-faq-section{padding:3rem 0}
.tma-faq-head{text-align:center;margin-bottom:1.5rem}
.tma-faq-head h2{font-size:1.35rem;font-weight:800;margin:0;color:var(--fg)}
.tma-faq-list{max-width:750px;margin:0 auto}
.tma-faq{border:1px solid var(--bd2);border-radius:12px;margin-bottom:.65rem;overflow:hidden;background:var(--bg);transition:box-shadow .2s}
.tma-faq[open]{box-shadow:0 2px 12px rgba(0,0,0,.04)}
.tma-faq summary{padding:1rem 1.25rem;font-size:.9rem;font-weight:700;color:var(--fg);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem;transition:background .15s}
.tma-faq summary::-webkit-details-marker{display:none}
.tma-faq summary::after{content:"+";font-size:1.2rem;font-weight:300;color:var(--ac);transition:transform .2s;flex-shrink:0}
.tma-faq[open] summary::after{content:"\2212"}
.tma-faq summary:hover{background:var(--bg2)}
.tma-faq-body{padding:0 1.25rem 1rem;font-size:.85rem;color:var(--fg2);line-height:1.6}

/* ======== HOMEPAGE TMA PROMO ======== */
.ns-tma-promo{padding:3rem 0;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-top:1px solid #d1fae5;border-bottom:1px solid #d1fae5}
[data-theme="dark"] .ns-tma-promo{background:linear-gradient(135deg,rgba(10,110,44,.06),rgba(10,110,44,.03));border-color:var(--bd2)}
.ns-tma-promo-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem;align-items:center}
@media(max-width:768px){.ns-tma-promo-inner{grid-template-columns:1fr;text-align:center}}
.ns-tma-promo-badge{display:inline-block;padding:.25rem .7rem;background:#064E3B;color:#fff;border-radius:2rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}
.ns-tma-promo-text h2{font-size:1.5rem;font-weight:800;margin:0 0 .6rem;line-height:1.3;color:var(--fg)}
.ns-tma-promo-text h2 span{color:var(--ac)}
.ns-tma-promo-text>p{font-size:.88rem;color:var(--fg2);line-height:1.6;margin:0 0 1rem}
.ns-tma-promo-list{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-direction:column;gap:.4rem}
@media(max-width:768px){.ns-tma-promo-list{align-items:center}}
.ns-tma-promo-list li{font-size:.82rem;color:var(--fg);font-weight:500;display:flex;align-items:center;gap:.4rem}
.ns-tma-promo-list li::before{content:"\2713";color:var(--ac);font-weight:800;font-size:.75rem}
.ns-tma-promo-btn{display:inline-flex;padding:.75rem 2rem;background:#064E3B;color:#fff;font-weight:700;font-size:.9rem;border-radius:12px;text-decoration:none;transition:all .2s}
.ns-tma-promo-btn:hover{background:#053d2e;transform:translateY(-1px);box-shadow:0 4px 16px rgba(10,110,44,.2)}
/* Visual card */
.ns-tma-promo-visual{display:flex;justify-content:center}
.ns-tma-promo-card{background:var(--bg);border:2px solid var(--bd2);border-radius:16px;padding:1.25rem;max-width:300px;width:100%;box-shadow:0 8px 30px rgba(0,0,0,.06);transform:rotate(1deg)}
[data-theme="dark"] .ns-tma-promo-card{box-shadow:0 8px 30px rgba(0,0,0,.2)}
[data-theme="dark"] .ns-tma-promo-badge{background:#22c55e;color:#052e16}
[data-theme="dark"] .ns-tma-promo-btn{background:#22c55e;color:#052e16}
[data-theme="dark"] .ns-tma-promo-btn:hover{background:#16a34a;color:#052e16}
.ns-tma-pc-q{font-size:.85rem;font-weight:700;color:var(--fg);margin-bottom:.75rem;line-height:1.4}
.ns-tma-pc-opts{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.65rem}
.ns-tma-pc-opt{padding:.45rem .75rem;border:1.5px solid var(--bd2);border-radius:8px;font-size:.78rem;color:var(--fg2)}
.ns-tma-pc-correct{border-color:#22c55e;background:rgba(34,197,94,.08);color:#16a34a;font-weight:600}
.ns-tma-pc-timer{font-size:.72rem;color:var(--fg2);text-align:right}

/* ======== EXAM TIMETABLE PROMO ======== */
.ns-ett-promo{padding:3.5rem 0;background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 50%,#f0fdf4 100%)}
[data-theme="dark"] .ns-ett-promo{background:linear-gradient(135deg,#0a1f14 0%,#0d2618 50%,#0a1f14 100%)}
.ns-ett-promo-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center}
.ns-ett-promo-badge{display:inline-block;padding:.35rem 1rem;background:#059669;color:#fff;font-weight:700;font-size:.76rem;border-radius:20px;margin-bottom:.75rem;letter-spacing:.03em}
.ns-ett-promo h2{font-size:1.8rem;font-weight:900;color:var(--fg);line-height:1.2;margin:0 0 .65rem}
.ns-ett-promo h2 span{color:#059669}
[data-theme="dark"] .ns-ett-promo h2 span{color:#34d399}
.ns-ett-promo>div>div>p{font-size:.9rem;color:var(--fg2);line-height:1.65;margin:0 0 1.25rem}
.ns-ett-promo-list{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.45rem}
.ns-ett-promo-list li{font-size:.82rem;color:var(--fg);font-weight:500;display:flex;align-items:center;gap:.4rem}
.ns-ett-promo-list li::before{content:"\2713";color:#059669;font-weight:800;font-size:.75rem}
.ns-ett-promo-btn{display:inline-flex;padding:.75rem 2rem;background:#059669;color:#fff;font-weight:700;font-size:.9rem;border-radius:12px;text-decoration:none;transition:all .2s;box-shadow:0 4px 14px rgba(5,150,105,.2)}
.ns-ett-promo-btn:hover{background:#047857;transform:translateY(-1px);box-shadow:0 6px 20px rgba(5,150,105,.25)}
[data-theme="dark"] .ns-ett-promo-badge{background:#22c55e;color:#052e16}
[data-theme="dark"] .ns-ett-promo-btn{background:#22c55e;color:#052e16}
[data-theme="dark"] .ns-ett-promo-btn:hover{background:#16a34a;color:#052e16}
.ns-ett-promo-visual{display:flex;justify-content:center}
.ns-ett-promo-card{background:var(--bg);border:2px solid var(--bd2);border-radius:16px;padding:0;max-width:320px;width:100%;box-shadow:0 8px 30px rgba(0,0,0,.06);transform:rotate(-1deg);overflow:hidden}
[data-theme="dark"] .ns-ett-promo-card{box-shadow:0 8px 30px rgba(0,0,0,.2)}
.ns-ett-pc-hdr{background:linear-gradient(135deg,#052e16,#064E3B);color:#fff;padding:.85rem 1.25rem;font-size:.82rem;font-weight:700}
.ns-ett-pc-rows{padding:.5rem 1rem}
.ns-ett-pc-row{display:flex;align-items:center;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--bd2);font-size:.82rem}
.ns-ett-pc-row:last-child{border-bottom:none}
.ns-ett-pc-day{font-weight:700;color:var(--fg);min-width:48px}
.ns-ett-pc-code{font-weight:800;color:#059669;font-family:monospace;font-size:.85rem;flex:1}
[data-theme="dark"] .ns-ett-pc-code{color:#34d399}
.ns-ett-pc-time{font-size:.78rem;color:var(--fg2);font-weight:600}
.ns-ett-pc-footer{padding:.6rem 1.25rem;background:#f0fdf4;font-size:.76rem;font-weight:700;color:#059669;text-align:center}
[data-theme="dark"] .ns-ett-pc-footer{background:rgba(34,197,94,.08);color:#34d399}
@media(max-width:768px){.ns-ett-promo-inner{grid-template-columns:1fr;text-align:center}.ns-ett-promo-list{align-items:center}.ns-ett-promo-card{transform:rotate(0)}}

/* ======== SIDEBAR QUICK LINKS ======== */
.ns-sb-card{background:var(--bg);border:1px solid var(--bd2);border-radius:var(--r);padding:1rem;margin-bottom:1rem}
.ns-sb-title{font-size:.88rem;font-weight:700;margin:0 0 .65rem;color:var(--fg);padding-bottom:.5rem;border-bottom:2px solid var(--ac)}
.ns-sb-links{list-style:none;padding:0;margin:0}
.ns-sb-links li{border-bottom:1px solid var(--bd2)}
.ns-sb-links li:last-child{border-bottom:none}
.ns-sb-links a{display:block;padding:.55rem .25rem;font-size:.82rem;color:var(--fg);text-decoration:none;font-weight:500;transition:color .15s,padding-left .15s}
.ns-sb-links a:hover{color:var(--ac);padding-left:.5rem}

/* Responsive */
@media(max-width:600px){
.tma-fac-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem}
.tma-fac-card{padding:1rem .75rem}
.tma-fac-icon{font-size:1.5rem}
.tma-fac-name{font-size:.75rem}
.tma-prog-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.65rem}
.tma-prog-card{padding:1rem .75rem}
.tma-course-grid{grid-template-columns:1fr}
.tma-im-qtext{font-size:1rem}
.tma-im-opt{padding:.75rem .85rem}
.tma-hero h1{font-size:1.4rem}
.tma-hero-features{gap:.75rem;font-size:.72rem}
.tma-results-card{padding:1.25rem}
}

/* ====== MOBILE NAV (TaxNGR system) ====== */
/* ============================================================
   MOBILE NAV — TaxNGR Design System Port
   ============================================================ */

/* ─── Primary Links — Card style with icon containers ─── */
.tng-nav__mobile-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.5rem}
.tng-mob-link{
  display:flex;align-items:center;gap:.875rem;
  padding:.875rem 1rem;border-radius:1rem;
  text-decoration:none;border:none;background:none;
  font-family:var(--f);cursor:pointer;width:100%;text-align:left;
  transition:all .2s cubic-bezier(.22,1,.36,1);color:inherit;
}
.tng-mob-link:hover,.tng-mob-link:active{background:#ecfdf5}
.tng-mob-link--active{background:rgba(10,110,44,.06)}
.tng-mob-link__icon{
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  width:2.75rem;height:2.75rem;border-radius:.75rem;
  transition:transform .25s;
}
.tng-mob-link:hover .tng-mob-link__icon{transform:scale(1.08)}
.tng-mob-link__icon svg{width:18px;height:18px}
.tng-mob-link__icon--blue{background:#dbeafe;color:#1e40af}
.tng-mob-link__icon--green{background:#dcfce7;color:#166534}
.tng-mob-link__icon--purple{background:#ede9fe;color:#6b21a8}
.tng-mob-link__icon--amber{background:#fef3c7;color:#92400e}
.tng-mob-link__icon--slate{background:#f1f5f9;color:#374151}
.tng-mob-link__body{flex:1;min-width:0}
.tng-mob-link__label{display:block;font-size:.9375rem;font-weight:700;color:#0f172a;line-height:1.3}
.tng-mob-link__desc{display:block;font-size:.6875rem;color:#64748b;line-height:1.3;margin-top:.0625rem}
.tng-mob-link__arrow{flex-shrink:0;color:#d1d5db;transition:transform .2s,color .2s}
.tng-mob-link:hover .tng-mob-link__arrow{color:#0a6e2c;transform:translateX(2px)}

/* ─── Accordion Sections ─── */
.tng-mob-accordion{margin-bottom:.375rem}
.tng-mob-accordion__trigger{
  display:flex;align-items:center;gap:.875rem;
  width:100%;padding:.875rem 1rem;border-radius:1rem;
  background:none;border:2px solid #f1f5f9;
  font-family:var(--f);cursor:pointer;transition:all .2s;
}
.tng-mob-accordion__trigger:hover{border-color:#dcfce7;background:#f8fafc}
.tng-mob-accordion.is-open .tng-mob-accordion__trigger{border-color:#86efac;background:#ecfdf5}
.tng-mob-accordion__label{flex:1;font-size:.9375rem;font-weight:700;color:#0f172a;text-align:left}
.tng-mob-accordion__count{
  font-size:.5625rem;font-weight:800;
  background:#ecfdf5;color:#0a6e2c;
  padding:.125rem .4375rem;border-radius:9999px;
  min-width:1.25rem;text-align:center;
}
.tng-mob-accordion__chev{
  flex-shrink:0;color:#94a3b8;
  transition:transform .3s cubic-bezier(.22,1,.36,1),color .2s;
}
.tng-mob-accordion.is-open .tng-mob-accordion__chev{transform:rotate(180deg);color:#0a6e2c}

/* Accordion Body */
.tng-mob-accordion__body{
  max-height:0;overflow:hidden;
  transition:max-height .35s cubic-bezier(.22,1,.36,1),padding .25s;
  padding:0 .25rem;
}
.tng-mob-accordion.is-open .tng-mob-accordion__body{max-height:60rem;padding:.5rem .25rem .25rem;overflow-y:visible}

/* Sub links */
.tng-mob-accordion__list{display:flex;flex-direction:column;gap:.25rem}
.tng-mob-sub{
  display:flex;align-items:center;gap:.375rem;
  padding:.625rem .75rem;border-radius:.625rem;
  font-size:.8125rem;font-weight:600;color:#374151;
  text-decoration:none;background:#f8fafc;border:1px solid #f1f5f9;
  transition:all .15s;
}
.tng-mob-sub:hover{background:#ecfdf5;border-color:#bbf7d0;color:#0a6e2c}
.tng-mob-sub--full{justify-content:flex-start;padding:.75rem 1rem;border-radius:.75rem;font-size:.875rem;font-weight:600}
.tng-mob-sub--full:hover{background:#ecfdf5;border-color:#bbf7d0;color:#0a6e2c}

/* ─── Scrollable Content ─── */
.tng-nav__mobile-scroll{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:.5rem 0;min-height:0;
  scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent;
}
.tng-nav__mobile-scroll::-webkit-scrollbar{width:3px}
.tng-nav__mobile-scroll::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:9999px}

/* ─── Sticky Footer CTA ─── */
.tng-nav__mobile-footer{padding:.75rem 0 0;border-top:1px solid #f1f5f9;margin-top:.5rem}
.tng-nav__mobile-cta{
  display:flex;align-items:center;justify-content:center;gap:.625rem;
  padding:1rem 1.5rem;
  background:linear-gradient(135deg,#0a6e2c,#065a22);color:#fff;
  font-family:var(--f);font-size:.9375rem;font-weight:700;
  border-radius:1rem;text-decoration:none;
  box-shadow:0 4px 16px rgba(10,110,44,.3);
  transition:all .25s cubic-bezier(.22,1,.36,1);
}
.tng-nav__mobile-cta:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(10,110,44,.35);color:#fff}
.tng-nav__mobile-cta svg{flex-shrink:0}

/* ─── Header ─── */
.tng-nav__mobile-header{
  display:flex;align-items:center;justify-content:space-between;
  padding-bottom:1rem;margin-bottom:.5rem;
  border-bottom:1px solid #f1f5f9;
}
.tng-nav__mobile-brand{
  display:flex;align-items:center;gap:.5rem;
  font-family:var(--f);font-size:1.25rem;font-weight:800;color:#0f172a;letter-spacing:-.02em;
}
.tng-nav__mobile-brand img{max-height:30px;width:auto;height:auto;border-radius:6px}
.tng-nav__logo-mark{
  width:2rem;height:2rem;border-radius:.5rem;
  display:flex;align-items:center;justify-content:center;
  font-size:.9375rem;font-weight:800;color:#fff;
  background:linear-gradient(135deg,#0a6e2c,#065a22);
}
.tng-nav__mobile-close{
  display:flex;align-items:center;justify-content:center;
  width:2.5rem;height:2.5rem;border-radius:.75rem;
  border:2px solid #f1f5f9;background:#fff;
  cursor:pointer;color:#374151;transition:all .25s;
}
.tng-nav__mobile-close:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626;transform:rotate(90deg)}

/* ─── Dark Mode Toggle inside mobile ─── */
.tng-mob-dm{margin-top:.25rem}

/* ═══════════════════════════════════════════════════════════
   STYLE: SLIDE RIGHT (default)
   ═══════════════════════════════════════════════════════════ */
.tng-nav__mobile[data-style="slide"]{position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.tng-nav__mobile[data-style="slide"]::before{content:'';position:absolute;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.tng-nav__mobile[data-style="slide"].is-open{opacity:1;visibility:visible}
.tng-nav__mobile[data-style="slide"] .tng-nav__mobile-panel{
  position:absolute;top:0;right:0;bottom:0;width:min(22rem,85vw);
  background:#fff;padding:1.5rem;
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.22,1,.36,1);
  box-shadow:-8px 0 32px rgba(15,23,42,.12);
  overflow:hidden;height:100%;
}
.tng-nav__mobile[data-style="slide"].is-open .tng-nav__mobile-panel{transform:translateX(0)}

/* ═══════════════════════════════════════════════════════════
   STYLE: FULLSCREEN
   ═══════════════════════════════════════════════════════════ */
.tng-nav__mobile[data-style="fullscreen"]{position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.tng-nav__mobile[data-style="fullscreen"].is-open{opacity:1;visibility:visible}
.tng-nav__mobile[data-style="fullscreen"] .tng-nav__mobile-panel{
  position:absolute;inset:0;
  background:linear-gradient(180deg,#0f172a 0%,#1e293b 100%);
  padding:1.5rem;display:flex;flex-direction:column;
  opacity:0;transition:opacity .35s;overflow:hidden;
}
.tng-nav__mobile[data-style="fullscreen"].is-open .tng-nav__mobile-panel{opacity:1}
.tng-nav__mobile[data-style="fullscreen"] .tng-nav__mobile-header{border-color:rgba(255,255,255,.08)}
.tng-nav__mobile[data-style="fullscreen"] .tng-nav__mobile-brand{color:#fff}
.tng-nav__mobile[data-style="fullscreen"] .tng-nav__mobile-close{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#fff}
.tng-nav__mobile[data-style="fullscreen"] .tng-nav__mobile-close:hover{background:rgba(220,38,38,.15);border-color:rgba(220,38,38,.3);color:#fca5a5}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-link:hover{background:rgba(255,255,255,.06)}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-link__label{color:#fff}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-link__desc{color:rgba(255,255,255,.4)}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-link__arrow{color:rgba(255,255,255,.15)}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-link:hover .tng-mob-link__arrow{color:#4ade80}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-link__icon--blue{background:rgba(59,130,246,.15);color:#93c5fd}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-link__icon--green{background:rgba(34,197,94,.15);color:#86efac}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-link__icon--purple{background:rgba(139,92,246,.15);color:#c4b5fd}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-link__icon--amber{background:rgba(245,158,11,.15);color:#fcd34d}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-link__icon--slate{background:rgba(255,255,255,.06);color:#94a3b8}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-accordion__trigger{border-color:rgba(255,255,255,.06);background:transparent}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-accordion__trigger:hover{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-accordion.is-open .tng-mob-accordion__trigger{border-color:rgba(74,222,128,.2);background:rgba(74,222,128,.06)}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-accordion__label{color:#fff}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-accordion__count{background:rgba(74,222,128,.15);color:#86efac}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-accordion__chev{color:rgba(255,255,255,.25)}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-accordion.is-open .tng-mob-accordion__chev{color:#4ade80}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-sub{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.06);color:rgba(255,255,255,.7)}
.tng-nav__mobile[data-style="fullscreen"] .tng-mob-sub:hover{background:rgba(74,222,128,.1);border-color:rgba(74,222,128,.2);color:#86efac}
.tng-nav__mobile[data-style="fullscreen"] .tng-nav__mobile-footer{border-color:rgba(255,255,255,.06)}
.tng-nav__mobile[data-style="fullscreen"] .tng-nav__mobile-cta{background:linear-gradient(135deg,#4ade80,#22c55e);color:#0f172a}
.tng-nav__mobile[data-style="fullscreen"] .tng-nav__mobile-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1)}

/* ═══════════════════════════════════════════════════════════
   STYLE: BOTTOM SHEET
   ═══════════════════════════════════════════════════════════ */
.tng-nav__mobile[data-style="bottomsheet"]{position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.tng-nav__mobile[data-style="bottomsheet"]::before{content:'';position:absolute;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.tng-nav__mobile[data-style="bottomsheet"].is-open{opacity:1;visibility:visible}
.tng-nav__mobile[data-style="bottomsheet"] .tng-nav__mobile-panel{
  position:absolute;bottom:0;left:0;right:0;max-height:88vh;
  background:#fff;padding:1.5rem;display:flex;flex-direction:column;
  border-radius:1.5rem 1.5rem 0 0;
  transform:translateY(100%);transition:transform .4s cubic-bezier(.22,1,.36,1);
  box-shadow:0 -8px 40px rgba(15,23,42,.15);overflow:hidden;
}
.tng-nav__mobile[data-style="bottomsheet"].is-open .tng-nav__mobile-panel{transform:translateY(0)}
.tng-nav__mobile[data-style="bottomsheet"] .tng-nav__mobile-header::before{
  content:'';display:block;width:2.5rem;height:.25rem;
  background:#d1d5db;border-radius:9999px;margin:0 auto .75rem;
}

/* ═══════════════════════════════════════════════════════════
   STYLE: FLOATING CARD
   ═══════════════════════════════════════════════════════════ */
.tng-nav__mobile[data-style="floating"]{position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;display:flex;align-items:center;justify-content:center;padding:1.25rem}
.tng-nav__mobile[data-style="floating"]::before{content:'';position:absolute;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.tng-nav__mobile[data-style="floating"].is-open{opacity:1;visibility:visible}
.tng-nav__mobile[data-style="floating"] .tng-nav__mobile-panel{
  position:relative;width:100%;max-width:24rem;max-height:calc(100vh - 2.5rem);
  background:#fff;padding:1.5rem;display:flex;flex-direction:column;
  border-radius:1.5rem;
  transform:scale(.9);opacity:0;transition:all .35s cubic-bezier(.22,1,.36,1);
  box-shadow:0 24px 64px rgba(15,23,42,.2),0 0 0 1px rgba(15,23,42,.05);overflow:hidden;
}
.tng-nav__mobile[data-style="floating"].is-open .tng-nav__mobile-panel{transform:scale(1);opacity:1}

/* ═══════════════════════════════════════════════════════════
   STYLE: MINIMAL
   ═══════════════════════════════════════════════════════════ */
.tng-nav__mobile[data-style="minimal"]{position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.tng-nav__mobile[data-style="minimal"].is-open{opacity:1;visibility:visible}
.tng-nav__mobile[data-style="minimal"] .tng-nav__mobile-panel{
  position:absolute;inset:0;background:#fff;padding:2rem 1.75rem;
  display:flex;flex-direction:column;opacity:0;transition:opacity .3s;overflow:hidden;
}
.tng-nav__mobile[data-style="minimal"].is-open .tng-nav__mobile-panel{opacity:1}
.tng-nav__mobile[data-style="minimal"] .tng-mob-link__icon{display:none}
.tng-nav__mobile[data-style="minimal"] .tng-mob-link__desc{display:none}
.tng-nav__mobile[data-style="minimal"] .tng-mob-link__arrow{display:none}
.tng-nav__mobile[data-style="minimal"] .tng-mob-link{padding:.625rem 0}
.tng-nav__mobile[data-style="minimal"] .tng-mob-link__label{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;color:#0f172a;transition:color .15s}
.tng-nav__mobile[data-style="minimal"] .tng-mob-link:hover .tng-mob-link__label{color:#0a6e2c}
.tng-nav__mobile[data-style="minimal"] .tng-mob-link:hover{background:transparent}
.tng-nav__mobile[data-style="minimal"] .tng-nav__mobile-group{gap:0;margin-bottom:1rem}
.tng-nav__mobile[data-style="minimal"] .tng-mob-accordion__trigger .tng-mob-link__icon{display:none}
.tng-nav__mobile[data-style="minimal"] .tng-mob-accordion__trigger{border:none;padding:.625rem 0;border-radius:0}
.tng-nav__mobile[data-style="minimal"] .tng-mob-accordion__trigger:hover{background:transparent}
.tng-nav__mobile[data-style="minimal"] .tng-mob-accordion.is-open .tng-mob-accordion__trigger{background:transparent;border:none}
.tng-nav__mobile[data-style="minimal"] .tng-mob-accordion__label{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;color:#0f172a}
.tng-nav__mobile[data-style="minimal"] .tng-mob-sub{background:transparent;border:none;padding:.5rem 0;font-size:1rem;font-weight:500;color:#64748b;justify-content:flex-start}
.tng-nav__mobile[data-style="minimal"] .tng-mob-sub:hover{background:transparent;color:#0a6e2c}
.tng-nav__mobile[data-style="minimal"] .tng-nav__mobile-header{border-bottom:none;margin-bottom:1.5rem}
.tng-nav__mobile[data-style="minimal"] .tng-nav__mobile-brand{font-size:1rem;color:#94a3b8;font-weight:600}
.tng-nav__mobile[data-style="minimal"] .tng-nav__mobile-cta{border-radius:9999px}

/* ═══════════════════════════════════════════════════════════
   STYLE: SLIDE LEFT
   ═══════════════════════════════════════════════════════════ */
.tng-nav__mobile[data-style="slideleft"]{position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.tng-nav__mobile[data-style="slideleft"]::before{content:'';position:absolute;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.tng-nav__mobile[data-style="slideleft"].is-open{opacity:1;visibility:visible}
.tng-nav__mobile[data-style="slideleft"] .tng-nav__mobile-panel{
  position:absolute;top:0;left:0;bottom:0;width:min(22rem,85vw);
  background:#fff;padding:1.5rem;display:flex;flex-direction:column;
  transform:translateX(-100%);transition:transform .35s cubic-bezier(.22,1,.36,1);
  box-shadow:8px 0 32px rgba(15,23,42,.12);overflow:hidden;
}
.tng-nav__mobile[data-style="slideleft"].is-open .tng-nav__mobile-panel{transform:translateX(0)}
.tng-nav__mobile[data-style="slideleft"] .tng-nav__mobile-panel::after{
  content:'';position:absolute;top:0;right:0;bottom:0;width:4px;
  background:linear-gradient(180deg,#0a6e2c,#4ade80,rgba(74,222,128,.3));
}

/* ═══════════════════════════════════════════════════════════
   STYLE: CURTAIN
   ═══════════════════════════════════════════════════════════ */
.tng-nav__mobile[data-style="curtain"]{position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.tng-nav__mobile[data-style="curtain"].is-open{opacity:1;visibility:visible}
.tng-nav__mobile[data-style="curtain"]::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,#043a16 0%,#0a6e2c 50%,#043a16 100%);
  transform:scaleX(0);transition:transform .45s cubic-bezier(.22,1,.36,1);
}
.tng-nav__mobile[data-style="curtain"].is-open::before{transform:scaleX(1)}
.tng-nav__mobile[data-style="curtain"] .tng-nav__mobile-panel{
  position:absolute;inset:0;padding:1.5rem;
  display:flex;flex-direction:column;overflow:hidden;
  opacity:0;transform:scale(.95);transition:opacity .3s .15s,transform .3s .15s;
}
.tng-nav__mobile[data-style="curtain"].is-open .tng-nav__mobile-panel{opacity:1;transform:scale(1)}
.tng-nav__mobile[data-style="curtain"] .tng-nav__mobile-header{border-color:rgba(255,255,255,.08)}
.tng-nav__mobile[data-style="curtain"] .tng-nav__mobile-brand{color:#fff}
.tng-nav__mobile[data-style="curtain"] .tng-nav__mobile-close{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#fff}
.tng-nav__mobile[data-style="curtain"] .tng-mob-link:hover{background:rgba(255,255,255,.06)}
.tng-nav__mobile[data-style="curtain"] .tng-mob-link__label{color:#fff}
.tng-nav__mobile[data-style="curtain"] .tng-mob-link__desc{color:rgba(255,255,255,.4)}
.tng-nav__mobile[data-style="curtain"] .tng-mob-link__icon--blue{background:rgba(59,130,246,.15);color:#93c5fd}
.tng-nav__mobile[data-style="curtain"] .tng-mob-link__icon--green{background:rgba(34,197,94,.15);color:#86efac}
.tng-nav__mobile[data-style="curtain"] .tng-mob-link__icon--purple{background:rgba(139,92,246,.15);color:#c4b5fd}
.tng-nav__mobile[data-style="curtain"] .tng-mob-link__icon--amber{background:rgba(245,158,11,.15);color:#fcd34d}
.tng-nav__mobile[data-style="curtain"] .tng-mob-link__icon--slate{background:rgba(255,255,255,.06);color:#94a3b8}
.tng-nav__mobile[data-style="curtain"] .tng-mob-accordion__trigger{border-color:rgba(255,255,255,.06);background:transparent}
.tng-nav__mobile[data-style="curtain"] .tng-mob-accordion.is-open .tng-mob-accordion__trigger{border-color:rgba(74,222,128,.2);background:rgba(74,222,128,.06)}
.tng-nav__mobile[data-style="curtain"] .tng-mob-accordion__label{color:#fff}
.tng-nav__mobile[data-style="curtain"] .tng-mob-accordion__count{background:rgba(74,222,128,.15);color:#86efac}
.tng-nav__mobile[data-style="curtain"] .tng-mob-sub{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.06);color:rgba(255,255,255,.7)}
.tng-nav__mobile[data-style="curtain"] .tng-mob-sub:hover{background:rgba(74,222,128,.1);border-color:rgba(74,222,128,.2);color:#86efac}
.tng-nav__mobile[data-style="curtain"] .tng-nav__mobile-footer{border-color:rgba(255,255,255,.06)}
.tng-nav__mobile[data-style="curtain"] .tng-nav__mobile-cta{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}

/* ═══════════════════════════════════════════════════════════
   STYLE: DOCK
   ═══════════════════════════════════════════════════════════ */
.tng-nav__mobile[data-style="dock"]{position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;display:flex;align-items:flex-end;justify-content:center;padding:1rem}
.tng-nav__mobile[data-style="dock"]::before{content:'';position:absolute;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.tng-nav__mobile[data-style="dock"].is-open{opacity:1;visibility:visible}
.tng-nav__mobile[data-style="dock"] .tng-nav__mobile-panel{
  position:relative;width:100%;max-height:calc(100vh - 2rem);
  background:#fff;padding:1.5rem;display:flex;flex-direction:column;
  border-radius:1.5rem;
  transform:translateY(2rem);opacity:0;transition:all .35s cubic-bezier(.22,1,.36,1);
  box-shadow:0 -8px 40px rgba(15,23,42,.15),0 0 0 1px rgba(15,23,42,.05);overflow:hidden;
}
.tng-nav__mobile[data-style="dock"].is-open .tng-nav__mobile-panel{transform:translateY(0);opacity:1}
.tng-nav__mobile[data-style="dock"] .tng-nav__mobile-header::before{content:'';display:block;width:2.5rem;height:.25rem;background:#d1d5db;border-radius:9999px;margin:0 auto .75rem}
.tng-nav__mobile[data-style="dock"] .tng-mob-link{padding:.75rem .875rem}
.tng-nav__mobile[data-style="dock"] .tng-mob-link__icon{width:2.25rem;height:2.25rem;border-radius:.625rem}
.tng-nav__mobile[data-style="dock"] .tng-mob-link__icon svg{width:15px;height:15px}
.tng-nav__mobile[data-style="dock"] .tng-mob-link__label{font-size:.875rem}
.tng-nav__mobile[data-style="dock"] .tng-mob-link__desc{font-size:.625rem}

/* ═══════════════════════════════════════════════════════════
   STYLE: GLASS
   ═══════════════════════════════════════════════════════════ */
.tng-nav__mobile[data-style="glass"]{position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.tng-nav__mobile[data-style="glass"].is-open{opacity:1;visibility:visible}
.tng-nav__mobile[data-style="glass"] .tng-nav__mobile-panel{
  position:absolute;top:0;right:0;bottom:0;width:min(22rem,85vw);
  background:rgba(255,255,255,.75);
  backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);
  padding:1.5rem;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.22,1,.36,1);
  border-left:1px solid rgba(255,255,255,.3);overflow:hidden;
}
.tng-nav__mobile[data-style="glass"].is-open .tng-nav__mobile-panel{transform:translateX(0)}
.tng-nav__mobile[data-style="glass"] .tng-nav__mobile-header{border-color:rgba(0,0,0,.06)}
.tng-nav__mobile[data-style="glass"] .tng-mob-link:hover{background:rgba(255,255,255,.5)}

/* ═══════════════════════════════════════════════════════════
   STYLE: SPOTLIGHT
   ═══════════════════════════════════════════════════════════ */
.tng-nav__mobile[data-style="spotlight"]{position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.tng-nav__mobile[data-style="spotlight"].is-open{opacity:1;visibility:visible}
.tng-nav__mobile[data-style="spotlight"]::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 30%,rgba(10,110,44,.2) 0%,rgba(0,0,0,.95) 65%);
}
.tng-nav__mobile[data-style="spotlight"] .tng-nav__mobile-panel{
  position:absolute;inset:0;padding:1.5rem;
  display:flex;flex-direction:column;overflow:hidden;
  opacity:0;transform:scale(.95);transition:opacity .35s .1s,transform .35s .1s;
}
.tng-nav__mobile[data-style="spotlight"].is-open .tng-nav__mobile-panel{opacity:1;transform:scale(1)}
.tng-nav__mobile[data-style="spotlight"] .tng-nav__mobile-header{border-color:rgba(255,255,255,.06)}
.tng-nav__mobile[data-style="spotlight"] .tng-nav__mobile-brand{color:#fff}
.tng-nav__mobile[data-style="spotlight"] .tng-nav__mobile-close{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08);color:#fff}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-link__label{color:#fff}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-link__desc{color:rgba(255,255,255,.35)}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-link:hover{background:rgba(255,255,255,.05)}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-link__icon--blue{background:rgba(59,130,246,.12);color:#93c5fd}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-link__icon--green{background:rgba(34,197,94,.12);color:#86efac}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-link__icon--purple{background:rgba(139,92,246,.12);color:#c4b5fd}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-link__icon--amber{background:rgba(245,158,11,.12);color:#fcd34d}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-link__icon--slate{background:rgba(255,255,255,.05);color:#94a3b8}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-accordion__trigger{border-color:rgba(255,255,255,.06);background:transparent}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-accordion.is-open .tng-mob-accordion__trigger{border-color:rgba(74,222,128,.15);background:rgba(74,222,128,.04)}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-accordion__label{color:#fff}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-accordion__count{background:rgba(74,222,128,.12);color:#86efac}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-sub{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.05);color:rgba(255,255,255,.6)}
.tng-nav__mobile[data-style="spotlight"] .tng-mob-sub:hover{background:rgba(74,222,128,.08);border-color:rgba(74,222,128,.15);color:#86efac}
.tng-nav__mobile[data-style="spotlight"] .tng-nav__mobile-footer{border-color:rgba(255,255,255,.06)}
.tng-nav__mobile[data-style="spotlight"] .tng-nav__mobile-cta{background:linear-gradient(135deg,#4ade80,#22c55e);color:#0f172a}

/* ─── Dark Mode (for light-bg styles: slide, bottomsheet, floating, dock, glass) ─── */
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-nav__mobile-panel{background:#0f172a;box-shadow:-8px 0 32px rgba(0,0,0,.4)}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-nav__mobile-header{border-color:#1e293b}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-nav__mobile-brand{color:#fff}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-nav__mobile-close{background:#1e293b;border-color:#374151;color:#d1d5db}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-link:hover{background:rgba(74,222,128,.06)}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-link__label{color:#e5e7eb}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-link__desc{color:#6b7280}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-link__arrow{color:#374151}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-link__icon--blue{background:rgba(59,130,246,.12);color:#93c5fd}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-link__icon--green{background:rgba(34,197,94,.12);color:#86efac}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-link__icon--purple{background:rgba(139,92,246,.12);color:#c4b5fd}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-link__icon--amber{background:rgba(245,158,11,.12);color:#fcd34d}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-link__icon--slate{background:#1e293b;color:#6b7280}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-accordion__trigger{border-color:#1e293b}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-accordion.is-open .tng-mob-accordion__trigger{border-color:#065f46;background:rgba(74,222,128,.06)}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-accordion__label{color:#e5e7eb}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-accordion__count{background:rgba(74,222,128,.12);color:#86efac}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-sub{background:#1e293b;border-color:#374151;color:#d1d5db}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-mob-sub:hover{background:rgba(74,222,128,.08);border-color:#065f46;color:#86efac}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-nav__mobile-footer{border-color:#1e293b}
[data-theme="dark"] .tng-nav__mobile[data-style="slide"] .tng-nav__mobile-scroll::-webkit-scrollbar-thumb{background:#374151}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-nav__mobile-panel{background:#0f172a;box-shadow:0 -8px 40px rgba(0,0,0,.4)}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-nav__mobile-header::before{background:#374151}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-nav__mobile-brand{color:#fff}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-nav__mobile-close{background:#1e293b;border-color:#374151;color:#d1d5db}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-mob-link__label{color:#e5e7eb}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-mob-link__desc{color:#6b7280}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-mob-link__icon--blue{background:rgba(59,130,246,.12);color:#93c5fd}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-mob-link__icon--green{background:rgba(34,197,94,.12);color:#86efac}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-mob-link__icon--purple{background:rgba(139,92,246,.12);color:#c4b5fd}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-mob-link__icon--amber{background:rgba(245,158,11,.12);color:#fcd34d}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-mob-accordion__trigger{border-color:#1e293b}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-mob-accordion__label{color:#e5e7eb}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-mob-accordion__count{background:rgba(74,222,128,.12);color:#86efac}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-mob-sub{background:#1e293b;border-color:#374151;color:#d1d5db}
[data-theme="dark"] .tng-nav__mobile[data-style="bottomsheet"] .tng-mob-sub:hover{background:rgba(74,222,128,.08);border-color:#065f46;color:#86efac}
[data-theme="dark"] .tng-nav__mobile[data-style="floating"] .tng-nav__mobile-panel{background:#0f172a;box-shadow:0 24px 64px rgba(0,0,0,.5)}
[data-theme="dark"] .tng-nav__mobile[data-style="floating"] .tng-nav__mobile-brand{color:#fff}
[data-theme="dark"] .tng-nav__mobile[data-style="floating"] .tng-nav__mobile-close{background:#1e293b;border-color:#374151;color:#d1d5db}
[data-theme="dark"] .tng-nav__mobile[data-style="floating"] .tng-mob-link__label{color:#e5e7eb}
[data-theme="dark"] .tng-nav__mobile[data-style="floating"] .tng-mob-link__desc{color:#6b7280}
[data-theme="dark"] .tng-nav__mobile[data-style="floating"] .tng-mob-link__icon--blue{background:rgba(59,130,246,.12);color:#93c5fd}
[data-theme="dark"] .tng-nav__mobile[data-style="floating"] .tng-mob-link__icon--green{background:rgba(34,197,94,.12);color:#86efac}
[data-theme="dark"] .tng-nav__mobile[data-style="floating"] .tng-mob-accordion__trigger{border-color:#1e293b}
[data-theme="dark"] .tng-nav__mobile[data-style="floating"] .tng-mob-accordion__label{color:#e5e7eb}
[data-theme="dark"] .tng-nav__mobile[data-style="floating"] .tng-mob-sub{background:#1e293b;border-color:#374151;color:#d1d5db}
[data-theme="dark"] .tng-nav__mobile[data-style="dock"] .tng-nav__mobile-panel{background:#0f172a;box-shadow:0 -8px 40px rgba(0,0,0,.4)}
[data-theme="dark"] .tng-nav__mobile[data-style="dock"] .tng-nav__mobile-header::before{background:#374151}
[data-theme="dark"] .tng-nav__mobile[data-style="dock"] .tng-nav__mobile-brand{color:#fff}
[data-theme="dark"] .tng-nav__mobile[data-style="dock"] .tng-nav__mobile-close{background:#1e293b;border-color:#374151;color:#d1d5db}
[data-theme="dark"] .tng-nav__mobile[data-style="dock"] .tng-mob-link__label{color:#e5e7eb}
[data-theme="dark"] .tng-nav__mobile[data-style="dock"] .tng-mob-link__desc{color:#6b7280}
[data-theme="dark"] .tng-nav__mobile[data-style="dock"] .tng-mob-link__icon--blue{background:rgba(59,130,246,.12);color:#93c5fd}
[data-theme="dark"] .tng-nav__mobile[data-style="dock"] .tng-mob-link__icon--green{background:rgba(34,197,94,.12);color:#86efac}
[data-theme="dark"] .tng-nav__mobile[data-style="dock"] .tng-mob-accordion__trigger{border-color:#1e293b}
[data-theme="dark"] .tng-nav__mobile[data-style="dock"] .tng-mob-accordion__label{color:#e5e7eb}
[data-theme="dark"] .tng-nav__mobile[data-style="dock"] .tng-mob-sub{background:#1e293b;border-color:#374151;color:#d1d5db}
[data-theme="dark"] .tng-nav__mobile[data-style="glass"] .tng-nav__mobile-panel{background:rgba(15,23,42,.78);border-left-color:rgba(255,255,255,.06)}
[data-theme="dark"] .tng-nav__mobile[data-style="glass"] .tng-nav__mobile-header{border-color:rgba(255,255,255,.06)}
[data-theme="dark"] .tng-nav__mobile[data-style="glass"] .tng-nav__mobile-brand{color:#fff}
[data-theme="dark"] .tng-nav__mobile[data-style="glass"] .tng-nav__mobile-close{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08);color:#d1d5db}
[data-theme="dark"] .tng-nav__mobile[data-style="glass"] .tng-mob-link__label{color:#e5e7eb}
[data-theme="dark"] .tng-nav__mobile[data-style="glass"] .tng-mob-link__desc{color:#6b7280}
[data-theme="dark"] .tng-nav__mobile[data-style="glass"] .tng-mob-link:hover{background:rgba(255,255,255,.06)}
[data-theme="dark"] .tng-nav__mobile[data-style="glass"] .tng-mob-accordion__trigger{border-color:rgba(255,255,255,.06)}
[data-theme="dark"] .tng-nav__mobile[data-style="glass"] .tng-mob-accordion__label{color:#e5e7eb}
[data-theme="dark"] .tng-nav__mobile[data-style="glass"] .tng-mob-sub{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.06);color:#d1d5db}

/* Hide on desktop, base animation state on mobile */
.tng-nav__mobile{display:none}
@media(max-width:768px){.tng-nav__mobile{display:block;position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s}
.tng-nav__mobile.is-open{opacity:1;visibility:visible;pointer-events:auto}}


/* Footer accordion — desktop defaults */
.ns-ftr-accordion .ns-ftr-panel{max-height:none;overflow:visible}
.ns-ftr-toggle{cursor:default}

@media(max-width:900px){
.ns-grid{grid-template-columns:1fr}.ns-sidebar{position:static}
.ns-hide-mobile-sb .ns-sidebar,.ns-hide-mobile-sb .ns-post-sidebar{display:none}
.ns-ftr-grid{grid-template-columns:1fr 1fr}
.ns-ftr-brand{grid-column:1/-1}
.ns-svc-grid{grid-template-columns:repeat(2,1fr)}
.ns-trust-grid{grid-template-columns:repeat(3,1fr);gap:1rem}
.ns-post-grid{grid-template-columns:1fr}.ns-post-sidebar{position:static}
}

@media(max-width:768px){
#ns-nav{display:none!important}
.ns-nav-toggle{display:flex}
}

/* ====== MOBILE LAYOUT (768px) ====== */
@media(max-width:768px){
/* General layout */
.ns-hero{padding:2.5rem 0 2.25rem}
.ns-hero::after{height:25px}
.ns-hero-stats{gap:1.5rem}
.ns-hero-stat strong{font-size:1.15rem}
.ns-feat-grid{grid-template-columns:1fr}
.ns-svc-grid{grid-template-columns:1fr}
.ns-trust-grid{grid-template-columns:1fr;gap:.85rem;text-align:left}
.ns-trust-item{display:flex;gap:.65rem;align-items:flex-start;text-align:left}
.ns-trust-icon{margin-bottom:0;flex-shrink:0;font-size:1.5rem}
.ns-trust-item p{max-width:none}
.ns-posts{grid-template-columns:1fr}
.ns-cta-inner{flex-direction:column;text-align:center}
.ns-hdr-in{padding:.35rem 0}
.ns-sec-header{flex-direction:row;gap:.5rem;align-items:center;justify-content:space-between}
.ns-sec-header .ns-sec-title{font-size:1rem}
.ns-qn-row{gap:.35rem}
.ns-qn-item{padding:.35rem .65rem;font-size:.73rem}
.ns-post-card{padding:1.15rem}
.ns-share__buttons{flex-direction:column;width:100%}
.ns-share{align-items:stretch;padding:20px 16px}
.ns-share__btn{display:flex;justify-content:center;width:100%;box-sizing:border-box}
.ns-cb-btns{flex-direction:column;width:100%}
.ns-cb-content{text-align:left}
.ns-cb-btn{display:flex;justify-content:center;width:100%;box-sizing:border-box}
.ns-cmt-center .ns-cmt-modal{max-width:100%;max-height:100vh;border-radius:0}

/* Footer — stack columns, accordion, brand centering */
.ns-ftr-app-inner{flex-direction:column;text-align:center}
.ns-app-btns{justify-content:center}
.ns-ftr-grid{grid-template-columns:1fr;gap:0}
/* Center brand on mobile */
.ns-ftr-brand{margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid rgba(255,255,255,.06);text-align:center;align-items:center}
.ns-ftr-logo{justify-content:center}
.ns-ftr-social{justify-content:center}
.ns-ftr-brand>p{text-align:center}
/* Plus icon visible */
.ns-ftr-plus{display:inline}
.ns-ftr-chev{display:none}
/* Accordion headers */
.ns-ftr-col h3{display:flex;align-items:center;cursor:pointer;padding:.85rem 0;margin:0;border-bottom:1px solid rgba(255,255,255,.05);user-select:none;font-size:1rem;font-weight:800;letter-spacing:.05em}
/* Accordion panels collapse on mobile */
.ns-ftr-accordion .ns-ftr-panel{max-height:0;overflow:hidden;transition:max-height .3s ease}
.ns-ftr-col.ns-ftr-open .ns-ftr-panel{max-height:400px}
.ns-ftr-col.ns-ftr-open h3{color:#fff;border-bottom-color:rgba(255,255,255,.1)}
.ns-ftr-col.ns-ftr-open .ns-ftr-plus{transform:rotate(45deg);color:rgba(255,255,255,.7)}
.ns-ftr-col ul{padding:.3rem 0 .5rem}
}

/* Backdrop */
.ns-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9998;opacity:0;pointer-events:none;transition:opacity .3s}
.ns-backdrop.active{opacity:1;pointer-events:auto}


/* ======== PAGE TEMPLATES (advertise, press, sitemap, etc.) ======== */

/* Hero */
.ns-pg-hero{position:relative;overflow:hidden;padding:3rem 0 2.5rem;text-align:center;background:linear-gradient(145deg,var(--fg) 0%,#1a1d22 100%);color:#fff}
.ns-pg-hero--green{background:linear-gradient(145deg,#064e1e 0%,#0a6e2c 40%,#043d18 100%)}
[data-theme="dark"] .ns-pg-hero{background:linear-gradient(145deg,#0d1117 0%,#162a1e 50%,#0d1117 100%)}
.ns-pg-hero h1{font-size:clamp(1.5rem,4vw,2.2rem);font-weight:900;margin:0 0 .5rem;line-height:1.2}
.ns-pg-badge{display:inline-block;padding:.25rem .75rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:2rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem;color:rgba(255,255,255,.85)}
.ns-pg-hero-sub{font-size:.92rem;color:rgba(255,255,255,.8);max-width:520px;margin:0 auto;line-height:1.6}

/* Sections */
.ns-pg-section{padding:2rem 0;border-bottom:1px solid var(--bd2)}
.ns-pg-section:last-of-type{border-bottom:none}
.ns-pg-section--alt{background:var(--bg2);margin:0 -1.25rem;padding:2rem 1.25rem;border-radius:var(--r)}
.ns-pg-section-hdr{text-align:center;margin-bottom:1.5rem}
.ns-pg-section-hdr h2{font-size:1.3rem;font-weight:800;margin:0 0 .3rem;color:var(--fg)}
.ns-pg-section-hdr p{color:var(--fg2);font-size:.88rem;margin:0}

/* Grid */
.ns-pg-grid{display:grid;gap:1rem}
.ns-pg-grid--2{grid-template-columns:repeat(2,1fr)}
.ns-pg-grid--3{grid-template-columns:repeat(3,1fr)}
.ns-pg-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:768px){.ns-pg-grid--3,.ns-pg-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.ns-pg-grid--2,.ns-pg-grid--3,.ns-pg-grid--4{grid-template-columns:1fr}}

/* Cards */
.ns-pg-card{background:var(--bg);border:1px solid var(--bd2);border-radius:var(--r);padding:1.25rem;transition:box-shadow .2s}
.ns-pg-card:hover{box-shadow:var(--sh2)}
.ns-pg-card h3{font-size:.92rem;margin:0 0 .4rem;color:var(--fg)}
.ns-pg-card p{font-size:.82rem;color:var(--fg2);margin:0;line-height:1.55}
.ns-pg-card strong{display:block;font-size:.95rem;margin-bottom:.35rem;color:var(--fg)}
.ns-pg-card--center{text-align:center}
.ns-pg-card--accent{border-left:3px solid var(--ac)}
.ns-pg-card-icon{font-size:1.5rem;display:block;margin-bottom:.5rem}
.ns-pg-stat-num{font-size:1.8rem;font-weight:900;color:var(--ac);display:block;line-height:1.2;margin-bottom:.2rem}
.ns-pg-stat-label{font-size:.75rem;color:var(--fg2);text-transform:uppercase;letter-spacing:.04em}

/* Prose */
.ns-pg-prose{max-width:700px;margin:0 auto;font-size:.92rem;line-height:1.7;color:var(--fg)}
.ns-pg-prose h2{font-size:1.15rem;font-weight:800;margin:1.5rem 0 .5rem;color:var(--fg)}
.ns-pg-prose h3{font-size:1rem;font-weight:700;margin:1.25rem 0 .4rem;color:var(--fg)}
.ns-pg-prose ul,.ns-pg-prose ol{padding-left:1.5rem;margin:.75rem 0}
.ns-pg-prose li{margin-bottom:.35rem}

/* CTA */
.ns-pg-cta{text-align:center;padding:2.5rem 1rem;background:var(--bg2);border-radius:var(--r);margin:2rem 0}
.ns-pg-cta h2{font-size:1.3rem;font-weight:800;margin:0 0 .4rem;color:var(--fg)}
.ns-pg-cta p{font-size:.88rem;color:var(--fg2);margin:0 0 1rem}
.ns-pg-cta-btns{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.ns-pg-cta-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.65rem 1.5rem;border-radius:var(--r);font-size:.85rem;font-weight:700;text-decoration:none;transition:all .2s;font-family:var(--f)}
.ns-pg-cta-btn--tg{background:var(--ac);color:#fff}
.ns-pg-cta-btn--tg:hover{background:var(--ac2);transform:translateY(-1px);box-shadow:0 4px 12px rgba(10,110,44,.2)}
.ns-pg-cta-btn--outline{background:transparent;color:var(--ac);border:2px solid var(--ac)}
.ns-pg-cta-btn--outline:hover{background:var(--acl)}

/* Pricing Cards */
.ns-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:start}
@media(max-width:768px){.ns-price-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}}
.ns-price-card{background:var(--bg);border:2px solid var(--bd2);border-radius:14px;padding:1.5rem;text-align:center;position:relative;transition:box-shadow .2s}
.ns-price-card:hover{box-shadow:var(--sh2)}
.ns-price-card--featured{border-color:var(--ac);box-shadow:0 4px 20px rgba(10,110,44,.12)}
.ns-price-tag{position:absolute;top:-.65rem;left:50%;transform:translateX(-50%);background:var(--ac);color:#fff;padding:.2rem .85rem;border-radius:2rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.ns-price-hdr h3{font-size:1.1rem;font-weight:800;margin:0 0 .15rem;color:var(--fg)}
.ns-price-hdr p{font-size:.78rem;color:var(--fg2);margin:0 0 1rem}
.ns-price-amount{margin-bottom:1rem}
.ns-price-currency{font-size:1rem;font-weight:700;color:var(--fg2);vertical-align:super}
.ns-price-num{font-size:2.2rem;font-weight:900;color:var(--fg);letter-spacing:-.02em}
.ns-price-period{font-size:.78rem;color:var(--fg2);font-weight:500}
.ns-price-features{list-style:none;padding:0;margin:0 0 1.25rem;text-align:left}
.ns-price-features li{padding:.4rem 0;font-size:.82rem;color:var(--fg);border-bottom:1px solid var(--bd2)}
.ns-price-features li:last-child{border-bottom:none}
.ns-price-feat--no{color:var(--fg2);opacity:.5}
.ns-price-btn{display:block;padding:.65rem;background:var(--bg2);color:var(--fg);border:2px solid var(--bd2);border-radius:var(--r);font-size:.85rem;font-weight:700;text-decoration:none;text-align:center;transition:all .2s}
.ns-price-btn:hover{border-color:var(--ac);color:var(--ac);background:var(--acl)}
.ns-price-btn--primary{background:var(--ac);color:#fff;border-color:var(--ac)}
.ns-price-btn--primary:hover{background:var(--ac2);border-color:var(--ac2);color:#fff;box-shadow:0 4px 12px rgba(10,110,44,.2)}


/* ======== TPL PAGES (about, contact, terms, privacy, dmca, disclaimer, faq, advertise, press, sitemap) ======== */
.ns-tpl-hero{background:linear-gradient(135deg,#0a6e2c 0%,#075a22 60%,#064a1c 100%);color:#fff;padding:3.25rem 0 2.75rem;text-align:center;position:relative;overflow:hidden}
.ns-tpl-hero::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
[data-theme="dark"] .ns-tpl-hero{background:linear-gradient(135deg,#0d1117 0%,#111d14 60%,#162a1e 100%)}
.ns-tpl-hero--legal{padding:2.5rem 0 2rem}
.ns-tpl-hero--legal h1{font-size:1.8rem}
.ns-tpl-hero h1{font-size:2.1rem;font-weight:800;margin:0 0 .55rem;letter-spacing:-.02em;text-shadow:0 2px 8px rgba(0,0,0,.15);color:#fff}
.ns-tpl-hero-sub{font-size:1rem;color:rgba(255,255,255,.78);max-width:560px;margin:0 auto;line-height:1.6}
.ns-tpl-badge{display:inline-block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.9);background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);padding:.25rem .85rem;border-radius:2rem;margin-bottom:.8rem}
.ns-tpl-legal-meta{display:flex;justify-content:center;gap:.4rem;font-size:.78rem;color:rgba(255,255,255,.5);margin-top:.7rem;align-items:center}
.ns-tpl-legal-meta svg{vertical-align:-2px;margin-right:.2rem}
.ns-tpl-body{padding:1.5rem 0 3rem}
.ns-tpl-section{margin-bottom:2.5rem}
.ns-tpl-section--muted{background:var(--bg2);margin-left:-1.25rem;margin-right:-1.25rem;padding:2.5rem 1.25rem;border-radius:var(--r)}
.ns-tpl-section-title{text-align:center;font-size:1.25rem;font-weight:800;color:var(--fg);margin:0 0 .5rem;letter-spacing:-.01em}
.ns-tpl-section-intro{text-align:center;font-size:.9rem;color:var(--mt);max-width:600px;margin:0 auto 2rem;line-height:1.65}
.ns-tpl-prose{max-width:700px;margin:0 auto}
.ns-tpl-prose h2{font-size:1.25rem;font-weight:800;margin:0 0 .7rem}
.ns-tpl-prose p{font-size:.9rem;color:var(--fg2);line-height:1.75;margin:0 0 .85rem}
.ns-tpl-prose a{color:var(--ac);font-weight:600}
.ns-tpl-stats-bar{display:flex;justify-content:center;gap:2rem;padding:1.65rem 2rem;background:var(--hd);border-radius:var(--r);margin-bottom:2.5rem}
[data-theme="dark"] .ns-tpl-stats-bar{background:var(--bg2);border:1px solid var(--bd2)}
.ns-tpl-stat{text-align:center;min-width:100px}
.ns-tpl-stat strong{display:block;font-size:1.5rem;font-weight:800;color:#fff}
[data-theme="dark"] .ns-tpl-stat strong{color:var(--ac)}
.ns-tpl-stat span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.55)}
[data-theme="dark"] .ns-tpl-stat span{color:var(--mt)}
.ns-tpl-process{max-width:640px;margin:0 auto;position:relative;padding-left:2rem}
.ns-tpl-process::before{content:"";position:absolute;left:17px;top:0;bottom:0;width:2px;background:var(--bd2)}
.ns-tpl-process-step{display:flex;gap:1.25rem;margin-bottom:1.75rem;position:relative}
.ns-tpl-process-step:last-child{margin-bottom:0}
.ns-tpl-process-num{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--ac);color:#fff;font-size:.85rem;font-weight:800;border-radius:50%;position:relative;z-index:1;margin-left:-2rem}
.ns-tpl-process-content h3{font-size:.95rem;font-weight:800;margin:0 0 .25rem}
.ns-tpl-process-content p{font-size:.85rem;color:var(--fg2);line-height:1.65;margin:0}
.ns-tpl-standards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.15rem;max-width:800px;margin:0 auto}
.ns-tpl-standard{padding:1.25rem;background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);transition:box-shadow .2s}
.ns-tpl-standard:hover{box-shadow:var(--sh2)}
.ns-tpl-standard-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--acl);border-radius:var(--r);color:var(--ac);margin-bottom:.65rem}
.ns-tpl-standard-icon svg{width:20px;height:20px}
.ns-tpl-standard h3{font-size:.9rem;font-weight:800;margin:0 0 .25rem}
.ns-tpl-standard p{font-size:.82rem;color:var(--fg2);line-height:1.55;margin:0}
.ns-tpl-standard a{color:var(--ac);font-weight:600}
.ns-tpl-tags{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:1rem}
.ns-tpl-tag{display:inline-block;padding:.3rem .75rem;background:var(--cd);border:1px solid var(--bd2);border-radius:2rem;font-size:.78rem;font-weight:600;color:var(--fg2)}
.ns-tpl-revenue{display:flex;flex-direction:column;gap:.75rem;max-width:700px;margin:0 auto}
.ns-tpl-revenue-item{padding:1rem 1.25rem;background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r)}
.ns-tpl-revenue-item strong{font-size:.88rem;display:block;margin-bottom:.2rem}
.ns-tpl-revenue-item p{font-size:.82rem;color:var(--fg2);line-height:1.55;margin:0}
.ns-tpl-contact-links{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;max-width:760px;margin:0 auto}
.ns-tpl-contact-link{display:flex;align-items:center;gap:.75rem;padding:1rem 1.15rem;border:1px solid var(--bd2);border-radius:var(--r);text-decoration:none;color:var(--fg);background:var(--cd);transition:border-color .2s,box-shadow .2s,transform .2s}
.ns-tpl-contact-link:hover{border-color:var(--ac);box-shadow:var(--sh2);transform:translateY(-2px);color:var(--fg)}
.ns-tpl-contact-link svg{width:22px;height:22px;flex-shrink:0;color:var(--ac)}
.ns-tpl-contact-link strong{font-size:.85rem;display:block}
.ns-tpl-contact-link span{font-size:.78rem;color:var(--fg2);line-height:1.3}
.ns-tpl-cta{text-align:center;padding:2.75rem 2rem;background:linear-gradient(135deg,#0a6e2c,#064a1c);border-radius:var(--r);margin:2rem 0}
[data-theme="dark"] .ns-tpl-cta{background:linear-gradient(135deg,#162a1e,#0d1117);border:1px solid var(--bd2)}
.ns-tpl-cta h2{color:#fff;font-size:1.35rem;margin:0 0 .4rem}
.ns-tpl-cta p{color:rgba(255,255,255,.72);font-size:.9rem;margin:0 0 1.35rem;max-width:480px;margin-left:auto;margin-right:auto}
.ns-tpl-cta-actions{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap}
.ns-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem 1.5rem;border-radius:var(--r);font-weight:700;font-size:.88rem;text-decoration:none;border:none;cursor:pointer;transition:all .2s;color:#fff;background:var(--ac)}
.ns-btn-primary{background:#fff;color:#0a6e2c}
.ns-btn-primary:hover{background:rgba(255,255,255,.9);color:#0a6e2c;transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.15)}
.ns-btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3)}
.ns-btn-outline:hover{background:rgba(255,255,255,.1);color:#fff}
.ns-tpl-legal-body{max-width:760px;margin:0 auto;padding:2rem 0 3rem}
.ns-tpl-legal-body h2{font-size:1.1rem;font-weight:800;margin:2.5rem 0 .55rem;padding-top:1.5rem;border-top:1px solid var(--bd2)}
.ns-tpl-legal-body h2:first-of-type{border-top:none;padding-top:0;margin-top:0}
.ns-tpl-legal-body p{font-size:.88rem;color:var(--fg2);line-height:1.75;margin:0 0 .8rem}
.ns-tpl-legal-body p strong{color:var(--fg);font-weight:700}
.ns-tpl-legal-body a{color:var(--ac);font-weight:600;text-decoration:underline;text-decoration-color:rgba(10,110,44,.3);text-underline-offset:2px}
.ns-tpl-legal-body a:hover{text-decoration-color:var(--ac)}
.ns-tpl-legal-list{display:flex;flex-direction:column;gap:.6rem;margin:1.25rem 0 1.5rem;padding-left:.25rem}
.ns-tpl-legal-list-item{display:flex;gap:.8rem;align-items:flex-start}
.ns-tpl-legal-list-item>span{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--ac);color:#fff;font-size:.72rem;font-weight:800;border-radius:50%;margin-top:.1rem}
.ns-tpl-legal-list-item>div{font-size:.86rem;color:var(--fg2);line-height:1.65}
.ns-tpl-legal-list-item strong{color:var(--fg)}
.ns-tpl-legal-foot{margin-top:2.5rem;padding:1.15rem;background:var(--bg2);border-radius:var(--r);text-align:center}
.ns-tpl-legal-foot p{font-size:.82rem;color:var(--mt);margin:0}
.ns-tpl-legal-foot a{color:var(--ac);font-weight:600;text-decoration:none;margin:0 .1rem}
.ns-tpl-legal-foot a:hover{text-decoration:underline}
.ns-faq-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-bottom:2.5rem}
.ns-faq-nav-link{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;border:1px solid var(--bd2);border-radius:var(--r);text-decoration:none;color:var(--fg);transition:border-color .2s,box-shadow .2s}
.ns-faq-nav-link:hover{border-color:var(--ac);box-shadow:var(--sh2);color:var(--fg)}
.ns-faq-nav-link svg{width:14px;height:14px;flex-shrink:0;color:var(--ac)}
.ns-faq-nav-link span{font-size:.82rem;font-weight:700}
.ns-faq-nav-link small{margin-left:auto;font-size:.68rem;font-weight:800;color:var(--mt);background:var(--bg2);padding:.1rem .45rem;border-radius:2rem}
.ns-tpl-faq-list{display:flex;flex-direction:column;gap:.45rem;margin-bottom:2rem}
.ns-tpl-faq-item{border:1px solid var(--bd2);border-radius:var(--r);background:var(--cd);transition:border-color .2s,box-shadow .2s}
.ns-tpl-faq-item[open]{border-color:var(--ac);box-shadow:0 2px 12px rgba(10,110,44,.08)}
.ns-tpl-faq-q{display:flex;align-items:center;gap:.7rem;padding:.85rem 1.1rem;font-weight:700;font-size:.88rem;color:var(--fg);cursor:pointer;list-style:none;-webkit-appearance:none}
.ns-tpl-faq-q::-webkit-details-marker{display:none}
.ns-tpl-faq-q::marker{display:none;content:""}
.ns-tpl-faq-num{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg2);color:var(--mt);font-size:.7rem;font-weight:800;border-radius:var(--r);transition:background .2s,color .2s}
.ns-tpl-faq-item[open] .ns-tpl-faq-num{background:var(--ac);color:#fff}
.ns-tpl-faq-chevron{width:18px;height:18px;flex-shrink:0;margin-left:auto;color:var(--mt);transition:transform .25s}
.ns-tpl-faq-item[open] .ns-tpl-faq-chevron{transform:rotate(180deg);color:var(--ac)}
.ns-tpl-faq-a{padding:0 1.1rem 1.1rem 3.5rem;font-size:.86rem;color:var(--fg2);line-height:1.7}
.ns-tpl-faq-a p{margin:0 0 .4rem}
.ns-tpl-faq-a a{color:var(--ac);font-weight:600}
.ns-contact-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;max-width:800px;margin:0 auto}
.ns-contact-action{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;padding:1.25rem .85rem;border:1px solid var(--bd2);border-radius:var(--r);text-decoration:none;color:var(--fg);background:var(--cd);transition:border-color .2s,box-shadow .2s,transform .2s}
.ns-contact-action:hover{border-color:var(--ac);box-shadow:var(--sh2);transform:translateY(-2px);color:var(--fg)}
.ns-contact-action-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--acl);border-radius:50%;color:var(--ac)}
.ns-contact-action-icon svg{width:18px;height:18px}
.ns-contact-action strong{font-size:.82rem}
.ns-contact-action span{font-size:.72rem;color:var(--mt);line-height:1.3}
.ns-contact-grid{display:grid;grid-template-columns:1fr 300px;gap:1.5rem;max-width:820px;margin:0 auto;align-items:start}
.ns-contact-form-wrap{min-width:0}
.ns-tpl-form-card{padding:1.35rem;background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);position:relative}
.ns-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.ns-form-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.7rem}
.ns-form-group label{font-size:.78rem;font-weight:700;color:var(--fg)}
.ns-form-group label span{color:#c62828}
.ns-form-group input,.ns-form-group textarea,.ns-form-group select{padding:.6rem .8rem;border:2px solid var(--bd2);border-radius:var(--r);background:var(--bg);color:var(--fg);font-size:.86rem;font-family:var(--f);outline:none;transition:border-color .2s,box-shadow .2s}
.ns-form-group input:focus,.ns-form-group textarea:focus,.ns-form-group select:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(10,110,44,.1)}
.ns-form-group textarea{resize:vertical}
.ns-touch-verify{border:2px solid var(--bd2);border-radius:var(--r);overflow:hidden;position:relative;user-select:none}
.ns-touch-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem;font-size:.82rem;font-weight:600;color:var(--mt);cursor:pointer;position:relative;z-index:1}
.ns-touch-btn svg{flex-shrink:0}
.ns-touch-progress{position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--ac);z-index:2}
.ns-touch-btn.ns-touch-ok{color:var(--ac)}
.ns-touch-btn.ns-touch-ok svg{color:var(--ac)}
.ns-cf-status{margin-top:.65rem;padding:.55rem .8rem;border-radius:var(--r);font-size:.82rem;display:none}
.ns-cf-ok{display:block;background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}
[data-theme="dark"] .ns-cf-ok{background:rgba(74,222,128,.08);color:#4ade80;border-color:rgba(74,222,128,.2)}
.ns-cf-err{display:block;background:#fce4ec;color:#c62828;border:1px solid #ef9a9a}
[data-theme="dark"] .ns-cf-err{background:rgba(244,114,182,.08);color:#f472b6;border-color:rgba(244,114,182,.2)}
.ns-contact-info{display:flex;flex-direction:column;gap:.85rem}
.ns-contact-expect{padding:1.1rem;background:var(--acl);border:1px solid rgba(10,110,44,.1);border-radius:var(--r)}
.ns-contact-expect h3{display:flex;align-items:center;gap:.35rem;font-size:.88rem;font-weight:800;margin:0 0 .7rem}
.ns-contact-expect h3 svg{color:var(--ac)}
.ns-contact-expect-item{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-bottom:1px solid rgba(10,110,44,.08)}
.ns-contact-expect-item:last-child{border-bottom:none}
.ns-contact-expect-item strong{font-size:.75rem;font-weight:700}
.ns-contact-expect-item span{font-size:.75rem;color:var(--fg2)}
.ns-contact-cards{display:flex;flex-direction:column;gap:.5rem}
.ns-contact-card{display:flex;align-items:center;gap:.65rem;padding:.75rem;background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r)}
.ns-contact-card-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--acl);border-radius:50%;color:var(--ac);flex-shrink:0}
.ns-contact-card-icon svg{width:16px;height:16px}
.ns-contact-card strong{font-size:.78rem;display:block;margin-bottom:.05rem}
.ns-contact-card a,.ns-contact-card span{font-size:.78rem;color:var(--fg2);text-decoration:none}
.ns-contact-card a:hover{color:var(--ac)}
.ns-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}
.ns-price-card{background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);padding:1.5rem;position:relative;text-align:center}
.ns-price-card--featured{border:2px solid var(--ac);transform:scale(1.03)}
.ns-price-tag{position:absolute;top:-.6rem;left:50%;transform:translateX(-50%);background:var(--ac);color:#fff;padding:.12rem .65rem;border-radius:2rem;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.ns-price-hdr h3{font-size:1.05rem;margin-bottom:.05rem}
.ns-price-hdr p{font-size:.76rem;color:var(--mt);margin:0 0 .65rem}
.ns-price-amount{margin-bottom:.85rem;line-height:1}
.ns-price-currency{font-size:1rem;font-weight:700;vertical-align:top}
.ns-price-num{font-size:2.1rem;font-weight:800;letter-spacing:-.02em}
.ns-price-period{font-size:.78rem;color:var(--mt)}
.ns-price-features{list-style:none;padding:0;margin:0 0 1.15rem;text-align:left}
.ns-price-features li{padding:.25rem 0;font-size:.8rem;border-bottom:1px solid var(--bd2)}
.ns-price-features li:last-child{border:none}
.ns-price-feat--no{color:var(--mt);text-decoration:line-through;opacity:.5}
.ns-price-btn{display:block;padding:.5rem;border-radius:var(--r);font-size:.84rem;font-weight:600;text-decoration:none;text-align:center;border:2px solid var(--ac);color:var(--ac);background:transparent;transition:background .15s,color .15s}
.ns-price-btn:hover{background:var(--ac);color:#fff}
.ns-price-btn--primary{background:var(--ac);color:#fff;border-color:var(--ac)}
.ns-price-btn--primary:hover{opacity:.9;color:#fff}
.ns-pg-stat-label{font-size:.75rem;color:var(--mt);display:block}
.ns-pg-stat-num{font-size:1.65rem;font-weight:800;color:var(--ac);line-height:1.2;display:block;margin-bottom:.1rem}
.ns-pg-grid{display:grid;gap:1rem}
.ns-pg-grid--2{grid-template-columns:repeat(2,1fr)}
.ns-pg-grid--3{grid-template-columns:repeat(3,1fr)}
.ns-pg-grid--4{grid-template-columns:repeat(4,1fr)}
.ns-pg-card{background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);padding:1.1rem 1.2rem}
.ns-pg-card--center{text-align:center}
.ns-pg-card--accent{border-left:3px solid var(--ac)}
.ns-pg-card--link{text-decoration:none;color:var(--fg);transition:box-shadow .15s,transform .15s}
.ns-pg-card--link:hover{box-shadow:var(--sh2);transform:translateY(-2px);color:var(--fg)}
.ns-pg-card-icon{display:block;font-size:1.65rem;margin-bottom:.35rem;line-height:1}
.ns-pg-card h3{font-size:.9rem;margin-bottom:.2rem}
.ns-pg-card p{font-size:.8rem;color:var(--fg2);margin:0;line-height:1.55}
.ns-pg-card strong{font-size:.86rem;display:block;margin-bottom:.15rem}
.ns-pg-card-link{display:inline-block;font-size:.8rem;font-weight:600;color:var(--ac);text-decoration:none;margin-top:.45rem}
.ns-pg-card-link:hover{text-decoration:underline}
.ns-sm-section{background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);padding:1.25rem 1.5rem}
.ns-sm-section h2{font-size:1.05rem;margin-bottom:.6rem;padding-bottom:.35rem;border-bottom:2px solid var(--ac)}
.ns-sm-section ul{list-style:none;padding:0;margin:0;columns:2;column-gap:1.5rem}
.ns-sm-wide ul{columns:3}
.ns-sm-section li{padding:.2rem 0;font-size:.82rem;break-inside:avoid}
.ns-sm-section li a{text-decoration:none;color:var(--fg)}
.ns-sm-section li a:hover{color:var(--ac)}
.ns-sm-date{font-size:.7rem;color:var(--mt);margin-left:.3rem}
.ns-landing{background:var(--bg)}
.ns-landing-main{padding:2.5rem 0;min-height:80vh}
.ns-landing-content{max-width:720px;margin:0 auto}
.ns-fullwidth-content{max-width:780px;margin:0 auto}
.ns-list-layout{display:flex;flex-direction:column}
.ns-list-item{display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid var(--bd2)}
.ns-list-item:first-child{padding-top:0}
.ns-list-item:last-child{border-bottom:none}
.ns-list-num{font-size:1.4rem;font-weight:800;color:var(--bd);line-height:1;min-width:26px;text-align:center;padding-top:.1rem}
.ns-list-body{flex:1;min-width:0}
.ns-list-title{font-size:.95rem;margin-bottom:.1rem}
.ns-list-title a{color:var(--fg);text-decoration:none}
.ns-list-title a:hover{color:var(--ac)}
.ns-list-exc{font-size:.8rem;color:var(--mt);margin:.15rem 0 0;line-height:1.45}
.ns-list-thumb{flex-shrink:0;width:95px;height:66px;border-radius:var(--r);overflow:hidden;background:var(--bg2)}
.ns-list-thumb img{width:100%;height:100%;object-fit:cover}
.ns-list-thumb-sm{width:75px;height:52px}
.ns-list-item-sm{padding:.7rem 0}
.ns-list-item-sm .ns-list-title{font-size:.88rem}
.ns-feat-layout{display:flex;flex-direction:column;gap:1.15rem}
.ns-feat-hero-card{background:var(--cd);border:1px solid var(--bd2);border-radius:var(--r);overflow:hidden}
.ns-fhc-img{display:block;aspect-ratio:16/8;overflow:hidden;background:var(--bg2)}
.ns-fhc-img img{width:100%;height:100%;object-fit:cover}
.ns-fhc-body{padding:1.15rem 1.35rem}
.ns-fhc-body h2{font-size:1.2rem;margin-bottom:.3rem}
.ns-fhc-body h2 a{color:var(--fg);text-decoration:none}
.ns-fhc-body h2 a:hover{color:var(--ac)}
.ns-fhc-body p{font-size:.86rem;color:var(--mt);margin-bottom:.4rem}
.ns-feat-rest{display:flex;flex-direction:column}
@media(max-width:900px){.ns-tpl-standards{grid-template-columns:1fr}.ns-tpl-contact-links{grid-template-columns:1fr 1fr}.ns-contact-actions{grid-template-columns:repeat(2,1fr)}.ns-contact-grid{grid-template-columns:1fr}.ns-price-grid{grid-template-columns:1fr}.ns-price-card--featured{transform:none}.ns-pg-grid--3,.ns-pg-grid--4{grid-template-columns:repeat(2,1fr)}.ns-faq-nav{grid-template-columns:repeat(2,1fr)}.ns-sm-wide ul{columns:2}}
@media(max-width:768px){.ns-tpl-hero{padding:2.5rem 0 2rem}.ns-tpl-hero h1{font-size:1.7rem}.ns-tpl-stats-bar{flex-wrap:wrap;gap:1.25rem;padding:1.25rem}.ns-tpl-section--muted{margin-left:-.85rem;margin-right:-.85rem;padding:2rem .85rem}.ns-tpl-contact-links{grid-template-columns:1fr}.ns-contact-actions{grid-template-columns:1fr}.ns-form-row{grid-template-columns:1fr}.ns-pg-grid--2,.ns-pg-grid--3,.ns-pg-grid--4{grid-template-columns:1fr}.ns-faq-nav{grid-template-columns:1fr}.ns-tpl-faq-a{padding-left:1.1rem}.ns-sm-section ul,.ns-sm-wide ul{columns:1}.ns-list-thumb{width:80px;height:56px}.ns-fhc-body{padding:1rem}}
@media(max-width:480px){.ns-tpl-stats-bar{flex-direction:column;gap:.85rem}.ns-sm-wide ul{columns:1}}

/* ======== ARCHIVE / SEARCH / TAG / AUTHOR HERO ======== */
.ns-ah{padding:1.5rem 0;text-align:center;border-bottom:1px solid var(--bd2);margin-bottom:1.5rem}
.ns-ah h1{font-size:clamp(1.2rem,3vw,1.6rem);font-weight:800;margin:0 0 .3rem;color:var(--fg)}
.ns-ah p{font-size:.88rem;color:var(--fg2);margin:.25rem 0 0;line-height:1.5}

/* ======== AUTHOR PAGE ======== */
.ns-author-page{display:flex;gap:1rem;align-items:center;justify-content:center;padding:1rem;background:var(--bg2);border-radius:var(--r);border:1px solid var(--bd2)}
@media(max-width:600px){.ns-author-page{flex-direction:column;text-align:center}}

/* ======== HEADER ICONS ======== */
.ns-logo-img{display:block;border-radius:4px}
.ns-sun,.ns-moon{width:20px;height:20px;display:block;transition:opacity .2s}
[data-theme="dark"] .ns-sun{display:none}
[data-theme="dark"] .ns-moon{display:block!important}

/* ======== FULLWIDTH / LANDING TEMPLATES ======== */
.ns-page-hero{padding:2rem 0 1.5rem;text-align:center;border-bottom:1px solid var(--bd2);margin-bottom:1.5rem}
.ns-page-hero h1{font-size:clamp(1.3rem,3vw,1.8rem);font-weight:800;margin:0;color:var(--fg)}

/* ======== DATE (functions.php) ======== */
.ns-date{font-size:.78rem;color:var(--fg2)}
.ns-load-more-spinner{display:none;width:20px;height:20px;border:2px solid var(--bd2);border-top-color:var(--ac);border-radius:50%;animation:tma-spin .6s linear infinite;margin:0 auto .5rem}
.ns-load-more-text{font-size:.82rem;color:var(--fg2)}

/* ======== JS-ADDED / EDGE CLASSES ======== */
.ns-share__copy{cursor:pointer}
.ns-copy-url{font-size:.78rem;color:var(--fg2)}
.ns-lb-img{max-width:90vw;max-height:85vh;border-radius:8px}
.ns-opt-row{display:flex;gap:.5rem;flex-wrap:wrap}



/* ======== FOOTER MOBILE LINKS (chevron + dividers) ======== */
@media(max-width:768px){
.ns-ftr-col ul{padding:0;margin:0}
.ns-ftr-col li{list-style:none;margin:0}
.ns-ftr-col li a{display:flex;align-items:center;justify-content:space-between;padding:.6rem .15rem .6rem 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.85rem;color:#bfc2c7;text-decoration:none;transition:color .15s,padding-left .15s}
.ns-ftr-col li:last-child a{border-bottom:none}
.ns-ftr-col li a:hover{color:#fff;padding-left:.2rem}
.ns-ftr-col li a::after{content:"";width:5px;height:5px;border-right:1.5px solid rgba(255,255,255,.25);border-bottom:1.5px solid rgba(255,255,255,.25);transform:rotate(-45deg);flex-shrink:0;transition:border-color .15s}
.ns-ftr-col li a:hover::after{border-color:rgba(255,255,255,.5)}
}

@media(max-width:480px){.ns-w{padding:0 .85rem}.ns-content{font-size:.92rem}.ns-app-btns{flex-direction:column;width:100%}.ns-app-btn{justify-content:center;width:100%}.ns-hero-actions{flex-direction:column}.ns-hero-btn,.ns-hero-btn-alt{width:100%;justify-content:center}.ns-si{width:34px;height:34px}}
/* ═══════ STUDENT PORTAL INTEGRATION ═══════ */
/* Header login button */
.ns-portal-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;font-size:.82rem;font-weight:700;text-decoration:none;transition:all .15s;margin-left:12px;flex-shrink:0}
.ns-portal-login{background:var(--ns-ac,#0a6e2c)!important;color:#fff!important;border:1.5px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.ns-portal-login:hover{opacity:.9;transform:translateY(-1px)}
.ns-portal-login svg{flex-shrink:0;width:15px;height:15px;background:rgba(255,255,255,.2);padding:3px;border-radius:50%;width:22px;height:22px}
.ns-portal-logged{background:var(--ns-ac,#0a6e2c)!important;color:#fff!important;border:1.5px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.ns-portal-logged:hover{opacity:.9}
.ns-portal-avatar{font-size:.85rem;flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.2);border-radius:50%}
.ns-portal-btn-text{font-size:.78rem}
@media(max-width:768px){.ns-portal-btn .ns-portal-btn-text{display:none}.ns-portal-login{padding:8px 10px}}

/* ======== HEADER USER DROPDOWN ======== */
.ns-user-dd{position:relative;margin-left:12px;flex-shrink:0}
.ns-user-btn{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 5px;background:var(--ns-ac,#0a6e2c);border:1.5px solid rgba(255,255,255,.3);border-radius:40px;cursor:pointer;font-family:inherit;color:#fff;transition:all .15s}
.ns-user-btn:hover{opacity:.9}
.ns-user-av{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;color:#fff;flex-shrink:0}
.ns-user-name{font-size:.78rem;font-weight:700;color:#fff}
.ns-user-chev{font-size:.7rem;color:rgba(255,255,255,.6);transition:transform .2s}
.ns-user-dd.open .ns-user-chev{transform:rotate(180deg)}
[data-theme="dark"] .ns-user-btn{background:#fff;color:#111;border-color:#fff}
[data-theme="dark"] .ns-user-av{background:rgba(0,0,0,.1);color:#111}
[data-theme="dark"] .ns-user-name{color:#111}
[data-theme="dark"] .ns-user-chev{color:rgba(0,0,0,.4)}

.ns-user-menu{position:absolute;top:calc(100% + 8px);right:0;width:260px;background:var(--bg);border:1px solid var(--bd2);border-radius:14px;box-shadow:0 10px 40px rgba(0,0,0,.12),0 0 1px rgba(0,0,0,.08);padding:6px;display:none;z-index:999}
.ns-user-dd.open .ns-user-menu{display:block}
[data-theme="dark"] .ns-user-menu{background:#1e1e1e;border-color:#333;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.ns-um-hdr{padding:12px 14px;border-bottom:1px solid var(--bd2);margin-bottom:4px}
.ns-um-fullname{font-size:.88rem;font-weight:700;color:var(--fg)}
.ns-um-email{font-size:.72rem;color:var(--fg2);margin-top:2px}
.ns-um-item{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;font-size:.82rem;font-weight:600;color:var(--fg2);text-decoration:none;transition:.15s}
.ns-um-item:hover{background:rgba(10,110,44,.06);color:var(--ns-ac,#0a6e2c)}
[data-theme="dark"] .ns-um-item:hover{background:rgba(74,222,128,.06);color:#4ade80}
.ns-um-divider{height:1px;background:var(--bd2);margin:4px 8px}
.ns-um-logout{color:#ef4444!important}
.ns-um-logout:hover{background:rgba(239,68,68,.06)!important;color:#dc2626!important}
@media(max-width:768px){.ns-user-name{display:none}.ns-user-chev{display:none}.ns-user-btn{padding:4px;border:none;background:transparent}.ns-user-av{width:32px;height:32px;background:var(--ns-ac,#0a6e2c)}}

/* Dark mode for header button */
[data-theme="dark"] .ns-portal-login{background:#fff!important;color:#111!important;border-color:#fff}
[data-theme="dark"] .ns-portal-login:hover{background:#e5e5e5!important}
[data-theme="dark"] .ns-portal-logged{background:#fff!important;color:#111!important;border-color:#fff}
[data-theme="dark"] .ns-portal-logged:hover{background:#e5e5e5!important}

/* ═══════ PORTAL CTA SECTION ═══════ */
.ns-portal-cta{padding:0;margin-bottom:24px}
.ns-portal-cta-inner{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:36px 40px;background:linear-gradient(135deg,#052e16 0%,#064e3b 40%,#047857 100%);border-radius:20px;overflow:hidden;position:relative;box-shadow:0 8px 32px rgba(4,120,87,.2)}
.ns-portal-cta-inner::before{content:'';position:absolute;top:-60%;right:-15%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.06),transparent 70%);pointer-events:none}
.ns-portal-cta-badge{display:inline-block;padding:4px 12px;background:rgba(255,255,255,.12);border-radius:20px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#a7f3d0;margin-bottom:12px}
.ns-portal-cta-text{position:relative;z-index:1}
.ns-portal-cta-text h2{font-size:1.5rem;font-weight:900;color:#fff!important;margin:0 0 8px;line-height:1.2;letter-spacing:-.02em}
.ns-portal-cta-text p{font-size:.88rem;color:#d1fae5;margin:0 0 20px;line-height:1.5;max-width:480px}
.ns-portal-cta-actions{display:flex;gap:10px;flex-wrap:wrap}
.ns-portal-cta-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 24px;background:#fff!important;color:#064e3b!important;border-radius:10px;font-size:.88rem;font-weight:700;text-decoration:none;transition:all .15s;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.ns-portal-cta-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.2)}
.ns-portal-cta-btn-alt{display:inline-flex;align-items:center;padding:12px 24px;background:transparent!important;color:#fff!important;border:2px solid rgba(255,255,255,.3);border-radius:10px;font-size:.88rem;font-weight:700;text-decoration:none;transition:all .15s}
.ns-portal-cta-btn-alt:hover{border-color:#fff;background:rgba(255,255,255,.08)!important}
.ns-portal-cta-tools{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;position:relative;z-index:1}
.ns-portal-tool-pill{display:flex;align-items:center;gap:8px;padding:12px 16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:12px;font-size:.82rem;font-weight:600;color:#fff!important;white-space:nowrap;backdrop-filter:blur(4px)}
.ns-portal-tool-pill span{font-size:1.1rem}
@media(max-width:768px){
.ns-portal-cta-inner{grid-template-columns:1fr;gap:24px;padding:28px 24px}
.ns-portal-cta-tools{grid-template-columns:repeat(3,1fr);gap:6px}
.ns-portal-tool-pill{padding:10px 12px;font-size:.74rem}
.ns-portal-cta-text h2{font-size:1.2rem}
}

/* Dark mode CTA */
[data-theme="dark"] .ns-portal-cta-inner{background:linear-gradient(135deg,#0a0a0a,#111 40%,#1a3a2a)}
[data-theme="dark"] .ns-portal-cta-btn{background:#22c55e!important;color:#052e16!important}


/* ======== LIVE SEARCH RESULTS ======== */
.ns-live-results{display:none;max-height:420px;overflow-y:auto;padding:8px 0;border-top:1px solid var(--bd2)}
.ns-live-results.active{display:block}
.ns-lr-item{display:flex;align-items:center;gap:12px;padding:10px 16px;text-decoration:none;transition:background .12s;border-radius:8px;margin:2px 4px}
.ns-lr-item:hover{background:rgba(10,110,44,.04)}
[data-theme="dark"] .ns-lr-item:hover{background:rgba(74,222,128,.06)}
.ns-lr-thumb{width:48px;height:48px;border-radius:8px;background:var(--bd2);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;color:var(--fg3)}
.ns-lr-thumb img{width:100%;height:100%;object-fit:cover}
.ns-lr-body{flex:1;min-width:0}
.ns-lr-title{font-size:.86rem;font-weight:700;color:var(--fg);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ns-lr-meta{font-size:.72rem;color:var(--fg3);margin-top:2px;display:flex;align-items:center;gap:6px}
.ns-lr-cat{display:inline-block;padding:1px 7px;background:rgba(10,110,44,.08);color:var(--ac);border-radius:4px;font-size:.64rem;font-weight:700}
[data-theme="dark"] .ns-lr-cat{background:rgba(74,222,128,.08);color:#4ade80}
.ns-lr-more{display:block;padding:12px 16px;text-align:center;font-size:.82rem;font-weight:700;color:var(--ac);text-decoration:none;border-top:1px solid var(--bd2);margin-top:4px}
.ns-lr-more:hover{background:rgba(10,110,44,.04)}
.ns-lr-empty{padding:24px 16px;text-align:center;font-size:.86rem;color:var(--fg3)}
.ns-lr-empty strong{color:var(--fg)}
.ns-lr-loading{padding:20px 16px;text-align:center;font-size:.84rem;color:var(--fg3);display:flex;align-items:center;justify-content:center;gap:8px}
.ns-lr-spinner{width:16px;height:16px;border:2px solid var(--bd2);border-top-color:var(--ac);border-radius:50%;animation:nsLrSpin .6s linear infinite}
@keyframes nsLrSpin{to{transform:rotate(360deg)}}


/* ======== COUNTDOWN — SIDEBAR STYLE ======== */
.ns-cd-sidebar{background:var(--bg);border:1px solid var(--bd2);border-radius:var(--r);padding:1rem;margin-bottom:1rem}
.ns-cd-sb-list{display:flex;flex-direction:column;gap:0}
.ns-cd-sb-item{display:flex;align-items:center;gap:10px;padding:.65rem 0;border-bottom:1px solid var(--bd2)}
.ns-cd-sb-item:last-child{border-bottom:none}
.ns-cd-sb-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.ns-cd-sb-dot.green{background:#059669}
.ns-cd-sb-dot.amber{background:#f59e0b}
.ns-cd-sb-dot.red{background:#ef4444}
.ns-cd-sb-dot.blue{background:#3b82f6}
.ns-cd-sb-info{flex:1;min-width:0}
.ns-cd-sb-info strong{font-size:.8rem;color:var(--fg);display:block;line-height:1.3;font-weight:700}
.ns-cd-sb-info small{font-size:.7rem;color:var(--fg3)}
.ns-cd-sb-badge{font-size:.68rem;font-weight:800;color:#047857;background:#ecfdf5;padding:3px 9px;border-radius:6px;white-space:nowrap;flex-shrink:0}
[data-theme="dark"] .ns-cd-sb-badge{background:rgba(5,150,105,.1);color:#34d399}
.ns-cd-sb-link{display:block;text-align:center;padding:.65rem 0 0;margin-top:.5rem;border-top:1px solid var(--bd2);font-size:.8rem;font-weight:700;color:var(--ac);text-decoration:none}
.ns-cd-sb-link:hover{text-decoration:underline}

/* ======== COUNTDOWN — BANNER STYLE (homepage/posts) ======== */
.ns-cd-banner{background:var(--bg);border:1.5px solid var(--bd2);border-radius:var(--r);overflow:hidden;margin:1.5rem 0}
.ns-cd-banner-hdr{background:linear-gradient(135deg,#052e16,#064E3B);color:#fff;padding:.85rem 1.25rem;font-size:.9rem;font-weight:800;display:flex;align-items:center;gap:8px}
[data-theme="dark"] .ns-cd-banner-hdr{background:linear-gradient(135deg,#0a1f14,#0d2618)}
.ns-cd-banner-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;padding:0}
.ns-cd-banner-item{padding:1rem 1.25rem;border-right:1px solid var(--bd2);border-bottom:1px solid var(--bd2);text-align:center;transition:background .15s}
.ns-cd-banner-item:hover{background:rgba(5,150,105,.03)}
[data-theme="dark"] .ns-cd-banner-item:hover{background:rgba(52,211,153,.03)}
.ns-cd-b-title{font-size:.78rem;font-weight:700;color:var(--fg);margin-bottom:.5rem;line-height:1.3}
.ns-cd-b-countdown{font-size:1.3rem;font-weight:900;margin-bottom:.25rem}
.ns-cd-b-countdown strong{font-variant-numeric:tabular-nums}
.ns-cd-b-green .ns-cd-b-countdown{color:#047857}
.ns-cd-b-amber .ns-cd-b-countdown{color:#b45309}
.ns-cd-b-red .ns-cd-b-countdown{color:#b91c1c}
.ns-cd-b-blue .ns-cd-b-countdown{color:#1d4ed8}
[data-theme="dark"] .ns-cd-b-green .ns-cd-b-countdown{color:#34d399}
[data-theme="dark"] .ns-cd-b-amber .ns-cd-b-countdown{color:#fbbf24}
[data-theme="dark"] .ns-cd-b-red .ns-cd-b-countdown{color:#f87171}
[data-theme="dark"] .ns-cd-b-blue .ns-cd-b-countdown{color:#60a5fa}
.ns-cd-b-date{font-size:.7rem;color:var(--fg3)}
.ns-cd-banner-foot{padding:.7rem 1.25rem;border-top:1px solid var(--bd2);text-align:center}
.ns-cd-banner-foot a{font-size:.82rem;font-weight:700;color:var(--ac);text-decoration:none}
.ns-cd-banner-foot a:hover{text-decoration:underline}
@media(max-width:480px){.ns-cd-banner-items{grid-template-columns:1fr 1fr}}

/* Skeleton loading shimmer */
.ns-lr-skeleton{display:flex;align-items:center;gap:12px;padding:12px 16px}
.ns-lr-sk-thumb{width:48px;height:48px;border-radius:8px;background:var(--bd2);flex-shrink:0}
.ns-lr-sk-body{flex:1}
.ns-lr-sk-line{height:12px;border-radius:6px;background:var(--bd2);margin-bottom:8px}
.ns-lr-sk-title{width:75%}
.ns-lr-sk-meta{width:45%;height:10px}
.ns-lr-skeleton .ns-lr-sk-thumb,.ns-lr-skeleton .ns-lr-sk-line{background:linear-gradient(90deg,var(--bd2) 25%,rgba(0,0,0,.04) 50%,var(--bd2) 75%);background-size:400% 100%;animation:nsShimmer 1.5s ease-in-out infinite}
[data-theme="dark"] .ns-lr-skeleton .ns-lr-sk-thumb,[data-theme="dark"] .ns-lr-skeleton .ns-lr-sk-line{background:linear-gradient(90deg,rgba(255,255,255,.04) 25%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.04) 75%);background-size:400% 100%;animation:nsShimmer 1.5s ease-in-out infinite}
@keyframes nsShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media(max-width:768px){.ns-search-ov{padding-top:6vh}.ns-search-bx{width:94%;max-width:none}.ns-live-results{max-height:55vh}}


/* ══════════════════════
   STORE PROMO — HOMEPAGE
   ══════════════════════ */
.ns-store-promo{padding:3.5rem 0;background:linear-gradient(170deg,#f0fdf4 0%,#ecfdf5 50%,#f8faf9 100%);border-top:1px solid #d1fae5;border-bottom:1px solid #d1fae5}
[data-theme="dark"] .ns-store-promo{background:linear-gradient(170deg,rgba(5,150,105,.04) 0%,rgba(5,150,105,.02) 50%,var(--bg) 100%);border-color:#1e3a2f}

.ns-sp-header{text-align:center;margin-bottom:2rem}
.ns-sp-badge{display:inline-block;padding:.3rem .9rem;background:#fff;border:1.5px solid #d1fae5;border-radius:2rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#047857;margin-bottom:.75rem}
[data-theme="dark"] .ns-sp-badge{background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.15);color:#6ee7b7}
.ns-sp-title{font-size:1.6rem;font-weight:800;color:var(--tx);margin:0 0 .4rem;letter-spacing:-.02em}
.ns-sp-desc{font-size:.88rem;color:var(--mt);margin:0;max-width:460px;margin-left:auto;margin-right:auto;line-height:1.65}

.ns-sp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:700px;margin:0 auto 2rem}
.ns-sp-card{background:var(--bg);border:1.5px solid var(--bd);border-radius:.875rem;padding:1.25rem 1rem;text-align:center;transition:.25s;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.ns-sp-card:hover{border-color:#059669;box-shadow:0 8px 24px rgba(5,150,105,.08);transform:translateY(-2px)}
[data-theme="dark"] .ns-sp-card:hover{box-shadow:0 8px 24px rgba(52,211,153,.05)}
.ns-sp-card-icon{transition:transform .3s}
.ns-sp-card:hover .ns-sp-card-icon{transform:scale(1.06)}
.ns-sp-card-info strong{display:block;font-size:.88rem;font-weight:800;color:var(--tx);font-family:'SF Mono',SFMono-Regular,Consolas,monospace;letter-spacing:.02em}
.ns-sp-card-info span{font-size:.8rem;font-weight:700;color:#059669}
[data-theme="dark"] .ns-sp-card-info span{color:#34d399}

.ns-sp-cta{text-align:center}
.ns-sp-btn{display:inline-block;padding:.8rem 2rem;background:#052e16;color:#fff;border-radius:.75rem;font-size:.88rem;font-weight:700;text-decoration:none;transition:.2s;box-shadow:0 4px 16px rgba(5,46,22,.15)}
.ns-sp-btn:hover{background:#064E3B;box-shadow:0 6px 24px rgba(5,46,22,.2);transform:translateY(-1px);color:#fff}
[data-theme="dark"] .ns-sp-btn{background:#059669;box-shadow:0 4px 16px rgba(5,150,105,.2)}
[data-theme="dark"] .ns-sp-btn:hover{background:#047857}

@media(max-width:600px){
    .ns-store-promo{padding:2.5rem 0}
    .ns-sp-title{font-size:1.3rem}
    .ns-sp-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;max-width:none;padding:0 .5rem}
    .ns-sp-card{padding:1rem .75rem}
    .ns-sp-card-info strong{font-size:.8rem}
}
@media(min-width:601px) and (max-width:900px){
    .ns-sp-grid{grid-template-columns:repeat(4,1fr);max-width:600px}
}

/* ══════════════════════
   STORE PROMO — SINGLE POST
   ══════════════════════ */
.ns-sp-inline{margin:2rem 0;padding:1.5rem;background:var(--bg);border:1.5px solid #d1fae5;border-radius:1rem;position:relative;overflow:hidden}
.ns-sp-inline::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#059669,#34d399,#059669);border-radius:1rem 1rem 0 0}
[data-theme="dark"] .ns-sp-inline{border-color:#1e3a2f;background:#171a1e}

.ns-sp-inline-hdr{margin-bottom:1rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.ns-sp-inline-badge{font-size:.7rem;font-weight:700;color:#047857;background:#ecfdf5;padding:.2rem .6rem;border-radius:.35rem;letter-spacing:.02em}
[data-theme="dark"] .ns-sp-inline-badge{background:rgba(52,211,153,.08);color:#6ee7b7}
.ns-sp-inline-hdr strong{font-size:.92rem;color:var(--tx);font-weight:700}

.ns-sp-inline-items{display:flex;gap:.7rem;margin-bottom:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.ns-sp-inline-item{display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;background:var(--bg);border:1.5px solid var(--bd);border-radius:.7rem;text-decoration:none;transition:.2s;flex-shrink:0;min-width:120px}
.ns-sp-inline-item:hover{border-color:#059669;box-shadow:0 4px 12px rgba(5,150,105,.06);transform:translateY(-1px)}
[data-theme="dark"] .ns-sp-inline-item{background:#1e2128;border-color:#2a2e36}
[data-theme="dark"] .ns-sp-inline-item:hover{border-color:#34d399}
.ns-sp-inline-item div{display:flex;flex-direction:column}
.ns-sp-inline-item strong{font-size:.82rem;font-weight:800;color:var(--tx);font-family:'SF Mono',SFMono-Regular,Consolas,monospace;letter-spacing:.02em;line-height:1.2}
.ns-sp-inline-item span{font-size:.72rem;font-weight:700;color:#059669}
[data-theme="dark"] .ns-sp-inline-item span{color:#34d399}

.ns-sp-inline-cta{display:inline-block;font-size:.82rem;font-weight:700;color:#047857;text-decoration:none;transition:.15s}
.ns-sp-inline-cta:hover{color:#052e16;text-decoration:underline}
[data-theme="dark"] .ns-sp-inline-cta{color:#34d399}
[data-theme="dark"] .ns-sp-inline-cta:hover{color:#6ee7b7}

@media(max-width:600px){
    .ns-sp-inline{padding:1.2rem;margin:1.5rem 0}
    .ns-sp-inline-items{gap:.5rem}
    .ns-sp-inline-item{padding:.5rem .7rem;min-width:105px}
    .ns-sp-inline-item svg{width:22px;height:28px}
    .ns-sp-inline-item strong{font-size:.76rem}
}


/* ── Sidebar Business Plan Promo ── */
.ns-sidebar-bp{padding:1.25rem;background:linear-gradient(145deg,#eff6ff,#dbeafe);border:1.5px solid #bfdbfe;border-radius:.875rem;margin-bottom:1.25rem}
[data-theme="dark"] .ns-sidebar-bp{background:linear-gradient(145deg,rgba(37,99,235,.06),rgba(37,99,235,.03));border-color:rgba(96,165,250,.15)}
.ns-sbp-badge{font-size:.68rem;font-weight:700;color:#2563eb;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}
[data-theme="dark"] .ns-sbp-badge{color:#60a5fa}
.ns-sidebar-bp strong{display:block;font-size:.92rem;color:var(--tx);margin-bottom:.3rem}
.ns-sidebar-bp p{font-size:.8rem;color:var(--mt);line-height:1.55;margin:0 0 .75rem}
.ns-sbp-btn{display:block;text-align:center;padding:.65rem 1rem;background:#2563eb;color:#fff;border-radius:.5rem;font-size:.8rem;font-weight:700;text-decoration:none;transition:.2s}
.ns-sbp-btn:hover{background:#1d4ed8;color:#fff}

/* ═══════════════════════════════════════════════════════════════════════════
   v16.6.0 — BOLD MODE for Advertise + TMA Practice
   Mirrors the portal plugin's Hub / Business Plan / Exam Summaries pages:
   edge-to-edge dark aurora canvas, hidden breadcrumb, bold typography.
   All rules scoped to body.nsp-advertise-page / body.nsp-tma-page.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Shared canvas tokens for both pages */
body.nsp-advertise-page,
body.nsp-tma-page{
    --bd-bg:#0a1024;
    --bd-bg2:#0f1730;
    --bd-fg:#ffffff;
    --bd-fg2:#e5e7eb;
    --bd-fg3:#cbd5e1;
    --bd-card:#ffffff;
    --bd-card-fg:#0f172a;
    --bd-card-fg2:#475569;          /* 7.59:1 on white — AAA */
    --bd-card-bd:#e2e8f0;
    --bd-card-bd-hover:#34d399;
    --bd-accent:#34d399;
    --bd-r:16px;
}
body.nsp-advertise-page[data-theme="dark"],
body.nsp-tma-page[data-theme="dark"],
html[data-theme="dark"] body.nsp-advertise-page,
html[data-theme="dark"] body.nsp-tma-page{
    --bd-card:#1a1d24;
    --bd-card-fg:#f5f5f5;
    --bd-card-fg2:#b3b3b3;          /* 7.31:1 on #1a1d24 — AAA */
    --bd-card-bd:#262a30;
}

/* ───── Shared full-bleed treatment ───── */
body.nsp-advertise-page .ns-bc-bar,
body.nsp-tma-page .ns-bc-bar{display:none!important}

body.nsp-advertise-page .ns-main,
body.nsp-tma-page .ns-main{padding:0!important}

body.nsp-advertise-page .ns-main > .ns-w,
body.nsp-tma-page .ns-main > .ns-w{
    max-width:none!important;padding:0!important;margin:0!important;width:100%!important;
}

body.nsp-advertise-page .ns-main article,
body.nsp-advertise-page .ns-main article.page,
body.nsp-advertise-page .ns-main article[id^="page-"],
body.nsp-tma-page .ns-main article,
body.nsp-tma-page .ns-main article.page,
body.nsp-tma-page .ns-main article[id^="page-"]{
    margin:0!important;padding:0!important;background:transparent!important;border:0!important;
}

body.nsp-advertise-page .ns-entry-hdr,
body.nsp-advertise-page .entry-header,
body.nsp-advertise-page .page-header,
body.nsp-tma-page .ns-entry-hdr,
body.nsp-tma-page .entry-header,
body.nsp-tma-page .page-header{display:none!important}

/* ═══════════════════════════════════════════════════════════════════════════
   ADVERTISE PAGE — full treatment (we own the template)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Apply the dark aurora canvas to <main> on the advertise page */
body.nsp-advertise-page #main-content,
body.nsp-advertise-page main.ns-main{
    background:radial-gradient(ellipse at top, var(--bd-bg2) 0%, var(--bd-bg) 60%)!important;
    color:var(--bd-fg)!important;
    min-height:100vh;
    position:relative;overflow:hidden;
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
body.nsp-advertise-page #main-content::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
        radial-gradient(600px circle at 20% 0%, rgba(52,211,153,.10), transparent 60%),
        radial-gradient(800px circle at 80% 0%, rgba(96,165,250,.10), transparent 60%);
    z-index:0;
}

/* All direct content sits ABOVE the aurora layer */
body.nsp-advertise-page #main-content > *{position:relative;z-index:1}

/* Inner content cap so cards don't sprawl on ultra-wide screens */
body.nsp-advertise-page #main-content > .ns-w{max-width:1200px!important;margin:0 auto!important;padding:0 24px 80px!important;width:100%}

/* HERO — replace the green-tinted hero with bold dark hero */
body.nsp-advertise-page .ns-pg-hero,
body.nsp-advertise-page .ns-pg-hero--green{
    background:transparent!important;
    padding:72px 24px 32px!important;
    text-align:center;
    border:0!important;
    color:#fff!important;
}
body.nsp-advertise-page .ns-pg-hero .ns-w{max-width:880px!important;margin:0 auto!important}
body.nsp-advertise-page .ns-pg-badge{
    display:inline-block!important;
    font-size:.78rem!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase!important;
    color:#34d399!important;
    background:rgba(52,211,153,.12)!important;
    border:1.5px solid rgba(52,211,153,.35)!important;
    padding:8px 18px!important;border-radius:999px!important;
    margin-bottom:20px!important;box-shadow:none!important;
}
body.nsp-advertise-page .ns-pg-hero h1{
    font-size:clamp(2rem,5.4vw,4rem)!important;
    font-weight:900!important;line-height:1.05!important;letter-spacing:-.03em!important;
    margin:0 0 18px!important;color:#fff!important;
}
body.nsp-advertise-page .ns-pg-hero-sub{
    font-size:clamp(1rem,1.6vw,1.18rem)!important;
    color:#e5e7eb!important;line-height:1.6!important;
    max-width:740px!important;margin:0 auto!important;font-weight:500!important;
}
body.nsp-advertise-page .ns-pg-cta-btn,
body.nsp-advertise-page .ns-pg-cta-btn--tg{
    background:linear-gradient(135deg,#34d399,#2ed99a)!important;
    color:#052e16!important;font-weight:800!important;
    padding:14px 28px!important;border-radius:12px!important;
    box-shadow:0 4px 14px rgba(52,211,153,.32)!important;
    text-decoration:none!important;
    transition:transform .15s,box-shadow .15s;
}
body.nsp-advertise-page .ns-pg-cta-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 6px 20px rgba(52,211,153,.45)!important;
}

/* SECTIONS — neutralise the theme's banded background, restyle headers */
body.nsp-advertise-page .ns-pg-section{
    background:transparent!important;
    border:0!important;
    padding:48px 0!important;margin:0!important;
}
body.nsp-advertise-page .ns-pg-section--alt{
    background:rgba(255,255,255,.03)!important;
    border:1.5px solid rgba(255,255,255,.08)!important;
    border-radius:var(--bd-r)!important;
    margin:32px 0!important;padding:48px 32px!important;
}
body.nsp-advertise-page .ns-pg-section-hdr h2{
    font-size:clamp(1.5rem,3vw,2.2rem)!important;
    font-weight:900!important;letter-spacing:-.02em!important;
    color:#fff!important;margin:0 0 10px!important;
}
body.nsp-advertise-page .ns-pg-section-hdr p{
    color:var(--bd-fg2)!important;font-size:1rem!important;
}

/* GRID + CARDS */
body.nsp-advertise-page .ns-pg-card{
    background:var(--bd-card)!important;
    color:var(--bd-card-fg)!important;
    border:1.5px solid var(--bd-card-bd)!important;
    border-radius:var(--bd-r)!important;
    box-shadow:0 1px 3px rgba(0,0,0,.08),0 8px 28px rgba(0,0,0,.10)!important;
    padding:24px 22px!important;
    transition:transform .2s cubic-bezier(.22,.68,0,1),box-shadow .2s,border-color .2s;
    position:relative;overflow:hidden;
}
body.nsp-advertise-page .ns-pg-card--accent::before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
    background:linear-gradient(180deg,#34d399,#2ed99a);
    opacity:0;transition:opacity .2s;
}
body.nsp-advertise-page .ns-pg-card:hover{
    transform:translateY(-4px);
    border-color:var(--bd-card-bd-hover)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.12),0 24px 60px rgba(0,0,0,.18)!important;
}
body.nsp-advertise-page .ns-pg-card--accent:hover::before{opacity:1}
body.nsp-advertise-page .ns-pg-card h3{
    color:var(--bd-card-fg)!important;
    font-size:1.05rem!important;font-weight:800!important;letter-spacing:-.01em!important;
}
body.nsp-advertise-page .ns-pg-card p{color:var(--bd-card-fg2)!important;font-size:.92rem!important;line-height:1.55!important}
body.nsp-advertise-page .ns-pg-card-icon{
    display:inline-flex;align-items:center;justify-content:center;
    width:56px;height:56px;
    background:#ecfdf5!important;color:#0A5D44!important;
    border-radius:14px;font-size:1.7rem;margin-bottom:14px;
}
[data-theme="dark"] body.nsp-advertise-page .ns-pg-card-icon{background:rgba(52,211,153,.16)!important;color:#34d399!important}

/* Stat cards (4-up at top) */
body.nsp-advertise-page .ns-pg-card--center{text-align:center}
body.nsp-advertise-page .ns-pg-stat-num{
    display:block;
    font-size:clamp(1.8rem,3vw,2.4rem)!important;
    font-weight:900!important;letter-spacing:-.02em!important;
    color:#34d399!important;
    background:linear-gradient(135deg,#34d399,#60a5fa);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent!important;
    margin-bottom:4px;
}
body.nsp-advertise-page .ns-pg-stat-label{
    font-size:.84rem!important;font-weight:700!important;
    color:var(--bd-card-fg2)!important;letter-spacing:.02em;
}

/* PRICING CARDS */
body.nsp-advertise-page .ns-price-card{
    background:var(--bd-card)!important;
    color:var(--bd-card-fg)!important;
    border:1.5px solid var(--bd-card-bd)!important;
    border-radius:var(--bd-r)!important;
    box-shadow:0 1px 3px rgba(0,0,0,.08),0 8px 28px rgba(0,0,0,.10)!important;
}
body.nsp-advertise-page .ns-price-card:hover{
    border-color:var(--bd-card-bd-hover)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.12),0 24px 60px rgba(0,0,0,.18)!important;
}
body.nsp-advertise-page .ns-price-hdr h3{color:var(--bd-card-fg)!important;font-weight:900!important}
body.nsp-advertise-page .ns-price-hdr p{color:var(--bd-card-fg2)!important}
body.nsp-advertise-page .ns-price-amount{color:var(--bd-card-fg)!important}
body.nsp-advertise-page .ns-price-currency,
body.nsp-advertise-page .ns-price-num{color:#0A5D44!important;font-weight:900!important}
[data-theme="dark"] body.nsp-advertise-page .ns-price-currency,
[data-theme="dark"] body.nsp-advertise-page .ns-price-num{color:#34d399!important}
body.nsp-advertise-page .ns-price-period{color:var(--bd-card-fg2)!important}
body.nsp-advertise-page .ns-price-features li{color:var(--bd-card-fg2)!important}

/* Final CTA banner */
body.nsp-advertise-page .ns-pg-cta{
    background:linear-gradient(135deg,rgba(52,211,153,.14),rgba(96,165,250,.10))!important;
    border:1.5px solid rgba(52,211,153,.35)!important;
    border-radius:var(--bd-r)!important;
    padding:48px 32px!important;text-align:center;
    margin:32px 0 0!important;
}
body.nsp-advertise-page .ns-pg-cta h2{color:#fff!important;font-size:clamp(1.5rem,3vw,2.2rem)!important;font-weight:900!important}
body.nsp-advertise-page .ns-pg-cta p{color:var(--bd-fg2)!important;font-size:1.05rem!important}

/* ═══════════════════════════════════════════════════════════════════════════
   TMA PRACTICE PAGE — outer canvas only (inner content plugin-rendered)
   ═══════════════════════════════════════════════════════════════════════════ */
body.nsp-tma-page #main-content,
body.nsp-tma-page main.ns-main{
    background:radial-gradient(ellipse at top, var(--bd-bg2) 0%, var(--bd-bg) 60%)!important;
    color:var(--bd-fg);
    min-height:100vh;
    position:relative;
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
body.nsp-tma-page #main-content::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
        radial-gradient(600px circle at 20% 0%, rgba(52,211,153,.10), transparent 60%),
        radial-gradient(800px circle at 80% 0%, rgba(96,165,250,.10), transparent 60%);
    z-index:0;
}
body.nsp-tma-page #main-content > *{position:relative;z-index:1}

/* ═══════════════════════════════════════════════════════════════════════════
   Responsive shared
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width:960px){
    body.nsp-advertise-page .ns-pg-hero{padding:48px 18px 24px!important}
    body.nsp-advertise-page #main-content > .ns-w{padding:0 16px 56px!important}
    body.nsp-advertise-page .ns-pg-section{padding:32px 0!important}
    body.nsp-advertise-page .ns-pg-section--alt{padding:32px 20px!important}
}

@media (prefers-reduced-motion:reduce){
    body.nsp-advertise-page .ns-pg-card,
    body.nsp-advertise-page .ns-price-card{transition:none!important}
}

/* ═══════════════════════════════════════════════════════════════════
   v16.12.0 — Per-template style swappers: compact list card
   Used by archive.php and search.php when archive_layout / search_layout = 'compact'
   ═══════════════════════════════════════════════════════════════════ */
.ns-posts-compact{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--bd2)}
.ns-card-compact{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--bd2);align-items:start}
.ns-card-compact-img{display:block;width:120px;height:90px;border-radius:8px;overflow:hidden;background:var(--bg2);flex-shrink:0}
.ns-card-compact-img img{width:100%;height:100%;object-fit:cover;display:block}
.ns-card-compact-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.ns-card-compact-cat{display:inline-block;color:var(--ac);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;margin:0 0 2px;width:fit-content}
.ns-card-compact-cat:hover{text-decoration:underline}
.ns-card-compact-title{margin:0;font-size:1.08rem;line-height:1.35;font-weight:700;font-family:var(--fh,system-ui,sans-serif);letter-spacing:-.01em}
.ns-card-compact-title a{color:var(--fg);text-decoration:none}
.ns-card-compact-title a:hover{color:var(--ac)}
.ns-card-compact-meta{font-size:.78rem;color:var(--mt);margin:2px 0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:1.3}
.ns-card-compact-sep{opacity:.5}
.ns-card-compact-exc{margin:4px 0 0;font-size:.88rem;color:var(--fg2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:480px){
    .ns-card-compact{grid-template-columns:96px 1fr;gap:12px;padding:12px 0}
    .ns-card-compact-img{width:96px;height:72px}
    .ns-card-compact-title{font-size:.98rem}
    .ns-card-compact-exc{display:none}
}

/* ═══════════════════════════════════════════════════════════════════
   v16.13.0 — Smart Search upgrades: recents, keyboard nav, hints
   Layered on the existing .ns-search-ov / .ns-live-results system.
   ═══════════════════════════════════════════════════════════════════ */

/* Recent searches block (shown when input is empty and recents exist) */
.ns-lr-recents{padding:6px 0}
.ns-lr-recents-hd{display:flex;align-items:center;justify-content:space-between;padding:6px 12px 4px;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mt);font-weight:700}
.ns-lr-clear{background:none;border:none;color:var(--mt);font-size:.7rem;cursor:pointer;padding:2px 6px;border-radius:4px;text-transform:none;letter-spacing:normal;font-weight:600}
.ns-lr-clear:hover{background:var(--bg2);color:var(--fg)}
.ns-lr-recent-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:none;border:none;color:var(--fg);font-size:.92rem;text-align:left;cursor:pointer;font-family:inherit;border-radius:6px}
.ns-lr-recent-item svg{color:var(--mt);flex-shrink:0}
.ns-lr-recent-item:hover,.ns-lr-recent-item.ns-lr-active{background:var(--bg2)}
.ns-lr-recent-item:focus{outline:2px solid var(--ac);outline-offset:-2px}

/* Active row highlight (keyboard arrow nav) */
.ns-lr-item.ns-lr-active,.ns-lr-more.ns-lr-active{background:var(--bg2)}
.ns-lr-item.ns-lr-active{outline:none}

/* Keyboard hints footer at the bottom of search modal */
.ns-search-hints{display:flex;align-items:center;gap:14px;padding:10px 16px;border-top:1px solid var(--bd2);background:var(--bg2);font-size:.74rem;color:var(--mt);border-radius:0 0 12px 12px;flex-wrap:wrap}
.ns-search-hints kbd{display:inline-block;min-width:18px;padding:1px 5px;border:1px solid var(--bd);border-radius:4px;background:var(--cd);font-family:Menlo,Monaco,Consolas,monospace;font-size:.7rem;line-height:1.4;color:var(--fg);text-align:center;box-shadow:0 1px 0 var(--bd2)}
.ns-search-hints span{display:inline-flex;align-items:center;gap:4px}
@media (max-width:520px){.ns-search-hints{padding:8px 12px;gap:10px;font-size:.68rem}}

/* ═══════════════════════════════════════════════════════════════════
   v16.14.0 — Smart Search v2 federated UI: tabs + source badges
   ═══════════════════════════════════════════════════════════════════ */
.ns-lr-tabs{display:flex;gap:2px;padding:6px 8px 8px;border-bottom:1px solid var(--bd2);position:sticky;top:0;background:var(--bg);z-index:2}
.ns-lr-tab{background:none;border:none;padding:7px 12px;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;color:var(--fg2);display:inline-flex;align-items:center;gap:6px;transition:background .12s,color .12s}
.ns-lr-tab:hover{background:var(--bg2);color:var(--fg)}
.ns-lr-tab-active{background:var(--bg2);color:var(--ac)}
.ns-lr-tab-c{background:var(--bd2);color:var(--fg2);font-size:.66rem;padding:1px 6px;border-radius:99px;font-weight:700;line-height:1.5;min-width:18px;text-align:center}
.ns-lr-tab-active .ns-lr-tab-c{background:var(--ac);color:#fff}
.ns-lr-panel{padding:4px 0}

/* Source badges inside meta line */
.ns-lr-src{display:inline-block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:3px;margin-right:6px;line-height:1.5}
.ns-lr-src-blog{background:rgba(10,110,44,.1);color:#064E3B}
.ns-lr-src-nsc{background:rgba(24,119,242,.1);color:#1e40af}
.ns-lr-src-nsp{background:rgba(120,53,15,.1);color:#78350f}
[data-theme="dark"] .ns-lr-src-blog{background:rgba(74,222,128,.14);color:#86efac}
[data-theme="dark"] .ns-lr-src-nsc{background:rgba(96,165,250,.14);color:#7dd3fc}
[data-theme="dark"] .ns-lr-src-nsp{background:rgba(251,191,36,.14);color:#fde68a}

/* Per-type thumb variants */
.ns-lr-thumb-avatar{background:linear-gradient(135deg,#1877f2,#0a6e2c);color:#fff;font-weight:700;font-size:1rem}
.ns-lr-thumb-avatar span{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.ns-lr-thumb-group{background:rgba(10,110,44,.12);color:var(--ac)}
.ns-lr-thumb-cpost{background:rgba(24,119,242,.12);color:#1877f2}
[data-theme="dark"] .ns-lr-thumb-group{background:rgba(74,222,128,.16);color:#86efac}
[data-theme="dark"] .ns-lr-thumb-cpost{background:rgba(96,165,250,.16);color:#7dd3fc}

/* ═══════════════════════════════════════════════════════════════════
   v16.15.0 — Smart Search v3: NSP tool + past-question thumbs
   ═══════════════════════════════════════════════════════════════════ */
.ns-lr-thumb-tool{background:rgba(120,53,15,.12);color:#78350f}
.ns-lr-thumb-pq{background:rgba(146,64,14,.12);color:#78350f}
[data-theme="dark"] .ns-lr-thumb-tool{background:rgba(251,191,36,.16);color:#fde68a}
[data-theme="dark"] .ns-lr-thumb-pq{background:rgba(251,191,36,.16);color:#fde68a}

/* ═══════════════════════════════════════════════════════════════════
   WIDE-TABLE SCROLL AFFORDANCE — auto-applied to post-content tables
   (v16.19.0) — edge fades, swipe hint, one-time nudge on scroll-in.
   ═══════════════════════════════════════════════════════════════════ */
.ns-tscroll{position:relative;margin:1.4em 0}
.ns-tscroll-box{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;background:#fff;border:1px solid #e5e7eb;border-radius:12px}
.ns-tscroll-box table{margin:0!important;min-width:520px;width:100%}
.ns-tscroll-fade{position:absolute;top:1px;bottom:1px;width:38px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:2;border-radius:12px}
.ns-tscroll-fade-l{left:1px;background:linear-gradient(90deg,#ffffff,rgba(255,255,255,0))}
.ns-tscroll-fade-r{right:1px;background:linear-gradient(270deg,#ffffff,rgba(255,255,255,0))}
.ns-tscroll.has-overflow:not(.at-start) .ns-tscroll-fade-l{opacity:1}
.ns-tscroll.has-overflow:not(.at-end) .ns-tscroll-fade-r{opacity:1}
.ns-tscroll-hint{position:absolute;top:10px;right:12px;display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:700;color:#fff;background:rgba(20,30,18,.95);padding:7px 13px;border-radius:999px;box-shadow:0 4px 16px rgba(0,0,0,.25);opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .3s;pointer-events:none;z-index:4}
.ns-tscroll-hint svg{animation:nsTscrollNudge 1.1s ease-in-out infinite}
.ns-tscroll-hint.show{opacity:1;transform:translateY(0)}
@keyframes nsTscrollNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
/* Dark mode — fades blend to the dark surface (fixes invisible-fade bug) */
[data-theme="dark"] .ns-tscroll-box{background:#141821;border-color:#2a2f3a}
[data-theme="dark"] .ns-tscroll-fade{width:50px}
[data-theme="dark"] .ns-tscroll-fade-l{background:linear-gradient(90deg,#141821 10%,rgba(20,24,33,.7) 45%,rgba(20,24,33,0))}
[data-theme="dark"] .ns-tscroll-fade-r{background:linear-gradient(270deg,#141821 10%,rgba(20,24,33,.7) 45%,rgba(20,24,33,0))}
[data-theme="dark"] .ns-tscroll-hint{background:rgba(230,240,228,.95);color:#0f1714}
@media (prefers-reduced-motion: reduce){.ns-tscroll-hint svg{animation:none}}
