/* Entidad Creativa — adaptation layer over the approved visual reference. */
.reference-page { min-height:100vh; background:#0c0f17; color:#fff; font-family:var(--font); }
.reference-page .entity-brand { min-width:220px; gap:12px; text-transform:none; }
.entity-brand-mark { width:43px; height:43px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.15); border-radius:13px; background:linear-gradient(145deg,#e11d48,#be123c); box-shadow:0 0 30px rgba(225,29,72,.35); color:#fff; font:700 18px/1 var(--display); }
.entity-brand-name { display:block; color:#fff; font:700 24px/21px var(--display); letter-spacing:-.4px; }
.entity-brand-name b { display:block; color:#f43f5e; font-weight:700; }
.reference-page .desktop-nav { margin-left:auto; }
.reference-page .site-header { left:0; width:100%; transform:none; border:0; border-bottom:1px solid rgba(255,255,255,.08); border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.reference-page .site-header.scrolled { left:0; width:100%; transform:none; position:fixed; background:rgba(12,15,23,.84); backdrop-filter:blur(18px); box-shadow:0 16px 50px rgba(0,0,0,.18); }
.reference-page .hero-copy h1 span { color:#f43f5e; text-shadow:0 0 35px rgba(225,29,72,.34); }
.reference-page .hero-copy .check-pill { width:auto !important; min-width:330px; white-space:nowrap; justify-content:center; }
.reference-page .hero-copy .button { width:auto !important; min-width:290px; padding-inline:28px !important; white-space:nowrap; }
.reference-page .hero-diagram-frame,
.reference-page .hero-diagram-core { display:none !important; }
.reference-page .ai-map > .hero-connectors { display:block !important; position:absolute; z-index:1; inset:0 !important; width:100% !important; height:100% !important; overflow:visible; pointer-events:none; }
.reference-page .ai-map > .ai-core { display:grid !important; }
.reference-page .ai-core { z-index:4; isolation:isolate; font-size:32px; font-weight:700; }
.reference-page .ai-core::before,
.reference-page .ai-core::after { display:none; }
.reference-page .ai-core > strong { position:relative; z-index:3; padding:0; background:none; box-shadow:none; color:#fff; font:500 49px/1 var(--display); letter-spacing:-.06em; text-shadow:0 0 18px rgba(255,255,255,.42); }
.reference-page .ai-core span { position:absolute; z-index:0; inset:-26px; border:1px solid rgba(140,119,255,.2); border-radius:34px; animation:entity-pulse 3s ease-in-out infinite; }
.reference-page .compact-title { max-width:760px; margin-bottom:52px; }
.reference-page .compact-title h2 { font-size:clamp(2.4rem,4vw,3.5rem); }
.reference-page .dash img { width:100%; height:100%; object-fit:contain; }
.entity-capability-track .partner-logo { gap:17px; }
.entity-capability-track .partner-logo i { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(142,121,255,.55); border-radius:14px; background:rgba(102,84,255,.12); color:#8e80ff; font:700 25px var(--display); box-shadow:0 0 25px rgba(104,83,255,.18); }
.entity-capability-track .partner-logo strong { color:#fff; font:700 24px var(--display); }
.capability-1 i { color:#54eca3 !important; border-color:rgba(84,236,163,.38) !important; }
.capability-2 i { color:#ff9a59 !important; border-color:rgba(255,154,89,.38) !important; }
.reference-page .feature-index { position:absolute; top:27px; right:31px; z-index:3; color:rgba(255,255,255,.14); font:700 42px var(--display); }
.reference-page .feature-card h3,
.reference-page .feature-card p,
.reference-page .feature-card ul { position:relative; z-index:3; }
.reference-page .feature-card li { color:#d6d1e7; }
.reference-page .process { overflow:hidden; }
.reference-page .process-line article p { max-width:310px; margin-inline:auto; }
.reference-page .project-card small { display:block; margin-bottom:8px; color:#8f80ff; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.reference-page .project-card p { min-height:78px; }
.reference-page .center-action { display:flex; justify-content:center; margin-top:56px; }
.reference-page .projects { height:auto !important; }
.reference-page .faq { height:auto !important; min-height:850px; }
.reference-page .faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; }
.reference-page .faq-answer > p { overflow:hidden; }
.reference-page .faq-item.open .faq-answer { grid-template-rows:1fr; }
.entity-final-cta { position:relative; overflow:hidden; text-align:center; background:radial-gradient(circle at 50% 40%,rgba(101,82,255,.28),transparent 37%),linear-gradient(180deg,#080220,#12083a); }
.entity-final-cta .container { position:relative; z-index:2; }
.entity-final-cta h2 { max-width:900px; margin:25px auto 24px; font-size:clamp(3rem,6vw,6rem); }
.entity-final-cta h2 em { color:#8375ff; font-style:normal; }
.entity-final-cta p { max-width:700px; margin:0 auto 34px; font-size:1.1rem; }
.reference-whatsapp { position:fixed !important; z-index:120; }
.entity-footer .entity-brand { position:absolute; top:105px; left:50%; transform:translateX(-50%); width:max-content; }
.entity-footer .automation-word { color:rgba(255,255,255,.08); }
.entity-footer .copyright { color:#aaa3bc; }
@keyframes entity-pulse { 50% { transform:scale(1.08); opacity:.42; } }

/* Motion system: ambient energy, scroll depth and responsive interactions. */
.reference-page { --pointer-x:50%; --pointer-y:35%; }
.reference-page .home-hero::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; border:0; border-radius:0; background:radial-gradient(420px circle at var(--pointer-x) var(--pointer-y),rgba(119,91,255,.16),transparent 70%); opacity:1; transition:background-position .12s linear; }
.reference-page .site-header { transition:height .35s ease,background .35s ease,box-shadow .35s ease,border-color .35s ease; }
.reference-page .entity-brand-mark { animation:brand-energy 4s ease-in-out infinite; }
.reference-page .hero-copy.visible .check-pill { animation:hero-element-in .7s .05s cubic-bezier(.2,.8,.25,1) both,eyebrow-glow 3.8s 1s ease-in-out infinite; }
.reference-page .hero-copy.visible h1 { animation:hero-element-in .9s .18s cubic-bezier(.16,.9,.22,1) both; }
.reference-page .hero-copy.visible > p { animation:hero-element-in .85s .32s cubic-bezier(.2,.8,.25,1) both; }
.reference-page .hero-copy.visible > .button { animation:hero-element-in .85s .44s cubic-bezier(.2,.8,.25,1) both,button-breathe 3.4s 1.5s ease-in-out infinite; }
.reference-page .ai-map { transform-style:preserve-3d; perspective:900px; will-change:transform; }
.reference-page .ai-map::before,
.reference-page .ai-map::after { content:""; position:absolute; z-index:-1; left:50%; top:49%; translate:-50% -50%; border:1px solid rgba(137,116,255,.18); border-radius:50%; pointer-events:none; }
.reference-page .ai-map::before { width:330px; height:330px; border-style:dashed; animation:orbit-spin 18s linear infinite; }
.reference-page .ai-map::after { width:430px; height:430px; border-color:rgba(92,225,188,.1); animation:orbit-spin 26s linear infinite reverse; }
.reference-page .hero-connectors path { fill:none; vector-effect:non-scaling-stroke; }
.reference-page .hero-connector-base { fill:none; stroke:rgba(168,153,255,.42); stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.reference-page .hero-connector-flow { fill:none; stroke:#a99cff; stroke-width:1.8; stroke-linecap:round; stroke-dasharray:3 25; filter:drop-shadow(0 0 5px rgba(142,123,255,.9)); animation:connector-signal 3.2s linear infinite; }
.reference-page .hero-connector-ports { fill:#5e53b4; filter:drop-shadow(0 0 7px rgba(133,113,255,.45)); }
.reference-page .ai-core { animation:core-energy 3.5s ease-in-out infinite; }
.reference-page .map-node { will-change:transform,box-shadow; transition:border-color .3s ease,background .3s ease,box-shadow .3s ease; }
.reference-page .map-node:hover { border-color:rgba(185,169,255,.95); background:rgba(52,39,112,.92); box-shadow:0 0 38px rgba(104,83,255,.38); }
.reference-page .map-node i { animation:signal-dot 1.8s ease-in-out infinite; }
.reference-page .map-node:nth-of-type(2n) i { animation-delay:-.8s; }
.reference-page .map-node.n1 { left:50%; right:auto; top:24px; bottom:auto; translate:-50% 0; }
.reference-page .map-node.n2 { left:auto; right:0; top:116px; bottom:auto; }
.reference-page .map-node.n3 { left:auto; right:0; top:auto; bottom:105px; }
.reference-page .map-node.n4 { left:50%; right:auto; top:auto; bottom:15px; translate:-50% 0; }
.reference-page .map-node.n5 { left:0; right:auto; top:auto; bottom:120px; }
.reference-page .map-node.n6 { left:0; right:auto; top:116px; bottom:auto; }
.reference-page .hero-scroll-cue { position:absolute; z-index:5; left:50%; bottom:25px; translate:-50% 0; display:flex; align-items:center; gap:11px; color:rgba(255,255,255,.64); font:600 12px var(--display); letter-spacing:.12em; text-transform:uppercase; }
.reference-page .hero-scroll-cue span { width:1px; height:34px; display:block; overflow:hidden; background:rgba(255,255,255,.18); }
.reference-page .hero-scroll-cue span::after { content:""; display:block; width:100%; height:45%; background:#8e80ff; box-shadow:0 0 9px #8e80ff; animation:scroll-signal 1.9s ease-in-out infinite; }
.reference-page .logos:hover { animation-play-state:paused; }
.reference-page .dash.visible { animation:panel-hover 5.4s ease-in-out infinite; }
.reference-page .dash:nth-child(2).visible { animation-delay:-1.8s; }
.reference-page .dash:nth-child(3).visible { animation-delay:-3.6s; }
.reference-page .dash { transition:border-color .35s ease,box-shadow .35s ease,scale .35s ease; }
.reference-page .dash:hover { scale:1.025; border-color:rgba(143,122,255,.72); box-shadow:0 25px 70px rgba(44,23,128,.3),inset 0 0 40px rgba(105,76,255,.09); }
.reference-page .section-title .eyebrow { position:relative; overflow:hidden; }
.reference-page .section-title .eyebrow::after { content:""; position:absolute; inset:-1px; translate:-120% 0; background:linear-gradient(100deg,transparent,rgba(255,255,255,.25),transparent); animation:label-sheen 4.8s ease-in-out infinite; }
.reference-page .feature-card { transform-style:preserve-3d; transition:transform .45s cubic-bezier(.2,.8,.25,1),border-color .35s ease,box-shadow .45s ease; }
.reference-page .feature-card::before { content:""; position:absolute; z-index:2; inset:-50%; pointer-events:none; background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.07) 49%,transparent 56%); translate:-55% 0; rotate:8deg; transition:translate .8s ease; }
.reference-page .feature-card:hover { transform:translateY(-10px) rotateX(1.5deg) rotateY(-1.5deg); border-color:rgba(139,117,255,.67); box-shadow:0 28px 80px rgba(37,18,117,.34); }
.reference-page .feature-card:hover::before { translate:55% 0; }
.reference-page .feature-visual { will-change:transform; filter:drop-shadow(0 18px 30px rgba(38,18,122,.24)); }
.reference-page .giant-word { width:114%; margin-left:-7%; color:transparent; background:linear-gradient(100deg,rgba(255,255,255,.035),rgba(139,117,255,.19),rgba(255,255,255,.035)); background-size:220% 100%; background-clip:text; -webkit-background-clip:text; animation:word-energy 7s linear infinite; will-change:transform; }
.reference-page .process-connector { animation:connector-glow 3s ease-in-out infinite; }
.reference-page .connector-two { animation-delay:-1.5s; }
.reference-page .process-icon { transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease; }
.reference-page .process-line article:hover .process-icon { transform:translateY(-8px) rotate(-4deg); border-color:rgba(145,126,255,.8); box-shadow:0 15px 45px rgba(100,76,230,.26); }
.reference-page .process-icon img { animation:icon-bob 3.2s ease-in-out infinite; }
.reference-page .process-line article:nth-of-type(2) .process-icon img { animation-delay:-1.1s; }
.reference-page .process-line article:nth-of-type(3) .process-icon img { animation-delay:-2.2s; }
.reference-page .integration-glow { animation:integration-aura 4.5s ease-in-out infinite; }
.reference-page .integration-master { will-change:transform; filter:drop-shadow(0 20px 50px rgba(70,48,175,.22)); }
.reference-page .project-card { transition:transform .45s cubic-bezier(.2,.8,.25,1),border-color .35s ease,box-shadow .45s ease; }
.reference-page .project-card:hover { transform:translateY(-12px); border-color:rgba(128,109,255,.72); box-shadow:0 30px 80px rgba(34,15,108,.35); }
.reference-page .project-art img { transition:transform .8s cubic-bezier(.2,.8,.25,1),filter .5s ease; }
.reference-page .project-card:hover .project-art img { transform:scale(1.075); filter:saturate(1.18) contrast(1.04); }
.reference-page .round-arrow { transition:transform .35s ease,background .35s ease,box-shadow .35s ease; }
.reference-page .project-card:hover .round-arrow { transform:rotate(45deg); background:#6b5cff; box-shadow:0 0 28px rgba(107,92,255,.45); }
.reference-page .faq-item { transition:transform .3s ease,border-color .3s ease,background .3s ease; }
.reference-page .faq-item:hover { transform:translateX(5px); border-color:rgba(139,118,255,.66); background:rgba(38,27,80,.88); }
.reference-page .faq-item button b { transition:transform .35s ease,background .35s ease; }
.reference-page .faq-item.open button b { transform:rotate(180deg); }
.reference-page .blog-card { transition:transform .4s ease,box-shadow .4s ease; }
.reference-page .blog-card:hover { transform:translateY(-9px); box-shadow:0 26px 70px rgba(35,17,113,.3); }
.reference-page .blog-art { transition:filter .45s ease; }
.reference-page .blog-card:hover .blog-art { filter:saturate(1.16) brightness(1.08); }
.entity-final-cta::before { content:""; position:absolute; width:360px; height:360px; left:50%; top:50%; translate:-50% -50%; border:1px solid rgba(143,122,255,.2); border-radius:50%; box-shadow:0 0 0 75px rgba(115,92,255,.035),0 0 0 150px rgba(115,92,255,.02); animation:cta-orbit 7s ease-in-out infinite; }
.entity-final-cta .button { animation:button-breathe 3.4s ease-in-out infinite; }
.entity-footer .automation-word { background:linear-gradient(90deg,rgba(255,255,255,.035),rgba(130,108,255,.18),rgba(255,255,255,.035)); background-size:220% 100%; background-clip:text; -webkit-background-clip:text; color:transparent; animation:word-energy 8s linear infinite; }

@keyframes brand-energy { 0%,100% { box-shadow:0 0 24px rgba(112,89,255,.3); } 50% { box-shadow:0 0 42px rgba(112,89,255,.62); } }
@keyframes hero-element-in { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:none; } }
@keyframes eyebrow-glow { 50% { border-color:rgba(175,155,255,.92); box-shadow:0 0 24px rgba(105,83,255,.2); } }
@keyframes button-breathe { 50% { box-shadow:0 16px 48px rgba(102,88,255,.48); transform:translateY(-3px); } }
@keyframes orbit-spin { to { rotate:360deg; } }
@keyframes connector-signal { to { stroke-dashoffset:-38; } }
@keyframes core-energy { 0%,100% { box-shadow:0 0 0 20px rgba(100,82,255,.08),0 0 55px rgba(118,89,255,.42); } 50% { box-shadow:0 0 0 28px rgba(100,82,255,.035),0 0 95px rgba(118,89,255,.76); } }
@keyframes signal-dot { 50% { scale:1.75; opacity:.42; box-shadow:0 0 22px #8f80ff; } }
@keyframes scroll-signal { from { transform:translateY(-120%); } to { transform:translateY(250%); } }
@keyframes panel-hover { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
@keyframes label-sheen { 0%,55% { translate:-120% 0; } 80%,100% { translate:120% 0; } }
@keyframes word-energy { to { background-position:-220% 0; } }
@keyframes connector-glow { 50% { filter:drop-shadow(0 0 10px rgba(129,104,255,.72)); opacity:.58; } }
@keyframes icon-bob { 50% { transform:translateY(-5px) rotate(3deg); } }
@keyframes integration-aura { 50% { opacity:.88; filter:brightness(1.35) saturate(1.2); } }
@keyframes cta-orbit { 50% { scale:1.08; rotate:10deg; opacity:.58; } }

@media (min-width:1051px) {
  .reference-page .home-hero { grid-template-columns:minmax(520px,603px) minmax(0,1fr); column-gap:clamp(24px,3vw,52px); }
  .reference-page .hero-copy h1 { font-size:52px; line-height:1.05; letter-spacing:-1.4px; }
  .reference-page .hero-copy h1,.reference-page .hero-copy > p { backface-visibility:hidden; }
  .reference-page .ai-map { width:min(100%,600px); justify-self:end; margin-left:0; margin-right:14px; }
  .entity-footer .entity-brand { top:105px; }
  .entity-footer > nav { top:193px !important; }
  .entity-footer > .socials { top:260px !important; }
}

@media (max-width:1050px) {
  .reference-page .site-header { padding-inline:24px; }
  .reference-page .entity-brand { min-width:0; }
  .reference-page .mobile-panel { padding-top:120px; }
  .reference-page .home-hero { padding-top:150px; row-gap:18px; }
  .reference-page .hero-copy { width:100%; max-width:720px; margin-inline:auto; }
  .reference-page .ai-map { width:min(100%,660px); height:470px; min-height:470px; margin-inline:auto; }
  .reference-page .hero-diagram-core { display:none !important; }
  .reference-page .ai-map > .ai-core { display:grid !important; }
  .reference-page .project-card p { min-height:0; }
  .entity-footer .entity-brand { top:78px; }
}

@media (min-width:721px) and (max-width:1050px) {
  .reference-page .ai-map { transform:none !important; transform-style:flat; perspective:none; will-change:auto; }
  .reference-page .home-hero > .stars { transform:none !important; }
}

@media (max-width:720px) {
  .reference-page .site-header { height:82px; padding-inline:18px; }
  .reference-page .entity-brand-mark { width:38px; height:38px; }
  .reference-page .entity-brand-name { font-size:20px; line-height:18px; }
  .reference-page .home-hero { min-height:auto; padding:128px 20px 70px; grid-template-columns:1fr; }
  .reference-page .hero-copy { text-align:left; }
  .reference-page .hero-copy h1 { font-size:clamp(2.65rem,12.5vw,4rem); line-height:1.02; letter-spacing:-1px; }
  .reference-page .hero-copy p { font-size:1rem; }
  .reference-page .hero-copy .check-pill { min-width:0; white-space:normal; }
  .reference-page .hero-copy .button { width:100% !important; min-width:0; justify-content:center; white-space:normal; }
  .reference-page .ai-map { height:430px; min-height:430px; margin-top:25px; transform:scale(.92); transform-origin:center top; }
  .reference-page .hero-scroll-cue { display:none; }
  .reference-page .ai-map::before { width:255px; height:255px; }
  .reference-page .ai-map::after { width:340px; height:340px; }
  .reference-page .map-node { min-width:120px; padding:10px 15px; font-size:13px; }
  .reference-page .n2,.reference-page .n3 { right:-4%; }
  .reference-page .n5,.reference-page .n6 { left:-4%; }
  .reference-page .trust-title::before,.reference-page .trust-title::after { width:38px; margin-inline:8px; }
  .reference-page .compact-title { padding-inline:20px; }
  .reference-page .feature-card { padding:28px; }
  .reference-page .feature-insights .feature-visual { opacity:.65; }
  .reference-page .giant-word { font-size:31vw; line-height:1; }
  .reference-page .process-line { gap:28px; }
  .reference-page .project-grid { gap:28px; }
  .reference-page .faq { min-height:0; }
  .reference-page .faq-grid { grid-template-columns:1fr; }
  .reference-page .blog-section { height:auto !important; }
  .entity-final-cta { padding-inline:8px; }
  .entity-footer { min-height:570px !important; }
  .entity-footer .entity-brand { top:65px; }
  .entity-footer > nav { top:145px; width:90%; flex-wrap:wrap; gap:15px 22px; }
  .entity-footer > .socials { top:225px; }
  .entity-footer .automation-word { top:320px; font-size:25vw; }
  .entity-footer .copyright { top:auto; bottom:25px; width:90%; text-align:center; }
}

@media (prefers-reduced-motion:reduce) {
  .reference-page *,
  .reference-page *::before,
  .reference-page *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
