/* Detail pages extend the original index palette, type, spacing, and cards. */
.detail-image{margin:0;background:var(--soft)}
.card-image img.source-image{object-fit:contain}
.detail-image>a{display:block;cursor:zoom-in}
.detail-image img{width:100%;max-height:620px;object-fit:contain}
.detail-image .project-diagram{max-height:440px}
.detail-image figcaption{padding:16px 23px;font-size:12px;color:var(--body);border-top:1px solid var(--line);background:#fafbfc}
.detail-layout{grid-template-columns:270px minmax(0,1fr);gap:70px}
.detail-meta{margin:0}
.detail-meta div{min-width:0}
.detail-meta dd{overflow-wrap:anywhere}
.detail-toc{border-top:1px solid var(--line);padding:23px 0 28px;display:flex;flex-direction:column;gap:11px;font-size:13px;color:var(--body)}
.detail-toc .eyebrow{margin-bottom:6px}
.detail-toc a:hover,.breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.detail-copy section{scroll-margin-top:35px}
.detail-copy p+p{margin-top:14px}
.detail-copy ul{padding-left:21px;color:var(--body);margin:18px 0 0}
.detail-copy li+li{margin-top:8px}
.project-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:0 0 35px;padding:25px 0;border-block:1px solid var(--line)}
.project-highlights>div{display:flex;flex-direction:column;gap:9px}
.project-highlights dt{font-size:12px;color:var(--body);order:2}
.project-highlights dd{font-family:var(--serif);font-size:42px;letter-spacing:-.04em;line-height:1.1;margin:0}
.report-citation{display:inline-block;font-size:12px;color:#63758a;margin-top:18px;margin-right:12px;text-decoration:underline;text-underline-offset:4px}
.report-figure{margin:25px 0 0;background:var(--soft);border:1px solid var(--line);border-radius:5px;overflow:hidden}
.report-figure>a{display:block;cursor:zoom-in}
.report-figure img{width:100%;max-height:550px;object-fit:contain}
.report-figure figcaption{font-size:12px;color:var(--body);padding:13px 17px;line-height:1.55}
.report-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:25px}
.report-gallery .report-figure{margin:0}
.report-gallery img{max-height:330px;object-fit:contain}
.report-table-wrap{overflow-x:auto;margin-top:23px;border:1px solid var(--line);border-radius:5px}
.report-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.6;color:var(--body)}
.report-table caption{text-align:left;padding:14px 17px;font-size:12px;color:var(--body);background:var(--soft);border-bottom:1px solid var(--line)}
.report-table th,.report-table td{text-align:left;vertical-align:top;padding:13px 17px;border-bottom:1px solid var(--line);overflow-wrap:break-word}
.report-table thead th{font-size:11px;letter-spacing:.04em;color:var(--ink);font-weight:600;background:#fafbfc}
.report-table tbody th{width:38%;font-weight:500;color:var(--ink)}
.report-table tbody tr:last-child>*{border-bottom:0}
.report-steps{padding-left:22px;color:var(--body);margin:18px 0}
.report-figure+p{margin-top:20px}
.project-actions .text-button{padding-inline:12px}
.flow-caption{font-size:14px}
.system-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;gap:12px;margin:25px 0 0}
.system-flow li{border:1px solid var(--line);background:var(--soft);border-radius:5px;padding:20px 13px;line-height:1.45;font-size:14px;position:relative}
.system-flow li>span{display:block;font-size:11px;color:#697581;margin-bottom:14px}
.system-flow li:not(:last-child)::after{content:'→';position:absolute;right:-11px;top:50%;transform:translateY(-50%);z-index:1;color:#697581}
.resource-list{display:grid;gap:12px;margin-top:22px}
.resource-link{display:flex;justify-content:space-between;align-items:center;gap:25px;border:1px solid var(--line);border-radius:5px;padding:18px 21px;line-height:1.5;font-size:15px}
.resource-link:hover{background:var(--soft);border-color:#8a99a8}
.resource-link>span{font-size:11px;color:#697581;white-space:nowrap}
.resource-note{font-size:14px}
.project-tool-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:22px 0 5px}
.project-tool{position:relative;display:flex;align-items:center;gap:10px;min-height:44px;max-width:100%;padding:10px 15px;border:1px solid var(--line);border-radius:8px;background:#f7f9fb;color:#40546a;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.project-tool .tool-logo{flex:0 0 22px;width:22px;height:22px;object-fit:contain;filter:grayscale(1);opacity:.78}
.project-tool .tool-logo-wide{flex-basis:78px;width:78px;height:24px}
.project-tool-method{background:#fff;color:var(--body);font-size:12px}
.tool-name-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:700px){.project-tool-list{gap:8px;margin-top:18px}.project-tool{padding:9px 12px;font-size:12px}}
.media-grid{display:grid;gap:23px;margin-top:22px}
.media-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.media-gallery img{height:auto;aspect-ratio:1.2;object-fit:contain}
.media-item{margin:0;background:var(--soft);border-radius:5px;overflow:hidden}
.media-item img,.media-item video{display:block;width:100%;max-height:650px;object-fit:contain}
.media-item>a[data-lightbox]{cursor:zoom-in}
.media-item figcaption{padding:15px 20px;font-size:13px;color:var(--body)}
#image-viewer{width:min(1280px,calc(100% - 36px));max-height:94vh}
#image-viewer figure{margin:0;padding:20px;background:var(--soft)}
#viewer-image{object-fit:contain;max-height:72vh}
#viewer-caption{font-size:13px;padding:15px 5px 0;color:var(--body)}
.related .project-card .card-open>p{font-size:14px}
.breadcrumb{overflow-wrap:anywhere}
.detail-head h1{overflow-wrap:break-word}
@media(max-width:1050px){.detail-layout{gap:40px;grid-template-columns:230px minmax(0,1fr)}.system-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.system-flow li::after{display:none}}
@media(max-width:700px){.detail-layout{grid-template-columns:1fr;gap:30px}.detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.detail-meta dd{font-size:14px}.detail-toc{display:none}.detail-image figcaption{padding:13px 16px;font-size:11px}.resource-link{align-items:start;flex-direction:column;gap:7px;padding:16px}.system-flow li{padding:16px}.detail-head .project-actions{gap:7px}.related h2{font-size:37px}.detail-image .project-diagram{max-height:340px}}
@media(max-width:700px){.project-highlights{gap:12px;padding-block:20px;margin-bottom:25px}.project-highlights dd{font-size:28px}.project-highlights dt{font-size:11px}.report-gallery{grid-template-columns:1fr;gap:18px}.report-gallery img{max-height:400px}.report-table{font-size:13px}.report-table th,.report-table td{padding:11px 12px}.report-table tbody th{width:36%}.report-figure figcaption{padding:12px 14px;font-size:11px}}
@media(max-width:700px){.media-gallery{grid-template-columns:1fr}.media-gallery img{aspect-ratio:auto;max-height:400px}}
