/*
 Theme Name:   customify-Child
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Customify Child Theme
 Author:       John Doe
 Author URI:   http://example.com
 Template:     customify
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  customifychild
*/
/*.body{
    display: none;
}*/
.tnp-subscription{
	margin:0 auto !important;
}

.tnp-subscription form{
	display:flex;
	justify-content:space-between;
	margin-bottom:0 !important;
}
.tnp-subscription .tnp-field label {
    display: none;
}
.tnp-subscription form input[type=email]{width:350px !important;border-radius:10px;}
.tnp-subscription form input.tnp-submit{background-color:#fff !important;color:#1C485D !important;}
.category .entry-thumbnail.has-thumb img{width: 500px;height: 300px;object-fit: contain;}
.site-header .customify-builder-social-icons.color-default a:hover {color: #25d366;}        
.eventSec .elementor-shortcode {display: flex; align-items: center;}
.eventSec .flex_title_blog {
	margin-top: 10px;
	overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.eventSec .elementor-shortcode .thefirst{width:50%;}
        .eventSec .elementor-shortcode .theother,
        .eventSec .elementor-shortcode .theother{width: 50%;}
        .eventSec .elementor-shortcode .theother .flex_main_blog {width: unset;display: flex;box-shadow: 3px 3px 10px 0 #00000070; border-radius: 20px;margin: 10px 15px;}
        .eventSec .elementor-shortcode .theother .flex_main_blog:nth-child(1){display: none;}
        .eventSec .flex_title_blog b {color: #002537;}
        .eventSec .elementor-shortcode .thefirst .flex_main_blog {width: unset; margin: 10px 0px; display: flex; box-shadow: 3px 3px 10px 0 #00000070; border-radius: 20px;}
        .eventSec .thefirst .flex_img_blog img {width: 1000px; height: 350px; object-fit: fill; margin-right: 30px;border-radius: 20px 0px 0px 20px;}
        .eventSec .theother .flex_img_blog img {margin-right: 0;
    border-radius: 20px 0px 0px 20px;
    min-width: 180px;
			height:170px;
	object-fit:fill;}
.thefirst .flex_details_blog,.theother .flex_details_blog{
    padding: 0px 15px;
	border: 2px solid #00F5FF;
    border-radius: 0 20px 20px 0;
    border-left: 0;
}
.theother .flex_img_blog{
	height:170px;
}
.theother .flex_description_blog p{
	font-size:14px;
	overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
        .eventSec .elementor-shortcode .thefirst .flex_img_blog {min-height: 100%;height: 350px;}
@media screen and (max-width:768px){
	.eventSec .elementor-shortcode .thefirst .flex_img_blog {
    min-height: 100%;
    height: 200px;
}
	.eventSec .thefirst .flex_img_blog img{height:200px;width: 100%;
    min-width: 180px;
    margin: 0;}
	.eventSec .elementor-shortcode .thefirst .flex_main_blog{margin: 0 0 35px 0;}
	.eventSec .elementor-shortcode .theother .flex_main_blog{margin: 0 0 35px 0;}
	.eventSec .elementor-shortcode{display:block;}
	.eventSec .elementor-shortcode .thefirst {
		width: 98%;margin:0 auto;}
		.eventSec .elementor-shortcode .theother {
    width: 98%;margin:0 auto;
}
}
@media screen and (max-width:575px){
	.eventSec .elementor-shortcode .thefirst{width:100%;}
	.eventSec .elementor-shortcode .thefirst .flex_main_blog {
    margin: 0;
}
	.eventSec .theother .flex_img_blog img,.eventSec .thefirst .flex_img_blog img{min-width: 140px;}
	.thefirst .flex_description_blog p {
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
	.tnp-subscription form{
	flex-direction:column;
	
}
	.tnp-subscription form input[type=email]{text-align:center;}
}
#site-navigation-main-desktop ul.primary-menu-ul li ul.sub-menu.sub-lv-1{
	top: 40px;
    left: 40%;
}
.builder-item--primary-menu .nav-menu-desktop .primary-menu-ul .menu-item-809{
	display:none;
}
#masthead-inner .customify-grid .row-v2-main .col-v2-right{
	justify-content: start;
	gap:20px;
}
.all_flex_main_blogs_pagination_wrapper{
	margin: 0 auto;
}

.all_flex_main_blogs_pagination_wrapper .pagination {
	display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}
.all_flex_main_blogs_pagination_wrapper .pagination span{
	background: #1C485D;
    padding: 10px;
    color: #fff;
    border-radius: 5px;
    line-height: 1;
}
.all_flex_main_blogs_pagination_wrapper .pagination a{
	color: #1C485D;   
}
	

/* ===========================================================================
   No-sidebar layout polish (added 2026-04-27)
   After bulk-removing the left sidebar from 25 pages, content sat in the full
   Customify container with no consistent width — looked uneven. These rules
   give .entry-content a comfortable centered max-width with symmetric padding
   on no-sidebar pages only. Homepage and pages that still use a sidebar are
   untouched.
   =========================================================================== */
body.no-sidebar #content,
body.main-layout-no-sidebar #content {
    padding-top: 32px;
    padding-bottom: 56px;
}

body.no-sidebar #primary,
body.main-layout-no-sidebar #primary {
    width: 100%;
    max-width: 100%;
    float: none;
    padding: 0;
}

body.no-sidebar .entry-content,
body.main-layout-no-sidebar .entry-content {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
}

/* Elementor sections built before sidebar removal were sized for ~70% column;
   let them claim the full container width but still respect symmetric gutters */
body.no-sidebar .entry-content > .elementor,
body.main-layout-no-sidebar .entry-content > .elementor {
    max-width: 100%;
}

/* Page title block on no-sidebar pages — center and constrain to match content */
body.no-sidebar .page-cover-inner,
body.main-layout-no-sidebar .page-cover-inner {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
}

/* Tighter gutters on small screens */
@media (max-width: 768px) {
    body.no-sidebar .entry-content,
    body.main-layout-no-sidebar .entry-content,
    body.no-sidebar .page-cover-inner,
    body.main-layout-no-sidebar .page-cover-inner {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* Keep the floating sticky CTA from overlapping the page edge / content footer */
@media (min-width: 1024px) {
    body.no-sidebar .entry-content,
    body.main-layout-no-sidebar .entry-content {
        padding-bottom: 48px;
    }
}

/* ===========================================================================
   Brand polish pass (added 2026-04-27)
   1. Color tokens — single source of truth for brand palette
   2. Typography refinement — sizing, line-height, letter-spacing
   3. Unified page title banner style
   4. Unified card components (events/blog/testimonials/projects)
   Scoped to body so it doesn't bleed into wp-admin or login pages.
   =========================================================================== */

:root {
    --mice-ink:        #0f2a38;   /* primary heading text */
    --mice-body:       #4a5b66;   /* body copy */
    --mice-muted:      #6b7a83;   /* secondary/meta text */
    --mice-brand:      #1C485D;   /* primary brand */
    --mice-brand-2:    #2d7390;   /* gradient pair */
    --mice-brand-deep: #143847;   /* hover darken */
    --mice-accent:     #f5c542;   /* attention/CTA highlight */
    --mice-line:       #e6ecf0;   /* card borders / hairlines */
    --mice-soft:       #f4f8fa;   /* section bg */
    --mice-shadow:     0 12px 30px rgba(28, 72, 93, .10);
    --mice-shadow-hi:  0 16px 40px rgba(28, 72, 93, .14);
    --mice-radius:     14px;
    --mice-radius-lg:  18px;
}

/* ---------- Typography pass (no-sidebar pages, scoped) ----------------- */
body.no-sidebar,
body.main-layout-no-sidebar {
    color: var(--mice-body);
    font-feature-settings: "kern" 1, "liga" 1;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
body.no-sidebar .entry-content h1,
body.no-sidebar .entry-content h2,
body.no-sidebar .entry-content h3,
body.no-sidebar .entry-content h4,
body.main-layout-no-sidebar .entry-content h1,
body.main-layout-no-sidebar .entry-content h2,
body.main-layout-no-sidebar .entry-content h3,
body.main-layout-no-sidebar .entry-content h4 {
    color: var(--mice-ink);
    line-height: 1.18;
    letter-spacing: -0.01em;
    margin-top: 1.4em;
    margin-bottom: 0.5em;
    font-weight: 700;
}
body.no-sidebar .entry-content h1,
body.main-layout-no-sidebar .entry-content h1 { font-size: clamp(30px, 4vw, 44px); }
body.no-sidebar .entry-content h2,
body.main-layout-no-sidebar .entry-content h2 { font-size: clamp(24px, 3vw, 32px); }
body.no-sidebar .entry-content h3,
body.main-layout-no-sidebar .entry-content h3 { font-size: clamp(19px, 2.2vw, 22px); }
body.no-sidebar .entry-content p,
body.main-layout-no-sidebar .entry-content p {
    font-size: 16.5px;
    line-height: 1.65;
    margin-bottom: 1.05em;
}
body.no-sidebar .entry-content a:not(.elementor-button):not(.mice-sticky-cta),
body.main-layout-no-sidebar .entry-content a:not(.elementor-button):not(.mice-sticky-cta) {
    color: var(--mice-brand);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color .2s ease;
}
body.no-sidebar .entry-content a:not(.elementor-button):not(.mice-sticky-cta):hover,
body.main-layout-no-sidebar .entry-content a:not(.elementor-button):not(.mice-sticky-cta):hover {
    color: var(--mice-brand-deep);
}

/* ---------- Page title banner refresh -------------------------------- */
.page-cover {
    background: linear-gradient(135deg, var(--mice-soft) 0%, #ffffff 100%);
    border-bottom: 1px solid var(--mice-line);
    padding: 56px 0 40px !important;
}
.page-cover .page-title,
.page-cover .entry-title {
    color: var(--mice-ink);
    font-size: clamp(30px, 4vw, 44px) !important;
    line-height: 1.15;
    letter-spacing: -0.015em;
    font-weight: 700;
    margin: 0 0 12px;
    position: relative;
    padding-top: 18px;
}
.page-cover .page-title::before,
.page-cover .entry-title::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 48px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--mice-brand), var(--mice-brand-2));
}
.page-cover .breadcrumb,
.page-cover .breadcrumbs {
    font-size: 13px;
    letter-spacing: .04em;
    color: var(--mice-muted);
}

/* ---------- Unified card style ---------------------------------------- */
/* Applies to: blog cards, event cards, project cards, news article cards */
.flex_main_blog,
.all_flex_main_blog,
.mice-projects__card {
    background: #fff;
    border: 1px solid var(--mice-line);
    border-radius: var(--mice-radius);
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(15, 42, 56, .03);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
    display: flex;
    flex-direction: column;
}
.flex_main_blog:hover,
.all_flex_main_blog:hover,
.mice-projects__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--mice-shadow-hi);
    border-color: #cfe0e8;
}
.flex_main_blog .flex_img_blog,
.all_flex_main_blog .flex_img_blog,
.mice-projects__thumb {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--mice-soft);
    display: block;
}
.flex_main_blog .flex_img_blog img,
.all_flex_main_blog .flex_img_blog img,
.mice-projects__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.flex_main_blog:hover .flex_img_blog img,
.all_flex_main_blog:hover .flex_img_blog img,
.mice-projects__card:hover .mice-projects__thumb img {
    transform: scale(1.04);
}
.flex_main_blog .flex_details_blog,
.all_flex_main_blog .flex_details_blog,
.mice-projects__body {
    padding: 18px 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}
.flex_main_blog .flex_title_blog b,
.all_flex_main_blog .flex_title_blog b,
.mice-projects__title {
    font-size: 17px;
    line-height: 1.35;
    color: var(--mice-ink);
    font-weight: 700;
    letter-spacing: -0.005em;
}
.flex_main_blog .datetime,
.all_flex_main_blog .datetime {
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--mice-muted);
    font-weight: 600;
}
.flex_main_blog .flex_read_blog a,
.all_flex_main_blog .flex_read_blog a,
.mice-projects__more {
    color: var(--mice-brand) !important;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none !important;
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.flex_main_blog .flex_read_blog a:hover,
.all_flex_main_blog .flex_read_blog a:hover,
.mice-projects__more:hover {
    color: var(--mice-brand-deep) !important;
}
.flex_main_blog .flex_read_blog a .fa,
.all_flex_main_blog .flex_read_blog a .fa {
    transition: transform .2s ease;
}
.flex_main_blog:hover .flex_read_blog a .fa,
.all_flex_main_blog:hover .flex_read_blog a .fa {
    transform: translateX(4px);
}

/* Testimonials (Smart Showcase plugin) — soften to match card system */
.sp-testimonial-item {
    background: #fff;
    border: 1px solid var(--mice-line);
    border-radius: var(--mice-radius);
    padding: 24px !important;
    box-shadow: 0 2px 4px rgba(15, 42, 56, .03);
}
.sp-testimonial-content {
    color: var(--mice-body);
    font-size: 15.5px;
    line-height: 1.6;
}
.sp-testimonial-client-name {
    color: var(--mice-ink) !important;
    font-weight: 700;
    letter-spacing: -0.005em;
}
.sp-testimonial-client-designation {
    color: var(--mice-muted) !important;
    font-size: 13px;
}

/* ---------- Color discipline overrides -------------------------------- */
/* Force inherited brand color on heading-y elements that previously used random teals */
.flex_title_blog,
.flex_title_blog b {
    color: var(--mice-ink);
}
.eventSec .flex_title_blog b { color: var(--mice-ink); }

/* Pagination on blog list */
.all_flex_main_blogs_pagination_wrapper .pagination a,
.all_flex_main_blogs_pagination_wrapper .pagination span.current {
    color: var(--mice-brand);
    border-color: var(--mice-line);
    border-radius: 8px;
    padding: 8px 14px;
    transition: background .2s ease, color .2s ease;
}
.all_flex_main_blogs_pagination_wrapper .pagination span.current,
.all_flex_main_blogs_pagination_wrapper .pagination a:hover {
    background: var(--mice-brand);
    color: #fff;
}

/* ---------- Buttons coherence ---------------------------------------- */
.elementor-button:not(.mice-sticky-cta) {
    border-radius: 999px !important;
    letter-spacing: .01em;
    font-weight: 600 !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}
.elementor-button:not(.mice-sticky-cta):hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(28, 72, 93, .22);
}

/* ===========================================================================
   Mobile overflow safety (added 2026-04-27)
   Many legacy pages have inline width:1024px / 1340px etc on tables, images,
   iframes, and Elementor sections. Force them to respect the viewport on
   small screens so pages stop horizontal-scrolling on mobile.
   =========================================================================== */
body.no-sidebar .entry-content img,
body.main-layout-no-sidebar .entry-content img,
body.no-sidebar .entry-content iframe,
body.main-layout-no-sidebar .entry-content iframe,
body.no-sidebar .entry-content video,
body.main-layout-no-sidebar .entry-content video {
    max-width: 100% !important;
    height: auto !important;
}

/* Tables: scroll inside their own container instead of breaking page */
body.no-sidebar .entry-content table,
body.main-layout-no-sidebar .entry-content table {
    max-width: 100% !important;
    width: 100% !important;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-collapse: collapse;
}

/* Stop hardcoded inline-width div/section overflow at mobile */
@media (max-width: 768px) {
    body.no-sidebar .entry-content [style*="width"],
    body.main-layout-no-sidebar .entry-content [style*="width"] {
        max-width: 100% !important;
    }
    /* Cap Elementor sections to viewport but DO NOT add extra padding here —
       .entry-content already provides 16px gutters; doubling them clips content. */
    body.no-sidebar .entry-content .elementor-section,
    body.main-layout-no-sidebar .entry-content .elementor-section,
    body.no-sidebar .entry-content .elementor-container,
    body.main-layout-no-sidebar .entry-content .elementor-container {
        max-width: 100% !important;
        box-sizing: border-box;
    }
    /* If a page is built mostly in Elementor, drop the entry-content padding
       so Elementor's own section padding isn't fighting our gutters. */
    body.no-sidebar .entry-content:has(> .elementor),
    body.main-layout-no-sidebar .entry-content:has(> .elementor) {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Belt-and-braces: prevent the whole site from horizontal-scrolling on mobile.
   Use overflow-x:clip on body (allows fixed positioning to escape) rather than
   hidden which can clip overlay-style elements like the sticky CTA. */
@media (max-width: 768px) {
    html { overflow-x: hidden; }
    body { overflow-x: clip; max-width: 100vw; }
}

/* ===========================================================================
   Long-word / URL break safety (added 2026-04-27)
   Pages like /brainbuddy/ embed raw URLs inside <h2>. Without word-breaking,
   the heading stretches to the URL's intrinsic width, forcing the whole
   section out of the viewport and clipping content.
   =========================================================================== */
body.no-sidebar .entry-content,
body.main-layout-no-sidebar .entry-content,
body.no-sidebar .entry-content h1,
body.no-sidebar .entry-content h2,
body.no-sidebar .entry-content h3,
body.no-sidebar .entry-content h4,
body.no-sidebar .entry-content p,
body.no-sidebar .entry-content a,
body.no-sidebar .entry-content li,
body.main-layout-no-sidebar .entry-content h1,
body.main-layout-no-sidebar .entry-content h2,
body.main-layout-no-sidebar .entry-content h3,
body.main-layout-no-sidebar .entry-content h4,
body.main-layout-no-sidebar .entry-content p,
body.main-layout-no-sidebar .entry-content a,
body.main-layout-no-sidebar .entry-content li {
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
}

/* Elementor heading widgets — same treatment */
body.no-sidebar .entry-content .elementor-heading-title,
body.main-layout-no-sidebar .entry-content .elementor-heading-title {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Defensive: every Elementor widget-container respects its parent width */
body.no-sidebar .entry-content .elementor-widget-container,
body.main-layout-no-sidebar .entry-content .elementor-widget-container {
    max-width: 100%;
    box-sizing: border-box;
}

/* =====================================================================
   === Header redesign (2026-05-02) ====================================
   Utility bar + cleaner main bar + primary-menu CTA + active states.
   Preserves Customify's existing nav DOM; CSS-only restyle.
   ===================================================================== */

/* --- Utility bar -------------------------------------------------- */
.mice-utilbar {
    background: #0f3a52;
    color: #d6e4ec;
    font-size: 13px;
    line-height: 1.4;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.mice-utilbar__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 8px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.mice-utilbar__tag {
    font-weight: 500;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: 11.5px;
    color: #9ec0d2;
}
.mice-utilbar__links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
}
.mice-utilbar__links li { white-space: nowrap; }
.mice-utilbar__links a {
    color: #d6e4ec;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color .18s ease;
    white-space: nowrap;
}
.mice-utilbar__links a:hover { color: #ffffff; }
.mice-utilbar__ico { color: #f0c244; font-size: 14px; line-height: 1; }
.mice-utilbar__ico--wa { color: #25d366; }
.mice-utilbar__email-text { display: inline; }

@media (max-width: 960px) {
    .mice-utilbar__inner { padding: 7px 12px; gap: 10px; flex-wrap: nowrap; }
    .mice-utilbar__tag { display: none; }
    .mice-utilbar__links {
        gap: 14px;
        font-size: 12.5px;
        width: 100%;
        justify-content: space-between;
        flex-wrap: nowrap;
    }
    .mice-utilbar__links a { gap: 5px; }
}
@media (max-width: 480px) {
    .mice-utilbar__inner { padding: 6px 10px; }
    .mice-utilbar__links { gap: 12px; font-size: 11.5px; }
    .mice-utilbar__email-text { display: none; }
}
@media (max-width: 360px) {
    .mice-utilbar__links { gap: 8px; font-size: 11px; }
}

/* Mobile header: align contents of right column to the right edge.
   Overrides earlier `#masthead-inner .customify-grid .row-v2-main .col-v2-right { justify-content: start }`. */
#masthead-inner .customify-grid.cb-row--mobile .row-v2-main .col-v2-right {
    justify-content: flex-end;
    text-align: right;
}
.site-header .cb-row--mobile .col-v2-right > .item--inner {
    display: inline-flex;
    align-items: center;
}
.site-header .cb-row--mobile .col-v2-right .menu-mobile-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
}

/* --- Main header polish ------------------------------------------- */
.site-header.header-v2 {
    background: #ffffff;
    box-shadow: 0 1px 0 rgba(15,58,82,.06);
    transition: box-shadow .25s ease, padding .25s ease;
}
.site-header.header-v2 .header-main-inner {
    padding-top: 6px;
    padding-bottom: 6px;
    transition: padding .25s ease;
}
.site-header.header-v2 .site-img-logo {
    max-height: 64px;
    width: auto;
    transition: max-height .25s ease;
}
/* Compact mode after scroll */
body.mice-header-compact .site-header.header-v2 {
    box-shadow: 0 6px 18px rgba(15,58,82,.08);
}
body.mice-header-compact .site-header.header-v2 .header-main-inner { padding-top: 2px; padding-bottom: 2px; }
body.mice-header-compact .site-header.header-v2 .site-img-logo { max-height: 48px; }

/* --- Kill ALL Customify pseudo-element underline indicators ------- */
/* Customify renders multiple competing indicators (background-color on <a>,
   ::before / ::after on .style-border-bottom AND .style-full-height, plus
   inline customizer CSS). Wipe them all on the primary nav so only our
   single underline below renders. */
.site-header .primary-menu .primary-menu-ul > li > a::before,
.site-header .primary-menu .primary-menu-ul > li > a::after,
.site-header .primary-menu.style-border-bottom .primary-menu-ul > li > a::before,
.site-header .primary-menu.style-border-bottom .primary-menu-ul > li > a::after,
.site-header .primary-menu.style-full-height .primary-menu-ul > li > a::before,
.site-header .primary-menu.style-full-height .primary-menu-ul > li > a::after,
.site-header .primary-menu .primary-menu-ul > li > a .link-before::before,
.site-header .primary-menu .primary-menu-ul > li > a .link-before::after,
header .site-header-inner .nav-menu-desktop.style-border-bottom .nav-menu > li > a .link-before::before,
header .site-header-inner .nav-menu-desktop.style-border-bottom .nav-menu > li > a .link-before::after {
    content: none !important;
    display: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.site-header .primary-menu .primary-menu-ul > li > a {
    background-color: transparent !important;
    box-shadow: none !important;
}

/* --- Primary nav typography & spacing ----------------------------- */
.nav-menu-desktop .primary-menu-ul {
    display: flex;
    align-items: center;
    gap: 2px;
}
.nav-menu-desktop .primary-menu-ul > li {
    position: relative;
}
.nav-menu-desktop .primary-menu-ul > li > a,
.builder-item--primary-menu .nav-menu-desktop .primary-menu-ul > li > a {
    font-family: inherit;
    font-weight: 600;
    font-size: 14.5px;
    letter-spacing: .01em;
    color: #1a2b3a;
    padding: 22px 16px !important;
    position: relative;
    transition: color .18s ease;
    text-transform: none;
}
.builder-item--primary-menu .nav-menu-desktop .primary-menu-ul > li {
    margin-left: 6px !important;
}
.site-header-inner .builder-item--primary-menu .nav-menu-desktop .primary-menu-ul .menu-item-809 {
    margin-left: 22px !important;
}
.nav-menu-desktop .primary-menu-ul > li > a .link-before { text-transform: none; }

.nav-menu-desktop .primary-menu-ul > li > a:hover,
.nav-menu-desktop .primary-menu-ul > li:hover > a,
.nav-menu-desktop .primary-menu-ul > li.current-menu-item > a,
.nav-menu-desktop .primary-menu-ul > li.current-menu-ancestor > a,
.nav-menu-desktop .primary-menu-ul > li.current-menu-parent > a {
    color: #c3512f;
}
/* Single underline indicator (after the kill-switch above re-enables ::after) */
.site-header .nav-menu-desktop .primary-menu-ul > li:not(.mice-menu-cta) > a::after {
    content: "" !important;
    display: block !important;
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 14px;
    height: 2px;
    background: #c3512f !important;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .22s ease;
    border-radius: 2px;
    box-shadow: none !important;
    border: 0 !important;
}
.site-header .nav-menu-desktop .primary-menu-ul > li:not(.mice-menu-cta):hover > a::after,
.site-header .nav-menu-desktop .primary-menu-ul > li.current-menu-item:not(.mice-menu-cta) > a::after,
.site-header .nav-menu-desktop .primary-menu-ul > li.current-menu-ancestor:not(.mice-menu-cta) > a::after,
.site-header .nav-menu-desktop .primary-menu-ul > li.current-menu-parent:not(.mice-menu-cta) > a::after {
    transform: scaleX(1);
}

/* Caret cleanup */
.nav-menu-desktop .primary-menu-ul .nav-icon-angle {
    margin-left: 4px;
    display: inline-block;
    vertical-align: middle;
}
.nav-menu-desktop .primary-menu-ul .nav-icon-angle::before {
    border-color: currentColor !important;
    opacity: .55;
    width: 6px; height: 6px;
}

/* --- Dropdown panel (refined for new IA) -------------------------- */
.nav-menu-desktop .primary-menu-ul .sub-menu {
    background: #ffffff;
    border: 1px solid rgba(15,58,82,.08);
    border-radius: 12px;
    box-shadow: 0 22px 48px rgba(15,58,82,.14), 0 6px 14px rgba(15,58,82,.06);
    padding: 10px;
    min-width: 280px;
    margin-top: 0;
    overflow: hidden;
}
.nav-menu-desktop .primary-menu-ul .sub-menu li {
    border: none !important;
    background: transparent !important;
}
.nav-menu-desktop .primary-menu-ul .sub-menu li a {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    font-size: 14px;
    font-weight: 600;
    color: #1a2b3a;
    padding: 10px 14px;
    border-radius: 8px;
    line-height: 1.35;
    transition: background .15s ease, color .15s ease;
}
.nav-menu-desktop .primary-menu-ul .sub-menu li a::before,
.nav-menu-desktop .primary-menu-ul .sub-menu li a::after {
    display: none !important;
    content: none !important;
}
.nav-menu-desktop .primary-menu-ul .sub-menu li a:hover,
.nav-menu-desktop .primary-menu-ul .sub-menu li.current-menu-item > a {
    background: #fdf3ed;
    color: #c3512f;
}

/* Featured sub-items — subtle elevation */
.nav-menu-desktop .primary-menu-ul .sub-menu li.mice-sub-featured a {
    background: #fafbfc;
}
.nav-menu-desktop .primary-menu-ul .sub-menu li.mice-sub-featured a:hover {
    background: #fdf3ed;
}

/* Hint line under each item */
.mice-sub-hint {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: #6c7a87;
    letter-spacing: 0;
    margin-top: 1px;
}
.nav-menu-desktop .primary-menu-ul .sub-menu li a:hover .mice-sub-hint,
.nav-menu-desktop .primary-menu-ul .sub-menu li.current-menu-item > a .mice-sub-hint {
    color: #b07355;
}

/* Wider 2-col panel for "Projects" (3rd top item) */
.nav-menu-desktop .primary-menu-ul > li:nth-child(3) > .sub-menu {
    min-width: 580px;
    columns: 2;
    column-gap: 10px;
}
.nav-menu-desktop .primary-menu-ul > li:nth-child(3) > .sub-menu li {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
}
.nav-menu-desktop .primary-menu-ul > li:nth-child(3) > .sub-menu li:last-child a {
    color: #c3512f;
    border-top: 1px dashed rgba(195,81,47,.3) !important;
    border-radius: 0;
    margin-top: 6px;
    padding-top: 12px;
}

/* "For Innovators" lane — slightly emphasized */
.nav-menu-desktop .primary-menu-ul > li:nth-child(5) > a {
    color: #1C485D;
}

/* --- Hide the lone WhatsApp pill in the main bar (now in utilbar) - */
.site-header .header-main-inner .builder-item--social-icons { display: none !important; }

/* --- "Suggest an Idea" CTA injected into desktop menu ------------- */
.nav-menu-desktop .primary-menu-ul > li.mice-menu-cta {
    margin-left: 10px;
    display: flex;
    align-items: center;
}
.nav-menu-desktop .primary-menu-ul > li.mice-menu-cta > a.mice-menu-cta__a {
    background: #c3512f;
    color: #ffffff !important;
    padding: 9px 18px !important;
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: .02em;
    box-shadow: 0 6px 14px rgba(195,81,47,.28);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.nav-menu-desktop .primary-menu-ul > li.mice-menu-cta > a.mice-menu-cta__a:hover {
    background: #a8431f;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(195,81,47,.36);
    color: #ffffff !important;
}
.nav-menu-desktop .primary-menu-ul > li.mice-menu-cta > a.mice-menu-cta__a::after { display: none !important; }

/* --- Mobile menu polish ------------------------------------------ */
.menu-mobile-toggle .hamburger-inner,
.menu-mobile-toggle .hamburger-inner::before,
.menu-mobile-toggle .hamburger-inner::after {
    background-color: #1a2b3a !important;
    height: 2px;
    border-radius: 2px;
}
.nav-icon--label { font-weight: 600; color: #1a2b3a; letter-spacing: .03em; }

#header-menu-sidebar.menu-sidebar-panel {
    background: #0f3a52;
}
.primary-menu-mobile .primary-menu-ul li a {
    font-size: 15.5px;
    font-weight: 500;
    padding: 14px 22px;
    color: #e7eef3;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.primary-menu-mobile .primary-menu-ul li a:hover,
.primary-menu-mobile .primary-menu-ul li.current-menu-item > a {
    color: #f0c244;
    background: rgba(255,255,255,.04);
}
.primary-menu-mobile .primary-menu-ul .sub-menu {
    background: rgba(0,0,0,.18);
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    border-top: 1px solid rgba(255,255,255,.06);
}
.primary-menu-mobile .primary-menu-ul .sub-menu li a {
    font-size: 14px;
    padding-left: 38px;
    color: #cdd9e1;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}
.primary-menu-mobile .primary-menu-ul .sub-menu li a .mice-sub-hint {
    color: #8aa0ad;
    font-size: 11.5px;
}
/* CTA pill in mobile sidebar — full-width pinned visual */
.primary-menu-mobile .primary-menu-ul > li.mice-menu-cta {
    margin-top: 18px;
    padding: 0 16px;
}
.primary-menu-mobile .primary-menu-ul > li.mice-menu-cta > a {
    background: #c3512f;
    color: #fff !important;
    border-radius: 999px;
    text-align: center;
    border: none;
    font-weight: 700;
    padding: 14px 22px;
    justify-content: center;
}
.primary-menu-mobile .primary-menu-ul > li.mice-menu-cta > a:hover {
    background: #a8431f;
    color: #fff !important;
}

/* Hide the floating sticky CTA when header CTA is visible above fold —
   avoids two competing CTAs stacked on top of each other on desktop. */
@media (min-width: 1025px) {
    body:not(.mice-header-compact) .mice-sticky-cta { opacity: 0; pointer-events: none; transition: opacity .25s ease; }
    body.mice-header-compact .mice-sticky-cta { opacity: 1; pointer-events: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .site-header.header-v2,
    .site-header.header-v2 .header-main-inner,
    .site-header.header-v2 .site-img-logo,
    .nav-menu-desktop .primary-menu-ul > li.mice-menu-cta > a.mice-menu-cta__a {
        transition: none !important;
    }
}
