/* Topic discovery and progressive disclosure share the portfolio palette. */
.library-topics,.library-search,.library-filter-disclosure{color:var(--navy,#102338)}
.library-topics{padding:40px max(5vw,22px);border-bottom:1px solid var(--line,#d8d1c4)}
.library-topics h2{font:600 clamp(1.8rem,4vw,2.6rem)/1.15 var(--serif,Georgia);margin:12px 0 24px}
.topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.topic-card{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:22px;background:var(--paper,#faf8f2);border:1px solid var(--line,#d8d1c4);text-decoration:none;color:var(--navy,#102338)}
.topic-card strong{font:600 1.1rem/1.4 var(--serif,Georgia)}
.topic-card span{font:500 .875rem/1.5 var(--sans,Arial)}
.library-search{margin:20px 0 14px}
.library-search label{display:grid;gap:8px;font-weight:600}
.library-search input{box-sizing:border-box;width:100%;min-height:48px;padding:12px;border:1px solid #978a72;background:#fff;color:#102338;font:inherit;font-size:1rem}
.library-filter-disclosure{margin-bottom:28px;border:1px solid var(--line,#d8d1c4)}
.library-filter-disclosure summary,.product-research summary,.advanced-settings summary{cursor:pointer;min-height:48px;box-sizing:border-box;padding:15px 18px;font:600 1rem/1.5 var(--sans,Arial);color:var(--navy,#102338);overflow-wrap:anywhere}
.library-filter-disclosure .knowledge-filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto;margin:0;border:0}
.library-active-selection{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:16px 18px;border-left:3px solid var(--gold,#967422);background:var(--paper,#faf8f2);color:var(--navy,#102338)}
.library-active-selection[hidden]{display:none}
.library-active-selection p{min-width:0;margin:0;font-size:.95rem;line-height:1.6;overflow-wrap:anywhere}
.library-active-selection button,.knowledge-empty button{flex-shrink:0;min-height:44px;max-width:100%;padding:10px 14px;border:1px solid var(--navy,#102338);background:#fff;color:var(--navy,#102338);font:600 .95rem/1.4 var(--sans,Arial);cursor:pointer;white-space:normal}
.library-active-selection button:focus-visible,.knowledge-empty button:focus-visible{outline:3px solid #967422;outline-offset:4px}
.knowledge-empty button{margin-top:16px}
.product-introduction{max-width:850px;margin-top:24px}
.product-introduction p{font-size:1.05rem;line-height:1.7}
.product-introduction .action-row{margin-top:24px}
.product-research{margin:24px auto;max-width:1200px;border:1px solid var(--line,#d8d1c4);background:var(--paper,#faf8f2)}
.product-research .growth-section{padding-block:28px}
.advanced-settings{margin:16px 0;padding:0 12px 12px;border:1px solid #b4a689;background:#faf8f2;color:#102338}
.advanced-settings summary{padding-inline:0}
.advanced-settings label{margin-top:12px}
.library-search input:focus-visible,summary:focus-visible,.topic-card:focus-visible{outline:3px solid #967422;outline-offset:4px}
@media(max-width:1000px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-research{margin-inline:18px}}
@media(max-width:600px){.library-filter-disclosure .knowledge-filters{grid-template-columns:1fr}.topic-grid{grid-template-columns:1fr}.topic-card{gap:10px;padding:18px}.library-topics{padding-block:28px}.product-introduction .action-row{display:grid;gap:12px}.product-introduction .button{white-space:normal}.product-research summary,.advanced-settings summary{font-size:1rem}.knowledge-filters select,.knowledge-filters input{font-size:1rem!important}.product-research .wrap{width:calc(100% - 32px)}}
@media(max-height:500px) and (max-width:1000px){.masthead[data-navigation-ready],.editorial-masthead[data-navigation-ready]{position:relative!important}}
@media(max-width:600px){.library-active-selection{align-items:stretch;flex-direction:column}.library-active-selection button{align-self:flex-start}.knowledge-empty{padding:var(--card-padding)}}
@media print{.library-filter-disclosure,.library-search,.library-active-selection,.knowledge-empty button{display:none}.product-research{border:0}details.product-research>*{display:block!important}}

.search-results-link{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;color:var(--navy,#102338);font-weight:600}
.product-research:not([open])>:not(summary),.advanced-settings:not([open])>:not(summary){display:none!important}

.library-intro{padding-block:36px}.library-intro h1{font-size:clamp(2.25rem,5vw,4.2rem);line-height:1.1}.library-intro .library-search{max-width:760px;margin-bottom:0}.library-intro p{margin-bottom:20px}
/* Grid children must shrink when visitors enlarge text on narrow screens. */
.knowledge-card a{grid-template-columns:minmax(0,1fr)}
.knowledge-card a>*{min-width:0;max-width:100%;overflow-wrap:anywhere;box-sizing:border-box}
.newsletter-signup,.newsletter-signup>*{min-width:0;max-width:100%;box-sizing:border-box}
.newsletter-signup form{grid-template-columns:minmax(0,1fr)}
.newsletter-signup form>*{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.library-pagination{display:grid;justify-items:center;gap:12px;margin:28px 0}
.library-pagination button{min-height:48px;padding:12px 24px;border:1px solid var(--navy);background:var(--navy);color:#fff;font:600 1rem/1.5 var(--sans);cursor:pointer}
.library-pagination p{margin:0;color:var(--muted)}
.project-output-preview{margin:24px 0;padding:20px;border:1px solid var(--line);background:var(--paper-deep,#f2eee6);color:var(--navy)}
.project-output-preview h2,.project-output-preview h3{font:600 1.25rem/1.4 var(--serif)}
.project-output-preview p,.project-output-preview li{font-size:.95rem;line-height:1.6;overflow-wrap:anywhere}
.project-output-preview ul{padding-left:20px}
.library-sort{display:grid;gap:8px;max-width:320px;margin:0 0 24px;font-weight:600}
.library-sort select{min-height:48px;padding:10px;border:1px solid #978a72;background:#fff;color:var(--navy);font:inherit}

.project-output-preview img{display:block;width:100%;height:auto}.project-output-preview figure{margin:16px 0}.project-output-preview figcaption{font-size:.875rem;line-height:1.6;margin-top:12px}

/* Keep the result heading and controls compact on narrow screens. */
@media(max-width:600px){.portfolio-page .knowledge-browser>header{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:14px;padding-bottom:16px;align-items:start}.knowledge-browser>header .eyebrow{margin:0}.knowledge-browser>header p{margin:0}.knowledge-browser .library-search-return{margin-bottom:10px}.library-active-selection{padding:12px 16px;gap:10px;margin-bottom:14px}.library-filter-disclosure{margin-bottom:18px}.library-sort{margin-bottom:18px}}

/* Library search stays with its results; topics remain available without a long detour. */
.library-topic-disclosure>summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:600}
.library-topic-disclosure:not([open])>.topic-grid{display:none}
.library-topic-disclosure .topic-grid{margin-top:12px}
.knowledge-browser>.library-search{max-width:760px;margin:0 0 20px;scroll-margin-top:100px}
.library-search input{scroll-margin-top:100px}
.library-topics{padding-block:24px}
.library-topics h2{margin-bottom:8px}
.library-intro{padding-bottom:24px}
.library-topic-disclosure summary:focus-visible{outline:var(--focus-ring,3px solid #967422);outline-offset:4px}
@media(max-width:700px){.library-intro{padding-top:28px}.library-intro h1{font-size:2rem}.library-intro p{font-size:1rem}.library-topics{padding-block:16px}.library-topics h2{font-size:1.5rem}.portfolio-page .project-index>article{gap:16px}.project-index .action-row{display:flex;flex-wrap:wrap}.project-index .action-row .button{flex:1;min-width:130px}.project-index-visual{margin-top:8px}}
