/* Local presentation effects; no tracking or external requests. */
.service,.sector,.plan,.flow,.case-card,.lab-stage{position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.service:focus-within,.sector:focus-within,.plan:focus-within{outline:2px solid var(--accent,#3b5bfd);outline-offset:5px}
.lab-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}
.lab-tab{font:inherit;padding:12px 20px;border:1px solid var(--line,#d8d4cf);border-radius:999px;background:transparent;color:var(--ink,#191613);cursor:pointer;transition:background .2s,color .2s,transform .2s}
.lab-tab[aria-pressed="true"]{background:var(--ink,#191613);color:#faf7f2;border-color:var(--ink,#191613)}
.lab-tab:focus-visible{outline:3px solid #3b5bfd;outline-offset:4px}
.lab-stage{padding:clamp(24px,5vw,48px);border:1px solid #d8d4cf;border-radius:24px;background:linear-gradient(135deg,#f2f0ff,#fffdf8);margin-bottom:24px}
.lab-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#49435b;margin:0 0 18px}
.lab-stage h3{font-size:clamp(24px,3vw,36px);line-height:1.2;margin:0 0 30px;max-width:750px}
.lab-nodes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}
.lab-nodes span{padding:20px 16px;background:#fff;border:1px solid #d6d5e7;border-radius:12px;line-height:1.4;font-weight:600;box-shadow:0 7px 22px #19161306}
.lab-nodes span:last-child{border-color:#3b5bfd;color:#2442cc}
.roadmap-note{padding:22px 0 0;max-width:800px;line-height:1.7;color:#59534c}
@media(hover:hover) and (pointer:fine){.service:hover,.sector:hover,.plan:hover,.case-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px #19161312}.lab-tab:hover{transform:translateY(-2px);border-color:#3b5bfd}.flow:hover{box-shadow:0 16px 54px #3b5bfd17}.lab-nodes span{transition:transform .2s,border-color .2s}.lab-nodes span:hover{transform:translateY(-4px);border-color:#3b5bfd}}
@media(max-width:640px){.lab-nodes{grid-template-columns:1fr 1fr}.lab-tab{padding:10px 15px}.lab-stage{border-radius:16px}.lab-nodes span{padding:16px 12px}}
@media(prefers-reduced-motion:reduce){.service,.sector,.plan,.flow,.case-card,.lab-tab,.lab-nodes span{transition:none!important;transform:none!important}}

/* Shared finishing layer: warm paper, quiet depth, electric blue detail. */
html{scroll-padding-top:100px}
:focus-visible{outline:3px solid var(--accent,#3b5bfd);outline-offset:5px}
.skip-link{position:fixed;top:12px;left:12px;z-index:200;transform:translateY(-180%);padding:12px 18px;background:#191613;color:#faf7f2;border-radius:8px;font:600 15px var(--font-body,sans-serif)}
.skip-link:focus{transform:translateY(0)}
.hero-grid>*{min-width:0}
.hero .flow{isolation:isolate;background:linear-gradient(155deg,#fff 20%,#f5f4ff 100%);border-color:#d7d7e7}
.flow-head{flex-wrap:wrap}
.flow-head h2{max-width:22ch}
.hero .flow::after{content:"";position:absolute;inset:9px;border:1px solid #fff9;border-radius:18px;pointer-events:none;z-index:-1}
.nav-links a{position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:#3b5bfd;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1)}
.services .service{padding-left:20px;padding-right:20px;border-radius:12px}
.service-num{color:#3b5bfd}
.service-tags span{transition:background .2s,border-color .2s}
.sectors{counter-reset:sector;grid-template-columns:repeat(2,minmax(0,1fr))}
.sector{counter-increment:sector;overflow:hidden;min-width:0}
.sector::before{content:"0" counter(sector);display:inline-grid;place-items:center;width:44px;height:44px;background:#edf0ff;color:#2743d8;border:1px solid #dce1ff;border-radius:12px;font:500 12px var(--font-mono,monospace);transition:background .2s,color .2s,transform .2s}
.sector h3{margin-top:24px}
.integration-lab{background:#f0eee8;border-top:1px solid var(--line,#e6dfd2);border-bottom:1px solid var(--line,#e6dfd2)}
.lab-stage{overflow:hidden;isolation:isolate}
.lab-stage::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.45;background-image:radial-gradient(#807fa14d .8px,transparent .8px);background-size:18px 18px;mask-image:linear-gradient(90deg,transparent 40%,#000)}
.lab-nodes{counter-reset:node;gap:24px}
.lab-nodes span{counter-increment:node;position:relative;display:flex;flex-direction:column;gap:14px;min-width:0}
.lab-nodes span::before{content:"0" counter(node);font:500 11px var(--font-mono,monospace);color:#71695d;letter-spacing:.06em}
.lab-nodes span:not(:last-child)::after{content:"→";position:absolute;right:-20px;top:50%;transform:translateY(-50%);color:#7a7891;font-size:18px;font-weight:400}
#labRule{font-size:14px;line-height:1.65;padding:15px 18px;border-left:3px solid #3b5bfd;background:#ffffffb3;border-radius:0 8px 8px 0;max-width:780px}
.roadmap-note{font-size:14px;max-width:850px}
.roadmap-note strong{color:#191613}
.plan{min-width:0}
.plan .btn{white-space:normal;min-height:48px}
.form:focus-within{box-shadow:0 20px 60px -30px #3b5bfd40}
.field input,.field select,.field textarea{transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 4px #3b5bfd12}
.tier-card,.blog-card,.price-card{position:relative;transition:transform .2s,border-color .2s,box-shadow .2s}
@media(hover:hover) and (pointer:fine){
 .service:hover{background:#ffffff8c;box-shadow:0 12px 36px #19161306;transform:translateY(-2px)}
 .service:hover .service-tags span{background:#edf0ff;border-color:#d3daff}
 .sector:hover::before{background:#3b5bfd;color:white;transform:rotate(-5deg)}
 .sector:hover,.plan:not(.plan-featured):hover,.tier-card:hover{border-color:#aeb9fb}
 .tier-card:hover,.blog-card:hover,.price-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px #19161340}
 [data-spotlight]{background-image:radial-gradient(400px circle at var(--pointer-x,50%) var(--pointer-y,50%),#3b5bfd0b,transparent 70%)}
}
@media(max-width:767px){
 .hero{padding-top:126px;padding-bottom:68px}
 .hero-grid{gap:42px}
 .hero .flow{padding:22px}
 .flow-head h2{font-size:20px}
 .services .service{padding-left:0;padding-right:0}
 .sectors{grid-template-columns:1fr}
 .lab-nodes{gap:18px}
 .lab-nodes span::after{display:none}
 .lab-tabs{gap:8px}
 .lab-tab{font-size:14px;min-height:44px}
 .hero-note{gap:12px 18px}
}
@media(max-width:380px){.hero-ctas .btn{width:100%;padding-left:15px;padding-right:15px}.brand-sub{font-size:10px}.brand-name{font-size:17px}.lab-nodes{grid-template-columns:1fr}.lab-nodes span{flex-direction:row;align-items:baseline;gap:12px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .reveal{opacity:1!important;transform:none!important}
 .gw-dot{display:none}
}
