/* Critical CSS - Above the fold */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--blue-900:#1e3a5f;--blue-800:#1e4d8c;--blue-700:#1a56db;--blue-600:#2563eb;--blue-500:#3b82f6;--blue-400:#60a5fa;--blue-300:#93c5fd;--blue-200:#bfdbfe;--blue-100:#dbeafe;--blue-50:#eff6ff;--silver-600:#475569;--silver-500:#64748b;--silver-400:#cbd5e1;--silver-300:#d1d5db;--silver-200:#e2e8f0;--silver-100:#f1f5f9;--silver-50:#f8fafc;--white:#fff;--black:#0f172a;--color-primary:var(--blue-700);--color-primary-dark:var(--blue-900);--color-primary-light:var(--blue-500);--color-primary-lighter:var(--blue-50);--color-secondary:var(--silver-500);--color-accent:var(--blue-400);--gradient-primary:linear-gradient(135deg,var(--blue-900)0%,var(--blue-700)50%,var(--blue-600)100%);--gradient-hero:linear-gradient(135deg,#0c1e32 0%,#1e3a5f 30%,#1a56db 70%,#2563eb 100%);--gradient-cta:linear-gradient(135deg,var(--blue-700),var(--blue-600),var(--blue-500));--shadow-sm:0 1px 3px rgba(30,58,95,.08);--shadow-md:0 4px 16px rgba(30,58,95,.10);--shadow-lg:0 10px 40px rgba(30,58,95,.12);--shadow-xl:0 20px 60px rgba(30,58,95,.15);--font-primary:'Inter',system-ui,-apple-system,sans-serif;--font-heading:'Space Grotesk','Inter',system-ui,sans-serif;--section-py:100px;--container:1280px;--grid-gap:28px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--transition-fast:.2s cubic-bezier(.4,0,.2,1);--transition-normal:.35s cubic-bezier(.4,0,.2,1);--transition-slow:.5s cubic-bezier(.4,0,.2,1)}
html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-primary);color:var(--black);background:var(--white);line-height:1.7;overflow-x:hidden;margin:0}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:var(--transition-normal)}
ul{list-style:none}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.2;color:var(--black)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 32px;border-radius:var(--radius-full);font-family:var(--font-primary);font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:var(--transition-normal);white-space:nowrap;position:relative;overflow:hidden}
.btn-primary{background:var(--gradient-primary);color:var(--white);box-shadow:0 4px 20px rgba(26,86,219,.30)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(26,86,219,.40)}
.btn-secondary{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.40)}
.btn-secondary:hover{background:rgba(255,255,255,.10);border-color:var(--white);transform:translateY(-3px)}
.btn-outline{background:transparent;color:var(--blue-700);border:2px solid var(--blue-700)}
.btn-outline:hover{background:var(--blue-700);color:var(--white);transform:translateY(-3px)}
.btn-light{background:var(--white);color:var(--blue-700);box-shadow:0 4px 15px rgba(0,0,0,.08)}
.btn-light:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,.12)}
.btn-whatsapp{background:#25d366;color:var(--white);box-shadow:0 4px 20px rgba(37,211,102,.30)}
.btn-whatsapp:hover{background:#20bd5a;transform:translateY(-3px)}
.btn-sm{padding:10px 22px;font-size:.88rem}
.btn-lg{padding:18px 40px;font-size:1.05rem}
.header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-bottom:1px solid rgba(0,0,0,.04);transition:var(--transition-normal)}
.header.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--container);margin:0 auto;padding:0 24px;height:76px}
.logo{display:flex;align-items:center;gap:12px;font-family:var(--font-heading);font-size:1.35rem;font-weight:800;color:var(--black);z-index:1001}
.logo-icon{width:42px;height:42px;background:var(--gradient-primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;font-weight:800;box-shadow:0 4px 12px rgba(26,86,219,.25)}
.logo-img{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:contain;flex-shrink:0;transition:var(--transition-normal)}.logo:hover .logo-img{transform:scale(1.08);box-shadow:0 4px 20px rgba(26,86,219,.30)}.footer-brand .logo-img{width:72px;height:72px;background:#fff;border-radius:var(--radius-sm);padding:4px;box-shadow:0 4px 16px rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.9)}.footer-brand .logo:hover .logo-img{transform:scale(1.08)}
.logo span{font-weight:400;color:var(--silver-500)}
.nav-wrapper{display:flex;align-items:center;gap:4px}
.mega-nav{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.mega-nav>li{position:relative}
.mega-nav>li>a{display:flex;align-items:center;gap:4px;padding:10px 16px;border-radius:var(--radius-sm);font-size:.92rem;font-weight:500;color:var(--black);transition:var(--transition-fast)}
.mega-nav>li>a:hover,.mega-nav>li>a.active{color:var(--blue-700);background:var(--blue-50)}
.mega-nav>li>a .arrow{font-size:.65rem;transition:var(--transition-fast);display:inline-block}
.header-actions{display:flex;align-items:center;gap:12px}
.header-search{width:40px;height:40px;border-radius:var(--radius-full);border:none;background:var(--silver-100);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:var(--transition-fast);color:var(--silver-600)}
.header-search:hover{background:var(--blue-50);color:var(--blue-700)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none;z-index:1001}
.hamburger span{width:26px;height:2.5px;background:var(--black);border-radius:3px;transition:var(--transition-normal)}
/* Hero section */
.hero{min-height:100vh;display:flex;align-items:center;background:var(--gradient-hero);position:relative;overflow:hidden;padding:120px 0 80px}
.hero .container{position:relative;z-index:2}
.hero-content{max-width:720px}
.hero-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.10);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);padding:10px 22px;border-radius:var(--radius-full);color:var(--blue-200);font-size:.88rem;font-weight:500;margin-bottom:32px}
.hero-badge-dot{width:8px;height:8px;background:#25d366;border-radius:50%;display:inline-block}
.hero-title{font-size:clamp(2.2rem,5vw,4.2rem);font-weight:900;color:var(--white);line-height:1.08;margin-bottom:22px}
.hero-title span{background:linear-gradient(135deg,#60a5fa,#93c5fd,var(--white));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-text{font-size:clamp(1rem,2vw,1.2rem);color:rgba(255,255,255,.75);line-height:1.8;margin-bottom:40px;max-width:580px}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap}
.hero-stats{display:flex;gap:clamp(20px,4vw,50px);margin-top:60px;padding-top:36px;border-top:1px solid rgba(255,255,255,.08)}
.hero-stat h3{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:var(--blue-200);line-height:1;font-family:var(--font-heading);margin:0}
.hero-stat p{font-size:.88rem;color:rgba(255,255,255,.5);margin:4px 0 0}
/* Page header */
.page-header{padding:130px 0 70px;background:var(--gradient-hero);text-align:center;position:relative;overflow:hidden}
.page-header .container{position:relative;z-index:2}
.page-header h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:900;color:var(--white);margin-bottom:16px}
.page-header p{color:rgba(255,255,255,.7);font-size:clamp(.95rem,2vw,1.1rem);max-width:640px;margin:0 auto}
.breadcrumb{display:flex;justify-content:center;gap:10px;margin-bottom:18px;font-size:.88rem;color:rgba(255,255,255,.5)}
.breadcrumb a{color:var(--blue-200)}
.page-content{padding:80px 0}
/* Section headers */
.section{padding:var(--section-py) 0}
.section-header{text-align:center;margin-bottom:60px}
.section-label{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--blue-700);background:var(--blue-50);padding:8px 22px;border-radius:var(--radius-full);margin-bottom:18px;border:1px solid rgba(37,99,235,.10)}
.section-title{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;color:var(--black);margin-bottom:18px;line-height:1.15}
.section-title span{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section-subtitle{font-size:1.1rem;color:var(--silver-600);max-width:640px;margin:0 auto;line-height:1.8}
/* CTA */
.cta-section{background:var(--gradient-cta);padding:90px 0;text-align:center;position:relative;overflow:hidden}
.cta-section .container{position:relative;z-index:2}
.cta-section h2{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;color:var(--white);margin-bottom:16px}
.cta-section p{color:rgba(255,255,255,.75);font-size:1.1rem;max-width:600px;margin:0 auto 36px;line-height:1.8}
.cta-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
/* Footer */
.footer{background:var(--blue-900);color:rgba(255,255,255,.75);padding:80px 0 0}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:.85rem;color:rgba(255,255,255,.3)}
/* Animations */
.fade-in{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.fade-in.visible{opacity:1;transform:translateY(0)}
.fade-in-left{opacity:0;transform:translateX(-40px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.fade-in-left.visible{opacity:1;transform:translateX(0)}
.fade-in-right{opacity:0;transform:translateX(40px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.fade-in-right.visible{opacity:1;transform:translateX(0)}
.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}
/* Floating elements */
.whatsapp-float{position:fixed;bottom:24px;right:24px;width:56px;height:56px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#fff;z-index:999;transition:var(--transition-normal);cursor:pointer;box-shadow:0 4px 20px rgba(37,211,102,.40)}
.back-to-top{position:fixed;bottom:24px;left:24px;width:44px;height:44px;background:var(--white);color:var(--blue-700);border:1px solid var(--silver-200);border-radius:50%;cursor:pointer;font-size:1.1rem;box-shadow:var(--shadow-md);z-index:999;display:none;align-items:center;justify-content:center}
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--blue-900);color:var(--white);padding:16px 30px;border-radius:var(--radius-md);font-weight:600;box-shadow:var(--shadow-xl);z-index:99999;display:none}
/* Container element dimensions for CLS prevention */
.about-image-main,.service-detail-image,.blog-image,.portfolio-item,.hero-visual-card{min-height:280px}
.about-image-main{min-height:450px}
.service-detail-image{min-height:300px}
.blog-image{min-height:220px}
.map-container{aspect-ratio:16/9;min-height:300px}
/* Grid base */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap)}
/* Service card base */
.service-card{background:var(--white);border:1px solid var(--silver-200);border-radius:var(--radius-lg);padding:36px 30px;transition:var(--transition-normal);position:relative;overflow:hidden}
.service-card-icon{width:60px;height:60px;background:var(--blue-50);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:22px;transition:var(--transition-normal)}
.service-card h3{font-size:1.25rem;font-weight:700;margin-bottom:10px}
.service-card p{color:var(--silver-600);font-size:.93rem;line-height:1.7}
.service-card-link{display:inline-flex;align-items:center;gap:8px;color:var(--blue-700);font-weight:600;font-size:.92rem;margin-top:20px}
/* Responsive base */
@media(max-width:768px){
.hamburger{display:flex}
.mega-nav{position:fixed;top:76px;left:0;width:100%;height:calc(100vh - 76px);background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;padding:16px;overflow-y:auto;transform:translateX(100%);transition:var(--transition-normal);border-top:1px solid var(--silver-200)}
.mega-nav.open{transform:translateX(0)}
.mega-nav>li{width:100%}
.mega-nav>li>a{width:100%;padding:14px 16px;justify-content:space-between}
.header-actions .btn{display:none}
.hero-title{font-size:2.2rem}
.hero-stats{flex-direction:column;gap:20px}
.grid-2,.grid-3{grid-template-columns:1fr}
.hero-buttons{flex-direction:column}
.hero-buttons .btn{width:100%;justify-content:center}
.page-header h1{font-size:2.2rem}
.footer-bottom{flex-direction:column;gap:8px;text-align:center}
}
