/* Shared footer destination, revised headings and the new automation journey. */
.site-footer .footer-about { display: inline-flex; align-items: center; gap: 2rem; min-height: 44px; margin-top: .8rem; padding: .5rem 0; border-bottom: 1px solid #8cc8ff55; color: #c3e2ff; font-size: .9rem; font-weight: 650; }
.site-footer .footer-about:hover { color: #fff; border-color: #c3e2ff; }
.services-page .services-hero-copy h1 { font-size: clamp(2.7rem, 5.3vw, 5.8rem); line-height: .98; text-align: center; margin-inline: auto; }
.software-page .software-hero h1 .software-market-lead { display: block; max-width: 100%; margin-top: 1.5rem; font: 650 clamp(.95rem, 1.4vw, 1.3rem)/1.45 var(--display); letter-spacing: .015em; color: #d8edff; text-shadow: 0 2px 16px #030a18; }
.ai-page .ai-hero-copy h1 { font-size: clamp(2.9rem, 5.2vw, 5.5rem); line-height: .98; letter-spacing: -.06em; }
.ai-page .ai-hero-copy h1 em { font-style: normal; color: #9bd5ff; }
.ai-page .ai-hero-copy > p:not(.kicker) { color: #e1edfb; font-size: clamp(1.08rem, 1.5vw, 1.25rem); text-shadow: 0 2px 12px #030a18; }
.ai-page .ai-cases-title { display: block; text-align: center; margin-inline: auto; }
.ai-page .ai-cases-title h2 { margin-inline: auto; max-width: 950px; font-size: clamp(2.6rem, 4.8vw, 5.2rem); line-height: 1.05; }
.ai-page .ai-flow { position: relative; padding: clamp(5rem, 8vw, 9rem) max(5%, calc((100% - 1440px)/2)); background: radial-gradient(ellipse at 15% 0, #235fa626, transparent 50%), radial-gradient(ellipse at 95% 65%, #6c4cdb18, transparent 50%), #070f1e; }
.ai-flow-heading { display: grid; grid-template-columns: 1.5fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.ai-page .ai-flow-heading h2 { margin: 0; font: 550 clamp(2.7rem, 4.7vw, 5.1rem)/1.05 var(--display); letter-spacing: -.055em; }
.ai-flow-heading h2 em { font-style: normal; color: #9bd5ff; }
.ai-flow-heading > p { max-width: 400px; color: #bfcee3; line-height: 1.8; font-size: 1rem; margin: 0; }
.ai-flow-journey { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; list-style: none; padding: 0; margin: 0; }
.ai-flow-journey li { --step-rgb: 99 178 255; position: relative; display: flex; flex-direction: column; min-width: 0; padding: 1.6rem; overflow: hidden; border: 1px solid rgb(var(--step-rgb) / .28); border-radius: 22px; background: radial-gradient(ellipse at 0 0, rgb(var(--step-rgb) / .17), transparent 75%), #111d32; box-shadow: inset 0 1px 0 #ffffff08; transition: border-color .25s, transform .25s; }
.ai-flow-journey li:nth-child(2) { --step-rgb: 156 153 255; }
.ai-flow-journey li:nth-child(3) { --step-rgb: 105 217 223; }
.ai-flow-journey li:nth-child(4) { --step-rgb: 137 228 190; }
.ai-flow-journey li:hover { transform: translateY(-4px); border-color: rgb(var(--step-rgb) / .65); }
.ai-flow-journey li::after { content: ''; position: absolute; bottom: 0; left: 0; width: 35%; height: 2px; background: linear-gradient(90deg, transparent, rgb(var(--step-rgb)), transparent); animation: ai-journey-signal 6s ease-in-out infinite; }
.ai-flow-journey li:nth-child(2)::after { animation-delay: -4.5s; }.ai-flow-journey li:nth-child(3)::after { animation-delay: -3s; }.ai-flow-journey li:nth-child(4)::after { animation-delay: -1.5s; }
.ai-step-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2.3rem; }
.ai-step-top > span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgb(var(--step-rgb) / .35); border-radius: 50%; color: rgb(var(--step-rgb)); font-size: .68rem; }
.ai-step-top svg { width: 40px; height: 40px; stroke: rgb(var(--step-rgb)); stroke-width: 1.4; }
.ai-page .ai-flow-journey h3 { margin: 0 0 1.2rem; font: 550 clamp(1.5rem, 2vw, 2rem)/1.12 var(--display); letter-spacing: -.04em; }
.ai-flow-journey p { color: #bdcce1; font-size: .88rem; line-height: 1.8; margin: 0 0 1.8rem; }
.ai-flow-journey small { display: block; margin-top: auto; padding-top: 1rem; border-top: 1px solid rgb(var(--step-rgb) / .16); color: rgb(var(--step-rgb)); font-size: .875rem; line-height: 1.6; }
.ai-flow-control { display: flex; align-items: center; gap: 1.5rem; margin-top: 1.5rem; padding: 1.6rem 2rem; border: 1px solid #9dc9ff24; border-radius: 18px; background: #9ac8ff07; }
.ai-control-symbol { flex: 0 0 40px; display: grid; place-items: center; width: 40px; height: 40px; color: #a9e2ff; border: 1px solid #a9e2ff44; border-radius: 12px; background: #a9e2ff0a; }
.ai-flow-control strong { color: #ecf7ff; font-size: 1rem; font-weight: 600; }
.ai-flow-control p { margin: .4rem 0 0; color: #aebfd7; font-size: .88rem; line-height: 1.7; }
.ai-flow-contact { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; margin-top: 4rem; padding: clamp(1.5rem, 2.5vw, 2.5rem); border: 1px solid #8bbdff3d; border-radius: 26px; background: radial-gradient(ellipse at 100% 0, #327bd539, transparent 65%), linear-gradient(120deg, #172842, #102039); }
.ai-page .ai-flow-contact h3 { max-width: none; margin: 0; font: 550 clamp(1.5rem, 2.6vw, 2.65rem)/1.15 var(--display); letter-spacing: -.05em; white-space: nowrap; }
.ai-flow-contact p { margin: 1rem 0 0; color: #c2d5ec; font-size: 1rem; }
.ai-flow-contact a { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 144px; min-height: 54px; padding: 1rem 1.65rem; border: 1px solid #9bceff66; border-radius: 999px; background: linear-gradient(135deg, #2871db, #16479d); color: #f5faff; font-size: .88rem; font-weight: 750; letter-spacing: .025em; box-shadow: inset 0 1px 0 #d6eeff38, 0 8px 24px #125dcc35; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.ai-flow-contact a:hover { transform: translateY(-2px); border-color: #b5dcffbb; box-shadow: inset 0 1px 0 #e4f4ff55, 0 12px 32px #297cff50; }
@keyframes ai-journey-signal { 0% { transform: translateX(-110%); } 70%, 100% { transform: translateX(390%); } }
@media (max-width: 1100px) { .ai-flow-journey { grid-template-columns: 1fr 1fr; } .ai-flow-heading { gap: 2rem; } }
@media (max-width: 800px) { .ai-flow-heading, .ai-flow-contact { grid-template-columns: 1fr; gap: 1.8rem; } .ai-flow-contact a { justify-self: start; } }
@media (max-width: 650px) {
  .services-page .services-hero-copy h1 { font-size: clamp(2.3rem, 9vw, 3.5rem); }
  .ai-page .ai-hero-copy h1 { font-size: clamp(2.2rem, 9.1vw, 3.3rem); }
  .ai-page .ai-cases-title h2 { font-size: clamp(2.1rem, 8.5vw, 3.2rem); }
  .ai-flow-journey { grid-template-columns: 1fr; }
  .ai-flow-journey li { padding: 1.8rem; }
  .ai-page .ai-flow-journey h3 { font-size: 2rem; }
  .ai-flow-control { align-items: flex-start; gap: 1rem; padding: 1.5rem; }
  .ai-flow-contact a { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .ai-flow-journey li, .ai-flow-journey li::after { animation: none; transition: none; transform: none; } }

.ai-flow-contact a:focus-visible { outline: 2px solid #b7e5ff; outline-offset: 5px; }
@media (max-width: 800px) { .ai-page .ai-flow-contact h3 { white-space: normal; text-wrap: balance; font-size: clamp(1.65rem, 4vw, 2.4rem); } }
@media (prefers-reduced-motion: reduce) { .ai-flow-contact a { transition: none; } .ai-flow-contact a:hover { transform: none; } }

/* Centered automation cards without decorative numbers or icons. */
.ai-flow-journey li { text-align: center; justify-content: center; padding-block: 2.3rem; }
.ai-page .ai-flow-journey h3 { text-align: center; }
.ai-flow-journey p, .ai-flow-journey small { text-align: center; }

.services-page .services-final-copy { width: 100%; max-width: 820px; margin-inline: auto; text-align: center; }
.services-page .services-final-copy h2 { font-size: clamp(2.1rem, 3.7vw, 4.2rem); line-height: 1.05; }
@media (max-width: 680px) { .services-page .services-final-copy h2 { font-size: clamp(1.9rem, 7.8vw, 2.9rem); } }

.services-page .services-final > a { justify-content: center; text-align: center; }

.services-page .services-final { min-height: 0; padding-block: clamp(2.5rem, 4vw, 4rem); align-items: center; align-content: center; gap: clamp(1.5rem, 3vw, 3rem); }

/* Full-bleed opening backgrounds behind the floating navigation. */
body:has(.software-page) { background: #040b18; }
body:has(.ai-page) { background: #040b15; }
body:has(.software-page) > .site-header,
body:has(.ai-page) > .site-header { position: fixed; left: 50%; transform: translateX(-50%); margin: 0; }
.software-page, .ai-page { margin-top: 0; }
@media (max-width: 650px) { .software-page .software-hero { padding-top: 7.5rem; } }

.ai-page .ai-hero-copy { text-align: center; }
.ai-page .ai-hero-copy h1, .ai-page .ai-hero-copy > p { margin-inline: auto; }

.ai-page .ai-core-label em { bottom: 20px; }

/* Connected intelligence: practical use cases. */
.ai-page .ai-cases{position:relative;isolation:isolate;padding:clamp(64px,7vw,108px) max(5%,calc((100% - 1240px)/2));background:#040a14;color:#eaf4ff;overflow:hidden}
.ai-page .ai-cases::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 15% 40%,#124b752e,transparent 55%),radial-gradient(ellipse at 90% 80%,#44337820,transparent 50%)}
.ai-page .ai-cases-title{margin-bottom:clamp(32px,4vw,56px)}
.ai-page .ai-cases-title h2{font-size:clamp(2.1rem,3.7vw,3.8rem);line-height:1.12;letter-spacing:-.045em;color:#eaf4ff;text-wrap:balance}
.ai-page .ai-case-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;border:0}
.ai-page .ai-case-list article{--case-rgb:92,188,255;display:flex;flex-direction:column;align-items:flex-start;gap:0;position:relative;isolation:isolate;padding:clamp(25px,3vw,40px);border:1px solid #9ec8ee25;border-radius:22px;background:linear-gradient(135deg,#102238b3,#09111e);color:#eaf4ff;box-shadow:inset 0 1px 0 #d8eeff08;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.ai-page .ai-case-list article:nth-child(2){--case-rgb:112,221,207}
.ai-page .ai-case-list article:nth-child(3){--case-rgb:154,151,255}
.ai-page .ai-case-list article:nth-child(4){--case-rgb:107,171,255}
.ai-page .ai-case-list article::before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 100% 0,rgba(var(--case-rgb),.1),transparent 65%);pointer-events:none}
.ai-page .ai-case-list article::after{left:32px;right:32px;bottom:0;width:auto;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--case-rgb),.8),transparent);box-shadow:0 0 18px rgba(var(--case-rgb),.3);opacity:.35;transition:opacity .3s ease}
.ai-page .ai-case-list article>span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:34px;margin-bottom:26px;border:1px solid rgba(var(--case-rgb),.2);border-radius:10px;background:rgba(var(--case-rgb),.06);font:500 11px/1 Consolas,monospace;letter-spacing:.08em;color:rgb(var(--case-rgb))}
.ai-page .ai-case-list h3{max-width:460px;margin:0 0 16px;font-size:clamp(1.45rem,2.2vw,2rem);font-weight:550;line-height:1.18;letter-spacing:-.03em;text-wrap:balance;color:#eaf4ff}
.ai-page .ai-case-list p{margin:0;max-width:510px;color:#a5b8ce;font-size:15px;line-height:1.8;grid-column:auto}
@media(hover:hover){.ai-page .ai-case-list article:hover{padding:clamp(25px,3vw,40px);transform:translateY(-4px);border-color:rgba(var(--case-rgb),.4);box-shadow:0 18px 50px #0003,inset 0 1px #d8eeff10}.ai-page .ai-case-list article:hover::after{width:auto;opacity:1}}
@media(max-width:650px){.ai-page .ai-case-list{grid-template-columns:1fr;gap:14px}.ai-page .ai-case-list article{border-radius:18px}.ai-page .ai-case-list article>span{margin-bottom:20px}.ai-page .ai-case-list p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ai-page .ai-case-list article,.ai-page .ai-case-list article::after{transition:none}.ai-page .ai-case-list article:hover{transform:none}}
/* Services header aligned with the shared desktop and mobile offsets. */
body:has(.services-page)>.site-header{position:fixed;top:14px;left:50%;transform:translateX(-50%);margin:0}
@media(max-width:950px){body:has(.services-page)>.site-header{top:8px}}
@media(max-width:720px){body:has(.services-page)>.site-header{top:5px}}
