/* Roccap — hoja de estilos base del frontend estático */
@font-face { font-family:'icomoon'; src:url('../icon/icomoon.woff') format('woff'), url('../icon/icomoon.ttf') format('truetype'); font-weight:normal; font-style:normal; font-display:block; }

:root{
  --purple:#734DC4;
  --purple-dark:#4D3AE4;
  --purple-light:#A78BFA;
  --purple-lighter:#C4B5FD;
  --ink:#09090B;
  --ink-2:#18181B;
  --bg:#EDECEC;
  --panel:#F4F4F5;
  --panel-2:#FAFAFA;
  --gray-600:#52525B;
  --gray-500:#71717A;
  --gray-400:#A1A1AA;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:'Urbanist', sans-serif; background:var(--bg); color:var(--ink-2); overflow-x:hidden;}
img{max-width:100%;}
a{color:var(--purple); text-decoration:none;}
a:hover{color:var(--purple-dark);}
.container{max-width:1280px; margin:0 auto; padding:0 48px;}

/* Keyframes */
@keyframes marquee-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes fadeUp{from{opacity:0; transform:translateY(28px);}to{opacity:1; transform:translateY(0);}}
@keyframes rippleFade{0%{transform:scale(1); opacity:.6;}100%{transform:scale(2.8); opacity:0;}}
@keyframes floatUpDown{0%,100%{transform:translateY(0);}50%{transform:translateY(-18px);}}
@keyframes floatLeftRight{0%,100%{transform:translateX(0);}50%{transform:translateX(16px);}}
@keyframes growBar{from{width:0;}}
@keyframes glowPulse{0%,100%{opacity:.35; transform:scale(1);}50%{opacity:.65; transform:scale(1.08);}}
@keyframes spinSlow{to{transform:rotate(360deg);}}
@keyframes flowRight{from{left:-40%;}to{left:100%;}}
@keyframes flowDown{from{top:-70px;}to{top:100%;}}
@keyframes typeIn{0%{opacity:0; transform:translateY(4px);}8%,82%{opacity:1; transform:translateY(0);}100%{opacity:0; transform:translateY(4px);}}
@keyframes blinkCursor{0%,100%{opacity:1;}50%{opacity:0;}}

.reveal{opacity:0;}
.reveal.is-visible{animation:fadeUp .9s ease both;}

/* Buttons */
.btn{display:inline-flex; align-items:center; gap:12px; font-weight:600; font-size:16px; padding:14px 26px; border-radius:99px; text-decoration:none; white-space:nowrap; border:none; cursor:pointer; font-family:inherit;}
.btn-dark{color:#fff; background:radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255,255,255,.2) 0%, rgba(255,255,255,0) 100%), linear-gradient(0deg,#272727,#272727); box-shadow:0 -3px 0 0 #080808 inset, 0 1px 0 0 rgba(255,255,255,.3) inset, 0 22px 18px 0 rgba(0,0,0,.2);}
.btn-dark:hover{background:radial-gradient(62.56% 62.56% at 50% -13%, rgba(255,255,255,.7) 0%, rgba(255,255,255,0) 100%), linear-gradient(0deg,#272727,#272727); color:#fff;}
.btn-light{color:var(--ink); background:radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255,255,255,.2) 0%, rgba(255,255,255,0) 100%), linear-gradient(0deg,#F5F5F5,#F5F5F5); box-shadow:0 -3px 0 0 #E9E9E9 inset, 0 1px 0 0 rgba(255,255,255,.7) inset, 0 3px 3px 0 rgba(0,0,0,.14);}
.btn-light:hover{color:var(--purple);}
.icon{font-family:'icomoon';}

.badge{display:inline-flex; align-items:center; gap:10px; font-size:14px; font-weight:600; padding:8px 18px; border-radius:999px; margin-bottom:28px;}
.badge-light{color:var(--purple); background:radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255,255,255,.2) 0%, rgba(255,255,255,0) 100%), linear-gradient(0deg,#F5F5F5,#F5F5F5); box-shadow:0 -3px 0 0 #E9E9E9 inset, 0 1px 0 0 rgba(255,255,255,.7) inset, 0 3px 3px 0 rgba(0,0,0,.14);}
.badge-glass{color:#C4B5FD; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); backdrop-filter:blur(14px);}
.badge-dot{width:8px; height:8px; border-radius:50%; background:var(--purple); display:inline-block;}

.gradient-title{background:linear-gradient(95deg,#61666A 2%,#18181B 44%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}

/* Header */
.site-header{position:fixed; top:0; left:0; right:0; z-index:100; background:transparent;}
body.has-fixed-header{padding-top:96px;}
@media (max-width:992px){ body.has-fixed-header{padding-top:88px;} }
.header-inner{max-width:1400px; margin:0 auto; padding:24px 48px; display:flex; align-items:center; justify-content:space-between; gap:24px;}
.site-header.overlay .header-inner{padding:32px 48px;}
.brand img{height:34px; width:auto; display:block;}
.main-nav{position:relative; display:flex; align-items:center; gap:6px; padding:8px; border-radius:99px; background:rgba(255,255,255,.82); border:1px solid #fff; box-shadow:0 1px 0 0 rgba(255,255,255,.9) inset, 0 10px 24px -16px rgba(9,9,11,.35); backdrop-filter:blur(20px) saturate(180%); -webkit-backdrop-filter:blur(20px) saturate(180%);}
.site-header.overlay .main-nav{background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.18); box-shadow:0 1px 0 0 rgba(255,255,255,.22) inset, 0 16px 34px -18px rgba(0,0,0,.55); backdrop-filter:blur(22px) saturate(180%); -webkit-backdrop-filter:blur(22px) saturate(180%);}
.main-nav a{position:relative; z-index:2; font-size:15px; font-weight:600; color:#27272A; padding:9px 18px; border-radius:99px; text-decoration:none; transition:color .3s ease;}
.main-nav a:hover{color:#fff;}
.site-header.overlay .main-nav a{color:#fff;}
.nav-hover-pill{position:absolute; top:8px; left:0; height:calc(100% - 16px); width:0; border-radius:99px; background:rgba(9,9,11,.86); backdrop-filter:blur(8px); box-shadow:0 6px 18px -8px rgba(0,0,0,.5); opacity:0; transition:transform .4s cubic-bezier(.22,1,.36,1), width .4s cubic-bezier(.22,1,.36,1), opacity .25s ease; pointer-events:none; z-index:1;}
.menu-toggle{background:#F5F5F5; border:none; border-radius:12px; width:46px; height:46px; display:none; flex-direction:column; align-items:center; justify-content:center; gap:5px; cursor:pointer; box-shadow:0 -3px 0 0 #E9E9E9 inset, 0 1px 0 0 rgba(255,255,255,.7) inset;}
.site-header.overlay .menu-toggle{background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.35);}
.menu-toggle span{width:20px; height:2px; background:var(--ink); display:block;}
.site-header.overlay .menu-toggle span{background:#fff;}
.mobile-panel{display:none; margin:0 16px 16px; padding:20px 28px 28px; border-radius:32px; background:var(--panel); flex-direction:column; gap:4px; box-shadow:0 -8px 0 0 rgba(0,0,0,.05) inset, 0 4px 0 0 rgba(255,255,255,.6) inset;}
.site-header.overlay .mobile-panel{background:#09090B; box-shadow:0 -8px 0 0 #111 inset, 0 4px 0 0 rgba(255,255,255,.1) inset;}
.mobile-panel.is-open{display:flex;}
.mobile-panel a{font-size:17px; font-weight:600; color:#27272A; text-decoration:none; padding:14px 0; border-bottom:1px solid #E4E4E7;}
.site-header.overlay .mobile-panel a{color:#F4F4F5; border-bottom:1px solid #27272A;}
.mobile-panel .btn{margin-top:16px; text-align:center; justify-content:center;}
@media (max-width:992px){
  .main-nav, .header-inner .btn-dark{display:none;}
  .menu-toggle{display:flex;}
}

/* Ícono Roccap en medio del nav — siempre visible, se resalta al hacer scroll (sticky) */
.nav-center-icon{position:relative; width:0; height:34px; border-radius:50%; background-color:rgba(255,255,255,.55); background-image:url('../logo/roccap-icon.png'); background-size:70% 70%; background-position:center; background-repeat:no-repeat; backdrop-filter:blur(14px) saturate(180%); -webkit-backdrop-filter:blur(14px) saturate(180%); border:1px solid rgba(255,255,255,.7); box-shadow:0 1px 0 0 rgba(255,255,255,.6) inset, 0 4px 12px -4px rgba(115,77,196,.5); margin:0; flex-shrink:0; overflow:visible; opacity:0; pointer-events:none; transition:width .45s cubic-bezier(.22,1,.36,1), opacity .35s ease, margin .45s ease, box-shadow .5s ease, background-color .5s ease, border-color .5s ease, transform .4s cubic-bezier(.22,1,.36,1);}
.nav-center-icon img{display:none;}
.site-header.overlay .nav-center-icon{background-color:rgba(255,255,255,.35); border:1px solid rgba(255,255,255,.5);}
.site-header .brand, .site-header .header-inner > .btn-dark{transition:opacity .18s ease, width .4s ease .08s, margin .4s ease .08s, transform .4s ease;}
@media (min-width:993px){
  .site-header.is-compact .header-inner{justify-content:center;}
  .site-header.is-compact .brand{opacity:0; width:0; margin:0; overflow:hidden; pointer-events:none; transform:translateX(-12px); white-space:nowrap;}
  .site-header.is-compact .header-inner > .btn-dark{opacity:0; width:0; margin:0; overflow:hidden; pointer-events:none; transform:translateX(12px); white-space:nowrap;}
  .site-header.is-compact .main-nav{box-shadow:0 1px 0 0 rgba(255,255,255,.9) inset, 0 16px 34px -16px rgba(9,9,11,.45);}
  .site-header.is-compact .nav-center-icon{width:44px; opacity:1; margin:0 3px; pointer-events:auto; background-color:rgba(255,255,255,.65); border-color:rgba(255,255,255,.8); box-shadow:0 1px 0 0 rgba(255,255,255,.6) inset, 0 8px 20px -6px rgba(115,77,196,.7); transform:scale(1.12); animation:navIconGlow 3s ease-in-out infinite;}
  .site-header.overlay.is-compact .nav-center-icon{background-color:rgba(255,255,255,.45); border-color:rgba(255,255,255,.6);}
}
@keyframes navIconGlow{0%,100%{box-shadow:0 1px 0 0 rgba(255,255,255,.5) inset, 0 8px 20px -6px rgba(115,77,196,.6);}50%{box-shadow:0 1px 0 0 rgba(255,255,255,.5) inset, 0 10px 26px -4px rgba(115,77,196,.9);}}

/* Botones — glow retrofuturista */
.btn, .btn-mini{position:relative; overflow:hidden; isolation:isolate;}
.btn::before{content:''; position:absolute; inset:-9px; border-radius:inherit; background:radial-gradient(circle, rgba(139,111,232,.5) 0%, rgba(77,58,228,0) 72%); opacity:.3; filter:blur(11px); z-index:-2; animation:btnAmbientGlow 3.2s ease-in-out infinite; pointer-events:none;}
.btn::after{content:''; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.4) 50%, rgba(255,255,255,0) 100%); transform:skewX(-20deg); transition:left .6s ease; pointer-events:none; z-index:1;}
.btn:hover::after{left:130%;}
.btn:hover::before{opacity:.9; animation-duration:1s;}
.btn-mini::before{inset:-5px; filter:blur(7px); opacity:.22;}
.btn-mini:hover::before{opacity:.7;}
@keyframes btnAmbientGlow{0%,100%{opacity:.22; transform:scale(1);}50%{opacity:.5; transform:scale(1.07);}}

.whatsapp-fab{position:fixed; bottom:24px; right:24px; z-index:200; display:flex; align-items:center; gap:10px; color:#fff; padding:14px 22px; border-radius:99px; font-weight:600; font-size:15px; background:radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255,255,255,.2) 0%, rgba(255,255,255,0) 100%), linear-gradient(0deg,#272727,#272727); box-shadow:0 -3px 0 0 #080808 inset, 0 1px 0 0 rgba(255,255,255,.3) inset, 0 22px 18px 0 rgba(0,0,0,.18); text-decoration:none;}
.whatsapp-fab:hover{background:radial-gradient(62.56% 62.56% at 50% -13%, rgba(255,255,255,.7) 0%, rgba(255,255,255,0) 100%), linear-gradient(0deg,#272727,#272727); color:#fff;}
.whatsapp-fab .dot{width:9px; height:9px; border-radius:50%; background:#4ADE80; display:inline-block;}

/* Hero */
.hero{position:relative; padding:16px 16px 0; min-height:100vh; display:flex; flex-direction:column; margin-top:0;}
.hero-bg{position:absolute; inset:16px 16px 0 16px; border-radius:40px; overflow:hidden;}
.hero-slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 2s ease-in-out;}
.hero-slide.is-active{opacity:1;}
.hero-scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,9,11,.5) 0%, rgba(9,9,11,.78) 100%);}
.hero-glows{position:absolute; inset:16px 16px 0 16px; z-index:1; overflow:hidden;}
.hero-glow{position:absolute; border-radius:50%; filter:blur(10px); transition:left .5s ease-out, top .5s ease-out; animation:glowPulse 7s ease-in-out infinite;}
.hero-content{position:relative; z-index:2; max-width:1240px; margin:0 auto; width:100%; box-sizing:border-box; padding:120px 24px 110px; flex:1; display:flex; align-items:center; gap:56px; flex-wrap:wrap;}
.hero-text{flex:1 1 480px; min-width:320px;}
.hero-text h1{font-size:80px; line-height:.98; font-weight:600; letter-spacing:-.03em; margin:0 0 30px; color:#fff; animation:fadeUp .85s ease .1s both;}
.hero-text h1 .accent{background:linear-gradient(132deg,#C4B5FD 11%,#8B6FE8 79%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.hero-text p{font-size:18px; line-height:1.65; color:#D4D4D8; margin:0 0 34px; max-width:560px; animation:fadeUp .85s ease .2s both;}
.hero-text .badge{animation:fadeUp .7s ease both;}
.hero-actions{display:flex; gap:11px; flex-wrap:wrap; animation:fadeUp .85s ease .3s both;}
.hero-video-card{flex:0 0 auto; width:340px; padding:16px; border-radius:40px; background:rgba(255,255,255,.10); backdrop-filter:blur(22px); border:1px solid rgba(255,255,255,.22); box-shadow:0 1px 0 0 rgba(255,255,255,.25) inset, 0 24px 50px -18px rgba(0,0,0,.65); animation:fadeUp .9s ease .15s both;}
.hero-video-card .frame{position:relative; width:100%; aspect-ratio:9/16; border-radius:26px; overflow:hidden; background:#000;}
.hero-video-card .frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.yt-cover{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top;}
.yt-play{position:absolute; inset:0; margin:auto; width:64px; height:64px; border-radius:50%; background:rgba(9,9,11,.55); border:1px solid rgba(255,255,255,.4); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px; cursor:pointer; transition:transform .25s ease, background .25s ease;}
.yt-play:hover{transform:scale(1.08); background:rgba(115,77,196,.75);}
.hero-video-card .caption{display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:#E4E4E7; padding:12px 6px 4px;}
.scroll-cue{position:absolute; bottom:0; left:50%; transform:translateX(-50%); z-index:3; display:inline-flex; align-items:center; gap:10px; height:56px; padding:0 34px; background:var(--bg); border-radius:40px 40px 0 0; font-size:14px; font-weight:600; color:var(--ink);}
.scroll-cue:hover{color:var(--purple);}

/* About */
.about-hero{margin-bottom:-17px; position:relative; z-index:1;}
.about-hero h2{font-size:72px; line-height:1.08; font-weight:600; letter-spacing:-.02em; margin:0; background:linear-gradient(360deg, rgba(24,24,27,0) 0%, #18181B 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.about-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:24px; align-items:start; position:relative; z-index:2;}
.about-dark-card{display:flex; flex-direction:column; justify-content:space-between; text-align:center; border-radius:40px; padding:80px 0 0; overflow:hidden; background:radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255,255,255,.2) 0%, rgba(255,255,255,0) 100%), linear-gradient(0deg,#18181B,#18181B); box-shadow:0 7.77px 2.21px 0 rgba(0,0,0,.06), 0 3px 3px 0 rgba(0,0,0,.1), 0 -8px 0 0 #2E2E2E inset, 0 4px 0 0 rgba(255,255,255,.3) inset;}
.about-dark-card .inner{position:relative; z-index:5; padding:0 40px;}
.about-dark-card .pulse-badge{display:inline-flex; align-items:center; gap:13px; font-size:14px; font-weight:500; color:#fff; padding:8px 18px; border-radius:999px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); margin-bottom:12px; backdrop-filter:blur(14px);}
.pulse-dot{position:relative; width:8px; height:8px; border-radius:50%; background:var(--purple); display:inline-block;}
.pulse-dot::after{content:''; position:absolute; inset:-4px; border-radius:50%; background:rgba(115,77,196,.5); animation:rippleFade 1.8s ease-out infinite;}
.about-dark-card h5{font-size:32px; line-height:1.25; font-weight:600; margin:0 0 28px; color:#fff;}
.about-dark-card h5 span{color:#8B6FE8;}
.about-dark-card img{width:100%; height:380px; object-fit:cover; border-radius:38px; margin-top:-25px; display:block;}
.about-col{display:flex; flex-direction:column; gap:24px;}
.stat-card{position:relative; overflow:hidden; border-radius:40px; padding:48px 40px 34px; background:var(--panel); box-shadow:0 7.77px 2.21px 0 rgba(0,0,0,.06), 0 3px 3px 0 rgba(0,0,0,.1), 0 -8px 0 0 rgba(0,0,0,.05) inset, 0 4px 0 0 rgba(255,255,255,.6) inset;}
.stat-card .headline{font-size:18px; line-height:1.55; font-weight:600; margin-bottom:52px; max-width:360px; position:relative; z-index:2;}
.stat-card .ghost-num{position:absolute; right:24px; bottom:6px; font-size:144px; line-height:1; font-weight:600; color:rgba(9,9,11,.06); z-index:1;}
.stat-card .foot{display:flex; align-items:center; gap:8px; font-size:16px; font-weight:600; color:#27272A; margin-bottom:10px;}
.testimonial-card{display:flex; gap:24px; align-items:stretch; border-radius:40px; padding:40px 16px 28px 40px; background:var(--panel); box-shadow:0 7.77px 16px 0 rgba(0,0,0,.06), 0 3px 3px 0 rgba(0,0,0,.1), 0 -8px 0 0 rgba(0,0,0,.05) inset, 0 4px 0 0 rgba(255,255,255,.6) inset; min-height:238px;}
.testimonial-card img{width:160px; height:200px; object-fit:cover; object-position:top center; border-radius:24px; flex-shrink:0; display:block; box-shadow:0 12.52px 10.02px 0 rgba(0,0,0,.12), 0 22.34px 17.87px 0 rgba(0,0,0,.1); transition:opacity .3s ease;}
.testimonial-card .quote-mark{font-size:34px; line-height:1; color:#D4D4D8; margin-bottom:8px; font-weight:700;}
.testimonial-card .quote-text{font-size:18px; line-height:1.45; font-weight:600; margin-bottom:16px; min-height:78px;}
.type-cursor{display:inline-block; width:2px; height:18px; background:var(--purple); margin-left:3px; vertical-align:middle; animation:blinkCursor .9s step-start infinite;}
.testimonial-card .attribution{display:flex; align-items:center; gap:10px; font-size:14px; color:#52525B; flex-wrap:wrap;}
.testimonial-card .attribution .sep{width:1px; height:14px; background:#A1A1AA; display:inline-block;}

/* Clients marquee */
.marquee-wrap{padding:60px 0; overflow:hidden;}
.marquee-track{display:flex; gap:64px; align-items:center; width:max-content; animation:marquee-scroll 34s linear infinite; padding:0 48px;}
.marquee-track img{height:56px; width:auto; max-width:190px; object-fit:contain; opacity:.8; flex-shrink:0;}

/* Services accordion */
.white-box{background:var(--panel-2); border-radius:40px; margin:0 16px; overflow:hidden;}
.services-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:start;}
.services-sticky{position:sticky; top:120px;}
.services-sticky h2{font-size:72px; line-height:1.04; font-weight:600; letter-spacing:-.02em; margin:0 0 28px;}
.services-list{display:flex; flex-direction:column; gap:16px;}
.service-row{cursor:pointer; border-radius:32px; padding:22px 28px; background:linear-gradient(0deg,#F5F5F5,#F5F5F5); box-shadow:0 7.77px 16px 0 rgba(0,0,0,.06), 0 3px 3px 0 rgba(0,0,0,.08), 0 -8px 0 0 #EAEAEA inset, 0 4px 0 0 rgba(255,255,255,.7) inset; transition:background .45s ease, box-shadow .45s ease, transform .45s ease;}
.service-row .head{display:flex; justify-content:space-between; align-items:center; gap:20px;}
.service-row .head-left{display:flex; align-items:center; gap:14px;}
.service-row .head-left .icon{font-size:17px; color:#A1A1AA; transition:color .45s ease;}
.service-row h3{font-size:18px; line-height:1.3; font-weight:600; letter-spacing:-.005em; margin:0; color:#71717A; transition:color .45s ease;}
.service-row .num{font-size:13px; font-weight:500; flex-shrink:0; color:#A1A1AA; transition:color .45s ease;}
.service-row .panel{max-height:0; opacity:0; overflow:hidden; transition:max-height .55s cubic-bezier(.4,0,.2,1), opacity .45s ease;}
.service-row .panel-inner{padding-top:16px; padding-left:31px;}
.service-row .panel-inner p{font-size:15px; line-height:1.7; color:#A1A1AA; margin:0 0 28px; max-width:560px;}
.service-row .tags{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:28px;}
.service-row .tags span{font-size:14px; font-weight:600; color:#E4E4E7; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.1); padding:10px 20px; border-radius:99px;}
.service-row.is-open{background:radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255,255,255,.1) 0%, rgba(255,255,255,0) 100%), linear-gradient(0deg,#18181B,#18181B); box-shadow:0 22.34px 17.87px 0 rgba(0,0,0,.16), 0 41.78px 33.42px 0 rgba(0,0,0,.14), 0 -8px 0 0 #111 inset, 0 4px 0 0 rgba(255,255,255,.12) inset; transform:scale(1.015);}
.service-row.is-open .head-left .icon{color:#A78BFA;}
.service-row.is-open h3{color:#fff;}
.service-row.is-open .num{color:#E4E4E7;}
.service-row.is-open .panel{max-height:320px; opacity:1;}

/* Case cards */
.case-hero-card{display:flex; flex-direction:column; text-decoration:none; color:inherit; border-radius:40px; overflow:hidden; background:var(--panel); box-shadow:0 7.77px 16px 0 rgba(0,0,0,.06), 0 3px 3px 0 rgba(0,0,0,.1), 0 -8px 0 0 rgba(0,0,0,.05) inset, 0 4px 0 0 rgba(255,255,255,.6) inset;}
.case-hero-card:hover{background:#EFEFF1;}
.case-hero-card .media{position:relative; flex-grow:1; min-height:340px; overflow:hidden;}
.case-hero-card .media img{width:100%; height:100%; object-fit:cover; display:block;}
.case-hero-card .media .scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,9,11,0) 45%, rgba(9,9,11,.75) 100%); display:flex; align-items:flex-end; justify-content:space-between; padding:28px; gap:16px;}
.case-hero-card .media .pill{display:inline-flex; align-items:center; gap:10px; font-size:14px; font-weight:600; color:var(--ink); background:rgba(255,255,255,.92); padding:11px 20px; border-radius:99px; flex-shrink:0;}
.case-hero-card .body{padding:32px; display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.case-row-card{display:flex; gap:20px; align-items:center; padding:20px; border-radius:40px; text-decoration:none; color:inherit; flex-grow:1; background:var(--panel); box-shadow:0 7.77px 16px 0 rgba(0,0,0,.06), 0 3px 3px 0 rgba(0,0,0,.1), 0 -8px 0 0 rgba(0,0,0,.05) inset, 0 4px 0 0 rgba(255,255,255,.6) inset;}
.case-row-card:hover{background:#EFEFF1;}
.case-row-card img{width:120px; height:120px; object-fit:cover; border-radius:28px; flex-shrink:0; display:block;}

/* Process */
.process-track{position:relative;}
.process-line{position:absolute; top:36px; left:36px; right:36px; height:2px; background:#E4E4E7; border-radius:2px; overflow:hidden; z-index:1;}
.process-line .flow{position:absolute; inset:0; width:40%; background:linear-gradient(90deg, rgba(115,77,196,0) 0%, #A78BFA 50%, rgba(77,58,228,0) 100%); animation:flowRight 3.2s linear infinite;}
.process-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; z-index:2;}
.process-step{display:flex; flex-direction:column; align-items:center; text-align:center;}
.process-step .badge-num{position:relative; width:72px; height:72px; border-radius:50%; background:#fff; box-shadow:0 10px 24px -8px rgba(115,77,196,.35), 0 -3px 0 0 #E9E9E9 inset, 0 1px 0 0 rgba(255,255,255,.9) inset; display:flex; align-items:center; justify-content:center; margin-bottom:24px;}
.process-step .ring{position:absolute; inset:-6px; border-radius:50%; border:1.5px solid rgba(115,77,196,.35); animation:rippleFade 2.4s ease-out infinite;}
.process-step .icon{font-size:26px; color:var(--purple);}
.process-step .num-chip{position:absolute; top:-6px; right:-6px; width:24px; height:24px; border-radius:50%; background:linear-gradient(135deg,#4D3AE4 0%,#734DC4 100%); color:#fff; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center;}
.process-card{padding:28px; border-radius:32px; background:var(--panel); box-shadow:0 7.77px 16px 0 rgba(0,0,0,.06), 0 -8px 0 0 rgba(0,0,0,.05) inset, 0 4px 0 0 rgba(255,255,255,.6) inset; width:100%; display:flex; flex-direction:column; gap:14px; min-height:230px;}
.process-card h4{font-size:20px; line-height:1.25; font-weight:600; color:var(--ink); margin:0;}
.process-card p{font-size:14px; color:#52525B; line-height:1.6; margin:0; flex-grow:1;}
.process-card .time{font-size:12px; font-weight:600; letter-spacing:.06em; color:var(--purple); border-top:1px solid #E4E4E7; padding-top:14px;}

/* Benefits dark panel */
.benefits{position:relative; margin:16px; border-radius:40px; overflow:hidden; background:linear-gradient(0deg,#09090B,#09090B), radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 100%); box-shadow:0 -8px 0 0 #111 inset, 0 4px 0 0 rgba(255,255,255,.1) inset; padding:120px 0; color:#fff;}
.blob{position:absolute; filter:blur(22px); animation:glowPulse 9s ease-in-out infinite; pointer-events:none;}
.glow-card{padding:32px; border-radius:32px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10); transition:box-shadow .4s ease, border-color .4s ease, transform .4s ease;}
.glow-card:hover{box-shadow:0 0 0 1.5px rgba(167,139,250,.7), 0 0 40px 4px rgba(139,111,232,.45), 0 22px 46px -14px rgba(115,77,196,.6); border-color:rgba(167,139,250,.7); transform:translateY(-4px) scale(1.015); background:rgba(167,139,250,.09);}
.terminal-card{border-radius:32px; border:1px solid rgba(255,255,255,.10); box-shadow:0 30px 60px -24px rgba(0,0,0,.6); transition:box-shadow .4s ease, border-color .4s ease;}
.terminal-card:hover{box-shadow:0 0 0 1.5px rgba(167,139,250,.7), 0 0 44px 6px rgba(139,111,232,.5), 0 32px 64px -18px rgba(115,77,196,.65); border-color:rgba(167,139,250,.7);}
.terminal-inner{border-radius:31px; background:#0C0C0F; overflow:hidden;}
.terminal-topbar{display:flex; align-items:center; gap:8px; padding:16px 20px; background:rgba(255,255,255,.03); border-bottom:1px solid rgba(255,255,255,.08);}
.terminal-dot{width:11px; height:11px; border-radius:50%; display:inline-block;}
.terminal-body{padding:28px 28px 32px; font-family:'SFMono-Regular',Menlo,Consolas,monospace; font-size:14px; line-height:1.9; min-height:290px;}
.terminal-body .ln{opacity:0; animation:typeIn 7s ease-in-out infinite;}
.kpi-row{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:24px;}
.kpi-card .kpi-label{display:flex; align-items:center; gap:8px; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#4ADE80; margin-bottom:14px; font-family:'SFMono-Regular',Menlo,Consolas,monospace;}
.kpi-card .kpi-dot{width:6px; height:6px; border-radius:50%; background:#4ADE80; display:inline-block; animation:glowPulse 2s ease-in-out infinite;}
.kpi-card .kpi-value{font-size:44px; line-height:1; font-weight:600; margin-bottom:10px; background:linear-gradient(132deg,#C4B5FD 11%,#8B6FE8 79%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.kpi-card .kpi-desc{font-size:14px; color:#A1A1AA; line-height:1.55;}
.progress-card{padding:40px; display:flex; flex-direction:column; justify-content:space-between;}
.progress-item .lbl{display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:600; color:#E4E4E7; margin-bottom:7px;}
.progress-item .lbl .icon{font-size:14px; color:#A78BFA;}
.progress-track{height:8px; border-radius:99px; background:rgba(255,255,255,.10); overflow:hidden;}
.progress-fill{height:100%; border-radius:99px; background:linear-gradient(90deg,#4D3AE4 0%,#A78BFA 100%); animation:growBar 1.4s ease both;}
.mini-grid{display:grid; grid-template-columns:1fr 1fr 1.15fr; gap:24px;}
.mini-card{text-align:center;}
.mini-card h6{font-size:17px; font-weight:600; color:#fff; margin:0 0 8px;}
.mini-card p{font-size:13.5px; color:#A1A1AA; line-height:1.55; margin:0;}

/* Features */
.features-grid{display:grid; grid-template-columns:1fr 190px 1fr; gap:0; align-items:stretch;}
.features-col{display:flex; flex-direction:column; gap:24px;}
.feature-card{position:relative; padding:28px; border-radius:32px; background:rgba(255,255,255,.55); backdrop-filter:blur(18px); border:1px solid rgba(255,255,255,.9); box-shadow:0 12px 30px -14px rgba(9,9,11,.18); min-height:168px; transition:box-shadow .35s ease, border-color .35s ease, transform .35s ease;}
.feature-card:hover{box-shadow:0 18px 40px -14px rgba(115,77,196,.55), 0 0 0 1px rgba(115,77,196,.35); border-color:rgba(115,77,196,.4); transform:translateY(-3px);}
.feature-card .icon{font-size:24px; color:var(--purple); display:block; margin-bottom:12px;}
.feature-card h6{font-size:18px; font-weight:600; color:var(--ink); margin:0 0 8px;}
.feature-card p{font-size:14px; color:#52525B; line-height:1.6; margin:0;}
.features-center{position:relative; display:flex; align-items:center; justify-content:center;}
.features-center .spine{position:absolute; left:50%; top:0; bottom:0; width:2px; transform:translateX(-50%); background:linear-gradient(180deg, rgba(115,77,196,.08), rgba(115,77,196,.22) 20%, rgba(115,77,196,.22) 80%, rgba(115,77,196,.08));}
.features-center .flow-dot{position:absolute; left:-1px; width:4px; height:70px; border-radius:99px; background:linear-gradient(180deg, rgba(167,139,250,0) 0%, #A78BFA 50%, rgba(167,139,250,0) 100%); animation:flowDown 3.4s linear infinite;}
.features-center .logo-orb{position:relative; width:150px; height:150px; flex-shrink:0; border-radius:50%; background:linear-gradient(0deg,#18181B,#18181B), radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 100%); display:flex; align-items:center; justify-content:center; box-shadow:0 24px 60px -18px rgba(115,77,196,.7), 0 4px 0 0 rgba(255,255,255,.12) inset; z-index:2;}
.features-center .logo-orb img{width:82px; height:auto; display:block;}
.features-center .dashed-ring{position:absolute; inset:-14px; border-radius:50%; border:1px dashed rgba(115,77,196,.5); animation:spinSlow 22s linear infinite;}

/* Tools */
.tools-section{position:relative; padding:110px 48px; overflow:hidden;}
.tools-float{position:absolute; font-family:'icomoon'; color:rgba(115,77,196,.28);}
.tools-grid{position:relative; max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1.05fr .95fr; gap:24px; align-items:stretch;}
.tools-copy{padding:56px 48px; border-radius:40px; background:var(--panel); box-shadow:0 7.77px 16px 0 rgba(0,0,0,.06), 0 3px 3px 0 rgba(0,0,0,.1), 0 -8px 0 0 rgba(0,0,0,.05) inset, 0 4px 0 0 rgba(255,255,255,.6) inset; display:flex; flex-direction:column; justify-content:center;}
.tools-copy h2{font-size:48px; line-height:1.08; font-weight:600; letter-spacing:-.02em; margin:0 0 18px;}
.tools-copy p{font-size:16px; color:#52525B; line-height:1.7; margin:0 0 28px; max-width:460px;}
.stack-chips{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px;}
.stack-chips span{font-size:14px; font-weight:600; color:#3F3F46; background:#fff; padding:10px 18px; border-radius:99px; box-shadow:0 -3px 0 0 #E9E9E9 inset, 0 1px 0 0 rgba(255,255,255,.7) inset;}
.tools-media{display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:24px;}
.tools-media > img{grid-column:1/-1; width:100%; height:260px; object-fit:cover; border-radius:40px; display:block;}
.tools-mini{padding:32px; border-radius:40px; background:var(--panel); box-shadow:0 7.77px 16px 0 rgba(0,0,0,.06), 0 3px 3px 0 rgba(0,0,0,.1), 0 -8px 0 0 rgba(0,0,0,.05) inset, 0 4px 0 0 rgba(255,255,255,.6) inset;}
.tools-mini .icon{font-size:26px; color:var(--purple); display:block; margin-bottom:14px;}
.tools-mini .title{font-size:19px; font-weight:600; color:var(--ink); margin-bottom:8px;}
.tools-mini .desc{font-size:14px; color:#52525B; line-height:1.6;}

/* Dark box: testimonials + financing */
.dark-box{position:relative; margin:0 16px; border-radius:40px; overflow:hidden; background:linear-gradient(0deg,#09090B,#09090B), radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 100%); box-shadow:0 -8px 0 0 #111 inset, 0 4px 0 0 rgba(255,255,255,.1) inset; color:#fff;}
.testimonials-grid{display:grid; grid-template-columns:1.25fr 1fr; gap:24px; align-items:stretch;}
.testimonial-main, .testimonial-side{display:flex; flex-direction:column; justify-content:space-between; text-decoration:none; color:inherit; border-radius:40px; background:rgba(255,255,255,.05); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.10);}
.testimonial-main{gap:32px; padding:44px;}
.testimonial-side{gap:20px; padding:32px; flex-grow:1; margin-bottom:24px;}
.testimonial-main:hover, .testimonial-side:hover{border-color:rgba(167,139,250,.5);}
.testimonial-main .quote-mark{font-size:44px; line-height:1; color:#8B6FE8; font-weight:700; margin-bottom:18px;}
.testimonial-main p, .testimonial-side p{font-size:28px; line-height:1.4; font-weight:500; color:#F4F4F5; margin:0;}
.testimonial-side p{font-size:18px;}
.testimonial-main .who{display:flex; align-items:center; gap:20px;}
.testimonial-main .who img{width:64px; height:64px; border-radius:50%; object-fit:cover; display:block;}
.financing-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:24px;}
.financing-card{padding:40px; border-radius:40px; background:rgba(255,255,255,.05); backdrop-filter:blur(18px); border:1px solid rgba(255,255,255,.10); display:flex; flex-direction:column; gap:14px;}
.financing-card .icon{font-size:24px; color:#A78BFA;}
.financing-card .name{font-size:24px; font-weight:600; color:#fff;}
.financing-card .count{font-size:44px; line-height:1; font-weight:600; color:#C4B5FD;}
.financing-card .label{font-size:13.5px; color:#71717A;}
.financing-card .desc{font-size:14.5px; color:#A1A1AA; line-height:1.6; flex-grow:1;}
.btn-mini{align-self:flex-start; display:inline-flex; align-items:center; gap:10px; text-decoration:none; font-size:14px; font-weight:600; color:var(--ink); padding:10px 20px; border-radius:99px; background:#F5F5F5; box-shadow:0 -3px 0 0 #E9E9E9 inset, 0 1px 0 0 rgba(255,255,255,.7) inset;}
.btn-mini:hover{color:var(--purple);}

/* FAQ + contact */
.faq-contact{position:relative; margin:16px; border-radius:40px; overflow:hidden; padding:110px 48px;}
.faq-contact-bg{position:absolute; inset:0; background-image:linear-gradient(180deg, rgba(9,9,11,.82) 0%, rgba(9,9,11,.9) 100%), url('../photos/team-06.webp'); background-size:cover; background-position:center;}
.faq-contact-grid{position:relative; z-index:2; max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:start;}
.faq-contact h2{font-size:48px; line-height:1.08; font-weight:600; letter-spacing:-.02em; margin:0 0 32px; color:#fff;}
.faq-item{border-radius:28px; padding:22px 26px; background:rgba(255,255,255,.05); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.10); margin-bottom:10px;}
.faq-q{display:flex; justify-content:space-between; align-items:center; cursor:pointer; gap:16px;}
.faq-q .t{font-size:17px; font-weight:600; color:#fff;}
.faq-q .sign{font-size:24px; font-weight:400; color:#C4B5FD; flex-shrink:0;}
.faq-a{font-size:15px; color:#A1A1AA; line-height:1.7; margin-top:12px; display:none;}
.faq-item.is-open .faq-a{display:block;}
.contact-panel{padding:40px; border-radius:40px; background:rgba(255,255,255,.05); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.10); color:#fff;}
.contact-panel .eyebrow{font-size:13px; font-weight:600; color:#C4B5FD; margin-bottom:14px;}
.contact-panel h3{font-size:34px; line-height:1.15; font-weight:600; margin:0 0 14px;}
.contact-panel p{font-size:16px; color:#A1A1AA; line-height:1.65; margin:0 0 28px;}
.contact-info{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:28px; font-size:15px;}
.contact-info .lbl{color:#A1A1AA; font-size:13px; margin-bottom:4px;}
.contact-info .full{grid-column:1/-1;}
.contact-actions{display:flex; gap:11px; flex-wrap:wrap;}
.contact-badges{display:flex; align-items:center; gap:24px; padding:28px 32px; border-radius:40px; background:rgba(255,255,255,.05); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.10); color:#fff;}
.contact-badges .note{margin-left:auto; font-size:13.5px; color:#A1A1AA; text-align:right; line-height:1.5;}

/* Footer */
.site-footer{padding:16px;}
.footer-inner{border-radius:40px; overflow:hidden; background:linear-gradient(0deg,#09090B,#09090B), radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255,255,255,.1) 0%, rgba(255,255,255,0) 100%); box-shadow:0 -8px 0 0 #111 inset, 0 4px 0 0 rgba(255,255,255,.1) inset; color:#fff;}
.footer-grid{max-width:1280px; margin:0 auto; padding:80px 48px 48px; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:48px;}
.footer-grid h6{font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:#71717A; margin:0 0 20px;}
.footer-links{display:flex; flex-direction:column; gap:12px;}
.footer-links a{color:#E4E4E7; font-size:16px;}
.footer-links a:hover{color:#A78BFA;}
.footer-badges{max-width:1280px; margin:0 auto; padding:0 48px 40px;}
.footer-badges .row{display:flex; align-items:center; gap:40px; flex-wrap:wrap; padding:32px; border-radius:32px; background:#18181B; box-shadow:0 -8px 0 0 #111 inset, 0 4px 0 0 rgba(255,255,255,.08) inset;}
.footer-bottom{border-top:1px solid #27272A;}
.footer-bottom-inner{max-width:1280px; margin:0 auto; padding:24px 48px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:14px; color:#71717A;}
.footer-bottom-inner a{color:#71717A;}
.footer-bottom-inner a:hover{color:#E4E4E7;}

.agent-section{position:relative; margin:16px; border-radius:40px; overflow:hidden; background:linear-gradient(0deg,#09090B,#09090B), radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 100%); box-shadow:0 -8px 0 0 #111 inset, 0 4px 0 0 rgba(255,255,255,.1) inset; padding:100px 24px;}
.agent-glow{position:absolute; border-radius:50%; filter:blur(24px); animation:glowPulse 9s ease-in-out infinite; pointer-events:none;}
.agent-glow-1{top:-120px; left:10%; width:460px; height:300px; background:radial-gradient(ellipse at center, rgba(115,77,196,.32) 0%, rgba(115,77,196,0) 70%);}
.agent-glow-2{bottom:-140px; right:8%; width:480px; height:300px; background:radial-gradient(ellipse at center, rgba(77,58,228,.28) 0%, rgba(77,58,228,0) 70%); animation-delay:1.3s;}
.agent-stage{position:relative; height:280px; display:flex; align-items:center; justify-content:center; margin-bottom:40px; overflow:hidden; border-radius:32px;}
.agent-voice-glow{position:absolute; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle, rgba(167,139,250,.30) 0%, rgba(167,139,250,0) 70%); filter:blur(30px); opacity:.5; transition:opacity .5s ease, transform .6s ease, background .5s ease; z-index:0; pointer-events:none;}
.agent-voice-glow.is-listening{background:radial-gradient(circle, rgba(74,222,128,.32) 0%, rgba(74,222,128,0) 70%); opacity:.7; transform:scale(1.08);}
.agent-voice-glow.is-speaking{background:radial-gradient(circle, rgba(196,181,253,.5) 0%, rgba(115,77,196,0) 70%); opacity:.95; animation:agentGlowPulse .9s ease-in-out infinite alternate;}
.agent-voice-glow.is-processing{background:radial-gradient(circle, rgba(255,255,255,.28) 0%, rgba(167,139,250,0) 70%); opacity:.65; animation:agentGlowPulse 1.3s ease-in-out infinite alternate;}
@keyframes agentGlowPulse{from{transform:scale(1.1);}to{transform:scale(1.35);}}
.agent-core.is-processing .agent-ring{animation:spinSlow 1.2s linear infinite; border-color:rgba(255,255,255,.55);}
.agent-core.is-processing .agent-bars span{animation:agentBar .9s ease-in-out infinite; opacity:.55;}

#agentToggleBtn{position:relative; overflow:hidden; transition:box-shadow .3s ease, transform .3s ease;}
#agentToggleBtn:hover{box-shadow:0 0 0 1px rgba(167,139,250,.5), 0 0 30px 6px rgba(139,111,232,.55); transform:translateY(-2px);}
#agentToggleBtn::after{content:''; position:absolute; top:0; left:-60%; width:35%; height:100%; background:linear-gradient(115deg, transparent, rgba(255,255,255,.4), transparent); transform:skewX(-20deg); pointer-events:none;}
#agentToggleBtn:hover::after{animation:agentBtnSweep 1s ease;}
@keyframes agentBtnSweep{from{left:-60%;}to{left:130%;}}
.agent-logo-watermark{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:380px; height:auto; opacity:.05; pointer-events:none; z-index:0;}
.agent-code-bg{position:absolute; inset:0; z-index:1; overflow:hidden; font-family:'SFMono-Regular',Menlo,Consolas,monospace; font-size:11.5px; line-height:1.75; color:#A78BFA; padding:16px 20px; pointer-events:none; opacity:.28; -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 18%, #000 82%, transparent 100%); mask-image:linear-gradient(180deg, transparent 0%, #000 18%, #000 82%, transparent 100%);}
.agent-code-bg .code-row{white-space:pre; opacity:.85;}
.agent-code-bg .code-cursor{display:inline-block; margin-left:2px; animation:blinkCursor .9s step-start infinite;}
.agent-grid-bg{position:absolute; inset:0; display:grid; grid-template-columns:repeat(8,1fr); grid-template-rows:repeat(3,1fr); gap:10px; opacity:.5;}
.agent-grid-bg span{border:1px solid rgba(167,139,250,.14); border-radius:14px;}
.agent-core{position:relative; width:150px; height:150px; border-radius:50%; background:linear-gradient(0deg,#18181B,#18181B), radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 100%); display:flex; align-items:center; justify-content:center; box-shadow:0 24px 60px -18px rgba(115,77,196,.55), 0 4px 0 0 rgba(255,255,255,.12) inset; z-index:2; transition:box-shadow .4s ease, transform .4s ease;}
.agent-ring{position:absolute; inset:-16px; border-radius:50%; border:1px dashed rgba(167,139,250,.4); animation:spinSlow 26s linear infinite;}
.agent-bars{display:flex; align-items:center; gap:5px; height:40px;}
.agent-bars span{width:5px; height:12px; border-radius:99px; background:linear-gradient(180deg,#A78BFA,#4D3AE4); transition:height .18s ease;}
.agent-status{font-size:14px; color:#A1A1AA; font-weight:600;}
.agent-core.is-connecting{animation:glowPulse 1.2s ease-in-out infinite;}
.agent-core.is-listening{box-shadow:0 0 0 6px rgba(167,139,250,.18), 0 24px 60px -18px rgba(115,77,196,.7);}
.agent-core.is-speaking{box-shadow:0 0 0 10px rgba(167,139,250,.28), 0 24px 60px -18px rgba(115,77,196,.85); transform:scale(1.04);}
.agent-core.is-speaking .agent-bars span{animation:agentBar .5s ease-in-out infinite alternate;}
.agent-core.is-speaking .agent-bars span:nth-child(2){animation-delay:.1s;}
.agent-core.is-speaking .agent-bars span:nth-child(3){animation-delay:.2s;}
.agent-core.is-speaking .agent-bars span:nth-child(4){animation-delay:.15s;}
.agent-core.is-speaking .agent-bars span:nth-child(5){animation-delay:.05s;}
@keyframes agentBar{from{height:10px;}to{height:38px;}}

.agent-fab{position:fixed; bottom:24px; right:190px; z-index:200; width:56px; height:56px; border-radius:50%; border:none; cursor:pointer; background:linear-gradient(135deg,#4D3AE4 0%,#734DC4 100%); color:#fff; font-size:15px; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 30px -8px rgba(115,77,196,.7);}
.agent-fab-label{font-weight:800; letter-spacing:.02em; font-family:'Urbanist',sans-serif;}
.agent-fab-pulse{position:absolute; inset:0; border-radius:50%; background:rgba(167,139,250,.5); animation:rippleFade 2.2s ease-out infinite;}
@media (max-width:640px){ .agent-fab{right:24px; bottom:96px;} }
@media (max-width:1024px){
  .about-grid, .services-grid, .process-track .process-steps, .tools-grid, .testimonials-grid, .faq-contact-grid{grid-template-columns:1fr !important;}
  .features-grid{grid-template-columns:1fr !important;}
  .features-center{padding:24px 0;}
  .kpi-row, .mini-grid{grid-template-columns:1fr !important;}
  .case-hero-card .body{grid-template-columns:1fr !important;}
}
@media (max-width:640px){
  .hero-text h1{font-size:52px;}
  .about-hero h2, .services-sticky h2{font-size:40px;}
  .container{padding:0 20px;}
}

/* --- Páginas internas (servicios/nosotros/casos/contacto) --- */
.tech-hero-panel{position:relative; overflow:hidden;}
.tech-hero-panel::before{content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px,transparent 1px); background-size:36px 36px; -webkit-mask-image:radial-gradient(circle at 22% 25%, #000 0%, transparent 65%); mask-image:radial-gradient(circle at 22% 25%, #000 0%, transparent 65%); pointer-events:none;}
.tech-hero-panel::after{content:''; position:absolute; top:-50%; left:-30%; width:55%; height:200%; background:linear-gradient(120deg, transparent 0%, rgba(196,181,253,.10) 45%, transparent 60%); animation:scanSweep 7s ease-in-out infinite; pointer-events:none;}
.tech-hero-panel > *{position:relative; z-index:2;}
@keyframes scanSweep{0%{transform:translateX(-10%);} 50%{transform:translateX(220%);} 100%{transform:translateX(-10%);}}
.cap-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; counter-reset:capnum;}
.capability-card{display:flex; gap:14px; align-items:flex-start; background:#FFFFFF; border-radius:18px; padding:20px 22px; transition:transform .3s ease, box-shadow .3s ease; counter-increment:capnum;}
.capability-card:hover{transform:translateY(-3px); box-shadow:0 16px 32px -16px rgba(115,77,196,.4);}
.capability-card .icon-dot{width:32px; height:32px; border-radius:10px; background:linear-gradient(135deg,#734DC4,#4D3AE4); display:flex; align-items:center; justify-content:center; color:#fff; font-size:13px; font-family:'icomoon'; flex-shrink:0; position:relative;}
.capability-card .icon-dot::after{content:counter(capnum); position:absolute; bottom:-6px; right:-6px; width:16px; height:16px; border-radius:50%; background:#fff; color:#734DC4; font-size:9px; font-weight:800; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 4px rgba(0,0,0,.15);}
@media (max-width:640px){.cap-grid{grid-template-columns:1fr;}}
.tag-pill{font-size:14px; font-weight:600; color:#3F3F46; background:#F4F4F5; padding:10px 18px; border-radius:999px; text-decoration:none; transition:background .25s ease, box-shadow .25s ease;}
.tag-pill:hover{background:#E4E4E7; color:#3F3F46; box-shadow:0 10px 20px -12px rgba(115,77,196,.4);}
.dark-cta{max-width:1280px; margin:0 auto; border-radius:40px; background:linear-gradient(0deg,#09090B,#09090B), radial-gradient(62.56% 62.56% at 28.14% -10.42%, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 100%); box-shadow:0 -8px 0 0 #111 inset, 0 4px 0 0 rgba(255,255,255,.1) inset; padding:56px 48px; color:#fff; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:32px;}
.acc-list{display:flex; flex-direction:column;}
.acc-item{background:#FFFFFF; border-radius:28px; padding:20px 24px; margin-bottom:8px;}
.acc-q{display:flex; justify-content:space-between; align-items:center; cursor:pointer; gap:16px;}
.acc-t{font-size:16.5px; font-weight:700; color:#09090B;}
.acc-sign{font-size:22px; color:#734DC4; flex-shrink:0;}
.acc-a{font-size:15px; color:#52525B; line-height:1.65; margin-top:12px; display:none;}
.acc-item.is-open .acc-a{display:block;}
.value-card{background:#FFFFFF; border-radius:32px; padding:32px; box-shadow:0px 7.77px 16px 0px rgba(0,0,0,0.05), 0px -6px 0px 0px #EFEFEF inset; transition:transform .3s ease, box-shadow .3s ease;}
.value-card:hover{transform:translateY(-4px); box-shadow:0 18px 34px -14px rgba(115,77,196,.35), 0px -6px 0px 0px #EFEFEF inset;}
.info-box{background:#F4F4F5; border-radius:40px; padding:44px 40px; box-shadow:0px 7.77px 16px 0px rgba(0,0,0,0.06), 0px 3px 3px 0px rgba(0,0,0,0.1), 0px -8px 0px 0px rgba(0,0,0,0.05) inset, 0px 4px 0px 0px rgba(255,255,255,0.6) inset; transition:transform .3s ease, box-shadow .3s ease;}
.info-box:hover{transform:translateY(-3px); box-shadow:0 20px 36px -16px rgba(115,77,196,.3), 0px -8px 0px 0px rgba(0,0,0,0.05) inset, 0px 4px 0px 0px rgba(255,255,255,0.6) inset;}
.dark-stat-card{padding:32px; border-radius:32px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);}
.dark-stat-card .num{font-size:44px; font-weight:600; color:#fff; margin-bottom:10px; background:linear-gradient(132deg,#C4B5FD 11%,#8B6FE8 79%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.team-placeholder{border-radius:40px; border:2px dashed #C4B5FD; background:#F4F1FB; padding:72px 32px; text-align:center;}
.dark-testimonial-card{display:block; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:32px; padding:32px; text-decoration:none; color:inherit;}
.dark-testimonial-card:hover{border-color:rgba(167,139,250,.5);}
.process-mini{padding:28px; background:#FFFFFF; border-radius:28px; box-shadow:0px 7.77px 16px 0px rgba(0,0,0,0.05);}
.contact-field label{font-size:13px; font-weight:700; color:#3F3F46; display:block; margin-bottom:6px;}
.contact-field input, .contact-field textarea{width:100%; box-sizing:border-box; padding:14px 18px; border-radius:14px; border:1px solid #E4E4E7; background:#FAFAFA; font-size:15px; font-family:'Urbanist',sans-serif;}
.contact-field textarea{resize:vertical;}
.form-check{display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:#52525B; cursor:pointer;}
.form-submit{margin-top:8px; border:none; cursor:pointer; font-family:'Urbanist',sans-serif; font-weight:600; font-size:16px; color:#fff; background:linear-gradient(0deg,#272727,#272727); padding:16px 30px; border-radius:999px; box-shadow:0 -3px 0 0 #080808 inset, 0 1px 0 0 rgba(255,255,255,.3) inset;}
.form-submit:hover{opacity:.92;}
.case-cover{position:relative; height:320px; overflow:hidden;}
.case-cover img{width:100%; height:100%; object-fit:cover; object-position:top center; display:block;}
.case-cover .scrim2{position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,9,11,0) 45%, rgba(9,9,11,.7) 100%); display:flex; align-items:flex-end; padding:20px;}
.case-cover .pill2{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:#09090B; background:rgba(255,255,255,.92); padding:9px 16px; border-radius:99px;}
.case-grid-card{display:block; background:#F4F4F5; border-radius:40px; overflow:hidden; text-decoration:none; color:inherit; box-shadow:0px 7.77px 16px 0px rgba(0,0,0,0.06), 0px -8px 0px 0px rgba(0,0,0,0.04) inset, 0px 4px 0px 0px rgba(255,255,255,0.6) inset; transition:transform .4s ease, box-shadow .4s ease;}
.case-grid-card:hover{transform:translateY(-4px); box-shadow:0 0 0 1.5px rgba(167,139,250,.6), 0 30px 60px -20px rgba(115,77,196,.5), 0px 4px 0px 0px rgba(255,255,255,0.6) inset;}
.case-grid-card:hover .case-cover img{transform:scale(1.06);}
.case-cover img{transition:transform .5s ease;}
