.portfolio{padding-top:110px}.portfolio-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:38px}.portfolio-heading h2{max-width:750px}.portfolio-heading p{max-width:580px;color:#667780;line-height:1.7;margin:16px 0 0}.portfolio-count,.portfolio-kicker{font:600 10px/1.5 Arial,sans-serif;letter-spacing:2px;color:#008393}.portfolio-count{white-space:nowrap;color:#7e9399}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.portfolio-card{min-width:0}.portfolio-view{display:block;padding:0;border:0;width:100%;text-align:left;background:none;border-radius:14px}.portfolio-visual{position:relative;overflow:hidden;min-height:330px;height:clamp(330px,34vw,475px);border-radius:14px;display:flex;justify-content:center;align-items:center}.ergoo-visual{background:radial-gradient(circle at 55% 28%,#e7f3f3,#d5e1e3 65%,#b9cdd1)}.portfolio-browser{width:86%;height:75%;overflow:hidden;border-radius:9px 9px 2px 2px;background:#fff;box-shadow:0 28px 70px #112e3940;transform:perspective(900px) rotateY(-7deg) rotateX(4deg);transition:transform .5s ease}.portfolio-browser img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.portfolio-browser-bar{height:25px;background:#fff;display:flex;align-items:center;gap:18px;padding:0 10px;color:#a7b4b6;font-size:8px}.portfolio-browser-bar small{color:#63757b;font-size:9px}.portfolio-view:hover .portfolio-browser,.portfolio-view:focus-visible .portfolio-browser{transform:perspective(900px) rotateY(0) rotateX(0) scale(1.06)}.portfolio-view-hint{position:absolute;right:18px;bottom:18px;background:#101a20;color:#fff;border-radius:30px;padding:11px 16px;font-size:12px;opacity:0;transform:translateY(5px);transition:.25s}.portfolio-view:hover .portfolio-view-hint,.portfolio-view:focus-visible .portfolio-view-hint{opacity:1;transform:none}.portfolio-info{padding:24px 2px 0}.portfolio-info h3{font-size:29px;font-weight:500;margin:11px 0}.portfolio-info h3 span{float:right;font-size:20px;color:#008393}.portfolio-info p{color:#65757b;line-height:1.6;max-width:440px;margin:0}.portfolio-link{border:0;background:none;color:#007b89;padding:14px 0;min-height:44px;font-weight:600}.nexomix-visual{background:radial-gradient(circle at 55% 30%,#1a3b50,#10171e 65%,#080c10)}.nexo-device{width:84%;padding:25px;background:#0c1119;border:1px solid #364850;border-radius:14px;box-shadow:0 25px 70px #0007;transform:perspective(900px) rotateY(7deg) rotateX(4deg);transition:transform .5s}.portfolio-view:hover .nexo-device,.portfolio-view:focus-visible .nexo-device{transform:perspective(900px) rotateY(0) rotateX(0) scale(1.06)}.nexo-top{display:flex;justify-content:space-between;color:#e7fafc;font:700 14px Arial}.nexo-top b span{color:#00e5ff}.nexo-top small{font:8px monospace;color:#8aa5af}.nexo-wave{height:46px;margin:22px 0;background:repeating-linear-gradient(90deg,#00dbe9 0 2px,transparent 2px 6px);clip-path:polygon(0 44%,8% 30%,15% 60%,23% 15%,31% 65%,39% 35%,48% 57%,56% 18%,66% 70%,73% 28%,80% 55%,90% 20%,100% 47%,100% 54%,90% 80%,80% 44%,73% 72%,66% 30%,56% 82%,48% 43%,39% 65%,31% 35%,23% 85%,15% 40%,8% 70%,0 56%)}.nexo-decks{display:flex;justify-content:space-between;align-items:center;gap:10px}.nexo-disc{width:32%;aspect-ratio:1;border-radius:50%;border:5px solid #293b48;background:radial-gradient(circle,#00e5ff 0 3%,#13202c 4% 22%,#364a58 23% 24%,#101b24 25% 45%,#344855 46% 47%,#111a22 48%)}.nexo-mixer{height:100px;display:flex;gap:12px}.nexo-mixer i{width:5px;height:100%;background:linear-gradient(#006a78,#00c8d5 45%,#293945 46%);border-radius:8px}.nexo-bottom{display:flex;justify-content:space-between;margin-top:15px;color:#b8dfe1;font-size:12px}.nexo-illustrative{position:absolute;left:20px;bottom:18px;font:9px monospace;letter-spacing:1.2px;color:#a9c8cf}.portfolio-dialog{border:0;border-radius:16px;padding:0;width:min(900px,calc(100% - 28px));max-height:90dvh;color:#11171c;box-shadow:0 22px 90px #071c2c55;overflow:auto}.portfolio-dialog::backdrop{background:#08141bd9;backdrop-filter:blur(5px)}.portfolio-close{position:absolute;z-index:2;right:16px;top:16px;background:#fff;color:#14252a;border:0;border-radius:50%;width:44px;height:44px;font-size:26px}.portfolio-dialog .portfolio-visual{height:420px;border-radius:0}.portfolio-dialog .portfolio-browser,.portfolio-dialog .nexo-device{transform:none}.portfolio-dialog-copy{padding:28px 34px 34px}.portfolio-dialog-copy h3{font-size:32px;margin:8px 0}.portfolio-description,.portfolio-preview-note{color:#64757d;line-height:1.7}.portfolio-external{display:inline-flex;min-height:44px;align-items:center;color:#007785;font-weight:600}.portfolio-preview-note{font-size:12px}.portfolio-external[hidden],.portfolio-preview-note[hidden]{display:none}.portfolio button:focus-visible,.portfolio-dialog button:focus-visible{outline:3px solid #007785;outline-offset:4px}@media(max-width:650px){.portfolio{padding-top:60px}.portfolio-heading{display:block;margin-bottom:25px}.portfolio-count{display:block;margin-top:20px}.portfolio-grid{grid-template-columns:1fr;gap:36px}.portfolio-visual{height:300px;min-height:300px}.portfolio-view-hint{opacity:1;transform:none}.portfolio-info{padding-top:18px}.portfolio-dialog .portfolio-visual{height:275px;min-height:275px}.portfolio-dialog-copy{padding:24px}.nexo-device{padding:18px}.nexo-mixer{height:70px}}@media(prefers-reduced-motion:reduce){.portfolio-browser,.nexo-device,.portfolio-view-hint{transition:none}}
.portfolio-cover{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.portfolio-view:hover .portfolio-cover,.portfolio-view:focus-visible .portfolio-cover{transform:scale(1.045)}.portfolio-video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#0b1218}.portfolio-dialog-visual{background:#0b1218}@media(prefers-reduced-motion:reduce){.portfolio-cover{transition:none}}
.portfolio-illustration-label{position:absolute;left:14px;bottom:14px;padding:6px 9px;border-radius:5px;color:#fff;background:#071116b8;font-size:10px}

.portfolio-dialog:has(.project-demo) { width:min(1100px,calc(100% - 24px)); }
.project-demo { padding:56px 26px 20px; color:#edf9fa; background:radial-gradient(ellipse at top,#233440,#0b1218 70%); }
.project-demo-devices { display:flex; align-items:center; justify-content:center; gap:20px; }
.project-demo-device { flex:1; min-width:0; margin:0; }
.project-demo-device.is-phone { flex:0 1 20%; }
.project-demo-device figcaption { margin:0 0 8px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#b7cdd3; }
.project-demo-screen { position:relative; overflow:hidden; aspect-ratio:2.07; background:#151d25; border:4px solid #364650; border-radius:10px; }
.is-phone .project-demo-screen { aspect-ratio:.576; border-radius:16px; }
.project-demo-screen img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:0; transform:translateY(10px); transition:opacity .38s ease,transform .38s ease; }
.project-demo-screen img.is-current { opacity:1; transform:none; z-index:1; }
.project-demo-controls { display:flex; justify-content:center; flex-wrap:wrap; gap:7px; margin-top:16px; }
.project-demo-controls button { min-height:40px; min-width:40px; padding:0 12px; border:1px solid #52717a; border-radius:20px; color:#e2f4f5; background:#15232b; cursor:pointer; }
.project-demo-controls button[aria-pressed="true"] { background:#87e2e6; color:#122028; border-color:#87e2e6; }
@media(max-width:650px) {
  .project-demo { padding:54px 14px 16px; }
  .project-demo-devices { flex-direction:column; gap:14px; }
  .project-demo-device { width:100%; }
  .project-demo-device.is-phone { width:min(52%,180px); }
}
@media(prefers-reduced-motion:reduce) { .project-demo-screen img { transition:none; } }
.project-demo-screen video { display:block; width:100%; height:100%; object-fit:contain; }
