/* ═══════════════════════════════════════════════════════════
   ARAHASOFT - styles.css  (Complete CSS)
   Theme: primary=#bb0b0b, accent=#2c3e50
   ═══════════════════════════════════════════════════════════ */
:root {
  --primary-50:#fee2e2;--primary-100:#fecaca;--primary-200:#fca5a5;--primary-300:#f87171;--primary-400:#ef4444;--primary-500:#dc2626;--primary-600:#bb0b0b;--primary-700:#9a0a0a;--primary-800:#7f0808;--primary-900:#5c0606;
  --accent-50:#f8f9fa;--accent-100:#ecf0f1;--accent-200:#d5dbdb;--accent-300:#a6b1b7;--accent-400:#7f8c94;--accent-500:#576574;--accent-600:#2c3e50;--accent-700:#243342;--accent-800:#1d2935;--accent-900:#151f29;
  --gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--gray-950:#030712;
  --white:#ffffff;
  --shadow-soft:0 2px 8px rgba(0,0,0,.06);--shadow-card:0 4px 16px rgba(0,0,0,.06);--shadow-card-hover:0 12px 40px rgba(0,0,0,.10);--shadow-navbar:0 1px 3px rgba(0,0,0,.06);
  --primary:var(--primary-600);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--white);color:var(--gray-900);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:none}
ul{list-style:none}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--gray-50)}::-webkit-scrollbar-thumb{background:var(--primary-600);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary-700)}
::selection{background:var(--primary-100);color:var(--primary-900)}

/* Container */
.container{max-width:1280px;margin:0 auto;padding:0 1rem}
@media(min-width:640px){.container{padding:0 1.5rem}}
@media(min-width:1024px){.container{padding:0 2rem}}

/* Buttons */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--primary-600);color:var(--white);font-weight:600;font-size:.9375rem;padding:.8125rem 1.75rem;border-radius:.75rem;border:none;cursor:pointer;transition:all .2s}
.btn-primary:hover{background:var(--primary-700);transform:translateY(-1px);box-shadow:0 4px 12px rgba(187,11,11,.3)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--white);color:var(--gray-700);font-weight:600;font-size:.9375rem;padding:.8125rem 1.75rem;border-radius:.75rem;border:1px solid var(--gray-200);cursor:pointer;transition:all .2s}
.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-300);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.btn-white{display:inline-flex;align-items:center;gap:.5rem;background:var(--white);color:var(--primary-700);font-weight:600;font-size:.875rem;padding:.8rem 1.5rem;border-radius:.75rem;transition:all .2s;border:none}
.btn-white:hover{background:var(--primary-50);transform:translateY(-1px)}
.btn-outline-white{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);color:var(--white);font-weight:600;font-size:.875rem;padding:.8rem 1.5rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.2);transition:all .2s}
.btn-outline-white:hover{background:rgba(255,255,255,.2)}

/* Form */
.form-input{background:var(--white);border:1px solid var(--gray-200);color:var(--gray-900);border-radius:.625rem;padding:.8125rem 1rem;width:100%;font-size:.9375rem;font-family:inherit;transition:all .2s;outline:none}
.form-input:hover{border-color:var(--gray-300)}
.form-input:focus{border-color:var(--primary-600);box-shadow:0 0 0 3px rgba(187,11,11,.12)}
.form-input::placeholder{color:var(--gray-400)}
.form-input.error{border-color:#fca5a5}
.form-input.error:focus{border-color:#f87171;box-shadow:0 0 0 3px rgba(239,68,68,.12)}
textarea.form-input{resize:none}
.form-error{color:#ef4444;font-size:.75rem;margin-top:.25rem}

/* Section badges & headers */
.section-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.25rem}
.section-badge--light{background:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-100)}
.section-badge--dark{background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.1)}
.section-badge .dot{width:6px;height:6px;background:var(--primary-500);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.section-header{text-align:center;margin-bottom:3.5rem}
.section-header h2{font-size:2rem;font-weight:800;color:var(--gray-900);margin-bottom:1rem;line-height:1.2}
.section-header h2 .highlight{color:var(--primary-600)}
.section-header p{max-width:640px;margin:0 auto;color:var(--accent-500);font-size:1.125rem;line-height:1.7}
@media(min-width:768px){.section-header h2{font-size:2.5rem}}
@media(min-width:1024px){.section-header h2{font-size:3rem}}

/* Card gradient border wrapper - .card-gradient-border > .card-inner */
.card-gradient-border{position:relative;cursor:default}
.card-gradient-border::before{content:'';position:absolute;inset:-2px;border-radius:1.5rem;background:linear-gradient(to bottom,var(--primary-400),var(--primary-500),var(--accent-600));opacity:.6;transition:opacity .5s;z-index:0}
.card-gradient-border:hover::before{opacity:1}
.card-gradient-border > .card-inner{position:relative;background:var(--white);border-radius:1.5rem;overflow:hidden;height:100%;display:flex;flex-direction:column;z-index:1}

/* Shared card image */
.card-img{position:relative;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.card-gradient-border:hover .card-img img{transform:scale(1.08)}
.card-img .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,.2),transparent)}
.card-img .num-badge{position:absolute;top:.75rem;right:.75rem;width:36px;height:36px;border-radius:.75rem;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:.75rem;font-weight:800}
.card-img .watermark{position:absolute;top:.75rem;right:1rem;font-size:2.25rem;font-weight:800;color:rgba(255,255,255,.2);user-select:none;pointer-events:none}
.card-img h3{position:absolute;bottom:.75rem;left:1.25rem;right:1rem;color:var(--white);font-weight:700;font-size:1rem;line-height:1.4;text-shadow:0 2px 8px rgba(0,0,0,.3)}

/* Shared card body */
.card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}
.card-body p{color:var(--accent-500);font-size:.875rem;line-height:1.6;flex:1;margin-bottom:1rem}
.card-body .tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem}
.tag{font-size:.6875rem;padding:.25rem .625rem;border-radius:9999px;background:var(--gray-50);border:1px solid var(--gray-100);color:var(--accent-600);font-weight:500;transition:all .3s}
.card-gradient-border:hover .tag{background:var(--primary-50);border-color:var(--primary-100);color:var(--primary-700)}
.card-footer{padding-top:1rem;border-top:1px solid var(--gray-100)}
.card-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:var(--accent-400);transition:all .3s}
.card-gradient-border:hover .card-link{color:var(--primary-600)}
.card-link svg{transition:transform .3s}
.card-gradient-border:hover .card-link svg{transform:translateX(4px)}

/* Feature list (solutions, consulting) */
.feature-list{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}
.feature-list li{display:flex;align-items:center;gap:.5rem;color:var(--accent-500);font-size:.8125rem}
.feature-list li svg{flex-shrink:0}

/* ═══════ LOADING SCREEN ═══════ */
#loading-screen{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--white);transition:opacity .4s}
.loader-logo{height:140px;width:auto;object-fit:contain;animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1) forwards;margin-bottom:2rem}
#loading-screen .progress-wrap{width:16rem;animation:fadeInUp .4s ease .25s both}
#loading-screen .progress-pct{font-size:.75rem;color:var(--accent-400);font-variant-numeric:tabular-nums;text-align:right;margin-bottom:.5rem}
#loading-screen .progress-bar{height:6px;background:var(--gray-200);border-radius:9999px;overflow:hidden}
#loading-screen .progress-bar .fill{height:100%;background:var(--primary-600);border-radius:9999px;width:0%;transition:width .08s linear}
@keyframes scaleIn{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* ═══════ NAVBAR ═══════ */
.navbar{position:fixed;top:0;left:0;right:0;z-index:50;padding:1.25rem 0;transition:all .3s}
/* Transparent on dark hero */
.navbar:not(.scrolled) .logo-img{filter:brightness(0) invert(1);opacity:.92}
.navbar:not(.scrolled) .nav-link{color:rgba(255,255,255,.75)}
.navbar:not(.scrolled) .nav-link:hover{color:#fff;background:rgba(255,255,255,.08)}
.navbar:not(.scrolled) .nav-link.active{color:#fff;background:rgba(255,255,255,.1)}
.navbar:not(.scrolled) .hamburger{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.8)}
.navbar:not(.scrolled) .hamburger:hover{background:rgba(255,255,255,.1);color:#fff}
.navbar.scrolled{padding:.75rem 0;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);box-shadow:var(--shadow-navbar);border-bottom:1px solid var(--gray-100)}
.navbar-inner{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:.625rem;cursor:pointer}
.logo-img{height:36px;width:auto;display:block;object-fit:contain;transition:opacity .2s}
.logo:hover .logo-img{opacity:.85}
.logo-img--footer{height:32px;filter:brightness(0) invert(1);opacity:.92}
.logo-img--footer:hover{opacity:1}
.nav-links{display:none;align-items:center;gap:.25rem}
@media(min-width:768px){.nav-links{display:flex}}
.nav-link{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:.5rem;color:var(--gray-600);transition:all .2s;cursor:pointer;background:none;border:none}
.nav-link:hover{color:var(--gray-900)}
.nav-link.active{color:var(--primary-600);background:var(--primary-50)}
.nav-right{display:flex;align-items:center;gap:.75rem}
.nav-cta{display:none}
@media(min-width:640px){.nav-cta{display:flex}}
.hamburger{display:flex;width:40px;height:40px;border-radius:.5rem;border:1px solid var(--gray-200);align-items:center;justify-content:center;color:var(--gray-600);background:transparent;transition:all .2s}
.hamburger:hover{color:var(--gray-900);background:var(--gray-50)}
@media(min-width:768px){.hamburger{display:none}}
.mobile-menu{display:none;position:fixed;top:68px;left:1rem;right:1rem;z-index:50;background:var(--white);border-radius:1rem;box-shadow:0 20px 60px rgba(0,0,0,.15);border:1px solid var(--gray-100);padding:.75rem;flex-direction:column;gap:.125rem}
.mobile-menu.open{display:flex}
@media(min-width:768px){.mobile-menu{display:none!important}}
.mobile-menu .nav-link{display:flex;padding:.75rem 1rem;border-radius:.75rem;width:100%;color:var(--gray-700)}
.mobile-menu .nav-link.active{color:var(--primary-600);background:var(--primary-50)}
.mobile-menu .mobile-cta{border-top:1px solid var(--gray-100);margin-top:.5rem;padding:.75rem .25rem .25rem}
.mobile-menu .mobile-cta .btn-primary{width:100%;font-size:.875rem}
.mobile-overlay{display:none;position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.2)}
.mobile-overlay.open{display:block}
@media(min-width:768px){.mobile-overlay{display:none!important}}

/* ═══════ HERO ═══════ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;background:var(--gray-950);overflow:hidden}
/* Background slideshow */
.hero-bg-slides{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-bg-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);transition:opacity 1.8s ease-in-out,transform 8s ease}
.hero-bg-slide.active{opacity:1;transform:scale(1)}
.hero-bg-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,10,18,0.93) 0%,rgba(10,10,18,0.82) 55%,rgba(30,10,10,0.88) 100%);z-index:1}
/* Dots on dark bg */
.hero-bg-dots{position:absolute;inset:0;z-index:2;opacity:.15;background-image:radial-gradient(circle,rgba(255,255,255,0.6) 1px,transparent 1px);background-size:28px 28px}
.hero-blob-1{position:absolute;top:0;right:0;width:500px;height:500px;background:var(--primary-900);border-radius:50%;filter:blur(120px);opacity:.5;pointer-events:none;z-index:2}
.hero-blob-2{position:absolute;bottom:0;left:0;width:400px;height:400px;background:var(--accent-900);border-radius:50%;filter:blur(100px);opacity:.4;pointer-events:none;z-index:2}
.hero-content{position:relative;z-index:10;width:100%;padding-top:6rem;padding-bottom:5rem}
.hero-grid{display:grid;gap:3rem;align-items:center}
@media(min-width:1024px){.hero-grid{grid-template-columns:1fr 1fr;gap:4rem}}
/* Hero connect bar */
.hero-connect-bar{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem 1.125rem;border-radius:9999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);margin-bottom:1.25rem;flex-wrap:wrap}
.hcb-item{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;color:rgba(255,255,255,.8)}
.hcb-sep{width:1px;height:14px;background:rgba(255,255,255,.15)}
.hcb-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;position:relative}
.hcb-dot::after{content:'';position:absolute;inset:-3px;border-radius:50%;opacity:.4;animation:hcb-pulse 2s ease-in-out infinite}
.hcb-dot.pulse-green{background:#22c55e}.hcb-dot.pulse-green::after{background:#22c55e}
.hcb-dot.pulse-blue{background:#3b82f6;animation-delay:.6s}.hcb-dot.pulse-blue::after{background:#3b82f6;animation-delay:.6s}
.hcb-dot.pulse-red{background:var(--primary-400);animation-delay:1.2s}.hcb-dot.pulse-red::after{background:var(--primary-400);animation-delay:1.2s}
@keyframes hcb-pulse{0%,100%{transform:scale(1);opacity:.4}50%{transform:scale(2.2);opacity:0}}
/* Hero left */
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .875rem;border-radius:9999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);font-size:.8125rem;font-weight:600;color:rgba(255,255,255,.85);margin-bottom:.5rem}
.badge-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-400);animation:pulse-dot 2s infinite}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}
.hero h1{font-size:2.5rem;font-weight:800;line-height:1.12;letter-spacing:-.02em;color:#ffffff;margin-top:.5rem}
.hero h1 .highlight{color:var(--primary-400)}
.rotate-text{display:inline-block;overflow:hidden;vertical-align:bottom}
.rotate-text .rotate-inner{display:inline-block;transition:opacity .4s ease,transform .4s ease;opacity:1;transform:translateY(0)}
.rotate-text .rotate-inner.out{opacity:0;transform:translateY(100%)}
@media(min-width:640px){.hero h1{font-size:3rem}}
@media(min-width:1024px){.hero h1{font-size:3.75rem}}
.hero-sub{margin-top:1.5rem;font-size:1.0625rem;color:rgba(255,255,255,.65);line-height:1.75;max-width:34rem}
@media(min-width:640px){.hero-sub{font-size:1.1875rem}}
.hero-buttons{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem}
@media(min-width:640px){.hero-buttons{flex-direction:row}}
/* btn-secondary override for dark hero */
.hero .btn-secondary{background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.18)}
.hero .btn-secondary:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}
/* Trust bar */
.hero-trust{display:flex;align-items:center;gap:.875rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}
.trust-avatars{display:flex}
.trust-avatars .avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8125rem;border:2px solid rgba(255,255,255,.2);margin-left:-8px}
.trust-avatars .avatar:first-child{margin-left:0}
.trust-text{font-size:.8125rem;color:rgba(255,255,255,.55);line-height:1.4}
.trust-text strong{display:block;color:#fff;font-size:.875rem}
/* Hero visual (right side) – Dashboard mockup */
.hero-visual{display:flex;align-items:center;justify-content:center;position:relative}
@media(min-width:1024px){.hero-visual{display:flex}}
.hv-dashboard{position:relative;width:340px;height:430px}
@media(min-width:1024px){.hv-dashboard{width:460px;height:530px}}

/* ── Agentic AI network visual ── */
.ag-net{position:relative;width:100%;height:168px;margin-bottom:1rem}
.ag-net-svg{position:absolute;inset:0;width:100%;height:100%}
/* Animated dashed connection lines */
.ag-conn{stroke:rgba(255,255,255,.11);stroke-width:1.5;stroke-dasharray:5 5}
.ag-conn-1{animation:agFlow 2s   linear infinite 0s}
.ag-conn-2{animation:agFlow 1.7s linear infinite .4s}
.ag-conn-3{animation:agFlow 2.3s linear infinite .8s}
.ag-conn-4{animation:agFlow 1.9s linear infinite 1.2s}
@keyframes agFlow{to{stroke-dashoffset:-20}}
/* Glowing data particles */
.ag-dot-1{fill:#bb0b0b;filter:drop-shadow(0 0 4px #bb0b0b)}
.ag-dot-2{fill:#8b5cf6;filter:drop-shadow(0 0 4px #8b5cf6)}
.ag-dot-3{fill:#22c55e;filter:drop-shadow(0 0 4px #22c55e)}
.ag-dot-4{fill:#f59e0b;filter:drop-shadow(0 0 4px #f59e0b)}
/* Agent node positioning */
.ag-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:.2rem;transform:translate(-50%,-50%)}
.ag-node-center{top:50%;left:50%}
.ag-node-top{top:13.1%;left:50%}
.ag-node-right{top:50%;left:88.97%}
.ag-node-bottom{top:86.9%;left:50%}
.ag-node-left{top:50%;left:11.03%}
/* Node circles */
.ag-node-circle{width:36px;height:36px;border-radius:50%;border:1.5px solid;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.ag-node-circle svg{width:15px;height:15px}
.ag-center-circle{width:46px;height:46px;background:linear-gradient(135deg,rgba(187,11,11,.25),rgba(127,8,8,.15));border-color:rgba(187,11,11,.45);box-shadow:0 0 20px rgba(187,11,11,.2)}
.ag-center-circle svg{width:19px;height:19px}
.ag-node-circle.blue{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.4)}
.ag-node-circle.purple{background:rgba(139,92,246,.1);border-color:rgba(139,92,246,.4)}
.ag-node-circle.green{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.4)}
.ag-node-circle.amber{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.4)}
/* Pulsing rings on centre hub */
.ag-pulse{position:absolute;inset:-9px;border-radius:50%;border:1.5px solid rgba(187,11,11,.35);animation:agPulse 2s ease-out infinite;pointer-events:none}
.ag-pulse-2{inset:-18px;border-color:rgba(187,11,11,.18);animation-delay:.65s}
@keyframes agPulse{0%{transform:scale(.85);opacity:.8}100%{transform:scale(1.3);opacity:0}}
/* Node labels */
.ag-node-lbl{font-size:.5rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.35);white-space:nowrap}
/* Live task feed */
.ag-tasks{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:.75rem;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}
.ag-task-row{display:flex;align-items:center;gap:.5rem;font-size:.625rem;color:rgba(255,255,255,.45);transition:color .4s}
.ag-task-row.active{color:rgba(255,255,255,.88)}
.ag-task-row.pending{opacity:.55}
.ag-task-icon{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.ag-icon-active{background:#22c55e;box-shadow:0 0 6px #22c55e;animation:agDot 1.2s infinite}
.ag-icon-done{background:rgba(255,255,255,.18)}
.ag-icon-pending{background:rgba(245,158,11,.55)}
@keyframes agDot{0%,100%{opacity:1}50%{opacity:.25}}
.ag-task-name{flex:1;transition:opacity .25s}
.ag-task-badge{font-size:.5625rem;font-weight:700;padding:.1rem .4rem;border-radius:.3rem;flex-shrink:0}
.ag-task-badge.live{background:rgba(34,197,94,.12);color:#22c55e;border:1px solid rgba(34,197,94,.2)}
.ag-task-badge.done{background:rgba(255,255,255,.06);color:rgba(255,255,255,.3)}
.ag-task-badge.wait{background:rgba(245,158,11,.12);color:#f59e0b;border:1px solid rgba(245,158,11,.2)}

/* ── Main card ── */
.hvd-main{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:340px;background:rgba(12,12,20,0.90);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.09);border-radius:1.375rem;padding:1.5rem;box-shadow:0 40px 100px rgba(0,0,0,.65),0 1px 0 rgba(255,255,255,.07) inset;animation:float 7s ease-in-out infinite}

/* Header */
.hvd-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}
.hvd-logo{width:30px;height:30px;border-radius:.5rem;background:linear-gradient(135deg,#bb0b0b,#7f0808);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:.8125rem;flex-shrink:0;box-shadow:0 0 12px rgba(187,11,11,.4)}
.hvd-title-group{flex:1}
.hvd-title{font-size:.8125rem;font-weight:700;color:#fff;line-height:1}
.hvd-subtitle{font-size:.625rem;color:rgba(255,255,255,.35);margin-top:.2rem}
.hvd-live{display:flex;align-items:center;gap:.3rem;font-size:.625rem;font-weight:700;color:#22c55e;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2);border-radius:9999px;padding:.2rem .55rem;white-space:nowrap}
.hvd-live-dot{width:5px;height:5px;border-radius:50%;background:#22c55e;animation:pulse-dot 1.5s infinite}

/* Chart */
.hvd-chart{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:.875rem;padding:1rem;margin-bottom:1.125rem}
.hvd-chart-label{font-size:.625rem;font-weight:600;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.09em;margin-bottom:.75rem}
.hvd-svg-chart{width:100%;height:56px;display:block;overflow:visible}
.hvd-chart-stats{display:flex;align-items:center;gap:.5rem;margin-top:.625rem;flex-wrap:wrap}
.hvd-pct{font-size:.9375rem;font-weight:800;color:#bb0b0b}
.hvd-period{font-size:.625rem;color:rgba(255,255,255,.3);flex:1}
.hvd-trend{display:flex;align-items:center;gap:.15rem;font-size:.625rem;font-weight:600;color:#22c55e}

/* Metrics */
.hvd-metrics{display:flex;flex-direction:column;gap:.75rem}
.hvd-metric{display:flex;align-items:center;gap:.7rem}
.hvd-metric-icon{width:32px;height:32px;border-radius:.625rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hvd-metric-icon svg{width:15px;height:15px}
.hvd-metric-body{flex:1;min-width:0}
.hvd-metric-val{font-size:.9375rem;font-weight:800;color:#fff;line-height:1}
.hvd-metric-lbl{font-size:.625rem;color:rgba(255,255,255,.35);margin-top:.125rem}
.hvd-metric-bar{width:56px;height:3px;background:rgba(255,255,255,.07);border-radius:9999px;overflow:hidden;flex-shrink:0}
.hvd-bar-fill{height:100%;border-radius:9999px}

/* ── Floating cards ── */
.hvd-float{position:absolute;background:rgba(12,12,20,0.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.09);border-radius:1rem;padding:.75rem;display:flex;align-items:center;gap:.625rem;box-shadow:0 16px 48px rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.06) inset}
.hvd-float-1{top:0%;right:-8%;animation:float 5s ease-in-out infinite .4s;min-width:188px}
.hvd-float-2{bottom:4%;right:-10%;animation:float 5.5s ease-in-out infinite 1.1s;min-width:182px}
.hvd-float-3{bottom:-2%;left:-6%;animation:float 4.5s ease-in-out infinite 1.8s}
.hvd-float-4{top:4%;left:-8%;animation:float 6s ease-in-out infinite 0s;flex-direction:column;min-width:80px;padding:1rem .75rem;align-items:center;gap:.5rem}
.hvf-icon{width:32px;height:32px;border-radius:.625rem;border:1px solid;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hvf-icon svg{width:15px;height:15px}
.hvf-body .hvf-title{font-size:.75rem;font-weight:700;color:#fff;line-height:1}
.hvf-body .hvf-sub{font-size:.625rem;color:rgba(255,255,255,.38);margin-top:.2rem}
.hvd-tech-stack{display:flex;flex-wrap:wrap;gap:.375rem}
.hvd-tech-stack span{font-size:.625rem;font-weight:600;color:rgba(255,255,255,.65);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:.375rem;padding:.25rem .5rem}

/* CSAT ring */
.hvd-ring-svg{width:54px;height:54px;filter:drop-shadow(0 0 8px rgba(187,11,11,.35))}
.hvd-ring-label{text-align:center}
.hvd-ring-label strong{display:block;font-size:.875rem;font-weight:800;color:#fff;line-height:1}
.hvd-ring-label span{font-size:.5625rem;font-weight:600;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.1em}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hvd-main{animation:float-main 7s ease-in-out infinite}
@keyframes float-main{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-8px)}}

.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:10}
.scroll-mouse{width:20px;height:32px;border-radius:9999px;border:2px solid rgba(255,255,255,.3);display:flex;align-items:flex-start;justify-content:center;padding-top:6px}
.scroll-dot{width:4px;height:8px;background:rgba(255,255,255,.5);border-radius:9999px;animation:scrollBounce 1.5s infinite ease-in-out}
@keyframes scrollBounce{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(6px);opacity:.3}}

/* ═══════ ABOUT ═══════ */
.about{position:relative;overflow:hidden;background:#ffffff;padding:5rem 0;color:var(--gray-900)}
@media(min-width:768px){.about{padding:6rem 0}}
@media(min-width:1024px){.about{padding:7rem 0}}
/* Grid background */
.about-grid-bg{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(var(--gray-100) 1px,transparent 1px),linear-gradient(90deg,var(--gray-100) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}

/* ── Intro row ── */
.about-intro{display:grid;gap:2.5rem;align-items:center;margin-bottom:4rem}
@media(min-width:1024px){.about-intro{grid-template-columns:auto 1fr;gap:4rem}}
/* Big number */
.about-big-num{display:flex;align-items:center;gap:1.25rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:1.5rem;padding:1.75rem 2rem;box-shadow:var(--shadow-card)}
.abn-val{font-size:5rem;font-weight:900;line-height:1;background:linear-gradient(135deg,var(--primary-500),var(--primary-700));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
@media(min-width:768px){.abn-val{font-size:7rem}}
.abn-text{display:flex;flex-direction:column;gap:0}
.abn-text span{font-size:.875rem;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:.1em}
.abn-text strong{font-size:1.375rem;font-weight:800;color:var(--gray-900)}
@media(min-width:768px){.abn-text strong{font-size:1.75rem}}
/* Editorial right */
.about-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}
.eyebrow-line{width:2rem;height:2px;background:var(--primary-500)}
.about-eyebrow span{font-size:.75rem;font-weight:600;color:var(--primary-600);text-transform:uppercase;letter-spacing:.12em}
.about-title{font-size:1.875rem;font-weight:800;line-height:1.2;color:var(--gray-900);margin-bottom:1rem}
@media(min-width:768px){.about-title{font-size:2.5rem}}
@media(min-width:1024px){.about-title{font-size:2.75rem}}
.about-title span{color:var(--primary-600)}
.about-text{color:var(--gray-600);font-size:1rem;line-height:1.8;max-width:36rem}
@media(min-width:768px){.about-text{font-size:1.0625rem}}

/* ── About stats strip ── */
.about-stats{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;background:var(--white);border:1px solid var(--gray-200);border-radius:1.5rem;padding:1.75rem 1.5rem;margin-bottom:2.5rem;box-shadow:var(--shadow-card)}
.about-stat-item{flex:1;min-width:130px;text-align:center;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.3rem}
.about-stat-num{font-size:2.5rem;font-weight:900;line-height:1;background:linear-gradient(135deg,var(--primary-500),var(--primary-700));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.about-stat-num sup{font-size:1.25rem;vertical-align:super}
.about-stat-label{font-size:.75rem;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em}
.about-stat-div{width:1px;height:48px;background:var(--gray-200);flex-shrink:0;align-self:center}
@media(max-width:640px){.about-stat-div{display:none}.about-stat-item{min-width:50%}}
/* ── Capability cards (redesigned) ── */
.about-capabilities{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:3rem}
@media(min-width:1024px){.about-capabilities{grid-template-columns:repeat(4,1fr)}}
@media(max-width:480px){.about-capabilities{grid-template-columns:1fr}}
.cap-card{position:relative;background:var(--white);border:1px solid var(--gray-100);border-radius:1.5rem;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px rgba(0,0,0,.06);display:flex;flex-direction:column;cursor:default}
.cap-card:hover{transform:translateY(-8px);box-shadow:0 24px 64px rgba(0,0,0,.12);border-color:transparent}
.cap-card-top{height:130px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-50),#fecdd3);transition:background .5s}
.cap-icon-bubble{width:60px;height:60px;border-radius:1rem;background:var(--primary-600);box-shadow:0 4px 20px rgba(187,11,11,.35);display:flex;align-items:center;justify-content:center;transition:all .4s}
.cap-icon-bubble svg{width:28px;height:28px;stroke:#fff;fill:none}
.cap-card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}
.cap-card-body h3{font-size:1rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem}
.cap-card-body p{font-size:.875rem;color:var(--gray-500);line-height:1.7;flex:1}
.cap-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:1.25rem}
.cap-tag{font-size:.6875rem;font-weight:600;padding:.25rem .625rem;border-radius:999px;background:var(--gray-100);color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}
.cap-arr{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gray-100);transition:all .3s;flex-shrink:0}
.cap-arr svg{width:14px;height:14px;stroke:var(--gray-400);fill:none}
.cap-card:hover .cap-arr{background:var(--primary-600);transform:translateX(2px)}
.cap-card:hover .cap-arr svg{stroke:#fff}
/* Active state (auto-rotate) */
.cap-card.cap-active{transform:translateY(-8px);box-shadow:0 24px 64px rgba(0,0,0,.12);border-color:transparent}
.cap-card.cap-active .cap-card-top{background:linear-gradient(135deg,var(--primary-600),var(--primary-800))}
.cap-card.cap-active .cap-icon-bubble{background:rgba(255,255,255,.2);box-shadow:0 4px 20px rgba(0,0,0,.18);transform:scale(1.1)}
.cap-card.cap-active .cap-tag{background:var(--primary-50);color:var(--primary-600)}
.cap-card.cap-active .cap-arr{background:var(--primary-600)}
.cap-card.cap-active .cap-arr svg{stroke:#fff}

/* ── Stats ticker ── */
.about-ticker{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:4rem;padding:2.5rem 2rem;border-radius:1.5rem;background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-800) 100%);box-shadow:0 8px 32px rgba(187,11,11,.25)}
@media(min-width:768px){.about-ticker{flex-wrap:nowrap;gap:0;justify-content:space-around;padding:3rem 2.5rem}}
.ticker-item{display:flex;align-items:center;gap:1rem;flex:1;min-width:120px}
@media(min-width:768px){.ticker-item{justify-content:center}}
.ticker-num{font-size:2.25rem;font-weight:900;color:var(--white);line-height:1;font-variant-numeric:tabular-nums}
@media(min-width:768px){.ticker-num{font-size:2.75rem}}
.ticker-label{font-size:.75rem;font-weight:500;color:rgba(255,255,255,.7);line-height:1.4;text-transform:uppercase;letter-spacing:.04em}
.ticker-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.4);flex-shrink:0;display:none}
@media(min-width:768px){.ticker-dot{display:block}}

/* ── Pillars ── */
.about-pillars{display:grid;gap:1.25rem;margin-bottom:4rem}
@media(min-width:768px){.about-pillars{grid-template-columns:repeat(3,1fr)}}
.pillar-card{position:relative;border-radius:1rem;padding:2rem 1.5rem 2rem 2rem;background:var(--white);border:1px solid var(--gray-200);overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-card)}
.pillar-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover);border-color:var(--gray-300)}
.pillar-stripe{position:absolute;top:0;left:0;width:4px;height:100%;border-radius:0 4px 4px 0}
.pillar-mission .pillar-stripe{background:linear-gradient(to bottom,var(--primary-500),var(--primary-300))}
.pillar-vision .pillar-stripe{background:linear-gradient(to bottom,#f59e0b,#fbbf24)}
.pillar-values .pillar-stripe{background:linear-gradient(to bottom,#10b981,#6ee7b7)}
.pillar-num{font-size:.6875rem;font-weight:700;color:var(--gray-400);letter-spacing:.15em;margin-bottom:1rem}
.pillar-body h4{font-size:1.125rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem}
.pillar-body p{font-size:.875rem;color:var(--gray-500);line-height:1.75}

/* ── About CTA banner ── */
.about-cta-banner{display:flex;flex-direction:column;gap:1.75rem;align-items:flex-start;padding:2.5rem;background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-800) 100%);border-radius:1.5rem;box-shadow:0 8px 32px rgba(187,11,11,.25)}
@media(min-width:768px){.about-cta-banner{flex-direction:row;align-items:center;justify-content:space-between}}
.acb-text p{font-size:1.125rem;font-weight:500;color:rgba(255,255,255,.92);font-style:italic;line-height:1.7;margin-bottom:.5rem}
@media(min-width:768px){.acb-text p{font-size:1.25rem}}
.acb-text span{font-size:.8125rem;font-weight:600;color:rgba(255,255,255,.55);letter-spacing:.05em}
.acb-btn{background:rgba(255,255,255,.15)!important;border:1.5px solid rgba(255,255,255,.35)!important;color:#fff!important;white-space:nowrap;flex-shrink:0;backdrop-filter:blur(8px)}
.acb-btn:hover{background:rgba(255,255,255,.28)!important}

/* ═══════ SERVICES ═══════ */
.services{position:relative;background:var(--gray-50);overflow:hidden;padding:2rem 0}
@media(min-width:768px){.services{padding:3rem 0}}
@media(min-width:1024px){.services{padding:4rem 0}}
.services .section-header{margin-bottom:2rem}
/* Split-panel layout */
.svc-panel{display:flex;flex-direction:column;gap:1.5rem}
@media(min-width:1024px){.svc-panel{flex-direction:row;gap:2.5rem;align-items:flex-start}}
/* Left list */
.svc-list{display:flex;flex-direction:column}
@media(min-width:1024px){.svc-list{flex:0 0 40%}}
.svc-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border-radius:.75rem;cursor:pointer;transition:background .22s,box-shadow .22s,border-color .22s;border:1.5px solid transparent;border-left:3px solid transparent;margin-bottom:.3rem;position:relative;overflow:hidden}
.svc-item:hover{background:var(--white);box-shadow:0 2px 10px rgba(0,0,0,.06);border-color:var(--gray-100);border-left-color:var(--gray-200)}
.svc-item.active{background:var(--white);box-shadow:0 4px 18px rgba(187,11,11,.09);border-color:rgba(187,11,11,.12);border-left-color:var(--primary-600)}
.svc-prog{position:absolute;bottom:0;left:0;height:2px;width:0%;background:var(--primary-600);border-radius:0}
.svc-item-num{min-width:1.875rem;height:1.875rem;border-radius:.45rem;background:var(--gray-100);color:var(--gray-400);font-size:.6rem;font-weight:800;display:flex;align-items:center;justify-content:center;letter-spacing:.08em;transition:all .25s;flex-shrink:0}
.svc-item.active .svc-item-num{background:var(--primary-600);color:var(--white)}
.svc-item-icon{width:32px;height:32px;border-radius:.6rem;background:var(--gray-100);display:flex;align-items:center;justify-content:center;color:var(--gray-400);transition:all .25s;flex-shrink:0}
.svc-item-icon svg{width:15px;height:15px}
.svc-item.active .svc-item-icon{background:var(--primary-50);color:var(--primary-600)}
.svc-item-text{flex:1;min-width:0}
.svc-item-text h4{font-size:.875rem;font-weight:700;color:var(--gray-600);margin-bottom:.25rem;line-height:1.3;transition:color .2s}
.svc-item.active .svc-item-text h4{color:var(--gray-900)}
.svc-item-tags{display:flex;gap:.25rem;flex-wrap:wrap}
.svc-item-tags span{font-size:.6rem;font-weight:600;color:var(--gray-400);background:var(--gray-100);padding:.12rem .4rem;border-radius:99px;transition:all .22s}
.svc-item.active .svc-item-tags span{color:var(--primary-700);background:var(--primary-50)}
.svc-item-arr{color:var(--gray-200);transition:color .25s;flex-shrink:0}
.svc-item-arr svg{width:15px;height:15px;display:block}
.svc-item.active .svc-item-arr{color:var(--primary-500)}
/* Right detail pane */
.svc-detail-pane{border-radius:1.25rem;overflow:hidden;background:var(--white);box-shadow:0 8px 32px rgba(0,0,0,.09)}
@media(min-width:1024px){.svc-detail-pane{flex:1;position:sticky;top:5.5rem}}
.svc-d-img{position:relative;height:14rem;overflow:hidden}
.svc-d-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.svc-d-img-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,20,.82) 0%,rgba(10,10,20,.2) 55%,transparent 100%)}
.svc-d-badge{position:absolute;bottom:1rem;left:1.25rem;display:flex;align-items:center;gap:.625rem}
.svc-d-badge .d-num{font-size:.6rem;font-weight:800;color:rgba(255,255,255,.5);letter-spacing:.15em}
.svc-d-dicon{width:38px;height:38px;border-radius:.75rem;background:var(--primary-600);display:flex;align-items:center;justify-content:center;color:var(--white);box-shadow:0 4px 14px rgba(187,11,11,.4)}
.svc-d-dicon svg{width:18px;height:18px}
.svc-d-body{padding:1.5rem 1.75rem 1.75rem}
.svc-d-body h3{font-size:1.125rem;font-weight:800;color:var(--gray-900);margin-bottom:.625rem;line-height:1.3}
.svc-d-body p{font-size:.875rem;color:var(--gray-500);line-height:1.7;margin-bottom:1.25rem}
.svc-d-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
@keyframes svcFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.svc-detail-pane.fade-in{animation:svcFadeIn .28s ease}


/* ═══════ WHY US ═══════ */
.why-us{position:relative;background:var(--gray-50);overflow:hidden;padding:1.5rem 0}
@media(min-width:768px){.why-us{padding:2.5rem 0}}
@media(min-width:1024px){.why-us{padding:3rem 0}}
.why-us .section-header{margin-bottom:1.5rem}
.usp-divider{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}
.usp-divider .line{flex:1;height:1px;background:var(--gray-200)}
.usp-divider span{font-size:.75rem;font-weight:700;color:var(--accent-500);text-transform:uppercase;letter-spacing:.2em}
/* Why Us - header highlights */
.whyus-highlights{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.75rem;margin-top:1.5rem}
.whyus-highlight-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;color:var(--gray-700)}
.whyus-highlight-item svg{color:var(--primary-600);flex-shrink:0}
/* ── USP Carousel ── */
.usp-carousel-wrap{position:relative;overflow:hidden;margin-bottom:1.75rem;padding:0.75rem 0.5rem;margin-left:-0.5rem;margin-right:-0.5rem}
.usp-carousel{display:flex;gap:1.5rem;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform}
.usp-card{flex:0 0 calc(100% - 0px);min-width:0}
@media(min-width:640px){.usp-card{flex:0 0 calc(50% - .75rem)}}
@media(min-width:1024px){.usp-card{flex:0 0 calc(33.333% - 1rem)}}
.usp-carousel-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.75rem}
.usp-prev,.usp-next{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--gray-200);background:var(--white);color:var(--gray-700);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}
.usp-prev:hover,.usp-next:hover{background:var(--primary-600);border-color:var(--primary-600);color:var(--white);box-shadow:0 4px 12px rgba(187,11,11,.25)}
.usp-dots{display:flex;gap:.5rem;align-items:center}
.usp-dot{width:8px;height:8px;border-radius:50%;background:var(--gray-300);border:none;cursor:pointer;padding:0;transition:all .3s}
.usp-dot.active{background:var(--primary-600);width:24px;border-radius:4px}
.usp-card .card-img{height:11rem}
.usp-body{padding:1.5rem}
.usp-body h3{font-weight:700;font-size:1rem;color:var(--gray-900);margin-bottom:.5rem;transition:color .2s}
.card-gradient-border:hover .usp-body h3{color:var(--primary-600)}
.usp-body p{color:var(--accent-500);font-size:.875rem;line-height:1.6}
/* CTA Banner */
.cta-banner{border-radius:1rem;background:linear-gradient(to right,var(--primary-600),var(--primary-700));padding:2.5rem 2rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1.5rem;box-shadow:var(--shadow-card);overflow:hidden;position:relative}
@media(min-width:768px){.cta-banner{flex-direction:row}}
.cta-banner .decor-circle,.ai-cta-banner .decor-circle{position:absolute;border-radius:50%;background:rgba(255,255,255,.05);pointer-events:none}
.decor-circle.tl{top:-2.5rem;right:-2.5rem;width:10rem;height:10rem}
.decor-circle.br{bottom:-2rem;left:-2rem;width:8rem;height:8rem}
.cta-banner h3{font-size:1.5rem;font-weight:800;color:var(--white);margin-bottom:.5rem}
.cta-banner p{color:var(--primary-100);font-size:.875rem}
@media(min-width:768px){.cta-banner p{font-size:1rem}}

/* ═══════ SOLUTIONS ═══════ */
.solutions{position:relative;overflow:hidden}
.solutions-cards{background:var(--white);padding:3rem 0}
@media(min-width:768px){.solutions-cards{padding:4rem 0}}
.solutions-grid{display:grid;gap:1.5rem}
@media(min-width:640px){.solutions-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.solutions-grid{grid-template-columns:repeat(4,1fr)}}
.sol-carousel-controls{display:none}
.sol-card .card-img{height:10rem}
.sol-card .card-body h3{font-weight:700;font-size:.875rem;color:var(--gray-900);margin-bottom:.5rem;line-height:1.4;transition:color .2s}
.sol-card:hover .card-body h3{color:var(--primary-600)}
.sol-card .card-body p{color:var(--accent-500);font-size:.75rem;line-height:1.6}

/* Process */
.process-section{background:linear-gradient(135deg,var(--accent-800),var(--accent-900),var(--gray-900));padding:5rem 0;position:relative;overflow:hidden}
.process-section .dot-bg,.custom-mobility .dot-bg,.contact-dark-card .dot-bg{position:absolute;inset:0;opacity:.04;background-image:radial-gradient(circle,#fff 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.ai-hero .dot-bg{position:absolute;inset:0;opacity:.06;background-image:radial-gradient(circle,var(--primary-300) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.dot-bg{position:absolute;inset:0;opacity:.04;background-image:radial-gradient(circle,#fff 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.process-section .section-header h2{color:var(--white)}
.process-section .section-header h2 .highlight{color:var(--primary-400)}
.process-section .section-header p{color:var(--gray-400)}
.process-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:3rem}
.process-pill{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;background:none;border:none;color:var(--gray-500)}
.process-pill .pill-num{width:48px;height:48px;border-radius:1rem;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.875rem;transition:all .5s;background:rgba(255,255,255,.1)}
.process-pill.active .pill-num{background:var(--primary-600);color:var(--white);box-shadow:0 8px 24px rgba(187,11,11,.3);transform:scale(1.1)}
.process-pill .pill-label{font-size:.75rem;font-weight:600;transition:color .3s}
.process-pill.active .pill-label{color:var(--white)}
.process-pill:hover .pill-label{color:var(--gray-400)}
.process-progress{max-width:48rem;margin:0 auto 2.5rem}
.process-progress .bar{height:4px;background:rgba(255,255,255,.1);border-radius:9999px;overflow:hidden}
.process-progress .bar .fill{height:100%;background:linear-gradient(to right,var(--primary-400),var(--primary-600));border-radius:9999px;transition:width .6s cubic-bezier(.22,1,.36,1)}
.process-content{max-width:48rem;margin:0 auto;background:rgba(255,255,255,.06);backdrop-filter:blur(4px);border-radius:1.5rem;border:1px solid rgba(255,255,255,.1);padding:2rem 2.5rem}
.process-step-body{display:flex;align-items:flex-start;gap:1.5rem}
.process-step-body .step-icon{width:64px;height:64px;border-radius:1rem;background:var(--primary-600);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 24px rgba(187,11,11,.2)}
.process-step-body .step-icon svg{width:32px;height:32px;color:var(--white)}
.process-step-body h3{font-size:1.25rem;font-weight:700;color:var(--white);margin-bottom:.75rem}
.process-step-body p{color:var(--gray-400);line-height:1.7;font-size:1rem}
.process-nav{display:flex;align-items:center;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}
.process-nav button{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--gray-500);background:none;border:none;transition:color .2s;cursor:pointer}
.process-nav button:hover:not([disabled]){color:var(--white)}
.process-nav button[disabled]{opacity:.3;cursor:not-allowed}
.process-dots{display:flex;gap:.375rem}
.process-dots .dot{width:8px;height:8px;border-radius:9999px;background:rgba(255,255,255,.2);border:none;cursor:pointer;transition:all .3s}
.process-dots .dot.active{background:var(--primary-500);width:1.5rem}

/* Products */
.products-section{background:var(--gray-50);padding:5rem 0}
@media(min-width:768px){.products-section{padding:6rem 0}}
.products-grid{display:grid;gap:2rem}
@media(min-width:768px){.products-grid{grid-template-columns:repeat(2,1fr)}}
.product-card{position:relative}
.product-card::before{content:'';position:absolute;inset:-1px;border-radius:1.5rem;background:linear-gradient(135deg,var(--primary-500),var(--accent-600));opacity:0;transition:opacity .5s}
.product-card:hover::before{opacity:1}
.product-card .product-inner{position:relative;background:var(--white);border-radius:1.5rem;padding:2rem;height:100%;z-index:1;border:1px solid var(--gray-100)}
.product-card .top-accent{position:absolute;top:0;left:2rem;right:2rem;height:3px;border-radius:0 0 9999px 9999px;background:linear-gradient(to right,var(--primary-500),var(--accent-600));opacity:.6}
.product-card h3{font-weight:800;font-size:1.25rem;color:var(--gray-900);transition:color .2s}
.product-card:hover h3{color:var(--primary-600)}
.product-card .subtitle{color:var(--accent-400);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:500;margin-bottom:.25rem}
.product-card .product-desc{color:var(--accent-500);font-size:.875rem;line-height:1.6;margin:1.25rem 0 1.5rem}
.product-card .product-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.product-tag{font-size:.75rem;padding:.375rem .75rem;border-radius:9999px;background:var(--gray-50);border:1px solid var(--gray-200);color:var(--accent-600);font-weight:500;transition:all .3s}
.product-card:hover .product-tag{background:var(--primary-50);border-color:var(--primary-100);color:var(--primary-700)}

/* Consulting */
.consulting-section{background:var(--white);padding:5rem 0}
@media(min-width:768px){.consulting-section{padding:6rem 0}}
.consulting-grid{display:grid;gap:1.75rem;margin-bottom:4rem}
@media(min-width:768px){.consulting-grid{grid-template-columns:repeat(2,1fr)}}
.consult-card{position:relative}
.consult-card::before{content:'';position:absolute;inset:-1px;border-radius:1.5rem;background:linear-gradient(135deg,var(--primary-500),var(--accent-600));opacity:0;transition:opacity .5s}
.consult-card:hover::before{opacity:1}
.consult-card .consult-inner{position:relative;background:var(--white);border-radius:1.5rem;padding:2rem;height:100%;z-index:1;border:1px solid var(--gray-100)}
.consult-card h3{font-weight:800;font-size:1.125rem;color:var(--gray-900);transition:color .2s}
.consult-card:hover h3{color:var(--primary-600)}
.consult-card ul{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}
.consult-card li{display:flex;align-items:center;gap:.75rem;color:var(--accent-500);font-size:.875rem}
.consult-card .check-icon{width:20px;height:20px;border-radius:.375rem;background:var(--primary-50);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.consult-card .check-icon svg{width:14px;height:14px;color:var(--primary-600)}

/* Custom Mobility */
.custom-mobility{border-radius:1.5rem;overflow:hidden;position:relative;background:linear-gradient(135deg,var(--accent-800),var(--accent-900),var(--gray-900))}
.custom-mobility .cm-grid{display:grid;gap:2rem;align-items:center;padding:2rem;position:relative;z-index:1}
@media(min-width:768px){.custom-mobility .cm-grid{grid-template-columns:1fr 1fr;padding:3rem}}
.custom-mobility h3{font-size:1.5rem;font-weight:800;color:var(--white);margin-bottom:1rem;line-height:1.3}
@media(min-width:768px){.custom-mobility h3{font-size:1.875rem}}
.custom-mobility h3 span{color:var(--primary-400)}
.custom-mobility .cm-desc{color:var(--gray-400);line-height:1.7;font-size:.875rem}
@media(min-width:768px){.custom-mobility .cm-desc{font-size:1rem}}
.cm-items{display:flex;flex-direction:column;gap:.75rem}
.cm-item{display:flex;align-items:center;gap:1rem;background:rgba(255,255,255,.04);backdrop-filter:blur(4px);border-radius:1rem;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.06);transition:all .3s}
.cm-item:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);transform:translateX(4px)}
.cm-icon{width:40px;height:40px;border-radius:.75rem;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cm-icon svg{width:20px;height:20px;color:var(--primary-400)}
.cm-item h4{font-weight:600;font-size:.875rem;color:var(--white);margin-bottom:.125rem}
.cm-item p{font-size:.75rem;color:var(--gray-400)}

/* ═══════ AI & ML ═══════ */
.ai-hero{background:linear-gradient(135deg,var(--gray-50) 0%,#fff 50%,var(--primary-50) 100%);padding:5rem 0 7rem;position:relative;overflow:visible}
@media(min-width:768px){.ai-hero{padding:6rem 0 8rem}}
.ai-hero .section-header h2{color:var(--gray-900)}
.ai-hero .section-header h2 .highlight{color:var(--primary-600)}
.ai-hero .section-header p{color:var(--accent-500)}
.ai-stats{display:none}

/* ── AI Triangle + Orbit Scene ─────────────────────────────── */
.ai-triangle-scene{position:relative;width:500px;height:500px;margin:3rem auto 0;overflow:visible}
@media(max-width:1023px){.ai-triangle-scene{width:420px;height:420px}}
@media(max-width:767px){.ai-triangle-scene{width:340px;height:340px}}
/* Dashed orbit guide ring */
.ai-triangle-scene::before{content:'';position:absolute;top:50%;left:50%;width:440px;height:440px;margin:-220px 0 0 -220px;border-radius:50%;border:1px dashed rgba(0,0,0,.1);pointer-events:none}
@media(max-width:1023px){.ai-triangle-scene::before{width:370px;height:370px;margin:-185px 0 0 -185px}}
@media(max-width:767px){.ai-triangle-scene::before{width:296px;height:296px;margin:-148px 0 0 -148px}}

/* Center triangle absolutely over orbit ring */
.ai-tri-wrap{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:260px;height:228px;z-index:3;pointer-events:none}
.ai-tri-svg{width:260px;height:228px;filter:drop-shadow(0 0 18px rgba(187,11,11,0.35))}
@media(max-width:767px){.ai-tri-svg{width:180px;height:158px}}

/* Triangle side labels */
.tri-label{position:absolute;display:flex;align-items:center;gap:.5rem;white-space:nowrap}
/* Bottom side midpoint (base of triangle) */
.tri-label-top{top:210px;left:50%;transform:translateX(-50%)}
/* Left side midpoint - label sits left of edge */
.tri-label-left{top:112px;left:75px;transform:translate(-100%,-50%) translateX(-10px)}
/* Right side midpoint - label sits right of edge */
.tri-label-right{top:112px;left:185px;transform:translateY(-50%) translateX(10px)}
.tri-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-500);box-shadow:0 0 8px rgba(187,11,11,0.6);flex-shrink:0;animation:triDotPulse 2s ease-in-out infinite}
.tri-text{font-size:.85rem;font-weight:700;color:var(--gray-800);letter-spacing:.02em;text-shadow:none}
@keyframes triDotPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}

/* Orbit ring */
.ai-orbit-ring{position:absolute;inset:0;overflow:visible}

/* ── Center Hub ────────────────────────────────────────────── */
/* ── Center Hub ───────────────────────────────────────── */
.orbit-center-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4;pointer-events:none;display:flex;align-items:center;justify-content:center}

.och-glow{position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(187,11,11,0.08) 0%,transparent 70%);pointer-events:none}

.och-pulse{position:absolute;border-radius:50%;border:1px solid rgba(187,11,11,0.18);animation:ochPulse 3s ease-out infinite;pointer-events:none}
.och-pulse:not(.och-pulse-2){width:230px;height:230px}
.och-pulse-2{width:290px;height:290px;animation-delay:1.5s}
@keyframes ochPulse{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.1)}}

/* Dashboard card */
.och-card{position:relative;z-index:2;background:#fff;border:1px solid var(--gray-100);border-radius:1.25rem;padding:1rem 1.1rem .85rem;width:210px;box-shadow:0 4px 6px -1px rgba(0,0,0,.06),0 20px 40px rgba(0,0,0,.08),0 0 0 1px rgba(187,11,11,0.05)}

/* Card header */
.och-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}
.och-logo-mark{width:28px;height:28px;flex-shrink:0;border-radius:.5rem;background:linear-gradient(135deg,var(--primary-600),#7f0707);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:900;color:#fff}
.och-header-text{flex:1;min-width:0}
.och-title{font-size:.6rem;font-weight:800;color:var(--gray-900);letter-spacing:.1em}
.och-subtitle{font-size:.55rem;font-weight:500;color:var(--gray-400);letter-spacing:.03em}
.och-live-badge{display:flex;align-items:center;gap:.25rem;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:999px;padding:.15rem .45rem;font-size:.5rem;font-weight:700;color:#16a34a;letter-spacing:.06em}
.och-live-badge span{width:5px;height:5px;border-radius:50%;background:#22c55e;animation:liveBlink 1.4s ease-in-out infinite}
@keyframes liveBlink{0%,100%{opacity:1}50%{opacity:.2}}

/* Waveform bars */
.och-waveform{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:32px;margin-bottom:.6rem}
.och-bar{display:block;width:5px;border-radius:3px;background:linear-gradient(to top,var(--primary-600),var(--primary-400));animation:ochWave 1.2s ease-in-out infinite}
.och-bar:nth-child(1){animation-delay:0s}
.och-bar:nth-child(2){animation-delay:.1s}
.och-bar:nth-child(3){animation-delay:.2s}
.och-bar:nth-child(4){animation-delay:.3s}
.och-bar:nth-child(5){animation-delay:.2s}
.och-bar:nth-child(6){animation-delay:.1s}
.och-bar:nth-child(7){animation-delay:.25s}
.och-bar:nth-child(8){animation-delay:.15s}
@keyframes ochWave{0%,100%{height:8px;opacity:.5}50%{height:28px;opacity:1}}

/* Processing label */
.och-processing{display:flex;align-items:center;gap:.35rem;font-size:.55rem;color:var(--gray-500);font-weight:500;margin-bottom:.7rem;line-height:1.3}
.och-proc-dot{width:6px;height:6px;border-radius:50%;background:var(--primary-500);flex-shrink:0;animation:liveBlink 1.2s ease-in-out infinite}

/* Mini stats row */
.och-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding-top:.7rem;border-top:1px solid var(--gray-100)}
.och-mini-stat{text-align:center}
.oms-val{font-size:.78rem;font-weight:800;color:var(--primary-600);line-height:1}
.oms-lbl{font-size:.5rem;font-weight:500;color:var(--gray-400);letter-spacing:.05em;margin-top:.15rem}

.orbit-track{position:absolute;inset:0;overflow:visible}
@keyframes orbitSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* Slot independently orbits with staggered delay */
.orbit-slot{position:absolute;top:50%;left:50%;width:0;height:0;animation:orbitAround 22s linear infinite;animation-delay:var(--start-delay)}
@keyframes orbitAround{from{transform:rotate(0deg) translateY(-220px)}to{transform:rotate(360deg) translateY(-220px)}}
@media(max-width:1023px){.orbit-slot{animation-name:orbitAroundMd}}
@keyframes orbitAroundMd{from{transform:rotate(0deg) translateY(-185px)}to{transform:rotate(360deg) translateY(-185px)}}
@media(max-width:767px){.orbit-slot{animation-name:orbitAroundSm}}
@keyframes orbitAroundSm{from{transform:rotate(0deg) translateY(-148px)}to{transform:rotate(360deg) translateY(-148px)}}

/* Card counter-rotates with same delay to stay upright */
.orbit-card{position:absolute;width:108px;animation:counterOrbit 22s linear infinite;animation-delay:var(--start-delay);background:var(--white);backdrop-filter:blur(8px);border:1px solid var(--gray-100);border-radius:.875rem;padding:.7rem .6rem .6rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;cursor:default;transition:background .3s,border .3s,box-shadow .3s;box-shadow:var(--shadow-soft)}
.orbit-card:hover{background:var(--primary-50);border-color:var(--primary-200);box-shadow:0 8px 24px rgba(187,11,11,0.12)}
@keyframes counterOrbit{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(-360deg)}}
@media(max-width:767px){.orbit-card{width:88px}}
.oc-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center}
.oc-icon svg{width:22px;height:22px;stroke:currentColor}
.oc-label{font-size:.63rem;font-weight:600;color:var(--gray-600);text-align:center;line-height:1.3}


.ai-caps{background:var(--white);padding:5rem 0}
@media(min-width:768px){.ai-caps{padding:6rem 0}}
.ai-caps-grid{display:grid;gap:1.5rem}
@media(min-width:768px){.ai-caps-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.ai-caps-grid{grid-template-columns:repeat(3,1fr)}}
.ai-cap-card{background:var(--white);border-radius:1rem;border:1px solid var(--gray-100);padding:1.5rem;box-shadow:var(--shadow-soft);transition:all .3s}
.ai-cap-card:hover{box-shadow:var(--shadow-card);transform:translateY(-4px);border-color:var(--primary-200)}
.ai-cap-icon{width:48px;height:48px;border-radius:.75rem;background:var(--primary-50);border:1px solid var(--primary-100);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.ai-cap-icon svg{width:24px;height:24px;color:var(--primary-600)}
.ai-cap-card h3{font-weight:700;font-size:1rem;color:var(--gray-900);margin-bottom:.5rem;transition:color .2s}
.ai-cap-card:hover h3{color:var(--primary-600)}
.ai-cap-card p{color:var(--accent-500);font-size:.875rem;line-height:1.6;margin-bottom:1rem}
.ai-cap-card .tags{display:flex;flex-wrap:wrap;gap:.375rem}

/* Use Cases */
.ai-usecases{background:var(--gray-50);padding:5rem 0}
@media(min-width:768px){.ai-usecases{padding:6rem 0}}
.usecases-grid{display:grid;gap:2rem}
@media(min-width:1024px){.usecases-grid{grid-template-columns:1fr 1fr;align-items:center}}
.usecase-list{display:flex;flex-direction:column;gap:.75rem}
.usecase-btn{width:100%;text-align:left;border-radius:1rem;padding:1.25rem;transition:all .3s;background:rgba(255,255,255,.6);border:1px solid var(--gray-100);border-left:3px solid var(--gray-200);cursor:pointer;font-family:inherit}
.usecase-btn:hover{background:var(--white);border-left-color:var(--primary-300);border-color:var(--gray-200)}
.usecase-btn.active{background:var(--white);border-color:var(--primary-500);border-left-color:var(--primary-500);box-shadow:0 8px 24px rgba(187,11,11,.08)}
.usecase-btn h4{font-weight:700;font-size:.875rem;color:var(--gray-900);transition:color .2s}
.usecase-btn.active h4{color:var(--primary-600)}
.usecase-btn p{font-size:.75rem;color:var(--gray-400);line-height:1.5;margin-top:.125rem}
.usecase-btn.active p{color:var(--accent-500)}
.usecase-detail{border-radius:1.5rem;overflow:hidden;position:relative;background:linear-gradient(135deg,var(--accent-800),var(--accent-900),var(--gray-900))}
.usecase-detail .top-bar{height:4px;background:linear-gradient(to right,var(--primary-500),var(--primary-400),var(--accent-500))}
.usecase-detail .detail-body{padding:2rem 2.5rem;position:relative}
.usecase-detail h3{font-size:1.5rem;font-weight:800;color:var(--white);margin-bottom:.75rem}
.usecase-detail .detail-body > p{color:var(--gray-400);line-height:1.7;margin-bottom:1.5rem}
.usecase-dots{display:flex;gap:.375rem;margin-bottom:1.5rem}
.usecase-dots .dot{height:6px;border-radius:9999px;background:rgba(255,255,255,.2);border:none;cursor:pointer;transition:all .3s;width:6px}
.usecase-dots .dot.active{background:var(--primary-500);width:2rem}
.uc-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.uc-metric{text-align:center}
.uc-metric .val{font-size:1.25rem;font-weight:800;color:var(--primary-400);margin-bottom:.25rem}
.uc-metric .label{font-size:.6875rem;color:var(--gray-500);font-weight:500}

/* Tech Stack */
.ai-techstack{background:var(--white);padding:5rem 0}
@media(min-width:768px){.ai-techstack{padding:6rem 0}}
.tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:640px){.tech-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:768px){.tech-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1024px){.tech-grid{grid-template-columns:repeat(6,1fr)}}
.tech-card{background:var(--gray-50);border-radius:1rem;border:1px solid var(--gray-100);border-top:3px solid var(--primary-400);padding:1.25rem;text-align:center;transition:all .3s}
.tech-card:hover{background:var(--white);border-color:var(--primary-200);border-top-color:var(--primary-500);box-shadow:0 8px 24px rgba(187,11,11,.06);transform:translateY(-4px)}
.tech-card h4{font-weight:700;font-size:.875rem;color:var(--gray-900);margin-bottom:.375rem;transition:color .2s}
.tech-card:hover h4{color:var(--primary-600)}
.tech-card p{color:var(--accent-400);font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em}

/* AI CTA */
.ai-cta{background:var(--gray-50);padding:4rem 0 5rem}
.ai-cta-banner{border-radius:1.5rem;background:linear-gradient(to right,var(--primary-600),var(--primary-700));padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:2rem;overflow:hidden;position:relative}
@media(min-width:768px){.ai-cta-banner{flex-direction:row;padding:3rem}}
.ai-cta-banner h3{font-size:1.5rem;font-weight:800;color:var(--white);margin-bottom:.75rem}
@media(min-width:768px){.ai-cta-banner h3{font-size:1.875rem}}
.ai-cta-banner > div:first-child p{color:var(--primary-100);font-size:.875rem;max-width:32rem}
@media(min-width:768px){.ai-cta-banner > div:first-child p{font-size:1rem}}
.ai-cta-buttons{display:flex;flex-direction:column;gap:.75rem;flex-shrink:0}
@media(min-width:640px){.ai-cta-buttons{flex-direction:row}}

/* ═══════ CONTACT ═══════ */
.contact{position:relative;background:var(--gray-50);overflow:hidden;padding:4rem 0}
@media(min-width:768px){.contact{padding:5rem 0}}
@media(min-width:1024px){.contact{padding:6rem 0}}
.contact-grid{display:grid;gap:2rem;align-items:flex-start}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr;gap:3rem}}
.contact-info{display:flex;flex-direction:column;gap:1.25rem}

/* Contact rows (icon + label + value) */
.contact-rows{display:flex;flex-direction:column;gap:.625rem;background:var(--white);border:1px solid var(--gray-100);border-radius:1.25rem;padding:1.25rem;box-shadow:var(--shadow-soft)}
.contact-row{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;border-radius:.75rem;border:1px solid transparent;transition:all .25s;text-decoration:none;color:inherit}
.contact-row:hover{background:var(--gray-50);border-color:var(--gray-100)}
.cr-icon{width:44px;height:44px;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cr-body{flex:1;min-width:0}
.cr-label{font-size:.7rem;font-weight:600;color:var(--gray-400);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.125rem}
.cr-value{font-size:.9375rem;font-weight:600;color:var(--gray-900);line-height:1.3}
.cr-arrow{color:var(--gray-300);opacity:0;transition:opacity .2s,transform .2s;flex-shrink:0}
.contact-row:hover .cr-arrow{opacity:1;transform:translateX(3px)}

/* Promise / dark card */
.contact-promise{background:linear-gradient(135deg,var(--gray-900) 0%,var(--accent-900) 100%);border-radius:1.25rem;overflow:hidden;position:relative;box-shadow:0 8px 32px rgba(0,0,0,.18)}
.contact-promise .dot-bg{background-image:radial-gradient(circle,rgba(255,255,255,.5) 1px,transparent 1px);background-size:20px 20px}
.cp-inner{position:relative;padding:1.5rem}
.cp-head{margin-bottom:.875rem}
.cp-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#22c55e;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.25);border-radius:9999px;padding:.25rem .65rem;margin-bottom:.625rem}
.cp-badge span{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:liveBlink 1.4s ease-in-out infinite}
.cp-head h4{font-size:1.125rem;font-weight:700;color:var(--white);line-height:1.3}
.contact-promise p{color:var(--gray-400);font-size:.875rem;line-height:1.7;margin-bottom:1.25rem}
.contact-promise p strong{color:var(--gray-200)}
.cp-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
.cp-pills span{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;color:rgba(255,255,255,.75);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:9999px;padding:.3rem .75rem}
.cp-pills span svg{flex-shrink:0;opacity:.7}
.cp-socials{display:flex;align-items:center;gap:.625rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}
.cp-social-lbl{font-size:.75rem;font-weight:500;color:rgba(255,255,255,.35);margin-right:.25rem}
.cp-social{width:36px;height:36px;border-radius:.625rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:all .2s}
.cp-social:hover{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.2)}
.cp-social--wa{background:rgba(37,211,102,.12);border-color:rgba(37,211,102,.25);color:#25D366}
.cp-social--wa:hover{background:rgba(37,211,102,.22)}

/* Form wrap - browser chrome style */
.contact-form-wrap{background:var(--white);border-radius:1.25rem;border:1px solid var(--gray-100);box-shadow:0 4px 6px -1px rgba(0,0,0,.05),0 24px 48px rgba(0,0,0,.08);overflow:hidden}
.cfw-topbar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:var(--gray-50);border-bottom:1px solid var(--gray-100)}
.cfw-topbar-dots{display:flex;gap:.375rem}
.cfw-topbar-dots span{width:10px;height:10px;border-radius:50%;background:var(--gray-200)}
.cfw-topbar-dots span:first-child{background:#f87171}
.cfw-topbar-dots span:nth-child(2){background:#fbbf24}
.cfw-topbar-dots span:last-child{background:#4ade80}
.cfw-topbar-title{flex:1;text-align:center;font-size:.75rem;font-weight:600;color:var(--gray-400);letter-spacing:.04em}
.contact-form{padding:1.5rem 1.75rem 1.75rem}
.contact-form h3{font-size:1.25rem;font-weight:800;color:var(--gray-900)}
.contact-form .form-sub{color:var(--accent-500);font-size:.875rem;margin-bottom:1.5rem;margin-top:.25rem}
.cfw-submit{width:100%;margin-top:1.25rem;justify-content:center;gap:.5rem;font-size:.9375rem}
.form-row{display:grid;gap:1rem;margin-bottom:1rem}
@media(min-width:640px){.form-row.two-col{grid-template-columns:1fr 1fr}}
.form-group{margin-bottom:0}
.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.375rem}
.form-group label .required{color:var(--primary-500)}
.form-group + .form-group{margin-top:1rem}
.form-disclaimer{text-align:center;font-size:.75rem;color:var(--accent-400);margin-top:1rem}
.form-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 1.75rem;text-align:center;gap:1.25rem}
.form-success .check-circle{width:64px;height:64px;border-radius:50%;background:#ecfdf5;border:2px solid #a7f3d0;display:flex;align-items:center;justify-content:center}
.form-success .check-circle svg{width:32px;height:32px;color:#10b981}
.form-success h3{font-size:1.25rem;font-weight:700;color:var(--gray-900)}
.form-success p{color:var(--accent-500);font-size:.875rem}
.form-success .reset-link,.reset-link{font-size:.875rem;color:var(--primary-600);font-weight:600;cursor:pointer;background:none;border:none;display:inline-flex;align-items:center;gap:.25rem}
.reset-link:hover{color:var(--primary-700)}

/* ═══════ FOOTER ═══════ */
.footer{position:relative;background:linear-gradient(to bottom,var(--gray-900),var(--gray-950));overflow:hidden}
.footer .top-line{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--primary-500),transparent)}
.footer-inner{padding:4rem 0 2rem}
.footer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;margin-bottom:3rem}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1024px){.footer-grid{grid-template-columns:4fr 2fr 2fr 2fr 2fr}}
.footer-brand p{color:var(--gray-400);font-size:.875rem;line-height:1.6;max-width:20rem;margin-bottom:1.25rem}
.footer-contact{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1.5rem}
.footer-contact-item{display:flex;align-items:center;gap:.625rem;color:var(--gray-400);font-size:.875rem}
.footer-contact-item svg{width:16px;height:16px;color:var(--primary-400);flex-shrink:0}
.footer-socials{display:flex;gap:.5rem}
.footer-social{width:36px;height:36px;border-radius:.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--gray-500);transition:all .2s}
.footer-social:hover{color:var(--primary-400);border-color:rgba(187,11,11,.3);background:rgba(187,11,11,.1);transform:translateY(-2px)}
.footer-col h4{font-size:.75rem;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.footer-col h4::before{content:'';width:1rem;height:2px;background:var(--primary-500);border-radius:9999px}
.footer-col ul{display:flex;flex-direction:column;gap:.625rem}
.footer-col li a{color:var(--gray-500);font-size:.875rem;transition:color .2s;display:flex;align-items:center;gap:.375rem}
.footer-col li a:hover{color:var(--primary-400)}
.footer-col li a::before{content:'';width:0;height:1px;background:var(--primary-500);transition:width .2s}
.footer-col li a:hover::before{width:.5rem}
.footer-newsletter p{color:var(--gray-500);font-size:.875rem;margin-bottom:1rem}
.newsletter-form{display:flex;gap:.5rem}
.newsletter-form input{flex:1;min-width:0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--white);font-size:.875rem;border-radius:.5rem;padding:.5rem .75rem;font-family:inherit;outline:none;transition:all .2s}
.newsletter-form input::placeholder{color:var(--gray-600)}
.newsletter-form input:focus{border-color:rgba(187,11,11,.5);box-shadow:0 0 0 2px rgba(187,11,11,.1)}
.newsletter-form button{padding:.5rem .75rem;background:var(--primary-600);color:var(--white);border-radius:.5rem;font-size:.875rem;font-weight:500;transition:background .2s;border:none;cursor:pointer;flex-shrink:0}
.newsletter-form button:hover{background:var(--primary-500)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.75rem}
@media(min-width:640px){.footer-bottom{flex-direction:row}}
.footer-bottom p{color:var(--gray-600);font-size:.875rem}

/* ═══════ WHATSAPP + BACK TO TOP ═══════ */
.whatsapp-btn{position:fixed;bottom:1.5rem;right:1.5rem;z-index:50;width:56px;height:56px;border-radius:50%;background:#25D366;color:var(--white);border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(37,211,102,.4);transition:all .3s}
.whatsapp-btn:hover{background:#20BA5C;transform:scale(1.1)}
.whatsapp-btn svg{width:28px;height:28px}
.whatsapp-btn .pulse-ring{position:absolute;inset:0;border-radius:50%;background:#25D366;animation:whatsappPulse 2s infinite;opacity:.2}
@keyframes whatsappPulse{0%{transform:scale(1);opacity:.2}100%{transform:scale(1.5);opacity:0}}
.whatsapp-tooltip{position:absolute;right:100%;margin-right:.75rem;background:var(--gray-800);color:var(--white);font-size:.875rem;padding:.5rem .75rem;border-radius:.5rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.whatsapp-btn:hover .whatsapp-tooltip{opacity:1}
.back-to-top{position:fixed;bottom:5.5rem;right:1.5rem;z-index:40;width:44px;height:44px;border-radius:.75rem;background:var(--white);border:1px solid var(--accent-200);color:var(--accent-600);display:none;align-items:center;justify-content:center;box-shadow:var(--shadow-card);transition:all .2s}
.back-to-top.visible{display:flex}
.back-to-top:hover{color:var(--primary-600);border-color:var(--primary-300);box-shadow:var(--shadow-card-hover)}
.back-to-top svg{width:16px;height:16px}

/* ═══════ SCROLL ANIMATIONS ═══════ */
.animate-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}
.animate-on-scroll.visible{opacity:1;transform:translateY(0)}
.animate-on-scroll.delay-1{transition-delay:.1s}
.animate-on-scroll.delay-2{transition-delay:.2s}
.animate-on-scroll.delay-3{transition-delay:.3s}
.animate-on-scroll.delay-4{transition-delay:.4s}
.animate-on-scroll.delay-5{transition-delay:.5s}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE - Full Coverage (all web + mobile screens)
   ═══════════════════════════════════════════════════════════ */

/* Extra-small orbit radius keyframe */
@keyframes orbitAroundXs{from{transform:rotate(0deg) translateY(-108px)}to{transform:rotate(360deg) translateY(-108px)}}

/* ── ≥ 1280px wide ─────────────────────────────────────── */
@media(min-width:1280px){
  .svc-panel{gap:3rem}
  .hero h1{font-size:4.25rem}
}

/* ── ≤ 1023px (tablet) ─────────────────────────────────── */
@media(max-width:1023px){
  .process-content{padding:1.5rem 2rem}
  .process-pill .pill-num{width:42px;height:42px}
  .hv-dashboard{width:380px;height:450px}
}

/* ── ≤ 767px (mobile) ──────────────────────────────────── */
@media(max-width:767px){
  /* Global section header */
  .section-header{margin-bottom:2rem}
  .section-header p{font-size:.9375rem}

  /* Navbar */
  .navbar{padding:1rem 0}
  .navbar.scrolled{padding:.625rem 0}

  /* Hero */
  .hero-content{padding-top:4.5rem;padding-bottom:3rem}
  .hero-sub{margin-top:1rem}
  .hero-buttons{margin-top:1.25rem}
  .hero-trust{margin-top:1.75rem;padding-top:1.5rem}
  .hv-dashboard{width:100%;max-width:340px;height:410px}
  .hvd-main{width:90%;max-width:310px}
  .hero-connect-bar{gap:.5rem;flex-wrap:wrap}
  .hcb-sep{display:none}

  /* Services */
  .svc-d-body{padding:1.25rem 1.5rem 1.5rem}
  .svc-d-img{height:11rem}
  .svc-item{padding:.75rem .875rem;margin-bottom:.2rem}
  .svc-detail-pane{border-radius:1rem}

  /* Why Us */
  .usp-card .card-img{height:9rem}
  .usp-body{padding:1.125rem}
  .whyus-highlights{flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:.875rem}

  /* Process */
  .process-section{padding:3rem 0}
  .process-content{padding:1.25rem 1.25rem}
  .process-step-body{flex-direction:column;gap:.875rem}
  .process-step-body .step-icon{width:46px;height:46px;border-radius:.75rem}
  .process-step-body .step-icon svg{width:22px;height:22px}
  .process-step-body h3{font-size:1.0625rem;margin-bottom:.5rem}
  .process-step-body p{font-size:.875rem;line-height:1.65}
  /* pills: horizontal scroll strip - no wrapping */
  .process-pills{
    flex-wrap:nowrap;
    overflow-x:auto;
    justify-content:flex-start;
    gap:.5rem;
    padding-bottom:.5rem;
    margin-bottom:1.5rem;
    scrollbar-width:none;
  }
  .process-pills::-webkit-scrollbar{display:none}
  .process-pill{flex-shrink:0}
  .process-pill .pill-num{width:38px;height:38px;font-size:.75rem;border-radius:.75rem}
  .process-pill .pill-label{font-size:.65rem}
  .process-progress{padding:0;margin-bottom:1.25rem}
  /* nav: keep row layout with prev/dots/next side by side */
  .process-nav{flex-direction:row;justify-content:space-between;gap:.5rem;margin-top:1.25rem;padding-top:1rem}
  .process-nav button{font-size:.8125rem;gap:.375rem}

  /* About */
  .about{padding:3.5rem 0}
  .about-intro{margin-bottom:2.5rem}
  .about-big-num{padding:1.25rem 1.5rem}
  .abn-val{font-size:4rem}
  .about-title{font-size:1.875rem}

  /* Solutions */
  .solutions-cards{padding:3rem 0}

  /* AI sections */
  .ai-caps{padding:3.5rem 0}
  .ai-usecases{padding:3.5rem 0}
  .ai-techstack{padding:3.5rem 0}
  .ai-cta{padding:3rem 0 3.5rem}
  .ai-cta-banner{padding:1.5rem}
  .ai-cta-banner h3{font-size:1.25rem}
  .ai-cta-buttons{flex-direction:column}

  /* Products */
  .products-section{padding:3.5rem 0}

  /* Contact */
  .contact{padding:3rem 0}
  .contact-form-wrap{padding:1.25rem 1.5rem}

  /* Footer */
  .footer-inner{padding:3rem 0 1.5rem}
  .footer-brand p{max-width:100%}
  .newsletter-form{flex-direction:column}
  .newsletter-form input,.newsletter-form button{width:100%}

  /* CTA banner */
  .cta-banner{padding:1.75rem 1.5rem}
  .cta-banner h3{font-size:1.25rem}

  /* ── Solutions mobile carousel (JS-powered, matches USP) ── */
  .sol-carousel-wrap{overflow:hidden;margin-bottom:1.75rem;padding:.75rem .5rem;margin-left:-.5rem;margin-right:-.5rem}
  .solutions-grid{display:flex!important;gap:1.5rem;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform;padding:0;margin:0}
  .solutions-grid > .card-gradient-border{flex:0 0 calc(100% - 0px);min-width:0}
  .sol-carousel-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.5rem}
  /* ── AI caps CSS carousel ── */
  .ai-caps-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:1rem;
    padding:0 1rem 1.5rem;
    margin:0 -1rem;
  }
  .ai-caps-grid::-webkit-scrollbar{display:none}
  .ai-caps-grid > .ai-cap-card{flex:0 0 100%;scroll-snap-align:start;min-width:0}
}

/* ── ≤ 639px (small mobile) ────────────────────────────── */
@media(max-width:639px){
  /* Hero */
  .hero h1{font-size:2.125rem}
  .hero-badge{font-size:.6875rem;padding:.35rem .75rem}
  .hero-buttons{flex-direction:row;gap:.625rem}
  .hero-buttons .btn-primary,.hero-buttons .btn-secondary{font-size:.8rem;padding:.6rem 1rem;border-radius:.625rem;flex:1;justify-content:center}

  /* Services */
  .svc-item{padding:.625rem .75rem}
  .svc-item-text h4{font-size:.8125rem}
  .svc-d-body h3{font-size:1rem}
  .svc-d-body{padding:1rem 1.25rem 1.25rem}
  .svc-d-img{height:9rem}
  .svc-d-footer{flex-direction:column;align-items:flex-start;gap:.5rem}

  /* AI hero orbit */
  .ai-hero{padding:3rem 0 4.5rem}
  .ai-triangle-scene{width:300px;height:300px;margin-top:1.5rem}
  .ai-triangle-scene::before{width:260px;height:260px;margin:-130px 0 0 -130px}
  .och-card{width:180px}

  /* AI use cases */
  .usecases-grid{gap:1.25rem}
  .usecase-detail .detail-body{padding:1.25rem 1.5rem}
  .usecase-detail h3{font-size:1.125rem}
  .uc-metrics{gap:.625rem}
  .uc-metric .val{font-size:1rem}

  /* Tech stack - 2 cols */
  .tech-grid{grid-template-columns:repeat(2,1fr)}

  /* About */
  .about-capabilities{grid-template-columns:1fr}
  .about-stats{padding:1.25rem 1rem}
  .about-stat-num{font-size:2rem}
  .about-ticker{padding:1.5rem 1rem;gap:1rem}
  .ticker-num{font-size:1.75rem}
  .about-cta-banner{padding:1.5rem}
  .about-pillars{gap:1rem}
  .pillar-card{padding:1.5rem 1.25rem 1.5rem 1.75rem}

  /* Contact */
  .contact-cards{grid-template-columns:1fr}
  .contact-dark-card{padding:1.25rem}
  .form-row.two-col{grid-template-columns:1fr}

  /* Footer */
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:center;text-align:center}

  /* Process */
  .process-pills{gap:.375rem}

  /* USP carousel padding */
  .usp-carousel-wrap{padding:.5rem .375rem;margin-left:-.375rem;margin-right:-.375rem}
}

/* ── ≤ 479px (extra small) ─────────────────────────────── */
@media(max-width:479px){
  /* Typography */
  .hero h1{font-size:1.875rem}
  .hero-sub{font-size:.9375rem}
  .section-header h2{font-size:1.625rem}
  .btn-primary,.btn-secondary{font-size:.875rem;padding:.7rem 1.25rem}

  /* Nav */
  .logo-text{font-size:1rem}

  /* AI orbit - extra small radius */
  .ai-triangle-scene{width:260px;height:260px}
  .ai-triangle-scene::before{width:224px;height:224px;margin:-112px 0 0 -112px}
  .orbit-slot{animation-name:orbitAroundXs}
  .orbit-card{width:76px;padding:.5rem .45rem}
  .oc-icon{width:24px;height:24px}
  .oc-icon svg{width:16px;height:16px}
  .oc-label{font-size:.54rem}
  .och-card{width:155px;padding:.75rem .8rem .65rem}

  /* About */
  .about-big-num{flex-direction:column;align-items:flex-start;gap:.75rem}
  .abn-val{font-size:3.5rem}
  .about-intro{grid-template-columns:1fr}

  /* Footer columns full-width */
  .footer-col{min-width:0;width:100%}
  .footer-grid{grid-template-columns:1fr}

  /* Contact form */
  .contact-form-wrap{padding:1rem 1.25rem}
  .contact-grid{gap:1.5rem}
}

/* ── Landscape phone (≤ 767px && landscape) ─────────────── */
@media(max-width:767px) and (orientation:landscape){
  .hero{min-height:auto}
  .hero-content{padding-top:4rem;padding-bottom:2rem}
  .ai-triangle-scene{margin-top:1rem}
}
