/* =============================================================================
   ABOUT PAGE STYLES - UPDATED WITH 3-CARD GOVERNANCE CAROUSEL
   ============================================================================= */

/* =============================================================================
   HERO SECTION - FULL STYLES TO ENSURE LOADING
   ============================================================================= */

.hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: flex-end; /* This aligns content to bottom */
  overflow: hidden;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}

.hero__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 1;
}

.hero__background--fallback {
  background: linear-gradient(135deg, var(--color-background-light) 0%, var(--color-border-light) 100%);
}

.hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to bottom,
    rgba(15, 23, 42, 0.2) 0%,
    rgba(15, 23, 42, 0.4) 70%,
    rgba(15, 23, 42, 0.6) 100%
  );
  z-index: 2;
}

.hero .container {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 0 var(--spacing-xl);
  
  /* CRITICAL FIX: Make container fill full hero height and align to bottom */
  display: flex;
  align-items: center; /* Align content to center vertically */
  height: 100%; /* Fill the full height of the hero */
  min-height: 70vh; /* Match the hero min-height */
}

.hero__content {
  width: 100%; /* Fix: Take full width instead of max-width: 70vh */
  max-width: 800px; /* Set a reasonable max-width in standard units */
  margin: 0;
  text-align: left;
  color: white;
  padding: 0 0 var(--spacing-3xl) 0; /* Bottom padding for spacing from edge */
}

.hero__title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-4xl);
  font-weight: 200;
  color: white;
  margin: 0; /* Fix: Remove any margins that could affect positioning */
  line-height: 1.55; /* Fix: Slightly increased for better readability */
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  letter-spacing: -0.02em;
  
  /* Background box styling - fixed to work properly with line breaks */
  background-color: rgba(0, 0, 0, 0.2); /* Slightly more opaque for better contrast */
  padding: var(--spacing-sm) var(--spacing-sm); /* Better padding */
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  
  /* Fix: Add word wrapping to prevent overflow issues */
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Center alignment modifier for About page hero content */
.hero__content--about {
  text-align: center;
  margin: 0 auto;
}

/* =============================================================================
   OPENING PARAGRAPH SECTION
   ============================================================================= */

.template-about .opening-paragraph {
  padding: var(--spacing-3xl) 0 var(--spacing-lg) 0;
  background: var(--color-background);
}

.template-about .opening-text {
  max-width: 70%;
  margin: 0 auto;
  text-align: center;
}

.template-about .opening-text p {
  font-family: var(--font-family-body);
  font-size: var(--font-size-lg);
  font-weight: 200;
  line-height: 1.5;
  color: var(--color-text);
  margin: 0;
}

/* =============================================================================
   FURNITURE INDUSTRY MASTER PLAN SECTION
   ============================================================================= */

.fimp-section {
  padding: var(--spacing-3xl) 0;
}

.fimp-content {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--spacing-xl);
  margin-top: var(--spacing-xl);
}

.fimp-text {
  display: flex;
  flex-direction: column;
}

.fimp-text p {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: var(--spacing-lg);
}

.fimp-buttons {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing-lg) * 1.2);
  margin-top: auto;
}

.fimp-button-link {
  display: block;
  text-decoration: none;
  color: var(--color-primary);
  transition: all var(--transition-base);
  position: relative;
}

.fimp-button-link:hover {
  color: var(--color-primary);
}

.fimp-button-text {
  font-family: var(--font-family-ui);
  font-size: calc(var(--font-size-sm) * 1.2);
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: block;
  margin-bottom: calc(var(--spacing-sm) * 1.2);
  color: var(--color-primary);
  position: relative;
}

.fimp-button-arrow {
  font-size: calc(var(--font-size-sm) * 1.2);
  color: var(--color-text-light);
  transition: all var(--transition-base);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.fimp-button-link:hover .fimp-button-arrow {
  color: var(--color-primary);
  transform: translateY(-50%) translateX(4px);
}

.fimp-button-divider {
  border: none;
  height: 1px;
  background-color: var(--color-border);
  margin: 0;
  transition: background-color var(--transition-base);
}

.fimp-button-link:hover .fimp-button-divider {
  background-color: var(--color-primary);
}

.fimp-image-item {
  width: 100%;
}

.fimp-image-item img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

/* =============================================================================
   FIMP HOVER OVERLAY SYSTEM
   ============================================================================= */

/* Images container needs to be positioned relative for absolute overlays */
.fimp-images-container {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-md);
  grid-column: span 2;
}

/* Hover overlays container */
.fimp-hover-overlays {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 10;
}

/* Individual hover overlay */
.fimp-hover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 1);
  border-left: 1px solid var(--color-border);
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition-base);
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 30px;
}

/* Show overlay on hover */
.fimp-hover-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* Hover content styling */
.fimp-hover-content {
  max-width: 100%;
  max-height: 100%;
  overflow-y: auto;
  text-align: left;
  color: var(--color-text);
}

/* Style WYSIWYG content within the overlay */
.fimp-hover-content h1,
.fimp-hover-content h2,
.fimp-hover-content h3,
.fimp-hover-content h4,
.fimp-hover-content h5,
.fimp-hover-content h6 {
  font-family: var(--font-family-heading);
  color: var(--color-primary);
  margin-bottom: var(--spacing-sm);
  line-height: 1.2;
}

.fimp-hover-content h1 { font-size: var(--font-size-2xl); }
.fimp-hover-content h2 { font-size: var(--font-size-xl); }
.fimp-hover-content h3 { font-size: var(--font-size-lg); }
.fimp-hover-content h4 { font-size: var(--font-size-base); }
.fimp-hover-content h5 { font-size: var(--font-size-sm); }
.fimp-hover-content h6 { font-size: var(--font-size-xs); }

.fimp-hover-content p {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: var(--spacing-md);
}

.fimp-hover-content p:last-child {
  margin-bottom: 0;
}

.fimp-hover-content ul,
.fimp-hover-content ol {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: var(--spacing-md);
  padding-left: var(--spacing-lg);
}

.fimp-hover-content li {
  margin-bottom: var(--spacing-xs);
}

.fimp-hover-content strong {
  font-weight: 300;
  color: var(--color-primary);
}

.fimp-hover-content em {
  font-style: italic;
}

.fimp-hover-content a {
  color: var(--color-primary);
  text-decoration: underline;
  transition: color var(--transition-base);
}

.fimp-hover-content a:hover {
  color: var(--color-accent);
}

/* =============================================================================
   GOVERNANCE AND STRUCTURE SECTION - UPDATED FOR 3 CARDS
   ============================================================================= */

.governance-section {
  padding: var(--spacing-3xl) 0;
  background: var(--color-background-light);
}

.governance-content {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--spacing-xl);
  margin-top: var(--spacing-xl);
  align-items: stretch;
}

.governance-text {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.governance-text p {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: var(--spacing-lg);
}

.governance-buttons {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing-lg) * 1.2);
  flex-grow: 1;
}

.governance-button-link {
  display: block;
  text-decoration: none;
  color: var(--color-primary);
  transition: all var(--transition-base);
  position: relative;
}

.governance-button-link:hover {
  color: var(--color-primary);
}

.governance-button-text {
  font-family: var(--font-family-ui);
  font-size: calc(var(--font-size-sm) * 1.2);
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: block;
  margin-bottom: calc(var(--spacing-sm) * 1.2);
  color: var(--color-primary);
  position: relative;
}

.governance-button-arrow {
  font-size: calc(var(--font-size-sm) * 1.2);
  color: var(--color-text-light);
  transition: all var(--transition-base);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.governance-button-link:hover .governance-button-arrow {
  color: var(--color-primary);
  transform: translateY(-50%) translateX(4px);
}

.governance-button-divider {
  border: none;
  height: 1px;
  background-color: var(--color-border);
  margin: 0;
  transition: background-color var(--transition-base);
}

.governance-button-link:hover .governance-button-divider {
  background-color: var(--color-primary);
}

/* =============================================================================
   GOVERNANCE CARDS - UPDATED FOR 3-CARD HORIZONTAL CAROUSEL WITH SQUARE IMAGES
   ============================================================================= */

.governance-cards-container {
  grid-column: span 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}

.governance-cards-carousel {
  position: relative;
  flex-grow: 1;
  overflow: hidden; /* CRITICAL: Hide overflow to prevent showing extra cards */
  width: 100%;
}

/* UPDATED: Flexbox layout for 3-card carousel */
.governance-cards-track {
  display: flex; /* Use flexbox for proper carousel behavior */
  width: 100%; /* Let JavaScript handle the width calculations */
  height: 100%;
  transition: transform 0.3s ease;
  gap: var(--spacing-lg);
}

.governance-card-item {
  flex: 0 0 calc((100% - (var(--spacing-lg) * 2)) / 3); /* UPDATED: Each card takes exactly 1/3 width minus gaps */
  max-width: calc((100% - (var(--spacing-lg) * 2)) / 3);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: white;
  position: relative;
  overflow: hidden;
  transition: all var(--transition-base);
  height: 100%;
  min-height: 350px; /* UPDATED: Reduced min-height for better layout */
  min-width: 0; /* Prevent shrinking issues */
}

.governance-card-item:hover {
  transform: translateY(-2px);
}

.governance-card-image {
  width: 100%;
  height: 0;
  padding-bottom: 100%; /* UPDATED: Square aspect ratio (1:1) */
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}

.governance-card-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* REMOVED: filter: grayscale(100%); - This was causing the blur/gray effect */
  transition: transform var(--transition-base); /* CHANGED: Only transform on hover */
}

.governance-card-item:hover .governance-card-image img {
  /* REMOVED: filter: grayscale(0%); - No longer needed */
  transform: scale(1.05); /* ADDED: Subtle zoom effect on hover instead */
}

.governance-card-content {
  padding: var(--spacing-md); /* UPDATED: Smaller padding for compact layout */
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0; /* Allow content to shrink */
}

.governance-card-content h3 {
  color: white;
  font-size: var(--font-size-base); /* UPDATED: Smaller font for 3-card layout */
  font-weight: 400;
  margin-bottom: 0;
  line-height: 1.2;
  font-family: var(--font-family-heading);
}

.governance-card-separator {
  border: none;
  height: 1px;
  background-color: white;
  margin: var(--spacing-sm) 0; /* UPDATED: Smaller margin for compact layout */
  width: 100%;
  flex-shrink: 0;
}

.governance-card-content p {
  color: white;
  font-size: var(--font-size-xs); /* UPDATED: Smaller text for 3-card layout */
  line-height: 1.3; /* UPDATED: Tighter line height */
  margin: 0;
  flex: 1;
  font-family: var(--font-family-body);
  overflow: hidden; /* Prevent text overflow */
  /* UPDATED: Add text truncation for better fit */
  display: -webkit-box;
  -webkit-line-clamp: 4; /* Limit to 4 lines */
  -webkit-box-orient: vertical;
}

/* Navigation styling - UPDATED for 3-card layout */
.governance-cards-navigation {
  display: flex;
  justify-content: flex-end;
  gap: 2px;
  margin-top: var(--spacing-md);
  position: relative;
  z-index: 5;
  opacity: 1; /* Ensure visibility */
  visibility: visible; /* Ensure visibility */
}

.governance-nav {
  width: 35px; /* Consistent button size */
  height: 35px;
  background: var(--color-primary);
  border: none;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-base);
  flex-shrink: 0;
  opacity: 1; /* Default visible state */
  visibility: visible; /* Default visible state */
}

.governance-nav:hover:not(:disabled) {
  background: var(--color-secondary);
}

.governance-nav:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.governance-nav i {
  font-size: var(--font-size-sm);
}

/* =============================================================================
   GOVERNANCE HOVER OVERLAY SYSTEM - REPLICATING FIMP FUNCTIONALITY
   ============================================================================= */

/* Governance hover overlays container */
.governance-hover-overlays {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 10;
}

/* Individual governance hover overlay */
.governance-hover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 1);
  border-left: 1px solid var(--color-border);
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition-base);
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 30px;
}

/* Show governance overlay on hover */
.governance-hover-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* Governance hover content styling */
.governance-hover-content {
  max-width: 100%;
  max-height: 100%;
  overflow-y: auto;
  text-align: left;
  color: var(--color-text);
}

/* Style WYSIWYG content within the governance overlay */
.governance-hover-content h1,
.governance-hover-content h2,
.governance-hover-content h3,
.governance-hover-content h4,
.governance-hover-content h5,
.governance-hover-content h6 {
  font-family: var(--font-family-heading);
  color: var(--color-primary);
  margin-bottom: var(--spacing-sm);
  line-height: 1.2;
}

.governance-hover-content h1 { font-size: var(--font-size-2xl); }
.governance-hover-content h2 { font-size: var(--font-size-xl); }
.governance-hover-content h3 { font-size: var(--font-size-lg); }
.governance-hover-content h4 { font-size: var(--font-size-base); }
.governance-hover-content h5 { font-size: var(--font-size-sm); }
.governance-hover-content h6 { font-size: var(--font-size-xs); }

.governance-hover-content p {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: var(--spacing-md);
}

.governance-hover-content p:last-child {
  margin-bottom: 0;
}

.governance-hover-content ul,
.governance-hover-content ol {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: var(--spacing-md);
  padding-left: var(--spacing-lg);
}

.governance-hover-content li {
  margin-bottom: var(--spacing-xs);
}

.governance-hover-content strong {
  font-weight: 300;
  color: var(--color-primary);
}

.governance-hover-content em {
  font-style: italic;
}

.governance-hover-content a {
  color: var(--color-primary);
  text-decoration: underline;
  transition: color var(--transition-base);
}

.governance-hover-content a:hover {
  color: var(--color-accent);
}

/* =============================================================================
   QUOTE SECTION - SAME AS HOMEPAGE
   ============================================================================= */

.template-about .quote-section {
  padding: var(--spacing-4xl) 0;
  background: var(--color-background);
}

.template-about .quote-content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.template-about .quote-text {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-4xl);
  font-weight: 300;
  color: var(--color-accent);
  margin-bottom: var(--spacing-lg);
  line-height: 1.1;
  letter-spacing: -0.02em;
  border: none; /* Reset blockquote defaults */
  quotes: none;
}

.template-about .quote-sub-text {
  font-family: var(--font-family-body);
  font-size: var(--font-size-lg);
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: var(--spacing-md);
}

.template-about .quote-name {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  color: var(--color-text-light);
  margin: 0;
  font-style: italic;
}

/* =============================================================================
   KEY ACHIEVEMENTS AND IMPACT SECTION
   ============================================================================= */

.impact-section {
  padding: var(--spacing-3xl) 0;
}

.impact-content {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--spacing-4xl);
  margin-top: var(--spacing-xl);
  align-items: stretch;
}

.impact-text {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.impact-description {
  margin-bottom: var(--spacing-lg);
}

.impact-description p {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: var(--spacing-md);
}

.impact-description p:last-child {
  margin-bottom: 0;
}

.company-focus-content {
  margin-bottom: var(--spacing-lg);
  flex-grow: 1;
}

.company-focus-content h3 {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-lg);
  font-weight: 300;
  color: var(--color-primary);
  margin-bottom: var(--spacing-sm);
  line-height: 1.2;
}

.company-focus-content p {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--color-text);
  margin: 0;
}

.impact-image {
  width: 100%;
  height: 100%;
  display: flex;
}

.impact-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 400px;
}

/* =============================================================================
   RESPONSIVE DESIGN - UPDATED FOR 3-CARD LAYOUT
   ============================================================================= */

/* Hero responsive styles */
@media (max-width: 1200px) {
  .hero .container {
    min-height: 70vh; /* Ensure container maintains height */
  }
  
  .hero__content {
    max-width: 700px;
  }
  
  .hero__title {
    font-size: var(--font-size-3xl);
  }
}

@media (max-width: 1024px) {
  .hero {
    min-height: 65vh; /* Slightly reduced for better mobile experience */
  }
  
  .hero .container {
    padding: 0 var(--spacing-lg);
    min-height: 65vh; /* Match hero height */
  }
  
  .hero__content {
    max-width: 600px;
    padding-bottom: var(--spacing-2xl);
  }
  
  .hero__title {
    font-size: var(--font-size-3xl);
    line-height: 1.3;
  }

  .fimp-content {
    gap: var(--spacing-2xl);
  }
  
  .governance-content {
    gap: var(--spacing-2xl);
  }
  
  /* Governance cards responsive adjustments - UPDATED for 3 cards */
  .governance-cards-track {
    gap: var(--spacing-md);
  }
  
  .governance-card-item {
    flex: 0 0 calc((100% - (var(--spacing-md) * 2)) / 3); /* UPDATED: 3 cards with smaller gaps */
    max-width: calc((100% - (var(--spacing-md) * 2)) / 3);
    min-height: 300px; /* UPDATED: Smaller height for tablet */
  }
  
  .governance-card-content {
    padding: var(--spacing-sm); /* UPDATED: Even smaller padding */
  }
  
  .governance-card-content h3 {
    font-size: var(--font-size-sm); /* UPDATED: Smaller font */
  }
  
  .governance-card-content p {
    font-size: var(--font-size-xs);
    -webkit-line-clamp: 3; /* UPDATED: Fewer lines on tablet */
  }
  
  .impact-content {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-2xl);
  }
}

@media (max-width: 768px) {
  .hero {
    min-height: 60vh;
  }
  
  .hero .container {
    padding: 0 var(--spacing-md);
    min-height: 60vh; /* Match hero height */
  }
  
  .hero__content {
    max-width: 100%; /* Full width on mobile */
    padding-bottom: var(--spacing-xl);
  }
  
  .hero__title {
    font-size: var(--font-size-2xl);
    padding: var(--spacing-xs) var(--spacing-sm); /* Reduced padding on mobile */
  }

  .template-about .opening-text {
    max-width: 85%;
  }
  
  .template-about .opening-text p {
    font-size: var(--font-size-xl);
  }
  
  .template-about .quote-text {
    font-size: var(--font-size-3xl);
  }
  
  .fimp-content {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
  }
  
  .fimp-text {
    grid-column: 1 / -1;
  }
  
  .fimp-images-container {
    grid-column: 1 / -1;
  }
  
  .fimp-buttons {
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--spacing-md);
  }
  
  .fimp-button-link {
    flex: 1;
    min-width: calc(50% - var(--spacing-sm));
  }
  
  .governance-content {
    grid-template-columns: 1fr;
    gap: var(--spacing-xl);
  }
  
  .governance-cards-container {
    grid-column: 1;
  }
  
  /* Mobile - UPDATED: 2 cards visible instead of 1 for better use of space */
  .governance-cards-track {
    gap: var(--spacing-md);
  }
  
  .governance-card-item {
    flex: 0 0 calc((100% - var(--spacing-md)) / 2); /* MOBILE: 2 cards visible */
    max-width: calc((100% - var(--spacing-md)) / 2);
    min-height: 280px;
  }
  
  .governance-card-image {
    padding-bottom: 100%; /* Keep square aspect ratio on mobile */
  }
  
  .governance-card-content {
    padding: var(--spacing-sm);
  }
  
  .governance-card-content h3 {
    font-size: var(--font-size-sm);
  }
  
  .governance-card-content p {
    font-size: var(--font-size-xs);
    -webkit-line-clamp: 3; /* Limit lines on mobile */
  }
  
  .governance-cards-navigation {
    justify-content: center; /* Center navigation on mobile */
    margin-top: var(--spacing-lg);
  }
  
  .impact-content {
    grid-template-columns: 1fr;
    gap: var(--spacing-xl);
  }
  
  .impact-image img {
    min-height: 300px;
  }
}

@media (max-width: 480px) {
  .hero {
    min-height: 50vh; /* Reduced for small screens */
  }
  
  .hero .container {
    min-height: 50vh; /* Match hero height */
  }
  
  .hero__content {
    padding-bottom: var(--spacing-lg);
  }
  
  .hero__title {
    font-size: var(--font-size-xl);
    line-height: 1.3;
  }

  .template-about .opening-text {
    max-width: 95%;
  }
  
  .template-about .opening-text p {
    font-size: var(--font-size-lg);
  }
  
  .template-about .quote-text {
    font-size: var(--font-size-2xl);
  }
  
  .fimp-section,
  .governance-section,
  .impact-section {
    padding: var(--spacing-2xl) 0;
  }
  
  .fimp-content {
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
  }
  
  .fimp-images-container {
    grid-template-columns: 1fr;
  }
  
  .fimp-buttons {
    flex-direction: column;
    gap: var(--spacing-md);
  }
  
  .fimp-button-link {
    min-width: auto;
  }
  
  .fimp-image-item img {
    height: 250px;
  }
  
  .fimp-hover-overlay,
  .governance-hover-overlay {
    padding: 15px;
  }
  
  .fimp-hover-content h1,
  .governance-hover-content h1 { font-size: var(--font-size-base); }
  .fimp-hover-content h2,
  .governance-hover-content h2 { font-size: var(--font-size-sm); }
  .fimp-hover-content p,
  .governance-hover-content p { font-size: var(--font-size-xs); }
  
  /* SMALL MOBILE: Single card view */
  .governance-cards-track {
    gap: var(--spacing-sm);
  }
  
  .governance-card-item {
    flex: 0 0 100%; /* SMALL MOBILE: Single card view */
    max-width: 100%;
    min-height: 260px;
  }
  
  .governance-card-content {
    padding: var(--spacing-sm);
  }
  
  .governance-card-content h3 {
    font-size: var(--font-size-base);
  }
  
  .governance-card-content p {
    font-size: var(--font-size-xs);
    line-height: 1.3;
    -webkit-line-clamp: 4; /* More lines on single card view */
  }
  
  .governance-card-separator {
    margin: var(--spacing-sm) 0;
  }
  
  .impact-image img {
    min-height: 250px;
  }
}

/* =============================================================================
   ACCESSIBILITY & PERFORMANCE
   ============================================================================= */

/* High contrast mode support */
@media (prefers-contrast: high) {
  .hero__overlay {
    background: rgba(0, 0, 0, 0.7);
  }
  
  .hero__title {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9);
    background-color: rgba(0, 0, 0, 0.8);
  }

  .fimp-hover-overlay,
  .governance-hover-overlay {
    background: rgba(255, 255, 255, 1);
    border-left: 2px solid var(--color-primary);
  }
  
  .governance-card-item {
    border: 2px solid var(--color-border);
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .hero__title {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  }

  .fimp-hover-overlay,
  .governance-hover-overlay,
  .governance-card-item,
  .governance-cards-track {
    transition: none;
  }
  
  .governance-card-item:hover {
    transform: none;
  }
  
  .governance-card-item:hover .governance-card-image img {
    transform: none; /* UPDATED: No transform in reduced motion */
  }
}

/* Print styles */
@media print {
  .hero {
    min-height: auto;
    padding: var(--spacing-xl) 0;
  }
  
  .hero__content {
    padding-bottom: 0;
  }
  
  .hero__background,
  .hero__overlay {
    display: none;
  }
  
  .hero__title {
    color: black;
    text-shadow: none;
    background-color: transparent;
    border: 1px solid black;
    padding: var(--spacing-sm);
  }

  .governance-content,
  .fimp-content,
  .impact-content {
    grid-template-columns: 1fr;
  }
  
  .governance-cards-navigation {
    display: none;
  }
  
  .fimp-hover-overlays,
  .governance-hover-overlays {
    display: none;
  }
}

/* =============================================================================
   MEDIA PARTNERSHIPS SECTION - COMPLETE STYLES
   ============================================================================= */

.media-partnerships-section {
  padding: var(--spacing-3xl) 0;
  background: var(--color-background);
}

.media-partnerships-content {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--spacing-xl);
  margin-top: var(--spacing-xl);
  align-items: stretch;
}

.media-partnerships-text {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.media-partnerships-text p {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: var(--spacing-lg);
}

/* =============================================================================
   MEDIA PARTNERS CAROUSEL - LOGO FOCUSED DESIGN
   ============================================================================= */

.media-partners-container {
  grid-column: span 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}

.media-partners-carousel {
  position: relative;
  flex-grow: 1;
  overflow: hidden;
  width: 100%;
  padding-bottom: 40px; /* Space for navigation */
}

.media-partners-track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease;
  gap: var(--spacing-lg);
}

.media-partner-item {
  flex: 0 0 calc((100% - (var(--spacing-lg) * 2)) / 3); /* 3 logos per view on desktop */
  max-width: calc((100% - (var(--spacing-lg) * 2)) / 3);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--color-text);
  background: white;
  border: 1px solid var(--color-border-light);
  border-radius: 0;
  overflow: hidden;
  transition: all var(--transition-base);
  height: 160px;
  min-width: 0;
  padding: var(--spacing-md);
  justify-content: center;
  align-items: center;
}

.media-partner-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-color: var(--color-primary);
}

.media-partner-logo {
  width: 100%;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--spacing-sm);
}

.media-partner-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: grayscale(20%);
  transition: filter var(--transition-base);
}

.media-partner-item:hover .media-partner-logo img {
  filter: grayscale(0%);
}

.media-partner-content {
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.media-partner-content h3 {
  color: var(--color-text);
  font-size: var(--font-size-sm);
  font-weight: 400;
  margin-bottom: var(--spacing-xs);
  line-height: 1.2;
  font-family: var(--font-family-heading);
}

.media-partner-content p {
  color: var(--color-text-light);
  font-size: var(--font-size-xs);
  line-height: 1.3;
  margin: 0;
  font-family: var(--font-family-body);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* Navigation styling for Media Partners */
.media-partners-navigation {
  display: flex;
  justify-content: flex-end;
  gap: 2px;
  margin-top: var(--spacing-md);
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 5;
}

.media-partners-nav {
  width: 35px;
  height: 35px;
  background: var(--color-primary);
  border: none;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-base);
  flex-shrink: 0;
  opacity: 1;
  visibility: visible;
}

.media-partners-nav:hover:not(:disabled) {
  background: var(--color-secondary);
}

.media-partners-nav:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.media-partners-nav i {
  font-size: var(--font-size-sm);
}

/* =============================================================================
   RESPONSIVE DESIGN FOR MEDIA PARTNERSHIPS
   ============================================================================= */

@media (max-width: 1024px) {
  .media-partnerships-content {
    gap: var(--spacing-2xl);
  }
  
  .media-partners-track {
    gap: var(--spacing-md);
  }
  
  .media-partner-item {
    flex: 0 0 calc((100% - var(--spacing-md)) / 2); /* 2 logos on tablet */
    max-width: calc((100% - var(--spacing-md)) / 2);
    height: 140px;
    padding: var(--spacing-sm);
  }
  
  .media-partner-logo {
    height: 70px;
  }
}

@media (max-width: 768px) {
  .media-partnerships-content {
    grid-template-columns: 1fr;
    gap: var(--spacing-xl);
  }
  
  .media-partners-container {
    grid-column: 1;
  }
  
  .media-partner-item {
    flex: 0 0 calc((100% - var(--spacing-md)) / 2); /* 2 logos on mobile */
    max-width: calc((100% - var(--spacing-md)) / 2);
    height: 120px;
  }
  
  .media-partner-logo {
    height: 60px;
  }
  
  .media-partner-content h3 {
    font-size: var(--font-size-xs);
  }
  
  .media-partners-navigation {
    justify-content: center;
    margin-top: var(--spacing-lg);
  }
}

@media (max-width: 480px) {
  .media-partnerships-section {
    padding: var(--spacing-2xl) 0;
  }
  
  .media-partners-track {
    gap: var(--spacing-sm);
  }
  
  .media-partner-item {
    flex: 0 0 100%; /* 1 logo on small mobile */
    max-width: 100%;
    min-height: 140px;
    padding: var(--spacing-sm);
  }
  
  .media-partner-logo {
    height: 60px;
  }
  
  .media-partner-content h3 {
    font-size: var(--font-size-sm);
  }
  
  .media-partner-content p {
    font-size: var(--font-size-xs);
    line-height: 1.3;
    -webkit-line-clamp: 3;
  }
}