.aiva-lab { --av-accent:var(--av-orange); --av-ink:var(--av-text); }
.aiva-lab .wp-site-blocks>.wp-block-template-part:first-of-type,.aiva-lab .aiva-header { margin-block-start:0!important; }
.wf-home { background:radial-gradient(ellipse at 68% 3%,#ed772312,transparent 30%),#090b0e; }
.wf-home [hidden] { display:none!important; }
.wf-hero { display:grid; grid-template-columns:.85fr 1.25fr; gap:24px 54px; padding-top:52px; padding-bottom:40px; align-items:center; }
.wf-hero .aiva-kicker { font-size:9px; letter-spacing:.09em; margin-bottom:26px; }
.wf-hero h1 { font-size:clamp(48px,5.5vw,80px); letter-spacing:-.065em; margin-bottom:22px; }
.wf-hero-lead { font-size:clamp(20px,2vw,27px); line-height:1.38; letter-spacing:-.04em; margin:0 0 17px; color:#eee9e2; }
.wf-hero-description { max-width:410px; font-size:14px; line-height:1.75; color:var(--av-muted); }
.wf-hero-actions { display:flex; align-items:center; gap:23px; margin:26px 0; flex-wrap:wrap; }
.wf-hero-actions .aiva-button { font-size:12px; min-height:49px; padding:0 20px; }
.wf-hero-actions .aiva-link { font-size:12px; }
.wf-hero-proof { display:flex; gap:24px; font:9px 'IBM Plex Mono',monospace; color:#969da8; }
.wf-hero-proof b { color:#e6e6e6; font-size:12px; margin-right:6px; font-weight:500; }
.wf-hero-demo { min-width:0; border:1px solid #ffffff17; border-radius:22px; padding:20px 20px 12px; background:linear-gradient(140deg,#1b1e24d0,#111419); box-shadow:0 25px 80px #0005,inset 0 1px 0 #fff1; }
.wf-preview-label { display:flex; align-items:center; gap:8px; font:8px 'IBM Plex Mono',monospace; color:#9299a4; letter-spacing:.08em; }
.wf-live-dot { width:5px; height:5px; border-radius:50%; background:#80d5ad; box-shadow:0 0 9px #80d5ad50; }
.wf-featured-title { display:flex; flex-direction:column; gap:8px; margin:21px 0 16px; min-height:66px; }
.wf-featured-title>span { font:9px 'IBM Plex Mono',monospace; color:var(--av-orange); }
.wf-home .wf-featured-title h2 { font-size:23px; line-height:1.24; letter-spacing:-.04em; margin:0; }
.wf-panel { --wf-accent:#ff9255; border:1px solid #ffffff15; border-radius:12px; background:#0a0d12; overflow:hidden; }
.wf-toolbar { display:flex; justify-content:space-between; gap:10px; align-items:center; border-bottom:1px solid #ffffff12; padding:12px; color:#8c95a2; font:8px 'IBM Plex Mono',monospace; }
.wf-toolbar span:first-child { color:var(--wf-accent); }
.wf-toolbar i { display:inline-block; width:5px; height:5px; background:var(--wf-accent); border-radius:2px; margin-right:6px; }
.wf-toolbar b { font-weight:400; color:#7b8491; }
.wf-canvas { overflow:auto; background-image:radial-gradient(#67758a38 1px,transparent 1px); background-size:17px 17px; padding:28px 8px; scrollbar-width:thin; scrollbar-color:#596170 #111; }
.wf-graph { display:block; width:100%; min-width:0; height:auto; overflow:visible; color:var(--wf-accent,#ff9255); }
.wf-edge { stroke:currentColor; stroke-width:1.8; fill:none; opacity:.58; }
.wf-node rect { fill:#171d27; stroke:#ffffff2a; stroke-width:1.2; transition:stroke .2s,fill .2s; }
.wf-node { outline:none; }
.wf-panel .wf-node { cursor:pointer; }
.wf-node circle { fill:currentColor; }
.wf-node text { fill:#dce3ed; font-family:Manrope,Arial,sans-serif; pointer-events:none; }
.wf-node .wf-node-icon { fill:currentColor; font-size:17px; font-family:'IBM Plex Mono',monospace; }
.wf-node .wf-node-type { font-size:9px; fill:#8795a8; font-family:'IBM Plex Mono',monospace; }
.wf-node .wf-node-label { font-size:12px; font-weight:600; }
.wf-node:focus rect,.wf-panel .wf-node:hover rect,.wf-node.is-current rect { stroke:currentColor; fill:#222a36; stroke-width:2.5; }
.wf-edge.is-current { opacity:1; stroke-dasharray:5 4; animation:wf-signal .65s linear infinite; }
.wf-canvas-tools { display:flex; justify-content:space-between; gap:8px; padding:9px 12px; border-top:1px solid #ffffff10; }
.wf-canvas-tools button { background:#ffffff05; border:1px solid #ffffff19; border-radius:6px; padding:7px 9px; font:8px 'IBM Plex Mono',monospace; color:#c2c8d0; cursor:pointer; }
.wf-canvas-tools button:hover { color:#fff; border-color:var(--wf-accent); }
.wf-canvas-tools button:disabled { opacity:.45; cursor:progress; }
.wf-explanation { padding:12px 14px; background:#ffffff03; min-height:80px; border-top:1px solid #ffffff0e; }
.wf-explanation span { font:8px 'IBM Plex Mono',monospace; color:var(--wf-accent); }
.wf-explanation p { margin:7px 0 0; font-size:11px; line-height:1.6; color:#a5aeba; }
.wf-featured-caption { color:#979ea9; font-size:11px; line-height:1.7; margin:12px 0 0; min-height:37px; }
.wf-switcher { grid-column:1/-1; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin-top:16px; }
.wf-switcher button { display:flex; align-items:center; gap:9px; padding:14px 12px; border:1px solid #ffffff14; border-radius:10px; background:#ffffff02; color:#a3aab5; font:11px Manrope,Arial,sans-serif; cursor:pointer; transition:border-color .2s,background .2s; text-align:left; }
.wf-switcher span { font:9px 'IBM Plex Mono',monospace; opacity:.55; }
.wf-switcher b { margin-left:auto; font-weight:400; }
.wf-switcher button[aria-pressed=true],.wf-switcher button:hover { border-color:var(--wf-accent); color:#f1eee8; background:#ffffff07; }
.wf-switcher button[aria-pressed=true] span { color:var(--wf-accent); opacity:1; }
.wf-catalogue { scroll-margin-top:85px; padding-top:54px; }
.wf-catalogue .aiva-section-head>p { font-size:13px; line-height:1.8; color:#919aa7; margin-bottom:28px; }
.wf-search { max-width:none; margin:24px 0; box-shadow:none; border-radius:13px; }
.wf-search .aiva-button { border-radius:9px; min-height:44px; }
.wf-catalogue-note { font-size:11px!important; color:#8b94a1!important; margin:0 0 24px; }
.aiva-lab .aiva-industry-filter a { font-size:10px; padding:7px 14px; min-height:38px; letter-spacing:0; }
.aiva-lab .aiva-industry-filter a:hover,.aiva-lab .aiva-industry-filter a.is-active { background:#ff782810; border-color:#ff92557a; }
.wf-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.wf-card { display:flex; flex-direction:column; min-width:0; border:1px solid #ffffff17; border-radius:17px; overflow:hidden; background:linear-gradient(135deg,#171a20,#101319); transition:transform .24s,border-color .24s,box-shadow .24s; }
.wf-card:hover { transform:translateY(-5px); border-color:var(--wf-accent); box-shadow:0 15px 45px #0003; }
.wf-card-preview { position:relative; display:block; width:100%; border:0; border-bottom:1px solid #ffffff0f; margin:0; padding:54px 12px 45px; background-color:#0c1016; background-image:radial-gradient(#7c8d9b2a 1px,transparent 1px); background-size:15px 15px; cursor:pointer; }
.wf-card-preview .wf-graph { height:110px; }
.wf-card-category { position:absolute; top:15px; left:16px; padding:5px 8px; border:1px solid #ffffff26; border-radius:5px; font:8px 'IBM Plex Mono',monospace; color:var(--wf-accent); }
.wf-card-expand { position:absolute; bottom:14px; right:15px; color:#7d8797; font:8px 'IBM Plex Mono',monospace; }
.wf-card:hover .wf-card-expand { color:var(--wf-accent); }
.wf-card-body { display:flex; flex-direction:column; flex:1; padding:21px; }
.wf-card-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; font:8px 'IBM Plex Mono',monospace; color:#8791a0; }
.aiva-lab .wf-card h3 { font-size:21px; line-height:1.35; letter-spacing:-.04em; margin:16px 0 10px; }
.wf-card h3 button { background:none; border:0; color:#f0eee8; padding:0; margin:0; font:inherit; letter-spacing:inherit; cursor:pointer; text-align:left; }
.wf-card-body>p { margin:0 0 25px; font-size:12px!important; line-height:1.8; color:#9ca5b2; }
.wf-card-bottom { display:flex; align-items:center; justify-content:space-between; margin-top:auto; border-top:1px solid #ffffff13; padding-top:18px; }
.wf-card-bottom>span { color:#eeeae2; font-size:17px; font-weight:650; }
.wf-card-bottom small { display:block; color:#7e8998; font:8px 'IBM Plex Mono',monospace; margin-top:4px; }
.wf-download { font-size:11px; font-weight:600; border:1px solid #ffffff30; border-radius:8px; padding:10px 12px; text-decoration:none; }
.wf-download:hover { border-color:var(--wf-accent); background:#ffffff07; }
.wf-setup-link { display:block; border-top:1px solid #ffffff13; margin-top:18px; padding-top:14px; text-decoration:none; font-size:10px; color:#acb5c2!important; }
.wf-setup-link:hover { color:var(--wf-accent)!important; }
.wf-how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; }
.wf-how-grid article { padding:25px 0; border-top:1px solid #ffffff1c; }
.wf-how-grid span { font:9px 'IBM Plex Mono',monospace; color:var(--av-orange); }
.wf-how-grid p { max-width:330px; font-size:13px; }
.wf-modal-open { overflow:hidden; }
.wf-dialog { width:min(1140px,calc(100% - 40px)); max-height:90vh; max-height:90dvh; padding:28px; border:1px solid #ffffff30; border-radius:22px; background:#10141a; color:#eceae5; box-shadow:0 35px 120px #0009; overflow:auto; margin:auto; }
.wf-dialog::backdrop { background:#030609db; backdrop-filter:blur(9px); }
.wf-dialog-head { display:flex; justify-content:space-between; align-items:flex-start; gap:25px; margin-bottom:22px; }
.wf-dialog-head small { color:var(--av-orange); font:9px 'IBM Plex Mono',monospace; }
.wf-dialog h2 { font:700 clamp(22px,3vw,34px)/1.2 Manrope,Arial,sans-serif; letter-spacing:-.04em; margin:12px 0 0; }
.wf-close { position:sticky; top:0; flex-shrink:0; background:#202733; border:1px solid #ffffff30; border-radius:50%; width:40px; height:40px; font-size:24px; color:#ddd; cursor:pointer; }
.wf-canvas--large { padding:24px 15px; }
.wf-dialog .wf-graph { min-height:230px; }
.wf-dialog .wf-explanation { min-height:75px; }
.wf-dialog .wf-explanation p { font-size:13px; }
.wf-dialog-details { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin:24px 0; }
.wf-dialog h3 { font-size:15px; font-weight:650; }
.wf-dialog-details p { color:#a4afbd; font-size:12px; line-height:1.8; }
.wf-dialog details { margin-top:18px; }
.wf-dialog summary { font-size:11px; color:#d0d8e2; cursor:pointer; }
.wf-dialog pre { overflow:auto; max-height:230px; padding:16px; border:1px solid #ffffff18; border-radius:8px; font:10px/1.7 'IBM Plex Mono',monospace; color:#b6c5d7; background:#0a0e14; white-space:pre-wrap; }
.wf-dialog-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; border-top:1px solid #ffffff20; padding-top:22px; }
.wf-dialog-actions .aiva-button { min-height:45px; font-size:12px; }
.wf-dialog-actions small { color:#8b95a2; font-size:9px; }
.wf-request { max-width:850px; }
.wf-request h2.wf-request-title { font-size:28px; margin:32px 0; }
.wf-request .aiva-request-list { margin-top:50px; }
.wf-upload-summary { color:#aeb8c6; font-size:12px; }
.wf-upload-summary ol { max-height:200px; overflow:auto; line-height:1.8; }
.aiva-lab .wf-uploaded { margin:30px 0; overflow:auto; padding:28px 15px; background:#0b0f15; border:1px solid #ffffff20; border-radius:16px; }
.wf-uploaded .wf-graph { min-width:850px; }
.wf-uploaded details summary { cursor:pointer; margin-top:16px; color:#a3afbd; font-size:12px; }
@keyframes wf-signal { to { stroke-dashoffset:-18; } }
@media(min-width:851px) {
 .wf-hero { padding-top:28px; padding-bottom:24px; row-gap:18px; }
 .wf-hero-demo { padding:16px 18px 10px; }
 .wf-featured-title { min-height:44px; margin:16px 0 12px; }
 .wf-hero-demo .wf-canvas { height:185px; padding:12px 8px; display:grid; place-items:center; }
 .wf-hero-demo .wf-graph { height:160px; }
 .wf-hero-demo .wf-explanation { min-height:64px; padding:10px 12px; }
 .wf-featured-caption { min-height:31px; margin-top:10px; }
 .wf-switcher { margin-top:10px; }
}
@media(min-width:1600px) { .wf-hero { padding-top:65px; gap:30px 65px; }.wf-canvas { padding-block:36px; } }
@media(max-width:1100px) { .wf-hero { gap:24px; grid-template-columns:.8fr 1.2fr; }.wf-hero h1{font-size:56px}.wf-hero-demo{padding:16px}.wf-switcher button{font-size:10px;padding:13px 9px}.wf-switcher{gap:6px}.wf-card-body{padding:17px}.wf-card-meta{font-size:7px}.wf-card h3{font-size:19px}.wf-hero .aiva-kicker{font-size:8px} }
@media(max-width:850px) { .wf-hero{grid-template-columns:1fr;padding-top:34px}.wf-hero-copy{max-width:600px}.wf-hero h1{font-size:62px}.wf-hero h1 br{display:none}.wf-hero-description{max-width:560px}.wf-hero-lead br{display:none}.wf-hero-proof{display:none}.wf-hero-demo{margin-top:5px}.wf-featured-title{min-height:0}.wf-canvas{padding:20px 8px}.wf-switcher{grid-template-columns:repeat(3,1fr);margin-top:0}.wf-switcher button{font-size:11px}.wf-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wf-how-grid{gap:24px}.wf-how-grid h3{font-size:19px}.wf-dialog{padding:20px}.wf-dialog-details{gap:20px} }
@media(max-width:600px) { .wf-hero{padding-top:30px;padding-bottom:30px;gap:19px}.wf-hero h1{font-size:55px;line-height:1.05}.wf-hero h1 br{display:block}.wf-hero .aiva-kicker{font-size:7px;margin-bottom:20px}.wf-hero-lead{font-size:22px}.wf-hero-description{font-size:13px}.wf-hero-actions{gap:18px;margin:23px 0 5px}.wf-hero-actions .aiva-button{min-height:47px}.wf-hero-actions .aiva-link{font-size:11px}.wf-hero-demo{padding:14px;border-radius:17px}.wf-preview-label{font-size:6px}.wf-home .wf-featured-title h2{font-size:20px}.wf-featured-title{margin:15px 0 13px}.wf-toolbar{font-size:7px;padding:10px 8px}.wf-canvas{padding:27px 4px}.wf-explanation{min-height:87px}.wf-explanation p{font-size:10px}.wf-canvas-tools{padding:9px 7px}.wf-canvas-tools button{font-size:7px}.wf-featured-caption{font-size:10px}.wf-switcher{gap:6px}.wf-switcher button{padding:13px 8px;font-size:10px;gap:6px}.wf-switcher button b{display:none}.wf-card-grid{grid-template-columns:1fr}.wf-card-preview{padding:52px 15px 44px}.wf-card-preview .wf-graph{height:115px}.wf-card-body{padding:22px}.aiva-lab .wf-card h3{font-size:23px}.wf-card-meta{font-size:8px}.wf-card-body>p{font-size:13px!important}.wf-download{font-size:12px}.wf-setup-link{font-size:12px}.wf-catalogue{padding-top:40px}.wf-catalogue .aiva-section-head>p{margin-bottom:20px}.wf-search{flex-direction:row;padding:8px 8px 8px 15px}.wf-search input{font-size:12px}.wf-search .aiva-button{min-height:42px;padding:0 15px;font-size:11px}.aiva-lab .aiva-industry-filter{gap:7px}.aiva-lab .aiva-industry-filter a{font-size:9px;min-height:34px;padding:6px 11px}.wf-how-grid{grid-template-columns:1fr;gap:0}.wf-how-grid article{padding:24px 0}.wf-how-grid h3{font-size:24px}.wf-dialog{width:calc(100% - 20px);max-height:94dvh;padding:15px;border-radius:15px}.wf-dialog-head{gap:15px}.wf-dialog h2{font-size:24px}.wf-dialog-head small{font-size:8px}.wf-close{width:34px;height:34px}.wf-dialog .wf-graph{min-height:160px}.wf-dialog-details{grid-template-columns:1fr;gap:6px}.wf-dialog .wf-explanation p{font-size:11px}.wf-dialog-actions{gap:12px}.wf-dialog-actions .aiva-button{flex:1;min-width:130px;padding:0 12px;font-size:11px}.wf-dialog-actions small{width:100%}.wf-dialog .wf-canvas-tools{flex-wrap:wrap}.wf-request h1{font-size:44px} }
@media(prefers-reduced-motion:reduce) { .wf-edge.is-current{animation:none}.wf-card,.wf-node rect{transition:none}.wf-card:hover{transform:none} }
