/* ValueTwin v2 component styles */

/* Chips */
.chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip{display:inline-block;padding:6px 12px;background:var(--bg-light);border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:700;color:var(--text);letter-spacing:0.02em}
.section--dark .chip{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.18);color:rgba(255,255,255,0.9)}
.section--alt .chip{background:#fff}

/* Callouts */
.callout{background:var(--bg-light);border-left:4px solid var(--primary);border-radius:8px;padding:16px 20px;margin-top:16px}
.callout__quote{font-size:19px;line-height:1.5;color:var(--text);margin:0}
.callout--muted{border-left-color:var(--text-muted);opacity:0.85}
.callout--dark{background:rgba(255,255,255,0.06);border-left-color:var(--primary-light)}
.callout--dark .callout__quote{color:rgba(255,255,255,0.95)}
.callout--accent{background:linear-gradient(135deg,rgba(124,212,207,0.12),rgba(45,163,168,0.06));border-left:none;border:1px solid rgba(45,163,168,0.35)}

/* QA grid */
.qa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.qa-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;border-top:3px solid var(--primary)}
.qa-card h3{font-size:16px;margin:0 0 8px}
.qa-card p{font-size:14px;color:var(--text-muted);margin:0;line-height:1.5}

/* Stacked emphasis lines */
.stack-lines>p{margin:6px 0;font-size:17px;line-height:1.5}
.section--dark .stack-lines>p{color:rgba(255,255,255,0.92)}

/* Vertical flow */
.flow-3{max-width:720px;margin:0 auto;text-align:center}
.flow-3__step{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px}
.section--alt .flow-3__step{background:#fff}
.flow-3__label{font-family:'Nunito',sans-serif;font-weight:800;font-size:12px;letter-spacing:0.08em;color:var(--primary-dark);text-transform:uppercase;margin-bottom:10px}
.section--alt .flow-3__step--accent,
.flow-3__step--accent{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark)) !important;
  border-color:var(--primary-dark) !important;
  color:#fff !important;
}
.flow-3__step--accent .flow-3__label{color:rgba(255,255,255,0.9) !important}
.flow-3__step--accent p,
.flow-3__step--accent strong{color:#fff !important}
.flow-3__arrow{color:var(--primary);font-size:32px;font-weight:800;line-height:1;margin:12px 0}

/* Quote cards */
.quote-card{background:#fff;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:8px;padding:16px 18px;font-size:16px;line-height:1.5}
.quote-card strong{color:var(--primary-dark)}
.quote-card--dark{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.15);border-left:4px solid var(--primary-light);color:rgba(255,255,255,0.95)}
.quote-card--dark strong{color:var(--primary-light)}

/* Loop-5 */
.loop-5{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}
.loop-5__step{flex:1 1 140px;min-width:120px;max-width:180px;background:#fff;border:1px solid var(--border);border-top:4px solid var(--primary);border-radius:10px;padding:14px 12px;text-align:center}
.section--dark .loop-5__step{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.15);border-top-color:var(--primary-light);color:rgba(255,255,255,0.95)}
.loop-5__num{display:inline-block;font-family:'Nunito',sans-serif;font-weight:800;font-size:11px;letter-spacing:0.08em;color:var(--primary-dark);background:var(--primary-pale);padding:2px 8px;border-radius:4px;margin-bottom:8px}
.section--dark .loop-5__num{background:rgba(124,212,207,0.15);color:var(--primary-light)}
.loop-5__step strong{display:block;font-size:15px;margin-bottom:4px}
.loop-5__step p{margin:0;font-size:12px;color:var(--text-muted)}
.section--dark .loop-5__step p{color:rgba(255,255,255,0.7)}
.loop-5__arrow{color:var(--primary);font-size:22px;font-weight:800}
.section--dark .loop-5__arrow{color:var(--primary-light)}

/* Inline flow */
.flow-inline{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}
.flow-inline__step{padding:8px 14px;background:var(--primary-pale);color:var(--primary-dark);border-radius:8px;font-weight:700;font-size:14px}
.section--dark .flow-inline__step{background:rgba(124,212,207,0.15);color:var(--primary-light)}
.flow-inline__arrow{color:var(--primary);font-size:20px;font-weight:800}
.section--dark .flow-inline__arrow{color:var(--primary-light)}

/* Hero note */
.hero__note{margin-top:16px;font-size:14px;color:var(--primary-dark);font-weight:700}

/* Subscribe form */
.subscribe-form{display:flex;gap:10px;flex-wrap:wrap;max-width:560px;margin-top:16px;align-items:stretch}
.subscribe-form input[type="email"]{flex:1 1 240px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-family:'Nunito',sans-serif;font-size:15px;background:#fff}
.subscribe-form button{padding:12px 18px;white-space:nowrap}

/* Mobile */
@media (max-width:800px){
  .loop-5{flex-direction:column}
  .loop-5__arrow{transform:rotate(90deg)}
  .flow-inline{gap:4px}
  .flow-inline__arrow{display:none}
  .qa-grid{grid-template-columns:1fr}
}

/* Active nav link */
.site-nav a.active{color:var(--primary-dark);position:relative}
.site-nav a.active::after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--primary);border-radius:2px}

/* Utility */
.mt-16{margin-top:16px}
.mt-32{margin-top:32px}

/* Hero top spacing tightened */
.tagline-rail{padding:7px 0}
.hero{padding-top:22px !important}
.hero.hero--v2{padding-top:22px !important}

/* Img slots — base */
.img-slot{
  position:relative;
  aspect-ratio:1/1;
  width:100%;
  border-radius:14px;
  border:1.5px solid rgba(44,181,160,0.35);
  background-color:rgba(44,181,160,0.03);
  background-image:url("/assets/network.svg?v=1");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  overflow:hidden;
  margin:0;
  box-shadow:0 4px 24px rgba(26,34,48,0.06);
}
.section--dark .img-slot{
  border-color:rgba(44,181,160,0.55);
  background-color:rgba(255,255,255,0.02);
  box-shadow:0 4px 24px rgba(0,0,0,0.25);
}
.img-slot__label{display:none !important}
.img-slot__prompt{display:none}

/* Section defaults for generic pages */
.hero .img-slot{background-image:url("/assets/plant.svg?v=1")}
.section .img-slot{background-image:url("/assets/network.svg?v=1")}
.section--alt .img-slot{background-image:url("/assets/flow.svg?v=1")}
.section--dark .img-slot{background-image:url("/assets/timeline.svg?v=1")}

/* Home page: real PNGs override everything */
.img-slot--h01{background-image:url("/assets/home/h01.png?v=5") !important}
.img-slot--h02{background-image:url("/assets/home/h02.png?v=4") !important}
.img-slot--h03{background-image:url("/assets/home/h03.png?v=4") !important}
.img-slot--h04{background-image:url("/assets/home/h04.png?v=4") !important}
.img-slot--h05{background-image:url("/assets/home/h05.png?v=4") !important}
.img-slot--h06{background-image:url("/assets/home/h06.png?v=4") !important}
.img-slot--h07{background-image:url("/assets/home/h07.png?v=4") !important}


/* === v2.6 fit-to-screen + flow-3 tighter === */
/* image slots restored to original 16:9 sizes */

/* flow-3 restored to original spacing */



/* === v2.7 tighten Core Idea + shrink full-width images === */
/* Reduce vertical space between hero and "The Core Idea" section */
.section.section--alt{padding-top:32px !important}

/* Space between chip-row and the image below it */
.chip-row{margin-bottom:24px}

/* Cap full-width (non-hero) images so they fit the screen. Hero slots keep their size. */
.section .img-slot{
  max-width: calc(58vh * 16 / 9);
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:800px){
  .section .img-slot{max-width:100%}
}


/* === v2.8 shrink flow-3 (Your BI section) === */
.flow-3{max-width:600px !important}
.flow-3__step{padding:12px 18px !important}
.flow-3__label{margin-bottom:4px !important}
.flow-3__arrow{font-size:22px !important; margin:6px 0 !important; line-height:1 !important}
.flow-3__step p{margin:4px 0 0 !important}
.flow-3__step h3{margin:0 !important}


/* === v2.9 alternating split layout for home sections === */
.split{
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 44px;
  align-items: center;
}
.split__text > *:first-child{margin-top:0}
.split__media{width:100%}
/* Reversed direction: image on LEFT, text on RIGHT */
.split--rev .split__text{order:2}
.split--rev .split__media{order:1}
/* Shrink image to fit alongside text nicely */
.split__media .img-slot{
  max-width:100%;
  margin:0;
  border-radius:14px;
}
/* Restore some breathing room in the container */
.section .container:has(.split){padding-top:8px;padding-bottom:8px}
/* Remove the earlier fit-to-screen cap when the image is inside a split */
.split .img-slot{max-width:none !important; margin:0 !important}
/* Responsive: stack on smaller screens */
@media (max-width: 900px){
  .split{grid-template-columns: 1fr; gap: 24px}
  .split--rev .split__text{order:1}
  .split--rev .split__media{order:2}
}


/* === v2.10 center "No rip-and-replace" line under flow-3 === */
.flow-3 ~ p{
  text-align:center;
  max-width:600px;
  margin-left:auto;
  margin-right:auto;
}


/* === v2.11 How It Works PNGs === */
.img-slot--hw01{background-image:url("/assets/hiw/hw01.png?v=2") !important}
.img-slot--hw02{background-image:url("/assets/hiw/hw02.png?v=2") !important}
.img-slot--hw03{background-image:url("/assets/hiw/hw03.png?v=2") !important}
.img-slot--hw04{background-image:url("/assets/hiw/hw04.png?v=2") !important}
.img-slot--hw05{background-image:url("/assets/hiw/hw05.png?v=2") !important}
.img-slot--hw06{background-image:url("/assets/hiw/hw06.png?v=2") !important}
.img-slot--hw07{background-image:url("/assets/hiw/hw07.png?v=2") !important}
.img-slot--hw08{background-image:url("/assets/hiw/hw08.png?v=2") !important}


/* === v2.12 ValueTwin PNGs === */
.img-slot--vt01{background-image:url("/assets/vt/vt01.png?v=2") !important}
.img-slot--vt02{background-image:url("/assets/vt/vt02.png?v=2") !important}
.img-slot--vt03{background-image:url("/assets/vt/vt03.png?v=2") !important}
.img-slot--vt04{background-image:url("/assets/vt/vt04.png?v=2") !important}
.img-slot--vt05{background-image:url("/assets/vt/vt05.png?v=2") !important}
.img-slot--vt06{background-image:url("/assets/vt/vt06.png?v=2") !important}
.img-slot--vt07{background-image:url("/assets/vt/vt07.png?v=2") !important}


/* === v2.13 Solutions PNGs === */
.img-slot--sol1{background-image:url("/assets/sol/sol1.png?v=2") !important}
.img-slot--sol2{background-image:url("/assets/sol/sol2.png?v=2") !important}
.img-slot--sol3{background-image:url("/assets/sol/sol3.png?v=2") !important}
.img-slot--sol4{background-image:url("/assets/sol/sol4.png?v=2") !important}
.img-slot--sol5{background-image:url("/assets/sol/sol5.png?v=2") !important}
.img-slot--sol6{background-image:url("/assets/sol/sol6.png?v=2") !important}
.img-slot--sol7{background-image:url("/assets/sol/sol7.png?v=2") !important}


/* === v2.14 Industries PNGs === */
.img-slot--ind01{background-image:url("/assets/ind/ind01.png?v=2") !important}
.img-slot--ind02{background-image:url("/assets/ind/ind02.png?v=2") !important}
.img-slot--ind03{background-image:url("/assets/ind/ind03.png?v=2") !important}
.img-slot--ind04{background-image:url("/assets/ind/ind04.png?v=2") !important}
.img-slot--ind05{background-image:url("/assets/ind/ind05.png?v=2") !important}
.img-slot--ind06{background-image:url("/assets/ind/ind06.png?v=2") !important}


/* === v2.15 Insights PNGs === */
.img-slot--ins01{background-image:url("/assets/ins/ins01.png?v=2") !important}
.img-slot--ins02{background-image:url("/assets/ins/ins02.png?v=2") !important}
.img-slot--ins03{background-image:url("/assets/ins/ins03.png?v=2") !important}


/* === v2.16 About PNGs === */
.img-slot--abt01{background-image:url("/assets/abt/abt01.png?v=2") !important}
.img-slot--abt02{background-image:url("/assets/abt/abt02.png?v=2") !important}
.img-slot--abt03{background-image:url("/assets/abt/abt03.png?v=2") !important}


/* === v2.17 fix invisible text in hero callouts === */
.hero .callout,
.hero .callout--muted,
.hero .callout p,
.hero .callout strong,
.hero .callout em,
.hero .callout__quote,
.hero .callout .stack-lines > p{
  color: var(--text) !important;
}
.hero .callout--muted{opacity:1 !important}






/* === v2.20 Global font sizes === */
h1{font-size:28px !important; line-height:1.25 !important}
h2{font-size:24px !important; line-height:1.3 !important}
h3{font-size:20px !important; line-height:1.3 !important}
p, p.lead{font-size:16px !important; line-height:1.55 !important}
.cta-primary, .cta-ghost, button.cta-primary, a.cta-primary{
  font-size:12px !important;
  letter-spacing:0.06em;
}


/* === v2.21 force 16:9 on hero image slot === */
/* Stop the hero grid from stretching the image column to match text height */
.hero__grid, .hero .hero__grid{
  align-items: center !important;
}
.hero__grid > div{align-items: initial !important}
/* Lock hero image slot to a true 16:9 box */
.hero .img-slot,
.hero__grid .img-slot{
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: none !important;
  width: 100% !important;
  background-size: cover !important;
  background-position: center !important;
}


/* === v2.22 fixed 512x219 image slots, show whole image === */
/* Site-wide: pin every image slot at 512 × 219 and show the full image (letterboxed) */
.img-slot,
.hero .img-slot,
.hero__grid .img-slot,
.section .img-slot,
.split .img-slot,
.split__media .img-slot,
.grid-1-1-align .img-slot{
  width: 512px !important;
  height: 290px !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  margin: 0 auto !important;
}
/* Make sure the parent columns center the slot instead of stretching it */
.hero__grid, .grid-1-1-align, .split{
  align-items: center !important;
}
.hero__grid > div:has(.img-slot), .grid-1-1-align > div:has(.img-slot), .split__media{
    display: flex !important; justify-content: center !important; align-items: center !important;
  }

/* v2.23 alternate image position across pages */
.grid-1-1-align--rev > :nth-child(1){ order: 2 !important; }
.grid-1-1-align--rev > :nth-child(2){ order: 1 !important; }
@media (max-width: 900px){
  .grid-1-1-align--rev > :nth-child(1){ order: 1 !important; }
  .grid-1-1-align--rev > :nth-child(2){ order: 2 !important; }
}



/* v2.24 alternating 2-col layout for wrapped sections (VT/Solutions/Industries/Insights/About) */
section:not(.hero) .container:has(> .section-body):has(> .img-slot){
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 512px !important;
  gap: 48px !important;
  align-items: center !important;
}
section:not(.hero) .container:has(> .section-body):has(> .img-slot) > .section-body{ grid-column: 1 !important; }
section:not(.hero) .container:has(> .section-body):has(> .img-slot) > .img-slot{
  grid-column: 2 !important; grid-row: 1 !important;
  align-self: center !important; justify-self: center !important; margin: 0 !important;
}
section:not(.hero):nth-of-type(even) .container:has(> .section-body):has(> .img-slot){
  grid-template-columns: 512px minmax(0, 1fr) !important;
}
section:not(.hero):nth-of-type(even) .container:has(> .section-body):has(> .img-slot) > .section-body{ grid-column: 2 !important; }
section:not(.hero):nth-of-type(even) .container:has(> .section-body):has(> .img-slot) > .img-slot{ grid-column: 1 !important; }
@media (max-width: 900px){
  section:not(.hero) .container:has(> .section-body):has(> .img-slot),
  section:not(.hero):nth-of-type(even) .container:has(> .section-body):has(> .img-slot){
    grid-template-columns: 1fr !important;
  }
  section:not(.hero) .container:has(> .section-body):has(> .img-slot) > *,
  section:not(.hero):nth-of-type(even) .container:has(> .section-body):has(> .img-slot) > *{
    grid-column: 1 !important;
  }
}

/* v2.26 compact flow-3 inside home page split (h06 - BI Complement) */
.split .flow-3, .split__text .flow-3{ margin-top: 16px !important; }
.split .flow-3__step, .split__text .flow-3__step{
  padding: 8px 12px !important;
  border-radius: 8px !important;
}
.split .flow-3__label, .split__text .flow-3__label{
  font-size: 11px !important;
  line-height: 1.2 !important;
  letter-spacing: 1.5px !important;
  margin: 0 !important;
}
.split .flow-3__step > *:not(.flow-3__label):not(.chip-row):not(.chip),
.split__text .flow-3__step > *:not(.flow-3__label):not(.chip-row):not(.chip){
  font-size: 13px !important;
  line-height: 1.3 !important;
  margin: 2px 0 0 0 !important;
}
.split .flow-3__arrow, .split__text .flow-3__arrow{
  font-size: 14px !important;
  margin: 2px 0 !important;
  line-height: 1 !important;
}
.split .flow-3 .chip-row, .split__text .flow-3 .chip-row{
  gap: 4px !important;
  margin-top: 4px !important;
}
.split .flow-3 .chip, .split__text .flow-3 .chip{
  padding: 3px 8px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}

/* v2.27 compact check-list inside home page split (h07 - Assessment) */
.split .check-list, .split__text .check-list{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 4px 24px !important;
  margin-top: 12px !important;
  padding: 0 !important;
  list-style: none !important;
}
.split .check-list li, .split__text .check-list li{
  padding: 6px 0 6px 28px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  border: none !important;
}
.split .check-list li::before, .split__text .check-list li::before{
  top: 8px !important;
}
@media (max-width: 900px){
  .split .check-list, .split__text .check-list{
    grid-template-columns: 1fr !important;
  }
}

/* v2.28 spread chips evenly inside flow-3 Existing Systems row (h06 BI Complement) */
.split .flow-3 .chip-row, .split__text .flow-3 .chip-row{
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  gap: 6px !important;
  margin-top: 6px !important;
}
.split .flow-3 .chip-row .chip, .split__text .flow-3 .chip-row .chip{
  flex: 1 1 auto !important;
  text-align: center !important;
  min-width: 0 !important;
}

/* v2.29 polished qa-card style (h05 - 3x2 layout for 6 cards) */
.split .qa-grid, .split__text .qa-grid{
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  margin-top: 16px !important;
}
.split .qa-grid .qa-card, .split__text .qa-grid .qa-card{
  padding: 16px 16px !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  border: 1px solid rgba(45,163,168,0.18) !important;
  box-shadow: 0 1px 2px rgba(15,42,50,0.04), 0 2px 8px rgba(15,42,50,0.05) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.split .qa-grid .qa-card:hover, .split__text .qa-grid .qa-card:hover{
  transform: translateY(-2px) !important;
  border-color: rgba(45,163,168,0.55) !important;
  box-shadow: 0 4px 12px rgba(15,42,50,0.10), 0 8px 24px rgba(45,163,168,0.10) !important;
}
.split .qa-grid .qa-card h3, .split__text .qa-grid .qa-card h3{
  font-size: 14px !important;
  line-height: 1.3 !important;
  margin: 0 0 6px 0 !important;
  color: #0f2a32 !important;
  font-weight: 700 !important;
}
.split .qa-grid .qa-card p, .split__text .qa-grid .qa-card p{
  font-size: 14px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  color: rgba(15,42,50,0.72) !important;
}
@media (max-width: 900px){
  .split .qa-grid, .split__text .qa-grid{
    grid-template-columns: 1fr 1fr !important;
  }
}


/* v2.30 equalize flow-3 step heights (h06 BI Complement) */
.split .flow-3__step, .split__text .flow-3__step{
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 74px !important;
  padding: 10px 14px !important;
}
.split .flow-3 .chip-row, .split__text .flow-3 .chip-row{
  gap: 6px !important;
  margin-top: 4px !important;
  row-gap: 6px !important;
}
.split .flow-3 .chip, .split__text .flow-3 .chip{
  padding: 4px 8px !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
}

/* v2.31 shrink Existing Systems box + inline single-line ValueTwin & Outcome boxes */
.split .flow-3__step, .split__text .flow-3__step{
  min-height: 0 !important;
  padding: 8px 12px !important;
}
.split .flow-3__step .chip-row, .split__text .flow-3__step .chip-row{
  margin-top: 2px !important;
}
.split .flow-3__step--inline, .split__text .flow-3__step--inline{
  padding: 10px 14px !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.split .flow-3__step--inline p, .split__text .flow-3__step--inline p{
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.split .flow-3__step--inline .flow-3__label-inline, .split__text .flow-3__step--inline .flow-3__label-inline{
  font-size: 11px !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  opacity: 0.85 !important;
  font-weight: 800 !important;
}

/* v2.32 tighten chip-row margins inside Existing Systems box */
.split .flow-3 .chip-row, .split__text .flow-3 .chip-row{
  margin: 4px 0 0 0 !important;
}

/* v2.33 compact check-list inside grid-1-1-align (How It Works page steps) */
.grid-1-1-align .check-list{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 4px 24px !important;
  margin-top: 12px !important;
  padding: 0 !important;
  list-style: none !important;
}
.grid-1-1-align .check-list li{
  padding: 6px 0 6px 28px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  border: none !important;
}
.grid-1-1-align .check-list li::before{
  top: 8px !important;
}
@media (max-width: 900px){
  .grid-1-1-align .check-list{
    grid-template-columns: 1fr !important;
  }
}

/* v2.35 compact grid cards inside section-body next to img-slot (VT/Solutions/Industries/Insights/About) */
section:not(.hero) .section-body .grid-4,
section:not(.hero) .section-body .grid-3,
section:not(.hero) .section-body .grid-2{
  gap: 8px !important;
  margin-top: 12px !important;
}
section:not(.hero) .section-body .grid-4{
  grid-template-columns: repeat(2, 1fr) !important;
}
section:not(.hero) .section-body .grid-3{
  grid-template-columns: repeat(2, 1fr) !important;
}
section:not(.hero) .section-body .card{
  padding: 10px 12px !important;
  border-radius: 8px !important;
}
section:not(.hero) .section-body .card h3{
  font-size: 14px !important;
  line-height: 1.25 !important;
  margin: 0 0 4px 0 !important;
  font-weight: 700 !important;
}
section:not(.hero) .section-body .card p{
  font-size: 13px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}
@media (max-width: 900px){
  section:not(.hero) .section-body .grid-4,
  section:not(.hero) .section-body .grid-3,
  section:not(.hero) .section-body .grid-2{
    grid-template-columns: 1fr 1fr !important;
  }
}

/* v2.36 tight check-list inside section-body (VT/Solutions/Industries/Insights/About) */
section:not(.hero) .section-body .check-list{
  margin-top: 8px !important;
  padding: 0 !important;
  list-style: none !important;
}
section:not(.hero) .section-body .check-list li{
  padding: 4px 0 4px 28px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  border: none !important;
}
section:not(.hero) .section-body .check-list li::before{
  top: 6px !important;
}

/* v2.37 compact quote-card inside section-body (VT AI section and similar) */
section:not(.hero) .section-body .quote-card{
  padding: 10px 14px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}
section:not(.hero) .section-body .quote-card strong{
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
section:not(.hero) .section-body .grid-2:has(.quote-card){
  gap: 8px !important;
  margin-top: 12px !important;
}

/* v2.38 tighten check-list everywhere on non-home content pages (VT/Solutions/Industries/Insights/About) */
section:not(.hero) .container .check-list,
section:not(.hero) .container-narrow .check-list{
  margin-top: 8px !important;
  padding: 0 !important;
  list-style: none !important;
}
section:not(.hero) .container .check-list li,
section:not(.hero) .container-narrow .check-list li{
  padding: 4px 0 4px 28px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  border: none !important;
}
section:not(.hero) .container .check-list li::before,
section:not(.hero) .container-narrow .check-list li::before{
  top: 6px !important;
}

/* v2.39 uniform section height on home page - match "The ValueTwin Approach" (568px) */
.home-page section:has(.split){
  min-height: 568px !important;
  display: flex !important;
  align-items: center !important;
}
.home-page section:has(.split) > .container{ width: 100% !important; }
.home-page .split .check-list{ margin-top: 6px !important; }
.home-page .split .check-list li{ padding: 3px 0 3px 28px !important; }
.home-page .split .check-list li::before{ top: 5px !important; }
.home-page .split > .split__text > .mt-16{ margin-top: 10px !important; }
.home-page .split > .split__text > .mt-32{ margin-top: 14px !important; }

/* v2.40 match hero section height to 568 (home) */
.home-page section.hero{ min-height: 568px !important; display: flex !important; align-items: center !important; }
.home-page section.hero > .container{ width: 100% !important; }


/* v2.41 uniform section height (568px) across all pages - includes full-width sections */
section.hero,
section.section{
  min-height: 568px !important;
  display: flex !important;
  align-items: center !important;
}
section.hero > .container,
section.section > .container,
section.section > .container-narrow{
  width: 100% !important;
}

/* v2.45 What the Model Represents: 3-col grid, 14px card font */
section:has(.img-slot--vt02) .section-body .grid-4{
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
}
section:has(.img-slot--vt02) .section-body .card{
  padding: 12px 14px !important;
}
section:has(.img-slot--vt02) .section-body .card h3{
  font-size: 14px !important;
  line-height: 1.3 !important;
  margin: 0 0 4px 0 !important;
}
section:has(.img-slot--vt02) .section-body .card p{
  font-size: 14px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}








/* v2.52 Complete Loop - all boxes left-aligned, vertical arrows below each box */
section:has(.img-slot--hw08) .loop-5{
  display: grid !important;
  grid-template-columns: minmax(0, max-content) 48px minmax(0, max-content) !important;
  grid-template-rows: auto 36px auto 36px auto !important;
  gap: 0 !important;
  align-items: center !important;
  justify-content: start !important;
  margin-top: 16px !important;
  flex-wrap: nowrap !important;
}
section:has(.img-slot--hw08) .loop-5__step{
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  width: auto !important;
  margin: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  justify-self: stretch !important;
  align-self: center !important;
}
section:has(.img-slot--hw08) .loop-5__num{
  font-size: 11px !important;
  padding: 1px 8px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  border-radius: 6px !important;
  letter-spacing: 0.5px !important;
  flex: 0 0 auto !important;
}
section:has(.img-slot--hw08) .loop-5__step strong{
  font-size: 14px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  display: inline !important;
  flex: 0 0 auto !important;
}
section:has(.img-slot--hw08) .loop-5__step p{
  font-size: 14px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  color: var(--text-muted, #5A6776) !important;
  display: inline !important;
  flex: 0 0 auto !important;
  padding-left: 2px !important;
}
section:has(.img-slot--hw08) .loop-5__arrow{
  font-size: 0 !important;
  color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  transform: none !important;
  text-align: center !important;
  min-width: 0 !important;
  min-height: 0 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  display: block !important;
}

/* Positions - all boxes left-aligned in their column */
section:has(.img-slot--hw08) .loop-5 > *:nth-child(1){ grid-column: 1 !important; grid-row: 1 !important; justify-self: stretch !important; }
section:has(.img-slot--hw08) .loop-5 > *:nth-child(3){ grid-column: 3 !important; grid-row: 1 !important; justify-self: stretch !important; }
section:has(.img-slot--hw08) .loop-5 > *:nth-child(5){ grid-column: 3 !important; grid-row: 3 !important; justify-self: stretch !important; }
section:has(.img-slot--hw08) .loop-5 > *:nth-child(7){ grid-column: 1 !important; grid-row: 3 !important; justify-self: stretch !important; }
section:has(.img-slot--hw08) .loop-5 > *:nth-child(9){ grid-column: 1 !important; grid-row: 5 !important; justify-self: stretch !important; }

section:has(.img-slot--hw08) .loop-5 > *:nth-child(2){
  grid-column: 2 !important; grid-row: 1 !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 100 20' preserveAspectRatio='none'><line x1='0' y1='10' x2='88' y2='10' stroke='%232da3a8' stroke-width='2'/><polygon points='85,4 100,10 85,16' fill='%232da3a8'/></svg>") !important;
  background-size: 100% 20px !important;
}
section:has(.img-slot--hw08) .loop-5 > *:nth-child(4){
  grid-column: 3 !important; grid-row: 2 !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 20 100' preserveAspectRatio='none'><line x1='10' y1='0' x2='10' y2='88' stroke='%232da3a8' stroke-width='2'/><polygon points='4,85 10,100 16,85' fill='%232da3a8'/></svg>") !important;
  background-size: 20px 100% !important;
  background-position: center center !important;
}
section:has(.img-slot--hw08) .loop-5 > *:nth-child(6){
  grid-column: 2 !important; grid-row: 3 !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 100 20' preserveAspectRatio='none'><line x1='12' y1='10' x2='100' y2='10' stroke='%232da3a8' stroke-width='2'/><polygon points='15,4 0,10 15,16' fill='%232da3a8'/></svg>") !important;
  background-size: 100% 20px !important;
}
section:has(.img-slot--hw08) .loop-5 > *:nth-child(8){
  grid-column: 1 !important; grid-row: 4 !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 20 100' preserveAspectRatio='none'><line x1='10' y1='0' x2='10' y2='88' stroke='%232da3a8' stroke-width='2'/><polygon points='4,85 10,100 16,85' fill='%232da3a8'/></svg>") !important;
  background-size: 20px 100% !important;
  background-position: center center !important;
}

/* v2.53 fit flow-inline chain on one row inside section-body */
section:not(.hero) .section-body .flow-inline{
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 4px !important;
  margin-top: 16px !important;
  max-width: 100% !important;
}
section:not(.hero) .section-body .flow-inline__step{
  padding: 6px 10px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}
section:not(.hero) .section-body .flow-inline__arrow{
  font-size: 14px !important;
  line-height: 1 !important;
  padding: 0 2px !important;
  flex: 0 0 auto !important;
}
