.project-frame-preview{position:absolute;inset:26px 12px 12px;overflow:hidden;opacity:0;pointer-events:none;background:#f6efdf;border-radius:3px}.project .project-frame-preview img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;transform:none;transition:none}.project-gallery .gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.project-gallery .gallery-photo.gallery-desktop{grid-column:span 2;grid-row:auto;aspect-ratio:16/10;min-height:0}.project-gallery .gallery-photo.gallery-mobile{grid-column:span 3;grid-row:auto;aspect-ratio:390/844;width:min(100%,240px);justify-self:center;max-height:none;min-height:0;border:1px solid #24484920;border-radius:18px;padding:10px;background:#e8ebdf}.project-gallery .gallery-photo.gallery-mobile img{border-radius:10px;height:100%;width:100%;object-fit:contain}.project-gallery .gallery-photo img{object-fit:contain}.project-frame-preview img{background:#f6efdf}@media(hover:hover) and (pointer:fine){.project:hover .project-frame-preview,.project:focus-visible .project-frame-preview{animation:project-frame-cycle 6s linear infinite}.project:hover .project-frame-preview.frame-1,.project:focus-visible .project-frame-preview.frame-1{animation-delay:3s}}@keyframes project-frame-cycle{0%,48%,100%{opacity:0}8%,42%{opacity:1}}@media(max-width:700px){.project-gallery .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery .gallery-photo.gallery-desktop{grid-column:1/-1}.project-gallery .gallery-photo.gallery-mobile{grid-column:span 1;max-height:none}}@media(prefers-reduced-motion:reduce){.project-frame-preview{display:none}}
.project-card-cover{isolation:isolate}.project .project-card-mascot{position:absolute;right:8px;bottom:-1px;width:132px;height:auto;display:block;line-height:0;opacity:0;transform:translateY(85px) rotate(8deg);transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .25s;pointer-events:none;z-index:2}.project .project-card-mascot img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:auto;transform:none;background:transparent;border-radius:0}.project:hover .project-card-mascot,.project:focus-visible .project-card-mascot{opacity:1;transform:none}.project:focus-visible .project-hover-label{opacity:1}.project .project-hover-label{z-index:3;left:16px;bottom:18px;max-width:calc(100% - 148px)}@media(hover:none){.project .project-card-mascot{width:95px;height:auto;opacity:1;transform:none}.project .project-hover-label{opacity:1;max-width:calc(100% - 110px);font-size:11px}}@media(prefers-reduced-motion:reduce){.project .project-card-mascot{transition:none}}

/* Героиня приглашает посмотреть работу: светлое облачко вместо кнопки. */
.project .project-speech{left:12px;right:135px;bottom:78px;max-width:none;width:auto;padding:12px 14px;border:1px solid #ccd5c5;border-radius:16px 16px 3px 16px;background:#fff6e2;color:#244849;box-shadow:0 6px 20px #24484918;font:400 12px/1.45 'Golos Text',Arial,sans-serif;opacity:0;transform:translateY(8px) scale(.96);transform-origin:right bottom;transition:opacity .25s,transform .3s;pointer-events:none}
.project-speech:after{content:'';position:absolute;right:-6px;bottom:12px;width:10px;height:10px;background:#fff6e2;border-right:1px solid #ccd5c5;border-top:1px solid #ccd5c5;transform:rotate(45deg)}
.project-speech>span{display:block;overflow-wrap:anywhere}.project-speech strong{display:block;margin-top:3px;font-weight:600}
.project:hover .project-speech,.project:focus-visible .project-speech{opacity:1;transform:none}
@media(hover:none){.project .project-speech{right:108px;left:10px;bottom:56px;padding:9px 11px;font-size:11px;opacity:1;transform:none;max-width:none}}
@media(prefers-reduced-motion:reduce){.project .project-speech{transition:none;transform:none}}

.project .project-speech strong{font:600 12px/1.45 'Golos Text',Arial,sans-serif;letter-spacing:normal;margin:3px 0 0;max-width:none;color:#244849}
@media(hover:none){.project .project-speech strong{font-size:11px}}

/* Приглушаем только обложку, сохраняя героиню и облачко светлыми. */
.project .project-card-cover>img{transition:filter .3s ease}
@media(hover:hover) and (pointer:fine){.project:hover .project-card-cover>img{filter:brightness(.8)}}
.project:focus-visible .project-card-cover>img{filter:brightness(.8)}
@media(prefers-reduced-motion:reduce){.project .project-card-cover>img{transition:none}}
