.access.free,.legend-free { background:#237849!important; color:#fff!important; font-weight:800; }
.access.members,.legend-members { background:#72551b!important; color:#fff!important; font-weight:800; }
.access-legend { max-width:510px; font-size:13px; line-height:1.6; }
.access-legend p { display:flex; align-items:center; gap:8px; margin:5px 0; }
.access-legend .legend-free,.access-legend .legend-members { flex:none; display:inline-flex; justify-content:center; min-width:72px; box-sizing:border-box; padding:4px 8px; border-radius:6px; font-size:11px; }
.access-legend small { display:block; color:#52665b; font-size:12px; margin-top:6px; }
@media screen and (max-width:640px) {
 .site-header { height:54px!important; padding:0 16px!important; gap:12px; }
 .brand { min-width:0; }
 .brand img { max-width:100%; width:210px; }
 .site-header nav a,.site-header > a:not(.brand) { font-size:11px; padding:7px 11px; white-space:nowrap; }
 .hero { padding:17px 16px!important; }
 .hero .eyebrow { font-size:9px; letter-spacing:.08em; margin-bottom:7px; }
 .hero h1 { font-size:24px; line-height:1.4; }
 .hero .lead { margin-top:8px; font-size:12px; line-height:1.6; }
 .tools-section { padding:18px 16px 24px!important; }
 .section-heading { margin-bottom:14px; }
 .section-heading h2 { font-size:24px; }
 .section-heading .eyebrow { font-size:9px; }
 .access-legend { margin-top:10px; font-size:12px; }
 .tool-grid { gap:10px; }
 .tool-card { grid-template-columns:44px minmax(0,1fr); min-height:0; border-radius:11px; }
 .tool-icon-panel { height:auto!important; min-height:0!important; padding:13px 7px!important; gap:8px; }
 .tool-icon-panel svg { width:22px; height:22px; }
 .tool-icon-panel span { font-size:18px; }
 .tool-content { min-width:0; padding:12px!important; }
 .tool-meta { min-height:22px; justify-content:flex-end; }
 .tool-meta > span:first-child:not(.access) { display:none; }
 .access { font-size:11px; padding:4px 8px; border-radius:6px; letter-spacing:0; }
 .title-row h3 { font-size:17px!important; line-height:1.4; margin:7px 0!important; }
 .tool-content > p { min-height:0!important; font-size:12px; line-height:1.6; }
 .floating-member-banner { grid-template-columns:28px minmax(0,1fr) auto 24px; gap:6px; padding:7px 8px; bottom:8px; }
 .floating-member-banner > img { width:28px; height:28px; }
 .floating-member-banner p strong { font-size:10px; line-height:1.4; }
 .floating-member-banner > a { grid-column:auto; font-size:10px; white-space:nowrap; gap:3px; }
 .floating-member-banner > a svg { width:14px; }
 .floating-member-banner > button { grid-area:auto; width:24px; height:24px; }
}
