:root {
	--ilie-primary: #061a33;
	--ilie-secondary: #0b274a;
	--ilie-blue: #1a73e8;
	--ilie-cyan: #00a8d6;
	--ilie-teal: #00897b;
	--ilie-accent: #f9ab00;
	--ilie-green: #188038;
	--ilie-red: #d93025;
	--ilie-surface: #f5f8fc;
	--ilie-white: #ffffff;
	--ilie-ink: #172b4d;
	--ilie-muted: #52657a;
	--ilie-border: #dce6f1;
	--ilie-focus: #8ab4f8;
	--ilie-container: 1240px;
	--ilie-radius: 16px;
	--ilie-shadow: 0 16px 45px rgba(6, 26, 51, 0.10);
	--ilie-shadow-soft: 0 8px 26px rgba(6, 26, 51, 0.08);
	--ilie-transition: 180ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--ilie-surface);
	color: var(--ilie-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.ilie-menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
svg { display: block; }
a { color: var(--ilie-blue); text-decoration-thickness: 0.08em; text-underline-offset: 0.18em; }
a:hover { color: #1557b0; }
button, input, select, textarea { font: inherit; }
button, [type="button"], [type="submit"] { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: 3px solid var(--ilie-focus);
	outline-offset: 3px;
}
::selection { background: rgba(249, 171, 0, 0.25); color: var(--ilie-primary); }

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none;
	display: block;
	height: auto;
	left: 1rem;
	padding: 0.8rem 1rem;
	top: 1rem;
	width: auto;
	z-index: 100000;
	background: #fff;
	color: #000;
	border-radius: 8px;
}

.ilie-container { width: min(calc(100% - 2rem), var(--ilie-container)); margin-inline: auto; }
.ilie-narrow { width: min(calc(100% - 2rem), 760px); margin-inline: auto; }
.ilie-section { padding: clamp(3rem, 6vw, 6rem) 0; }
.ilie-section--overlap { position: relative; z-index: 5; margin-top: -2.5rem; padding-top: 0; }
.ilie-section--content { padding-top: 0; }
.ilie-section-heading { max-width: 760px; margin-bottom: 2rem; }
.ilie-section-heading h2 { margin: 0.5rem 0 0.8rem; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.08; letter-spacing: -0.035em; }
.ilie-section-heading p { margin: 0; color: var(--ilie-muted); font-size: 1.08rem; }

.ilie-grid { display: grid; gap: 1.25rem; }
.ilie-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ilie-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ilie-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ilie-card {
	background: var(--ilie-white);
	border: 1px solid var(--ilie-border);
	border-radius: var(--ilie-radius);
	box-shadow: var(--ilie-shadow-soft);
	padding: clamp(1.2rem, 2vw, 1.75rem);
}
.ilie-card strong { display: block; margin-bottom: 0.35rem; font-size: 1.05rem; }
.ilie-card p:last-child { margin-bottom: 0; }
.ilie-card-icon { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; margin-bottom: 1rem; border-radius: 12px; color: var(--ilie-blue); background: rgba(26, 115, 232, 0.10); font-size: 1.35rem; font-weight: 800; }

.ilie-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(6, 26, 51, 0.97);
	border-bottom: 1px solid rgba(255, 255, 255, 0.10);
	backdrop-filter: blur(14px);
}
.admin-bar .ilie-site-header { top: 32px; }
.ilie-header-inner { min-height: 76px; display: flex; align-items: center; gap: 1.25rem; }
.ilie-site-branding { flex: 0 0 auto; }
.ilie-brand-link { display: inline-flex; align-items: center; gap: 0.75rem; color: #fff; text-decoration: none; }
.ilie-brand-link:hover { color: #fff; }
.ilie-brand-mark { width: 2.55rem; height: 2.55rem; color: var(--ilie-cyan); flex: 0 0 auto; }
.ilie-brand-copy { display: flex; flex-direction: column; min-width: 0; }
.ilie-brand-name { color: #fff; font-weight: 800; line-height: 1.05; letter-spacing: -0.02em; }
.ilie-brand-tagline { margin-top: 0.22rem; color: #a9c0da; font-size: 0.72rem; line-height: 1.2; max-width: 220px; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { max-height: 54px; width: auto; }

.ilie-primary-navigation { margin-left: auto; }
.ilie-menu { display: flex; align-items: center; gap: 0.35rem; margin: 0; padding: 0; list-style: none; }
.ilie-menu li { position: relative; }
.ilie-menu a { display: block; padding: 0.7rem 0.72rem; color: #dbe8f6; font-size: 0.91rem; font-weight: 650; text-decoration: none; border-radius: 9px; transition: color var(--ilie-transition), background var(--ilie-transition); }
.ilie-menu a:hover, .ilie-menu .current-menu-item > a, .ilie-menu .current_page_item > a { color: #fff; background: rgba(255, 255, 255, 0.08); }
.ilie-menu .sub-menu { position: absolute; left: 0; top: calc(100% + 0.5rem); min-width: 220px; margin: 0; padding: 0.5rem; list-style: none; opacity: 0; visibility: hidden; transform: translateY(-4px); background: #0a2342; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; box-shadow: var(--ilie-shadow); transition: all var(--ilie-transition); }
.ilie-menu li:hover > .sub-menu, .ilie-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.ilie-menu-toggle { display: none; margin-left: auto; border: 0; background: transparent; color: #fff; padding: 0.65rem; border-radius: 10px; }
.ilie-menu-toggle-icon { display: grid; gap: 4px; }
.ilie-menu-toggle-icon span { display: block; width: 24px; height: 2px; border-radius: 4px; background: currentColor; }
.ilie-header-cta { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.78rem 1rem; background: linear-gradient(135deg, #ffb623, var(--ilie-accent)); color: #2b1a00; border-radius: 10px; font-size: 0.9rem; font-weight: 800; text-decoration: none; box-shadow: 0 8px 20px rgba(249, 171, 0, 0.20); }
.ilie-header-cta:hover { color: #2b1a00; transform: translateY(-1px); }

.ilie-hero {
	position: relative;
	overflow: hidden;
	min-height: 640px;
	padding: clamp(5rem, 9vw, 8rem) 0 6rem;
	color: #fff;
	background:
		radial-gradient(circle at 75% 35%, rgba(0, 168, 214, 0.16), transparent 24%),
		radial-gradient(circle at 80% 55%, rgba(26, 115, 232, 0.20), transparent 28%),
		linear-gradient(135deg, #031225 0%, var(--ilie-primary) 48%, #0b2c50 100%);
}
.ilie-hero::before { content: ""; position: absolute; inset: 0; opacity: 0.16; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(circle at 75% 45%, #000, transparent 58%); }
.ilie-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.ilie-hero-copy { position: relative; z-index: 2; }
.ilie-eyebrow { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .7rem; border: 1px solid rgba(0,168,214,.4); border-radius: 999px; background: rgba(0,168,214,.09); color: #6ce8ff; font-size: .72rem; font-weight: 850; letter-spacing: .08em; }
.ilie-eyebrow--light { color: var(--ilie-blue); background: rgba(26,115,232,.08); border-color: rgba(26,115,232,.18); }
.ilie-hero h1 { max-width: 800px; margin: 1rem 0 1.25rem; font-size: clamp(2.65rem, 6vw, 5.2rem); line-height: .98; letter-spacing: -0.055em; }
.ilie-hero p { max-width: 680px; margin: 0; color: #c7d8ea; font-size: clamp(1.05rem, 2vw, 1.25rem); }
.ilie-hero-search { display: grid; grid-template-columns: 1fr auto; gap: .6rem; max-width: 720px; margin-top: 2rem; padding: .65rem; background: rgba(4, 20, 39, .72); border: 1px solid rgba(255,255,255,.16); border-radius: 15px; box-shadow: 0 20px 50px rgba(0,0,0,.22); }
.ilie-hero-search input { width: 100%; min-height: 52px; border: 0; border-radius: 10px; padding: 0 1rem; color: var(--ilie-ink); background: #fff; }
.ilie-hero-search button { min-width: 130px; border: 0; border-radius: 10px; padding: 0 1.2rem; background: linear-gradient(135deg, var(--ilie-cyan), #49d9f4); color: #00233a; font-weight: 850; }
.ilie-hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.3rem; }
.ilie-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .72rem 1rem; border: 1px solid transparent; border-radius: 10px; background: var(--ilie-blue); color: #fff; font-weight: 750; text-decoration: none; }
.ilie-button:hover { background: #155fbe; color: #fff; }
.ilie-button--ghost { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.06); }
.ilie-button--ghost:hover { background: rgba(255,255,255,.13); }
.ilie-hero-visual { position: relative; min-height: 420px; display: grid; place-items: center; }
.ilie-orbit { position: absolute; border: 1px solid rgba(87,214,255,.18); border-radius: 50%; }
.ilie-orbit--one { width: 430px; height: 430px; animation: ilie-spin 32s linear infinite; }
.ilie-orbit--two { width: 310px; height: 310px; border-style: dashed; animation: ilie-spin-reverse 25s linear infinite; }
.ilie-india-placeholder { position: relative; width: min(72%, 330px); aspect-ratio: .78; filter: drop-shadow(0 0 24px rgba(0,168,214,.35)); background: linear-gradient(180deg, rgba(0,168,214,.28), rgba(26,115,232,.10)); clip-path: polygon(42% 0,57% 4%,65% 12%,75% 19%,70% 28%,80% 36%,75% 44%,84% 51%,72% 61%,67% 75%,56% 83%,49% 100%,39% 88%,31% 77%,24% 63%,15% 51%,21% 39%,14% 28%,24% 19%,31% 9%); border: 2px solid var(--ilie-cyan); }
.ilie-india-placeholder::before { content: ""; position: absolute; inset: 7%; background-image: radial-gradient(circle, rgba(255,255,255,.55) 1px, transparent 1.5px); background-size: 18px 18px; }
.ilie-map-node { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--ilie-accent); box-shadow: 0 0 0 6px rgba(249,171,0,.12), 0 0 18px rgba(249,171,0,.75); }
.ilie-map-node--1 { top: 22%; left: 47%; }.ilie-map-node--2 { top: 38%; left: 62%; }.ilie-map-node--3 { top: 54%; left: 45%; }.ilie-map-node--4 { top: 68%; left: 51%; }.ilie-map-node--5 { top: 82%; left: 43%; }
@keyframes ilie-spin { to { transform: rotate(360deg); } }
@keyframes ilie-spin-reverse { to { transform: rotate(-360deg); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }

.ilie-foundation-stats .ilie-card { min-height: 180px; }
.ilie-feature-card { position: relative; overflow: hidden; min-height: 220px; }
.ilie-feature-card::after { content: ""; position: absolute; width: 150px; height: 150px; right: -60px; bottom: -70px; border-radius: 50%; background: rgba(26,115,232,.07); }
.ilie-feature-card h3 { margin: 1.3rem 0 .6rem; font-size: 1.25rem; }
.ilie-feature-card p { color: var(--ilie-muted); }
.ilie-step { display: inline-flex; color: var(--ilie-blue); font-size: .82rem; font-weight: 900; letter-spacing: .12em; }

.ilie-content-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); gap: 2rem; align-items: start; }
.ilie-content-area { min-width: 0; }
.ilie-sidebar { display: grid; gap: 1rem; }
.ilie-page-header { margin-bottom: 1.5rem; }
.ilie-page-header h1, .ilie-entry-header h1 { margin: 0; font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.08; letter-spacing: -0.04em; }
.ilie-archive-description { color: var(--ilie-muted); }
.ilie-entry { padding: clamp(1.4rem, 4vw, 3rem); }
.ilie-entry-header { margin-bottom: 1.4rem; }
.ilie-entry-meta { margin-bottom: .5rem; color: var(--ilie-muted); font-size: .85rem; }
.ilie-featured-image { overflow: hidden; margin: 0 0 1.5rem; border-radius: 13px; }
.ilie-prose { overflow-wrap: break-word; }
.ilie-prose > :first-child { margin-top: 0; }
.ilie-prose > :last-child { margin-bottom: 0; }
.ilie-prose h2, .ilie-prose h3, .ilie-prose h4 { line-height: 1.2; color: var(--ilie-primary); }
.ilie-prose h2 { margin-top: 2.2rem; font-size: clamp(1.55rem, 3vw, 2.2rem); }
.ilie-prose h3 { margin-top: 1.8rem; font-size: 1.35rem; }
.ilie-prose table { width: 100%; border-collapse: collapse; }
.ilie-prose th, .ilie-prose td { padding: .75rem; border: 1px solid var(--ilie-border); text-align: left; }
.ilie-prose th { background: #eef4fa; }
.ilie-prose blockquote { margin-left: 0; padding: 1rem 1.2rem; border-left: 4px solid var(--ilie-accent); background: #fff9e8; }
.ilie-post-list { display: grid; gap: 1.25rem; }
.ilie-post-card { display: grid; grid-template-columns: minmax(180px, 30%) 1fr; padding: 0; overflow: hidden; }
.ilie-post-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.ilie-post-card-content { padding: 1.5rem; }
.ilie-entry-title { margin: 0 0 .6rem; line-height: 1.2; }
.ilie-entry-title a { color: var(--ilie-primary); text-decoration: none; }
.ilie-entry-summary { color: var(--ilie-muted); }
.ilie-empty-state, .ilie-error-card { text-align: center; }
.ilie-error-code { display: block; color: var(--ilie-blue); font-size: clamp(4rem, 12vw, 8rem); font-weight: 900; line-height: 1; }
.ilie-error-card h1 { margin: .5rem 0; }

.ilie-search-form { display: grid; grid-template-columns: 1fr auto; gap: .6rem; }
.ilie-search-form label { display: block; }
.ilie-search-form input { width: 100%; min-height: 46px; padding: 0 .9rem; border: 1px solid var(--ilie-border); border-radius: 9px; background: #fff; }
.ilie-search-form button { border: 0; border-radius: 9px; padding: .7rem 1rem; background: var(--ilie-blue); color: #fff; font-weight: 750; }
.widget-title { margin-top: 0; font-size: 1.1rem; }
.widget ul { margin: 0; padding-left: 1.15rem; }
.navigation.pagination { margin-top: 1.5rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.page-numbers { display: inline-grid; place-items: center; min-width: 42px; min-height: 42px; border: 1px solid var(--ilie-border); border-radius: 9px; background: #fff; text-decoration: none; }
.page-numbers.current { background: var(--ilie-blue); color: #fff; border-color: var(--ilie-blue); }

.ilie-comments-area { margin-top: 1.5rem; }
.comment-list { padding-left: 1.25rem; }
.comment-body { padding: 1rem 0; border-bottom: 1px solid var(--ilie-border); }
.comment-form input:not([type="submit"]), .comment-form textarea { width: 100%; border: 1px solid var(--ilie-border); border-radius: 9px; padding: .75rem; }
.comment-form input[type="submit"] { border: 0; border-radius: 9px; padding: .8rem 1.1rem; background: var(--ilie-blue); color: #fff; font-weight: 750; }

.ilie-site-footer { padding-top: 4rem; color: #c6d7e8; background: #04152a; border-top: 1px solid rgba(255,255,255,.08); }
.ilie-footer-grid { display: grid; grid-template-columns: minmax(240px, 1.5fr) repeat(4, minmax(130px, 1fr)); gap: 2rem; padding-bottom: 3rem; }
.ilie-site-footer h2 { margin: 0 0 1rem; color: #fff; font-size: 1rem; }
.ilie-footer-brand p { max-width: 380px; color: #9fb6cb; }
.ilie-footer-links { margin: 0; padding: 0; list-style: none; }
.ilie-footer-links li + li { margin-top: .5rem; }
.ilie-footer-links a { color: #b8cbe0; text-decoration: none; font-size: .9rem; }
.ilie-footer-links a:hover { color: #fff; }
.ilie-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding: 1.3rem 0; border-top: 1px solid rgba(255,255,255,.08); color: #8fa8c0; font-size: .82rem; }
.ilie-footer-bottom p { margin: 0; }

@media (max-width: 1120px) {
	.ilie-header-cta { display: none; }
	.ilie-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ilie-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ilie-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 1023px) {
	.admin-bar .ilie-site-header { top: 46px; }
	.ilie-menu-toggle { display: inline-flex; }
	.ilie-primary-navigation { position: fixed; inset: 76px 0 auto; display: none; max-height: calc(100vh - 76px); overflow-y: auto; margin: 0; padding: 1rem; background: #061a33; border-top: 1px solid rgba(255,255,255,.10); }
	.admin-bar .ilie-primary-navigation { top: 122px; max-height: calc(100vh - 122px); }
	.ilie-primary-navigation.is-open { display: block; }
	.ilie-menu { align-items: stretch; flex-direction: column; }
	.ilie-menu a { padding: .9rem 1rem; }
	.ilie-menu .sub-menu { position: static; display: block; min-width: 0; opacity: 1; visibility: visible; transform: none; margin-left: 1rem; box-shadow: none; background: rgba(255,255,255,.04); }
	.ilie-hero-grid { grid-template-columns: 1fr; }
	.ilie-hero-visual { min-height: 300px; }
	.ilie-content-layout { grid-template-columns: 1fr; }
	.ilie-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.ilie-container { width: min(calc(100% - 1.25rem), var(--ilie-container)); }
	.ilie-section { padding: 3.25rem 0; }
	.ilie-grid--2, .ilie-grid--3, .ilie-grid--4 { grid-template-columns: 1fr; }
	.ilie-header-inner { min-height: 68px; }
	.ilie-brand-tagline { display: none; }
	.ilie-primary-navigation { top: 68px; max-height: calc(100vh - 68px); }
	.admin-bar .ilie-primary-navigation { top: 114px; max-height: calc(100vh - 114px); }
	.ilie-hero { min-height: auto; padding-top: 4.5rem; }
	.ilie-hero h1 { font-size: clamp(2.55rem, 13vw, 4.1rem); }
	.ilie-hero-search { grid-template-columns: 1fr; }
	.ilie-hero-search button { min-height: 50px; }
	.ilie-hero-visual { min-height: 270px; }
	.ilie-section--overlap { margin-top: -1.4rem; }
	.ilie-foundation-stats .ilie-card { min-height: 0; }
	.ilie-post-card { grid-template-columns: 1fr; }
	.ilie-post-thumbnail img { max-height: 260px; }
	.ilie-sidebar { grid-template-columns: 1fr; }
	.ilie-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ilie-footer-brand { grid-column: 1 / -1; }
	.ilie-footer-bottom { flex-direction: column; }
}

@media (max-width: 480px) {
	.ilie-brand-name { max-width: 200px; font-size: .9rem; }
	.ilie-footer-grid { grid-template-columns: 1fr; }
	.ilie-search-form { grid-template-columns: 1fr; }
}

@media print {
	.ilie-site-header, .ilie-site-footer, .ilie-sidebar, .ilie-menu-toggle, .ilie-header-cta { display: none !important; }
	body { background: #fff; color: #000; }
	.ilie-card { border: 1px solid #bbb; box-shadow: none; }
	.ilie-content-layout { display: block; }
}
