/* Match text fill and color so WebKit also renders readable controls. */
html body .cv-tabs .cv-tab-btn,html body .cv-tabs .cv-tab-btn *{color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .cv-tabs .cv-tab-btn.active,html body .cv-tabs .cv-tab-btn.active *{color:#29241f!important;-webkit-text-fill-color:#29241f!important}
html body .core-values span,html body .core-values span *{color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .cv-tab-btn:focus-visible,html body .catalog-button:focus-visible,html body .catalog-filters :focus-visible,html body .recent-card:focus-visible{outline:3px solid #8d641f;outline-offset:4px}
[hidden],.catalog-page-hidden{display:none!important}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.catalog-card{background:#fffdf9;border:1px solid #e5ddcf;border-radius:16px;padding:22px;min-width:0;overflow-wrap:anywhere}
.catalog-card img{width:100%;height:300px;object-fit:contain;background:#faf6ec;border-radius:10px}
.catalog-card h3{font-size:1.1rem;line-height:1.8;margin:16px 0 10px;color:#79541c!important;-webkit-text-fill-color:#79541c!important}
.catalog-card p{font-size:.95rem;line-height:1.8}.catalog-card a{color:#302820!important;-webkit-text-fill-color:#302820!important;text-decoration:underline;text-underline-offset:4px}
.catalog-cover-link{display:block}.catalog-card iframe,.catalog-card video{width:100%;aspect-ratio:16/9;max-height:330px;border:0;border-radius:10px;background:#171c24}.archive-card img{height:240px}
.catalog-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.catalog-pagination{text-align:center;margin:24px 0 36px}
.catalog-button{font:inherit;font-weight:700;border:1px solid #b59354;border-radius:8px;padding:10px 24px;background:#efe3cd;color:#302820!important;-webkit-text-fill-color:#302820!important;cursor:pointer}
.catalog-meta{color:#665e52!important;-webkit-text-fill-color:#665e52!important}
#managedBooksWrap>h3,#managedResearchWrap>h3{color:#79541c!important;-webkit-text-fill-color:#79541c!important}
.library-search-label{display:flex;flex-direction:column;gap:8px;max-width:680px;margin:24px auto;text-align:right}.library-search-label input{font:inherit;width:100%;padding:12px;border:1px solid #b5a78e;border-radius:8px;background:#fffdf9;color:#29241f;-webkit-text-fill-color:#29241f}
.catalog-nav{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.catalog-nav a{background:#fffdf9;border:1px solid #d8c6a5;border-radius:10px;padding:12px 18px;color:#3d3021!important;-webkit-text-fill-color:#3d3021!important}
.recent-section{max-width:1200px;margin:40px auto;padding:24px;background:#fffdf9;border:1px solid #e7dcc7;border-radius:16px}.recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.recent-card{display:flex;flex-direction:column;gap:6px;border-inline-start:3px solid #bf9c56;padding:12px;background:#f8f1e3;border-radius:6px;color:#302820!important;-webkit-text-fill-color:#302820!important}
.recent-card small{font-size:.8rem;color:#746448!important;-webkit-text-fill-color:#746448!important}.recent-card span{font-weight:700}
.archive-page{max-width:1200px;margin:auto;padding:32px 24px 70px}.archive-heading{margin:36px 0 24px}
.catalog-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;background:#fffdf9;padding:22px;border:1px solid #e5ddcf;border-radius:14px}.catalog-filters label{display:flex;flex-direction:column;gap:8px}
.catalog-filters input,.catalog-filters select{width:100%;min-width:0;font:inherit;padding:10px;border:1px solid #b5a78e;border-radius:6px;color:#29241f;background:#fff}.archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0}
@media(max-width:980px){.catalog-grid,.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filters{grid-template-columns:1fr 1fr}.catalog-filters label:first-child{grid-column:1/-1}}
@media(max-width:600px){.catalog-grid,.recent-grid,.catalog-filters{grid-template-columns:minmax(0,1fr)}.catalog-card{padding:16px}.catalog-card img{height:300px}.archive-card img{height:240px}.recent-section{margin:24px 16px;padding:18px}.archive-page{padding:22px 16px 50px}.catalog-filters label:first-child{grid-column:auto}.cv-tabs{max-width:100%}.catalog-nav a{flex:1 1 140px;text-align:center}}

/* Keep the latest-news label readable on its gold background. */
html body .ticker-title{background-color:#C5A059!important;color:#29241f!important;-webkit-text-fill-color:#29241f!important}

/* Legal services: clear text, responsive cards and keyboard-accessible details. */
.services-section{margin-bottom:40px;text-align:start;min-width:0}
html body .services-section h3{font-size:1.4rem;text-align:center;margin-bottom:24px;color:#79541c!important;-webkit-text-fill-color:#79541c!important}
.services-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.services-card{min-width:0;padding:24px;border:1px solid #e2d5bf;border-radius:12px;background:#fffdf8}
html body .services-section h4{font-size:1.1rem;line-height:1.8;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #e2d5bf;color:#79541c!important;-webkit-text-fill-color:#79541c!important}
.services-region{margin-top:24px}
html body .services-section p,html body .services-section li,html body .services-section strong,html body .services-section summary{color:#29241f!important;-webkit-text-fill-color:#29241f!important}
.services-list{list-style:disc;margin:0;padding-inline-start:22px;line-height:1.95;font-size:1rem}
.services-list li{margin-bottom:12px;overflow-wrap:anywhere}.services-list li:last-child{margin-bottom:0}
.services-office{line-height:1.9;margin:0 0 8px;font-weight:700}.services-hint{font-size:.9rem;margin-bottom:18px}
.services-details{display:grid;gap:12px}
html body .services-details details{border:1px solid #d9c7a7;border-radius:8px;background:#fffdf8!important;overflow:hidden}
html body .services-details summary{cursor:pointer;padding:16px 20px;font-weight:700;line-height:1.8;background:#f2e6d0;display:list-item;list-style-position:inside}
.services-details summary:focus-visible{outline:3px solid #79541c;outline-offset:-3px}
.services-details details[open] summary{border-bottom:1px solid #d9c7a7}
.services-details .services-list{margin:18px 20px}
@media(max-width:700px){.services-overview{grid-template-columns:minmax(0,1fr);gap:16px}.services-card{padding:18px 14px}.services-region{margin-top:16px}.services-details summary{padding:14px 12px}.services-details .services-list{margin:16px 12px}.services-section h3{line-height:1.8}}
