/*
 * Theme Name:   Vermont Composites Child Theme
 * Theme URI:    https://vtcomposites.com
 * Description:  Custom Divi child theme for Vermont Composites â€” aerospace & medical composite manufacturer.
 * Author:       Fronetics Strategic Advisors
 * Author URI:   https://fronetics.com
 * Template:     Divi
 * Version:      1.0.0
 * Text Domain:  vtc-child
 * License:      Private
 */

/* ===================================================================
   TABLE OF CONTENTS
   -------------------------------------------------------------------
   1.  CSS Custom Properties (Design Tokens)
   2.  Google Fonts Import
   3.  Global Reset & Base Styles
   4.  Typography
   5.  Divi Global Overrides
   6.  Navigation / Header
   7.  Buttons
   8.  Section Labels & Titles (Reusable)
   9.  Homepage â€” Hero
   10. Homepage â€” Company Snapshot
   11. Homepage â€” Markets
   12. Homepage â€” Programs / Logo Bar
   13. Homepage â€” Why Vermont Composites
   14. Inner Pages â€” Page Hero
   15. Company Page â€” About / Overview
   16. Company Page â€” Facility
   17. Company Page â€” Leadership
   18. Company Page â€” Certifications
   19. Capabilities Page â€” Capabilities Grid
   20. Capabilities Page â€” Design-to-Production Flow
   21. Capabilities Page â€” Equipment Grid
   22. Capabilities Page â€” Manufacturing Photos
   23. Capabilities Page â€” Markets Detail
   24. Careers Page â€” Who We Are
   25. Careers Page â€” Differentiators
   26. Careers Page â€” Open Positions
   27. Careers Page â€” Life in Bennington
   28. Privacy Policy Page
   29. Global Contact Module
   30. Footer
   31. Scroll Reveal Animations
   32. Responsive â€” Tablet (max-width: 1024px)
   33. Responsive â€” Mobile (max-width: 768px)
   34. Utility Classes
   =================================================================== */


/* ==========================================================================
   1. CSS CUSTOM PROPERTIES (Design Tokens)
   ========================================================================== */

:root {
  /* Brand Colors */
  --vtc-orange:        #D4782A;
  --vtc-orange-light:  #E8944A;
  --vtc-dark:          #1E2532;
  --vtc-darker:        #151B26;
  --vtc-charcoal:      #2D3748;
  --vtc-slate:         #4A5568;
  --vtc-light-slate:   #718096;
  --vtc-off-white:     #F7F8FA;
  --vtc-white:         #FFFFFF;
  --vtc-border:        #E2E8F0;

  /* Typography */
  --vtc-font-display:  'Barlow Condensed', sans-serif;
  --vtc-font-body:     'Barlow', sans-serif;

  /* Spacing */
  --vtc-section-pad:   100px;
  --vtc-container-max: 1280px;
  --vtc-container-pad: 40px;

  /* Transitions */
  --vtc-ease:          cubic-bezier(0.16, 1, 0.3, 1);
}


/* ==========================================================================
   2. GOOGLE FONTS IMPORT (loaded via functions.php, fallback here)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800&family=Barlow+Condensed:wght@400;500;600;700&display=swap');


/* ==========================================================================
   3. GLOBAL RESET & BASE STYLES
   ========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body,
#page-container {
  font-family: 'Barlow', sans-serif !important;
  color: #2D3748;
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
}


/* ==========================================================================
   4. TYPOGRAPHY
   ========================================================================== */

h1, h2, h3, h4, h5, h6,
.et_pb_module_header,
.et_pb_slide_description .et_pb_slide_title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700;
  line-height: 1.1;
}

body,
p,
.et_pb_text_inner p,
.et_pb_blurb_description p,
.et_pb_toggle_content p {
  font-family: 'Barlow', sans-serif !important;
  font-size: 16px;
  line-height: 1.7;
  color: #2D3748;
}

a {
  transition: color 0.25s ease;
}


/* ==========================================================================
   5. DIVI GLOBAL OVERRIDES
   ========================================================================== */

/* Remove default Divi section padding for precise control */
.et_pb_section {
  padding: 0 !important;
}

/* VTC sections get controlled padding */
.et_pb_section.vtc-section {
  padding: 100px 0 !important;
}

.et_pb_section.vtc-section-dark {
  background: #151B26 !important;
  padding: 100px 0 !important;
}

.et_pb_section.vtc-section-alt {
  background: #F7F8FA !important;
  padding: 100px 0 !important;
}

/* Container width */
.et_pb_row,
.et_pb_row_inner {
  max-width: 1280px !important;
  padding: 0 40px !important;
  width: 100% !important;
}

/* Remove default Divi gutters for custom layouts */
.et_pb_column {
  margin-bottom: 0 !important;
}

/* Remove default Divi bottom margin on modules */
.et_pb_module {
  margin-bottom: 0 !important;
}

/* Override Divi's default body background */
#main-content {
  background: #FFFFFF;
}


/* ==========================================================================
   6. NAVIGATION / HEADER
   ========================================================================== */

/* Main Header â€” Fixed dark nav */
#main-header,
#main-header.et-fixed-header {
  background-color: #151B26 !important;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  box-shadow: none !important;
  transition: background 0.3s, box-shadow 0.3s;
}

/* Scrolled state */
#main-header.et-fixed-header {
  background-color: rgba(21, 27, 38, 0.97) !important;
  box-shadow: 0 2px 24px rgba(0,0,0,0.3) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Logo area */
#logo {
  max-height: 38px !important;
  width: auto !important;
}

.logo_container {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

/* Navigation container */
.et_pb_menu__wrap {
  display: flex;
  align-items: center;
}

/* Nav links */
#top-menu li a,
.et-menu-nav li a {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.75) !important;
  text-decoration: none !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding: 0 18px !important;
  transition: color 0.25s !important;
  position: relative;
}

#top-menu li a:hover,
#top-menu li.current-menu-item a,
.et-menu-nav li a:hover {
  color: #FFFFFF !important;
  opacity: 1 !important;
}

/* Underline hover effect on nav links */
#top-menu li a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: #D4782A;
  transition: width 0.3s;
}

#top-menu li a:hover::after {
  width: 100%;
}

/* Active page â€” suppress orange underline (Divi dynamic CSS override) */
.et-menu li.current-menu-item > a::after,
.et-menu li.current-menu-ancestor > a::after,
.et-menu li.current_page_item > a::after {
  display: none !important;
}

.et-menu li > a {
  position: relative !important;
}

/* CTA nav button â€” "Contact Us" */
#top-menu li.vtc-nav-cta a,
#top-menu li.menu-item-has-cta a {
  background: #D4782A !important;
  color: #FFFFFF !important;
  padding: 10px 24px !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: background 0.3s, transform 0.2s !important;
}

#top-menu li.vtc-nav-cta a::after {
  display: none !important;
}

#top-menu li.vtc-nav-cta a:hover {
  background: #E8944A !important;
  transform: translateY(-1px);
}

/* Hide Divi default nav separator */
#top-menu li::before {
  display: none !important;
}

/* Dropdown sub-menus */
.et-menu ul.sub-menu li a,
.et-menu ul li ul li a {
  color: #1E2532 !important;
  background: transparent !important;
}

.et-menu ul.sub-menu li a:hover,
.et-menu ul li ul li a:hover {
  color: #D4782A !important;
}

.et-menu ul.sub-menu li {
  border-color: #E2E8F0 !important;
}

.et-menu ul.sub-menu li.current-menu-item > a,
.et-menu ul.sub-menu li.current_page_item > a {
  color: #1E2532 !important;
}

.et-menu ul.sub-menu li.current-menu-item > a::after,
.et-menu ul.sub-menu li.current_page_item > a::after {
  display: none !important;
}

/* Divi Theme Builder menu module â€” sub-menu overrides */
#main-header .et-menu ul.sub-menu li a,
#main-header .et-menu ul li ul li a,
.et_pb_menu_0_tb_header.et_pb_menu ul.sub-menu li a,
.et_pb_menu_0_tb_header.et_pb_menu ul.sub-menu li.current-menu-ancestor a,
.et_pb_menu_0_tb_header.et_pb_menu ul.sub-menu li.current-menu-item a {
  color: #1E2532 !important;
  background-color: #ffffff !important;
}

#main-header .et-menu ul.sub-menu li a:hover,
#main-header .et-menu ul li ul li a:hover,
.et_pb_menu_0_tb_header.et_pb_menu ul.sub-menu li a:hover {
  color: #D4782A !important;
}

#main-header .et-menu ul.sub-menu li.current-menu-item > a,
#main-header .et-menu ul.sub-menu li.current_page_item > a {
  color: #1E2532 !important;
}

/* Mobile menu icon color */
.mobile_menu_bar::before,
.mobile_menu_bar::after {
  color: #FFFFFF !important;
}

/* Mobile menu styling */
.et_mobile_menu {
  background: #151B26 !important;
  border-color: rgba(255,255,255,0.08) !important;
}

.et_mobile_menu li a {
  color: rgba(255,255,255,0.75) !important;
  border-color: rgba(255,255,255,0.06) !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  font-size: 14px !important;
}

.et_mobile_menu li a:hover {
  color: #D4782A !important;
}


/* ==========================================================================
   7. BUTTONS
   ========================================================================== */

/* Primary Button â€” Orange filled */
.et_pb_button.vtc-btn-primary,
.vtc-btn-primary .et_pb_button {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  background: #D4782A !important;
  color: #FFFFFF !important;
  padding: 16px 36px !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  border: none !important;
  transition: background 0.3s, transform 0.2s, box-shadow 0.3s !important;
}

.et_pb_button.vtc-btn-primary:hover,
.vtc-btn-primary .et_pb_button:hover {
  background: #E8944A !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(212,120,42,0.3) !important;
}

.et_pb_button.vtc-btn-primary::after {
  font-size: 16px !important;
  margin-left: 8px;
  transition: transform 0.3s;
}

.et_pb_button.vtc-btn-primary:hover::after {
  transform: translateX(4px);
}

/* Secondary Button â€” Ghost/text style */
.et_pb_button.vtc-btn-secondary {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.6) !important;
  padding: 16px 24px !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0.5px !important;
  background: transparent !important;
  border: none !important;
  transition: color 0.3s !important;
}

.et_pb_button.vtc-btn-secondary:hover {
  color: #FFFFFF !important;
}

/* Outline Button (Careers job cards) */
.et_pb_button.vtc-btn-outline {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  background: transparent !important;
  border: 2px solid #D4782A !important;
  color: #D4782A !important;
  padding: 10px 24px !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  transition: all 0.3s !important;
}

.et_pb_button.vtc-btn-outline:hover {
  background: #D4782A !important;
  color: #FFFFFF !important;
}

/* Generic Divi button override for VTC site */
.et_pb_button {
  font-family: 'Barlow', sans-serif !important;
}


/* ==========================================================================
   8. SECTION LABELS & TITLES (Reusable via CSS Classes)
   ========================================================================== */

/* Section Label â€” small orange all-caps with accent bar */
.vtc-section-label,
.vtc-section-label .et_pb_text_inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.vtc-section-label,
.vtc-section-label .et_pb_text_inner,
.vtc-section-label .et_pb_text_inner p {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #D4782A !important;
  margin-bottom: 16px !important;
}

.vtc-section-label .et_pb_text_inner p {
  margin-bottom: 0 !important;
}

.vtc-section-label .et_pb_text_inner::before {
  content: '';
  width: 28px;
  height: 2px;
  background: #D4782A;
  flex-shrink: 0;
}

/* Centered variant */
.vtc-section-label-center,
.vtc-section-label-center .et_pb_text_inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
}

.vtc-section-label-center,
.vtc-section-label-center .et_pb_text_inner,
.vtc-section-label-center .et_pb_text_inner p {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #D4782A !important;
  margin-bottom: 16px !important;
  text-align: center !important;
}

.vtc-section-label-center .et_pb_text_inner p {
  margin-bottom: 0 !important;
}

.vtc-section-label-center .et_pb_text_inner::before {
  content: '';
  width: 28px;
  height: 2px;
  background: #D4782A;
  flex-shrink: 0;
}

/* Force left-align on non-centered labels regardless of Divi alignment */
div[class*="vtc-section-label"]:not([class*="center"]) .et_pb_text_inner,
div[class*="vtc-hero-label"] .et_pb_text_inner,
div[class*="vtc-page-hero-label"] .et_pb_text_inner {
  text-align: left !important;
  justify-content: flex-start !important;
}

/* Section Title â€” Large display heading */
.vtc-section-title h2,
.vtc-section-title .et_pb_text_inner h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(32px, 3.5vw, 48px) !important;
  line-height: 1.1 !important;
  color: #1E2532 !important;
  margin-bottom: 20px !important;
}

/* Title on dark backgrounds */
.vtc-section-dark .vtc-section-title h2,
.vtc-section-dark .vtc-section-title .et_pb_text_inner h2 {
  color: #FFFFFF !important;
}

/* Section Subtitle */
.vtc-section-subtitle,
.vtc-section-subtitle .et_pb_text_inner p {
  font-size: 18px !important;
  color: #718096 !important;
  max-width: 600px;
  line-height: 1.65 !important;
}

.vtc-section-dark .vtc-section-subtitle p,
.vtc-section-dark .vtc-section-subtitle .et_pb_text_inner p {
  color: rgba(255,255,255,0.55) !important;
}

/* Centered section header combo */
.vtc-header-center {
  text-align: center !important;
}

.vtc-header-center .vtc-section-subtitle .et_pb_text_inner p {
  margin: 0 auto;
}


/* ==========================================================================
   9. HOMEPAGE â€” HERO
   ========================================================================== */

.vtc-hero {
  position: relative !important;
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  background: #151B26 !important;
  overflow: hidden !important;
}

/* Hero background gradient overlay */
.vtc-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg,
      rgba(30,37,50,0.95) 0%,
      rgba(30,37,50,0.7) 50%,
      rgba(212,120,42,0.15) 100%);
  z-index: 1;
  pointer-events: none;
}

/* Subtle grid pattern */
.vtc-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  z-index: 1;
  pointer-events: none;
}

/* Orange accent bar at bottom of hero */
.vtc-hero-accent {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, #D4782A, #E8944A, transparent) !important;
  z-index: 3 !important;
}

.vtc-hero .et_pb_row {
  position: relative !important;
  z-index: 2 !important;
  padding-top: 120px !important;
  padding-bottom: 80px !important;
}

/* Hero label */
.vtc-hero-label,
.vtc-hero-label .et_pb_text_inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.2s forwards;
}

.vtc-hero-label,
.vtc-hero-label .et_pb_text_inner,
.vtc-hero-label .et_pb_text_inner p {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #D4782A !important;
  margin-bottom: 24px !important;
}

.vtc-hero-label .et_pb_text_inner p {
  margin-bottom: 0 !important;
}

.vtc-hero-label .et_pb_text_inner::before {
  content: '';
  width: 40px;
  height: 2px;
  background: #D4782A;
  flex-shrink: 0;
}

/* Hero title */
.vtc-hero-title h1,
.vtc-hero-title .et_pb_text_inner h1 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(42px, 5.5vw, 72px) !important;
  line-height: 1.05 !important;
  color: #FFFFFF !important;
  max-width: 780px !important;
  margin-bottom: 28px !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.4s forwards;
}

/* Orange emphasis in hero title */
.vtc-hero-title em,
.vtc-hero-title .et_pb_text_inner em {
  font-style: normal !important;
  color: #D4782A !important;
}

/* Hero subtitle */
.vtc-hero-sub,
.vtc-hero-sub .et_pb_text_inner p {
  font-size: 19px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.6) !important;
  max-width: 560px !important;
  margin-bottom: 44px !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.6s forwards;
}

/* Hero buttons container */
.vtc-hero-actions {
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.8s forwards;
}

.vtc-hero-actions .et_pb_button_module_wrapper {
  display: inline-flex !important;
  margin-right: 16px !important;
}

/* Hero stats row */
.vtc-hero-stats .et_pb_row {
  display: flex !important;
  gap: 60px !important;
  padding-top: 40px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 1s forwards;
}

.vtc-hero-stats .et_pb_column {
  flex: none !important;
  width: auto !important;
}

.vtc-stat-number,
.vtc-stat-number .et_pb_text_inner,
.vtc-stat-number .et_pb_text_inner p {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 36px !important;
  color: #D4782A !important;
  line-height: 1 !important;
  margin-bottom: 0 !important;
}

.vtc-stat-label,
.vtc-stat-label .et_pb_text_inner,
.vtc-stat-label .et_pb_text_inner p {
  font-size: 13px !important;
  color: rgba(255,255,255,0.45) !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  margin-top: 8px !important;
}


/* ==========================================================================
   10. HOMEPAGE â€” COMPANY SNAPSHOT
   ========================================================================== */

.vtc-snapshot .et_pb_row {
  align-items: center !important;
}

.vtc-snapshot .et_pb_text_inner p {
  font-size: 17px !important;
  color: #4A5568 !important;
  line-height: 1.75 !important;
  margin-bottom: 20px !important;
}

/* Competency tags grid */
.vtc-competencies {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin-top: 32px !important;
}

/* Individual competency tag */
.vtc-competency,
.vtc-competency .et_pb_blurb_content {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #2D3748 !important;
  padding: 12px 16px !important;
  background: #F7F8FA !important;
  border-radius: 6px !important;
  border-left: 3px solid #D4782A !important;
}

.vtc-competency .et_pb_main_blurb_image {
  width: 20px !important;
  flex-shrink: 0;
  color: #D4782A !important;
  margin: 0 !important;
}

/* Certification badges */
.vtc-badges {
  display: flex !important;
  gap: 24px !important;
  margin-top: 36px !important;
  padding-top: 28px !important;
  border-top: 1px solid #E2E8F0 !important;
}

.vtc-badge {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  padding: 14px 24px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #2D3748 !important;
  letter-spacing: 0.5px !important;
}

/* Snapshot image */
.vtc-snapshot-image {
  position: relative !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.vtc-snapshot-image::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #D4782A;
}

.vtc-snapshot-image img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}


/* ==========================================================================
   11. HOMEPAGE â€” MARKETS
   ========================================================================== */

.vtc-markets-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  margin-top: 56px !important;
}

/* Market card */
.vtc-market-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  position: relative !important;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s !important;
}

.vtc-market-card::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #D4782A;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s;
  z-index: 2;
}

.vtc-market-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.08) !important;
  border-color: #D4782A !important;
}

.vtc-market-card:hover::before {
  transform: scaleX(1);
}

.vtc-market-card .et_pb_image_wrap {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  margin-bottom: 24px;
}

.vtc-market-card .et_pb_image_wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.vtc-market-card h3,
.vtc-market-card .et_pb_module_header {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  color: #1E2532 !important;
  margin-bottom: 14px !important;
  padding: 0 32px !important;
}

.vtc-market-card p,
.vtc-market-card .et_pb_blurb_description p {
  font-size: 15px !important;
  color: #718096 !important;
  line-height: 1.7 !important;
  padding: 0 32px 32px !important;
}


/* ==========================================================================
   12. HOMEPAGE â€” PROGRAMS / LOGO BAR
   ========================================================================== */

/* Logo bar (client names as text) */
.vtc-logo-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 56px !important;
  flex-wrap: wrap !important;
  margin-top: 56px !important;
  padding: 48px 0 !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

.vtc-logo-item,
.vtc-logo-item .et_pb_text_inner,
.vtc-logo-item .et_pb_text_inner p {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: rgba(255,255,255,0.35) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  transition: color 0.3s !important;
  margin-bottom: 0 !important;
}

.vtc-logo-item:hover {
  color: rgba(255,255,255,0.7) !important;
}

/* Platforms grid */
.vtc-platforms-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  margin-top: 48px !important;
}

/* Platform card */
.vtc-platform-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 8px !important;
  padding: 28px 24px !important;
  transition: background 0.3s, border-color 0.3s !important;
}

.vtc-platform-card:hover {
  background: rgba(255,255,255,0.07) !important;
  border-color: rgba(212,120,42,0.3) !important;
}

.vtc-platform-card h4,
.vtc-platform-card .et_pb_module_header {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: #D4782A !important;
  margin-bottom: 8px !important;
  letter-spacing: 0.5px !important;
}

.vtc-platform-card p,
.vtc-platform-card .et_pb_blurb_description p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.45) !important;
  line-height: 1.6 !important;
}


/* ==========================================================================
   13. HOMEPAGE â€” WHY VERMONT COMPOSITES
   ========================================================================== */

.vtc-why-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 28px !important;
  margin-top: 56px !important;
}

/* Why card */
.vtc-why-card {
  padding: 40px !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  transition: transform 0.3s, box-shadow 0.3s !important;
}

.vtc-why-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.06) !important;
}

/* Numbered badge */
.vtc-why-num,
.vtc-why-num .et_pb_text_inner,
.vtc-why-num .et_pb_text_inner p {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 48px !important;
  color: #D4782A !important;
  opacity: 0.2 !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.vtc-why-card h3,
.vtc-why-card .et_pb_module_header {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: #1E2532 !important;
  margin-bottom: 14px !important;
}

.vtc-why-card p,
.vtc-why-card .et_pb_blurb_description p {
  font-size: 15px !important;
  color: #718096 !important;
  line-height: 1.7 !important;
}


/* ==========================================================================
   14. INNER PAGES â€” PAGE HERO (Company, Capabilities, Careers)
   ========================================================================== */

.vtc-page-hero {
  position: relative !important;
  padding: 160px 0 100px !important;
  background: #151B26 !important;
  overflow: hidden !important;
}

/* Grid pattern overlay */
.vtc-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
}

/* Orange accent bar */
.vtc-page-hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #D4782A, #E8944A, transparent);
  z-index: 2;
}

.vtc-page-hero .et_pb_row {
  position: relative !important;
  z-index: 2 !important;
}

.vtc-page-hero-label,
.vtc-page-hero-label .et_pb_text_inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.2s forwards;
}

.vtc-page-hero-label,
.vtc-page-hero-label .et_pb_text_inner,
.vtc-page-hero-label .et_pb_text_inner p {
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #D4782A !important;
  margin-bottom: 20px !important;
}

.vtc-page-hero-label .et_pb_text_inner p {
  margin-bottom: 0 !important;
}

.vtc-page-hero-label .et_pb_text_inner::before {
  content: '';
  width: 40px;
  height: 2px;
  background: #D4782A;
  flex-shrink: 0;
}

.vtc-page-hero-title h1,
.vtc-page-hero-title .et_pb_text_inner h1 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 1.08 !important;
  color: #FFFFFF !important;
  max-width: 750px !important;
  margin-bottom: 24px !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.4s forwards;
}

.vtc-page-hero-title em,
.vtc-page-hero-title .et_pb_text_inner em {
  font-style: normal !important;
  color: #D4782A !important;
}

.vtc-page-hero-sub,
.vtc-page-hero-sub .et_pb_text_inner p {
  font-size: 19px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.55) !important;
  max-width: 620px !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.6s forwards;
}


/* ==========================================================================
   15. COMPANY PAGE â€” ABOUT / OVERVIEW
   ========================================================================== */

.vtc-about-grid .et_pb_row {
  align-items: start !important;
}

.vtc-about-grid .et_pb_text_inner p {
  font-size: 17px !important;
  color: #4A5568 !important;
  line-height: 1.75 !important;
  margin-bottom: 20px !important;
}

/* About page image with orange bar */
.vtc-about-image {
  position: relative !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.vtc-about-image::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #D4782A;
}


/* ==========================================================================
   16. COMPANY PAGE â€” FACILITY
   ========================================================================== */

/* Facility cards grid (white cards â€” used on Company page) */
.vtc-facility-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  margin-top: 48px !important;
}

/* Facility card â€” white with orange left-border on hover */
.vtc-facility-card {
  padding: 36px 28px !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  transition: transform 0.3s, box-shadow 0.3s;
  position: relative;
  overflow: hidden;
}

.vtc-facility-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: #D4782A;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.4s;
}

.vtc-facility-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.06);
}

.vtc-facility-card:hover::before {
  transform: scaleY(1);
}

.vtc-facility-card-icon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #1E2532, #2D3748);
  display: flex;
  align-items: center;
  justify-content: center;
}

.vtc-facility-card-icon svg {
  width: 24px;
  height: 24px;
  color: #D4782A;
}

.vtc-facility-card h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  color: #1E2532 !important;
  margin-bottom: 14px !important;
}

.vtc-facility-card p {
  font-size: 14px !important;
  color: #718096 !important;
  line-height: 1.7 !important;
}

/* Facility stat cards â€” dark bg (alternate layout) */
.vtc-facility-stat {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 8px !important;
  padding: 28px !important;
  transition: border-color 0.3s !important;
}

.vtc-facility-stat:hover {
  border-color: rgba(212,120,42,0.3) !important;
}

.vtc-facility-stat-num,
.vtc-facility-stat-num .et_pb_text_inner,
.vtc-facility-stat-num .et_pb_text_inner p {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 32px !important;
  color: #D4782A !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.vtc-facility-stat-label,
.vtc-facility-stat-label .et_pb_text_inner,
.vtc-facility-stat-label .et_pb_text_inner p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.5) !important;
}

/* Facility photos grid */
.vtc-facility-photos {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  margin-top: 48px !important;
}

.vtc-facility-photo {
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #1E2532 !important;
  aspect-ratio: 1/1 !important;
}

.vtc-facility-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}


/* ==========================================================================
   17. COMPANY PAGE â€” LEADERSHIP
   ========================================================================== */

/* Leadership grid */
.vtc-leadership-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  margin-top: 48px !important;
}

/* Card container â€” Divi Person module */
.vtc-leader-card.et_pb_team_member {
  text-align: center !important;
  padding: 40px 28px !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 8px !important;
  transition: background 0.3s, border-color 0.3s !important;
}

.vtc-leader-card.et_pb_team_member:hover {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(212,120,42,0.2) !important;
}

/* Photo */
.vtc-leader-card .et_pb_team_member_image {
  width: 120px !important;
  height: 120px !important;
  margin: 0 auto 24px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 3px solid rgba(212,120,42,0.3) !important;
}

.vtc-leader-card .et_pb_team_member_image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  border-radius: 50% !important;
}

/* Name */
.vtc-leader-card h4,
.vtc-leader-card .et_pb_module_header {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: #FFFFFF !important;
  margin-bottom: 4px !important;
}

/* Title/Position */
.vtc-leader-card .et_pb_member_position {
  font-size: 14px !important;
  color: #D4782A !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 16px !important;
}

/* Bio text */
.vtc-leader-card .et_pb_team_member_description p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.4) !important;
  line-height: 1.7 !important;
}

/* Accordion inside Person module */
.vtc-leader-card .et_pb_toggle {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 6px !important;
  margin-top: 12px !important;
}

.vtc-leader-card .et_pb_toggle_title {
  font-size: 13px !important;
  color: rgba(255,255,255,0.5) !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
}

.vtc-leader-card .et_pb_toggle_content p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.4) !important;
  line-height: 1.7 !important;
}

/* Hide social icons */
.vtc-leader-card .et_pb_member_social_links {
  display: none !important;
}


/* ==========================================================================
   18. COMPANY PAGE â€” CERTIFICATIONS
   ========================================================================== */

.vtc-certs-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  margin-top: 48px !important;
  align-items: start !important;
}

.vtc-cert-block h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  color: #FFFFFF !important;
  margin-bottom: 12px !important;
}

.vtc-cert-badges {
  display: flex !important;
  gap: 16px !important;
  margin-top: 24px !important;
}

.vtc-cert-badge {
  background: rgba(212,120,42,0.1) !important;
  border: 1px solid rgba(212,120,42,0.25) !important;
  border-radius: 6px !important;
  padding: 12px 20px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #D4782A !important;
  letter-spacing: 0.5px !important;
}


/* ==========================================================================
   19. CAPABILITIES PAGE â€” CAPABILITIES GRID
   ========================================================================== */

.vtc-capabilities-grid,
.vtc-cap-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 28px !important;
  margin-top: 48px !important;
}

.vtc-cap-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  padding: 36px !important;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s !important;
}

.vtc-cap-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.06) !important;
  border-color: #D4782A !important;
}

.vtc-cap-card h3,
.vtc-cap-card .et_pb_module_header {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: #1E2532 !important;
  margin-bottom: 14px !important;
}

.vtc-cap-card p {
  font-size: 15px !important;
  color: #718096 !important;
  line-height: 1.7 !important;
}


/* ==========================================================================
   20. CAPABILITIES PAGE â€” DESIGN-TO-PRODUCTION FLOW
   ========================================================================== */

.vtc-dtp-flow {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 24px !important;
  margin-top: 56px !important;
}

.vtc-dtp-step {
  text-align: center !important;
  padding: 32px 20px !important;
}

.vtc-dtp-step-num,
.vtc-dtp-step-num .et_pb_text_inner,
.vtc-dtp-step-num .et_pb_text_inner p {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 48px !important;
  color: #D4782A !important;
  opacity: 0.15 !important;
  line-height: 1 !important;
  margin-bottom: 12px !important;
}

.vtc-dtp-step h4 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #FFFFFF !important;
  margin-bottom: 12px !important;
}

.vtc-dtp-step p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.45) !important;
  line-height: 1.6 !important;
}


/* ==========================================================================
   21. CAPABILITIES PAGE â€” EQUIPMENT GRID
   ========================================================================== */

.vtc-equip-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin-top: 48px !important;
}

.vtc-equip-card {
  background: #F7F8FA !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  padding: 28px !important;
  transition: border-color 0.3s !important;
}

.vtc-equip-card:hover {
  border-color: #D4782A !important;
}

.vtc-equip-card h4 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  color: #1E2532 !important;
  margin-bottom: 12px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #D4782A !important;
}

.vtc-equip-card li,
.vtc-equip-card p {
  font-size: 14px !important;
  color: #4A5568 !important;
  line-height: 1.7 !important;
}

/* Equipment card image */
.vtc-equip-img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 6px 6px 0 0;
  display: block;
  margin-bottom: 16px;
}


/* ==========================================================================
   22. CAPABILITIES PAGE â€” MANUFACTURING PHOTOS
   ========================================================================== */

.vtc-cap-photos {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  margin-top: 48px !important;
}

.vtc-cap-photo {
  border-radius: 8px !important;
  overflow: hidden !important;
  position: relative !important;
}

.vtc-cap-photo img {
  width: 100% !important;
  aspect-ratio: 3/2 !important;
  object-fit: cover !important;
  transition: transform 0.5s !important;
}

.vtc-cap-photo:hover img {
  transform: scale(1.05) !important;
}

/* Photo label overlay */
.vtc-cap-photo-label {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 12px 16px !important;
  background: linear-gradient(transparent, rgba(21,27,38,0.85)) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}


/* ==========================================================================
   23. CAPABILITIES PAGE â€” MARKETS DETAIL
   ========================================================================== */

.vtc-markets-detail {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  margin-top: 48px !important;
}

.vtc-market-detail-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
  padding: 36px !important;
  transition: border-color 0.3s, transform 0.3s !important;
}

.vtc-market-detail-card:hover {
  border-color: rgba(212,120,42,0.3) !important;
  transform: translateY(-3px) !important;
}

.vtc-market-detail-card h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: #FFFFFF !important;
  margin-bottom: 12px !important;
}

.vtc-market-detail-card p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.4) !important;
  line-height: 1.75 !important;
}


/* ==========================================================================
   24. CAREERS PAGE â€” WHO WE ARE
   ========================================================================== */

.vtc-who-grid .et_pb_row {
  align-items: center !important;
}

.vtc-who-grid h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  color: #1E2532 !important;
  margin-bottom: 24px !important;
  line-height: 1.1 !important;
}

.vtc-who-grid .et_pb_text_inner p {
  font-size: 16px !important;
  color: #4A5568 !important;
  line-height: 1.8 !important;
  margin-bottom: 20px !important;
}


/* ==========================================================================
   25. CAREERS PAGE â€” DIFFERENTIATORS
   ========================================================================== */

.vtc-diff-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  margin-top: 56px !important;
}

.vtc-diff-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
  padding: 40px 32px !important;
  transition: transform 0.3s, border-color 0.3s !important;
}

.vtc-diff-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(212,120,42,0.3) !important;
}

.vtc-diff-card-icon {
  width: 56px !important;
  height: 56px !important;
  border-radius: 12px !important;
  margin-bottom: 24px !important;
  background: linear-gradient(135deg, rgba(212,120,42,0.15), rgba(212,120,42,0.05)) !important;
  border: 1px solid rgba(212,120,42,0.2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.vtc-diff-card-icon svg,
.vtc-diff-card-icon img {
  width: 28px !important;
  height: 28px !important;
  color: #D4782A !important;
}

.vtc-diff-card h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: #FFFFFF !important;
  margin-bottom: 16px !important;
  line-height: 1.2 !important;
}

.vtc-diff-card p {
  font-size: 15px !important;
  color: rgba(255,255,255,0.5) !important;
  line-height: 1.75 !important;
}


/* ==========================================================================
   26. CAREERS PAGE â€” OPEN POSITIONS
   ========================================================================== */

.vtc-jobs-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.vtc-job-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  padding: 28px 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: border-color 0.3s, box-shadow 0.3s !important;
}

.vtc-job-card:hover {
  border-color: #D4782A !important;
  box-shadow: 0 4px 16px rgba(212,120,42,0.08) !important;
}

.vtc-job-card h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  color: #1E2532 !important;
  margin-bottom: 6px !important;
}

.vtc-job-meta {
  display: flex !important;
  gap: 20px !important;
  align-items: center !important;
}

.vtc-job-meta span {
  font-size: 14px !important;
  color: #718096 !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Jobs fallback / coming soon state */
.vtc-jobs-fallback {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  padding: 48px !important;
  text-align: center !important;
}

.vtc-jobs-fallback p {
  font-size: 16px !important;
  color: #4A5568 !important;
  line-height: 1.7 !important;
}

.vtc-jobs-fallback a {
  color: #D4782A !important;
  font-weight: 600 !important;
}


/* ==========================================================================
   27. CAREERS PAGE â€” LIFE IN BENNINGTON
   ========================================================================== */

.vtc-location-grid .et_pb_row {
  align-items: center !important;
}

.vtc-location-grid h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(24px, 2.5vw, 32px) !important;
  color: #1E2532 !important;
  margin-bottom: 16px !important;
  line-height: 1.1 !important;
}

.vtc-location-grid p {
  font-size: 16px !important;
  color: #4A5568 !important;
  line-height: 1.8 !important;
}


/* ==========================================================================
   28. PRIVACY POLICY PAGE
   ========================================================================== */

.vtc-policy-section {
  padding: 80px 0 !important;
}

.vtc-policy-content,
.vtc-policy-content .et_pb_text_inner,
.vtc-policy-content .et_pb_text_inner p {
  max-width: 800px !important;
}

.vtc-policy-content h2,
.vtc-policy-content .et_pb_text_inner h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  color: #1E2532 !important;
  margin-top: 48px !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #F7F8FA !important;
}

.vtc-policy-content p,
.vtc-policy-content .et_pb_text_inner p {
  font-size: 16px !important;
  color: #4A5568 !important;
  line-height: 1.85 !important;
  margin-bottom: 16px !important;
}

.vtc-policy-content ul,
.vtc-policy-content .et_pb_text_inner ul {
  margin: 16px 0 24px 24px !important;
  list-style: disc !important;
}

.vtc-policy-content li,
.vtc-policy-content .et_pb_text_inner li {
  font-size: 16px !important;
  color: #4A5568 !important;
  line-height: 1.7 !important;
  margin-bottom: 8px !important;
}

.vtc-policy-content a {
  color: #D4782A !important;
  text-decoration: none !important;
}

.vtc-policy-content a:hover {
  text-decoration: underline !important;
}

.vtc-policy-date,
.vtc-policy-date .et_pb_text_inner p {
  font-size: 14px !important;
  color: #718096 !important;
  font-weight: 600 !important;
  margin-bottom: 32px !important;
}


/* ==========================================================================
   29. GLOBAL CONTACT MODULE
   ========================================================================== */

.vtc-contact-section {
  position: relative !important;
  padding: 100px 0 !important;
  background: #1E2532 !important;
  overflow: hidden !important;
}

/* Top accent bar */
.vtc-contact-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #D4782A, #E8944A, transparent);
  z-index: 2;
}

.vtc-contact-grid .et_pb_row {
  align-items: start !important;
}

/* Contact info side */
.vtc-contact-title h2,
.vtc-contact-title .et_pb_text_inner h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(32px, 3.5vw, 48px) !important;
  line-height: 1.1 !important;
  color: #FFFFFF !important;
  margin-bottom: 20px !important;
}

.vtc-contact-sub,
.vtc-contact-sub .et_pb_text_inner p {
  font-size: 17px !important;
  color: rgba(255,255,255,0.5) !important;
  line-height: 1.7 !important;
  max-width: 440px !important;
}

/* Contact details list */
.vtc-contact-details {
  margin-top: 40px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

.vtc-contact-detail {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
}

.vtc-contact-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  flex-shrink: 0 !important;
  background: rgba(212,120,42,0.1) !important;
  border: 1px solid rgba(212,120,42,0.2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.vtc-contact-icon svg,
.vtc-contact-icon img {
  width: 20px !important;
  height: 20px !important;
  color: #D4782A !important;
}

.vtc-contact-detail strong {
  display: block !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.7) !important;
  margin-bottom: 2px !important;
}

.vtc-contact-detail p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.4) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Contact form wrap */
.vtc-contact-form-wrap {
  padding: 40px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}

/* Divi contact form overrides */
.vtc-contact-form-wrap .et_pb_contact_form_container,
.vtc-contact-form-wrap .et_pb_contact {
  background: transparent !important;
  padding: 0 !important;
}

.vtc-contact-form-wrap .et_pb_contact_form label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.5) !important;
  letter-spacing: 0.3px !important;
  margin-bottom: 6px !important;
}

.vtc-contact-form-wrap .et_pb_contact_form .input,
.vtc-contact-form-wrap .et_pb_contact_form input[type="text"],
.vtc-contact-form-wrap .et_pb_contact_form input[type="email"],
.vtc-contact-form-wrap .et_pb_contact_form select,
.vtc-contact-form-wrap .et_pb_contact_form textarea {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 6px !important;
  padding: 12px 16px !important;
  color: #FFFFFF !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 15px !important;
  transition: border-color 0.3s, background 0.3s !important;
  outline: none !important;
}

.vtc-contact-form-wrap .et_pb_contact_form input::placeholder,
.vtc-contact-form-wrap .et_pb_contact_form textarea::placeholder {
  color: rgba(255,255,255,0.2) !important;
}

.vtc-contact-form-wrap .et_pb_contact_form input:focus,
.vtc-contact-form-wrap .et_pb_contact_form select:focus,
.vtc-contact-form-wrap .et_pb_contact_form textarea:focus {
  border-color: #D4782A !important;
  background: rgba(255,255,255,0.08) !important;
}

.vtc-contact-form-wrap .et_pb_contact_form textarea {
  resize: vertical !important;
  min-height: 120px !important;
}

/* Contact form submit button */
.vtc-contact-form-wrap .et_pb_contact_submit,
.vtc-contact-form-wrap .et_pb_button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #D4782A !important;
  color: #FFFFFF !important;
  padding: 14px 32px !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: background 0.3s, transform 0.2s, box-shadow 0.3s !important;
}

.vtc-contact-form-wrap .et_pb_contact_submit:hover,
.vtc-contact-form-wrap .et_pb_button:hover {
  background: #E8944A !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(212,120,42,0.3) !important;
}

/* Divi default captcha */
.vtc-contact-form-wrap .et_pb_contact_captcha_question {
  color: rgba(255,255,255,0.5) !important;
}


/* ==========================================================================
   30. FOOTER
   ========================================================================== */

#main-footer,
.et-l--footer {
  background: #151B26 !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  padding: 64px 0 0 !important;
}

/* Footer widget area */
.footer-widget {
  background: transparent !important;
}

#footer-widgets .footer-widget .fwidget {
  padding: 0 !important;
}

/* Footer column headings */
#footer-widgets h4.title,
.et-l--footer h4 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.6) !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-bottom: 20px !important;
}

/* Footer links */
#footer-widgets .footer-widget li a,
.et-l--footer a,
.vtc-footer-links a {
  font-size: 14px !important;
  color: rgba(255,255,255,0.35) !important;
  text-decoration: none !important;
  transition: color 0.25s !important;
  display: block !important;
  margin-bottom: 12px !important;
}

#footer-widgets .footer-widget li a:hover,
.et-l--footer a:hover,
.vtc-footer-links a:hover {
  color: #D4782A !important;
}

/* Footer description text */
#footer-widgets .footer-widget p,
.et-l--footer p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.35) !important;
  line-height: 1.7 !important;
}

/* Footer bottom bar */
#footer-bottom,
#footer-info {
  background: transparent !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  padding: 24px 0 !important;
  margin-top: 40px !important;
}

#footer-bottom .container,
#footer-info {
  font-size: 13px !important;
  color: rgba(255,255,255,0.25) !important;
}

#footer-bottom a {
  color: rgba(255,255,255,0.25) !important;
  text-decoration: none !important;
}

#footer-bottom a:hover {
  color: #D4782A !important;
}

/* Footer bottom bar â€” Code module variant */
.vtc-footer-bottom {
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 0 0;
  border-top: 1px solid rgba(255,255,255,0.06);
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: rgba(255,255,255,0.25);
}

.vtc-footer-bottom a {
  color: rgba(255,255,255,0.25) !important;
  text-decoration: none !important;
}

/* Remove Divi footer list bullets */
#footer-widgets .footer-widget li {
  list-style: none !important;
}

#footer-widgets .footer-widget li::before {
  display: none !important;
}


/* ==========================================================================
   31. SCROLL REVEAL ANIMATIONS
   ========================================================================== */

@keyframes vtcFadeUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Apply to modules with vtc-reveal class */
.vtc-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.vtc-reveal.vtc-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger delays for child elements */
.vtc-reveal-delay-1 { transition-delay: 0.1s; }
.vtc-reveal-delay-2 { transition-delay: 0.2s; }
.vtc-reveal-delay-3 { transition-delay: 0.3s; }


/* ==========================================================================
   32. RESPONSIVE â€” TABLET (max-width: 1024px)
   ========================================================================== */

@media (max-width: 1024px) {

  :root {
    --vtc-section-pad: 80px;
    --vtc-container-pad: 30px;
  }

  .vtc-markets-grid        { grid-template-columns: 1fr !important; }
  .vtc-platforms-grid      { grid-template-columns: repeat(2, 1fr) !important; }
  .vtc-why-grid            { grid-template-columns: 1fr !important; }
  .vtc-capabilities-grid,
  .vtc-cap-grid            { grid-template-columns: 1fr !important; }
  .vtc-dtp-flow            { grid-template-columns: 1fr 1fr !important; gap: 40px !important; }
  .vtc-equip-grid          { grid-template-columns: 1fr 1fr !important; }
  .vtc-diff-grid           { grid-template-columns: 1fr !important; }
  .vtc-markets-detail      { grid-template-columns: 1fr !important; }
  .vtc-facility-photos     { grid-template-columns: 1fr 1fr !important; }
  .vtc-certs-grid          { grid-template-columns: 1fr !important; }
  .vtc-leadership-grid     { grid-template-columns: 1fr 1fr !important; }
  .vtc-cap-photos          { grid-template-columns: 1fr 1fr !important; }

  .footer-inner,
  #footer-widgets .footer-widget {
    grid-template-columns: 1fr 1fr !important;
  }
}


/* ==========================================================================
   33. RESPONSIVE â€” MOBILE (max-width: 768px)
   ========================================================================== */

@media (max-width: 768px) {

  :root {
    --vtc-section-pad: 60px;
    --vtc-container-pad: 20px;
  }

  .vtc-page-hero           { padding: 120px 0 60px !important; }
  .vtc-platforms-grid      { grid-template-columns: 1fr !important; }
  .vtc-competencies        { grid-template-columns: 1fr !important; }
  .vtc-dtp-flow            { grid-template-columns: 1fr !important; }
  .vtc-equip-grid          { grid-template-columns: 1fr !important; }
  .vtc-facility-grid       { grid-template-columns: 1fr !important; }
  .vtc-facility-photos     { grid-template-columns: 1fr !important; }
  .vtc-leadership-grid     { grid-template-columns: 1fr !important; }
  .vtc-cert-badges         { flex-direction: column !important; }
  .vtc-cap-photos          { grid-template-columns: 1fr !important; }
  .vtc-logo-bar            { gap: 24px !important; }

  .vtc-hero .et_pb_row {
    padding-top: 80px !important;
    padding-bottom: 60px !important;
  }

  .vtc-hero-stats .et_pb_row {
    flex-direction: column !important;
    gap: 24px !important;
  }

  .vtc-job-card {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  .vtc-contact-form-wrap .et_pb_contact_form .et_pb_contact_field_half {
    width: 100% !important;
    float: none !important;
  }

  .footer-inner,
  #footer-widgets .footer-widget {
    grid-template-columns: 1fr !important;
  }
}


/* ==========================================================================
   34. UTILITY CLASSES
   ========================================================================== */

.vtc-text-white    { color: #FFFFFF !important; }
.vtc-text-orange   { color: #D4782A !important; }
.vtc-text-slate    { color: #4A5568 !important; }
.vtc-bg-dark       { background: #1E2532 !important; }
.vtc-bg-darker     { background: #151B26 !important; }
.vtc-bg-off-white  { background: #F7F8FA !important; }
.vtc-bg-white      { background: #FFFFFF !important; }
.vtc-mt-0          { margin-top: 0 !important; }
.vtc-mb-0          { margin-bottom: 0 !important; }
.vtc-pt-0          { padding-top: 0 !important; }
.vtc-pb-0          { padding-bottom: 0 !important; }

/* ==========================================================================
   1. CSS CUSTOM PROPERTIES (Design Tokens)
   ========================================================================== */

:root {
  /* Brand Colors */
  --vtc-orange:        #D4782A;
  --vtc-orange-light:  #E8944A;
  --vtc-dark:          #1E2532;
  --vtc-darker:        #151B26;
  --vtc-charcoal:      #2D3748;
  --vtc-slate:         #4A5568;
  --vtc-light-slate:   #718096;
  --vtc-off-white:     #F7F8FA;
  --vtc-white:         #FFFFFF;
  --vtc-border:        #E2E8F0;

  /* Typography */
  --vtc-font-display:  'Barlow Condensed', sans-serif;
  --vtc-font-body:     'Barlow', sans-serif;

  /* Spacing */
  --vtc-section-pad:   100px;
  --vtc-container-max:  1280px;
  --vtc-container-pad:  40px;

  /* Transitions */
  --vtc-ease:          cubic-bezier(0.16, 1, 0.3, 1);
}


/* ==========================================================================
   2. GOOGLE FONTS IMPORT (loaded via functions.php, fallback here)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800&family=Barlow+Condensed:wght@400;500;600;700&display=swap');


/* ==========================================================================
   3. GLOBAL RESET & BASE STYLES
   ========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body,
#page-container {
  font-family: 'Barlow', sans-serif !important;
  color: #2D3748;
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
}


/* ==========================================================================
   4. TYPOGRAPHY
   ========================================================================== */

h1, h2, h3, h4, h5, h6,
.et_pb_module_header,
.et_pb_slide_description .et_pb_slide_title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700;
  line-height: 1.1;
}

body,
p,
.et_pb_text_inner p,
.et_pb_blurb_description p,
.et_pb_toggle_content p {
  font-family: 'Barlow', sans-serif !important;
  font-size: 16px;
  line-height: 1.7;
  color: #2D3748;
}

a {
  transition: color 0.25s ease;
}


/* ==========================================================================
   5. DIVI GLOBAL OVERRIDES
   ========================================================================== */

/* Remove default Divi section padding for precise control */
.et_pb_section {
  padding: 0 !important;
}

/* VTC sections get controlled padding */
.et_pb_section.vtc-section {
  padding: 100px 0 !important;
}

.et_pb_section.vtc-section-dark {
  background: #151B26 !important;
  padding: 100px 0 !important;
}

.et_pb_section.vtc-section-alt {
  background: #F7F8FA !important;
  padding: 100px 0 !important;
}

/* Container width */
.et_pb_row,
.et_pb_row_inner {
  max-width: 1280px !important;
  padding: 0 40px !important;
  width: 100% !important;
}

/* Remove default Divi gutters for custom layouts */
.et_pb_column {
  margin-bottom: 0 !important;
}

/* Remove default Divi bottom margin on modules */
.et_pb_module {
  margin-bottom: 0 !important;
}

/* Override Divi's default body background */
#main-content {
  background: #FFFFFF;
}


/* ==========================================================================
   6. NAVIGATION / HEADER
   ========================================================================== */

/* Main Header â€” Fixed dark nav */
#main-header,
#main-header.et-fixed-header {
  background-color: #151B26 !important;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  box-shadow: none !important;
  transition: background 0.3s, box-shadow 0.3s;
}

/* Scrolled state */
#main-header.et-fixed-header {
  background-color: rgba(21, 27, 38, 0.97) !important;
  box-shadow: 0 2px 24px rgba(0,0,0,0.3) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Logo area */
#logo {
  max-height: 38px !important;
  width: auto !important;
}

.logo_container {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

/* Navigation container */
.et_pb_menu__wrap {
  display: flex;
  align-items: center;
}

/* Nav links */
#top-menu li a,
.et-menu-nav li a {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.75) !important;
  text-decoration: none !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding: 0 18px !important;
  transition: color 0.25s !important;
  position: relative;
}

#top-menu li a:hover,
#top-menu li.current-menu-item a,
.et-menu-nav li a:hover {
  color: #FFFFFF !important;
  opacity: 1 !important;
}

/* Underline hover effect on nav links */
#top-menu li a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: #D4782A;
  transition: width 0.3s;
}

#top-menu li a:hover::after {
  width: 100%;
}

/* CTA nav button â€” "Contact Us" */
#top-menu li.vtc-nav-cta a,
#top-menu li.menu-item-has-cta a {
  background: #D4782A !important;
  color: #FFFFFF !important;
  padding: 10px 24px !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: background 0.3s, transform 0.2s !important;
}

#top-menu li.vtc-nav-cta a::after {
  display: none !important;
}

#top-menu li.vtc-nav-cta a:hover {
  background: #E8944A !important;
  transform: translateY(-1px);
}

/* Hide Divi default nav separator */
#top-menu li::before {
  display: none !important;
}

/* Mobile menu icon color */
.mobile_menu_bar::before,
.mobile_menu_bar::after {
  color: #FFFFFF !important;
}

/* Mobile menu styling */
.et_mobile_menu {
  background: #151B26 !important;
  border-color: rgba(255,255,255,0.08) !important;
}

.et_mobile_menu li a {
  color: rgba(255,255,255,0.75) !important;
  border-color: rgba(255,255,255,0.06) !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  font-size: 14px !important;
}

.et_mobile_menu li a:hover {
  color: #D4782A !important;
}


/* ==========================================================================
   7. BUTTONS
   ========================================================================== */

/* Primary Button â€” Orange filled */
.et_pb_button.vtc-btn-primary,
.vtc-btn-primary .et_pb_button {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  background: #D4782A !important;
  color: #FFFFFF !important;
  padding: 16px 36px !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  border: none !important;
  transition: background 0.3s, transform 0.2s, box-shadow 0.3s !important;
}

.et_pb_button.vtc-btn-primary:hover,
.vtc-btn-primary .et_pb_button:hover {
  background: #E8944A !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(212,120,42,0.3) !important;
}

.et_pb_button.vtc-btn-primary::after {
  font-size: 16px !important;
  margin-left: 8px;
  transition: transform 0.3s;
}

.et_pb_button.vtc-btn-primary:hover::after {
  transform: translateX(4px);
}

/* Secondary Button â€” Ghost/text style */
.et_pb_button.vtc-btn-secondary {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.6) !important;
  padding: 16px 24px !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0.5px !important;
  background: transparent !important;
  border: none !important;
  transition: color 0.3s !important;
}

.et_pb_button.vtc-btn-secondary:hover {
  color: #FFFFFF !important;
}

/* Outline Button (Careers job cards) */
.et_pb_button.vtc-btn-outline {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  background: transparent !important;
  border: 2px solid #D4782A !important;
  color: #D4782A !important;
  padding: 10px 24px !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  transition: all 0.3s !important;
}

.et_pb_button.vtc-btn-outline:hover {
  background: #D4782A !important;
  color: #FFFFFF !important;
}

/* Generic Divi button override for VTC site */
.et_pb_button {
  font-family: 'Barlow', sans-serif !important;
}


/* ==========================================================================
   8. SECTION LABELS & TITLES (Reusable via CSS Classes)
   ========================================================================== */

/* Section Label â€” small orange all-caps with accent bar */
.vtc-section-label,
.vtc-section-label .et_pb_text_inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.vtc-section-label,
.vtc-section-label .et_pb_text_inner,
.vtc-section-label .et_pb_text_inner p {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #D4782A !important;
  margin-bottom: 16px !important;
}

.vtc-section-label .et_pb_text_inner p {
  margin-bottom: 0 !important;
}

.vtc-section-label .et_pb_text_inner::before {
  content: '';
  width: 28px;
  height: 2px;
  background: #D4782A;
  flex-shrink: 0;
}

/* Centered variant */
.vtc-section-label-center,
.vtc-section-label-center .et_pb_text_inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
}

.vtc-section-label-center,
.vtc-section-label-center .et_pb_text_inner,
.vtc-section-label-center .et_pb_text_inner p {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #D4782A !important;
  margin-bottom: 16px !important;
  text-align: center !important;
}

.vtc-section-label-center .et_pb_text_inner p {
  margin-bottom: 0 !important;
}

.vtc-section-label-center .et_pb_text_inner::before {
  content: '';
  width: 28px;
  height: 2px;
  background: #D4782A;
  flex-shrink: 0;
}

/* Section Title â€” Large display heading */
.vtc-section-title h2,
.vtc-section-title .et_pb_text_inner h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(32px, 3.5vw, 48px) !important;
  line-height: 1.1 !important;
  color: #1E2532 !important;
  margin-bottom: 20px !important;
}

/* Title on dark backgrounds */
.vtc-section-dark .vtc-section-title h2,
.vtc-section-dark .vtc-section-title .et_pb_text_inner h2 {
  color: #FFFFFF !important;
}

/* Section Subtitle */
.vtc-section-subtitle,
.vtc-section-subtitle .et_pb_text_inner p {
  font-size: 18px !important;
  color: #718096 !important;
  max-width: 600px;
  line-height: 1.65 !important;
}

.vtc-section-dark .vtc-section-subtitle p,
.vtc-section-dark .vtc-section-subtitle .et_pb_text_inner p {
  color: rgba(255,255,255,0.55) !important;
}

/* Centered section header combo */
.vtc-header-center {
  text-align: center !important;
}

.vtc-header-center .vtc-section-subtitle .et_pb_text_inner p {
  margin: 0 auto;
}


/* ==========================================================================
   9. HOMEPAGE â€” HERO
   ========================================================================== */

.vtc-hero {
  position: relative !important;
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  background: #151B26 !important;
  overflow: hidden !important;
}

/* Hero background gradient overlay */
.vtc-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg,
      rgba(30,37,50,0.95) 0%,
      rgba(30,37,50,0.7) 50%,
      rgba(212,120,42,0.15) 100%);
  z-index: 1;
  pointer-events: none;
}

/* Subtle grid pattern */
.vtc-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  z-index: 1;
  pointer-events: none;
}

/* Orange accent bar at bottom of hero */
.vtc-hero-accent {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, #D4782A, #E8944A, transparent) !important;
  z-index: 3 !important;
}

.vtc-hero .et_pb_row {
  position: relative !important;
  z-index: 2 !important;
  padding-top: 120px !important;
  padding-bottom: 80px !important;
}

/* Hero label */
.vtc-hero-label,
.vtc-hero-label .et_pb_text_inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.2s forwards;
}

.vtc-hero-label,
.vtc-hero-label .et_pb_text_inner,
.vtc-hero-label .et_pb_text_inner p {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #D4782A !important;
  margin-bottom: 24px !important;
}

.vtc-hero-label .et_pb_text_inner p {
  margin-bottom: 0 !important;
}

.vtc-hero-label .et_pb_text_inner::before {
  content: '';
  width: 40px;
  height: 2px;
  background: #D4782A;
  flex-shrink: 0;
}

/* Hero title */
.vtc-hero-title h1,
.vtc-hero-title .et_pb_text_inner h1 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(42px, 5.5vw, 72px) !important;
  line-height: 1.05 !important;
  color: #FFFFFF !important;
  max-width: 780px !important;
  margin-bottom: 28px !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.4s forwards;
}

/* Orange emphasis in hero title */
.vtc-hero-title em,
.vtc-hero-title .et_pb_text_inner em {
  font-style: normal !important;
  color: #D4782A !important;
}

/* Hero subtitle */
.vtc-hero-sub,
.vtc-hero-sub .et_pb_text_inner p {
  font-size: 19px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.6) !important;
  max-width: 560px !important;
  margin-bottom: 44px !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.6s forwards;
}

/* Hero buttons container */
.vtc-hero-actions {
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.8s forwards;
}

.vtc-hero-actions .et_pb_button_module_wrapper {
  display: inline-flex !important;
  margin-right: 16px !important;
}

/* Hero stats row */
.vtc-hero-stats .et_pb_row {
  display: flex !important;
  gap: 60px !important;
  padding-top: 40px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 1s forwards;
}

.vtc-hero-stats .et_pb_column {
  flex: none !important;
  width: auto !important;
}

.vtc-stat-number,
.vtc-stat-number .et_pb_text_inner,
.vtc-stat-number .et_pb_text_inner p {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 36px !important;
  color: #D4782A !important;
  line-height: 1 !important;
  margin-bottom: 0 !important;
}

.vtc-stat-label,
.vtc-stat-label .et_pb_text_inner,
.vtc-stat-label .et_pb_text_inner p {
  font-size: 13px !important;
  color: rgba(255,255,255,0.45) !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  margin-top: 8px !important;
}


/* ==========================================================================
   10. HOMEPAGE â€” COMPANY SNAPSHOT
   ========================================================================== */

.vtc-snapshot .et_pb_row {
  align-items: center !important;
}

.vtc-snapshot .et_pb_text_inner p {
  font-size: 17px !important;
  color: #4A5568 !important;
  line-height: 1.75 !important;
  margin-bottom: 20px !important;
}

/* Competency tags grid */
.vtc-competencies {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin-top: 32px !important;
}

/* Individual competency tag */
.vtc-competency,
.vtc-competency .et_pb_blurb_content {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #2D3748 !important;
  padding: 12px 16px !important;
  background: #F7F8FA !important;
  border-radius: 6px !important;
  border-left: 3px solid #D4782A !important;
}

.vtc-competency .et_pb_main_blurb_image {
  width: 20px !important;
  flex-shrink: 0;
  color: #D4782A !important;
  margin: 0 !important;
}

/* Certification badges */
.vtc-badges {
  display: flex !important;
  gap: 24px !important;
  margin-top: 36px !important;
  padding-top: 28px !important;
  border-top: 1px solid #E2E8F0 !important;
}

.vtc-badge {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  padding: 14px 24px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #2D3748 !important;
  letter-spacing: 0.5px !important;
}

/* Snapshot image */
.vtc-snapshot-image {
  position: relative !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.vtc-snapshot-image::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #D4782A;
}

.vtc-snapshot-image img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}


/* ==========================================================================
   11. HOMEPAGE â€” MARKETS
   ========================================================================== */

.vtc-markets-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  margin-top: 56px !important;
}

/* Market card */
.vtc-market-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  position: relative !important;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s !important;
}

.vtc-market-card::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #D4782A;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s;
  z-index: 2;
}

.vtc-market-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.08) !important;
  border-color: #D4782A !important;
}

.vtc-market-card:hover::before {
  transform: scaleX(1);
}

.vtc-market-card .et_pb_image_wrap {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  margin-bottom: 24px;
}

.vtc-market-card .et_pb_image_wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.vtc-market-card h3,
.vtc-market-card .et_pb_module_header {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  color: #1E2532 !important;
  margin-bottom: 14px !important;
  padding: 0 32px !important;
}

.vtc-market-card p,
.vtc-market-card .et_pb_blurb_description p {
  font-size: 15px !important;
  color: #718096 !important;
  line-height: 1.7 !important;
  padding: 0 32px 32px !important;
}


/* ==========================================================================
   12. HOMEPAGE â€” PROGRAMS / LOGO BAR
   ========================================================================== */

/* Logo bar (client names) */
.vtc-logo-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 56px !important;
  flex-wrap: wrap !important;
  margin-top: 56px !important;
  padding: 48px 0 !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

.vtc-logo-item,
.vtc-logo-item .et_pb_text_inner,
.vtc-logo-item .et_pb_text_inner p {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: rgba(255,255,255,0.35) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  transition: color 0.3s !important;
  margin-bottom: 0 !important;
}

.vtc-logo-item:hover {
  color: rgba(255,255,255,0.7) !important;
}

/* Platforms grid */
.vtc-platforms-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  margin-top: 48px !important;
}

/* Platform card */
.vtc-platform-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 8px !important;
  padding: 28px 24px !important;
  transition: background 0.3s, border-color 0.3s !important;
}

.vtc-platform-card:hover {
  background: rgba(255,255,255,0.07) !important;
  border-color: rgba(212,120,42,0.3) !important;
}

.vtc-platform-card h4,
.vtc-platform-card .et_pb_module_header {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: #D4782A !important;
  margin-bottom: 8px !important;
  letter-spacing: 0.5px !important;
}

.vtc-platform-card p,
.vtc-platform-card .et_pb_blurb_description p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.45) !important;
  line-height: 1.6 !important;
}


/* ==========================================================================
   13. HOMEPAGE â€” WHY VERMONT COMPOSITES
   ========================================================================== */

.vtc-why-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 28px !important;
  margin-top: 56px !important;
}

/* Why card */
.vtc-why-card {
  padding: 40px !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  transition: transform 0.3s, box-shadow 0.3s !important;
}

.vtc-why-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.06) !important;
}

/* Numbered badge */
.vtc-why-num,
.vtc-why-num .et_pb_text_inner,
.vtc-why-num .et_pb_text_inner p {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 48px !important;
  color: #D4782A !important;
  opacity: 0.2 !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.vtc-why-card h3,
.vtc-why-card .et_pb_module_header {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: #1E2532 !important;
  margin-bottom: 14px !important;
}

.vtc-why-card p,
.vtc-why-card .et_pb_blurb_description p {
  font-size: 15px !important;
  color: #718096 !important;
  line-height: 1.7 !important;
}


/* ==========================================================================
   14. INNER PAGES â€” PAGE HERO (Company, Capabilities, Careers)
   ========================================================================== */

.vtc-page-hero {
  position: relative !important;
  padding: 160px 0 100px !important;
  background: #151B26 !important;
  overflow: hidden !important;
}

/* Grid pattern overlay */
.vtc-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
}

/* Orange accent bar */
.vtc-page-hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #D4782A, #E8944A, transparent);
  z-index: 2;
}

.vtc-page-hero .et_pb_row {
  position: relative !important;
  z-index: 2 !important;
}

.vtc-page-hero-label,
.vtc-page-hero-label .et_pb_text_inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.2s forwards;
}

.vtc-page-hero-label,
.vtc-page-hero-label .et_pb_text_inner,
.vtc-page-hero-label .et_pb_text_inner p {
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #D4782A !important;
  margin-bottom: 20px !important;
}

.vtc-page-hero-label .et_pb_text_inner p {
  margin-bottom: 0 !important;
}

.vtc-page-hero-label .et_pb_text_inner::before {
  content: '';
  width: 40px;
  height: 2px;
  background: #D4782A;
  flex-shrink: 0;
}

.vtc-page-hero-title h1,
.vtc-page-hero-title .et_pb_text_inner h1 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 1.08 !important;
  color: #FFFFFF !important;
  max-width: 750px !important;
  margin-bottom: 24px !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.4s forwards;
}

.vtc-page-hero-title em,
.vtc-page-hero-title .et_pb_text_inner em {
  font-style: normal !important;
  color: #D4782A !important;
}

.vtc-page-hero-sub,
.vtc-page-hero-sub .et_pb_text_inner p {
  font-size: 19px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.55) !important;
  max-width: 620px !important;
  opacity: 0;
  animation: vtcFadeUp 0.8s 0.6s forwards;
}


/* ==========================================================================
   15. COMPANY PAGE â€” ABOUT / OVERVIEW
   ========================================================================== */

.vtc-about-grid .et_pb_row {
  align-items: start !important;
}

.vtc-about-grid .et_pb_text_inner p {
  font-size: 17px !important;
  color: #4A5568 !important;
  line-height: 1.75 !important;
  margin-bottom: 20px !important;
}

/* About page image with orange bar */
.vtc-about-image {
  position: relative !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.vtc-about-image::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #D4782A;
}


/* ==========================================================================
   16. COMPANY PAGE â€” FACILITY
   ========================================================================== */

.vtc-facility-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 20px !important;
  margin-top: 48px !important;
}

.vtc-facility-stat {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 8px !important;
  padding: 28px !important;
  transition: border-color 0.3s !important;
}

.vtc-facility-stat:hover {
  border-color: rgba(212,120,42,0.3) !important;
}

.vtc-facility-stat-num,
.vtc-facility-stat-num .et_pb_text_inner,
.vtc-facility-stat-num .et_pb_text_inner p {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 32px !important;
  color: #D4782A !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.vtc-facility-stat-label,
.vtc-facility-stat-label .et_pb_text_inner,
.vtc-facility-stat-label .et_pb_text_inner p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.5) !important;
}

/* Facility photos grid */
.vtc-facility-photos {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  margin-top: 48px !important;
}

.vtc-facility-photo {
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #1E2532 !important;
  aspect-ratio: 1/1 !important;
}

.vtc-facility-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}


/* ==========================================================================
   17. COMPANY PAGE â€” LEADERSHIP
   ========================================================================== */

.vtc-leadership-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  margin-top: 48px !important;
}

.vtc-leader-card {
  text-align: center !important;
}

.vtc-leader-card .et_pb_image_wrap {
  width: 120px !important;
  height: 120px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  margin: 0 auto 20px !important;
  border: 3px solid #E2E8F0 !important;
}

.vtc-leader-card h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  color: #1E2532 !important;
  margin-bottom: 4px !important;
}

.vtc-leader-title {
  font-size: 14px !important;
  color: #D4782A !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}


/* ==========================================================================
   18. COMPANY PAGE â€” CERTIFICATIONS
   ========================================================================== */

.vtc-certs-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  margin-top: 48px !important;
  align-items: start !important;
}

.vtc-cert-block h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  color: #FFFFFF !important;
  margin-bottom: 12px !important;
}

.vtc-cert-badges {
  display: flex !important;
  gap: 16px !important;
  margin-top: 24px !important;
}

.vtc-cert-badge {
  background: rgba(212,120,42,0.1) !important;
  border: 1px solid rgba(212,120,42,0.25) !important;
  border-radius: 6px !important;
  padding: 12px 20px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #D4782A !important;
  letter-spacing: 0.5px !important;
}


/* ==========================================================================
   19. CAPABILITIES PAGE â€” CAPABILITIES GRID
   ========================================================================== */

.vtc-capabilities-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 28px !important;
  margin-top: 48px !important;
}

.vtc-cap-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 28px !important;
  margin-top: 48px !important;
}

.vtc-cap-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  padding: 36px !important;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s !important;
}

.vtc-cap-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.06) !important;
  border-color: #D4782A !important;
}

.vtc-cap-card h3,
.vtc-cap-card .et_pb_module_header {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: #1E2532 !important;
  margin-bottom: 14px !important;
}

.vtc-cap-card p {
  font-size: 15px !important;
  color: #718096 !important;
  line-height: 1.7 !important;
}


/* ==========================================================================
   20. CAPABILITIES PAGE â€” DESIGN-TO-PRODUCTION FLOW
   ========================================================================== */

.vtc-dtp-flow {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 24px !important;
  margin-top: 56px !important;
}

.vtc-dtp-step {
  text-align: center !important;
  padding: 32px 20px !important;
}

.vtc-dtp-step-num,
.vtc-dtp-step-num .et_pb_text_inner,
.vtc-dtp-step-num .et_pb_text_inner p {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 48px !important;
  color: #D4782A !important;
  opacity: 0.15 !important;
  line-height: 1 !important;
  margin-bottom: 12px !important;
}

.vtc-dtp-step h4 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #FFFFFF !important;
  margin-bottom: 12px !important;
}

.vtc-dtp-step p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.45) !important;
  line-height: 1.6 !important;
}


/* ==========================================================================
   21. CAPABILITIES PAGE â€” EQUIPMENT GRID
   ========================================================================== */

.vtc-equip-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin-top: 48px !important;
}

.vtc-equip-card {
  background: #F7F8FA !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  padding: 28px !important;
  transition: border-color 0.3s !important;
}

.vtc-equip-card:hover {
  border-color: #D4782A !important;
}

.vtc-equip-card h4 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  color: #1E2532 !important;
  margin-bottom: 12px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #D4782A !important;
}

.vtc-equip-card li,
.vtc-equip-card p {
  font-size: 14px !important;
  color: #4A5568 !important;
  line-height: 1.7 !important;
}


/* ==========================================================================
   22. CAPABILITIES PAGE â€” MANUFACTURING PHOTOS
   ========================================================================== */

.vtc-cap-photos {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  margin-top: 48px !important;
}

.vtc-cap-photo {
  border-radius: 8px !important;
  overflow: hidden !important;
  position: relative !important;
}

.vtc-cap-photo img {
  width: 100% !important;
  aspect-ratio: 3/2 !important;
  object-fit: cover !important;
  transition: transform 0.5s !important;
}

.vtc-cap-photo:hover img {
  transform: scale(1.05) !important;
}

/* Photo label overlay */
.vtc-cap-photo-label {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 12px 16px !important;
  background: linear-gradient(transparent, rgba(21,27,38,0.85)) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}


/* ==========================================================================
   23. CAPABILITIES PAGE â€” MARKETS DETAIL
   ========================================================================== */

.vtc-markets-detail {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 28px !important;
  margin-top: 48px !important;
}

.vtc-market-detail-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
  padding: 36px !important;
  transition: border-color 0.3s, transform 0.3s !important;
}

.vtc-market-detail-card:hover {
  border-color: rgba(212,120,42,0.3) !important;
  transform: translateY(-3px) !important;
}

.vtc-market-detail-card h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: #FFFFFF !important;
  margin-bottom: 12px !important;
}

.vtc-market-detail-card p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.4) !important;
  line-height: 1.75 !important;
}


/* ==========================================================================
   24. CAREERS PAGE â€” WHO WE ARE
   ========================================================================== */

.vtc-who-grid .et_pb_row {
  align-items: center !important;
}

.vtc-who-grid h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  color: #1E2532 !important;
  margin-bottom: 24px !important;
  line-height: 1.1 !important;
}

.vtc-who-grid .et_pb_text_inner p {
  font-size: 16px !important;
  color: #4A5568 !important;
  line-height: 1.8 !important;
  margin-bottom: 20px !important;
}


/* ==========================================================================
   25. CAREERS PAGE â€” DIFFERENTIATORS
   ========================================================================== */

.vtc-diff-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  margin-top: 56px !important;
}

.vtc-diff-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
  padding: 40px 32px !important;
  transition: transform 0.3s, border-color 0.3s !important;
}

.vtc-diff-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(212,120,42,0.3) !important;
}

.vtc-diff-card-icon {
  width: 56px !important;
  height: 56px !important;
  border-radius: 12px !important;
  margin-bottom: 24px !important;
  background: linear-gradient(135deg, rgba(212,120,42,0.15), rgba(212,120,42,0.05)) !important;
  border: 1px solid rgba(212,120,42,0.2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.vtc-diff-card-icon svg,
.vtc-diff-card-icon img {
  width: 28px !important;
  height: 28px !important;
  color: #D4782A !important;
}

.vtc-diff-card h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: #FFFFFF !important;
  margin-bottom: 16px !important;
  line-height: 1.2 !important;
}

.vtc-diff-card p {
  font-size: 15px !important;
  color: rgba(255,255,255,0.5) !important;
  line-height: 1.75 !important;
}


/* ==========================================================================
   26. CAREERS PAGE â€” OPEN POSITIONS
   ========================================================================== */

.vtc-jobs-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.vtc-job-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  padding: 28px 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: border-color 0.3s, box-shadow 0.3s !important;
}

.vtc-job-card:hover {
  border-color: #D4782A !important;
  box-shadow: 0 4px 16px rgba(212,120,42,0.08) !important;
}

.vtc-job-card h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  color: #1E2532 !important;
  margin-bottom: 6px !important;
}

.vtc-job-meta {
  display: flex !important;
  gap: 20px !important;
  align-items: center !important;
}

.vtc-job-meta span {
  font-size: 14px !important;
  color: #718096 !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Jobs fallback (no current openings) */
.vtc-jobs-fallback {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  padding: 48px !important;
  text-align: center !important;
}

.vtc-jobs-fallback p {
  font-size: 16px !important;
  color: #4A5568 !important;
  line-height: 1.7 !important;
}

.vtc-jobs-fallback a {
  color: #D4782A !important;
  font-weight: 600 !important;
}


/* ==========================================================================
   27. CAREERS PAGE â€” LIFE IN BENNINGTON
   ========================================================================== */

.vtc-location-grid .et_pb_row {
  align-items: center !important;
}

.vtc-location-grid h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(24px, 2.5vw, 32px) !important;
  color: #1E2532 !important;
  margin-bottom: 16px !important;
  line-height: 1.1 !important;
}

.vtc-location-grid p {
  font-size: 16px !important;
  color: #4A5568 !important;
  line-height: 1.8 !important;
}


/* ==========================================================================
   28. PRIVACY POLICY PAGE
   ========================================================================== */

.vtc-policy-section {
  padding: 80px 0 !important;
}

.vtc-policy-content,
.vtc-policy-content .et_pb_text_inner,
.vtc-policy-content .et_pb_text_inner p {
  max-width: 800px !important;
}

.vtc-policy-content h2,
.vtc-policy-content .et_pb_text_inner h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  color: #1E2532 !important;
  margin-top: 48px !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #F7F8FA !important;
}

.vtc-policy-content p,
.vtc-policy-content .et_pb_text_inner p {
  font-size: 16px !important;
  color: #4A5568 !important;
  line-height: 1.85 !important;
  margin-bottom: 16px !important;
}

.vtc-policy-content ul,
.vtc-policy-content .et_pb_text_inner ul {
  margin: 16px 0 24px 24px !important;
  list-style: disc !important;
}

.vtc-policy-content li,
.vtc-policy-content .et_pb_text_inner li {
  font-size: 16px !important;
  color: #4A5568 !important;
  line-height: 1.7 !important;
  margin-bottom: 8px !important;
}

.vtc-policy-content a {
  color: #D4782A !important;
  text-decoration: none !important;
}

.vtc-policy-content a:hover {
  text-decoration: underline !important;
}

.vtc-policy-date,
.vtc-policy-date .et_pb_text_inner p {
  font-size: 14px !important;
  color: #718096 !important;
  font-weight: 600 !important;
  margin-bottom: 32px !important;
}


/* ==========================================================================
   29. GLOBAL CONTACT MODULE
   ========================================================================== */

.vtc-contact-section {
  position: relative !important;
  padding: 100px 0 !important;
  background: #1E2532 !important;
  overflow: hidden !important;
}

/* Top accent bar */
.vtc-contact-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #D4782A, #E8944A, transparent);
  z-index: 2;
}

.vtc-contact-grid .et_pb_row {
  align-items: start !important;
}

/* Contact info side */
.vtc-contact-title h2,
.vtc-contact-title .et_pb_text_inner h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(32px, 3.5vw, 48px) !important;
  line-height: 1.1 !important;
  color: #FFFFFF !important;
  margin-bottom: 20px !important;
}

.vtc-contact-sub,
.vtc-contact-sub .et_pb_text_inner p {
  font-size: 17px !important;
  color: rgba(255,255,255,0.5) !important;
  line-height: 1.7 !important;
  max-width: 440px !important;
}

/* Contact details list */
.vtc-contact-details {
  margin-top: 40px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

.vtc-contact-detail {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
}

.vtc-contact-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  flex-shrink: 0 !important;
  background: rgba(212,120,42,0.1) !important;
  border: 1px solid rgba(212,120,42,0.2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.vtc-contact-icon svg,
.vtc-contact-icon img {
  width: 20px !important;
  height: 20px !important;
  color: #D4782A !important;
}

.vtc-contact-detail strong {
  display: block !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.7) !important;
  margin-bottom: 2px !important;
}

.vtc-contact-detail p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.4) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Contact form wrap */
.vtc-contact-form-wrap {
  padding: 40px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}

/* Divi contact form overrides */
.vtc-contact-form-wrap .et_pb_contact_form_container,
.vtc-contact-form-wrap .et_pb_contact {
  background: transparent !important;
  padding: 0 !important;
}

.vtc-contact-form-wrap .et_pb_contact_form label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.5) !important;
  letter-spacing: 0.3px !important;
  margin-bottom: 6px !important;
}

.vtc-contact-form-wrap .et_pb_contact_form .input,
.vtc-contact-form-wrap .et_pb_contact_form input[type="text"],
.vtc-contact-form-wrap .et_pb_contact_form input[type="email"],
.vtc-contact-form-wrap .et_pb_contact_form select,
.vtc-contact-form-wrap .et_pb_contact_form textarea {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 6px !important;
  padding: 12px 16px !important;
  color: #FFFFFF !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 15px !important;
  transition: border-color 0.3s, background 0.3s !important;
  outline: none !important;
}

.vtc-contact-form-wrap .et_pb_contact_form input::placeholder,
.vtc-contact-form-wrap .et_pb_contact_form textarea::placeholder {
  color: rgba(255,255,255,0.2) !important;
}

.vtc-contact-form-wrap .et_pb_contact_form input:focus,
.vtc-contact-form-wrap .et_pb_contact_form select:focus,
.vtc-contact-form-wrap .et_pb_contact_form textarea:focus {
  border-color: #D4782A !important;
  background: rgba(255,255,255,0.08) !important;
}

.vtc-contact-form-wrap .et_pb_contact_form textarea {
  resize: vertical !important;
  min-height: 120px !important;
}

/* Contact form submit button */
.vtc-contact-form-wrap .et_pb_contact_submit,
.vtc-contact-form-wrap .et_pb_button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #D4782A !important;
  color: #FFFFFF !important;
  padding: 14px 32px !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: background 0.3s, transform 0.2s, box-shadow 0.3s !important;
}

.vtc-contact-form-wrap .et_pb_contact_submit:hover,
.vtc-contact-form-wrap .et_pb_button:hover {
  background: #E8944A !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(212,120,42,0.3) !important;
}

/* Remove Divi default captcha styling */
.vtc-contact-form-wrap .et_pb_contact_captcha_question {
  color: rgba(255,255,255,0.5) !important;
}


/* ==========================================================================
   30. FOOTER
   ========================================================================== */

#main-footer,
.et-l--footer {
  background: #151B26 !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  padding: 64px 0 0 !important;
}

/* Footer widget area */
.footer-widget {
  background: transparent !important;
}

#footer-widgets .footer-widget .fwidget {
  padding: 0 !important;
}

/* Footer column headings */
#footer-widgets h4.title,
.et-l--footer h4 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.6) !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-bottom: 20px !important;
}

/* Footer links */
#footer-widgets .footer-widget li a,
.et-l--footer a {
  font-size: 14px !important;
  color: rgba(255,255,255,0.35) !important;
  text-decoration: none !important;
  transition: color 0.25s !important;
  display: block !important;
  margin-bottom: 12px !important;
}

#footer-widgets .footer-widget li a:hover,
.et-l--footer a:hover {
  color: #D4782A !important;
}

/* Footer description text */
#footer-widgets .footer-widget p,
.et-l--footer p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.35) !important;
  line-height: 1.7 !important;
}

/* Footer bottom bar */
#footer-bottom,
#footer-info {
  background: transparent !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  padding: 24px 0 !important;
  margin-top: 40px !important;
}

#footer-bottom .container,
#footer-info {
  font-size: 13px !important;
  color: rgba(255,255,255,0.25) !important;
}

#footer-bottom a {
  color: rgba(255,255,255,0.25) !important;
  text-decoration: none !important;
}

#footer-bottom a:hover {
  color: #D4782A !important;
}

/* Remove Divi footer list bullets */
#footer-widgets .footer-widget li {
  list-style: none !important;
}

#footer-widgets .footer-widget li::before {
  display: none !important;
}


/* ==========================================================================
   31. SCROLL REVEAL ANIMATIONS
   ========================================================================== */

@keyframes vtcFadeUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Apply to modules with vtc-reveal class */
.vtc-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.vtc-reveal.vtc-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger delays for child elements */
.vtc-reveal-delay-1 { transition-delay: 0.1s; }
.vtc-reveal-delay-2 { transition-delay: 0.2s; }
.vtc-reveal-delay-3 { transition-delay: 0.3s; }

/* Force left-align on all non-centered section labels regardless of Divi alignment */
div[class*="vtc-section-label"]:not([class*="center"]) .et_pb_text_inner,
div[class*="vtc-hero-label"] .et_pb_text_inner,
div[class*="vtc-page-hero-label"] .et_pb_text_inner {
  text-align: left !important;
  justify-content: flex-start !important;
}

/* Facility Cards */
.vtc-facility-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  margin-top: 48px !important;
}

.vtc-facility-card {
  padding: 36px 28px !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  transition: transform 0.3s, box-shadow 0.3s;
  position: relative;
  overflow: hidden;
}

.vtc-facility-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: #D4782A;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.4s;
}

.vtc-facility-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.06);
}

.vtc-facility-card:hover::before {
  transform: scaleY(1);
}

.vtc-facility-card-icon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #1E2532, #2D3748);
  display: flex;
  align-items: center;
  justify-content: center;
}

.vtc-facility-card-icon svg {
  width: 24px;
  height: 24px;
  color: #D4782A;
}

.vtc-facility-card h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  color: #1E2532 !important;
  margin-bottom: 14px !important;
}

.vtc-facility-card p {
  font-size: 14px !important;
  color: #718096 !important;
  line-height: 1.7 !important;
}

.vtc-footer-links a {
  display: block !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.35) !important;
  text-decoration: none !important;
  margin-bottom: 12px !important;
}

.vtc-footer-links a:hover {
  color: #D4782A !important;
}

.vtc-footer-bottom {
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 0 0;
  border-top: 1px solid rgba(255,255,255,0.06);
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: rgba(255,255,255,0.25);
}

.vtc-footer-bottom a {
  color: rgba(255,255,255,0.25) !important;
  text-decoration: none !important;
}

/* ==========================================================================
   32. RESPONSIVE â€” TABLET (max-width: 1024px)
   ========================================================================== */

@media (max-width: 1024px) {

  :root {
    --vtc-section-pad: 80px;
    --vtc-container-pad: 30px;
  }

  /* Markets grid */
  .vtc-markets-grid {
    grid-template-columns: 1fr !important;
  }

  /* Platforms grid */
  .vtc-platforms-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Why grid */
  .vtc-why-grid {
    grid-template-columns: 1fr !important;
  }

  /* Capabilities grid */
  .vtc-capabilities-grid {
    grid-template-columns: 1fr !important;
  }

  /* DTP flow */
  .vtc-dtp-flow {
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
  }

  /* Equipment grid */
  .vtc-equip-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Differentiators grid */
  .vtc-diff-grid {
    grid-template-columns: 1fr !important;
  }

  /* Markets detail */
  .vtc-markets-detail {
    grid-template-columns: 1fr !important;
  }

  /* Facility photos */
  .vtc-facility-photos {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Certifications grid */
  .vtc-certs-grid {
    grid-template-columns: 1fr !important;
  }

  /* Leadership grid */
  .vtc-leadership-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Footer */
  .footer-inner,
  #footer-widgets .footer-widget {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Cap photos */
  .vtc-cap-photos {
    grid-template-columns: 1fr 1fr !important;
  }
}


/* ==========================================================================
   33. RESPONSIVE â€” MOBILE (max-width: 768px)
   ========================================================================== */

@media (max-width: 768px) {

  :root {
    --vtc-section-pad: 60px;
    --vtc-container-pad: 20px;
  }

  /* Page hero */
  .vtc-page-hero {
    padding: 120px 0 60px !important;
  }

  /* Hero section */
  .vtc-hero .et_pb_row {
    padding-top: 80px !important;
    padding-bottom: 60px !important;
  }

  /* Hero stats */
  .vtc-hero-stats .et_pb_row {
    flex-direction: column !important;
    gap: 24px !important;
  }

  /* Platforms grid */
  .vtc-platforms-grid {
    grid-template-columns: 1fr !important;
  }

  /* Competencies */
  .vtc-competencies {
    grid-template-columns: 1fr !important;
  }

  /* DTP flow */
  .vtc-dtp-flow {
    grid-template-columns: 1fr !important;
  }

  /* Equipment grid */
  .vtc-equip-grid {
    grid-template-columns: 1fr !important;
  }

  /* Facility grid */
  .vtc-facility-grid {
    grid-template-columns: 1fr !important;
  }

  .vtc-facility-photos {
    grid-template-columns: 1fr !important;
  }

  /* Leadership grid */
  .vtc-leadership-grid {
    grid-template-columns: 1fr !important;
  }

  /* Cert badges */
  .vtc-cert-badges {
    flex-direction: column !important;
  }

  /* Cap photos */
  .vtc-cap-photos {
    grid-template-columns: 1fr !important;
  }

  /* Contact form rows */
  .vtc-contact-form-wrap .et_pb_contact_form .et_pb_contact_field_half {
    width: 100% !important;
    float: none !important;
  }

  /* Job cards */
  .vtc-job-card {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  /* Footer */
  .footer-inner,
  #footer-widgets .footer-widget {
    grid-template-columns: 1fr !important;
  }

  /* Logo bar */
  .vtc-logo-bar {
    gap: 24px !important;
  }
}


/* ==========================================================================
   UTILITY CLASSES
   ========================================================================== */

.vtc-text-white { color: #FFFFFF !important; }
.vtc-text-orange { color: #D4782A !important; }
.vtc-text-slate { color: #4A5568 !important; }
.vtc-bg-dark { background: #1E2532 !important; }
.vtc-bg-darker { background: #151B26 !important; }
.vtc-bg-off-white { background: #F7F8FA !important; }
.vtc-bg-white { background: #FFFFFF !important; }
.vtc-mt-0 { margin-top: 0 !important; }
.vtc-mb-0 { margin-bottom: 0 !important; }
.vtc-pt-0 { padding-top: 0 !important; }
.vtc-pb-0 { padding-bottom: 0 !important; }

/* ==========================================================================
   LEADERSHIP — Divi Person Module Overrides
   ========================================================================== */

/* Card container */
.vtc-leader-card.et_pb_team_member {
  text-align: center !important;
  padding: 40px 28px !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 8px !important;
  transition: background 0.3s, border-color 0.3s !important;
}

.vtc-leader-card.et_pb_team_member:hover {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(212,120,42,0.2) !important;
}

/* Photo */
.vtc-leader-card .et_pb_team_member_image {
  width: 120px !important;
  height: 120px !important;
  margin: 0 auto 24px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 3px solid rgba(212,120,42,0.3) !important;
}

.vtc-leader-card .et_pb_team_member_image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}

/* Name */
.vtc-leader-card h4,
.vtc-leader-card .et_pb_module_header {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: #FFFFFF !important;
  margin-bottom: 4px !important;
}

/* Title/Position */
.vtc-leader-card .et_pb_member_position {
  font-size: 14px !important;
  color: #D4782A !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 16px !important;
}

/* Bio text */
.vtc-leader-card .et_pb_team_member_description p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.4) !important;
  line-height: 1.7 !important;
}

/* Accordion inside Person module */
.vtc-leader-card .et_pb_toggle {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 6px !important;
  margin-top: 12px !important;
}

.vtc-leader-card .et_pb_toggle_title {
  font-size: 13px !important;
  color: rgba(255,255,255,0.5) !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
}

.vtc-leader-card .et_pb_toggle_content p {
  font-size: 14px !important;
  color: rgba(255,255,255,0.4) !important;
  line-height: 1.7 !important;
}

/* Social icons — hide if not needed */
.vtc-leader-card .et_pb_member_social_links {
  display: none !important;
}

.vtc-leader-card .et_pb_team_member_image img.wp-image-111,
.vtc-leader-card .et_pb_team_member_image img {
  object-position: top center !important;
}

.et-menu ul.sub-menu li a,
.et-menu ul li ul li a {
  color: #1E2532 !important;
  background: transparent !important;
}

.et-menu ul.sub-menu li a:hover,
.et-menu ul li ul li a:hover {
  color: #D4782A !important;
}

.et-menu li.current-menu-item > a::after,
.et-menu li.current-menu-ancestor > a::after,
.et-menu li.current_page_item > a::after {
  display: none !important;
}

.et-menu ul.sub-menu li {
  border-color: #E2E8F0 !important;
}

.et-menu ul.sub-menu li.current-menu-item > a,
.et-menu ul.sub-menu li.current_page_item > a {
  color: #1E2532 !important;
}

.et-menu ul.sub-menu li.current-menu-item > a::after,
.et-menu ul.sub-menu li.current_page_item > a::after {
  display: none !important;
}

.et-menu li > a {
  position: relative !important;
}

#main-header .et-menu ul.sub-menu li a,
#main-header .et-menu ul li ul li a {
  color: #1E2532 !important;
  background-color: #ffffff !important;
}

#main-header .et-menu ul.sub-menu li a:hover,
#main-header .et-menu ul li ul li a:hover {
  color: #D4782A !important;
}

#main-header .et-menu ul.sub-menu li.current-menu-item > a,
#main-header .et-menu ul.sub-menu li.current_page_item > a {
  color: #1E2532 !important;
}

.vtc-equip-img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 6px 6px 0 0;
  display: block;
  margin-bottom: 16px;
}

.et_pb_menu_0_tb_header.et_pb_menu ul.sub-menu li a,
.et_pb_menu_0_tb_header.et_pb_menu ul.sub-menu li.current-menu-ancestor a,
.et_pb_menu_0_tb_header.et_pb_menu ul.sub-menu li.current-menu-item a {
  color: #1E2532 !important;
}

.et_pb_menu_0_tb_header.et_pb_menu ul.sub-menu li a:hover {
  color: #D4782A !important;
}

@media (max-width: 1024px) {
  #page-container .et_pb_row,
  #page-container .et_pb_row_inner {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
@media (max-width: 768px) {
  #page-container .et_pb_row,
  #page-container .et_pb_row_inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .vtc-hero .et_pb_row {
    padding-top: 140px !important;
    padding-bottom: 60px !important;
  }
  .vtc-contact-section .et_pb_column {
    width: 100% !important;
    margin-bottom: 40px !important;
  }
  .et_pb_row_0_tb_header {
    flex-wrap: nowrap !important;
  }
}

