/* Site-wide responsive, accessibility and rendering improvements. */
:where(body:not([data-article-page])){font-size:1.025rem;overflow-wrap:break-word}
.ui-icon{display:block;width:1.2rem;height:1.2rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icon-btn .ui-icon,.menu-toggle .ui-icon{width:1.35rem;height:1.35rem}
.menu-toggle::before{content:none!important}
.menu-toggle .ui-icon{transition:transform .18s ease}
.menu-toggle[aria-expanded="true"] .ui-icon{transform:rotate(90deg)}
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 42%,transparent);outline-offset:3px}
.page-hero h1,.hero-copy h1,.section-title,.list-card h2,.post-body h3{text-wrap:balance}
.page-hero p{font-size:1.0625rem;line-height:1.72}
.post-body p,.list-card p,.tool-card p,.course-card p,.info-card,.policy,.footer-brand p{font-size:.9375rem;line-height:1.7}
.post-body h3{font-size:1.2rem}
.tool-card h2,.course-card h2{font-size:1.125rem}
.widget-title{font-size:1.0625rem}
.trend-item a,.tree-row a{font-size:.9rem}
.btn,.nav-link,.nav-trigger{min-height:2.75rem}
.post-card,.list-card,.tool-card,.course-card,.info-card{min-width:0}
.post-thumb,.mini-thumb,.related-thumb{contain:layout paint}
.mini-thumb img{width: 100%;height: 100%;object-fit: cover;object-position: center;}
.post-thumb img{width: 100%;height: 100%;object-fit: cover;object-position: center;}
.section,.site-footer,.tool-demo{content-visibility:auto;contain-intrinsic-size:auto 360px}
.content-layout>*{min-width:0}
.content-layout>.sidebar{width:100%;min-width:0;align-self:stretch;overflow:visible;content-visibility:visible;contain:none}
.content-layout>.sidebar>.widget,
.content-layout>.sidebar>.sidebar-sticky{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.sidebar-sticky{position:sticky;top:5.75rem;display:grid;align-self:start;gap:1.375rem;overflow:visible}
.sidebar-sticky>.widget{width:100%;min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}
.sidebar-sticky .trend-list{min-width:0}
.sidebar-sticky .trend-item{grid-template-columns:2.125rem minmax(0,1fr);min-width:0}
.sidebar-sticky .trend-item a{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.sidebar-sticky .newsletter .inline-form{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0}
.sidebar-sticky .newsletter .inline-form input,
.sidebar-sticky .newsletter .inline-form .btn{width:100%;min-width:0;max-width:100%}
.policy{max-width:72ch;font-size:1.0625rem;line-height:1.8}
.policy h2{scroll-margin-top:6.5rem;font-size:clamp(1.35rem,1.2rem + .5vw,1.6rem);text-wrap:balance}
.policy a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.filter-bar{max-width:44rem}
.tools-grid,.library-grid{align-items:stretch}
.tool-card,.course-card{height:100%}
.tool-icon,.course-icon{font-family:ui-sans-serif,system-ui,sans-serif;font-size:1rem;font-weight:900;line-height:1;text-align:center}
.inline-form input{font-size:1rem}

@media(max-width:1000px){
 .hero-grid{grid-template-columns:minmax(0,1fr)}
 .content-layout{grid-template-columns:minmax(0,1fr) minmax(15rem,18rem);gap:1.75rem}
 .tools-grid,.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:820px){
 .content-layout{display:block}
 .content-layout>.sidebar{margin-top:2.25rem}
 .sidebar-sticky{position:static}
 .hero-card{min-height:25rem}
 .mini-stack{grid-template-columns:repeat(3,minmax(0,1fr))}
 .mini-feature{display:block}
 .mini-thumb{height:6.5rem}
}

@media(max-width:720px){
 :where(body:not([data-article-page])){font-size:1rem}
 .page-main{padding-block:1.75rem 3.5rem}
 .page-hero{padding-block:2rem}
 .page-hero h1{font-size:clamp(2rem,9vw,2.5rem)}
 .page-hero p{font-size:1rem}
 .hero-card{min-height:23rem;border-radius:1rem}
 .hero-copy{padding:1.5rem}
 .hero-copy h1{font-size:clamp(1.9rem,9vw,2.65rem)}
 .mini-stack{grid-template-columns:minmax(0,1fr)}
 .mini-feature{display:flex}
 .mini-thumb{height:auto}
 .post-body p,.list-card p,.tool-card p,.course-card p,.info-card{font-size:.9375rem}
 .post-body h3{font-size:1.2rem}
 .list-card{grid-template-columns:minmax(0,1fr)}
 .list-card .post-thumb{aspect-ratio:16/8.5}
 .tools-grid,.library-grid,.info-cards{grid-template-columns:minmax(0,1fr)}
 .tool-card,.course-card,.info-card{padding:1.125rem}
 .filter-bar{margin-bottom:1.125rem}
 .filter-bar .search-input{font-size:1rem}
 .inline-form{display:grid}
 .inline-form .btn{width:100%}
 .policy{font-size:1rem;line-height:1.75}
 .pagination{flex-wrap:wrap}
 .pagination a{min-width:2.75rem;height:2.75rem}
 .offline-card{width:min(100%,32rem);padding:1.5rem}
 .offline-card h1{font-size:clamp(1.9rem,9vw,2.3rem)}
}

.home-pagination{justify-content:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.home-pagination a{display:grid;place-items:center;min-width:2.75rem;height:2.75rem}
.home-pagination .ui-icon{width:1rem;height:1rem}

@media(max-width:390px){
 .hero-copy{padding:1.25rem}
 .mini-feature{display:grid;grid-template-columns:5.5rem 1fr}
 .mini-thumb{min-height:100%}
 .section-head{align-items:start;flex-direction:column;gap:.4rem}
 .section-link{padding-bottom:.75rem}
 .footer-bottom{line-height:1.6}
}

@media(prefers-contrast:more){
 .btn.secondary,.post-card,.tool-card,.course-card,.info-card,.widget{border-color:currentColor}
}

@media print{
 .top-strip,.site-header,.ticker,.search-panel,.sidebar,.site-footer,.filter-bar,.pagination{display:none!important}
 .page-main,.page-hero{padding:0}
 .container{width:100%;max-width:none}
 .content-layout,.hero-grid,.tools-grid,.library-grid,.info-cards{display:block}
 .post-card,.list-card,.tool-card,.course-card,.info-card{break-inside:avoid;margin-bottom:1rem}
}
