/* Approved source identity for internal practice cards only. */
.practice-detail.source-identity{--pv-pad-x:32px;--pv-pad-y:30px}
.practice-detail.source-identity{isolation:isolate}
.practice-detail.source-identity h2{min-width:0}
.practice-detail.source-identity :is(.top,.practice-reading-header){position:relative;isolation:isolate}
.practice-detail.source-identity .top>div{position:relative;z-index:2}
.practice-detail.source-identity .source-art{position:absolute;right:0;top:-23px;width:300px;height:calc(100% + 23px);max-height:165px;z-index:-1;pointer-events:none;opacity:0}
.practice-detail.source-identity[data-source-identity="base"] .source-art{display:none}

/* НСКВ: green-to-cyan ink and light paper, based on the 2025 collection. */

.practice-detail.source-identity[data-source-identity="nskv"]::before{background:var(--source-stripe);background-size:180% 100%;z-index:3}
.practice-detail.source-identity[data-source-identity="nskv"] :is(.top,.practice-reading-header)::before,
.practice-detail.source-identity[data-source-identity="nskv"] :is(.top,.practice-reading-header)::after{content:"";position:absolute;inset:calc(-1 * var(--pv-pad-y)) calc(-1 * var(--pv-pad-x)) -1px;z-index:-1;pointer-events:none}
.practice-detail.source-identity[data-source-identity="nskv"] :is(.top,.practice-reading-header)::before{background:var(--source-header)}
.practice-detail.source-identity[data-source-identity="nskv"] :is(.top,.practice-reading-header)::after{background:url('../img/source-identity/nskv-pattern.svg') right center / auto 100% no-repeat;opacity:.5}
.practice-detail.source-identity[data-source-identity="nskv"] .pl-big{background:linear-gradient(120deg,#f1f8f4,#f1f8fa);border-color:#dcebe5}
.practice-detail.source-identity[data-source-identity="nskv"] .pl-big::before{background:linear-gradient(#31ab63,#0096c8);opacity:.8}
.practice-detail.source-identity[data-source-identity="nskv"] .tag.src{background:#dff1e9;color:#136650}
.practice-detail.source-identity[data-source-identity="nskv"] .sec-b h4{border-bottom-color:#cee7de}
.practice-detail.source-identity[data-source-identity="nskv"] .impact-det b{color:#146b68}
.practice-detail.source-identity[data-source-identity="nskv"] .banner.ok{background:linear-gradient(105deg,#e6f4ec,#e4f2f7);color:#245d55;border-color:#cee3d9}

/* Добрые города: the approved forest palette and boomerang detail. */

.practice-detail.source-identity[data-source-identity="dobrino"]::before{background:var(--source-stripe);z-index:3}
.practice-detail.source-identity[data-source-identity="dobrino"] :is(.top,.practice-reading-header)::before{content:"";position:absolute;inset:calc(-1 * var(--pv-pad-y)) calc(-1 * var(--pv-pad-x)) -1px;background:linear-gradient(110deg,#003024,#005842);background-size:160% 100%;z-index:-1}
.practice-detail.source-identity[data-source-identity="dobrino"] h2{color:#fff9ee}
.practice-detail.source-identity[data-source-identity="dobrino"] .meta{color:#d7e3cf}
.practice-detail.source-identity[data-source-identity="dobrino"] .meta b{color:#bbec55}
.practice-detail.source-identity[data-source-identity="dobrino"] .top .btn.ghost{background:#ffffff0b;color:#f7f8ea;border-color:#ffffff50}
.practice-detail.source-identity[data-source-identity="dobrino"] .top .btn.ghost:hover{background:#bbec551a;border-color:#bbec55}
.practice-detail.source-identity[data-source-identity="dobrino"] .source-art{color:#bbec55;opacity:.22;width:410px;right:-12%;top:-22px;height:calc(100% + 22px);max-height:190px}
.practice-detail.source-identity[data-source-identity="dobrino"] .tag{background:#edf6f1;color:#005842}
.practice-detail.source-identity[data-source-identity="dobrino"] .tag.src{background:#e3f0e9;color:#005842}
.practice-detail.source-identity[data-source-identity="dobrino"] .author{background:#f4f8f6;border-color:#dce8e1}
.practice-detail.source-identity[data-source-identity="dobrino"] .pl-big{background:#f2f8f5;border-color:#dce8e1}
.practice-detail.source-identity[data-source-identity="dobrino"] .pl-big::before{background:#bbec55;opacity:1}
.practice-detail.source-identity[data-source-identity="dobrino"] .pl-big .st-on{color:#005842}
.practice-detail.source-identity[data-source-identity="dobrino"] .pl-big .st-off{color:#cbded3}
.practice-detail.source-identity[data-source-identity="dobrino"] .impact-det b{color:#005842}
.practice-detail.source-identity[data-source-identity="dobrino"] .sec-b h4{border-bottom-color:#d8e5de}
.practice-detail.source-identity[data-source-identity="dobrino"] .flags{background:#f2f8f5}

/* Paint-only microinteractions: no card lift and no moving reading text. */
.practice-detail.source-identity:not([data-source-identity="base"]) .pl-big{transition:border-color .35s,box-shadow .35s}
.practice-detail.source-identity:not([data-source-identity="base"]) .pl-big:hover{border-color:var(--lavender);box-shadow:inset 0 0 0 1px var(--line)}
.practice-detail.source-motion.source-entered h2{animation:source-title 1.5s cubic-bezier(.22,1,.36,1) .12s both}
.source-motion.source-entered .source-art path{stroke-dasharray:100;animation:source-draw 2.2s cubic-bezier(.25,.65,.3,1) both}
.source-motion.source-entered .source-art path:nth-child(2n){animation-delay:.12s}
.source-motion .source-art{animation:source-breathe 24s ease-in-out infinite;animation-play-state:paused}
.source-motion.source-in-view .source-art{animation-play-state:running}
.practice-detail.source-motion[data-source-identity="nskv"]::before,
.practice-detail.source-motion[data-source-identity="dobrino"] :is(.top,.practice-reading-header)::before{animation:source-gradient 28s ease-in-out infinite alternate;animation-play-state:paused}
.practice-detail.source-motion.source-in-view::before,
.practice-detail.source-motion.source-in-view :is(.top,.practice-reading-header)::before{animation-play-state:running}
.source-tab-hidden .source-art,.source-tab-hidden .source-art path,.source-tab-hidden::before,.source-tab-hidden :is(.top,.practice-reading-header)::before{animation-play-state:paused!important}
@keyframes source-title{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
@keyframes source-draw{from{stroke-dashoffset:100;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@keyframes source-breathe{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(4px,-3px) rotate(1deg)}}
@keyframes source-gradient{from{background-position:0 50%}to{background-position:100% 50%}}
@media(max-width:900px){.practice-detail.source-identity{--pv-pad-x:20px;--pv-pad-y:22px}.practice-detail.source-identity[data-source-identity="dobrino"] .source-art{right:10%}}
@media(max-width:620px){.practice-detail.source-identity[data-source-identity="dobrino"] .source-art{right:-70px;opacity:.09!important}}
.practice-detail.source-identity[data-source-identity="dobrino"] .practice-reading-header .source-art{right:0;max-width:100%}
.practice-detail[data-source-motion="off"] *,.practice-detail[data-source-motion="off"] *::before,.practice-detail[data-source-motion="off"] *::after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){
 .practice-detail.source-identity *,.practice-detail.source-identity *::before,.practice-detail.source-identity *::after{animation:none!important;transition:none!important}
}
@media print{
 .practice-detail.source-identity .source-art{display:none}
 .practice-detail.source-identity,.practice-detail.source-identity *,.practice-detail.source-identity *::before,.practice-detail.source-identity *::after{animation:none!important;transition:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
