/* Connected flow: local vectors and CSS, with no tracking or external runtime. */
.theme-flow{--flow-blue:#246bff;--flow-line:#246bff18}
.theme-flow .site-header{position:relative;z-index:5;background:#f7f7f5}
.theme-flow .hero,.theme-flow .page-hero{position:relative;isolation:isolate}
.theme-flow .hero::before,.theme-flow .page-hero::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:url("assets/connected-flow.svg") center/cover no-repeat}
.theme-home .hero{max-width:none;background:radial-gradient(ellipse at 83% 36%,#dce7ffb3,transparent 58%),linear-gradient(120deg,#f7f7f5 25%,#f0f4ff)}
.theme-home .hero::before{opacity:.75}
.theme-home .services-preview{background:radial-gradient(ellipse at 2% 100%,#e6edff8c,transparent 60%)}
.theme-home .process-section{background:radial-gradient(ellipse at 90% 20%,#d5e2ff80,transparent 65%),#eceeec}
.theme-flow .cta-panel{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#1755e8,#246bff 55%,#397cff)}
.theme-flow .cta-panel::before,.theme-flow .cta-panel::after{content:"";position:absolute;z-index:-1;width:600px;height:600px;border:1px solid #ffffff26;border-radius:50%;pointer-events:none;left:-260px;top:-300px;box-shadow:0 0 0 50px #ffffff05,0 0 0 100px #ffffff06,0 0 0 150px #ffffff04}
.theme-flow .cta-panel::after{left:auto;right:-240px;top:auto;bottom:-380px}
.theme-services .page-hero{max-width:none;background:radial-gradient(ellipse at 91% 45%,#dbe6ff,transparent 59%),linear-gradient(100deg,#f7f7f5 35%,#eff4ff)}
.theme-services .page-hero::before{background-size:auto 120%;background-position:right center}
.theme-services .service-detail-list{padding-top:38px;position:relative}
.theme-services .service-detail{border-color:#aebbd0;padding:34px 22px 38px;position:relative;isolation:isolate}
.theme-services .service-detail:nth-child(odd){background:linear-gradient(110deg,#e8efff80,transparent 70%)}
.theme-services .service-detail:nth-child(even){background:linear-gradient(250deg,#e7edfa80,transparent 70%)}
.theme-services .service-no{color:#1c55ba;padding-top:3px}
.service-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:25px 0 0;font:10px/1.5 var(--mono);color:#2453a3}
.service-flow span{padding:8px 10px;background:#f9fbff;border:1px solid #c6d6f7;border-radius:4px;box-shadow:0 3px 8px #1a376b06}
.service-flow i{font-style:normal;color:#6288ca}
.service-flow span:last-child{background:#246bff;color:#fff;border-color:#246bff}
.theme-work main{background:radial-gradient(ellipse 100% 700px at 90% 6%,#dce7ffb3,transparent 74%),var(--paper)}
.theme-work .page-hero::before{opacity:.65;background-position:right 45%;background-size:auto 170%}
.theme-work .project-feature{border:1px solid #c0d0ef;border-radius:8px;box-shadow:0 22px 65px #1a407712;background:linear-gradient(135deg,#fff 55%,#edf3ff);position:relative}
.theme-work .project-preview{border:6px solid #fff;box-shadow:0 10px 35px #14346a20;border-radius:4px;overflow:hidden}
.theme-work .work-showcase>.workflow-story{margin-top:44px;border-radius:8px}
.theme-work .interactive-demo{border-color:#ccd8ed;border-radius:6px;box-shadow:0 12px 30px #1a407708}
.theme-work .demo-pair{position:relative}
.theme-work .work-demo-heading{padding-left:20px;border-left:2px solid #246bff}
.theme-about .about-hero{max-width:none;background:radial-gradient(ellipse at 86% 30%,#e2eaff 5%,transparent 50%),radial-gradient(ellipse at 40% 100%,#f1e5d6a6,transparent 64%),#f7f7f5}
.theme-about .about-hero::before{opacity:.7}
.theme-about .about-story{background:radial-gradient(ellipse at 10% 30%,#f0e6d773,transparent 60%)}
.theme-about .principles{background:linear-gradient(120deg,#ece8e1,#edf0f5 72%);position:relative;overflow:hidden}
.theme-about .principle-grid{gap:0}
.theme-about .principle-grid article{position:relative;border-top:1px solid #8da9da;padding-right:30px}
.theme-about .principle-grid article::before{content:"";width:9px;height:9px;position:absolute;top:-5px;left:0;background:#246bff;border-radius:50%;box-shadow:0 0 0 6px #e7eaf0}
.theme-about .principle-grid article>span{display:block;margin-top:8px;color:#2453a3}
@media(min-width:1400px){.theme-flow .hero,.theme-flow .page-hero{padding-left:max(5.25vw,calc((100vw - 1253px)/2));padding-right:max(5.25vw,calc((100vw - 1253px)/2))}}
@media(max-width:760px){
 .theme-flow .hero::before,.theme-flow .page-hero::before{background-size:auto 100%;background-position:60% center;opacity:.35}
 .theme-home .hero{background:radial-gradient(ellipse at 90% 70%,#dce7ffb3,transparent 64%),#f7f7f5}
 .theme-services .service-detail-list{padding-top:22px}
 .theme-services .service-detail{padding:28px 10px;column-gap:12px}
 .service-flow{gap:6px;margin-top:20px;font-size:9px}
 .service-flow span{padding:7px 8px}
 .theme-work .project-feature{border-radius:6px}
 .theme-work .project-preview{border-width:4px}
 .theme-work .work-showcase>.workflow-story{margin-top:28px}
 .theme-work .work-demo-heading{padding-left:14px}
 .theme-about .principle-grid{gap:0;margin-left:5px}
 .theme-about .principle-grid article{border-top:0;border-left:1px solid #8da9da;padding:0 0 28px 24px}
 .theme-about .principle-grid article::before{left:-5px;top:5px}
 .theme-about .principle-grid article>span{margin-top:0}
 .theme-about .principle-grid h3{margin-top:14px}
 .theme-about .principle-grid article:last-child{padding-bottom:0}
}
.ambient-motion{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none;overflow:hidden}
.flow-pulse{fill:none;stroke:#246bff;stroke-width:4;stroke-linecap:round;stroke-dasharray:.35 24.65;opacity:.55;animation:vein-flow 16s linear infinite;animation-play-state:paused}
.flow-pulse:nth-child(2){stroke-width:3;opacity:.4;animation-duration:20s;animation-delay:-8s}
.flow-pulse:nth-child(3){stroke-width:3.5;opacity:.45;animation-duration:23s;animation-delay:-15s}
.ambient-motion.is-visible .flow-pulse{animation-play-state:running}
.theme-services .page-hero::before,.theme-work .page-hero::before{background-size:cover;background-position:center}
.theme-work .page-hero::before{opacity:.65}
@keyframes vein-flow{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@media(max-width:760px){.ambient-motion{opacity:.6}.flow-pulse{stroke-width:5}.theme-flow .page-hero::before{background-size:cover;background-position:center}}
@media(prefers-reduced-motion:reduce){.theme-flow *,.theme-flow *::before,.theme-flow *::after{scroll-behavior:auto!important}.flow-pulse{animation:none!important;opacity:.25}}
