/* ==========================================================================
   AKTutor Nova — 2026 design layer (loads after base.css)
   1 Mode tokens · 2 Base polish · 3 Header · 4 Search panel · 5 Hero · 6 Category cards
   7 Home sections · 8 Premium band · 9 Branches · 10 Footer · 11 Ads · 12 Phones
   Dark is the designed look; light mode swaps the tokens below, nothing else.
   ========================================================================== */

/* 1. Mode tokens ----------------------------------------------------------- */
:root {
	--nv-header-bg: rgba(255, 255, 255, .9);
	--nv-header-line: var(--akt-line);
	--nv-hl: #B45309;
	--nv-viewall: #E11D48;
	--nv-brand: #EF3B32;
	--nv-logo-ink: #18191F;
	--nv-logo-tag: #71727A;
	--nv-panel: #FFFFFF;
	--nv-panel-line: var(--akt-line);
	--nv-divider: var(--akt-line);
	--nv-card-hover: color-mix(in srgb, var(--akt-primary) 6%, var(--akt-white));
	--nv-hero-bg:
		radial-gradient(900px 420px at 82% 18%, rgba(250, 204, 21, .22), transparent 60%),
		radial-gradient(700px 500px at 0% 0%, rgba(37, 99, 235, .12), transparent 60%),
		linear-gradient(180deg, #EEF3FF 0%, #F8F5EC 100%);
	--nv-search-bg: #FFFFFF;
	--nv-search-line: #D9E0EC;
	--nv-badge-bg: rgba(15, 23, 42, .06);
	--nv-badge-line: rgba(15, 23, 42, .1);
	/* Hero illustration: daylight study desk. */
	--h-glow: #FFD873;
	--h-bulb: #E8EDF4;
	--h-desk1: #E6C49A;
	--h-desk2: #C99A6A;
	--h-page: #FFFDF6;
	--h-page-line: #E4DAC5;
	--h-cup1: #E2E8F0;
	--h-cup2: #A8B4C6;
	--h-cup-line: rgba(15, 23, 42, .1);
	--h-cup-top: #7D8AA0;
	--h-note: #B45309;
	--h-shelf: rgba(15, 23, 42, .08);
	--h-window: #D8E8FF;
	--h-window-bar: #FFFFFF;
	--h-win-o: 1;
	--h-shelf-o: 0;
	--h-lamp: #334155;
	--h-lamp2: #64748B;
	--h-sun-o: 1;
	--h-glow-o: .2;
	--h-cone-o: 0;
	--h-shadow-o: .16;
	--h-desk-top: #EFD3AE;
	--h-grain: rgba(120, 72, 30, .18);
	--h-ruler: rgba(186, 230, 253, .85);
	--h-ruler-tick: #0369A1;
	--h-cup-in: #475569;
	--h-cup-rim: #CBD5E1;
	--h-shelf-book: rgba(15, 23, 42, .1);
	/* Category / subject tones. */
	--t-blue: #2563EB;
	--t-green: #65A30D;
	--t-violet: #9333EA;
	--t-amber: #D97706;
	--t-red: #E11D48;
	--t-cyan: #0891B2;
	--t-indigo: #4F46E5;
	--t-pink: #DB2777;
	/* Premium band. */
	--nv-pband-bg: linear-gradient(115deg, #FFF7DB 0%, #FDF2D0 35%, #E9F0FF 100%);
	--nv-pband-line: #F1DFA6;
	--nv-pband-ink: #0F172A;
	--nv-pband-soft: #475569;
}
html[data-theme="dark"] {
	--nv-header-bg: rgba(9, 14, 28, .88);
	--nv-header-line: rgba(255, 255, 255, .07);
	--nv-hl: #FACC15;
	--nv-viewall: #FB7185;
	--nv-logo-ink: #FFFFFF;
	--nv-logo-tag: #9DA0AF;
	--nv-panel: rgba(17, 26, 46, .86);
	--nv-panel-line: rgba(255, 255, 255, .08);
	--nv-divider: rgba(255, 255, 255, .08);
	--nv-card-hover: #16223C;
	--nv-hero-bg:
		radial-gradient(520px 380px at 66% 22%, rgba(255, 181, 71, .2), transparent 62%),
		radial-gradient(900px 520px at 90% 10%, rgba(37, 99, 235, .25), transparent 65%),
		radial-gradient(700px 500px at 0% 100%, rgba(30, 58, 138, .35), transparent 65%),
		linear-gradient(180deg, #0B1428 0%, #0A1020 100%);
	--nv-search-bg: #FFFFFF;
	--nv-search-line: transparent;
	--nv-badge-bg: rgba(255, 255, 255, .07);
	--nv-badge-line: rgba(255, 255, 255, .12);
	/* Hero illustration: evening desk lamp. */
	--h-glow: #FFB547;
	--h-bulb: #FFE6A8;
	--h-desk1: #4A3324;
	--h-desk2: #21160F;
	--h-page: #E9E1CF;
	--h-page-line: #C9BFA8;
	--h-cup1: #2B3447;
	--h-cup2: #131A28;
	--h-cup-line: rgba(255, 255, 255, .07);
	--h-cup-top: #0B101B;
	--h-note: #FACC15;
	--h-shelf: rgba(148, 163, 184, .16);
	--h-window: transparent;
	--h-window-bar: transparent;
	--h-win-o: 0;
	--h-shelf-o: 1;
	--h-lamp: #2A3448;
	--h-lamp2: #46546F;
	--h-sun-o: 0;
	--h-glow-o: 1;
	--h-cone-o: .6;
	--h-shadow-o: .35;
	--h-desk-top: #5C4130;
	--h-grain: rgba(0, 0, 0, .25);
	--h-ruler: rgba(148, 197, 230, .55);
	--h-ruler-tick: #E0F2FE;
	--h-cup-in: #05080F;
	--h-cup-rim: #3A4560;
	--h-shelf-book: rgba(148, 163, 184, .2);
	--t-blue: #3B82F6;
	--t-green: #84CC16;
	--t-violet: #A855F7;
	--t-amber: #FBBF24;
	--t-red: #F43F5E;
	--t-cyan: #22D3EE;
	--t-indigo: #818CF8;
	--t-pink: #F472B6;
	--nv-pband-bg:
		radial-gradient(420px 260px at 85% 50%, rgba(99, 102, 241, .28), transparent 70%),
		linear-gradient(115deg, #0E1730 0%, #111C38 60%, #142046 100%);
	--nv-pband-line: rgba(255, 255, 255, .08);
	--nv-pband-ink: #FFFFFF;
	--nv-pband-soft: #C3CCDB;
}

/* 2. Base polish ----------------------------------------------------------- */
body { font-size: 16px; }
h1, h2, h3, h4 { font-weight: 800; letter-spacing: -.02em; }
.akt-theme-anim, .akt-theme-anim *, .akt-theme-anim *::before, .akt-theme-anim *::after { transition: background-color .35s ease, border-color .35s ease, color .35s ease, fill .35s ease !important; }
@media (prefers-reduced-motion: reduce) { .akt-theme-anim, .akt-theme-anim * { transition: none !important; } }
.nv-tone--blue { --tone: var(--t-blue); }
.nv-tone--green { --tone: var(--t-green); }
.nv-tone--violet { --tone: var(--t-violet); }
.nv-tone--amber { --tone: var(--t-amber); }
.nv-tone--red { --tone: var(--t-red); }
.nv-tone--cyan { --tone: var(--t-cyan); }
.nv-tone--indigo { --tone: var(--t-indigo); }
.nv-tone--pink { --tone: var(--t-pink); }
.nv-hl { color: var(--nv-hl); }
.akt-btn--accent { background: var(--akt-accent); color: var(--akt-on-accent); font-weight: 700; }
.akt-btn--accent:hover { background: color-mix(in srgb, var(--akt-accent) 86%, #000); color: var(--akt-on-accent); }
.akt-btn--primary, .akt-row__action, .akt-pagination .current, .akt-iconbtn--primary { color: #fff; }
html[data-theme="dark"] .akt-btn--primary, html[data-theme="dark"] .akt-row__action, html[data-theme="dark"] .akt-iconbtn--primary { background: #2563EB; }
html[data-theme="dark"] img:not([src$=".svg"]) { filter: brightness(.95); }
html[data-theme="dark"] .akt-select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23A9B4C6' stroke-width='1.8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E"); }

/* 3. Header ---------------------------------------------------------------- */
.nv-header { background: var(--nv-header-bg); border-bottom: 1px solid var(--nv-header-line); backdrop-filter: saturate(1.4) blur(10px); }
.nv-header .akt-header__bar { gap: 1.5rem; min-height: var(--akt-header-h); }
.nv-logo { display: inline-flex; align-items: center; gap: .65rem; color: var(--akt-ink); text-decoration: none; white-space: nowrap; }
.nv-logo:hover { color: var(--akt-ink); }
.nv-mark { flex: none; display: block; border-radius: 12px; box-shadow: 0 6px 16px rgba(239, 59, 50, .28); }
.nv-logo__text { display: grid; gap: .2rem; line-height: 1; }
.nv-logo__word { font-family: var(--akt-font-heading); font-size: 1.62rem; font-weight: 900; letter-spacing: -.03em; color: var(--nv-logo-ink); }
.nv-logo__accent { color: var(--nv-brand); }
.nv-logo__tag { padding-left: 1px; font-family: var(--akt-font-heading); font-size: .62rem; font-weight: 700; letter-spacing: .01em; color: var(--nv-logo-tag); }
.nv-drawer-brand { display: inline-flex; align-items: center; gap: .55rem; }
.nv-header .custom-logo { max-height: 44px; width: auto; }
.nv-searchbtn { display: inline-grid !important; }
.nv-mode .nv-mode__moon { display: none; }
html[data-theme="light"] .nv-mode .nv-mode__sun { display: none; }
html[data-theme="light"] .nv-mode .nv-mode__moon { display: inline-flex; }
.nv-mode span { display: inline-flex; }
.nv-store { min-height: 42px; padding: .55rem 1.35rem; border-radius: 9px; font-weight: 700; box-shadow: 0 6px 18px color-mix(in srgb, var(--akt-accent) 28%, transparent); }
.nv-header .akt-iconbtn { color: var(--akt-ink); }
.nv-store .akt-icon, .nv-premiumbtn .akt-icon { flex: none; }
.nv-store { display: inline-flex; align-items: center; gap: .4rem; }
.nv-premiumbtn { display: inline-flex; align-items: center; gap: .4rem; min-height: 42px; padding: .5rem 1rem; border: 1.5px solid color-mix(in srgb, var(--akt-accent) 70%, transparent); border-radius: 9px; background: color-mix(in srgb, var(--akt-accent) 10%, transparent); color: var(--akt-ink); font-weight: 700; }
.nv-premiumbtn .akt-icon { color: #F5B301; }
html[data-theme="light"] .nv-premiumbtn .akt-icon { color: #B45309; }
.nv-premiumbtn:hover { background: color-mix(in srgb, var(--akt-accent) 22%, transparent); color: var(--akt-ink); }
.nv-notif { position: relative; }
.nv-notif__btn { position: relative; }
.nv-notif__badge { position: absolute; top: 3px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border: 2px solid var(--akt-white); border-radius: 999px; background: #E11D48; color: #fff; font-size: .66rem; font-weight: 800; line-height: 14px; text-align: center; box-sizing: border-box; }
.nv-notif.has-unread .nv-notif__btn .akt-icon { animation: nv-ring 2.4s ease-in-out 1.2s 2; transform-origin: 50% 10%; }
@keyframes nv-ring { 0%, 60%, 100% { transform: none; } 10%, 30% { transform: rotate(14deg); } 20%, 40% { transform: rotate(-12deg); } 50% { transform: rotate(5deg); } }
@media (prefers-reduced-motion: reduce) { .nv-notif.has-unread .nv-notif__btn .akt-icon { animation: none; } }
.nv-notif__panel { position: absolute; top: calc(100% + 10px); right: -6px; z-index: 120; width: min(380px, calc(100vw - 24px)); background: var(--akt-white); border: 1px solid var(--akt-line); border-radius: 14px; box-shadow: var(--akt-shadow-lg); overflow: hidden; }
.nv-notif__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; border-bottom: 1px solid var(--akt-line); }
.nv-notif__head strong { font-size: 1rem; }
.nv-notif__head button { padding: 0; border: 0; background: none; color: var(--akt-primary); font: 600 .82rem/1.2 var(--akt-font-body); cursor: pointer; }
.nv-notif__head button:hover { text-decoration: underline; }
.nv-notif__list { max-height: min(420px, 60vh); margin: 0; padding: .3rem 0; overflow-y: auto; list-style: none; }
.nv-notif__item { display: flex; gap: .7rem; padding: .65rem 1rem; color: var(--akt-ink); text-decoration: none; }
.nv-notif__item:hover { background: var(--nv-card-hover); color: var(--akt-ink); }
.nv-notif__dot { flex: none; width: 8px; height: 8px; margin-top: .45rem; border-radius: 50%; background: transparent; }
.nv-notif__item.is-unread { background: color-mix(in srgb, var(--akt-primary) 6%, transparent); }
.nv-notif__item.is-unread .nv-notif__dot { background: #E11D48; }
.nv-notif__item.is-unread strong { font-weight: 700; }
.nv-notif__body { display: grid; gap: .15rem; min-width: 0; }
.nv-notif__body strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .9rem; font-weight: 500; line-height: 1.35; }
.nv-notif__body small { color: var(--akt-ink-soft); font-size: .76rem; }
.nv-notif__empty { padding: 1.2rem 1rem; color: var(--akt-ink-soft); font-size: .9rem; text-align: center; }
.nv-notif__all { display: flex; align-items: center; justify-content: center; gap: .3rem; padding: .75rem; border-top: 1px solid var(--akt-line); color: var(--akt-primary); font-size: .85rem; font-weight: 600; text-decoration: none; }
.nv-header .akt-iconbtn:hover { background: color-mix(in srgb, var(--akt-ink) 8%, transparent); color: var(--akt-ink); }
.nv-header .akt-header__actions { margin-left: auto; gap: .35rem; }
@media (min-width: 1024px) {
	.nv-nav { border: 0; flex: 1; min-width: 0; }
	.nv-nav .akt-nav__inner { display: flex; align-items: center; padding: 0; }
	.nv-nav .akt-nav__list { gap: .15rem; }
	.nv-nav .akt-nav__list > li > a { padding: .5rem .62rem; border: 0; border-radius: 8px; color: color-mix(in srgb, var(--akt-ink) 82%, transparent); font-size: .95rem; font-weight: 500; }
	.nv-nav .akt-nav__list > li > a:hover { color: var(--akt-ink); background: color-mix(in srgb, var(--akt-ink) 6%, transparent); }
	.nv-nav .akt-nav__list .current-menu-item > a, .nv-nav .akt-nav__list .current-menu-ancestor > a, .nv-nav .akt-nav__list .current_page_item > a { color: var(--akt-ink); box-shadow: inset 0 -2px 0 var(--akt-accent); border-radius: 0; }
	.nv-nav .sub-menu a { color: var(--akt-ink); }
	.nv-header .akt-header__actions { margin-left: 0; }
}
@media (max-width: 1023px) {
	.nv-header { background: var(--akt-white); backdrop-filter: none; }
	.nv-nav .akt-nav__inner { padding-inline: 1rem; }
	.nv-nav .akt-nav__list a { color: var(--akt-ink); }
}
.akt-notice { background: linear-gradient(90deg, #0B1324, #13224A); }

/* 4. Search panel: full screen on phones, a centred dialog on wider screens. */
@media (min-width: 900px) {
	.akt-sheet { align-items: center; padding: 10vh 1rem 2rem; background: rgba(4, 8, 18, .62); backdrop-filter: blur(6px); }
	.akt-sheet > * { width: min(680px, 100%); }
	.akt-sheet__bar { border-radius: 16px 16px 0 0; padding: .7rem .75rem; border: 1px solid var(--akt-line); border-bottom-color: var(--akt-line); }
	.akt-sheet__body { flex: 0 1 auto; max-height: 64vh; overflow-y: auto; background: var(--akt-paper); border: 1px solid var(--akt-line); border-top: 0; border-radius: 0 0 16px 16px; box-shadow: var(--akt-shadow-lg); }
}

/* 5. Hero ------------------------------------------------------------------ */
.nv-hero { position: relative; overflow: hidden; padding: clamp(2rem, 5vw, 3.25rem) 0 1.5rem; color: var(--akt-ink); isolation: isolate; }
.nv-hero__bg { position: absolute; inset: 0; z-index: -1; background: var(--nv-hero-bg); }
html[data-theme="dark"] .nv-hero__bg::after { content: ""; position: absolute; inset: auto 0 0; height: 120px; background: linear-gradient(180deg, transparent, var(--akt-paper)); }
html[data-theme="light"] .nv-hero__bg::after { content: ""; position: absolute; inset: auto 0 0; height: 90px; background: linear-gradient(180deg, transparent, var(--akt-paper)); }
.nv-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; align-items: center; }
@media (min-width: 900px) { .nv-hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 2rem; } }
.nv-badge { display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 1.1rem; padding: .35rem .8rem; border: 1px solid var(--nv-badge-line); border-radius: 8px; background: var(--nv-badge-bg); font-size: .85rem; font-weight: 600; color: var(--akt-ink); }
.nv-badge__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--akt-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--akt-accent) 25%, transparent); }
.nv-hero__title { margin: 0 0 1rem; font-size: clamp(2.2rem, 5.2vw, 3.6rem); line-height: 1.08; letter-spacing: -.035em; max-width: 14ch; color: var(--akt-ink); }
.nv-hero__links { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .7rem; margin: 0 0 1.5rem; font-size: clamp(1rem, 1.6vw, 1.2rem); font-weight: 500; }
.nv-hero__links a { color: var(--akt-ink); text-decoration: none; }
.nv-hero__links a:hover { color: var(--nv-hl); }
.nv-hero__links span { color: var(--akt-ink-faint); }
.nv-search { display: flex; align-items: stretch; max-width: 580px; height: 56px; padding: 0; background: var(--nv-search-bg); border: 1.5px solid var(--nv-search-line); border-radius: 10px; overflow: hidden; box-shadow: 0 14px 40px rgba(2, 6, 23, .28); }
html[data-theme="light"] .nv-search { box-shadow: 0 12px 32px rgba(15, 23, 42, .1); }
.nv-search input { flex: 1; min-width: 0; padding: 0 1.1rem; border: 0; outline: 0; background: transparent; color: #0F172A; font: 400 1.05rem/1 var(--akt-font-body); }
.nv-search input::placeholder { color: #6B7280; }
.nv-search button { display: inline-grid; place-items: center; width: 56px; border: 0; background: var(--akt-accent); color: var(--akt-on-accent); cursor: pointer; }
.nv-search button:hover { background: color-mix(in srgb, var(--akt-accent) 86%, #000); }
.nv-search:focus-within { box-shadow: 0 0 0 3px color-mix(in srgb, var(--akt-accent) 45%, transparent), 0 14px 40px rgba(2, 6, 23, .25); }
.nv-hero__popular { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .5rem; margin: 1rem 0 0; font-size: .875rem; color: var(--akt-ink-soft); }
.nv-hero__popular a { padding: .2rem .65rem; border: 1px solid var(--nv-badge-line); border-radius: 999px; color: var(--akt-ink-soft); text-decoration: none; background: var(--nv-badge-bg); }
.nv-hero__popular a:hover { color: var(--akt-ink); border-color: var(--akt-accent); }
.nv-hero__visual { position: relative; display: none; }
@media (min-width: 900px) { .nv-hero__visual { display: block; } }
.nv-hero__art { display: block; width: 100%; height: auto; max-width: 600px; margin-left: auto; overflow: visible; }
.nv-art__window { opacity: var(--h-win-o); }
.nv-art__shelf { opacity: var(--h-shelf-o); }
.nv-art__sun { opacity: var(--h-sun-o); }
.nv-art__glow { opacity: var(--h-glow-o); }
.nv-art__shadow { opacity: var(--h-shadow-o); }
.nv-art__cone { opacity: var(--h-cone-o); mix-blend-mode: screen; }
.nv-art__cupmark { font-family: var(--akt-font-heading); font-size: 22px; font-weight: 800; text-anchor: middle; fill: var(--nv-brand); opacity: .9; }
.nv-book__label { font-family: var(--akt-font-heading); font-size: 19px; font-weight: 800; letter-spacing: .06em; text-anchor: middle; }
.nv-art__note text { font-family: Caveat, "Segoe Print", "Bradley Hand", cursive; font-size: 34px; font-weight: 600; fill: var(--h-note); }
.nv-hero__img { display: block; width: 100%; height: auto; max-width: 620px; margin-left: auto; border-radius: 18px; }
html[data-theme="dark"] .nv-hero__img--light, html[data-theme="light"] .nv-hero__img--dark { display: none; }
@media (prefers-reduced-motion: no-preference) {
	.nv-book { animation: nv-rise .7s cubic-bezier(.2, .8, .2, 1) both; }
	.nv-book:nth-of-type(2) { animation-delay: .06s; }
	.nv-book:nth-of-type(3) { animation-delay: .12s; }
	.nv-book:nth-of-type(4) { animation-delay: .18s; }
	.nv-book:nth-of-type(5) { animation-delay: .24s; }
	@keyframes nv-rise { from { transform: translateY(10px); } to { transform: none; } }
}

/* 6. Category cards -------------------------------------------------------- */
.nv-cats { position: relative; margin-top: clamp(1.5rem, 4vw, 2.5rem); background: var(--nv-panel); border: 1px solid var(--nv-panel-line); border-radius: 16px; box-shadow: var(--akt-shadow-lg); backdrop-filter: blur(8px); }
.nv-cats ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: .5rem; list-style: none; }
.nv-cats li { position: relative; }
.nv-cats li + li::before { content: ""; position: absolute; left: 0; top: 22%; bottom: 22%; width: 1px; background: var(--nv-divider); }
.nv-cats__item { display: grid; justify-items: center; gap: .3rem; padding: 1.15rem .5rem 1.1rem; border-radius: 12px; color: var(--akt-ink); text-align: center; text-decoration: none; transition: background .15s, transform .15s; }
.nv-cats__item:hover { background: var(--nv-card-hover); color: var(--akt-ink); transform: translateY(-2px); }
.nv-cats__item .nv-caticon { color: var(--tone); margin-bottom: .35rem; filter: drop-shadow(0 6px 14px color-mix(in srgb, var(--tone) 35%, transparent)); }
.nv-cats__item strong { font-size: 1.02rem; font-weight: 700; }
.nv-cats__item span { color: var(--akt-ink-soft); font-size: .875rem; }
@media (max-width: 899px) {
	.nv-cats ul { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: .35rem; }
	.nv-cats ul::-webkit-scrollbar { display: none; }
	.nv-cats li { flex: 0 0 38%; scroll-snap-align: start; }
	.nv-cats__item { padding: .9rem .4rem; }
	.nv-cats__item strong { font-size: .92rem; }
	.nv-cats__item span { font-size: .78rem; }
}
@media (max-width: 480px) { .nv-cats li { flex-basis: 44%; } }

/* 7. Home sections --------------------------------------------------------- */
.nv-home { padding-bottom: 1rem; }
.nv-block { padding: clamp(1.4rem, 3vw, 2rem) 0 .5rem; }
.nv-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.nv-head h2 { margin: 0; font-size: clamp(1.35rem, 2.2vw, 1.6rem); }
.nv-viewall { display: inline-flex; align-items: center; gap: .3rem; flex: none; color: var(--nv-viewall); font-size: .9rem; font-weight: 600; text-decoration: none; }
.nv-viewall:hover { color: var(--nv-viewall); text-decoration: underline; }
.nv-eyebrow { margin: 0 0 .35rem; color: var(--nv-hl); font-size: .8rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nv-lead { max-width: 70ch; margin: -.25rem 0 1.25rem; color: var(--akt-ink-soft); }
.nv-slot { padding-top: 1.5rem; }
.nv-duo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 2.5rem; }
@media (min-width: 1100px) { .nv-duo { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); } .nv-duo--single { grid-template-columns: minmax(0, 1fr); } }

.nv-updates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.nv-update { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; height: 100%; min-height: 104px; padding: 1rem 1.1rem; background: var(--akt-white); border: 1px solid var(--akt-line); border-radius: 12px; color: var(--akt-ink); text-decoration: none; transition: background .15s, border-color .15s, transform .15s; }
.nv-update:hover { background: var(--nv-card-hover); border-color: var(--akt-line-strong); color: var(--akt-ink); transform: translateY(-2px); }
.nv-update strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .98rem; font-weight: 600; line-height: 1.4; }
.nv-update time { color: var(--akt-ink-soft); font-size: .8rem; }
.nv-update__new { position: absolute; top: -8px; right: 10px; padding: .05rem .45rem; border-radius: 6px; background: var(--akt-accent); color: var(--akt-on-accent); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }

.nv-subjects { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.nv-subject { display: grid; justify-items: center; align-content: start; gap: .35rem; height: 100%; min-height: 104px; padding: .85rem .6rem .75rem; background: var(--akt-white); border: 1px solid var(--akt-line); border-radius: 12px; color: var(--akt-ink); text-align: center; text-decoration: none; transition: background .15s, border-color .15s, transform .15s; }
.nv-subject:hover { background: var(--nv-card-hover); border-color: color-mix(in srgb, var(--tone) 55%, transparent); color: var(--akt-ink); transform: translateY(-2px); }
.nv-subject__ic { display: inline-grid; place-items: center; width: 46px; height: 46px; color: var(--tone); }
.nv-subject__ic .akt-icon { stroke-width: 2; }
.nv-subject__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .85rem; font-weight: 600; line-height: 1.3; }
.nv-subject__code { color: var(--akt-ink-faint); font-size: .7rem; font-weight: 600; letter-spacing: .03em; }
@media (min-width: 700px) and (max-width: 1099px) { .nv-subjects { grid-template-columns: repeat(6, minmax(0, 1fr)); } .nv-updates { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.nv-updates { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(-1 * var(--akt-gutter)); padding: .6rem var(--akt-gutter) .25rem; }
	.nv-updates::-webkit-scrollbar { display: none; }
	.nv-updates li { flex: 0 0 62%; scroll-snap-align: start; }
	.nv-subjects { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.nv-tools { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.nv-tool { display: flex; flex-direction: column; gap: .4rem; height: 100%; padding: 1rem .95rem .9rem; background: var(--akt-white); border: 1px solid var(--akt-line); border-radius: 14px; color: var(--akt-ink); text-decoration: none; transition: background .15s, border-color .15s, transform .15s; }
.nv-tool:hover { background: var(--nv-card-hover); border-color: color-mix(in srgb, var(--tone) 55%, transparent); color: var(--akt-ink); transform: translateY(-2px); }
.nv-tool__ic { display: inline-grid; place-items: center; width: 42px; height: 42px; margin-bottom: .2rem; border-radius: 11px; background: color-mix(in srgb, var(--tone) 15%, transparent); color: var(--tone); }
.nv-tool strong { font-size: .95rem; line-height: 1.25; }
.nv-tool__txt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--akt-ink-soft); font-size: .8rem; line-height: 1.45; }
.nv-tool__go { display: inline-flex; align-items: center; gap: .25rem; margin-top: auto; padding-top: .3rem; color: var(--tone); font-size: .8rem; font-weight: 700; }
@media (max-width: 1099px) {
	.nv-tools { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(-1 * var(--akt-gutter)); padding: .25rem var(--akt-gutter) .5rem; }
	.nv-tools::-webkit-scrollbar { display: none; }
	.nv-tools li { flex: 0 0 clamp(170px, 30%, 220px); scroll-snap-align: start; }
}
@media (max-width: 520px) { .nv-tools li { flex-basis: 46%; } .nv-tool__txt { -webkit-line-clamp: 2; } }
.nv-faq { max-width: 860px; }
.nv-faq h2 { font-size: clamp(1.35rem, 2.2vw, 1.6rem); }

/* 8. Premium band ---------------------------------------------------------- */
.nv-premium { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; align-items: center; margin: 1.5rem 0 .5rem; padding: clamp(1.4rem, 3.5vw, 2rem) clamp(1.25rem, 4vw, 3rem); overflow: hidden; background: var(--nv-pband-bg); border: 1px solid var(--nv-pband-line); border-radius: 18px; color: var(--nv-pband-ink); }
@media (min-width: 900px) { .nv-premium { grid-template-columns: minmax(0, 1.5fr) auto minmax(260px, .9fr); gap: 2rem; } }
.nv-premium h2 { margin: 0 0 .5rem; color: var(--nv-pband-ink); font-size: clamp(1.45rem, 3vw, 2.1rem); line-height: 1.15; }
.nv-premium p { margin: 0; color: var(--nv-pband-soft); font-size: 1.02rem; }
.nv-kicker { display: flex; align-items: center; gap: .6rem; margin: 0 0 .6rem !important; color: var(--nv-hl) !important; font-size: .85rem !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nv-kicker .akt-icon { color: #F5B301; fill: color-mix(in srgb, #F5B301 30%, transparent); }
.nv-premium__cta { justify-self: start; min-height: 50px; padding-inline: 1.4rem; border-radius: 10px; font-size: 1rem; }
.nv-pcards { position: relative; display: none; height: 150px; }
@media (min-width: 900px) { .nv-pcards { display: block; } }
.nv-pcards::before { content: ""; position: absolute; left: -10px; bottom: -40px; width: 90px; height: 90px; border-radius: 50%; background: #4F46E5; opacity: .85; }
.nv-pcard { position: absolute; top: 6px; display: grid; justify-items: center; align-content: start; gap: .55rem; width: 108px; height: 140px; padding: .85rem .6rem; background: #FFFFFF; border-radius: 10px; box-shadow: 0 16px 34px rgba(2, 6, 23, .35); color: #0F172A; text-align: center; }
.nv-pcard strong { font-family: var(--akt-font-heading); font-size: .82rem; line-height: 1.15; transform: rotate(-4deg); }
.nv-pcard span { width: 70%; height: 4px; border-radius: 2px; background: #E2E8F0; }
.nv-pcard--1 { left: 8%; transform: rotate(-9deg); }
.nv-pcard--2 { left: 38%; top: 0; transform: rotate(3deg); z-index: 1; }
.nv-pcard--3 { left: 68%; transform: rotate(10deg); }

/* 9. Branches ---------------------------------------------------------------- */
.nv-branches { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .65rem; margin: 0; padding: 0; list-style: none; }
.nv-branch { display: flex; align-items: center; justify-content: center; gap: .75rem; min-height: 52px; padding: .6rem 1rem; background: var(--akt-white); border: 1px solid var(--akt-line); border-radius: 10px; color: var(--akt-ink); font-weight: 600; text-decoration: none; transition: background .15s, border-color .15s, transform .15s; }
.nv-branch .akt-icon { color: var(--tone, var(--akt-ink-soft)); stroke-width: 2; }
.nv-branch:hover { background: var(--nv-card-hover); border-color: color-mix(in srgb, var(--tone, var(--akt-ink)) 50%, transparent); color: var(--akt-ink); transform: translateY(-2px); }
@media (min-width: 1100px) { .nv-branches { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
@media (max-width: 520px) { .nv-branches { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 10. Footer --------------------------------------------------------------- */
.nv-footer { margin-top: 2.5rem; padding: 0; background: #070C18; border-top: 1px solid rgba(255, 255, 255, .06); color: #9AA6BA; font-size: .92rem; }
.nv-footer { padding-top: clamp(1.5rem, 4vw, 2.75rem); }
.nv-footer .nv-logo { --nv-logo-ink: #FFFFFF; --nv-logo-tag: #9DA0AF; }
.nv-footer .nv-logo__word { font-size: 1.75rem; }
.nv-footer h2 { margin: 0 0 .9rem; color: #FFFFFF; font-family: var(--akt-font-heading); font-size: .98rem; font-weight: 700; letter-spacing: 0; }
.nv-footer a { color: #B7C1D1; text-decoration: none; }
.nv-footer a:hover { color: #FACC15; }

/* Premium subscribe card at the top of the footer. */
.nv-fprem { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; margin: 0 0 2.75rem; padding: clamp(1.4rem, 3.5vw, 2.25rem); overflow: hidden; border: 1px solid rgba(250, 204, 21, .22); border-radius: 20px; box-shadow: 0 20px 50px rgba(0, 0, 0, .35); background: radial-gradient(520px 260px at 100% 0%, rgba(250, 204, 21, .16), transparent 70%), radial-gradient(420px 260px at 0% 100%, rgba(99, 102, 241, .22), transparent 70%), linear-gradient(120deg, #0F1A35 0%, #121F42 60%, #17204A 100%); color: #C3CCDB; }
@media (min-width: 960px) { .nv-fprem { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 2.5rem; align-items: center; } }
.nv-fprem__kicker { display: inline-flex; align-items: center; gap: .45rem; margin: 0 0 .6rem; padding: .25rem .7rem; border-radius: 999px; background: rgba(250, 204, 21, .14); color: #FACC15; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nv-fprem h2 { margin: 0 0 .5rem; font-size: clamp(1.4rem, 2.6vw, 1.9rem); line-height: 1.15; letter-spacing: -.02em; }
.nv-fprem p { margin: 0; line-height: 1.6; }
.nv-footer .nv-fprem__perks { display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; margin: 1rem 0 0; padding: 0; list-style: none; color: #E2E8F0; font-size: .88rem; font-weight: 600; }
.nv-fprem__perks li { display: inline-flex; align-items: center; gap: .35rem; }
.nv-fprem__perks .akt-icon { color: #4ADE80; stroke-width: 2.6; }
.nv-fprem__plans ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.nv-fplan { position: relative; display: grid; gap: .1rem; height: 100%; padding: .9rem .9rem .8rem; border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; background: rgba(255, 255, 255, .04); color: #E2E8F0 !important; transition: border-color .15s, background .15s, transform .15s; }
.nv-fplan:hover { border-color: rgba(250, 204, 21, .6); background: rgba(250, 204, 21, .06); transform: translateY(-2px); }
.nv-fplan.is-featured { border-color: #FACC15; background: rgba(250, 204, 21, .1); }
.nv-fplan__badge { position: absolute; top: -9px; right: 10px; padding: .05rem .45rem; border-radius: 6px; background: #FACC15; color: #0B1220; font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.nv-fplan__name { color: #C3CCDB; font-size: .8rem; font-weight: 600; }
.nv-fplan__price { color: #FFFFFF; font-family: var(--akt-font-heading); font-size: 1.45rem; font-weight: 800; line-height: 1.2; }
.nv-fplan__price s { color: #7D8AA0; font-size: .85rem; font-weight: 500; }
.nv-fplan__period { color: #9AA6BA; font-size: .76rem; }
.nv-fprem__cta { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.nv-fprem__cta .akt-btn { display: inline-flex; align-items: center; gap: .45rem; min-height: 48px; padding-inline: 1.5rem; border-radius: 10px; color: #0B1220 !important; font-size: 1rem; }
.nv-fprem__more { display: inline-flex; align-items: center; gap: .3rem; color: #FACC15 !important; font-weight: 600; }
@media (max-width: 560px) {
	.nv-fprem { border-radius: 16px; }
	.nv-fprem__plans ul { grid-template-columns: minmax(0, 1fr); }
	.nv-fplan { grid-template-columns: 1fr auto; align-items: baseline; column-gap: .75rem; }
	.nv-fplan__price { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
	.nv-fprem__cta .akt-btn { flex: 1; justify-content: center; }
}

.nv-footer__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
@media (min-width: 900px) { .nv-footer__grid { grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr)) 1.2fr; gap: 2rem; } }
.nv-footer__brand p { margin: .85rem 0 1.1rem; max-width: 34ch; line-height: 1.6; }
.nv-footer__col summary { display: flex; align-items: center; justify-content: space-between; list-style: none; cursor: default; }
.nv-footer__col summary::-webkit-details-marker { display: none; }
.nv-footer__col summary .akt-icon { display: none; }
.nv-footer ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .55rem; }
.nv-footer .akt-social { display: flex; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.nv-footer .akt-social a { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: rgba(255, 255, 255, .06); color: #E2E8F0; }
.nv-footer .akt-social a:hover { background: #FACC15; color: #0B1220; }
.nv-footer__contact p { margin: 0 0 1rem; line-height: 1.55; }
.nv-footer__join { display: inline-flex; align-items: center; gap: .45rem; margin-bottom: 1rem; padding: .55rem .9rem; border: 1px solid rgba(255, 255, 255, .14); border-radius: 9px; background: rgba(255, 255, 255, .04); color: #E2E8F0 !important; font-weight: 600; }
.nv-footer__join:hover { border-color: #FACC15; }
.nv-footer__mail { display: flex; align-items: center; gap: .45rem; overflow-wrap: anywhere; }
.nv-footer__base { display: grid; gap: .5rem; margin-top: 2.5rem; padding-block: 1.25rem 1.5rem; border-top: 1px solid rgba(255, 255, 255, .07); font-size: .82rem; color: #7D8AA0; }
.nv-footer__base p { margin: 0; }
.nv-footer__baserow { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem; }
.nv-footer__legal { display: flex !important; flex-wrap: wrap; gap: .35rem 1.25rem !important; }
.nv-footer__legal a { color: #9AA6BA; }
.nv-footer__disclaimer { max-width: 90ch; }
@media (max-width: 899px) {
	.nv-footer__grid { gap: 0; }
	.nv-footer__brand { padding-bottom: 1.25rem; }
	.nv-footer__col { border-bottom: 1px solid rgba(255, 255, 255, .07); }
	.nv-footer__col summary { padding: .85rem 0; cursor: pointer; }
	.nv-footer__col summary .akt-icon { display: inline; transition: transform .2s; }
	.nv-footer__col[open] summary .akt-icon { transform: rotate(90deg); }
	.nv-footer__col h2 { margin: 0; }
	.nv-footer__col ul { padding-bottom: 1rem; }
	.nv-footer__contact { padding-top: 1.5rem; }
}

/* 11. Ads -------------------------------------------------------------------- */
.akt-ad__label { color: var(--akt-ink-faint); }
.akt-anchor { display: none; }
@media (max-width: 767px) {
	.akt-anchor:not([hidden]) { position: fixed; left: 0; right: 0; bottom: calc(64px + env(safe-area-inset-bottom, 0px)); z-index: 80; display: block; padding: .25rem .5rem; background: var(--akt-white); border-top: 1px solid var(--akt-line); box-shadow: 0 -6px 18px rgba(2, 6, 23, .18); }
	.akt-anchor .akt-ad { margin: 0; --akt-ad-h: 50px; --akt-ad-hm: 50px; }
	.akt-anchor .akt-ad__label { position: absolute; top: -18px; left: .5rem; padding: 0 .4rem; border-radius: 4px 4px 0 0; background: var(--akt-white); font-size: .65rem; }
	.akt-anchor__close { position: absolute; top: -22px; right: .5rem; display: inline-grid; place-items: center; width: 24px; height: 22px; border: 1px solid var(--akt-line); border-bottom: 0; border-radius: 6px 6px 0 0; background: var(--akt-white); color: var(--akt-ink-soft); cursor: pointer; }
	body.akt-has-anchor { padding-bottom: calc(130px + env(safe-area-inset-bottom, 0px)); }
}
.akt-ad__anchor { display: flex; align-items: center; gap: .6rem; padding: .35rem .5rem; border: 0; background: none; }
.akt-ad__anchor .akt-ad__mark { width: 34px; height: 34px; font-size: .9rem; }
.akt-ad__anchor strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .8rem; line-height: 1.3; }
.akt-ad__anchor .akt-ad__cta { margin-left: auto; white-space: nowrap; }

/* 12. Phones ------------------------------------------------------------------ */
@media (max-width: 767px) {
	.akt-bottombar { background: color-mix(in srgb, var(--akt-white) 96%, transparent) !important; backdrop-filter: blur(10px); }
	.nv-header .nv-mark { width: 36px; height: 36px; border-radius: 10px; }
	.nv-header .nv-logo { gap: .5rem; }
	.nv-header .nv-logo__word { font-size: 1.32rem; }
	.nv-header .nv-logo__tag { font-size: .55rem; }
	.nv-store { min-height: 36px; padding: .4rem .85rem; font-size: .875rem; box-shadow: none; }
	.nv-header .akt-header__premium span { display: inline; }
	.nv-store .akt-icon { display: none; }
	.nv-premiumbtn { width: 38px; min-height: 36px; padding: 0; justify-content: center; }
	.nv-premiumbtn span { display: none; }
	.nv-notif__panel { position: fixed; top: calc(var(--akt-header-h) + 6px); right: 12px; left: 12px; width: auto; }
	.nv-hero__links { gap: .3rem .45rem; font-size: .86rem; }
	.nv-hero { padding-top: 1.5rem; }
	.nv-hero__title { font-size: clamp(2rem, 9vw, 2.6rem); }
	.nv-hero__links { margin-bottom: 1.1rem; }
	.nv-search { height: 52px; }
	.nv-search button { width: 52px; }
	.nv-premium__cta { width: 100%; }
}
@media (max-width: 479px) {
	.nv-header .nv-logo__tag { display: none; }
	.nv-header .akt-header__bar { gap: .5rem; }
	.nv-header .nv-mark { width: 34px; height: 34px; }
	.nv-header .nv-logo { gap: .4rem; }
	.nv-header .nv-logo__word { font-size: 1.2rem; }
	.nv-header .akt-header__actions { gap: .15rem; }
	.nv-header .akt-header__actions .akt-iconbtn { width: 34px; height: 34px; min-width: 34px; }
	.nv-premiumbtn { width: 34px; min-height: 34px; }
	.nv-store { min-height: 34px; padding: .3rem .7rem; font-size: .8rem; }
	.nv-notif__badge { top: -2px; right: -3px; }
}
@media (max-width: 380px) { .nv-header .nv-searchbtn { display: none !important; } }
@media (min-width: 1024px) { .nv-header .akt-header__bar { gap: 1.1rem; } .nv-nav .akt-nav__list > li > a { white-space: nowrap; } }
@media (min-width: 1024px) and (max-width: 1399px) { .nv-premiumbtn span, .nv-store .akt-icon { display: none; } .nv-premiumbtn { padding-inline: .7rem; } .nv-nav .akt-nav__list > li > a { font-size: .9rem; padding-inline: .5rem; } }
@media (min-width: 1024px) and (max-width: 1179px) { .nv-header .nv-logo__tag { display: none; } .nv-header .nv-logo__word { font-size: 1.4rem; } .nv-header .nv-mark { width: 38px; height: 38px; } .nv-nav .akt-nav__list > li > a { padding-inline: .4rem; font-size: .86rem; } }
