/* ==========================================================================
   CODESCRIPTUM BLOG — MAIN STYLESHEET
   Ultra-modern blog theme with per-category theming
   ========================================================================== */

/* ── RESET & BASE ────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}
body{
	font-family:'Inter',system-ui,-apple-system,sans-serif;
	font-weight:400;
	line-height:1.7;
	color:#e2e8f0;
	background:#030712;
	overflow-x:hidden;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .25s ease}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:'Space Grotesk','Inter',sans-serif;font-weight:700;line-height:1.2;color:#fff}

/* ── CSS VARIABLES ────────────────────────────────────── */
:root{
	--primary: #6366F1;
	--primary-dark: #4F46E5;
	--cyan: #06B6D4;
	--emerald: #10B981;
	--amber: #F59E0B;
	--pink: #EC4899;
	--violet: #8B5CF6;
	--indigo: #6366F1;

	--bg-primary: #030712;
	--bg-secondary: #0B0F1A;
	--bg-card: rgba(15, 23, 42, 0.55);
	--bg-card-hover: rgba(15, 23, 42, 0.8);

	--border-subtle: rgba(99,102,241,0.06);
	--border-medium: rgba(99,102,241,0.12);

	--text-primary: #FFFFFF;
	--text-secondary: rgba(255,255,255,0.65);
	--text-muted: #94A3B8;

	--radius-sm: 8px;
	--radius-md: 14px;
	--radius-lg: 20px;
	--radius-xl: 28px;

	--shadow-card: 0 4px 24px rgba(0,0,0,0.25);
	--shadow-glow: 0 0 40px rgba(99,102,241,0.15);

	--cat-color: #6366F1;
	--cat-gradient: linear-gradient(135deg, #6366F1, #06B6D4);

	--transition: .35s cubic-bezier(.4,0,.2,1);
	--transition-fast: .2s ease;
}

/* ── Per-category accent overrides ────────────────── */
.cat-accent--cyan{ --cat-color:#06B6D4; --cat-gradient:linear-gradient(135deg,#06B6D4,#0891B2); }
.cat-accent--emerald{ --cat-color:#10B981; --cat-gradient:linear-gradient(135deg,#10B981,#059669); }
.cat-accent--amber{ --cat-color:#F59E0B; --cat-gradient:linear-gradient(135deg,#F59E0B,#D97706); }
.cat-accent--pink{ --cat-color:#EC4899; --cat-gradient:linear-gradient(135deg,#EC4899,#DB2777); }
.cat-accent--violet{ --cat-color:#8B5CF6; --cat-gradient:linear-gradient(135deg,#8B5CF6,#7C3AED); }
.cat-accent--indigo{ --cat-color:#6366F1; --cat-gradient:linear-gradient(135deg,#6366F1,#4F46E5); }

/* ── CONTAINER ────────────────────────────────────────── */
.container{
	width:100%;
	max-width:1240px;
	margin:0 auto;
	padding:0 24px;
}
.container--narrow{ max-width:860px; }
.container--wide{ max-width:1400px; }

/* ── SCROLL PROGRESS ─────────────────────────────────── */
.scroll-progress{
	position:fixed;top:0;left:0;width:100%;height:3px;z-index:9999;
	background:transparent;
}
.scroll-progress__bar{
	height:100%;width:0%;
	background:var(--cat-gradient);
	transition:width .1s linear;
}

/* ── CURSOR GLOW ─────────────────────────────────────── */
.cursor-glow{
	position:fixed;
	width:500px;height:500px;
	border-radius:50%;
	background:radial-gradient(circle,rgba(99,102,241,0.06) 0%,transparent 70%);
	pointer-events:none;
	z-index:0;
	transform:translate(-50%,-50%);
	transition:opacity .3s;
	will-change:left,top;
}
@media(max-width:1024px){ .cursor-glow{display:none} }

/* ══════════════════════════════════════════════════════
   HEADER
   ══════════════════════════════════════════════════════ */
.site-header{
	position:fixed;top:0;left:0;width:100%;z-index:1000;
	background:rgba(3,7,18,0.7);
	backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
	border-bottom:1px solid var(--border-subtle);
	transition:all var(--transition);
}
.site-header.is-scrolled{
	background:rgba(3,7,18,0.95);
	border-bottom-color:var(--border-medium);
	box-shadow:0 4px 30px rgba(0,0,0,0.3);
}
.site-header__inner{
	display:flex;align-items:center;justify-content:space-between;
	height:72px;gap:24px;
}
.site-header__brand{
	display:flex;align-items:center;gap:0;
	flex-shrink:0;
}
.site-header__logo{
	display:flex;align-items:center;
}
.site-header__logo-img{
	height:22px;width:auto;
	opacity:.9;transition:opacity .2s;
}
.site-header__logo:hover .site-header__logo-img{ opacity:1; }
.site-header__blog-link{
	display:flex;align-items:center;gap:6px;
	transition:color .2s;
}
.site-header__divider{
	color:rgba(255,255,255,0.2);
	font-size:.9rem;font-weight:300;
	margin:0 8px;
}
.site-header__blog-text{
	font-family:'Space Grotesk',sans-serif;
	font-size:.75rem;font-weight:700;
	text-transform:uppercase;letter-spacing:.1em;
	color:var(--cat-color);
	transition:color .2s;
}
.site-header__blog-link:hover .site-header__blog-text{
	color:#fff;
}

/* Nav */
.site-nav{ flex:1; }
.site-nav__list{
	display:flex;align-items:center;justify-content:center;
	gap:12px;
}
.site-nav__link{
	display:flex;align-items:center;gap:6px;
	font-size:.82rem;font-weight:500;
	color:var(--text-muted);
	padding:10px 18px;border-radius:var(--radius-sm);
	transition:all var(--transition-fast);
	white-space:nowrap;
	position:relative;
}
.site-nav__link i{ font-size:.75rem; opacity:.7; }
.site-nav__link:hover,
.site-nav__link.is-active{
	color:#fff;
	background:rgba(255,255,255,0.06);
}
.site-nav__link.is-active::after{
	content:'';
	position:absolute;bottom:2px;left:50%;transform:translateX(-50%);
	width:24px;height:2px;
	background:var(--nav-accent, var(--cat-color));
	border-radius:2px;
}
.site-header__actions{
	display:flex;align-items:center;gap:12px;
	flex-shrink:0;
}

/* Hamburger */
.hamburger{
	display:none;
	background:none;border:none;cursor:pointer;
	width:36px;height:36px;
	position:relative;
	flex-direction:column;justify-content:center;align-items:center;gap:5px;
}
.hamburger span{
	display:block;width:22px;height:2px;
	background:#fff;border-radius:2px;
	transition:all .3s ease;
}
.hamburger.is-active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.is-active span:nth-child(2){ opacity:0; }
.hamburger.is-active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media(max-width:1100px){
	.site-nav{ display:none; }
	.hamburger{ display:flex; }
}
@media(max-width:640px){
	.site-header__actions .btn{ display:none; }
	.site-header__inner{ height:60px; }
}

/* ── Mobile menu ─────────────────────────────────────── */
.mobile-menu{
	position:fixed;inset:0;z-index:999;
	background:rgba(3,7,18,0.97);
	backdrop-filter:blur(30px);
	opacity:0;visibility:hidden;
	transition:all .4s cubic-bezier(.4,0,.2,1);
	overflow-y:auto;
}
.mobile-menu.is-open{ opacity:1;visibility:visible; }
.mobile-menu__inner{
	min-height:100vh;
	display:flex;flex-direction:column;
	padding:20px 24px;gap:24px;
}
.mobile-menu__header{
	display:flex;align-items:center;justify-content:space-between;
	padding-top:10px;
}
.mobile-menu__title{
	font-family:'Space Grotesk',sans-serif;
	font-size:1.1rem;font-weight:600;color:#fff;
}
.mobile-menu__close{
	width:40px;height:40px;display:flex;align-items:center;justify-content:center;
	background:rgba(255,255,255,0.05);border:none;border-radius:10px;
	color:#fff;font-size:1.2rem;cursor:pointer;
	transition:background .2s;
}
.mobile-menu__close:hover{ background:rgba(255,255,255,0.1); }
.mobile-menu__nav{
	display:flex;flex-direction:column;gap:4px;
	flex:1;
}
.mobile-menu__link{
	display:flex;align-items:center;gap:12px;
	font-size:1rem;font-weight:500;color:var(--text-secondary);
	padding:14px 18px;border-radius:var(--radius-md);
	transition:all .25s ease;
}
.mobile-menu__link i{ width:20px;text-align:center;font-size:.9rem; }
.mobile-menu__link:hover{
	background:rgba(255,255,255,0.04);
	color:var(--link-color, #fff);
}
.mobile-menu__cta{ padding:16px 0; }

/* ══════════════════════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════════════════════ */
.btn{
	display:inline-flex;align-items:center;gap:8px;
	font-family:'Inter',sans-serif;font-weight:600;font-size:.88rem;
	padding:12px 24px;border-radius:var(--radius-md);
	border:none;cursor:pointer;
	transition:all var(--transition);
	position:relative;overflow:hidden;
	white-space:nowrap;
}
.btn--sm{ padding:8px 18px;font-size:.82rem;border-radius:var(--radius-sm); }
.btn--block{ width:100%;justify-content:center; }
.btn--primary{
	background:var(--cat-gradient);
	color:#fff;
	box-shadow:0 4px 20px rgba(99,102,241,0.3);
}
.btn--primary:hover{
	transform:translateY(-2px);
	box-shadow:0 8px 30px rgba(99,102,241,0.45);
}
.btn--ghost{
	background:rgba(255,255,255,0.04);
	color:#fff;
	border:1px solid rgba(255,255,255,0.12);
	backdrop-filter:blur(10px);
}
.btn--ghost:hover{
	border-color:var(--cat-color);
	background:rgba(255,255,255,0.08);
}
.btn--glow{
	box-shadow:0 4px 20px rgba(99,102,241,0.3),0 0 60px rgba(99,102,241,0.15);
}
/* Ripple */
.btn .ripple{
	position:absolute;border-radius:50%;
	background:rgba(255,255,255,0.25);
	animation:ripple .6s linear;
	pointer-events:none;
}
@keyframes ripple{to{transform:scale(4);opacity:0}}

/* ══════════════════════════════════════════════════════
   BADGES
   ══════════════════════════════════════════════════════ */
.badge{
	display:inline-flex;align-items:center;gap:8px;
	font-size:.78rem;font-weight:600;
	color:var(--cat-color);
	background:rgba(99,102,241,0.08);
	padding:6px 16px;border-radius:100px;
	border:1px solid rgba(99,102,241,0.12);
}
.pulse-dot{
	position:relative;
}
.pulse-dot::before{
	content:'';position:absolute;inset:-4px;
	border-radius:50%;
	background:var(--cat-color);opacity:.4;
	animation:pulse-ring 2s ease infinite;
}
@keyframes pulse-ring{
	0%,100%{transform:scale(1);opacity:.4}
	50%{transform:scale(1.8);opacity:0}
}

/* ── Category tag ────────────────────────────────── */
.cat-tag{
	display:inline-flex;align-items:center;gap:6px;
	font-size:.72rem;font-weight:600;text-transform:uppercase;
	letter-spacing:.05em;
	padding:4px 12px;border-radius:6px;
	transition:all var(--transition-fast);
}
.cat-tag--filled{
	background:var(--tag-gradient, var(--cat-gradient));
	color:#fff;
}
.cat-tag--outline{
	color:var(--tag-color, var(--cat-color));
	border:1px solid var(--tag-color, var(--cat-color));
	background:transparent;
}
.cat-tag--outline:hover{
	background:var(--tag-color, var(--cat-color));
	color:#fff;
}

/* ══════════════════════════════════════════════════════
   POST CARDS
   ══════════════════════════════════════════════════════ */
.posts-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
	gap:28px;
}
@media(max-width:740px){ .posts-grid{ grid-template-columns:1fr; } }

.post-card{
	position:relative;
	background:var(--bg-card);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-lg);
	overflow:hidden;
	transition:all var(--transition);
	will-change:transform;
}
.post-card:hover{
	transform:translateY(-6px);
	border-color:var(--border-medium);
	box-shadow:var(--shadow-card),0 0 40px rgba(var(--cat-color-rgb,99,102,241),0.08);
}
.post-card__thumb{
	position:relative;aspect-ratio:16/10;overflow:hidden;
}
.post-card__thumb img{
	width:100%;height:100%;object-fit:cover;
	transition:transform .6s cubic-bezier(.4,0,.2,1);
}
.post-card:hover .post-card__thumb img{ transform:scale(1.06); }

.post-card__thumb-overlay{
	position:absolute;inset:0;
	background:linear-gradient(to top,rgba(3,7,18,0.7) 0%,transparent 50%);
}
.post-card__cat{
	position:absolute;top:16px;left:16px;z-index:2;
}
.post-card__body{
	padding:24px;
	display:flex;flex-direction:column;gap:12px;
}
.post-card__meta{
	display:flex;align-items:center;gap:12px;
	font-size:.78rem;color:var(--text-muted);
}
.post-card__meta i{ font-size:.7rem; }
.post-card__title{
	font-size:1.15rem;font-weight:700;
	line-height:1.35;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
	overflow:hidden;
}
.post-card__title a{
	transition:color var(--transition-fast);
}
.post-card__title a:hover{ color:var(--cat-color); }
.post-card__excerpt{
	font-size:.88rem;color:var(--text-secondary);line-height:1.65;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
	overflow:hidden;
}
.post-card__footer{
	display:flex;align-items:center;justify-content:space-between;
	padding-top:12px;
	border-top:1px solid var(--border-subtle);
}
.post-card__read{
	font-size:.82rem;font-weight:600;color:var(--cat-color);
	display:flex;align-items:center;gap:6px;
	transition:all var(--transition-fast);
}
.post-card__read:hover{ gap:10px; }
.post-card__read i{ font-size:.7rem;transition:transform .2s; }
.post-card:hover .post-card__read i{ transform:translateX(3px); }

/* Featured card (first in grid) */
.post-card--featured{
	grid-column:1 / -1;
	display:grid;
	grid-template-columns:1.2fr 1fr;
}
.post-card--featured .post-card__thumb{ aspect-ratio:auto; min-height:320px; }
@media(max-width:860px){
	.post-card--featured{ grid-template-columns:1fr; }
	.post-card--featured .post-card__thumb{ aspect-ratio:16/9; min-height:auto; }
}

/* ══════════════════════════════════════════════════════
   HERO SECTION (index / category)
   ══════════════════════════════════════════════════════ */
.hero{
	position:relative;
	padding:140px 0 80px;
	overflow:hidden;
}
.hero__bg{
	position:absolute;inset:0;z-index:0;
	overflow:hidden;
}
.hero__orb{
	position:absolute;
	border-radius:50%;
	filter:blur(80px);
	opacity:.25;
	animation:float-orb 12s ease-in-out infinite;
}
.hero__orb--1{
	width:500px;height:500px;
	background:var(--cat-color);
	top:-120px;right:-100px;
	animation-delay:-2s;
}
.hero__orb--2{
	width:400px;height:400px;
	background:var(--primary);
	bottom:-80px;left:-60px;
	animation-delay:-6s;
}
.hero__orb--3{
	width:300px;height:300px;
	background:var(--cyan);
	top:50%;left:50%;transform:translate(-50%,-50%);
	animation-delay:-4s;
	opacity:.12;
}
@keyframes float-orb{
	0%,100%{transform:translateY(0) scale(1)}
	50%{transform:translateY(-40px) scale(1.08)}
}

.hero__content{
	position:relative;z-index:1;
	text-align:center;
	max-width:720px;margin:0 auto;
}
.hero__title{
	font-size:clamp(2rem,4.5vw,3.4rem);
	font-weight:800;
	margin-bottom:20px;
	background:linear-gradient(135deg,#fff 0%,rgba(255,255,255,0.7) 100%);
	-webkit-background-clip:text;-webkit-text-fill-color:transparent;
	background-clip:text;
}
.hero__title span{
	background:var(--cat-gradient);
	-webkit-background-clip:text;-webkit-text-fill-color:transparent;
	background-clip:text;
}
.hero__desc{
	font-size:1.1rem;color:var(--text-secondary);
	max-width:560px;margin:0 auto 32px;
	line-height:1.7;
}
.hero__actions{
	display:flex;align-items:center;justify-content:center;gap:14px;
	flex-wrap:wrap;
}
.hero__stats{
	display:flex;align-items:center;justify-content:center;gap:40px;
	margin-top:48px;
}
.hero__stat{
	text-align:center;
}
.hero__stat-value{
	font-family:'Space Grotesk',sans-serif;
	font-size:1.8rem;font-weight:700;
	background:var(--cat-gradient);
	-webkit-background-clip:text;-webkit-text-fill-color:transparent;
	background-clip:text;
}
.hero__stat-label{
	font-size:.78rem;color:var(--text-muted);
	margin-top:4px;
}

/* ══════════════════════════════════════════════════════
   CATEGORY HEADER (archive pages)
   ══════════════════════════════════════════════════════ */
.cat-hero{
	position:relative;
	padding:140px 0 60px;
	overflow:hidden;
	border-bottom:1px solid var(--border-subtle);
}
.cat-hero__icon{
	width:64px;height:64px;
	display:flex;align-items:center;justify-content:center;
	background:var(--cat-gradient);
	border-radius:var(--radius-md);
	font-size:1.5rem;color:#fff;
	margin:0 auto 20px;
	box-shadow:0 8px 30px rgba(0,0,0,0.3);
}
.cat-hero__title{
	text-align:center;
	font-size:clamp(1.8rem,3.5vw,2.8rem);
	margin-bottom:12px;
}
.cat-hero__desc{
	text-align:center;
	font-size:1rem;color:var(--text-secondary);
	max-width:560px;margin:0 auto 28px;
}
.cat-hero__cta{
	display:flex;justify-content:center;
}

/* ══════════════════════════════════════════════════════
   SINGLE POST
   ══════════════════════════════════════════════════════ */
.single-hero{
	position:relative;
	padding:120px 0 50px;
	overflow:hidden;
}
.single-hero__content{
	position:relative;z-index:1;
	max-width:860px;margin:0 auto;
	text-align:center;
}
.single-hero__title{
	font-size:clamp(1.6rem,3.5vw,2.6rem);
	font-weight:800;
	margin-bottom:20px;
	line-height:1.25;
}
.single-hero__meta{
	display:flex;align-items:center;justify-content:center;gap:20px;
	font-size:.85rem;color:var(--text-muted);
	flex-wrap:wrap;
}
.single-hero__meta span{
	display:flex;align-items:center;gap:6px;
}
.single-hero__meta i{ font-size:.75rem;color:var(--cat-color); }

/* Post content */
.post-content{
	padding:60px 0 40px;
}
.post-content__body{
	max-width:760px;margin:0 auto;
	font-size:1.05rem;line-height:1.85;color:var(--text-secondary);
}
.post-content__body h2{
	font-size:1.6rem;margin:48px 0 20px;
	padding-bottom:12px;
	border-bottom:2px solid var(--border-medium);
	color:#fff;
}
.post-content__body h3{
	font-size:1.25rem;margin:36px 0 16px;color:#fff;
}
.post-content__body h4{
	font-size:1.08rem;margin:28px 0 12px;color:var(--text-primary);
}
.post-content__body p{
	margin-bottom:20px;
}
.post-content__body a{
	color:var(--cat-color);
	text-decoration:underline;
	text-decoration-color:rgba(99,102,241,0.3);
	text-underline-offset:3px;
	transition:all .2s;
}
.post-content__body a:hover{
	text-decoration-color:var(--cat-color);
}
.post-content__body a[href*="codescriptum.pl"]{
	color:#fff !important;
	text-decoration:none !important;
	border-bottom:1px solid rgba(255,255,255,0.3);
	padding-bottom:1px;
	transition:border-color .2s;
}
.post-content__body a[href*="codescriptum.pl"]:hover{
	border-bottom-color:#fff;
}
.post-content__body h2 a[href*="codescriptum.pl"]{
	color:inherit !important;
	text-decoration:none !important;
	border-bottom:2px solid var(--cat-color);
	padding-bottom:2px;
}
.post-content__body h2 a[href*="codescriptum.pl"]:hover{
	color:var(--cat-color) !important;
}
.post-content__body ul,
.post-content__body ol{
	margin:0 0 20px 24px;
}
.post-content__body ul{ list-style:disc; }
.post-content__body ol{ list-style:decimal; }
.post-content__body li{ margin-bottom:8px; }
.post-content__body blockquote{
	margin:32px 0;padding:20px 24px;
	border-left:4px solid var(--cat-color);
	background:rgba(255,255,255,0.03);
	border-radius:0 var(--radius-sm) var(--radius-sm) 0;
	font-style:italic;color:var(--text-secondary);
}
.post-content__body pre{
	margin:24px 0;padding:20px;
	background:rgba(0,0,0,0.4);
	border:1px solid var(--border-medium);
	border-radius:var(--radius-sm);
	overflow-x:auto;
	font-size:.88rem;
}
.post-content__body code{
	font-family:'JetBrains Mono','Fira Code',monospace;
	background:rgba(255,255,255,0.06);
	padding:2px 6px;border-radius:4px;
	font-size:.9em;
}
.post-content__body pre code{
	background:none;padding:0;
}
.post-content__body img{
	border-radius:var(--radius-md);
	margin:28px 0;
}
.post-content__body .wp-caption{
	max-width:100%;
}
.post-content__body .wp-caption-text{
	font-size:.82rem;color:var(--text-muted);
	text-align:center;margin-top:8px;
}

/* Featured image in single */
.single-featured{
	max-width:960px;margin:-20px auto 0;
	position:relative;z-index:1;
	border-radius:var(--radius-xl);
	overflow:hidden;
	box-shadow:var(--shadow-card);
}
.single-featured img{
	width:100%;aspect-ratio:16/9;object-fit:cover;
}

/* Post navigation */
.post-nav{
	max-width:760px;margin:60px auto 0;
	display:grid;grid-template-columns:1fr 1fr;gap:20px;
	padding-top:40px;
	border-top:1px solid var(--border-subtle);
}
.post-nav__item{
	padding:20px;
	background:var(--bg-card);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-md);
	transition:all var(--transition);
}
.post-nav__item:hover{
	border-color:var(--border-medium);
	transform:translateY(-2px);
}
.post-nav__item--next{ text-align:right; }
.post-nav__label{
	font-size:.75rem;color:var(--text-muted);
	text-transform:uppercase;letter-spacing:.05em;
	margin-bottom:8px;
	display:flex;align-items:center;gap:6px;
}
.post-nav__item--next .post-nav__label{ justify-content:flex-end; }
.post-nav__title{
	font-size:.92rem;font-weight:600;color:#fff;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
	overflow:hidden;
}
@media(max-width:640px){
	.post-nav{ grid-template-columns:1fr; }
}

/* ── Tags ────────────────────────────────────────── */
.post-tags{
	max-width:760px;margin:32px auto 0;
	display:flex;flex-wrap:wrap;gap:8px;
}
.post-tags a{
	font-size:.78rem;font-weight:500;
	color:var(--text-muted);
	padding:6px 14px;border-radius:100px;
	background:rgba(255,255,255,0.04);
	border:1px solid var(--border-subtle);
	transition:all var(--transition-fast);
}
.post-tags a:hover{
	color:var(--cat-color);border-color:var(--cat-color);
	background:rgba(99,102,241,0.06);
}

/* ── Author box ─────────────────────────────────── */
.author-box{
	max-width:760px;margin:48px auto 0;
	padding:28px;
	background:var(--bg-card);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-lg);
	display:flex;gap:20px;align-items:center;
}
.author-box__avatar{
	width:64px;height:64px;border-radius:50%;
	flex-shrink:0;overflow:hidden;
	border:2px solid var(--cat-color);
}
.author-box__avatar img{width:100%;height:100%;object-fit:cover}
.author-box__name{
	font-size:1rem;font-weight:700;color:#fff;
	margin-bottom:4px;
}
.author-box__bio{
	font-size:.85rem;color:var(--text-secondary);line-height:1.55;
}

/* ══════════════════════════════════════════════════════
   CTA BLOCKS
   ══════════════════════════════════════════════════════ */
.cta-inline{
	max-width:760px;margin:48px auto;
	padding:32px;
	background:var(--bg-card);
	border:1px solid var(--border-medium);
	border-radius:var(--radius-lg);
	position:relative;overflow:hidden;
}
.cta-inline__glow{
	position:absolute;top:-40%;right:-20%;
	width:300px;height:300px;
	background:var(--cat-color);
	filter:blur(100px);opacity:.08;
	border-radius:50%;
	pointer-events:none;
}
.cta-inline__content{
	position:relative;z-index:1;
}
.cta-inline__title{
	font-size:1.25rem;margin-bottom:10px;
}
.cta-inline__desc{
	font-size:.92rem;color:var(--text-secondary);
	margin-bottom:20px;line-height:1.65;
}

/* CTA between posts (category grid) */
.cta-between{
	background:var(--bg-card);
	border:1px solid var(--border-medium);
	border-radius:var(--radius-lg);
	padding:40px;
	display:flex;flex-direction:column;
	align-items:center;justify-content:center;
	text-align:center;
	position:relative;overflow:hidden;
	min-height:300px;
}
.cta-between__icon{
	width:56px;height:56px;
	display:flex;align-items:center;justify-content:center;
	background:var(--cat-gradient);
	border-radius:var(--radius-md);
	font-size:1.3rem;color:#fff;
	margin-bottom:18px;
}
.cta-between__title{
	font-size:1.15rem;margin-bottom:10px;
}
.cta-between__desc{
	font-size:.88rem;color:var(--text-secondary);
	margin-bottom:20px;max-width:300px;
}

/* Full-width CTA banner */
.cta-banner{
	position:relative;
	padding:80px 0;
	overflow:hidden;
}
.cta-banner__bg{
	position:absolute;inset:0;
	background:var(--cat-gradient);
	opacity:.06;
}
.cta-banner__inner{
	position:relative;z-index:1;
	text-align:center;
}
.cta-banner__title{
	font-size:clamp(1.5rem,3vw,2.2rem);
	margin-bottom:14px;
}
.cta-banner__desc{
	font-size:1rem;color:var(--text-secondary);
	max-width:520px;margin:0 auto 28px;
}

/* ══════════════════════════════════════════════════════
   RELATED POSTS
   ══════════════════════════════════════════════════════ */
.related-posts{
	padding:60px 0 80px;
	border-top:1px solid var(--border-subtle);
}
.related-posts__header{
	text-align:center;margin-bottom:40px;
}
.related-posts__title{
	font-size:1.6rem;
}
.related-posts__subtitle{
	font-size:.92rem;color:var(--text-muted);margin-top:8px;
}

/* ══════════════════════════════════════════════════════
   NEWSLETTER
   ══════════════════════════════════════════════════════ */
.newsletter{
	padding:80px 0;
}
.newsletter__inner{
	position:relative;
	background:var(--bg-card);
	border:1px solid var(--border-medium);
	border-radius:var(--radius-xl);
	padding:48px;
	overflow:hidden;
	display:grid;grid-template-columns:1fr 1fr;
	gap:40px;align-items:center;
}
.newsletter__glow{
	position:absolute;
	width:400px;height:400px;
	background:var(--cat-color);
	filter:blur(120px);opacity:.06;
	border-radius:50%;
	top:-100px;left:-100px;
	pointer-events:none;
}
.newsletter__content{ position:relative;z-index:1; }
.newsletter__title{
	font-size:1.5rem;margin-top:14px;margin-bottom:10px;
}
.newsletter__desc{
	font-size:.92rem;color:var(--text-secondary);line-height:1.65;
}
.newsletter__form{ position:relative;z-index:1; }
.newsletter__field{
	display:flex;gap:0;
	background:rgba(255,255,255,0.04);
	border:1px solid var(--border-medium);
	border-radius:var(--radius-md);
	overflow:hidden;
	transition:border-color .2s;
}
.newsletter__field:focus-within{
	border-color:var(--cat-color);
}
.newsletter__input{
	flex:1;
	padding:14px 18px;
	background:transparent;border:none;
	color:#fff;font-size:.92rem;
	font-family:'Inter',sans-serif;
	outline:none;
}
.newsletter__input::placeholder{ color:var(--text-muted); }
.newsletter__btn{
	border-radius:0;
	padding:14px 24px;
}
.newsletter__privacy{
	font-size:.75rem;color:var(--text-muted);
	margin-top:10px;
}
@media(max-width:860px){
	.newsletter__inner{ grid-template-columns:1fr;text-align:center; }
}
@media(max-width:480px){
	.newsletter__inner{ padding:28px 20px; }
	.newsletter__field{ flex-direction:column; }
	.newsletter__btn{ border-radius:0 0 var(--radius-md) var(--radius-md); }
}

/* ══════════════════════════════════════════════════════
   FLOATING CTA (mobile)
   ══════════════════════════════════════════════════════ */
.floating-cta{
	position:fixed;bottom:20px;right:20px;z-index:900;
	opacity:0;transform:translateY(20px);
	transition:all .4s cubic-bezier(.4,0,.2,1);
	pointer-events:none;
}
.floating-cta.is-visible{
	opacity:1;transform:translateY(0);
	pointer-events:auto;
}
@media(min-width:1100px){ .floating-cta{ display:none; } }

/* ══════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════ */
.site-footer{
	background:var(--bg-secondary);
	border-top:1px solid var(--border-subtle);
	padding:60px 0 0;
}
.site-footer__grid{
	display:grid;
	grid-template-columns:1.5fr 1fr 1fr 1fr;
	gap:40px;
}
.site-footer__brand{}
.site-footer__logo{ display:inline-block;margin-bottom:14px; }
.site-footer__logo img{ height:32px;width:auto; }
.site-footer__desc{
	font-size:.85rem;color:var(--text-muted);
	line-height:1.65;margin-bottom:18px;
}
.site-footer__socials{
	display:flex;gap:10px;
}
.site-footer__socials a{
	width:36px;height:36px;
	display:flex;align-items:center;justify-content:center;
	background:rgba(255,255,255,0.04);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-sm);
	color:var(--text-muted);font-size:.85rem;
	transition:all var(--transition-fast);
}
.site-footer__socials a:hover{
	color:#fff;border-color:var(--cat-color);
	background:rgba(99,102,241,0.1);
}
.site-footer__heading{
	font-family:'Space Grotesk',sans-serif;
	font-size:.85rem;font-weight:700;
	text-transform:uppercase;letter-spacing:.06em;
	color:#fff;margin-bottom:18px;
}
.site-footer__links li{ margin-bottom:10px; }
.site-footer__links a{
	font-size:.85rem;color:var(--text-muted);
	display:flex;align-items:center;gap:8px;
	transition:color .2s;
}
.site-footer__links a:hover{
	color:var(--link-hover, var(--cat-color));
}
.site-footer__links i{ width:16px;text-align:center;font-size:.75rem; }
.site-footer__contact span{
	font-size:.85rem;color:var(--text-muted);
	display:flex;align-items:center;gap:8px;
}
.site-footer__bottom{
	display:flex;align-items:center;justify-content:space-between;
	padding:24px 0;margin-top:40px;
	border-top:1px solid var(--border-subtle);
	font-size:.8rem;color:var(--text-muted);
}
.site-footer__bottom a{ color:var(--text-muted);transition:color .2s; }
.site-footer__bottom a:hover{ color:#fff; }
.site-footer__bottom-links{
	display:flex;gap:20px;
}
@media(max-width:900px){
	.site-footer__grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:540px){
	.site-footer__grid{ grid-template-columns:1fr; }
	.site-footer__bottom{ flex-direction:column;gap:12px;text-align:center; }
}

/* ══════════════════════════════════════════════════════
   BREADCRUMBS
   ══════════════════════════════════════════════════════ */
.breadcrumbs{
	display:flex;align-items:center;gap:8px;
	font-size:.8rem;color:var(--text-muted);
	flex-wrap:wrap;
}
.breadcrumbs a{
	color:var(--text-muted);transition:color .2s;
}
.breadcrumbs a:hover{ color:#fff; }
.breadcrumbs__sep{
	font-size:.55rem;opacity:.5;
}

/* ══════════════════════════════════════════════════════
   PAGINATION
   ══════════════════════════════════════════════════════ */
.pagination{
	display:flex;align-items:center;justify-content:center;gap:6px;
	padding:50px 0;
}
.pagination a,
.pagination span{
	display:flex;align-items:center;justify-content:center;
	width:42px;height:42px;
	border-radius:var(--radius-sm);
	font-size:.88rem;font-weight:600;
	border:1px solid var(--border-subtle);
	color:var(--text-muted);
	transition:all var(--transition-fast);
}
.pagination a:hover{
	border-color:var(--cat-color);color:#fff;
	background:rgba(99,102,241,0.08);
}
.pagination .current{
	background:var(--cat-gradient);
	border-color:transparent;
	color:#fff;
}

/* ══════════════════════════════════════════════════════
   SEARCH
   ══════════════════════════════════════════════════════ */
.search-form{
	display:flex;gap:0;
	background:rgba(255,255,255,0.04);
	border:1px solid var(--border-medium);
	border-radius:var(--radius-md);
	overflow:hidden;
	max-width:480px;
	transition:border-color .2s;
}
.search-form:focus-within{ border-color:var(--cat-color); }
.search-form input[type="search"]{
	flex:1;padding:12px 18px;
	background:transparent;border:none;
	color:#fff;font-family:'Inter',sans-serif;font-size:.92rem;
	outline:none;
}
.search-form button{
	padding:12px 18px;
	background:var(--cat-gradient);border:none;
	color:#fff;cursor:pointer;font-size:1rem;
	transition:opacity .2s;
}
.search-form button:hover{ opacity:.85; }

/* ══════════════════════════════════════════════════════
   TABLE OF CONTENTS (single post)
   ══════════════════════════════════════════════════════ */
.toc{
	max-width:760px;margin:0 auto 40px;
	padding:24px;
	background:var(--bg-card);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-lg);
}
.toc__title{
	font-size:.88rem;font-weight:700;
	display:flex;align-items:center;gap:8px;
	margin-bottom:14px;color:#fff;
	cursor:pointer;
}
.toc__title i{ font-size:.75rem;color:var(--cat-color); }
.toc__list{
	display:flex;flex-direction:column;gap:6px;
}
.toc__link{
	font-size:.85rem;color:var(--text-muted);
	padding:6px 12px;border-radius:6px;
	display:flex;align-items:center;gap:8px;
	transition:all .2s;
}
.toc__link::before{
	content:'';width:6px;height:6px;
	border-radius:50%;
	background:var(--cat-color);
	flex-shrink:0;opacity:.4;
	transition:opacity .2s;
}
.toc__link:hover{
	background:rgba(255,255,255,0.03);
	color:#fff;
}
.toc__link:hover::before{ opacity:1; }
.toc__link--h3{ padding-left:28px; font-size:.82rem; }

/* ══════════════════════════════════════════════════════
   SIDEBAR
   ══════════════════════════════════════════════════════ */
.sidebar-layout{
	display:grid;
	grid-template-columns:1fr 320px;
	gap:40px;
	align-items:start;
}
@media(max-width:1024px){
	.sidebar-layout{ grid-template-columns:1fr; }
}
.sidebar{
	position:sticky;top:90px;
	display:flex;flex-direction:column;gap:24px;
}
.widget{
	padding:24px;
	background:var(--bg-card);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-lg);
}
.widget__title{
	font-size:.88rem;font-weight:700;
	margin-bottom:16px;color:#fff;
}

/* ══════════════════════════════════════════════════════
   UTILITIES
   ══════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════
   CATEGORY TILES (index page)
   ══════════════════════════════════════════════════════ */
.cat-tiles{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
	gap:16px;
}
.cat-tile{
	display:flex;flex-direction:column;
	align-items:center;gap:10px;
	padding:28px 16px;
	background:var(--bg-card);
	border:1px solid var(--border-subtle);
	border-radius:var(--radius-lg);
	text-align:center;
	transition:all var(--transition);
	position:relative;overflow:hidden;
}
.cat-tile:hover{
	border-color:var(--tile-color);
	transform:translateY(-4px);
	box-shadow:0 8px 30px rgba(0,0,0,0.3);
}
.cat-tile__icon{
	width:50px;height:50px;
	display:flex;align-items:center;justify-content:center;
	background:var(--tile-gradient);
	border-radius:var(--radius-md);
	font-size:1.2rem;color:#fff;
	transition:transform .3s;
}
.cat-tile:hover .cat-tile__icon{ transform:scale(1.1) rotate(5deg); }
.cat-tile__name{
	font-family:'Space Grotesk',sans-serif;
	font-size:.88rem;font-weight:700;color:#fff;
}
.cat-tile__count{
	font-size:.72rem;color:var(--text-muted);
}
@media(max-width:540px){
	.cat-tiles{ grid-template-columns:repeat(2,1fr); }
}

.text-center{ text-align:center; }
.mt-0{ margin-top:0; }
.mb-0{ margin-bottom:0; }
.sr-only{
	position:absolute;width:1px;height:1px;
	overflow:hidden;clip:rect(0,0,0,0);
	white-space:nowrap;border:0;
}
.section{ padding:60px 0; }
.section--lg{ padding:80px 0; }

/* 404 */
.error-404{
	text-align:center;
	padding:140px 0 100px;
}
.error-404__code{
	font-family:'Space Grotesk',sans-serif;
	font-size:clamp(5rem,12vw,10rem);
	font-weight:900;
	background:var(--cat-gradient);
	-webkit-background-clip:text;-webkit-text-fill-color:transparent;
	background-clip:text;
	line-height:1;
}
.error-404__title{
	font-size:1.5rem;margin:20px 0 14px;
}
.error-404__desc{
	font-size:1rem;color:var(--text-secondary);
	max-width:420px;margin:0 auto 28px;
}

/* ══════════════════════════════════════════════════════
   HERO TYPED TEXT — stabilna animacja inline
   ══════════════════════════════════════════════════════ */
.hero__typed-line{
	display:flex;align-items:center;justify-content:center;gap:8px;
	font-size:clamp(1rem,2vw,1.35rem);
	font-weight:500;
	color:var(--text-secondary);
	min-height:2em;
	margin-top:-4px;margin-bottom:8px;
}
.hero__typed-prefix{
	color:var(--text-muted);
}
.hero__typed-word{
	color:var(--cat-color);
	font-weight:700;
	font-family:'Space Grotesk',sans-serif;
	min-width:180px;
	display:inline-block;
}
.hero__cursor{
	color:var(--cat-color);
	animation:cursor-blink 1s step-end infinite;
	font-weight:300;
}
@keyframes cursor-blink{
	0%,100%{opacity:1} 50%{opacity:0}
}
@media(max-width:640px){
	.hero__typed-line{ flex-direction:column;gap:2px; }
	.hero__typed-word{ min-width:auto; }
}

/* ══════════════════════════════════════════════════════
   STRONGER HERO — dark + dramatic
   ══════════════════════════════════════════════════════ */
.hero{
	background:linear-gradient(180deg,#030712 0%,#070c1a 30%,#0c1229 60%,#0d1225 100%);
	border-bottom:none;
}
.hero::before{
	content:'';position:absolute;inset:0;
	background:
		radial-gradient(ellipse 80% 60% at 50% 30%,rgba(99,102,241,0.12) 0%,transparent 60%),
		radial-gradient(ellipse 40% 40% at 20% 80%,rgba(6,182,212,0.06) 0%,transparent 50%),
		radial-gradient(ellipse 40% 40% at 80% 70%,rgba(139,92,246,0.06) 0%,transparent 50%);
	pointer-events:none;
	z-index:0;
}
.hero::after{
	content:'';position:absolute;bottom:0;left:0;right:0;height:120px;
	background:linear-gradient(180deg,transparent,#131c31);
	pointer-events:none;
	z-index:1;
}
.hero__title{
	text-shadow:0 0 100px rgba(99,102,241,0.2),0 0 200px rgba(99,102,241,0.08);
}
.hero__orb{
	opacity:.35;
}
.hero__orb--1{
	width:600px;height:600px;
	filter:blur(100px);
}
.hero__orb--2{
	width:500px;height:500px;
	filter:blur(100px);
}
.hero__orb--3{
	width:400px;height:400px;
	filter:blur(90px);
	opacity:.18;
}

/* Hero grid lines background */
.hero__grid{
	position:absolute;inset:0;z-index:0;
	background-image:
		linear-gradient(rgba(99,102,241,0.03) 1px,transparent 1px),
		linear-gradient(90deg,rgba(99,102,241,0.03) 1px,transparent 1px);
	background-size:60px 60px;
	mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black 20%,transparent 70%);
	-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black 20%,transparent 70%);
}

/* ══════════════════════════════════════════════════════
   IMPROVED MARQUEE
   ══════════════════════════════════════════════════════ */
.marquee{
	background:#131c31;
	border-top:1px solid rgba(99,102,241,0.08);
	border-bottom:1px solid rgba(99,102,241,0.08);
	padding:16px 0;
	position:relative;
}
.marquee::before,
.marquee::after{
	content:'';position:absolute;top:0;bottom:0;width:100px;z-index:2;
	pointer-events:none;
}
.marquee::before{
	left:0;
	background:linear-gradient(90deg,#131c31,transparent);
}
.marquee::after{
	right:0;
	background:linear-gradient(270deg,#131c31,transparent);
}
.marquee__track{
	gap:48px;
}
/* Legacy marquee span — only for non-neon marquees */
.marquee__track:not(.marquee__track--neon) span{
	font-size:.8rem;
	color:rgba(255,255,255,0.15);
	letter-spacing:.15em;
	position:relative;
}
.marquee__track:not(.marquee__track--neon) span::before{
	content:'•';
	margin-right:48px;
	color:rgba(99,102,241,0.25);
}

/* ══════════════════════════════════════════════════════
   LIGHT / BRIGHT SECTIONS
   ══════════════════════════════════════════════════════ */

/* Category tiles section — bright slate */
.section--light{
	background:#131c31;
	border-top:none;
	border-bottom:none;
	position:relative;
}

/* Posts grid section — BRIGHT! */
.section--lighter{
	background:linear-gradient(180deg,#1a2540 0%,#1e293b 50%,#1a2540 100%);
}
.section--lighter .post-card{
	background:rgba(30,41,59,0.7);
	border-color:rgba(148,163,184,0.1);
	backdrop-filter:blur(8px);
}
.section--lighter .post-card:hover{
	background:rgba(51,65,85,0.75);
	border-color:rgba(148,163,184,0.2);
}
.section--lighter .cta-between{
	background:rgba(30,41,59,0.6);
	border-color:rgba(148,163,184,0.1);
}

/* Section after hero — smooth gradient transition */
.section--after-hero{
	position:relative;
}
.section--after-hero::before{
	content:'';position:absolute;top:-80px;left:0;right:0;height:80px;
	background:linear-gradient(180deg,transparent,#131c31);
	pointer-events:none;
	z-index:2;
}

/* Section header improvements */
.section-header{
	margin-bottom:40px;
}
.section-header h2{
	color:#fff;
	margin-top:14px;
}
.section-header p{
	color:var(--text-muted);
	margin-top:8px;
	font-size:.95rem;
}

/* ══════════════════════════════════════════════════════
   CTA BANNER — bright navy
   ══════════════════════════════════════════════════════ */
.cta-banner{
	background:linear-gradient(180deg,#1e293b 0%,#1a2540 100%);
	border-top:1px solid rgba(148,163,184,0.08);
	border-bottom:1px solid rgba(148,163,184,0.08);
}
.cta-banner__bg{
	background:var(--cat-gradient);
	opacity:.05;
}

/* Newsletter — brighter card */
.newsletter{
	background:#131c31;
}
.newsletter__inner{
	background:rgba(30,41,59,0.6);
	border-color:rgba(148,163,184,0.1);
}

/* Footer — slightly lighter */
.site-footer{
	background:#0f1729;
}

/* ══════════════════════════════════════════════════════
   CAT TILES — glassmorphism on bright bg
   ══════════════════════════════════════════════════════ */
.cat-tile{
	background:rgba(30,41,59,0.5);
	border-color:rgba(148,163,184,0.08);
	backdrop-filter:blur(12px);
}
.cat-tile:hover{
	background:rgba(51,65,85,0.6);
}

/* ══════════════════════════════════════════════════════
   EXTRA ANIMATIONS
   ══════════════════════════════════════════════════════ */

/* Card hover glow ring */
.post-card::after{
	content:'';
	position:absolute;inset:0;
	border-radius:var(--radius-lg);
	box-shadow:inset 0 1px 0 rgba(255,255,255,0.05);
	pointer-events:none;
	transition:box-shadow .4s;
}
.post-card:hover::after{
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.08),
		0 0 30px rgba(99,102,241,0.06);
}

/* Badge glow on bright sections */
.section--lighter .badge{
	background:rgba(99,102,241,0.12);
	border-color:rgba(99,102,241,0.18);
}

/* Floating action indicator */
@keyframes float-gentle{
	0%,100%{transform:translateY(0)}
	50%{transform:translateY(-6px)}
}
.hero__scroll-hint{
	display:flex;flex-direction:column;align-items:center;gap:6px;
	margin-top:40px;
	animation:float-gentle 3s ease-in-out infinite;
}
.hero__scroll-hint span{
	font-size:.72rem;color:var(--text-muted);
	text-transform:uppercase;letter-spacing:.1em;
}
.hero__scroll-hint i{
	font-size:.9rem;color:var(--cat-color);
	animation:bounce-down 2s ease-in-out infinite;
}
@keyframes bounce-down{
	0%,100%{transform:translateY(0);opacity:.5}
	50%{transform:translateY(6px);opacity:1}
}

/* Stat separator dots */
.hero__stat + .hero__stat{
	position:relative;
}
.hero__stat + .hero__stat::before{
	content:'';
	position:absolute;left:-20px;top:50%;
	transform:translateY(-50%);
	width:4px;height:4px;border-radius:50%;
	background:rgba(255,255,255,0.15);
}

/* ══════════════════════════════════════════════════════
   BLOG HERO — compact with search
   ══════════════════════════════════════════════════════ */
.hero--blog{
	min-height:0;
	padding:130px 0 70px;
	background:radial-gradient(ellipse 90% 80% at 50% 20%,rgba(99,102,241,0.14),transparent 50%),
	           radial-gradient(ellipse 70% 60% at 85% 60%,rgba(6,182,212,0.09),transparent 50%),
	           radial-gradient(ellipse 55% 50% at 10% 70%,rgba(236,72,153,0.07),transparent 50%),
	           radial-gradient(ellipse 40% 40% at 60% 85%,rgba(16,185,129,0.05),transparent 45%),
	           #030712;
}
.hero--blog .hero__content{
	max-width:760px;
}
.hero--blog .hero__title{
	font-size:clamp(1.8rem,4vw,3rem);
	margin-bottom:12px;
}

/* Fourth orb */
.hero__orb--4{
	width:250px;height:250px;
	background:var(--emerald);
	top:65%;left:15%;
	animation-delay:-8s;
	opacity:.15;
	filter:blur(70px);
}

/* Title line-by-line animation */
.hero__title--animated{
	display:flex;flex-direction:column;align-items:center;
	margin-bottom:16px;
}
.hero__title-line{
	display:block;
}
.hero__title-line--accent{
	background:var(--cat-gradient);
	-webkit-background-clip:text;-webkit-text-fill-color:transparent;
	background-clip:text;
}

/* ── Hero Search Bar ─────────────────────────────────── */
.hero__search{
	width:100%;max-width:620px;margin:0 auto 28px;
}
.hero__search-form{
	display:flex;align-items:center;
	background:rgba(255,255,255,0.06);
	border:1px solid rgba(255,255,255,0.1);
	border-radius:60px;
	padding:6px 6px 6px 22px;
	transition:all .35s cubic-bezier(.4,0,.2,1);
	backdrop-filter:blur(20px);
	box-shadow:0 4px 30px rgba(0,0,0,0.2),0 0 0 0 rgba(99,102,241,0);
}
.hero__search-form:focus-within{
	border-color:var(--cat-color);
	box-shadow:0 4px 30px rgba(0,0,0,0.2),0 0 40px rgba(99,102,241,0.12),0 0 0 3px rgba(99,102,241,0.08);
	background:rgba(255,255,255,0.09);
}
.hero__search-icon{
	color:var(--text-muted);font-size:.95rem;
	flex-shrink:0;margin-right:12px;
	transition:color .3s;
}
.hero__search-form:focus-within .hero__search-icon{
	color:var(--cat-color);
}
.hero__search-input{
	flex:1;
	background:transparent;border:none;outline:none;
	color:#fff;font-family:'Inter',sans-serif;font-size:.95rem;
	padding:10px 0;min-width:0;
}
.hero__search-input::placeholder{
	color:rgba(255,255,255,0.35);
}
.hero__search-btn{
	border-radius:50px;padding:10px 22px;font-size:.85rem;
	flex-shrink:0;gap:6px;
}
.hero__search-tags{
	display:flex;align-items:center;gap:8px;
	margin-top:14px;justify-content:center;flex-wrap:wrap;
}
.hero__search-tags > span{
	font-size:.75rem;color:var(--text-muted);
}
.hero__search-tag{
	font-size:.72rem;font-weight:500;
	color:rgba(255,255,255,0.55);
	background:rgba(255,255,255,0.05);
	border:1px solid rgba(255,255,255,0.08);
	padding:4px 12px;border-radius:100px;
	transition:all .25s ease;
}
.hero__search-tag:hover{
	color:#fff;
	background:rgba(99,102,241,0.12);
	border-color:rgba(99,102,241,0.25);
	transform:translateY(-1px);
}
@media(max-width:540px){
	.hero__search-form{
		flex-direction:column;border-radius:var(--radius-lg);
		padding:16px;gap:10px;
	}
	.hero__search-icon{display:none}
	.hero__search-btn{width:100%;justify-content:center;border-radius:var(--radius-md)}
}

/* ── Shooting stars ──────────────────────────────────── */
.hero__shooting-stars{
	position:absolute;inset:0;overflow:hidden;pointer-events:none;
}
.shooting-star{
	position:absolute;
	width:120px;height:2px;
	background:linear-gradient(90deg,var(--cat-color),rgba(99,102,241,0.3),transparent);
	border-radius:2px;opacity:0;
	animation:shoot 4s ease-in-out infinite;
	filter:drop-shadow(0 0 8px rgba(99,102,241,0.5));
}
.shooting-star{ top:12%;left:55%; }
.shooting-star--2{ top:30%;left:15%;animation-delay:1.5s;animation-duration:5s;width:80px; }
.shooting-star--3{ top:50%;left:70%;animation-delay:3s;animation-duration:3.5s;width:150px; }
.shooting-star--4{ top:22%;left:80%;animation-delay:2.2s;animation-duration:4.5s;width:90px;
	background:linear-gradient(90deg,var(--cyan),rgba(6,182,212,0.3),transparent);
	filter:drop-shadow(0 0 8px rgba(6,182,212,0.5));
}
.shooting-star--5{ top:65%;left:30%;animation-delay:4s;animation-duration:3.8s;width:110px;
	background:linear-gradient(90deg,var(--pink),rgba(236,72,153,0.3),transparent);
	filter:drop-shadow(0 0 8px rgba(236,72,153,0.5));
}
@keyframes shoot{
	0%{transform:translateX(0) translateY(0);opacity:0}
	5%{opacity:1}
	25%{transform:translateX(-400px) translateY(200px);opacity:.4}
	40%{opacity:0}
	100%{opacity:0}
}

/* ── Animated rings ──────────────────────────────────── */
.hero__ring{
	position:absolute;border-radius:50%;
	border:1px solid rgba(99,102,241,0.06);
	pointer-events:none;
	animation:ring-pulse 6s ease-in-out infinite;
}
.hero__ring--1{
	width:600px;height:600px;
	top:50%;left:50%;transform:translate(-50%,-50%);
}
.hero__ring--2{
	width:900px;height:900px;
	top:50%;left:50%;transform:translate(-50%,-50%);
	animation-delay:-3s;
	border-color:rgba(6,182,212,0.04);
}
@keyframes ring-pulse{
	0%,100%{opacity:.3;transform:translate(-50%,-50%) scale(1)}
	50%{opacity:.6;transform:translate(-50%,-50%) scale(1.05)}
}

/* Badge glow variant */
.badge--glow{
	box-shadow:0 0 20px rgba(99,102,241,0.2),0 0 60px rgba(99,102,241,0.06);
}
.badge--light{
	background:rgba(255,255,255,0.08);
	border-color:rgba(255,255,255,0.12);
	color:#fff;
}
.btn--lg{
	padding:14px 28px;font-size:.95rem;
}

/* ══════════════════════════════════════════════════════
   NEON MARQUEE — glowing eye-catching ticker
   ══════════════════════════════════════════════════════ */
.marquee--neon{
	background:linear-gradient(90deg,#1e1145 0%,#2d1a6e 25%,#4c1d95 50%,#2d1a6e 75%,#1e1145 100%);
	border:none;
	padding:0;
	position:relative;
	overflow:hidden;
}
.marquee__glow-line{
	position:absolute;top:0;left:0;right:0;height:2px;z-index:4;
	background:linear-gradient(90deg,transparent 0%,#818CF8 15%,#C084FC 35%,#F472B6 50%,#818CF8 65%,#6366F1 85%,transparent 100%);
	opacity:.9;
	animation:glow-shift 3s linear infinite;
	background-size:200% 100%;
}
.marquee__glow-line--cyan{
	top:auto;bottom:0;
	background:linear-gradient(90deg,transparent 0%,#6366F1 15%,#818CF8 35%,#C084FC 50%,#F472B6 65%,#818CF8 85%,transparent 100%);
	background-size:200% 100%;
	animation-direction:reverse;
}
@keyframes glow-shift{
	0%{background-position:200% 0}
	100%{background-position:-200% 0}
}
.marquee__track--neon{
	padding:20px 0;
	gap:0;
}
.marquee__item{
	display:inline-flex;align-items:center;gap:10px;
	font-family:'Space Grotesk',sans-serif;
	font-size:.85rem;font-weight:700;
	text-transform:uppercase;letter-spacing:.12em;
	color:#fff;
	padding:0 28px;
	white-space:nowrap;
	position:relative;
	transition:color .3s,text-shadow .3s;
	text-shadow:0 0 20px rgba(139,92,246,0.4),0 0 40px rgba(139,92,246,0.15);
}
.marquee__item::after{
	content:'';width:5px;height:5px;border-radius:50%;
	background:#A78BFA;
	opacity:.6;
	position:absolute;right:0;top:50%;transform:translateY(-50%);
	box-shadow:0 0 8px rgba(167,139,250,0.5);
}
.marquee__icon{
	font-size:.8rem;opacity:1;
	color:#C4B5FD;
}
.marquee--neon:hover .marquee__item{
	color:#fff;
	text-shadow:0 0 30px rgba(139,92,246,0.6);
}
.marquee--neon-reverse .marquee__track--neon{
	animation-direction:reverse;
	animation-duration:40s;
}
.marquee--neon::before,
.marquee--neon::after{
	content:'';position:absolute;top:0;bottom:0;width:120px;z-index:3;pointer-events:none;
}
.marquee--neon::before{
	left:0;background:linear-gradient(90deg,#1e1145,transparent);
}
.marquee--neon::after{
	right:0;background:linear-gradient(270deg,#1e1145,transparent);
}

/* ══════════════════════════════════════════════════════
   SERVICES GRID — new category cards with glow
   ══════════════════════════════════════════════════════ */
.section--services{
	padding:80px 0 60px;
}
.services-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
	margin-top:40px;
}
@media(max-width:900px){ .services-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:540px){ .services-grid{grid-template-columns:1fr} }

.service-card{
	position:relative;
	background:linear-gradient(145deg,rgba(15,23,42,0.7),rgba(30,41,59,0.4));
	border:1px solid rgba(148,163,184,0.1);
	border-radius:var(--radius-lg);
	padding:36px 28px 40px;
	display:flex;flex-direction:column;align-items:flex-start;gap:14px;
	overflow:hidden;
	transition:all .4s cubic-bezier(.4,0,.2,1);
	cursor:pointer;
	backdrop-filter:blur(12px);
}
.service-card:hover{
	transform:translateY(-8px) scale(1.02);
	border-color:var(--sc-color);
	box-shadow:0 20px 50px rgba(0,0,0,0.35),0 0 40px rgba(99,102,241,0.1),inset 0 1px 0 rgba(255,255,255,0.06);
}
.service-card__glow{
	position:absolute;top:-60%;right:-40%;
	width:200px;height:200px;
	background:var(--sc-color);
	border-radius:50%;filter:blur(80px);
	opacity:0;
	transition:opacity .6s;
	pointer-events:none;
}
.service-card:hover .service-card__glow{
	opacity:.12;
}
.service-card__icon{
	width:52px;height:52px;
	display:flex;align-items:center;justify-content:center;
	background:var(--sc-gradient);
	border-radius:var(--radius-md);
	font-size:1.2rem;color:#fff;
	box-shadow:0 4px 20px rgba(0,0,0,0.3);
	transition:transform .4s cubic-bezier(.4,0,.2,1);
}
.service-card:hover .service-card__icon{
	transform:scale(1.1) rotate(-5deg);
}
.service-card__name{
	font-family:'Space Grotesk',sans-serif;
	font-size:1.05rem;font-weight:700;color:#fff;
}
.service-card__count{
	font-size:.78rem;color:var(--text-muted);
}
.service-card__arrow{
	position:absolute;bottom:24px;right:24px;
	width:32px;height:32px;
	display:flex;align-items:center;justify-content:center;
	border-radius:50%;
	background:rgba(255,255,255,0.04);
	color:var(--text-muted);font-size:.75rem;
	transition:all .3s ease;
}
.service-card:hover .service-card__arrow{
	background:var(--sc-gradient);color:#fff;
	transform:translateX(4px);
}
.service-card__border{
	position:absolute;inset:-1px;
	border-radius:var(--radius-lg);
	padding:1px;
	background:conic-gradient(from var(--card-angle,0deg),transparent,var(--sc-color) 10%,transparent 20%);
	-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
	-webkit-mask-composite:xor;mask-composite:exclude;
	opacity:0;transition:opacity .5s;pointer-events:none;
}
.service-card:hover .service-card__border{
	opacity:1;animation:border-spin 3s linear infinite;
}

/* ══════════════════════════════════════════════════════
   WHITE SECTION — "Why Us"
   ══════════════════════════════════════════════════════ */
.section--white{
	padding:90px 0;
	background:linear-gradient(180deg,#f8fafc 0%,#ffffff 30%,#ffffff 70%,#f1f5f9 100%);
	position:relative;
	color:#0f172a;
}
.section--white::before{
	content:'';position:absolute;top:0;left:0;right:0;height:1px;
	background:linear-gradient(90deg,transparent,rgba(99,102,241,0.2),rgba(6,182,212,0.15),transparent);
}
.section--white::after{
	content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
	background:linear-gradient(90deg,transparent,rgba(99,102,241,0.2),rgba(6,182,212,0.15),transparent);
}

/* Dark badge variant for white section */
.badge--dark{
	background:rgba(99,102,241,0.08);
	border-color:rgba(99,102,241,0.15);
	color:#4F46E5;
}
.section-header__title--dark{
	color:#0f172a !important;
}

/* Why grid on white */
.why-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:24px;
	margin-top:40px;
}
@media(max-width:900px){ .why-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:540px){ .why-grid{grid-template-columns:1fr} }

.why-card--light{
	text-align:left;
	padding:36px 28px;
	background:#ffffff;
	border:1px solid rgba(99,102,241,0.08);
	border-radius:var(--radius-lg);
	transition:all .4s cubic-bezier(.4,0,.2,1);
	position:relative;overflow:hidden;
	box-shadow:0 2px 20px rgba(0,0,0,0.04);
}
.why-card--light:hover{
	transform:translateY(-6px);
	border-color:rgba(99,102,241,0.2);
	box-shadow:0 16px 50px rgba(99,102,241,0.1),0 4px 20px rgba(0,0,0,0.06);
}
.why-card__number{
	font-family:'Space Grotesk',sans-serif;
	font-size:3rem;font-weight:800;
	background:linear-gradient(135deg,rgba(99,102,241,0.08),rgba(6,182,212,0.05));
	-webkit-background-clip:text;-webkit-text-fill-color:transparent;
	background-clip:text;
	position:absolute;top:12px;right:18px;
	line-height:1;
}
.why-card__icon--light{
	width:52px;height:52px;
	display:flex;align-items:center;justify-content:center;
	margin:0 0 16px 0;
	background:linear-gradient(135deg,#6366F1,#4F46E5);
	border-radius:var(--radius-md);
	font-size:1.1rem;color:#fff;
	box-shadow:0 4px 16px rgba(99,102,241,0.25);
	transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s;
}
.why-card--light:hover .why-card__icon--light{
	transform:scale(1.12) rotate(-5deg);
	box-shadow:0 8px 30px rgba(99,102,241,0.35);
}
.why-card__title--dark{
	font-family:'Space Grotesk',sans-serif;
	font-size:1.05rem;font-weight:700;
	color:#0f172a;
	margin-bottom:8px;
}
.why-card__desc--dark{
	font-size:.85rem;color:#64748b;line-height:1.65;
}
.why-card__line{
	position:absolute;bottom:0;left:0;right:0;height:3px;
	background:var(--cat-gradient);
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .4s cubic-bezier(.4,0,.2,1);
}
.why-card--light:hover .why-card__line{
	transform:scaleX(1);
}

/* ══════════════════════════════════════════════════════
   PROCESS TIMELINE SECTION
   ══════════════════════════════════════════════════════ */
.section--process{
	padding:80px 0;
	background:linear-gradient(180deg,#0b0f1f 0%,#0f172a 50%,#0b0f1f 100%);
	position:relative;
}
.process-timeline{
	display:flex;flex-direction:column;gap:0;
	position:relative;
	max-width:640px;margin:48px auto 0;
	padding-left:40px;
}
.process-timeline::before{
	content:'';
	position:absolute;left:15px;top:20px;bottom:20px;
	width:2px;
	background:linear-gradient(180deg,var(--cat-color),var(--cyan),var(--pink),var(--emerald));
	border-radius:2px;
	opacity:.3;
}
.process-step{
	position:relative;
	padding:20px 0;
}
.process-step__dot{
	position:absolute;left:-33px;top:28px;
	width:12px;height:12px;border-radius:50%;
	background:var(--cat-gradient);
	box-shadow:0 0 20px rgba(99,102,241,0.3);
	z-index:1;
}
.process-step__dot::before{
	content:'';position:absolute;inset:-4px;
	border-radius:50%;border:2px solid rgba(99,102,241,0.2);
	animation:pulse-ring 2.5s ease infinite;
}
.process-step__card{
	background:rgba(15,23,42,0.5);
	border:1px solid rgba(148,163,184,0.06);
	border-radius:var(--radius-lg);
	padding:28px;
	transition:all .4s cubic-bezier(.4,0,.2,1);
	position:relative;overflow:hidden;
}
.process-step__card::before{
	content:'';position:absolute;inset:0;
	background:linear-gradient(135deg,rgba(99,102,241,0.03),transparent);
	opacity:0;transition:opacity .4s;
}
.process-step:hover .process-step__card{
	transform:translateX(8px);
	border-color:rgba(99,102,241,0.15);
	box-shadow:0 8px 30px rgba(0,0,0,0.2),0 0 20px rgba(99,102,241,0.05);
}
.process-step:hover .process-step__card::before{
	opacity:1;
}
.process-step__num{
	font-family:'Space Grotesk',sans-serif;
	font-size:.72rem;font-weight:700;
	color:var(--cat-color);
	text-transform:uppercase;letter-spacing:.15em;
	margin-bottom:8px;
	position:relative;z-index:1;
}
.process-step__title{
	font-family:'Space Grotesk',sans-serif;
	font-size:1.1rem;font-weight:700;color:#fff;
	margin-bottom:8px;position:relative;z-index:1;
}
.process-step__desc{
	font-size:.88rem;color:var(--text-secondary);line-height:1.65;
	position:relative;z-index:1;
}
@media(max-width:640px){
	.process-timeline{padding-left:32px;}
	.process-step__dot{left:-25px;}
	.process-timeline::before{left:8px;}
}

/* ══════════════════════════════════════════════════════
   FEATURED POST CARD — large hero-style card
   ══════════════════════════════════════════════════════ */
.section--featured{
	padding:60px 0 40px;
}
.featured-card{
	display:grid;
	grid-template-columns:1.3fr 1fr;
	background:linear-gradient(145deg,rgba(15,23,42,0.7),rgba(30,41,59,0.4));
	border:1px solid rgba(148,163,184,0.1);
	border-radius:var(--radius-xl);
	overflow:hidden;
	transition:all .5s cubic-bezier(.4,0,.2,1);
	margin-top:28px;
	box-shadow:0 8px 30px rgba(0,0,0,0.15);
	backdrop-filter:blur(12px);
}
.featured-card:hover{
	border-color:rgba(99,102,241,0.2);
	box-shadow:0 25px 70px rgba(0,0,0,0.35),0 0 50px rgba(99,102,241,0.1),inset 0 1px 0 rgba(255,255,255,0.05);
	transform:translateY(-6px);
}
.featured-card__image{
	position:relative;overflow:hidden;
	min-height:320px;
}
.featured-card__image img{
	width:100%;height:100%;object-fit:cover;
	transition:transform .6s cubic-bezier(.4,0,.2,1);
}
.featured-card:hover .featured-card__image img{
	transform:scale(1.05);
}
.featured-card__overlay{
	position:absolute;inset:0;
	background:linear-gradient(135deg,rgba(3,7,18,0.2),rgba(3,7,18,0.5));
}
.featured-card__placeholder{
	width:100%;height:100%;min-height:320px;
	display:flex;align-items:center;justify-content:center;
	background:var(--bg-secondary);
}
.featured-card__placeholder i{
	font-size:3rem;color:var(--text-muted);opacity:.3;
}
.featured-card__body{
	padding:36px;
	display:flex;flex-direction:column;justify-content:center;gap:14px;
}
.featured-card__title{
	font-size:clamp(1.3rem,2.5vw,1.8rem);
	line-height:1.3;
}
.featured-card__title a{transition:color .2s;}
.featured-card__title a:hover{color:var(--cat-color);}
.featured-card__excerpt{
	font-size:.92rem;color:var(--text-secondary);line-height:1.7;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.featured-card__meta{
	display:flex;gap:16px;font-size:.8rem;color:var(--text-muted);
}
.featured-card__meta span{display:flex;align-items:center;gap:5px;}
.featured-card__meta i{font-size:.7rem;color:var(--cat-color);}
@media(max-width:860px){
	.featured-card{grid-template-columns:1fr;}
	.featured-card__image{min-height:240px;}
}

/* ══════════════════════════════════════════════════════
   POSTS SECTION — brighter bg
   ══════════════════════════════════════════════════════ */
.section--posts{
	background:linear-gradient(180deg,#1a2540 0%,#1e293b 40%,#1a2540 100%);
	padding:80px 0 20px;
	position:relative;
}
.section--posts::before{
	content:'';position:absolute;top:0;left:10%;right:10%;height:1px;
	background:linear-gradient(90deg,transparent,rgba(99,102,241,0.12),rgba(6,182,212,0.08),transparent);
}
.section--posts .post-card{
	background:rgba(30,41,59,0.7);
	border-color:rgba(148,163,184,0.1);
	backdrop-filter:blur(8px);
}
.section--posts .post-card:hover{
	background:rgba(51,65,85,0.75);
	border-color:rgba(148,163,184,0.2);
}
.section--posts .cta-between{
	background:rgba(30,41,59,0.6);
	border-color:rgba(148,163,184,0.1);
}

/* ══════════════════════════════════════════════════════
   CTA BANNER — animated variant
   ══════════════════════════════════════════════════════ */
.cta-banner--animated{
	background:linear-gradient(180deg,#1e293b 0%,#111827 50%,#0f172a 100%);
	position:relative;
	padding:110px 0;
	overflow:hidden;
}
.cta-banner--animated::before{
	content:'';position:absolute;inset:0;
	background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(99,102,241,0.06),transparent 60%);
	pointer-events:none;
}
.cta-banner--animated .cta-banner__bg{
	opacity:.06;
}
.cta-banner--animated .cta-banner__title{
	font-size:clamp(1.6rem,3.5vw,2.5rem);
}
.cta-banner--animated .cta-banner__desc{
	font-size:1.05rem;
	max-width:560px;
}
.cta-banner__particles{
	position:absolute;inset:0;z-index:0;pointer-events:none;
}
.cta-banner__buttons{
	display:flex;gap:14px;justify-content:center;flex-wrap:wrap;
}

/* (old marquee variants removed — replaced by marquee--neon) */

/* Section header improvements */
.section-header__title{
	font-size:clamp(1.5rem,3vw,2.2rem);
	margin-top:14px;
	color:#fff;
}
.section-header__desc{
	color:var(--text-muted);
	margin-top:8px;
	font-size:.95rem;
	max-width:500px;
	margin-left:auto;margin-right:auto;
}
.text-center{ text-align:center; }

/* ══════════════════════════════════════════════════════
   TYPED TEXT CURSOR — animated blink
   ══════════════════════════════════════════════════════ */
.hero__cursor{
	animation:cursor-blink 1s step-end infinite;
	color:var(--cat-color);
	font-weight:300;
}
@keyframes cursor-blink{
	0%,100%{opacity:1}
	50%{opacity:0}
}
.hero__typed-prefix{
	color:var(--text-muted);
	font-weight:400;
}
.hero__typed-word{
	color:var(--cat-color);
	font-weight:600;
}
.hero__typed-line{
	min-height:1.6em;
	font-size:clamp(1rem,2vw,1.3rem);
	letter-spacing:.02em;
}

/* ══════════════════════════════════════════════════════
   RIPPLE EFFECT (buttons)
   ══════════════════════════════════════════════════════ */
.ripple{
	position:absolute;
	border-radius:50%;
	background:rgba(255,255,255,0.15);
	transform:scale(0);
	animation:ripple-expand .6s ease-out forwards;
	pointer-events:none;
}
@keyframes ripple-expand{
	to{transform:scale(1);opacity:0}
}

/* ══════════════════════════════════════════════════════
   POST CARD THUMBNAIL ZOOM
   ══════════════════════════════════════════════════════ */
.post-card__thumb{
	overflow:hidden;
}
.post-card__thumb img{
	transition:transform .6s cubic-bezier(.4,0,.2,1);
}
.post-card:hover .post-card__thumb img{
	transform:scale(1.06);
}

/* ══════════════════════════════════════════════════════
   CTA INLINE GRADIENT BORDER
   ══════════════════════════════════════════════════════ */
.cta-inline__glow{
	position:absolute;inset:-1px;
	border-radius:inherit;
	background:var(--cat-gradient);
	opacity:0;
	transition:opacity .5s;
	z-index:-1;
	filter:blur(20px);
}
.cta-inline:hover .cta-inline__glow{
	opacity:.15;
}

/* ══════════════════════════════════════════════════════
   BADGE STYLING IMPROVEMENTS
   ══════════════════════════════════════════════════════ */
.badge .pulse-dot{
	font-size:.55rem;
	margin-right:6px;
}

/* ══════════════════════════════════════════════════════
   HERO STATS — glass effect
   ══════════════════════════════════════════════════════ */
.hero__stats{
	background:rgba(15,23,42,0.3);
	backdrop-filter:blur(12px);
	-webkit-backdrop-filter:blur(12px);
	border:1px solid rgba(255,255,255,0.05);
	border-radius:var(--radius-lg);
	padding:24px 40px;
	display:inline-flex;
	gap:40px;
}

/* ══════════════════════════════════════════════════════
   RESPONSIVE — hero stats
   ══════════════════════════════════════════════════════ */
@media(max-width:640px){
	.hero__stats{
		flex-direction:column;
		gap:16px;
		padding:20px 24px;
		width:100%;
	}
	.hero__stat + .hero__stat::before{
		display:none;
	}
}

/* ══════════════════════════════════════════════════════
   LATEST ARTICLES SECTION — 2 newest posts grid
   ══════════════════════════════════════════════════════ */
.section--latest{
	padding:90px 0 100px;
}
.latest-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:32px;
	margin-top:48px;
}
@media(max-width:768px){
	.latest-grid{ grid-template-columns:1fr; gap:24px; }
}
.latest-card{
	position:relative;
	border-radius:20px;
	overflow:hidden;
	background:#fff;
	border:1px solid rgba(99,102,241,0.08);
	box-shadow:0 2px 20px rgba(0,0,0,0.04);
	transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .4s;
	animation:fadeInUp .6s both;
	animation-delay:var(--lc-delay,0s);
}
.latest-card:hover{
	transform:translateY(-8px) scale(1.01);
	box-shadow:0 20px 50px rgba(99,102,241,0.12),0 0 30px rgba(99,102,241,0.04);
	border-color:rgba(99,102,241,0.2);
}
.latest-card__image{
	display:block;
	position:relative;
	aspect-ratio:16/9;
	overflow:hidden;
}
.latest-card__image img{
	width:100%;height:100%;object-fit:cover;
	transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.latest-card:hover .latest-card__image img{
	transform:scale(1.08);
}
.latest-card__overlay{
	position:absolute;inset:0;
	background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,0.3) 100%);
	pointer-events:none;
}
.latest-card__placeholder{
	width:100%;height:100%;
	display:flex;align-items:center;justify-content:center;
	background:linear-gradient(135deg,#f1f5f9,#e2e8f0);
	font-size:3rem;color:rgba(99,102,241,0.25);
}
.latest-card__body{
	padding:28px 28px 32px;
	display:flex;flex-direction:column;gap:12px;
}
.latest-card__title{
	font-size:1.25rem;font-weight:700;line-height:1.35;
}
.latest-card__title a{
	color:#0f172a;text-decoration:none;transition:color .2s;
}
.latest-card__title a:hover{ color:var(--primary); }
.latest-card__excerpt{
	font-size:.9rem;color:#64748b;line-height:1.6;
}
.latest-card__meta{
	display:flex;gap:16px;font-size:.8rem;color:#94a3b8;
}
.latest-card__meta i{ margin-right:4px; color:var(--primary); }
.latest-card__btn{
	align-self:flex-start;
	margin-top:4px;
}

/* ══════════════════════════════════════════════════════
   SERVICES — DARK BG (back to dark)
   ══════════════════════════════════════════════════════ */
.section--dark{
	background:linear-gradient(180deg,#080d1c 0%,#0c1228 100%);
}

/* Section header dark text variants */
.section-header__title--dark{ color:#0f172a!important; }
.section-header__desc--dark{ color:#475569!important; }

/* ══════════════════════════════════════════════════════
   DROPDOWN MENU — categories submenu
   ══════════════════════════════════════════════════════ */
.nav__item--dropdown{
	position:relative;
}
.nav__dropdown-toggle{
	display:flex;align-items:center;gap:6px;
	cursor:pointer;
	color:var(--text-muted);
	font-size:.82rem;font-weight:500;
	letter-spacing:.03em;
	text-decoration:none;
	padding:10px 18px;
	transition:color .2s;
}
.nav__dropdown-toggle:hover{ color:#fff; }
.nav__dropdown-toggle i.fa-chevron-down{
	font-size:.6rem;
	transition:transform .25s;
}
.nav__item--dropdown:hover .nav__dropdown-toggle i.fa-chevron-down{
	transform:rotate(180deg);
}
.nav__dropdown{
	position:absolute;
	top:100%;
	left:50%;
	transform:translateX(-50%) translateY(4px);
	min-width:240px;
	background:rgba(13,19,38,0.96);
	backdrop-filter:blur(20px);
	border:1px solid rgba(99,102,241,0.12);
	border-radius:16px;
	padding:12px 0;
	padding-top:16px;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity .25s,transform .25s,visibility .25s;
	z-index:1000;
	box-shadow:0 20px 60px rgba(0,0,0,0.4);
}
/* Invisible bridge so mouse doesn't lose hover */
.nav__item--dropdown::after{
	content:'';
	position:absolute;
	top:100%;left:0;right:0;
	height:12px;
}
.nav__item--dropdown:hover .nav__dropdown{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:translateX(-50%) translateY(0);
}
.nav__dropdown-item{
	display:flex;align-items:center;gap:10px;
	padding:10px 20px;
	font-size:.85rem;font-weight:500;
	color:var(--text-muted);
	text-decoration:none;
	transition:background .2s,color .2s,padding-left .2s;
}
.nav__dropdown-item:hover{
	background:rgba(99,102,241,0.08);
	color:#fff;
	padding-left:26px;
}
.nav__dropdown-item i{
	width:20px;text-align:center;
	font-size:.8rem;
	color:var(--primary);
	transition:color .2s;
}
.nav__dropdown-item:hover i{
	color:var(--cyan);
}
.nav__dropdown-item .nav__dropdown-count{
	margin-left:auto;
	font-size:.7rem;
	color:rgba(255,255,255,0.3);
	background:rgba(99,102,241,0.1);
	padding:2px 8px;
	border-radius:10px;
}
/* Mobile dropdown */
@media(max-width:1023px){
	.nav__dropdown{
		position:static;
		transform:none;
		min-width:auto;
		background:rgba(13,19,38,0.8);
		border:none;
		border-radius:12px;
		box-shadow:none;
		margin:4px 0 8px;
		display:none;
	}
	.nav__item--dropdown.is-open .nav__dropdown{
		display:block;
		opacity:1;visibility:visible;pointer-events:auto;
	}
}

/* ══════════════════════════════════════════════════════
   CATEGORY SLIDER — infinite scrolling categories
   ══════════════════════════════════════════════════════ */
.cat-slider{
	background:linear-gradient(180deg,#060a18,#0c1228);
	border-top:1px solid rgba(99,102,241,0.08);
	border-bottom:1px solid rgba(99,102,241,0.08);
	overflow:hidden;
	position:relative;
	padding:20px 0;
}
.cat-slider::before,
.cat-slider::after{
	content:'';
	position:absolute;top:0;bottom:0;width:100px;z-index:3;
	pointer-events:none;
}
.cat-slider::before{
	left:0;
	background:linear-gradient(90deg,#060a18,transparent);
}
.cat-slider::after{
	right:0;
	background:linear-gradient(270deg,#060a18,transparent);
}
.cat-slider__track{
	display:flex;
	gap:14px;
	animation:cat-scroll 30s linear infinite;
	width:max-content;
}
.cat-slider:hover .cat-slider__track{
	animation-play-state:paused;
}
@keyframes cat-scroll{
	0%{ transform:translateX(0); }
	100%{ transform:translateX(-25%); }
}
.cat-slider__item{
	display:inline-flex;align-items:center;gap:8px;
	padding:10px 22px;
	border-radius:50px;
	font-size:.82rem;font-weight:600;
	text-transform:uppercase;letter-spacing:.06em;
	white-space:nowrap;
	text-decoration:none;
	color:rgba(255,255,255,0.6);
	background:rgba(255,255,255,0.04);
	border:1px solid rgba(255,255,255,0.08);
	transition:all .3s;
}
.cat-slider__item:hover{
	color:#fff;
	background:rgba(99,102,241,0.12);
	border-color:rgba(99,102,241,0.3);
	transform:scale(1.05);
}
.cat-slider__item--active{
	color:#fff;
	background:var(--tag-gradient,linear-gradient(135deg,#6366F1,#06B6D4));
	border-color:transparent;
	box-shadow:0 4px 20px rgba(99,102,241,0.3);
}
.cat-slider__item--active:hover{
	transform:scale(1.05);
	box-shadow:0 6px 30px rgba(99,102,241,0.4);
}
.cat-slider__item i{
	font-size:.75rem;
	opacity:.7;
}
.cat-slider__item--active i{
	opacity:1;
}
.cat-slider__count{
	font-size:.7rem;
	opacity:.5;
}

/* ══════════════════════════════════════════════════════
   POST CARDS ON WHITE BG — light theme overrides
   ══════════════════════════════════════════════════════ */
.posts-grid--light .post-card,
.section--white .post-card{
	background:#fff;
	border:1px solid rgba(99,102,241,0.06);
	box-shadow:0 2px 16px rgba(0,0,0,0.03);
}
.posts-grid--light .post-card:hover,
.section--white .post-card:hover{
	border-color:rgba(99,102,241,0.15);
	box-shadow:0 16px 48px rgba(99,102,241,0.1);
}
.posts-grid--light .post-card__title a,
.section--white .post-card__title a{
	color:#0f172a;
}
.posts-grid--light .post-card__title a:hover,
.section--white .post-card__title a:hover{
	color:var(--cat-color,#6366F1);
}
.posts-grid--light .post-card__meta,
.section--white .post-card__meta{
	color:#94a3b8;
}
.posts-grid--light .post-card__excerpt,
.section--white .post-card__excerpt{
	color:#64748b;
}
.posts-grid--light .post-card__footer,
.section--white .post-card__footer{
	border-top-color:rgba(0,0,0,0.06);
}
.posts-grid--light .post-card__read,
.section--white .post-card__read{
	color:var(--cat-color,#6366F1);
}
.posts-grid--light .post-card__thumb-overlay,
.section--white .post-card__thumb-overlay{
	background:linear-gradient(to top,rgba(0,0,0,0.25) 0%,transparent 50%);
}
.posts-grid--light .cta-between,
.section--white .cta-between{
	background:#fff;
	border:1px solid rgba(99,102,241,0.08);
	box-shadow:0 2px 16px rgba(0,0,0,0.03);
}
.posts-grid--light .cta-between__title,
.section--white .cta-between__title{
	color:#0f172a;
}
.posts-grid--light .cta-between__desc,
.section--white .cta-between__desc{
	color:#64748b;
}

/* ══════════════════════════════════════════════════════
   SINGLE POST — WHITE CONTENT WRAPPER
   Everything below TOC gets white background
   ══════════════════════════════════════════════════════ */

/* Featured image bridge between dark hero and white */
.single-featured-wrap{
	position:relative;z-index:2;
	margin-top:-40px;
	padding-bottom:40px;
}

/* TOC — dark card with white links */
.single-toc-wrap{
	padding:0 0 20px;
}
.toc .toc__link{
	color:rgba(255,255,255,0.7);
}
.toc .toc__link:hover{
	color:#fff;
	background:rgba(255,255,255,0.06);
}

/* White wrapper for all content sections */
.single-white-wrap{
	background:linear-gradient(180deg,#f8fafc 0%,#ffffff 5%,#ffffff 95%,#f1f5f9 100%);
	padding:20px 0 80px;
}

/* Post content on light background */
.post-content--light{
	padding:40px 0;
}
.post-content--light .post-content__body{
	color:#334155;
}
.post-content--light .post-content__body h2{
	color:#0f172a;
	border-bottom-color:rgba(99,102,241,0.15);
}
.post-content--light .post-content__body h3:not(.cta-inline__title):not(.cta-services__heading){
	color:#1e293b;
}
.post-content--light .post-content__body h4{
	color:#334155;
}
.post-content--light .post-content__body p:not(.cta-inline__desc){
	color:#475569;
}
.post-content--light .post-content__body li{
	color:#475569;
}
.post-content--light .post-content__body a:not(.cta-services__card):not(.btn){
	color:#6366F1;
	text-decoration-color:rgba(99,102,241,0.3);
}
.post-content--light .post-content__body a:not(.cta-services__card):not(.btn):hover{
	text-decoration-color:#6366F1;
}
.post-content--light .post-content__body a[href*="codescriptum.pl"]{
	color:#6366F1 !important;
	text-decoration:none !important;
	border-bottom:1px solid rgba(99,102,241,0.3);
}
.post-content--light .post-content__body a[href*="codescriptum.pl"]:hover{
	border-bottom-color:#6366F1;
}
.post-content--light .post-content__body h2 a[href*="codescriptum.pl"]{
	color:#0f172a !important;
	border-bottom:2px solid var(--cat-color);
}
.post-content--light .post-content__body h2 a[href*="codescriptum.pl"]:hover{
	color:#6366F1 !important;
}
.post-content--light .post-content__body blockquote{
	background:rgba(99,102,241,0.04);
	border-left-color:#6366F1;
	color:#475569;
}
.post-content--light .post-content__body pre{
	background:#1e293b;
	border-color:#334155;
	color:#e2e8f0;
}
.post-content--light .post-content__body code{
	background:rgba(99,102,241,0.06);
	color:#6366F1;
}
.post-content--light .post-content__body pre code{
	background:none;color:#e2e8f0;
}
.post-content--light .post-content__body .wp-caption-text{
	color:#94a3b8;
}

/* Reset colors for dark CTA blocks inside light post content */
.post-content__body .cta-inline,
.post-content__body .cta-services{
	color:#fff;
}
.post-content__body .cta-inline__title,
.post-content__body .cta-services__heading{
	color:#fff !important;
}
.post-content__body .cta-inline__desc{
	color:rgba(255,255,255,0.7) !important;
}
.post-content__body .cta-services__name{
	color:#fff !important;
}
.post-content__body .cta-services__card{
	color:#fff;text-decoration:none;
}

/* Share buttons (light) */
.single-share{
	display:flex;align-items:center;gap:10px;justify-content:center;
	padding:24px 0;
	border-top:1px solid rgba(0,0,0,0.06);
	border-bottom:1px solid rgba(0,0,0,0.06);
	max-width:760px;margin:0 auto;
}
.single-share__label{
	font-size:.82rem;color:#64748b;font-weight:600;
}
.single-share__btn{
	width:40px;height:40px;border-radius:50%;
	border:1px solid rgba(0,0,0,0.08);
	background:#fff;
	color:#475569;
	display:flex;align-items:center;justify-content:center;
	cursor:pointer;
	transition:all .2s;
	font-size:.85rem;
}
.single-share__btn:hover{
	background:#6366F1;
	color:#fff;
	border-color:#6366F1;
	transform:translateY(-2px);
	box-shadow:0 4px 12px rgba(99,102,241,0.25);
}

/* Tags (light) */
.post-tags--light a{
	color:#64748b;
	background:rgba(99,102,241,0.04);
	border-color:rgba(99,102,241,0.1);
}
.post-tags--light a:hover{
	color:#6366F1;
	background:rgba(99,102,241,0.08);
	border-color:rgba(99,102,241,0.2);
}

/* CTA inline — DARK on white page bg */
.cta-inline--light{
	background:linear-gradient(145deg,#0c0a1a 0%,#1a1145 50%,#0f172a 100%);
	border:1px solid rgba(99,102,241,0.25);
	box-shadow:0 8px 40px rgba(0,0,0,0.25),0 0 40px rgba(99,102,241,0.08);
}
.cta-inline--light .cta-inline__title{
	color:#fff;
}
.cta-inline--light .cta-inline__desc{
	color:rgba(255,255,255,0.7);
}
.cta-inline--light .cta-inline__glow{
	opacity:.15;
}

/* Author box — DARK on white page */
.author-box--light{
	background:linear-gradient(145deg,#0c0a1a 0%,#1a1145 50%,#0f172a 100%);
	border:1px solid rgba(99,102,241,0.20);
	box-shadow:0 8px 36px rgba(0,0,0,0.25),0 0 30px rgba(99,102,241,0.06);
}
.author-box--light .author-box__name{
	color:#fff;
}
.author-box--light .author-box__bio{
	color:rgba(255,255,255,0.7);
}

/* Post navigation (light) */
.post-nav--light{
	border-top-color:rgba(0,0,0,0.06);
}
.post-nav--light .post-nav__item{
	background:linear-gradient(145deg,#0c0a1a 0%,#1a1145 50%,#0f172a 100%);
	border:1px solid rgba(99,102,241,0.18);
	box-shadow:0 4px 20px rgba(0,0,0,0.2);
}
.post-nav--light .post-nav__item:hover{
	background:linear-gradient(145deg,#12103a 0%,#231a55 50%,#141e33 100%);
	border-color:rgba(99,102,241,0.35);
	box-shadow:0 8px 30px rgba(0,0,0,0.3),0 0 20px rgba(99,102,241,0.1);
}
.post-nav--light .post-nav__label{
	color:rgba(255,255,255,0.5);
}
.post-nav--light .post-nav__title{
	color:#fff;
}

/* ══════════════════════════════════════════════════════
   TOC — LIGHT VERSION (on white bg)
   ══════════════════════════════════════════════════════ */
.toc--light{
	background:linear-gradient(135deg,#f8fafc 0%,#f0f4ff 100%);
	border:1px solid rgba(99,102,241,0.14);
	box-shadow:0 2px 20px rgba(99,102,241,0.06),0 1px 3px rgba(0,0,0,0.03);
}
.toc--light .toc__title{
	color:#0f172a;
}
.toc--light .toc__title i{
	color:#6366F1;
}
.toc--light .toc__link{
	color:#475569;
}
.toc--light .toc__link::before{
	background:#6366F1;
}
.toc--light .toc__link:hover{
	background:rgba(99,102,241,0.04);
	color:#0f172a;
}

/* ══════════════════════════════════════════════════════
   SINGLE WHITE WRAP — force all children light
   ══════════════════════════════════════════════════════ */
/* CTA inside white wrapper — DARK contrast */
.single-white-wrap .cta-inline{
	background:linear-gradient(145deg,#0c0a1a 0%,#1a1145 50%,#0f172a 100%);
	border:1px solid rgba(99,102,241,0.25);
	box-shadow:0 8px 40px rgba(0,0,0,0.25),0 0 40px rgba(99,102,241,0.08);
}
.single-white-wrap .cta-inline__title{
	color:#fff;
}
.single-white-wrap .cta-inline__desc{
	color:rgba(255,255,255,0.7);
}
.single-white-wrap .cta-inline .badge{
	background:rgba(99,102,241,0.2);
	color:#a5b4fc;
	border-color:rgba(99,102,241,0.35);
}
.single-white-wrap .author-box{
	background:linear-gradient(145deg,#0c0a1a 0%,#1a1145 50%,#0f172a 100%);
	border:1px solid rgba(99,102,241,0.20);
	box-shadow:0 8px 36px rgba(0,0,0,0.25),0 0 30px rgba(99,102,241,0.06);
}
.single-white-wrap .author-box__name{
	color:#fff;
}
.single-white-wrap .author-box__bio{
	color:rgba(255,255,255,0.7);
}
.single-white-wrap .post-nav{
	border-top-color:rgba(0,0,0,0.06);
}
.single-white-wrap .post-nav__item{
	background:linear-gradient(145deg,#0c0a1a 0%,#1a1145 50%,#0f172a 100%);
	border:1px solid rgba(99,102,241,0.18);
	box-shadow:0 4px 20px rgba(0,0,0,0.2);
}
.single-white-wrap .post-nav__item:hover{
	border-color:rgba(99,102,241,0.35);
	box-shadow:0 8px 30px rgba(0,0,0,0.3),0 0 20px rgba(99,102,241,0.1);
	transform:translateY(-4px);
}
.single-white-wrap .post-nav__label{
	color:rgba(255,255,255,0.5);
}
.single-white-wrap .post-nav__title{
	color:#fff;
}
.single-white-wrap .post-tags a{
	color:#64748b;
	background:rgba(99,102,241,0.04);
	border-color:rgba(99,102,241,0.1);
}
.single-white-wrap .post-tags a:hover{
	color:#6366F1;
	background:rgba(99,102,241,0.08);
	border-color:rgba(99,102,241,0.2);
}
