/* Pario portfolio constellation + compact index */
.portfolio.constellation-mode{background:#f2efe7;color:#07111f}
.portfolio.constellation-mode .portfolio-toolbar{position:relative;top:auto;margin-bottom:22px}
.portfolio.constellation-mode .portfolio-meta{margin-bottom:20px}
.portfolio.constellation-mode .company-grid{display:block}
.constellation-shell{position:relative;overflow:hidden;min-height:660px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:radial-gradient(circle at 18% 18%,rgba(86,214,201,.13),transparent 24%),radial-gradient(circle at 82% 68%,rgba(63,124,255,.12),transparent 28%),linear-gradient(145deg,#06101c,#0a1a2b 55%,#07111f);box-shadow:0 34px 90px rgba(7,17,31,.18);color:#fff}
.constellation-shell:before{content:'';position:absolute;inset:0;opacity:.18;background-image:radial-gradient(circle,rgba(255,255,255,.58) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,black,transparent 92%);pointer-events:none}
.constellation-top{position:relative;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px 30px 16px}
.constellation-top h3{margin:0;font:700 clamp(1.7rem,2.8vw,2.7rem)/1 Manrope,sans-serif;letter-spacing:-.045em}
.constellation-top p{max-width:540px;margin:10px 0 0;color:#9eabba;font-size:.88rem;line-height:1.6}
.constellation-legend{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end;color:#aab7c7;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.constellation-legend span{display:inline-flex;align-items:center;gap:7px}.constellation-legend i{width:8px;height:8px;border-radius:50%;background:#56d6c9;box-shadow:0 0 0 5px rgba(86,214,201,.09)}.constellation-legend span:last-child i{background:#7189ff;box-shadow:0 0 0 5px rgba(113,137,255,.09)}
.constellation-stage{position:relative;height:550px;margin:0 22px 24px;border-top:1px solid rgba(255,255,255,.1)}
.constellation-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.constellation-lines line{stroke:rgba(86,214,201,.16);stroke-width:1}.constellation-lines circle{fill:rgba(86,214,201,.5)}
.constellation-node{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;max-width:170px;padding:9px 12px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(8,22,37,.78);backdrop-filter:blur(12px);box-shadow:0 9px 30px rgba(0,0,0,.18);color:#fff;cursor:pointer;transition:transform .23s ease,border-color .23s ease,background .23s ease,box-shadow .23s ease}
.constellation-node:hover,.constellation-node:focus-visible,.constellation-node.active{transform:translateY(-4px) scale(1.035);border-color:rgba(86,214,201,.6);background:rgba(13,36,57,.95);box-shadow:0 16px 40px rgba(0,0,0,.3),0 0 0 1px rgba(86,214,201,.16)}
.constellation-node.recent:after{content:'';position:absolute;right:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:#56d6c9;box-shadow:0 0 0 5px rgba(86,214,201,.09)}
.constellation-node.portfolio:after{content:'';position:absolute;right:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:#7189ff;box-shadow:0 0 0 5px rgba(113,137,255,.09)}
.constellation-node img{width:28px;height:28px;object-fit:contain;border-radius:7px;background:#fff;padding:3px}.constellation-node .node-fallback{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:rgba(86,214,201,.1);color:#56d6c9;font:800 .64rem Manrope}
.constellation-node b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 .76rem Manrope,sans-serif}
.constellation-count{position:absolute;z-index:2;right:18px;bottom:14px;color:#8391a2;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase}

/* Company details always overlay the portfolio constellation. */
.constellation-overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:34px;pointer-events:none;opacity:0;transition:opacity .24s ease}
.constellation-overlay.open{pointer-events:auto;opacity:1}
.constellation-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:rgba(2,8,15,.68);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);cursor:pointer}
.constellation-drawer{position:relative;z-index:2;width:min(520px,92%);max-height:calc(100% - 36px);padding:34px;background:rgba(7,17,31,.985);backdrop-filter:blur(24px);border:1px solid rgba(86,214,201,.28);border-radius:24px;box-shadow:0 34px 100px rgba(0,0,0,.52);transform:translateY(18px) scale(.97);opacity:0;transition:transform .28s cubic-bezier(.22,.8,.22,1),opacity .22s ease;overflow:auto}
.constellation-drawer.open{transform:none;opacity:1}.drawer-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:#fff;font-size:1.3rem;cursor:pointer}.drawer-logo{width:72px;height:72px;display:grid;place-items:center;border-radius:18px;background:#fff;border:1px solid rgba(255,255,255,.1);overflow:hidden;margin:24px 0 24px}.drawer-logo img{width:58px;height:58px;object-fit:contain}.drawer-logo span{color:#173653;font:800 1rem Manrope}.drawer-kicker{margin:0;color:#56d6c9;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800}.constellation-drawer h3{margin:10px 0 14px;font:700 2rem/1.06 Manrope,sans-serif;letter-spacing:-.04em}.drawer-description{color:#b8c4d1;line-height:1.7;font-size:.9rem}.drawer-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0;padding:22px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.drawer-meta span{display:block;color:#718197;font-size:.61rem;letter-spacing:.12em;text-transform:uppercase}.drawer-meta b{display:block;margin-top:7px;color:#fff;font-size:.78rem}.drawer-visit{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;border:0;border-radius:999px;background:#56d6c9;color:#07111f;text-decoration:none;font-weight:800;font-size:.8rem}.drawer-no-link{color:#8492a3;font-size:.78rem}
.portfolio-index-shell{margin-top:24px;border:1px solid #d7d3ca;background:rgba(255,255,255,.66);box-shadow:0 20px 60px rgba(7,17,31,.07)}
.portfolio-index-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #d9d5cc}.portfolio-index-head h3{margin:0;font:700 1.2rem Manrope}.portfolio-index-head span{color:#737c86;font-size:.77rem}
.portfolio-index-letters{display:flex;gap:3px;overflow-x:auto;padding:12px 20px;border-bottom:1px solid #dedad1;scrollbar-width:none}.portfolio-index-letters::-webkit-scrollbar{display:none}.portfolio-index-letter{flex:0 0 auto;min-width:32px;height:32px;border:0;background:transparent;color:#6d7580;border-radius:50%;cursor:pointer;font:700 .68rem Manrope}.portfolio-index-letter.active,.portfolio-index-letter:hover{background:#07111f;color:#fff}
.portfolio-index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:8px 24px 18px}.index-group{padding:18px 18px 18px 0;min-width:0}.index-group-letter{display:block;margin-bottom:10px;color:#37877f;font:800 .69rem Manrope;letter-spacing:.12em}.index-company{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:7px 0;border:0;background:transparent;color:#162131;text-align:left;cursor:pointer;font:600 .76rem 'DM Sans';border-bottom:1px solid rgba(7,17,31,.065)}.index-company:hover{color:#176a64}.index-company small{color:#9ba2aa;font-size:.58rem;text-transform:uppercase;letter-spacing:.05em}.portfolio.constellation-mode .portfolio-empty{margin:20px 0}
@media(max-width:1100px){.constellation-shell{min-height:620px}.constellation-stage{height:510px}.constellation-node{max-width:145px;padding:8px 10px}.portfolio-index-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.constellation-top{align-items:flex-start;flex-direction:column;padding:24px 20px 14px}.constellation-legend{justify-content:flex-start}.constellation-shell{min-height:auto;border-radius:20px}.constellation-stage{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:14px 14px 28px;border-top:1px solid rgba(255,255,255,.1)}.constellation-lines{display:none}.constellation-node{position:relative!important;left:auto!important;top:auto!important;max-width:none;width:100%;min-width:0;transform:none!important;border-radius:13px;padding:11px}.constellation-node b{font-size:.7rem}.constellation-overlay{position:fixed;inset:0;z-index:90;padding:18px}.constellation-drawer{width:min(520px,100%);max-height:86vh;padding:28px 22px 30px;border-radius:22px}.portfolio-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 18px 16px}.portfolio-index-head{padding:18px;align-items:flex-start;flex-direction:column;gap:5px}.index-group{padding:15px 12px 15px 0}}
@media(max-width:420px){.constellation-stage{grid-template-columns:1fr 1fr;gap:7px;padding-left:10px;padding-right:10px}.constellation-node{padding:9px 8px;gap:7px}.constellation-node img,.constellation-node .node-fallback{width:24px;height:24px}.constellation-overlay{padding:12px}.constellation-drawer{width:100%;max-height:88vh;padding:26px 18px 24px;border-radius:18px}.drawer-meta{grid-template-columns:1fr;gap:12px}.portfolio-index-grid{grid-template-columns:1fr 1fr;gap:0}.index-company{font-size:.7rem}.index-company small{display:none}}
@media(min-width:761px){.constellation-stage{height:var(--constellation-height,550px)}}
