.cosg{--cosg-cols:3;--cosg-tablet:2;--cosg-mobile:1;--cosg-gap:24px;--cosg-ratio:3/2;--cosg-radius:8px;margin:0 0 28px;color:inherit;scroll-margin-top:96px}.cosg *{box-sizing:border-box}.cosg .cosg-items{display:grid;grid-template-columns:repeat(var(--cosg-cols),minmax(0,1fr));gap:var(--cosg-gap);clear:both}.cosg .cosg-card{min-width:0;margin:0;padding:0;overflow:hidden;display:flex;flex-direction:column;background:transparent;border:0;box-shadow:none}.cosg .cosg-image-link{display:block;text-decoration:none}.cosg .cosg-media{width:100%;aspect-ratio:var(--cosg-ratio);overflow:hidden;border-radius:var(--cosg-radius);background:#f1f4f6}.cosg .cosg-media .cosg-image{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;margin:0}.cosg .cosg-media-soft{aspect-ratio:auto;background:transparent}.cosg .cosg-media-soft .cosg-image{height:auto;object-fit:contain}.cosg .cosg-content{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:15px 0 0;flex:1}.cosg .cosg-title{font-size:clamp(18px,1.5vw,23px);line-height:1.35;font-weight:650;margin:0;padding:0;overflow-wrap:anywhere;color:inherit}.cosg .cosg-title a{color:inherit;text-decoration:none}.cosg .cosg-title a:hover,.cosg .cosg-title a:focus-visible{text-decoration:underline;color:#1766b7}.cosg .cosg-meta{font-size:13px;line-height:1.5;color:#596675}.cosg .cosg-excerpt{font-size:15px;line-height:1.65;margin:0;color:inherit}.cosg .cosg-categories,.cosg .cosg-tags{font-size:12px;font-weight:600;line-height:1.5}.cosg .cosg-more{font-size:14px;font-weight:600;margin-top:auto;padding-top:4px;color:#1766b7;text-decoration:none}.cosg .cosg-more:hover{text-decoration:underline}.cosg .cosg-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:0 0 22px;padding:0}.cosg .cosg-controls label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}.cosg .cosg-controls input,.cosg .cosg-controls select{max-width:100%;min-height:42px;border:1px solid #c9d3df;border-radius:6px;background:white;color:#253344;padding:8px 12px;font:inherit;min-width:160px}.cosg .cosg-controls button,.cosg .cosg-carousel-controls button{min-height:42px;border:1px solid #1766b7;border-radius:6px;background:#1766b7;color:white;padding:8px 16px;cursor:pointer;font:inherit}.cosg a:focus-visible,.cosg button:focus-visible,.cosg select:focus-visible,.cosg input:focus-visible{outline:3px solid #1976d2;outline-offset:3px}.cosg .cosg-pagination{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;margin-top:26px}.cosg .cosg-pagination a,.cosg .cosg-pagination span{padding:7px 12px;min-height:38px;border-radius:6px;text-decoration:none;line-height:24px}.cosg .cosg-pagination a{border:1px solid #d6e0eb;color:#1766b7}.cosg .cosg-pagination [aria-current]{background:#1766b7;color:#fff}.cosg-list .cosg-items{grid-template-columns:1fr}.cosg-list .cosg-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px;align-items:start}.cosg-list .cosg-content{padding-top:0}.cosg-list .cosg-card:not(:has(.cosg-media)){grid-template-columns:1fr}.cosg-carousel .cosg-items{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:14px}.cosg-carousel .cosg-card{flex:0 0 calc((100% - (var(--cosg-cols) - 1)*var(--cosg-gap))/var(--cosg-cols));scroll-snap-align:start}.cosg .cosg-carousel-controls{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.cosg .cosg-carousel-controls button[hidden]{display:none}.cosg .cosg-empty{padding:16px;background:#f4f7fa;border-radius:6px;grid-column:1/-1}.cosg .cosg-heading{margin:0 0 20px;font-size:26px;line-height:1.3}@media(max-width:980px){.cosg .cosg-items{grid-template-columns:repeat(var(--cosg-tablet),minmax(0,1fr))}.cosg-carousel .cosg-card{flex-basis:calc((100% - (var(--cosg-tablet) - 1)*var(--cosg-gap))/var(--cosg-tablet))}.cosg-list .cosg-items{grid-template-columns:1fr}}@media(max-width:600px){.cosg .cosg-items{grid-template-columns:repeat(var(--cosg-mobile),minmax(0,1fr))}.cosg-carousel .cosg-card{flex-basis:calc((100% - (var(--cosg-mobile) - 1)*var(--cosg-gap))/var(--cosg-mobile))}.cosg-list .cosg-items,.cosg-list .cosg-card{grid-template-columns:1fr}.cosg .cosg-controls{align-items:stretch}.cosg .cosg-controls label{width:100%}.cosg .cosg-controls input,.cosg .cosg-controls select{width:100%}}@media(prefers-reduced-motion:reduce){.cosg *{scroll-behavior:auto!important}}
