/* Desktop-led reading and original-source access. */
.library-section{max-width:1500px;margin:auto;padding:48px 5% 64px}.library-section h1{font-family:'Barlow Condensed',Arial,sans-serif;font-size:clamp(2.5rem,4.5vw,4.4rem);line-height:1.05;margin:28px 0;overflow-wrap:anywhere}.library-section>p{max-width:95ch;font-size:17px;line-height:1.65}.library-section h2{font-size:30px;margin:30px 0 20px}.library-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:14px}.library-breadcrumb a,.original-reference{color:#093692;text-decoration:underline}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 42px}.document-grid article{border:1px solid #c7d7e8;background:#fff;padding:24px;display:flex;flex-direction:column;gap:14px}.document-grid h3{font-size:25px;line-height:1.15;overflow-wrap:anywhere;margin:0}.document-grid a{margin-top:auto;color:#093692;text-decoration:underline;font-size:16px}.doc-edition{font-size:13px;color:#516a83}.archive-note,.visual-disclosure{padding:16px 20px;background:#edf3fb;border-left:3px solid #093692;font-size:15px;line-height:1.6}.reader-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start;margin:28px 0}.reader-aside{position:sticky;top:110px;background:#edf3fb;padding:24px;min-width:0}.reader-aside h2{margin:0 0 18px;font-size:28px}.reader-aside p{font-size:15px;overflow-wrap:anywhere;line-height:1.5}.reader-aside .button{display:block;padding:15px 18px;line-height:1.4;font-size:16px;margin:20px 0}.reader-aside a:not(.button){display:block;color:#093692;text-decoration:underline;font-size:14px;margin:16px 0}.library-section label{font-size:14px;display:block;line-height:1.5}.library-section input,.library-section select{font:inherit;background:white;color:#142842;border:1px solid #98adc6;border-radius:3px;padding:10px 12px;max-width:100%;min-height:44px}.reader-aside input,#naams-search{width:100%;margin:8px 0 18px}.reader-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:14px;background:#edf3fb;border:1px solid #c7d7e8;position:sticky;top:80px;z-index:4}.reader-controls label{display:grid;gap:3px}.library-section button{font:inherit;cursor:pointer;border:1px solid #a2b7d0;background:#fff;color:#092457;padding:12px;min-height:44px}.library-section button:hover{background:#e5eefb}.library-section button:disabled{opacity:.45;cursor:default}.page-scroll{overflow:auto;border:1px solid #c7d7e8;background:#dfe6ee;margin-top:16px;max-height:80vh}.page-paper{width:100%;min-height:300px;background:#fff}.page-paper[aria-busy=true]{opacity:.45}.page-paper canvas{display:block;width:100%;height:auto}.page-transcript{margin-top:18px}.page-transcript summary{cursor:pointer;padding:12px;background:#edf3fb}.page-transcript pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.6 monospace;padding:20px;background:white}.reader-results{max-height:240px;overflow:auto}#reader-results button{margin:4px}.naams-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:330px;overflow:auto;gap:8px;margin:20px 0;border:1px solid #c7d7e8;padding:12px}.naams-results button{text-align:left;font-size:14px;overflow-wrap:anywhere}#naams-frame,.company-pdf{width:100%;height:78vh;min-height:600px;border:1px solid #c7d7e8;background:white}#naams-frame[hidden]{display:none}.standard-reference{max-width:850px;font-size:18px;line-height:1.7;padding:30px;border:1px solid #c7d7e8}.standard-reference .button{margin:20px 0}.canvas-media{display:block;min-width:0;max-width:100%;background:white}.canvas-image{display:block;position:relative;aspect-ratio:4/3;width:100%;overflow:hidden;background:white}.canvas-image canvas{width:100%;height:100%;display:block;position:relative;opacity:0;z-index:1}.canvas-photo-fallback{position:absolute;inset:0;display:block;background-repeat:no-repeat}.canvas-loaded canvas{opacity:1}.canvas-loaded .canvas-photo-fallback{display:none}.canvas-caption{display:block;font-size:12px!important;line-height:1.5;color:#536b84!important;padding:8px 10px 0}.original-reference{display:block;font-size:13px!important;padding:4px 10px 10px;line-height:1.5}.source-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.source-gallery article{padding:20px;border:1px solid #c7d7e8;scroll-margin-top:100px;min-width:0}.source-gallery h2{font-size:23px;margin:0 0 18px}.source-gallery .button{font-size:14px;padding:12px;line-height:1.4;margin:15px 0}.source-gallery p{font-size:13px;overflow-wrap:anywhere}.quality-request .canvas-media{width:100%}.case-grid .canvas-media{grid-row:span 3}.case-grid .canvas-image{aspect-ratio:4/3}.product .canvas-image{height:220px;aspect-ratio:auto}.catalogue-gallery .canvas-image{height:260px;aspect-ratio:auto}.application-strip .canvas-image{height:300px;aspect-ratio:auto}.visual-disclosure a{color:#093692;text-decoration:underline}nav{gap:14px}.library-section a:focus-visible,.library-section button:focus-visible{outline:3px solid #0b94cb;outline-offset:3px}
@media(min-width:1400px){.reader-layout{grid-template-columns:minmax(0,1fr) 340px}.library-section{padding-left:3%;padding-right:3%}}
@media(max-width:900px){.library-section{padding:30px 24px 55px}.reader-layout{grid-template-columns:minmax(0,1fr)}.reader-aside{position:static;display:block}.reader-controls{position:static}.document-grid,.source-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.naams-results{grid-template-columns:repeat(2,minmax(0,1fr))}.page-scroll{max-height:75vh}.source-gallery article{padding:16px}.company-pdf,#naams-frame{min-height:480px;height:70vh}}
@media(max-width:550px){.library-section{padding:24px 18px 45px}.document-grid,.source-gallery,.naams-results{grid-template-columns:minmax(0,1fr)}.reader-controls{gap:8px;padding:10px}.reader-controls button{font-size:14px;padding:10px}.reader-aside{padding:20px}.library-section h1{font-size:2.5rem}.standard-reference{padding:20px}.canvas-image{aspect-ratio:4/3}.document-grid article{padding:20px}}
/* Desktop proof and catalogue spacing: keep captions in normal document flow. */
.proof-detail .section{padding:40px 24px;min-width:0}
.catalogue-grid{align-items:start;row-gap:36px}
.catalogue-grid figure{display:flex;flex-direction:column;min-width:0;height:auto}
.catalogue-html{height:auto;flex:none;min-height:0;gap:0}
.catalogue-html>.canvas-media{margin-top:0;color:#142842;background:#fff}
.catalogue-html>.canvas-media .canvas-image{height:auto;aspect-ratio:4/3;min-height:220px;opacity:1;filter:none}
.catalogue-html>span:not(.canvas-media){margin-top:20px}
.catalogue-grid figcaption{position:static;flex:none;padding:24px 0 0}
.catalogue-grid figcaption h3{margin:0 0 12px;line-height:1.3;overflow-wrap:anywhere}
.catalogue-gallery>.evidence-note{position:static;clear:both;margin:32px 0 0;line-height:1.6}
.catalogue-grid .canvas-caption,.catalogue-grid .original-reference{position:static;line-height:1.5}
.case-grid .canvas-image{background:#fff;min-height:240px}
@media(min-width:901px){.proof-detail{padding:0 28px}.proof-detail>.section{padding:56px clamp(36px,4vw,76px)}.proof-detail .section-head{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:40px}.proof-detail .section-head>*{min-width:0}.proof-detail .section-head h2{font-size:clamp(36px,3.8vw,64px);line-height:1.13;overflow-wrap:anywhere}.proof-detail .catalogue-grid{gap:28px}.catalogue-html{padding:24px}.catalogue-html h3{font-size:clamp(20px,1.7vw,27px);line-height:1.25;min-height:2.5em}.catalogue-grid figcaption{padding-top:28px}}
@media(max-width:550px){.proof-detail .section{padding:30px 18px}.catalogue-grid figcaption{text-align:left}.catalogue-html{padding:18px}}
/* Product media includes captions: reserve its entire height in the flex card. */
.product .product-photo,.product .product-photo.installation{display:block;height:auto;min-height:0;flex:0 0 auto;padding:0;margin:0 0 24px;background:#fff;overflow:visible}
.product .product-photo>.canvas-media{display:block;width:100%;height:auto;min-height:0;flex:none;margin:0}
.product .product-photo .canvas-image{display:block;height:220px;min-height:0;flex:none;aspect-ratio:auto}
.product .product-photo .canvas-caption{display:block;margin:0;padding:10px 12px 0;line-height:1.5}
.product .product-photo .original-reference{display:block;margin:0;padding:6px 12px 12px;line-height:1.5}
.product .product-top{flex:0 0 auto;min-height:24px;margin-bottom:22px}
.product>h3{position:static;flex:0 0 auto;margin:0 0 22px;line-height:1.2;overflow-wrap:anywhere}
.product>.product-photo+h3{margin-top:0}
