.elementor-3074 .elementor-element.elementor-element-2cd67719{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3074 .elementor-element.elementor-element-2cd67719:hover{border-style:none;--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-3074 .elementor-element.elementor-element-2cd67719, .elementor-3074 .elementor-element.elementor-element-2cd67719::before{--border-transition:0s;}.elementor-3074 .elementor-element.elementor-element-676302d2{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 24px;--row-gap:0px;--column-gap:24px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:10;}.elementor-3074 .elementor-element.elementor-element-20ea3817{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;z-index:12;}.elementor-3074 .elementor-element.elementor-element-20ea3817 img{width:100%;max-width:180px;opacity:1;border-style:none;border-radius:0px 0px 0px 0px;}@media(max-width:1239px){.elementor-3074 .elementor-element.elementor-element-2cd67719{--gap:0px 24px;--row-gap:0px;--column-gap:24px;--padding-top:16px;--padding-bottom:16px;--padding-left:24px;--padding-right:24px;}.elementor-3074 .elementor-element.elementor-element-676302d2{--gap:0px 12px;--row-gap:0px;--column-gap:12px;}.elementor-3074 .elementor-element.elementor-element-20ea3817 img{width:100%;max-width:160px;}}@media(max-width:1023px){.elementor-3074 .elementor-element.elementor-element-2cd67719{--gap:0px 16px;--row-gap:0px;--column-gap:16px;--padding-top:12px;--padding-bottom:12px;--padding-left:24px;--padding-right:24px;}.elementor-3074 .elementor-element.elementor-element-676302d2{--gap:0px 10px;--row-gap:0px;--column-gap:10px;--padding-top:12px;--padding-bottom:12px;--padding-left:24px;--padding-right:24px;}.elementor-3074 .elementor-element.elementor-element-20ea3817 img{width:120%;max-width:140px;}}@media(max-width:767px){.elementor-3074 .elementor-element.elementor-element-2cd67719{--gap:0px 12px;--row-gap:0px;--column-gap:12px;--padding-top:12px;--padding-bottom:12px;--padding-left:16px;--padding-right:16px;}.elementor-3074 .elementor-element.elementor-element-676302d2{--gap:0px 8px;--row-gap:0px;--column-gap:8px;--padding-top:12px;--padding-bottom:12px;--padding-left:20px;--padding-right:20px;}.elementor-3074 .elementor-element.elementor-element-20ea3817 img{width:100%;max-width:120px;}}@media(max-width:567px){.elementor-3074 .elementor-element.elementor-element-2cd67719{--padding-top:8px;--padding-bottom:8px;--padding-left:16px;--padding-right:16px;}.elementor-3074 .elementor-element.elementor-element-676302d2{--padding-top:8px;--padding-bottom:8px;--padding-left:16px;--padding-right:16px;}.elementor-3074 .elementor-element.elementor-element-20ea3817{text-align:center;}.elementor-3074 .elementor-element.elementor-element-20ea3817 img{width:100%;max-width:100px;}}/* Start custom CSS for image, class: .elementor-element-20ea3817 *//* ========================================
   LOGO IMAGE WIDGET
   Professional responsive logo implementation
   Uses design system breakpoints & tokens
   Last Updated: December 11, 2024
======================================== */

/* ============================================
   BASE LOGO STYLING
   ============================================ */

.elementor-3074 .elementor-element.elementor-element-20ea3817 {
  /* Flexbox integration - matches Site CSS .logo-menu-wrapper */
  flex: 0 0 auto;
  
  /* Remove any box shadow */
  box-shadow: none !important;
}

.elementor-3074 .elementor-element.elementor-element-20ea3817 img {
  /* Responsive sizing */
  width: 100%;           /* Fill container */
  max-width: 180px;      /* Desktop max size */
  height: auto;          /* Maintain aspect ratio */
  
  /* Layout */
  display: block;
  
  /* Remove box shadow */
  box-shadow: none !important;
  
  /* Image rendering */
  object-fit: contain;   /* Preserve aspect ratio */
  object-position: left center; /* Align left in container */
  
  /* Performance optimization */
  will-change: max-width;
  
  /* Smooth scaling transitions */
  transition: max-width 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================
   RESPONSIVE BREAKPOINTS
   Matches design system: 5 breakpoints
   ============================================ */

/* Laptop (1024px - 1239px) */
@media (max-width: 1239px) {
  .elementor-3074 .elementor-element.elementor-element-20ea3817 img {
    max-width: 160px; /* Slightly smaller for laptop */
  }
}

/* Tablet (768px - 1023px) */
@media (max-width: 1023px) {
  .elementor-3074 .elementor-element.elementor-element-20ea3817 img {
    max-width: 140px; /* Comfortable tablet size */
  }
}

/* Mobile Landscape (568px - 767px) */
@media (max-width: 767px) {
  .elementor-3074 .elementor-element.elementor-element-20ea3817 img {
    max-width: 120px; /* Compact mobile size */
  }
}

/* Mobile Portrait (<568px) */
@media (max-width: 567px) {
  .elementor-3074 .elementor-element.elementor-element-20ea3817 img {
    max-width: 100px; /* Smallest screens */
  }
}

/* ============================================
   ACCESSIBILITY
   ============================================ */

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .elementor-3074 .elementor-element.elementor-element-20ea3817 img {
    transition: none;
  }
}

/* High contrast mode - ensure visibility */
@media (prefers-contrast: high) {
  .elementor-3074 .elementor-element.elementor-element-20ea3817 img {
    filter: contrast(1.2);
  }
}

/* ============================================
   NOTES FOR FUTURE MAINTENANCE
   ============================================
   
   Logo Sizing Scale (Professional Progression):
   - Desktop (1240px+):     180px
   - Laptop (1024-1239px):  160px (-20px)
   - Tablet (768-1023px):   140px (-20px)
   - Mobile L (568-767px):  120px (-20px)
   - Mobile P (<568px):     100px (-20px)
   
   Consistent 20px reduction creates smooth visual flow
   
   SVG Recommended: Vector logos scale perfectly at any size
   PNG Fallback: Use 360px (2x) or 540px (3x) for retina displays
   
   ============================================ *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2cd67719 *//* ===================================================================
   HEADER WRAPPER – FLEX ARCHITECTURE (2 cols)
    Uses 4pt spacing tokens & custom breakpoints
    CONTAINER ONLY - Layout controlled by Site CSS .logo-menu-wrapper
   =================================================================== */

/* Flex properties for automatic space management */

/* HEADER WRAPPER – constrain to panel width */
.elementor-3074 .elementor-element.elementor-element-2cd67719 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;    /* left group | CTAs */
  align-items: center;
  flex-wrap: nowrap;

  /* Lock to same width as .panel-1240 */
  width: 100%;
  max-width: var(--container-max-width); /* 1240px, matches .panel-1240 */
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;

  /* Responsive padding - 4pt-based padding */
  padding: var(--space-xs) var(--space-md);  /* 16px / 24px */

  /* Z-index positioning */
  position: relative;
  z-index: var(--z-header-wrapper);
  background: transparent; /* header section controls color */

  /* Smooth transitions */
  transition:
    padding 280ms cubic-bezier(0.4, 0, 0.2, 1),
    background-color 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================
   CTA BUTTON SIZING - HARMONIZED
   Size: Medium (comfortable tap target)
   Grid: 4pt aligned
   ============================================ */
.elementor-3074 .elementor-element.elementor-element-2cd67719 .cta-buttons-wrapper .elementor-button {
  /* Typography */
  font-size: var(--fs-nav-button);  /* 14-16px fluid */
  font-weight: var(--fw-semibold);
  line-height: var(--lh-nav-button);
  
  /* Spacing - ON GRID */
  padding: var(--space-tiny) var(--space-xs);  /* 8px / 16px */
  
  /* Visual */
  border-radius: var(--radius-md);
  white-space: nowrap;

  /* Colors - using semantic tokens for reliability */
  background-color: var(--color-secondary);
  color: var(--text-on-gold);
  border: none;
  
  /* Layout */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-micro);  /* Icon spacing if added later */

  /* Interaction */
  cursor: pointer;
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Hover state - professional lift effect */
.elementor-3074 .elementor-element.elementor-element-2cd67719 .cta-buttons-wrapper .elementor-button:hover {
  background-color: var(--color-secondary-dark);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(var(--rgb-black), 0.2);
}

/* Active state - subtle press */
.elementor-3074 .elementor-element.elementor-element-2cd67719 .cta-buttons-wrapper .elementor-button:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(var(--rgb-black), 0.15);
}

/* Focus state - accessibility (WCAG 2.1) */
.elementor-3074 .elementor-element.elementor-element-2cd67719 .cta-buttons-wrapper .elementor-button:focus {
  outline: var(--focus-outline);
  outline-offset: var(--focus-offset);
}

.elementor-3074 .elementor-element.elementor-element-2cd67719 .cta-buttons-wrapper .elementor-button:focus:not(:focus-visible) {
  outline: none;
}

/* ============================================
   RESPONSIVE PADDING ADJUSTMENTS
   ============================================ */

/* Laptop <= 1239px */
@media (max-width: 1239px) {
  .elementor-3074 .elementor-element.elementor-element-2cd67719 {
    padding: var(--space-xs) var(--space-xs);   /* 16px / 16px */
  }
  
  /* Hide desktop CTAs - they appear in mobile menu */
  .elementor-3074 .elementor-element.elementor-element-2cd67719 .cta-buttons-wrapper {
    display: none;
  }
  
  /* Larger tap targets when buttons appear elsewhere (footer, menu) */
  .elementor-3074 .elementor-element.elementor-element-2cd67719 .cta-buttons-wrapper .elementor-button {
    padding: var(--space-sm) var(--space-lg);  /* 20px / 32px */
    min-height: 44px;  /* WCAG minimum tap target */
  }
}

/* Mobile Portrait <= 567px */
@media (max-width: 567px) {
  .elementor-3074 .elementor-element.elementor-element-2cd67719 {
    padding: var(--space-tiny) var(--space-xs); /* 8px / 16px */
  }
}

/* ============================================
   ACCESSIBILITY
   ============================================ */
   
/* Motion / contrast accessibility */
@media (prefers-reduced-motion: reduce) {
  .elementor-3074 .elementor-element.elementor-element-2cd67719,
  .elementor-3074 .elementor-element.elementor-element-2cd67719 .cta-buttons-wrapper .elementor-button {
    transition: none;
  }
}

@media (prefers-contrast: high) {
  .elementor-3074 .elementor-element.elementor-element-2cd67719 {
    border-bottom: 2px solid var(--color-secondary);
  }
  
  .elementor-3074 .elementor-element.elementor-element-2cd67719 .cta-buttons-wrapper .elementor-button {
    border: 2px solid var(--text-on-gold);
  }
}

/* ============================================
   NOTES FOR FUTURE MAINTENANCE
   ============================================
   
   1. DO NOT add flexbox rules here - they belong in Site CSS
   2. DO NOT add .logo-menu-wrapper rules - they belong in Site CSS
   3. ONLY add properties specific to the header wrapper container
   4. ALWAYS use spacing tokens (--space-*) for 4pt grid alignment
   5. ALWAYS use semantic color tokens (--color-*, --text-*)
   6. Test responsive behavior at all 5 breakpoints
   
   ============================================ *//* End custom CSS */