/*
Theme Name: Betheme Child
Theme URI: https://themes.muffingroup.com/betheme
Author: Muffin group
Author URI: https://muffingroup.com
Description: Child Theme for Betheme
Template: betheme
Version: 2.0.2
*/


/* ===============================
   Shared design tokens (optional)
==================================*/
:root {
    /* Primary Colors */
    --imt-navy: #1E4D80;
    --imt-navy-dark: #0D3B66;
    --imt-navy-light: #2d6cb5;


    /* Accent Colors */
    --imt-gold: #F2B405;
    --imt-gold-light: #FFCB32;
    --imt-gold-dark: #d9a004;
    
    /* Text Colors */
    --imt-text: #3A4E64;
    --imt-text-light: #6b7280;
    --imt-text-dark: #1f2937;
    
    /* Background Colors */
    --imt-bg: #ffffff;
    --imt-bg-light: #f9fafb;
    --imt-bg-alt: #f3f4f6;
    --imt-white: #ffffff;
    --imt-light-gray: #f8f8f8;
    
    /* Border Colors */
    --imt-border: #e5e7eb;
    --imt-border-dark: #d1d5db;

	
    /* Shadows */
    --imt-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --imt-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    --imt-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --imt-shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.1);
	
	--imt-shadow-sm-pf: 0 1px 2px rgba(0,0,0,0.04);
    --imt-shadow-pf: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
    --imt-shadow-md-pf: 0 4px 6px -1px rgba(0,0,0,0.08), 0 2px 4px -1px rgba(0,0,0,0.04);
    --imt-shadow-lg-pf: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04);
    
    /* Border Radius */
    --imt-radius-sm: 4px;
    --imt-radius: 8px;
    --imt-radius-lg: 12px;
    --imt-radius-full: 9999px;
    --imt-radius-xl: 14px;
    
    /* Transitions */
    --imt-transition: all 0.2s ease;
    --imt-transition-slow: all 0.3s ease;
	--imt-transition-pf: 0.15s ease;
	
	/* Other */
    --imt-gray-50: #f8fafc;
    --imt-gray-100: #f1f5f9;
    --imt-gray-200: #e2e8f0;
    --imt-gray-300: #cbd5e1;
    --imt-gray-400: #94a3b8;
    --imt-gray-500: #64748b;
    --imt-gray-600: #475569;
    --imt-gray-700: #334155;
    --imt-gray-800: #1e293b;
	
	/* Status Messages */
    --pf-success: #22c55e;
    --imt-error: #ef4444;    
	
	 --mm-bg: #F7F8FA;
  --mm-surface: #FFFFFF;
  --mm-border: #E5E7EB;
  --mm-title: #1D4A79;        /* navy */
  --mm-desc: #6B7280;         /* grey */
  --mm-desc-hover:#374151;    /* darker grey */
  --mm-accent: #F2B405;       /* gold */
  --mm-r: 4px;

  --mm-gap: 10px;
  --mm-gap-lg: 16px;
  --mm-pad: 12px;

  --mm-focus: 0 0 0 2px rgba(29,74,121,.12);
	

  --imt-orange: #F27041;
  --imt-ink: #121417;
  --imt-steel: #475569;
  --imt-slate: #667085;
  --imt-mist: #F8F9FA;
  --imt-line: #E6E8EC;

  --font-sans: "Inter","Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;

  --fs-h1: clamp(2rem, 1.6rem + 1.2vw, 2.5rem);
  --fs-h2: clamp(1.5rem, 1.3rem + .9vw, 1.75rem);
  --fs-h3: 1.25rem;
  --fs-h4: 1.125rem;
  --fs-body: 1rem;
  --fs-meta: .9375rem;
  --fs-small: .875rem;

  --lh-tight: 1.25;
  --lh-head: 1.25;
  --lh-body: 1.8;

  --shadow-soft: 0 1px 2px rgba(16,24,40,.06);
  --shadow-card: 0 3px 6px rgba(0,0,0,.06);	
	
  --imt-underline-color: #F2B705;  /* standard link color */
  --imt-underline-thickness: 2px;  /* underline thickness */
  --imt-underline-offset: 0.25em;  /* distance from text baseline */
  --imt-underline-start: 0.30;     /* 30% start width */
  --imt-underline-duration: 220ms;
	
  --imt-grey-50:#F9FAFB;
  --imt-shadow-soft:0 2px 6px rgba(0,0,0,.08);
  --imt-shadow-hover:0 6px 14px rgba(0,0,0,.12);
  /*--imt-radius:.25rem;

  --imt-border: rgba(13,59,102,.22); */
}


/* ==========================================================================
   Buttons
   ========================================================================== */

/* Base button */
.imt-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
    margin: 0;
}

/* Primary Button (underline effect) */
.imt-button--primary {
    background: transparent;
    color: var(--imt-navy);
    border: 2px solid transparent;
}

.imt-button--primary .imt-button__label {
    position: relative;
    display: inline-block;
    padding-bottom: 2px;
}

.imt-button--primary .imt-button__label::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0.1em;
    width: 30%;
    height: 2px;
    background-color: var(--imt-gold);
    transition: width 0.25s ease;
}

.imt-button--primary:hover .imt-button__label::after {
    width: 100%;
}

.imt-button--primary:focus-visible {
    outline: 2px solid var(--imt-gold);
    outline-offset: 2px;
}

/* Secondary Button (filled) */
.imt-button--secondary {
    background: var(--imt-gold);
    color: var(--imt-navy);
    border: 2px solid var(--imt-gold);
}

.imt-button--secondary:hover {
    background: var(--imt-gold-light);
    color: var(--imt-navy);
    border-color: var(--imt-gold-light);
}

.imt-button--secondary:focus-visible {
    outline: 2px solid var(--imt-gold-light);
    outline-offset: 2px;
}

/* ===== Mega wrapper ===== */
.mm {
  background: var(--mm-bg);
  padding: var(--mm-pad);
  position: relative;
}

/* Section header (title + gold dot) */
.mm .mm-section-head{ display:flex; align-items:center; gap:10px; margin:0 0 6px 0; }
.mm .mm-title{
  color: var(--mm-title);
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.3;
  margin: 0;
}
.mm .ph-dot{ width:8px; height:8px; border-radius:50%; background: var(--mm-accent); }

/* ===== Flat tile links (icon + text), no borders/fill ===== */
.mm-tiles{
  list-style:none; margin:0; padding:0;
  display:grid; gap: var(--mm-gap);
}
.mm-tiles.cols-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.mm-tiles.cols-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }

.mm-tile{ border:0; background:transparent; border-radius: var(--mm-r); }
.mm-tile > a{
  display:grid; grid-template-columns: 44px 1fr;
  align-items:center; gap:8px;
  min-height:88px; padding:10px;
  border-radius: var(--mm-r);
  background:transparent; text-decoration:none; outline:none;
  transition: color .18s ease;
  position: relative;
}
.mm-tile .tile-media{
  position:relative; display:grid; place-items:center;
  width:44px; height:44px; border-radius: var(--mm-r); background:transparent;
}
.mm-tile .tile-media .icon{
  width:24px; height:24px; object-fit:contain; display:block; position:absolute;
  opacity:0; transition: opacity .12s ease, transform .18s ease;
}
.mm-tile .tile-media .icon.default{ opacity:1; }
.mm-tile .tile-title{ color: var(--mm-title); font-weight:700; font-size:13.5px; line-height:1.25; margin:0; transition: color .18s ease; }
.mm-tile .tile-desc { color: var(--mm-desc);  font-size:12px;   line-height:1.3;  margin:0;
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis; }

/* Hover/focus (icon swap + text color only) */
.mm-tile > a:hover .tile-title,
.mm-tile > a:focus-visible .tile-title{ color: var(--mm-accent); }
.mm-tile > a:hover .tile-desc,
.mm-tile > a:focus-visible .tile-desc{ color: var(--mm-desc-hover); }
.mm-tile > a:hover .tile-media .icon.default,
.mm-tile > a:focus-visible .tile-media .icon.default{ opacity:0; }
.mm-tile > a:hover .tile-media .icon.hover,
.mm-tile > a:focus-visible .tile-media .icon.hover{ opacity:1; transform: translateY(-1px); }
.mm-tile > a:focus-visible { box-shadow: var(--mm-focus); border-radius: var(--mm-r); }
.mm-tile > a, .mm-tile > a *{ text-decoration: none !important; }

/* ===== Cards (feature / CTA) ===== */
.mm-card{
  display:flex; flex-direction:column; height:100%;
  border:1px solid var(--mm-border);
  border-radius: var(--mm-r);
  background: var(--mm-surface);
  padding: 14px 14px 12px;
}
.mm-card .tile-head{ margin-bottom:6px; }
.mm-card .ph-image-sm{
  height:62px; border-radius: var(--mm-r);
  background: linear-gradient(135deg,#eef2f6,#e4e9f0);
  margin-bottom:6px;
}
.mm-card .summary{ color: var(--mm-desc); font-size:12px; line-height:1.4; margin:0 0 6px; }
.mm-card .points{ margin:0 0 6px 0; padding:0; list-style:none; display:grid; gap:2px; }
.mm-card .points li{ color: var(--mm-desc); font-size:12px; line-height:1.4; position:relative; padding-left:14px; }
.mm-card .points li::before{ content:"•"; color: var(--mm-accent); position:absolute; left:0; top:0; font-weight:700; font-size:11px; line-height:1.4; }
.mm-card .btn{
  background: var(--mm-accent); color:#0f172a; font-weight:700; font-size:13px;
  padding:6px 10px; border-radius: var(--mm-r); text-decoration:none;
}
.mm-card .btn:hover{ filter: brightness(.97); }

/* ===== Tools row (bottom) ===== */
.mm-tools-wrap .mm-separator{ height:2px; background: var(--mm-accent); margin:4px 0 0; border-radius: var(--mm-r); }
.mm-tools{ display:flex; gap:18px; align-items:center; padding-top:10px; }
.mm-tools .tool-link{ display:inline-flex; align-items:center; gap:8px;
  color: var(--mm-title); font-weight:700; text-decoration:none; font-size:13px; }
.mm-tools .tool-link:hover{ text-decoration: underline; }
.mm-tools .tool-link i{ font-size:16px; line-height:1; }

/* Grid containers for the whole menu */
.mm-grid-2 { display:grid; grid-template-columns: 2fr 1fr; gap: var(--mm-gap-lg); }
.mm-grid-3 { display:grid; grid-template-columns: repeat(3, 1fr); gap: var(--mm-gap-lg); }

/* Optional vertical divider for symmetric menus */
.mm.divided::before{
  content:""; position:absolute; top: var(--mm-pad); bottom: var(--mm-pad); left:50%;
  width:1px; background: var(--mm-border); transform: translateX(-50%);
}

/* Responsive */
@media (max-width:1100px){
  .mm-tiles.cols-3{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .mm-grid-2{ grid-template-columns:1fr; }
  .mm-grid-3{ grid-template-columns:1fr; }
}
@media (max-width:720px){
  .mm-tiles.cols-2, .mm-tiles.cols-3{ grid-template-columns:1fr; }
}

.mm-col-header{
  font-size:14px; font-weight:700; color:#374151; text-transform:uppercase; letter-spacing:.5px;
  border-bottom:2px solid var(--mm-accent);
  padding-bottom:4px; margin-bottom:6px;
}

.mm-col-header{
  font-size:14px; font-weight:700; color:#374151; text-transform:uppercase; letter-spacing:.5px;
  border-bottom:2px solid var(--mm-accent);
  padding-bottom:4px; margin-bottom:6px;
}

/* =========================================
   Ultra-compact list style for mega menus
   Usage: change UL to .mm-list and LI to .mm-row
   Optional: add .mm--compact to the column wrap
   ========================================= */

/* List container */
.mm-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  row-gap: 4px;              /* tighter than tiles */
}

/* Each row link (icon + text), no extra padding */
.mm-row > a{
  display: grid;
  grid-template-columns: 22px 1fr; /* narrow media col */
  align-items: center;
  column-gap: 8px;

  /* ↓↓↓ ultra tight vertical rhythm */
  padding: 2px 0;            /* essentially no top/bottom padding */
  min-height: 40px;          /* row height guardrail */
  text-decoration: none;
  border-radius: var(--mm-r);
  background: transparent;
  outline: none;
  transition: color .16s ease;
}

/* Media/icon */
.mm-row .tile-media{
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  position: relative;
}
.mm-row .tile-media .icon{
  width: 16px; height: 16px;
  object-fit: contain;
  position: absolute;
  opacity: 0;
  transition: opacity .12s ease, transform .16s ease;
}
.mm-row .tile-media .icon.default{ opacity: 1; }
.mm-row .tile-media .icon.hover{ opacity: 0; }

/* Text block — super compact */
.mm-row .tile-body{
  display: grid;
  row-gap: 0;                /* no space between title/desc */
}
.mm-row .tile-title{
  margin: 0;
  color: var(--mm-title);
  font-weight: 700;
  font-size: 12.25px;
  line-height: 1.15;         /* tight */
}
.mm-row .tile-desc{
  margin: 0;
  color: var(--mm-desc);
  font-size: 10.75px;
  line-height: 1.15;         /* tight */
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical;
  overflow: hidden; text-overflow: ellipsis;
}

/* Hover/focus (match system; no background fill) */
.mm-row > a:hover .tile-title,
.mm-row > a:focus-visible .tile-title{ color: var(--mm-accent); }
.mm-row > a:hover .tile-desc,
.mm-row > a:focus-visible .tile-desc{ color: var(--mm-desc-hover); }
.mm-row > a:hover .tile-media .icon.default,
.mm-row > a:focus-visible .tile-media .icon.default{ opacity: 0; }
.mm-row > a:hover .tile-media .icon.hover,
.mm-row > a:focus-visible .tile-media .icon.hover{ opacity: 1; transform: translateY(-1px); }

/* Accessible focus */
.mm-row > a:focus-visible{
  box-shadow: var(--mm-focus);
  border-radius: var(--mm-r);
}

/* Optional one-line mode (kill desc entirely if needed) */
.mm-list.is-one-line .tile-desc{ display: none !important; }

/* If you also add the mm--compact modifier on the column, squeeze a hair more */
.mm--compact .mm-list { row-gap: 3px; }
.mm--compact .mm-row > a{
  grid-template-columns: 20px 1fr;
  min-height: 36px;
  padding: 1px 0;
}
.mm--compact .mm-row .tile-media{ width: 20px; height: 20px; }
.mm--compact .mm-row .tile-media .icon{ width: 14px; height: 14px; }
.mm--compact .mm-row .tile-title{ font-size: 12px; }
.mm--compact .mm-row .tile-desc { font-size: 10.5px; }

/* Spacer looks like the head, but takes space only */
.mm-section-head.is-spacer{
  visibility: hidden; /* preserves height & margin for alignment */
  margin: 0 0 6px;
  min-height: 0; /* inherit actual height from content */
}

/* ===== Professional IMT Breadcrumb ===== */
.imt-breadcrumbs {
  --bc-bg: #efefef;
  --bc-text: #4B5563;      /* gray-600 */
  --bc-text-hover: #1D4A79;
  --bc-current: #111827;   /* dark gray for current */
  --bc-sep: #9CA3AF;       /* gray-400 */
  --bc-accent: #F2B405;
  --r: 4px;

  background: var(--bc-bg);
  padding: 8px 20px;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
}

.imt-breadcrumbs .bc-list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-x: auto;
}

.imt-breadcrumbs .bc-item {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  font-size: 13px;
  line-height: 1.4;
  color: var(--bc-text);
}

/* Separator */
.imt-breadcrumbs .bc-item:not(:last-child)::after {
  content: "›";
  color: var(--bc-sep);
  margin: 0 8px;
  font-weight: 500;
}

/* Links */
.imt-breadcrumbs .bc-link {
  text-decoration: none;
  color: var(--bc-text);
  transition: color 0.15s ease;
  font-weight: 500;
}

.imt-breadcrumbs .bc-link:hover,
.imt-breadcrumbs .bc-link:focus-visible {
  color: var(--bc-text-hover);
  text-decoration: none;
}

/* Current Page (no link) */
.imt-breadcrumbs .bc-item.is-current .bc-text {
  color: var(--bc-current);
  font-weight: 600;
  cursor: default;
}



/* Responsive: reduce size on narrow screens */
@media (max-width: 640px) {
  .imt-breadcrumbs .bc-item {
    font-size: 12.5px;
  }
  .imt-breadcrumbs .bc-item:not(:last-child)::after {
    margin: 0 6px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .imt-breadcrumbs .bc-link { transition: none; }
}

.imt-langswitch {text-transform: uppercase; width:auto !important;}
.imt-langswitch li	{margin:1px !important;}
.imt-langswitch li:hover	{background-color:rgba(255,255,255,0.45); color:#0E223D; }
.imt-langswitch li a	{color:rgba(255,255,255,0.45) !important;}
.imt-langswitch li a:hover {color:#0E223D !important;}
.imt-langswitch li.wpml-ls-current-language	{background-color:rgba(255,255,255,0.45);}
.imt-langswitch li.wpml-ls-current-language	a {color:#0E223D !important;}
.imt-langswitch li.wpml-ls-current-language	a:hover {color:#0E223D !important;}


.forminator-title {font-family: Rubik;font-size: 22px; line-height: 36px; font-weight: 500;} .forminator-subtitle {font-family: Open Sans; font-size:13px; line-height:1.5em; letter-spacing:0px;} .forminator-label {font-family: Rubik; font-size:14px; line-height:1em; font-weight:500 !important; color:#878787;padding-bottom:3px;} .forminator-input {font-size:14px;}


/* === HERO CTA Container === */
.imt-hero-cta-container {
  display: flex;
  align-items: stretch; /* equal height cards */
  flex-wrap: wrap;
  gap: 2rem;
}

/* === Individual Card === */
.imt-hero-cta-row {
  flex: 1 1 30%;
	  margin: 0 1rem 2rem 1rem; /* horizontal and vertical gutters */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: rgba(255,255,255,0.05);
  border-radius: 12px;
  padding: 2rem 1.5rem;
  min-height: 380px;
}



/* === Internal content handling === */
.imt-hero-cta-row .fancy_heading {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: flex-start;
}

/* Keep consistent top alignment for icons & titles */
.imt-hero-cta-row .fh-top {
  min-height: 48px;  /* ensures icons align */
  margin-bottom: 1rem;
}

.imt-hero-cta-row h3.title {
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.4;
  min-height: 3.2em;  /* aligns 2-line titles */
  margin-bottom: 0.75rem;
}

/* === Description section === */
.imt-hero-cta-row .inside {
  flex-grow: 1;                /* fills vertical space evenly */
  display: flex;
  align-items: flex-start;     /* aligns top edges of paragraphs */
  margin-bottom: 1.5rem;
  color: #B4B9C0;
  line-height: 1.6;
}

/* === Button always pinned to bottom === */
.imt-hero-cta-row .column_button {
  margin-top: auto;
}

/* === Responsive === */
@media (max-width: 768px) {
  .imt-hero-cta-container { flex-direction: column; gap: 1.5rem; }
  .imt-hero-cta-row { flex: 1 1 100%; min-height: auto; }
}

/* Smooth base transition */
.imt-hero-cta-row {
  transition: all 0.25s ease;
}

/* On hover: lift + brighten background */
.imt-hero-cta-row:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}

/* Optional: highlight heading and underline button */
.imt-hero-cta-row:hover h3.title {
  color: var(--imt-gold);
}

.imt-hero-cta-row:hover .button_label {
  position: relative;
}

/*.imt-hero-cta-row:hover .button_label::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background-color: var(--imt-gold);
  transform: scaleX(1);
  transform-origin: center;
  transition: transform 0.3s ease;
}*/

/* ---------------------------
   Standard IMT link version
---------------------------- */
.imt-link a.button,
.imt-link a.mfn-button {
  position: relative;
  text-decoration: none !important;
  overflow: hidden;
}

.imt-link a.button .button_label,
.imt-link a.mfn-button .button_label {
  position: relative;
  display: inline-block;
}

/* Animated underline */
.imt-link a.button .button_label::after,
.imt-link a.mfn-button .button_label::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(0px - var(--imt-underline-offset));
  width: 100%;
  height: var(--imt-underline-thickness);
  background-color: var(--imt-underline-color);
  transform: scaleX(var(--imt-underline-start));
  transform-origin: left center;
  transition: transform var(--imt-underline-duration) ease;
  pointer-events: none;
}

.imt-link a.button:hover .button_label::after,
.imt-link a.button:focus-visible .button_label::after,
.imt-link a.mfn-button:hover .button_label::after,
.imt-link a.mfn-button:focus-visible .button_label::after {
  transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {
  .imt-link a.button .button_label::after,
  .imt-link a.mfn-button .button_label::after {
    transition: none;
  }
}

/* ---------------------------
   Alternate link version
---------------------------- */
.imt-link-alt a.button,
.imt-link-alt a.mfn-button {
  position: relative;
  text-decoration: none !important;
  overflow: hidden;
}

.imt-link-alt a.button .button_label,
.imt-link-alt a.mfn-button .button_label {
  position: relative;
  display: inline-block;
}

/* Underline setup (same thickness) */
.imt-link-alt a.button .button_label::after,
.imt-link-alt a.mfn-button .button_label::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(0px - var(--imt-underline-offset));
  width: 100%;
  height: var(--imt-underline-thickness); /* unified line thickness */
  background-color: #E9ECEF; /* initial gray */
  transform: scaleX(var(--imt-underline-start));
  transform-origin: left center;
  transition:
    transform var(--imt-underline-duration) ease,
    background-color var(--imt-underline-duration) ease;
  pointer-events: none;
}

/* Hover/focus: expand + color change */
.imt-link-alt a.button:hover .button_label::after,
.imt-link-alt a.button:focus-visible .button_label::after,
.imt-link-alt a.mfn-button:hover .button_label::after,
.imt-link-alt a.mfn-button:focus-visible .button_label::after {
  transform: scaleX(1);
  background-color: #F2B705; /* brand yellow */
}

@media (prefers-reduced-motion: reduce) {
  .imt-link-alt a.button .button_label::after,
  .imt-link-alt a.mfn-button .button_label::after {
    transition: none;
  }
}


/* Section Titles */
/* ================================
   IMT – Section Titles
   (scoped, non-invasive)
   ================================ */

/* Wrapper (optional, for consistent spacing) */
.imt-section {
  margin-top: clamp(2.5rem, 6vw, 4.5rem);
  margin-bottom: 1.5rem;
}

/* Semantic Header Title */
.semantic-header-title {
  margin: 0;                 /* spacing is handled by wrapper & underline */
  position: relative;
}

/* Semantic Header Gold accent line (static, non-interactive) */
.semantic-header-title::after {
  content: "";
  display: block;
  width: 6%;               /* or use 10% for fluid width */
  height: 4px;
  background: var(--imt-gold, #F2B405);
  margin-top: -15px;
  margin-bottom:5px; 
  border-radius: 2px;
}


/* General Secondary Title for In-Content Secondary Titles */
.content-sec-title {
  margin: 0;                 /* spacing is handled by wrapper & underline */
  position: relative;
  /*max-width: 65ch;*/           /* comfortable reading width */
 }

/* General Secondary Title Silver accent line (static, non-interactive) */
.content-sec-title::after {
  content: "";
  display: block;
  width: 52px;               /* or use 10% for fluid width */
  height: 3px;
  background: var(--imt-line, #E6E8EC);
  margin-top: -5px;
	margin-bottom:10px;
  border-radius: 2px;
}

/* General Secondary Title for In-Content Secondary Titles */
.content-sec-title-gold {
  margin: 0;                 /* spacing is handled by wrapper & underline */
  position: relative;
  /*max-width: 65ch;*/           /* comfortable reading width */
 }

/* General Secondary Gold accent line (static, non-interactive) */
.content-sec-title-gold::after {
  content: "";
  display: block;
  width: 52px;               /* or use 10% for fluid width */
  height: 3px;
  background: var(--imt-gold, #F2B405);
  margin-top: -5px;
	margin-bottom:10px;
  border-radius: 2px;
}


/* Title */
.imt-section__title {
  margin: 0;                 /* spacing is handled by wrapper & underline */
  position: relative;
}

/* Gold accent line (static, non-interactive) */
.imt-section__title::after {
  content: "";
  display: block;
  width: 52px;               /* or use 10% for fluid width */
  height: 4px;
  background: var(--imt-gold, #F2B405);
  margin-top: -3px;
  margin-bottom:5px; 
  border-radius: 2px;
}

/* Optional subtitle / intro line under the title */
.imt-section__subtitle {
  margin: 0;                 /* spacing is handled by wrapper & underline */
  position: relative;
  max-width: 65ch;           /* comfortable reading width */
 }

/* Steel accent line (static, non-interactive) */
.imt-section__subtitle::after {
  content: "";
  display: block;
  width: 52px;               /* or use 10% for fluid width */
  height: 3px;
  background: var(--imt-line, #E6E8EC);
  margin-top: -3px;
	margin-bottom:10px;
  border-radius: 2px;
}

.imt-section__tagline	{
		  max-width: 65ch;           /* comfortable reading width */
}

/* Optional subtitle / intro line under the title */
.imt-title__subtitle {
  margin: 0;                 /* spacing is handled by wrapper & underline */
  position: relative;
  max-width: 65ch;           /* comfortable reading width */
 }

/* Steel accent line (static, non-interactive) */
.imt-title__subtitle::after {
  content: "";
  display: block;
  width: 52px;               /* or use 10% for fluid width */
  height: 3px;
  background: var(--imt-line, #E6E8EC);
  margin-top: -3px;
  margin-bottom:2rem;
  border-radius: 2px;
}

/* Optional subtitle / intro line under the title */
.imt-title__subh3 {
  margin: 0;                 /* spacing is handled by wrapper & underline */
  position: relative;
  max-width: 65ch;           /* comfortable reading width */
 }

/* Steel accent line (static, non-interactive) */
.imt-title__subh3::after {
  content: "";
  display: block;
  width: 52px;               /* or use 10% for fluid width */
  height: 3px;
  background: var(--imt-line, #E6E8EC);
  margin-top: -2px;
  margin-bottom:10px;
  border-radius: 2px;
}

/* Optional subtitle / intro line under the title */
.imt-title__subh2 {
  margin: 0;                 /* spacing is handled by wrapper & underline */
  position: relative;
  max-width: 65ch;           /* comfortable reading width */
 }

/* Steel accent line (static, non-interactive) */
.imt-title__subh2::after {
  content: "";
  display: block;
  width: 48px;               /* or use 10% for fluid width */
  height: 3px;
  background: var(--imt-line, #E6E8EC);
  margin-top: -0.8rem;
  margin-bottom:10px;
  border-radius: 2px;
}



/* Dark background variant (e.g., hero/CTA bands) */
.imt-section--on-dark .imt-section__title { color: #FFFFFF; }
.imt-section--on-dark .imt-section__subtitle { color: rgba(255,255,255,0.80); }
.imt-section--on-dark .imt-section__title::after { background: var(--imt-gold, #F2B405); }

/* Centered variant (use sparingly) */
.imt-section--center {
  text-align: center;
}
.imt-section--center .imt-section__title::after {
  margin-left: auto;
  margin-right: auto;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .imt-section__title { font-size: 1.875rem; }  /* 30px */
}
@media (max-width: 768px) {
  .imt-section { margin-top: 2rem; margin-bottom: 1rem; }
  .imt-section__title { font-size: 1.5rem; }    /* 24px */
  .imt-section__title::after { width: 40px; height: 3px; margin-top: 0.6rem; }
  .imt-section__subtitle { font-size: 1rem; }
}

.imt-shadow-soft .mcb-wrap-inner {
  box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.25s cubic-bezier(0.33, 1, 0.68, 1),
              transform 0.25s cubic-bezier(0.33, 1, 0.68, 1);
  will-change: transform, box-shadow;
}

.imt-shadow-soft:hover .mcb-wrap-inner {
  box-shadow: 0px 6px 14px 0px rgba(0, 0, 0, 0.12);
  transform: translateY(-3px);
}

.imt-shadow-soft:active .mcb-wrap-inner {
  box-shadow: inset 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
  transform: translateY(0);
}


.imt-shadow-deep .mcb-wrap-inner {
  box-shadow: 0px 8px 22px -2px rgba(0, 0, 0, 0.18);
  transition: box-shadow 0.25s cubic-bezier(0.33, 1, 0.68, 1),
              transform 0.25s cubic-bezier(0.33, 1, 0.68, 1);
  will-change: transform, box-shadow;
}

.imt-shadow-deep:hover .mcb-wrap-inner {
  box-shadow: 0px 10px 28px -1px rgba(0, 0, 0, 0.20);
  transform: translateY(-4px);
}

.imt-shadow-deep:active .mcb-wrap-inner {
  box-shadow: inset 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
  transform: translateY(0);
}

.imt-shadow-gold .mcb-wrap-inner {
  box-shadow: 0px 12px 24px 0px rgba(242, 180, 5, 0.25);
  transition: box-shadow 0.25s cubic-bezier(0.33, 1, 0.68, 1),
              transform 0.25s cubic-bezier(0.33, 1, 0.68, 1);
  will-change: transform, box-shadow;
}

.imt-shadow-gold:hover .mcb-wrap-inner {
  box-shadow: 0px 14px 30px 0px rgba(242, 180, 5, 0.3);
  transform: translateY(-3px);
}

.imt-shadow-gold:active .mcb-wrap-inner {
  box-shadow: inset 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
  transform: translateY(0);
}

.card-media {aspect-ratio:16/10;}




/* =========================================================
   IMT – Section 3 / Product Panels (HTML element version)
   Structure: .imt-sec3-panel
              ├─ .imt-sec3-panel__media > img
              └─ .imt-sec3-panel__body
                 ├─ .imt-sec3-panel__title
                 ├─ .imt-sec3-panel__tagline
                 ├─ .imt-sec3-panel__text
                 └─ .imt-sec3-panel__cta
   ========================================================= */


.imt-sec3-body		{}
.imt-sec3-body h3			{  font-size:1.125rem; /* 18px */
  line-height:1.45; font-weight:600; color:var(--imt-navy);
  margin:0 0 .05rem 0;}
.imt-sec3-body	p			{  font-size:.9375rem; /* 15px */
  line-height:1.4; color:var(--imt-slate); margin:0 0 .25rem 0;}
.imt-sec3-body	p.tagline 	{  font-size:.9375rem; /* 15px */
  line-height:1.5; font-weight:500; font-style:italic; color:var(--imt-steel);
  margin:0 0 .25rem 0;}


/* Limit blog slider post titles to 2 lines with ellipsis */
.imt-blog-slider .desc h4 a {
  display: -webkit-box;
  -webkit-line-clamp: 2;        /* limit to 2 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;          /* allow wrapping */
}

.imt-blog-slider .desc h4 {
  margin-bottom: 0.5rem;        /* 8px below title */
  line-height: 1.4;
}

/* Limit the post excerpt text to 3 lines with ellipsis */
.imt-blog-slider .post_excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;         /* limit to 3 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;           /* allow wrapping within the 3 lines */
}

.imt-blog-slider .post_excerpt {
  color: #6B7280;                /* keep your slate tone */
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1rem;           /* spacing before button */
}

/* Hide BeTheme's brackets */
.imt-blog-slider .excerpt-hellip { display: none !important; }

/* Force multi-line clamp to 3 lines with ellipsis */
.imt-blog-slider .post_excerpt {
  display: -webkit-box !important;
  -webkit-line-clamp: 3;                 /* 3 lines */
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: normal !important;
  line-height: 1.6;                       /* Make sure line-height is set */
  max-height: calc(1.6em * 3);            /* Helps some browsers render the clamp */
  margin-bottom: 1rem;                    /* spacing before CTA */
}

/* Adds a trailing ellipsis always */
.imt-blog-slider .post_excerpt::after { content: '…'; }

/* ===============================
   IMT Topic Pills
   =============================== */

.imt-topic-pills {
  padding: 24px 0 24px; /* section spacing */
  background: #fff;     /* sits nicely under the slider */
}

.imt-topic-pills .imt-topic-container {
  /*max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px;  match your contained sections */
}

.imt-topic-pills .imt-topic-intro {
  margin: 0 0 12px 0;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--imt-steel);
}

.imt-topic-pills .imt-topic-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;  /* row x column gaps */
  margin: 0;
  padding: 0;
  list-style: none;
}

.imt-topic-pills .imt-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 9999px;        /* pill shape */
  border: 1px solid var(--imt-border);
  background: #fff;
  color: var(--imt-navy);
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.imt-topic-pills .imt-pill:hover {
  background: var(--imt-gold);
  border-color: var(--imt-gold);
  color: var(--imt-navy);
  text-decoration: none;
}

.imt-topic-pills .imt-pill:focus-visible {
  outline: 2px solid var(--imt-gold);
  outline-offset: 2px;
}

.imt-topic-pills .imt-pill.active {
	  background: var(--imt-navy);
  border-color: var(--imt-navy);
  color: #ffffff;
}

/* Active/selected state (optional) */
.imt-topic-pills .imt-pill[aria-current="page"],
.imt-topic-pills .imt-pill.is-active {
  background: var(--imt-gold);
  border-color: var(--imt-gold);
  color: var(--imt-navy);
}

/* Responsive container padding */
@media (max-width: 768px){
  .imt-topic-pills .imt-topic-container { padding: 0 20px; }
}

.imt-topic-pills .imt-pill {
  max-width: 195px;             /* adjust as needed */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* ==========================================================
   HERO PILLS — Aligned Horizontal + Custom Systems Highlight
   ========================================================== */
.imt-cta-leadin	{color:#233C55; margin-bottom: 5px;}

/* container */
.imt-pills__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;            /* aligns vertically */
  gap: 0.6rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* generic pill */
.imt-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.95rem;
  height: 2.2rem;
  line-height: 1;                 /* keeps height uniform */
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(6px);
  color: #1D4A79;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease;
  cursor: pointer;
  user-select: none;
  flex: 0 0 auto;                 /* stops flexbox from stretching */
  position: relative;             /* keeps pseudo-elements contained */
  overflow: hidden;               /* fixes shimmer overflow */
  box-sizing: border-box;         /* ensure equal width calc */
}

/* hover/focus */
.imt-pill:hover,
.imt-pill:focus-visible {
  background-color: rgba(29,74,121,0.85);
  color: #FFFFFF;
	text-decoration:none;
}

/* active (scrolled-to section) */
.imt-pill.is-active {
  background-color: rgba(242,183,5,0.9);
  color: #1D4A79;
}

/* ----------------------------------------------------------
   CUSTOM SYSTEMS VARIANT
   ---------------------------------------------------------- */
.imt-pill--custom {
  background-color: rgba(242,183,5,0.25);
  color: #1D4A79;
  font-weight: 700;
}

/* shimmer effect */
.imt-pill--custom::after {
  content: "";
  position: absolute;
  top: 0;
  left: -60%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.4) 40%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-20deg);
  opacity: 0;
  pointer-events: none;          /* don't affect layout */
  transition: opacity 0.4s ease, left 0.6s ease;
}

.imt-pill--custom:hover::after {
  opacity: 1;
  left: 120%;
}

/* responsive */
@media (max-width: 1024px) {
  .imt-pill {
    font-size: 0.8125rem;
    padding: 0.35rem 0.85rem;
    height: 2rem;
  }
}

@media (max-width: 768px) {
  .imt-pills__list {
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .imt-pills__list::-webkit-scrollbar { display: none; }
}


/*--------------------------------------------------------------
  SECTION: Educational Block – Types of Magnets
  Purpose: Structured, scannable educational section with H2, H3, and P hierarchy.
--------------------------------------------------------------*/


.imt-col-magnets > p {
  font-weight: 400;
  font-size: 1.125rem; /* 18px */
  line-height: 1.7;
  color: #3A4E64;
  max-width: 720px;
  margin: 0 auto 3rem auto;
}

.imt-col-magnets h3 {
  font-weight: 600;
  font-size: 1.25rem; /* 20px */
  line-height: 1.4;
  color: #1D4A79;
  margin-bottom: 0.125rem;
}

.imt-col-magnets p {
  font-weight: 400;
  font-size: 1rem; /* 16px */
  line-height: 1.4;
  color: #3A4E64;
	margin-top:0px;
  margin: 0;
}
.imt-col-magnets p em {
  font-weight: 400;
	font-style:italic;
  font-size: 0.9375rem; /* 16px */
  line-height: 1.4;
  color: #777777;
  margin: 0;
}

.imt-col-magnets .imt-learn-link {
  position: relative;
  display: inline-block;
  font-weight: 500;
  font-size: 0.9375rem; 
	line-height:1.2rem;
	text-transform:uppercase;
  color: #1D4A79;
  text-decoration: none;
  padding-bottom: 0px; /* space for underline */
  transition: color 0.25s ease;
 margin-bottom:5px;
}

/* underline animation */
.imt-col-magnets .imt-learn-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0px; /* ensures it sits exactly under the text */
  width: 30%; /* initial underline width */
  height: 2px;
  background-color: #F2B705;
  transition: width 0.25s ease;
}

/* hover behavior */
.imt-col-magnets .imt-learn-link:hover {
  color: #F2B705;
}

.imt-col-magnets .imt-learn-link:hover::after {
  width: 100%;
}


.imt-product-types	     {min-height:270px;}

.imt-product-types h3	 {
  font-weight: 600;
  font-size: 1.25rem; /* 20px */
  line-height: 1.4;
  margin-bottom: 0.25rem;
}

.imt-product-types h3 i	{color: #fff;
    border-radius: 50px;
    background-color: #F2B705;
    padding: 8px;
    width: 35px;
    height: 35px;
    line-height: 0.9rem;
    display: block;
    text-align: center;
    border: 2px solid #F2B705;
margin-bottom:5px;}

.imt-product-types h3 strong {font-size:1.1rem;
  color: #1D4A79; display:block; padding-left:5px;}

.imt-product-types p		{
  font-weight: 400;
  font-size: 1rem; /* 16px */
  line-height: 1.2;
  color: #3A4E64;
	padding-left:5px;
	padding-right:5px;
  margin: 0;	
}

:target {
    scroll-margin-top: 120px; /* 120px header + 20px extra space */
  }


/* =========================================================
   IMT Related Links – label above, inline links
   ========================================================= */

.imt-related-links{
  margin-top: 2rem;                    /* ~32px from content above */
  color: #3A4E64;
}

/* Label above links */
.imt-related-links__label{
  font-size: 0.8125rem;                /* 13px */
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.7;
  margin-bottom: 0.5rem;               /* ~8px */
}

/* Links row */
.imt-related-links__items{
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem 0.6rem;
  font-size: 0.9375rem;                /* 15px */
  line-height: 1.7;
}

/* Links */
.imt-related-links__link{
  color: #1D4A79;                      /* IMT Navy */
  font-weight: 500;
  text-decoration: none !important;
  border-bottom: 2px solid transparent;
  padding: 0.05rem 0.1rem;
}

/* Hover / focus */
.imt-related-links__link:hover,
.imt-related-links__link:focus-visible{
  border-bottom-color: #F2B705;        /* IMT Gold */
}

/* Separators */
.imt-related-links__sep{
  color: #D1D5DB;
  margin: 0 0.15rem;
  user-select: none;
}

/* Accessible focus */
.imt-related-links__link:focus-visible{
  outline: 2px solid rgba(242, 183, 5, 0.4);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Mobile */
@media (max-width: 767px){
  .imt-related-links{
    margin-top: 1.75rem;
  }
  .imt-related-links__items{
    font-size: 0.875rem;               /* 14px */
  }
}



/* =========================================================
   IMT BLOG – CONTENT TYPOGRAPHY & ELEMENTS
   (layout handled by BeTheme builder)
   ========================================================= */

/* ---------------------------------------
   Headings & Links
---------------------------------------- */
#sec_post .col_content h2 {
  font: 600 var(--fs-h2)/var(--lh-head) var(--font-sans);
  color: var(--imt-navy);
}

#sec_post .col_content h3 {
  font: 600 var(--fs-h3)/var(--lh-head) var(--font-sans);
  color: var(--imt-steel);
}

#sec_post .col_content h4 {
  font: 600 var(--fs-h4)/var(--lh-head) var(--font-sans);
  color: var(--imt-steel);
}

/* keep links visually consistent and accessible */
#sec_post .col_content a {
  color: var(--imt-orange);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .2s ease, opacity .2s ease;
}
#sec_post .col_content a:hover,
#sec_post .col_content a:focus {
  color: var(--imt-navy);
  opacity: .9;
}

/* ---------------------------------------
   Lists
---------------------------------------- */
#sec_post .col_content ul,
#sec_post .col_content ol {
  padding-left: 1.25rem; /* keeps bullets aligned */
}
#sec_post .col_content ul { list-style: disc; }
#sec_post .col_content ol { list-style: decimal; }
#sec_post .col_content li::marker { color: var(--imt-gold); }

/* ---------------------------------------
   Quotes
---------------------------------------- */
#sec_post .col_content blockquote {
  border-left: 4px solid var(--imt-gold);
  background: #FFFDF3;
  color: var(--imt-steel);
  font-style: italic;
  padding: 0.75rem 1rem;
  border-radius: 0.25rem;
}

#sec_post .col_content figure.testimonial {
  margin: 1.5rem 0;
}

#sec_post .col_content figure.testimonial blockquote {
  border-left: 4px solid var(--imt-gold);
  background: #FFFDF3;
  color: var(--imt-steel);
  font-style: italic;
  padding: 0.75rem 1rem;
  border-radius: 0.25rem;
  margin: 0;
}

#sec_post .col_content figure.testimonial figcaption {
  font: 400 var(--fs-meta)/1.4 var(--font-sans);
  color: var(--imt-steel);
  margin-top: 1.5rem; /* increased spacing below the quote */
  text-align: left;
}

#sec_post .col_content figure.testimonial figcaption strong {
  display: inline;
  font-weight: 600;
  color: var(--imt-navy);
  margin-bottom: 0.15rem; /* subtle separation */
}
#sec_post .col_content figure.testimonial figcaption .role,
#sec_post .col_content figure.testimonial figcaption .company {
  display: inline;
}

#sec_post .col_content figure.testimonial figcaption .role {
  color: var(--imt-steel);
}

#sec_post .col_content figure.testimonial figcaption .company {
  color: var(--imt-slate);
}

#sec_post .col_content .pullquote {
  text-align: center;
  font: 600 1.25rem/1.5 var(--font-sans);
  color: var(--imt-navy);
  margin: 1.25rem auto;
  max-width: 48ch;
}

/* ---------------------------------------
   Figures & Captions
---------------------------------------- */
#sec_post .col_content figure img {
  border-radius: 0.5rem;
  box-shadow: var(--shadow-soft);
}
#sec_post .col_content figcaption {
  font: 400 var(--fs-small)/1.5 var(--font-sans);
  color: var(--imt-slate);
  text-align: center;
  margin-top: 0.5rem;
}

/* ---------------------------------------
   Tables
---------------------------------------- */
#sec_post .col_content table {
  border-collapse: collapse;
  width: 100%;
}
#sec_post .col_content th,
#sec_post .col_content td {
  border: 1px solid var(--imt-line);
  text-align: left;
  vertical-align: top;
  padding: 0.5rem 0.75rem;
}
#sec_post .col_content thead th {
  background: #F3F4F6;
  color: var(--imt-navy);
  font-weight: 600;
}
#sec_post .col_content tbody tr:hover {
  background: #FAFAFB;
}

/* ---------------------------------------
   Code Blocks
---------------------------------------- */
#sec_post .col_content code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  background: #F6F7F9;
  border-radius: 0.35rem;
  padding: 0.1rem 0.35rem;
}
#sec_post .col_content pre {
  background: #0B1020;
  color: #E5E7EB;
  border-radius: 0.75rem;
  line-height: 1.6;
  box-shadow: var(--shadow-soft);
  overflow-x: auto;
  padding: 1rem;
}

/* ---------------------------------------
   Optional gentle spacing rhythm (safe)
---------------------------------------- */
/*
#sec_post .col_content p       { margin-bottom: 1rem; }
#sec_post .col_content figure  { margin: 1.25rem 0; }
#sec_post .col_content hr      { border: 0; border-top: 1px solid var(--imt-line); margin: 1.25rem 0; }
*/


.card-industries-steps		{}

.sem-header-category a		{text-decoration:none;}
.sem-header-category a:hover	{text-decoration:none;}

.sem-header-tagline		{max-width: 65ch;}
@media (max-width: 768px) {
  .sem-header-tagline {
    max-width: 100%;
  }
}

.content-tagline		{max-width: 65ch;}

.content-block-role	h3	{margin: 0 0 8px 0;
  font-size: 18px;      /* can be 16–18px */
  font-weight: 600;
  line-height: 1.3;
  color: #212529;}

.content-block-role	p	{margin: 0;
  font-size: 15px;      /* can be 14–15px */
  font-weight: 400;
  line-height: 1.6;
  color: #495057;}


/* SECTION 3: Driver tiles (BeBuilder-safe) */
.driver-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 18px;
}

@media (max-width: 768px){
  .driver-grid{ grid-template-columns: 1fr; }
}

.driver-tile{
  background:#FFFFFF;
  border:1px solid #DEE2E6;
  border-radius:14px;
  padding:16px;
}

.driver-tile:hover{
  border-color:#CED4DA;
}

.driver-title{
  margin:0 0 10px 0;
  font-family: Inter, system-ui, sans-serif;
  font-size:16px;
  font-weight:600;
  line-height:1.3;
  color:#212529;
}

.driver-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 8px 0;
}

.driver-row:last-child{ margin-bottom:0; }

.driver-label{
  flex:0 0 120px;
  font-family: Inter, system-ui, sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#6C757D;
  line-height:1.4;
}

.driver-text{
  margin:0;
  font-family: Inter, system-ui, sans-serif;
  font-size:14px;
  font-weight:400;
  line-height:1.6;
  color:#495057;
}

@media (max-width: 480px){
  .driver-row{ flex-direction:column; gap:4px; }
  .driver-label{ flex-basis:auto; }
}

.ind-stage-process ul	{ display: flex;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;}

.ind-stage-process ul li	{flex: 1;                       /* equal width */
  position: relative;
  padding: 16px 32px 16px 20px;  /* room for arrow */
  background: #f2f4f7;
  border-right: 1px solid #d0d6dc;
  text-align: center;
  white-space: nowrap;}

.ind-stage-process ul li::after {
 content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #0d3b66;
  border-right: 2px solid #0d3b66;
  transform: translateY(-50%) rotate(45deg);
}

/* Remove arrow and divider on last item */
.ind-stage-process ul li:last-child::after {
  content: none;
}
.ind-stage-process ul li:last-child {
  border-right: none;
}

.ind-stage-title			{margin:0px; padding:0px;}
.ind-stage-title strong		{display: inline-block;
background-color:#E9ECEF;
border-radius:50px;
	font-size:14px;
	line-height:1.2em;
	    padding: 4px 8px;
width: 24px;
height: 24px;
color: #6C757D;}

.ind-stage-desc p			{margin:0px; padding:0px;}