/* Original flow study. Existing brand colours and typography remain authoritative. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.flow-hero{position:relative;isolation:isolate;display:block;min-height:650px;overflow:hidden}
.flow-hero .hero-editorial{position:relative;z-index:2;max-width:1440px;margin-inline:auto;padding:64px max(56px,calc((100vw - 1320px)/2)) 72px;pointer-events:none}
.flow-hero .hero-editorial>*{pointer-events:auto}
.flow-hero h1{font-size:clamp(54px,4.8vw,76px);line-height:1.09;max-width:640px;margin-top:28px}
.flow-hero .hero-introduction{max-width:470px;font-size:20px;line-height:1.5;margin-top:28px}
.flow-hero .hero-actions{margin-top:30px}
.network-hero{position:absolute;inset:0;margin:0;z-index:0}
.network-hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--ink) 0%,color-mix(in oklch,var(--ink) 97%,transparent) 28%,color-mix(in oklch,var(--ink) 45%,transparent) 48%,transparent 67%)}
.network-fallback,.network-canvas{position:absolute;right:-3%;top:0;width:78%;height:100%;object-fit:fill;display:block}
.network-canvas{opacity:0}
.network-hero[data-canvas-ready] .network-canvas{opacity:1}
.network-hero[data-canvas-ready] .network-fallback{visibility:hidden}
.network-hero figcaption{position:absolute;right:56px;bottom:28px;z-index:3;display:flex;gap:28px;color:var(--paper);font-size:11px}
.network-hero figcaption span:last-child{opacity:.6}
.motion-toggle{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;background:transparent;border:1px solid currentColor;border-radius:0;padding:8px 12px;font:inherit;font-size:12px;line-height:1.2;cursor:pointer;color:inherit;transition:background .22s var(--motion-ease),color .22s var(--motion-ease)}
.motion-toggle[hidden]{display:none}
.motion-symbol{font-size:14px;width:14px;text-align:center}
.network-hero .motion-toggle{position:absolute;z-index:4;right:56px;top:28px;color:var(--paper);border-color:var(--dark-line);background:color-mix(in oklch,var(--ink) 75%,transparent)}
.motion-toggle:hover{background:var(--paper);color:var(--ink)}
.motion-toggle:focus-visible{outline:2px solid var(--rust);outline-offset:5px}
.hero-figure>.motion-toggle{margin:18px 0 0 auto;color:var(--muted);border-color:var(--line)}
.routing-figure>.motion-toggle{color:var(--paper);border-color:var(--dark-line)}
.hero-figure>.motion-toggle:hover,.network-hero .motion-toggle:hover{background:var(--paper);color:var(--ink)}
.hero-figure[data-flow] figcaption{opacity:1}
.motion-dot{fill:var(--rust);stroke:var(--paper);stroke-width:.65}
.routing-figure .motion-dot{fill:var(--paper);stroke:var(--rust);stroke-width:2}
.service-motif{width:100%;margin:0 0 24px;color:var(--rust)}
.service-motif svg{display:block;width:100%;height:auto;max-height:140px;overflow:visible}
.motif-lines{fill:none;stroke:currentColor;stroke-width:1.2;opacity:.7}
.motif-nodes{fill:none;stroke:var(--ink);stroke-width:1;opacity:.38}
.service-motif .motion-dot{stroke:var(--paper);stroke-width:1}
.product-figure>.motion-toggle{margin:20px 0 0 auto;border-color:var(--line);color:var(--muted)}
.switch-hero .product-figure>.motion-toggle{border-color:var(--dark-line);color:var(--paper)}
.product-figure>.motion-toggle:hover{background:var(--ink);color:var(--paper)}
.switch-hero .product-figure>.motion-toggle:hover{background:var(--paper);color:var(--ink)}
.switch-hero .motion-dot{fill:var(--paper);stroke:var(--rust);stroke-width:1.8}
.decision-halo,.runtime-halo{fill:none;stroke:var(--rust);stroke-width:1.5}
.bridge-transit-tracks{fill:none;stroke:var(--rust);stroke-width:.8;opacity:.28}
.product-flow-layer{pointer-events:none}
.product-figure[data-flow-ready] [data-static-route]{opacity:.18}
.expertise-item{min-height:485px;transition:background .3s var(--motion-ease)}
.expertise-item>a span,.text-link>span,.nav-contact>span,.product-card>a>span{transition:transform .25s var(--motion-ease)}
.expertise-item>a:hover span,.text-link:hover>span,.nav-contact:hover>span{transform:translate(3px,-3px)}
.button{transition:background .22s var(--motion-ease),transform .22s var(--motion-ease)}
.button:active{transform:translateY(0) scale(.985)}
/* Content is visible by default. JS applies finite reveals only on entry. */
@media(min-width:1600px){.flow-hero{min-height:700px}.flow-hero .hero-editorial{max-width:none}}
@media(max-width:1050px){
 .flow-hero{min-height:620px}
 .flow-hero .hero-editorial{padding:54px 32px 68px}
 .flow-hero h1{font-size:58px}
 .flow-hero .hero-introduction{max-width:420px;font-size:19px}
 .network-fallback,.network-canvas{right:-20%;width:100%}
 .network-hero figcaption{right:32px;font-size:10px;gap:20px}
 .network-hero .motion-toggle{right:32px}
 .expertise-item{min-height:490px}
}
@media(max-width:850px){
 .flow-hero{min-height:800px}
 .flow-hero .hero-editorial{padding:44px 32px 300px}
 .flow-hero .hero-introduction{max-width:550px}
 .network-fallback,.network-canvas{top:auto;bottom:0;right:-10%;width:110%;height:400px}
 .network-hero:after{background:linear-gradient(180deg,var(--ink) 0%,var(--ink) 50%,transparent 76%)}
 .network-hero figcaption{left:32px;right:auto;bottom:22px}
 .network-hero .motion-toggle{top:auto;bottom:62px;right:32px}
 .expertise-item{display:grid;grid-template-columns:.8fr 1.2fr;min-height:0;gap:12px 32px}
 .expertise-item .service-motif{grid-column:1;grid-row:2/5;margin:0;align-self:center}
 .expertise-item .expertise-category{grid-column:2;grid-row:1;margin:0}
 .expertise-item h3{grid-column:2;grid-row:2;margin:0}
 .expertise-item>p:not(.expertise-category){grid-column:2;grid-row:3}
 .expertise-item>a{grid-column:2;grid-row:4}
}
@media(max-width:720px){
 .flow-hero{min-height:0}
 .flow-hero .hero-editorial{padding:36px 20px 310px}
 .flow-hero h1{font-size:clamp(40px,10.5vw,58px);margin-top:24px;max-width:100%}
 .flow-hero .hero-introduction{font-size:18px;max-width:470px;margin-top:22px}
 .flow-hero .hero-actions{margin-top:24px}
 .network-fallback,.network-canvas{bottom:0;height:310px;right:-16%;width:132%}
 .network-hero:after{background:linear-gradient(180deg,var(--ink) 0%,var(--ink) calc(100% - 300px),transparent calc(100% - 220px))}
 .network-hero figcaption{left:20px;right:20px;bottom:20px;justify-content:space-between;font-size:9px;gap:12px}
 .network-hero .motion-toggle{right:20px;bottom:55px;font-size:11px}
 .expertise-item{display:flex;gap:0;min-height:0}
 .expertise-item .service-motif{order:0;margin:0 0 24px;width:100%}
 .service-motif svg{max-height:145px}
 .expertise-item .expertise-category{margin-bottom:18px}
 .expertise-item h3{margin-bottom:18px}
 .expertise-item>a{padding-top:24px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .motion-toggle,.diagram-replay{display:none!important}
 .network-canvas{display:none}
 .network-hero[data-canvas-ready] .network-fallback{visibility:visible}
}
