/* ===== SOLUTION DETAIL GRID ===== */
.sol-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}
.sol-detail-card{display:block;background:#fff;padding:36px 28px;transition:background 0.25s;text-decoration:none}
.sol-detail-card:hover{background:var(--bg-surface)}
.sol-detail-card.featured{background:linear-gradient(160deg,rgba(0,158,128,0.04) 0%,rgba(37,99,235,0.04) 100%)}
.sol-detail-tag-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.sol-detail-card h2{font-size:20px;font-weight:700;margin-bottom:12px;color:var(--text)}
.sol-detail-card p{font-size:13.5px;color:var(--text-muted);line-height:1.8;margin-bottom:24px}
.sol-detail-more{font-size:13px;font-weight:600;color:var(--accent);font-family:var(--font-mono)}

/* ===== SOLUTION DETAIL PAGE ===== */
.sol-page-header{display:flex;align-items:flex-start;gap:32px;padding-bottom:48px;border-bottom:1px solid var(--border);margin-bottom:64px}
.sol-page-badge{flex-shrink:0;width:72px;height:72px;background:var(--accent-light);border:1px solid var(--accent-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--accent);letter-spacing:0.08em;text-align:center;line-height:1.3}
.sol-page-intro h1{font-size:clamp(22px,3.5vw,36px);font-weight:700;letter-spacing:-0.02em;margin-bottom:16px;color:var(--text)}
.sol-page-intro p{font-size:16px;color:var(--text-muted);line-height:1.85;max-width:640px}

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:64px}
.feature-item{padding:28px 24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color 0.25s,box-shadow 0.25s}
.feature-item:hover{border-color:var(--accent-border);box-shadow:0 4px 16px rgba(0,0,0,0.06)}
.feature-icon{font-family:var(--font-mono);font-size:22px;color:var(--accent);margin-bottom:14px}
.feature-item h3{font-size:15px;font-weight:700;margin-bottom:10px;color:var(--text)}
.feature-item p{font-size:13px;color:var(--text-muted);line-height:1.8}

.usecase-list{display:flex;flex-direction:column;gap:16px;margin-bottom:64px}
.usecase-item{display:flex;align-items:flex-start;gap:20px;padding:24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color 0.25s}
.usecase-item:hover{border-color:var(--accent-border)}
.usecase-num{flex-shrink:0;font-family:var(--font-mono);font-size:11px;color:var(--accent);background:var(--accent-light);border:1px solid var(--accent-border);padding:3px 8px;border-radius:2px;margin-top:2px}
.usecase-item h3{font-size:15px;font-weight:600;margin-bottom:6px;color:var(--text)}
.usecase-item p{font-size:13px;color:var(--text-muted);line-height:1.75}

.spec-table{width:100%;border-collapse:collapse;margin-bottom:64px}
.spec-table tr{border-bottom:1px solid var(--border)}
.spec-table th{width:220px;text-align:left;padding:14px 0;font-size:13px;font-weight:500;color:var(--text-dim);font-family:var(--font-mono);letter-spacing:0.08em;vertical-align:top}
.spec-table td{padding:14px 0 14px 24px;font-size:13.5px;color:var(--text-muted);line-height:1.85}

/* TAG FILTER */
.tag-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}
.tag-btn{padding:5px 14px;font-size:12px;font-family:var(--font-mono);letter-spacing:0.08em;border:1px solid var(--border);border-radius:20px;color:var(--text-muted);background:none;cursor:pointer;transition:all 0.2s}
.tag-btn:hover,.tag-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}

/* BIO */
.bio-layout{display:grid;grid-template-columns:280px 1fr;gap:64px;align-items:flex-start}
.bio-portrait{position:sticky;top:calc(var(--nav-h) + 32px)}
.bio-portrait img{width:100%;border-radius:var(--radius-md);border:1px solid var(--border)}
.bio-portrait .bio-name-ja{font-size:22px;font-weight:700;margin-top:20px;color:var(--text)}
.bio-portrait .bio-name-en{font-family:var(--font-mono);font-size:12px;letter-spacing:0.12em;color:var(--text-muted);margin-top:4px}
.bio-portrait .bio-role{font-size:13px;color:var(--accent);margin-top:8px;font-family:var(--font-mono);letter-spacing:0.08em}
.bio-back{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);font-family:var(--font-mono);margin-bottom:40px;transition:color 0.2s}
.bio-back:hover{color:var(--accent)}
.bio-career{list-style:none}
.bio-career li{display:flex;gap:24px;padding:20px 0;border-bottom:1px solid var(--border)}
.bio-career li:first-child{padding-top:0}
.bio-year{flex-shrink:0;width:52px;font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--accent);padding-top:2px}
.bio-desc{font-size:14px;color:var(--text-muted);line-height:1.85}

@media(max-width:960px){.sol-detail-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.sol-detail-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr}.sol-page-header{flex-direction:column}.bio-layout{grid-template-columns:1fr}.bio-portrait{position:static;display:flex;flex-direction:column;align-items:center;text-align:center}.bio-portrait img{width:180px;border-radius:50%}.spec-table th{width:140px}}
