@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#073365;--muted:#52677e;--paper:#f5f8fc;--line:#dbe5f0;--green:#145ba5;--lime:#bfddff;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #2674bd;outline-offset:6px}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.13;letter-spacing:-.045em;margin:0}em{font-style:normal;color:#2674bd}p{margin:0}section[id]{scroll-margin-top:90px}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.header{max-width:1400px;margin:auto;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:25px;letter-spacing:.04em;font-weight:750;line-height:1}.brand-icon{display:grid;place-items:center;background:var(--ink);color:var(--lime);width:43px;height:43px;border-radius:50%;font-size:33px;font-weight:500}.brand-small{display:block;font-size:9px;letter-spacing:.48em;margin-top:7px}nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:550}nav a:hover,.text-link:hover{color:#2674bd}.nav-cta{border:1px solid #afc5dd;border-radius:6px;padding:11px 16px}.nav-cta span{margin-left:14px}.menu-toggle{display:none}.hero{max-width:var(--max);margin:auto;padding:80px 0 72px;display:grid;grid-template-columns:1.17fr 1fr;align-items:center;gap:45px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;margin-bottom:24px;display:flex;align-items:center;gap:10px}.dot{display:inline-block;background:#297dcc;width:6px;height:6px;border-radius:50%;flex-shrink:0}.hero h1{font-size:clamp(45px,4.3vw,64px);font-weight:650;line-height:1.1}.hero-description{max-width:490px;font-size:16px;color:var(--muted);margin-top:25px;line-height:1.85}.actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:30px}.button{padding:15px 21px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-radius:5px;font-size:12px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button span{font-size:21px;line-height:1}.primary{background:var(--ink);color:white}.primary:hover{background:var(--green)}.text-link{font-size:12px;border-bottom:1px solid #b5cce3;padding:5px 0}.text-link span{margin-left:10px}.hero-note{margin-top:36px;font-size:11px;color:var(--muted);display:flex;gap:10px;align-items:center}.small-cross{font-size:20px}.data-visual{height:480px;background:#e8f1fc;border:1px solid #d2e2f3;border-radius:12px;position:relative;overflow:hidden;background-image:radial-gradient(#b6cce6 1px,transparent 1px);background-size:21px 21px;isolation:isolate}.visual-header{display:flex;justify-content:space-between;margin:24px;font-size:9px;font-weight:650;letter-spacing:.15em}.visual-label{color:#647d99}.orbit{position:absolute;border:1px solid #c6daf0;border-radius:50%;z-index:-1;inset:90px 50px;transform:rotate(-25deg)}.orbit-two{inset:55px 115px;transform:rotate(35deg)}.node{position:absolute;padding:16px;background:#ffffff;border:1px solid #cbdced;box-shadow:0 8px 25px #07336510;border-radius:8px;display:flex;flex-direction:column}.node small{font-size:8px;letter-spacing:.12em;color:#597693;margin-bottom:9px}.node strong{font-size:13px;line-height:1.3}.node>span:last-child{font-size:9px;color:#59738c;margin-top:7px}.node-icon{position:absolute;right:14px;top:12px;font-size:18px;color:#6288af}.sources{top:80px;left:25px;width:195px}.engine{left:15%;top:227px;width:185px;background:var(--ink);color:white;border:0;padding:23px}.engine strong{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.03em}.engine small,.engine>span:last-child{color:#c0dafa}.engine-mark{position:absolute;top:-25px;right:15px;color:var(--ink);background:var(--lime);border:6px solid #e8f1fc;border-radius:50%;font-size:30px;width:52px;height:52px;display:grid;place-content:center}.cloud{right:25px;top:178px;width:185px}.insights{right:22px;bottom:57px;width:188px}.flow-line{position:absolute;border:1px solid #8bb2da;z-index:-1}.line-one{left:120px;top:163px;height:95px;width:50px;border-top:0;border-right:0;border-radius:0 0 0 12px}.line-two{left:46%;top:212px;width:28%;height:95px;border-right:0;border-bottom:0;border-radius:12px 0 0 0}.line-three{right:100px;top:275px;height:65px;border-width:0 0 0 1px}.visual-footer{position:absolute;bottom:18px;left:24px;display:flex;align-items:center;gap:8px;font-size:9px;color:#45678b}.expertise-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 5%;display:flex;justify-content:center;gap:55px;font-size:12px;color:#426486}.expertise-strip span:first-child{font-size:9px;letter-spacing:.12em;color:#607b97}.section{max-width:var(--max);margin:auto;padding:85px 0}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:42px}.section-heading>p{max-width:305px;color:var(--muted);font-size:14px}.section h2{font-size:39px;font-weight:600}.section .eyebrow{margin-bottom:18px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#ffffff;padding:30px;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#6a8099;margin-bottom:30px}.service-icon{font-size:28px;color:var(--green)}.service-card h3{font-size:30px;font-weight:600;line-height:1.2}.service-card>p{margin:22px 0;color:var(--muted);font-size:13px;line-height:1.8}.service-card ul{padding:0;margin:0 0 30px;list-style:none;font-size:11px;line-height:2.5}.service-card li:before{content:'↗';color:#3778b5;margin-right:9px}.service-card>a{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-size:12px;display:flex;justify-content:space-between;font-weight:600}.service-card>a:hover{text-decoration:underline}.featured{background:#e7f0fc;border-color:#c8dcf3}.migration{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:75px max(5%,calc((100% - 1240px)/2));overflow:hidden}.light{color:#aac9ed}.migration h2{font-size:47px;font-weight:500}.migration h2 em{color:var(--lime)}.migration-copy>p:not(.eyebrow){max-width:420px;color:#bfd4ed;font-size:14px;margin:25px 0 30px}.lime{background:var(--lime);color:var(--ink)}.migration-map{align-self:center;border:1px solid #3c5f88;border-radius:8px;padding:30px;background:#ffffff04}.map-columns{display:grid;grid-template-columns:1fr 30px 1fr;gap:15px}.map-label{font-size:8px;letter-spacing:.12em;color:#afcdeb}.map-columns p{font-size:12px;border-bottom:1px solid #31567e;padding:15px 0}.map-columns>div:last-child p{color:#bfddff}.map-arrow{align-self:center;font-size:25px;color:var(--lime)}.validation{display:flex;gap:15px;margin-top:28px;align-items:center}.validation>span{background:#254f7e;border-radius:50%;padding:5px 12px;color:var(--lime)}.validation strong{font-size:12px;font-weight:500}.validation p{font-size:10px;color:#abc8e8;margin-top:3px}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:55px 0 0}.steps li{border-top:1px solid #b7cde4;padding-top:22px}.step-number{font-size:12px;color:#3678b6}.steps h3{font-size:21px;font-weight:600;margin:23px 0 15px}.steps p{font-size:13px;color:var(--muted);min-height:85px}.steps small{font-size:10px;font-weight:600}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.about-label{background:#ffffff;border-radius:8px;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.about-label:before{content:'';position:absolute;width:300px;height:300px;border:1px solid #d6e5f6;border-radius:50%;left:-50px;bottom:-120px}.large-mark{font-family:Manrope,sans-serif;font-size:100px;letter-spacing:-.08em;font-weight:600}.about-label p{font-size:9px;letter-spacing:.18em}.about-text{font-size:14px;color:var(--muted);margin:25px 0}.support-services{display:flex;flex-wrap:wrap;gap:8px}.support-services :is(span,a){font-size:10px;border:1px solid var(--line);border-radius:4px;padding:6px 10px}.contact{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:50px;padding-top:65px;padding-bottom:65px}.contact h2{font-size:46px}.contact p:not(.eyebrow){max-width:470px;color:var(--muted);font-size:14px;margin-top:20px}.contact-button{white-space:nowrap}footer{border-top:1px solid var(--line);max-width:1400px;margin:auto;display:flex;align-items:center;padding:30px 5%;gap:35px}footer .brand{font-size:20px;margin-right:auto}footer .brand-icon{width:34px;height:34px;font-size:26px}footer p,footer>a:not(.brand){font-size:10px;color:var(--muted)}
@media(min-width:1440px){.hero{gap:70px}}
@media(max-width:1350px){.hero,.section{margin-left:5%;margin-right:5%}.expertise-strip{gap:30px}.data-visual{height:475px}.cloud{right:15px;width:160px}.insights{right:15px;width:170px}.engine{left:8%}}
@media(max-width:1000px){nav{gap:17px}.nav-cta{padding:8px}.hero{gap:25px;padding-top:55px}.hero h1{font-size:46px}.data-visual{height:475px}.sources{left:18px;width:170px}.engine{left:15px;width:155px}.engine strong{font-size:21px}.cloud{top:188px;width:150px;right:10px}.insights{width:160px;bottom:47px;right:10px}.node{padding:13px}.node strong{font-size:12px}.engine strong{font-size:21px}.expertise-strip{gap:20px;flex-wrap:wrap}.section h2{font-size:33px}.service-card{padding:23px}.service-card h3{font-size:27px}.service-card li{line-height:1.7;margin:8px 0}.migration{gap:30px}.migration h2{font-size:39px}.migration-map{padding:20px}.map-columns{gap:8px}.map-label{font-size:7px}.map-columns p{font-size:10px}.about{gap:40px}.steps{gap:18px}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{padding:20px 5%;flex-wrap:wrap;gap:15px}.brand{font-size:22px}.menu-toggle{display:block;border:1px solid #b4cce7;background:transparent;padding:7px 12px;border-radius:4px;color:var(--ink);font-size:12px}.menu-toggle span{margin-left:8px}nav{display:none;flex-direction:column;align-items:stretch;width:100%;padding:15px 0;gap:18px}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:45px 0;gap:35px}.hero h1{font-size:clamp(40px,8.5vw,62px)}.eyebrow{font-size:8px}.hero-description{font-size:15px}.hero-note{margin-top:25px}.data-visual{height:420px;max-width:560px;width:100%;justify-self:center}.sources{left:25px;top:70px;width:190px}.engine{left:15%;top:210px;width:180px}.cloud{top:160px;right:25px;width:170px}.insights{right:25px;bottom:48px;width:180px}.visual-footer{font-size:8px}.line-one{top:145px}.line-two{top:195px}.line-three{top:247px;height:40px}.expertise-strip{padding:20px 5%;gap:10px 25px;font-size:10px}.expertise-strip span:first-child{width:100%;text-align:center;margin-bottom:4px}.section{padding:55px 0}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;max-width:450px}.section h2{font-size:32px}.service-grid{grid-template-columns:1fr}.service-card{padding:25px}.card-top{margin-bottom:15px}.service-card h3 br{display:none}.service-card>p{margin:16px 0}.service-card ul{margin-bottom:20px;font-size:12px}.service-card h3{font-size:29px}.migration{grid-template-columns:1fr;padding:50px 5%;gap:35px}.migration h2{font-size:40px}.migration-map{padding:25px}.map-label{font-size:8px}.map-columns p{font-size:12px}.steps{grid-template-columns:repeat(2,1fr);gap:30px 20px;margin-top:35px}.steps p{min-height:0;margin-bottom:15px}.steps h3{margin-top:15px}.about{grid-template-columns:1fr;gap:30px}.about-label{min-height:200px}.large-mark{font-size:80px}.contact{display:block}.contact-button{margin-top:25px}.contact .eyebrow{font-size:8px}.contact h2{font-size:39px}footer{flex-wrap:wrap;gap:22px}footer .brand{width:100%;margin:0}footer p{width:100%}}
@media(max-width:380px){.data-visual{height:440px}.engine{left:12px;width:150px;top:210px}.cloud{right:10px;width:145px}.insights{right:10px;width:150px;bottom:50px}.sources{left:12px;width:170px}.hero h1{font-size:38px}.map-columns p{font-size:10px}.map-label{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Keep diagram nodes separate on narrow screens. */
@media(max-width:760px){.data-visual{height:480px}.data-visual .node{width:calc(50% - 24px);padding:13px}.sources{left:16px;top:70px}.engine{left:16px;top:230px}.cloud{right:16px;top:170px}.insights{right:16px;bottom:55px}.node small{font-size:7px}.node-icon{font-size:14px;right:8px;top:8px}.engine strong{font-size:21px}.line-one{left:70px;top:165px;height:80px;width:10px}.line-two{left:45%;top:205px;width:25%;height:110px}.line-three{right:70px;top:270px;height:90px}.visual-header{margin:22px 16px;font-size:8px}.visual-footer{left:16px;font-size:8px}}

/* AXKAN brand supplied by the owner; display the original asset without recolouring. */
.header{background:#fff}.brand{line-height:0}.logo-window{display:block;position:relative;width:180px;height:62px;overflow:hidden;flex-shrink:0}.logo-window img{position:absolute;left:0;top:50%;transform:translateY(-50%);width:100%;height:auto}.about-label{border:1px solid var(--line)}.about-label:before{display:none}.about-logo{width:min(85%,340px);height:150px}.about-label p{position:relative;color:#52677e}footer .brand{font-size:inherit}footer .logo-window{width:150px;height:54px}.dot{background:#297dcc}.contact{background:transparent}.service-card.featured .service-icon{color:#145ba5}.service-card>a span{color:#c90035}.hero-note .small-cross{color:#c90035}
@media(max-width:760px){.header{padding-top:12px;padding-bottom:12px}.logo-window{width:150px;height:55px}.about-logo{width:min(85%,300px);height:120px}.about-label{padding:22px}.header .brand{width:auto}footer .brand{width:auto}}

.complementary{border-top:1px solid var(--line)}.capabilities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}.capabilities-grid article{border-top:1px solid #cbdced;padding:27px 0 32px;display:flex;flex-direction:column}.capability-number{color:#527494;font-size:9px;letter-spacing:.12em;font-weight:650}.capabilities-grid h3{font-size:23px;margin:16px 0;font-weight:600;letter-spacing:-.035em}.capabilities-grid p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:20px}.capabilities-grid a{font-size:11px;font-weight:600;margin-top:auto}.capabilities-grid a span{color:#c90035;margin-left:5px}.capabilities-grid a:hover,.support-services a:hover{text-decoration:underline}@media(max-width:1000px){.capabilities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.capabilities-grid{grid-template-columns:1fr}.capabilities-grid article{padding-bottom:26px}.capabilities-grid h3{font-size:24px}}

/* Four primary services with comfortable reading widths. */
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card h3 br{display:none}.service-card h3 br::after{content:" "}.service-card h3{line-height:1.2}@media(max-width:760px){.service-grid{grid-template-columns:1fr}}

/* Canadian identity and Toronto contact address. */
.canada-mark{color:#c90035;flex-shrink:0;vertical-align:middle}
.nav-cta{display:inline-flex;align-items:center;gap:10px}.nav-cta span{margin-left:4px}
.contact-button{gap:14px}.contact-button .canada-mark{color:#ffb9ca;width:24px;height:24px}
.office-address{margin-top:24px;padding-left:16px;border-left:2px solid #c90035;font-style:normal;font-size:13px;line-height:1.8;color:var(--muted)}
.office-address strong{font-size:10px;letter-spacing:.1em;color:var(--ink)}
@media(max-width:400px){.contact-button{gap:10px;padding:14px}.contact-button .canada-mark{width:20px;height:20px}}

/* Data journey: restrained, sequential motion with an accessible pause control. */
.journey-paths{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:visible}.journey-track{fill:none;stroke:#9dbfe2;stroke-width:1.2}.journey-packet{fill:none;stroke:#2674bd;stroke-width:3;stroke-linecap:round;stroke-dasharray:5 95;animation:journey-flow 3s linear infinite}.journey-packet:nth-of-type(4){animation-delay:-1s}.journey-packet:nth-of-type(6){animation-delay:-2s}.journey-ready .flow-line{display:none}.journey-ready .node{animation:journey-stage 8s ease-in-out infinite}.journey-ready .engine{animation-delay:2s}.journey-ready .cloud{animation-delay:4s}.journey-ready .insights{animation-delay:6s}.journey-toggle{position:absolute;right:14px;bottom:12px;border:1px solid #bbd1e8;border-radius:20px;background:#f5f9fe;color:#315b83;font-size:9px;padding:5px 9px;cursor:pointer;z-index:2}.journey-ready .visual-footer{bottom:47px}.journey-paused .node,.journey-paused .journey-packet{animation-play-state:paused}@keyframes journey-flow{to{stroke-dashoffset:-100}}@keyframes journey-stage{0%,28%,100%{box-shadow:0 8px 25px #07336510}10%,18%{box-shadow:0 0 0 3px #83b4e655,0 12px 28px #0733651c}}@media(prefers-reduced-motion:reduce){.journey-ready .node,.journey-packet{animation:none!important}.journey-packet{display:none}.journey-toggle{display:none}.journey-ready .visual-footer{bottom:18px}}

/* Journey v2: visible but gentle movement, above the diagram background. */
.journey-paths{z-index:0}.data-visual .node{z-index:1}.visual-header,.visual-footer{position:relative;z-index:1}.data-visual .visual-footer{position:absolute}
.journey-ready .node{animation:journey-float 6s ease-in-out infinite,journey-stage 8s ease-in-out infinite}
.journey-ready .engine{animation-delay:-1.5s,2s}.journey-ready .cloud{animation-delay:-3s,4s}.journey-ready .insights{animation-delay:-4.5s,6s}
.journey-packet{stroke:#287bc1;stroke-width:4;stroke-dasharray:9 91;animation-duration:3.8s;filter:drop-shadow(0 0 3px #4999df55)}
.journey-ready .engine-mark{animation:journey-turn 24s linear infinite}
.journey-paused .node,.journey-paused .journey-packet,.journey-paused .engine-mark{animation-play-state:paused}
.journey-toggle{font-size:10px;padding:6px 11px}
@keyframes journey-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes journey-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.journey-ready .node,.journey-ready .engine-mark{animation:none!important}}

/* Client logos: official artwork, original colors and proportions. */
.clients{background:#fff;border-bottom:1px solid var(--line);padding:72px 28px 80px}
.clients-inner{max-width:var(--max);margin:0 auto}
.clients h2{font-family:Manrope,sans-serif;font-size:clamp(28px,3.2vw,44px);line-height:1.2;letter-spacing:-.035em;color:var(--ink);text-align:center;margin:0 0 56px}
.client-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:36px;list-style:none;padding:0;margin:0}
.client-logo{min-width:0;height:96px;display:flex;align-items:center;justify-content:center}
.client-logo img{display:block;width:100%;max-width:205px;max-height:76px;height:auto;object-fit:contain}
.client-logo--ibm img{max-width:158px;max-height:64px}
.client-logo--banco-azteca img{max-width:235px}
.client-logo--sura img{max-width:180px}
@media(max-width:760px){.clients{padding:48px 24px 52px}.clients h2{margin-bottom:30px}.client-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px;max-width:440px;margin:auto}.client-logo{height:80px}.client-logo img{max-width:165px;max-height:64px}.client-logo--ibm img{max-width:130px}.client-logo:last-child{grid-column:1/-1}.client-logo--sura img{max-width:155px}}

/* Cinematic data infrastructure section. */
.future-section{position:relative;isolation:isolate;overflow:hidden;background:#03172e;color:#fff;min-height:560px}
.future-video,.future-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.future-shade{z-index:-1;background:linear-gradient(90deg,rgba(2,20,43,.96),rgba(2,26,53,.69) 55%,rgba(3,28,58,.38)),linear-gradient(0deg,rgba(2,19,39,.7),transparent 50%)}
.future-content{max-width:var(--max);margin:auto;padding:88px 28px 96px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:9%}
.future-copy .eyebrow{color:#a4d4ff;font-size:11px;letter-spacing:.15em}.future-copy h2{font-size:clamp(38px,4.5vw,64px);line-height:1.08;letter-spacing:-.045em;margin:22px 0}.future-copy h2 em{color:#8ecbff;font-style:normal}.future-copy>p:not(.eyebrow){color:#deebfa;max-width:480px;font-size:17px;line-height:1.8}.future-cta{color:#073365;background:#e6f3ff;margin-top:22px;border:1px solid #e6f3ff}.future-cta:hover{background:#fff;color:#073365}
.future-displays{transform:perspective(1000px) rotateY(-8deg);display:grid;gap:16px}.future-monitor{padding:22px;border:1px solid #8ad7ff66;border-radius:14px;background:linear-gradient(135deg,#062d50de,#031a34b8);box-shadow:0 20px 65px #00102566,inset 0 0 40px #54baff0a;backdrop-filter:blur(8px)}.future-monitor svg{display:block;width:100%;height:auto;margin:12px 0}.monitor-heading,.monitor-footer{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.12em;color:#c7eaff}.monitor-footer{font-size:9px;color:#91b7d5}.monitor-secondary{margin-left:36px;padding:17px 22px}.future-control{position:absolute;right:28px;bottom:20px;border:1px solid #b9daef88;color:#fff;background:#041e38dc;border-radius:24px;padding:9px 16px;font:inherit;font-size:12px;cursor:pointer}.future-control:focus-visible{outline:3px solid #a7dcff;outline-offset:4px}
.future-playing .ai-core{animation:ai-pulse 3s ease-in-out infinite}.future-playing .signal-path{stroke-dasharray:400;animation:signal-draw 5s ease-in-out infinite}@keyframes ai-pulse{50%{opacity:.45}}@keyframes signal-draw{0%{stroke-dashoffset:400}70%,100%{stroke-dashoffset:0}}
@media(max-width:760px){.future-content{padding:54px 24px 78px;grid-template-columns:1fr;gap:35px}.future-displays{transform:none;max-width:440px;width:100%;margin:auto}.future-monitor{padding:18px}.future-shade{background:linear-gradient(180deg,#02142beb,#031c3ab5)}.future-copy h2{font-size:44px}.future-copy>p:not(.eyebrow){font-size:16px}.future-control{right:24px;bottom:18px}}
@media(prefers-reduced-motion:reduce){.future-playing .ai-core,.future-playing .signal-path{animation:none}}

/* Migration-to-decisions narrative and illustrative dashboard. */
.future-content{max-width:1360px;grid-template-columns:.9fr 1.1fr;gap:5%;padding-top:76px;padding-bottom:82px}.future-copy h2{font-size:clamp(36px,3.8vw,56px)}.decision-benefits{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px;color:#e4f2ff;font-size:14px}.decision-benefits li:before{content:'✓';color:#8bd4ff;margin-right:12px}
.decision-visual{min-width:0}.migration-pipeline{display:grid;grid-template-columns:1fr 24px 1fr 18px;gap:10px;align-items:center;margin-bottom:22px}.pipeline-stage{position:relative;display:grid;gap:7px;border:1px solid #87cfff65;border-radius:12px;padding:20px;background:#062746e8}.pipeline-stage small,.dashboard-top small{font-size:9px;letter-spacing:.14em;color:#99c9e9}.pipeline-stage strong{font-size:16px;font-weight:600}.pipeline-stage>span:last-child{font-size:11px;color:#b3cbe0}.pipeline-icon{position:absolute;right:15px;top:14px;font-size:20px;color:#9adaff}.pipeline-link{color:#8cd3ff;font-size:24px}.pipeline-link:last-child{align-self:end;margin-bottom:3px}
.decision-dashboard{background:linear-gradient(145deg,#0b3253f5,#031b34f5);border:1px solid #92d3fb80;box-shadow:0 24px 65px #00101c66;border-radius:16px;overflow:hidden}.dashboard-top{padding:22px 22px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-top h3{font-size:23px;letter-spacing:-.025em;margin:6px 0 0;color:#fff}.dashboard-example{font-size:9px;color:#b5cbe0;border:1px solid #8fc2e138;border-radius:12px;padding:5px 8px;white-space:nowrap}.dashboard-tabs{display:flex;gap:22px;padding:0 22px;border-bottom:1px solid #92c6ec22;color:#8faec5;font-size:10px}.dashboard-tabs span{padding:10px 0}.dashboard-tabs span:first-child{color:#cbeeff;border-bottom:2px solid #88d4ff}
.dashboard-metrics{padding:20px 22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dashboard-metrics>div{background:#afd7ff07;border:1px solid #c6e5ff16;border-radius:7px;padding:12px 10px;min-width:0}.dashboard-metrics span{display:block;font-size:9px;color:#adc9dd}.dashboard-metrics strong{display:block;font-size:12px;font-weight:500;color:#ecf8ff;margin-top:9px;line-height:1.4}.metric-line{display:block;margin-top:12px;width:30px;height:2px;background:#81d2ff}
.dashboard-charts{padding:0 22px 20px;display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.dashboard-chart>span{font-size:10px;color:#b8d5e7;display:block;margin-bottom:14px}.dashboard-chart svg{width:100%;height:120px;display:block}.chart-axis{display:flex;justify-content:space-between;color:#7d9fb8;font-size:8px;margin-top:8px}.segment-bars{height:120px;display:flex;align-items:end;justify-content:space-between;gap:9px;border-bottom:1px solid #82c5ef26}.segment-bars i{height:var(--bar);width:18%;background:linear-gradient(0deg,#2374ab,#8cd5ff);border-radius:3px 3px 0 0;transform-origin:bottom}.dashboard-bottom{border-top:1px solid #a9dfff20;padding:13px 22px;color:#b9d8eb;font-size:10px;display:flex;gap:8px;align-items:center}.dashboard-dot{width:5px;height:5px;background:#8bd8ff;border-radius:50%}
.future-playing .decision-trend{stroke-dasharray:400;animation:decision-draw 7s ease-in-out infinite}.future-playing .pipeline-link{animation:pipeline-pulse 3s ease-in-out infinite}.future-playing .segment-bars i{animation:bar-rise 7s ease-in-out infinite}.future-playing .segment-bars i:nth-child(2n){animation-delay:.25s}@keyframes decision-draw{0%{stroke-dashoffset:400}65%,100%{stroke-dashoffset:0}}@keyframes bar-rise{0%,100%{transform:scaleY(.86)}50%{transform:scaleY(1)}}@keyframes pipeline-pulse{50%{opacity:.35}}
.client-logos{grid-template-columns:repeat(10,minmax(0,1fr));gap:24px 30px}.client-logo{grid-column:span 2}.client-logo:nth-child(6){grid-column:2 / span 2}.client-logo--ferromex img,.client-logo--general-seguros img{max-width:190px}.client-logo--changan img,.client-logo--chirey img{max-width:190px}
@media(max-width:1000px){.future-content{grid-template-columns:1fr;gap:40px;max-width:760px}.future-copy>p:not(.eyebrow){max-width:600px}.decision-visual{max-width:640px;width:100%}}
@media(max-width:760px){.client-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px}.client-logo,.client-logo:nth-child(6){grid-column:auto}.client-logo:last-child{grid-column:1/-1}.future-content{padding:50px 24px 80px}.pipeline-stage{padding:16px 12px}.pipeline-icon{display:none}.migration-pipeline{gap:7px;grid-template-columns:1fr 18px 1fr 10px}.pipeline-stage strong{font-size:13px}.pipeline-stage>span:last-child{font-size:10px}.pipeline-link{font-size:18px}.dashboard-top{padding:18px 14px 12px}.dashboard-top h3{font-size:19px}.dashboard-example{font-size:8px;padding:4px 6px}.dashboard-tabs{padding:0 14px;gap:16px;font-size:9px}.dashboard-metrics{padding:16px 14px;gap:6px}.dashboard-metrics>div{padding:10px 7px}.dashboard-metrics strong{font-size:10px}.dashboard-metrics span{font-size:8px}.dashboard-charts{padding:0 14px 16px;gap:14px;grid-template-columns:1.4fr 1fr}.dashboard-chart>span{font-size:9px}.segment-bars{gap:5px}.dashboard-bottom{padding:12px 14px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.future-playing .decision-trend,.future-playing .pipeline-link,.future-playing .segment-bars i{animation:none}}
/* Inverse brand artwork needs a dark surface to retain its official colors. */
.client-logo--ferromex,.client-logo--general-seguros{border-radius:10px;background:#073365;padding:16px;height:88px}
.client-logo--general-seguros{background:#084c36}
.client-logo--general-seguros img{max-height:80px;max-width:185px}
@media(max-width:760px){.client-logo--ferromex,.client-logo--general-seguros{padding:12px;height:80px}}
