/*
Theme Name: Novasky
Author: Novasky Works
Description: A digital asset exchange theme with a fixed right icon rail, data dashboard hero, timeline article feed and accordion footer.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
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: novasky
Tags: finance, one-column, custom-logo, translation-ready
*/

/* ==========================================================================
   Tokens
   ========================================================================== */
:root {
	--nsk-gray:    #F4F4F8;
	--nsk-violet:  #7C3AED;
	--nsk-deep:    #4C1D95;
	--nsk-white:   #FFFFFF;
	--nsk-ink:     #1F1F2E;
	--nsk-line:    #E4E4EF;
	--nsk-up:      #16A34A;
	--nsk-down:    #DC2626;
	--nsk-rail:    72px;
	--nsk-rail-x:  240px;
	--nsk-ease:    cubic-bezier(.22,1,.36,1);
}

/* ==========================================================================
   Reset
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--nsk-white);
	color: var(--nsk-ink);
	font-family: "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { margin: 0 0 .5em; line-height: 1.25; font-weight: 700; }
p { margin: 0 0 1em; }
a { color: var(--nsk-violet); text-decoration: none; }
a:hover { color: var(--nsk-deep); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { margin: 0 0 1em; padding-left: 1.2em; }
button { font: inherit; cursor: pointer; }
table { border-collapse: collapse; width: 100%; }

/* ==========================================================================
   Layout shell — main content offset by the fixed right rail
   ========================================================================== */
.nsk-shell {
	margin-right: var(--nsk-rail);
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
.nsk-wrap {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 28px;
}
main.nsk-main { flex: 1 0 auto; }

/* ==========================================================================
   A. Fixed right rail sidebar
   ========================================================================== */
.nsk-rail {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 900;
	width: var(--nsk-rail);
	height: 100vh;
	background: var(--nsk-deep);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	overflow: hidden;
	transition: width .38s var(--nsk-ease);
	box-shadow: -6px 0 30px rgba(76,29,149,.18);
}
.nsk-rail:hover,
.nsk-rail.nsk-rail--open { width: var(--nsk-rail-x); }

.nsk-rail__logo {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 72px;
	padding: 0 20px;
	color: var(--nsk-white);
	flex: 0 0 auto;
	border-bottom: 1px solid rgba(255,255,255,.08);
}
.nsk-rail__logo-mark {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: linear-gradient(135deg, var(--nsk-violet), #A78BFA);
	display: grid;
	place-items: center;
	font-weight: 800;
	font-size: 15px;
	color: #fff;
}
.nsk-rail__logo-img { width: 32px; height: 32px; object-fit: cover; border-radius: 8px; display: block; }
.nsk-rail__logo-fb { display: block; }
.nsk-rail__logo-text {
	font-weight: 800;
	letter-spacing: .06em;
	font-size: 17px;
	white-space: nowrap;
	opacity: 0;
	transform: translateX(-8px);
	transition: opacity .3s var(--nsk-ease) .08s, transform .3s var(--nsk-ease) .08s;
}
.nsk-rail:hover .nsk-rail__logo-text,
.nsk-rail--open .nsk-rail__logo-text { opacity: 1; transform: none; }

.nsk-rail__nav {
	flex: 1 1 auto;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 14px 0;
	scrollbar-width: none;
}
.nsk-rail__nav::-webkit-scrollbar { display: none; }

.nsk-rail__item {
	display: flex;
	align-items: center;
	gap: 16px;
	height: 52px;
	padding: 0 22px;
	color: rgba(255,255,255,.72);
	white-space: nowrap;
	position: relative;
	transition: color .25s, background .25s;
}
.nsk-rail__item:hover,
.nsk-rail__item.current { color: #fff; background: rgba(124,58,237,.28); }
.nsk-rail__item.current::before {
	content: "";
	position: absolute;
	left: 0; top: 12px; bottom: 12px;
	width: 3px;
	background: var(--nsk-violet);
	border-radius: 0 3px 3px 0;
}
.nsk-rail__icon {
	flex: 0 0 28px;
	width: 28px;
	text-align: center;
	font-size: 18px;
	line-height: 1;
}
.nsk-rail__label {
	font-size: 14.5px;
	font-weight: 600;
	opacity: 0;
	transform: translateX(-8px);
	transition: opacity .3s var(--nsk-ease), transform .3s var(--nsk-ease);
}
.nsk-rail:hover .nsk-rail__label,
.nsk-rail--open .nsk-rail__label { opacity: 1; transform: none; }

.nsk-rail__bottom {
	flex: 0 0 auto;
	border-top: 1px solid rgba(255,255,255,.08);
	padding: 14px 0 18px;
}

/* G. Sidebar embedded CTA */
.nsk-rail__cta {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 14px 12px;
	padding: 0;
	height: 44px;
	border: 0;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--nsk-violet), #9333EA);
	color: #fff;
	white-space: nowrap;
	overflow: hidden;
	transition: box-shadow .3s, transform .3s;
}
.nsk-rail__cta:hover { box-shadow: 0 8px 22px rgba(124,58,237,.5); transform: translateY(-1px); }
.nsk-rail__cta-icon {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	font-size: 19px;
}
.nsk-rail__cta-text {
	font-size: 14px;
	font-weight: 700;
	opacity: 0;
	transform: translateX(-8px);
	transition: opacity .3s var(--nsk-ease), transform .3s var(--nsk-ease);
}
.nsk-rail:hover .nsk-rail__cta-text,
.nsk-rail--open .nsk-rail__cta-text { opacity: 1; transform: none; }

/* Language switcher inside rail */
.nsk-rail__lang {
	display: flex;
	gap: 8px;
	padding: 0 20px;
}
.nsk-rail__lang a {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	display: grid;
	place-items: center;
	font-size: 12.5px;
	font-weight: 700;
	color: rgba(255,255,255,.6);
	background: rgba(255,255,255,.06);
	transition: background .25s, color .25s;
}
.nsk-rail__lang a:hover { background: rgba(255,255,255,.16); color: #fff; }
.nsk-rail__lang a.nsk-active { background: var(--nsk-violet); color: #fff; }

/* Mobile: rail collapses to a top bar */
.nsk-rail__toggle { display: none; }

/* ==========================================================================
   H. Alternating section backgrounds
   ========================================================================== */
.nsk-section { padding: 84px 0; }
.nsk-section--odd  { background: var(--nsk-white); }
.nsk-section--even { background: var(--nsk-gray); }
.nsk-section--deep { background: var(--nsk-deep); color: #fff; }

.nsk-section__head { margin-bottom: 44px; }
.nsk-section__kicker {
	display: inline-block;
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--nsk-violet);
	margin-bottom: 12px;
}
.nsk-section--deep .nsk-section__kicker { color: #C4B5FD; }
.nsk-section__title { font-size: clamp(26px, 3.4vw, 40px); letter-spacing: -.01em; }
.nsk-section__sub { max-width: 620px; color: #5A5A72; margin-top: 10px; }
.nsk-section--deep .nsk-section__sub { color: rgba(255,255,255,.72); }

/* Reveal on scroll */
.nsk-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s var(--nsk-ease), transform .7s var(--nsk-ease); }
.nsk-reveal.nsk-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.nsk-reveal { opacity: 1; transform: none; transition: none; }
	html { scroll-behavior: auto; }
}

/* ==========================================================================
   B. Hero — data dashboard
   ========================================================================== */
.nsk-hero { padding: 56px 0 0; }
.nsk-hero__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin-bottom: 26px;
}
.nsk-metric {
	background: var(--nsk-white);
	border: 1px solid var(--nsk-line);
	border-radius: 16px;
	padding: 24px 22px;
	position: relative;
	overflow: hidden;
	transition: transform .35s var(--nsk-ease), box-shadow .35s var(--nsk-ease);
}
.nsk-metric::after {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: linear-gradient(90deg, var(--nsk-violet), #A78BFA);
	opacity: 0;
	transition: opacity .3s;
}
.nsk-metric:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(76,29,149,.12); }
.nsk-metric:hover::after { opacity: 1; }
.nsk-metric__label {
	font-size: 13px;
	font-weight: 700;
	color: #6B6B85;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}
.nsk-metric__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--nsk-violet); }
.nsk-metric__value {
	font-size: clamp(26px, 3vw, 36px);
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.1;
	background: linear-gradient(120deg, var(--nsk-violet), #A855F7 60%, var(--nsk-deep));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: var(--nsk-violet);
}
.nsk-metric__trend { margin-top: 8px; font-size: 12.5px; font-weight: 600; color: #6B6B85; }
.nsk-metric__trend b { color: var(--nsk-up); font-weight: 700; }
.nsk-metric__trend b.nsk-down { color: var(--nsk-down); }

.nsk-hero__banner {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	background: var(--nsk-deep);
	min-height: 340px;
	display: flex;
	align-items: flex-end;
}
.nsk-hero__banner img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .55;
}
.nsk-hero__banner-body {
	position: relative;
	z-index: 2;
	padding: 44px clamp(24px, 4vw, 56px);
	color: #fff;
	max-width: 640px;
}
.nsk-hero__banner-body h1 { font-size: clamp(28px, 4vw, 46px); letter-spacing: -.015em; }
.nsk-hero__banner-body p { color: rgba(255,255,255,.82); margin-bottom: 24px; }
.nsk-hero__banner::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(100deg, rgba(76,29,149,.92) 0%, rgba(76,29,149,.45) 55%, rgba(76,29,149,0) 100%);
}

/* Buttons */
.nsk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 28px;
	border-radius: 10px;
	font-size: 14.5px;
	font-weight: 700;
	border: 1.5px solid transparent;
	transition: transform .25s var(--nsk-ease), box-shadow .25s var(--nsk-ease), background .25s;
}
.nsk-btn--primary { background: var(--nsk-violet); color: #fff; }
.nsk-btn--primary:hover { background: #6D28D9; color: #fff; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(124,58,237,.36); }
.nsk-btn--ghost { border-color: rgba(255,255,255,.4); color: #fff; }
.nsk-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.1); color: #fff; }
.nsk-btn--outline { border-color: var(--nsk-line); color: var(--nsk-ink); }
.nsk-btn--outline:hover { border-color: var(--nsk-violet); color: var(--nsk-violet); }

/* ==========================================================================
   Section 3: Live market table
   ========================================================================== */
.nsk-market {
	background: var(--nsk-white);
	border: 1px solid var(--nsk-line);
	border-radius: 16px;
	overflow: hidden;
}
.nsk-market table { font-size: 14.5px; }
.nsk-market thead th {
	text-align: left;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #8A8AA0;
	padding: 16px 22px;
	background: var(--nsk-gray);
	border-bottom: 1px solid var(--nsk-line);
	white-space: nowrap;
}
.nsk-market tbody td { padding: 15px 22px; border-bottom: 1px solid var(--nsk-line); vertical-align: middle; }
.nsk-market tbody tr:last-child td { border-bottom: 0; }
.nsk-market tbody tr { transition: background .2s; }
.nsk-market tbody tr:hover { background: #FAFAFF; }
.nsk-market__coin { display: flex; align-items: center; gap: 12px; font-weight: 700; }
.nsk-market__sym {
	width: 34px; height: 34px;
	border-radius: 50%;
	display: grid; place-items: center;
	background: linear-gradient(135deg, var(--nsk-violet), #A78BFA);
	color: #fff; font-size: 13px; font-weight: 800;
	flex: 0 0 34px;
}
.nsk-market__num { text-align: right; font-variant-numeric: tabular-nums; }
.nsk-market__chg { text-align: right; font-weight: 800; font-variant-numeric: tabular-nums; }
.nsk-market__chg--up { color: var(--nsk-up); }
.nsk-market__chg--down { color: var(--nsk-down); }
.nsk-market__act { text-align: right; }
.nsk-market__btn {
	padding: 8px 18px;
	border-radius: 8px;
	background: var(--nsk-gray);
	color: var(--nsk-violet);
	font-size: 13px;
	font-weight: 700;
	border: 1px solid var(--nsk-line);
	transition: background .25s, color .25s;
}
.nsk-market__btn:hover { background: var(--nsk-violet); color: #fff; border-color: var(--nsk-violet); }

/* ==========================================================================
   C. Timeline + D. Numbered cards
   ========================================================================== */
.nsk-timeline { position: relative; padding-left: 34px; }
.nsk-timeline::before {
	content: "";
	position: absolute;
	left: 7px; top: 6px; bottom: 6px;
	width: 2px;
	background: linear-gradient(180deg, var(--nsk-violet), var(--nsk-line));
}
.nsk-timeline__month {
	position: relative;
	margin: 34px 0 20px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--nsk-violet);
}
.nsk-timeline__month:first-child { margin-top: 0; }
.nsk-timeline__month::before {
	content: "";
	position: absolute;
	left: -34px; top: 50%;
	width: 16px; height: 16px;
	transform: translate(-1px, -50%);
	border-radius: 50%;
	background: var(--nsk-white);
	border: 4px solid var(--nsk-violet);
	box-shadow: 0 0 0 4px rgba(124,58,237,.14);
}

.nsk-node { position: relative; margin-bottom: 22px; }
.nsk-node::before {
	content: "";
	position: absolute;
	left: -34px; top: 26px;
	width: 10px; height: 10px;
	transform: translateX(2px);
	border-radius: 50%;
	background: var(--nsk-violet);
	box-shadow: 0 0 0 4px var(--nsk-white), 0 0 0 5px var(--nsk-line);
}

/* Numbered card */
.nsk-card {
	position: relative;
	background: var(--nsk-white);
	border: 1px solid var(--nsk-line);
	border-left: 4px solid var(--nsk-violet);
	border-radius: 0 12px 12px 0;
	padding: 22px 26px 22px 84px;
	transition: transform .3s var(--nsk-ease), box-shadow .3s var(--nsk-ease);
}
.nsk-card:hover { transform: translateX(5px); box-shadow: 0 14px 34px rgba(76,29,149,.12); }
.nsk-card__num {
	position: absolute;
	left: 20px; top: 16px;
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.03em;
	color: var(--nsk-violet);
	opacity: .92;
	font-variant-numeric: tabular-nums;
}
.nsk-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 12.5px;
	color: #8A8AA0;
	font-weight: 600;
	margin-bottom: 8px;
}
.nsk-card__meta .nsk-tag { color: var(--nsk-violet); }
.nsk-card h3 { font-size: 19px; margin-bottom: 6px; }
.nsk-card h3 a { color: var(--nsk-ink); }
.nsk-card h3 a:hover { color: var(--nsk-violet); }
.nsk-card p { color: #5A5A72; font-size: 14.5px; margin-bottom: 12px; }
.nsk-card__more { font-size: 13.5px; font-weight: 700; color: var(--nsk-violet); }
.nsk-card__more:hover { color: var(--nsk-deep); }
.nsk-card__thumb { position: absolute; right: 22px; top: 22px; width: 108px; height: 76px; border-radius: 10px; object-fit: cover; }
.nsk-card--thumb { padding-right: 148px; }

/* ==========================================================================
   Section 5: Trading instruments (4-col icon cards)
   ========================================================================== */
.nsk-instruments { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.nsk-instr {
	background: var(--nsk-white);
	border: 1.5px solid var(--nsk-violet);
	border-radius: 16px;
	padding: 30px 24px;
	text-align: center;
	transition: transform .3s var(--nsk-ease), box-shadow .3s var(--nsk-ease), background .3s;
}
.nsk-instr:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(124,58,237,.2); background: #FBF9FF; }
.nsk-instr__icon {
	width: 64px; height: 64px;
	margin: 0 auto 16px;
	border-radius: 18px;
	display: grid; place-items: center;
	font-size: 28px;
	color: #fff;
	background: linear-gradient(135deg, var(--nsk-violet), var(--nsk-deep));
}
.nsk-instr__iconimg { width: 64px; height: 64px; object-fit: cover; border-radius: 18px; display: block; }
.nsk-instr__iconfb { display: block; line-height: 1; }
.nsk-instr h3 { font-size: 17px; }
.nsk-instr__sym { font-size: 12.5px; font-weight: 700; color: #8A8AA0; letter-spacing: .06em; margin-bottom: 10px; }
.nsk-instr p { font-size: 13.5px; color: #5A5A72; margin-bottom: 18px; }
.nsk-instr__btn {
	display: inline-block;
	padding: 9px 22px;
	border-radius: 8px;
	border: 1.5px solid var(--nsk-violet);
	color: var(--nsk-violet);
	font-size: 13px;
	font-weight: 700;
	transition: background .25s, color .25s;
}
.nsk-instr__btn:hover { background: var(--nsk-violet); color: #fff; }

/* ==========================================================================
   Section 6: Platform advantages (3-col)
   ========================================================================== */
.nsk-advs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.nsk-adv {
	background: var(--nsk-white);
	border: 1px solid var(--nsk-line);
	border-radius: 16px;
	padding: 32px 28px;
	position: relative;
	overflow: hidden;
	transition: transform .3s var(--nsk-ease), box-shadow .3s var(--nsk-ease);
}
.nsk-adv:hover { transform: translateY(-5px); box-shadow: 0 16px 38px rgba(76,29,149,.12); }
.nsk-adv__idx {
	position: absolute;
	right: 18px; top: 10px;
	font-size: 56px;
	font-weight: 800;
	color: var(--nsk-gray);
	line-height: 1;
	letter-spacing: -.04em;
}
.nsk-adv__icon {
	width: 50px; height: 50px;
	border-radius: 14px;
	display: grid; place-items: center;
	background: rgba(124,58,237,.1);
	color: var(--nsk-violet);
	font-size: 22px;
	margin-bottom: 18px;
}
.nsk-adv__iconimg { width: 50px; height: 50px; object-fit: cover; border-radius: 14px; display: block; }
.nsk-adv__iconfb { display: block; line-height: 1; }
.nsk-adv h3 { font-size: 18px; position: relative; }
.nsk-adv p { font-size: 14px; color: #5A5A72; margin: 0; position: relative; }

/* ==========================================================================
   Section 7: Stats band (deep purple)
   ========================================================================== */
.nsk-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
.nsk-stats__item h3 {
	font-size: clamp(34px, 4.6vw, 54px);
	font-weight: 800;
	color: #fff;
	letter-spacing: -.02em;
	line-height: 1;
	margin-bottom: 10px;
}
.nsk-stats__item p { color: rgba(255,255,255,.68); font-size: 14px; font-weight: 600; margin: 0; }
.nsk-stats__cta { text-align: center; margin-top: 44px; }

/* ==========================================================================
   Section 8: Announcements (compact timeline continuation)
   ========================================================================== */
.nsk-notice {
	display: flex;
	align-items: baseline;
	gap: 18px;
	padding: 18px 4px;
	border-bottom: 1px dashed var(--nsk-line);
	transition: background .2s;
}
.nsk-notice:last-child { border-bottom: 0; }
.nsk-notice:hover { background: #FAFAFF; }
.nsk-notice__date {
	flex: 0 0 96px;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--nsk-violet);
	font-variant-numeric: tabular-nums;
}
.nsk-notice__badge {
	flex: 0 0 auto;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(124,58,237,.12);
	color: var(--nsk-violet);
}
.nsk-notice__title { font-size: 15px; font-weight: 600; }
.nsk-notice__title a { color: var(--nsk-ink); }
.nsk-notice__title a:hover { color: var(--nsk-violet); }

/* ==========================================================================
   Section 9: End CTA
   ========================================================================== */
.nsk-endcta {
	background: linear-gradient(120deg, var(--nsk-deep), var(--nsk-violet));
	border-radius: 22px;
	padding: clamp(38px, 6vw, 72px);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
	flex-wrap: wrap;
	position: relative;
	overflow: hidden;
}
.nsk-endcta::after {
	content: "";
	position: absolute;
	right: -80px; top: -80px;
	width: 280px; height: 280px;
	border-radius: 50%;
	background: rgba(255,255,255,.08);
}
.nsk-endcta__body { position: relative; z-index: 2; max-width: 560px; }
.nsk-endcta h2 { font-size: clamp(24px, 3.2vw, 36px); }
.nsk-endcta p { color: rgba(255,255,255,.82); margin: 0; }
.nsk-endcta__btns { position: relative; z-index: 2; display: flex; gap: 14px; flex-wrap: wrap; }
.nsk-endcta .nsk-btn--ghost { border-color: rgba(255,255,255,.5); }

/* ==========================================================================
   F. Accordion footer
   ========================================================================== */
.nsk-footer { background: var(--nsk-deep); color: rgba(255,255,255,.72); padding: 64px 0 0; }
.nsk-footer a { color: rgba(255,255,255,.72); }
.nsk-footer a:hover { color: #fff; }
.nsk-footer__top {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	flex-wrap: wrap;
	padding-bottom: 44px;
	border-bottom: 1px solid rgba(255,255,255,.1);
	margin-bottom: 8px;
}
.nsk-footer__brand p { max-width: 340px; font-size: 14px; margin: 14px 0 0; }
.nsk-footer__logo { display: flex; align-items: center; gap: 12px; color: #fff; font-weight: 800; font-size: 19px; letter-spacing: .05em; }
.nsk-footer__cta { margin-top: 22px; }

.nsk-acc { border-bottom: 1px solid rgba(255,255,255,.1); }
.nsk-acc__head {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 4px;
	background: none;
	border: 0;
	color: #fff;
	font-size: 15.5px;
	font-weight: 700;
	text-align: left;
}
.nsk-acc__sign {
	flex: 0 0 26px;
	width: 26px; height: 26px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.3);
	display: grid; place-items: center;
	position: relative;
	transition: background .3s, transform .3s var(--nsk-ease);
}
.nsk-acc__sign::before, .nsk-acc__sign::after {
	content: "";
	position: absolute;
	background: #fff;
	border-radius: 2px;
}
.nsk-acc__sign::before { width: 11px; height: 2px; }
.nsk-acc__sign::after { width: 2px; height: 11px; transition: transform .3s var(--nsk-ease); }
.nsk-acc.nsk-open .nsk-acc__sign { background: var(--nsk-violet); border-color: var(--nsk-violet); }
.nsk-acc.nsk-open .nsk-acc__sign::after { transform: rotate(90deg); }
.nsk-acc__panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height .42s var(--nsk-ease);
}
.nsk-acc__panel ul { list-style: none; padding: 0 4px 22px; margin: 0; columns: 2; column-gap: 30px; }
.nsk-acc__panel li { margin-bottom: 10px; font-size: 14px; break-inside: avoid; }

.nsk-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	padding: 24px 0 28px;
	font-size: 13px;
	color: rgba(255,255,255,.5);
}
.nsk-footer__lang { display: flex; gap: 8px; }
.nsk-footer__lang a {
	padding: 5px 14px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.2);
	font-size: 12.5px;
	font-weight: 700;
}
.nsk-footer__lang a.nsk-active { background: var(--nsk-violet); border-color: var(--nsk-violet); color: #fff; }

/* ==========================================================================
   E. Single — sticky TOC left + content right
   ========================================================================== */
.nsk-single { display: grid; grid-template-columns: 220px 1fr; gap: 52px; padding: 52px 0 84px; align-items: start; }
.nsk-toc { position: sticky; top: 32px; }
.nsk-toc__title {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #8A8AA0;
	margin-bottom: 16px;
}
.nsk-toc__list { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--nsk-line); }
.nsk-toc__list a {
	display: block;
	padding: 8px 0 8px 16px;
	margin-left: -2px;
	border-left: 2px solid transparent;
	font-size: 13.5px;
	font-weight: 600;
	color: #6B6B85;
	transition: color .25s, border-color .25s;
}
.nsk-toc__list a:hover { color: var(--nsk-violet); }
.nsk-toc__list a.nsk-active { color: var(--nsk-violet); border-left-color: var(--nsk-violet); font-weight: 700; }
.nsk-toc__back { display: inline-block; margin-top: 22px; font-size: 13px; font-weight: 700; }

.nsk-article__head { margin-bottom: 30px; }
.nsk-article__head h1 { font-size: clamp(28px, 4vw, 42px); letter-spacing: -.015em; }
.nsk-article__meta { display: flex; flex-wrap: wrap; gap: 14px; font-size: 13px; color: #8A8AA0; font-weight: 600; margin-top: 14px; }
.nsk-article__hero { border-radius: 18px; overflow: hidden; margin-bottom: 34px; }
.nsk-article__hero img { width: 100%; height: auto; }
.nsk-content { font-size: 16.5px; line-height: 1.85; color: #33334A; }
.nsk-content h2 { font-size: 24px; margin: 44px 0 16px; scroll-margin-top: 24px; }
.nsk-content h3 { font-size: 19px; margin: 32px 0 12px; scroll-margin-top: 24px; }
.nsk-content p { margin-bottom: 1.2em; }
.nsk-content img { border-radius: 12px; margin: 20px 0; }
.nsk-content blockquote {
	margin: 26px 0;
	padding: 18px 24px;
	border-left: 4px solid var(--nsk-violet);
	background: var(--nsk-gray);
	border-radius: 0 12px 12px 0;
	color: #4A4A64;
}
.nsk-content ul, .nsk-content ol { margin-bottom: 1.2em; }
.nsk-content a { text-decoration: underline; text-underline-offset: 3px; }
.nsk-content table { margin: 22px 0; font-size: 14.5px; }
.nsk-content th, .nsk-content td { border: 1px solid var(--nsk-line); padding: 10px 14px; text-align: left; }
.nsk-content th { background: var(--nsk-gray); }

.nsk-article__foot { margin-top: 46px; padding-top: 30px; border-top: 1px solid var(--nsk-line); }
.nsk-article__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.nsk-article__tags a {
	font-size: 12.5px;
	font-weight: 700;
	padding: 6px 14px;
	border-radius: 999px;
	background: var(--nsk-gray);
	color: #5A5A72;
}
.nsk-article__tags a:hover { background: rgba(124,58,237,.12); color: var(--nsk-violet); }
.nsk-endbox {
	background: linear-gradient(120deg, var(--nsk-deep), var(--nsk-violet));
	border-radius: 18px;
	padding: 34px;
	color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}
.nsk-endbox h3 { font-size: 21px; margin-bottom: 6px; }
.nsk-endbox p { color: rgba(255,255,255,.8); margin: 0; font-size: 14px; }

/* ==========================================================================
   Archive / listing pages
   ========================================================================== */
.nsk-page-head { padding: 56px 0 40px; background: var(--nsk-gray); border-bottom: 1px solid var(--nsk-line); }
.nsk-crumb { font-size: 13px; color: #8A8AA0; font-weight: 600; margin-bottom: 14px; }
.nsk-crumb a { color: var(--nsk-violet); }
.nsk-page-head h1 { font-size: clamp(28px, 4vw, 42px); letter-spacing: -.015em; margin: 0; }
.nsk-page-head p { color: #5A5A72; margin: 12px 0 0; max-width: 640px; }

.nsk-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; padding: 52px 0 20px; }
.nsk-gcard {
	background: var(--nsk-white);
	border: 1px solid var(--nsk-line);
	border-left: 4px solid var(--nsk-violet);
	border-radius: 0 12px 12px 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .3s var(--nsk-ease), box-shadow .3s var(--nsk-ease);
}
.nsk-gcard:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(76,29,149,.13); }
.nsk-gcard__thumb { aspect-ratio: 16 / 10; overflow: hidden; }
.nsk-gcard__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--nsk-ease); }
.nsk-gcard:hover .nsk-gcard__thumb img { transform: scale(1.05); }
.nsk-gcard__body { padding: 20px 22px 24px; flex: 1; display: flex; flex-direction: column; }
.nsk-gcard__meta { font-size: 12px; color: #8A8AA0; font-weight: 700; margin-bottom: 10px; display: flex; gap: 10px; flex-wrap: wrap; }
.nsk-gcard__meta .nsk-tag { color: var(--nsk-violet); }
.nsk-gcard h3 { font-size: 17px; line-height: 1.4; }
.nsk-gcard h3 a { color: var(--nsk-ink); }
.nsk-gcard h3 a:hover { color: var(--nsk-violet); }
.nsk-gcard p { font-size: 13.5px; color: #5A5A72; flex: 1; }
.nsk-gcard__more { font-size: 13px; font-weight: 700; color: var(--nsk-violet); }

.nsk-pagination { display: flex; justify-content: center; gap: 8px; padding: 40px 0 72px; flex-wrap: wrap; }
.nsk-pagination .page-numbers {
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	border: 1px solid var(--nsk-line);
	background: var(--nsk-white);
	color: var(--nsk-ink);
	font-size: 14px;
	font-weight: 700;
	transition: background .25s, color .25s, border-color .25s;
}
.nsk-pagination .page-numbers:hover { border-color: var(--nsk-violet); color: var(--nsk-violet); }
.nsk-pagination .page-numbers.current { background: var(--nsk-violet); border-color: var(--nsk-violet); color: #fff; }

/* Search */
.nsk-searchform { display: flex; gap: 12px; max-width: 560px; margin-top: 26px; }
.nsk-searchform input[type="search"] {
	flex: 1;
	padding: 14px 18px;
	border-radius: 10px;
	border: 1.5px solid var(--nsk-line);
	background: var(--nsk-white);
	font: inherit;
	font-size: 15px;
	color: var(--nsk-ink);
	transition: border-color .25s;
}
.nsk-searchform input[type="search"]:focus { outline: none; border-color: var(--nsk-violet); }
.nsk-searchform button {
	padding: 14px 26px;
	border-radius: 10px;
	border: 0;
	background: var(--nsk-violet);
	color: #fff;
	font-weight: 700;
	font-size: 14.5px;
	transition: background .25s;
}
.nsk-searchform button:hover { background: var(--nsk-deep); }

/* 404 */
.nsk-404 { text-align: center; padding: 110px 0 130px; }
.nsk-404__code {
	font-size: clamp(80px, 16vw, 160px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.04em;
	background: linear-gradient(120deg, var(--nsk-violet), var(--nsk-deep));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: var(--nsk-violet);
}
.nsk-404 h1 { font-size: 26px; margin: 18px 0 10px; }
.nsk-404 p { color: #5A5A72; margin-bottom: 30px; }

/* Static page */
.nsk-page-body { padding: 52px 0 90px; max-width: 820px; margin: 0 auto; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1080px) {
	.nsk-hero__grid { grid-template-columns: repeat(2, 1fr); }
	.nsk-instruments { grid-template-columns: repeat(2, 1fr); }
	.nsk-advs { grid-template-columns: 1fr; }
	.nsk-stats { grid-template-columns: repeat(2, 1fr); gap: 34px; }
	.nsk-grid { grid-template-columns: repeat(2, 1fr); }
	.nsk-single { grid-template-columns: 1fr; gap: 30px; }
	.nsk-toc { position: static; }
	.nsk-toc__list { columns: 2; border-left: 0; }
	.nsk-toc__list a { border-left: 0; margin-left: 0; padding-left: 0; }
	.nsk-card__thumb { display: none; }
	.nsk-card--thumb { padding-right: 26px; }
}

@media (max-width: 760px) {
	.nsk-shell { margin-right: 0; }
	.nsk-rail {
		width: 100%;
		height: 60px;
		flex-direction: row;
		align-items: center;
	}
	.nsk-rail:hover, .nsk-rail.nsk-rail--open { width: 100%; }
	.nsk-rail__logo { height: 60px; border-bottom: 0; padding: 0 16px; }
	.nsk-rail__logo-text { opacity: 1; transform: none; font-size: 15px; }
	.nsk-rail__nav { display: flex; padding: 0; overflow-x: auto; overflow-y: hidden; }
	.nsk-rail__item { height: 60px; padding: 0 14px; gap: 0; }
	.nsk-rail__item.current::before { left: 10px; right: 10px; top: auto; bottom: 0; width: auto; height: 3px; }
	.nsk-rail__label { display: none; }
	.nsk-rail__bottom { display: flex; align-items: center; gap: 8px; border-top: 0; padding: 0 12px; margin-left: auto; }
	.nsk-rail__cta { margin: 0; height: 38px; border-radius: 8px; }
	.nsk-rail__cta-icon { flex: 0 0 38px; width: 38px; height: 38px; font-size: 16px; }
	.nsk-rail__cta-text { display: none; }
	.nsk-rail__lang { padding: 0; }
	.nsk-rail__lang a { flex: 0 0 30px; width: 30px; height: 30px; }
	.nsk-shell { padding-top: 60px; }
	.nsk-section { padding: 56px 0; }
	.nsk-wrap { padding: 0 18px; }
	.nsk-hero__grid { grid-template-columns: 1fr; }
	.nsk-instruments { grid-template-columns: 1fr; }
	.nsk-grid { grid-template-columns: 1fr; }
	.nsk-stats { grid-template-columns: 1fr; }
	.nsk-timeline { padding-left: 28px; }
	.nsk-timeline__month::before { left: -28px; }
	.nsk-node::before { left: -28px; }
	.nsk-card { padding: 20px 18px 20px 66px; }
	.nsk-card__num { left: 14px; font-size: 28px; }
	.nsk-market thead { display: none; }
	.nsk-market tbody td { display: flex; justify-content: space-between; padding: 8px 16px; border: 0; }
	.nsk-market tbody tr { display: block; border-bottom: 1px solid var(--nsk-line); padding: 10px 0; }
	.nsk-market__num, .nsk-market__chg, .nsk-market__act { text-align: right; }
	.nsk-acc__panel ul { columns: 1; }
	.nsk-toc__list { columns: 1; }
	.nsk-endcta { padding: 34px 24px; }
	.nsk-searchform { flex-direction: column; }
}

/* ==== breadcrumb (added by automation) ==== */
.nsk-crumb-bar{padding-top:16px}
