/* r45: targeted responsive and accessible fixes, preserves original photographs */
:root{--g45-dark:#102a25;--g45-light:#f4faf7}
html{scroll-padding-top:calc(var(--header) + 20px)}
:is(.site-footer.compact-footer,.site-footer.compact-footer .compact-footer-grid,.site-footer.compact-footer .compact-footer-bottom,.site-footer.compact-footer .compact-footer-nav){background-color:var(--g45-dark)!important;color:#f4faf7!important}
.site-footer.compact-footer :is(a,p,small,span,strong,h2,h3){color:#f4faf7!important;opacity:1!important}
.site-footer.compact-footer :is(a:hover,a:focus-visible){color:#b9f2df!important}
.site-footer.compact-footer :is(.compact-footer-grid,.compact-footer-bottom){width:min(1160px,calc(100% - 36px))!important;max-width:calc(100% - 36px)!important}
.site-footer.compact-footer .compact-footer-bottom>*{overflow-wrap:anywhere!important;white-space:normal!important}
/* Text on dark sections must remain readable in either theme */
:is(.knowledge-guides,.knowledge-practice-split,.services-faq) :is(.eyebrow,.lead){opacity:1!important}
html[data-theme='dark'] .knowledge-guides :is(.knowledge-guides-intro h1,.knowledge-guides-intro h2,.knowledge-guides-intro p,.knowledge-guides-intro label,.knowledge-guides-intro .eyebrow,.knowledge-guides-intro .lead){color:#effaf5!important}
html[data-theme='light'] .knowledge-guides .knowledge-guides-intro :is(h1,h2,p,label,.eyebrow,.lead){color:#163b32!important}
/* FAQ is dark in both themes: explicit high contrast on actual interactive summaries */
.services-faq .faq-item>summary,.services-faq .faq-item>summary *,html[data-theme='dark'] .services-faq .faq-item>summary,html[data-theme='light'] .services-faq .faq-item>summary{color:#f5fcf9!important;opacity:1!important;text-shadow:none!important}
.services-faq .faq-item>summary{cursor:pointer!important;line-height:1.45!important;padding:20px 34px 20px 0!important;position:relative!important}
.services-faq .faq-item>summary::after{color:#b8eddd!important}
.services-faq .faq-item>p,.services-faq .faq-item[open]>p{color:#e1f0e9!important;opacity:1!important;line-height:1.65!important}
/* Free resources: remove forced empty height without changing image sizing */
.free-resources-section .free-resource-grid{align-items:stretch!important;gap:clamp(12px,2vw,22px)!important}
.free-resources-section .free-resource-card{min-height:0!important;height:auto!important;display:flex!important;flex-direction:column!important;gap:clamp(10px,2vw,18px)!important;padding:clamp(20px,3vw,30px)!important}
.free-resources-section .free-resource-card :is(h3,p,.free-resource-number){margin-top:0!important;margin-bottom:0!important}
.free-resources-section .free-resource-card .text-link{margin-top:12px!important;align-self:flex-start!important}
/* Reader controls and open articles do not disappear under sticky navigation */
.knowledge-guides .guide-item,.knowledge-guides .guide-panel,.blog-card,.blog-card .article-body{scroll-margin-top:calc(var(--header) + 20px)!important}
.knowledge-guides .guide-item>.guide-toggle>span:first-child{display:flex!important;flex-direction:column!important;gap:6px!important}
.knowledge-guides .guide-item>.guide-toggle>span:first-child>small{color:#b8e9da!important;opacity:1!important}
.knowledge-guides .guide-item>.guide-toggle>span:first-child>strong{color:#f5fcf9!important;opacity:1!important}
.knowledge-practice-split .editorial-split-copy :is(h2,p,.eyebrow,.lead){color:#f1fbf6!important;opacity:1!important}
@media(max-width:720px){.free-resources-section .free-resource-grid{grid-template-columns:minmax(0,1fr)!important}.free-resources-section .free-resource-card{min-height:0!important;padding:22px!important;gap:12px!important}.free-resources-section .free-resource-card .text-link{margin-top:8px!important}.services-faq .faq-item>summary{font-size:1rem!important}.site-footer.compact-footer .compact-footer-bottom{display:flex!important;flex-direction:column!important;gap:12px!important}}
