/* PRAKSA+ LAB: existing brand tokens, isolated editorial styles. */
.lab-page,.lab-home{overflow-wrap:break-word}
.lab-home{border-top:1px solid var(--border)}
.lab-home>.text-link{margin-top:24px}
.lab-intro{max-width:var(--container)}
.lab-intro h1{max-width:1050px}
.lab-principles{display:flex;gap:32px;flex-wrap:wrap;margin-top:40px;font-size:11px;letter-spacing:.1em;color:var(--muted)}
.lab-list>.section-index{border-top:1px solid var(--border);padding-top:24px}
.lab-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;background:var(--dark);border:1px solid var(--border);padding:40px}
.lab-feature>*{min-width:0}
.lab-feature h2{font-size:clamp(30px,3.3vw,48px);line-height:1.12;margin:20px 0}
.lab-feature p:not(.eyebrow){font-size:15px;color:var(--muted)}
.lab-feature .button{margin-top:28px}
.lab-evidence-tag{font-size:12px;line-height:1.7;border-left:2px solid var(--red);padding-left:14px;margin-top:24px;color:var(--muted)}
.lab-diagram{margin:0;min-width:0}
.lab-diagram-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border)}
.lab-diagram-step{padding:24px;min-width:0;background:var(--black)}
.lab-diagram-step+.lab-diagram-step{border-left:1px solid var(--border)}
.lab-diagram-step strong{display:block;font:500 clamp(22px,2.2vw,32px)/1.15 var(--font-display);letter-spacing:-.04em;margin:20px 0}
.lab-diagram-step>p{font-size:13px!important;color:var(--muted);line-height:1.65}
.lab-diagram-shift .eyebrow{color:var(--red-text)}
.lab-lines{display:block;width:64px;height:44px;margin-block:24px;border-left:3px solid var(--red);background:repeating-linear-gradient(to bottom,var(--border) 0 1px,transparent 1px 14px);transform:rotate(-12deg)}
.lab-diagram-shift .lab-lines{transform:none;border:1px solid var(--red)}
.lab-diagram figcaption{font-size:11px;line-height:1.7;margin-top:14px;color:var(--muted)}
.lab-heading>.lab-diagram{max-width:820px;margin-top:40px}
.lab-heading h1{max-width:1100px;font-size:clamp(38px,5.5vw,76px)}
.lab-next{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:start}
.lab-next h2{margin-top:20px;font-size:clamp(32px,4vw,52px)}
.lab-resource{border:1px solid var(--border);padding:32px;min-width:0}
.lab-resource h3{font-size:28px;margin:20px 0}
.lab-resource>p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:16px}
.lab-resource>.text-link{display:flex;align-items:center}
.lab-related{border-top:1px solid var(--border)}
.lab-related h2{margin-top:20px}
.lab-source-note{padding:28px;border:1px solid #c9c6c1;border-left:3px solid var(--red);font-size:15px;line-height:1.8}
.lab-source-note h2{font-size:28px;line-height:1.2;margin:12px 0 20px}
.lab-source-note p+p{margin-top:16px}
.lab-contents{display:flex;flex-wrap:wrap;gap:8px 24px;margin:24px 0 40px;border-bottom:1px solid #c9c6c1;padding-bottom:20px}
.lab-contents a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;font-size:13px}
.lab-paper .guide-body section+section{margin-top:56px}
.lab-paper .guide-body section>h2{margin-top:12px}
.lab-prompt{padding:24px;background:#e9e6df;border-left:3px solid var(--red);margin-block:24px}
.lab-prompt p:last-child{margin-bottom:0}
.lab-page [id]{scroll-margin-top:calc(var(--header-height) + 24px)}
.lab-bridge{border-top:1px solid var(--border);padding-block:32px}
.lab-bridge h2{font-size:clamp(26px,3vw,40px);margin-top:12px}
.lab-bridge p:not(.eyebrow){color:var(--muted);margin-top:16px}
/* Eight navigation items: keep the existing menu breakpoint and give links room. */
@media(min-width:1000px) and (max-width:1199px){.header-cta{display:none}.desktop-nav{gap:14px}}
@media(max-width:999px){.lab-feature{grid-template-columns:1fr;padding:32px}.lab-next{gap:32px}.lab-diagram-step strong{font-size:28px}}
@media(max-width:767px){
 .lab-intro{padding-block:40px}.lab-intro h1{font-size:clamp(36px,9vw,58px)}
 .lab-principles{gap:12px 20px;font-size:9px;margin-top:28px}
 .lab-feature{padding:24px;gap:32px}.lab-feature h2{font-size:32px}
 .lab-diagram-step{padding:18px}.lab-diagram-step strong{font-size:24px}
 .lab-diagram-step .eyebrow{font-size:9px;letter-spacing:.05em}
 .lab-next{grid-template-columns:minmax(0,1fr)}.lab-resource{padding:24px}
 .lab-heading h1{font-size:clamp(36px,9vw,56px)}
 .lab-source-note{padding:20px}.lab-source-note h2{font-size:25px}
 .lab-prompt{padding:20px}.lab-contents{gap:4px 20px}
}
@media(max-width:359px){.lab-diagram-grid{grid-template-columns:1fr}.lab-diagram-step+.lab-diagram-step{border-left:0;border-top:1px solid var(--border)}}

/* Documented originals: the image pixels are unchanged apart from WebP optimization. */
.lab-document{position:relative;left:50%;transform:translateX(-50%);width:min(1240px,calc(100vw - var(--gutter)*2));padding:40px;background:var(--black);color:var(--off-white);border:1px solid var(--border)}
.lab-document .eyebrow{color:var(--red-text)}
.lab-document-intro{margin-bottom:40px}
.lab-paper .guide-body .lab-document-intro h2{font-size:clamp(30px,3.6vw,46px);line-height:1.15;margin:12px 0 24px}
.lab-document-intro>p:last-child{font-size:15px;color:var(--muted);line-height:1.8;max-width:78ch;margin-bottom:0}
.lab-document-step{border-top:1px solid var(--border);padding-top:32px;margin-top:40px}
.lab-step-heading{display:grid;grid-template-columns:48px minmax(0,1fr);gap:20px;margin-bottom:28px}
.lab-step-number{color:var(--red-text);font:500 30px/1.2 var(--font-display);letter-spacing:-.04em}
.lab-step-heading .eyebrow{margin-bottom:10px}
.lab-paper .guide-body .lab-step-heading h3{font-size:clamp(26px,3vw,36px);line-height:1.15;margin:0 0 16px}
.lab-step-heading p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted);max-width:78ch;margin-bottom:0}
.lab-document .lab-frame{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);margin:0;background:var(--dark);border:1px solid var(--border);min-width:0}
.lab-frame-image{min-width:0;background:var(--black)}
.lab-frame-image>a{position:relative;display:block;color:var(--off-white);overflow:hidden}
.lab-frame-image img{width:100%;height:auto;aspect-ratio:1122/1402;object-fit:contain}
.lab-zoom-label{position:absolute;right:12px;bottom:12px;background:var(--black);color:var(--off-white);border:1px solid var(--control-border);padding:8px 12px;font:500 12px/1.4 var(--font-body);min-height:36px}
.lab-frame-image>a:hover .lab-zoom-label{border-color:var(--red-text);color:var(--red-text)}
.lab-detail-mark{position:absolute;left:35%;top:67%;width:40%;height:14%;border:2px solid var(--red-text);border-radius:4px;pointer-events:none}
.lab-frame figcaption{padding:28px;align-self:center;min-width:0}
.lab-frame figcaption .eyebrow{font-size:10px;letter-spacing:.08em;margin:0 0 16px}
.lab-paper .guide-body .lab-frame h4{font:600 clamp(24px,2.5vw,32px)/1.15 var(--font-display);letter-spacing:-.04em;margin:0 0 20px}
.lab-frame figcaption>p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted);margin:0}
.lab-frame figcaption>p.lab-frame-disclosure{font-size:12px;line-height:1.7;margin-top:20px}
.lab-frame-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.lab-document .lab-frame-grid .lab-frame{display:block}
.lab-frame-grid .lab-frame figcaption{padding:24px}
.lab-document .lab-document-note{font-size:12px;line-height:1.8;color:var(--muted);margin:20px 0 28px}
.lab-document .lab-document-note:last-child{margin-bottom:0}
.lab-document .lab-process-flow{display:grid;grid-template-columns:1fr 1.3fr 1.4fr .8fr;gap:12px;list-style:none;padding:20px 0;margin:0;border-block:1px solid var(--border)}
.lab-process-flow li{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;line-height:1.5;margin:0;color:var(--off-white)}
.lab-process-flow li>span{color:var(--red-text);font-size:20px}
.lab-document-final .lab-frame{border-color:var(--red-text)}
.lab-document .lab-document-checklist>ol{font-size:16px;line-height:1.8;max-width:75ch;margin-bottom:28px;padding-left:28px}
.lab-document .lab-document-takeaway{font:500 clamp(25px,3vw,36px)/1.2 var(--font-display);letter-spacing:-.04em;color:var(--off-white);border-left:3px solid var(--red);padding-left:24px;margin-bottom:0;max-width:32ch}
/* Keep existing book dialogs unchanged; LAB originals enlarge and scroll vertically. */
body:has(.lab-document) #preview-dialog{width:min(1180px,calc(100% - 24px));max-height:92dvh;overflow:auto}
body:has(.lab-document) #preview-dialog #lightbox-image{width:1122px;max-width:100%;max-height:none;height:auto}
body:has(.lab-document) #preview-dialog .lightbox-toolbar{position:sticky;top:-20px;z-index:1;background:var(--dark);padding-block:10px;margin-top:-10px}
@media(max-width:999px){.lab-document{padding:28px}.lab-frame figcaption{padding:24px}.lab-step-heading{grid-template-columns:38px minmax(0,1fr);gap:16px}.lab-document .lab-process-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .lab-document{padding:24px 16px}.lab-document-intro{margin-bottom:28px}
 .lab-paper .guide-body .lab-document-intro h2{font-size:30px}
 .lab-document-step{margin-top:32px;padding-top:28px}
 .lab-step-heading{grid-template-columns:minmax(0,1fr);gap:10px}
 .lab-step-heading h3{font-size:28px}.lab-step-heading p:not(.eyebrow){font-size:15px}
 .lab-document .lab-frame,.lab-frame-grid{grid-template-columns:minmax(0,1fr)}
 .lab-frame figcaption,.lab-frame-grid .lab-frame figcaption{padding:22px 18px}
 .lab-document .lab-process-flow{grid-template-columns:minmax(0,1fr);gap:14px}
 .lab-process-flow li{font-size:14px}.lab-process-flow li>span{transform:rotate(90deg)}
 .lab-document .lab-document-takeaway{padding-left:16px;font-size:28px}
 .lab-zoom-label{font-size:11px;padding:8px 10px;right:8px;bottom:8px}
}
