/* v23: compact reading rhythm, early discovery controls, and responsive date cards.
   Loaded after site-v21-2 and upgrade-v22; scoped selectors match their cascade. */
:root{--page-section-space:clamp(28px,3.2vw,44px);--page-intro-gap:18px}
main .section{padding-block:var(--page-section-space)}
main .section-head{margin-bottom:20px;gap:22px}
main .dark-band{padding-block:var(--page-section-space)}
main .page-intro{padding-block:24px 20px}
main .page-intro h1{margin-bottom:14px}
main .page-intro .eyebrow{margin-bottom:10px}
#main>.individual-tool-context+.page-intro{padding-top:18px}
main .page-intro+.section{padding-top:18px}
main .kk-home-hero{gap:clamp(28px,4vw,56px);padding-block:34px 32px}
.kk-home-copy h1{font-size:clamp(38px,4.3vw,62px);margin:16px 0 18px}
.kk-home-copy .lead{font-size:17px;line-height:1.65;margin-bottom:18px}
.kk-home-copy .button-row{margin-top:22px;gap:16px}
.kk-home-proof{margin-top:18px;gap:12px}
.kk-question-desk{padding:23px 26px 20px}
.kk-desk-top{padding-bottom:17px}
.kk-question-desk h2{font-size:clamp(26px,2.7vw,35px);margin:20px 0 18px}
.kk-desk-paths a{padding-block:15px}
.kk-desk-paths small{font-size:11px}
.kk-desk-foot{padding-top:16px}
.kk-editorial-note{padding-block:16px}
main .kk-home-answers{padding-block:var(--page-section-space);gap:40px}
.kk-answer-list details{padding-block:14px}
.home-editorial-opening{padding-block:26px;gap:28px}
.site-page-tools .directory-hero{padding-block:20px 16px}
.site-page-tools .directory-hero .directory-breadcrumbs{margin-bottom:12px}
.site-page-tools .directory-hero .eyebrow{margin-bottom:9px}
.site-page-tools .directory-hero h1{font-size:clamp(30px,3.1vw,42px);margin-bottom:10px}
.site-page-tools .directory-hero .lead{font-size:16px;line-height:1.55;margin-bottom:16px}
.site-page-tools .directory-search{padding:12px 16px;margin:0 0 14px}
.site-page-tools .directory-search label{margin-bottom:6px}
.site-page-tools .directory-search>div{gap:10px}
.site-page-tools .directory-search input{padding:9px 12px;min-height:44px}
.site-page-tools .directory-search #directory-search-count{margin-top:5px;font-size:12px}
.site-page-tools .directory-tabs a{padding:8px 12px;font-size:13px}
.site-page-tools .directory-domain{margin:8px 0 30px}
.site-page-tools .directory-section-head{padding-bottom:14px;margin-bottom:14px}
.site-page-tools .directory-section-head h2{font-size:27px}
.site-page-tools .directory-section-head p{font-size:14px;line-height:1.6}
.site-page-tools .directory-group{margin:16px 0 24px}
.site-page-tools .directory-group>h3{margin:16px 0 12px;font-size:19px}
.site-page-tools .directory-tool{padding:18px}
.directory-content{padding-bottom:40px}
.directory-next{padding-top:24px;margin-top:24px}
.site-page-insights .topic-heading{padding-block:20px 12px}
.site-page-insights .topic-heading .directory-breadcrumbs{margin-bottom:10px}
.site-page-insights .insights-content .library-controls{padding:12px 16px;gap:12px;margin:0 0 16px}
.site-page-insights .library-controls label{margin-bottom:6px}
.site-page-insights .library-controls input,.site-page-insights .library-controls select{padding:9px 12px;min-height:44px}
.site-page-insights .blogs-heading{font-size:26px;margin:0 0 5px}
.site-page-insights .library-count{margin:0 0 14px}
.site-page-services main>.page-intro,.site-page-calendar main>.page-intro{padding-bottom:16px}
.site-page-calendar .calendar-page{padding-bottom:32px}
.site-page-calendar .calendar-view-controls{padding:12px 16px;margin:0 0 10px;gap:10px}
.site-page-calendar .calendar-period-field select{min-height:44px;padding-block:8px}
.site-page-calendar .calendar-filters{margin:0 0 12px;padding-block:4px}
.site-page-calendar .compact-calendar{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;margin:0 0 20px;border-top:0}
.site-page-calendar .compact-calendar .calendar-row{grid-template-columns:1fr;gap:14px;padding:18px;border-radius:9px;min-width:0}
.site-page-calendar .compact-calendar .calendar-date{display:flex;align-items:baseline;gap:10px;width:auto;justify-self:start;padding:8px 12px;font-size:28px}
.site-page-calendar .compact-calendar .calendar-date small{margin:0;font-size:10px}
.site-page-calendar .calendar-labels{gap:6px 8px;margin-bottom:9px}
.site-page-calendar .calendar-labels .tag{margin-bottom:0}
.site-page-calendar .compact-calendar h2{font-size:21px;line-height:1.3;margin-bottom:8px}
.site-page-calendar .compact-calendar .calendar-glance{font-size:13px;line-height:1.65}
.site-page-calendar .calendar-more{margin-top:6px}
.site-page-calendar .calendar-expanded{padding:14px;margin:6px 0 0;overflow-wrap:anywhere}
.site-page-calendar .calendar-expanded p{margin-bottom:12px}
.site-page-calendar .calendar-expanded .button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.site-page-calendar .calendar-expanded .text-link{min-height:44px;display:inline-flex;align-items:center}
.site-page-calendar .calendar-page>.calendar-date-note{margin:20px 0 0;padding:14px 16px;font-size:13px;line-height:1.65}
/* Author display rules must never unhide server/client filtered entries. */
.site-page-calendar .compact-calendar .calendar-row[hidden],.directory-tool[hidden],.directory-domain[hidden],.directory-group[hidden],.article-card[hidden]{display:none!important}
@media(max-width:1050px){
 .site-page-calendar .compact-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 main .kk-home-hero{padding-block:26px 28px;gap:26px}
 .kk-home-copy h1{font-size:clamp(36px,8vw,52px)}
 .kk-home-copy .lead{font-size:16px}
 .kk-question-desk{padding:20px}
 .kk-editorial-note{gap:16px;flex-wrap:wrap}
 main .kk-home-answers{gap:24px}
 .site-page-tools .directory-hero h1{font-size:32px}
 .site-page-tools .directory-search{padding:12px}
 .site-page-tools .directory-section-head>.text-link{margin-top:10px}
 .site-page-insights .insights-content .library-controls{padding:12px;gap:10px}
 .site-page-calendar .calendar-view-controls{align-items:center}
 .site-page-calendar .calendar-result-count{padding-bottom:0}
}
@media(max-width:640px){
 .site-page-calendar .compact-calendar{grid-template-columns:minmax(0,1fr)}
 .site-page-calendar .compact-calendar .calendar-row{padding:16px;gap:12px}
}
@media print{
 main .kk-home-hero{padding-top:0}
 .site-page-calendar .compact-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-page-calendar .calendar-row{break-inside:avoid}
}
