/* ToolsRoom 6.5 typography system. No web-font requests. */
:root{
  --tr-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --tr-ink: #1b2738;
  --tr-copy: #536477;
  --tr-regular: 400;
  --tr-medium: 500;
  --tr-semibold: 600;
  --tr-bold: 700;
}
html{font-size:16px;-webkit-text-size-adjust:100%}
body,button,input,select,textarea,.brand-wordmark,.feature-counter,.feature-title-line strong,
.feature-counter-label,.feature-window-dots,.tool-card-title,.category-tile-copy strong,
.category-index,.editorial-aside-top,.standard-item strong,.standard-item>b,
.tr-tool-header h1,.tr-tool-header h2,.tr-app h2,.tr-app h3,.tr-big,
.tr-kicker,.tr-editorial h2,.tr-editorial summary,.tr-editorial details summary,
.tr-category-landing h1,.tr-category-grid strong,.tr-info-page h1,.tr-info-section h2,
.tr-copy-section h2,.tr-copy-section summary{
  font-family:var(--tr-font)!important;
}
body{font-size:16px;line-height:1.7;font-weight:400;letter-spacing:normal}
h1,h2,h3,h4,h5,h6{font-family:var(--tr-font);font-weight:700;letter-spacing:-.022em;line-height:1.2;text-wrap:pretty}
p,li{overflow-wrap:break-word}
/* Keep visible brand identity but avoid compressed display lettering. */
.brand-wordmark{font-size:25px;font-weight:700;letter-spacing:-.035em;line-height:1.2}
.eyebrow,.tr-kicker{font-size:12px;font-weight:600;letter-spacing:.035em;line-height:1.5;text-transform:none}
.hero{padding:66px 0 68px}
.hero-copy{min-width:0}
.hero h1{
  font-family:var(--tr-font);font-size:clamp(38px,4.15vw,58px);
  line-height:1.16;letter-spacing:-.026em;font-weight:700;
  color:var(--text);max-width:620px;margin:0 0 19px;
  text-wrap:balance;
}
.hero h1 span{color:inherit}
.hero-intro{font-size:18px;line-height:1.7;max-width:535px;color:var(--muted)}
.hero-search input{font-size:15px}
.hero-search button{font-size:14px;font-weight:600}
.hero-popular,.hero-popular a{font-size:13px}
.nav-links>a,.nav-drop-button{font-size:15px;font-weight:600;letter-spacing:normal}
.nav-drop-list a{font-size:14px;font-weight:500}
.header-search{font-size:14px;font-weight:500}
.feature-title-line strong{font-size:16px;font-weight:650;letter-spacing:-.015em}
.feature-title-line small{font-size:13px}
.feature-counter-label,.hero-feature-header{font-family:var(--tr-font);font-size:11px;font-weight:600;letter-spacing:.035em}
.feature-counter{font-size:72px;font-weight:650;letter-spacing:-.025em;line-height:1.2}
.feature-full-link{font-size:14px;font-weight:600}
.feature-count-plus span{font-size:14px;font-weight:600}
.feature-bottom{font-size:12px}
.section-head h2,.editorial-section h2,.faq-section h2{
  font-size:clamp(29px,3vw,39px);font-weight:700;letter-spacing:-.023em;line-height:1.2;
}
.section-head>div>p:last-child{font-size:16px;line-height:1.65}
.directory-intro h2{font-size:clamp(32px,3.5vw,44px);font-weight:700;letter-spacing:-.026em;line-height:1.19}
.directory-intro p:last-child{font-size:16px;line-height:1.65}
.directory-filter-head strong{font-size:16px;font-weight:650;letter-spacing:0}
.directory-filter-head span{font-size:14px}
.filter-pill{font-size:14px;font-weight:600;letter-spacing:0}
.tool-card-title{font-size:17px;font-weight:650;letter-spacing:-.015em;line-height:1.35}
.tool-card-desc{font-size:14px;line-height:1.7}
.tool-card-bottom{font-size:12px}
.category-tile-copy strong{font-size:17px;font-weight:650;letter-spacing:normal}
.category-tile-copy small{font-size:14px;line-height:1.55}
.category-index{font-size:12px;font-weight:600}
.category-tile-count{font-size:12px}
.editorial-section p:not(.eyebrow){font-size:16px;line-height:1.8}
.editorial-section .editorial-lead{font-size:17px!important;font-weight:600}
.standard-item strong{font-size:15px;font-weight:650}
.standard-item p{font-size:14px!important;line-height:1.65!important}
.home-guide-card h3,.home-guide-foot h3{font-weight:650;letter-spacing:-.018em}
.home-guide-card p,.home-guide-foot p{font-size:16px;line-height:1.75}
.faq-items summary{font-size:17px;font-weight:650;line-height:1.55;letter-spacing:normal}
.faq-items p{font-size:16px;line-height:1.75}
.footer-column h3{font-size:16px;font-weight:650;letter-spacing:normal}
.footer-column a{font-size:15px;line-height:1.55}
.footer-about p{font-size:15px;line-height:1.75}
.footer-bottom{font-size:14px}
.content-page{font-size:16px;line-height:1.8}
.content-page h1{font-size:clamp(32px,4vw,48px);font-weight:700;letter-spacing:-.025em}
.content-page h2{font-weight:700;letter-spacing:-.02em}
/* Tool-page headings and form labels from the ToolsRoom Core plugin. */
.tr-tool-header h1{font-size:clamp(31px,3.5vw,45px);font-weight:700;letter-spacing:-.026em;line-height:1.22}
.tr-category-landing h1{font-size:clamp(31px,3.5vw,45px);font-weight:700;letter-spacing:-.026em;line-height:1.22}
.tr-info-page h1{font-size:clamp(31px,3.5vw,45px);font-weight:700;letter-spacing:-.026em;line-height:1.22}
.tr-tool-header>p,.tr-category-lead{font-size:17px;line-height:1.75}
.tr-tool-copy h2,.tr-editorial h2,.tr-info-section h2,.tr-copy-section h2{
  font-size:clamp(22px,2.7vw,29px);font-weight:700;letter-spacing:-.02em;line-height:1.3;
}
.tr-app h2{font-size:22px;font-weight:700;letter-spacing:-.02em}
.tr-app h3{font-size:18px;font-weight:650;letter-spacing:-.01em}
.tr-field label{font-size:14px;font-weight:600}
.tr-input,.tr-select,.tr-area{font-size:16px;line-height:1.5}
.tr-btn{font-size:15px;font-weight:600;letter-spacing:0}
.tr-app p,.tr-app .hint,.tr-muted{font-size:14px;line-height:1.65}
.tr-big{font-weight:700;letter-spacing:-.025em}
.tr-copy-section p,.tr-editorial p,.tr-deep-section p,.tr-info-section p{font-size:16px;line-height:1.8}
.tr-copy-section summary,.tr-editorial summary,.tr-editorial details summary,.tr-info-section summary{
  font-size:16px;font-weight:650;letter-spacing:normal;line-height:1.6;
}
.tr-category-grid strong{font-size:17px;font-weight:650;letter-spacing:normal}
.tr-category-grid small{font-size:14px;line-height:1.6}
.tr-page-toc a,.tr-page-toc strong{font-size:14px}
.tr-info-lead{font-size:18px}
.tr-info-index a{font-size:15px}
.tr-info-index strong{font-size:15px}
/* Mobile readability and natural line wraps. */
@media(max-width:1000px){
  .hero h1{font-size:clamp(38px,4.7vw,53px);letter-spacing:-.022em}
}
@media(max-width:790px){
  .hero{padding:49px 0 52px}
  .hero h1{font-size:clamp(38px,6.2vw,52px)}
}
@media(max-width:540px){
  .hero{padding:34px 0 42px}
  .hero h1{font-size:clamp(34px,8.5vw,41px);letter-spacing:-.019em;line-height:1.18}
  .hero-intro{font-size:16px;line-height:1.7}
  .section-head h2,.editorial-section h2,.faq-section h2{font-size:29px;letter-spacing:-.02em}
  .directory-intro h2{font-size:30px;letter-spacing:-.02em}
  .tool-card-title{font-size:16px;line-height:1.4}
  .tool-card-desc{font-size:13.5px;line-height:1.65}
  .tool-card-bottom{font-size:11px}
  .category-tile-copy strong{font-size:16px}
  .faq-items summary{font-size:16px}
  .tr-tool-header h1,.tr-category-landing h1,.tr-info-page h1{font-size:clamp(30px,7vw,37px)}
  .tr-app h2{font-size:20px}
}
/* Dark theme: use existing variables rather than hardcoded light-mode type colors. */
html[data-theme='dark'] .hero h1,html[data-theme='dark'] .directory-intro h2{color:var(--text)}


/* ToolsRoom v6.6: audience section inspired by a clean, readable editorial grid. */
.audience-section{background:var(--paper);border-block:1px solid var(--border)}
.audience-heading{text-align:center;max-width:760px;margin:0 auto 36px}
.audience-heading .eyebrow{display:block;margin:0 0 10px;color:var(--accent)}
.audience-heading h2{font-size:clamp(30px,3.4vw,43px);letter-spacing:-.028em;font-weight:700;line-height:1.19;margin:0 0 12px;color:var(--text)}
.audience-heading>p:last-child{color:var(--muted);font-size:17px;line-height:1.68;margin:0}
.audience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.audience-card{display:flex;flex-direction:column;align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:17px;padding:25px 24px 21px;min-height:256px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.audience-card:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:0 14px 29px rgba(20,44,76,.07)}
.audience-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.audience-icon{height:44px;width:44px;background:color-mix(in srgb,var(--accent) 8%,var(--card));color:var(--accent);display:grid;place-items:center;border-radius:12px;margin:0 0 18px}
.audience-icon .tool-svg{width:23px;height:23px}
.audience-card-title{font-size:19px;font-weight:700;letter-spacing:-.017em;line-height:1.33;color:var(--text);margin-bottom:8px}
.audience-card-copy{color:var(--muted);font-size:15px;line-height:1.65;margin-bottom:18px;flex:1}
.audience-card-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:14px;font-weight:650}
.audience-card-link span{transition:transform .2s}
.audience-card:hover .audience-card-link span{transform:translate(2px,-2px)}
@media(max-width:1080px){.audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audience-card{min-height:220px}}
@media(max-width:600px){.audience-heading{margin-bottom:25px}.audience-heading h2{font-size:30px}.audience-heading>p:last-child{font-size:15px}.audience-grid{grid-template-columns:1fr;gap:12px}.audience-card{padding:21px;min-height:0}.audience-icon{margin-bottom:14px}.audience-card-title{font-size:18px}.audience-card-copy{font-size:15px;margin-bottom:13px}}
@media(prefers-reduced-motion:reduce){.audience-card,.audience-card-link span{transition:none}.audience-card:hover{transform:none}}
