/* Tambe Institute of Buea — brand layer over Elementor/UAE/EA */
:root{
  --crimson-400:#d9454f;--crimson-500:#c2202e;--crimson-600:#a81f25;--crimson-700:#8d1a1d;--crimson-800:#6b1316;
  --green-700:#075b46;--green-800:#054a39;--navy-700:#16263f;--navy-900:#0b1626;
  --neutral-100:#f4f6f8;--neutral-150:#edeff2;--neutral-200:#e2e6eb;--neutral-500:#6e7681;--neutral-700:#3d434c;--neutral-900:#1a1d21;
  --gold-500:#c79a2e;
  --font-serif:'Lora',Georgia,serif;--font-sans:'DM Sans',system-ui,sans-serif;--font-brand:'Poppins',sans-serif;
  --shadow-card:0 6px 22px rgba(20,35,63,.08);--shadow-md:0 4px 14px rgba(16,24,40,.08);--shadow-lg:0 14px 32px rgba(16,24,40,.12);
}
body{font-family:var(--font-sans);color:var(--neutral-700);}
h1,h2,h3,h4,h5,h6,.tib-serif{font-family:var(--font-serif);color:var(--navy-700);}

/* Eyebrow kicker */
.tib-eyebrow,.tib-eyebrow .elementor-heading-title{font-family:var(--font-brand)!important;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:13px;}
.tib-eyebrow .elementor-heading-title::before,.tib-eyebrow.has-dot .elementor-heading-title::before{}

/* ---------- UAE Navigation menu ---------- */
.hfe-nav-menu .menu-item a.hfe-menu-item,.hfe-nav-menu .menu-item .sub-menu a.hfe-sub-menu-item{font-family:var(--font-sans);font-weight:600;font-size:14px;color:var(--navy-700);padding:10px 16px;border-radius:4px;transition:all .2s ease;}
.hfe-nav-menu .menu-item a.hfe-menu-item:hover{color:#fff;background:var(--crimson-700);}
.hfe-nav-menu .menu-item.current-menu-item a.hfe-menu-item,.hfe-nav-menu .menu-item.current-page-ancestor a.hfe-menu-item{color:#fff;background:var(--crimson-700);}

/* ---------- Buttons ---------- */
.elementor-button{font-family:var(--font-sans);font-weight:600;border-radius:4px;transition:all .2s ease;letter-spacing:.01em;}
.elementor-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(141,26,29,.26);}
.elementor-button .elementor-button-icon{margin-left:8px;}
.tib-btn-secondary .elementor-button{background:var(--green-700);}
.tib-btn-secondary .elementor-button:hover{background:var(--green-800);}
.tib-btn-inverse .elementor-button{background:transparent;border:1.5px solid rgba(255,255,255,.85);color:#fff;}
.tib-btn-inverse .elementor-button:hover{background:var(--crimson-700);border-color:var(--crimson-700);}
.tib-btn-ghost .elementor-button{background:transparent;color:var(--crimson-700);padding-left:0;padding-right:0;}
.tib-btn-ghost .elementor-button:hover{transform:none;box-shadow:none;color:var(--crimson-800);}

/* ---------- Hero ---------- */
.tib-hero{border-bottom:5px solid var(--crimson-700);}
.tib-hero .tib-hero-title{color:#fff;}
.tib-hero .tib-dot,.tib-crimson-dot{color:var(--crimson-400);}

/* ---------- Announcement bar ---------- */
.tib-badge .elementor-heading-title{background:rgba(255,255,255,.18);padding:4px 12px;border-radius:2px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-family:var(--font-brand);display:inline-block;}

/* ---------- Cards ---------- */
.tib-card{background:#fff;border:1px solid var(--neutral-200);border-radius:4px;box-shadow:var(--shadow-card);transition:all .25s ease;overflow:hidden;}
.tib-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.tib-faculty-card{border-bottom:3px solid var(--crimson-700);}
.tib-news-card .tib-news-cat .elementor-heading-title{position:absolute;top:12px;left:12px;background:var(--crimson-700);color:#fff;font-family:var(--font-brand);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:5px 10px;border-radius:2px;}
.tib-program{border-bottom:1px solid var(--neutral-200);padding:14px 0;display:flex;align-items:center;gap:10px;}
.tib-program .elementor-icon-list-text{color:var(--neutral-700);font-weight:500;}

/* Feature list */
.tib-features .elementor-icon-list-item{padding:12px 0;border-bottom:1px solid var(--neutral-200);}
.tib-features .elementor-icon-list-icon i{color:var(--crimson-700);}

/* ---------- Footer ---------- */
.tib-footer{background:var(--crimson-700);color:#fff;}
.tib-footer a{color:rgba(255,255,255,.74);text-decoration:none;transition:color .2s;}
.tib-footer a:hover{color:#fff;}
.tib-footer h5,.tib-footer h4{color:#fff;font-family:var(--font-serif);}
.tib-footer .elementor-social-icon{background:transparent!important;border:1px solid rgba(255,255,255,.35);border-radius:50%;width:38px;height:38px;}
.tib-footer .elementor-social-icon:hover{background:rgba(255,255,255,.15)!important;}

/* ---------- EA Filterable gallery / filter tabs ---------- */
.eael-filter-gallery-control ul li a,.eael-filter-gallery-control li{font-family:var(--font-sans);font-weight:600;}
.eael-filter-gallery-control li a{color:var(--navy-700);border-radius:4px;padding:8px 18px;border:1px solid var(--neutral-200);transition:all .2s;}
.eael-filter-gallery-control li a.active,.eael-filter-gallery-control li a:hover{background:var(--crimson-700);color:#fff;border-color:var(--crimson-700);}
.eael-filterable-gallery-item-wrap .gallery-item-caption-wrap{background:rgba(11,22,38,.78);}

/* utility */
.tib-section-subtle{background:var(--neutral-100);}
.tib-divider-top{border-top:1px solid rgba(255,255,255,.18);}

/* Sticky header */
header#masthead,.ehf-header{position:-webkit-sticky;position:sticky;top:0;z-index:99;box-shadow:0 1px 3px rgba(16,24,40,.08),0 1px 2px rgba(16,24,40,.04);}
.ehf-header .elementor-button{box-shadow:none;}
.ehf-header .elementor-button:hover{box-shadow:0 6px 16px rgba(141,26,29,.28);}

/* Footer hover (inline-styled markup) */
.tib-footer-inner a:hover{color:#fff!important;}
.tib-footer-inner a[href='#'][style*='border-radius:50%']:hover{background:rgba(255,255,255,.15);}

/* ===== Layout grids (apply to container or its inner wrapper) ===== */
.tib-grid-news,.tib-grid-news>.e-con-inner{display:grid!important;grid-template-columns:1.4fr 1fr 1fr;gap:24px;}
.tib-grid-3,.tib-grid-3>.e-con-inner{display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px;}
.tib-grid-4,.tib-grid-4>.e-con-inner{display:grid!important;grid-template-columns:repeat(4,1fr);gap:28px;}
.tib-split,.tib-split>.e-con-inner{display:grid!important;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.tib-prog-grid,.tib-prog-grid>.e-con-inner{display:grid!important;grid-template-columns:repeat(3,1fr);column-gap:32px;}
@media(max-width:1024px){.tib-grid-news,.tib-grid-news>.e-con-inner,.tib-grid-3,.tib-grid-3>.e-con-inner,.tib-grid-4,.tib-grid-4>.e-con-inner,.tib-split,.tib-split>.e-con-inner,.tib-prog-grid,.tib-prog-grid>.e-con-inner{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:640px){.tib-grid-news,.tib-grid-news>.e-con-inner,.tib-grid-3,.tib-grid-3>.e-con-inner,.tib-grid-4,.tib-grid-4>.e-con-inner,.tib-split,.tib-split>.e-con-inner,.tib-prog-grid,.tib-prog-grid>.e-con-inner{grid-template-columns:1fr!important;}}

/* ===== News card (HTML-driven) ===== */
.tib-ncard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--neutral-200);border-radius:4px;box-shadow:var(--shadow-card);overflow:hidden;transition:all .25s ease;height:100%;}
.tib-ncard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.tib-ncard .media{position:relative;min-height:200px;background-size:cover;background-position:center;}
.tib-ncard.lg .media{min-height:280px;}
.tib-ncard .cat{position:absolute;top:12px;left:12px;background:var(--crimson-700);color:#fff;font-family:var(--font-brand);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:5px 10px;border-radius:2px;}
.tib-ncard .body{padding:20px;display:flex;flex-direction:column;gap:9px;flex:1;}
.tib-ncard .meta{color:var(--neutral-500);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-brand);}
.tib-ncard h3{font-family:var(--font-serif);color:var(--navy-700);font-size:19px;line-height:1.3;margin:0;}
.tib-ncard.lg h3{font-size:24px;}
.tib-ncard p{color:var(--neutral-700);font-size:14.5px;line-height:1.6;margin:0;}
.tib-ncard .more{margin-top:auto;color:var(--crimson-700);font-weight:600;font-size:14px;text-decoration:none;}
.tib-ncard .more:hover{color:var(--crimson-800);}

/* ===== Programme row ===== */
.tib-program{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--neutral-200);color:var(--neutral-700);font-weight:500;font-size:15px;}
.tib-program svg{color:var(--crimson-700);flex:none;}
.tib-subhead{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-family:var(--font-serif);color:var(--navy-700);font-size:20px;}
.tib-subhead svg{color:var(--crimson-700);}

/* ===== Feature list ===== */
.tib-feature{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid var(--neutral-200);color:var(--neutral-700);}
.tib-feature svg{color:var(--crimson-700);flex:none;margin-top:2px;}
.tib-feature.em{font-weight:700;color:var(--navy-700);}

/* ===== Faculty card ===== */
.tib-fcard{background:#fff;border:1px solid var(--neutral-200);border-bottom:3px solid var(--crimson-700);border-radius:4px;box-shadow:var(--shadow-card);overflow:hidden;transition:all .25s ease;height:100%;display:flex;flex-direction:column;}
.tib-fcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.tib-fcard .media{min-height:170px;background-size:cover;background-position:center;}
.tib-fcard .body{padding:22px;display:flex;flex-direction:column;gap:10px;}
.tib-fcard .ic{width:44px;height:44px;border-radius:50%;background:var(--crimson-700);color:#fff;display:flex;align-items:center;justify-content:center;margin-top:-44px;position:relative;border:3px solid #fff;}
.tib-fcard h3{font-family:var(--font-serif);color:var(--navy-700);font-size:20px;margin:0;}
.tib-fcard .dean{color:var(--neutral-500);font-size:13px;font-weight:600;font-family:var(--font-brand);text-transform:uppercase;letter-spacing:.04em;}
.tib-fcard p{color:var(--neutral-700);font-size:14.5px;line-height:1.6;margin:0;}

/* ===== Section heading + eyebrow dot ===== */
.tib-sh-desc .elementor-widget-container{color:var(--neutral-700);}
.tib-hero-sub .elementor-widget-container{color:rgba(255,255,255,.85);}

/* ===== CTA band ===== */
.tib-cta-overlay{position:relative;}

/* ===== Contact form (CF7) ===== */
.tib-form .wpcf7 label{display:block;font-weight:600;color:var(--navy-700);font-size:14px;margin-bottom:6px;}
.tib-form .wpcf7-form-control:not(.wpcf7-submit){width:100%;border:1px solid var(--neutral-300);border-radius:4px;padding:12px 14px;font-family:var(--font-sans);font-size:15px;color:var(--neutral-700);background:#fff;transition:border .2s,box-shadow .2s;}
.tib-form .wpcf7-form-control:not(.wpcf7-submit):focus{outline:none;border-color:var(--crimson-700);box-shadow:0 0 0 3px rgba(194,32,46,.18);}
.tib-form textarea{min-height:140px;}
.tib-form .wpcf7 p{margin:0 0 16px;}
.tib-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:640px){.tib-form-grid{grid-template-columns:1fr;}}
.tib-form .wpcf7-submit{background:var(--crimson-700);color:#fff;border:none;border-radius:4px;padding:14px 28px;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s;font-family:var(--font-sans);}
.tib-form .wpcf7-submit:hover{background:var(--crimson-800);transform:translateY(-1px);box-shadow:0 10px 24px rgba(141,26,29,.26);}
/* ===== Contact info ===== */
.tib-cinfo{display:flex;flex-direction:column;gap:22px;}
.tib-cinfo .row{display:flex;gap:14px;align-items:flex-start;}
.tib-cinfo .ic{width:44px;height:44px;border-radius:50%;background:var(--crimson-700);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;}
.tib-cinfo .lbl{font-family:var(--font-brand);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--neutral-500);}
.tib-cinfo .val{color:var(--navy-700);font-weight:500;font-size:16px;margin-top:2px;}
/* ===== Timeline ===== */
.tib-timeline{position:relative;padding-left:28px;border-left:2px solid var(--neutral-200);display:flex;flex-direction:column;gap:30px;}
.tib-timeline .tl-item{position:relative;}
.tib-timeline .tl-item::before{content:'';position:absolute;left:-35px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--crimson-700);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--crimson-700);}
.tib-timeline .yr{font-family:var(--font-brand);font-weight:700;color:var(--crimson-700);font-size:14px;letter-spacing:.04em;}
.tib-timeline h4{margin:4px 0 4px;font-family:var(--font-serif);color:var(--navy-700);font-size:20px;}
.tib-timeline p{margin:0;color:var(--neutral-700);font-size:15px;line-height:1.6;}
/* ===== Vision / Mission ===== */
.tib-vm{background:#fff;border:1px solid var(--neutral-200);border-radius:4px;padding:32px;box-shadow:var(--shadow-card);border-top:3px solid var(--crimson-700);height:100%;}
.tib-vm .ic{width:48px;height:48px;border-radius:50%;background:var(--green-700);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.tib-vm h3{font-family:var(--font-serif);color:var(--navy-700);font-size:24px;margin:0 0 10px;}
.tib-vm p{color:var(--neutral-700);line-height:1.7;margin:0;}
.tib-fcard.no-media .media{display:none;}

/* ===== Cascadia Code (real --font-mono, uploaded from design package) ===== */
@font-face{font-family:'Cascadia Code';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/CascadiaCode-Regular.ttf') format('truetype');}
@font-face{font-family:'Cascadia Code';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/CascadiaCode-Italic.ttf') format('truetype');}
@font-face{font-family:'Cascadia Code';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/CascadiaCode-SemiBold.ttf') format('truetype');}
@font-face{font-family:'Cascadia Code';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/CascadiaCode-Bold.ttf') format('truetype');}
:root{--font-mono:'Cascadia Code',ui-monospace,'SF Mono',Menlo,monospace;}
code,kbd,pre,samp,.tib-mono{font-family:var(--font-mono);}

/* ===== Fluid scroll-reveal (JS adds .tib-anim-ready + .tib-in) ===== */
@media (prefers-reduced-motion: no-preference){
  html{scroll-behavior:smooth;}
  body.tib-anim-ready [data-elementor-type="wp-page"] > .e-con.e-parent{opacity:0;transform:translateY(34px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);}
  body.tib-anim-ready [data-elementor-type="wp-page"] .e-con.e-parent.tib-in{opacity:1!important;transform:none!important;}
  @keyframes tibFadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  body.tib-anim-ready .tib-in .tib-ncard,body.tib-anim-ready .tib-in .tib-fcard,body.tib-anim-ready .tib-in .tib-program,body.tib-anim-ready .tib-in .tib-feature,body.tib-anim-ready .tib-in .tib-vm{animation:tibFadeUp .6s cubic-bezier(.16,1,.3,1) both;}
  body.tib-anim-ready .tib-in .tib-grid-news>:nth-child(2),body.tib-anim-ready .tib-in .tib-grid-3>:nth-child(2),body.tib-anim-ready .tib-in .tib-grid-4>:nth-child(2){animation-delay:.07s}
  body.tib-anim-ready .tib-in .tib-grid-news>:nth-child(3),body.tib-anim-ready .tib-in .tib-grid-3>:nth-child(3){animation-delay:.14s}
  body.tib-anim-ready .tib-in .tib-grid-3>:nth-child(4){animation-delay:.21s}
  body.tib-anim-ready .tib-in .tib-grid-3>:nth-child(5){animation-delay:.28s}
  body.tib-anim-ready .tib-in .tib-grid-3>:nth-child(6){animation-delay:.35s}
}
/* Header brand hover + nav polish */
.ehf-header .hfe-nav-menu .menu-item a.hfe-menu-item{position:relative;}

/* ===== Polish pass (Uneza-grade finish) ===== */
[data-elementor-type="wp-page"] .tib-hero{min-height:clamp(460px,64vh,660px);display:flex;align-items:center;}
[data-elementor-type="wp-page"] .tib-hero > .e-con-inner{width:100%;}
/* News card image zoom under the badge */
.tib-ncard .media{position:relative;overflow:hidden;}
.tib-ncard .media::before{content:"";position:absolute;inset:0;background-image:inherit;background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.16,1,.3,1);z-index:0;}
.tib-ncard .media .cat{z-index:2;}
.tib-ncard:hover .media::before{transform:scale(1.06);}
.tib-ncard .body{position:relative;z-index:1;}
.tib-ncard .more{transition:color .2s ease,letter-spacing .2s ease;}
.tib-ncard:hover .more{color:var(--crimson-800);letter-spacing:.01em;}
/* Faculty card image zoom */
.tib-fcard .media{position:relative;overflow:hidden;}
.tib-fcard .media::before{content:"";position:absolute;inset:0;background-image:inherit;background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.16,1,.3,1);}
.tib-fcard:hover .media::before{transform:scale(1.06);}
/* Programme row interaction */
.tib-program{transition:color .2s ease,padding-left .2s ease;}
.tib-program:hover{color:var(--crimson-700);padding-left:4px;}
.tib-program svg{transition:transform .2s ease;}
.tib-program:hover svg{transform:translateX(3px);}
/* Button arrow nudge */
.elementor-button .elementor-button-icon{transition:transform .2s ease;}
.elementor-button:hover .elementor-button-icon{transform:translateX(4px);}
/* Section heading rhythm + serif tightening */
[data-elementor-type="wp-page"] h1,[data-elementor-type="wp-page"] h2{letter-spacing:-0.01em;}
.tib-sh-desc .elementor-widget-container{font-size:16.5px;line-height:1.7;color:var(--neutral-700);}
/* Announcement bar subtle */
/* Filter tabs spacing */
.eael-filter-gallery-control{margin-bottom:8px;}
.eael-filterable-gallery-item-wrap{transition:transform .3s ease;}
/* Footer link nudge */
.tib-footer-inner ul a{transition:color .2s ease,padding-left .2s ease;}
.tib-footer-inner ul a:hover{padding-left:3px;}

/* ===== School blocks (home academics) ===== */
.tib-school{background:#fff;border:1px solid var(--neutral-200);border-radius:4px;padding:24px;box-shadow:var(--shadow-card);border-top:3px solid var(--crimson-700);height:100%;}
.tib-school-h{display:flex;align-items:center;gap:10px;font-family:var(--font-serif);color:var(--navy-700);font-size:18px;margin-bottom:14px;line-height:1.25;}
.tib-school-h svg{color:var(--crimson-700);flex:none;}
.tib-school ul{list-style:none;margin:0;padding:0;}
.tib-school li{padding:7px 0;border-bottom:1px solid var(--neutral-150);color:var(--neutral-700);font-size:14px;display:flex;align-items:center;gap:9px;}
.tib-school li:last-child{border-bottom:none;}
.tib-school li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--crimson-500);flex:none;}

/* ===== Primary nav: active/clicked item = white text on maroon ===== */
.ehf-header .hfe-nav-menu .menu-item.current-menu-item > a.hfe-menu-item,
.ehf-header .hfe-nav-menu .menu-item.current-menu-ancestor > a.hfe-menu-item,
.ehf-header .hfe-nav-menu .menu-item.current_page_item > a.hfe-menu-item,
.ehf-header .hfe-nav-menu .menu-item.current-menu-parent > a.hfe-menu-item,
.ehf-header .hfe-nav-menu .menu-item > a.hfe-menu-item:hover,
.ehf-header .hfe-nav-menu .menu-item > a.hfe-menu-item:focus{background-color:var(--crimson-700)!important;color:#ffffff!important;border-radius:4px;}
.ehf-header .hfe-nav-menu .menu-item.current-menu-item > a.hfe-menu-item *,
.ehf-header .hfe-nav-menu .menu-item.current-menu-ancestor > a.hfe-menu-item *,
.ehf-header .hfe-nav-menu .menu-item.current_page_item > a.hfe-menu-item *,
.ehf-header .hfe-nav-menu .menu-item > a.hfe-menu-item:hover *,
.ehf-header .hfe-nav-menu .menu-item > a.hfe-menu-item:focus *{color:#ffffff!important;fill:#ffffff!important;}

/* =====================================================================
   REFINEMENT PASS (overrides earlier rules) — nav underline, buttons, cards
   ===================================================================== */
/* Primary nav: NO filled box. Maroon text + sliding underline on hover/active. */
.ehf-header .hfe-nav-menu .menu-item a.hfe-menu-item{position:relative!important;background:transparent!important;background-color:transparent!important;color:var(--navy-700)!important;border-color:transparent!important;box-shadow:none!important;transition:color .25s ease!important;}
.ehf-header .hfe-nav-menu .menu-item a.hfe-menu-item::after{content:"";position:absolute;left:16px;right:16px;bottom:6px;height:2px;border-radius:2px;background:var(--crimson-700);transform:scaleX(0);transform-origin:left center;transition:transform .3s cubic-bezier(.16,1,.3,1);}
.ehf-header .hfe-nav-menu .menu-item a.hfe-menu-item:hover,
.ehf-header .hfe-nav-menu .menu-item a.hfe-menu-item:focus,
.ehf-header .hfe-nav-menu .menu-item.current-menu-item > a.hfe-menu-item,
.ehf-header .hfe-nav-menu .menu-item.current-menu-ancestor > a.hfe-menu-item,
.ehf-header .hfe-nav-menu .menu-item.current_page_item > a.hfe-menu-item,
.ehf-header .hfe-nav-menu .menu-item.current-menu-parent > a.hfe-menu-item{background:transparent!important;background-color:transparent!important;color:var(--crimson-700)!important;}
.ehf-header .hfe-nav-menu .menu-item a.hfe-menu-item:hover::after,
.ehf-header .hfe-nav-menu .menu-item a.hfe-menu-item:focus::after,
.ehf-header .hfe-nav-menu .menu-item.current-menu-item > a.hfe-menu-item::after,
.ehf-header .hfe-nav-menu .menu-item.current-menu-ancestor > a.hfe-menu-item::after,
.ehf-header .hfe-nav-menu .menu-item.current_page_item > a.hfe-menu-item::after{transform:scaleX(1);}
.ehf-header .hfe-nav-menu .menu-item a.hfe-menu-item *{color:inherit!important;background:transparent!important;}

/* Buttons: darken on hover + arrow nudge (fapshi-style) */
.elementor-button{transition:background-color .28s ease,transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s ease,letter-spacing .28s ease!important;}
.elementor-button:hover{background-color:var(--crimson-900)!important;transform:translateY(-2px)!important;box-shadow:0 12px 26px rgba(78,14,16,.32)!important;}
.elementor-button .elementor-button-icon,.elementor-button .elementor-align-icon-right{transition:transform .28s cubic-bezier(.16,1,.3,1)!important;}
.elementor-button:hover .elementor-button-icon,.elementor-button:hover .elementor-align-icon-right{transform:translateX(6px)!important;}
.tib-btn-inverse .elementor-button:hover{background-color:#ffffff!important;color:var(--crimson-700)!important;border-color:#ffffff!important;}
.tib-btn-ghost .elementor-button:hover{background:transparent!important;color:var(--crimson-800)!important;transform:none!important;box-shadow:none!important;}
.tib-btn-secondary .elementor-button:hover{background-color:var(--green-800)!important;}

/* Cards: livelier lift + crimson-tinted shadow + border accent on hover */
.tib-ncard,.tib-fcard,.tib-vm,.tib-school{transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease,border-color .3s ease!important;will-change:transform;}
.tib-ncard:hover,.tib-fcard:hover,.tib-vm:hover,.tib-school:hover{transform:translateY(-7px)!important;box-shadow:0 22px 44px rgba(141,26,29,.16)!important;border-color:var(--crimson-300)!important;}
.tib-school{border-color:var(--neutral-200);}
/* slightly more pronounced card entrance (matches fapshi slide-up) */
@media (prefers-reduced-motion: no-preference){
  @keyframes tibFadeUp{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
  body.tib-anim-ready .tib-in .tib-ncard,body.tib-anim-ready .tib-in .tib-fcard,body.tib-anim-ready .tib-in .tib-school,body.tib-anim-ready .tib-in .tib-vm{animation:tibFadeUp .6s cubic-bezier(.16,1,.3,1) both;}
}

/* Keep primary nav on one line */
.ehf-header .hfe-nav-menu ul.hfe-nav-menu__layout,.ehf-header .hfe-nav-menu > ul,.ehf-header .hfe-nav-menu .menu{flex-wrap:nowrap!important;}
.ehf-header .hfe-nav-menu .menu-item a.hfe-menu-item{white-space:nowrap!important;padding-left:13px!important;padding-right:13px!important;}
.ehf-header .hfe-nav-menu .menu-item a.hfe-menu-item::after{left:13px;right:13px;}
