/* Editorial case pages use the existing design-system and interior components. */
.case-page .case-notice{font-size:12px;line-height:1.9;color:#54594d;background:#f6f5ef;border-left:2px solid #a1b83d;padding:18px 22px;margin:28px 0}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;padding:25px 0 95px}
.case-card img,.case-opening img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.case-card-image{display:block;border:1px solid #e4e3d8}
.case-tag{font-size:12px;color:#586044;margin:23px 0 14px;display:flex;flex-wrap:wrap;gap:8px 16px}
.case-tag span{font-size:10px;color:#646958}
.case-page .case-card h2{font-size:22px;line-height:1.9;margin:0 0 17px}
.case-card h2 a:hover{color:#51632d}
.case-card-summary{font-size:13px;line-height:2;color:#616655;margin:0 0 22px}
.case-card .home-link{font-size:12px}
.case-article-header{padding:64px 0 58px;border-bottom:1px solid var(--line)}
.case-article-header h1{font-size:clamp(29px,3.3vw,46px);font-weight:500;line-height:1.7;max-width:1040px;letter-spacing:.015em}
.case-opening{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center;margin:40px 0}
.case-opening figure{margin:0;min-width:0}
.case-opening figcaption{font-size:10px;color:#666d5a;padding-top:9px}
.case-page .case-profile h2{font-size:17px;line-height:1.8;margin:0 0 15px}
.case-profile dl{margin:0;border-top:1px solid var(--line)}
.case-profile dl>div{display:grid;grid-template-columns:108px minmax(0,1fr);gap:18px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}
.case-profile dt{color:#616655}.case-profile dd{margin:0}
.case-profile>p{font-size:11px;color:#616655;margin:15px 0 0}
.case-lead{font-size:16px;line-height:2.2;max-width:840px;margin:34px 0 0}
.case-reading{display:grid;grid-template-columns:260px minmax(0,1fr);gap:85px;align-items:start;padding-top:70px;padding-bottom:85px}
.case-toc{border-top:2px solid #a1b83d;padding:21px 0 0;position:sticky;top:115px}
.case-toc>p{font-size:12px;margin:0 0 15px}
.case-toc a{display:block;font-size:12px;line-height:1.9;color:#616655;padding:11px 0;border-bottom:1px solid var(--line)}
.case-toc a:hover{color:#222;background:#f6f5ef}
.case-copy{max-width:780px;min-width:0}
.case-section{margin-bottom:60px;scroll-margin-top:115px}
.case-section .home-label{margin-bottom:17px;font-size:11px}
.case-page .case-section h2{font-size:29px;line-height:1.8;margin:0 0 25px}
.case-section>p:not(.home-label){font-size:15px;line-height:2.25;color:#444b3c;margin:0 0 23px}
.case-related{padding:28px 30px;background:#f6f5ef;border-top:1px solid var(--line)}
.case-page .case-related h2{font-size:23px;margin-bottom:14px}.case-related>p:not(.home-label){font-size:13px;line-height:2;color:#616655}
.case-other{border-top:1px solid var(--line);margin-top:45px;padding-top:25px}.case-other>div{display:flex;flex-wrap:wrap;gap:15px 30px;margin-top:25px}.case-other .home-link{font-size:12px}
@media(max-width:1000px){.case-grid{gap:25px}.case-page .case-card h2{font-size:20px}.case-opening{gap:35px;grid-template-columns:1.1fr 1fr}.case-reading{grid-template-columns:200px minmax(0,1fr);gap:40px}.case-page .case-section h2{font-size:26px}.case-profile dl>div{grid-template-columns:80px 1fr;gap:12px}}
@media(max-width:700px){.case-grid{grid-template-columns:1fr;gap:40px;padding:12px 0 55px}.case-card{padding-bottom:32px;border-bottom:1px solid var(--line)}.case-page .case-card h2{font-size:23px}.case-tag{margin-top:18px}.case-page .case-notice{font-size:12px;padding:15px 17px;margin-block:23px}.case-article-header{padding:40px 0}.case-article-header h1{font-size:clamp(26px,7vw,34px);line-height:1.8}.case-opening{display:block;margin-block:30px}.case-profile{margin-top:28px}.case-profile dl>div{grid-template-columns:92px 1fr}.case-lead{font-size:14px;line-height:2.1}.case-reading{display:block;padding-block:35px 50px}.case-toc{position:static;margin-bottom:40px;padding-top:17px}.case-toc a{padding-block:12px}.case-section{margin-bottom:44px;scroll-margin-top:95px}.case-page .case-section h2{font-size:24px}.case-section>p:not(.home-label){font-size:14px;line-height:2.2}.case-related{padding:24px 20px}.case-other>div{display:block}.case-other>div>a{margin-top:12px}.case-page .breadcrumbs{flex-wrap:wrap;gap:5px 10px}}
@media print{.case-toc,.case-other{display:none}.case-reading{display:block}.case-opening{grid-template-columns:1fr 1fr}.case-section{break-inside:avoid}}
