/* Hero console + living graph, capability machine, process network and pointer aware service cards. */
.home-labs .labs-particles{opacity:1;mix-blend-mode:screen}
.home-labs .labs-ps-terminal{background:#071522f2;border-color:#54718a;box-shadow:0 15px 55px #020812a8,8px 8px 0 #ff815b1d;top:5.5%;width:clamp(330px,28vw,430px)}
.home-labs .labs-ps-terminal .labs-code-caption{color:#e3eff2;font-weight:500}
.home-labs .labs-ps-terminal .labs-code-window{height:156px;overflow-y:auto;overflow-x:hidden;mask-image:none;scrollbar-width:none;padding:8px 2px 6px}.home-labs .labs-ps-terminal .labs-code-window::-webkit-scrollbar{display:none}
.ps-line{min-height:26px;line-height:26px;color:#c4d6dc;white-space:nowrap;font:9px/26px 'DM Mono',monospace}.ps-line>span:first-child{color:#76deea}.ps-line .ps-command{color:#f0f5f5}.ps-line.ps-success{color:#97e0ad}.ps-caret{font-style:normal;color:#ff956f;animation:v7-blink .75s steps(1,end) infinite}@keyframes v7-blink{50%{opacity:0}}
.home-labs .labs-ps-terminal .labs-code-foot{color:#8fb3c0}.home-labs .labs-ps-terminal .labs-code-foot i{color:#ff906b}
.labs-graph-card{position:absolute;right:0;top:39%;z-index:3;width:clamp(218px,19vw,275px);padding:10px 12px 8px;border:1px solid #436174;background:#0c1c2af2;box-shadow:5px 5px 0 #79dce315;color:#c9e4e7;font:8px 'DM Mono',monospace;letter-spacing:.02em;pointer-events:none}
.labs-graph-card>div{display:flex;align-items:center;gap:7px}.labs-graph-card .labs-code-led{width:5px;height:5px}.labs-graph-card b{font-weight:400;margin-left:auto;color:#ff9a78;font-size:7px}.labs-graph-card>svg{display:block;width:100%;height:76px;margin:6px 0 2px;overflow:visible}.labs-graph-card svg path{fill:none;stroke:#5aa5b65f;stroke-width:2}.labs-graph-card svg path.labs-graph-line{stroke:#7be5eb;stroke-width:2.5;stroke-dasharray:22 330;stroke-dashoffset:0;filter:drop-shadow(0 0 5px #7be5eb);animation:v7-graph-run 4s linear infinite}.labs-graph-card svg circle{fill:#ff946f;filter:drop-shadow(0 0 5px #ff946f);animation:v7-node 2.2s ease-in-out infinite alternate}.labs-graph-card svg circle:last-child{animation-delay:1s}.labs-graph-card>span{color:#9fc0c8}
@keyframes v7-graph-run{to{stroke-dashoffset:-352}}@keyframes v7-node{to{opacity:.4;transform:scale(1.35)}}
/* The capability area is an interactive working machine: input, processing and output. */
.home-labs .experience-section{padding-top:82px;padding-bottom:90px}.home-labs .experience-top{margin-bottom:44px}.home-labs .experience-content{align-items:center}
.home-labs .experience-tab{font-size:clamp(22px,2.45vw,38px);padding:11px 4px 11px 0}.home-labs .experience-tabs{margin-top:30px}
.home-labs .machine-stage{aspect-ratio:1.17;min-height:460px;background:radial-gradient(circle at 50% 44%,#204156,#0d1b2a 51%,#091723 100%);border:1px solid #457083;display:flex;flex-direction:column;isolation:isolate;box-shadow:0 25px 70px #020713aa;overflow:hidden}
.machine-stage:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#7bd6e713 1px,transparent 1px),linear-gradient(90deg,#7bd6e713 1px,transparent 1px);background-size:37px 37px;mask-image:radial-gradient(ellipse at center,#000,#0007 70%,transparent);pointer-events:none}
.machine-stage:after{content:'';position:absolute;inset:auto 0 0;height:44%;background:linear-gradient(transparent,#07111ab8);pointer-events:none;z-index:-1}
.machine-top,.machine-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;min-height:54px;border-bottom:1px solid #426477;background:#0c1d2baa;padding:0 20px;color:#b9d4db;font:9px 'DM Mono',monospace;letter-spacing:.04em}.machine-top i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff936e;box-shadow:0 0 15px #ff936e;margin-right:8px;animation:v7-blink 2.5s infinite}.machine-top>span:last-child{color:#ff9d79;font-size:7px}.machine-bottom{justify-content:flex-start;gap:20px;margin-top:auto;border:0;border-top:1px solid #426477;min-height:53px;background:#0b1a27e0}.machine-bottom>span{color:#b5cad1}.machine-bottom>span:first-child{color:#ff9a77}
.machine-bars{margin-left:auto;display:flex;align-items:end;gap:3px;height:20px}.machine-bars i{width:3px;height:10px;background:#75e3ea;animation:v7-bars .9s ease-in-out infinite alternate}.machine-bars i:nth-child(2){height:17px;animation-delay:.2s}.machine-bars i:nth-child(3){height:8px;animation-delay:.4s}.machine-bars i:nth-child(4){height:14px;animation-delay:.6s}@keyframes v7-bars{to{height:4px}}
.machine-scene{position:relative;flex:1;display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(180px,1.25fr) 46px minmax(0,1fr);align-items:center;gap:0;padding:18px clamp(18px,3vw,38px);min-height:0;transition:opacity .3s,transform .3s}.machine-stage.switching .machine-scene{opacity:.45;transform:scale(.97)}
.machine-grid{position:absolute;inset:8% 4%;border:1px dashed #4d859444;border-radius:50%;box-shadow:0 0 90px #76dfe91d;pointer-events:none;animation:v7-ring-glow 7s ease-in-out infinite}
.machine-input,.machine-output{z-index:3;min-width:0;border:1px solid #50788a;background:#0a1d2cd9;padding:14px 11px;box-shadow:0 10px 30px #01091385;display:flex;flex-direction:column;gap:10px;min-height:140px;backdrop-filter:blur(5px)}
.machine-input small,.machine-output small{color:#ff9a76;font:9px 'DM Mono',monospace}.machine-input strong,.machine-output strong{color:#edf9fa;font:600 clamp(15px,1.4vw,22px) 'Space Grotesk',sans-serif;letter-spacing:-.04em;line-height:1.1;overflow-wrap:anywhere}.machine-input>span:last-child,.machine-output>span:last-child{color:#9db9c2;font:8px/1.4 'DM Mono',monospace}
.machine-data{display:flex;gap:4px;align-items:center;height:17px}.machine-data i{width:13%;height:7px;background:#6bdfeb;animation:v7-input 1.3s ease-in-out infinite alternate}.machine-data i:nth-child(2){animation-delay:.2s}.machine-data i:nth-child(3){animation-delay:.4s}.machine-data i:nth-child(4){animation-delay:.6s}.machine-data i:nth-child(5){animation-delay:.8s}@keyframes v7-input{to{height:17px;background:#ff9d79}}
.machine-result{color:#9be5bb;font:8px 'DM Mono',monospace;white-space:nowrap}
.machine-wire{z-index:2;height:2px;position:relative;background:linear-gradient(90deg,#5dd7e5,#ff9471);box-shadow:0 0 13px #69d9e866}.machine-wire-right{background:linear-gradient(90deg,#ff9471,#5dd7e5)}.machine-wire i{position:absolute;top:-3px;width:8px;height:8px;border-radius:50%;background:#fbad85;box-shadow:0 0 12px #ff9471;animation:v7-packet 2.2s linear infinite}.machine-wire i:nth-child(2){animation-delay:.72s}.machine-wire i:nth-child(3){animation-delay:1.44s}@keyframes v7-packet{from{left:0;opacity:0}15%{opacity:1}85%{opacity:1}to{left:100%;opacity:0}}
.machine-processor{position:relative;z-index:2;width:min(100%,290px);aspect-ratio:1;margin:auto;display:grid;place-items:center;filter:drop-shadow(0 0 32px #65dbe639)}
.machine-processor:before{content:'';position:absolute;inset:9%;border:1px solid #69d9e978;border-radius:50%;box-shadow:inset 0 0 37px #6ddee71a,0 0 32px #6ddee722;animation:v7-ring-glow 4.5s ease-in-out infinite}
.machine-ring{position:absolute;inset:1%;border:2px dashed #ff9a7191;border-radius:50%;animation:v7-spin 15s linear infinite}.machine-ring-inner{inset:17%;border-color:#83e6eb88;animation-direction:reverse;animation-duration:10s}@keyframes v7-spin{to{transform:rotate(360deg)}}@keyframes v7-ring-glow{50%{opacity:.55;box-shadow:inset 0 0 52px #6ddee72a,0 0 58px #6ddee755}}
.machine-chip{position:relative;z-index:3;width:50%;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border:2px solid #87ebef;background:radial-gradient(circle,#316279,#102c42 72%);box-shadow:inset 0 0 32px #8be1ea55,0 0 35px #64d7e388;text-align:center;clip-path:polygon(13% 0,87% 0,100% 13%,100% 87%,87% 100%,13% 100%,0 87%,0 13%)}.machine-chip>span{color:#ff9c77;font-size:34px;line-height:1}.machine-chip strong{color:#f4feff;font:700 clamp(12px,1.2vw,18px) 'Space Grotesk',sans-serif;letter-spacing:-.02em}.machine-chip small{color:#a8d9df;font:8px 'DM Mono',monospace;letter-spacing:.07em}
.machine-orbit{position:absolute;width:10px;height:10px;border-radius:50%;background:#ff956f;box-shadow:0 0 17px #ff956f;top:8%;left:23%;animation:v7-orbit 4s ease-in-out infinite}.machine-orbit-two{background:#83eaf0;box-shadow:0 0 17px #83eaf0;top:78%;left:78%;animation-delay:-2s}@keyframes v7-orbit{50%{transform:translate(18px,-14px)}}
.machine-stage .experience-corner{top:auto;bottom:66px;right:16px;z-index:4}.machine-stage[data-machine-mode=software] .machine-chip{background:radial-gradient(circle,#614236,#233247 72%);border-color:#ffad89}.machine-stage[data-machine-mode=digital] .machine-chip{background:radial-gradient(circle,#31636a,#103246 72%)}
/* Screenshot two: make the unused space express Coterie's actual delivery method. */
.home-labs .intro-section{padding-top:78px;padding-bottom:80px}.home-labs .intro-grid{gap:6vw;grid-template-columns:1.15fr .85fr}.home-labs .intro-section .section-heading{margin-top:48px}.home-labs .intro-copy{padding-top:30px}
.intro-network{margin-top:43px;max-width:680px;padding:17px 21px 18px;border:1px solid #39576b;background:radial-gradient(circle at 50% 55%,#19506355,transparent 65%),#0f1e2c;box-shadow:inset 0 0 45px #77ddea0b}.intro-network-label{display:block;color:#ff9c75;font:9px 'DM Mono',monospace;letter-spacing:.06em}.intro-nodes{display:grid;grid-template-columns:1fr 36px 1fr 36px 1fr;align-items:center;margin:19px 0}.intro-nodes>span{border:1px solid #4b7788;background:#142d3d;padding:12px 7px;min-height:72px;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;text-align:center;box-shadow:0 0 15px #56c8d115;animation:v7-node-glow 3.2s ease-in-out infinite}.intro-nodes>span:nth-of-type(2){animation-delay:1s}.intro-nodes>span:nth-of-type(3){animation-delay:2s}.intro-nodes b{color:#ff9b76;font:9px 'DM Mono',monospace}.intro-nodes strong{color:#e5f1f3;font:600 11px 'Space Grotesk',sans-serif;white-space:nowrap}.intro-nodes>i{height:2px;background:linear-gradient(90deg,#ff9875,#79e4e9);position:relative}.intro-nodes>i:after{content:'';position:absolute;width:7px;height:7px;top:-3px;border-radius:50%;background:#ff9875;box-shadow:0 0 12px #ff9875;animation:v7-packet 1.8s linear infinite}.intro-nodes>i:nth-of-type(2):after{animation-delay:.9s}
@keyframes v7-node-glow{50%{border-color:#9be6ea;box-shadow:0 0 25px #64dee044}}
.intro-network-foot{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #39576b;padding-top:10px;color:#9bb7c2;font:8px 'DM Mono',monospace}.intro-network-foot span:last-child{color:#ff9c75}.intro-signal{display:flex;align-items:center;gap:9px;margin-top:43px;padding:17px 13px;border-top:1px solid #395363;border-bottom:1px solid #395363;color:#b9ced5;font:9px 'DM Mono',monospace}.intro-signal span{display:flex;align-items:center;gap:5px}.intro-signal i{width:6px;height:6px;border-radius:50%;background:#ff9875;box-shadow:0 0 10px #ff9875;animation:v7-blink 2s infinite}.intro-signal span:nth-child(2) i{animation-delay:.55s}.intro-signal span:nth-child(3) i{animation-delay:1.1s}.intro-signal b{margin-left:auto;color:#ff9875;font-size:19px;font-weight:400}.home-labs .capability-strip{margin-top:40px}
/* Screenshot three: clear hover, pointer tracking, keyboard focus and press feedback. */
.home-labs .service-grid{perspective:1200px}.home-labs .service-grid .service-card{--spot-x:50%;--spot-y:50%;--tilt-x:0deg;--tilt-y:0deg;transform:perspective(950px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .2s ease-out,border-color .25s,background .25s;will-change:transform;isolation:isolate}
.home-labs .service-grid .service-card:hover,.home-labs .service-grid .service-card:focus-visible{transform:perspective(950px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-7px);background:#1a2d3c;border-color:#ff9875;box-shadow:0 18px 34px #02091377}
.home-labs .service-grid .service-card:active{transform:perspective(950px) scale(.98)}
.home-labs .service-grid .service-card:after{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(310px circle at var(--spot-x) var(--spot-y),#78e8ef29,transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none}.home-labs .service-grid .service-card:hover:after,.home-labs .service-grid .service-card:focus-visible:after{opacity:1}
.home-labs .service-grid .service-card>*{position:relative;z-index:1}.home-labs .service-grid .service-art{display:block}.home-labs .service-grid .service-card:hover .service-preview{border-color:#a2eced;box-shadow:0 0 30px #6fe1e333,inset 0 0 65px #4bafc226}
.home-labs .service-grid .card-arrow{transition:transform .25s,background .25s}.home-labs .service-grid .service-card:hover .card-arrow{transform:rotate(45deg);background:#ff906a;color:#091923}
@media(max-width:1200px){.home-labs .labs-ps-terminal{width:325px}.labs-graph-card{top:40%;width:225px}.machine-scene{grid-template-columns:minmax(0,1fr) 22px minmax(165px,1.15fr) 22px minmax(0,1fr);padding:12px}.machine-processor{width:min(100%,245px)}}
@media(max-width:900px){.home-labs .experience-content{grid-template-columns:1fr;gap:34px}.machine-stage{width:100%;max-width:800px;margin:auto}.home-labs .intro-grid{gap:32px}}
@media(max-width:760px){.home-labs .labs-ps-terminal{position:relative;top:auto;right:auto;order:3;width:100%;margin-top:6px}.labs-graph-card{position:relative;top:auto;right:auto;order:3;width:100%;margin:10px 0 0}.labs-graph-card>svg{height:58px}.home-labs .experience-top{margin-bottom:32px}.home-labs .experience-section{padding-top:72px}.home-labs .intro-section{padding-top:70px;padding-bottom:75px}.home-labs .intro-grid{grid-template-columns:1fr}.home-labs .intro-section .section-heading{margin-top:29px}.home-labs .intro-network{margin-top:29px}.home-labs .intro-copy{padding-top:18px}.intro-signal{margin-top:27px}.home-labs .capability-strip{margin-top:35px}.home-labs .service-grid .service-card{will-change:auto}}
@media(max-width:600px){.home-labs .machine-stage{aspect-ratio:auto;min-height:530px}.machine-scene{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:12px}.machine-input,.machine-output{width:78%;min-height:68px;padding:8px 12px;gap:5px}.machine-input strong,.machine-output strong{font-size:16px}.machine-input>span:last-child,.machine-output>span:last-child{display:none}.machine-data{height:12px}.machine-wire{width:2px;height:20px;flex:none}.machine-wire i{top:0;left:-3px;animation:v7-packet-down 1.8s linear infinite}@keyframes v7-packet-down{from{top:0;opacity:0}15%{opacity:1}85%{opacity:1}to{top:100%;opacity:0}}.machine-processor{width:164px;flex:none}.machine-chip strong{font-size:11px}.machine-chip>span{font-size:24px}.machine-bottom{gap:9px;font-size:7px;padding:0 11px}.machine-stage .experience-corner{bottom:59px}.intro-nodes{grid-template-columns:1fr 20px 1fr 20px 1fr}.intro-nodes strong{font-size:8px}.intro-network{padding:13px}.intro-network-foot{font-size:7px}.intro-signal{flex-wrap:wrap;font-size:8px}}
@media(prefers-reduced-motion:reduce){.labs-graph-card svg path.labs-graph-line,.labs-graph-card svg circle,.ps-caret,.machine-stage *,.intro-network *,.intro-signal i{animation:none!important}.home-labs .service-grid .service-card,.home-labs .service-grid .service-card:hover{transform:none!important;transition:none!important}}
