.portfolio-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.portfolio-card { display:block; overflow:hidden; border:1px solid #10182220; border-radius:20px; background:#fffdf7; color:#101822; text-decoration:none; }
.portfolio-card img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#182331; }
.portfolio-card-body { padding:22px; }
.portfolio-card h3 { font:700 20px/1.3 Montserrat,Arial,sans-serif; margin:0 0 12px; }
.portfolio-card p { color:#66727a; font-size:14px; line-height:1.6; margin:0 0 18px; }
.portfolio-card .read-more { display:block; color:#157896; font-size:13px; font-weight:700; }
.portfolio-card:hover { border-color:#65c7e6; }
.cases-grid .case-card img { aspect-ratio:16/9!important; height:auto!important; object-fit:contain!important; }
.case-video-trigger,.video-shell { aspect-ratio:16/9!important; height:auto!important; }
.case-video-trigger img,.video-shell img { width:100%!important; height:100%!important; object-fit:contain!important; transform:none!important; }
.local-video-shell { width:100%; max-width:100%; background:#090f16; border-radius:20px; overflow:hidden; aspect-ratio:16/9; }
.local-video-shell .gooddo-video { display:block; width:100%; height:100%; object-fit:contain; background:#090f16; }
.case-video-section .local-video-shell,.case-video-section .video-shell { max-width:960px; margin:0 auto; display:block; }
.hero-art .local-video-shell { align-self:start; }
.case-card figcaption .case-summary { display:block; margin:10px 0; color:#aab6bf; font:400 13px/1.6 Montserrat,Arial,sans-serif; }
.case-card figcaption .case-details { display:inline-block; margin-top:8px; color:#65c7e6; font-size:13px; }
.case-card figcaption .wheil-link { padding:10px 16px; border-radius:24px; background:#65c7e6; color:#101822; font-weight:700; }
.case-context { max-width:800px; }
.case-context a { text-decoration:underline; text-underline-offset:4px; }
.case-context p { line-height:1.75; color:#66727a; }
.case-meta { font-size:13px; color:#8395a1; margin-bottom:20px; }
.related-materials { padding:64px 0; background:#f3f1e8; color:#101822; }
.related-materials h2 { margin-bottom:28px; }
@media(max-width:1000px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr;gap:20px}.portfolio-card-body{padding:20px}.related-materials{padding:44px 0}}
.blog-grid:has(>.blog-card:only-child){grid-template-columns:1fr}
.blog-grid>.blog-card:only-child{display:grid;grid-template-columns:1fr 1fr;align-items:center}
@media(max-width:700px){.blog-grid>.blog-card:only-child{grid-template-columns:1fr}}
