/* ============================================
   KLC SISTEM — PREMIUM WEBSITE v2
   Full visual, rich, colorful, professional
   ============================================ */

/* ---------- Variables ---------- */
:root {
    --primary: #6366f1;
    --primary-light: #818cf8;
    --primary-dark: #4f46e5;
    --accent: #06b6d4;
    --accent-light: #67e8f9;
    --purple: #8b5cf6;
    --green: #10b981;
    --orange: #f59e0b;
    --pink: #ec4899;
    --cyan: #06b6d4;
    --red: #ef4444;

    --bg: #0f1629;
    --bg-alt: #131b32;
    --bg-card: rgba(255,255,255,0.04);
    --bg-card-hover: rgba(255,255,255,0.07);
    --border: rgba(255,255,255,0.08);
    --border-hover: rgba(255,255,255,0.15);

    --text-1: #f1f5f9;
    --text-2: #a0aec0;
    --text-3: #718096;

    --font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --mono: 'JetBrains Mono', monospace;

    --ease: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* ---------- Light Theme ---------- */
[data-theme="light"] {
    --bg: #f5f7fb;
    --bg-alt: #edf0f7;
    --bg-card: rgba(255,255,255,0.7);
    --bg-card-hover: rgba(255,255,255,0.9);
    --border: rgba(0,0,0,0.08);
    --border-hover: rgba(0,0,0,0.15);
    --text-1: #1a202c;
    --text-2: #4a5568;
    --text-3: #718096;
}
[data-theme="light"] .navbar.scrolled {
    background: rgba(245,247,251,.92);
}
[data-theme="light"] .hero-dashboard,
[data-theme="light"] .code-window {
    background: rgba(30,30,50,.95);
}
[data-theme="light"] .hero-float-card,
[data-theme="light"] .about-float {
    background: rgba(255,255,255,.92);
    border-color: rgba(0,0,0,.08);
}
[data-theme="light"] .hfc-text strong,
[data-theme="light"] .about-float strong { color: var(--text-1) }
[data-theme="light"] .hamburger span { background: var(--text-1) }
[data-theme="light"] #preloader { background: var(--bg) }
[data-theme="light"] .footer { background: #1a202c }
[data-theme="light"] .trusted-item img { filter: brightness(1); opacity: .6 }
[data-theme="light"] .trusted-item:hover img { filter: none; opacity: 1 }

/* ---------- Reset ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);background:var(--bg);color:var(--text-1);line-height:1.6;overflow-x:hidden;transition:background .4s,color .4s}
a{text-decoration:none;color:inherit;transition:all .3s var(--ease)}
ul{list-style:none}
img{max-width:100%;display:block}
::selection{background:var(--primary);color:#fff}

.container{max-width:1200px;margin:0 auto;padding:0 24px}
.section{padding:120px 0;position:relative}

/* ---------- Preloader ---------- */
#preloader{
    position:fixed;inset:0;background:var(--bg);
    display:flex;align-items:center;justify-content:center;
    z-index:99999;transition:opacity .6s,visibility .6s;
}
#preloader.done{opacity:0;visibility:hidden;pointer-events:none}
.preloader-inner{text-align:center}
.preloader-logo{margin-bottom:24px}
.preloader-svg{width:60px;height:60px}
.pre-rect{stroke-dasharray:200;stroke-dashoffset:200;animation:drawRect 1.5s ease forwards}
.pre-arrow{stroke-dasharray:60;stroke-dashoffset:60;animation:drawRect 1s .5s ease forwards}
.pre-line{stroke-dasharray:30;stroke-dashoffset:30;animation:drawRect .6s 1s ease forwards}
@keyframes drawRect{to{stroke-dashoffset:0}}
.preloader-bar{width:180px;height:3px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden;margin:0 auto}
.preloader-progress{height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:3px;animation:preProgress 1.5s .3s ease forwards}
@keyframes preProgress{to{width:100%}}

/* ---------- Navbar ---------- */
.navbar{
    position:fixed;top:0;left:0;width:100%;padding:16px 0;z-index:1000;
    transition:all .3s var(--ease);
}
.navbar.scrolled{
    padding:10px 0;
    background:rgba(15,22,41,.92);
    backdrop-filter:blur(24px) saturate(180%);
    border-bottom:1px solid var(--border);
}
.nav-container{
    max-width:1200px;margin:0 auto;padding:0 24px;
    display:flex;align-items:center;justify-content:space-between;
}
.nav-logo{display:flex;align-items:center;gap:10px;z-index:1001}
.logo-mark{width:38px;height:38px}
.logo-mark svg{width:100%;height:100%}
.logo-type{display:flex;flex-direction:column;line-height:1.1}
.logo-name{
    font-size:17px;font-weight:800;letter-spacing:1.5px;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.logo-sub{font-size:10px;font-weight:400;color:var(--text-3);letter-spacing:3px;text-transform:uppercase}

.nav-menu{display:flex;align-items:center;gap:4px}
.nav-link{
    padding:8px 16px;font-size:13.5px;font-weight:500;color:var(--text-2);
    border-radius:99px;transition:all .3s var(--ease);position:relative;
}
.nav-link:hover,.nav-link.active{color:var(--text-1);background:rgba(255,255,255,.05)}
.nav-link.active::after{
    content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);
    width:18px;height:2px;background:var(--primary);border-radius:2px;
}

.nav-right{display:flex;align-items:center;gap:14px}
.nav-cta-btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:9px 22px;font-size:13px;font-weight:600;color:#fff;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    border-radius:99px;box-shadow:0 4px 20px rgba(99,102,241,.25);
    transition:all .3s var(--ease);
}
.nav-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(99,102,241,.35)}

.hamburger{
    display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;z-index:1001;
}
.hamburger span{width:22px;height:2px;background:var(--text-1);border-radius:2px;transition:all .3s var(--ease)}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ---------- Hero ---------- */
.hero{
    position:relative;min-height:100vh;display:flex;align-items:center;
    padding:120px 0 80px;overflow:hidden;
}
.hero-bg-wrap{position:absolute;inset:0;z-index:0}
.hero-mesh{
    position:absolute;inset:0;
    background-image:
        linear-gradient(rgba(99,102,241,.04) 1px,transparent 1px),
        linear-gradient(90deg,rgba(99,102,241,.04) 1px,transparent 1px);
    background-size:60px 60px;
    mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 100%);
}
.hero-gradient-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.5}
.orb-1{width:700px;height:700px;background:radial-gradient(circle,rgba(99,102,241,.35),transparent 70%);top:-250px;right:-150px;animation:orbDrift1 10s ease-in-out infinite}
.orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(6,182,212,.25),transparent 70%);bottom:-150px;left:-100px;animation:orbDrift2 12s ease-in-out infinite}
.orb-3{width:350px;height:350px;background:radial-gradient(circle,rgba(139,92,246,.3),transparent 70%);top:35%;left:25%;animation:orbDrift3 14s ease-in-out infinite}

@keyframes orbDrift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,40px) scale(1.08)}}
@keyframes orbDrift2{0%,100%{transform:translate(0,0)}50%{transform:translate(50px,-30px) scale(1.05)}}
@keyframes orbDrift3{0%,100%{transform:translate(0,0)}50%{transform:translate(-25px,-35px) scale(.95)}}

.hero-grid-lines{
    position:absolute;inset:0;
    background:
        linear-gradient(180deg,transparent 0%,rgba(99,102,241,.02) 50%,transparent 100%);
}
.hero-noise{
    position:absolute;inset:0;opacity:.015;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.hero-shape{position:absolute;opacity:.5;animation:shapeFloat 8s ease-in-out infinite}
.shape-1{width:80px;top:20%;right:15%;animation-delay:0s}
.shape-2{width:60px;bottom:25%;left:10%;animation-delay:2s}
.shape-3{width:60px;top:15%;left:20%;animation-delay:4s}
@keyframes shapeFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(10deg)}}

.hero-inner{
    position:relative;z-index:1;
    display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}

.hero-content{max-width:560px}
.hero-badge{
    display:inline-flex;align-items:center;gap:10px;
    padding:6px 18px 6px 8px;
    background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.15);
    border-radius:99px;font-size:13px;font-weight:500;color:var(--primary-light);
    margin-bottom:28px;
}
.badge-pulse{
    width:10px;height:10px;border-radius:50%;
    background:var(--green);
    box-shadow:0 0 0 0 rgba(16,185,129,.4);
    animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.4)}50%{box-shadow:0 0 0 8px rgba(16,185,129,0)}}

.hero h1{
    font-size:clamp(36px,5vw,60px);font-weight:800;line-height:1.1;
    letter-spacing:-.5px;margin-bottom:24px;
}
.hero-highlight{
    background:linear-gradient(135deg,var(--primary) 0%,var(--purple) 40%,var(--accent) 100%);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.text-gradient{
    background:linear-gradient(135deg,var(--primary),var(--accent));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.text-gradient-warm{
    background:linear-gradient(135deg,#fbbf24,#ec4899);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

.hero-desc{font-size:16px;line-height:1.8;color:var(--text-2);margin-bottom:36px;max-width:480px}

.hero-buttons{display:flex;align-items:center;gap:14px;margin-bottom:48px;flex-wrap:wrap}

.btn-hero-primary{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 30px;font-size:15px;font-weight:600;color:#fff;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    border-radius:14px;box-shadow:0 6px 30px rgba(99,102,241,.3);
    transition:all .3s var(--ease);
}
.btn-hero-primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(99,102,241,.4)}
.btn-hero-primary i{transition:transform .3s}
.btn-hero-primary:hover i{transform:translateX(4px)}

.btn-hero-outline{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 28px;font-size:15px;font-weight:600;color:var(--text-1);
    background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
    border-radius:14px;transition:all .3s var(--ease);
}
.btn-hero-outline:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);transform:translateY(-2px)}
.btn-hero-outline i{color:var(--primary-light)}

.hero-metrics{
    display:flex;align-items:center;gap:28px;
    padding:24px 32px;
    background:rgba(255,255,255,.025);border:1px solid var(--border);
    border-radius:18px;backdrop-filter:blur(20px);
}
.metric{text-align:center}
.metric-value{
    font-size:26px;font-weight:800;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.metric-label{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.metric-sep{width:1px;height:36px;background:var(--border)}

/* Hero Visual — Dashboard Mockup */
.hero-visual{position:relative}

.hero-dashboard{
    background:rgba(12,12,25,.9);border:1px solid rgba(255,255,255,.08);
    border-radius:20px;overflow:hidden;
    box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.03) inset;
}
.dash-topbar{
    display:flex;align-items:center;gap:12px;
    padding:12px 16px;background:rgba(255,255,255,.02);border-bottom:1px solid rgba(255,255,255,.05);
}
.dash-dots{display:flex;gap:6px}
.dash-dots span{width:10px;height:10px;border-radius:50%}
.dash-dots span:nth-child(1){background:#ff5f57}
.dash-dots span:nth-child(2){background:#febc2e}
.dash-dots span:nth-child(3){background:#28c840}
.dash-url{font-size:11px;color:var(--text-3);font-family:var(--mono);margin-left:8px}

.dash-body{display:flex;min-height:280px}

.dash-sidebar{
    width:50px;background:rgba(255,255,255,.015);border-right:1px solid rgba(255,255,255,.04);
    display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 0;
}
.dash-nav-item{
    width:36px;height:36px;display:flex;align-items:center;justify-content:center;
    border-radius:10px;font-size:14px;color:var(--text-3);transition:all .3s;
}
.dash-nav-item.active{background:rgba(99,102,241,.15);color:var(--primary-light)}

.dash-content{flex:1;padding:16px}

.dash-cards-row{display:flex;gap:10px;margin-bottom:14px}
.dash-mini-card{
    flex:1;padding:12px;border-radius:12px;display:flex;align-items:center;gap:10px;
    background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);
}
.dmc-icon{
    width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;
    font-size:13px;
}
.dash-mini-card.blue .dmc-icon{background:rgba(99,102,241,.15);color:var(--primary-light)}
.dash-mini-card.green .dmc-icon{background:rgba(16,185,129,.15);color:var(--green)}
.dash-mini-card.purple .dmc-icon{background:rgba(139,92,246,.15);color:var(--purple)}
.dmc-val{display:block;font-size:14px;font-weight:700;color:var(--text-1)}
.dmc-label{display:block;font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px}

.dash-chart{margin-bottom:14px;padding:8px;background:rgba(255,255,255,.01);border-radius:10px;border:1px solid rgba(255,255,255,.03)}
.chart-svg{width:100%;height:auto}
.chart-line{stroke-dasharray:500;stroke-dashoffset:500;animation:drawChart 2s 1s ease forwards}
.chart-area{opacity:0;animation:fadeIn .5s 2.5s ease forwards}
.chart-dot{opacity:0;animation:fadeIn .3s 2.8s ease forwards}
@keyframes drawChart{to{stroke-dashoffset:0}}
@keyframes fadeIn{to{opacity:1}}

.dash-bottom-row{display:flex;flex-direction:column;gap:8px}
.dash-progress-item{display:flex;align-items:center;gap:10px}
.dash-progress-item span{font-size:10px;color:var(--text-3);min-width:80px;font-family:var(--mono)}
.dash-progress{flex:1;height:6px;background:rgba(255,255,255,.04);border-radius:6px;overflow:hidden}
.dash-progress-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--primary),var(--primary-light));animation:progressGrow 1.5s 1.5s ease forwards;transform-origin:left;transform:scaleX(0)}
.dash-progress-fill.green{background:linear-gradient(90deg,var(--green),#34d399)}
@keyframes progressGrow{to{transform:scaleX(1)}}

/* Hero Floating Cards */
.hero-float-card{
    position:absolute;display:flex;align-items:center;gap:12px;
    padding:14px 18px;background:rgba(12,12,25,.92);border:1px solid rgba(255,255,255,.08);
    border-radius:14px;backdrop-filter:blur(20px);box-shadow:0 10px 40px rgba(0,0,0,.4);
    animation:hfcFloat 4s ease-in-out infinite;
}
.hfc-1{top:-10px;right:-30px;animation-delay:0s}
.hfc-2{bottom:20px;left:-30px;animation-delay:2s}
@keyframes hfcFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

.hfc-icon{
    width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;
    background:rgba(99,102,241,.12);color:var(--primary-light);font-size:16px;
}
.hfc-icon.green{background:rgba(16,185,129,.12);color:var(--green)}
.hfc-text strong{display:block;font-size:14px;font-weight:700;color:var(--text-1)}
.hfc-text span{font-size:11px;color:var(--text-3)}

/* Hero Scroll */
.hero-scroll-indicator{
    position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
    display:flex;flex-direction:column;align-items:center;gap:8px;
}
.scroll-line{width:1px;height:40px;background:linear-gradient(180deg,var(--primary),transparent);animation:scrollPulse 2s infinite}
@keyframes scrollPulse{0%,100%{opacity:.3}50%{opacity:1}}
.hero-scroll-indicator span{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--text-3)}

/* ---------- Trusted Bar ---------- */
.trusted-bar{
    padding:40px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);
    background:rgba(255,255,255,.01);
}
.trusted-label{
    text-align:center;font-size:12px;font-weight:600;text-transform:uppercase;
    letter-spacing:2px;color:var(--text-3);margin-bottom:24px;
}
.trusted-logos{overflow:hidden;mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent)}
.trusted-track{display:flex;gap:20px;animation:marquee 30s linear infinite;width:max-content}
.trusted-item{
    display:flex;align-items:center;justify-content:center;gap:12px;
    min-width:170px;height:56px;padding:10px 24px;
    background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:14px;
    flex-shrink:0;transition:all .3s var(--ease);
}
.trusted-item:hover{background:rgba(255,255,255,.07);border-color:var(--border-hover);transform:scale(1.05)}
.trusted-item img{
    width:28px;height:28px;object-fit:contain;border-radius:6px;
    filter:brightness(0) invert(1);opacity:.5;
    transition:all .4s var(--ease);
}
.trusted-item:hover img{filter:none;opacity:1}
.trusted-item span{
    font-size:13px;font-weight:600;color:var(--text-3);white-space:nowrap;
    transition:color .3s var(--ease);
}
.trusted-item:hover span{color:var(--text-1)}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ---------- Section Labels & Headings ---------- */
.section-label{
    display:inline-flex;align-items:center;gap:8px;
    padding:6px 16px;background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.15);
    border-radius:99px;font-size:12px;font-weight:700;color:var(--primary-light);
    text-transform:uppercase;letter-spacing:1px;margin-bottom:18px;
}
.section-label.center{margin-left:auto;margin-right:auto;display:flex;width:fit-content}
.section-label i{font-size:11px}

.section-heading{
    font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.2;
    letter-spacing:-.3px;margin-bottom:16px;
}
.section-heading.center{text-align:center}

.section-top{text-align:center;margin-bottom:60px}
.section-sub{font-size:16px;color:var(--text-2);max-width:540px;margin:0 auto}

/* ---------- About Section ---------- */
.about-layout{
    display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
.about-left{position:relative}
.about-visual-box{position:relative}

/* Code Window */
.code-window{
    background:rgba(10,10,20,.95);border:1px solid rgba(255,255,255,.08);
    border-radius:16px;overflow:hidden;
    box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.cw-header{
    display:flex;align-items:center;gap:10px;
    padding:12px 16px;background:rgba(255,255,255,.025);border-bottom:1px solid rgba(255,255,255,.05);
}
.cw-dots{display:flex;gap:6px}
.d-red,.d-yellow,.d-green{width:10px;height:10px;border-radius:50%}
.d-red{background:#ff5f57}.d-yellow{background:#febc2e}.d-green{background:#28c840}
.cw-title{font-size:12px;color:var(--text-2);font-family:var(--mono);margin-left:8px}
.cw-lang{margin-left:auto;font-size:10px;color:var(--text-3);padding:2px 8px;background:rgba(255,255,255,.04);border-radius:4px}

.cw-body{padding:16px 0}
.cw-line{
    display:flex;align-items:center;gap:0;
    padding:2px 16px;font-family:var(--mono);font-size:12.5px;line-height:1.8;
    color:var(--text-2);transition:background .2s;
}
.cw-line:hover{background:rgba(255,255,255,.02)}
.cw-line.highlight{background:rgba(16,185,129,.06);border-left:2px solid var(--green)}
.ln{
    width:28px;text-align:right;margin-right:16px;
    color:var(--text-3);opacity:.5;font-size:11px;flex-shrink:0;
}
.kw{color:#c792ea}.cls{color:#82aaff}.fn{color:#82aaff}.cm{color:var(--green);opacity:.7}

/* About Floats */
.about-float{
    position:absolute;display:flex;align-items:center;gap:12px;
    padding:14px 18px;background:rgba(10,10,20,.92);border:1px solid rgba(255,255,255,.08);
    border-radius:14px;backdrop-filter:blur(20px);box-shadow:0 10px 40px rgba(0,0,0,.3);
    animation:aboutFloat 5s ease-in-out infinite;
}
.af-1{top:-15px;right:-25px;animation-delay:0s}
.af-2{bottom:-15px;left:-25px;animation-delay:2.5s}
@keyframes aboutFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.about-float i{font-size:18px;color:var(--primary-light)}
.about-float strong{display:block;font-size:15px;font-weight:700;color:var(--text-1)}
.about-float span{font-size:11px;color:var(--text-3)}

.about-right{}
.about-text{font-size:15px;color:var(--text-2);line-height:1.8;margin-bottom:32px}

.about-highlights{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}
.ah-item{display:flex;align-items:flex-start;gap:16px;padding:16px;border-radius:14px;transition:all .3s var(--ease)}
.ah-item:hover{background:rgba(255,255,255,.02)}
.ah-icon{
    width:44px;height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;
    background:rgba(99,102,241,.1);color:var(--primary-light);border-radius:12px;font-size:18px;
}
.ah-icon.purple{background:rgba(139,92,246,.1);color:var(--purple)}
.ah-icon.cyan{background:rgba(6,182,212,.1);color:var(--cyan)}
.ah-item h4{font-size:15px;font-weight:700;margin-bottom:3px}
.ah-item p{font-size:13px;color:var(--text-3);line-height:1.5}

.btn-primary-pill{
    display:inline-flex;align-items:center;gap:10px;
    padding:13px 28px;font-size:14px;font-weight:600;color:#fff;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    border-radius:99px;box-shadow:0 4px 20px rgba(99,102,241,.25);
    transition:all .3s var(--ease);
}
.btn-primary-pill:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(99,102,241,.35)}
.btn-primary-pill i{font-size:12px;transition:transform .3s}
.btn-primary-pill:hover i{transform:translateX(4px)}

/* ---------- Services ---------- */
.services-section{background:var(--bg-alt)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

.service-card{
    position:relative;padding:32px 28px;
    background:var(--bg-card);border:1px solid var(--border);
    border-radius:20px;transition:all .4s var(--ease);overflow:hidden;cursor:default;
}
.sc-glow{
    position:absolute;top:-100px;right:-100px;width:200px;height:200px;
    border-radius:50%;filter:blur(80px);opacity:0;transition:opacity .5s;pointer-events:none;
}
.service-card:hover .sc-glow{opacity:1}
.sc-blue .sc-glow{background:rgba(99,102,241,.2)}
.sc-purple .sc-glow{background:rgba(139,92,246,.2)}
.sc-green .sc-glow{background:rgba(16,185,129,.2)}
.sc-orange .sc-glow{background:rgba(245,158,11,.2)}
.sc-cyan .sc-glow{background:rgba(6,182,212,.2)}
.sc-pink .sc-glow{background:rgba(236,72,153,.2)}

.service-card:hover{
    border-color:var(--border-hover);transform:translateY(-6px);
    box-shadow:0 20px 50px rgba(0,0,0,.2);
}

.sc-icon{
    width:52px;height:52px;display:flex;align-items:center;justify-content:center;
    border-radius:14px;font-size:22px;margin-bottom:22px;
}
.sc-blue .sc-icon{background:rgba(99,102,241,.1);color:var(--primary-light)}
.sc-purple .sc-icon{background:rgba(139,92,246,.1);color:var(--purple)}
.sc-green .sc-icon{background:rgba(16,185,129,.1);color:var(--green)}
.sc-orange .sc-icon{background:rgba(245,158,11,.1);color:var(--orange)}
.sc-cyan .sc-icon{background:rgba(6,182,212,.1);color:var(--cyan)}
.sc-pink .sc-icon{background:rgba(236,72,153,.1);color:var(--pink)}

.service-card h3{font-size:17px;font-weight:700;margin-bottom:10px}
.service-card p{font-size:13.5px;color:var(--text-2);line-height:1.7;margin-bottom:18px}
.sc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.sc-tags span{
    padding:4px 10px;font-size:11px;font-weight:500;border-radius:99px;
    background:rgba(99,102,241,.06);border:1px solid rgba(99,102,241,.12);color:var(--primary-light);
}
.sc-link{
    display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--primary-light);
    background:none;border:none;cursor:pointer;font-family:var(--font);padding:8px 0;
    position:relative;z-index:5;
}
.sc-link i{font-size:11px;transition:transform .3s}
.sc-link:hover i{transform:translateX(4px)}

/* Service cards equal height */
.service-card{display:flex;flex-direction:column}
.service-card p{flex:1}

/* ---------- Service Detail Modal ---------- */
.svc-modal-overlay{
    position:fixed;inset:0;background:rgba(10,15,30,.75);backdrop-filter:blur(8px);
    z-index:9999;display:flex;align-items:center;justify-content:center;
    opacity:0;visibility:hidden;transition:all .3s var(--ease);padding:24px;
}
.svc-modal-overlay.active{opacity:1;visibility:visible}
.svc-modal-overlay.active .svc-modal{transform:translateY(0) scale(1);opacity:1}

.svc-modal{
    background:var(--bg);border:1px solid var(--border);border-radius:24px;
    max-width:580px;width:100%;max-height:85vh;overflow-y:auto;
    transform:translateY(30px) scale(.96);opacity:0;
    transition:all .4s var(--ease);position:relative;
    box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.svc-modal-close{
    position:absolute;top:16px;right:16px;width:36px;height:36px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.05);border:1px solid var(--border);
    border-radius:50%;color:var(--text-2);font-size:14px;cursor:pointer;
    transition:all .3s var(--ease);z-index:2;
}
.svc-modal-close:hover{background:rgba(255,255,255,.1);color:var(--text-1);transform:rotate(90deg)}

.svc-modal-header{
    display:flex;align-items:center;gap:18px;
    padding:32px 32px 24px;border-bottom:1px solid var(--border);
}
.svc-modal-icon{
    width:56px;height:56px;min-width:56px;display:flex;align-items:center;justify-content:center;
    border-radius:16px;font-size:24px;
}
.svc-modal-header h3{font-size:20px;font-weight:700;margin-bottom:4px}
.svc-modal-header p{font-size:13px;color:var(--text-3);line-height:1.5}

.svc-modal-body{padding:28px 32px}
.svc-modal-body h4{
    display:flex;align-items:center;gap:8px;
    font-size:14px;font-weight:700;color:var(--text-1);margin-bottom:18px;
}
.svc-modal-body h4 i{color:var(--primary-light);font-size:15px}
.svc-modal-body ul{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}
.svc-modal-body li{
    display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--text-2);line-height:1.5;
}
.svc-modal-body li i{font-size:16px;margin-top:2px;flex-shrink:0}
.svc-modal-tags{display:flex;flex-wrap:wrap;gap:8px}
.svc-modal-tags span{
    padding:6px 14px;font-size:12px;font-weight:500;border-radius:99px;
    background:rgba(255,255,255,.03);border:1px solid;
}

.svc-modal-footer{
    padding:20px 32px 28px;border-top:1px solid var(--border);
    display:flex;justify-content:center;
}

/* ---------- Process ---------- */
.process-section{overflow:hidden}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.process-item{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center}
.pi-connector{
    position:absolute;top:32px;left:50%;right:-50%;height:2px;
    background:linear-gradient(90deg,rgba(99,102,241,.3),rgba(6,182,212,.3));
    z-index:0;
}
.process-item:last-child .pi-connector{display:none}
.pi-number{
    display:inline-flex;align-items:center;justify-content:center;
    width:48px;height:48px;border-radius:50%;font-size:16px;font-weight:800;color:#fff;
    position:relative;z-index:2;margin-bottom:20px;
    box-shadow:0 0 30px rgba(99,102,241,.2);
}
.pi-number.blue{background:linear-gradient(135deg,var(--primary),var(--primary-light))}
.pi-number.purple{background:linear-gradient(135deg,var(--purple),#a78bfa)}
.pi-number.cyan{background:linear-gradient(135deg,var(--cyan),var(--accent-light))}
.pi-number.green{background:linear-gradient(135deg,var(--green),#34d399)}

.pi-card{
    padding:28px 20px;background:var(--bg-card);border:1px solid var(--border);
    border-radius:18px;transition:all .3s var(--ease);flex:1;width:100%;
}
.pi-card:hover{border-color:var(--border-hover);transform:translateY(-4px)}
.pi-icon{
    width:44px;height:44px;display:flex;align-items:center;justify-content:center;
    border-radius:12px;font-size:18px;margin:0 auto 14px;
}
.pi-icon.blue{background:rgba(99,102,241,.1);color:var(--primary-light)}
.pi-icon.purple{background:rgba(139,92,246,.1);color:var(--purple)}
.pi-icon.cyan{background:rgba(6,182,212,.1);color:var(--cyan)}
.pi-icon.green{background:rgba(16,185,129,.1);color:var(--green)}

.pi-card h4{font-size:15px;font-weight:700;margin-bottom:8px}
.pi-card p{font-size:13px;color:var(--text-3);line-height:1.6;margin:0}

/* ---------- Tech ---------- */
.tech-section{background:var(--bg-alt)}
.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

.tech-card{
    padding:28px 24px;background:var(--bg-card);border:1px solid var(--border);
    border-radius:18px;transition:all .3s var(--ease);
}
.tech-card:hover{border-color:var(--border-hover);transform:translateY(-4px)}

.tc-header{
    display:flex;align-items:center;gap:12px;
    padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border);
}
.tc-icon-wrap{
    width:40px;height:40px;display:flex;align-items:center;justify-content:center;
    border-radius:10px;font-size:18px;
}
.tc-blue .tc-icon-wrap{background:rgba(99,102,241,.1);color:var(--primary-light)}
.tc-purple .tc-icon-wrap{background:rgba(139,92,246,.1);color:var(--purple)}
.tc-green .tc-icon-wrap{background:rgba(16,185,129,.1);color:var(--green)}
.tc-orange .tc-icon-wrap{background:rgba(245,158,11,.1);color:var(--orange)}
.tc-header h4{font-size:15px;font-weight:700}

.tc-list{display:flex;flex-direction:column;gap:10px}
.tc-list li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text-2)}
.tc-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.tc-blue .tc-dot{background:var(--primary-light)}
.tc-purple .tc-dot{background:var(--purple)}
.tc-green .tc-dot{background:var(--green)}
.tc-orange .tc-dot{background:var(--orange)}

/* ---------- Clients / Testimonials ---------- */
.testimonial-slider{max-width:1000px;margin:0 auto}
.testimonial-swiper{padding-bottom:50px}
.testimonial-swiper .swiper-wrapper{align-items:stretch}
.testimonial-swiper .swiper-slide{height:auto}

.testi-card{
    padding:32px;background:var(--bg-card);border:1px solid var(--border);
    border-radius:20px;transition:all .3s var(--ease);height:100%;
    display:flex;flex-direction:column;
}
.testi-card:hover{border-color:var(--border-hover)}
.testi-stars{display:flex;gap:3px;margin-bottom:16px;color:#fbbf24;font-size:14px}
.testi-card p{font-size:14.5px;line-height:1.8;color:var(--text-2);font-style:italic;flex:1;margin-bottom:24px}
.testi-author{display:flex;align-items:center;gap:12px}
.testi-avatar{
    width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-size:14px;font-weight:700;color:#fff;
    background:linear-gradient(135deg,var(--primary),var(--accent));flex-shrink:0;
}
.testi-avatar.purple{background:linear-gradient(135deg,var(--purple),var(--pink))}
.testi-avatar.green{background:linear-gradient(135deg,var(--green),var(--cyan))}
.testi-author strong{display:block;font-size:14px;font-weight:700}
.testi-author span{font-size:12px;color:var(--text-3)}

.swiper-pagination-bullet{width:8px;height:8px;background:var(--text-3);opacity:.4}
.swiper-pagination-bullet-active{width:24px;border-radius:4px;background:var(--primary);opacity:1}

/* ---------- CTA ---------- */
.cta-section{
    position:relative;padding:100px 0;overflow:hidden;
    background:linear-gradient(135deg,var(--primary-dark) 0%,#1e1b4b 50%,var(--primary-dark) 100%);
}
.cta-bg-effects{position:absolute;inset:0}
.cta-orb{position:absolute;border-radius:50%;filter:blur(100px)}
.cta-orb-1{width:400px;height:400px;background:rgba(99,102,241,.25);top:-150px;right:-100px}
.cta-orb-2{width:300px;height:300px;background:rgba(6,182,212,.2);bottom:-100px;left:-50px}

.cta-content{position:relative;text-align:center;z-index:1}
.cta-content h2{font-size:clamp(28px,4vw,42px);font-weight:800;color:#fff;margin-bottom:16px;line-height:1.2}
.cta-content p{font-size:16px;color:rgba(255,255,255,.7);max-width:500px;margin:0 auto 32px}

.cta-buttons{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.btn-cta-white{
    display:inline-flex;align-items:center;gap:8px;
    padding:14px 30px;font-size:15px;font-weight:700;color:var(--primary-dark);
    background:#fff;border-radius:14px;
    box-shadow:0 4px 20px rgba(255,255,255,.2);transition:all .3s var(--ease);
}
.btn-cta-white:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(255,255,255,.3)}
.btn-cta-white i{transition:transform .3s}
.btn-cta-white:hover i{transform:translateX(4px)}

.btn-cta-ghost{
    display:inline-flex;align-items:center;gap:8px;
    padding:14px 28px;font-size:14px;font-weight:600;color:rgba(255,255,255,.9);
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
    border-radius:14px;transition:all .3s var(--ease);
}
.btn-cta-ghost:hover{background:rgba(255,255,255,.15);transform:translateY(-2px)}

/* ---------- Contact ---------- */
.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:start}

.contact-left{display:flex;flex-direction:column;gap:16px}
.contact-card{
    display:flex;align-items:flex-start;gap:16px;
    padding:20px;background:var(--bg-card);border:1px solid var(--border);
    border-radius:16px;transition:all .3s var(--ease);
}
.contact-card:hover{border-color:var(--border-hover);transform:translateX(4px)}
.cc-icon{
    width:44px;height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;
    border-radius:12px;font-size:17px;
}
.cc-icon.blue{background:rgba(99,102,241,.1);color:var(--primary-light)}
.cc-icon.green{background:rgba(16,185,129,.1);color:var(--green)}
.cc-icon.purple{background:rgba(139,92,246,.1);color:var(--purple)}
.cc-icon.orange{background:rgba(245,158,11,.1);color:var(--orange)}
.contact-card h4{font-size:14px;font-weight:700;margin-bottom:4px}
.contact-card p{font-size:13px;color:var(--text-3);line-height:1.6}
.contact-card a{color:var(--primary-light)}
.contact-card a:hover{text-decoration:underline}

.contact-map{
    border-radius:16px;overflow:hidden;border:1px solid var(--border);
    background:var(--bg-card);
}
.contact-map iframe{display:block}

/* Contact Form */
.contact-form{
    padding:36px;background:var(--bg-card);border:1px solid var(--border);
    border-radius:20px;
}
.contact-form h3{font-size:22px;font-weight:700;margin-bottom:6px}
.form-subtitle{font-size:14px;color:var(--text-3);margin-bottom:28px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group.full{margin-bottom:24px}
.form-group label{font-size:12px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.5px}
.form-group input,.form-group select,.form-group textarea{
    padding:12px 16px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08);
    border-radius:12px;color:var(--text-1);font-family:var(--font);font-size:14px;
    transition:all .3s var(--ease);outline:none;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
    border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.15);
}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-3)}
.form-group select{
    appearance:none;cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center;
}
.form-group select option{background:var(--bg);color:var(--text-1)}
.form-group textarea{resize:vertical;min-height:120px}

.btn-submit{
    display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
    padding:14px;font-size:15px;font-weight:600;color:#fff;font-family:var(--font);
    background:linear-gradient(135deg,var(--primary),var(--accent));
    border:none;border-radius:14px;cursor:pointer;
    box-shadow:0 4px 20px rgba(99,102,241,.25);transition:all .3s var(--ease);
}
.btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(99,102,241,.35)}

/* ---------- Footer ---------- */
.footer{background:rgba(15,22,41,.95);padding:80px 0 0;position:relative;border-top:1px solid var(--border)}
.footer-glow-line{
    position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:500px;height:1px;background:linear-gradient(90deg,transparent,var(--primary),var(--accent),transparent);
}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--border)}
.footer-brand p{font-size:14px;color:var(--text-3);line-height:1.7;margin:18px 0 20px;max-width:260px}
.footer-socials{display:flex;gap:10px}
.footer-socials a{
    width:38px;height:38px;display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:10px;
    color:var(--text-3);font-size:15px;transition:all .3s var(--ease);
}
.footer-socials a:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-2px)}
.footer-col{display:flex;flex-direction:column;gap:0}
.footer-col h5{font-size:14px;font-weight:700;margin-bottom:18px;color:var(--text-1)}
.footer-col a{font-size:13px;color:var(--text-3);padding:5px 0;display:flex;align-items:center;gap:6px;transition:all .3s var(--ease)}
.footer-col a:hover{color:var(--primary-light);transform:translateX(3px)}
.footer-col a i{font-size:11px;color:var(--primary-light);width:14px}

.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:24px 0}
.footer-bottom p{font-size:13px;color:var(--text-3)}
.footer-bottom-links{display:flex;gap:24px}
.footer-bottom-links a{font-size:13px;color:var(--text-3)}
.footer-bottom-links a:hover{color:var(--primary-light)}

/* ---------- Custom Cursor ---------- */
.cursor-dot,.cursor-ring{display:none}
@media(hover:hover) and (pointer:fine){
    body{cursor:none}
    a,button,input,select,textarea,.service-card,.tech-card,.process-item,.trusted-item{cursor:none}
    .cursor-dot{
        display:block;position:fixed;top:0;left:0;width:6px;height:6px;
        background:#fff;border-radius:50%;pointer-events:none;z-index:99999;
        transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;
        mix-blend-mode:difference;
    }
    .cursor-ring{
        display:block;position:fixed;top:0;left:0;width:40px;height:40px;
        border:1.5px solid rgba(255,255,255,.35);border-radius:50%;
        pointer-events:none;z-index:99998;
        transform:translate(-50%,-50%);
        transition:width .25s var(--ease),height .25s var(--ease),border-color .25s,background .25s;
    }
    .cursor-dot.hovering{width:12px;height:12px;background:var(--primary-light)}
    .cursor-ring.hovering{
        width:60px;height:60px;
        border-color:var(--primary);
        background:rgba(99,102,241,.06);
    }
    .cursor-ring.clicking{transform:translate(-50%,-50%) scale(.8);border-color:var(--accent)}
}

/* ---------- Language Toggle ---------- */
.lang-toggle{
    width:38px;height:38px;display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.05);border:1px solid var(--border);
    border-radius:50%;cursor:pointer;transition:all .3s var(--ease);
}
.lang-toggle:hover{background:rgba(255,255,255,.1);transform:scale(1.1)}
[data-theme="light"] .lang-toggle{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.1)}
.lang-flag{
    font-size:11px;font-weight:800;color:var(--text-2);letter-spacing:.5px;
    font-family:var(--font);
}
.lang-toggle:hover .lang-flag{color:var(--text-1)}

/* ---------- Theme Toggle ---------- */
.theme-toggle{
    width:38px;height:38px;display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.05);border:1px solid var(--border);
    border-radius:50%;color:var(--text-2);font-size:15px;cursor:pointer;
    transition:all .3s var(--ease);
}
.theme-toggle:hover{background:rgba(255,255,255,.1);color:var(--text-1);transform:scale(1.1)}
[data-theme="light"] .theme-toggle{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.1)}

/* ---------- Particles ---------- */
.hero-particles{position:absolute;inset:0;z-index:0}

/* ---------- Code Typing Animation ---------- */
.cw-cursor{
    display:inline-block;width:8px;height:16px;background:var(--primary-light);
    animation:cursorBlink 1s step-end infinite;vertical-align:text-bottom;margin-left:2px;
    border-radius:1px;
}
@keyframes cursorBlink{0%,100%{opacity:1}50%{opacity:0}}

/* ---------- WhatsApp Float ---------- */
.whatsapp-float{
    position:fixed;bottom:100px;right:28px;z-index:998;
    width:56px;height:56px;display:flex;align-items:center;justify-content:center;
    background:#25d366;border-radius:50%;color:#fff;font-size:28px;
    box-shadow:0 4px 20px rgba(37,211,102,.4);
    transition:all .3s var(--ease);
    opacity:0;visibility:hidden;transform:translateY(20px) scale(.8);
}
.whatsapp-float.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 30px rgba(37,211,102,.5)}
.wa-pulse{
    position:absolute;inset:-4px;border-radius:50%;
    border:2px solid rgba(37,211,102,.4);
    animation:waPulse 2s infinite;
}
@keyframes waPulse{
    0%{transform:scale(1);opacity:1}
    100%{transform:scale(1.4);opacity:0}
}
.wa-tooltip{
    position:absolute;right:68px;top:50%;transform:translateY(-50%);
    padding:8px 16px;background:rgba(0,0,0,.85);color:#fff;
    font-size:13px;font-weight:500;white-space:nowrap;
    border-radius:8px;pointer-events:none;
    opacity:0;transition:opacity .3s;
}
.wa-tooltip::after{
    content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);
    border:6px solid transparent;border-left-color:rgba(0,0,0,.85);
}
.whatsapp-float:hover .wa-tooltip{opacity:1}

/* ---------- Cookie Consent ---------- */
.cookie-banner{
    position:fixed;bottom:0;left:0;right:0;z-index:9998;
    transform:translateY(100%);transition:transform .5s var(--ease);
}
.cookie-banner.visible{transform:translateY(0)}
.cookie-inner{
    max-width:1200px;margin:0 auto;
    display:flex;align-items:center;justify-content:space-between;gap:24px;
    padding:20px 28px;
    background:rgba(15,22,41,.95);backdrop-filter:blur(20px);
    border-top:1px solid rgba(99,102,241,.2);
}
[data-theme="light"] .cookie-inner{background:rgba(255,255,255,.95);border-top-color:rgba(0,0,0,.1)}
.cookie-text{display:flex;align-items:center;gap:14px;flex:1}
.cookie-text i{font-size:24px;color:#f59e0b;flex-shrink:0}
.cookie-text p{font-size:13px;color:var(--text-2);line-height:1.6}
.cookie-text a{color:var(--primary-light);text-decoration:underline}
.cookie-actions{display:flex;gap:10px;flex-shrink:0}
.cookie-accept{
    padding:10px 24px;font-size:13px;font-weight:600;color:#fff;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    border:none;border-radius:10px;cursor:pointer;font-family:var(--font);
    transition:all .3s var(--ease);
}
.cookie-accept:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(99,102,241,.3)}
.cookie-decline{
    padding:10px 20px;font-size:13px;font-weight:500;color:var(--text-2);
    background:rgba(255,255,255,.05);border:1px solid var(--border);
    border-radius:10px;cursor:pointer;font-family:var(--font);
    transition:all .3s var(--ease);
}
.cookie-decline:hover{background:rgba(255,255,255,.1);color:var(--text-1)}

/* ---------- Page Transition ---------- */
.page-transition{
    position:fixed;inset:0;z-index:100000;pointer-events:none;
    background:var(--bg);
    opacity:0;transition:opacity .4s var(--ease);
}
.page-transition.active{opacity:1;pointer-events:all}

/* ---------- Back to Top ---------- */
.btt{
    position:fixed;bottom:28px;right:28px;
    width:46px;height:46px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    border:none;border-radius:50%;color:#fff;font-size:16px;cursor:pointer;
    opacity:0;visibility:hidden;transform:translateY(20px);
    transition:all .3s var(--ease);z-index:999;
    box-shadow:0 4px 20px rgba(99,102,241,.3);
}
.btt.visible{opacity:1;visibility:visible;transform:translateY(0)}
.btt:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(99,102,241,.4)}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
    .hero-inner{grid-template-columns:1fr;text-align:center}
    .hero-content{max-width:100%}
    .hero-desc{margin-left:auto;margin-right:auto}
    .hero-buttons{justify-content:center}
    .hero-metrics{justify-content:center;flex-wrap:wrap}
    .hero-visual{max-width:500px;margin:0 auto}
    .about-layout{grid-template-columns:1fr;gap:48px}
    .about-left{max-width:500px;margin:0 auto}
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .process-steps{grid-template-columns:repeat(2,1fr)}
    .pi-connector{display:none}
    .tech-grid{grid-template-columns:repeat(2,1fr)}
    .contact-layout{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
    .section{padding:80px 0}
    .nav-menu{
        position:fixed;top:0;right:-100%;width:80%;max-width:320px;height:100vh;
        background:rgba(15,22,41,.97);backdrop-filter:blur(20px);
        flex-direction:column;padding:100px 28px 28px;gap:4px;
        transition:right .4s var(--ease);border-left:1px solid var(--border);z-index:1000;
    }
    .nav-menu.active{right:0}
    .nav-link{padding:12px 16px;font-size:16px;width:100%}
    .hamburger{display:flex}
    .nav-cta-btn{display:none}
    .lang-toggle,.theme-toggle{width:34px;height:34px}
    .hero h1{text-align:center}
    .hero-metrics{flex-direction:column;gap:16px;padding:20px}
    .metric-sep{width:60px;height:1px}
    .services-grid{grid-template-columns:1fr}
    .process-steps{grid-template-columns:1fr}
    .tech-grid{grid-template-columns:1fr}
    .form-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr}
    .footer-bottom{flex-direction:column;gap:16px;text-align:center}
    .cta-buttons{flex-direction:column}
    .hero-float-card{display:none}
    .cookie-inner{flex-direction:column;text-align:center}
    .cookie-text{flex-direction:column}
    .whatsapp-float{bottom:90px;right:16px;width:50px;height:50px;font-size:24px}
    .wa-tooltip{display:none}
}
@media(max-width:480px){
    .container{padding:0 16px}
    .hero h1{font-size:30px}
    .contact-form{padding:24px}
}
