/* ==============================================
       Initially Hidden Elements
============================================== */

/* Initially hide elements that will be animated with split text */
.logo, h1, h2, h3:not(.has-feature-counter), h4, h5, h6, p, .buttons, .reveal-link, .language-selector {
    visibility: hidden;
    opacity: 0;
  }
  
  /* Keep tab filter links visible - they should not be hidden */
  .faq-tabs, #blog-tabs, #faq-tabs, #events-tabs,
  .faq-tabs .filter-link, #blog-tabs .filter-link, #faq-tabs .filter-link, #events-tabs .filter-link {
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Keep header elements visible */
  .header .logo, .header h1, .header h2, .header h3, .header h4, .header h5, .header h6, .header p, .header a, .header .buttons, .header .reveal-link, .header .language-selector {
    visibility: visible;
    opacity: 1;
  }

  /* Sticky CTA bar: no SplitText, so keep content visible (desktop + mobile) */
  .sticky-cta-bar,
  .sticky-cta-bar * {
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  /* Hide split text elements until animation starts */
  .line, .char {
    visibility: hidden;
    opacity: 0;
  }
  
  /* Keep header split text elements visible */
  .header .line, .header .char {
    visibility: visible;
    opacity: 1;
  }
  
  /* Initially hide catalog grid columns */
  .catalog-grid .column {
    opacity: 0;
    visibility: hidden;
  }
  
  /* Initially hide cursor */
  #cursor {
    opacity: 0;
  }
  
  /* Initially hide model-viewer until it's ready */
  model-viewer:not(.model-viewer-3d) {
    opacity: 0;
    visibility: hidden;
    min-width: 50vw;
    min-height: 50vw;
  }
  
  /* Initially hide approach images (they become visible when active) */
  .four-five .image-block .approach-image {
    opacity: 0;
  }
  
  /* Hide header during loading state - override visibility rules */
  html.loading .header,
  html.loading .header .logo,
  html.loading .header h1,
  html.loading .header h2,
  html.loading .header h3,
  html.loading .header h4,
  html.loading .header h5,
  html.loading .header h6,
  html.loading .header p,
  html.loading .header a,
  html.loading .header .buttons,
  html.loading .header .reveal-link,
  html.loading .header .language-selector,
  html.loading .header .line,
  html.loading .header .char {
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* Force feature-counter h3 visible (overrides any hide rule) */
  h3.has-feature-counter {
    visibility: visible !important;
    opacity: 1 !important;
  }
