/* Shared rows keep both headings aligned, including projects with two-line titles. */
.project-card{--card-radius:32px;--panel-overlap:22px;grid-template-columns:26% 25% 49%;grid-template-rows:94px auto minmax(0,1fr) auto;gap:12px 0;height:clamp(480px,35vw,520px);min-height:480px;padding-block:28px;border-radius:var(--card-radius);background:var(--media-color);margin-bottom:30px;transform:none;}
.project-card{box-shadow:0 -8px 46px -20px color-mix(in srgb,var(--project-color,#245bff) 26%,transparent),0 18px 64px -20px color-mix(in srgb,var(--project-color,#245bff) 44%,transparent),0 32px 108px -36px color-mix(in srgb,var(--project-color,#245bff) 28%,transparent)}
.project-intro,.project-info{display:grid;grid-template-rows:subgrid;grid-row:1/-1;gap:inherit;min-width:0;position:relative;isolation:isolate;width:calc(100% + var(--panel-overlap));padding:0 40px 0 28px;background:none;}
.project-intro:before,.project-info:before{content:'';position:absolute;inset:-28px 0;z-index:-1;border-radius:var(--card-radius);}
.project-intro{grid-column:1;z-index:3;}
.project-intro:before{background:var(--project-color);}
.project-info{grid-column:2;z-index:2;padding-left:calc(24px + var(--panel-overlap));padding-right:30px;}
.project-info:before{background:#f8f9f9;}
/* Continue the next panel beneath the full curve, even when its radius exceeds the overlap. */
@media(min-width:501px){
 .project-info:before{left:calc(-1 * var(--card-radius));border-top-left-radius:0;border-bottom-left-radius:0;}
 .project-card>.project-media{border-top-left-radius:0;border-bottom-left-radius:0;}
}
.project-client{align-self:start;max-width:calc(100% - 18px);min-height:42px;font-size:23px;overflow-wrap:anywhere;}
.project-number{top:0;right:30px;font-size:10px;}
.project-intro h3,.project-info h4{grid-row:2;margin:0;max-width:100%;font-size:clamp(24px,2vw,32px);line-height:1.16;letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance;align-self:start;}
.project-intro>p{grid-row:3/5;margin:0;font-size:15px;line-height:1.6;opacity:.88;align-self:start;}
.project-tags{grid-row:1;align-content:start;align-self:start;gap:7px 6px;}
.project-tags .project-tag{border:1px solid #ced4df;border-radius:30px;padding:6px 10px;display:inline-flex;gap:6px;align-items:center;font-size:11px;font-weight:400;line-height:1.35;white-space:nowrap;max-width:100%;transition:background .22s,color .22s,border-color .22s;}
.project-tag:hover,.project-tag:focus-visible{background:#245bff;color:white;border-color:#245bff;}
.project-site{color:#182943;}
.project-info .project-work{grid-row:3;font-size:15px;line-height:1.6;color:#535b68;margin:0;}
.project-info-bottom{grid-row:4;align-self:end;display:grid;gap:13px;}
.project-result{display:flex;gap:12px;align-items:center;margin:0;padding-top:12px;border-top:1px solid #dce0e6;}
.project-result strong{font-size:27px;line-height:1.12;flex:none;}
.project-result small{font-size:10px;line-height:1.4;margin:0;max-width:130px;}
.project-open{width:100%;padding:0;background:none;text-align:left;font-size:11px;gap:12px;line-height:1.4;}
.project-open>span{width:28px;height:28px;flex:none;font-size:16px;}
.project-card:hover .project-open>span{transform:none;}
.project-open:hover>span,.project-open:focus-visible>span{background:#17191e;color:white;transform:rotate(45deg);}
.project-card>.project-media{grid-column:3;grid-row:1/-1;margin-block:-28px;border-radius:var(--card-radius);padding-left:var(--panel-overlap);isolation:isolate;}
.project-card .media-caption{left:calc(16px + var(--panel-overlap));bottom:16px;max-width:48%;font-size:9px;}
.project-team{position:absolute;right:18px;bottom:16px;z-index:3;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 4px;max-width:calc(52% - 36px);padding:9px 12px;border:1px solid #ffffff70;border-radius:12px;background:#ffffffe0;color:#3f4755;box-shadow:0 4px 20px #0001;backdrop-filter:blur(18px);font-size:10px;line-height:1.5;transition:color .22s,background .22s,border-color .22s;}
.project-team>span:last-child{padding-left:3px;}
.project-team:hover,.project-team:focus-visible{background:#fff;color:#111722;border-color:white;text-decoration:underline;text-underline-offset:3px;}
.project-card .project-image,.project-video{width:100%;height:100%;object-fit:cover;}
.project-card .visual-rus>.project-image{width:94%;height:auto;max-height:88%;object-fit:contain;transform:perspective(1000px) rotateY(-7deg) rotateX(3deg);}
.project-card:hover:not(.is-active) .project-image{transform:none;}
.project-card:hover:not(.is-active) .visual-rus>.project-image{transform:perspective(1000px) rotateY(-7deg) rotateX(3deg);}
.project-card:hover:not(.is-active) .demo-screen{transform:perspective(1200px) rotateY(-8deg) rotateX(3deg);}
.project-card .flow-sweep{animation-play-state:paused;}
.project-card.is-active .flow-sweep{animation-play-state:running;}
.project-card .chat-bubble,.project-card .chat-options{animation:project-message .65s var(--ease) both;animation-play-state:paused;}
.project-card .chat-bubble:nth-child(2){animation-delay:.65s;}
.project-card .chat-bubble:nth-child(3){animation-delay:1.3s;}
.project-card .chat-options{animation-delay:1.9s;}
.project-card.is-active .chat-bubble,.project-card.is-active .chat-options{animation-play-state:running;}
.project-card .uptime>i{animation:project-uptime 2.8s ease-in-out infinite alternate;animation-play-state:paused;}
.project-card .uptime>i:nth-child(3n){animation-delay:-.8s;}
.project-card .uptime>i:nth-child(5n){animation-delay:-1.6s;}
.project-card.is-active .uptime>i{animation-play-state:running;}
@keyframes project-message{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes project-uptime{from{opacity:.45;scale:1 .82}to{opacity:1;scale:1 1}}
@media(min-width:1800px){.project-card{height:540px;grid-template-rows:108px auto minmax(0,1fr) auto;padding-block:34px;}.project-intro,.project-info{padding-left:34px;padding-right:48px;}.project-info{padding-left:54px;}.project-intro:before,.project-info:before{inset-block:-34px;}.project-card>.project-media{margin-block:-34px;}.project-intro>p,.project-info .project-work{font-size:17px;}.project-tags .project-tag{font-size:12px;}}
@media(min-width:801px) and (max-width:1150px){.project-card{grid-template-columns:26% 27% 47%;height:500px;grid-template-rows:100px auto minmax(0,1fr) auto;--panel-overlap:16px;}.project-intro{padding-left:24px;padding-right:26px;}.project-info{padding-left:32px;padding-right:24px;}.project-intro h3,.project-info h4{font-size:24px;}.project-intro>p,.project-info .project-work{font-size:14px;}.project-tags .project-tag{font-size:10px;padding:5px 8px;}.project-team{font-size:9px;max-width:66%;}.project-card .media-caption{bottom:64px;max-width:75%;}}
@media(max-width:800px){
 .project-card{box-shadow:0 18px 50px -22px color-mix(in srgb,var(--project-color,#245bff) 38%,transparent),0 24px 82px -32px color-mix(in srgb,var(--project-color,#245bff) 22%,transparent)}
 .project-card{position:relative;top:auto;grid-template-columns:1fr 1fr;grid-template-rows:86px auto auto auto auto;height:auto;min-height:0;padding-block:26px 0;gap:14px 0;--card-radius:28px;--panel-overlap:0px;}
 .project-intro,.project-info{grid-row:1/5;width:100%;padding:0 24px;}
 .project-intro:before,.project-info:before{inset-block:-26px -18px;}
 .project-intro{grid-column:1;}.project-info{grid-column:2;}
 .project-intro h3,.project-info h4{font-size:25px;}
 .project-intro>p,.project-info .project-work{font-size:14px;}
 .project-intro>p{grid-row:3/5;}
 .project-client{font-size:22px;}.project-number{right:16px;font-size:9px;}
 .project-info-bottom{padding-bottom:14px;}
 .project-card>.project-media{grid-row:5;grid-column:1/-1;margin:0;height:400px;min-height:0;padding:0;}
 .project-tags .project-tag{font-size:10px;padding:5px 8px;}
 .project-team{max-width:60%;font-size:10px;}
 .project-card .media-caption{left:16px;max-width:40%;font-size:8px;}
 .project-card .demo-screen{width:82%;}
}
@media(max-width:500px){
 .project-card{display:flex;flex-direction:column;padding:0;gap:0;--card-radius:26px;overflow:hidden;}
 .project-intro,.project-info{display:flex;flex-direction:column;padding:26px 26px 30px;gap:16px;min-height:0;}
 .project-intro{z-index:3;}.project-info{z-index:2;margin-top:-22px;padding-top:42px;padding-bottom:28px;}
 .project-intro:before,.project-info:before{inset:0;border-radius:var(--card-radius);}
 .project-info:before{top:calc(-1 * var(--card-radius));border-top-left-radius:0;border-top-right-radius:0;}
 .project-client{font-size:23px;min-height:38px;max-width:88%;}
 .project-number{top:24px;right:24px;}
 .project-intro h3{font-size:29px;margin:10px 0 0;max-width:100%;text-wrap:initial;}
 .project-intro>p{font-size:15px;line-height:1.6;margin:0;}
 .project-tags{gap:7px;}.project-tags .project-tag{font-size:11px;padding:6px 10px;}
 .project-info h4{font-size:25px;margin:3px 0 0;text-wrap:initial;}
 .project-info .project-work{font-size:15px;line-height:1.6;}
 .project-info-bottom{gap:17px;padding:0;margin-top:4px;}
 .project-result strong{font-size:28px;}.project-result small{font-size:11px;max-width:180px;}
 .project-open{font-size:12px;}
 .project-card>.project-media{flex:none;width:100%;height:330px;margin-top:-22px;padding-top:22px;border-radius:0 0 var(--card-radius) var(--card-radius);}
 .project-card .visual-rus{height:300px;}
 .project-team{bottom:16px;right:16px;max-width:calc(100% - 32px);font-size:10px;}
 .project-card .media-caption{bottom:auto;top:36px;left:16px;max-width:calc(100% - 32px);}
 .project-card .demo-screen{width:86%;}.project-card .chat-body{padding:15px;min-height:175px;gap:10px;}
}
.motion-off .project-card *{animation:none!important;}
@media(prefers-reduced-motion:reduce){.project-card *{animation:none!important;}}
