/* Depth and light over the original brand palette. */
.hero-grid{padding-top:76px;padding-bottom:90px}
.flow-visual{height:620px;max-width:610px;width:100%;margin:0 auto;position:relative;transform:none;transition:none}
.galaxy-depth{position:absolute;inset:-50px -80px;pointer-events:none;z-index:-2;overflow:hidden;mask-image:radial-gradient(ellipse at 52% 50%,#000 28%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at 52% 50%,#000 28%,transparent 72%)}
.galaxy-image{width:100%;height:100%;object-fit:cover;max-width:none;opacity:.58;mix-blend-mode:screen;transform:translate3d(var(--gx,0px),var(--gy,0px),0) scale(1.09);transition:transform 1s cubic-bezier(.16,1,.3,1)}
.galaxy-particles{position:absolute;inset:0;width:100%;height:100%;opacity:.85}
.hero-glow{background:radial-gradient(430px circle at var(--mx) var(--my),#00a8e810,transparent 72%)}
.orbit{border-color:#228dbf29;pointer-events:none}.orbit-three{animation:orbit-spin 100s linear infinite}
.connections{pointer-events:none;opacity:.8;transition:opacity .3s,filter .5s}
.flow-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:154px;height:144px;padding:10px 8px;color:#fff;font:inherit;cursor:pointer;background:rgba(0,27,52,.85);backdrop-filter:blur(10px);border:1px solid rgba(66,150,188,.55);box-shadow:0 0 60px rgba(0,168,232,.2),inset 0 0 24px rgba(0,168,232,.08);transition:box-shadow .4s,border-color .4s,background .4s}
.flow-core:hover,.flow-core:focus-visible{border-color:#62ceff;box-shadow:0 0 75px #00a8e834}.flow-core:active{background:#063350}
.flow-node{backdrop-filter:blur(12px);background:linear-gradient(125deg,#092b40f0,#041e32f5);transition:translate .45s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s,background .3s;translate:var(--nx,0px) var(--ny,0px);animation:node-float 7s ease-in-out infinite;padding:9px 10px;width:132px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.flow-node:hover,.flow-node:focus-visible{border-color:#6fcfff;box-shadow:0 12px 40px #00132188,0 0 26px #00a8e824;background:#093149;z-index:10}.flow-node:active{scale:.985}
/* Circular constellation: 8 nodes cleanly distributed in a true circle around Maré Flow */
.node-1{left:50%;top:calc(50% - 236px);animation-delay:0s}
.node-2{left:calc(50% + 167px);top:calc(50% - 167px);animation-delay:-0.875s}
.node-3{left:calc(50% + 236px);top:50%;animation-delay:-1.75s}
.node-4{left:calc(50% + 167px);top:calc(50% + 167px);animation-delay:-2.625s}
.node-5{left:50%;top:calc(50% + 236px);animation-delay:-3.5s}
.node-6{left:calc(50% - 167px);top:calc(50% + 167px);animation-delay:-4.375s}
.node-7{left:calc(50% - 236px);top:50%;animation-delay:-5.25s}
.node-8{left:calc(50% - 167px);top:calc(50% - 167px);animation-delay:-6.125s;border-color:rgba(0,168,232,.55);background:linear-gradient(125deg,#072f4df5,#021d34f5)}
.node-8 .node-icon{background:#004b75;color:var(--cyan);border-color:var(--cyan)}.node-8 small{color:var(--cyan);font-weight:800}
.visual-caption{bottom:-59px;display:flex;justify-content:space-between;gap:16px;align-items:center;text-align:left;color:#769caf}.visual-caption>span{font-size:12px;letter-spacing:.09em}
.motion-toggle{border:1px solid #34596f;border-radius:5px;background:#00192dcc;color:#a8c5d5;padding:7px 11px;cursor:pointer;font-size:12px;white-space:nowrap;transition:color .25s,border-color .25s}.motion-toggle:hover{border-color:#00a8e8;color:white}.motion-toggle:disabled{cursor:default}
.flow-visual.is-pulsing .connections{opacity:1;filter:drop-shadow(0 0 5px #27beff)}.flow-visual.is-pulsing .flow-node{border-color:#54c4f0;box-shadow:0 0 20px #00a8e82e}.flow-visual.is-pulsing .flow-core{box-shadow:0 0 90px #00a8e848;border-color:#8adaff}
.flow-pulse{position:absolute;width:18px;height:18px;border:1px solid #71daff;border-radius:50%;pointer-events:none;z-index:0;animation:connection-pulse 1.2s cubic-bezier(.15,.6,.3,1) forwards}
.button,.nav-cta,.round-link{isolation:isolate}.button:before,.nav-cta:before{content:'';position:absolute;inset:-50% -60%;background:linear-gradient(115deg,transparent 38%,#ffffff35 50%,transparent 62%);transform:translateX(-80%);transition:transform .65s cubic-bezier(.25,.8,.25,1);pointer-events:none;z-index:-1}.button:hover:before,.nav-cta:hover:before{transform:translateX(80%)}
.nav-cta{position:relative;overflow:hidden;transition:background .3s,border-color .3s,box-shadow .3s}.nav-cta:hover{background:#00a8e813;border-color:#5bcefc;box-shadow:0 0 22px #00a8e815}
.text-link>span,.card-link>span,.round-link{transition:transform .35s,color .3s,background .3s}.text-link:hover>span{transform:translateY(4px)}.card-link:hover>span{transform:translate(4px,-4px)}.round-link:hover{transform:rotate(12deg)}
.button .click-ripple,.nav-cta .click-ripple{position:absolute;width:20px;height:20px;border-radius:50%;background:#fff5;pointer-events:none;transform:translate(-50%,-50%);animation:button-ripple .6s ease-out forwards;z-index:-1}
.service-symbol{transition:color .3s ease,filter .3s ease;transform:none}.service-card:hover .service-symbol{color:var(--cyan);filter:drop-shadow(0 0 8px rgba(0,168,232,.45));transform:none}.spotlight:before{background:radial-gradient(380px circle at var(--sx,50%) var(--sy,0%),#00a8e821,transparent 66%)}
.steps article{position:relative}.steps article:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#00a8e8,#89dffc,transparent);transform-origin:left;transform:scaleX(0);transition:transform .7s ease .05s}.steps article.is-visible:before{transform:scaleX(1)}.steps .step-number{transition:color .3s,transform .35s}.steps article:hover .step-number{transform:translateX(4px);color:#007ba9}
.enter{opacity:0;translate:var(--enter-x,0px) 18px;transition:opacity .45s cubic-bezier(.16,1,.3,1),translate .5s cubic-bezier(.16,1,.3,1);transition-delay:var(--enter-delay,0ms);will-change:opacity,translate}.enter.is-visible{opacity:1;translate:0 0}
.service-card.enter,.system-showcase-card.enter,.hero-stats-card.enter{transition:opacity .45s cubic-bezier(.16,1,.3,1),translate .5s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s;transition-delay:var(--enter-delay,0ms),var(--enter-delay,0ms),0s,0s}
.hero-copy>*{animation:hero-entrance .8s cubic-bezier(.2,.75,.25,1) both}.hero-copy>h1{animation-delay:90ms}.hero-description{animation-delay:180ms}.hero-actions{animation-delay:260ms}.hero-footnote{animation-delay:330ms}
.hero-inactive .flow-node,.hero-inactive .orbit,.hero-inactive .connections path{animation-play-state:paused}
html.motion-paused{scroll-behavior:auto}html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{animation:none!important;transition:none!important}html.motion-paused .enter{opacity:1;translate:0 0}html.motion-paused .galaxy-image{transform:scale(1.09)}html.motion-paused .flow-node{translate:0 0;transform:translate(-50%,-50%)!important}html.motion-paused .magnetic{transform:none!important}html.motion-paused .flow-pulse,html.motion-paused .click-ripple{display:none}
@keyframes orbit-spin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes node-float{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-5px)}}
@keyframes connection-pulse{from{opacity:.65;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(34)}}
@keyframes button-ripple{from{opacity:.6;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(25)}}
@keyframes hero-entrance{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@media(max-width:1150px) and (min-width:851px){.flow-visual{height:620px;scale:.88;transform-origin:center center;margin:0 auto}.flow-node{animation:none}}
@media(max-width:850px){.flow-visual{height:620px;scale:.88;transform-origin:center center;margin:20px auto 44px}.galaxy-depth{inset:-35px -50px}}
@media(max-width:620px){
  .hero-grid{padding-top:20px;padding-bottom:12px}
  .flow-visual{height:320px;min-height:320px;width:100%;max-width:320px;margin:4px auto 14px;position:relative;scale:1;transform:none!important}
  .flow-core{width:96px;height:90px;padding:6px 4px;border-radius:14px}
  .core-logo img{width:60px;height:auto}
  .flow-core .core-label{font-size:7.5px;letter-spacing:.08em;margin-top:3px}
  .orbit-one{width:130px;height:130px}
  .orbit-two{width:195px;height:195px}
  .orbit-three{width:260px;height:260px}
  .flow-node{width:90px;padding:6px 4px;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.4)}
  .node-icon{width:19px;height:19px;font-size:10px;border-radius:4px;margin:0 auto 3px auto}
  .flow-node small{font-size:7px;letter-spacing:.08em;margin-bottom:1px}
  .flow-node strong{font-size:9.5px;line-height:1.15}
  .flow-node div>span{display:none}
  .node-1{left:50%;top:calc(50% - 118px)}
  .node-2{left:calc(50% + 83px);top:calc(50% - 83px)}
  .node-3{left:calc(50% + 118px);top:50%}
  .node-4{left:calc(50% + 83px);top:calc(50% + 83px)}
  .node-5{left:50%;top:calc(50% + 118px)}
  .node-6{left:calc(50% - 83px);top:calc(50% + 83px)}
  .node-7{left:calc(50% - 118px);top:50%}
  .node-8{left:calc(50% - 83px);top:calc(50% - 83px)}
  .visual-caption{display:none}
  .galaxy-depth{inset:-20px -30px}
  .enter{translate:0 16px}
}
@media(max-width:380px){
  .flow-visual{height:290px;min-height:290px;max-width:290px}
  .flow-core{width:80px;height:76px}
  .core-logo img{width:48px}
  .flow-node{width:76px;padding:4px 3px}
  .node-icon{width:16px;height:16px;font-size:8.5px}
  .flow-node strong{font-size:8px}
  .orbit-one{width:108px;height:108px}
  .orbit-two{width:160px;height:160px}
  .orbit-three{width:215px;height:215px}
  .node-1{left:50%;top:calc(50% - 98px)}
  .node-2{left:calc(50% + 69px);top:calc(50% - 69px)}
  .node-3{left:calc(50% + 98px);top:50%}
  .node-4{left:calc(50% + 69px);top:calc(50% + 69px)}
  .node-5{left:50%;top:calc(50% + 98px)}
  .node-6{left:calc(50% - 69px);top:calc(50% + 69px)}
  .node-7{left:calc(50% - 98px);top:50%}
  .node-8{left:calc(50% - 69px);top:calc(50% - 69px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.enter{opacity:1;translate:0 0}.galaxy-image{transform:scale(1.09)}.flow-node{translate:0 0;transform:translate(-50%,-50%)!important}.hero-copy>*{opacity:1;translate:none}.flow-pulse,.click-ripple{display:none}}

