/* components/duo.css — بخشی از سیستم سبک سایت عمومی پلاس */
.duo{--duo-c:var(--teal-400);position:relative;overflow:hidden;background:var(--navy-900);display:block}
.duo img{inline-size:100%;block-size:100%;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.06) brightness(.92);
  transition:filter .55s var(--ease-out),transform .8s var(--ease-out)}
.duo::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:color;
  background:linear-gradient(150deg,color-mix(in oklab,var(--duo-c) 55%,transparent),
    color-mix(in oklab,var(--navy-700) 78%,transparent));
  transition:opacity .55s var(--ease-out)}
.duo::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.3;
  background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.4px);background-size:20px 20px;
  transition:opacity .5s}
.duo.modir{--duo-c:var(--brand-modir)}
.duo.ravan{--duo-c:var(--brand-ravan)}
.duo.gold{--duo-c:var(--gold-400)}
:is(a,article,.card):hover .duo img,.duo:hover img{filter:none;transform:scale(1.06)}
:is(a,article,.card):hover .duo::after,.duo:hover::after{opacity:0}
:is(a,article,.card):hover .duo::before,.duo:hover::before{opacity:0}
.course .cover.duo{display:block;position:relative;aspect-ratio:16/10;border-radius:0}
.course .cover.duo img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.tcard .duo{inline-size:132px;block-size:132px;border-radius:18px}
.tcard .duo img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
@media (max-width:820px){
.tcard .duo{inline-size:108px;block-size:108px}
}
.inst-photo .duo{display:block;aspect-ratio:4/5;border-radius:26px;
  box-shadow:0 50px 90px -50px rgba(0,0,0,.9)}
.inst-photo .duo img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.ipick .duo{inline-size:34px;block-size:34px;border-radius:50%;flex:none}
.ipick .duo img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
@media (max-width:1040px){
.inst-photo .duo{aspect-ratio:16/10;max-inline-size:340px}
}
.inst-photo .duo{transition:opacity .34s var(--ease-soft),transform .46s var(--ease-out)}
.inst-photo.swap .duo{opacity:0;transform:scale(.94) translateY(10px)}
.mc-avs .duo{inline-size:38px;block-size:38px;border-radius:50%;flex:none;
  border:2px solid var(--bg-elev);margin-inline-start:-11px}
.mc-avs .duo:first-child{margin-inline-start:0}
.mc-avs .duo img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.fc-top .duo{flex:none;inline-size:76px;block-size:76px;border-radius:20px}
.fc-top .duo img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.prof-photo .duo{display:block;aspect-ratio:4/5;border-radius:26px;
  box-shadow:0 50px 90px -50px rgba(0,0,0,.9)}
.prof-photo .duo img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
@media (max-width:1040px){
.prof-photo .duo{aspect-ratio:16/10;max-inline-size:330px}
}
.am-au .duo{inline-size:42px;block-size:42px;border-radius:50%;flex:none}
.am-au .duo img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.art-cover .duo{display:block;overflow:hidden;border-radius:var(--card-radius);aspect-ratio:21/9;
  box-shadow:0 50px 90px -56px rgba(11,18,38,.8)}
.art-cover .duo img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.prose figure .duo{display:block;overflow:hidden;border-radius:var(--card-radius);aspect-ratio:16/9}
.aubox .duo{inline-size:96px;block-size:96px;border-radius:22px}
.aubox .duo img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.rlist2 .duo{flex:none;inline-size:66px;block-size:52px;border-radius:12px}
.rlist2 .duo img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
@media (max-width:820px){
.art-cover .duo{aspect-ratio:16/9}
}
.fm-p .duo{inline-size:52px;block-size:52px;border-radius:50%;flex:none;overflow:hidden}
.fm-p .duo img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
@media (prefers-reduced-motion: reduce){
.duo img{transition:none}
}
.fac-card .duo{display:block;aspect-ratio:1/1}
.ribbon .track .duo{flex:none;inline-size:clamp(210px,22vw,320px);aspect-ratio:3/2;border-radius:16px}
.life a .duo{position:absolute;inset:0;z-index:-1}
.life a .duo::before{opacity:.22}
.arc-item .duo{aspect-ratio:3/2;border-radius:18px;border:1px solid rgba(148,178,214,.2);
  box-shadow:0 40px 90px -40px rgba(0,0,0,.9)}
.arc-item.front .duo{border-color:color-mix(in oklab,var(--accent) 45%,transparent);
  box-shadow:0 40px 100px -36px color-mix(in oklab,var(--accent) 55%,transparent)}
.camp>.duo{block-size:100%}
@media(max-width:560px){
.camp>.duo{aspect-ratio:16/9;block-size:auto}
}
