.esm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.esm-columns-1{grid-template-columns:repeat(1,minmax(0,1fr))}.esm-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.esm-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.esm-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.esm-columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}.esm-columns-6{grid-template-columns:repeat(6,minmax(0,1fr))}.esm-card{overflow:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:transform .2s ease,box-shadow .2s ease}.esm-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(15,23,42,.12)}.esm-image{display:block;aspect-ratio:4/3;background:#f3f4f6;overflow:hidden}.esm-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.esm-card:hover .esm-image img,.esm-hover-zoom .esm-card:hover .esm-image img{transform:scale(1.06)}.esm-hover-fade .esm-card:hover .esm-image img{opacity:.78}.esm-hover-lift .esm-card:hover{transform:translateY(-8px)}.esm-card-body{padding:20px}.esm-meta{font-size:13px;color:#64748b;margin-bottom:8px}.esm-title{font-size:20px;line-height:1.25;margin:0 0 10px}.esm-title a{text-decoration:none;color:#111827}.esm-excerpt{color:#4b5563;margin:0 0 16px}.esm-button,.esm-load-more{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 16px;border:0;border-radius:6px;background:#2563eb;color:#fff;text-decoration:none;cursor:pointer}.esm-button:hover,.esm-load-more:hover{background:#1d4ed8;color:#fff}.esm-filter-wrapper{display:flex;flex-direction:column;gap:24px}.esm-filter-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.esm-category-checkboxes{display:flex;flex-wrap:wrap;gap:10px}.esm-category-option{display:inline-flex;align-items:center;cursor:pointer}.esm-category-option input{position:absolute;opacity:0;pointer-events:none}.esm-category-option span{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#111827;font-weight:600;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.esm-category-option input:checked+span{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.22)}.esm-filter-search{min-height:42px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff}.esm-results.is-loading{opacity:.45;pointer-events:none}.esm-carousel{position:relative;overflow:hidden}.esm-carousel .esm-grid{display:flex;gap:20px;transition:transform .3s ease}.esm-carousel .esm-card{min-width:calc(33.333% - 14px)}.esm-carousel-prev,.esm-carousel-next{position:absolute;top:45%;z-index:2;width:38px;height:38px;border:0;border-radius:999px;background:#111827;color:#fff;font-size:28px;line-height:1;cursor:pointer}.esm-carousel-prev{left:8px}.esm-carousel-next{right:8px}.esm-masonry .esm-grid{display:block;columns:3 260px;column-gap:24px}.esm-masonry .esm-card{break-inside:avoid;margin-bottom:24px}.esm-single,.esm-archive{max-width:1120px;margin:0 auto;padding:48px 20px}.esm-single-hero{margin-bottom:28px}.esm-single-hero img{width:100%;height:auto;border-radius:8px}.esm-project-meta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px;color:#475569}.esm-project-meta span{padding:6px 10px;background:#f1f5f9;border-radius:6px}@media (max-width:900px){.esm-grid,.esm-columns-3,.esm-columns-4,.esm-columns-5,.esm-columns-6{grid-template-columns:repeat(2,minmax(0,1fr))}.esm-carousel .esm-card{min-width:calc(50% - 10px)}}@media (max-width:640px){.esm-grid,.esm-columns-2,.esm-columns-3,.esm-columns-4,.esm-columns-5,.esm-columns-6{grid-template-columns:1fr}.esm-filter-bar{display:grid;grid-template-columns:1fr;width:100%}.esm-category-checkboxes{display:grid;grid-template-columns:1fr}.esm-carousel .esm-card{min-width:100%}}
