/* Five project-specific glass studies. Requires context-scenes.css and its motion script. */
.portfolio-scene.context-scene{--ps-ink:#292a34;--ps-muted:#62616d;--ps-glass:rgba(251,250,254,.84);--ps-edge:rgba(255,255,255,.9);--ps-line:rgba(64,57,80,.14);--ps-lilac:#e6def6;--ps-shadow:rgba(43,34,66,.18);max-width:600px;background:none;border:0}
.portfolio-scene .cs-viewport{aspect-ratio:5/4;max-height:480px}
.portfolio-scene .ps-panel{border:1px solid var(--ps-edge);border-radius:3.6cqw;background:linear-gradient(138deg,rgba(255,255,255,.28),transparent 70%),var(--ps-glass);color:var(--ps-ink);box-shadow:inset 0 1px 1px rgba(255,255,255,.8),inset 0 -1px 1px rgba(62,52,83,.1),0 2px 0 -1px rgba(77,63,98,.15),0 4cqw 7cqw -3cqw var(--ps-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden}
.portfolio-scene .ps-panel::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.16);border-radius:inherit;pointer-events:none}
.portfolio-scene.context-scene .cs-object.ps-panel{border:1px solid var(--ps-edge);box-shadow:inset 0 1px 1px rgba(255,255,255,.24),inset 0 -1px 1px rgba(62,52,83,.1),0 2px 0 -1px rgba(77,63,98,.15),0 4cqw 7cqw -3cqw var(--ps-shadow)}
.portfolio-scene.context-scene .cs-object.ps-panel::before{display:none}
.portfolio-scene.context-scene .cs-object>.ps-portrait,.portfolio-scene.context-scene .cs-object>.ps-practice-name,.portfolio-scene.context-scene .cs-object>.ps-document-crop{position:absolute}
.portfolio-scene .ps-ground{position:absolute;left:18%;right:12%;bottom:5%;height:9%;background:#5a426e;filter:blur(3.5cqw);opacity:.11;border-radius:50%}
.portfolio-scene .ps-icon{display:block;flex:none;width:4cqw;height:4cqw;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.portfolio-scene .ps-label{display:block;font-size:clamp(11px,2.6cqw,15px);line-height:1.35;letter-spacing:0;color:var(--ps-muted)}
.portfolio-scene .ps-title{display:block;margin:1.5cqw 0 0;font-size:5.5cqw;line-height:1.08;font-weight:600;letter-spacing:-.025em}
.portfolio-scene .ps-top{display:flex;align-items:center;gap:2cqw;padding:3cqw 3.5cqw;border-bottom:1px solid var(--ps-line);font-size:3cqw;white-space:nowrap}
.portfolio-scene .ps-top-end{margin-left:auto;font-size:2.6cqw;color:var(--ps-muted)}
.portfolio-scene .ps-dot{width:1.4cqw;height:1.4cqw;border-radius:50%;background:#aa95c9;box-shadow:0 0 0 .65cqw rgba(167,146,198,.12)}
.portfolio-scene .ps-glint{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.portfolio-scene .ps-glint::after{content:"";position:absolute;inset:-30% -70%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.15) 49%,transparent 56%);animation:ps-glass-light 11s ease-in-out infinite;transform:translateX(-45%)}
.portfolio-scene figcaption{max-width:95%;margin-inline:auto;font-size:clamp(13px,1.05vw,15px);padding:1cqw 0 0}

/* ЮристАИ: a conversation, knowledge, document output and access to a lawyer. */
.portfolio-scene .ps-ai-window{left:7%;top:8%;width:65%;height:77%;transform:rotateY(-6deg) rotateX(3deg) rotateZ(-3deg);z-index:1}
.portfolio-scene .ps-ai-body{padding:3.2cqw}
.portfolio-scene .ps-ai-body>.ps-label{max-width:88%;font-size:2.55cqw}
.portfolio-scene .ps-prompt{display:flex;align-items:center;gap:2cqw;background:rgba(209,197,229,.3);border:1px solid rgba(166,145,193,.16);border-radius:2.6cqw;padding:2.5cqw;margin-top:4cqw}
.portfolio-scene .ps-file{font-size:6cqw;line-height:1;color:#756083}
.portfolio-scene .ps-prompt b{font-size:3.15cqw;font-weight:500}
.portfolio-scene .ps-prompt div>span,.portfolio-scene .ps-ai-response div>span{display:block;font-size:2.55cqw;color:var(--ps-muted);margin-top:.8cqw}
.portfolio-scene .ps-ai-response{display:flex;align-items:center;gap:2cqw;margin-top:2.5cqw}
.portfolio-scene .ps-ai-response strong{font-size:3.25cqw;font-weight:500}
.portfolio-scene .ps-orbit{flex:none;width:5.4cqw;height:5.4cqw;border-radius:50%;border:1px solid #9d87bb;box-shadow:0 0 0 1cqw rgba(174,146,208,.12),inset 0 0 2cqw rgba(160,137,190,.25);background:conic-gradient(from 40deg,transparent,#d7c8eb,transparent);animation:ps-orbit 12s linear infinite}
.portfolio-scene .ps-ai-lines{display:grid;gap:1cqw;margin:3cqw 0 0 7.5cqw;width:60%}
.portfolio-scene .ps-ai-lines i{height:.65cqw;border-radius:1cqw;background:var(--ps-line)}
.portfolio-scene .ps-ai-lines i:last-child{width:60%}
.portfolio-scene .ps-ai-library{left:71%;top:13%;width:24%;padding:3.5cqw 2.8cqw;transform:rotateY(-8deg) rotateZ(5deg);z-index:2}
.portfolio-scene .ps-symbol{display:block;font-family:Georgia,serif;font-size:11cqw;line-height:.95;color:#9a81b0;margin-bottom:2cqw}
.portfolio-scene .ps-ai-library strong{display:block;font-size:3.4cqw;font-weight:500;margin-bottom:1.5cqw}
.portfolio-scene .ps-ai-library .ps-label{font-size:2.45cqw}
.portfolio-scene .ps-ai-export{left:70%;top:65%;width:27%;padding:2.8cqw;transform:rotateY(-4deg) rotateZ(3deg);z-index:3;background:linear-gradient(140deg,rgba(240,233,250,.94),rgba(218,204,237,.82))}
.portfolio-scene .ps-formats{display:flex;flex-wrap:wrap;gap:1cqw 1.7cqw;margin-top:2cqw;align-items:center}
.portfolio-scene .ps-formats b{font-size:2.65cqw;font-weight:500;white-space:nowrap}
.portfolio-scene .ps-ai-human{left:11%;top:86%;width:55%;padding:2cqw 2.5cqw;display:flex;align-items:center;gap:2cqw;transform:rotateZ(-1deg);z-index:4}
.portfolio-scene .ps-person{display:grid;place-items:center;width:5.5cqw;height:5.5cqw;border-radius:50%;background:var(--ps-lilac);color:#574365;font-size:2.8cqw}
.portfolio-scene .ps-ai-human strong{font-size:3.35cqw;font-weight:500}
.portfolio-scene .ps-ai-human>.ps-icon{margin-left:auto}

/* Legal Design: the actual document is the central physical object. */
.portfolio-scene .ps-paper-back{left:18%;top:7%;width:49%;height:80%;border-radius:2cqw;border:1px solid rgba(187,170,111,.2);background:rgba(230,218,173,.38);backdrop-filter:blur(8px);transform:rotateY(-5deg) rotateZ(-11deg);box-shadow:0 3cqw 5cqw -2cqw var(--ps-shadow);z-index:0}
.portfolio-scene .ps-legal-sheet{left:20%;top:4%;width:49%;height:82%;border-radius:2cqw;transform:rotateY(-5deg) rotateZ(-5deg);background:#fff;z-index:1}
.portfolio-scene .ps-document-crop{position:absolute;inset:0;overflow:hidden;border-radius:inherit}
.portfolio-scene .ps-document-crop img{display:block!important;position:relative!important;width:116%!important;max-width:none!important;height:auto!important;left:-8%!important;top:-.6cqw!important;object-fit:initial!important;transform:none!important;filter:none!important;border:0!important;border-radius:0!important;margin:0!important}
.portfolio-scene .ps-document-light{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.4),transparent 40%,rgba(255,255,255,.1))}
.portfolio-scene .ps-legal-note{left:67%;top:15%;width:27%;padding:3cqw;transform:rotateY(-9deg) rotateZ(4deg);background:linear-gradient(130deg,rgba(255,238,167,.92),rgba(247,220,103,.86));color:#433b28;z-index:2}
.portfolio-scene .ps-legal-note .ps-label{color:#6c5d35;font-size:2.6cqw}
.portfolio-scene .ps-legal-note strong{display:block;font-size:4cqw;font-weight:500;line-height:1.45;margin-top:1.8cqw}
.portfolio-scene .ps-note-rule{display:block;width:60%;height:.65cqw;background:#ae8f24;border-radius:1cqw;margin-top:2.3cqw}
.portfolio-scene .ps-legal-meaning{left:59%;top:56%;width:34%;padding:3cqw;transform:rotateY(-7deg) rotateZ(2deg);z-index:3}
.portfolio-scene .ps-legal-meaning>.ps-label{font-size:2.45cqw}
.portfolio-scene .ps-legal-meaning strong{display:block;font-size:4.5cqw;font-weight:500;line-height:1.16;margin-top:2cqw}
.portfolio-scene .ps-legal-meaning>.ps-icon{position:absolute;right:3cqw;bottom:3cqw}
.portfolio-scene .ps-legal-tag{left:11%;top:85%;width:60%;padding:2.2cqw 3.5cqw;display:flex;align-items:center;gap:3cqw;transform:rotateZ(-2deg);z-index:4}
.portfolio-scene .ps-bracket{font-size:4cqw;color:#af8c21}
.portfolio-scene .ps-legal-tag strong{font-size:3.6cqw;font-weight:500}

/* Рег.точка: search and a measured sequence, with no invented registry result. */
.portfolio-scene .ps-reg-window{left:7%;top:11%;width:79%;height:67%;transform:rotateY(-5deg) rotateZ(-3deg);z-index:1}
.portfolio-scene .ps-reg-body{padding:4cqw}
.portfolio-scene .ps-reg-body>.ps-title{font-size:4.6cqw}
.portfolio-scene .ps-search{display:flex;align-items:center;gap:2cqw;padding:2.5cqw 3cqw;border:1px solid var(--ps-line);border-radius:2.4cqw;margin-top:3cqw;font-size:3.05cqw;background:rgba(255,255,255,.14)}
.portfolio-scene .ps-search>.ps-icon{color:#807c8b;width:3.5cqw;height:3.5cqw}
.portfolio-scene .ps-reg-result{display:flex;align-items:center;gap:2.5cqw;margin-top:3.3cqw;width:82%}
.portfolio-scene .ps-wordmark{display:grid;place-items:center;flex:none;width:12cqw;height:11cqw;border:1px solid var(--ps-line);border-radius:2.8cqw;background:rgba(191,217,204,.26);font-family:Georgia,serif;font-size:5.8cqw;color:#496756}
.portfolio-scene .ps-reg-result strong{display:block;font-size:3.5cqw;font-weight:500}
.portfolio-scene .ps-reg-result div>span{display:block;font-size:2.6cqw;line-height:1.35;color:var(--ps-muted);margin-top:1.2cqw}
.portfolio-scene .ps-reg-class{left:71%;top:56%;width:25%;padding:2.8cqw;transform:rotateY(-5deg) rotateZ(5deg);background:linear-gradient(130deg,rgba(226,239,231,.94),rgba(205,226,215,.83));color:#355345;z-index:3}
.portfolio-scene .ps-reg-class>.ps-label{font-size:2.5cqw;color:#50675a}
.portfolio-scene .ps-reg-class>strong{display:block;font-size:4.4cqw;line-height:1.18;margin-top:1.8cqw;font-weight:500}
.portfolio-scene .ps-class-grid{display:grid;grid-template-columns:repeat(2,1fr);width:7cqw;gap:.8cqw;margin-top:2cqw}
.portfolio-scene .ps-class-grid i{height:2.2cqw;background:rgba(66,102,83,.18);border:1px solid rgba(66,102,83,.18);border-radius:.55cqw}
.portfolio-scene .ps-reg-path{left:9%;top:81%;width:60%;display:flex;align-items:center;gap:2cqw;padding:2.8cqw 3cqw;transform:rotateZ(-1deg);z-index:3}
.portfolio-scene .ps-reg-path>div{flex:none}
.portfolio-scene .ps-reg-path div>span{display:block;font-size:2.3cqw;color:var(--ps-muted);margin-bottom:.5cqw}
.portfolio-scene .ps-reg-path strong{font-size:3.3cqw;font-weight:500}
.portfolio-scene .ps-reg-path>i{height:1px;flex:1;background:var(--ps-line);min-width:2cqw}

/* Личная практика: one portrait, two information objects, no fabricated chat. */
.portfolio-scene .ps-practice-card{left:12%;top:5%;width:46%;height:85%;transform:rotateY(-6deg) rotateZ(-5deg);z-index:1}
.portfolio-scene .ps-portrait{position:absolute;left:2cqw;right:2cqw;top:2cqw;height:62%;border-radius:2.4cqw;overflow:hidden;background:#d3ced4}
.portfolio-scene .ps-portrait img{display:block!important;position:static!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 19%!important;filter:none!important;transform:none!important;border-radius:inherit!important;border:0!important;margin:0!important}
.portfolio-scene .ps-practice-name{position:absolute;left:3.5cqw;right:3cqw;bottom:3cqw}
.portfolio-scene .ps-practice-name>strong{display:block;font-size:4.4cqw;line-height:1.15;font-weight:500;margin-top:1.2cqw}
.portfolio-scene .ps-practice-topics{left:59%;top:14%;width:35%;padding:3cqw;transform:rotateY(-7deg) rotateZ(3deg);z-index:2}
.portfolio-scene .ps-practice-topics>.ps-label{font-size:2.5cqw;margin-bottom:2.3cqw}
.portfolio-scene .ps-practice-topics>div{display:flex;gap:1.8cqw;align-items:center;padding:2.6cqw 0;border-top:1px solid var(--ps-line)}
.portfolio-scene .ps-practice-topics div>span{font-size:2.6cqw;color:var(--ps-muted)}
.portfolio-scene .ps-practice-topics strong{font-size:3.2cqw;font-weight:500;white-space:nowrap}
.portfolio-scene .ps-practice-message{left:51%;top:66%;width:43%;padding:3cqw 3cqw 4cqw;transform:rotateY(-4deg) rotateZ(3deg);z-index:3;background:linear-gradient(135deg,rgba(234,226,247,.95),rgba(212,196,233,.85))}
.portfolio-scene .ps-practice-message strong{display:block;font-size:3.7cqw;line-height:1.25;font-weight:500;margin-top:1.6cqw}
.portfolio-scene .ps-message-send{position:absolute;right:2.5cqw;bottom:2.6cqw;display:grid;place-items:center;width:5.3cqw;height:5.3cqw;border-radius:50%;background:rgba(120,89,151,.15)}
.portfolio-scene .ps-message-send>.ps-icon{width:3.6cqw;height:3.6cqw}

/* ГалеонАренда: equipment is the catalogue object, beside its editor. */
.portfolio-scene .ps-fleet-window{left:6%;top:12%;width:77%;height:70%;transform:rotateY(-5deg) rotateZ(-3deg);z-index:1}
.portfolio-scene .ps-fleet-body{padding:3.5cqw}
.portfolio-scene .ps-fleet-body>.ps-title{font-size:4.8cqw}
.portfolio-scene .ps-machine-wrap{width:82%;height:18cqw;position:relative;margin-top:1cqw}
.portfolio-scene .ps-machine{display:block;width:100%;height:100%;color:var(--ps-ink);overflow:visible}
.portfolio-scene .ps-fleet-bottom{display:flex;gap:3cqw;align-items:center;font-size:2.8cqw;padding-top:2cqw;border-top:1px solid var(--ps-line)}
.portfolio-scene .ps-fleet-tab{padding:1.3cqw 2cqw;border-radius:1.5cqw;background:rgba(184,174,206,.2)}
.portfolio-scene .ps-fleet-filter{left:13%;top:83%;width:64%;display:flex;gap:2cqw;align-items:center;padding:2.5cqw 3cqw;font-size:3.3cqw;transform:rotateZ(-1deg);z-index:3}
.portfolio-scene .ps-fleet-editor{left:67%;top:35%;width:29%;padding:2.5cqw;transform:rotateY(-4deg) rotateZ(4deg);z-index:3}
.portfolio-scene .ps-fleet-editor>.ps-label{font-size:2.45cqw}
.portfolio-scene .ps-fleet-editor>strong{display:block;font-size:3.25cqw;line-height:1.2;margin:1.5cqw 0 2cqw;font-weight:500}
.portfolio-scene .ps-fleet-editor>div{padding:1.3cqw 0;border-top:1px solid var(--ps-line)}
.portfolio-scene .ps-fleet-editor div>span{display:block;font-size:2.7cqw}
.portfolio-scene .ps-fleet-editor div>i{display:block;margin-top:1.2cqw;height:1.1cqw;width:60%;background:rgba(151,137,171,.28);border-radius:2cqw}
.portfolio-scene .ps-editor-action{display:flex;align-items:center;gap:1cqw;font-size:2.55cqw;margin-top:1.6cqw;color:var(--ps-muted)}
.portfolio-scene .ps-editor-action>.ps-icon{width:3cqw;height:3cqw;margin-left:auto}

/* Keep small labels readable without changing the proportions of the objects. */
.portfolio-scene .ps-top-end,.portfolio-scene .ps-ai-body>.ps-label,.portfolio-scene .ps-prompt div>span,.portfolio-scene .ps-ai-response div>span,.portfolio-scene .ps-ai-library .ps-label,.portfolio-scene .ps-formats b,.portfolio-scene .ps-legal-note .ps-label,.portfolio-scene .ps-legal-meaning>.ps-label,.portfolio-scene .ps-reg-result div>span,.portfolio-scene .ps-reg-class>.ps-label,.portfolio-scene .ps-reg-path div>span,.portfolio-scene .ps-practice-topics>.ps-label,.portfolio-scene .ps-practice-topics div>span,.portfolio-scene .ps-fleet-editor>.ps-label,.portfolio-scene .ps-editor-action{font-size:clamp(10px,2.6cqw,15.6px)}

[data-theme="dark"] .portfolio-scene{--ps-ink:#f1edf7;--ps-muted:#bcb6c9;--ps-glass:rgba(40,37,49,.86);--ps-edge:rgba(223,212,243,.24);--ps-line:rgba(217,202,237,.18);--ps-lilac:#dfd0f1;--ps-shadow:rgba(0,0,0,.4)}
[data-theme="dark"] .portfolio-scene .ps-panel{background-image:linear-gradient(138deg,rgba(191,172,220,.13),transparent 70%);box-shadow:inset 0 1px 1px rgba(255,255,255,.12),inset 0 -1px 1px rgba(0,0,0,.2),0 2px 0 -1px rgba(181,155,217,.18),0 4cqw 7cqw -3cqw var(--ps-shadow)}
[data-theme="dark"] .portfolio-scene.context-scene .cs-object.ps-panel{border-color:var(--ps-edge)}
[data-theme="dark"] .portfolio-scene .ps-ai-export,[data-theme="dark"] .portfolio-scene .ps-practice-message{background:linear-gradient(130deg,rgba(92,72,113,.9),rgba(60,49,76,.9))}
[data-theme="dark"] .portfolio-scene .ps-legal-note{background:linear-gradient(130deg,rgba(241,215,112,.96),rgba(205,179,79,.93));color:#352c15}
[data-theme="dark"] .portfolio-scene .ps-legal-sheet{background:#fff}
[data-theme="dark"] .portfolio-scene .ps-reg-class{background:linear-gradient(130deg,rgba(184,211,197,.94),rgba(155,185,169,.92));color:#243f32}
[data-theme="dark"] .portfolio-scene .ps-wordmark{color:#b7d1c2}
[data-theme="dark"] .portfolio-scene .ps-ground{background:#100b1c;opacity:.4}
@keyframes ps-glass-light{0%,35%,100%{transform:translateX(-45%)}75%{transform:translateX(45%)}}
@keyframes ps-orbit{to{rotate:360deg}}
@media(prefers-reduced-motion:reduce){.portfolio-scene .ps-glint{display:none}.portfolio-scene .ps-orbit{animation:none}}
