/* Full-width hero. Data streams stay behind the copy; sculpture is foreground. */
body.company-site { overflow-x:clip; }
.company-site .company-hero { padding-top:0; }
.company-site .hero-cinematic {
 position:relative; isolation:isolate; overflow:hidden;
 display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:26px;
 width:100vw; margin-left:calc(50% - 50vw);
 padding:65px max(40px,calc((100vw - 1160px)/2)); min-height:590px;
 border:0; border-radius:0; box-shadow:none; background:#0d1b2c;
}
.company-site .hero-cinematic .hero-background-video { position:absolute; inset:0; z-index:0; pointer-events:none; }
.company-site .hero-background-video .ambient-data-video { width:100%; height:100%; display:block; object-fit:cover; object-position:center; filter:none!important; mix-blend-mode:normal!important; opacity:.8; }
.company-site .hero-cinematic::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#0c192be8 0%,#0c192bbd 36%,#0c192b29 75%,#0c192b70 100%); }
.company-site .hero-cinematic > .hero-intro { position:relative; z-index:3; max-width:550px; }
.company-site .hero-cinematic .hero-intro .eyebrow { padding:0; background:transparent; border:0; color:#a6c6eb!important; font-size:9px; letter-spacing:.13em; }
.company-site .hero-cinematic .hero-intro .eyebrow > span { width:20px; height:1px; border-radius:0; background:#8bb7ee; }
.company-site .hero-cinematic .hero-intro h1 { font-size:clamp(52px,5.4vw,76px); line-height:1.07; font-weight:500; letter-spacing:-.065em; margin-top:27px; color:#f7faff!important; }
.company-site .hero-cinematic .hero-intro h1 > span { color:#a7c7ff!important; }
.company-site .hero-cinematic .hero-intro > p { font-size:15px; line-height:1.9; max-width:440px; margin-top:25px; color:#d0deee!important; }
.company-site .hero-cinematic .hero-actions { gap:12px; margin-top:31px; }
.company-site .hero-cinematic .button { padding:15px 20px; min-height:49px; font-size:12px; gap:17px; border-radius:5px; }
.company-site .hero-cinematic .button-dark { background:#edf3ff; color:#223857; border-color:#edf3ff; box-shadow:0 4px 20px #00000012; }
.company-site .hero-cinematic .button-dark:hover { background:#fff; }
.company-site .hero-cinematic .button-outline { background:transparent; color:#eff6ff; border-color:#91aac070; }
.company-site .hero-cinematic .button-outline:hover { background:#b4d1ff14; }
.company-site .hero-cinematic .hero-reassurance { margin-top:20px; gap:11px; font-size:10px; color:#bdcfe4!important; }
.company-site .hero-cinematic .hero-artwork { position:relative; z-index:2; width:100%; min-height:390px; margin:0; display:flex; flex-direction:column; justify-content:center; align-items:stretch; background:transparent; }
.company-site .hero-cinematic .hero-artwork .hero-scene-video { position:relative; inset:auto; display:block; width:124%; max-width:none; height:390px; margin-left:-12%; aspect-ratio:auto; object-fit:cover; opacity:1; filter:none!important; mix-blend-mode:normal!important; border:0!important; background:transparent!important; mask-image:radial-gradient(ellipse 69% 86% at 50% 49%,#000 33%,transparent 99%)!important; -webkit-mask-image:radial-gradient(ellipse 69% 86% at 50% 49%,#000 33%,transparent 99%)!important; }
.company-site .hero-cinematic .hero-artwork figcaption { display:flex; align-items:center; padding:11px 0 0; color:#bccfe7!important; font-size:8px; letter-spacing:.1em; }
.company-site .hero-cinematic .artwork-dot { background:#80afe7; }
.company-site .hero-cinematic [data-artwork-motion] { padding:5px 9px; color:#dbeaff; background:transparent; border-color:#7597bd59; font-size:9px; letter-spacing:0; }
.company-site .hero-cinematic [data-artwork-motion]:hover { background:#b4d1ff14; }
.company-site .workspace-caption { margin-top:37px; }
.company-site .hero-bottom-line { height:1px; width:90px; margin-top:27px; background:linear-gradient(90deg,#86b4ef70,transparent); }
html[data-theme="dark"] .company-site .hero-cinematic .button-dark { background:#edf3ff; color:#223857; }
html[data-theme="dark"] .company-site .hero-cinematic .button-outline { background:transparent; color:#eff6ff; border-color:#91aac070; }
@media(min-width:1600px) { .company-site .hero-cinematic { min-height:650px; } }
@media(max-width:1100px) {
 .company-site .hero-cinematic { padding:52px 35px; min-height:550px; gap:10px; }
 .company-site .hero-cinematic .hero-intro h1 { font-size:60px; }
 .company-site .hero-cinematic .hero-intro > p { font-size:14px; }
 .company-site .hero-cinematic .button { padding:13px 15px; font-size:11px; gap:10px; }
 .company-site .hero-cinematic .hero-artwork .hero-scene-video { height:350px; }
}
@media(max-width:767px) {
 .company-site .hero-cinematic { grid-template-columns:1fr; padding:39px 24px 25px; min-height:0; gap:9px; }
 .company-site .hero-cinematic::after { background:linear-gradient(180deg,#0c192be8 0%,#0c192bc4 42%,#0c192b4d 85%,#0c192ba8 100%); }
 .company-site .hero-cinematic > .hero-intro { max-width:580px; }
 .company-site .hero-cinematic .hero-intro h1 { font-size:51px; margin-top:22px; }
 .company-site .hero-cinematic .hero-intro .eyebrow { font-size:8px; }
 .company-site .hero-cinematic .hero-intro > p { font-size:13px; line-height:1.85; margin-top:20px; }
 .company-site .hero-cinematic .hero-actions { margin-top:23px; }
 .company-site .hero-cinematic .hero-reassurance { font-size:9px; margin-top:15px; gap:8px; }
 .company-site .hero-cinematic .hero-artwork { width:100%; max-width:550px; margin-inline:auto; min-height:0; }
 .company-site .hero-cinematic .hero-artwork .hero-scene-video { height:280px; max-height:none; width:112%; margin-left:-6%; }
 .company-site .hero-cinematic .hero-artwork figcaption { padding-top:0; font-size:7px; }
 .company-site .hero-bottom-line { display:none; }
 .company-site .workspace-caption { margin-top:28px; }
}
@media(max-width:380px) { .company-site .hero-cinematic .hero-intro h1 { font-size:44px; } .company-site .hero-cinematic .button { font-size:10px; padding:12px; } }
/* The two source animations are rendered into one synchronized composition. */
.company-site .hero-background-video .ambient-data-video { object-fit:contain; object-position:center; opacity:.98; }
.company-site .hero-cinematic .hero-artwork { min-height:390px; justify-content:flex-end; }
.company-site .hero-cinematic::after { background:linear-gradient(90deg,#0c192bf0 0%,#0c192bd6 31%,#0c192b66 50%,transparent 68%); }
@media(max-width:1100px) { .company-site .hero-cinematic .hero-artwork { min-height:350px; } }
@media(max-width:767px) {
 .company-site .hero-cinematic .hero-background-video { top:auto; bottom:22px; height:310px; }
 .company-site .hero-background-video .ambient-data-video { object-fit:contain; object-position:center bottom; }
 .company-site .hero-cinematic .hero-artwork { min-height:255px; justify-content:flex-end; }
 .company-site .hero-cinematic::after { background:linear-gradient(180deg,#0c192bf0 0%,#0c192bd9 44%,#0c192b35 72%,transparent 93%); }
}
/* Fit the complete composition and feather only its empty outer background. */
.company-site .hero-cinematic .hero-background-video { display:flex; align-items:center; justify-content:center; }
.company-site .hero-background-video .ambient-data-video { width:auto; height:100%; max-width:100%; margin-inline:auto; object-fit:contain; mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
@media(max-width:767px) { .company-site .hero-cinematic .hero-background-video { align-items:flex-end; } .company-site .hero-background-video .ambient-data-video { width:100%; height:auto; max-height:310px; object-fit:contain; } }
/* Exchange signal waves join at the shared workspace mark. */
.company-site .account-links { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(60px,1fr) 70px; align-items:center; gap:0; }
.company-site .account-exchanges { display:grid; gap:14px; min-width:0; }
.company-site .account-exchanges > span { height:49px; padding:10px; gap:8px; }
.company-site .account-link-wave { display:block; width:100%; height:112px; }
.company-site .account-link-wave svg { width:100%; height:100%; display:block; overflow:visible; }
.company-site .wave-track { stroke:var(--site-border); stroke-width:1.5; }
.company-site .wave-flow { stroke-width:2.5; stroke-linecap:round; stroke-dasharray:18 88; animation:workspace-wave-flow 3.5s linear infinite; }
.company-site .wave-flow-mexc { animation-delay:-1.75s; }
.company-site .wave-node { fill:var(--site-primary); opacity:.55; }
.company-site .wave-junction { fill:var(--site-primary); }
.company-site .account-hub { width:70px; height:70px; display:grid; place-items:center; padding:12px; background:var(--site-inset); border-color:var(--site-border); }
.company-site .account-hub .kaapa-brand-mark { width:44px; height:44px; }
@keyframes workspace-wave-flow { from { stroke-dashoffset:106; } to { stroke-dashoffset:0; } }
/* Thin moving highlights follow selected card borders without covering content. */
@property --card-wave-angle { syntax:'<angle>'; inherits:false; initial-value:0deg; }
.company-site .wave-border { position:relative; }
@supports ((mask-composite:exclude) or (-webkit-mask-composite:xor)) {
 .company-site .wave-border::after { content:''; position:absolute; inset:-1px; padding:1px; border-radius:inherit; pointer-events:none; z-index:2; background:conic-gradient(from var(--card-wave-angle),transparent 0deg,transparent 245deg,var(--site-accent) 285deg,transparent 325deg,transparent 360deg); -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude; animation:card-wave-orbit 12s linear infinite; }
 .company-site .signal-workflow.wave-border::after { animation-delay:-4s; }
 .company-site #pricing .wave-border::after { animation-delay:-8s; }
}
@keyframes card-wave-orbit { to { --card-wave-angle:360deg; } }
@media(max-width:480px) {
 .company-site .account-link-visual { padding:20px 17px; }
 .company-site .account-links { grid-template-columns:minmax(0,1.2fr) minmax(46px,.8fr) 58px; }
 .company-site .account-exchanges > span { font-size:11px; gap:6px; padding:8px; }
 .company-site .account-exchanges img { width:21px; height:21px; }
 .company-site .account-hub { width:58px; height:58px; padding:10px; }
 .company-site .account-hub .kaapa-brand-mark { width:36px; height:36px; }
}
@media(prefers-reduced-motion:reduce) {
 .company-site .wave-flow { animation:none!important; stroke-dasharray:none; opacity:.6; }
 .company-site .wave-border::after { animation:none!important; display:none; }
}
