/* ==========================================================================
   IB News â€” professional academic (blue & white) design layer over ColorMag
   ========================================================================== */

:root {
	/* Academic blue + white palette */
	--cm-color-1: #1e40af;
	--ibn-navy: #0f1e3d;
	--ibn-primary: #1e40af;       /* blue-800 */
	--ibn-primary-2: #2563eb;     /* blue-600 */
	--ibn-primary-soft: #eef3ff;  /* very light blue */
	--ibn-body: #41506b;
	--ibn-muted: #74809a;
	--ibn-line: #e3e8f1;
	--ibn-bg: #e7f0fb;
	--ibn-card: #ffffff;
	--ibn-grad: linear-gradient(120deg, #1e40af 0%, #3b82f6 100%);

	--ibn-r: 14px;
	--ibn-r-sm: 10px;
	--ibn-sh-1: 0 1px 2px rgba(15,30,61,.04), 0 6px 18px rgba(15,30,61,.05);
	--ibn-sh-2: 0 4px 10px rgba(15,30,61,.06), 0 18px 40px rgba(30,64,175,.13);
	--ibn-ease: cubic-bezier(.21,.65,.36,1);
	--ibn-ease-out: cubic-bezier(.16,1,.3,1);
}

/* ---------------- Base ---------------- */
body.ibnews-enhanced {
	font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--ibn-body);
	background: var(--ibn-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.ibnews-enhanced.ib-loaded { }
/* Let the light-blue page background show through the content wrapper (gutters) */
body.ibnews-enhanced #cm-content,
body.ibnews-enhanced .cm-content { background: transparent !important; }
.ibnews-enhanced h1, .ibnews-enhanced h2, .ibnews-enhanced h3,
.ibnews-enhanced .cm-site-title, .ibnews-enhanced .cm-entry-title,
.ibnews-enhanced .entry-title, .ibnews-enhanced .cm-widget-title {
	font-family: "Sora", "Plus Jakarta Sans", sans-serif;
	color: var(--ibn-navy);
	letter-spacing: -0.018em;
	line-height: 1.2;
}
.ibnews-enhanced a { transition: color .2s var(--ibn-ease); text-decoration: none; }
.ibnews-enhanced ::selection { background: rgba(30,64,175,.15); }
.ibnews-enhanced .cm-container { max-width: 1200px; }

/* ---------------- Density / spacing â€” kills excess whitespace ---------------- */
.ibnews-enhanced #cm-primary { width: 100%; }
.ibnews-enhanced .cm-front-page-top-section { margin: 16px 0 20px; gap: 16px; }
.ibnews-enhanced .widget,
.ibnews-enhanced .cm-featured-posts { margin-bottom: 24px; }
.ibnews-enhanced .cm-column-half { gap: 20px; display: flex; }
.ibnews-enhanced .cm-column-half .cm-one-half { width: 50%; float: none; margin: 0; }
.ibnews-enhanced .cm-posts, .ibnews-enhanced .cm-first-post { margin: 0; }
/* Tighten vertical gaps between front-page widget sections */
.ibnews-enhanced .cm-front-page-content-area { padding: 0 !important; margin: 0 !important; }
.ibnews-enhanced [class*="cm-front-page"] > .cm-container > * { margin-bottom: 0; }
.ibnews-enhanced .cm-featured-posts--style-1,
.ibnews-enhanced .cm-featured-posts--style-2 { margin-bottom: 0; }

/* ---------------- Hide mobile header row on desktop ---------------- */
/* ColorMag's cm-mobile-row (duplicate logo + mobile nav dropdown) must be hidden
   on desktop â€” it has no display:none rule under some header-builder layouts */
@media (min-width: 992px) {
  .ibnews-enhanced .cm-mobile-row,
  .ibnews-enhanced #cm-mobile-nav,
  .ibnews-enhanced .cm-mobile-nav-container,
  .ibnews-enhanced .cm-nav-toggle-container { display: none !important; }
}

/* ---------------- Scroll progress bar ---------------- */
.ibn-scrollbar { position: fixed; top: 0; left: 0; height: 3px; width: 0%; background: var(--ibn-grad); z-index: 100000; box-shadow: 0 0 10px rgba(30,64,175,.5); transition: width .08s linear; }

/* ---------------- Header (glass) ---------------- */
.ibnews-enhanced #cm-masthead.cm-header-builder {
	position: sticky !important; top: 0 !important; z-index: 9999;
	background: rgba(231,240,251,.9);
	backdrop-filter: saturate(160%) blur(14px);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	transition: box-shadow .35s var(--ibn-ease), background .35s var(--ibn-ease);
	border-bottom: 1px solid transparent;
}
/* Account for WP admin bar */
.admin-bar .ibnews-enhanced #cm-masthead.cm-header-builder { top: 32px !important; }
@media (max-width: 782px) {
	.admin-bar .ibnews-enhanced #cm-masthead.cm-header-builder { top: 46px !important; }
}
.ibnews-enhanced.ib-scrolled #cm-masthead.cm-header-builder { box-shadow: 0 8px 26px rgba(15,30,61,.09); border-bottom-color: var(--ibn-line); background: rgba(231,240,251,.96); }
.ibnews-enhanced.ib-nav-hidden #cm-masthead.cm-header-builder { transform: translateY(-100%); }
.ibnews-enhanced .cm-header-main-row, .ibnews-enhanced .cm-header-bottom-row { transition: padding .35s var(--ibn-ease); }
.ibnews-enhanced.ib-scrolled .cm-header-main-row { padding-top: 8px; padding-bottom: 8px; }
.ibnews-enhanced .cm-site-title { font-weight: 800; font-size: 29px; }
.ibnews-enhanced .cm-site-title a { color: var(--ibn-primary); }
.ibnews-enhanced .cm-site-title a:hover { opacity: .85; }
.ibnews-enhanced .cm-site-description { color: var(--ibn-muted); font-size: 12px; letter-spacing: .02em; }

/* ---------------- Breaking-news ticker ---------------- */
.ibnews-enhanced .cm-header-top-row { background: var(--ibn-navy); }
.ibnews-enhanced .breaking-news { display: flex; align-items: center; }
.ibnews-enhanced .breaking-news-latest {
	background: var(--ibn-grad); color: #fff !important;
	padding: 5px 13px; border-radius: 6px;
	font: 800 11px/1 "Plus Jakarta Sans", sans-serif; text-transform: uppercase; letter-spacing: .06em;
	margin-right: 14px; white-space: nowrap;
}
.ibnews-enhanced .breaking-news-latest::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #ef4444; vertical-align: middle; box-shadow: 0 0 0 0 rgba(239,68,68,.7); animation: ibn-pulse 1.6s infinite; }
.ibnews-enhanced .cm-header-top-row, .ibnews-enhanced .cm-header-top-row a, .ibnews-enhanced .cm-date { color: #c8d3ea; }
.ibnews-enhanced .date-in-header, .ibnews-enhanced .cm-top-row .date-in-header { color: #c8d3ea !important; }
.ibnews-enhanced .newsticker a:hover { color: #fff; }
.ibnews-enhanced .cm-header-socials a { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.09); margin-left: 6px; transition: transform .2s var(--ibn-ease), background .2s var(--ibn-ease); }
.ibnews-enhanced .cm-header-socials a:hover { transform: translateY(-2px); background: var(--ibn-primary-2); color: #fff; }
@keyframes ibn-pulse { 0%{box-shadow:0 0 0 0 rgba(239,68,68,.7)} 70%{box-shadow:0 0 0 8px rgba(239,68,68,0)} 100%{box-shadow:0 0 0 0 rgba(239,68,68,0)} }

/* ---------------- Primary nav â€” BLUE BACKGROUND ---------------- */
body.ibnews-enhanced .cm-header-builder.cm-full-width .cm-desktop-row.cm-main-header .cm-header-bottom-row,
body.ibnews-enhanced .cm-header-builder.cm-full-width .cm-mobile-row .cm-header-bottom-row {
	background: var(--ibn-primary) !important;
	background-image: none !important;
	border-top: none !important;
}
/* All menu items: transparent bg, white text */
body.ibnews-enhanced .cm-header-builder .cm-primary-menu > li,
body.ibnews-enhanced .cm-header-builder .cm-primary-menu > li:hover,
body.ibnews-enhanced .cm-header-builder .cm-primary-menu > li.current-menu-item,
body.ibnews-enhanced .cm-header-builder .cm-primary-menu > li > a,
body.ibnews-enhanced .cm-header-builder .cm-primary-menu > li:hover > a { background: transparent !important; }
body.ibnews-enhanced .cm-header-builder .cm-primary-menu > li > a { color: #fff !important; }
body.ibnews-enhanced .cm-header-builder .cm-primary-menu > li:hover > a { color: rgba(255,255,255,.75) !important; }
/* Hover-only pill highlight (no persistent "current" box → bar stays one colour) */
body.ibnews-enhanced .cm-header-builder .cm-primary-menu > li:hover {
	background: rgba(255,255,255,.15) !important; border-radius: 6px;
}
.ibnews-enhanced .cm-primary-menu { display: flex; flex-wrap: nowrap; align-items: center; }
.ibnews-enhanced .cm-primary-menu > li > a {
	position: relative; font-weight: 600; font-size: 13px;
	padding: 13px 10px; white-space: nowrap;
	min-height: 44px; display: inline-flex; align-items: center;
}
/* Remove underline animation (doesn't work well on blue) */
.ibnews-enhanced .cm-primary-menu > li > a::after { display: none; }

/* Distribute the nav items evenly across a comfortable centered band */
.ibnews-enhanced .cm-header-bottom-row .cm-container {
	max-width: 1500px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.ibnews-enhanced .cm-primary-nav {
	max-width: 100% !important;
	width: 100% !important;
	float: none !important;
}
.ibnews-enhanced .cm-bottom-row,
.ibnews-enhanced .cm-header-bottom-row .cm-header-left-col {
	width: 100% !important;
}
.ibnews-enhanced .cm-primary-menu {
	justify-content: space-between !important;
	width: 100%;
}

/* ---- DROPDOWN (sub-menu) â€” white card below blue bar ---- */
.ibnews-enhanced .cm-primary-menu ul.sub-menu {
	border-radius: 12px; box-shadow: 0 8px 30px rgba(15,30,61,.18);
	border: 1px solid var(--ibn-line); overflow: hidden; padding: 6px;
	background: #fff; min-width: 180px;
}
.ibnews-enhanced .cm-primary-menu ul.sub-menu li { border: none; }
/* Kill ColorMag's solid-blue background on hovered/current/focused submenu items */
.ibnews-enhanced .cm-primary-menu ul.sub-menu li,
.ibnews-enhanced .cm-primary-menu ul.sub-menu li:hover,
.ibnews-enhanced .cm-primary-menu ul.sub-menu li.focus,
.ibnews-enhanced .cm-primary-menu ul.sub-menu li.current-menu-item,
.ibnews-enhanced .cm-primary-menu ul.sub-menu li.current-menu-ancestor,
.ibnews-enhanced .cm-primary-menu ul.sub-menu li.current_page_item {
	background: transparent !important;
}
.ibnews-enhanced .cm-primary-menu ul.sub-menu a {
	border-radius: 8px; transition: background .18s var(--ibn-ease);
	min-height: 40px; display: flex !important; align-items: center;
	padding: 10px 16px; color: var(--ibn-navy) !important;
	background: transparent !important;
	font-weight: 600; font-size: 13.5px;
}
/* Consistent soft highlight for hover AND the current page's item */
.ibnews-enhanced .cm-primary-menu ul.sub-menu li:hover > a,
.ibnews-enhanced .cm-primary-menu ul.sub-menu li.focus > a,
.ibnews-enhanced .cm-primary-menu ul.sub-menu li.current-menu-item > a,
.ibnews-enhanced .cm-primary-menu ul.sub-menu li.current-menu-ancestor > a,
.ibnews-enhanced .cm-primary-menu ul.sub-menu li.current_page_item > a {
	background: var(--ibn-primary-soft) !important; color: var(--ibn-primary) !important;
}
/* Hide ColorMag's extra submenu toggle (we use our own ::after chevron) */
.ibnews-enhanced .cm-primary-menu > li .cm-submenu-toggle { display: none !important; }

/* Dropdown arrow indicator on parent items â€” AFTER the text */
.ibnews-enhanced .cm-primary-menu > li.menu-item-has-children > a::after {
	content: ""; display: inline-block; width: 6px; height: 6px;
	border-right: 2px solid rgba(255,255,255,.8); border-bottom: 2px solid rgba(255,255,255,.8);
	transform: rotate(45deg); margin-left: 7px; margin-bottom: 3px; flex-shrink: 0;
}

/* Search */
.ibnews-enhanced .cm-top-search .search-top { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; background: var(--ibn-primary) !important; color: #fff !important; cursor: pointer; transition: background .2s var(--ibn-ease), transform .2s var(--ibn-ease); }
.ibnews-enhanced .cm-top-search .search-top:hover { background: var(--ibn-primary-2) !important; color: #fff !important; transform: translateY(-1px); }
.ibnews-enhanced .search-form-top { border-radius: 12px; box-shadow: var(--ibn-sh-2); border: 1px solid var(--ibn-line); overflow: hidden; }
.ibnews-enhanced .search-wrap { display: flex; }
.ibnews-enhanced .search-wrap .s.field { border: 0 !important; box-shadow: none !important; }
.ibnews-enhanced .search-wrap .search-icon { width: 46px; border: 0 !important; background: var(--ibn-grad) !important; position: relative; }
.ibnews-enhanced .search-wrap .search-icon::before { content: "\f002"; font-family: "Font Awesome 6 Free","FontAwesome",sans-serif; font-weight: 900; color: #fff; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }

/* ---------------- Hero / top section ---------------- */
.ibnews-enhanced .cm-slider-area, .ibnews-enhanced .cm-beside-slider-widget { border-radius: var(--ibn-r); overflow: hidden; }
.ibnews-enhanced .cm-slider-area figure, .ibnews-enhanced .cm-slider-area img { border-radius: var(--ibn-r); }

/* ============================================================
   MAGAZINE BLOCKS â€” uniform auto-fit grid (no empty whitespace)
   ============================================================ */
.ibnews-enhanced .cm-featured-posts--style-1 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 22px;
	align-items: stretch;
}
.ibnews-enhanced .cm-featured-posts--style-1 > .cm-widget-title { grid-column: 1 / -1; }
.ibnews-enhanced .cm-featured-posts--style-1 > .cm-first-post,
.ibnews-enhanced .cm-featured-posts--style-1 > .cm-posts { display: contents; }

/* ---------------- Cards ---------------- */
.ibnews-enhanced .cm-post {
	background: var(--ibn-card); border: 1px solid var(--ibn-line); border-radius: var(--ibn-r);
	padding: 12px; box-shadow: var(--ibn-sh-1);
	transition: transform .35s var(--ibn-ease), box-shadow .35s var(--ibn-ease), border-color .3s var(--ibn-ease);
	height: 100%; display: flex; flex-direction: column;
}
.ibnews-enhanced .cm-post:hover, .ibnews-enhanced .cm-primary article:hover { box-shadow: var(--ibn-sh-2); border-color: rgba(30,64,175,.25); }
.ibnews-enhanced .cm-post figure, .ibnews-enhanced .cm-post .post-thumbnail,
.ibnews-enhanced .cm-primary article .post-thumbnail, .ibnews-enhanced article figure.post-thumbnail { overflow: hidden; border-radius: var(--ibn-r-sm); margin: 0 0 13px; aspect-ratio: 16/9; }
.ibnews-enhanced .cm-post img, .ibnews-enhanced article .post-thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ibn-ease-out); }
.ibnews-enhanced .cm-post:hover img, .ibnews-enhanced article:hover .post-thumbnail img { transform: scale(1.06); }
.ibnews-enhanced .cm-post-content { display: flex; flex-direction: column; flex: 1; }
.ibnews-enhanced .cm-entry-title { font-weight: 700; font-size: 16.5px; line-height: 1.35; margin: 8px 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ibnews-enhanced .cm-entry-title a:hover { color: var(--ibn-primary); }
.ibnews-enhanced .cm-below-entry-meta { color: #94a3b8; font-size: 12px; margin-top: auto; padding-top: 6px; }
.ibnews-enhanced .cm-below-entry-meta a, .ibnews-enhanced .cm-above-entry-meta a {
	min-height: 32px; display: inline-flex; align-items: center;
}
.ibnews-enhanced .cm-entry-summary { color: var(--ibn-muted); font-size: 13px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------------- Section titles ---------------- */
.ibnews-enhanced .cm-widget-title { position: relative; font-weight: 700; font-size: 18px; border: 0 !important; padding: 0 0 12px; margin: 0 0 20px; text-transform: none; letter-spacing: -.01em; }
.ibnews-enhanced .cm-widget-title span { background: none !important; padding: 0 !important; color: var(--ibn-navy) !important; }
.ibnews-enhanced .cm-widget-title::before { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: #0f172a; }
.ibnews-enhanced .cm-widget-title::after { display: none; }

/* ---------------- Category tags (refined academic chips) ---------------- */
.ibnews-enhanced .cm-colored-category a,
.ibnews-enhanced .cm-above-title-meta a,
.ibnews-enhanced .cm-post-format-cat-link a,
.ibnews-enhanced .cm-colored-category {
	display: inline-flex; align-items: center; gap: 5px;
	background: var(--ibn-primary-soft) !important; color: var(--ibn-primary) !important;
	padding: 5px 12px; border-radius: 6px; font-size: 10.5px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .055em; line-height: 1;
	border: 1px solid rgba(30,64,175,.14);
	min-height: 28px;
	transition: background .2s var(--ibn-ease), color .2s var(--ibn-ease), border-color .2s var(--ibn-ease);
}
.ibnews-enhanced .cm-colored-category a::before { content: "\2022"; color: var(--ibn-primary-2); font-weight: 900; }
.ibnews-enhanced .cm-colored-category a:hover { background: var(--ibn-primary) !important; color: #fff !important; border-color: var(--ibn-primary); }
.ibnews-enhanced .cm-colored-category a:hover::before { color: #fff; }


/* ---------------- Buttons ---------------- */
.ibnews-enhanced .more-link, .ibnews-enhanced .cm-read-more-link,
.ibnews-enhanced input[type="submit"], .ibnews-enhanced .wpcf7-submit,
.ibnews-enhanced .cm-pagination a, .ibnews-enhanced .cm-pagination span { position: relative; overflow: hidden; border-radius: 8px !important; transition: transform .2s var(--ibn-ease), box-shadow .25s var(--ibn-ease), background .25s var(--ibn-ease) !important; }
.ibnews-enhanced input[type="submit"], .ibnews-enhanced .wpcf7-submit { background: var(--ibn-grad) !important; border: 0 !important; color: #fff !important; padding: 14px 28px !important; font-weight: 700 !important; min-height: 48px; }
.ibnews-enhanced .cm-pagination a, .ibnews-enhanced .cm-pagination span { min-width: 40px; min-height: 40px; display: inline-flex !important; align-items: center !important; justify-content: center !important; }
.ibnews-enhanced input[type="submit"]:hover, .ibnews-enhanced .wpcf7-submit:hover, .ibnews-enhanced .more-link:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(30,64,175,.3); }
.ibnews-enhanced .more-link, .ibnews-enhanced .cm-read-more-link {
	display: inline-flex; align-items: center;
	color: var(--ibn-primary) !important; font-weight: 600; font-size: 13px;
	padding: 8px 14px; min-height: 36px;
	border: 1px solid rgba(30,64,175,.25); border-radius: 8px !important;
	background: var(--ibn-primary-soft);
}
.ibnews-enhanced .more-link:hover, .ibnews-enhanced .cm-read-more-link:hover {
	background: var(--ibn-primary) !important; color: #fff !important; border-color: var(--ibn-primary);
}
.ibn-ripple-ink { position: absolute; border-radius: 50%; transform: scale(0); pointer-events: none; background: rgba(255,255,255,.5); animation: ibn-ripple .6s var(--ibn-ease-out); }
@keyframes ibn-ripple { to { transform: scale(2.6); opacity: 0; } }

/* ---------------- Forms ---------------- */
.ibnews-enhanced .wpcf7 input:not([type="submit"]), .ibnews-enhanced .wpcf7 textarea,
.ibnews-enhanced .comment-form input:not([type="submit"]), .ibnews-enhanced .comment-form textarea {
	width: 100%; border: 1.5px solid var(--ibn-line); border-radius: 10px; padding: 13px 15px;
	background: #fff; font-size: 15px;
	transition: border-color .2s var(--ibn-ease), box-shadow .2s var(--ibn-ease);
}
.ibnews-enhanced .wpcf7 input:focus, .ibnews-enhanced .wpcf7 textarea:focus,
.ibnews-enhanced .comment-form input:focus, .ibnews-enhanced .comment-form textarea:focus {
	border-color: var(--ibn-primary); box-shadow: 0 0 0 4px rgba(30,64,175,.12); outline: none;
}

/* ============================================================
   SINGLE POST â€” rich reading layout
   ============================================================ */
/* Single post: unclamp the summary so the full article body is visible */
.ibnews-enhanced.single .cm-entry-summary,
.ibnews-enhanced.single .cm-entry-summary p {
	display: block !important;
	overflow: visible !important;
	-webkit-line-clamp: unset !important;
	-webkit-box-orient: unset !important;
	max-height: none !important;
}

.ibnews-enhanced.single .cm-primary { max-width: 860px; margin: 0 auto; }
.ibnews-enhanced.single .entry-header,
.ibnews-enhanced.single .entry-content,
.ibnews-enhanced.single .entry-footer,
.ibnews-enhanced.single .post-navigation,
.ibnews-enhanced.single #comments { padding: 0 4px; }

/* Article hero */
.ibnews-enhanced.single .entry-header { margin-bottom: 30px; }
.ibnews-enhanced.single .entry-title, .ibnews-enhanced.single h1.entry-title {
	font-size: clamp(26px, 4vw, 40px); font-weight: 800; line-height: 1.15;
	margin-bottom: 16px; letter-spacing: -0.025em;
}
.ibnews-enhanced.single .post-thumbnail { border-radius: var(--ibn-r); overflow: hidden; margin: 0 0 34px; width: 100%; }
.ibnews-enhanced.single .post-thumbnail img { width: 100%; height: auto; display: block; }

/* Article meta bar */
.ibnews-enhanced.single .cm-entry-meta, .ibnews-enhanced.single .entry-meta {
	display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center;
	font-size: 13px; color: var(--ibn-muted); margin-bottom: 24px;
	padding: 14px 18px; background: var(--ibn-primary-soft); border-radius: 10px;
	border-left: 4px solid var(--ibn-primary);
}
.ibnews-enhanced.single .cm-entry-meta a, .ibnews-enhanced.single .entry-meta a { color: var(--ibn-primary); font-weight: 600; }

/* Article body typography */
.ibnews-enhanced.single .entry-content {
	font-size: 17px; line-height: 1.8; color: #2d3a52;
}
.ibnews-enhanced.single .entry-content p { margin-bottom: 1.4em; }
.ibnews-enhanced.single .entry-content h2 { font-size: 24px; margin: 2em 0 .7em; padding-bottom: 10px; border-bottom: 2px solid var(--ibn-line); }
.ibnews-enhanced.single .entry-content h3 { font-size: 20px; margin: 1.6em 0 .6em; }
.ibnews-enhanced.single .entry-content a { color: var(--ibn-primary); text-decoration: underline; text-underline-offset: 3px; }
.ibnews-enhanced.single .entry-content blockquote {
	border-left: 4px solid var(--ibn-primary-2); margin: 2em 0; padding: 16px 22px;
	background: var(--ibn-primary-soft); border-radius: 0 10px 10px 0;
	font-style: italic; color: var(--ibn-navy); font-size: 18px;
}
.ibnews-enhanced.single .entry-content ul, .ibnews-enhanced.single .entry-content ol {
	padding-left: 1.5em; margin-bottom: 1.4em;
}
.ibnews-enhanced.single .entry-content li { margin-bottom: .5em; }

/* Post navigation (prev/next) */
.ibnews-enhanced.single .post-navigation {
	display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 40px 0 0;
	border-top: 1px solid var(--ibn-line); padding-top: 28px;
}
.ibnews-enhanced.single .nav-previous, .ibnews-enhanced.single .nav-next {
	background: var(--ibn-card); border: 1px solid var(--ibn-line); border-radius: var(--ibn-r);
	padding: 18px 20px; transition: box-shadow .3s var(--ibn-ease), border-color .3s var(--ibn-ease);
}
.ibnews-enhanced.single .nav-next { text-align: right; }
.ibnews-enhanced.single .nav-previous:hover, .ibnews-enhanced.single .nav-next:hover {
	box-shadow: var(--ibn-sh-2); border-color: rgba(30,64,175,.25);
}
.ibnews-enhanced.single .nav-previous .nav-subtitle, .ibnews-enhanced.single .nav-next .nav-subtitle {
	font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
	color: var(--ibn-primary); display: block; margin-bottom: 6px;
}
.ibnews-enhanced.single .nav-previous a, .ibnews-enhanced.single .nav-next a { font-weight: 600; font-size: 14px; color: var(--ibn-navy); display: block; }
.ibnews-enhanced.single .nav-previous a:hover, .ibnews-enhanced.single .nav-next a:hover { color: var(--ibn-primary); }

/* Comments section */
.ibnews-enhanced.single #comments {
	margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--ibn-line);
}
.ibnews-enhanced.single .comments-title, .ibnews-enhanced.single #reply-title {
	font-size: 22px; font-weight: 800; margin-bottom: 20px;
}
.ibnews-enhanced.single .comment-body {
	background: var(--ibn-card); border: 1px solid var(--ibn-line); border-radius: var(--ibn-r);
	padding: 20px; margin-bottom: 16px;
}
.ibnews-enhanced.single .comment-form { margin-top: 28px; }
.ibnews-enhanced.single .comment-form label { font-weight: 600; font-size: 13px; display: block; margin-bottom: 6px; color: var(--ibn-navy); }
.ibnews-enhanced.single .comment-form .comment-form-comment,
.ibnews-enhanced.single .comment-form .comment-form-author,
.ibnews-enhanced.single .comment-form .comment-form-email,
.ibnews-enhanced.single .comment-form .comment-form-url { margin-bottom: 16px; }
.ibnews-enhanced.single .submit { background: var(--ibn-grad) !important; border: 0; color: #fff !important; padding: 13px 28px !important; font-weight: 700 !important; border-radius: 9px !important; cursor: pointer; transition: transform .2s var(--ibn-ease), box-shadow .2s var(--ibn-ease); min-height: 46px; }
.ibnews-enhanced.single .submit:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(30,64,175,.3); }
.ibnews-enhanced.single .no-comments { color: var(--ibn-muted); font-style: italic; padding: 16px 0; }

/* ============================================================
   CATEGORY / ARCHIVE page â€” proper grid
   ============================================================ */

/* Article grid container â€” ColorMag uses .cm-posts as the wrapper */
.ibnews-enhanced.category .cm-posts,
.ibnews-enhanced.archive .cm-posts,
.ibnews-enhanced.tag .cm-posts {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 24px; align-items: stretch;
	float: none !important; width: 100% !important;
}

/* Individual article cards */
.ibnews-enhanced.category .cm-primary article,
.ibnews-enhanced.archive .cm-primary article,
.ibnews-enhanced.tag .cm-primary article {
	background: var(--ibn-card); border: 1px solid var(--ibn-line); border-radius: var(--ibn-r);
	padding: 0; box-shadow: var(--ibn-sh-1); overflow: hidden;
	transition: transform .3s var(--ibn-ease), box-shadow .3s var(--ibn-ease);
	display: flex; flex-direction: column;
	/* Override any float/width from ColorMag */
	float: none !important; width: auto !important; margin: 0 !important;
}
.ibnews-enhanced.category .cm-primary article:hover,
.ibnews-enhanced.archive .cm-primary article:hover {
	transform: translateY(-4px); box-shadow: var(--ibn-sh-2);
}
.ibnews-enhanced.category .cm-primary article .post-thumbnail,
.ibnews-enhanced.archive .cm-primary article .post-thumbnail,
.ibnews-enhanced.category .cm-primary .post-thumbnail,
.ibnews-enhanced.archive .cm-primary .post-thumbnail {
	display: block !important; width: 100% !important; max-width: 100% !important;
	overflow: hidden; margin: 0 !important; border-radius: 0; flex-shrink: 0;
	text-align: left !important;
}
/* Broad catch: any img inside a category/archive article â€” fixes inline display + centering */
.ibnews-enhanced.category .cm-primary article img,
.ibnews-enhanced.archive .cm-primary article img,
.ibnews-enhanced.tag .cm-primary article img,
.ibnews-enhanced.search .cm-primary article img {
	width: 100% !important; max-width: 100% !important;
	aspect-ratio: 16 / 9 !important;
	height: auto !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform .5s var(--ibn-ease-out);
}
/* Fixed image height â€” keeps all cards in a row vertically aligned */
.ibnews-enhanced.category .cm-primary article .post-thumbnail,
.ibnews-enhanced.archive .cm-primary article .post-thumbnail,
.ibnews-enhanced.tag .cm-primary article .post-thumbnail {
	aspect-ratio: 16 / 9; height: auto;
}
.ibnews-enhanced.category .cm-primary article .post-thumbnail img,
.ibnews-enhanced.archive .cm-primary article .post-thumbnail img,
.ibnews-enhanced.tag .cm-primary article .post-thumbnail img {
	width: 100% !important; height: 100% !important; object-fit: cover !important;
}
/* Make any <a> wrapping a post thumbnail image also stretch full-width */
.ibnews-enhanced.category .cm-primary article a:has(img),
.ibnews-enhanced.archive .cm-primary article a:has(img) {
	display: block !important; width: 100% !important; text-align: left !important; height: 100%;
}
.ibnews-enhanced.category .cm-primary article:hover .post-thumbnail img,
.ibnews-enhanced.archive .cm-primary article:hover .post-thumbnail img { transform: scale(1.06); }
.ibnews-enhanced.category .cm-primary article .entry-header,
.ibnews-enhanced.archive .cm-primary article .entry-header { padding: 16px 18px 0; flex: 1; }
.ibnews-enhanced.category .cm-primary article .entry-content,
.ibnews-enhanced.archive .cm-primary article .entry-content { padding: 0 18px 18px; font-size: 14px; color: var(--ibn-muted); }
.ibnews-enhanced.category .entry-title, .ibnews-enhanced.archive .entry-title { font-size: 17px; font-weight: 700; line-height: 1.35; margin: 8px 0; }
.ibnews-enhanced.category .cm-primary article .entry-footer,
.ibnews-enhanced.archive .cm-primary article .entry-footer { padding: 0 18px 16px; margin-top: auto; }

/* Archive / category header */
.ibnews-enhanced .page-header { background: var(--ibn-grad); border-radius: var(--ibn-r); padding: 32px 36px; margin-bottom: 32px; }
.ibnews-enhanced .page-title { color: #fff !important; font-size: 28px; font-weight: 800; margin: 0; }
.ibnews-enhanced .archive-description { color: rgba(255,255,255,.82); margin-top: 8px; }
.ibnews-enhanced .taxonomy-description { color: rgba(255,255,255,.8); font-size: 15px; margin-top: 6px; }

/* ---- Vertical featured posts (homepage bottom section) ---- */
.ibnews-enhanced .cm-featured-posts--style-2 {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 24px; align-items: start;
}
.ibnews-enhanced .cm-featured-posts--style-2 > .cm-widget-title { grid-column: 1 / -1; }
/* Cap image height so they don't dominate the page */
.ibnews-enhanced .cm-featured-posts--style-2 figure,
.ibnews-enhanced .cm-featured-posts--style-2 .post-thumbnail {
	aspect-ratio: 16/9 !important; overflow: hidden; border-radius: var(--ibn-r-sm);
	max-height: 220px;
}
.ibnews-enhanced .cm-featured-posts--style-2 img { width: 100%; height: 100%; object-fit: cover; }

/* ---------------- Sidebar widgets ---------------- */
.ibnews-enhanced .cm-right-sidebar .widget,
.ibnews-enhanced .cm-left-sidebar .widget {
	background: var(--ibn-card); border: 1px solid var(--ibn-line); border-radius: var(--ibn-r);
	padding: 20px; box-shadow: var(--ibn-sh-1); margin-bottom: 22px;
}
.ibnews-enhanced .widget ul { list-style: none; padding: 0; margin: 0; }
.ibnews-enhanced .widget ul li { border-bottom: 1px solid var(--ibn-line); padding: 8px 0; }
.ibnews-enhanced .widget ul li:last-child { border-bottom: none; }
.ibnews-enhanced .widget ul li a { color: var(--ibn-body); font-weight: 500; min-height: 32px; display: flex; align-items: center; }
.ibnews-enhanced .widget ul li a:hover { color: var(--ibn-primary); }

/* Search widget */
.ibnews-enhanced .widget_search .search-form { display: flex; gap: 8px; }
.ibnews-enhanced .widget_search .search-field { flex: 1; border: 1.5px solid var(--ibn-line); border-radius: 8px; padding: 10px 14px; font-size: 14px; }
.ibnews-enhanced .widget_search .search-submit { background: var(--ibn-grad); border: 0; color: #fff; border-radius: 8px; padding: 0 16px; cursor: pointer; font-weight: 700; min-width: 60px; min-height: 42px; }

/* ---------------- Footer ---------------- */
.ibnews-enhanced #cm-footer { background: var(--ibn-navy); margin-top: 56px; }
.ibnews-enhanced #cm-footer, .ibnews-enhanced #cm-footer a, .ibnews-enhanced #cm-footer .cm-widget-title span { color: #c8d3ea !important; }
.ibnews-enhanced #cm-footer a:hover { color: #fff !important; }
.ibnews-enhanced #cm-footer .cm-widget-title::before { background: rgba(255,255,255,.12); }
.ibnews-enhanced #cm-footer .cm-widget-title::after { background: var(--ibn-grad); }
.ibnews-enhanced #cm-footer p { color: #c8d3ea; line-height: 1.7; font-size: 14px; }
.ibnews-enhanced #cm-footer .widget ul li { border-color: rgba(255,255,255,.08); }
.ibnews-enhanced #cm-footer .widget ul li a { color: #a8b8d8; min-height: 34px; display: flex; align-items: center; }
.ibnews-enhanced #cm-footer .widget ul li a:hover { color: #fff; padding-left: 4px; transition: padding .2s var(--ibn-ease), color .2s var(--ibn-ease); }
.ibnews-enhanced .cm-footer-bottom { background: rgba(0,0,0,.3); padding: 14px 0; font-size: 13px; }
.ibnews-enhanced .cm-footer-bottom, .ibnews-enhanced .cm-footer-bottom a { color: #7b90b4 !important; }

/* ---------------- Back-to-top ---------------- */
.ibn-totop { position: fixed; right: 24px; bottom: 24px; width: 50px; height: 50px; z-index: 9998; border: 0; border-radius: 50%; cursor: pointer; background: #fff; box-shadow: var(--ibn-sh-2); display: grid; place-items: center; opacity: 0; transform: translateY(16px) scale(.9); pointer-events: none; transition: opacity .3s var(--ibn-ease), transform .3s var(--ibn-ease); }
.ibn-totop.ib-show { opacity: 1; transform: none; pointer-events: auto; }
.ibn-totop:hover { transform: translateY(-3px); }
.ibn-totop svg { position: absolute; inset: 0; transform: rotate(-90deg); }
.ibn-totop .ibn-ring-track { stroke: var(--ibn-line); }
.ibn-totop .ibn-ring-prog { stroke: url(#ibngrad); stroke-linecap: round; transition: stroke-dashoffset .1s linear; }
.ibn-totop .ibn-arrow { color: var(--ibn-primary); font-weight: 800; font-size: 17px; }

/* ---------------- Reading progress ---------------- */
.ibn-readbar { position: fixed; top: 0; left: 0; height: 3px; width: 0%; background: var(--ibn-grad); z-index: 100001; }

/* ---------------- Reveal motion ---------------- */
.ibnews-enhanced .ib-reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s var(--ibn-ease-out), transform .65s var(--ibn-ease-out); }
.ibnews-enhanced .ib-reveal.ib-in { opacity: 1; transform: none; }

/* â”€â”€ About Us page: kill transform-based animations to prevent
      text duplication / GPU-layer shaking.
      The 3D tilt JS writes inline style.transform on .cm-primary article
      (the whole page wrapper) â€” !important overrides inline styles. â”€â”€ */
.page-id-7 .ib-reveal {
  transform: none !important;                  /* fade-only â€” no Y shift    */
  transition: opacity .45s ease !important;    /* simpler, no transform leg */
  transition-delay: 0s !important;             /* no stagger                */
}
.page-id-7 .ib-reveal.ib-in { opacity: 1; transform: none !important; }

/* Block the 3D tilt inline style on any element within the about page */
.page-id-7 article,
.page-id-7 .cm-primary article,
.page-id-7 .ibn-about-cover-card,
.page-id-7 .ibn-about-value,
.page-id-7 .ibn-about-audience-card,
.page-id-7 .ibn-about-mission__img-block {
  transform: none !important;
  transition: box-shadow .2s ease, opacity .45s ease !important;
  will-change: auto !important;               /* cancel GPU promotion        */
}

/* Hover: shadow lift only â€” no translateY (avoids compositor layer split) */
.page-id-7 .ibn-about-cover-card:hover,
.page-id-7 .ibn-about-audience-card:hover {
  box-shadow: 0 8px 30px rgba(15,30,61,.12) !important;
  transform: none !important;
}

/* Btn hover: keep colour change but no vertical movement */
.page-id-7 .ibn-about-btn--primary:hover { transform: none !important; }

/* ============================================================
   ABOUT PAGE â€” Economist Group layout
   ============================================================ */
body.page-id-7 #cm-secondary { display: none !important; }
body.page-id-7 .cm-row { display: block; }
body.page-id-7 .cm-primary { width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; }
body.page-id-7 .page-title,
body.page-id-7 .entry-header { display: none; }
body.page-id-7 .entry-content { max-width: 100%; padding: 0; }

.ibn-eco-about {
  font-family: Georgia, 'Times New Roman', serif;
  color: #0f172a;
  background: #fff;
}

/* â”€â”€ Header: title + jump nav â”€â”€ */
.ibn-eco-about__header {
  max-width: 1160px;
  margin: 0 auto;
  padding: 36px 24px 28px;
  border-bottom: 1px solid #e2e8f0;
}
.ibn-eco-about__title {
  font-size: 38px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 20px;
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: -.02em;
  line-height: 1.15;
}
.ibn-eco-about__jumpnav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 20px;
  font-size: 14px;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.ibn-eco-about__jumpnav span {
  color: #94a3b8;
  font-style: italic;
  margin-right: 4px;
}
.ibn-eco-about__jumpnav a {
  color: #0f172a;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-style: italic;
  transition: color .15s;
}
.ibn-eco-about__jumpnav a:hover { color: #1d4ed8; }

/* â”€â”€ Full-width banner â”€â”€ */
.ibn-eco-about__banner {
  background: #0f172a;
  padding: 64px 24px;
}
.ibn-eco-about__banner-quote {
  max-width: 760px;
  margin: 0 auto;
  font-size: clamp(20px, 2.5vw, 26px);
  font-style: italic;
  color: #e2e8f0;
  line-height: 1.55;
  text-align: left;
}

/* â”€â”€ Two-column section layout â”€â”€ */
.ibn-eco-about__section {
  border-bottom: 1px solid #e2e8f0;
  padding: 56px 0;
}
.ibn-eco-about__section--shaded { background: #f8fafc; }

.ibn-eco-about__inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 56px;
  align-items: start;
}

/* Left sidebar label */
.ibn-eco-about__sidebar {
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
  padding-top: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.4;
}

/* Right content */
.ibn-eco-about__section-title {
  font-size: clamp(22px, 2.5vw, 28px);
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 24px;
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.3;
  letter-spacing: -.02em;
}
.ibn-eco-about__content p {
  font-size: 16px;
  line-height: 1.78;
  color: #334155;
  margin: 0 0 18px;
  font-family: Georgia, 'Times New Roman', serif;
}
.ibn-eco-about__content a {
  color: #1d4ed8;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ibn-eco-about__content a:hover { color: #1e3a8a; }
.ibn-eco-about__content strong { color: #0f172a; font-weight: 700; }
.ibn-eco-about__note {
  font-size: 13px !important;
  color: #94a3b8 !important;
  font-style: italic;
  border-top: 1px solid #e2e8f0;
  padding-top: 16px;
  margin-top: 8px !important;
}

/* What we cover list */
.ibn-eco-about__cover-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ibn-eco-about__cover-item {
  padding: 20px 0;
  border-top: 1px solid #e2e8f0;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 32px;
  align-items: start;
}
.ibn-eco-about__cover-item:last-child { border-bottom: 1px solid #e2e8f0; }
.ibn-eco-about__cover-label {
  font-size: 13px;
  font-weight: 700;
  color: #0f172a;
  font-family: 'Plus Jakarta Sans', sans-serif;
  padding-top: 2px;
}
.ibn-eco-about__cover-item p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #475569 !important;
  margin: 0 !important;
}

/* Editorial standards */
.ibn-eco-about__standards {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ibn-eco-about__std {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 20px;
  padding: 24px 0;
  border-top: 1px solid #e2e8f0;
  align-items: start;
}
.ibn-eco-about__std:last-child { border-bottom: 1px solid #e2e8f0; }
.ibn-eco-about__std-num {
  font-size: 13px;
  font-weight: 700;
  color: #94a3b8;
  font-family: 'Plus Jakarta Sans', sans-serif;
  padding-top: 3px;
}
.ibn-eco-about__std-title {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 8px;
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.35;
}
.ibn-eco-about__std p {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #475569 !important;
  margin: 0 !important;
}

/* CTA row */
.ibn-eco-about__cta {
  padding: 32px 0;
  background: #fff;
}
.ibn-eco-about__cta-text {
  font-size: 16px !important;
  color: #475569 !important;
  font-style: italic;
  margin: 0 !important;
}
.ibn-eco-about__cta-text a {
  color: #1d4ed8;
  text-decoration: underline;
}

/* Responsive */
@media (max-width: 860px) {
  .ibn-eco-about__inner { grid-template-columns: 1fr; gap: 20px; }
  .ibn-eco-about__sidebar { padding-top: 0; border-left: 3px solid #e2e8f0; padding-left: 12px; }
  .ibn-eco-about__cover-item { grid-template-columns: 1fr; gap: 8px; }
  .ibn-eco-about__std { grid-template-columns: 40px 1fr; }
}
@media (max-width: 560px) {
  .ibn-eco-about__title { font-size: 28px; }
  .ibn-eco-about__banner { padding: 40px 20px; }
  .ibn-eco-about__section { padding: 36px 0; }
}

/* ---------------- Responsive tablet ---------------- */
@media (max-width: 1024px) {
	.ibnews-enhanced.single .cm-primary { max-width: 100%; }
}

@media (max-width: 920px) {
	.ibnews-enhanced .cm-column-half { flex-direction: column; }
	.ibnews-enhanced .cm-column-half .cm-one-half { width: 100%; }
	.ibnews-enhanced .cm-site-title { font-size: 23px; }
	.ibn-totop { right: 16px; bottom: 16px; }
	.ibnews-enhanced.single .entry-content { font-size: 16px; }
	.ibnews-enhanced.single .post-navigation { grid-template-columns: 1fr; }
}

/* ---------------- Mobile touch targets (a11y) ---------------- */
@media (max-width: 920px) {
	.ibnews-enhanced .cm-below-entry-meta a,
	.ibnews-enhanced .cm-below-entry-meta .cm-author,
	.ibnews-enhanced #cm-footer a,
	.ibnews-enhanced .cm-primary-menu a { display: inline-flex; align-items: center; padding-top: 10px; padding-bottom: 10px; min-height: 44px; }
	.ibnews-enhanced .cm-colored-category a { padding: 8px 14px; min-height: 36px; }
	.ibnews-enhanced .cm-header-socials a { width: 44px; height: 44px; }
	.ibnews-enhanced .cm-pagination a, .ibnews-enhanced .cm-pagination span { min-width: 44px; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; }
	.ibnews-enhanced .cm-entry-title { font-size: 17px; }
	.ibnews-enhanced .widget ul li a { min-height: 44px; }
	.ibnews-enhanced .more-link, .ibnews-enhanced .cm-read-more-link { min-height: 44px; padding: 12px 18px; }
}

/* ---------------- Reduced motion ---------------- */
@media (prefers-reduced-motion: reduce) {
	.ibnews-enhanced *, .ibnews-enhanced *::before, .ibnews-enhanced *::after { animation: none !important; }
	.ibnews-enhanced .ib-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
	.ibnews-enhanced .cm-post:hover img { transform: none; }
	body.ibnews-enhanced { opacity: 1 !important; }
}

/* ============================================================
   Contact Page
   ============================================================ */
.ibnews-contact-page { max-width: 1100px; margin: 0 auto; padding: 0 20px 60px; }

/* Hero */
.cp-hero {
  background: linear-gradient(135deg, var(--ibn-primary) 0%, var(--ibn-primary-2) 100%);
  color: #fff;
  border-radius: 12px;
  padding: 52px 48px;
  margin: 32px 0 48px;
  text-align: center;
}
.cp-hero h1 { font-size: clamp(28px,4vw,42px); font-weight: 800; margin: 0 0 12px; color: #fff; }
.cp-hero p  { font-size: 18px; opacity: .88; margin: 0; }

/* Two-column body */
.cp-body {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 40px;
  align-items: start;
}
@media (max-width: 860px) {
  .cp-body { grid-template-columns: 1fr; }
  .cp-info-col { order: -1; }
}

/* Form column */
.cp-form-col h2 { font-size: 22px; font-weight: 700; color: var(--ibn-navy); margin: 0 0 6px; }
.cp-sub { color: #64748b; margin: 0 0 24px; font-size: 15px; }

/* CF7 overrides */
.cp-form-col .wpcf7 input[type="text"],
.cp-form-col .wpcf7 input[type="email"],
.cp-form-col .wpcf7 textarea {
  width: 100%; padding: 12px 16px;
  border: 1.5px solid #d1d5db; border-radius: 8px;
  font-size: 15px; color: var(--ibn-navy);
  background: #f9fafb;
  transition: border-color .2s, box-shadow .2s;
}
.cp-form-col .wpcf7 input:focus,
.cp-form-col .wpcf7 textarea:focus {
  outline: none;
  border-color: var(--ibn-primary);
  box-shadow: 0 0 0 3px rgba(30,64,175,.12);
  background: #fff;
}
.cp-form-col .wpcf7 textarea { min-height: 150px; resize: vertical; }
.cp-form-col .wpcf7 input[type="submit"] {
  background: var(--ibn-primary); color: #fff;
  border: none; border-radius: 8px;
  padding: 13px 32px; font-size: 15px; font-weight: 700;
  cursor: pointer; width: 100%;
  transition: background .2s, transform .1s;
}
.cp-form-col .wpcf7 input[type="submit"]:hover { background: var(--ibn-primary-2); transform: translateY(-1px); }
.cp-form-col .wpcf7 .wpcf7-form-control-wrap { display: block; margin-bottom: 16px; }
.cp-form-col .wpcf7 label { display: block; font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 5px; letter-spacing:.3px; }
.cp-form-col .wpcf7-response-output { border-radius: 8px; padding: 12px 16px; font-size: 14px; }

/* Info column */
.cp-info-col { display: flex; flex-direction: column; gap: 16px; }

.cp-info-card {
  display: flex; gap: 16px; align-items: flex-start;
  background: #f8faff;
  border: 1px solid #e2eaf7;
  border-radius: 10px;
  padding: 18px 20px;
}
.cp-info-icon {
  width: 42px; height: 42px; flex-shrink: 0;
  background: var(--ibn-primary); color: #fff;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
}
.cp-info-card h4 { margin: 0 0 4px; font-size: 14px; font-weight: 700; color: var(--ibn-navy); letter-spacing:.2px; }
.cp-info-card a { color: var(--ibn-primary-2); text-decoration: none; font-size: 15px; font-weight: 600; }
.cp-info-card a:hover { text-decoration: underline; }
.cp-info-card span { font-size: 14px; color: #64748b; }

/* Social block */
.cp-social-block {
  background: #f8faff;
  border: 1px solid #e2eaf7;
  border-radius: 10px;
  padding: 20px;
}
.cp-social-block h4 { margin: 0 0 14px; font-size: 14px; font-weight: 700; color: var(--ibn-navy); letter-spacing:.2px; }
.cp-social-links { display: flex; flex-direction: column; gap: 10px; }
.cp-social-btn {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 16px; border-radius: 8px;
  font-size: 14px; font-weight: 600; text-decoration: none;
  transition: filter .15s, transform .1s;
}
.cp-social-btn:hover { filter: brightness(1.1); transform: translateX(2px); text-decoration: none; }
.cp-social-btn svg { flex-shrink: 0; }
.cp-twitter   { background: #000; color: #fff; }
.cp-facebook  { background: #1877f2; color: #fff; }
.cp-instagram { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color: #fff; }
.cp-linkedin  { background: #0077b5; color: #fff; }

/* Contact page: hide sidebar, full-width content */
body.page-id-8 .cm-row { display: block; }
body.page-id-8 #cm-secondary { display: none !important; }
body.page-id-8 .cm-primary {
  width: 100% !important; max-width: 100% !important; float: none !important;
  margin: 0 !important; padding: 0 !important;
}
body.page-id-8 .page-title,
body.page-id-8 .cm-entry-header,
body.page-id-8 .cm-entry-title { display: none !important; }
body.page-id-8 .cm-breadcrumb,
body.page-id-8 .breadcrumb,
body.page-id-8 .breadcrumbs { display: none !important; }
body.page-id-8 .entry-content { max-width: 100%; }

/* Contact page: un-clamp the cm-entry-summary so full content shows */
body.page-id-8 .cm-entry-summary {
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  max-height: none !important;
}

/* â”€â”€ Contact page: remove card shadow/border from the page wrapper â”€â”€ */
body.page-id-8 .cm-primary article,
body.page-id-8 .cm-primary article:hover {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* â”€â”€ Simple editorial contact page â”€â”€ */
.ibnews-contact-simple {
  max-width: 680px;
  margin: 40px auto 60px;
  padding: 0 20px;
  font-family: Georgia, 'Times New Roman', serif;
}
.ibnews-contact-h1 {
  font-size: 28px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 14px;
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: -.01em;
}
.ibnews-contact-intro {
  font-size: 16px;
  color: #41506b;
  line-height: 1.65;
  margin: 0 0 24px;
}
.ibnews-contact-rule {
  border: none;
  border-top: 1px solid #e2e8f0;
  margin: 28px 0;
}
.ibnews-contact-simple h2 {
  font-size: 20px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 10px;
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: -.01em;
}
.ibnews-contact-simple p {
  font-size: 15px;
  line-height: 1.7;
  color: #41506b;
  margin: 0 0 16px;
}
.ibnews-contact-simple a {
  color: #1d4ed8;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ibnews-contact-simple a:hover { color: #1e3a8a; }
.ibnews-contact-simple em { font-style: italic; }
.ibnews-contact-simple .wpcf7 label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 6px;
  letter-spacing: .01em;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.ibnews-contact-simple .wpcf7 input:not([type="submit"]),
.ibnews-contact-simple .wpcf7 textarea {
  display: block;
  width: 100%;
  border: 1.5px solid #d1d5db;
  border-radius: 6px;
  font-family: Georgia, serif;
  font-size: 15px;
  line-height: 1.5;
  padding: 11px 14px;
  background: #fff;
  color: #0f172a;
  transition: border-color .18s, box-shadow .18s;
  box-sizing: border-box;
}
.ibnews-contact-simple .wpcf7 textarea { min-height: 130px; resize: vertical; }
.ibnews-contact-simple .wpcf7 input:not([type="submit"])::placeholder,
.ibnews-contact-simple .wpcf7 textarea::placeholder { color: #9ca3af; }
.ibnews-contact-simple .wpcf7 input:focus,
.ibnews-contact-simple .wpcf7 textarea:focus {
  border-color: #1d4ed8;
  outline: none;
  box-shadow: 0 0 0 3px rgba(29,78,216,.12);
}
.ibnews-contact-simple .wpcf7 input[type="submit"] {
  display: inline-block;
  background: #1d4ed8 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 12px 32px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  cursor: pointer;
  letter-spacing: .01em;
  transition: background .18s, transform .15s;
  margin-top: 4px;
}
.ibnews-contact-simple .wpcf7 input[type="submit"]:hover {
  background: #1e3a8a !important;
  transform: translateY(-1px);
}
/* Spacing between form fields */
.ibnews-contact-simple .wpcf7 p { margin-bottom: 18px !important; }

/* ============================================================
   Homepage section grid â€” professional uniform card layout
   ============================================================ */

/* 1. Break side-by-side half columns â€” stack each section full width */
.ibnews-enhanced .cm-column-half {
  display: flex !important;
  flex-direction: column !important;
  gap: 40px !important;
  width: 100% !important;
  float: none !important;
}
.ibnews-enhanced .cm-column-half .cm-one-half,
.ibnews-enhanced .cm-column-half .cm-one-half-last {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. Section header â€” title + blue accent line */
.ibnews-enhanced .cm-featured-posts .cm-widget-title,
.ibnews-enhanced .cm-featured-posts h3.cm-widget-title {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--ibn-navy) !important;
  border-bottom: 3px solid var(--ibn-primary) !important;
  padding-bottom: 10px !important;
  margin: 0 0 20px !important;
  display: block !important;
}
.ibnews-enhanced .cm-featured-posts .cm-widget-title span {
  display: inline-block;
  position: relative;
  padding-bottom: 0;
}
.ibnews-enhanced .cm-featured-posts .cm-widget-title span::after { display: none !important; }

/* 3. Uniform grid container on ALL style-1 widgets */
.ibnews-enhanced .cm-featured-posts--style-1 {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  width: 100% !important;
  float: none !important;
  overflow: visible !important;
}

/* Title spans full grid width */
.ibnews-enhanced .cm-featured-posts--style-1 .cm-widget-title {
  grid-column: 1 / -1 !important;
}

/* Collapse the wrapper divs so their children become direct grid items */
.ibnews-enhanced .cm-featured-posts--style-1 .cm-first-post,
.ibnews-enhanced .cm-featured-posts--style-1 .cm-posts {
  display: contents !important;
}

/* 4. Individual post card */
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post {
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(15,30,61,.06), 0 4px 16px rgba(15,30,61,.07) !important;
  transition: box-shadow .2s ease, transform .2s ease !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post:hover {
  box-shadow: 0 4px 12px rgba(15,30,61,.1), 0 20px 40px rgba(30,64,175,.14) !important;
  transform: translateY(-4px);
}

/* Fixed 16/9 image */
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post > a:has(img) {
  display: block !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  width: 100% !important;
  flex-shrink: 0;
}
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post > a:has(img) img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .4s ease !important;
}
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post:hover > a:has(img) img {
  transform: scale(1.05);
}

/* Placeholder for posts with no image */
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post > a:first-child:not(:has(img)) {
  display: none !important;
}

/* Card content */
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post-content {
  padding: 16px 18px 18px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Category badge */
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post-categories a {
  display: inline-block !important;
  background: var(--ibn-primary-soft, #eef3ff) !important;
  color: var(--ibn-primary) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: 3px 9px !important;
  border-radius: 4px !important;
  margin-bottom: 8px !important;
  text-decoration: none !important;
}

/* Post title in card */
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post .cm-entry-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: var(--ibn-navy) !important;
  margin: 0 0 10px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post .cm-entry-title a {
  color: var(--ibn-navy) !important;
}
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post .cm-entry-title a:hover {
  color: var(--ibn-primary) !important;
}

/* Date meta */
.ibnews-enhanced .cm-featured-posts--style-1 .cm-below-entry-meta {
  margin-top: auto !important;
  font-size: 12px !important;
  color: var(--ibn-muted, #74809a) !important;
}

/* Excerpt â€” hide to keep cards compact */
.ibnews-enhanced .cm-featured-posts--style-1 .cm-entry-summary { display: none !important; }

/* 5. News & Updates style-2 â€” same 4-col card grid */
.ibnews-enhanced .cm-featured-posts--style-2 {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  float: none !important;
  overflow: visible !important;
}
.ibnews-enhanced .cm-featured-posts--style-2 .cm-post {
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(15,30,61,.06), 0 4px 16px rgba(15,30,61,.07) !important;
  transition: box-shadow .2s ease, transform .2s ease !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ibnews-enhanced .cm-featured-posts--style-2 .cm-post:hover {
  box-shadow: 0 4px 12px rgba(15,30,61,.1), 0 20px 40px rgba(30,64,175,.14) !important;
  transform: translateY(-4px);
}
.ibnews-enhanced .cm-featured-posts--style-2 .cm-post > a:has(img),
.ibnews-enhanced .cm-featured-posts--style-2 figure,
.ibnews-enhanced .cm-featured-posts--style-2 .post-thumbnail {
  display: block !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  width: 100% !important;
  max-height: none !important;
  flex-shrink: 0;
}
.ibnews-enhanced .cm-featured-posts--style-2 .cm-post > a:has(img) img,
.ibnews-enhanced .cm-featured-posts--style-2 figure img,
.ibnews-enhanced .cm-featured-posts--style-2 .post-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .4s ease !important;
}
.ibnews-enhanced .cm-featured-posts--style-2 .cm-post:hover img { transform: scale(1.05); }
.ibnews-enhanced .cm-featured-posts--style-2 .cm-post-content {
  padding: 16px 18px 18px !important;
  flex: 1;
  display: flex; flex-direction: column;
}
.ibnews-enhanced .cm-featured-posts--style-2 .cm-entry-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: var(--ibn-navy) !important;
  margin: 0 0 8px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.ibnews-enhanced .cm-featured-posts--style-2 .cm-entry-title a { color: var(--ibn-navy) !important; }
.ibnews-enhanced .cm-featured-posts--style-2 .cm-entry-title a:hover { color: var(--ibn-primary) !important; }
.ibnews-enhanced .cm-featured-posts--style-2 .cm-entry-summary { display: none !important; }
.ibnews-enhanced .cm-featured-posts--style-2 .cm-post-categories a {
  display: inline-block !important;
  background: var(--ibn-primary-soft, #eef3ff) !important;
  color: var(--ibn-primary) !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: .06em !important; text-transform: uppercase !important;
  padding: 3px 9px !important; border-radius: 4px !important;
  margin-bottom: 8px !important; text-decoration: none !important;
}

/* 6. Section spacing */
.ibnews-enhanced .cm-featured-posts { margin-bottom: 40px !important; }

/* Mobile: 2 cols on tablets, 1 col on phones */
@media (max-width: 700px) {
  .ibnews-enhanced .cm-featured-posts--style-1,
  .ibnews-enhanced .cm-featured-posts--style-2 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  .ibnews-enhanced .cm-featured-posts--style-1,
  .ibnews-enhanced .cm-featured-posts--style-2 {
    grid-template-columns: 1fr !important;
  }
}

/* style-2 wrapper collapse (same fix as style-1) */
.ibnews-enhanced .cm-featured-posts--style-2 .cm-first-post,
.ibnews-enhanced .cm-featured-posts--style-2 .cm-posts {
  display: contents !important;
}

/* Diploma section: 5 posts fit on one row with slightly tighter cards */
.ibnews-enhanced .cm-featured-posts--style-1 {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)) !important;
}

/* ============================================================
   Adaptive text colour â€” badge overlaid on image, colour
   responds to detected image brightness (ib-img-dark / ib-img-light)
   ============================================================ */

/* --- Position the category badge ON the image (top-left corner) --- */
.ibnews-enhanced .cm-featured-posts .cm-post {
  position: relative;
}
/* Badge is inside cm-post-content but lifted out via absolute positioning.
   cm-post has position:relative; cm-post-content does NOT, so the badge
   anchors to the card top-left (= image top-left). */
.ibnews-enhanced .cm-featured-posts .cm-post .cm-post-content .cm-entry-header-meta {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 3 !important;
  margin: 0 !important;
}

/* --- Badge default (on top of image) --- */
.ibnews-enhanced .cm-featured-posts .cm-post .cm-entry-header-meta .cm-post-categories a {
  display: inline-block !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 5px !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  transition: background .2s, color .2s, border-color .2s !important;
  /* default â€” overridden by dark/light classes below */
  background: rgba(255,255,255,0.92) !important;
  color: var(--ibn-primary) !important;
  border: none !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* --- DARK image detected â†’ white badge, white title --- */
.ibnews-enhanced .cm-featured-posts .cm-post.ib-img-dark .cm-entry-header-meta .cm-post-categories a {
  background: rgba(30, 64, 175, 0.85) !important;
  color: #fff !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* --- LIGHT image detected â†’ navy badge, primary-blue text --- */
.ibnews-enhanced .cm-featured-posts .cm-post.ib-img-light .cm-entry-header-meta .cm-post-categories a {
  background: rgba(255,255,255,0.92) !important;
  color: var(--ibn-primary) !important;
}

/* --- Title / meta: adapt only for posts where content sits over the image
       (highlighted posts widget â€” overlapping layout) --- */
.ibnews-enhanced .cm-highlighted-posts .cm-post.ib-title-dark .cm-entry-title a,
.ibnews-enhanced .cm-beside-slider-widget .cm-post.ib-title-dark .cm-entry-title a {
  color: #fff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.5);
}
.ibnews-enhanced .cm-highlighted-posts .cm-post.ib-title-dark .cm-below-entry-meta,
.ibnews-enhanced .cm-highlighted-posts .cm-post.ib-title-dark .cm-below-entry-meta a,
.ibnews-enhanced .cm-beside-slider-widget .cm-post.ib-title-dark .cm-below-entry-meta,
.ibnews-enhanced .cm-beside-slider-widget .cm-post.ib-title-dark .cm-below-entry-meta a {
  color: rgba(255,255,255,.8) !important;
}

.ibnews-enhanced .cm-highlighted-posts .cm-post.ib-title-light .cm-entry-title a,
.ibnews-enhanced .cm-beside-slider-widget .cm-post.ib-title-light .cm-entry-title a {
  color: var(--ibn-navy) !important;
  text-shadow: none;
}

/* --- Subtle image scrim for overlay sections (improves readability) --- */
.ibnews-enhanced .cm-highlighted-posts .cm-post > a:has(img)::after,
.ibnews-enhanced .cm-beside-slider-widget .cm-post > a:has(img)::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,.45) 100%);
  pointer-events: none;
  border-radius: inherit;
}
.ibnews-enhanced .cm-highlighted-posts .cm-post > a:has(img),
.ibnews-enhanced .cm-beside-slider-widget .cm-post > a:has(img) {
  position: relative;
}

/* ============================================================
   LOGO in header
   ============================================================ */
.ibnews-logo-link { display: inline-flex; align-items: center; text-decoration: none !important; }
.ibnews-logo-link svg { display: block; }
.ibnews-logo-img { display: block; width: auto; height: 46px; max-width: 100%; }
@media (max-width: 782px) { .ibnews-logo-img { height: 38px; } }
.ibnews-enhanced .cm-site-title { line-height: 1; }
.ibnews-enhanced .cm-site-title a { display: none; } /* hide text title */


@media (max-width: 560px) {
  .ibnews-prog-range { display: none; }
}

/* ============================================================
   CUSTOM FOOTER  (#ibf)
   ============================================================ */
#ibf {
  font-family: 'Plus Jakarta Sans', sans-serif;
  margin-top: 0;
}

/* Hide the old ColorMag footer */
body.ibnews-enhanced #cm-footer,
body.ibnews-enhanced .cm-footer-area { display: none !important; }

/* Shared inner container */
.ibf-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* â”€â”€ Top bar â”€â”€ */
.ibf-topbar {
  background: #0a1628;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ibf-topbar .ibf-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.ibf-contact-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.75);
  font-size: 13px;
  text-decoration: none;
  transition: color .2s;
}
.ibf-contact-link:hover { color: #fff; }
.ibf-topbar-right { display: flex; align-items: center; gap: 4px; }
.ibf-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px; height: 32px;
  border-radius: 50%;
  color: rgba(255,255,255,.65);
  background: rgba(255,255,255,.07);
  transition: background .2s, color .2s;
  text-decoration: none !important;
}
.ibf-social-icon:hover { background: var(--ibn-primary); color: #fff; }

/* â”€â”€ Main body â”€â”€ */
.ibf-body {
  background: #0f1e3d;
  padding: 52px 0 44px;
}
.ibf-body .ibf-inner {
  display: grid;
  grid-template-columns: 2fr 1.1fr 1.3fr 1.6fr;
  gap: 48px;
}
@media (max-width: 1024px) { .ibf-body .ibf-inner { grid-template-columns: 1fr 1fr; gap: 36px; } }
@media (max-width: 600px)  { .ibf-body .ibf-inner { grid-template-columns: 1fr; gap: 28px; } }

/* Brand column */
.ibf-logo { margin-bottom: 18px; }
.ibf-logo-img { display: block; height: 42px; width: auto; filter: brightness(0) invert(1); }
.ibf-brand-desc {
  font-size: 13.5px;
  line-height: 1.75;
  color: rgba(255,255,255,.55);
  margin: 0 0 18px;
}
.ibf-tag-list { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 4px; }
.ibf-tag {
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,.35);
  letter-spacing: 0;
}

/* Column headings */
.ibf-col-title {
  font-size: 14px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  color: rgba(255,255,255,.9);
  margin: 0 0 18px;
  padding-bottom: 0;
  border-bottom: none;
  display: block;
}

/* Link list */
.ibf-link-list { list-style: none; margin: 0; padding: 0; }
.ibf-link-list li {
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.ibf-link-list a {
  color: rgba(255,255,255,.6);
  font-size: 13.5px;
  text-decoration: none;
  transition: color .18s;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ibf-link-list a:hover { color: #fff; }

/* Programme indicators inside footer links â€” simple coloured dots */
.ibf-prog-badge {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  font-size: 0;
}
.ibf-prog-badge--dp  { background: #3b82f6; }
.ibf-prog-badge--myp { background: #10b981; }
.ibf-prog-badge--pyp { background: #f59e0b; }
.ibf-prog-badge--cp  { background: #a78bfa; }

/* Recent articles list */
.ibf-articles-list { list-style: none; margin: 0; padding: 0; }
.ibf-article-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.ibf-article-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.ibf-article-thumb {
  flex-shrink: 0;
  width: 60px; height: 48px;
  border-radius: 6px;
  overflow: hidden;
  display: block;
}
.ibf-article-thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.ibf-article-info { display: flex; flex-direction: column; gap: 4px; }
.ibf-article-title {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.8);
  text-decoration: none;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .18s;
}
.ibf-article-title:hover { color: #93c5fd; }
.ibf-article-date { font-size: 11px; color: rgba(255,255,255,.35); }

/* â”€â”€ Bottom bar â”€â”€ */
.ibf-bottom {
  background: #070f1e;
  padding: 16px 0;
}
.ibf-bottom .ibf-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.ibf-copyright { font-size: 12.5px; color: rgba(255,255,255,.4); }
.ibf-copyright a { color: rgba(255,255,255,.55); text-decoration: none; }
.ibf-copyright a:hover { color: #fff; }
.ibf-bottom-nav { display: flex; gap: 20px; }
.ibf-bottom-nav a {
  font-size: 12.5px;
  color: rgba(255,255,255,.4);
  text-decoration: none;
  transition: color .18s;
}
.ibf-bottom-nav a:hover { color: #fff; }

/* ============================================================
   Section headers â€” add "View All" link alignment
   ============================================================ */
.ibnews-enhanced .cm-featured-posts {
  position: relative;
}
.ibnews-enhanced .cm-featured-posts .cm-widget-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px;
}
.ibnews-enhanced .cm-featured-posts .cm-widget-title span { flex: 1; }
.ibnews-enhanced .cm-featured-posts .cm-widget-title::after {
  content: "View All â†’";
  font-size: 13px;
  font-weight: 600;
  color: var(--ibn-primary);
  white-space: nowrap;
  text-decoration: none;
  background: var(--ibn-primary-soft, #eef3ff);
  padding: 4px 12px;
  border-radius: 20px;
  letter-spacing: .01em;
  pointer-events: none; /* JS will wrap this in a link */
}

/* ============================================================
   Hero Slider
   ============================================================ */
.ibnews-hero-slider {
  position: relative;
  width: 100%;
  height: 560px;
  overflow: hidden;
  background: #0a1628;
  margin-bottom: 0;
}
@media (max-width: 768px) { .ibnews-hero-slider { height: 420px; } }
@media (max-width: 480px) { .ibnews-hero-slider { height: 340px; } }

.ihs-track { position: relative; width: 100%; height: 100%; }

.ihs-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity .7s ease;
  will-change: opacity;
}
.ihs-slide--active { opacity: 1; z-index: 1; }

.ihs-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(5,12,35,.88) 0%, rgba(5,12,35,.6) 50%, rgba(5,12,35,.15) 100%),
              linear-gradient(to top, rgba(0,0,0,.5) 0%, transparent 50%);
}

.ihs-content {
  position: absolute;
  bottom: 80px;
  left: 60px;
  max-width: 580px;
  z-index: 2;
  color: #fff;
}
@media (max-width: 768px) { .ihs-content { left: 24px; bottom: 60px; max-width: 90%; } }

.ihs-cat {
  display: inline-block;
  background: #1d4ed8;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 3px;
  text-decoration: none;
  margin-bottom: 14px;
  transition: background .2s;
}
.ihs-cat:hover { background: #1e40af; color: #fff; }

.ihs-title {
  font-family: 'Sora', 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 12px;
  letter-spacing: -.02em;
}
.ihs-title a { color: #fff; text-decoration: none; }
.ihs-title a:hover { color: #93c5fd; }

.ihs-excerpt {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,.75);
  margin: 0 0 18px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 600px) { .ihs-excerpt { display: none; } }

.ihs-meta {
  display: flex;
  align-items: center;
  gap: 20px;
}
.ihs-date {
  font-size: 12px;
  color: rgba(255,255,255,.5);
  letter-spacing: .04em;
}
.ihs-readmore {
  font-size: 13px;
  font-weight: 600;
  color: #60a5fa;
  text-decoration: none;
  letter-spacing: .02em;
  transition: color .2s;
}
.ihs-readmore:hover { color: #93c5fd; }

/* Prev / Next buttons */
.ihs-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,.3);
  background: rgba(0,0,0,.35);
  color: #fff;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, border-color .2s;
  backdrop-filter: blur(4px);
}
.ihs-btn:hover { background: rgba(29,78,216,.7); border-color: #3b82f6; }
.ihs-btn--prev { left: 20px; }
.ihs-btn--next { right: 20px; }

/* Dot indicators */
.ihs-dots {
  position: absolute;
  bottom: 22px;
  left: 60px;
  z-index: 3;
  display: flex;
  gap: 7px;
}
@media (max-width: 768px) { .ihs-dots { left: 24px; } }

.ihs-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.35);
  cursor: pointer;
  padding: 0;
  transition: background .25s, width .25s;
}
.ihs-dot--active {
  background: #fff;
  width: 24px;
  border-radius: 4px;
}

/* Slide counter */
.ihs-counter {
  position: absolute;
  bottom: 24px;
  right: 26px;
  z-index: 3;
  font-size: 12px;
  color: rgba(255,255,255,.5);
  letter-spacing: .06em;
}
.ihs-cur { color: #fff; font-weight: 700; }

/* ============================================================
   About Us Page â€” full custom layout
   ============================================================ */

/* ---- Shared layout helpers ---- */
/* â”€â”€ About page: full-width, no sidebar â”€â”€ */
.page-id-7 .cm-entry-summary { display: block !important; overflow: visible !important; -webkit-line-clamp: unset !important; -webkit-box-orient: unset !important; max-height: none !important; }
/* Break out of ALL container width constraints */
.page-id-7 .cm-container,
.page-id-7 .cm-content-area,
.page-id-7 #cm-content-area,
.page-id-7 .cm-site-content { max-width: 100% !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
.page-id-7 .cm-primary { width: 100% !important; max-width: 100% !important; padding: 0 !important; float: none !important; margin: 0 !important; }
/* Hide sidebar + page title */
.page-id-7 .cm-secondary,
.page-id-7 #cm-sidebar,
.page-id-7 #secondary { display: none !important; }
.page-id-7 .cm-entry-header,
.page-id-7 .entry-header { display: none !important; }
/* Strip WordPress article padding */
.page-id-7 article.page,
.page-id-7 .post-inner,
.page-id-7 .entry-content { padding: 0 !important; margin: 0 !important; max-width: 100% !important; }
/* Also hide mobile duplicate row on about page specifically */
.page-id-7 .cm-mobile-row { display: none !important; }
/* Remove blank space from hidden title/breadcrumb area */
.page-id-7 .cm-site-content { margin-top: 0 !important; padding-top: 0 !important; }
.page-id-7 .cm-breadcrumb,
.page-id-7 .cm-breadcrumbs,
.page-id-7 .breadcrumb-trail { display: none !important; }

/* â”€â”€ Override global h color rule inside dark about-page sections â”€â”€ */
.page-id-7 .ibn-about-hero h1,
.page-id-7 .ibn-about-hero__title,
.page-id-7 .ibn-about-hero__title a,
.page-id-7 .ibn-about-hero__tag,
.page-id-7 .ibn-about-hero__sub,
.page-id-7 .ibn-about-stat__num,
.page-id-7 .ibn-about-stat__label { color: inherit !important; }

.page-id-7 .ibn-about-section--tychr h2,
.page-id-7 .ibn-about-tychr__text h2 { color: #fff !important; }

.page-id-7 .ibn-about-editorial__card h4 { color: #fff !important; }
.page-id-7 .ibn-about-editorial__card--light h4 { color: #0f1e3d !important; }

/* Section headings stay navy */
.page-id-7 .ibn-about-section__head h2,
.page-id-7 .ibn-about-mission__text h2,
.page-id-7 .ibn-about-editorial__text h2,
.page-id-7 .ibn-about-cta h2 { color: #0f1e3d !important; }

.page-id-7 .ibn-about-cover-card h3,
.page-id-7 .ibn-about-value h3,
.page-id-7 .ibn-about-audience-card h3 { color: #0f1e3d !important; }

.ibn-about-section { padding: 72px 0; }
.ibn-about-section--alt { background: #f5f7fb; }
.ibn-about-section__inner { max-width: 1160px; margin: 0 auto; padding: 0 32px; }
.ibn-about-section__head { text-align: center; margin-bottom: 52px; }
.ibn-about-section__head h2 { font-size: clamp(24px, 3vw, 36px); color: #0f1e3d; margin-bottom: 14px; }
.ibn-about-section__head p { font-size: 17px; color: #74809a; max-width: 560px; margin: 0 auto; }

.ibn-about-label {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #1e40af;
  background: #eef3ff;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 14px;
}

/* ---- Buttons ---- */
.ibn-about-btn {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  padding: 13px 28px;
  border-radius: 8px;
  text-decoration: none;
  transition: all .2s;
  letter-spacing: .01em;
}
.ibn-about-btn--primary { background: #1e40af; color: #fff; }
.ibn-about-btn--primary:hover { background: #1d4ed8; color: #fff; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(30,64,175,.35); }
.ibn-about-btn--ghost { background: rgba(255,255,255,.15); color: #fff; border: 1.5px solid rgba(255,255,255,.4); }
.ibn-about-btn--ghost:hover { background: rgba(255,255,255,.25); color: #fff; }
.ibn-about-btn--white { background: #fff; color: #1e40af; }
.ibn-about-btn--white:hover { background: #f0f4ff; color: #1e40af; }
.ibn-about-btn--outline { background: transparent; color: #1e40af; border: 2px solid #1e40af; }
.ibn-about-btn--outline:hover { background: #1e40af; color: #fff; }

/* ---- HERO ---- */
.ibn-about-hero {
  background: linear-gradient(135deg, #0a1628 0%, #0f2d6b 45%, #1e40af 100%);
  padding: 80px 32px 0;
  overflow: hidden;
  position: relative;
}
.ibn-about-hero::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(59,130,246,.2) 0%, transparent 70%);
  pointer-events: none;
}
.ibn-about-hero__inner {
  max-width: 1160px;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 56px;
}
.ibn-about-hero__tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #93c5fd;
  background: rgba(255,255,255,.1);
  padding: 5px 14px;
  border-radius: 20px;
  margin-bottom: 22px;
}
.ibn-about-hero__title {
  font-family: 'Sora', sans-serif;
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -.03em;
  margin-bottom: 20px;
  max-width: 860px;
  margin-left: auto; margin-right: auto;
}
.ibn-about-hero__sub {
  font-size: clamp(15px, 1.5vw, 18px);
  color: rgba(255,255,255,.72);
  line-height: 1.65;
  max-width: 660px;
  margin: 0 auto 36px;
}
.ibn-about-hero__cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* Stats bar */
.ibn-about-hero__stats {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 56px;
}
@media (max-width: 768px) { .ibn-about-hero__stats { grid-template-columns: repeat(2,1fr); } }
.ibn-about-stat {
  padding: 28px 24px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.12);
}
.ibn-about-stat:last-child { border-right: none; }
.ibn-about-stat__num {
  display: block;
  font-family: 'Sora', sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 800;
  color: #fff;
  line-height: 1;
  margin-bottom: 6px;
}
.ibn-about-stat__label {
  font-size: 12px;
  color: rgba(255,255,255,.55);
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* ---- MISSION ---- */
.ibn-about-mission {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}
@media (max-width: 900px) { .ibn-about-mission { grid-template-columns: 1fr; gap: 40px; } }
.ibn-about-mission__text h2 { font-size: clamp(24px, 2.5vw, 34px); color: #0f1e3d; margin-bottom: 18px; }
.ibn-about-mission__text p { font-size: 16px; line-height: 1.8; color: #41506b; margin-bottom: 16px; }
.ibn-about-mission__text p:last-child { margin-bottom: 0; }

.ibn-about-mission__img-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.ibn-about-mission__img-block {
  border-radius: 14px;
  padding: 28px 20px 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  min-height: 140px;
}
.ibn-about-mission__img-block span {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  letter-spacing: .02em;
}
.ibn-about-mission__img-block--1 { background: linear-gradient(135deg, #1e40af, #3b82f6); }
.ibn-about-mission__img-block--2 { background: linear-gradient(135deg, #065f46, #059669); }
.ibn-about-mission__img-block--3 { background: linear-gradient(135deg, #92400e, #d97706); }
.ibn-about-mission__img-block--4 { background: linear-gradient(135deg, #6d28d9, #8b5cf6); }

/* ---- COVERAGE GRID ---- */
.ibn-about-coverage-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px) { .ibn-about-coverage-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ibn-about-coverage-grid { grid-template-columns: 1fr; } }

.ibn-about-cover-card {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  border: 1px solid #e3e8f1;
  transition: box-shadow .2s, transform .2s;
  position: relative;
  overflow: hidden;
}
.ibn-about-cover-card:hover { box-shadow: 0 8px 30px rgba(15,30,61,.1); transform: translateY(-3px); }
.ibn-about-cover-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 4px;
}
.ibn-about-cover-card--dp::before  { background: linear-gradient(90deg, #1e40af, #3b82f6); }
.ibn-about-cover-card--myp::before { background: linear-gradient(90deg, #065f46, #059669); }
.ibn-about-cover-card--pyp::before { background: linear-gradient(90deg, #92400e, #d97706); }
.ibn-about-cover-card--cp::before  { background: linear-gradient(90deg, #6d28d9, #8b5cf6); }
.ibn-about-cover-card--exams::before { background: linear-gradient(90deg, #b45309, #f59e0b); }
.ibn-about-cover-card--uni::before { background: linear-gradient(90deg, #0c4a6e, #0ea5e9); }

.ibn-about-cover-card__badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 3px 10px;
  border-radius: 4px;
  margin-bottom: 14px;
  color: #fff;
}
.ibn-about-cover-card--dp .ibn-about-cover-card__badge  { background: #1e40af; }
.ibn-about-cover-card--myp .ibn-about-cover-card__badge { background: #065f46; }
.ibn-about-cover-card--pyp .ibn-about-cover-card__badge { background: #92400e; }
.ibn-about-cover-card--cp .ibn-about-cover-card__badge  { background: #6d28d9; }

.ibn-about-cover-card__icon { color: #1e40af; margin-bottom: 14px; }
.ibn-about-cover-card h3 { font-size: 17px; color: #0f1e3d; margin-bottom: 10px; }
.ibn-about-cover-card p { font-size: 14px; line-height: 1.7; color: #41506b; margin-bottom: 16px; }
.ibn-about-cover-card__link { font-size: 13px; font-weight: 700; color: #1e40af; text-decoration: none; transition: color .2s; }
.ibn-about-cover-card__link:hover { color: #2563eb; }

/* ---- VALUES ---- */
.ibn-about-values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}
@media (max-width: 1024px) { .ibn-about-values-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px)  { .ibn-about-values-grid { grid-template-columns: 1fr; } }

.ibn-about-value {
  background: #fff;
  border-radius: 16px;
  padding: 32px 24px;
  border: 1px solid #e3e8f1;
  text-align: center;
}
.ibn-about-value__icon {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 18px;
}
.ibn-about-value__icon--blue   { background: #dbeafe; color: #1e40af; }
.ibn-about-value__icon--green  { background: #d1fae5; color: #065f46; }
.ibn-about-value__icon--amber  { background: #fef3c7; color: #92400e; }
.ibn-about-value__icon--purple { background: #ede9fe; color: #6d28d9; }
.ibn-about-value h3 { font-size: 16px; color: #0f1e3d; margin-bottom: 10px; }
.ibn-about-value p  { font-size: 14px; line-height: 1.7; color: #41506b; }

/* ---- AUDIENCE ---- */
.ibn-about-audience-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
@media (max-width: 1024px) { .ibn-about-audience-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px)  { .ibn-about-audience-grid { grid-template-columns: 1fr; } }

.ibn-about-audience-card {
  background: #fff;
  border-radius: 16px;
  padding: 32px 24px;
  border: 1px solid #e3e8f1;
  transition: box-shadow .2s;
}
.ibn-about-audience-card:hover { box-shadow: 0 6px 24px rgba(15,30,61,.08); }
.ibn-about-audience-card__num {
  font-family: 'Sora', sans-serif;
  font-size: 36px;
  font-weight: 800;
  color: #e3e8f1;
  line-height: 1;
  margin-bottom: 14px;
}
.ibn-about-audience-card h3 { font-size: 17px; color: #0f1e3d; margin-bottom: 10px; }
.ibn-about-audience-card p  { font-size: 14px; line-height: 1.7; color: #41506b; }

/* ---- EDITORIAL ---- */
.ibn-about-editorial {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 64px;
  align-items: start;
}
@media (max-width: 960px) { .ibn-about-editorial { grid-template-columns: 1fr; } }

.ibn-about-editorial__text h2 { font-size: clamp(24px, 2.5vw, 34px); color: #0f1e3d; margin-bottom: 18px; }
.ibn-about-editorial__text p { font-size: 16px; line-height: 1.8; color: #41506b; margin-bottom: 16px; }

.ibn-about-standards-list {
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ibn-about-standards-list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 14.5px;
  line-height: 1.6;
  color: #41506b;
}
.ibn-about-standards-list li svg { flex-shrink: 0; margin-top: 2px; }

.ibn-about-editorial__aside { display: flex; flex-direction: column; gap: 20px; }

.ibn-about-editorial__card {
  background: #0f1e3d;
  border-radius: 16px;
  padding: 28px;
  color: rgba(255,255,255,.8);
}
.ibn-about-editorial__card--light { background: #fff; border: 1px solid #e3e8f1; color: #41506b; }
.ibn-about-editorial__card-icon {
  width: 52px; height: 52px;
  background: rgba(255,255,255,.12);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
}
.ibn-about-editorial__card-icon--blue { background: #eef3ff; }
.ibn-about-editorial__card h4 { font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 10px; }
.ibn-about-editorial__card--light h4 { color: #0f1e3d; }
.ibn-about-editorial__card p { font-size: 14px; line-height: 1.7; }
.ibn-about-editorial__card a { color: #60a5fa; text-decoration: none; }
.ibn-about-editorial__card--light a { color: #1e40af; }
.ibn-about-editorial__contact-btn {
  display: inline-block;
  margin-top: 14px;
  font-size: 13px;
  font-weight: 700;
  color: #1e40af;
  text-decoration: none;
  transition: color .2s;
}
.ibn-about-editorial__contact-btn:hover { color: #2563eb; }

/* ---- TYCHR ---- */
.ibn-about-section--tychr {
  background: linear-gradient(135deg, #0a1628 0%, #0f2d6b 60%, #1e40af 100%);
  padding: 72px 0;
}
.ibn-about-tychr {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 60px;
  align-items: center;
}
@media (max-width: 768px) { .ibn-about-tychr { grid-template-columns: 1fr; } }
.ibn-about-tychr__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  background: rgba(255,255,255,.08);
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.12);
  min-width: 160px;
}
.ibn-about-tychr__text h2 { font-size: clamp(22px, 2.5vw, 32px); color: #fff; margin-bottom: 16px; }
.ibn-about-tychr__text p  { font-size: 15.5px; line-height: 1.75; color: rgba(255,255,255,.72); margin-bottom: 14px; }
.ibn-about-tychr__text p strong { color: #fff; }

/* ---- CTA ---- */
.ibn-about-cta {
  background: #f5f7fb;
  padding: 72px 32px;
  text-align: center;
  border-top: 1px solid #e3e8f1;
}
.ibn-about-cta__inner { max-width: 680px; margin: 0 auto; }
.ibn-about-cta h2 { font-size: clamp(24px, 3vw, 36px); color: #0f1e3d; margin-bottom: 14px; }
.ibn-about-cta p  { font-size: 17px; color: #74809a; margin-bottom: 32px; }
.ibn-about-cta__buttons { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 32px; }
.ibn-about-cta__socials { display: flex; gap: 16px; justify-content: center; }
.ibn-about-cta__socials a {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #e3e8f1;
  display: flex; align-items: center; justify-content: center;
  color: #74809a;
  text-decoration: none;
  transition: all .2s;
}
.ibn-about-cta__socials a:hover { background: #1e40af; color: #fff; border-color: #1e40af; }

/* ---- Updated About section headings (no over-labeled hierarchy) ---- */
.ibn-about-covers__title {
  font-size: clamp(24px, 3vw, 34px);
  color: #0f1e3d;
  margin-bottom: 12px;
}
.page-id-7 .ibn-about-covers__title { color: #0f1e3d !important; }
.ibn-about-covers__sub {
  font-size: 17px;
  color: #74809a;
  margin-bottom: 48px;
}

/* ---- Why section (2-col: long copy + aside notes) ---- */
.ibn-about-why {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 64px;
  align-items: start;
}
@media (max-width: 900px) { .ibn-about-why { grid-template-columns: 1fr; gap: 36px; } }
.ibn-about-why__text h2 { font-size: clamp(24px, 2.5vw, 34px); color: #0f1e3d; margin-bottom: 20px; }
.ibn-about-why__text p { font-size: 16px; line-height: 1.85; color: #41506b; margin-bottom: 18px; }
.ibn-about-why__text p:last-child { margin-bottom: 0; }
.ibn-about-why__text a { color: #1e40af; text-decoration: underline; text-decoration-color: rgba(30,64,175,.3); }
.ibn-about-why__text a:hover { text-decoration-color: #1e40af; }

.ibn-about-why__aside { display: flex; flex-direction: column; gap: 18px; }
.ibn-about-why__note {
  background: #f5f7fb;
  border-left: 3px solid #e3e8f1;
  border-radius: 0 10px 10px 0;
  padding: 20px 22px;
}
.ibn-about-why__note--blue { background: #eef3ff; border-left-color: #1e40af; }
.ibn-about-why__note p { font-size: 14px; line-height: 1.7; color: #41506b; margin: 0 0 8px; }
.ibn-about-why__note p:last-child { margin: 0; }
.ibn-about-why__note strong { color: #0f1e3d; }
.ibn-about-why__note a { color: #1e40af; text-decoration: none; }
.ibn-about-why__note a:hover { text-decoration: underline; }

/* ---- How we work (2-col: copy + numbered list) ---- */
.ibn-about-howwe {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
}
@media (max-width: 900px) { .ibn-about-howwe { grid-template-columns: 1fr; gap: 40px; } }
.ibn-about-howwe__text h2 { font-size: clamp(24px, 2.5vw, 34px); color: #0f1e3d; margin-bottom: 20px; }
.ibn-about-howwe__text p { font-size: 16px; line-height: 1.85; color: #41506b; margin-bottom: 18px; }
.ibn-about-howwe__text p:last-child { margin-bottom: 0; }

.ibn-about-howwe__list { display: flex; flex-direction: column; gap: 28px; padding-top: 8px; }
.ibn-about-howwe__item {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.ibn-about-howwe__num {
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 800;
  color: #1e40af;
  background: #eef3ff;
  width: 36px; height: 36px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  letter-spacing: .02em;
}
.ibn-about-howwe__item strong { display: block; font-size: 15px; color: #0f1e3d; margin-bottom: 5px; }
.ibn-about-howwe__item p { font-size: 14px; line-height: 1.65; color: #74809a; margin: 0; }

/* Override color rule for new section headings on page 7 */
.page-id-7 .ibn-about-why__text h2,
.page-id-7 .ibn-about-howwe__text h2 { color: #0f1e3d !important; }
.page-id-7 .ibn-about-tychr__text h2 { color: #fff !important; }
.page-id-7 .ibn-about-cta h2 { color: #0f1e3d !important; }

/* ============================================================
   Trending Now ticker bar
   ============================================================ */
.ibn-ticker-bar {
  display: flex;
  align-items: stretch;
  background: #0f1e3d;
  height: 42px;
  overflow: hidden;
}
.ibn-ticker-label {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #1d4ed8;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 0 18px;
  white-space: nowrap;
  flex-shrink: 0;
}
.ibn-ticker-track {
  flex: 1;
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 40px), transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 40px), transparent);
}
.ibn-ticker-inner {
  display: flex;
  align-items: center;
  height: 42px;
  animation: ibn-ticker 32s linear infinite;
  width: max-content;
}
.ibn-ticker-inner:hover { animation-play-state: paused; }
@keyframes ibn-ticker {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.ibn-ticker-item {
  color: rgba(255,255,255,.75);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  padding: 0 28px;
  text-decoration: none;
  border-right: 1px solid rgba(255,255,255,.12);
  transition: color .2s;
}
.ibn-ticker-item:hover { color: #93c5fd; }

/* ============================================================
   Enhanced section headers â€” colour accent per section
   ============================================================ */
.ibnews-enhanced .cm-widget-title span {
  display: inline-block;
  padding-bottom: 6px;
}
/* Section-level colour accents via data-category (applied by JS below) */
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="dp"]    .cm-widget-title { border-bottom-color: #1e40af !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="myp"]   .cm-widget-title { border-bottom-color: #065f46 !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="exams"] .cm-widget-title { border-bottom-color: #b45309 !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="uni"]   .cm-widget-title { border-bottom-color: #7c3aed !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="news"]  .cm-widget-title { border-bottom-color: #ef4444 !important; }

/* Section wrapper subtle background alternation â€” replaced by editorial redesign */
.ibnews-enhanced .cm-featured-posts:nth-child(odd),
.ibnews-enhanced .cm-featured-posts:nth-child(even) {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* ============================================================
   EDITORIAL PUBLICATION REDESIGN  (v3 â€” 2026-06)
   Transforms the site to look like a real education/news
   publication: editorial section headers, lead story cards,
   below-image category badges, and "View all" links.
   ============================================================ */

/* â”€â”€ Section spacing â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ibnews-enhanced .cm-featured-posts { margin-bottom: 54px !important; }

/* â”€â”€ EDITORIAL SECTION HEADERS â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ibnews-enhanced .cm-featured-posts .cm-widget-title,
.ibnews-enhanced .cm-featured-posts h3.cm-widget-title {
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: #0f1e3d !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 1px solid #dde3ef !important;
  padding: 0 0 13px !important;
  margin: 0 0 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* Coloured accent bar â€” colour set per-category via data-ibn-cat */
.ibnews-enhanced .cm-featured-posts .cm-widget-title::before {
  content: "" !important;
  display: inline-block !important;
  width: 26px !important;
  min-width: 26px !important;
  height: 4px !important;
  border-radius: 2px !important;
  background: var(--ibn-primary) !important;
  position: static !important;
  flex-shrink: 0 !important;
  bottom: auto !important;
  left: auto !important;
}

/* Remove old short underline */
.ibnews-enhanced .cm-featured-posts .cm-widget-title::after { display: none !important; }

/* Title <span> text â€” no extra decoration */
.ibnews-enhanced .cm-featured-posts .cm-widget-title span {
  display: inline !important;
  background: none !important;
  padding: 0 !important;
  color: inherit !important;
}

/* "View all â†’" link (injected by editorial JS below) */
.ibnews-enhanced .ibn-view-all {
  margin-left: auto !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--ibn-primary) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  opacity: .8 !important;
  transition: opacity .15s !important;
}
.ibnews-enhanced .ibn-view-all::after { content: " \2192" !important; }
.ibnews-enhanced .ibn-view-all:hover { opacity: 1 !important; }

/* Per-category accent + view-all colour (data-ibn-cat set by JS) */
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="dp"]    .cm-widget-title::before { background: #1e40af !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="dp"]    .ibn-view-all            { color: #1e40af !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="myp"]   .cm-widget-title::before { background: #065f46 !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="myp"]   .ibn-view-all            { color: #065f46 !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="pyp"]   .cm-widget-title::before { background: #92400e !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="pyp"]   .ibn-view-all            { color: #92400e !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="cp"]    .cm-widget-title::before { background: #7c3aed !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="cp"]    .ibn-view-all            { color: #7c3aed !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="exams"] .cm-widget-title::before { background: #b45309 !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="exams"] .ibn-view-all            { color: #b45309 !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="uni"]   .cm-widget-title::before { background: #7c3aed !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="uni"]   .ibn-view-all            { color: #7c3aed !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="news"]  .cm-widget-title::before { background: #dc2626 !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="news"]  .ibn-view-all            { color: #dc2626 !important; }
/* Never let old border-bottom-color bleed through */
.ibnews-enhanced .cm-featured-posts[data-ibn-cat] .cm-widget-title { border-bottom-color: #dde3ef !important; }

/* â”€â”€ CATEGORY BADGE: move below image (editorial standard) â”€â”€ */
/* Remove absolute positioning â€” badge becomes static in card body */
.ibnews-enhanced .cm-featured-posts .cm-post .cm-post-content .cm-entry-header-meta {
  position: static !important;
  top: auto !important;
  left: auto !important;
  z-index: auto !important;
  margin: 0 0 10px !important;
  display: block !important;
}

/* Badge: solid pill â€” no more glass/adaptive styling needed */
.ibnews-enhanced .cm-featured-posts .cm-post .cm-entry-header-meta .cm-post-categories a {
  background: var(--ibn-primary) !important;
  color: #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: 3px 9px !important;
  border-radius: 3px !important;
  text-decoration: none !important;
}
/* Override dark/light adaptive rules â€” no longer needed for badge position */
.ibnews-enhanced .cm-featured-posts .cm-post.ib-img-dark .cm-entry-header-meta .cm-post-categories a,
.ibnews-enhanced .cm-featured-posts .cm-post.ib-img-light .cm-entry-header-meta .cm-post-categories a {
  background: var(--ibn-primary) !important;
  color: #fff !important;
  backdrop-filter: none !important;
}
/* Per-section category badge colour */
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="dp"]    .cm-post .cm-entry-header-meta .cm-post-categories a { background: #1e40af !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="myp"]   .cm-post .cm-entry-header-meta .cm-post-categories a { background: #065f46 !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="pyp"]   .cm-post .cm-entry-header-meta .cm-post-categories a { background: #92400e !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="cp"]    .cm-post .cm-entry-header-meta .cm-post-categories a { background: #7c3aed !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="exams"] .cm-post .cm-entry-header-meta .cm-post-categories a { background: #b45309 !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="uni"]   .cm-post .cm-entry-header-meta .cm-post-categories a { background: #7c3aed !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="news"]  .cm-post .cm-entry-header-meta .cm-post-categories a { background: #dc2626 !important; }

/* ============================================================
   ABOUT PAGE  (page-id-7)  â€”  editorial prose layout v3
   Prose-first. No symmetric card grids. Real publication feel.
   ============================================================ */
.ibn-about * { box-sizing: border-box; }
.ibn-about { font-family: 'Plus Jakarta Sans','Sora',system-ui,sans-serif; color: #1a2540; }

/* â”€â”€ Hero â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ibn-about__hero {
  background: #0f1e3d !important;
  padding: 88px 0 76px;
}
.ibn-about__hero-inner {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 40px;
}
.ibn-about__kicker {
  font-size: 11px; font-weight: 800; letter-spacing: .2em;
  text-transform: uppercase; color: #60a5fa !important;
  margin: 0 0 22px;
}
.ibn-about__headline {
  font-size: clamp(34px, 5vw, 52px);
  font-weight: 800; line-height: 1.12;
  color: #fff !important;
  margin: 0 0 26px;
  max-width: 680px;
}
.ibn-about__intro {
  font-size: 18px; line-height: 1.7;
  color: #94a3b8 !important;
  max-width: 560px;
  margin: 0;
}

/* â”€â”€ Shared section wrapper â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ibn-about__section {
  padding: 80px 0;
  border-bottom: 1px solid #e8edf5;
}
.ibn-about__section--shaded { background: #f9fafb; }
.ibn-about__wrap {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 40px;
}
.ibn-about__wrap--wide {
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 40px;
}
.ibn-about__label {
  font-size: 10px; font-weight: 900; letter-spacing: .2em;
  text-transform: uppercase; color: #1e40af;
  margin: 0 0 18px;
}
.ibn-about__section-title {
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800; line-height: 1.22;
  color: #0f1e3d !important;
  margin: 0 0 28px;
}

/* â”€â”€ Who We Are â€” prose block â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ibn-about__prose p {
  font-size: 17px; line-height: 1.8;
  color: #374151;
  margin: 0 0 20px;
}
.ibn-about__prose p:last-child { margin-bottom: 0; }
.ibn-about__prose strong { color: #0f1e3d; font-weight: 700; }

.ibn-about__aside {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid #e2e8f0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.ibn-about__stat {
  padding: 0 28px 0 0;
  border-right: 1px solid #e2e8f0;
  margin-right: 28px;
}
.ibn-about__stat:last-child { border-right: none; margin-right: 0; }
.ibn-about__stat-num {
  font-size: 38px; font-weight: 800;
  color: #1e40af !important; line-height: 1;
  margin: 0 0 6px;
}
.ibn-about__stat-label {
  font-size: 13px; color: #64748b; line-height: 1.45;
}

.ibn-about__note {
  margin-top: 32px;
  font-size: 13px; color: #6b7280;
  line-height: 1.6;
  padding-left: 16px;
  border-left: 2px solid #cbd5e1;
}

/* ============================================================
   Mobile hamburger navigation
   ============================================================ */

/* Hamburger button â€” hidden on desktop, shown on mobile */
.ibnews-hamburger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
	margin-left: auto;
	z-index: 10002;
	position: relative;
}
.ibnews-hamburger span {
	display: block;
	width: 22px;
	height: 2px;
	background: #0f172a;
	border-radius: 2px;
	transition: transform .3s ease, opacity .2s ease;
}
.ibnews-hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ibnews-hamburger.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.ibnews-hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Full-screen slide-in mobile nav panel */
.ibnews-mobile-panel {
	display: none;
	position: fixed;
	inset: 0;
	background: #fff;
	z-index: 10001;
	overflow-y: auto;
	padding: 80px 28px 48px;
	transform: translateX(-100%);
	transition: transform .35s cubic-bezier(.21,.65,.36,1);
}
.ibnews-mobile-panel.is-visible { display: block; }
.ibnews-mobile-panel.is-open { transform: translateX(0); }

/* Mobile panel nav list */
.ibnews-mobile-panel ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.ibnews-mobile-panel > ul > li {
	border-bottom: 1px solid #e2e8f0;
}
.ibnews-mobile-panel a {
	display: block;
	padding: 15px 4px;
	font-size: 17px;
	font-weight: 600;
	color: #0f172a;
	text-decoration: none !important;
	font-family: "Sora", "Plus Jakarta Sans", sans-serif;
}
.ibnews-mobile-panel a:hover { color: #1e40af; }
.ibnews-mobile-panel .cm-submenu-toggle { display: none !important; }
.ibnews-mobile-panel .sub-menu {
	padding-left: 16px;
	display: none;
	border-top: 1px solid #f1f5f9;
}
.ibnews-mobile-panel .sub-menu.is-open { display: block; }
.ibnews-mobile-panel .sub-menu a {
	font-size: 15px;
	font-weight: 500;
	color: #475569;
	padding: 11px 0;
}
.ibnews-mobile-panel .menu-item-has-children > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.ibnews-mobile-panel .menu-item-has-children > a::after {
	content: '+';
	font-size: 18px;
	font-weight: 300;
	color: #94a3b8;
	transition: transform .2s;
}
.ibnews-mobile-panel .menu-item-has-children.sub-open > a::after {
	transform: rotate(45deg);
}

/* Close button inside panel */
.ibnews-mobile-close {
	position: fixed;
	top: 20px;
	right: 20px;
	width: 36px; height: 36px;
	display: flex; align-items: center; justify-content: center;
	background: none;
	border: 1px solid #e2e8f0;
	border-radius: 50%;
	font-size: 18px;
	cursor: pointer;
	color: #0f172a;
	z-index: 10003;
}

/* Compact desktop nav so all 9 items fit. Two tiers, then hamburger <=1200. */
@media (min-width: 1351px) and (max-width: 1500px) {
	.ibnews-enhanced .cm-primary-menu > li > a {
		padding-left: 7px !important;
		padding-right: 7px !important;
		font-size: 12.5px;
		letter-spacing: -.01em;
	}
	.ibnews-enhanced .cm-primary-menu > li.menu-item-has-children > a { padding-right: 15px !important; }
}
@media (min-width: 1201px) and (max-width: 1350px) {
	.ibnews-enhanced .cm-primary-menu > li > a {
		padding-left: 3px !important;
		padding-right: 3px !important;
		font-size: 11.5px;
		letter-spacing: -.02em;
	}
	.ibnews-enhanced .cm-primary-menu > li.menu-item-has-children > a { padding-right: 12px !important; }
}

/* Show hamburger on tablet & below, hide ColorMag's own toggle */
@media (max-width: 1200px) {
	.ibnews-enhanced .ibnews-hamburger { display: flex; }
	.ibnews-enhanced .cm-nav-toggle-container,
	.ibnews-enhanced .cm-submenu-toggle { display: none !important; }
	/* Keep mobile row visible, hide the blue nav bar below it */
	.ibnews-enhanced .cm-header-bottom-row { display: none !important; }
	/* Make mobile row's main row flex so hamburger sits right */
	.ibnews-enhanced .cm-mobile-row .cm-main-row {
		display: flex !important;
		align-items: center;
	}
	/* Also hide desktop row on mobile since mobile row replaces it */
	.ibnews-enhanced .cm-desktop-row { display: none !important; }
	/* Show mobile row */
	.ibnews-enhanced .cm-mobile-row { display: block !important; }
}

/* â”€â”€ What We Cover â€” stacked rows â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ibn-about__cover-rows { margin-top: 8px; }
.ibn-about__cover-row {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 0 32px;
  padding: 26px 0;
  border-bottom: 1px solid #e8edf5;
  align-items: baseline;
}
.ibn-about__cover-row:first-child { padding-top: 0; }
.ibn-about__cover-tag {
  font-size: 10px; font-weight: 900; letter-spacing: .14em;
  text-transform: uppercase; color: #1e40af;
  padding-top: 3px;
}
.ibn-about__cover-row[data-prog="myp"]   .ibn-about__cover-tag { color: #065f46; }
.ibn-about__cover-row[data-prog="exams"] .ibn-about__cover-tag { color: #92400e; }
.ibn-about__cover-row[data-prog="uni"]   .ibn-about__cover-tag { color: #6d28d9; }
.ibn-about__cover-row[data-prog="news"]  .ibn-about__cover-tag { color: #b91c1c; }
.ibn-about__cover-row[data-prog="feat"]  .ibn-about__cover-tag { color: #0e7490; }
.ibn-about__cover-body {}
.ibn-about__cover-title {
  font-size: 15px; font-weight: 700;
  color: #0f1e3d !important;
  margin: 0 0 4px;
}
.ibn-about__cover-desc {
  font-size: 14px; line-height: 1.6; color: #64748b;
  margin: 0;
}

/* â”€â”€ Editorial Standards â€” numbered prose â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ibn-about__standards { margin-top: 8px; counter-reset: std; }
.ibn-about__std {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 0 20px;
  padding: 28px 0;
  border-bottom: 1px solid #e8edf5;
  align-items: start;
}
.ibn-about__std:first-child { padding-top: 0; }
.ibn-about__std-num {
  font-size: 11px; font-weight: 900; letter-spacing: .06em;
  color: #9ca3af;
  padding-top: 4px;
  counter-increment: std;
}
.ibn-about__std-body {}
.ibn-about__std-title {
  font-size: 16px; font-weight: 700;
  color: #0f1e3d !important; margin: 0 0 6px;
}
.ibn-about__std-desc {
  font-size: 14px; line-height: 1.65; color: #6b7280; margin: 0;
}

/* â”€â”€ Backer section â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ibn-about__backer-grid {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 0 56px;
  align-items: start;
}
.ibn-about__backer-mark {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ibn-about__backer-name {
  font-size: 22px; font-weight: 800;
  color: #0f1e3d !important; line-height: 1;
  letter-spacing: -.01em;
}
.ibn-about__backer-tagline {
  font-size: 12px; color: #94a3b8; line-height: 1.4;
}
.ibn-about__backer-rule {
  margin: 0;
  border: none;
  border-top: 1px solid #e2e8f0;
  display: none;
}
.ibn-about__backer-prose p {
  font-size: 16px; line-height: 1.75; color: #374151; margin: 0 0 16px;
}
.ibn-about__backer-prose p:last-child { margin: 0; }
.ibn-about__backer-prose a { color: #1e40af; text-underline-offset: 3px; }

/* â”€â”€ CTA â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ibn-about__cta {
  padding: 80px 40px;
  text-align: left;
  max-width: 820px;
  margin: 0 auto;
}
.ibn-about__cta-title {
  font-size: clamp(20px, 2.8vw, 26px);
  font-weight: 800; color: #0f1e3d !important;
  margin: 0 0 10px;
}
.ibn-about__cta-sub {
  font-size: 16px; line-height: 1.65; color: #64748b;
  margin: 0 0 28px; max-width: 480px;
}
.ibn-about__cta-links {
  display: flex; gap: 16px; flex-wrap: wrap; align-items: center;
}
.ibn-about__cta-btn {
  display: inline-flex; align-items: center;
  padding: 11px 24px; border-radius: 5px;
  font-size: 14px; font-weight: 700;
  text-decoration: none !important;
  background: #1e40af !important; color: #fff !important;
}
.ibn-about__cta-link {
  font-size: 14px; font-weight: 600;
  color: #1e40af !important; text-underline-offset: 3px;
  text-decoration: underline !important;
}

/* â”€â”€ Responsive â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 860px) {
  .ibn-about__backer-grid { grid-template-columns: 1fr; gap: 28px 0; }
  .ibn-about__backer-rule { display: block; margin: 4px 0; }
  .ibn-about__aside { grid-template-columns: repeat(2, 1fr); row-gap: 24px; }
  .ibn-about__stat { border-right: none; margin-right: 0; padding-right: 0; }
}
@media (max-width: 600px) {
  .ibn-about__hero { padding: 60px 0 52px; }
  .ibn-about__hero-inner,
  .ibn-about__wrap,
  .ibn-about__wrap--wide { padding: 0 20px; }
  .ibn-about__section { padding: 56px 0; }
  .ibn-about__cover-row { grid-template-columns: 1fr; gap: 4px; }
  .ibn-about__std { grid-template-columns: 36px 1fr; gap: 0 12px; }
  .ibn-about__aside { grid-template-columns: 1fr; }
  .ibn-about__cta { padding: 56px 20px; }
}

/* â”€â”€ LEAD STORY CARD (first post in each style-1 section) â”€â”€â”€ */
.ibnews-enhanced .cm-featured-posts--style-1 .cm-first-post .cm-post {
  grid-column: span 1 !important;
}
.ibnews-enhanced .cm-featured-posts--style-1 .cm-first-post .cm-post > a:has(img) {
  aspect-ratio: 16 / 9 !important;
}
.ibnews-enhanced .cm-featured-posts--style-1 .cm-first-post .cm-post .cm-entry-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.38 !important;
  -webkit-line-clamp: 3 !important;
}
.ibnews-enhanced .cm-featured-posts--style-1 .cm-first-post .cm-post .cm-entry-summary {
  display: none !important;
}

/* â”€â”€ SECONDARY CARD HEADLINES â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ibnews-enhanced .cm-featured-posts--style-1 .cm-posts .cm-post .cm-entry-title {
  font-size: 16px !important;
  line-height: 1.38 !important;
}
.ibnews-enhanced .cm-featured-posts--style-2 .cm-post .cm-entry-title {
  font-size: 16px !important;
  line-height: 1.38 !important;
}

/* â”€â”€ CARD BORDER & HOVER â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post,
.ibnews-enhanced .cm-featured-posts--style-2 .cm-post {
  border: 1px solid #eaeff8 !important;
  box-shadow: 0 1px 3px rgba(15,30,61,.04) !important;
}
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post:hover,
.ibnews-enhanced .cm-featured-posts--style-2 .cm-post:hover {
  border-color: #c5d0e6 !important;
  box-shadow: 0 4px 20px rgba(15,30,61,.10) !important;
  transform: translateY(-3px) !important;
}/* === Cap category badges at 3 per card
   Overrides all inline-block !important rules above by appearing later
   and matching every featured-posts context. */
.ibnews-enhanced .cm-post-categories a:nth-child(n+4),
.ibnews-enhanced .cm-featured-posts--style-1 .cm-post-categories a:nth-child(n+4),
.ibnews-enhanced .cm-featured-posts--style-2 .cm-post-categories a:nth-child(n+4),
.ibnews-enhanced .cm-featured-posts .cm-post .cm-entry-header-meta .cm-post-categories a:nth-child(n+4),
.ibnews-enhanced .cm-featured-posts[data-ibn-cat] .cm-post .cm-entry-header-meta .cm-post-categories a:nth-child(n+4) {
  display: none !important;
}

/* ============================================================
   PREMIUM EDITORIAL POLISH v2 (appended last - wins cascade)
   Fixes the "basic/templated" feel: bold section headers,
   subtle category labels, stronger card type, hover life,
   consistent meta.
   ============================================================ */

/* ---- 1. Bold editorial section headers ---- */
.ibnews-enhanced .cm-featured-posts .cm-widget-title,
.ibnews-enhanced .cm-featured-posts h3.cm-widget-title {
  font-size: 21px !important;
  font-weight: 800 !important;
  letter-spacing: -.015em !important;
  text-transform: none !important;
  color: #0f1e3d !important;
  border-bottom: 2px solid #eef1f7 !important;
  padding: 0 0 15px !important;
  margin: 0 0 28px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
.ibnews-enhanced .cm-featured-posts .cm-widget-title::before {
  content: "" !important;
  width: 5px !important;
  min-width: 5px !important;
  height: 22px !important;
  border-radius: 3px !important;
  background: var(--ibn-primary) !important;
}
.ibnews-enhanced .ibn-view-all {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* ---- 2. Subtle category labels (kill the loud solid-blue pills) ---- */
.ibnews-enhanced .cm-featured-posts .cm-post .cm-entry-header-meta .cm-post-categories a,
.ibnews-enhanced .cm-featured-posts .cm-post.ib-img-dark .cm-entry-header-meta .cm-post-categories a,
.ibnews-enhanced .cm-featured-posts .cm-post.ib-img-light .cm-entry-header-meta .cm-post-categories a {
  background: #f1f4fa !important;
  color: #475569 !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  margin: 0 5px 5px 0 !important;
  display: inline-block !important;
}
/* First label gets the section accent colour as text on a tint */
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="dp"]    .cm-post .cm-entry-header-meta .cm-post-categories a:first-child { background:#eaf0fc !important; color:#1e40af !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="myp"]   .cm-post .cm-entry-header-meta .cm-post-categories a:first-child { background:#e7f3ee !important; color:#065f46 !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="pyp"]   .cm-post .cm-entry-header-meta .cm-post-categories a:first-child { background:#f6efe6 !important; color:#92400e !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="cp"]    .cm-post .cm-entry-header-meta .cm-post-categories a:first-child { background:#f1ebfb !important; color:#7c3aed !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="exams"] .cm-post .cm-entry-header-meta .cm-post-categories a:first-child { background:#f7efe4 !important; color:#b45309 !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="uni"]   .cm-post .cm-entry-header-meta .cm-post-categories a:first-child { background:#f1ebfb !important; color:#7c3aed !important; }
.ibnews-enhanced .cm-featured-posts[data-ibn-cat="news"]  .cm-post .cm-entry-header-meta .cm-post-categories a:first-child { background:#fbeaea !important; color:#dc2626 !important; }
/* Cap labels at 2 in small grid cards to keep them clean */
.ibnews-enhanced .cm-featured-posts .cm-post .cm-entry-header-meta .cm-post-categories a:nth-child(n+3) { display: none !important; }

/* ---- 3. Stronger card titles ---- */
.ibnews-enhanced .cm-featured-posts .cm-post .cm-entry-title,
.ibnews-enhanced .cm-featured-posts--style-1 .cm-posts .cm-post .cm-entry-title,
.ibnews-enhanced .cm-featured-posts--style-1 .cm-first-post .cm-post .cm-entry-title {
  font-size: 16.5px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: -.012em !important;
  margin: 2px 0 10px !important;
}
.ibnews-enhanced .cm-featured-posts .cm-post .cm-entry-title a { color: #0f1e3d !important; transition: color .18s !important; }
.ibnews-enhanced .cm-featured-posts .cm-post:hover .cm-entry-title a { color: var(--ibn-primary) !important; }

/* ---- 4. Card hover life: image zoom + lift ---- */
.ibnews-enhanced .cm-featured-posts .cm-post > a:has(img),
.ibnews-enhanced .cm-featured-posts .cm-post .post-thumbnail,
.ibnews-enhanced .cm-featured-posts .cm-post figure {
  overflow: hidden !important;
  border-radius: 10px !important;
}
.ibnews-enhanced .cm-featured-posts .cm-post img {
  transition: transform .55s cubic-bezier(.2,.7,.2,1) !important;
}
.ibnews-enhanced .cm-featured-posts .cm-post:hover img {
  transform: scale(1.055) !important;
}
.ibnews-enhanced .cm-featured-posts .cm-post {
  transition: transform .2s ease !important;
}
.ibnews-enhanced .cm-featured-posts .cm-post:hover {
  transform: translateY(-3px) !important;
}

/* ---- 5. Consistent, refined meta (date only on every card) ---- */
.ibnews-enhanced .cm-featured-posts .cm-below-entry-meta .cm-author,
.ibnews-enhanced .cm-featured-posts .cm-below-entry-meta .cm-vcard,
.ibnews-enhanced .cm-featured-posts .cm-below-entry-meta .cm-post-author,
.ibnews-enhanced .cm-featured-posts .cm-below-entry-meta .author,
.ibnews-enhanced .cm-featured-posts .cm-below-entry-meta .byline {
  display: none !important;
}
.ibnews-enhanced .cm-featured-posts .cm-below-entry-meta {
  font-size: 12px !important;
  color: #94a3b8 !important;
}
.ibnews-enhanced .cm-featured-posts .cm-below-entry-meta a { color: #94a3b8 !important; }

/* ---- 6. More breathing room between sections ---- */
.ibnews-enhanced .cm-featured-posts { margin-bottom: 64px !important; }


/* ============================================================
   ARCHIVE/CATEGORY/SEARCH CARDS — badges fill the row (no white gaps)
   Keeps all category badges, stretches them to cover the row width.
   ============================================================ */
.ibnews-enhanced.archive .cm-primary article .cm-entry-header-meta .cm-post-categories,
.ibnews-enhanced.search  .cm-primary article .cm-entry-header-meta .cm-post-categories {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 0 0 10px !important;
  width: 100% !important;
}
.ibnews-enhanced.archive .cm-primary article .cm-entry-header-meta .cm-post-categories a,
.ibnews-enhanced.search  .cm-primary article .cm-entry-header-meta .cm-post-categories a {
  flex: 1 1 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
/* Re-cap to 3 badges (the fill rule above out-specifies the global cap) */
.ibnews-enhanced.archive .cm-primary article .cm-entry-header-meta .cm-post-categories a:nth-child(n+4),
.ibnews-enhanced.search  .cm-primary article .cm-entry-header-meta .cm-post-categories a:nth-child(n+4) {
  display: none !important;
}

/* ============================================================
   COMPACT ARCHIVE/SEARCH CARDS — kill blank gaps, tighten spacing
   (spacing/alignment only; no style/colour changes)
   ============================================================ */
/* All cards in a row are the SAME height; body fills so content groups at top */
.ibnews-enhanced.archive .cm-primary .cm-posts,
.ibnews-enhanced.search  .cm-primary .cm-posts {
  align-items: stretch !important;
  gap: 22px !important;
}
.ibnews-enhanced.archive .cm-primary article,
.ibnews-enhanced.search  .cm-primary article {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.ibnews-enhanced.archive .cm-primary article .cm-post-content,
.ibnews-enhanced.search  .cm-primary article .cm-post-content {
  padding: 14px !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}
/* Tighter spacing between the grouped parts */
.ibnews-enhanced.archive .cm-primary article .cm-entry-header-meta,
.ibnews-enhanced.search  .cm-primary article .cm-entry-header-meta { margin: 0 0 8px !important; }
.ibnews-enhanced.archive .cm-primary article .cm-below-entry-meta,
.ibnews-enhanced.search  .cm-primary article .cm-below-entry-meta { margin: 0 0 8px !important; }
.ibnews-enhanced.archive .cm-primary article .cm-entry-header,
.ibnews-enhanced.search  .cm-primary article .cm-entry-header { margin: 0 !important; }
.ibnews-enhanced.archive .cm-primary article .cm-entry-summary,
.ibnews-enhanced.search  .cm-primary article .cm-entry-summary { margin: 8px 0 0 !important; }
/* Clamp title to 2 lines so card heights stay even */
.ibnews-enhanced.archive .cm-primary article .cm-entry-title,
.ibnews-enhanced.search  .cm-primary article .cm-entry-title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 0 !important;
}

/* ============================================================
   MULTI-BOARD SWITCHER (top bar dropdown)
   ============================================================ */
.ib-board-switch { position: relative; display: inline-flex; align-items: center; margin-right: 16px; z-index: 100001; }
.ib-board-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, #1e3a8a 0%, #4f46e5 100%);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff !important;
  font-size: 13px; font-weight: 600;
  padding: 9px 15px; border-radius: 9px; cursor: pointer;
  line-height: 1; letter-spacing: .01em;
  transition: box-shadow .2s var(--ibn-ease), transform .15s var(--ibn-ease), filter .2s;
  box-shadow: 0 4px 14px rgba(49,46,129,.28), inset 0 1px 0 rgba(255,255,255,.15);
}
.ib-board-btn::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%;
  background: #67e8f9; box-shadow: 0 0 0 3px rgba(103,232,249,.25); flex-shrink: 0;
}
.ib-board-btn:hover { transform: translateY(-1px); filter: brightness(1.07); box-shadow: 0 6px 20px rgba(49,46,129,.36), inset 0 1px 0 rgba(255,255,255,.18); }
.ib-board-btn .ib-board-label { opacity: .75; font-weight: 500; }
.ib-board-btn strong { font-weight: 800; letter-spacing: .02em; }
.ib-board-btn svg { transition: transform .2s; opacity: .85; }
.ib-board-switch.open .ib-board-btn svg { transform: rotate(180deg); }
.ib-board-menu {
  position: absolute; top: calc(100% + 7px); left: 0;
  min-width: 180px; margin: 0; padding: 6px; list-style: none;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 10px;
  box-shadow: 0 12px 34px rgba(15,23,42,.18);
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .16s, transform .16s, visibility .16s;
  z-index: 100002;
}
.ib-board-switch.open .ib-board-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.ib-board-menu li { margin: 0; }
.ib-board-menu a {
  display: block; padding: 9px 12px; border-radius: 7px;
  font-size: 13.5px; font-weight: 600; color: #0f1e3d !important;
  text-decoration: none; transition: background .14s, color .14s;
}
.ib-board-menu a:hover { background: #eef3ff; color: #1d4ed8 !important; }
.ib-board-menu a.is-active { background: #1e40af; color: #fff !important; }
@media (max-width: 991px) {
  .ib-board-switch { margin-right: 10px; }
  .ib-board-btn .ib-board-label { display: none; }
}