/* Shared brand shell for the lightweight root, catalog, detail and index. */
.site-header { background:#fff; color:#123663; border-bottom:1px solid #dce3eb; }
.site-header-inner { box-sizing:border-box; max-width:1080px; min-height:64px; margin:0 auto; padding:10px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.site-header .brand { margin:0; padding:0; color:#123663; font-family:"Open Sans",sans-serif; font-size:1.25rem; font-weight:800; line-height:1.6; letter-spacing:.01em; text-decoration:none; white-space:nowrap; }
.site-header .brand-real { color:#1769E0; }
.site-header nav { display:flex; align-items:center; gap:12px; }
.site-header nav a { display:inline-flex; align-items:center; min-height:44px; color:#164a86; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif; font-size:.875rem; font-weight:400; line-height:1.5; white-space:nowrap; text-underline-offset:.2em; }
.site-header a:focus-visible { outline:3px solid #bc5d00; outline-offset:3px; }
@media(max-width:360px) { .site-header-inner { gap:8px; } .site-header .brand { font-size:1.1rem; } .site-header nav { gap:8px; } .site-header nav a { font-size:.8rem; } }

/* Approved detail layout; scoped so list/company/comparison styles stay intact. */
.case-detail { color:#182d47; line-height:1.75; }
.case-detail .detail-hero,.case-detail .detail-panel,.case-detail .detail-compare { margin:0 0 20px; padding:24px; border:1px solid #dce6ef; border-radius:16px; background:#fff; }
.case-detail .detail-company { margin:0 0 8px; font-size:1.05rem; font-weight:700; }
.case-detail .detail-heading { margin:0 0 16px; font-size:clamp(1.5rem,3vw,2rem); font-weight:750; line-height:1.45; overflow-wrap:anywhere; }
.case-detail .detail-tags { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.case-detail .detail-tag,.case-detail .detail-tags .tag-action { display:inline-flex; align-items:center; padding:5px 14px; border:0; border-radius:999px; color:#17416e; background:#e8f2fb; font-size:.9rem; font-weight:600; line-height:1.5; }
.case-detail .detail-tags .tag-action,.case-detail a.detail-tag { min-height:44px; }
.case-detail a.detail-tag::before { content:"＋ "; color:#2866a4; }
.case-detail .detail-stage { margin:0 0 20px; padding:0 0 18px; border-bottom:1px solid #dce6ef; font-size:.95rem; }
.case-detail .detail-summary { margin:0 0 16px; font-size:1.05rem; line-height:1.8; }
.case-detail .detail-outcome { margin-top:12px; padding:16px 18px; background:#edf5fc; border-radius:12px; }
.case-detail .detail-outcome p { margin:0; }
.case-detail .detail-outcome.is-reported { padding:16px 18px; background:#eaf4fd; border-radius:12px; }
.case-detail .detail-outcome.is-status { color:#52657a; background:#f3f5f7; font-size:.95rem; }
.case-detail .detail-condition { margin-top:10px!important; font-size:.95rem; font-weight:400; }
.case-detail h2:not(.detail-heading),.case-detail h3 { margin:0 0 16px; font-size:1.2rem; font-weight:700; line-height:1.5; }
.case-detail .detail-outcome h2,.case-detail .detail-outcome h3 { font-size:1rem; margin-bottom:8px; }
.case-detail .detail-role-list { margin:0; }
.case-detail .detail-role-list>div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:16px; padding:14px 0; border-bottom:1px solid #e0e8f0; }
.case-detail dt { font-weight:600; }.case-detail dd { margin:0; }
.case-detail .detail-note { margin:12px 0 0; color:#52657a; font-size:.9rem; line-height:1.7; }
.case-detail .detail-compare { background:#eaf4fd; }
.case-detail .detail-actions { display:flex; flex-direction:column; gap:12px; margin:20px 0 0; }
.case-detail .detail-actions a,.case-detail .detail-actions button { display:flex; align-items:center; justify-content:center; min-height:52px; padding:12px 18px; border:1px solid #123663; border-radius:10px; font-size:1rem; font-weight:650; text-decoration:none; background:#123663; color:#fff; }
.case-detail .detail-actions .secondary,.case-detail .detail-actions .company-link { background:#fff; color:#123663; }
.case-detail .detail-fold { padding:0; }
.case-detail .detail-fold>summary { position:relative; cursor:pointer; padding:18px 48px 18px 22px; min-height:60px; list-style:none; font-size:1.05rem; font-weight:650; }
.case-detail .detail-fold>summary::-webkit-details-marker { display:none; }
.case-detail .detail-fold>summary::after { content:'＋'; position:absolute; right:20px; top:18px; }
.case-detail .detail-fold[open]>summary::after { content:'−'; }
.case-detail .detail-fold>summary span { display:block; margin-top:3px; font-size:.9rem; color:#52657a; font-weight:400; }
.case-detail .detail-fold-body { padding:0 22px 22px; }
.case-detail .detail-original-facts { margin:0; }
.case-detail .detail-original-facts dt { margin-top:18px; }
.case-detail .detail-source-kind { display:inline-block; margin:0 0 12px; padding:4px 12px; border-radius:999px; color:#17416e; background:#e8f2fb; font-size:.9rem; }
.case-detail .detail-sources a { display:block; min-height:48px; padding:12px 16px; border:1px solid #123663; border-radius:10px; color:#123663; font-weight:600; text-decoration:none; }
.case-detail .detail-sources .source-reference { margin:0 0 14px; }
.case-detail .detail-sources code,.case-detail .source-url { display:block; overflow-wrap:anywhere; margin-top:6px; color:#52657a; font-size:.8rem; }
@media(max-width:650px) { .case-detail .detail-hero,.case-detail .detail-panel,.case-detail .detail-compare { padding:18px; border-radius:13px; } .case-detail .detail-fold { padding:0; } .case-detail .detail-role-list>div { grid-template-columns:90px minmax(0,1fr); gap:12px; } .case-detail .detail-fold>summary { padding-left:18px; } .case-detail .detail-fold-body { padding-left:18px; padding-right:18px; } }
