/* ===================================
   PERFORMANCE OPTIMIZED STYLES
   Critical CSS inlined for above-the-fold content
   ===================================*/

/* Critical above-the-fold styles */
.header{position:sticky;top:0;z-index:1030;background:rgba(248,243,245,.95);backdrop-filter:blur(10px);height:70px;transition:background-color .3s ease}
[data-theme="dark"] .header{background:rgba(26,30,93,.95)}
.hero-section{min-height:100vh;background:linear-gradient(135deg,#1A1E5D 0%,#2a2f7a 50%,#F8F3F5 100%);display:flex;align-items:center;position:relative;overflow:hidden;padding-top:80px}
[data-theme="dark"] .hero-section{background:linear-gradient(135deg,#1A1E5D 0%,#1a1e5d 50%,#282828 100%)}
.hero-title{font-size:clamp(1.75rem,5vw,3rem);font-weight:700;color:#F8F3F5;margin-bottom:1.5rem;line-height:1.1}
.hero-subtitle{font-size:clamp(1rem,2.5vw,1.25rem);color:rgba(248,243,245,.9);margin-bottom:2rem;line-height:1.6}
.hero-content{z-index:2;position:relative}
.hero-title{opacity:1;transform:translateY(0)}
.hero-subtitle{opacity:1;transform:translateY(0)}
.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem;opacity:1;transform:translateY(0)}
.hero-buttons .btn{display:flex;align-items:center;gap:0.5rem;padding:12px 24px;border-radius:6px;font-weight:500;text-decoration:none;transition:all .2s ease}
.btn-primary{background:#1E99FF;border:none;padding:12px 24px;border-radius:6px;color:#fff;font-weight:500;transition:all .2s ease;cursor:pointer}
.btn-primary:hover{background:#0d7ddd;transform:translateY(-1px)}
.container{max-width:1140px;margin:0 auto;padding:0 15px}
.nav-link{color:#282828;text-decoration:none}
[data-theme="dark"] .nav-link{color:#F8F3F5}

/* Performance optimizations */
*{box-sizing:border-box}
img{max-width:100%;height:auto;display:block}
.lazy-image{opacity:0;transition:opacity .3s ease}
.lazy-image.loaded{opacity:1}

/* Reduce paint and layout thrashing */
.service-card,.testimonial-card,.product-card{contain:layout style paint;will-change:transform}
.hero-illustration{will-change:transform}
.fade-in{will-change:opacity}

/* Optimize animations */
@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important
    }
}

/* Font loading optimization */
@font-face{font-family:'Sora';font-display:swap}
@font-face{font-family:'Inter';font-display:swap}

/* Critical layout styles */
.row{display:flex;flex-wrap:wrap;margin:0 -15px}
.col-lg-6{flex:0 0 50%;max-width:50%;padding:0 15px}
.col-lg-3{flex:0 0 25%;max-width:25%;padding:0 15px}

.scroll-indicator{opacity:0.7}

/* Mobile-first responsive */
@media (max-width:767.98px){
    .hero-section{padding-top:80px;text-align:center}
    .hero-title{font-size:clamp(1.5rem,6vw,2rem)}
    .hero-subtitle{font-size:clamp(0.9rem,3vw,1.1rem)}
    .hero-buttons{flex-direction:column;align-items:center;gap:0.75rem}
    .hero-buttons .btn{width:100%;max-width:280px}
    .col-lg-6,.col-lg-3{flex:0 0 100%;max-width:100%}
    .container{padding:0 12px}
    .hero-content{margin-bottom:2rem}
}

@media (min-width:768px) and (max-width:1023.98px){
    .hero-section{padding-top:90px;text-align:center}
    .hero-title{font-size:clamp(2rem,4vw,2.5rem)}
    .hero-subtitle{font-size:clamp(1rem,2vw,1.2rem)}
    .hero-buttons{justify-content:center}
    .col-lg-3{flex:0 0 50%;max-width:50%}
    .hero-content{margin-bottom:2rem}
}

@media (min-width:1024px){
    .hero-section{padding-top:100px}
    .hero-title{font-size:clamp(2.5rem,4vw,3.5rem)}
    .hero-subtitle{font-size:clamp(1.1rem,1.5vw,1.25rem)}
}

/* Preloader optimization */
.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:#1A1E5D;display:flex;align-items:center;justify-content:center;z-index:9999;opacity:1;transition:opacity .5s ease}
.preloader.hidden{opacity:0;pointer-events:none}

/* Skip to content for accessibility */
.skip-to-content{position:absolute;top:-40px;left:6px;background:#1A1E5D;color:#fff;padding:8px;text-decoration:none;z-index:10000;border-radius:4px;font-weight:600}
.skip-to-content:focus{top:6px}

/* High contrast mode support */
@media (prefers-contrast:high){
    .btn{border-width:2px}
    .form-control{border-width:2px}
    .service-card,.testimonial-card{border:2px solid currentColor}
}

/* Print optimization */
@media print{
    .header,.nexa-chat-container,.btn,.preloader{display:none!important}
    body{font-size:12pt;line-height:1.4;color:#000;background:#fff}
    .container{max-width:none;padding:0}
    h1,h2,h3,h4,h5,h6{page-break-after:avoid}
    p,li{page-break-inside:avoid}
}

/* Resource hints for better loading */
.resource-hint{display:none}

/* Optimize for different pixel densities */
@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){
    img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}
    .card,.form-control,.btn{border-width:.5px}
}

/* Battery optimization */
@media (max-width:768px){
    .pulse-effect,.pulse-ring,.spinner{animation-duration:2s}
    *{will-change:auto}
    .sticky-header{will-change:transform}
}

/* Connection-aware optimizations */
@media (max-width:768px) and (prefers-reduced-data:reduce){
    .hero-section{background:#1A1E5D}
    .service-card,.product-card,.testimonial-card{box-shadow:none;border:1px solid #e9ecef}
    [data-aos]{opacity:1!important;transform:none!important}
}

/* Optimize scrolling performance */
.scroll-container{-webkit-overflow-scrolling:touch;overflow-scrolling:touch}

/* Reduce repaints and reflows */
.fixed-element{position:fixed;will-change:transform}
.animated-element{will-change:transform,opacity}

/* Optimize form performance */
.form-control{will-change:auto}
.form-control:focus{will-change:border-color,box-shadow}

/* Optimize hover effects */
.hover-effect{transition:transform .2s ease,box-shadow .2s ease}
.hover-effect:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}

/* Critical path CSS for Web Vitals */
.lcp-element{contain:layout style paint}
.cls-prevention{min-height:200px}
.fid-optimization{pointer-events:auto}

/* Optimize background images */
.bg-image{background-size:cover;background-position:center;background-repeat:no-repeat;will-change:transform}

/* Optimize gradients */
.gradient-optimized{background:linear-gradient(135deg,#1A1E5D 0%,#282828 100%);background-attachment:fixed}

/* Optimize shadows */
.shadow-optimized{box-shadow:0 2px 4px rgba(0,0,0,.1);transition:box-shadow .2s ease}
.shadow-optimized:hover{box-shadow:0 4px 8px rgba(0,0,0,.15)}

/* Optimize borders */
.border-optimized{border:1px solid rgba(0,0,0,.1);border-radius:6px}

/* Optimize text rendering */
.text-optimized{text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* Optimize list rendering */
.list-optimized{list-style:none;padding:0;margin:0}
.list-optimized li{padding:8px 0;border-bottom:1px solid rgba(0,0,0,.05)}

/* Optimize table rendering */
.table-optimized{border-collapse:collapse;width:100%}
.table-optimized th,.table-optimized td{padding:12px;text-align:left;border-bottom:1px solid rgba(0,0,0,.1)}

/* Optimize flexbox performance */
.flex-optimized{display:flex;align-items:center;justify-content:space-between}
.flex-column{flex-direction:column}
.flex-wrap{flex-wrap:wrap}

/* Optimize grid performance */
.grid-optimized{display:grid;gap:1rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

@media (max-width:768px){
    .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
}

/* Optimize positioning */
.relative{position:relative}
.absolute{position:absolute}
.fixed{position:fixed}
.sticky{position:sticky}

/* Optimize z-index layers */
.z-1{z-index:1}
.z-10{z-index:10}
.z-100{z-index:100}
.z-1000{z-index:1000}

/* Optimize visibility */
.visible{visibility:visible;opacity:1}
.hidden{visibility:hidden;opacity:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Optimize cursor */
.pointer{cursor:pointer}
.not-allowed{cursor:not-allowed}
.grab{cursor:grab}
.grabbing{cursor:grabbing}

/* Optimize user selection */
.select-none{user-select:none}
.select-all{user-select:all}
.select-text{user-select:text}

/* Optimize overflow */
.overflow-hidden{overflow:hidden}
.overflow-auto{overflow:auto}
.overflow-scroll{overflow:scroll}

/* Optimize white-space */
.nowrap{white-space:nowrap}
.pre{white-space:pre}
.pre-wrap{white-space:pre-wrap}

/* Optimize text alignment */
.text-left{text-align:left}
.text-center{text-align:center}
.text-right{text-align:right}
.text-justify{text-align:justify}

/* Optimize display */
.block{display:block}
.inline{display:inline}
.inline-block{display:inline-block}
.flex{display:flex}
.grid{display:grid}
.none{display:none}

/* Optimize margins and padding */
.m-0{margin:0}
.p-0{padding:0}
.mt-1{margin-top:.25rem}
.mb-1{margin-bottom:.25rem}
.pt-1{padding-top:.25rem}
.pb-1{padding-bottom:.25rem}

/* Optimize width and height */
.w-full{width:100%}
.h-full{height:100%}
.w-auto{width:auto}
.h-auto{height:auto}

/* Optimize colors */
.text-primary{color:#1A1E5D}
.text-secondary{color:#1E99FF}
.text-white{color:#fff}
.text-black{color:#000}
.bg-primary{background-color:#1A1E5D}
.bg-secondary{background-color:#1E99FF}
.bg-white{background-color:#fff}
.bg-transparent{background-color:transparent}