/* GEOMATICS Our Works / Blog styles. Shared site chrome remains in style.css. */
.page-shell { background: var(--bg-white); }
.section-kicker { display:inline-block; color:var(--primary); font-weight:800; text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; margin-bottom:10px; }
.section-title { line-height:1.1; margin:0; }
.section-text { max-width:700px; color:var(--text-muted); line-height:1.8; }
.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.article-card { background:var(--bg-white); border:1px solid var(--border); border-radius:16px; overflow:hidden; box-shadow:0 8px 24px rgba(15,23,42,.06); transition:transform var(--transition-base),box-shadow var(--transition-base); display:flex; flex-direction:column; min-height:100%; }
.article-card:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(15,23,42,.10); }
.article-thumb-wrap { position:relative; aspect-ratio:16/10; background:linear-gradient(135deg,#dfe9f7,#cfdcf0); overflow:hidden; }
.article-thumb { width:100%; height:100%; object-fit:cover; }
.article-badge { position:absolute; left:18px; top:18px; padding:8px 12px; border-radius:999px; background:rgba(7,17,31,.8); color:#fff; font-size:.76rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.article-body { padding:22px 22px 24px; display:flex; flex-direction:column; gap:14px; flex:1; }
.meta-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; color:var(--text-muted); font-size:.87rem; }
.article-title { font-size:1.52rem; line-height:1.22; margin:0; letter-spacing:-.02em; }
.article-title a:hover { color:var(--primary); }
.article-excerpt { color:var(--text-muted); line-height:1.8; font-size:.98rem; margin:0; }
.article-footer { margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.read-link { color:var(--primary); font-weight:800; letter-spacing:.01em; }
.read-link:hover { color:var(--primary-dark); }
.works-search { display:grid; grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(150px,1fr)) auto; gap:10px; margin:28px 0 34px; padding:18px; border:1px solid var(--border); background:var(--bg-white); border-radius:14px; box-shadow:var(--shadow-sm); }
.works-search input,.works-search select { width:100%; padding:12px 13px; border:1px solid var(--border); border-radius:11px; background:var(--bg-white); color:var(--text-dark); font:inherit; }
.works-search-actions { display:flex; gap:8px; }
.work-card-meta { display:flex; gap:8px; flex-wrap:wrap; margin:7px 0 10px; color:var(--text-muted); font-size:.82rem; }
.work-chip { display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; background:rgba(249,115,22,.1); color:var(--primary-dark); font-weight:700; }
.work-location { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.work-image-count { position:absolute; right:12px; bottom:12px; padding:6px 10px; border-radius:999px; background:rgba(15,23,42,.8); color:#fff; font-size:.75rem; font-weight:700; }
.work-grid-intro { max-width:760px; }
.empty-state { text-align:center; padding:55px 20px; border-radius:14px; }
.error-box { border-radius:14px; }
.blog-result-note { margin:-12px 0 24px; color:var(--text-muted); font-size:.9rem; }
.blog-pagination { display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin:38px 0 10px; }
.blog-page-btn { display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 13px; border:1px solid var(--border); border-radius:10px; background:var(--bg-white); color:var(--text-dark); font-weight:700; }
.blog-page-btn:hover,.blog-page-btn.active { background:var(--primary); border-color:var(--primary); color:#fff; }
.blog-page-ellipsis { padding:10px 4px; color:var(--text-muted); }
@media (max-width:1100px){ .article-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .works-search{grid-template-columns:repeat(2,1fr);} }
@media (max-width:700px){ .section-header{align-items:flex-start;} .article-grid{grid-template-columns:1fr;} .article-footer{flex-direction:column;align-items:flex-start;} .works-search{grid-template-columns:1fr;} .works-search-actions{flex-wrap:wrap;} .article-title{font-size:1.3rem;} }
html.theme-dark .article-card,html.theme-dark .works-search,html.theme-dark .blog-page-btn { background:#111827; border-color:#334155; color:#cbd5e1; }
html.theme-dark .works-search input,html.theme-dark .works-search select { background:#0f172a; color:#f8fafc; border-color:#475569; }
