/* Project records: concise directories, then scope, evidence and technical depth. */
.lp-directory,.lp-case-directory,.lp-project { color:var(--ink); background:var(--paper); }
.lp-directory :is(p,dd,li),.lp-case-directory :is(p,dd,li),.lp-project :is(p,dd,li) { word-break:keep-all; overflow-wrap:break-word; }
.lp-head { padding-top:62px; padding-bottom:72px; }
.lp-kicker { color:var(--muted); font-size:14px; line-height:1.7; letter-spacing:-.015em; margin:0 0 22px; }
.lp-back { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:14px; color:var(--muted); margin-bottom:28px; }
.lp-back:hover { color:var(--ink); }
.lp-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; align-items:end; }
.lp-intro>* { min-width:0; }
.lp-intro h1 { font-size:clamp(38px,4.2vw,58px); line-height:1.32; font-weight:500; letter-spacing:-.055em; margin:0; }
.lp-intro>p { font-size:17px; line-height:1.9; color:var(--muted); max-width:33em; margin:0 0 4px; }
.lp-register { padding-bottom:40px; }
.lp-project-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px; column-gap:40px; padding:38px 0 42px; border-top:1px solid var(--line); align-items:start; }
.lp-project-row:last-child { border-bottom:1px solid var(--line); }
.lp-project-row>* { min-width:0; }
.lp-sector { display:block; color:var(--muted); font-size:13px; line-height:1.7; margin-bottom:16px; }
.lp-project-row h2 { font-size:clamp(27px,2.7vw,37px); font-weight:500; letter-spacing:-.04em; line-height:1.45; margin:0; }
.lp-row-copy { padding-top:4px; }
.lp-row-copy h3 { font-size:19px; font-weight:500; line-height:1.6; margin:0 0 12px; letter-spacing:-.025em; }
.lp-row-copy p { font-size:16px; line-height:1.9; color:var(--muted); margin:0; max-width:34em; }
.lp-row-meta { display:block; font-size:13px; line-height:1.85; color:var(--muted); margin-top:23px; }
.lp-row-arrow { font-size:26px; line-height:1.4; font-weight:400; color:var(--orange); transition:transform .18s ease; }
.lp-project-row:hover .lp-row-arrow,.lp-finding-row:hover .lp-row-arrow { transform:translate(3px,-3px); }
.lp-project-row:hover h2,.lp-finding-row:hover h2 { color:var(--orange); }
.lp-project-row:focus-visible,.lp-finding-row:focus-visible { outline:2px solid var(--orange); outline-offset:5px; }
.lp-research { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; padding-top:45px; padding-bottom:38px; }
.lp-research h2 { font-size:30px; font-weight:500; letter-spacing:-.035em; line-height:1.4; }
.lp-research p:not(.lp-kicker) { font-size:16px; line-height:1.9; color:var(--muted); margin:0; }
.lp-inline-links { display:flex; flex-wrap:wrap; align-items:center; gap:10px 28px; margin-top:18px; }
.lp-link { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; min-height:44px; font-size:15px; line-height:1.7; color:var(--ink); border-bottom:1px solid var(--line); }
.lp-link:hover { color:var(--orange); border-color:var(--orange); }
.lp-link:focus-visible,.lp-back:focus-visible { outline:2px solid var(--orange); outline-offset:5px; }
.lp-related { display:flex; flex-wrap:wrap; gap:15px 40px; padding-top:24px; padding-bottom:58px; }
.lp-closing { display:flex; justify-content:space-between; align-items:center; gap:50px; padding-top:56px; padding-bottom:68px; border-top:1px solid var(--line); }
.lp-closing>div { min-width:0; }
.lp-closing h2 { font-size:clamp(25px,2.6vw,35px); line-height:1.45; font-weight:500; letter-spacing:-.04em; margin:0; }
.lp-closing p { font-size:16px; line-height:1.85; color:var(--muted); margin:16px 0 0; }
.lp-closing>.lp-link { flex-shrink:0; }
.lp-findings-register { padding-bottom:68px; }
.lp-finding-row { display:grid; grid-template-columns:minmax(160px,.6fr) minmax(0,1.5fr) 28px; align-items:start; gap:35px; border-top:1px solid var(--line); padding:29px 0 32px; scroll-margin-top:110px; }
.lp-finding-row:last-child { border-bottom:1px solid var(--line); }
.lp-finding-row>* { min-width:0; }
.lp-finding-sector { font-size:14px; line-height:1.8; color:var(--muted); padding-top:5px; }
.lp-finding-row h2 { font-size:24px; font-weight:500; line-height:1.5; letter-spacing:-.035em; margin:0; }
.lp-finding-row p { font-size:16px; line-height:1.85; color:var(--muted); margin:10px 0 0; }
.lp-finding-row:target { border-top-color:var(--orange); }
.lp-case-directory .report-download { margin:0; padding-top:48px; padding-bottom:64px; border-top:1px solid var(--line); }
.lp-case-directory .report-download-copy>.mono { font-size:12px; color:var(--muted); }
.lp-case-directory .report-download-copy>p { font-size:16px; }
.lp-case-directory .report-download-copy h2 { font-size:32px; font-weight:500; }
.lp-overview { display:grid; grid-template-columns:220px minmax(0,1fr); gap:35px; padding-bottom:56px; }
.lp-overview h2 { font-size:18px; font-weight:500; line-height:1.7; padding-top:22px; border-top:1px solid var(--line); margin:0; }
.lp-overview dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; border-top:1px solid var(--line); margin:0; padding-top:22px; }
.lp-overview dl>div { min-width:0; }
.lp-overview dt { color:var(--muted); font-size:13px; line-height:1.7; margin-bottom:12px; }
.lp-overview dd { color:var(--ink); font-size:16px; line-height:1.8; margin:0; }
.lp-result { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:70px; padding-top:20px; padding-bottom:48px; }
.lp-result h2 { font-size:clamp(27px,2.5vw,35px); font-weight:500; letter-spacing:-.035em; line-height:1.5; margin:0; max-width:13em; }
.lp-result p { font-size:16px; line-height:1.95; color:var(--muted); margin:0 0 18px; }
.lp-result p:last-child { margin-bottom:0; }
.lp-result ul { margin:20px 0 0; padding-left:20px; }
.lp-result li { font-size:16px; line-height:1.85; color:var(--ink); padding-left:4px; margin:8px 0; }
.lp-result .lp-inline-note { font-size:14px; line-height:1.85; padding-top:19px; border-top:1px solid var(--line); }
.lp-disclosure-note { padding-top:8px; padding-bottom:34px; }
.lp-disclosure-note p { font-size:14px; line-height:1.85; color:var(--muted); max-width:850px; margin:0; }
.lp-technical { padding-top:20px; padding-bottom:35px; scroll-margin-top:110px; }
.lp-section-heading { display:flex; justify-content:space-between; gap:35px; align-items:baseline; margin-bottom:27px; }
.lp-section-heading h2 { font-size:23px; line-height:1.6; letter-spacing:-.03em; font-weight:500; margin:0; }
.lp-section-heading p { font-size:15px; line-height:1.8; color:var(--muted); margin:0; max-width:30em; }
.lp-finding { border-top:1px solid var(--line); }
.lp-finding:last-child { border-bottom:1px solid var(--line); }
.lp-finding>summary { display:flex; align-items:center; justify-content:space-between; gap:25px; min-height:82px; padding:20px 0; font-size:21px; font-weight:500; line-height:1.5; cursor:pointer; list-style:none; }
.lp-finding>summary::-webkit-details-marker { display:none; }
.lp-finding>summary::marker { content:""; }
.lp-finding>summary:hover { color:var(--orange); }
.lp-finding>summary:focus-visible { outline:2px solid var(--orange); outline-offset:4px; }
.lp-disclosure-icon { font-size:25px; color:var(--orange); transition:transform .18s; flex-shrink:0; font-weight:400; }
.lp-finding[open]>summary .lp-disclosure-icon { transform:rotate(45deg); }
.lp-finding .case-entry { border:0; padding:18px 0 42px; scroll-margin-top:110px; }
.lp-finding .case-entry-top { display:none; }
.lp-finding .case-entry-heading { display:block; margin:0 0 32px; }
.lp-finding .case-entry-heading h2 { font-size:27px; line-height:1.5; font-weight:500; max-width:30em; }
.lp-finding .case-entry-heading>p { font-size:16px; line-height:1.9; max-width:52em; margin-top:17px; }
.lp-finding .case-body { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:55px; }
.lp-finding .case-explanation p,.lp-finding .case-retest p { font-size:15px; line-height:1.95; }
.lp-finding .case-explanation h3,.lp-finding .case-retest h3 { font-size:16px; line-height:1.6; font-weight:550; }
.lp-finding .case-evidence { border:1px solid var(--line); background:var(--surface); padding:25px; }
.lp-finding .case-evidence-head { font-size:11px; }
.lp-finding .case-evidence dt { font-size:13px; }
.lp-finding .case-evidence dd { font-size:16px; }
.lp-finding .case-evidence summary { min-height:44px; font-size:15px; }
.lp-finding .case-evidence .code-caption { font-size:13px; }
.lp-finding .case-evidence pre { font-size:12px; line-height:1.85; background:var(--paper); color:var(--ink); }
.lp-finding .case-retest { background:none; border-top:1px solid var(--line); margin-top:30px; padding:25px 0 0; grid-template-columns:180px minmax(0,1fr); gap:30px; }
.lp-finding .case-retest>.mono { font-size:11px; }
.lp-finding .case-metrics-note { font-size:14px; }
.lp-finding .case-project-metrics dd { font-size:38px; }
.lp-finding .case-flow-figure figcaption { font-size:13px; }
.lp-report-reference { display:grid; grid-template-columns:150px minmax(0,1fr); gap:45px; align-items:center; padding-top:30px; padding-bottom:40px; }
.lp-report-cover { display:block; background:#fff; }
.lp-report-cover img { width:100%; height:auto; display:block; border:1px solid var(--line); }
.lp-report-reference h2 { font-size:29px; font-weight:500; line-height:1.5; letter-spacing:-.035em; margin:0 0 15px; }
.lp-report-reference p:not(.lp-kicker) { font-size:16px; line-height:1.9; color:var(--muted); max-width:42em; margin:0; }
.lp-report-reference .lp-kicker { margin-bottom:12px; }
.lp-report-meta { display:block; font-size:13px; color:var(--muted); line-height:1.85; margin-top:14px; }
@media(max-width:1000px) {
 .lp-intro,.lp-result,.lp-research { gap:40px; }
 .lp-project-row { gap:28px; }
 .lp-overview { grid-template-columns:160px minmax(0,1fr); gap:25px; }
 .lp-overview dl { gap:20px; }
 .lp-finding .case-body { gap:30px; }
 .lp-finding-row { grid-template-columns:minmax(140px,.6fr) minmax(0,1.5fr) 24px; gap:25px; }
}
@media(max-width:760px) {
 .lp-head { padding-top:36px; padding-bottom:46px; }
 .lp-intro { grid-template-columns:minmax(0,1fr); gap:25px; }
 .lp-intro h1 { font-size:clamp(35px,7.4vw,46px); }
 .lp-intro>p { font-size:16px; max-width:34em; }
 .lp-project-row { grid-template-columns:minmax(0,1fr) 28px; row-gap:24px; padding:30px 0 34px; }
 .lp-project-row>div:first-child { grid-column:1; grid-row:1; }
 .lp-project-row>.lp-row-copy { grid-column:1; grid-row:2; }
 .lp-project-row>.lp-row-arrow { grid-column:2; grid-row:1; }
 .lp-row-copy { padding-top:0; }
 .lp-row-copy h3 { font-size:18px; }
 .lp-row-copy p { font-size:15px; }
 .lp-row-meta { margin-top:18px; }
 .lp-research { grid-template-columns:minmax(0,1fr); gap:22px; padding-top:25px; padding-bottom:28px; }
 .lp-research .lp-kicker { margin-bottom:12px; }
 .lp-research h2 { font-size:27px; }
 .lp-research p:not(.lp-kicker) { font-size:15px; }
 .lp-related { gap:14px 25px; padding-bottom:42px; }
 .lp-closing { display:block; padding-top:38px; padding-bottom:46px; }
 .lp-closing p { font-size:15px; }
 .lp-closing>.lp-link { margin-top:24px; }
 .lp-finding-row { grid-template-columns:minmax(0,1fr) 24px; gap:12px 20px; padding:24px 0 28px; }
 .lp-finding-sector { grid-column:1; font-size:13px; }
 .lp-finding-row>div { grid-column:1; }
 .lp-finding-row>.lp-row-arrow { grid-column:2; grid-row:1/3; }
 .lp-finding-row h2 { font-size:22px; }
 .lp-finding-row p { font-size:15px; }
 .lp-findings-register { padding-bottom:44px; }
 .lp-case-directory .report-download { padding-top:34px; padding-bottom:44px; }
 .lp-case-directory .report-download-copy h2 { font-size:27px; }
 .lp-case-directory .report-download-copy>p { font-size:15px; }
 .lp-overview { display:block; padding-bottom:36px; }
 .lp-overview h2 { padding:18px 0 20px; }
 .lp-overview dl { display:block; padding-top:0; }
 .lp-overview dl>div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }
 .lp-overview dt { margin:0; font-size:13px; padding-top:2px; }
 .lp-overview dd { font-size:15px; }
 .lp-result { display:block; padding-top:7px; padding-bottom:32px; }
 .lp-result h2 { font-size:27px; margin-bottom:23px; max-width:100%; }
 .lp-result p,.lp-result li { font-size:15px; }
 .lp-disclosure-note { padding-top:6px; padding-bottom:26px; }
 .lp-disclosure-note p { font-size:13px; }
 .lp-section-heading { display:block; margin-bottom:22px; }
 .lp-section-heading h2 { font-size:22px; }
 .lp-section-heading p { font-size:15px; margin-top:13px; }
 .lp-finding>summary { font-size:19px; min-height:74px; }
 .lp-finding .case-entry { padding:12px 0 32px; }
 .lp-finding .case-entry-heading h2 { font-size:24px; }
 .lp-finding .case-entry-heading>p { font-size:15px; }
 .lp-finding .case-body { display:block; }
 .lp-finding .case-evidence { margin-top:24px; padding:22px; }
 .lp-finding .case-retest { display:block; padding-top:22px; margin-top:25px; }
 .lp-finding .case-retest>.mono { display:block; margin-bottom:12px; }
 .lp-report-reference { gap:28px; grid-template-columns:110px minmax(0,1fr); }
 .lp-report-reference h2 { font-size:25px; }
 .lp-report-reference p:not(.lp-kicker) { font-size:15px; }
}
@media(max-width:480px) {
 .lp-intro h1 { font-size:35px; }
 .lp-sector { margin-bottom:12px; }
 .lp-project-row h2 { font-size:29px; }
 .lp-overview dl>div { grid-template-columns:74px minmax(0,1fr); gap:16px; }
 .lp-finding .case-evidence { padding:20px 16px; }
 .lp-finding .case-evidence pre { padding:15px 12px; }
 .lp-report-reference { grid-template-columns:minmax(0,1fr); gap:24px; }
 .lp-report-cover { width:116px; }
 .lp-report-reference .lp-inline-links { gap:10px 20px; }
}
@media(prefers-reduced-motion:reduce) {
 .lp-row-arrow,.lp-disclosure-icon { transition:none; }
 .lp-project-row:hover .lp-row-arrow,.lp-finding-row:hover .lp-row-arrow { transform:none; }
}
@media print {
 .lp-head,.lp-closing { padding-top:20px; padding-bottom:20px; }
 .lp-back,.lp-closing,.lp-related { display:none; }
 .lp-finding .case-entry { display:block; }
 .lp-finding>summary { font-size:18px; }
 .lp-finding .case-evidence details { display:block; }
}
