/* BullTech Critical Above-the-Fold CSS - Inline for instant rendering */

/* Reset and base styles */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;padding:0;line-height:1.6;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#333;background:#fff}

/* Container and layout critical styles */
.elementor-section{position:relative;width:100%}
.elementor-container{max-width:1200px;margin:0 auto;padding:0 20px;width:100%}
.elementor-row{display:flex;flex-wrap:wrap;align-items:stretch}
.elementor-column{flex:1;min-width:0;position:relative}

/* Header critical styles */
header{background:#fff;position:relative;z-index:1000;box-shadow:0 2px 10px rgba(0,0,0,0.1)}
.site-header{padding:15px 0}
.site-logo img{max-height:50px;width:auto;display:block}
.main-navigation{display:flex;align-items:center;justify-content:space-between}
.menu-primary{list-style:none;margin:0;padding:0;display:flex;gap:30px}
.menu-primary a{color:#333;text-decoration:none;font-weight:500;padding:10px 0;transition:color 0.2s ease}
.menu-primary a:hover,.menu-primary a:focus{color:#007cba}

/* Hero section critical styles */
.hero-section{min-height:500px;display:flex;align-items:center;position:relative;overflow:hidden}
.hero-content{position:relative;z-index:2;color:#fff;text-align:center;width:100%}
.hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin:0 0 20px 0;line-height:1.2}
.hero-subtitle{font-size:clamp(1.1rem,2.5vw,1.4rem);margin:0 0 30px 0;opacity:0.95}
.hero-cta{display:inline-block;padding:15px 30px;background:#007cba;color:#fff;text-decoration:none;border-radius:5px;font-weight:600;transition:background 0.3s ease}
.hero-cta:hover{background:#005a87}

/* Critical button styles */
.elementor-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;background:#007cba;color:#fff;text-decoration:none;border-radius:4px;font-weight:500;transition:all 0.2s ease;border:none;cursor:pointer}
.elementor-button:hover,.elementor-button:focus{background:#005a87;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,124,186,0.3)}

/* Typography critical styles */
h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin:0 0 20px 0}
h1{font-size:clamp(1.8rem,4vw,2.5rem)}
h2{font-size:clamp(1.5rem,3vw,2rem)}
h3{font-size:clamp(1.3rem,2.5vw,1.7rem)}
p{margin:0 0 20px 0;line-height:1.6}

/* Mobile-first responsive design */
@media (max-width: 768px) {
  .elementor-container{padding:0 16px}
  .elementor-row{flex-direction:column}
  .main-navigation{flex-direction:column;gap:15px}
  .menu-primary{flex-wrap:wrap;justify-content:center;gap:20px}
  .hero-section{min-height:400px;text-align:center}
  .elementor-button{width:100%;max-width:280px}
}

/* Performance optimizations */
img{height:auto;max-width:100%}
.lazy-load{opacity:0;transition:opacity 0.3s ease}
.lazy-loaded{opacity:1}

/* Focus states for accessibility */
a:focus,.elementor-button:focus{outline:3px solid #005fcc;outline-offset:2px}

/* Skeleton loading states */
.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}
@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}

/* Critical animations */
@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,30px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.fade-in-up{animation:fadeInUp 0.6s ease-out}

/* Critical color variables */
:root{
  --primary-color:#007cba;
  --primary-hover:#005a87;
  --text-color:#333;
  --background-color:#fff;
  --border-color:#e0e0e0;
  --shadow-color:rgba(0,0,0,0.1);
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
  :root{
    --primary-color:#4a9eff;
    --primary-hover:#357abd;
    --text-color:#f0f0f0;
    --background-color:#1a1a1a;
    --border-color:#333;
    --shadow-color:rgba(255,255,255,0.1);
  }
  body{background:var(--background-color);color:var(--text-color)}
  header{background:var(--background-color);box-shadow:0 2px 10px var(--shadow-color)}
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  *{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}
}